@economic/taco 0.0.10-alpha.0 → 0.0.13-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 (387) hide show
  1. package/README.md +84 -84
  2. package/dist/components/IconButton/IconButton.d.ts +10 -14
  3. package/dist/components/Menu/Menu.d.ts +1 -0
  4. package/dist/components/Menu/components/Item.d.ts +3 -0
  5. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  6. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  7. package/dist/esm/components/Badge/Badge.js.map +1 -1
  8. package/dist/esm/components/Banner/Banner.js +1 -1
  9. package/dist/esm/components/Banner/Banner.js.map +1 -1
  10. package/dist/esm/components/Banner/util.js +1 -1
  11. package/dist/esm/components/Banner/util.js.map +1 -1
  12. package/dist/esm/components/Button/Button.js.map +1 -1
  13. package/dist/esm/components/Button/util.js +57 -36
  14. package/dist/esm/components/Button/util.js.map +1 -1
  15. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  16. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  17. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  18. package/dist/esm/components/Combobox/useCombobox.js +64 -84
  19. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  20. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  21. package/dist/esm/components/Datepicker/useDatepicker.js +35 -33
  22. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  23. package/dist/esm/components/Dialog/Context.js +3 -3
  24. package/dist/esm/components/Dialog/Context.js.map +1 -1
  25. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  26. package/dist/esm/components/Dialog/components/Content.js +39 -44
  27. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  28. package/dist/esm/components/Dialog/components/Drawer.js +3 -3
  29. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  30. package/dist/esm/components/Dialog/components/Extra.js +2 -2
  31. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  32. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  33. package/dist/esm/components/Dialog/components/Trigger.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/Icon/Icon.js.map +1 -1
  38. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  39. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  40. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  41. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  42. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  43. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  44. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  45. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  46. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  47. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  48. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  49. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  50. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  51. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  52. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  53. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  54. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  55. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  56. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  57. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  58. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  59. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  60. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  61. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  62. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  63. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  64. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  65. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  66. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  67. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  72. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  73. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  74. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  75. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  76. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  77. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  78. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  79. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  80. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  81. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  82. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  83. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  84. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  85. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  86. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  87. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  88. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  89. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  90. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  91. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  92. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  93. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  94. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  95. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  96. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  97. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  98. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  100. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  101. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  102. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  103. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  104. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  105. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  106. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  107. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  108. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  109. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  110. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  111. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  112. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  113. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  114. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  115. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  116. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  117. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  118. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  119. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  120. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  121. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  122. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  123. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  124. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  125. package/dist/esm/components/Icon/components/ExportToExcelCopy.js.map +1 -1
  126. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  127. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  128. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  129. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  130. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  131. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  132. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  133. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  134. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  135. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  136. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  137. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  138. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  139. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  140. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  141. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  142. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  143. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  144. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  145. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  146. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  147. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  148. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  149. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  150. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  151. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  152. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  153. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  154. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  155. package/dist/esm/components/Icon/components/List.js.map +1 -1
  156. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  157. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  158. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  159. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  160. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  161. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  162. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  163. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  164. package/dist/esm/components/Icon/components/Minus.js.map +1 -1
  165. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  166. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  167. package/dist/esm/components/Icon/components/More.js.map +1 -1
  168. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  169. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  170. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  171. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  172. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  173. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  174. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  175. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  176. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  177. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  178. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  179. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  180. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  181. package/dist/esm/components/Icon/components/PlusCircle.js.map +1 -1
  182. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  183. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  184. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  185. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  186. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  187. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  188. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  189. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  190. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  191. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  192. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  193. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  194. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  195. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  196. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  197. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  198. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  199. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  200. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  201. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  202. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  203. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  204. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  205. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  206. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  207. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  208. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  209. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  210. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  211. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  212. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  213. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  214. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  215. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  216. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  217. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  218. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  219. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  220. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  221. package/dist/esm/components/Icon/components/Thumb.js.map +1 -1
  222. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  223. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  224. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  225. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  226. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  227. package/dist/esm/components/Icon/components/TickCircle.js.map +1 -1
  228. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  229. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  230. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  231. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  232. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  233. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  234. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  235. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  236. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  237. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  238. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  239. package/dist/esm/components/Icon/components/index.js +4 -4
  240. package/dist/esm/components/Icon/components/index.js.map +1 -1
  241. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  242. package/dist/esm/components/Input/Input.js.map +1 -1
  243. package/dist/esm/components/Input/util.js +9 -8
  244. package/dist/esm/components/Input/util.js.map +1 -1
  245. package/dist/esm/components/Label/Label.js.map +1 -1
  246. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  247. package/dist/esm/components/Listbox/ScrollableList.js +63 -82
  248. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  249. package/dist/esm/components/Listbox/useListbox.js +49 -58
  250. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  251. package/dist/esm/components/Listbox/useMultiListbox.js +63 -91
  252. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  253. package/dist/esm/components/Listbox/useTypeahead.js +10 -9
  254. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  255. package/dist/esm/components/Listbox/util.js +48 -84
  256. package/dist/esm/components/Listbox/util.js.map +1 -1
  257. package/dist/esm/components/Menu/Context.js +2 -2
  258. package/dist/esm/components/Menu/Context.js.map +1 -1
  259. package/dist/esm/components/Menu/Menu.js.map +1 -1
  260. package/dist/esm/components/Menu/components/Checkbox.js +8 -9
  261. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  262. package/dist/esm/components/Menu/components/Content.js +10 -13
  263. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  264. package/dist/esm/components/Menu/components/Header.js +4 -4
  265. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  266. package/dist/esm/components/Menu/components/Item.js +59 -43
  267. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  268. package/dist/esm/components/Menu/components/Link.js +7 -8
  269. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  270. package/dist/esm/components/Menu/components/RadioGroup.js +16 -18
  271. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  272. package/dist/esm/components/Menu/components/Separator.js +4 -4
  273. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  274. package/dist/esm/components/Menu/components/Trigger.js +5 -5
  275. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  276. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  277. package/dist/esm/components/Pagination/PageNumbers.js +23 -28
  278. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  279. package/dist/esm/components/Pagination/Pagination.js +39 -56
  280. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  281. package/dist/esm/components/Pagination/usePagination.js +7 -21
  282. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  283. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  284. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  285. package/dist/esm/components/Popover/Popover.js +29 -34
  286. package/dist/esm/components/Popover/Popover.js.map +1 -1
  287. package/dist/esm/components/Popover/Primitives.js +27 -30
  288. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  289. package/dist/esm/components/Progress/Progress.js +11 -15
  290. package/dist/esm/components/Progress/Progress.js.map +1 -1
  291. package/dist/esm/components/Provider/Provider.js +14 -19
  292. package/dist/esm/components/Provider/Provider.js.map +1 -1
  293. package/dist/esm/components/RadioGroup/RadioGroup.js +45 -57
  294. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  295. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  296. package/dist/esm/components/Select/Select.js +30 -31
  297. package/dist/esm/components/Select/Select.js.map +1 -1
  298. package/dist/esm/components/Select/useSelect.js +63 -82
  299. package/dist/esm/components/Select/useSelect.js.map +1 -1
  300. package/dist/esm/components/Spinner/Spinner.js +12 -19
  301. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  302. package/dist/esm/components/Switch/Switch.js +9 -10
  303. package/dist/esm/components/Switch/Switch.js.map +1 -1
  304. package/dist/esm/components/Table/components/BaseTable.js +23 -30
  305. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  306. package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
  307. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  308. package/dist/esm/components/Table/components/Table.js +18 -25
  309. package/dist/esm/components/Table/components/Table.js.map +1 -1
  310. package/dist/esm/components/Table/components/WindowedTable.js +88 -104
  311. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  312. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +122 -146
  313. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  314. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
  315. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  316. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
  317. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  318. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +80 -90
  319. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  320. package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
  321. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  322. package/dist/esm/components/Table/hooks/useTable.js +119 -141
  323. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  324. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +12 -15
  325. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  326. package/dist/esm/components/Table/util/renderColumn.js +10 -10
  327. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  328. package/dist/esm/components/Table/util/renderRow.js +37 -46
  329. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  330. package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
  331. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  332. package/dist/esm/components/Table/util/sortTypes.js +23 -31
  333. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  334. package/dist/esm/components/Table/util.js +29 -41
  335. package/dist/esm/components/Table/util.js.map +1 -1
  336. package/dist/esm/components/Tabs/Tabs.js +25 -27
  337. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  338. package/dist/esm/components/Textarea/Textarea.js +8 -6
  339. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  340. package/dist/esm/components/Toast/Toast.js +20 -21
  341. package/dist/esm/components/Toast/Toast.js.map +1 -1
  342. package/dist/esm/components/Toast/Toaster.js +88 -118
  343. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  344. package/dist/esm/components/Toast/util.js +2 -2
  345. package/dist/esm/components/Toast/util.js.map +1 -1
  346. package/dist/esm/components/Tooltip/Tooltip.js +7 -8
  347. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  348. package/dist/esm/components/Tour/Tour.js +44 -50
  349. package/dist/esm/components/Tour/Tour.js.map +1 -1
  350. package/dist/esm/components/Treeview/Treeview.js +26 -36
  351. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  352. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  353. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  354. package/dist/esm/index.css +638 -638
  355. package/dist/esm/index.js +1 -1
  356. package/dist/esm/primitives/Button.js +9 -13
  357. package/dist/esm/primitives/Button.js.map +1 -1
  358. package/dist/esm/utils/date.js.map +1 -1
  359. package/dist/esm/utils/hooks/useBoundingClientRectListener.js +12 -20
  360. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  361. package/dist/esm/utils/hooks/useDraggable.js +16 -18
  362. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  363. package/dist/esm/utils/hooks/useDropTarget.js +7 -10
  364. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  365. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  366. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  367. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  368. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  369. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  370. package/dist/esm/utils/hooks/useTimer.js +9 -17
  371. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  372. package/dist/esm/utils/input.js +7 -11
  373. package/dist/esm/utils/input.js.map +1 -1
  374. package/dist/esm/utils/mergeRefs.js +2 -2
  375. package/dist/esm/utils/mergeRefs.js.map +1 -1
  376. package/dist/esm/utils/taillwind.js +2 -2
  377. package/dist/esm/utils/taillwind.js.map +1 -1
  378. package/dist/index.css +638 -638
  379. package/dist/taco.cjs.development.js +1944 -2316
  380. package/dist/taco.cjs.development.js.map +1 -1
  381. package/dist/taco.cjs.production.min.js +1 -1
  382. package/dist/taco.cjs.production.min.js.map +1 -1
  383. package/dist/utils/tailwind.d.ts +1 -1
  384. package/package.json +2 -2
  385. package/plugins/tailwindcss-aria-attributes.js +73 -73
  386. package/tailwind.config.js +297 -297
  387. package/types.json +550 -454
@@ -1,4 +1,3 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import cn from 'classnames';
4
3
  import { useLocalization } from '../../Provider/Provider.js';
@@ -10,28 +9,30 @@ import { BaseTable, DefaultEmptyState } from './BaseTable.js';
10
9
  import { VariableSizeList, areEqual } from 'react-window';
11
10
  import InfiniteLoader from 'react-window-infinite-loader';
12
11
 
13
- var _excluded = ["height"],
14
- _excluded2 = ["emptyStateRenderer", "length", "loadMore"];
15
- var ROW_HEIGHT = 40;
16
- var VariableRow = /*#__PURE__*/React__default.memo(function (_ref) {
17
- var data = _ref.data,
18
- index = _ref.index,
19
- _ref$style = _ref.style,
20
- style = _objectWithoutPropertiesLoose(_ref$style, _excluded);
21
-
22
- var _useLocalization = useLocalization(),
23
- texts = _useLocalization.texts;
24
-
25
- var rows = data.rows,
26
- setRowHeight = data.setRowHeight,
27
- rowProps = data.rowProps,
28
- tableProps = data.tableProps,
29
- instance = data.instance,
30
- prepareRow = data.prepareRow,
31
- rowHeights = data.rowHeights;
32
- var row = rows[index];
33
- var ref = React__default.useRef(null);
34
- React__default.useEffect(function () {
12
+ const ROW_HEIGHT = 40;
13
+ const VariableRow = /*#__PURE__*/React__default.memo(({
14
+ data,
15
+ index,
16
+ style: {
17
+ height: _,
18
+ ...style
19
+ }
20
+ }) => {
21
+ const {
22
+ texts
23
+ } = useLocalization();
24
+ const {
25
+ rows,
26
+ setRowHeight,
27
+ rowProps,
28
+ tableProps,
29
+ instance,
30
+ prepareRow,
31
+ rowHeights
32
+ } = data;
33
+ const row = rows[index];
34
+ const ref = React__default.useRef(null);
35
+ React__default.useEffect(() => {
35
36
  if (ref !== null && ref !== void 0 && ref.current) {
36
37
  setRowHeight(index, ref.current.getBoundingClientRect().height);
37
38
  }
@@ -60,121 +61,108 @@ var VariableRow = /*#__PURE__*/React__default.memo(function (_ref) {
60
61
  }, texts.table.loading));
61
62
  }, areEqual);
62
63
 
63
- var getAverageRowHeight = function getAverageRowHeight(rowHeights) {
64
- if (rowHeights === void 0) {
65
- rowHeights = {};
66
- }
67
-
68
- var keys = Object.keys(rowHeights);
69
- var estimatedHeight = keys.reduce(function (p, i) {
70
- return p + rowHeights[i];
71
- }, 0);
64
+ const getAverageRowHeight = (rowHeights = {}) => {
65
+ const keys = Object.keys(rowHeights);
66
+ const estimatedHeight = keys.reduce((p, i) => p + rowHeights[i], 0);
72
67
  return estimatedHeight / keys.length;
73
68
  };
74
69
 
75
- var WindowedTable = /*#__PURE__*/React__default.forwardRef(function WindowedTable(props, ref) {
76
- var tableRef = useProxiedRef(ref);
70
+ const WindowedTable = /*#__PURE__*/React__default.forwardRef(function WindowedTable(props, ref) {
71
+ const tableRef = useProxiedRef(ref);
72
+ const {
73
+ emptyStateRenderer = DefaultEmptyState,
74
+ length,
75
+ loadMore,
76
+ ...otherProps
77
+ } = props;
78
+ const {
79
+ rowProps,
80
+ tableProps,
81
+ rows,
82
+ prepareRow,
83
+ instance,
84
+ state
85
+ } = useTable({ ...otherProps,
86
+ windowed: true
87
+ }, tableRef); // determine heights for windowing calculations
77
88
 
78
- var _props$emptyStateRend = props.emptyStateRenderer,
79
- emptyStateRenderer = _props$emptyStateRend === void 0 ? DefaultEmptyState : _props$emptyStateRend,
80
- length = props.length,
81
- loadMore = props.loadMore,
82
- otherProps = _objectWithoutPropertiesLoose(props, _excluded2);
89
+ const headerRef = React__default.useRef(null);
90
+ const rowsRef = React__default.useRef(null);
91
+ const tableDimensions = useBoundingClientRectListener(tableRef);
92
+ const headerDimensions = useBoundingClientRectListener(headerRef);
93
+ const height = tableDimensions && headerDimensions ? tableDimensions.height - headerDimensions.height : null; // variable row height calculations
83
94
 
84
- var _useTable = useTable(_extends({}, otherProps, {
85
- windowed: true
86
- }), tableRef),
87
- rowProps = _useTable.rowProps,
88
- tableProps = _useTable.tableProps,
89
- rows = _useTable.rows,
90
- prepareRow = _useTable.prepareRow,
91
- instance = _useTable.instance,
92
- state = _useTable.state; // determine heights for windowing calculations
93
-
94
-
95
- var headerRef = React__default.useRef(null);
96
- var rowsRef = React__default.useRef(null);
97
- var tableDimensions = useBoundingClientRectListener(tableRef);
98
- var headerDimensions = useBoundingClientRectListener(headerRef);
99
- var height = tableDimensions && headerDimensions ? tableDimensions.height - headerDimensions.height : null; // variable row height calculations
100
-
101
- var estimatedRowHeight = rowProps.rowHeight || ROW_HEIGHT;
102
- var rowHeights = React__default.useRef({});
103
- var setRowHeight = React__default.useCallback(function (index, size) {
95
+ const estimatedRowHeight = rowProps.rowHeight || ROW_HEIGHT;
96
+ const rowHeights = React__default.useRef({});
97
+ const setRowHeight = React__default.useCallback((index, size) => {
104
98
  if (rowHeights.current[index] !== size) {
105
- var _extends2;
106
-
107
- rowHeights.current = _extends({}, rowHeights.current, (_extends2 = {}, _extends2[index] = size, _extends2));
99
+ rowHeights.current = { ...rowHeights.current,
100
+ [index]: size
101
+ };
108
102
 
109
103
  if (rowsRef.current) {
110
104
  rowsRef.current.resetAfterIndex(0);
111
105
  }
112
106
  }
113
107
  }, []);
114
- var getRowHeight = React__default.useCallback(function (index) {
115
- return rowHeights.current[index] || estimatedRowHeight;
116
- }, []);
117
- React__default.useEffect(function () {
108
+ const getRowHeight = React__default.useCallback(index => rowHeights.current[index] || estimatedRowHeight, []);
109
+ React__default.useEffect(() => {
118
110
  if (rowsRef && rowsRef.current && rowProps.activeIndex !== undefined) {
119
111
  rowsRef.current.scrollToItem(rowProps.activeIndex);
120
112
  }
121
113
  }, [rowProps.activeIndex]); // trigger recalculation of variable row heights if the data changes
122
114
 
123
- React__default.useEffect(function () {
115
+ React__default.useEffect(() => {
124
116
  rowHeights.current = {};
125
117
 
126
118
  if (rowsRef.current) {
127
119
  rowsRef.current.resetAfterIndex(0);
128
120
  }
129
121
  }, [rows.length]);
130
- var contentHeight = estimatedRowHeight * props.data.length || 0;
131
- var isScrollbarVisible = height !== null ? contentHeight > height : false;
132
- var className = cn(tableProps.className, 'yt-table--windowed', {
122
+ const contentHeight = estimatedRowHeight * props.data.length || 0;
123
+ const isScrollbarVisible = height !== null ? contentHeight > height : false;
124
+ const className = cn(tableProps.className, 'yt-table--windowed', {
133
125
  'table-with-scrollbar': isScrollbarVisible
134
126
  });
135
- var list;
136
- var itemData = {
137
- rows: rows,
138
- setRowHeight: setRowHeight,
139
- rowProps: rowProps,
140
- tableProps: tableProps,
141
- instance: instance,
142
- prepareRow: prepareRow,
143
- state: state,
127
+ let list;
128
+ const itemData = {
129
+ rows,
130
+ setRowHeight,
131
+ rowProps,
132
+ tableProps,
133
+ instance,
134
+ prepareRow,
135
+ state,
144
136
  rowHeights: rowHeights.current
145
137
  };
146
138
 
147
139
  if (height && rows.length) {
148
- var listProps = {
149
- height: height,
150
- itemData: itemData,
140
+ const listProps = {
141
+ height,
142
+ itemData,
151
143
  estimatedItemSize: getAverageRowHeight(rowHeights.current),
152
144
  itemSize: getRowHeight,
153
145
  width: '100%'
154
146
  };
155
147
 
156
148
  if (loadMore && length) {
157
- var isLoaded = function isLoaded(index) {
158
- return !!rows[index];
159
- };
149
+ const isLoaded = index => !!rows[index];
160
150
 
161
151
  list = React__default.createElement(InfiniteLoader, {
162
152
  isItemLoaded: isLoaded,
163
153
  itemCount: length,
164
154
  loadMoreItems: loadMore
165
- }, function (_ref2) {
166
- var onItemsRendered = _ref2.onItemsRendered,
167
- _ref3 = _ref2.ref;
168
- return React__default.createElement(VariableSizeList, Object.assign({}, listProps, {
169
- itemCount: length,
170
- onItemsRendered: onItemsRendered,
171
- ref: function ref(list) {
172
- _ref3(list);
173
-
174
- rowsRef.current = list;
175
- }
176
- }), VariableRow);
177
- });
155
+ }, ({
156
+ onItemsRendered,
157
+ ref
158
+ }) => React__default.createElement(VariableSizeList, Object.assign({}, listProps, {
159
+ itemCount: length,
160
+ onItemsRendered: onItemsRendered,
161
+ ref: list => {
162
+ ref(list);
163
+ rowsRef.current = list;
164
+ }
165
+ }), VariableRow));
178
166
  } else {
179
167
  list = React__default.createElement(VariableSizeList, Object.assign({}, listProps, {
180
168
  itemCount: rows.length,
@@ -190,13 +178,9 @@ var WindowedTable = /*#__PURE__*/React__default.forwardRef(function WindowedTabl
190
178
  }), list ? list : emptyStateRenderer());
191
179
  });
192
180
 
193
- WindowedTable.Column = function () {
194
- return null;
195
- };
181
+ WindowedTable.Column = () => null;
196
182
 
197
- WindowedTable.Group = function () {
198
- return null;
199
- };
183
+ WindowedTable.Group = () => null;
200
184
 
201
185
  export { WindowedTable };
202
186
  //# sourceMappingURL=WindowedTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindowedTable.js","sources":["../../../../../src/components/Table/components/WindowedTable.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { PluginHook } from 'react-table';\nimport { areEqual, VariableSizeList } from 'react-window';\nimport InfiniteLoader from 'react-window-infinite-loader';\nimport { TableProps, ForwardedGenericTableWithStatics, TableRef } from '../types';\nimport { useTable } from '../hooks/useTable';\nimport { useBoundingClientRectListener } from '../../../utils/hooks/useBoundingClientRectListener';\nimport { useProxiedRef } from '../../../utils/hooks/useProxiedRef';\nimport { Row } from '../util/renderRow';\nimport { DefaultEmptyState, BaseTable } from './BaseTable';\nimport { useLocalization } from '../../Provider/Provider';\n\nconst ROW_HEIGHT = 40;\n\nconst VariableRow = React.memo(({ data, index, style: { height: _, ...style } }: any) => {\n const { texts } = useLocalization();\n const { rows, setRowHeight, rowProps, tableProps, instance, prepareRow, rowHeights } = data;\n const row = rows[index];\n const ref = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (ref?.current) {\n setRowHeight(index, ref.current.getBoundingClientRect().height);\n }\n }, [rowHeights[index]]);\n\n if (row) {\n prepareRow(row, index);\n\n return (\n <Row\n {...rowProps}\n style={style}\n key={index}\n index={index}\n row={row}\n instance={instance}\n headerGroups={tableProps.headerGroups}\n setRowHeight={setRowHeight}\n ref={ref}\n />\n );\n }\n\n return (\n <div className=\"yt-table__row\" role=\"row\" style={style}>\n <div className=\"yt-table__cell text-grey-dark\">{texts.table.loading}</div>\n </div>\n );\n}, areEqual);\n\nconst getAverageRowHeight = (rowHeights = {}) => {\n const keys = Object.keys(rowHeights);\n const estimatedHeight = keys.reduce((p, i) => p + rowHeights[i], 0);\n return estimatedHeight / keys.length;\n};\n\nexport const WindowedTable = React.forwardRef(function WindowedTable<T>(\n props: TableProps<T> & { plugins: PluginHook<{}>[] },\n ref: React.Ref<TableRef>\n) {\n const tableRef: any = useProxiedRef<HTMLDivElement>(ref);\n const { emptyStateRenderer = DefaultEmptyState, length, loadMore, ...otherProps } = props;\n const { rowProps, tableProps, rows, prepareRow, instance, state } = useTable<T>({ ...otherProps, windowed: true }, tableRef);\n\n // determine heights for windowing calculations\n const headerRef = React.useRef<HTMLDivElement>(null);\n const rowsRef = React.useRef<any>(null);\n const tableDimensions = useBoundingClientRectListener(tableRef);\n const headerDimensions = useBoundingClientRectListener(headerRef);\n const height = tableDimensions && headerDimensions ? tableDimensions.height - headerDimensions.height : null;\n\n // variable row height calculations\n const estimatedRowHeight = rowProps.rowHeight || ROW_HEIGHT;\n const rowHeights = React.useRef<Record<string, number>>({});\n const setRowHeight = React.useCallback((index: number, size: number) => {\n if (rowHeights.current[index] !== size) {\n rowHeights.current = {\n ...rowHeights.current,\n [index]: size,\n };\n\n if (rowsRef.current) {\n rowsRef.current.resetAfterIndex(0);\n }\n }\n }, []);\n const getRowHeight = React.useCallback(index => rowHeights.current[index] || estimatedRowHeight, []);\n\n React.useEffect(() => {\n if (rowsRef && rowsRef.current && rowProps.activeIndex !== undefined) {\n rowsRef.current.scrollToItem(rowProps.activeIndex);\n }\n }, [rowProps.activeIndex]);\n\n // trigger recalculation of variable row heights if the data changes\n React.useEffect(() => {\n rowHeights.current = {};\n\n if (rowsRef.current) {\n rowsRef.current.resetAfterIndex(0);\n }\n }, [rows.length]);\n\n const contentHeight = estimatedRowHeight * props.data.length || 0;\n const isScrollbarVisible = height !== null ? contentHeight > height : false;\n\n const className = cn(tableProps.className, 'yt-table--windowed', { 'table-with-scrollbar': isScrollbarVisible });\n\n let list;\n\n const itemData = {\n rows,\n setRowHeight,\n rowProps,\n tableProps,\n instance,\n prepareRow,\n state,\n rowHeights: rowHeights.current,\n };\n\n if (height && rows.length) {\n const listProps = {\n height,\n itemData,\n estimatedItemSize: getAverageRowHeight(rowHeights.current),\n itemSize: getRowHeight,\n width: '100%',\n };\n\n if (loadMore && length) {\n const isLoaded = (index: number) => !!rows[index];\n\n list = (\n <InfiniteLoader isItemLoaded={isLoaded} itemCount={length} loadMoreItems={loadMore as any}>\n {({ onItemsRendered, ref }: any) => (\n <VariableSizeList\n {...listProps}\n itemCount={length}\n onItemsRendered={onItemsRendered}\n ref={list => {\n ref(list);\n rowsRef.current = list;\n }}\n >\n {VariableRow}\n </VariableSizeList>\n )}\n </InfiniteLoader>\n );\n } else {\n list = (\n <VariableSizeList {...listProps} itemCount={rows.length} ref={rowsRef}>\n {VariableRow}\n </VariableSizeList>\n );\n }\n }\n\n return (\n <BaseTable {...tableProps} className={className} headerRef={headerRef} ref={tableRef}>\n {list ? list : emptyStateRenderer()}\n </BaseTable>\n );\n}) as ForwardedGenericTableWithStatics;\n\nWindowedTable.Column = () => null;\nWindowedTable.Group = () => null;\n"],"names":["ROW_HEIGHT","VariableRow","React","memo","data","index","style","useLocalization","texts","rows","setRowHeight","rowProps","tableProps","instance","prepareRow","rowHeights","row","ref","useRef","useEffect","current","getBoundingClientRect","height","Row","key","headerGroups","className","role","table","loading","areEqual","getAverageRowHeight","keys","Object","estimatedHeight","reduce","p","i","length","WindowedTable","forwardRef","props","tableRef","useProxiedRef","emptyStateRenderer","DefaultEmptyState","loadMore","otherProps","useTable","windowed","state","headerRef","rowsRef","tableDimensions","useBoundingClientRectListener","headerDimensions","estimatedRowHeight","rowHeight","useCallback","size","resetAfterIndex","getRowHeight","activeIndex","undefined","scrollToItem","contentHeight","isScrollbarVisible","cn","list","itemData","listProps","estimatedItemSize","itemSize","width","isLoaded","InfiniteLoader","isItemLoaded","itemCount","loadMoreItems","onItemsRendered","VariableSizeList","BaseTable","Column","Group"],"mappings":"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"}
1
+ {"version":3,"file":"WindowedTable.js","sources":["../../../../../src/components/Table/components/WindowedTable.tsx"],"sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\nimport { PluginHook } from 'react-table';\r\nimport { areEqual, VariableSizeList } from 'react-window';\r\nimport InfiniteLoader from 'react-window-infinite-loader';\r\nimport { TableProps, ForwardedGenericTableWithStatics, TableRef } from '../types';\r\nimport { useTable } from '../hooks/useTable';\r\nimport { useBoundingClientRectListener } from '../../../utils/hooks/useBoundingClientRectListener';\r\nimport { useProxiedRef } from '../../../utils/hooks/useProxiedRef';\r\nimport { Row } from '../util/renderRow';\r\nimport { DefaultEmptyState, BaseTable } from './BaseTable';\r\nimport { useLocalization } from '../../Provider/Provider';\r\n\r\nconst ROW_HEIGHT = 40;\r\n\r\nconst VariableRow = React.memo(({ data, index, style: { height: _, ...style } }: any) => {\r\n const { texts } = useLocalization();\r\n const { rows, setRowHeight, rowProps, tableProps, instance, prepareRow, rowHeights } = data;\r\n const row = rows[index];\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (ref?.current) {\r\n setRowHeight(index, ref.current.getBoundingClientRect().height);\r\n }\r\n }, [rowHeights[index]]);\r\n\r\n if (row) {\r\n prepareRow(row, index);\r\n\r\n return (\r\n <Row\r\n {...rowProps}\r\n style={style}\r\n key={index}\r\n index={index}\r\n row={row}\r\n instance={instance}\r\n headerGroups={tableProps.headerGroups}\r\n setRowHeight={setRowHeight}\r\n ref={ref}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"yt-table__row\" role=\"row\" style={style}>\r\n <div className=\"yt-table__cell text-grey-dark\">{texts.table.loading}</div>\r\n </div>\r\n );\r\n}, areEqual);\r\n\r\nconst getAverageRowHeight = (rowHeights = {}) => {\r\n const keys = Object.keys(rowHeights);\r\n const estimatedHeight = keys.reduce((p, i) => p + rowHeights[i], 0);\r\n return estimatedHeight / keys.length;\r\n};\r\n\r\nexport const WindowedTable = React.forwardRef(function WindowedTable<T>(\r\n props: TableProps<T> & { plugins: PluginHook<{}>[] },\r\n ref: React.Ref<TableRef>\r\n) {\r\n const tableRef: any = useProxiedRef<HTMLDivElement>(ref);\r\n const { emptyStateRenderer = DefaultEmptyState, length, loadMore, ...otherProps } = props;\r\n const { rowProps, tableProps, rows, prepareRow, instance, state } = useTable<T>({ ...otherProps, windowed: true }, tableRef);\r\n\r\n // determine heights for windowing calculations\r\n const headerRef = React.useRef<HTMLDivElement>(null);\r\n const rowsRef = React.useRef<any>(null);\r\n const tableDimensions = useBoundingClientRectListener(tableRef);\r\n const headerDimensions = useBoundingClientRectListener(headerRef);\r\n const height = tableDimensions && headerDimensions ? tableDimensions.height - headerDimensions.height : null;\r\n\r\n // variable row height calculations\r\n const estimatedRowHeight = rowProps.rowHeight || ROW_HEIGHT;\r\n const rowHeights = React.useRef<Record<string, number>>({});\r\n const setRowHeight = React.useCallback((index: number, size: number) => {\r\n if (rowHeights.current[index] !== size) {\r\n rowHeights.current = {\r\n ...rowHeights.current,\r\n [index]: size,\r\n };\r\n\r\n if (rowsRef.current) {\r\n rowsRef.current.resetAfterIndex(0);\r\n }\r\n }\r\n }, []);\r\n const getRowHeight = React.useCallback(index => rowHeights.current[index] || estimatedRowHeight, []);\r\n\r\n React.useEffect(() => {\r\n if (rowsRef && rowsRef.current && rowProps.activeIndex !== undefined) {\r\n rowsRef.current.scrollToItem(rowProps.activeIndex);\r\n }\r\n }, [rowProps.activeIndex]);\r\n\r\n // trigger recalculation of variable row heights if the data changes\r\n React.useEffect(() => {\r\n rowHeights.current = {};\r\n\r\n if (rowsRef.current) {\r\n rowsRef.current.resetAfterIndex(0);\r\n }\r\n }, [rows.length]);\r\n\r\n const contentHeight = estimatedRowHeight * props.data.length || 0;\r\n const isScrollbarVisible = height !== null ? contentHeight > height : false;\r\n\r\n const className = cn(tableProps.className, 'yt-table--windowed', { 'table-with-scrollbar': isScrollbarVisible });\r\n\r\n let list;\r\n\r\n const itemData = {\r\n rows,\r\n setRowHeight,\r\n rowProps,\r\n tableProps,\r\n instance,\r\n prepareRow,\r\n state,\r\n rowHeights: rowHeights.current,\r\n };\r\n\r\n if (height && rows.length) {\r\n const listProps = {\r\n height,\r\n itemData,\r\n estimatedItemSize: getAverageRowHeight(rowHeights.current),\r\n itemSize: getRowHeight,\r\n width: '100%',\r\n };\r\n\r\n if (loadMore && length) {\r\n const isLoaded = (index: number) => !!rows[index];\r\n\r\n list = (\r\n <InfiniteLoader isItemLoaded={isLoaded} itemCount={length} loadMoreItems={loadMore as any}>\r\n {({ onItemsRendered, ref }: any) => (\r\n <VariableSizeList\r\n {...listProps}\r\n itemCount={length}\r\n onItemsRendered={onItemsRendered}\r\n ref={list => {\r\n ref(list);\r\n rowsRef.current = list;\r\n }}\r\n >\r\n {VariableRow}\r\n </VariableSizeList>\r\n )}\r\n </InfiniteLoader>\r\n );\r\n } else {\r\n list = (\r\n <VariableSizeList {...listProps} itemCount={rows.length} ref={rowsRef}>\r\n {VariableRow}\r\n </VariableSizeList>\r\n );\r\n }\r\n }\r\n\r\n return (\r\n <BaseTable {...tableProps} className={className} headerRef={headerRef} ref={tableRef}>\r\n {list ? list : emptyStateRenderer()}\r\n </BaseTable>\r\n );\r\n}) as ForwardedGenericTableWithStatics;\r\n\r\nWindowedTable.Column = () => null;\r\nWindowedTable.Group = () => null;\r\n"],"names":["ROW_HEIGHT","VariableRow","React","memo","data","index","style","height","_","texts","useLocalization","rows","setRowHeight","rowProps","tableProps","instance","prepareRow","rowHeights","row","ref","useRef","useEffect","current","getBoundingClientRect","Row","key","headerGroups","className","role","table","loading","areEqual","getAverageRowHeight","keys","Object","estimatedHeight","reduce","p","i","length","WindowedTable","forwardRef","props","tableRef","useProxiedRef","emptyStateRenderer","DefaultEmptyState","loadMore","otherProps","state","useTable","windowed","headerRef","rowsRef","tableDimensions","useBoundingClientRectListener","headerDimensions","estimatedRowHeight","rowHeight","useCallback","size","resetAfterIndex","getRowHeight","activeIndex","undefined","scrollToItem","contentHeight","isScrollbarVisible","cn","list","itemData","listProps","estimatedItemSize","itemSize","width","isLoaded","InfiniteLoader","isItemLoaded","itemCount","loadMoreItems","onItemsRendered","VariableSizeList","BaseTable","Column","Group"],"mappings":"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"}
@@ -5,27 +5,21 @@ import { Menu } from '../../../Menu/Menu.js';
5
5
  import { sanitizeRowProps } from '../../util.js';
6
6
  import { InView } from 'react-intersection-observer';
7
7
 
8
- var actionGroupClassName = '-mt-1 -mb-1 h-8 flex';
8
+ const actionGroupClassName = '-mt-1 -mb-1 h-8 flex';
9
9
 
10
- var hasActions = function hasActions(inlineEditingUniqueId, handlers, actions) {
10
+ const hasActions = (inlineEditingUniqueId, handlers, actions) => {
11
11
  return !!actions || handlers.onRowCreate || handlers.onRowCopy || handlers.onRowDelete || !!inlineEditingUniqueId || handlers.onRowEdit;
12
12
  };
13
13
 
14
- var getActions = function getActions(actions, row) {
15
- if (row === void 0) {
16
- row = undefined;
17
- }
18
-
19
- var primary = [];
20
- var secondary = [];
14
+ const getActions = (actions, row = undefined) => {
15
+ const primary = [];
16
+ const secondary = [];
21
17
 
22
18
  if (actions) {
23
- var visibleActions = actions.filter(function (x) {
24
- return !!x;
25
- });
19
+ let visibleActions = actions.filter(x => !!x);
26
20
 
27
21
  if (row) {
28
- visibleActions = visibleActions.filter(function (action) {
22
+ visibleActions = visibleActions.filter(action => {
29
23
  if (action.visible !== undefined) {
30
24
  if (typeof action.visible === 'function') {
31
25
  return action.visible(row);
@@ -38,7 +32,7 @@ var getActions = function getActions(actions, row) {
38
32
  });
39
33
  }
40
34
 
41
- visibleActions.forEach(function (action) {
35
+ visibleActions.forEach(action => {
42
36
  if (action.showOnRow) {
43
37
  primary.push(action);
44
38
  } else {
@@ -50,12 +44,9 @@ var getActions = function getActions(actions, row) {
50
44
  return [primary, secondary];
51
45
  };
52
46
 
53
- var getLength = function getLength(inlineEditingUniqueId, handlers, actions) {
54
- var _getActions = getActions(actions),
55
- primaryActions = _getActions[0],
56
- secondaryActions = _getActions[1];
57
-
58
- var length = primaryActions.length + (secondaryActions.length ? 1 : 0);
47
+ const getLength = (inlineEditingUniqueId, handlers, actions) => {
48
+ const [primaryActions, secondaryActions] = getActions(actions);
49
+ let length = primaryActions.length + (secondaryActions.length ? 1 : 0);
59
50
 
60
51
  if (handlers.onRowCreate) {
61
52
  length++;
@@ -80,20 +71,20 @@ var getLength = function getLength(inlineEditingUniqueId, handlers, actions) {
80
71
  return length;
81
72
  };
82
73
 
83
- var getActionProps = function getActionProps(action, row) {
74
+ const getActionProps = (action, row) => {
84
75
  return {
85
76
  'aria-label': typeof action.tooltip === 'function' ? action.tooltip(row) : action.tooltip,
86
77
  disabled: typeof action.disabled === 'function' ? action.disabled(row) : action.disabled,
87
- onClick: function onClick(event) {
78
+ onClick: event => {
88
79
  event.persist();
89
80
  action.onClick(row, event);
90
81
  }
91
82
  };
92
83
  };
93
84
 
94
- var EditModeActions = function EditModeActions() {
95
- React__default.useEffect(function () {
96
- var listener = function listener(event) {
85
+ const EditModeActions = () => {
86
+ React__default.useEffect(() => {
87
+ const listener = event => {
97
88
  var _event$target, _event$target$form;
98
89
 
99
90
  if (event.keyCode === keycode('escape') && (_event$target = event.target) !== null && _event$target !== void 0 && (_event$target$form = _event$target.form) !== null && _event$target$form !== void 0 && _event$target$form.reset) {
@@ -103,7 +94,7 @@ var EditModeActions = function EditModeActions() {
103
94
  };
104
95
 
105
96
  document.addEventListener('keydown', listener);
106
- return function () {
97
+ return () => {
107
98
  document.removeEventListener('keydown', listener);
108
99
  };
109
100
  }, []);
@@ -121,135 +112,120 @@ var EditModeActions = function EditModeActions() {
121
112
  }));
122
113
  };
123
114
 
124
- var useRowActions = function useRowActions(inlineEditingUniqueId, handlers, actions, rowExpansionRenderer, texts, windowed) {
125
- if (windowed === void 0) {
126
- windowed = false;
127
- }
128
-
129
- var inlineEditing = !!inlineEditingUniqueId;
130
- var actionsLength = getLength(inlineEditingUniqueId, handlers, actions);
115
+ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRenderer, texts, windowed = false) => {
116
+ const inlineEditing = !!inlineEditingUniqueId;
117
+ const actionsLength = getLength(inlineEditingUniqueId, handlers, actions);
131
118
 
132
- var plugin = function plugin(hooks) {
119
+ const plugin = hooks => {
133
120
  if (hasActions(inlineEditingUniqueId, handlers, actions)) {
134
- hooks.visibleColumns.push(function (columns) {
135
- return [].concat(columns, [{
136
- id: '_actions',
137
- className: 'flex justify-end px-1 overflow-visible',
138
- flex: "0 0 calc((" + actionsLength + " * 2rem) + .5rem)",
139
- Cell: function Cell(_ref) {
140
- var row = _ref.row;
141
-
142
- if (row.isEditing) {
143
- return React__default.createElement(EditModeActions, null);
144
- }
145
-
146
- var sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);
147
-
148
- var _getActions2 = getActions(actions, sanitizedRow),
149
- primaryActions = _getActions2[0],
150
- secondaryActions = _getActions2[1];
151
-
152
- var output = React__default.createElement(React__default.Fragment, null, handlers.onRowCreate && React__default.createElement(IconButton, {
153
- appearance: "discrete",
154
- icon: "plus-circle",
155
- "aria-label": texts.table.newSubRow,
156
- tooltip: texts.table.newSubRow,
157
- disabled: inlineEditing && !row.canEdit,
158
- onClick: function onClick(event) {
159
- event.stopPropagation();
160
- event.persist();
161
- row.setActive();
162
-
163
- if (!row.isExpanded) {
164
- row.toggleRowExpanded();
165
- }
121
+ hooks.visibleColumns.push(columns => [...columns, {
122
+ id: '_actions',
123
+ className: 'flex justify-end px-1 overflow-visible',
124
+ flex: `0 0 calc((${actionsLength} * 2rem) + .5rem)`,
125
+ Cell: ({
126
+ row
127
+ }) => {
128
+ if (row.isEditing) {
129
+ return React__default.createElement(EditModeActions, null);
130
+ }
166
131
 
167
- handlers.onRowCreate(sanitizedRow, event);
132
+ const sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);
133
+ const [primaryActions, secondaryActions] = getActions(actions, sanitizedRow);
134
+ const output = React__default.createElement(React__default.Fragment, null, handlers.onRowCreate && React__default.createElement(IconButton, {
135
+ appearance: "discrete",
136
+ icon: "plus-circle",
137
+ "aria-label": texts.table.newSubRow,
138
+ tooltip: texts.table.newSubRow,
139
+ disabled: inlineEditing && !row.canEdit,
140
+ onClick: event => {
141
+ event.stopPropagation();
142
+ event.persist();
143
+ row.setActive();
144
+
145
+ if (!row.isExpanded) {
146
+ row.toggleRowExpanded();
168
147
  }
169
- }), (inlineEditing || handlers.onRowEdit) && React__default.createElement(IconButton, {
170
- appearance: "discrete",
171
- icon: "edit",
172
- "aria-label": texts.table.edit,
173
- tooltip: texts.table.edit,
174
- disabled: inlineEditing && !row.canEdit,
175
- onClick: function onClick(event) {
176
- event.stopPropagation();
177
- row.setActive();
178
148
 
179
- if (inlineEditing) {
180
- row.toggleRowEditing();
181
- } else if (handlers.onRowEdit) {
182
- event.persist();
183
- handlers.onRowEdit(sanitizedRow, event);
184
- }
185
- }
186
- }), handlers.onRowCopy && React__default.createElement(IconButton, {
187
- appearance: "discrete",
188
- icon: "copy",
189
- "aria-label": texts.table.copy,
190
- tooltip: texts.table.copy,
191
- disabled: inlineEditing && !row.canEdit,
192
- onClick: function onClick(event) {
193
- event.stopPropagation();
194
- event.persist();
195
- row.setActive();
196
- handlers.onRowCopy(sanitizedRow, event);
197
- }
198
- }), handlers.onRowDelete && React__default.createElement(IconButton, {
199
- appearance: "discrete",
200
- icon: "delete",
201
- "aria-label": texts.table.del,
202
- tooltip: texts.table.del,
203
- disabled: inlineEditing && !row.canEdit,
204
- onClick: function onClick(event) {
205
- event.stopPropagation();
149
+ handlers.onRowCreate(sanitizedRow, event);
150
+ }
151
+ }), (inlineEditing || handlers.onRowEdit) && React__default.createElement(IconButton, {
152
+ appearance: "discrete",
153
+ icon: "edit",
154
+ "aria-label": texts.table.edit,
155
+ tooltip: texts.table.edit,
156
+ disabled: inlineEditing && !row.canEdit,
157
+ onClick: event => {
158
+ event.stopPropagation();
159
+ row.setActive();
160
+
161
+ if (inlineEditing) {
162
+ row.toggleRowEditing();
163
+ } else if (handlers.onRowEdit) {
206
164
  event.persist();
207
- row.setActive();
208
- handlers.onRowDelete(sanitizedRow, event);
165
+ handlers.onRowEdit(sanitizedRow, event);
209
166
  }
210
- }), primaryActions.map(function (action, index) {
211
- return React__default.createElement(IconButton, Object.assign({}, getActionProps(action, sanitizedRow), {
212
- key: index,
213
- appearance: "discrete",
214
- icon: typeof action.icon === 'function' ? action.icon(sanitizedRow) : action.icon,
215
- tooltip: typeof action.tooltip === 'function' ? action.tooltip(sanitizedRow) : action.tooltip
216
- }));
217
- }), secondaryActions.length ? React__default.createElement(Menu, null, React__default.createElement(Menu.Trigger, null, React__default.createElement(IconButton, {
218
- appearance: "discrete",
219
- icon: "ellipsis-vertical",
220
- "aria-label": texts.table.actions,
221
- tooltip: texts.table.actions,
222
- disabled: inlineEditing && !row.canEdit,
223
- onClick: function onClick(event) {
224
- event.stopPropagation();
225
- row.setActive();
226
- }
227
- })), React__default.createElement(Menu.Content, null, secondaryActions.map(function (action, index) {
228
- return React__default.createElement(Menu.Item, Object.assign({
229
- key: index,
230
- icon: typeof action.icon === 'function' ? action.icon(sanitizedRow) : action.icon
231
- }, getActionProps(action, sanitizedRow)), action.text);
232
- }))) : null);
233
-
234
- if (windowed) {
235
- return React__default.createElement("div", {
236
- className: actionGroupClassName
237
- }, output);
238
167
  }
239
-
240
- return React__default.createElement(InView, {
241
- rootMargin: "100px 0px"
242
- }, function (_ref2) {
243
- var inView = _ref2.inView,
244
- ref = _ref2.ref;
245
- return React__default.createElement("div", {
246
- className: actionGroupClassName,
247
- ref: ref
248
- }, inView ? output : null);
249
- });
168
+ }), handlers.onRowCopy && React__default.createElement(IconButton, {
169
+ appearance: "discrete",
170
+ icon: "copy",
171
+ "aria-label": texts.table.copy,
172
+ tooltip: texts.table.copy,
173
+ disabled: inlineEditing && !row.canEdit,
174
+ onClick: event => {
175
+ event.stopPropagation();
176
+ event.persist();
177
+ row.setActive();
178
+ handlers.onRowCopy(sanitizedRow, event);
179
+ }
180
+ }), handlers.onRowDelete && React__default.createElement(IconButton, {
181
+ appearance: "discrete",
182
+ icon: "delete",
183
+ "aria-label": texts.table.del,
184
+ tooltip: texts.table.del,
185
+ disabled: inlineEditing && !row.canEdit,
186
+ onClick: event => {
187
+ event.stopPropagation();
188
+ event.persist();
189
+ row.setActive();
190
+ handlers.onRowDelete(sanitizedRow, event);
191
+ }
192
+ }), primaryActions.map((action, index) => React__default.createElement(IconButton, Object.assign({}, getActionProps(action, sanitizedRow), {
193
+ key: index,
194
+ appearance: "discrete",
195
+ icon: typeof action.icon === 'function' ? action.icon(sanitizedRow) : action.icon,
196
+ tooltip: typeof action.tooltip === 'function' ? action.tooltip(sanitizedRow) : action.tooltip
197
+ }))), secondaryActions.length ? React__default.createElement(Menu, null, React__default.createElement(Menu.Trigger, null, React__default.createElement(IconButton, {
198
+ appearance: "discrete",
199
+ icon: "ellipsis-vertical",
200
+ "aria-label": texts.table.actions,
201
+ tooltip: texts.table.actions,
202
+ disabled: inlineEditing && !row.canEdit,
203
+ onClick: event => {
204
+ event.stopPropagation();
205
+ row.setActive();
206
+ }
207
+ })), React__default.createElement(Menu.Content, null, secondaryActions.map((action, index) => React__default.createElement(Menu.Item, Object.assign({
208
+ key: index,
209
+ icon: typeof action.icon === 'function' ? action.icon(sanitizedRow) : action.icon
210
+ }, getActionProps(action, sanitizedRow)), action.text)))) : null);
211
+
212
+ if (windowed) {
213
+ return React__default.createElement("div", {
214
+ className: actionGroupClassName
215
+ }, output);
250
216
  }
251
- }]);
252
- });
217
+
218
+ return React__default.createElement(InView, {
219
+ rootMargin: "100px 0px"
220
+ }, ({
221
+ inView,
222
+ ref
223
+ }) => React__default.createElement("div", {
224
+ className: actionGroupClassName,
225
+ ref: ref
226
+ }, inView ? output : null));
227
+ }
228
+ }]);
253
229
  }
254
230
  };
255
231