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