@economic/taco 0.0.29-alpha.0 → 0.0.31-alpha.1

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 (369) hide show
  1. package/README.md +84 -84
  2. package/dist/components/Datepicker/Datepicker.d.ts +1 -1
  3. package/dist/components/SearchInput/SearchInput.d.ts +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 +19 -24
  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/Checkbox/Checkbox.js.map +1 -1
  15. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  16. package/dist/esm/components/Combobox/useCombobox.js +67 -87
  17. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  18. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  19. package/dist/esm/components/Datepicker/useDatepicker.js +27 -34
  20. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  21. package/dist/esm/components/Dialog/Context.js +4 -4
  22. package/dist/esm/components/Dialog/Context.js.map +1 -1
  23. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  24. package/dist/esm/components/Dialog/components/Content.js +39 -44
  25. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  26. package/dist/esm/components/Dialog/components/Drawer.js +3 -3
  27. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  28. package/dist/esm/components/Dialog/components/Extra.js +2 -2
  29. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  30. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  31. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  32. package/dist/esm/components/Field/Field.js.map +1 -1
  33. package/dist/esm/components/Form/Form.js.map +1 -1
  34. package/dist/esm/components/Group/Group.js.map +1 -1
  35. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  36. package/dist/esm/components/Icon/Icon.js.map +1 -1
  37. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  38. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  39. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  40. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  41. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  42. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  43. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  44. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  45. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  46. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  47. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  48. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  49. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  50. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  51. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  52. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  53. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  54. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  55. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  56. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  57. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  58. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  59. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  60. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  61. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  62. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  63. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  64. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  65. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  66. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  67. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  72. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  73. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  74. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  75. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  76. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  77. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  78. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  79. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  80. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  81. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  82. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  83. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  84. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  85. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  86. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  87. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  88. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  89. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  90. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  91. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  92. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  93. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  94. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  95. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  96. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  97. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  98. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  100. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  101. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  102. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  103. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  104. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  105. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  106. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  107. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  108. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  109. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  110. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  111. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  112. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  113. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  114. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  115. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  116. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  117. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  118. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  119. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  120. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  121. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  122. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  123. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  124. package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -1
  125. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  126. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  127. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  128. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  129. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  130. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  131. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  132. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  133. package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -1
  134. package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -1
  135. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  136. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  137. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  138. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  139. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  140. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  141. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  142. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  143. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  144. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  145. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  146. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  147. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  148. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  149. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  150. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  151. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  152. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  153. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  154. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  155. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  156. package/dist/esm/components/Icon/components/List.js.map +1 -1
  157. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  158. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  159. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  160. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  161. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  162. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  163. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  164. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  165. package/dist/esm/components/Icon/components/Minus.js.map +1 -1
  166. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  167. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  168. package/dist/esm/components/Icon/components/More.js.map +1 -1
  169. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  170. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  171. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  172. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  173. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  174. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  175. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  176. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  177. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  178. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  179. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  180. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  181. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  182. package/dist/esm/components/Icon/components/PlusCircle.js.map +1 -1
  183. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  184. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  185. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  186. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  187. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  188. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  189. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  190. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  191. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  192. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  193. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  194. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  195. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  196. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  197. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  198. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  199. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  200. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  201. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  202. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  203. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  204. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  205. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  206. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  207. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  208. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  209. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  210. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  211. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  212. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  213. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  214. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  215. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  216. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  217. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  218. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  219. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  220. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  221. package/dist/esm/components/Icon/components/Templates.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/ThumbUp.js.map +1 -1
  226. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  227. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  228. package/dist/esm/components/Icon/components/TickCircle.js.map +1 -1
  229. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  230. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  231. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  232. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  233. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  234. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  235. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  236. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  237. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  238. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  239. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  240. package/dist/esm/components/Icon/components/index.js +4 -4
  241. package/dist/esm/components/Icon/components/index.js.map +1 -1
  242. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  243. package/dist/esm/components/Input/Input.js.map +1 -1
  244. package/dist/esm/components/Input/util.js +2 -2
  245. package/dist/esm/components/Input/util.js.map +1 -1
  246. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  247. package/dist/esm/components/Listbox/ScrollableList.js +64 -83
  248. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  249. package/dist/esm/components/Listbox/useListbox.js +51 -60
  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 +39 -40
  267. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  268. package/dist/esm/components/Menu/components/Link.js +10 -11
  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.map +1 -1
  280. package/dist/esm/components/Pagination/usePagination.js +7 -21
  281. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  282. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  283. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  284. package/dist/esm/components/Popover/Popover.js.map +1 -1
  285. package/dist/esm/components/Popover/Primitives.js +7 -8
  286. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  287. package/dist/esm/components/Progress/Progress.js.map +1 -1
  288. package/dist/esm/components/Provider/Provider.js.map +1 -1
  289. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  290. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  291. package/dist/esm/components/Select/Select.js.map +1 -1
  292. package/dist/esm/components/Select/useSelect.js +64 -85
  293. package/dist/esm/components/Select/useSelect.js.map +1 -1
  294. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  295. package/dist/esm/components/Switch/Switch.js.map +1 -1
  296. package/dist/esm/components/Table/components/BaseTable.js +23 -30
  297. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  298. package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
  299. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  300. package/dist/esm/components/Table/components/Table.js +18 -25
  301. package/dist/esm/components/Table/components/Table.js.map +1 -1
  302. package/dist/esm/components/Table/components/WindowedTable.js +88 -104
  303. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  304. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +122 -146
  305. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  306. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
  307. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  308. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
  309. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  310. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +80 -90
  311. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  312. package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
  313. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  314. package/dist/esm/components/Table/hooks/useTable.js +119 -141
  315. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  316. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +12 -15
  317. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  318. package/dist/esm/components/Table/util/renderColumn.js +10 -10
  319. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  320. package/dist/esm/components/Table/util/renderRow.js +37 -46
  321. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  322. package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
  323. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  324. package/dist/esm/components/Table/util/sortTypes.js +23 -31
  325. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  326. package/dist/esm/components/Table/util.js +29 -41
  327. package/dist/esm/components/Table/util.js.map +1 -1
  328. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  329. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  330. package/dist/esm/components/Toast/Toast.js +20 -21
  331. package/dist/esm/components/Toast/Toast.js.map +1 -1
  332. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  333. package/dist/esm/components/Toast/util.js +2 -2
  334. package/dist/esm/components/Toast/util.js.map +1 -1
  335. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  336. package/dist/esm/components/Tour/Tour.js.map +1 -1
  337. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  338. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  339. package/dist/esm/index.css +665 -662
  340. package/dist/esm/index.js +1 -1
  341. package/dist/esm/primitives/Button.js +9 -13
  342. package/dist/esm/primitives/Button.js.map +1 -1
  343. package/dist/esm/utils/date.js.map +1 -1
  344. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  345. package/dist/esm/utils/hooks/useDraggable.js +16 -18
  346. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  347. package/dist/esm/utils/hooks/useDropTarget.js +7 -10
  348. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  349. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  350. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  351. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  352. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  353. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  354. package/dist/esm/utils/hooks/useTimer.js +9 -17
  355. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  356. package/dist/esm/utils/input.js +7 -11
  357. package/dist/esm/utils/input.js.map +1 -1
  358. package/dist/esm/utils/mergeRefs.js +2 -2
  359. package/dist/esm/utils/mergeRefs.js.map +1 -1
  360. package/dist/esm/utils/taillwind.js +2 -2
  361. package/dist/esm/utils/taillwind.js.map +1 -1
  362. package/dist/index.css +665 -662
  363. package/dist/taco.cjs.development.js +1497 -1828
  364. package/dist/taco.cjs.development.js.map +1 -1
  365. package/dist/taco.cjs.production.min.js +1 -1
  366. package/dist/taco.cjs.production.min.js.map +1 -1
  367. package/package.json +3 -3
  368. package/plugins/tailwindcss-aria-attributes.js +73 -73
  369. package/tailwind.config.js +297 -297
@@ -1,40 +1,42 @@
1
- import { extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import { Icon } from '../../../Icon/Icon.js';
4
3
  import { actions } from 'react-table';
5
4
  import { sanitizeRowProps } from '../../util.js';
6
5
 
7
- var pluginName = 'useRowDraggable';
6
+ const pluginName = 'useRowDraggable';
8
7
  actions.resetRowDragging = 'resetRowDragging';
9
8
  actions.toggleRowDragging = 'toggleRowDragging';
10
9
 
11
10
  function reducer(state, action) {
12
11
  if (action.type === actions.init) {
13
- return _extends({
14
- draggingRowIndexPath: null
15
- }, state);
12
+ return {
13
+ draggingRowIndexPath: null,
14
+ ...state
15
+ };
16
16
  }
17
17
 
18
18
  if (action.type === actions.resetRowDragging) {
19
- return _extends({}, state, {
19
+ return { ...state,
20
20
  draggingRowIndexPath: null
21
- });
21
+ };
22
22
  }
23
23
 
24
24
  if (action.type === actions.toggleRowDragging) {
25
- var indexPath = action.indexPath;
26
- return _extends({}, state, {
25
+ const {
26
+ indexPath
27
+ } = action;
28
+ return { ...state,
27
29
  draggingRowIndexPath: indexPath
28
- });
30
+ };
29
31
  }
30
32
 
31
33
  return state;
32
34
  }
33
35
 
34
- var prepareRow = function prepareRow(row, _ref) {
35
- var instance = _ref.instance;
36
-
37
- row.toggleRowDragging = function () {
36
+ const prepareRow = (row, {
37
+ instance
38
+ }) => {
39
+ row.toggleRowDragging = () => {
38
40
  if (instance.state.draggingRowIndexPath === row.id) {
39
41
  instance.dispatch({
40
42
  type: actions.resetRowDragging
@@ -56,67 +58,61 @@ var prepareRow = function prepareRow(row, _ref) {
56
58
  }
57
59
  };
58
60
 
59
- var visibleColumns = function visibleColumns(columns) {
61
+ const visibleColumns = columns => {
60
62
  return [{
61
63
  id: 'draggable',
62
64
  className: 'yt-table__cell--draggable flex-col px-0',
63
- Cell: function Cell() {
64
- return React__default.createElement(Icon, {
65
- name: "drag",
66
- className: "text-grey-darkest invisible w-[20px] cursor-grab"
67
- });
68
- },
65
+ Cell: () => React__default.createElement(Icon, {
66
+ name: "drag",
67
+ className: "text-grey-darkest invisible w-[20px] cursor-grab"
68
+ }),
69
69
  flex: '0 0 20px'
70
- }].concat(columns);
70
+ }, ...columns];
71
71
  };
72
72
 
73
- var getRowProps = function getRowProps(onRowDrag) {
74
- return function (props, _ref2) {
75
- var instance = _ref2.instance,
76
- row = _ref2.row;
77
-
78
- var onDragStart = function onDragStart(event) {
79
- event.persist();
80
- row.toggleRowDragging();
81
- var indexPaths = [row.id].concat(Object.keys(instance.state.selectedRowIds));
82
- var data = instance.rows.filter(function (r) {
83
- return indexPaths.includes(r.id);
84
- }).map(sanitizeRowProps);
85
-
86
- var showPlaceholder = function showPlaceholder(placeholder) {
87
- var element = window.document.createElement('div');
88
- element.id = 'yt-table__drag__placeholder';
89
- element.innerText = placeholder;
90
- window.document.body.appendChild(element);
91
-
92
- if (typeof DataTransfer.prototype.setDragImage === 'function') {
93
- event.dataTransfer.setDragImage(element, 0, 20);
94
- }
95
- };
96
-
97
- onRowDrag(data, showPlaceholder, event);
73
+ const getRowProps = onRowDrag => (props, {
74
+ instance,
75
+ row
76
+ }) => {
77
+ const onDragStart = event => {
78
+ event.persist();
79
+ row.toggleRowDragging();
80
+ const indexPaths = [row.id, ...Object.keys(instance.state.selectedRowIds)];
81
+ const data = instance.rows.filter(r => indexPaths.includes(r.id)).map(sanitizeRowProps);
82
+
83
+ const showPlaceholder = placeholder => {
84
+ const element = window.document.createElement('div');
85
+ element.id = 'yt-table__drag__placeholder';
86
+ element.innerText = placeholder;
87
+ window.document.body.appendChild(element);
88
+
89
+ if (typeof DataTransfer.prototype.setDragImage === 'function') {
90
+ event.dataTransfer.setDragImage(element, 0, 20);
91
+ }
98
92
  };
99
93
 
100
- var onDragEnd = function onDragEnd() {
101
- var element = document.getElementById('yt-table__drag__placeholder');
94
+ onRowDrag(data, showPlaceholder, event);
95
+ };
102
96
 
103
- if (element && element.parentNode) {
104
- element.parentNode.removeChild(element);
105
- }
97
+ const onDragEnd = () => {
98
+ const element = document.getElementById('yt-table__drag__placeholder');
106
99
 
107
- row.toggleRowDragging();
108
- };
100
+ if (element && element.parentNode) {
101
+ element.parentNode.removeChild(element);
102
+ }
109
103
 
110
- return [props, {
111
- draggable: true,
112
- onDragStart: onDragStart,
113
- onDragEnd: onDragEnd
114
- }];
104
+ row.toggleRowDragging();
115
105
  };
106
+
107
+ return [props, {
108
+ draggable: true,
109
+ onDragStart,
110
+ onDragEnd
111
+ }];
116
112
  };
117
113
 
118
- var useRowDraggable = function useRowDraggable(onRowDrag) {
119
- var plugin = function plugin(hooks) {
114
+ const useRowDraggable = onRowDrag => {
115
+ const plugin = hooks => {
120
116
  if (onRowDrag) {
121
117
  hooks.stateReducers.push(reducer);
122
118
  hooks.prepareRow.push(prepareRow);
@@ -1 +1 @@
1
- {"version":3,"file":"useRowDraggable.js","sources":["../../../../../../src/components/Table/hooks/plugins/useRowDraggable.tsx"],"sourcesContent":["import React from 'react';\nimport { actions, PluginHook } from 'react-table';\nimport { Icon } from '../../../Icon/Icon';\nimport { RowDragHandler } from '../../types';\nimport { sanitizeRowProps } from '../../util';\n\nconst pluginName = 'useRowDraggable';\n\nactions.resetRowDragging = 'resetRowDragging';\nactions.toggleRowDragging = 'toggleRowDragging';\n\nfunction reducer(state: any, action: any): object {\n if (action.type === actions.init) {\n return {\n draggingRowIndexPath: null,\n ...state,\n };\n }\n\n if (action.type === actions.resetRowDragging) {\n return {\n ...state,\n draggingRowIndexPath: null,\n };\n }\n\n if (action.type === actions.toggleRowDragging) {\n const { indexPath } = action;\n return {\n ...state,\n draggingRowIndexPath: indexPath,\n };\n }\n\n return state;\n}\n\nconst prepareRow = (row: any, { instance }: any): void => {\n row.toggleRowDragging = () => {\n if (instance.state.draggingRowIndexPath === row.id) {\n instance.dispatch({ type: actions.resetRowDragging });\n } else {\n instance.dispatch({ type: actions.toggleRowDragging, indexPath: row.id });\n }\n };\n\n if (instance.state.draggingRowIndexPath) {\n row.isDragging = instance.state.draggingRowIndexPath === row.id || !!instance.state.selectedRowIds?.[row.id];\n } else {\n row.isDragging = false;\n }\n};\n\nconst visibleColumns = (columns: any) => {\n return [\n {\n id: 'draggable',\n className: 'yt-table__cell--draggable flex-col px-0',\n Cell: () => <Icon name=\"drag\" className=\"text-grey-darkest invisible w-[20px] cursor-grab\" />,\n flex: '0 0 20px',\n },\n ...columns,\n ];\n};\n\nconst getRowProps =\n (onRowDrag: RowDragHandler<any>) =>\n (props: any, { instance, row }: any) => {\n const onDragStart = (event: React.DragEvent): void => {\n event.persist();\n row.toggleRowDragging();\n\n const indexPaths = [row.id, ...Object.keys(instance.state.selectedRowIds)];\n const data = instance.rows.filter((r: any) => indexPaths.includes(r.id)).map(sanitizeRowProps);\n\n const showPlaceholder = (placeholder: string) => {\n const element = window.document.createElement('div');\n element.id = 'yt-table__drag__placeholder';\n element.innerText = placeholder;\n window.document.body.appendChild(element);\n\n if (typeof DataTransfer.prototype.setDragImage === 'function') {\n event.dataTransfer.setDragImage(element, 0, 20);\n }\n };\n\n onRowDrag(data, showPlaceholder, event);\n };\n\n const onDragEnd = (): void => {\n const element: HTMLElement | null = document.getElementById('yt-table__drag__placeholder');\n\n if (element && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n\n row.toggleRowDragging();\n };\n\n return [\n props,\n {\n draggable: true,\n onDragStart,\n onDragEnd,\n },\n ];\n };\n\nexport const useRowDraggable = (onRowDrag: RowDragHandler<any> | undefined): PluginHook<{}> => {\n const plugin = (hooks: any): void => {\n if (onRowDrag) {\n hooks.stateReducers.push(reducer);\n hooks.prepareRow.push(prepareRow);\n hooks.visibleColumns.push(visibleColumns);\n hooks.getRowProps.push(getRowProps(onRowDrag));\n }\n };\n plugin.pluginName = pluginName;\n\n return plugin;\n};\n"],"names":["pluginName","actions","resetRowDragging","toggleRowDragging","reducer","state","action","type","init","draggingRowIndexPath","indexPath","prepareRow","row","instance","id","dispatch","isDragging","selectedRowIds","visibleColumns","columns","className","Cell","React","Icon","name","flex","getRowProps","onRowDrag","props","onDragStart","event","persist","indexPaths","Object","keys","data","rows","filter","r","includes","map","sanitizeRowProps","showPlaceholder","placeholder","element","window","document","createElement","innerText","body","appendChild","DataTransfer","prototype","setDragImage","dataTransfer","onDragEnd","getElementById","parentNode","removeChild","draggable","useRowDraggable","plugin","hooks","stateReducers","push"],"mappings":"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"}
1
+ {"version":3,"file":"useRowDraggable.js","sources":["../../../../../../src/components/Table/hooks/plugins/useRowDraggable.tsx"],"sourcesContent":["import React from 'react';\r\nimport { actions, PluginHook } from 'react-table';\r\nimport { Icon } from '../../../Icon/Icon';\r\nimport { RowDragHandler } from '../../types';\r\nimport { sanitizeRowProps } from '../../util';\r\n\r\nconst pluginName = 'useRowDraggable';\r\n\r\nactions.resetRowDragging = 'resetRowDragging';\r\nactions.toggleRowDragging = 'toggleRowDragging';\r\n\r\nfunction reducer(state: any, action: any): object {\r\n if (action.type === actions.init) {\r\n return {\r\n draggingRowIndexPath: null,\r\n ...state,\r\n };\r\n }\r\n\r\n if (action.type === actions.resetRowDragging) {\r\n return {\r\n ...state,\r\n draggingRowIndexPath: null,\r\n };\r\n }\r\n\r\n if (action.type === actions.toggleRowDragging) {\r\n const { indexPath } = action;\r\n return {\r\n ...state,\r\n draggingRowIndexPath: indexPath,\r\n };\r\n }\r\n\r\n return state;\r\n}\r\n\r\nconst prepareRow = (row: any, { instance }: any): void => {\r\n row.toggleRowDragging = () => {\r\n if (instance.state.draggingRowIndexPath === row.id) {\r\n instance.dispatch({ type: actions.resetRowDragging });\r\n } else {\r\n instance.dispatch({ type: actions.toggleRowDragging, indexPath: row.id });\r\n }\r\n };\r\n\r\n if (instance.state.draggingRowIndexPath) {\r\n row.isDragging = instance.state.draggingRowIndexPath === row.id || !!instance.state.selectedRowIds?.[row.id];\r\n } else {\r\n row.isDragging = false;\r\n }\r\n};\r\n\r\nconst visibleColumns = (columns: any) => {\r\n return [\r\n {\r\n id: 'draggable',\r\n className: 'yt-table__cell--draggable flex-col px-0',\r\n Cell: () => <Icon name=\"drag\" className=\"text-grey-darkest invisible w-[20px] cursor-grab\" />,\r\n flex: '0 0 20px',\r\n },\r\n ...columns,\r\n ];\r\n};\r\n\r\nconst getRowProps =\r\n (onRowDrag: RowDragHandler<any>) =>\r\n (props: any, { instance, row }: any) => {\r\n const onDragStart = (event: React.DragEvent): void => {\r\n event.persist();\r\n row.toggleRowDragging();\r\n\r\n const indexPaths = [row.id, ...Object.keys(instance.state.selectedRowIds)];\r\n const data = instance.rows.filter((r: any) => indexPaths.includes(r.id)).map(sanitizeRowProps);\r\n\r\n const showPlaceholder = (placeholder: string) => {\r\n const element = window.document.createElement('div');\r\n element.id = 'yt-table__drag__placeholder';\r\n element.innerText = placeholder;\r\n window.document.body.appendChild(element);\r\n\r\n if (typeof DataTransfer.prototype.setDragImage === 'function') {\r\n event.dataTransfer.setDragImage(element, 0, 20);\r\n }\r\n };\r\n\r\n onRowDrag(data, showPlaceholder, event);\r\n };\r\n\r\n const onDragEnd = (): void => {\r\n const element: HTMLElement | null = document.getElementById('yt-table__drag__placeholder');\r\n\r\n if (element && element.parentNode) {\r\n element.parentNode.removeChild(element);\r\n }\r\n\r\n row.toggleRowDragging();\r\n };\r\n\r\n return [\r\n props,\r\n {\r\n draggable: true,\r\n onDragStart,\r\n onDragEnd,\r\n },\r\n ];\r\n };\r\n\r\nexport const useRowDraggable = (onRowDrag: RowDragHandler<any> | undefined): PluginHook<{}> => {\r\n const plugin = (hooks: any): void => {\r\n if (onRowDrag) {\r\n hooks.stateReducers.push(reducer);\r\n hooks.prepareRow.push(prepareRow);\r\n hooks.visibleColumns.push(visibleColumns);\r\n hooks.getRowProps.push(getRowProps(onRowDrag));\r\n }\r\n };\r\n plugin.pluginName = pluginName;\r\n\r\n return plugin;\r\n};\r\n"],"names":["pluginName","actions","resetRowDragging","toggleRowDragging","reducer","state","action","type","init","draggingRowIndexPath","indexPath","prepareRow","row","instance","id","dispatch","isDragging","selectedRowIds","visibleColumns","columns","className","Cell","React","Icon","name","flex","getRowProps","onRowDrag","props","onDragStart","event","persist","indexPaths","Object","keys","data","rows","filter","r","includes","map","sanitizeRowProps","showPlaceholder","placeholder","element","window","document","createElement","innerText","body","appendChild","DataTransfer","prototype","setDragImage","dataTransfer","onDragEnd","getElementById","parentNode","removeChild","draggable","useRowDraggable","plugin","hooks","stateReducers","push"],"mappings":"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"}
@@ -1,87 +1,90 @@
1
- import { extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import { actions } from 'react-table';
4
3
 
5
- var pluginName = 'useRowEditing';
4
+ const pluginName = 'useRowEditing';
6
5
  actions.resetRowEditing = 'resetRowEditing';
7
6
  actions.toggleRowEditing = 'toggleRowEditing';
8
7
  actions.toggleEditing = 'toggleEditing';
9
8
 
10
9
  function reducer(state, action) {
11
10
  if (action.type === actions.init) {
12
- return _extends({
11
+ return {
13
12
  allowEditing: true,
14
- editingRowUniqueId: null
15
- }, state);
13
+ editingRowUniqueId: null,
14
+ ...state
15
+ };
16
16
  }
17
17
 
18
18
  if (action.type === actions.resetRowEditing || action.type === actions.resetPage || action.type === actions.gotoPage) {
19
- return _extends({}, state, {
19
+ return { ...state,
20
20
  editingRowUniqueId: null
21
- });
21
+ };
22
22
  }
23
23
 
24
24
  if (action.type === actions.toggleRowEditing) {
25
- var id = action.id;
26
- return _extends({}, state, {
25
+ const {
26
+ id
27
+ } = action;
28
+ return { ...state,
27
29
  editingRowUniqueId: id
28
- });
30
+ };
29
31
  }
30
32
 
31
33
  if (action.type === actions.toggleEditing) {
32
- return _extends({}, state, {
34
+ return { ...state,
33
35
  allowEditing: !state.allowEditing
34
- });
36
+ };
35
37
  }
36
38
 
37
39
  return state;
38
40
  }
39
41
 
40
42
  function useInstance(instance) {
41
- var dispatch = instance.dispatch;
42
- var resetRowEditing = React__default.useCallback(function () {
43
+ const {
44
+ dispatch
45
+ } = instance;
46
+ const resetRowEditing = React__default.useCallback(() => {
43
47
  dispatch({
44
48
  type: actions.resetRowEditing
45
49
  });
46
50
  }, [dispatch]);
47
- var toggleRowEditing = React__default.useCallback(function (id) {
51
+ const toggleRowEditing = React__default.useCallback(id => {
48
52
  dispatch({
49
53
  type: actions.toggleRowEditing,
50
- id: id
54
+ id
51
55
  });
52
56
  }, [dispatch]);
53
- var toggleEditing = React__default.useCallback(function () {
57
+ const toggleEditing = React__default.useCallback(() => {
54
58
  dispatch({
55
59
  type: actions.toggleEditing
56
60
  });
57
61
  }, [dispatch]);
58
62
  Object.assign(instance, {
59
- resetRowEditing: resetRowEditing,
60
- toggleRowEditing: toggleRowEditing,
61
- toggleEditing: toggleEditing
63
+ resetRowEditing,
64
+ toggleRowEditing,
65
+ toggleEditing
62
66
  });
63
67
  }
64
68
 
65
- var prepareRow = function prepareRow(uniqueId) {
66
- return function (row, _ref) {
67
- var instance = _ref.instance;
68
- var id = row.original[uniqueId];
69
-
70
- row.toggleRowEditing = function () {
71
- if (instance.state.editingRowUniqueId === id) {
72
- instance.resetRowEditing();
73
- } else {
74
- instance.toggleRowEditing(id);
75
- }
76
- };
69
+ const prepareRow = uniqueId => (row, {
70
+ instance
71
+ }) => {
72
+ const id = row.original[uniqueId];
77
73
 
78
- row.isEditing = row.original._createKey ? instance.state.editingRowUniqueId === row.original._createKey : instance.state.editingRowUniqueId === id;
79
- row.canEdit = instance.state.allowEditing && (row.isEditing || !instance.state.editingRowUniqueId);
74
+ row.toggleRowEditing = () => {
75
+ if (instance.state.editingRowUniqueId === id) {
76
+ instance.resetRowEditing();
77
+ } else {
78
+ instance.toggleRowEditing(id);
79
+ }
80
80
  };
81
+
82
+ row.isEditing = row.original._createKey ? instance.state.editingRowUniqueId === row.original._createKey : instance.state.editingRowUniqueId === id;
83
+ row.canEdit = instance.state.allowEditing && (row.isEditing || !instance.state.editingRowUniqueId);
81
84
  };
82
85
 
83
- var useRowEditing = function useRowEditing(uniqueId) {
84
- var plugin = function plugin(hooks) {
86
+ const useRowEditing = uniqueId => {
87
+ const plugin = hooks => {
85
88
  if (uniqueId) {
86
89
  hooks.stateReducers.push(reducer);
87
90
  hooks.useInstance.push(useInstance);
@@ -1 +1 @@
1
- {"version":3,"file":"useRowEditing.js","sources":["../../../../../../src/components/Table/hooks/plugins/useRowEditing.tsx"],"sourcesContent":["import React from 'react';\nimport { actions, PluginHook } from 'react-table';\n\nconst pluginName = 'useRowEditing';\n\nactions.resetRowEditing = 'resetRowEditing';\nactions.toggleRowEditing = 'toggleRowEditing';\nactions.toggleEditing = 'toggleEditing';\n\nfunction reducer(state: any, action: any): object {\n if (action.type === actions.init) {\n return {\n allowEditing: true,\n editingRowUniqueId: null,\n ...state,\n };\n }\n\n if (action.type === actions.resetRowEditing || action.type === actions.resetPage || action.type === actions.gotoPage) {\n return {\n ...state,\n editingRowUniqueId: null,\n };\n }\n\n if (action.type === actions.toggleRowEditing) {\n const { id } = action;\n return {\n ...state,\n editingRowUniqueId: id,\n };\n }\n\n if (action.type === actions.toggleEditing) {\n return {\n ...state,\n allowEditing: !state.allowEditing,\n };\n }\n\n return state;\n}\n\nfunction useInstance(instance: any): void {\n const { dispatch } = instance;\n\n const resetRowEditing = React.useCallback(() => {\n dispatch({ type: actions.resetRowEditing });\n }, [dispatch]);\n\n const toggleRowEditing = React.useCallback(\n id => {\n dispatch({ type: actions.toggleRowEditing, id });\n },\n [dispatch]\n );\n\n const toggleEditing = React.useCallback(() => {\n dispatch({ type: actions.toggleEditing });\n }, [dispatch]);\n\n Object.assign(instance, {\n resetRowEditing,\n toggleRowEditing,\n toggleEditing,\n });\n}\n\nconst prepareRow =\n <T extends {}>(uniqueId: keyof T) =>\n (row: any, { instance }: any): void => {\n const id = row.original[uniqueId];\n\n row.toggleRowEditing = () => {\n if (instance.state.editingRowUniqueId === id) {\n instance.resetRowEditing();\n } else {\n instance.toggleRowEditing(id);\n }\n };\n\n row.isEditing = row.original._createKey\n ? instance.state.editingRowUniqueId === row.original._createKey\n : instance.state.editingRowUniqueId === id;\n row.canEdit = instance.state.allowEditing && (row.isEditing || !instance.state.editingRowUniqueId);\n };\n\nexport const useRowEditing = <T extends {}>(uniqueId: keyof T | undefined): PluginHook<{}> => {\n const plugin = (hooks: any): void => {\n if (uniqueId) {\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow<T>(uniqueId));\n }\n };\n plugin.pluginName = pluginName;\n\n return plugin;\n};\n"],"names":["pluginName","actions","resetRowEditing","toggleRowEditing","toggleEditing","reducer","state","action","type","init","allowEditing","editingRowUniqueId","resetPage","gotoPage","id","useInstance","instance","dispatch","React","useCallback","Object","assign","prepareRow","uniqueId","row","original","isEditing","_createKey","canEdit","useRowEditing","plugin","hooks","stateReducers","push"],"mappings":"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"}
1
+ {"version":3,"file":"useRowEditing.js","sources":["../../../../../../src/components/Table/hooks/plugins/useRowEditing.tsx"],"sourcesContent":["import React from 'react';\r\nimport { actions, PluginHook } from 'react-table';\r\n\r\nconst pluginName = 'useRowEditing';\r\n\r\nactions.resetRowEditing = 'resetRowEditing';\r\nactions.toggleRowEditing = 'toggleRowEditing';\r\nactions.toggleEditing = 'toggleEditing';\r\n\r\nfunction reducer(state: any, action: any): object {\r\n if (action.type === actions.init) {\r\n return {\r\n allowEditing: true,\r\n editingRowUniqueId: null,\r\n ...state,\r\n };\r\n }\r\n\r\n if (action.type === actions.resetRowEditing || action.type === actions.resetPage || action.type === actions.gotoPage) {\r\n return {\r\n ...state,\r\n editingRowUniqueId: null,\r\n };\r\n }\r\n\r\n if (action.type === actions.toggleRowEditing) {\r\n const { id } = action;\r\n return {\r\n ...state,\r\n editingRowUniqueId: id,\r\n };\r\n }\r\n\r\n if (action.type === actions.toggleEditing) {\r\n return {\r\n ...state,\r\n allowEditing: !state.allowEditing,\r\n };\r\n }\r\n\r\n return state;\r\n}\r\n\r\nfunction useInstance(instance: any): void {\r\n const { dispatch } = instance;\r\n\r\n const resetRowEditing = React.useCallback(() => {\r\n dispatch({ type: actions.resetRowEditing });\r\n }, [dispatch]);\r\n\r\n const toggleRowEditing = React.useCallback(\r\n id => {\r\n dispatch({ type: actions.toggleRowEditing, id });\r\n },\r\n [dispatch]\r\n );\r\n\r\n const toggleEditing = React.useCallback(() => {\r\n dispatch({ type: actions.toggleEditing });\r\n }, [dispatch]);\r\n\r\n Object.assign(instance, {\r\n resetRowEditing,\r\n toggleRowEditing,\r\n toggleEditing,\r\n });\r\n}\r\n\r\nconst prepareRow =\r\n <T extends {}>(uniqueId: keyof T) =>\r\n (row: any, { instance }: any): void => {\r\n const id = row.original[uniqueId];\r\n\r\n row.toggleRowEditing = () => {\r\n if (instance.state.editingRowUniqueId === id) {\r\n instance.resetRowEditing();\r\n } else {\r\n instance.toggleRowEditing(id);\r\n }\r\n };\r\n\r\n row.isEditing = row.original._createKey\r\n ? instance.state.editingRowUniqueId === row.original._createKey\r\n : instance.state.editingRowUniqueId === id;\r\n row.canEdit = instance.state.allowEditing && (row.isEditing || !instance.state.editingRowUniqueId);\r\n };\r\n\r\nexport const useRowEditing = <T extends {}>(uniqueId: keyof T | undefined): PluginHook<{}> => {\r\n const plugin = (hooks: any): void => {\r\n if (uniqueId) {\r\n hooks.stateReducers.push(reducer);\r\n hooks.useInstance.push(useInstance);\r\n hooks.prepareRow.push(prepareRow<T>(uniqueId));\r\n }\r\n };\r\n plugin.pluginName = pluginName;\r\n\r\n return plugin;\r\n};\r\n"],"names":["pluginName","actions","resetRowEditing","toggleRowEditing","toggleEditing","reducer","state","action","type","init","allowEditing","editingRowUniqueId","resetPage","gotoPage","id","useInstance","instance","dispatch","React","useCallback","Object","assign","prepareRow","uniqueId","row","original","isEditing","_createKey","canEdit","useRowEditing","plugin","hooks","stateReducers","push"],"mappings":"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"}
@@ -1,113 +1,103 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import { Checkbox } from '../../../Checkbox/Checkbox.js';
4
3
  import { useRowSelect as useRowSelect$1 } from 'react-table';
5
4
 
6
- var _excluded = ["onChange"],
7
- _excluded2 = ["onChange"];
5
+ // this wraps react-table's internal useRowSelect hook
8
6
 
9
- var toggleBetween = function toggleBetween(fromRowIndex, toRowIndex) {
10
- var fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;
11
- var toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;
7
+ const toggleBetween = (fromRowIndex, toRowIndex) => {
8
+ const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;
9
+ const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;
12
10
  return [fromIndex, toIndex];
13
11
  }; // react-table calls "index paths" row ids. we named them indexPaths to reduce confusion with natural ids
14
12
  // the selection hook usess react-table's row selection, so this hok references row.id - it is the index path
15
13
 
16
14
 
17
- var useRowSelect = function useRowSelect(onSelectedRows) {
18
- var plugin = function plugin(hooks) {
15
+ const useRowSelect = onSelectedRows => {
16
+ const plugin = hooks => {
19
17
  // eslint-disable-next-line react-hooks/rules-of-hooks
20
18
  useRowSelect$1(hooks);
21
19
 
22
20
  if (onSelectedRows) {
23
- var toggleRowSelected = function toggleRowSelected(indexPath, checked) {
24
- return onSelectedRows(function (state) {
25
- var nextState = _extends({}, state);
26
-
27
- if (checked) {
28
- nextState[indexPath] = true;
29
- } else {
30
- delete nextState[indexPath];
31
- }
32
-
33
- return nextState;
34
- });
35
- };
36
-
37
- var prepareRow = function prepareRow(row) {
38
- row.toggleRowSelected = function () {
39
- return toggleRowSelected(row.id, !row.isSelected);
21
+ const toggleRowSelected = (indexPath, checked) => onSelectedRows(state => {
22
+ const nextState = { ...state
40
23
  };
41
- };
42
24
 
43
- hooks.prepareRow.push(prepareRow); // eslint-disable-next-line react-hooks/rules-of-hooks
25
+ if (checked) {
26
+ nextState[indexPath] = true;
27
+ } else {
28
+ delete nextState[indexPath];
29
+ }
44
30
 
45
- var lastSelectedSortedIndex = React__default.useRef();
46
- hooks.visibleColumns.push(function (columns) {
47
- return [{
48
- id: 'selection',
49
- Header: function Header(_ref) {
50
- var getToggleAllRowsSelectedProps = _ref.getToggleAllRowsSelectedProps,
51
- rows = _ref.rows;
52
-
53
- var _getToggleAllRowsSele = getToggleAllRowsSelectedProps(),
54
- props = _objectWithoutPropertiesLoose(_getToggleAllRowsSele, _excluded);
55
-
56
- var onChange = function onChange(checked) {
57
- if (checked) {
58
- // this intentionally only selects top level rows - sub rows add too much complexity
59
- onSelectedRows(Object.assign({}, Array(rows.length).fill(true)));
60
- } else {
61
- onSelectedRows({});
62
- }
63
- };
64
-
65
- return React__default.createElement(Checkbox, Object.assign({}, props, {
66
- onChange: onChange,
67
- className: "mt-px"
68
- }));
69
- },
70
- Cell: function Cell(_ref2) {
71
- var row = _ref2.row,
72
- rows = _ref2.rows;
73
-
74
- var _row$getToggleRowSele = row.getToggleRowSelectedProps(),
75
- props = _objectWithoutPropertiesLoose(_row$getToggleRowSele, _excluded2); // row.index refers to the index in the original data, not the current index
76
-
77
-
78
- var sortedIndex = rows.findIndex(function (r) {
79
- return r.index === row.index;
80
- });
81
-
82
- var onClick = function onClick(event) {
83
- if (event.shiftKey) {
84
- var _toggleBetween = toggleBetween(lastSelectedSortedIndex.current || 0, sortedIndex),
85
- fromIndex = _toggleBetween[0],
86
- toIndex = _toggleBetween[1];
87
-
88
- for (var i = fromIndex; i <= toIndex; i++) {
89
- toggleRowSelected(rows[i].id, true);
90
- }
91
- } else {
92
- toggleRowSelected(row.id, !props.checked);
93
- }
31
+ return nextState;
32
+ });
94
33
 
95
- lastSelectedSortedIndex.current = sortedIndex;
96
- };
34
+ const prepareRow = row => {
35
+ row.toggleRowSelected = () => toggleRowSelected(row.id, !row.isSelected);
36
+ };
97
37
 
98
- return React__default.createElement(Checkbox, Object.assign({}, props, {
99
- className: "mt-px",
100
- onClick: onClick,
101
- // this is necessary to remove console spam from eslint
102
- onChange: function onChange() {
103
- return false;
38
+ hooks.prepareRow.push(prepareRow); // eslint-disable-next-line react-hooks/rules-of-hooks
39
+
40
+ const lastSelectedSortedIndex = React__default.useRef();
41
+ hooks.visibleColumns.push(columns => [{
42
+ id: 'selection',
43
+ Header: ({
44
+ getToggleAllRowsSelectedProps,
45
+ rows
46
+ }) => {
47
+ const {
48
+ onChange: _,
49
+ ...props
50
+ } = getToggleAllRowsSelectedProps();
51
+
52
+ const onChange = checked => {
53
+ if (checked) {
54
+ // this intentionally only selects top level rows - sub rows add too much complexity
55
+ onSelectedRows(Object.assign({}, Array(rows.length).fill(true)));
56
+ } else {
57
+ onSelectedRows({});
58
+ }
59
+ };
60
+
61
+ return React__default.createElement(Checkbox, Object.assign({}, props, {
62
+ onChange: onChange,
63
+ className: "mt-px"
64
+ }));
65
+ },
66
+ Cell: ({
67
+ row,
68
+ rows
69
+ }) => {
70
+ const {
71
+ onChange: _,
72
+ ...props
73
+ } = row.getToggleRowSelectedProps(); // row.index refers to the index in the original data, not the current index
74
+
75
+ const sortedIndex = rows.findIndex(r => r.index === row.index);
76
+
77
+ const onClick = event => {
78
+ if (event.shiftKey) {
79
+ const [fromIndex, toIndex] = toggleBetween(lastSelectedSortedIndex.current || 0, sortedIndex);
80
+
81
+ for (let i = fromIndex; i <= toIndex; i++) {
82
+ toggleRowSelected(rows[i].id, true);
104
83
  }
105
- }));
106
- },
107
- flex: '0 0 36px',
108
- className: 'flex-col justify-start !pb-0'
109
- }].concat(columns);
110
- });
84
+ } else {
85
+ toggleRowSelected(row.id, !props.checked);
86
+ }
87
+
88
+ lastSelectedSortedIndex.current = sortedIndex;
89
+ };
90
+
91
+ return React__default.createElement(Checkbox, Object.assign({}, props, {
92
+ className: "mt-px",
93
+ onClick: onClick,
94
+ // this is necessary to remove console spam from eslint
95
+ onChange: () => false
96
+ }));
97
+ },
98
+ flex: '0 0 36px',
99
+ className: 'flex-col justify-start !pb-0'
100
+ }, ...columns]);
111
101
  }
112
102
  };
113
103
 
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelect.js","sources":["../../../../../../src/components/Table/hooks/plugins/useRowSelect.tsx"],"sourcesContent":["// this wraps react-table's internal useRowSelect hook\nimport React from 'react';\nimport { useRowSelect as useBaseRowSelect, Row, PluginHook } from 'react-table';\nimport { Checkbox } from '../../../Checkbox/Checkbox';\nimport { SelectedRowsHandler } from '../../types';\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\n// react-table calls \"index paths\" row ids. we named them indexPaths to reduce confusion with natural ids\n// the selection hook usess react-table's row selection, so this hok references row.id - it is the index path\n\nexport const useRowSelect = (onSelectedRows: SelectedRowsHandler | undefined): PluginHook<{}> => {\n const plugin = (hooks: any): void => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useBaseRowSelect(hooks);\n\n if (onSelectedRows) {\n const toggleRowSelected = (indexPath: string, checked: boolean): void =>\n onSelectedRows(state => {\n const nextState = { ...state };\n\n if (checked) {\n nextState[indexPath] = true;\n } else {\n delete nextState[indexPath];\n }\n\n return nextState;\n });\n\n const prepareRow = (row: any) => {\n row.toggleRowSelected = () => toggleRowSelected(row.id, !row.isSelected);\n };\n\n hooks.prepareRow.push(prepareRow);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const lastSelectedSortedIndex = React.useRef();\n\n hooks.visibleColumns.push((columns: any) => [\n {\n id: 'selection',\n Header: ({ getToggleAllRowsSelectedProps, rows }: any) => {\n const { onChange: _, ...props } = getToggleAllRowsSelectedProps();\n\n const onChange = (checked): void => {\n if (checked) {\n // this intentionally only selects top level rows - sub rows add too much complexity\n onSelectedRows(Object.assign({}, Array(rows.length).fill(true)));\n } else {\n onSelectedRows({});\n }\n };\n\n return <Checkbox {...props} onChange={onChange} className=\"mt-px\" />;\n },\n Cell: ({ row, rows }: any) => {\n const { onChange: _, ...props } = row.getToggleRowSelectedProps();\n // row.index refers to the index in the original data, not the current index\n const sortedIndex = rows.findIndex((r: Row) => r.index === row.index);\n\n const onClick = (event: React.MouseEvent): void => {\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedSortedIndex.current || 0, sortedIndex);\n\n for (let i = fromIndex; i <= toIndex; i++) {\n toggleRowSelected(rows[i].id, true);\n }\n } else {\n toggleRowSelected(row.id, !props.checked);\n }\n\n lastSelectedSortedIndex.current = sortedIndex;\n };\n\n return (\n <Checkbox\n {...props}\n className=\"mt-px\"\n onClick={onClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n />\n );\n },\n flex: '0 0 36px',\n className: 'flex-col justify-start !pb-0',\n },\n ...columns,\n ]);\n }\n };\n plugin.pluginName = 'useRowSelect';\n return plugin;\n};\n"],"names":["toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","useRowSelect","onSelectedRows","plugin","hooks","useBaseRowSelect","toggleRowSelected","indexPath","checked","state","nextState","prepareRow","row","id","isSelected","push","lastSelectedSortedIndex","React","useRef","visibleColumns","columns","Header","getToggleAllRowsSelectedProps","rows","props","onChange","Object","assign","Array","length","fill","Checkbox","className","Cell","getToggleRowSelectedProps","sortedIndex","findIndex","r","index","onClick","event","shiftKey","current","i","flex","pluginName"],"mappings":"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"}
1
+ {"version":3,"file":"useRowSelect.js","sources":["../../../../../../src/components/Table/hooks/plugins/useRowSelect.tsx"],"sourcesContent":["// this wraps react-table's internal useRowSelect hook\r\nimport React from 'react';\r\nimport { useRowSelect as useBaseRowSelect, Row, PluginHook } from 'react-table';\r\nimport { Checkbox } from '../../../Checkbox/Checkbox';\r\nimport { SelectedRowsHandler } from '../../types';\r\n\r\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\r\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\r\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\r\n\r\n return [fromIndex, toIndex];\r\n};\r\n\r\n// react-table calls \"index paths\" row ids. we named them indexPaths to reduce confusion with natural ids\r\n// the selection hook usess react-table's row selection, so this hok references row.id - it is the index path\r\n\r\nexport const useRowSelect = (onSelectedRows: SelectedRowsHandler | undefined): PluginHook<{}> => {\r\n const plugin = (hooks: any): void => {\r\n // eslint-disable-next-line react-hooks/rules-of-hooks\r\n useBaseRowSelect(hooks);\r\n\r\n if (onSelectedRows) {\r\n const toggleRowSelected = (indexPath: string, checked: boolean): void =>\r\n onSelectedRows(state => {\r\n const nextState = { ...state };\r\n\r\n if (checked) {\r\n nextState[indexPath] = true;\r\n } else {\r\n delete nextState[indexPath];\r\n }\r\n\r\n return nextState;\r\n });\r\n\r\n const prepareRow = (row: any) => {\r\n row.toggleRowSelected = () => toggleRowSelected(row.id, !row.isSelected);\r\n };\r\n\r\n hooks.prepareRow.push(prepareRow);\r\n\r\n // eslint-disable-next-line react-hooks/rules-of-hooks\r\n const lastSelectedSortedIndex = React.useRef();\r\n\r\n hooks.visibleColumns.push((columns: any) => [\r\n {\r\n id: 'selection',\r\n Header: ({ getToggleAllRowsSelectedProps, rows }: any) => {\r\n const { onChange: _, ...props } = getToggleAllRowsSelectedProps();\r\n\r\n const onChange = (checked): void => {\r\n if (checked) {\r\n // this intentionally only selects top level rows - sub rows add too much complexity\r\n onSelectedRows(Object.assign({}, Array(rows.length).fill(true)));\r\n } else {\r\n onSelectedRows({});\r\n }\r\n };\r\n\r\n return <Checkbox {...props} onChange={onChange} className=\"mt-px\" />;\r\n },\r\n Cell: ({ row, rows }: any) => {\r\n const { onChange: _, ...props } = row.getToggleRowSelectedProps();\r\n // row.index refers to the index in the original data, not the current index\r\n const sortedIndex = rows.findIndex((r: Row) => r.index === row.index);\r\n\r\n const onClick = (event: React.MouseEvent): void => {\r\n if (event.shiftKey) {\r\n const [fromIndex, toIndex] = toggleBetween(lastSelectedSortedIndex.current || 0, sortedIndex);\r\n\r\n for (let i = fromIndex; i <= toIndex; i++) {\r\n toggleRowSelected(rows[i].id, true);\r\n }\r\n } else {\r\n toggleRowSelected(row.id, !props.checked);\r\n }\r\n\r\n lastSelectedSortedIndex.current = sortedIndex;\r\n };\r\n\r\n return (\r\n <Checkbox\r\n {...props}\r\n className=\"mt-px\"\r\n onClick={onClick}\r\n // this is necessary to remove console spam from eslint\r\n onChange={() => false}\r\n />\r\n );\r\n },\r\n flex: '0 0 36px',\r\n className: 'flex-col justify-start !pb-0',\r\n },\r\n ...columns,\r\n ]);\r\n }\r\n };\r\n plugin.pluginName = 'useRowSelect';\r\n return plugin;\r\n};\r\n"],"names":["toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","useRowSelect","onSelectedRows","plugin","hooks","useBaseRowSelect","toggleRowSelected","indexPath","checked","state","nextState","prepareRow","row","id","isSelected","push","lastSelectedSortedIndex","React","useRef","visibleColumns","columns","Header","getToggleAllRowsSelectedProps","rows","onChange","_","props","Object","assign","Array","length","fill","Checkbox","className","Cell","getToggleRowSelectedProps","sortedIndex","findIndex","r","index","onClick","event","shiftKey","current","i","flex","pluginName"],"mappings":"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"}