@economic/taco 1.1.2 → 1.1.5-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/README.md +82 -82
  2. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -2
  3. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  4. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  6. package/dist/esm/components/Badge/Badge.js.map +1 -1
  7. package/dist/esm/components/Banner/Banner.js.map +1 -1
  8. package/dist/esm/components/Banner/util.js +1 -1
  9. package/dist/esm/components/Banner/util.js.map +1 -1
  10. package/dist/esm/components/Button/Button.js.map +1 -1
  11. package/dist/esm/components/Button/util.js +18 -23
  12. package/dist/esm/components/Button/util.js.map +1 -1
  13. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  14. package/dist/esm/components/Card/Card.js.map +1 -1
  15. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  16. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  17. package/dist/esm/components/Combobox/useCombobox.js +67 -87
  18. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  19. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  20. package/dist/esm/components/Datepicker/useDatepicker.js +27 -34
  21. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  22. package/dist/esm/components/Dialog/Context.js +4 -4
  23. package/dist/esm/components/Dialog/Context.js.map +1 -1
  24. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  25. package/dist/esm/components/Dialog/components/Content.js +39 -44
  26. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  27. package/dist/esm/components/Dialog/components/Drawer.js +3 -3
  28. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  29. package/dist/esm/components/Dialog/components/Extra.js +2 -2
  30. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  31. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  32. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  33. package/dist/esm/components/Field/Field.js.map +1 -1
  34. package/dist/esm/components/Form/Form.js.map +1 -1
  35. package/dist/esm/components/Group/Group.js.map +1 -1
  36. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  37. package/dist/esm/components/HoverCard/HoverCard.js.map +1 -1
  38. package/dist/esm/components/Icon/Icon.js.map +1 -1
  39. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  40. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  41. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  42. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  43. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  44. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  45. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  46. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  47. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  48. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  49. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  50. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  51. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  52. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  53. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  54. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  55. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  56. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  57. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  58. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  59. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  60. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  61. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  62. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  63. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  64. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  65. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  66. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  67. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  72. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  73. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  74. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  75. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  76. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  77. package/dist/esm/components/Icon/components/CircleClose.js.map +1 -1
  78. package/dist/esm/components/Icon/components/CircleMinus.js.map +1 -1
  79. package/dist/esm/components/Icon/components/CirclePlus.js.map +1 -1
  80. package/dist/esm/components/Icon/components/CircleTick.js.map +1 -1
  81. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  82. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  83. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  84. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  85. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  86. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  87. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  88. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  89. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  90. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  91. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  92. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  93. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  94. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  95. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  96. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  97. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  98. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  100. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  101. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  102. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  103. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  104. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  105. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  106. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  107. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  108. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  109. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  110. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  111. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  112. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  113. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  114. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  115. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  116. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  117. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  118. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  119. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  120. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  121. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  122. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  123. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  124. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  125. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  126. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  127. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  128. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  129. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  130. package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -1
  131. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  132. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  133. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  134. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  135. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  136. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  137. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  138. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  139. package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -1
  140. package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -1
  141. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  142. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  143. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  144. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  145. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  146. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  147. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  148. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  149. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  150. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  151. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  152. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  153. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  154. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  155. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  156. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  157. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  158. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  159. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  160. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  161. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  162. package/dist/esm/components/Icon/components/List.js.map +1 -1
  163. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  164. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  165. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  166. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  167. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  168. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  169. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  170. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  171. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  172. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  173. package/dist/esm/components/Icon/components/More.js.map +1 -1
  174. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  175. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  176. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  177. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  178. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  179. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  180. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  181. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  182. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  183. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  184. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  185. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  186. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  187. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  188. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  189. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  190. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  191. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  192. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  193. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  194. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  195. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  196. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  197. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  198. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  199. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  200. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  201. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  202. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  203. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  204. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  205. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  206. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  207. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  208. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  209. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  210. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  211. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  212. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  213. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  214. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  215. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  216. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  217. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  218. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  219. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  220. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  221. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  222. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  223. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  224. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  225. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  226. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  227. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  228. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  229. package/dist/esm/components/Icon/components/ThumbUp.js.map +1 -1
  230. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  231. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  232. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  233. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  234. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  235. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  236. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  237. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  238. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  239. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  240. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  241. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  242. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  243. package/dist/esm/components/Icon/components/index.js +4 -4
  244. package/dist/esm/components/Icon/components/index.js.map +1 -1
  245. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  246. package/dist/esm/components/Input/Input.js.map +1 -1
  247. package/dist/esm/components/Input/util.js +2 -2
  248. package/dist/esm/components/Input/util.js.map +1 -1
  249. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  250. package/dist/esm/components/Listbox/ScrollableList.js +64 -83
  251. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  252. package/dist/esm/components/Listbox/useListbox.js +51 -60
  253. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  254. package/dist/esm/components/Listbox/useMultiListbox.js +64 -91
  255. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  256. package/dist/esm/components/Listbox/useTypeahead.js +10 -9
  257. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  258. package/dist/esm/components/Listbox/util.js +48 -85
  259. package/dist/esm/components/Listbox/util.js.map +1 -1
  260. package/dist/esm/components/Menu/Context.js +2 -2
  261. package/dist/esm/components/Menu/Context.js.map +1 -1
  262. package/dist/esm/components/Menu/Menu.js.map +1 -1
  263. package/dist/esm/components/Menu/components/Checkbox.js +8 -9
  264. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  265. package/dist/esm/components/Menu/components/Content.js +9 -11
  266. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  267. package/dist/esm/components/Menu/components/Header.js +3 -3
  268. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  269. package/dist/esm/components/Menu/components/Item.js +30 -31
  270. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  271. package/dist/esm/components/Menu/components/Link.js +10 -11
  272. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  273. package/dist/esm/components/Menu/components/RadioGroup.js +16 -18
  274. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  275. package/dist/esm/components/Menu/components/Separator.js +1 -1
  276. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  277. package/dist/esm/components/Menu/components/Trigger.js +4 -4
  278. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  279. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  280. package/dist/esm/components/Pagination/PageNumbers.js +23 -28
  281. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  282. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  283. package/dist/esm/components/Pagination/usePagination.js +7 -21
  284. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  285. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  286. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  287. package/dist/esm/components/Popover/Popover.js.map +1 -1
  288. package/dist/esm/components/Popover/Primitives.js +7 -8
  289. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  290. package/dist/esm/components/Progress/Progress.js.map +1 -1
  291. package/dist/esm/components/Provider/Provider.js.map +1 -1
  292. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  293. package/dist/esm/components/SearchInput/SearchInput.js +1 -1
  294. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  295. package/dist/esm/components/Select/Select.js.map +1 -1
  296. package/dist/esm/components/Select/useSelect.js +63 -81
  297. package/dist/esm/components/Select/useSelect.js.map +1 -1
  298. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  299. package/dist/esm/components/Switch/Switch.js.map +1 -1
  300. package/dist/esm/components/Table/components/BaseTable.js +23 -30
  301. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  302. package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
  303. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  304. package/dist/esm/components/Table/components/Table.js +18 -25
  305. package/dist/esm/components/Table/components/Table.js.map +1 -1
  306. package/dist/esm/components/Table/components/WindowedTable.js +89 -109
  307. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  308. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +122 -146
  309. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  310. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
  311. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  312. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
  313. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  314. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +79 -89
  315. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  316. package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
  317. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  318. package/dist/esm/components/Table/hooks/useTable.js +119 -141
  319. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  320. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +13 -16
  321. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  322. package/dist/esm/components/Table/util/renderColumn.js +10 -10
  323. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  324. package/dist/esm/components/Table/util/renderRow.js +37 -46
  325. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  326. package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
  327. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  328. package/dist/esm/components/Table/util/sortTypes.js +23 -31
  329. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  330. package/dist/esm/components/Table/util.js +29 -41
  331. package/dist/esm/components/Table/util.js.map +1 -1
  332. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  333. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  334. package/dist/esm/components/Toast/Toast.js +20 -21
  335. package/dist/esm/components/Toast/Toast.js.map +1 -1
  336. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  337. package/dist/esm/components/Toast/util.js +2 -2
  338. package/dist/esm/components/Toast/util.js.map +1 -1
  339. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  340. package/dist/esm/components/Tour/Tour.js.map +1 -1
  341. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  342. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  343. package/dist/esm/index.css +661 -661
  344. package/dist/esm/index.js +1 -1
  345. package/dist/esm/primitives/Button.js +9 -13
  346. package/dist/esm/primitives/Button.js.map +1 -1
  347. package/dist/esm/utils/date.js.map +1 -1
  348. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  349. package/dist/esm/utils/hooks/useDraggable.js +16 -18
  350. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  351. package/dist/esm/utils/hooks/useDropTarget.js +7 -10
  352. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  353. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  354. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  355. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  356. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  357. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  358. package/dist/esm/utils/hooks/useTimer.js +9 -17
  359. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  360. package/dist/esm/utils/input.js +7 -11
  361. package/dist/esm/utils/input.js.map +1 -1
  362. package/dist/esm/utils/mergeRefs.js +2 -2
  363. package/dist/esm/utils/mergeRefs.js.map +1 -1
  364. package/dist/esm/utils/taillwind.js +2 -2
  365. package/dist/esm/utils/taillwind.js.map +1 -1
  366. package/dist/index.css +661 -661
  367. package/dist/taco.cjs.development.js +1493 -1825
  368. package/dist/taco.cjs.development.js.map +1 -1
  369. package/dist/taco.cjs.production.min.js +1 -1
  370. package/dist/taco.cjs.production.min.js.map +1 -1
  371. package/package.json +4 -4
  372. package/plugins/tailwindcss-aria-attributes.js +73 -73
  373. package/tailwind.config.js +260 -297
  374. package/types.json +2603 -7007
@@ -1 +1 @@
1
- {"version":3,"file":"useRowCreation.js","sources":["../../../../../src/components/Table/hooks/useRowCreation.tsx"],"sourcesContent":["import React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport set from 'lodash/set';\nimport unset from 'lodash/unset';\nimport get from 'lodash/get';\nimport compact from 'lodash/compact';\nimport pullAt from 'lodash/pullAt';\n\nimport { convertRowIndexPathToNumberArray, getByRowIndexPath, getParentRowIndexPath } from '../util/rowIndexPath';\nimport { Row, RowIndexPath, TableRef } from '../types';\n\nexport const insertChildTableRow = <TRow,>(\n data: Row<TRow>[],\n rowIndexPath: RowIndexPath = undefined,\n values: any = {}\n): [Row<TRow>[], RowIndexPath] => {\n const nexTRow: Row<TRow>[] = JSON.parse(JSON.stringify(data));\n\n let childRowIndexPath;\n\n if (rowIndexPath) {\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n const currentRow = getByRowIndexPath(nexTRow, rowIndexes.join('.'));\n const nextSubRows = currentRow?.subRows ?? [];\n\n const path = rowIndexes.map(i => `[${i}]`).join('.subRows') + '.subRows';\n nextSubRows.unshift(values);\n set(nexTRow, path, nextSubRows);\n\n // rebuild the new id\n rowIndexes.push(0);\n childRowIndexPath = rowIndexes.join('.');\n } else {\n nexTRow.unshift(values);\n childRowIndexPath = '0';\n }\n\n return [nexTRow, childRowIndexPath];\n};\n\nexport const removeChildTableRow = <TRow,>(data: Row<TRow>[], rowIndexPath: RowIndexPath): Row<TRow>[] => {\n const nexTRow = JSON.parse(JSON.stringify(data));\n\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n const rootIndex = Number(rowIndexes.shift());\n\n if (rowIndexes.length) {\n // unset\n const unsetPath = rowIndexes.map(index => `subRows[${index}]`).join('.');\n unset(nexTRow[rootIndex], unsetPath);\n\n // remove empty value from subRows\n rowIndexes.pop();\n const setPath = rowIndexes.length ? rowIndexes.map(index => `subRows[${index}]`).join('.') + '.subRows' : 'subRows';\n set(nexTRow[rootIndex], setPath, compact(get(nexTRow[rootIndex], setPath)));\n } else {\n pullAt(nexTRow, rootIndex);\n }\n\n return nexTRow;\n};\n\nexport type useTableRowCreation<TRow> = {\n data: Row<TRow>[];\n create: (rowIndexPath: RowIndexPath, values?: object | undefined) => RowIndexPath;\n remove: (rowIndexPath: RowIndexPath) => void;\n isCreating: boolean;\n};\n\nexport const useTableRowCreation = <TRow,>(data: Row<TRow>[], tableRef: React.RefObject<TableRef>): useTableRowCreation<TRow> => {\n const [internalData, setInternalData] = React.useState(JSON.parse(JSON.stringify(data)));\n const [activeRowIndexPath, setActiveRowIndexPath] = React.useState<string | undefined>(undefined);\n\n React.useEffect(() => {\n if (activeRowIndexPath !== undefined) {\n // keep the same edit key, so that we don't remount the row/form\n const currentRow: any = getByRowIndexPath(internalData, activeRowIndexPath);\n\n // get the active creation rows parent\n const parentId = getParentRowIndexPath(activeRowIndexPath);\n\n // insert a new empty row in the external data (with the same key)\n const [nexTRow, newRowIndexPath] = insertChildTableRow(JSON.parse(JSON.stringify(data)), parentId, currentRow);\n\n // update and set that row as active, we basically just changed it's position in our internal data\n setActiveRowIndexPath(newRowIndexPath);\n setInternalData(nexTRow);\n\n if (tableRef?.current) {\n tableRef.current.instance.toggleRowEditing(currentRow?._createKey);\n }\n } else {\n setInternalData(data);\n }\n }, [JSON.stringify(data)]);\n\n const create = (rowIndexPath: RowIndexPath = undefined, values: object | undefined = {}): RowIndexPath => {\n const _createKey = uuid();\n const [nexTRow, newRowIndexPath] = insertChildTableRow(internalData, rowIndexPath, { ...values, _createKey });\n setActiveRowIndexPath(newRowIndexPath);\n setInternalData(nexTRow);\n\n if (tableRef?.current) {\n tableRef.current.instance.toggleRowEditing(_createKey);\n }\n\n return newRowIndexPath;\n };\n\n const remove = (rowIndexPath: any): void => {\n const nexTRow = removeChildTableRow(internalData, rowIndexPath);\n setInternalData(nexTRow);\n setActiveRowIndexPath(undefined);\n };\n\n return {\n data: internalData,\n create,\n remove,\n isCreating: activeRowIndexPath !== undefined,\n };\n};\n"],"names":["insertChildTableRow","data","rowIndexPath","values","undefined","nexTRow","JSON","parse","stringify","childRowIndexPath","rowIndexes","convertRowIndexPathToNumberArray","currentRow","getByRowIndexPath","join","nextSubRows","subRows","path","map","i","unshift","set","push","removeChildTableRow","rootIndex","Number","shift","length","unsetPath","index","unset","pop","setPath","compact","get","pullAt","useTableRowCreation","tableRef","React","useState","internalData","setInternalData","activeRowIndexPath","setActiveRowIndexPath","useEffect","parentId","getParentRowIndexPath","newRowIndexPath","current","instance","toggleRowEditing","_createKey","create","uuid","remove","isCreating"],"mappings":"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"}
1
+ {"version":3,"file":"useRowCreation.js","sources":["../../../../../src/components/Table/hooks/useRowCreation.tsx"],"sourcesContent":["import React from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport set from 'lodash/set';\r\nimport unset from 'lodash/unset';\r\nimport get from 'lodash/get';\r\nimport compact from 'lodash/compact';\r\nimport pullAt from 'lodash/pullAt';\r\n\r\nimport { convertRowIndexPathToNumberArray, getByRowIndexPath, getParentRowIndexPath } from '../util/rowIndexPath';\r\nimport { Row, RowIndexPath, TableRef } from '../types';\r\n\r\nexport const insertChildTableRow = <TRow,>(\r\n data: Row<TRow>[],\r\n rowIndexPath: RowIndexPath = undefined,\r\n values: any = {}\r\n): [Row<TRow>[], RowIndexPath] => {\r\n const nexTRow: Row<TRow>[] = JSON.parse(JSON.stringify(data));\r\n\r\n let childRowIndexPath;\r\n\r\n if (rowIndexPath) {\r\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\r\n const currentRow = getByRowIndexPath(nexTRow, rowIndexes.join('.'));\r\n const nextSubRows = currentRow?.subRows ?? [];\r\n\r\n const path = rowIndexes.map(i => `[${i}]`).join('.subRows') + '.subRows';\r\n nextSubRows.unshift(values);\r\n set(nexTRow, path, nextSubRows);\r\n\r\n // rebuild the new id\r\n rowIndexes.push(0);\r\n childRowIndexPath = rowIndexes.join('.');\r\n } else {\r\n nexTRow.unshift(values);\r\n childRowIndexPath = '0';\r\n }\r\n\r\n return [nexTRow, childRowIndexPath];\r\n};\r\n\r\nexport const removeChildTableRow = <TRow,>(data: Row<TRow>[], rowIndexPath: RowIndexPath): Row<TRow>[] => {\r\n const nexTRow = JSON.parse(JSON.stringify(data));\r\n\r\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\r\n const rootIndex = Number(rowIndexes.shift());\r\n\r\n if (rowIndexes.length) {\r\n // unset\r\n const unsetPath = rowIndexes.map(index => `subRows[${index}]`).join('.');\r\n unset(nexTRow[rootIndex], unsetPath);\r\n\r\n // remove empty value from subRows\r\n rowIndexes.pop();\r\n const setPath = rowIndexes.length ? rowIndexes.map(index => `subRows[${index}]`).join('.') + '.subRows' : 'subRows';\r\n set(nexTRow[rootIndex], setPath, compact(get(nexTRow[rootIndex], setPath)));\r\n } else {\r\n pullAt(nexTRow, rootIndex);\r\n }\r\n\r\n return nexTRow;\r\n};\r\n\r\nexport type useTableRowCreation<TRow> = {\r\n data: Row<TRow>[];\r\n create: (rowIndexPath: RowIndexPath, values?: object | undefined) => RowIndexPath;\r\n remove: (rowIndexPath: RowIndexPath) => void;\r\n isCreating: boolean;\r\n};\r\n\r\nexport const useTableRowCreation = <TRow,>(data: Row<TRow>[], tableRef: React.RefObject<TableRef>): useTableRowCreation<TRow> => {\r\n const [internalData, setInternalData] = React.useState(JSON.parse(JSON.stringify(data)));\r\n const [activeRowIndexPath, setActiveRowIndexPath] = React.useState<string | undefined>(undefined);\r\n\r\n React.useEffect(() => {\r\n if (activeRowIndexPath !== undefined) {\r\n // keep the same edit key, so that we don't remount the row/form\r\n const currentRow: any = getByRowIndexPath(internalData, activeRowIndexPath);\r\n\r\n // get the active creation rows parent\r\n const parentId = getParentRowIndexPath(activeRowIndexPath);\r\n\r\n // insert a new empty row in the external data (with the same key)\r\n const [nexTRow, newRowIndexPath] = insertChildTableRow(JSON.parse(JSON.stringify(data)), parentId, currentRow);\r\n\r\n // update and set that row as active, we basically just changed it's position in our internal data\r\n setActiveRowIndexPath(newRowIndexPath);\r\n setInternalData(nexTRow);\r\n\r\n if (tableRef?.current) {\r\n tableRef.current.instance.toggleRowEditing(currentRow?._createKey);\r\n }\r\n } else {\r\n setInternalData(data);\r\n }\r\n }, [JSON.stringify(data)]);\r\n\r\n const create = (rowIndexPath: RowIndexPath = undefined, values: object | undefined = {}): RowIndexPath => {\r\n const _createKey = uuid();\r\n const [nexTRow, newRowIndexPath] = insertChildTableRow(internalData, rowIndexPath, { ...values, _createKey });\r\n setActiveRowIndexPath(newRowIndexPath);\r\n setInternalData(nexTRow);\r\n\r\n if (tableRef?.current) {\r\n tableRef.current.instance.toggleRowEditing(_createKey);\r\n }\r\n\r\n return newRowIndexPath;\r\n };\r\n\r\n const remove = (rowIndexPath: any): void => {\r\n const nexTRow = removeChildTableRow(internalData, rowIndexPath);\r\n setInternalData(nexTRow);\r\n setActiveRowIndexPath(undefined);\r\n };\r\n\r\n return {\r\n data: internalData,\r\n create,\r\n remove,\r\n isCreating: activeRowIndexPath !== undefined,\r\n };\r\n};\r\n"],"names":["insertChildTableRow","data","rowIndexPath","undefined","values","nexTRow","JSON","parse","stringify","childRowIndexPath","rowIndexes","convertRowIndexPathToNumberArray","currentRow","getByRowIndexPath","join","nextSubRows","subRows","path","map","i","unshift","set","push","removeChildTableRow","rootIndex","Number","shift","length","unsetPath","index","unset","pop","setPath","compact","get","pullAt","useTableRowCreation","tableRef","internalData","setInternalData","React","useState","activeRowIndexPath","setActiveRowIndexPath","useEffect","parentId","getParentRowIndexPath","newRowIndexPath","current","instance","toggleRowEditing","_createKey","create","uuid","remove","isCreating"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { extends as _extends, objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import { useLocalization } from '../../Provider/Provider.js';
4
3
  import { useTable as useTable$1, useRowState, useSortBy, useExpanded, usePagination } from 'react-table';
@@ -10,36 +9,31 @@ import { useRowSelect } from './plugins/useRowSelect.js';
10
9
  import { useTableKeyboardNavigation } from './useTableKeyboardNavigation.js';
11
10
  import { useRowDraggable } from './plugins/useRowDraggable.js';
12
11
 
13
- var _excluded = ["children", "data", "dangerouslyHijackGlobalKeyboardNavigation", "onRowClick", "onRowDrag", "onSelectedRows", "rowClassName", "rowExpansionRenderer", "rowHeight", "selectedRows", "disableSorting", "manualSorting", "onSort", "sortRules", "disablePagination", "length", "onPaginate", "pageSize", "pageIndex", "inlineEditingUniqueId", "onRowCreate", "actions", "onRowEdit", "onRowCopy", "onRowDelete", "onRowActive", "windowed"],
14
- _excluded2 = ["headerGroups", "rows", "sortedRows", "prepareRow", "state", "page", "gotoPage", "setPageSize"];
15
-
16
- var useTableRowActive = function useTableRowActive(activeIndex, rows, rowExpansionRenderer, handleonRowActive) {
17
- React__default.useEffect(function () {
12
+ const useTableRowActive = (activeIndex, rows, rowExpansionRenderer, handleonRowActive) => {
13
+ React__default.useEffect(() => {
18
14
  if (activeIndex !== undefined && rows.length && handleonRowActive) {
19
- var focusedRow = rows[activeIndex];
15
+ const focusedRow = rows[activeIndex];
20
16
 
21
17
  if (focusedRow) {
22
- var sanitizedFocusedRow = sanitizeRowProps(focusedRow, rowExpansionRenderer);
18
+ const sanitizedFocusedRow = sanitizeRowProps(focusedRow, rowExpansionRenderer);
23
19
  handleonRowActive(sanitizedFocusedRow);
24
20
  }
25
21
  }
26
22
  }, [activeIndex, rows]);
27
23
  };
28
24
 
29
- var useTableInstance = function useTableInstance(instance, ref) {
30
- var sanitizedInstance = React__default.useMemo(function () {
31
- return {
32
- toggleAllRowsExpanded: instance.toggleAllRowsExpanded,
33
- toggleHideAllColumns: instance.toggleHideAllColumns,
34
- toggleHideColumn: instance.toggleHideColumn,
35
- toggleEditing: instance.toggleEditing,
36
- toggleRowEditing: instance.toggleRowEditing,
37
- resetRowEditing: instance.resetRowEditing,
38
- toggleRowExpanded: instance.toggleRowExpanded,
39
- toggleSortBy: instance.toggleSortBy
40
- };
41
- }, []);
42
- React__default.useEffect(function () {
25
+ const useTableInstance = (instance, ref) => {
26
+ const sanitizedInstance = React__default.useMemo(() => ({
27
+ toggleAllRowsExpanded: instance.toggleAllRowsExpanded,
28
+ toggleHideAllColumns: instance.toggleHideAllColumns,
29
+ toggleHideColumn: instance.toggleHideColumn,
30
+ toggleEditing: instance.toggleEditing,
31
+ toggleRowEditing: instance.toggleRowEditing,
32
+ resetRowEditing: instance.resetRowEditing,
33
+ toggleRowExpanded: instance.toggleRowExpanded,
34
+ toggleSortBy: instance.toggleSortBy
35
+ }), []);
36
+ React__default.useEffect(() => {
43
37
  if (ref !== null && ref !== void 0 && ref.current) {
44
38
  ref.current.instance = sanitizedInstance;
45
39
  }
@@ -47,33 +41,29 @@ var useTableInstance = function useTableInstance(instance, ref) {
47
41
  return sanitizedInstance;
48
42
  };
49
43
 
50
- var useTablePaginationListener = function useTablePaginationListener(disablePagination, onPaginate, state) {
51
- React__default.useEffect(function () {
44
+ const useTablePaginationListener = (disablePagination, onPaginate, state) => {
45
+ React__default.useEffect(() => {
52
46
  if (!disablePagination && onPaginate) {
53
47
  onPaginate(state.pageIndex, state.pageSize);
54
48
  }
55
49
  }, [state.pageIndex, state.pageSize]);
56
50
  };
57
51
 
58
- var useTableSortingListener = function useTableSortingListener(data, sortedRows, onSort, manualSorting, state) {
59
- React__default.useEffect(function () {
52
+ const useTableSortingListener = (data, sortedRows, onSort, manualSorting, state) => {
53
+ React__default.useEffect(() => {
60
54
  if (onSort) {
61
- var sortRules = state.sortBy.map(function (rule) {
62
- return {
63
- accessor: rule.id,
64
- desc: rule.desc
65
- };
66
- });
55
+ const sortRules = state.sortBy.map(rule => ({
56
+ accessor: rule.id,
57
+ desc: rule.desc
58
+ }));
67
59
 
68
60
  if (manualSorting) {
69
61
  onSort(sortRules);
70
62
  } else {
71
- var sortedData;
63
+ let sortedData;
72
64
 
73
65
  if (sortRules.length && sortedRows !== null && sortedRows !== void 0 && sortedRows.length) {
74
- sortedData = sortedRows.map(function (row) {
75
- return row.original;
76
- });
66
+ sortedData = sortedRows.map(row => row.original);
77
67
  }
78
68
 
79
69
  onSort(sortRules, sortedData || data);
@@ -82,61 +72,71 @@ var useTableSortingListener = function useTableSortingListener(data, sortedRows,
82
72
  }, [onSort && JSON.stringify(state.sortBy), manualSorting]);
83
73
  };
84
74
 
85
- var DEFAULT_PAGE_SIZE = 10;
86
- var useTable = function useTable(props, ref) {
75
+ const DEFAULT_PAGE_SIZE = 10;
76
+ const useTable = (props, ref) => {
87
77
  var _otherProps$tabIndex;
88
78
 
89
- var children = props.children,
90
- data = props.data,
91
- onRowClick = props.onRowClick,
92
- onRowDrag = props.onRowDrag,
93
- onSelectedRows = props.onSelectedRows,
94
- rowClassName = props.rowClassName,
95
- rowExpansionRenderer = props.rowExpansionRenderer,
96
- rowHeight = props.rowHeight,
97
- selectedRows = props.selectedRows,
98
- disableSorting = props.disableSorting,
99
- manualSorting = props.manualSorting,
100
- onSort = props.onSort,
101
- sortRules = props.sortRules,
102
- _props$disablePaginat = props.disablePagination,
103
- disablePagination = _props$disablePaginat === void 0 ? true : _props$disablePaginat,
104
- length = props.length,
105
- onPaginate = props.onPaginate,
106
- _props$pageSize = props.pageSize,
107
- pageSize = _props$pageSize === void 0 ? DEFAULT_PAGE_SIZE : _props$pageSize,
108
- _props$pageIndex = props.pageIndex,
109
- pageIndex = _props$pageIndex === void 0 ? 0 : _props$pageIndex,
110
- _props$inlineEditingU = props.inlineEditingUniqueId,
111
- inlineEditingUniqueId = _props$inlineEditingU === void 0 ? undefined : _props$inlineEditingU,
112
- onRowCreate = props.onRowCreate,
113
- actions = props.actions,
114
- onRowEdit = props.onRowEdit,
115
- onRowCopy = props.onRowCopy,
116
- onRowDelete = props.onRowDelete,
117
- onRowActive = props.onRowActive,
118
- _props$windowed = props.windowed,
119
- windowed = _props$windowed === void 0 ? false : _props$windowed,
120
- otherProps = _objectWithoutPropertiesLoose(props, _excluded);
79
+ const {
80
+ children,
81
+ data,
82
+ dangerouslyHijackGlobalKeyboardNavigation: _1,
83
+ onRowClick,
84
+ onRowDrag,
85
+ onSelectedRows,
86
+ rowClassName,
87
+ rowExpansionRenderer,
88
+ rowHeight,
89
+ selectedRows,
90
+ // sorting
91
+ disableSorting,
92
+ manualSorting,
93
+ onSort,
94
+ sortRules,
95
+ // pagination
96
+ disablePagination = true,
97
+ length,
98
+ onPaginate,
99
+ pageSize = DEFAULT_PAGE_SIZE,
100
+ pageIndex = 0,
101
+ // row editing
102
+ inlineEditingUniqueId = undefined,
103
+ onRowCreate,
104
+ // actions
105
+ actions,
106
+ onRowEdit,
107
+ onRowCopy,
108
+ onRowDelete,
109
+ onRowActive,
110
+ windowed = false,
111
+ ...otherProps
112
+ } = props;
121
113
 
122
114
  if (onSelectedRows && !selectedRows || !onSelectedRows && selectedRows) {
123
115
  throw new Error('Selected rows in a Table component are fully controlled - you must pass both the `onSelectedRows` and `selectedRows` props when using row selection');
124
116
  }
125
117
 
126
- var _useLocalization = useLocalization(),
127
- texts = _useLocalization.texts;
128
-
129
- var _React$useMemo = React__default.useMemo(function () {
130
- return getColumnsFromChildren(children, rowExpansionRenderer);
131
- }, [children, rowExpansionRenderer]),
132
- columns = _React$useMemo.columns,
133
- defaultSortRules = _React$useMemo.sortRules;
134
-
135
- var manualPagination = !disablePagination && !!onPaginate && !!length;
136
-
137
- var _useReactTable = useTable$1({
138
- columns: columns,
139
- data: data,
118
+ const {
119
+ texts
120
+ } = useLocalization();
121
+ const {
122
+ columns,
123
+ sortRules: defaultSortRules
124
+ } = React__default.useMemo(() => getColumnsFromChildren(children, rowExpansionRenderer), [children, rowExpansionRenderer]);
125
+ const manualPagination = !disablePagination && !!onPaginate && !!length;
126
+ const {
127
+ headerGroups,
128
+ rows,
129
+ sortedRows,
130
+ prepareRow: prepareBaseRow,
131
+ state,
132
+ // pagination
133
+ page,
134
+ gotoPage,
135
+ setPageSize,
136
+ ...instance
137
+ } = useTable$1({
138
+ columns,
139
+ data,
140
140
  initialState: {
141
141
  // eslint-disable-next-line
142
142
  // @ts-ignore: not sure how to type this correctly right now
@@ -144,7 +144,7 @@ var useTable = function useTable(props, ref) {
144
144
  pageSize: !disablePagination ? pageSize : undefined,
145
145
  pageIndex: !disablePagination ? pageIndex : undefined
146
146
  },
147
- manualPagination: manualPagination,
147
+ manualPagination,
148
148
  pageCount: manualPagination && length ? Math.ceil(length / pageSize) : -1,
149
149
  manualSortBy: manualSorting,
150
150
  disableSortBy: disableSorting,
@@ -153,75 +153,53 @@ var useTable = function useTable(props, ref) {
153
153
  autoResetSelectedRows: false,
154
154
  autoResetSortBy: false,
155
155
  autoResetPage: false,
156
- sortTypes: React__default.useMemo(function () {
157
- return sortTypes;
158
- }, []),
159
- useControlledState: function useControlledState(currentState) {
160
- return React__default.useMemo(function () {
161
- return _extends({}, currentState, {
162
- selectedRowIds: selectedRows || []
163
- });
164
- }, [currentState, selectedRows]);
156
+ sortTypes: React__default.useMemo(() => sortTypes, []),
157
+ useControlledState: currentState => {
158
+ return React__default.useMemo(() => ({ ...currentState,
159
+ selectedRowIds: selectedRows || []
160
+ }), [currentState, selectedRows]);
165
161
  }
166
162
  }, useRowState, useSortBy, useExpanded, usePagination, useRowSelect(onSelectedRows), useRowDraggable(onRowDrag), useRowEditing(inlineEditingUniqueId), useRowActions(inlineEditingUniqueId, {
167
- onRowCreate: onRowCreate,
168
- onRowEdit: onRowEdit,
169
- onRowCopy: onRowCopy,
170
- onRowDelete: onRowDelete
171
- }, actions, rowExpansionRenderer, texts, windowed)),
172
- headerGroups = _useReactTable.headerGroups,
173
- rows = _useReactTable.rows,
174
- sortedRows = _useReactTable.sortedRows,
175
- prepareBaseRow = _useReactTable.prepareRow,
176
- state = _useReactTable.state,
177
- page = _useReactTable.page,
178
- gotoPage = _useReactTable.gotoPage,
179
- setPageSize = _useReactTable.setPageSize,
180
- instance = _objectWithoutPropertiesLoose(_useReactTable, _excluded2);
181
-
163
+ onRowCreate,
164
+ onRowEdit,
165
+ onRowCopy,
166
+ onRowDelete
167
+ }, actions, rowExpansionRenderer, texts, windowed));
182
168
  useTablePaginationListener(disablePagination, onPaginate, state);
183
169
  useTableSortingListener(data, sortedRows, onSort, !!manualSorting, state);
184
- var sanitizedInstance = useTableInstance(instance, ref);
185
- var visibleRows = !disablePagination && !manualPagination ? page : rows;
186
-
187
- var _useTableKeyboardNavi = useTableKeyboardNavigation(props, visibleRows, {
188
- onRowClick: onRowClick,
189
- onRowCreate: onRowCreate,
190
- onRowEdit: onRowEdit,
191
- onRowCopy: onRowCopy,
192
- onRowDelete: onRowDelete,
193
- rowExpansionRenderer: rowExpansionRenderer
194
- }, ref),
195
- activeIndex = _useTableKeyboardNavi[0],
196
- setActiveIndex = _useTableKeyboardNavi[1],
197
- handleKeyDown = _useTableKeyboardNavi[2],
198
- handleFocus = _useTableKeyboardNavi[3];
199
-
170
+ const sanitizedInstance = useTableInstance(instance, ref);
171
+ const visibleRows = !disablePagination && !manualPagination ? page : rows;
172
+ const [activeIndex, setActiveIndex, handleKeyDown, handleFocus] = useTableKeyboardNavigation(props, visibleRows, {
173
+ onRowClick,
174
+ onRowCreate,
175
+ onRowEdit,
176
+ onRowCopy,
177
+ onRowDelete,
178
+ rowExpansionRenderer
179
+ }, ref);
200
180
  useTableRowActive(activeIndex, rows, rowExpansionRenderer, onRowActive);
201
- var prepareRow = React__default.useCallback(function (row, index) {
181
+ const prepareRow = React__default.useCallback((row, index) => {
202
182
  prepareBaseRow(row);
203
183
 
204
- row.setActive = function () {
205
- return setActiveIndex(index);
206
- };
184
+ row.setActive = () => setActiveIndex(index);
207
185
  }, [prepareBaseRow, setActiveIndex]);
208
186
  return {
209
187
  rowProps: {
210
- activeIndex: activeIndex,
211
- setActiveIndex: setActiveIndex,
212
- onRowClick: onRowClick,
213
- rowClassName: rowClassName,
214
- rowExpansionRenderer: rowExpansionRenderer,
215
- rowHeight: rowHeight,
216
- inlineEditingUniqueId: inlineEditingUniqueId
188
+ activeIndex,
189
+ setActiveIndex,
190
+ onRowClick,
191
+ rowClassName,
192
+ rowExpansionRenderer,
193
+ rowHeight,
194
+ inlineEditingUniqueId
217
195
  },
218
- tableProps: _extends({}, otherProps, {
219
- headerGroups: headerGroups,
196
+ tableProps: { ...otherProps,
197
+ headerGroups,
220
198
  onFocus: handleFocus,
221
199
  onKeyDown: handleKeyDown,
222
200
  tabIndex: (_otherProps$tabIndex = otherProps.tabIndex) !== null && _otherProps$tabIndex !== void 0 ? _otherProps$tabIndex : 0
223
- }),
224
- state: state,
201
+ },
202
+ state,
225
203
  pagination: !disablePagination ? {
226
204
  length: manualPagination && length ? length : data.length,
227
205
  pageIndex: state.pageIndex,
@@ -230,7 +208,7 @@ var useTable = function useTable(props, ref) {
230
208
  setPageSize: setPageSize
231
209
  } : null,
232
210
  rows: visibleRows,
233
- prepareRow: prepareRow,
211
+ prepareRow,
234
212
  instance: sanitizedInstance
235
213
  };
236
214
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\nimport { useTable as useReactTable, useExpanded, useSortBy, usePagination, useRowState } from 'react-table';\nimport { getColumnsFromChildren, getInternalSortRules } from '../util';\nimport { sortTypes } from '../util/sortTypes';\nimport { useRowEditing } from './plugins/useRowEditing';\nimport { useRowActions } from './plugins/useRowActions';\nimport { useRowSelect } from './plugins/useRowSelect';\nimport {\n InternalTable,\n InternalTableRow,\n PaginationHandler,\n RowActiveHandler,\n SortHandler,\n TableProps,\n TableRef,\n} from '../types';\nimport { useTableKeyboardNavigation } from './useTableKeyboardNavigation';\nimport { useLocalization } from '../../Provider/Provider';\nimport { useRowDraggable } from './plugins/useRowDraggable';\nimport { sanitizeRowProps } from '../util';\n\nconst useTableRowActive = (\n activeIndex: number | undefined,\n rows: InternalTableRow[],\n rowExpansionRenderer: TableProps<any>['rowExpansionRenderer'],\n handleonRowActive: RowActiveHandler<any> | undefined\n) => {\n React.useEffect(() => {\n if (activeIndex !== undefined && rows.length && handleonRowActive) {\n const focusedRow = rows[activeIndex];\n if (focusedRow) {\n const sanitizedFocusedRow = sanitizeRowProps(focusedRow, rowExpansionRenderer);\n handleonRowActive(sanitizedFocusedRow);\n }\n }\n }, [activeIndex, rows]);\n};\n\nconst useTableInstance = (instance: any, ref: React.RefObject<TableRef>): object => {\n const sanitizedInstance = React.useMemo(\n () => ({\n toggleAllRowsExpanded: instance.toggleAllRowsExpanded,\n toggleHideAllColumns: instance.toggleHideAllColumns,\n toggleHideColumn: instance.toggleHideColumn,\n toggleEditing: instance.toggleEditing,\n toggleRowEditing: instance.toggleRowEditing,\n resetRowEditing: instance.resetRowEditing,\n toggleRowExpanded: instance.toggleRowExpanded,\n toggleSortBy: instance.toggleSortBy,\n }),\n []\n );\n\n React.useEffect(() => {\n if (ref?.current) {\n ref.current.instance = sanitizedInstance;\n }\n }, [ref]);\n\n return sanitizedInstance;\n};\n\nconst useTablePaginationListener = (disablePagination: boolean, onPaginate: PaginationHandler | undefined, state: any): void => {\n React.useEffect(() => {\n if (!disablePagination && onPaginate) {\n onPaginate(state.pageIndex, state.pageSize);\n }\n }, [state.pageIndex, state.pageSize]);\n};\n\nconst useTableSortingListener = (\n data: any[],\n sortedRows: any[],\n onSort: SortHandler<any> | undefined,\n manualSorting: boolean,\n state: any\n): void => {\n React.useEffect(() => {\n if (onSort) {\n const sortRules = state.sortBy.map((rule: any) => ({ accessor: rule.id, desc: rule.desc }));\n\n if (manualSorting) {\n onSort(sortRules);\n } else {\n let sortedData;\n\n if (sortRules.length && sortedRows?.length) {\n sortedData = sortedRows.map((row: any) => row.original);\n }\n\n onSort(sortRules, sortedData || data);\n }\n }\n }, [onSort && JSON.stringify(state.sortBy), manualSorting]);\n};\n\nconst DEFAULT_PAGE_SIZE = 10;\n\nexport const useTable = <T extends {}>(\n props: TableProps<T> & { windowed?: boolean },\n ref: React.RefObject<TableRef>\n): InternalTable => {\n const {\n children,\n data,\n dangerouslyHijackGlobalKeyboardNavigation: _1,\n onRowClick,\n onRowDrag,\n onSelectedRows,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n selectedRows,\n\n // sorting\n disableSorting,\n manualSorting,\n onSort,\n sortRules,\n\n // pagination\n disablePagination = true,\n length,\n onPaginate,\n pageSize = DEFAULT_PAGE_SIZE,\n pageIndex = 0,\n\n // row editing\n inlineEditingUniqueId = undefined,\n onRowCreate,\n\n // actions\n actions,\n onRowEdit,\n onRowCopy,\n onRowDelete,\n onRowActive,\n\n windowed = false,\n\n ...otherProps\n } = props;\n\n if ((onSelectedRows && !selectedRows) || (!onSelectedRows && selectedRows)) {\n throw new Error(\n 'Selected rows in a Table component are fully controlled - you must pass both the `onSelectedRows` and `selectedRows` props when using row selection'\n );\n }\n\n const { texts } = useLocalization();\n const { columns, sortRules: defaultSortRules } = React.useMemo(\n () => getColumnsFromChildren(children, rowExpansionRenderer),\n [children, rowExpansionRenderer]\n );\n\n const manualPagination = !disablePagination && !!onPaginate && !!length;\n\n const {\n headerGroups,\n rows,\n sortedRows,\n prepareRow: prepareBaseRow,\n state,\n // pagination\n page,\n gotoPage,\n setPageSize,\n ...instance\n }: any = useReactTable(\n {\n columns,\n data,\n initialState: {\n // eslint-disable-next-line\n // @ts-ignore: not sure how to type this correctly right now\n sortBy: getInternalSortRules(sortRules) || defaultSortRules,\n pageSize: !disablePagination ? pageSize : undefined,\n pageIndex: !disablePagination ? pageIndex : undefined,\n },\n manualPagination,\n pageCount: manualPagination && length ? Math.ceil(length / pageSize) : -1,\n manualSortBy: manualSorting,\n disableSortBy: disableSorting,\n // most of these resets preventions are needed for editing mode\n autoResetExpanded: false,\n autoResetSelectedRows: false,\n autoResetSortBy: false,\n autoResetPage: false,\n sortTypes: React.useMemo(() => sortTypes, []),\n useControlledState: currentState => {\n return React.useMemo(\n () => ({\n ...currentState,\n selectedRowIds: selectedRows || [],\n }),\n [currentState, selectedRows]\n );\n },\n },\n useRowState,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect(onSelectedRows),\n useRowDraggable(onRowDrag),\n useRowEditing(inlineEditingUniqueId),\n useRowActions(\n inlineEditingUniqueId,\n { onRowCreate, onRowEdit, onRowCopy, onRowDelete },\n actions,\n rowExpansionRenderer,\n texts,\n windowed\n )\n );\n\n useTablePaginationListener(disablePagination, onPaginate, state);\n useTableSortingListener(data, sortedRows, onSort, !!manualSorting, state);\n\n const sanitizedInstance = useTableInstance(instance, ref);\n\n const visibleRows = !disablePagination && !manualPagination ? page : rows;\n\n const [activeIndex, setActiveIndex, handleKeyDown, handleFocus] = useTableKeyboardNavigation<T>(\n props,\n visibleRows,\n { onRowClick, onRowCreate, onRowEdit, onRowCopy, onRowDelete, rowExpansionRenderer },\n ref\n );\n\n useTableRowActive(activeIndex, rows, rowExpansionRenderer, onRowActive);\n\n const prepareRow = React.useCallback(\n (row: any, index: number) => {\n prepareBaseRow(row);\n row.setActive = () => setActiveIndex(index);\n },\n [prepareBaseRow, setActiveIndex]\n );\n\n return {\n rowProps: {\n activeIndex,\n setActiveIndex,\n onRowClick,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n inlineEditingUniqueId,\n },\n tableProps: {\n ...otherProps,\n headerGroups,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n tabIndex: otherProps.tabIndex ?? 0,\n },\n state,\n pagination: !disablePagination\n ? {\n length: manualPagination && length ? length : data.length,\n pageIndex: state.pageIndex,\n pageSize: state.pageSize,\n setPageIndex: gotoPage,\n setPageSize: setPageSize,\n }\n : null,\n rows: visibleRows,\n prepareRow,\n instance: sanitizedInstance,\n };\n};\n"],"names":["useTableRowActive","activeIndex","rows","rowExpansionRenderer","handleonRowActive","React","useEffect","undefined","length","focusedRow","sanitizedFocusedRow","sanitizeRowProps","useTableInstance","instance","ref","sanitizedInstance","useMemo","toggleAllRowsExpanded","toggleHideAllColumns","toggleHideColumn","toggleEditing","toggleRowEditing","resetRowEditing","toggleRowExpanded","toggleSortBy","current","useTablePaginationListener","disablePagination","onPaginate","state","pageIndex","pageSize","useTableSortingListener","data","sortedRows","onSort","manualSorting","sortRules","sortBy","map","rule","accessor","id","desc","sortedData","row","original","JSON","stringify","DEFAULT_PAGE_SIZE","useTable","props","children","onRowClick","onRowDrag","onSelectedRows","rowClassName","rowHeight","selectedRows","disableSorting","inlineEditingUniqueId","onRowCreate","actions","onRowEdit","onRowCopy","onRowDelete","onRowActive","windowed","otherProps","Error","useLocalization","texts","getColumnsFromChildren","columns","defaultSortRules","manualPagination","useReactTable","initialState","getInternalSortRules","pageCount","Math","ceil","manualSortBy","disableSortBy","autoResetExpanded","autoResetSelectedRows","autoResetSortBy","autoResetPage","sortTypes","useControlledState","currentState","selectedRowIds","useRowState","useSortBy","useExpanded","usePagination","useRowSelect","useRowDraggable","useRowEditing","useRowActions","headerGroups","prepareBaseRow","prepareRow","page","gotoPage","setPageSize","visibleRows","useTableKeyboardNavigation","setActiveIndex","handleKeyDown","handleFocus","useCallback","index","setActive","rowProps","tableProps","onFocus","onKeyDown","tabIndex","pagination","setPageIndex"],"mappings":"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"}
1
+ {"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\r\nimport { useTable as useReactTable, useExpanded, useSortBy, usePagination, useRowState } from 'react-table';\r\nimport { getColumnsFromChildren, getInternalSortRules } from '../util';\r\nimport { sortTypes } from '../util/sortTypes';\r\nimport { useRowEditing } from './plugins/useRowEditing';\r\nimport { useRowActions } from './plugins/useRowActions';\r\nimport { useRowSelect } from './plugins/useRowSelect';\r\nimport {\r\n InternalTable,\r\n InternalTableRow,\r\n PaginationHandler,\r\n RowActiveHandler,\r\n SortHandler,\r\n TableProps,\r\n TableRef,\r\n} from '../types';\r\nimport { useTableKeyboardNavigation } from './useTableKeyboardNavigation';\r\nimport { useLocalization } from '../../Provider/Provider';\r\nimport { useRowDraggable } from './plugins/useRowDraggable';\r\nimport { sanitizeRowProps } from '../util';\r\n\r\nconst useTableRowActive = (\r\n activeIndex: number | undefined,\r\n rows: InternalTableRow[],\r\n rowExpansionRenderer: TableProps<any>['rowExpansionRenderer'],\r\n handleonRowActive: RowActiveHandler<any> | undefined\r\n) => {\r\n React.useEffect(() => {\r\n if (activeIndex !== undefined && rows.length && handleonRowActive) {\r\n const focusedRow = rows[activeIndex];\r\n if (focusedRow) {\r\n const sanitizedFocusedRow = sanitizeRowProps(focusedRow, rowExpansionRenderer);\r\n handleonRowActive(sanitizedFocusedRow);\r\n }\r\n }\r\n }, [activeIndex, rows]);\r\n};\r\n\r\nconst useTableInstance = (instance: any, ref: React.RefObject<TableRef>): object => {\r\n const sanitizedInstance = React.useMemo(\r\n () => ({\r\n toggleAllRowsExpanded: instance.toggleAllRowsExpanded,\r\n toggleHideAllColumns: instance.toggleHideAllColumns,\r\n toggleHideColumn: instance.toggleHideColumn,\r\n toggleEditing: instance.toggleEditing,\r\n toggleRowEditing: instance.toggleRowEditing,\r\n resetRowEditing: instance.resetRowEditing,\r\n toggleRowExpanded: instance.toggleRowExpanded,\r\n toggleSortBy: instance.toggleSortBy,\r\n }),\r\n []\r\n );\r\n\r\n React.useEffect(() => {\r\n if (ref?.current) {\r\n ref.current.instance = sanitizedInstance;\r\n }\r\n }, [ref]);\r\n\r\n return sanitizedInstance;\r\n};\r\n\r\nconst useTablePaginationListener = (disablePagination: boolean, onPaginate: PaginationHandler | undefined, state: any): void => {\r\n React.useEffect(() => {\r\n if (!disablePagination && onPaginate) {\r\n onPaginate(state.pageIndex, state.pageSize);\r\n }\r\n }, [state.pageIndex, state.pageSize]);\r\n};\r\n\r\nconst useTableSortingListener = (\r\n data: any[],\r\n sortedRows: any[],\r\n onSort: SortHandler<any> | undefined,\r\n manualSorting: boolean,\r\n state: any\r\n): void => {\r\n React.useEffect(() => {\r\n if (onSort) {\r\n const sortRules = state.sortBy.map((rule: any) => ({ accessor: rule.id, desc: rule.desc }));\r\n\r\n if (manualSorting) {\r\n onSort(sortRules);\r\n } else {\r\n let sortedData;\r\n\r\n if (sortRules.length && sortedRows?.length) {\r\n sortedData = sortedRows.map((row: any) => row.original);\r\n }\r\n\r\n onSort(sortRules, sortedData || data);\r\n }\r\n }\r\n }, [onSort && JSON.stringify(state.sortBy), manualSorting]);\r\n};\r\n\r\nconst DEFAULT_PAGE_SIZE = 10;\r\n\r\nexport const useTable = <T extends {}>(\r\n props: TableProps<T> & { windowed?: boolean },\r\n ref: React.RefObject<TableRef>\r\n): InternalTable => {\r\n const {\r\n children,\r\n data,\r\n dangerouslyHijackGlobalKeyboardNavigation: _1,\r\n onRowClick,\r\n onRowDrag,\r\n onSelectedRows,\r\n rowClassName,\r\n rowExpansionRenderer,\r\n rowHeight,\r\n selectedRows,\r\n\r\n // sorting\r\n disableSorting,\r\n manualSorting,\r\n onSort,\r\n sortRules,\r\n\r\n // pagination\r\n disablePagination = true,\r\n length,\r\n onPaginate,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n pageIndex = 0,\r\n\r\n // row editing\r\n inlineEditingUniqueId = undefined,\r\n onRowCreate,\r\n\r\n // actions\r\n actions,\r\n onRowEdit,\r\n onRowCopy,\r\n onRowDelete,\r\n onRowActive,\r\n\r\n windowed = false,\r\n\r\n ...otherProps\r\n } = props;\r\n\r\n if ((onSelectedRows && !selectedRows) || (!onSelectedRows && selectedRows)) {\r\n throw new Error(\r\n 'Selected rows in a Table component are fully controlled - you must pass both the `onSelectedRows` and `selectedRows` props when using row selection'\r\n );\r\n }\r\n\r\n const { texts } = useLocalization();\r\n const { columns, sortRules: defaultSortRules } = React.useMemo(\r\n () => getColumnsFromChildren(children, rowExpansionRenderer),\r\n [children, rowExpansionRenderer]\r\n );\r\n\r\n const manualPagination = !disablePagination && !!onPaginate && !!length;\r\n\r\n const {\r\n headerGroups,\r\n rows,\r\n sortedRows,\r\n prepareRow: prepareBaseRow,\r\n state,\r\n // pagination\r\n page,\r\n gotoPage,\r\n setPageSize,\r\n ...instance\r\n }: any = useReactTable(\r\n {\r\n columns,\r\n data,\r\n initialState: {\r\n // eslint-disable-next-line\r\n // @ts-ignore: not sure how to type this correctly right now\r\n sortBy: getInternalSortRules(sortRules) || defaultSortRules,\r\n pageSize: !disablePagination ? pageSize : undefined,\r\n pageIndex: !disablePagination ? pageIndex : undefined,\r\n },\r\n manualPagination,\r\n pageCount: manualPagination && length ? Math.ceil(length / pageSize) : -1,\r\n manualSortBy: manualSorting,\r\n disableSortBy: disableSorting,\r\n // most of these resets preventions are needed for editing mode\r\n autoResetExpanded: false,\r\n autoResetSelectedRows: false,\r\n autoResetSortBy: false,\r\n autoResetPage: false,\r\n sortTypes: React.useMemo(() => sortTypes, []),\r\n useControlledState: currentState => {\r\n return React.useMemo(\r\n () => ({\r\n ...currentState,\r\n selectedRowIds: selectedRows || [],\r\n }),\r\n [currentState, selectedRows]\r\n );\r\n },\r\n },\r\n useRowState,\r\n useSortBy,\r\n useExpanded,\r\n usePagination,\r\n useRowSelect(onSelectedRows),\r\n useRowDraggable(onRowDrag),\r\n useRowEditing(inlineEditingUniqueId),\r\n useRowActions(\r\n inlineEditingUniqueId,\r\n { onRowCreate, onRowEdit, onRowCopy, onRowDelete },\r\n actions,\r\n rowExpansionRenderer,\r\n texts,\r\n windowed\r\n )\r\n );\r\n\r\n useTablePaginationListener(disablePagination, onPaginate, state);\r\n useTableSortingListener(data, sortedRows, onSort, !!manualSorting, state);\r\n\r\n const sanitizedInstance = useTableInstance(instance, ref);\r\n\r\n const visibleRows = !disablePagination && !manualPagination ? page : rows;\r\n\r\n const [activeIndex, setActiveIndex, handleKeyDown, handleFocus] = useTableKeyboardNavigation<T>(\r\n props,\r\n visibleRows,\r\n { onRowClick, onRowCreate, onRowEdit, onRowCopy, onRowDelete, rowExpansionRenderer },\r\n ref\r\n );\r\n\r\n useTableRowActive(activeIndex, rows, rowExpansionRenderer, onRowActive);\r\n\r\n const prepareRow = React.useCallback(\r\n (row: any, index: number) => {\r\n prepareBaseRow(row);\r\n row.setActive = () => setActiveIndex(index);\r\n },\r\n [prepareBaseRow, setActiveIndex]\r\n );\r\n\r\n return {\r\n rowProps: {\r\n activeIndex,\r\n setActiveIndex,\r\n onRowClick,\r\n rowClassName,\r\n rowExpansionRenderer,\r\n rowHeight,\r\n inlineEditingUniqueId,\r\n },\r\n tableProps: {\r\n ...otherProps,\r\n headerGroups,\r\n onFocus: handleFocus,\r\n onKeyDown: handleKeyDown,\r\n tabIndex: otherProps.tabIndex ?? 0,\r\n },\r\n state,\r\n pagination: !disablePagination\r\n ? {\r\n length: manualPagination && length ? length : data.length,\r\n pageIndex: state.pageIndex,\r\n pageSize: state.pageSize,\r\n setPageIndex: gotoPage,\r\n setPageSize: setPageSize,\r\n }\r\n : null,\r\n rows: visibleRows,\r\n prepareRow,\r\n instance: sanitizedInstance,\r\n };\r\n};\r\n"],"names":["useTableRowActive","activeIndex","rows","rowExpansionRenderer","handleonRowActive","React","useEffect","undefined","length","focusedRow","sanitizedFocusedRow","sanitizeRowProps","useTableInstance","instance","ref","sanitizedInstance","useMemo","toggleAllRowsExpanded","toggleHideAllColumns","toggleHideColumn","toggleEditing","toggleRowEditing","resetRowEditing","toggleRowExpanded","toggleSortBy","current","useTablePaginationListener","disablePagination","onPaginate","state","pageIndex","pageSize","useTableSortingListener","data","sortedRows","onSort","manualSorting","sortRules","sortBy","map","rule","accessor","id","desc","sortedData","row","original","JSON","stringify","DEFAULT_PAGE_SIZE","useTable","props","children","dangerouslyHijackGlobalKeyboardNavigation","_1","onRowClick","onRowDrag","onSelectedRows","rowClassName","rowHeight","selectedRows","disableSorting","inlineEditingUniqueId","onRowCreate","actions","onRowEdit","onRowCopy","onRowDelete","onRowActive","windowed","otherProps","Error","texts","useLocalization","columns","defaultSortRules","getColumnsFromChildren","manualPagination","headerGroups","prepareRow","prepareBaseRow","page","gotoPage","setPageSize","useReactTable","initialState","getInternalSortRules","pageCount","Math","ceil","manualSortBy","disableSortBy","autoResetExpanded","autoResetSelectedRows","autoResetSortBy","autoResetPage","sortTypes","useControlledState","currentState","selectedRowIds","useRowState","useSortBy","useExpanded","usePagination","useRowSelect","useRowDraggable","useRowEditing","useRowActions","visibleRows","setActiveIndex","handleKeyDown","handleFocus","useTableKeyboardNavigation","useCallback","index","setActive","rowProps","tableProps","onFocus","onKeyDown","tabIndex","pagination","setPageIndex"],"mappings":"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"}
@@ -4,21 +4,18 @@ import { getNextIndexFromKeycode } from '../../../utils/hooks/useListKeyboardNav
4
4
  import { sanitizeRowProps } from '../util.js';
5
5
  import { useControllableState } from '@radix-ui/react-use-controllable-state';
6
6
 
7
- var useTableKeyboardNavigation = function useTableKeyboardNavigation(props, rows, rowProps, ref) {
8
- var useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;
9
-
10
- var _useControllableState = useControllableState({
7
+ const useTableKeyboardNavigation = (props, rows, rowProps, ref) => {
8
+ const useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;
9
+ const [activeIndex, setActiveIndex] = useControllableState({
11
10
  prop: props.activeIndex,
12
11
  defaultProp: props.defaultActiveIndex !== undefined ? props.defaultActiveIndex : useGlobalKeyboardNavigation ? 0 : undefined,
13
12
  onChange: props.onChangeActiveIndex
14
- }),
15
- activeIndex = _useControllableState[0],
16
- setActiveIndex = _useControllableState[1];
13
+ });
17
14
 
18
- var onKeyDown = function onKeyDown(event) {
15
+ const onKeyDown = event => {
19
16
  var _document$activeEleme;
20
17
 
21
- var isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;
18
+ const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;
22
19
 
23
20
  if (useGlobalKeyboardNavigation && document.activeElement !== ref.current && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.getAttribute('type')) !== 'search' && document.activeElement !== document.body) {
24
21
  return;
@@ -30,10 +27,10 @@ var useTableKeyboardNavigation = function useTableKeyboardNavigation(props, rows
30
27
  }
31
28
 
32
29
  if (activeIndex !== undefined) {
33
- var currentRow = rows[activeIndex];
30
+ const currentRow = rows[activeIndex];
34
31
 
35
32
  if (currentRow) {
36
- var sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);
33
+ const sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);
37
34
 
38
35
  if (rowProps.onRowClick && event.keyCode === keycode('enter')) {
39
36
  event.preventDefault();
@@ -101,7 +98,7 @@ var useTableKeyboardNavigation = function useTableKeyboardNavigation(props, rows
101
98
  }
102
99
  }
103
100
 
104
- var nextIndex = getNextIndexFromKeycode(event.keyCode, rows.length, activeIndex);
101
+ const nextIndex = getNextIndexFromKeycode(event.keyCode, rows.length, activeIndex);
105
102
 
106
103
  if (nextIndex !== undefined) {
107
104
  event.preventDefault();
@@ -109,25 +106,25 @@ var useTableKeyboardNavigation = function useTableKeyboardNavigation(props, rows
109
106
  }
110
107
  };
111
108
 
112
- var handleKeyDown = function handleKeyDown(event) {
109
+ const handleKeyDown = event => {
113
110
  if (!useGlobalKeyboardNavigation) {
114
111
  onKeyDown(event.nativeEvent);
115
112
  }
116
113
  };
117
114
 
118
- React__default.useEffect(function () {
115
+ React__default.useEffect(() => {
119
116
  if (useGlobalKeyboardNavigation) {
120
117
  window.addEventListener('keydown', onKeyDown);
121
118
  }
122
119
 
123
- return function () {
120
+ return () => {
124
121
  if (useGlobalKeyboardNavigation) {
125
122
  window.removeEventListener('keydown', onKeyDown);
126
123
  }
127
124
  };
128
125
  }, [onKeyDown]);
129
126
 
130
- var handleFocus = function handleFocus() {
127
+ const handleFocus = () => {
131
128
  if (activeIndex === undefined && rows.length) {
132
129
  setActiveIndex(0);
133
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTableKeyboardNavigation.js","sources":["../../../../../src/components/Table/hooks/useTableKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\nimport keycode from 'keycode';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { getNextIndexFromKeycode } from '../../../utils/hooks/useListKeyboardNavigation';\nimport { sanitizeRowProps } from '../util';\nimport { TableProps } from '../types';\n\nexport const useTableKeyboardNavigation = <T extends {}>(\n props: TableProps<T>,\n rows: any[],\n rowProps: any,\n ref: React.RefObject<HTMLDivElement>\n): [\n number | undefined,\n (index: number) => void,\n (event: React.KeyboardEvent<HTMLElement>) => void,\n (event: React.FocusEvent<HTMLElement>) => void\n] => {\n const useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;\n\n const [activeIndex, setActiveIndex] = useControllableState<number | undefined>({\n prop: props.activeIndex,\n defaultProp:\n props.defaultActiveIndex !== undefined ? props.defaultActiveIndex : useGlobalKeyboardNavigation ? 0 : undefined,\n onChange: props.onChangeActiveIndex,\n });\n\n const onKeyDown = (event: KeyboardEvent): void => {\n const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;\n\n if (\n useGlobalKeyboardNavigation &&\n document.activeElement !== ref.current &&\n document.activeElement?.getAttribute('type') !== 'search' &&\n document.activeElement !== document.body\n ) {\n return;\n }\n // abort key handling if other elements inside table are focused and we don't use global keyboard navigation\n if (!useGlobalKeyboardNavigation && document.activeElement !== ref.current) {\n return;\n }\n\n if (activeIndex !== undefined) {\n const currentRow = rows[activeIndex];\n\n if (currentRow) {\n const sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);\n\n if (rowProps.onRowClick && event.keyCode === keycode('enter')) {\n event.preventDefault();\n rowProps.onRowClick(sanitizedRow);\n return;\n }\n\n if (currentRow.toggleRowSelected && event.keyCode === keycode('space')) {\n event.preventDefault();\n currentRow.toggleRowSelected();\n return;\n }\n\n if (currentRow.toggleRowExpanded) {\n if (currentRow.isExpanded && event.keyCode === keycode('left')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n } else if (!currentRow.isExpanded && event.keyCode === keycode('right')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n }\n }\n\n // inline editing\n if (currentRow.toggleRowEditing) {\n if (currentRow.canEdit && !currentRow.isEditing) {\n if (rowProps.onRowCreate && event.shiftKey && event.keyCode === keycode('n')) {\n event.preventDefault();\n\n if (!currentRow.isExpanded) {\n currentRow.toggleRowExpanded();\n }\n\n rowProps.onRowCreate(sanitizedRow, event);\n return;\n }\n\n if (event.keyCode === keycode('e')) {\n event.preventDefault();\n currentRow.toggleRowEditing();\n return;\n }\n }\n }\n\n if (rowProps.onRowEdit && event.keyCode === keycode('e') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowEdit(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowCopy && event.keyCode === keycode('c') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowCopy(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowDelete && event.keyCode === keycode('delete') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowDelete(sanitizedRow, event);\n return;\n }\n }\n }\n\n const nextIndex = getNextIndexFromKeycode(event.keyCode, rows.length, activeIndex);\n\n if (nextIndex !== undefined) {\n event.preventDefault();\n setActiveIndex(nextIndex);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n if (!useGlobalKeyboardNavigation) {\n onKeyDown(event.nativeEvent);\n }\n };\n\n React.useEffect(() => {\n if (useGlobalKeyboardNavigation) {\n window.addEventListener('keydown', onKeyDown);\n }\n\n return () => {\n if (useGlobalKeyboardNavigation) {\n window.removeEventListener('keydown', onKeyDown);\n }\n };\n }, [onKeyDown]);\n\n const handleFocus = (): void => {\n if (activeIndex === undefined && rows.length) {\n setActiveIndex(0);\n }\n };\n\n return [activeIndex, setActiveIndex, handleKeyDown, handleFocus];\n};\n"],"names":["useTableKeyboardNavigation","props","rows","rowProps","ref","useGlobalKeyboardNavigation","dangerouslyHijackGlobalKeyboardNavigation","useControllableState","prop","activeIndex","defaultProp","defaultActiveIndex","undefined","onChange","onChangeActiveIndex","setActiveIndex","onKeyDown","event","isModifierKeyPressed","metaKey","ctrlKey","altKey","shiftKey","document","activeElement","current","getAttribute","body","currentRow","sanitizedRow","sanitizeRowProps","rowExpansionRenderer","onRowClick","keyCode","keycode","preventDefault","toggleRowSelected","toggleRowExpanded","isExpanded","toggleRowEditing","canEdit","isEditing","onRowCreate","onRowEdit","onRowCopy","onRowDelete","nextIndex","getNextIndexFromKeycode","length","handleKeyDown","nativeEvent","React","useEffect","window","addEventListener","removeEventListener","handleFocus"],"mappings":"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"}
1
+ {"version":3,"file":"useTableKeyboardNavigation.js","sources":["../../../../../src/components/Table/hooks/useTableKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\r\nimport keycode from 'keycode';\r\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\r\nimport { getNextIndexFromKeycode } from '../../../utils/hooks/useListKeyboardNavigation';\r\nimport { sanitizeRowProps } from '../util';\r\nimport { TableProps } from '../types';\r\n\r\nexport const useTableKeyboardNavigation = <T extends {}>(\r\n props: TableProps<T>,\r\n rows: any[],\r\n rowProps: any,\r\n ref: React.RefObject<HTMLDivElement>\r\n): [\r\n number | undefined,\r\n (index: number) => void,\r\n (event: React.KeyboardEvent<HTMLElement>) => void,\r\n (event: React.FocusEvent<HTMLElement>) => void\r\n] => {\r\n const useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;\r\n\r\n const [activeIndex, setActiveIndex] = useControllableState<number | undefined>({\r\n prop: props.activeIndex,\r\n defaultProp:\r\n props.defaultActiveIndex !== undefined ? props.defaultActiveIndex : useGlobalKeyboardNavigation ? 0 : undefined,\r\n onChange: props.onChangeActiveIndex,\r\n });\r\n\r\n const onKeyDown = (event: KeyboardEvent): void => {\r\n const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;\r\n\r\n if (\r\n useGlobalKeyboardNavigation &&\r\n document.activeElement !== ref.current &&\r\n document.activeElement?.getAttribute('type') !== 'search' &&\r\n document.activeElement !== document.body\r\n ) {\r\n return;\r\n }\r\n // abort key handling if other elements inside table are focused and we don't use global keyboard navigation\r\n if (!useGlobalKeyboardNavigation && document.activeElement !== ref.current) {\r\n return;\r\n }\r\n\r\n if (activeIndex !== undefined) {\r\n const currentRow = rows[activeIndex];\r\n\r\n if (currentRow) {\r\n const sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);\r\n\r\n if (rowProps.onRowClick && event.keyCode === keycode('enter')) {\r\n event.preventDefault();\r\n rowProps.onRowClick(sanitizedRow);\r\n return;\r\n }\r\n\r\n if (currentRow.toggleRowSelected && event.keyCode === keycode('space')) {\r\n event.preventDefault();\r\n currentRow.toggleRowSelected();\r\n return;\r\n }\r\n\r\n if (currentRow.toggleRowExpanded) {\r\n if (currentRow.isExpanded && event.keyCode === keycode('left')) {\r\n event.preventDefault();\r\n currentRow.toggleRowExpanded();\r\n return;\r\n } else if (!currentRow.isExpanded && event.keyCode === keycode('right')) {\r\n event.preventDefault();\r\n currentRow.toggleRowExpanded();\r\n return;\r\n }\r\n }\r\n\r\n // inline editing\r\n if (currentRow.toggleRowEditing) {\r\n if (currentRow.canEdit && !currentRow.isEditing) {\r\n if (rowProps.onRowCreate && event.shiftKey && event.keyCode === keycode('n')) {\r\n event.preventDefault();\r\n\r\n if (!currentRow.isExpanded) {\r\n currentRow.toggleRowExpanded();\r\n }\r\n\r\n rowProps.onRowCreate(sanitizedRow, event);\r\n return;\r\n }\r\n\r\n if (event.keyCode === keycode('e')) {\r\n event.preventDefault();\r\n currentRow.toggleRowEditing();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (rowProps.onRowEdit && event.keyCode === keycode('e') && !isModifierKeyPressed) {\r\n event.preventDefault();\r\n rowProps.onRowEdit(sanitizedRow, event);\r\n return;\r\n }\r\n\r\n if (rowProps.onRowCopy && event.keyCode === keycode('c') && !isModifierKeyPressed) {\r\n event.preventDefault();\r\n rowProps.onRowCopy(sanitizedRow, event);\r\n return;\r\n }\r\n\r\n if (rowProps.onRowDelete && event.keyCode === keycode('delete') && !isModifierKeyPressed) {\r\n event.preventDefault();\r\n rowProps.onRowDelete(sanitizedRow, event);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n const nextIndex = getNextIndexFromKeycode(event.keyCode, rows.length, activeIndex);\r\n\r\n if (nextIndex !== undefined) {\r\n event.preventDefault();\r\n setActiveIndex(nextIndex);\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\r\n if (!useGlobalKeyboardNavigation) {\r\n onKeyDown(event.nativeEvent);\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n if (useGlobalKeyboardNavigation) {\r\n window.addEventListener('keydown', onKeyDown);\r\n }\r\n\r\n return () => {\r\n if (useGlobalKeyboardNavigation) {\r\n window.removeEventListener('keydown', onKeyDown);\r\n }\r\n };\r\n }, [onKeyDown]);\r\n\r\n const handleFocus = (): void => {\r\n if (activeIndex === undefined && rows.length) {\r\n setActiveIndex(0);\r\n }\r\n };\r\n\r\n return [activeIndex, setActiveIndex, handleKeyDown, handleFocus];\r\n};\r\n"],"names":["useTableKeyboardNavigation","props","rows","rowProps","ref","useGlobalKeyboardNavigation","dangerouslyHijackGlobalKeyboardNavigation","activeIndex","setActiveIndex","useControllableState","prop","defaultProp","defaultActiveIndex","undefined","onChange","onChangeActiveIndex","onKeyDown","event","isModifierKeyPressed","metaKey","ctrlKey","altKey","shiftKey","document","activeElement","current","getAttribute","body","currentRow","sanitizedRow","sanitizeRowProps","rowExpansionRenderer","onRowClick","keyCode","keycode","preventDefault","toggleRowSelected","toggleRowExpanded","isExpanded","toggleRowEditing","canEdit","isEditing","onRowCreate","onRowEdit","onRowCopy","onRowDelete","nextIndex","getNextIndexFromKeycode","length","handleKeyDown","nativeEvent","React","useEffect","window","addEventListener","removeEventListener","handleFocus"],"mappings":"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"}