@economic/taco 1.15.1 → 1.16.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 (379) hide show
  1. package/README.md +82 -82
  2. package/dist/components/Banner/Banner.d.ts +4 -0
  3. package/dist/components/Card/Card.d.ts +1 -1
  4. package/dist/components/Menu/Menu.d.ts +6 -1
  5. package/dist/components/Menu/Menu.stories.d.ts +2 -0
  6. package/dist/components/Menu/components/Content.d.ts +3 -1
  7. package/dist/components/Provider/Localization.d.ts +157 -0
  8. package/dist/components/Provider/Provider.d.ts +1 -148
  9. package/dist/components/SearchInput/SearchInput.d.ts +5 -1
  10. package/dist/components/Select2/Select2.d.ts +6 -4
  11. package/dist/components/Select2/Select2.stories.d.ts +1 -0
  12. package/dist/components/Table/hooks/plugins/useRowActions.d.ts +1 -1
  13. package/dist/esm/index.css +245 -245
  14. package/dist/esm/packages/taco/src/components/AlertDialog/AlertDialog.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/AlertDialog/Context.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/AlertDialog/components/Content.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/AlertDialog/components/Footer.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/AlertDialog/components/Trigger.js.map +1 -1
  19. package/dist/esm/packages/taco/src/components/Backdrop/Backdrop.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Banner/Banner.js +5 -0
  21. package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Button/Button.js.map +1 -1
  23. package/dist/esm/packages/taco/src/components/Button/util.js.map +1 -1
  24. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +1 -1
  25. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Card/Card.js +0 -54
  27. package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +17 -5
  29. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +6 -2
  31. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  33. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +1 -1
  34. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  35. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +1 -1
  36. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  37. package/dist/esm/packages/taco/src/components/Dialog/Dialog.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +5 -1
  39. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Dialog/components/Drawer.js +1 -1
  41. package/dist/esm/packages/taco/src/components/Dialog/components/Drawer.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Dialog/components/Trigger.js.map +1 -1
  43. package/dist/esm/packages/taco/src/components/Dialog/util.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Hanger/Hanger.js +1 -1
  45. package/dist/esm/packages/taco/src/components/Hanger/Hanger.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/HoverCard/HoverCard.js.map +1 -1
  47. package/dist/esm/packages/taco/src/components/HoverCard/Primitives.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Icon/components/AccountPreview.js.map +1 -1
  49. package/dist/esm/packages/taco/src/components/Icon/components/Accounting.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Icon/components/AccountingYear.js.map +1 -1
  51. package/dist/esm/packages/taco/src/components/Icon/components/AccountingYearCancel.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Icon/components/ArrowBottom.js.map +1 -1
  53. package/dist/esm/packages/taco/src/components/Icon/components/ArrowDown.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Icon/components/ArrowEnd.js.map +1 -1
  55. package/dist/esm/packages/taco/src/components/Icon/components/ArrowLeft.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Icon/components/ArrowRight.js.map +1 -1
  57. package/dist/esm/packages/taco/src/components/Icon/components/ArrowStart.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Icon/components/ArrowTop.js.map +1 -1
  59. package/dist/esm/packages/taco/src/components/Icon/components/ArrowUp.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Icon/components/Attach.js.map +1 -1
  61. package/dist/esm/packages/taco/src/components/Icon/components/AttachAuto.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Icon/components/AttachCancel.js.map +1 -1
  63. package/dist/esm/packages/taco/src/components/Icon/components/Autotext.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Icon/components/AutotextInsert.js.map +1 -1
  65. package/dist/esm/packages/taco/src/components/Icon/components/Basic.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Icon/components/BasicTabs.js.map +1 -1
  67. package/dist/esm/packages/taco/src/components/Icon/components/BellSolid.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Icon/components/Book.js.map +1 -1
  69. package/dist/esm/packages/taco/src/components/Icon/components/Booking.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Icon/components/Budget.js.map +1 -1
  71. package/dist/esm/packages/taco/src/components/Icon/components/Calendar.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/Icon/components/CashAccount.js.map +1 -1
  73. package/dist/esm/packages/taco/src/components/Icon/components/CashReports.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/Icon/components/Chat.js.map +1 -1
  75. package/dist/esm/packages/taco/src/components/Icon/components/ChatSolid.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Icon/components/ChevronDown.js.map +1 -1
  77. package/dist/esm/packages/taco/src/components/Icon/components/ChevronDownDouble.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Icon/components/ChevronDownSolid.js.map +1 -1
  79. package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeft.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  81. package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeftSolid.js.map +1 -1
  82. package/dist/esm/packages/taco/src/components/Icon/components/ChevronRight.js.map +1 -1
  83. package/dist/esm/packages/taco/src/components/Icon/components/ChevronRightDouble.js.map +1 -1
  84. package/dist/esm/packages/taco/src/components/Icon/components/ChevronRightSolid.js.map +1 -1
  85. package/dist/esm/packages/taco/src/components/Icon/components/ChevronUp.js.map +1 -1
  86. package/dist/esm/packages/taco/src/components/Icon/components/ChevronUpDouble.js.map +1 -1
  87. package/dist/esm/packages/taco/src/components/Icon/components/ChevronUpSolid.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/Icon/components/CircleClose.js.map +1 -1
  89. package/dist/esm/packages/taco/src/components/Icon/components/CircleMinus.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Icon/components/CirclePlus.js.map +1 -1
  91. package/dist/esm/packages/taco/src/components/Icon/components/CircleTick.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Icon/components/Clamp.js.map +1 -1
  93. package/dist/esm/packages/taco/src/components/Icon/components/ClampOpen.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Icon/components/Close.js.map +1 -1
  95. package/dist/esm/packages/taco/src/components/Icon/components/ConnectionEnable.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Icon/components/ConnectionRevoke.js.map +1 -1
  97. package/dist/esm/packages/taco/src/components/Icon/components/Contacts.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Icon/components/Copy.js.map +1 -1
  99. package/dist/esm/packages/taco/src/components/Icon/components/Courses.js.map +1 -1
  100. package/dist/esm/packages/taco/src/components/Icon/components/Credit.js.map +1 -1
  101. package/dist/esm/packages/taco/src/components/Icon/components/Delete.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Icon/components/DeletePermanently.js.map +1 -1
  103. package/dist/esm/packages/taco/src/components/Icon/components/Depecriate.js.map +1 -1
  104. package/dist/esm/packages/taco/src/components/Icon/components/Developer.js.map +1 -1
  105. package/dist/esm/packages/taco/src/components/Icon/components/DistributionTemplate.js.map +1 -1
  106. package/dist/esm/packages/taco/src/components/Icon/components/Document.js.map +1 -1
  107. package/dist/esm/packages/taco/src/components/Icon/components/DocumentApprove.js.map +1 -1
  108. package/dist/esm/packages/taco/src/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  109. package/dist/esm/packages/taco/src/components/Icon/components/DocumentCut.js.map +1 -1
  110. package/dist/esm/packages/taco/src/components/Icon/components/DocumentError.js.map +1 -1
  111. package/dist/esm/packages/taco/src/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Icon/components/DocumentMerge.js.map +1 -1
  113. package/dist/esm/packages/taco/src/components/Icon/components/DocumentMove.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Icon/components/DocumentPreview.js.map +1 -1
  115. package/dist/esm/packages/taco/src/components/Icon/components/DocumentReceived.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  117. package/dist/esm/packages/taco/src/components/Icon/components/DocumentSplit.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Icon/components/DocumentTime.js.map +1 -1
  119. package/dist/esm/packages/taco/src/components/Icon/components/Download.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Icon/components/Drag.js.map +1 -1
  121. package/dist/esm/packages/taco/src/components/Icon/components/ECopedia.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Icon/components/ESignature.js.map +1 -1
  123. package/dist/esm/packages/taco/src/components/Icon/components/Edit.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  125. package/dist/esm/packages/taco/src/components/Icon/components/EllipsisVertical.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Icon/components/EntriesOnAccount.js.map +1 -1
  127. package/dist/esm/packages/taco/src/components/Icon/components/EntriesOpen.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Icon/components/EntriesWarning.js.map +1 -1
  129. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  131. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  132. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  133. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  135. package/dist/esm/packages/taco/src/components/Icon/components/Envelope.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/Icon/components/EnvelopeApproved.js.map +1 -1
  137. package/dist/esm/packages/taco/src/components/Icon/components/ExpandView.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Icon/components/Expenses.js.map +1 -1
  139. package/dist/esm/packages/taco/src/components/Icon/components/Export.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Icon/components/ExportToExcel.js.map +1 -1
  141. package/dist/esm/packages/taco/src/components/Icon/components/ExportToPdf.js.map +1 -1
  142. package/dist/esm/packages/taco/src/components/Icon/components/Filter.js.map +1 -1
  143. package/dist/esm/packages/taco/src/components/Icon/components/FilterSolid.js.map +1 -1
  144. package/dist/esm/packages/taco/src/components/Icon/components/GraphSolid.js.map +1 -1
  145. package/dist/esm/packages/taco/src/components/Icon/components/Hash.js.map +1 -1
  146. package/dist/esm/packages/taco/src/components/Icon/components/Home.js.map +1 -1
  147. package/dist/esm/packages/taco/src/components/Icon/components/Images.js.map +1 -1
  148. package/dist/esm/packages/taco/src/components/Icon/components/Import.js.map +1 -1
  149. package/dist/esm/packages/taco/src/components/Icon/components/Inbox.js.map +1 -1
  150. package/dist/esm/packages/taco/src/components/Icon/components/InboxEinvoicing.js.map +1 -1
  151. package/dist/esm/packages/taco/src/components/Icon/components/InboxScanning.js.map +1 -1
  152. package/dist/esm/packages/taco/src/components/Icon/components/InboxSmart.js.map +1 -1
  153. package/dist/esm/packages/taco/src/components/Icon/components/Info.js.map +1 -1
  154. package/dist/esm/packages/taco/src/components/Icon/components/Inventory.js.map +1 -1
  155. package/dist/esm/packages/taco/src/components/Icon/components/InventoryMatrix.js.map +1 -1
  156. package/dist/esm/packages/taco/src/components/Icon/components/JournalPro.js.map +1 -1
  157. package/dist/esm/packages/taco/src/components/Icon/components/Layout.js.map +1 -1
  158. package/dist/esm/packages/taco/src/components/Icon/components/LayoutBoth.js.map +1 -1
  159. package/dist/esm/packages/taco/src/components/Icon/components/LayoutFirst.js.map +1 -1
  160. package/dist/esm/packages/taco/src/components/Icon/components/LayoutLast.js.map +1 -1
  161. package/dist/esm/packages/taco/src/components/Icon/components/LayoutNone.js.map +1 -1
  162. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCard.js.map +1 -1
  163. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  164. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  165. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  166. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  167. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  168. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  169. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  170. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  171. package/dist/esm/packages/taco/src/components/Icon/components/Lightbulb.js.map +1 -1
  172. package/dist/esm/packages/taco/src/components/Icon/components/Line.js.map +1 -1
  173. package/dist/esm/packages/taco/src/components/Icon/components/List.js.map +1 -1
  174. package/dist/esm/packages/taco/src/components/Icon/components/ListBulleted.js.map +1 -1
  175. package/dist/esm/packages/taco/src/components/Icon/components/ListSearch.js.map +1 -1
  176. package/dist/esm/packages/taco/src/components/Icon/components/LockOpen.js.map +1 -1
  177. package/dist/esm/packages/taco/src/components/Icon/components/Log.js.map +1 -1
  178. package/dist/esm/packages/taco/src/components/Icon/components/LogOut.js.map +1 -1
  179. package/dist/esm/packages/taco/src/components/Icon/components/Market.js.map +1 -1
  180. package/dist/esm/packages/taco/src/components/Icon/components/MatchAmount.js.map +1 -1
  181. package/dist/esm/packages/taco/src/components/Icon/components/MatchEntries.js.map +1 -1
  182. package/dist/esm/packages/taco/src/components/Icon/components/Menu.js.map +1 -1
  183. package/dist/esm/packages/taco/src/components/Icon/components/Mileage.js.map +1 -1
  184. package/dist/esm/packages/taco/src/components/Icon/components/ModalResize.js.map +1 -1
  185. package/dist/esm/packages/taco/src/components/Icon/components/ModalShrink.js.map +1 -1
  186. package/dist/esm/packages/taco/src/components/Icon/components/More.js.map +1 -1
  187. package/dist/esm/packages/taco/src/components/Icon/components/MoreSolid.js.map +1 -1
  188. package/dist/esm/packages/taco/src/components/Icon/components/Move.js.map +1 -1
  189. package/dist/esm/packages/taco/src/components/Icon/components/NavigationList.js.map +1 -1
  190. package/dist/esm/packages/taco/src/components/Icon/components/Note.js.map +1 -1
  191. package/dist/esm/packages/taco/src/components/Icon/components/NoteFollowUp.js.map +1 -1
  192. package/dist/esm/packages/taco/src/components/Icon/components/NoteRead.js.map +1 -1
  193. package/dist/esm/packages/taco/src/components/Icon/components/Numbers.js.map +1 -1
  194. package/dist/esm/packages/taco/src/components/Icon/components/PartnerApi.js.map +1 -1
  195. package/dist/esm/packages/taco/src/components/Icon/components/Period.js.map +1 -1
  196. package/dist/esm/packages/taco/src/components/Icon/components/PersonChange.js.map +1 -1
  197. package/dist/esm/packages/taco/src/components/Icon/components/PersonMinus.js.map +1 -1
  198. package/dist/esm/packages/taco/src/components/Icon/components/PersonPlus.js.map +1 -1
  199. package/dist/esm/packages/taco/src/components/Icon/components/PersonTick.js.map +1 -1
  200. package/dist/esm/packages/taco/src/components/Icon/components/Play.js.map +1 -1
  201. package/dist/esm/packages/taco/src/components/Icon/components/PlusMinus.js.map +1 -1
  202. package/dist/esm/packages/taco/src/components/Icon/components/Print.js.map +1 -1
  203. package/dist/esm/packages/taco/src/components/Icon/components/ProcessPayment.js.map +1 -1
  204. package/dist/esm/packages/taco/src/components/Icon/components/ProductLedgerCard.js.map +1 -1
  205. package/dist/esm/packages/taco/src/components/Icon/components/Profile.js.map +1 -1
  206. package/dist/esm/packages/taco/src/components/Icon/components/ProjectCards.js.map +1 -1
  207. package/dist/esm/packages/taco/src/components/Icon/components/Projects.js.map +1 -1
  208. package/dist/esm/packages/taco/src/components/Icon/components/Quicklinks.js.map +1 -1
  209. package/dist/esm/packages/taco/src/components/Icon/components/RatingBankruptcy.js.map +1 -1
  210. package/dist/esm/packages/taco/src/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  211. package/dist/esm/packages/taco/src/components/Icon/components/Reconciled.js.map +1 -1
  212. package/dist/esm/packages/taco/src/components/Icon/components/Refresh.js.map +1 -1
  213. package/dist/esm/packages/taco/src/components/Icon/components/Report.js.map +1 -1
  214. package/dist/esm/packages/taco/src/components/Icon/components/ReportSolid.js.map +1 -1
  215. package/dist/esm/packages/taco/src/components/Icon/components/Restore.js.map +1 -1
  216. package/dist/esm/packages/taco/src/components/Icon/components/RotateLeft.js.map +1 -1
  217. package/dist/esm/packages/taco/src/components/Icon/components/RotateRight.js.map +1 -1
  218. package/dist/esm/packages/taco/src/components/Icon/components/Sales.js.map +1 -1
  219. package/dist/esm/packages/taco/src/components/Icon/components/Search.js.map +1 -1
  220. package/dist/esm/packages/taco/src/components/Icon/components/SearchBold.js.map +1 -1
  221. package/dist/esm/packages/taco/src/components/Icon/components/Secure.js.map +1 -1
  222. package/dist/esm/packages/taco/src/components/Icon/components/SecureTick.js.map +1 -1
  223. package/dist/esm/packages/taco/src/components/Icon/components/Settings.js.map +1 -1
  224. package/dist/esm/packages/taco/src/components/Icon/components/SettingsSolid.js.map +1 -1
  225. package/dist/esm/packages/taco/src/components/Icon/components/Shortcuts.js.map +1 -1
  226. package/dist/esm/packages/taco/src/components/Icon/components/ShowAll.js.map +1 -1
  227. package/dist/esm/packages/taco/src/components/Icon/components/ShowLess.js.map +1 -1
  228. package/dist/esm/packages/taco/src/components/Icon/components/ShowMore.js.map +1 -1
  229. package/dist/esm/packages/taco/src/components/Icon/components/ShowTemplate.js.map +1 -1
  230. package/dist/esm/packages/taco/src/components/Icon/components/Sliders.js.map +1 -1
  231. package/dist/esm/packages/taco/src/components/Icon/components/Smartpay.js.map +1 -1
  232. package/dist/esm/packages/taco/src/components/Icon/components/SortBy.js.map +1 -1
  233. package/dist/esm/packages/taco/src/components/Icon/components/Spinner.js.map +1 -1
  234. package/dist/esm/packages/taco/src/components/Icon/components/Star.js.map +1 -1
  235. package/dist/esm/packages/taco/src/components/Icon/components/StarSolid.js.map +1 -1
  236. package/dist/esm/packages/taco/src/components/Icon/components/Subscriptions.js.map +1 -1
  237. package/dist/esm/packages/taco/src/components/Icon/components/SystemEntries.js.map +1 -1
  238. package/dist/esm/packages/taco/src/components/Icon/components/Tag.js.map +1 -1
  239. package/dist/esm/packages/taco/src/components/Icon/components/TemplateOverride.js.map +1 -1
  240. package/dist/esm/packages/taco/src/components/Icon/components/Templates.js.map +1 -1
  241. package/dist/esm/packages/taco/src/components/Icon/components/ThumbBoth.js.map +1 -1
  242. package/dist/esm/packages/taco/src/components/Icon/components/ThumbDown.js.map +1 -1
  243. package/dist/esm/packages/taco/src/components/Icon/components/ThumbDownSolid.js.map +1 -1
  244. package/dist/esm/packages/taco/src/components/Icon/components/ThumbUp.js.map +1 -1
  245. package/dist/esm/packages/taco/src/components/Icon/components/ThumbUpSolid.js.map +1 -1
  246. package/dist/esm/packages/taco/src/components/Icon/components/Tick.js.map +1 -1
  247. package/dist/esm/packages/taco/src/components/Icon/components/Time.js.map +1 -1
  248. package/dist/esm/packages/taco/src/components/Icon/components/Transfer.js.map +1 -1
  249. package/dist/esm/packages/taco/src/components/Icon/components/TransferCancel.js.map +1 -1
  250. package/dist/esm/packages/taco/src/components/Icon/components/TransferLocked.js.map +1 -1
  251. package/dist/esm/packages/taco/src/components/Icon/components/Undo.js.map +1 -1
  252. package/dist/esm/packages/taco/src/components/Icon/components/Undock.js.map +1 -1
  253. package/dist/esm/packages/taco/src/components/Icon/components/Unreconciled.js.map +1 -1
  254. package/dist/esm/packages/taco/src/components/Icon/components/Warning.js.map +1 -1
  255. package/dist/esm/packages/taco/src/components/Icon/components/Webshop.js.map +1 -1
  256. package/dist/esm/packages/taco/src/components/Icon/components/Website.js.map +1 -1
  257. package/dist/esm/packages/taco/src/components/Icon/components/Workflow.js.map +1 -1
  258. package/dist/esm/packages/taco/src/components/Icon/components/Zoom.js.map +1 -1
  259. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  260. package/dist/esm/packages/taco/src/components/IconButton/IconButton.js.map +1 -1
  261. package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
  262. package/dist/esm/packages/taco/src/components/Input/util.js.map +1 -1
  263. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +24 -19
  264. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  265. package/dist/esm/packages/taco/src/components/Listbox/useListbox.js.map +1 -1
  266. package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js +1 -1
  267. package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js.map +1 -1
  268. package/dist/esm/packages/taco/src/components/Listbox/useTypeahead.js +1 -1
  269. package/dist/esm/packages/taco/src/components/Listbox/util.js.map +1 -1
  270. package/dist/esm/packages/taco/src/components/Menu/Menu.js +11 -1
  271. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  272. package/dist/esm/packages/taco/src/components/Menu/components/Checkbox.js.map +1 -1
  273. package/dist/esm/packages/taco/src/components/Menu/components/Content.js +4 -3
  274. package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
  275. package/dist/esm/packages/taco/src/components/Menu/components/Header.js.map +1 -1
  276. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  277. package/dist/esm/packages/taco/src/components/Menu/components/RadioGroup.js.map +1 -1
  278. package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js.map +1 -1
  279. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js.map +1 -1
  280. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js +1 -1
  281. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
  282. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js +1 -1
  283. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
  284. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  285. package/dist/esm/packages/taco/src/components/Popover/Primitives.js.map +1 -1
  286. package/dist/esm/packages/taco/src/components/Popover/util.js.map +1 -1
  287. package/dist/esm/packages/taco/src/components/Provider/Localization.js +112 -0
  288. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -0
  289. package/dist/esm/packages/taco/src/components/Provider/Provider.js +6 -106
  290. package/dist/esm/packages/taco/src/components/Provider/Provider.js.map +1 -1
  291. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
  292. package/dist/esm/packages/taco/src/components/ScrollArea/ScrollArea.js.map +1 -1
  293. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +2 -53
  294. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  295. package/dist/esm/packages/taco/src/components/Select/Select.js.map +1 -1
  296. package/dist/esm/packages/taco/src/components/Select/useSelect.js +1 -1
  297. package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
  298. package/dist/esm/packages/taco/src/components/Select2/Select2.js +7 -5
  299. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  300. package/dist/esm/packages/taco/src/components/Select2/components/Collection.js +0 -6
  301. package/dist/esm/packages/taco/src/components/Select2/components/Collection.js.map +1 -1
  302. package/dist/esm/packages/taco/src/components/Select2/components/Context.js.map +1 -1
  303. package/dist/esm/packages/taco/src/components/Select2/components/Create.js +1 -1
  304. package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
  305. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +1 -1
  306. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  307. package/dist/esm/packages/taco/src/components/Select2/components/Group.js.map +1 -1
  308. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  309. package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
  310. package/dist/esm/packages/taco/src/components/Select2/components/Title.js.map +1 -1
  311. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +49 -23
  312. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  313. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +3 -2
  314. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
  315. package/dist/esm/packages/taco/src/components/Select2/utilities.js.map +1 -1
  316. package/dist/esm/packages/taco/src/components/Switch/Switch.js +18 -6
  317. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  318. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js.map +1 -1
  319. package/dist/esm/packages/taco/src/components/Table/components/Table.js +5 -1
  320. package/dist/esm/packages/taco/src/components/Table/components/Table.js.map +1 -1
  321. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +1 -1
  322. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
  323. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  324. package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js +1 -1
  325. package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js.map +1 -1
  326. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  327. package/dist/esm/packages/taco/src/components/Table/util/rowIndexPath.js.map +1 -1
  328. package/dist/esm/packages/taco/src/components/Table/util/sortTypes.js.map +1 -1
  329. package/dist/esm/packages/taco/src/components/Table/util.js.map +1 -1
  330. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  331. package/dist/esm/packages/taco/src/components/Toast/Toast.js +1 -1
  332. package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
  333. package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
  334. package/dist/esm/packages/taco/src/components/Toast/util.js.map +1 -1
  335. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  336. package/dist/esm/packages/taco/src/components/Tour/Tour.js +1 -1
  337. package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
  338. package/dist/esm/packages/taco/src/hooks/useBoundingClientRectListener.js.map +1 -1
  339. package/dist/esm/packages/taco/src/hooks/useId.js.map +1 -1
  340. package/dist/esm/packages/taco/src/hooks/useIsFormControl.js.map +1 -1
  341. package/dist/esm/packages/taco/src/hooks/useMergedRef.js.map +1 -1
  342. package/dist/esm/packages/taco/src/hooks/usePrevious.js.map +1 -1
  343. package/dist/esm/packages/taco/src/index.js +5 -4
  344. package/dist/esm/packages/taco/src/index.js.map +1 -1
  345. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js.map +1 -1
  346. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  347. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
  348. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Context.js.map +1 -1
  349. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Group.js.map +1 -1
  350. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
  351. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js.map +1 -1
  352. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Title.js.map +1 -1
  353. package/dist/esm/packages/taco/src/utils/aria.js.map +1 -1
  354. package/dist/esm/packages/taco/src/utils/colors.js.map +1 -1
  355. package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
  356. package/dist/esm/packages/taco/src/utils/debounce.js.map +1 -1
  357. package/dist/esm/packages/taco/src/utils/device.js.map +1 -1
  358. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  359. package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js +8 -0
  360. package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js.map +1 -1
  361. package/dist/esm/packages/taco/src/utils/hooks/useDropTarget.js.map +1 -1
  362. package/dist/esm/packages/taco/src/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  363. package/dist/esm/packages/taco/src/utils/hooks/useListScrollTo.js.map +1 -1
  364. package/dist/esm/packages/taco/src/utils/hooks/useOnClickOutside.js.map +1 -1
  365. package/dist/esm/packages/taco/src/utils/hooks/useTimer.js.map +1 -1
  366. package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
  367. package/dist/esm/packages/taco/src/utils/mergeRefs.js.map +1 -1
  368. package/dist/esm/packages/taco/src/utils/taillwind.js.map +1 -1
  369. package/dist/index.css +245 -245
  370. package/dist/index.d.ts +1 -0
  371. package/dist/taco.cjs.development.js +765 -672
  372. package/dist/taco.cjs.development.js.map +1 -1
  373. package/dist/taco.cjs.production.min.js +1 -1
  374. package/dist/taco.cjs.production.min.js.map +1 -1
  375. package/dist/types.d.ts +1 -0
  376. package/package.json +3 -3
  377. package/plugins/tailwindcss-aria-attributes.js +73 -73
  378. package/tailwind.config.js +284 -284
  379. package/types.json +59 -39
@@ -71,7 +71,7 @@ const Button = /*#__PURE__*/React__default.forwardRef(function Select2TriggerBut
71
71
  type: "button"
72
72
  }), children, /*#__PURE__*/React__default.createElement(Icon, {
73
73
  name: open ? 'chevron-up' : 'chevron-down',
74
- className: "-mr-1 ml-auto"
74
+ className: "pointer-events-none -mr-1 ml-auto"
75
75
  }));
76
76
  });
77
77
  const Single = /*#__PURE__*/React__default.forwardRef(function Select2TriggerSingle(props, ref) {
@@ -122,22 +122,12 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
122
122
  setValue,
123
123
  tags
124
124
  } = useSelect2Context();
125
- const contentRef = React__default.useRef(null);
126
- const createClickHandler = tagValue => event => {
127
- event === null || event === void 0 ? void 0 : event.stopPropagation();
128
- event === null || event === void 0 ? void 0 : event.preventDefault();
129
- if (!disabled && !readOnly) {
130
- setValue(tagValue);
131
- }
132
- };
133
125
  const valuesAsChildren = values.map(value => children.find(c => c.props.value === value));
126
+ let content;
127
+ let className = buttonProps.className;
134
128
  if (open) {
135
- return /*#__PURE__*/React__default.createElement("span", {
136
- className: "relative h-8"
137
- }, /*#__PURE__*/React__default.createElement(Button, Object.assign({}, buttonProps, {
138
- className: cn('absolute z-20', buttonProps.className),
139
- ref: ref
140
- }), /*#__PURE__*/React__default.createElement(ScrollArea, {
129
+ className = cn('absolute z-20', buttonProps.className);
130
+ content = /*#__PURE__*/React__default.createElement(ScrollArea, {
141
131
  className: "my-1 flex max-h-[5.5rem] flex-col"
142
132
  }, /*#__PURE__*/React__default.createElement("span", {
143
133
  className: "flex flex-wrap gap-1"
@@ -147,18 +137,54 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
147
137
  color: tags ? child.props.color : undefined,
148
138
  disabled: disabled,
149
139
  icon: child.props.icon,
150
- onDelete: open ? createClickHandler(child.props.value) : undefined,
140
+ onDelete: event => {
141
+ event === null || event === void 0 ? void 0 : event.stopPropagation();
142
+ event === null || event === void 0 ? void 0 : event.preventDefault();
143
+ if (!disabled && !readOnly) {
144
+ setValue(child.props.value);
145
+ }
146
+ },
151
147
  readOnly: readOnly
152
- }, child.props.children))))));
148
+ }, child.props.children))));
149
+ } else {
150
+ content = /*#__PURE__*/React__default.createElement(MultipleValue, {
151
+ key: String(open),
152
+ valuesAsChildren: valuesAsChildren
153
+ });
153
154
  }
154
- const boundaryIndex = contentRef.current ? getIndexOfFirstChildOverflowingParent(contentRef.current, 30) : undefined;
155
- return /*#__PURE__*/React__default.createElement(Button, Object.assign({}, buttonProps, {
155
+ return /*#__PURE__*/React__default.createElement("span", {
156
+ className: cn({
157
+ 'relative h-8': open
158
+ })
159
+ }, /*#__PURE__*/React__default.createElement(Button, Object.assign({}, buttonProps, {
160
+ className: className,
156
161
  ref: ref
157
- }), /*#__PURE__*/React__default.createElement("span", {
162
+ }), content));
163
+ });
164
+ const MultipleValue = ({
165
+ valuesAsChildren
166
+ }) => {
167
+ const {
168
+ disabled,
169
+ open,
170
+ readOnly,
171
+ setValue,
172
+ tags
173
+ } = useSelect2Context();
174
+ const [contentRef, setContentRef] = React__default.useState(null);
175
+ const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;
176
+ const createClickHandler = tagValue => event => {
177
+ event === null || event === void 0 ? void 0 : event.stopPropagation();
178
+ event === null || event === void 0 ? void 0 : event.preventDefault();
179
+ if (!disabled && !readOnly) {
180
+ setValue(tagValue);
181
+ }
182
+ };
183
+ return /*#__PURE__*/React__default.createElement("span", {
158
184
  className: "relative flex items-center gap-1 overflow-hidden"
159
185
  }, /*#__PURE__*/React__default.createElement("span", {
160
186
  className: "flex gap-1 truncate",
161
- ref: contentRef
187
+ ref: el => setContentRef(el)
162
188
  }, valuesAsChildren.map((child, index) => {
163
189
  const tag = /*#__PURE__*/React__default.createElement(Tag, {
164
190
  key: child.props.value,
@@ -183,8 +209,8 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
183
209
  title: valuesAsChildren.slice(boundaryIndex + 1).map(child => child ? String(child.props.children) : '').join(', ')
184
210
  }, /*#__PURE__*/React__default.createElement(Badge, {
185
211
  className: "flex-shrink-0"
186
- }, "+", valuesAsChildren.length - (boundaryIndex + 1))) : null));
187
- });
212
+ }, "+", valuesAsChildren.length - (boundaryIndex + 1))) : null);
213
+ };
188
214
  const matchesValue = value => child => {
189
215
  if (Array.isArray(value)) {
190
216
  return value.includes(child.props.value);
@@ -1 +1 @@
1
- {"version":3,"file":"Trigger.js","sources":["../../../../../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\nimport { Tag } from '../../Tag/Tag';\r\nimport { Tooltip } from '../../Tooltip/Tooltip';\r\nimport { Icon } from '../../Icon/Icon';\r\nimport { Badge } from '../../Badge/Badge';\r\nimport { getInputClasses } from '../../Input/util';\r\nimport { Select2OptionValue } from '../types';\r\nimport { useSelect2Context } from './Context';\r\nimport { Select2OptionProps } from './Option';\r\nimport { getIndexOfFirstChildOverflowingParent } from '../../../utils/dom';\r\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\r\n\r\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\r\n children: React.ReactElement<Select2OptionProps>[];\r\n};\r\n\r\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\r\n const { multiple, value } = useSelect2Context();\r\n\r\n if (Array.isArray(value) || multiple) {\r\n const values = Array.isArray(value) ? value : value !== undefined ? [value] : undefined;\r\n return <Multiple {...props} ref={ref} values={values} />;\r\n }\r\n\r\n return <Single {...props} ref={ref} value={value} />;\r\n});\r\n\r\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\r\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\r\n const { children, onClick, tabIndex = 0, ...otherProps } = props;\r\n const { disabled, highlighted, invalid, open, readOnly } = useSelect2Context();\r\n\r\n const className = cn(\r\n 'cursor-pointer !px-1.5',\r\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly }).replace('w-full ', ''),\r\n { 'w-full': !props.className?.includes('w-') },\r\n props.className\r\n );\r\n\r\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n if (disabled || readOnly) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (typeof onClick === 'function') {\r\n onClick(event);\r\n }\r\n };\r\n\r\n return (\r\n <button\r\n {...otherProps}\r\n aria-invalid={invalid ? true : undefined}\r\n aria-readonly={readOnly ? true : undefined}\r\n className={className}\r\n disabled={disabled}\r\n onClick={handleClick}\r\n ref={ref}\r\n role=\"combobox\"\r\n tabIndex={disabled || readOnly ? -1 : tabIndex}\r\n type=\"button\">\r\n {children}\r\n <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"-mr-1 ml-auto\" />\r\n </button>\r\n );\r\n});\r\n\r\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue };\r\n\r\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\r\n const { children, value, ...buttonProps } = props;\r\n const { disabled, readOnly, tags } = useSelect2Context();\r\n const contentClassName = cn('truncate flex items-center gap-1');\r\n\r\n const currentValue = children.find(matchesValue(value));\r\n\r\n let output;\r\n\r\n if (currentValue) {\r\n if (tags) {\r\n output = (\r\n <Tag\r\n className=\"truncate\"\r\n color={currentValue.props.color}\r\n disabled={disabled}\r\n icon={currentValue.props.icon}\r\n readOnly={readOnly}>\r\n {currentValue.props.children}\r\n </Tag>\r\n );\r\n } else {\r\n output = (\r\n <>\r\n {currentValue.props.icon ? (\r\n typeof currentValue.props.icon === 'string' ? (\r\n <Icon name={currentValue.props.icon} />\r\n ) : (\r\n currentValue.props.icon\r\n )\r\n ) : null}\r\n {currentValue.props.children}\r\n </>\r\n );\r\n }\r\n }\r\n\r\n return (\r\n <Button {...buttonProps} ref={ref}>\r\n <span className={contentClassName}>{output}</span>\r\n </Button>\r\n );\r\n});\r\n\r\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\r\n values?: Select2OptionValue[];\r\n};\r\n\r\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\r\n const { children, values = [], ...buttonProps } = props;\r\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\r\n const contentRef = React.useRef<HTMLSpanElement>(null);\r\n\r\n const createClickHandler = tagValue => event => {\r\n event?.stopPropagation();\r\n event?.preventDefault();\r\n\r\n if (!disabled && !readOnly) {\r\n setValue(tagValue);\r\n }\r\n };\r\n const valuesAsChildren = values.map(value =>\r\n children.find(c => c.props.value === value)\r\n ) as React.ReactElement<Select2OptionProps>[];\r\n\r\n if (open) {\r\n return (\r\n <span className=\"relative h-8\">\r\n <Button {...buttonProps} className={cn('absolute z-20', buttonProps.className)} ref={ref}>\r\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\">\r\n <span className=\"flex flex-wrap gap-1\">\r\n {valuesAsChildren.map(child => (\r\n <Tag\r\n key={child.props.value}\r\n className=\"truncate\"\r\n color={tags ? child.props.color : undefined}\r\n disabled={disabled}\r\n icon={child.props.icon}\r\n onDelete={open ? createClickHandler(child.props.value) : undefined}\r\n readOnly={readOnly}>\r\n {child.props.children}\r\n </Tag>\r\n ))}\r\n </span>\r\n </ScrollArea>\r\n </Button>\r\n </span>\r\n );\r\n }\r\n\r\n const boundaryIndex = contentRef.current ? getIndexOfFirstChildOverflowingParent(contentRef.current, 30) : undefined;\r\n\r\n return (\r\n <Button {...buttonProps} ref={ref}>\r\n <span className=\"relative flex items-center gap-1 overflow-hidden\">\r\n <span className=\"flex gap-1 truncate\" ref={contentRef}>\r\n {valuesAsChildren.map((child, index) => {\r\n const tag = (\r\n <Tag\r\n key={child.props.value}\r\n className={cn('cursor-pointer', {\r\n truncate: index === boundaryIndex,\r\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\r\n })}\r\n color={tags ? child.props.color : undefined}\r\n disabled={disabled}\r\n icon={child.props.icon}\r\n onDelete={open ? createClickHandler(child.props.value) : undefined}\r\n readOnly={readOnly}>\r\n {child.props.children}\r\n </Tag>\r\n );\r\n\r\n if (index === boundaryIndex) {\r\n return (\r\n <Tooltip key={child.props.value} title={String(child.props.children)}>\r\n {tag}\r\n </Tooltip>\r\n );\r\n }\r\n\r\n return tag;\r\n })}\r\n </span>\r\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\r\n <Tooltip\r\n title={valuesAsChildren\r\n .slice(boundaryIndex + 1)\r\n .map(child => (child ? String(child.props.children) : ''))\r\n .join(', ')}>\r\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\r\n </Tooltip>\r\n ) : null}\r\n </span>\r\n </Button>\r\n );\r\n});\r\n\r\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\r\n if (Array.isArray(value)) {\r\n return value.includes(child.props.value);\r\n }\r\n\r\n return child.props.value === value;\r\n};\r\n"],"names":["Trigger","React","forwardRef","Select2Trigger","props","ref","multiple","value","useSelect2Context","Array","isArray","values","undefined","Multiple","Single","Button","Select2TriggerButton","children","onClick","tabIndex","otherProps","disabled","highlighted","invalid","open","readOnly","className","cn","getInputClasses","replace","includes","handleClick","event","preventDefault","role","type","Icon","name","Select2TriggerSingle","buttonProps","tags","contentClassName","currentValue","find","matchesValue","output","Tag","color","icon","Select2TriggerMultiple","setValue","contentRef","useRef","createClickHandler","tagValue","stopPropagation","valuesAsChildren","map","c","ScrollArea","child","key","onDelete","boundaryIndex","current","getIndexOfFirstChildOverflowingParent","index","tag","truncate","hidden","Tooltip","title","String","length","slice","join","Badge"],"mappings":"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"}
1
+ {"version":3,"file":"Trigger.js","sources":["../../../../../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Tag } from '../../Tag/Tag';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { Icon } from '../../Icon/Icon';\nimport { Badge } from '../../Badge/Badge';\nimport { getInputClasses } from '../../Input/util';\nimport { Select2OptionValue } from '../types';\nimport { useSelect2Context } from './Context';\nimport { Select2OptionProps } from './Option';\nimport { getIndexOfFirstChildOverflowingParent } from '../../../utils/dom';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\n\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n children: React.ReactElement<Select2OptionProps>[];\n};\n\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\n const { multiple, value } = useSelect2Context();\n\n if (Array.isArray(value) || multiple) {\n const values = Array.isArray(value) ? value : value !== undefined ? [value] : undefined;\n return <Multiple {...props} ref={ref} values={values} />;\n }\n\n return <Single {...props} ref={ref} value={value} />;\n});\n\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\n const { children, onClick, tabIndex = 0, ...otherProps } = props;\n const { disabled, highlighted, invalid, open, readOnly } = useSelect2Context();\n\n const className = cn(\n 'cursor-pointer !px-1.5',\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly }).replace('w-full ', ''),\n { 'w-full': !props.className?.includes('w-') },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) {\n event.preventDefault();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n return (\n <button\n {...otherProps}\n aria-invalid={invalid ? true : undefined}\n aria-readonly={readOnly ? true : undefined}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n ref={ref}\n role=\"combobox\"\n tabIndex={disabled || readOnly ? -1 : tabIndex}\n type=\"button\">\n {children}\n <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"pointer-events-none -mr-1 ml-auto\" />\n </button>\n );\n});\n\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue };\n\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\n const { children, value, ...buttonProps } = props;\n const { disabled, readOnly, tags } = useSelect2Context();\n const contentClassName = cn('truncate flex items-center gap-1');\n\n const currentValue = children.find(matchesValue(value));\n\n let output;\n\n if (currentValue) {\n if (tags) {\n output = (\n <Tag\n className=\"truncate\"\n color={currentValue.props.color}\n disabled={disabled}\n icon={currentValue.props.icon}\n readOnly={readOnly}>\n {currentValue.props.children}\n </Tag>\n );\n } else {\n output = (\n <>\n {currentValue.props.icon ? (\n typeof currentValue.props.icon === 'string' ? (\n <Icon name={currentValue.props.icon} />\n ) : (\n currentValue.props.icon\n )\n ) : null}\n {currentValue.props.children}\n </>\n );\n }\n }\n\n return (\n <Button {...buttonProps} ref={ref}>\n <span className={contentClassName}>{output}</span>\n </Button>\n );\n});\n\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\n values?: Select2OptionValue[];\n};\n\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\n const { children, values = [], ...buttonProps } = props;\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n\n const valuesAsChildren = values.map(value =>\n children.find(c => c.props.value === value)\n ) as React.ReactElement<Select2OptionProps>[];\n\n let content;\n let className = buttonProps.className;\n\n if (open) {\n className = cn('absolute z-20', buttonProps.className);\n content = (\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\">\n <span className=\"flex flex-wrap gap-1\">\n {valuesAsChildren.map(child => (\n <Tag\n key={child.props.value}\n className=\"truncate\"\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.icon}\n onDelete={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n ))}\n </span>\n </ScrollArea>\n );\n } else {\n content = <MultipleValue key={String(open)} valuesAsChildren={valuesAsChildren} />;\n }\n\n return (\n <span className={cn({ 'relative h-8': open })}>\n <Button {...buttonProps} className={className} ref={ref}>\n {content}\n </Button>\n </span>\n );\n});\n\nconst MultipleValue = ({ valuesAsChildren }) => {\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const [contentRef, setContentRef] = React.useState<HTMLSpanElement | null>(null);\n const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;\n\n const createClickHandler = tagValue => event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(tagValue);\n }\n };\n\n return (\n <span className=\"relative flex items-center gap-1 overflow-hidden\">\n <span className=\"flex gap-1 truncate\" ref={el => setContentRef(el)}>\n {valuesAsChildren.map((child, index) => {\n const tag = (\n <Tag\n key={child.props.value}\n className={cn('cursor-pointer', {\n truncate: index === boundaryIndex,\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\n })}\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.icon}\n onDelete={open ? createClickHandler(child.props.value) : undefined}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n );\n\n if (index === boundaryIndex) {\n return (\n <Tooltip key={child.props.value} title={String(child.props.children)}>\n {tag}\n </Tooltip>\n );\n }\n\n return tag;\n })}\n </span>\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\n <Tooltip\n title={valuesAsChildren\n .slice(boundaryIndex + 1)\n .map(child => (child ? String(child.props.children) : ''))\n .join(', ')}>\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\n </Tooltip>\n ) : null}\n </span>\n );\n};\n\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\n if (Array.isArray(value)) {\n return value.includes(child.props.value);\n }\n\n return child.props.value === value;\n};\n"],"names":["Trigger","React","forwardRef","Select2Trigger","props","ref","multiple","value","useSelect2Context","Array","isArray","values","undefined","Multiple","Single","Button","Select2TriggerButton","children","onClick","tabIndex","otherProps","disabled","highlighted","invalid","open","readOnly","className","cn","getInputClasses","replace","includes","handleClick","event","preventDefault","role","type","Icon","name","Select2TriggerSingle","buttonProps","tags","contentClassName","currentValue","find","matchesValue","output","Tag","color","icon","Select2TriggerMultiple","setValue","valuesAsChildren","map","c","content","ScrollArea","child","key","onDelete","stopPropagation","MultipleValue","String","contentRef","setContentRef","useState","boundaryIndex","getIndexOfFirstChildOverflowingParent","createClickHandler","tagValue","el","index","tag","truncate","hidden","Tooltip","title","length","slice","join","Badge"],"mappings":"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"}
@@ -11,14 +11,15 @@ const useChildren = ({
11
11
  const [searchQuery, setSearchQuery] = React__default.useState('');
12
12
  // support empty value - probably a more elegant way to achieve this
13
13
  const allChildren = React__default.useMemo(() => {
14
+ const initial = initialChildren || [];
14
15
  if (emptyValue !== undefined) {
15
16
  return [/*#__PURE__*/React__default.createElement(Option, {
16
17
  key: "__empty",
17
18
  children: "",
18
19
  value: emptyValue
19
- }), ...initialChildren];
20
+ }), ...initial];
20
21
  }
21
- return initialChildren;
22
+ return initial;
22
23
  }, [initialChildren, emptyValue]);
23
24
  // set an initial value if none is set, we have to trigger state updates for controlled components
24
25
  React__default.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useChildren.js","sources":["../../../../../../../../src/components/Select2/hooks/useChildren.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Option, Select2OptionProps } from '../components/Option';\r\nimport { Select2OptionValue, Select2Value } from '../types';\r\n\r\nexport type useChildrenArgs = {\r\n children: React.ReactElement<Select2OptionProps>[];\r\n emptyValue?: Select2OptionValue;\r\n open?: boolean;\r\n setValue: (nextValue: Select2OptionValue) => void;\r\n value?: Select2Value;\r\n};\r\nexport const useChildren = ({ children: initialChildren, emptyValue, open, setValue, value }: useChildrenArgs) => {\r\n const [searchQuery, setSearchQuery] = React.useState<string>('');\r\n\r\n // support empty value - probably a more elegant way to achieve this\r\n const allChildren: React.ReactElement<Select2OptionProps>[] = React.useMemo(() => {\r\n if (emptyValue !== undefined) {\r\n return [<Option key=\"__empty\" children=\"\" value={emptyValue} />, ...initialChildren];\r\n }\r\n\r\n return initialChildren;\r\n }, [initialChildren, emptyValue]);\r\n\r\n // set an initial value if none is set, we have to trigger state updates for controlled components\r\n React.useEffect(() => {\r\n if (emptyValue === undefined && value === undefined) {\r\n setValue(allChildren?.[0]?.props.value);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (!open) {\r\n setSearchQuery('');\r\n }\r\n }, [open]);\r\n\r\n // apply filtering\r\n const filteredChildren: React.ReactElement<Select2OptionProps>[] = React.useMemo(() => {\r\n return allChildren.filter(child => {\r\n if (child.props.textValue) {\r\n return child.props.textValue.toLowerCase().includes(searchQuery.toLowerCase());\r\n }\r\n\r\n return String(child.props.children).toLowerCase().includes(searchQuery.toLowerCase());\r\n });\r\n }, [allChildren, searchQuery]);\r\n\r\n return {\r\n allChildren,\r\n filteredChildren,\r\n searchQuery,\r\n setSearchQuery,\r\n };\r\n};\r\n"],"names":["useChildren","children","initialChildren","emptyValue","open","setValue","value","searchQuery","setSearchQuery","React","useState","allChildren","useMemo","undefined","Option","key","useEffect","props","filteredChildren","filter","child","textValue","toLowerCase","includes","String"],"mappings":";;;MAWaA,WAAW,GAAG,CAAC;EAAEC,QAAQ,EAAEC,eAAe;EAAEC,UAAU;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;CAAwB;EACzG,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAS,EAAE,CAAC;;EAGhE,MAAMC,WAAW,GAA6CF,cAAK,CAACG,OAAO,CAAC;IACxE,IAAIT,UAAU,KAAKU,SAAS,EAAE;MAC1B,OAAO,cAACJ,6BAACK,MAAM;QAACC,GAAG,EAAC,SAAS;QAACd,QAAQ,EAAC,EAAE;QAACK,KAAK,EAAEH;QAAc,EAAE,GAAGD,eAAe,CAAC;;IAGxF,OAAOA,eAAe;GACzB,EAAE,CAACA,eAAe,EAAEC,UAAU,CAAC,CAAC;;EAGjCM,cAAK,CAACO,SAAS,CAAC;IACZ,IAAIb,UAAU,KAAKU,SAAS,IAAIP,KAAK,KAAKO,SAAS,EAAE;MAAA;MACjDR,QAAQ,CAACM,WAAW,aAAXA,WAAW,wCAAXA,WAAW,CAAG,CAAC,CAAC,kDAAhB,cAAkBM,KAAK,CAACX,KAAK,CAAC;;GAE9C,EAAE,EAAE,CAAC;EAENG,cAAK,CAACO,SAAS,CAAC;IACZ,IAAI,CAACZ,IAAI,EAAE;MACPI,cAAc,CAAC,EAAE,CAAC;;GAEzB,EAAE,CAACJ,IAAI,CAAC,CAAC;;EAGV,MAAMc,gBAAgB,GAA6CT,cAAK,CAACG,OAAO,CAAC;IAC7E,OAAOD,WAAW,CAACQ,MAAM,CAACC,KAAK;MAC3B,IAAIA,KAAK,CAACH,KAAK,CAACI,SAAS,EAAE;QACvB,OAAOD,KAAK,CAACH,KAAK,CAACI,SAAS,CAACC,WAAW,EAAE,CAACC,QAAQ,CAAChB,WAAW,CAACe,WAAW,EAAE,CAAC;;MAGlF,OAAOE,MAAM,CAACJ,KAAK,CAACH,KAAK,CAAChB,QAAQ,CAAC,CAACqB,WAAW,EAAE,CAACC,QAAQ,CAAChB,WAAW,CAACe,WAAW,EAAE,CAAC;KACxF,CAAC;GACL,EAAE,CAACX,WAAW,EAAEJ,WAAW,CAAC,CAAC;EAE9B,OAAO;IACHI,WAAW;IACXO,gBAAgB;IAChBX,WAAW;IACXC;GACH;AACL;;;;"}
1
+ {"version":3,"file":"useChildren.js","sources":["../../../../../../../../src/components/Select2/hooks/useChildren.tsx"],"sourcesContent":["import React from 'react';\nimport { Option, Select2OptionProps } from '../components/Option';\nimport { Select2OptionValue, Select2Value } from '../types';\n\nexport type useChildrenArgs = {\n children: React.ReactElement<Select2OptionProps>[];\n emptyValue?: Select2OptionValue;\n open?: boolean;\n setValue: (nextValue: Select2OptionValue) => void;\n value?: Select2Value;\n};\nexport const useChildren = ({ children: initialChildren, emptyValue, open, setValue, value }: useChildrenArgs) => {\n const [searchQuery, setSearchQuery] = React.useState<string>('');\n\n // support empty value - probably a more elegant way to achieve this\n const allChildren: React.ReactElement<Select2OptionProps>[] = React.useMemo(() => {\n const initial = initialChildren || [];\n if (emptyValue !== undefined) {\n return [<Option key=\"__empty\" children=\"\" value={emptyValue} />, ...initial];\n }\n\n return initial;\n }, [initialChildren, emptyValue]);\n\n // set an initial value if none is set, we have to trigger state updates for controlled components\n React.useEffect(() => {\n if (emptyValue === undefined && value === undefined) {\n setValue(allChildren?.[0]?.props.value);\n }\n }, []);\n\n React.useEffect(() => {\n if (!open) {\n setSearchQuery('');\n }\n }, [open]);\n\n // apply filtering\n const filteredChildren: React.ReactElement<Select2OptionProps>[] = React.useMemo(() => {\n return allChildren.filter(child => {\n if (child.props.textValue) {\n return child.props.textValue.toLowerCase().includes(searchQuery.toLowerCase());\n }\n\n return String(child.props.children).toLowerCase().includes(searchQuery.toLowerCase());\n });\n }, [allChildren, searchQuery]);\n\n return {\n allChildren,\n filteredChildren,\n searchQuery,\n setSearchQuery,\n };\n};\n"],"names":["useChildren","children","initialChildren","emptyValue","open","setValue","value","searchQuery","setSearchQuery","React","useState","allChildren","useMemo","initial","undefined","Option","key","useEffect","props","filteredChildren","filter","child","textValue","toLowerCase","includes","String"],"mappings":";;;MAWaA,WAAW,GAAG,CAAC;EAAEC,QAAQ,EAAEC,eAAe;EAAEC,UAAU;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;CAAwB;EACzG,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAS,EAAE,CAAC;;EAGhE,MAAMC,WAAW,GAA6CF,cAAK,CAACG,OAAO,CAAC;IACxE,MAAMC,OAAO,GAAGX,eAAe,IAAI,EAAE;IACrC,IAAIC,UAAU,KAAKW,SAAS,EAAE;MAC1B,OAAO,cAACL,6BAACM,MAAM;QAACC,GAAG,EAAC,SAAS;QAACf,QAAQ,EAAC,EAAE;QAACK,KAAK,EAAEH;QAAc,EAAE,GAAGU,OAAO,CAAC;;IAGhF,OAAOA,OAAO;GACjB,EAAE,CAACX,eAAe,EAAEC,UAAU,CAAC,CAAC;;EAGjCM,cAAK,CAACQ,SAAS,CAAC;IACZ,IAAId,UAAU,KAAKW,SAAS,IAAIR,KAAK,KAAKQ,SAAS,EAAE;MAAA;MACjDT,QAAQ,CAACM,WAAW,aAAXA,WAAW,wCAAXA,WAAW,CAAG,CAAC,CAAC,kDAAhB,cAAkBO,KAAK,CAACZ,KAAK,CAAC;;GAE9C,EAAE,EAAE,CAAC;EAENG,cAAK,CAACQ,SAAS,CAAC;IACZ,IAAI,CAACb,IAAI,EAAE;MACPI,cAAc,CAAC,EAAE,CAAC;;GAEzB,EAAE,CAACJ,IAAI,CAAC,CAAC;;EAGV,MAAMe,gBAAgB,GAA6CV,cAAK,CAACG,OAAO,CAAC;IAC7E,OAAOD,WAAW,CAACS,MAAM,CAACC,KAAK;MAC3B,IAAIA,KAAK,CAACH,KAAK,CAACI,SAAS,EAAE;QACvB,OAAOD,KAAK,CAACH,KAAK,CAACI,SAAS,CAACC,WAAW,EAAE,CAACC,QAAQ,CAACjB,WAAW,CAACgB,WAAW,EAAE,CAAC;;MAGlF,OAAOE,MAAM,CAACJ,KAAK,CAACH,KAAK,CAACjB,QAAQ,CAAC,CAACsB,WAAW,EAAE,CAACC,QAAQ,CAACjB,WAAW,CAACgB,WAAW,EAAE,CAAC;KACxF,CAAC;GACL,EAAE,CAACZ,WAAW,EAAEJ,WAAW,CAAC,CAAC;EAE9B,OAAO;IACHI,WAAW;IACXQ,gBAAgB;IAChBZ,WAAW;IACXC;GACH;AACL;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sources":["../../../../../../../src/components/Select2/utilities.ts"],"sourcesContent":["export const createOptionClassName = () =>\r\n 'group mb-px flex h-8 w-full text-sm flex-shrink-0 font-normal cursor-pointer items-center rounded bg-white px-2 leading-8 text-black aria-hidden:hidden gap-1.5 bg-white hover:bg-grey-light aria-current:bg-grey-light aria-disabled:text-black/25 aria-disabled:pointer-events-none';\r\n\r\nexport const createCollectionClassName = () => 'flex flex-col gap-px';\r\n"],"names":["createOptionClassName","createCollectionClassName"],"mappings":"MAAaA,qBAAqB,GAAG,MACjC;MAESC,yBAAyB,GAAG,MAAM;;;;"}
1
+ {"version":3,"file":"utilities.js","sources":["../../../../../../../src/components/Select2/utilities.ts"],"sourcesContent":["export const createOptionClassName = () =>\n 'group mb-px flex h-8 w-full text-sm flex-shrink-0 font-normal cursor-pointer items-center rounded bg-white px-2 leading-8 text-black aria-hidden:hidden gap-1.5 bg-white hover:bg-grey-light aria-current:bg-grey-light aria-disabled:text-black/25 aria-disabled:pointer-events-none';\n\nexport const createCollectionClassName = () => 'flex flex-col gap-px';\n"],"names":["createOptionClassName","createCollectionClassName"],"mappings":"MAAaA,qBAAqB,GAAG,MACjC;MAESC,yBAAyB,GAAG,MAAM;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, createElement } from 'react';
2
2
  import cn from 'classnames';
3
+ import { useId } from '../../hooks/useId.js';
3
4
  import { Root, Thumb } from '@radix-ui/react-switch';
4
5
 
5
6
  const Switch = /*#__PURE__*/forwardRef(function Switch(props, ref) {
@@ -8,25 +9,36 @@ const Switch = /*#__PURE__*/forwardRef(function Switch(props, ref) {
8
9
  onChange,
9
10
  ...otherProps
10
11
  } = props;
12
+ const id = useId(props.id);
11
13
  const className = cn('group h-5 w-9 flex flex-shrink-0 rounded-full inline-flex', {
12
14
  'mr-2': !!label,
13
15
  'bg-grey-darker hover:bg-grey-dark aria-checked:bg-blue aria-checked:hover:bg-blue-light focus:yt-focus': !props.disabled,
14
16
  'bg-grey-light cursor-not-allowed aria-checked:bg-blue-light': props.disabled
15
17
  }, props.className);
16
- const element = /*#__PURE__*/createElement(Root, Object.assign({}, otherProps, {
18
+ let labelledByProps = null;
19
+ if (label) {
20
+ labelledByProps = {
21
+ ['aria-labelledby']: `${id}-label`,
22
+ id
23
+ };
24
+ }
25
+ const element = /*#__PURE__*/createElement(Root, Object.assign({}, otherProps, labelledByProps, {
17
26
  className: className,
18
27
  onCheckedChange: onChange,
19
28
  ref: ref
20
29
  }), /*#__PURE__*/createElement(Thumb, {
21
- className: "'will-change-transform group-aria-checked:translate-x-[1.1rem] mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform group-disabled:opacity-50"
30
+ className: "'will-change-transform mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform group-disabled:opacity-50 group-aria-checked:translate-x-[1.1rem]"
22
31
  }));
23
32
  if (label) {
24
- const labelClassName = cn('flex self-start cursor-pointer', {
33
+ const labelContainerClassName = cn('flex self-start cursor-pointer', {
25
34
  'cursor-not-allowed text-grey-dark': props.disabled
26
35
  });
27
- return /*#__PURE__*/createElement("label", {
28
- className: labelClassName
29
- }, element, label);
36
+ return /*#__PURE__*/createElement("span", {
37
+ className: labelContainerClassName
38
+ }, element, /*#__PURE__*/createElement("label", {
39
+ htmlFor: id,
40
+ id: `${id}-label`
41
+ }, label));
30
42
  }
31
43
  return element;
32
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../../../../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport * as PrimitiveSwitch from '@radix-ui/react-switch';\r\n\r\ntype SwitchBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onChange'> & {\r\n /** Label for the switch */\r\n label?: React.ReactNode;\r\n /* Whether user input is required */\r\n required?: boolean;\r\n};\r\n\r\ninterface UncontrolledSwitchProps extends SwitchBaseProps {\r\n checked?: never;\r\n onChange?: never;\r\n /* The default checked state (uncontrolled) */\r\n defaultChecked?: boolean;\r\n}\r\n\r\ninterface ControlledSwitchProps extends SwitchBaseProps {\r\n defaultChecked?: never;\r\n /* The current checked state (controlled) */\r\n checked: boolean;\r\n /* Handler called when the checked state changes */\r\n onChange: (checked: boolean) => void;\r\n}\r\n\r\nexport type SwitchProps = UncontrolledSwitchProps | ControlledSwitchProps;\r\n\r\nexport const Switch = React.forwardRef(function Switch(props: SwitchProps, ref: React.Ref<HTMLButtonElement>) {\r\n const { label, onChange, ...otherProps } = props;\r\n\r\n const className = cn(\r\n 'group h-5 w-9 flex flex-shrink-0 rounded-full inline-flex',\r\n {\r\n 'mr-2': !!label,\r\n 'bg-grey-darker hover:bg-grey-dark aria-checked:bg-blue aria-checked:hover:bg-blue-light focus:yt-focus':\r\n !props.disabled,\r\n 'bg-grey-light cursor-not-allowed aria-checked:bg-blue-light': props.disabled,\r\n },\r\n props.className\r\n );\r\n\r\n const element = (\r\n <PrimitiveSwitch.Root {...otherProps} className={className} onCheckedChange={onChange} ref={ref}>\r\n <PrimitiveSwitch.Thumb className=\"'will-change-transform group-aria-checked:translate-x-[1.1rem] mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform group-disabled:opacity-50\" />\r\n </PrimitiveSwitch.Root>\r\n );\r\n\r\n if (label) {\r\n const labelClassName = cn('flex self-start cursor-pointer', {\r\n 'cursor-not-allowed text-grey-dark': props.disabled,\r\n });\r\n\r\n return (\r\n <label className={labelClassName}>\r\n {element}\r\n {label}\r\n </label>\r\n );\r\n }\r\n\r\n return element;\r\n});\r\n"],"names":["Switch","React","props","ref","label","onChange","otherProps","className","cn","disabled","element","PrimitiveSwitch","onCheckedChange","labelClassName"],"mappings":";;;;MA4BaA,MAAM,gBAAGC,UAAgB,CAAC,SAASD,MAAM,CAACE,KAAkB,EAAEC,GAAiC;EACxG,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAEhD,MAAMK,SAAS,GAAGC,EAAE,CAChB,2DAA2D,EAC3D;IACI,MAAM,EAAE,CAAC,CAACJ,KAAK;IACf,wGAAwG,EACpG,CAACF,KAAK,CAACO,QAAQ;IACnB,6DAA6D,EAAEP,KAAK,CAACO;GACxE,EACDP,KAAK,CAACK,SAAS,CAClB;EAED,MAAMG,OAAO,gBACTT,cAACU,IAAoB,oBAAKL,UAAU;IAAEC,SAAS,EAAEA,SAAS;IAAEK,eAAe,EAAEP,QAAQ;IAAEF,GAAG,EAAEA;mBACxFF,cAACU,KAAqB;IAACJ,SAAS,EAAC;IAA6K,CAErN;EAED,IAAIH,KAAK,EAAE;IACP,MAAMS,cAAc,GAAGL,EAAE,CAAC,gCAAgC,EAAE;MACxD,mCAAmC,EAAEN,KAAK,CAACO;KAC9C,CAAC;IAEF,oBACIR;MAAOM,SAAS,EAAEM;OACbH,OAAO,EACPN,KAAK,CACF;;EAIhB,OAAOM,OAAO;AAClB,CAAC;;;;"}
1
+ {"version":3,"file":"Switch.js","sources":["../../../../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport * as PrimitiveSwitch from '@radix-ui/react-switch';\nimport { useId } from '../../hooks/useId';\n\ntype SwitchBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onChange'> & {\n /** Label for the switch */\n label?: React.ReactNode;\n /* Whether user input is required */\n required?: boolean;\n};\n\ninterface UncontrolledSwitchProps extends SwitchBaseProps {\n checked?: never;\n onChange?: never;\n /* The default checked state (uncontrolled) */\n defaultChecked?: boolean;\n}\n\ninterface ControlledSwitchProps extends SwitchBaseProps {\n defaultChecked?: never;\n /* The current checked state (controlled) */\n checked: boolean;\n /* Handler called when the checked state changes */\n onChange: (checked: boolean) => void;\n}\n\nexport type SwitchProps = UncontrolledSwitchProps | ControlledSwitchProps;\n\nexport const Switch = React.forwardRef(function Switch(props: SwitchProps, ref: React.Ref<HTMLButtonElement>) {\n const { label, onChange, ...otherProps } = props;\n const id = useId(props.id);\n\n const className = cn(\n 'group h-5 w-9 flex flex-shrink-0 rounded-full inline-flex',\n {\n 'mr-2': !!label,\n 'bg-grey-darker hover:bg-grey-dark aria-checked:bg-blue aria-checked:hover:bg-blue-light focus:yt-focus':\n !props.disabled,\n 'bg-grey-light cursor-not-allowed aria-checked:bg-blue-light': props.disabled,\n },\n props.className\n );\n\n let labelledByProps: Record<string, string> | null = null;\n\n if (label) {\n labelledByProps = {\n ['aria-labelledby']: `${id}-label`,\n id,\n };\n }\n\n const element = (\n <PrimitiveSwitch.Root {...otherProps} {...labelledByProps} className={className} onCheckedChange={onChange} ref={ref}>\n <PrimitiveSwitch.Thumb className=\"'will-change-transform mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform group-disabled:opacity-50 group-aria-checked:translate-x-[1.1rem]\" />\n </PrimitiveSwitch.Root>\n );\n\n if (label) {\n const labelContainerClassName = cn('flex self-start cursor-pointer', {\n 'cursor-not-allowed text-grey-dark': props.disabled,\n });\n\n return (\n <span className={labelContainerClassName}>\n {element}\n <label htmlFor={id} id={`${id}-label`}>\n {label}\n </label>\n </span>\n );\n }\n\n return element;\n});\n"],"names":["Switch","React","props","ref","label","onChange","otherProps","id","useId","className","cn","disabled","labelledByProps","element","PrimitiveSwitch","onCheckedChange","labelContainerClassName","htmlFor"],"mappings":";;;;;MA6BaA,MAAM,gBAAGC,UAAgB,CAAC,SAASD,MAAM,CAACE,KAAkB,EAAEC,GAAiC;EACxG,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAChD,MAAMK,EAAE,GAAGC,KAAK,CAACN,KAAK,CAACK,EAAE,CAAC;EAE1B,MAAME,SAAS,GAAGC,EAAE,CAChB,2DAA2D,EAC3D;IACI,MAAM,EAAE,CAAC,CAACN,KAAK;IACf,wGAAwG,EACpG,CAACF,KAAK,CAACS,QAAQ;IACnB,6DAA6D,EAAET,KAAK,CAACS;GACxE,EACDT,KAAK,CAACO,SAAS,CAClB;EAED,IAAIG,eAAe,GAAkC,IAAI;EAEzD,IAAIR,KAAK,EAAE;IACPQ,eAAe,GAAG;MACd,CAAC,iBAAiB,MAAML,UAAU;MAClCA;KACH;;EAGL,MAAMM,OAAO,gBACTZ,cAACa,IAAoB,oBAAKR,UAAU,EAAMM,eAAe;IAAEH,SAAS,EAAEA,SAAS;IAAEM,eAAe,EAAEV,QAAQ;IAAEF,GAAG,EAAEA;mBAC7GF,cAACa,KAAqB;IAACL,SAAS,EAAC;IAA6K,CAErN;EAED,IAAIL,KAAK,EAAE;IACP,MAAMY,uBAAuB,GAAGN,EAAE,CAAC,gCAAgC,EAAE;MACjE,mCAAmC,EAAER,KAAK,CAACS;KAC9C,CAAC;IAEF,oBACIV;MAAMQ,SAAS,EAAEO;OACZH,OAAO,eACRZ;MAAOgB,OAAO,EAAEV,EAAE;MAAEA,EAAE,KAAKA;OACtBH,KAAK,CACF,CACL;;EAIf,OAAOS,OAAO;AAClB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTable.js","sources":["../../../../../../../../src/components/Table/components/BaseTable.tsx"],"sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\nimport { HeaderGroup } from 'react-table';\r\nimport { useMergedRef } from '../../../hooks/useMergedRef';\r\nimport { InternalBaseTable } from '../types';\r\nimport './Table.css';\r\nimport { Column } from '../util/renderColumn';\r\n\r\nexport const DefaultEmptyState = (): React.ReactNode => null;\r\n\r\nexport const BaseTable = React.forwardRef(function BaseTable(props: InternalBaseTable, ref: React.Ref<HTMLDivElement>) {\r\n const tableRef = useMergedRef<HTMLDivElement>(ref);\r\n const { autoFocus, children, disableSorting: _, headerGroups, headerRef, bodyRef, ...otherProps } = props;\r\n\r\n React.useEffect(() => {\r\n if (autoFocus && tableRef.current) {\r\n tableRef.current.focus();\r\n }\r\n }, []);\r\n\r\n const className = cn('yt-table flex flex-col focus:yt-focus focus:rounded-sm', props.className);\r\n\r\n return (\r\n <div {...otherProps} role=\"table\" className={className} ref={tableRef}>\r\n <div role=\"rowgroup\" className=\"yt-table__head\" ref={headerRef}>\r\n {headerGroups?.map((headerGroup: HeaderGroup<object>, index: number) => (\r\n <div\r\n key={index}\r\n role=\"row\"\r\n className=\"border-grey-light flex h-auto min-h-[2.5rem] w-full select-none border-t-0 border-b-2 font-bold\">\r\n {headerGroup.headers.map((cell: any, index: number) => (\r\n <Column key={index} index={index} cell={cell} />\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n\r\n <div role=\"rowgroup\" className=\"yt-table__body\" ref={bodyRef}>\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n});\r\n"],"names":["DefaultEmptyState","BaseTable","React","forwardRef","props","ref","tableRef","useMergedRef","autoFocus","children","disableSorting","_","headerGroups","headerRef","bodyRef","otherProps","useEffect","current","focus","className","cn","role","map","headerGroup","index","key","headers","cell","Column"],"mappings":";;;;;MAQaA,iBAAiB,GAAG,MAAuB;MAE3CC,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,SAAS,CAACG,KAAwB,EAAEC,GAA8B;EACjH,MAAMC,QAAQ,GAAGC,YAAY,CAAiBF,GAAG,CAAC;EAClD,MAAM;IAAEG,SAAS;IAAEC,QAAQ;IAAEC,cAAc,EAAEC,CAAC;IAAEC,YAAY;IAAEC,SAAS;IAAEC,OAAO;IAAE,GAAGC;GAAY,GAAGX,KAAK;EAEzGF,cAAK,CAACc,SAAS,CAAC;IACZ,IAAIR,SAAS,IAAIF,QAAQ,CAACW,OAAO,EAAE;MAC/BX,QAAQ,CAACW,OAAO,CAACC,KAAK,EAAE;;GAE/B,EAAE,EAAE,CAAC;EAEN,MAAMC,SAAS,GAAGC,EAAE,CAAC,wDAAwD,EAAEhB,KAAK,CAACe,SAAS,CAAC;EAE/F,oBACIjB,sDAASa,UAAU;IAAEM,IAAI,EAAC,OAAO;IAACF,SAAS,EAAEA,SAAS;IAAEd,GAAG,EAAEC;mBACzDJ;IAAKmB,IAAI,EAAC,UAAU;IAACF,SAAS,EAAC,gBAAgB;IAACd,GAAG,EAAEQ;KAChDD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEU,GAAG,CAAC,CAACC,WAAgC,EAAEC,KAAa,kBAC/DtB;IACIuB,GAAG,EAAED,KAAK;IACVH,IAAI,EAAC,KAAK;IACVF,SAAS,EAAC;KACTI,WAAW,CAACG,OAAO,CAACJ,GAAG,CAAC,CAACK,IAAS,EAAEH,KAAa,kBAC9CtB,6BAAC0B,MAAM;IAACH,GAAG,EAAED,KAAK;IAAEA,KAAK,EAAEA,KAAK;IAAEG,IAAI,EAAEA;IAC3C,CAAC,CAET,CAAC,CACA,eAENzB;IAAKmB,IAAI,EAAC,UAAU;IAACF,SAAS,EAAC,gBAAgB;IAACd,GAAG,EAAES;KAChDL,QAAQ,CACP,CACJ;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"BaseTable.js","sources":["../../../../../../../../src/components/Table/components/BaseTable.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { HeaderGroup } from 'react-table';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { InternalBaseTable } from '../types';\nimport './Table.css';\nimport { Column } from '../util/renderColumn';\n\nexport const DefaultEmptyState = (): React.ReactNode => null;\n\nexport const BaseTable = React.forwardRef(function BaseTable(props: InternalBaseTable, ref: React.Ref<HTMLDivElement>) {\n const tableRef = useMergedRef<HTMLDivElement>(ref);\n const { autoFocus, children, disableSorting: _, headerGroups, headerRef, bodyRef, ...otherProps } = props;\n\n React.useEffect(() => {\n if (autoFocus && tableRef.current) {\n tableRef.current.focus();\n }\n }, []);\n\n const className = cn('yt-table flex flex-col focus:yt-focus focus:rounded-sm', props.className);\n\n return (\n <div {...otherProps} role=\"table\" className={className} ref={tableRef}>\n <div role=\"rowgroup\" className=\"yt-table__head\" ref={headerRef}>\n {headerGroups?.map((headerGroup: HeaderGroup<object>, index: number) => (\n <div\n key={index}\n role=\"row\"\n className=\"border-grey-light flex h-auto min-h-[2.5rem] w-full select-none border-t-0 border-b-2 font-bold\">\n {headerGroup.headers.map((cell: any, index: number) => (\n <Column key={index} index={index} cell={cell} />\n ))}\n </div>\n ))}\n </div>\n\n <div role=\"rowgroup\" className=\"yt-table__body\" ref={bodyRef}>\n {children}\n </div>\n </div>\n );\n});\n"],"names":["DefaultEmptyState","BaseTable","React","forwardRef","props","ref","tableRef","useMergedRef","autoFocus","children","disableSorting","_","headerGroups","headerRef","bodyRef","otherProps","useEffect","current","focus","className","cn","role","map","headerGroup","index","key","headers","cell","Column"],"mappings":";;;;;MAQaA,iBAAiB,GAAG,MAAuB;MAE3CC,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,SAAS,CAACG,KAAwB,EAAEC,GAA8B;EACjH,MAAMC,QAAQ,GAAGC,YAAY,CAAiBF,GAAG,CAAC;EAClD,MAAM;IAAEG,SAAS;IAAEC,QAAQ;IAAEC,cAAc,EAAEC,CAAC;IAAEC,YAAY;IAAEC,SAAS;IAAEC,OAAO;IAAE,GAAGC;GAAY,GAAGX,KAAK;EAEzGF,cAAK,CAACc,SAAS,CAAC;IACZ,IAAIR,SAAS,IAAIF,QAAQ,CAACW,OAAO,EAAE;MAC/BX,QAAQ,CAACW,OAAO,CAACC,KAAK,EAAE;;GAE/B,EAAE,EAAE,CAAC;EAEN,MAAMC,SAAS,GAAGC,EAAE,CAAC,wDAAwD,EAAEhB,KAAK,CAACe,SAAS,CAAC;EAE/F,oBACIjB,sDAASa,UAAU;IAAEM,IAAI,EAAC,OAAO;IAACF,SAAS,EAAEA,SAAS;IAAEd,GAAG,EAAEC;mBACzDJ;IAAKmB,IAAI,EAAC,UAAU;IAACF,SAAS,EAAC,gBAAgB;IAACd,GAAG,EAAEQ;KAChDD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEU,GAAG,CAAC,CAACC,WAAgC,EAAEC,KAAa,kBAC/DtB;IACIuB,GAAG,EAAED,KAAK;IACVH,IAAI,EAAC,KAAK;IACVF,SAAS,EAAC;KACTI,WAAW,CAACG,OAAO,CAACJ,GAAG,CAAC,CAACK,IAAS,EAAEH,KAAa,kBAC9CtB,6BAAC0B,MAAM;IAACH,GAAG,EAAED,KAAK;IAAEA,KAAK,EAAEA,KAAK;IAAEG,IAAI,EAAEA;IAC3C,CAAC,CAET,CAAC,CACA,eAENzB;IAAKmB,IAAI,EAAC,UAAU;IAACF,SAAS,EAAC,gBAAgB;IAACd,GAAG,EAAES;KAChDL,QAAQ,CACP,CACJ;AAEd,CAAC;;;;"}
@@ -43,7 +43,11 @@ const Table = /*#__PURE__*/React__default.forwardRef(function Table(props, ref)
43
43
  instance: instance,
44
44
  headerGroups: tableProps.headerGroups
45
45
  }));
46
- }) : emptyStateRenderer()), paginationElement);
46
+ }) : /*#__PURE__*/React__default.createElement("div", {
47
+ role: "row"
48
+ }, /*#__PURE__*/React__default.createElement("div", {
49
+ role: "gridcell"
50
+ }, emptyStateRenderer()))), paginationElement);
47
51
  });
48
52
  Table.Column = () => null;
49
53
  Table.Group = () => null;
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../../../../../../../src/components/Table/components/Table.tsx"],"sourcesContent":["import React from 'react';\r\nimport { PluginHook } from 'react-table';\r\nimport { TableProps, InternalTableRow, ForwardedGenericTableWithStatics, TableRef } from '../types';\r\nimport { useTable } from '../hooks/useTable';\r\nimport { Pagination } from '../../Pagination/Pagination';\r\nimport { useMergedRef } from '../../../hooks/useMergedRef';\r\nimport { Row } from '../util/renderRow';\r\nimport { DefaultEmptyState, BaseTable } from './BaseTable';\r\n\r\nexport const Table = React.forwardRef(function Table<T>(\r\n props: TableProps<T> & { plugins: PluginHook<{}>[] },\r\n ref: React.Ref<TableRef>\r\n) {\r\n const { emptyStateRenderer = DefaultEmptyState, ...otherProps } = props;\r\n const tableRef: any = useMergedRef<HTMLDivElement>(ref);\r\n const { rowProps, tableProps, rows, prepareRow, pagination, instance } = useTable(otherProps, tableRef);\r\n\r\n let paginationElement;\r\n\r\n if (pagination) {\r\n paginationElement = (\r\n <Pagination\r\n className=\"my-4 w-full\"\r\n length={pagination.length}\r\n pageIndex={pagination.pageIndex}\r\n pageSize={pagination.pageSize}\r\n setPageIndex={pagination.setPageIndex}\r\n setPageSize={pagination.setPageSize}\r\n showPageControls={pagination.length > pagination.pageSize}\r\n dangerouslyHijackGlobalKeyboardNavigation={props.dangerouslyHijackGlobalKeyboardNavigation}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {paginationElement}\r\n <BaseTable {...tableProps} ref={tableRef}>\r\n {rows.length\r\n ? rows.map((row: InternalTableRow, index: number) => {\r\n prepareRow(row, index);\r\n return (\r\n <Row\r\n {...rowProps}\r\n key={index}\r\n index={index}\r\n row={row}\r\n instance={instance}\r\n headerGroups={tableProps.headerGroups}\r\n />\r\n );\r\n })\r\n : emptyStateRenderer()}\r\n </BaseTable>\r\n {paginationElement}\r\n </>\r\n );\r\n}) as ForwardedGenericTableWithStatics;\r\n\r\nTable.Column = () => null;\r\nTable.Group = () => null;\r\n"],"names":["Table","React","forwardRef","props","ref","emptyStateRenderer","DefaultEmptyState","otherProps","tableRef","useMergedRef","rowProps","tableProps","rows","prepareRow","pagination","instance","useTable","paginationElement","Pagination","className","length","pageIndex","pageSize","setPageIndex","setPageSize","showPageControls","dangerouslyHijackGlobalKeyboardNavigation","BaseTable","map","row","index","Row","key","headerGroups","Column","Group"],"mappings":";;;;;;;MASaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,KAAK,CAChDG,KAAoD,EACpDC,GAAwB;EAExB,MAAM;IAAEC,kBAAkB,GAAGC,iBAAiB;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EACvE,MAAMK,QAAQ,GAAQC,YAAY,CAAiBL,GAAG,CAAC;EACvD,MAAM;IAAEM,QAAQ;IAAEC,UAAU;IAAEC,IAAI;IAAEC,UAAU;IAAEC,UAAU;IAAEC;GAAU,GAAGC,QAAQ,CAACT,UAAU,EAAEC,QAAQ,CAAC;EAEvG,IAAIS,iBAAiB;EAErB,IAAIH,UAAU,EAAE;IACZG,iBAAiB,gBACbhB,6BAACiB,UAAU;MACPC,SAAS,EAAC,aAAa;MACvBC,MAAM,EAAEN,UAAU,CAACM,MAAM;MACzBC,SAAS,EAAEP,UAAU,CAACO,SAAS;MAC/BC,QAAQ,EAAER,UAAU,CAACQ,QAAQ;MAC7BC,YAAY,EAAET,UAAU,CAACS,YAAY;MACrCC,WAAW,EAAEV,UAAU,CAACU,WAAW;MACnCC,gBAAgB,EAAEX,UAAU,CAACM,MAAM,GAAGN,UAAU,CAACQ,QAAQ;MACzDI,yCAAyC,EAAEvB,KAAK,CAACuB;MAExD;;EAGL,oBACIzB,4DACKgB,iBAAiB,eAClBhB,6BAAC0B,SAAS,oBAAKhB,UAAU;IAAEP,GAAG,EAAEI;MAC3BI,IAAI,CAACQ,MAAM,GACNR,IAAI,CAACgB,GAAG,CAAC,CAACC,GAAqB,EAAEC,KAAa;IAC1CjB,UAAU,CAACgB,GAAG,EAAEC,KAAK,CAAC;IACtB,oBACI7B,6BAAC8B,GAAG,oBACIrB,QAAQ;MACZsB,GAAG,EAAEF,KAAK;MACVA,KAAK,EAAEA,KAAK;MACZD,GAAG,EAAEA,GAAG;MACRd,QAAQ,EAAEA,QAAQ;MAClBkB,YAAY,EAAEtB,UAAU,CAACsB;OAC3B;GAET,CAAC,GACF5B,kBAAkB,EAAE,CAClB,EACXY,iBAAiB,CACnB;AAEX,CAAC;AAEDjB,KAAK,CAACkC,MAAM,GAAG,MAAM,IAAI;AACzBlC,KAAK,CAACmC,KAAK,GAAG,MAAM,IAAI;;;;"}
1
+ {"version":3,"file":"Table.js","sources":["../../../../../../../../src/components/Table/components/Table.tsx"],"sourcesContent":["import React from 'react';\nimport { PluginHook } from 'react-table';\nimport { TableProps, InternalTableRow, ForwardedGenericTableWithStatics, TableRef } from '../types';\nimport { useTable } from '../hooks/useTable';\nimport { Pagination } from '../../Pagination/Pagination';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { Row } from '../util/renderRow';\nimport { DefaultEmptyState, BaseTable } from './BaseTable';\n\nexport const Table = React.forwardRef(function Table<T>(\n props: TableProps<T> & { plugins: PluginHook<{}>[] },\n ref: React.Ref<TableRef>\n) {\n const { emptyStateRenderer = DefaultEmptyState, ...otherProps } = props;\n const tableRef: any = useMergedRef<HTMLDivElement>(ref);\n const { rowProps, tableProps, rows, prepareRow, pagination, instance } = useTable(otherProps, tableRef);\n\n let paginationElement;\n\n if (pagination) {\n paginationElement = (\n <Pagination\n className=\"my-4 w-full\"\n length={pagination.length}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n setPageIndex={pagination.setPageIndex}\n setPageSize={pagination.setPageSize}\n showPageControls={pagination.length > pagination.pageSize}\n dangerouslyHijackGlobalKeyboardNavigation={props.dangerouslyHijackGlobalKeyboardNavigation}\n />\n );\n }\n\n return (\n <>\n {paginationElement}\n <BaseTable {...tableProps} ref={tableRef}>\n {rows.length ? (\n rows.map((row: InternalTableRow, index: number) => {\n prepareRow(row, index);\n return (\n <Row\n {...rowProps}\n key={index}\n index={index}\n row={row}\n instance={instance}\n headerGroups={tableProps.headerGroups}\n />\n );\n })\n ) : (\n <div role=\"row\">\n <div role=\"gridcell\">{emptyStateRenderer()}</div>\n </div>\n )}\n </BaseTable>\n {paginationElement}\n </>\n );\n}) as ForwardedGenericTableWithStatics;\n\nTable.Column = () => null;\nTable.Group = () => null;\n"],"names":["Table","React","forwardRef","props","ref","emptyStateRenderer","DefaultEmptyState","otherProps","tableRef","useMergedRef","rowProps","tableProps","rows","prepareRow","pagination","instance","useTable","paginationElement","Pagination","className","length","pageIndex","pageSize","setPageIndex","setPageSize","showPageControls","dangerouslyHijackGlobalKeyboardNavigation","BaseTable","map","row","index","Row","key","headerGroups","role","Column","Group"],"mappings":";;;;;;;MASaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,KAAK,CAChDG,KAAoD,EACpDC,GAAwB;EAExB,MAAM;IAAEC,kBAAkB,GAAGC,iBAAiB;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EACvE,MAAMK,QAAQ,GAAQC,YAAY,CAAiBL,GAAG,CAAC;EACvD,MAAM;IAAEM,QAAQ;IAAEC,UAAU;IAAEC,IAAI;IAAEC,UAAU;IAAEC,UAAU;IAAEC;GAAU,GAAGC,QAAQ,CAACT,UAAU,EAAEC,QAAQ,CAAC;EAEvG,IAAIS,iBAAiB;EAErB,IAAIH,UAAU,EAAE;IACZG,iBAAiB,gBACbhB,6BAACiB,UAAU;MACPC,SAAS,EAAC,aAAa;MACvBC,MAAM,EAAEN,UAAU,CAACM,MAAM;MACzBC,SAAS,EAAEP,UAAU,CAACO,SAAS;MAC/BC,QAAQ,EAAER,UAAU,CAACQ,QAAQ;MAC7BC,YAAY,EAAET,UAAU,CAACS,YAAY;MACrCC,WAAW,EAAEV,UAAU,CAACU,WAAW;MACnCC,gBAAgB,EAAEX,UAAU,CAACM,MAAM,GAAGN,UAAU,CAACQ,QAAQ;MACzDI,yCAAyC,EAAEvB,KAAK,CAACuB;MAExD;;EAGL,oBACIzB,4DACKgB,iBAAiB,eAClBhB,6BAAC0B,SAAS,oBAAKhB,UAAU;IAAEP,GAAG,EAAEI;MAC3BI,IAAI,CAACQ,MAAM,GACRR,IAAI,CAACgB,GAAG,CAAC,CAACC,GAAqB,EAAEC,KAAa;IAC1CjB,UAAU,CAACgB,GAAG,EAAEC,KAAK,CAAC;IACtB,oBACI7B,6BAAC8B,GAAG,oBACIrB,QAAQ;MACZsB,GAAG,EAAEF,KAAK;MACVA,KAAK,EAAEA,KAAK;MACZD,GAAG,EAAEA,GAAG;MACRd,QAAQ,EAAEA,QAAQ;MAClBkB,YAAY,EAAEtB,UAAU,CAACsB;OAC3B;GAET,CAAC,gBAEFhC;IAAKiC,IAAI,EAAC;kBACNjC;IAAKiC,IAAI,EAAC;KAAY7B,kBAAkB,EAAE,CAAO,CAExD,CACO,EACXY,iBAAiB,CACnB;AAEX,CAAC;AAEDjB,KAAK,CAACmC,MAAM,GAAG,MAAM,IAAI;AACzBnC,KAAK,CAACoC,KAAK,GAAG,MAAM,IAAI;;;;"}
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import cn from 'classnames';
3
- import { useLocalization } from '../../Provider/Provider.js';
3
+ import { useLocalization } from '../../Provider/Localization.js';
4
4
  import { useMergedRef } from '../../../hooks/useMergedRef.js';
5
5
  import { useBoundingClientRectListener } from '../../../hooks/useBoundingClientRectListener.js';
6
6
  import { useTable } from '../hooks/useTable.js';
@@ -1 +1 @@
1
- {"version":3,"file":"WindowedTable.js","sources":["../../../../../../../../src/components/Table/components/WindowedTable.tsx"],"sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\nimport { PluginHook } from 'react-table';\r\nimport { areEqual, VariableSizeList } from 'react-window';\r\nimport InfiniteLoader from 'react-window-infinite-loader';\r\nimport { TableProps, ForwardedGenericTableWithStatics, TableRef } from '../types';\r\nimport { useTable } from '../hooks/useTable';\r\nimport { useBoundingClientRectListener } from '../../../hooks/useBoundingClientRectListener';\r\nimport { useMergedRef } from '../../../hooks/useMergedRef';\r\nimport { Row } from '../util/renderRow';\r\nimport { DefaultEmptyState, BaseTable } from './BaseTable';\r\nimport { useLocalization } from '../../Provider/Provider';\r\n\r\nconst ROW_HEIGHT = 40;\r\n\r\nconst VariableRow = React.memo(({ data, index, style: { height: _, ...style } }: any) => {\r\n const { texts } = useLocalization();\r\n const { rows, setRowHeight, rowProps, tableProps, instance, prepareRow, rowHeights } = data;\r\n const row = rows[index];\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (ref?.current) {\r\n setRowHeight(index, ref.current.getBoundingClientRect().height);\r\n }\r\n }, [rowHeights[index]]);\r\n\r\n if (row) {\r\n prepareRow(row, index);\r\n\r\n return (\r\n <Row\r\n {...rowProps}\r\n style={style}\r\n key={index}\r\n index={index}\r\n row={row}\r\n instance={instance}\r\n headerGroups={tableProps.headerGroups}\r\n setRowHeight={setRowHeight}\r\n ref={ref}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"yt-table__row\" role=\"row\" style={style}>\r\n <div className=\"yt-table__cell text-grey-dark\">{texts.table.loading}</div>\r\n </div>\r\n );\r\n}, areEqual);\r\n\r\nconst getAverageRowHeight = (rowHeights = {}) => {\r\n const keys = Object.keys(rowHeights);\r\n const estimatedHeight = keys.reduce((p, i) => p + rowHeights[i], 0);\r\n return estimatedHeight / keys.length;\r\n};\r\n\r\nexport const WindowedTable = React.forwardRef(function WindowedTable<T>(\r\n props: TableProps<T> & { plugins: PluginHook<{}>[] },\r\n ref: React.Ref<TableRef>\r\n) {\r\n const tableRef: any = useMergedRef<HTMLDivElement>(ref);\r\n const { emptyStateRenderer = DefaultEmptyState, length, loadMore, ...otherProps } = props;\r\n const { rowProps, tableProps, rows, prepareRow, instance, state } = useTable<T>({ ...otherProps, windowed: true }, tableRef);\r\n\r\n // determine heights for windowing calculations\r\n const headerRef = React.useRef<HTMLDivElement>(null);\r\n const [rowsRef, setRowsRef] = React.useState<any>(null);\r\n const tableDimensions = useBoundingClientRectListener(tableRef);\r\n const headerDimensions = useBoundingClientRectListener(headerRef);\r\n const height = tableDimensions && headerDimensions ? tableDimensions.height - headerDimensions.height : null;\r\n\r\n // variable row height calculations\r\n const estimatedRowHeight = rowProps.rowHeight || ROW_HEIGHT;\r\n const rowHeights = React.useRef<Record<string, number>>({});\r\n const setRowHeight = React.useCallback((index: number, size: number) => {\r\n if (rowHeights.current[index] !== size) {\r\n rowHeights.current = {\r\n ...rowHeights.current,\r\n [index]: size,\r\n };\r\n\r\n if (rowsRef) {\r\n rowsRef.resetAfterIndex(0);\r\n }\r\n }\r\n }, []);\r\n const getRowHeight = React.useCallback(index => rowHeights.current[index] || estimatedRowHeight, []);\r\n\r\n React.useEffect(() => {\r\n if (rowsRef && rowProps.activeIndex !== undefined) {\r\n rowsRef.scrollToItem(rowProps.activeIndex, 'start');\r\n }\r\n }, [rowsRef, rowProps.activeIndex]);\r\n\r\n // trigger recalculation of variable row heights if the data changes\r\n React.useEffect(() => {\r\n rowHeights.current = {};\r\n\r\n if (rowsRef) {\r\n rowsRef.resetAfterIndex(0);\r\n }\r\n }, [rows.length]);\r\n\r\n const contentHeight = estimatedRowHeight * props.data.length || 0;\r\n const isScrollbarVisible = height !== null ? contentHeight > height : false;\r\n\r\n const className = cn(tableProps.className, 'yt-table--windowed', { 'table-with-scrollbar': isScrollbarVisible });\r\n\r\n let list;\r\n\r\n const itemData = {\r\n rows,\r\n setRowHeight,\r\n rowProps,\r\n tableProps,\r\n instance,\r\n prepareRow,\r\n state,\r\n rowHeights: rowHeights.current,\r\n };\r\n\r\n if (height && rows.length) {\r\n const listProps = {\r\n height,\r\n itemData,\r\n estimatedItemSize: getAverageRowHeight(rowHeights.current),\r\n itemSize: getRowHeight,\r\n width: '100%',\r\n };\r\n\r\n if (loadMore && length) {\r\n const isLoaded = (index: number) => !!rows[index];\r\n\r\n list = (\r\n <InfiniteLoader isItemLoaded={isLoaded} itemCount={length} loadMoreItems={loadMore as any}>\r\n {({ onItemsRendered, ref }: any) => (\r\n <VariableSizeList\r\n {...listProps}\r\n itemCount={length}\r\n onItemsRendered={onItemsRendered}\r\n ref={list => {\r\n ref(list);\r\n setRowsRef(list);\r\n }}>\r\n {VariableRow}\r\n </VariableSizeList>\r\n )}\r\n </InfiniteLoader>\r\n );\r\n } else {\r\n list = (\r\n <VariableSizeList\r\n {...listProps}\r\n itemCount={rows.length}\r\n ref={ref => {\r\n setRowsRef(ref);\r\n }}>\r\n {VariableRow}\r\n </VariableSizeList>\r\n );\r\n }\r\n }\r\n\r\n return (\r\n <BaseTable {...tableProps} className={className} headerRef={headerRef} ref={tableRef}>\r\n {list ? list : emptyStateRenderer()}\r\n </BaseTable>\r\n );\r\n}) as ForwardedGenericTableWithStatics;\r\n\r\nWindowedTable.Column = () => null;\r\nWindowedTable.Group = () => null;\r\n"],"names":["ROW_HEIGHT","VariableRow","React","memo","data","index","style","height","_","texts","useLocalization","rows","setRowHeight","rowProps","tableProps","instance","prepareRow","rowHeights","row","ref","useRef","useEffect","current","getBoundingClientRect","Row","key","headerGroups","className","role","table","loading","areEqual","getAverageRowHeight","keys","Object","estimatedHeight","reduce","p","i","length","WindowedTable","forwardRef","props","tableRef","useMergedRef","emptyStateRenderer","DefaultEmptyState","loadMore","otherProps","state","useTable","windowed","headerRef","rowsRef","setRowsRef","useState","tableDimensions","useBoundingClientRectListener","headerDimensions","estimatedRowHeight","rowHeight","useCallback","size","resetAfterIndex","getRowHeight","activeIndex","undefined","scrollToItem","contentHeight","isScrollbarVisible","cn","list","itemData","listProps","estimatedItemSize","itemSize","width","isLoaded","InfiniteLoader","isItemLoaded","itemCount","loadMoreItems","onItemsRendered","VariableSizeList","BaseTable","Column","Group"],"mappings":"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"}
1
+ {"version":3,"file":"WindowedTable.js","sources":["../../../../../../../../src/components/Table/components/WindowedTable.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { PluginHook } from 'react-table';\nimport { areEqual, VariableSizeList } from 'react-window';\nimport InfiniteLoader from 'react-window-infinite-loader';\nimport { TableProps, ForwardedGenericTableWithStatics, TableRef } from '../types';\nimport { useTable } from '../hooks/useTable';\nimport { useBoundingClientRectListener } from '../../../hooks/useBoundingClientRectListener';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { Row } from '../util/renderRow';\nimport { DefaultEmptyState, BaseTable } from './BaseTable';\nimport { useLocalization } from '../../Provider/Localization';\n\nconst ROW_HEIGHT = 40;\n\nconst VariableRow = React.memo(({ data, index, style: { height: _, ...style } }: any) => {\n const { texts } = useLocalization();\n const { rows, setRowHeight, rowProps, tableProps, instance, prepareRow, rowHeights } = data;\n const row = rows[index];\n const ref = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (ref?.current) {\n setRowHeight(index, ref.current.getBoundingClientRect().height);\n }\n }, [rowHeights[index]]);\n\n if (row) {\n prepareRow(row, index);\n\n return (\n <Row\n {...rowProps}\n style={style}\n key={index}\n index={index}\n row={row}\n instance={instance}\n headerGroups={tableProps.headerGroups}\n setRowHeight={setRowHeight}\n ref={ref}\n />\n );\n }\n\n return (\n <div className=\"yt-table__row\" role=\"row\" style={style}>\n <div className=\"yt-table__cell text-grey-dark\">{texts.table.loading}</div>\n </div>\n );\n}, areEqual);\n\nconst getAverageRowHeight = (rowHeights = {}) => {\n const keys = Object.keys(rowHeights);\n const estimatedHeight = keys.reduce((p, i) => p + rowHeights[i], 0);\n return estimatedHeight / keys.length;\n};\n\nexport const WindowedTable = React.forwardRef(function WindowedTable<T>(\n props: TableProps<T> & { plugins: PluginHook<{}>[] },\n ref: React.Ref<TableRef>\n) {\n const tableRef: any = useMergedRef<HTMLDivElement>(ref);\n const { emptyStateRenderer = DefaultEmptyState, length, loadMore, ...otherProps } = props;\n const { rowProps, tableProps, rows, prepareRow, instance, state } = useTable<T>({ ...otherProps, windowed: true }, tableRef);\n\n // determine heights for windowing calculations\n const headerRef = React.useRef<HTMLDivElement>(null);\n const [rowsRef, setRowsRef] = React.useState<any>(null);\n const tableDimensions = useBoundingClientRectListener(tableRef);\n const headerDimensions = useBoundingClientRectListener(headerRef);\n const height = tableDimensions && headerDimensions ? tableDimensions.height - headerDimensions.height : null;\n\n // variable row height calculations\n const estimatedRowHeight = rowProps.rowHeight || ROW_HEIGHT;\n const rowHeights = React.useRef<Record<string, number>>({});\n const setRowHeight = React.useCallback((index: number, size: number) => {\n if (rowHeights.current[index] !== size) {\n rowHeights.current = {\n ...rowHeights.current,\n [index]: size,\n };\n\n if (rowsRef) {\n rowsRef.resetAfterIndex(0);\n }\n }\n }, []);\n const getRowHeight = React.useCallback(index => rowHeights.current[index] || estimatedRowHeight, []);\n\n React.useEffect(() => {\n if (rowsRef && rowProps.activeIndex !== undefined) {\n rowsRef.scrollToItem(rowProps.activeIndex, 'start');\n }\n }, [rowsRef, rowProps.activeIndex]);\n\n // trigger recalculation of variable row heights if the data changes\n React.useEffect(() => {\n rowHeights.current = {};\n\n if (rowsRef) {\n rowsRef.resetAfterIndex(0);\n }\n }, [rows.length]);\n\n const contentHeight = estimatedRowHeight * props.data.length || 0;\n const isScrollbarVisible = height !== null ? contentHeight > height : false;\n\n const className = cn(tableProps.className, 'yt-table--windowed', { 'table-with-scrollbar': isScrollbarVisible });\n\n let list;\n\n const itemData = {\n rows,\n setRowHeight,\n rowProps,\n tableProps,\n instance,\n prepareRow,\n state,\n rowHeights: rowHeights.current,\n };\n\n if (height && rows.length) {\n const listProps = {\n height,\n itemData,\n estimatedItemSize: getAverageRowHeight(rowHeights.current),\n itemSize: getRowHeight,\n width: '100%',\n };\n\n if (loadMore && length) {\n const isLoaded = (index: number) => !!rows[index];\n\n list = (\n <InfiniteLoader isItemLoaded={isLoaded} itemCount={length} loadMoreItems={loadMore as any}>\n {({ onItemsRendered, ref }: any) => (\n <VariableSizeList\n {...listProps}\n itemCount={length}\n onItemsRendered={onItemsRendered}\n ref={list => {\n ref(list);\n setRowsRef(list);\n }}>\n {VariableRow}\n </VariableSizeList>\n )}\n </InfiniteLoader>\n );\n } else {\n list = (\n <VariableSizeList\n {...listProps}\n itemCount={rows.length}\n ref={ref => {\n setRowsRef(ref);\n }}>\n {VariableRow}\n </VariableSizeList>\n );\n }\n }\n\n return (\n <BaseTable {...tableProps} className={className} headerRef={headerRef} ref={tableRef}>\n {list ? list : emptyStateRenderer()}\n </BaseTable>\n );\n}) as ForwardedGenericTableWithStatics;\n\nWindowedTable.Column = () => null;\nWindowedTable.Group = () => null;\n"],"names":["ROW_HEIGHT","VariableRow","React","memo","data","index","style","height","_","texts","useLocalization","rows","setRowHeight","rowProps","tableProps","instance","prepareRow","rowHeights","row","ref","useRef","useEffect","current","getBoundingClientRect","Row","key","headerGroups","className","role","table","loading","areEqual","getAverageRowHeight","keys","Object","estimatedHeight","reduce","p","i","length","WindowedTable","forwardRef","props","tableRef","useMergedRef","emptyStateRenderer","DefaultEmptyState","loadMore","otherProps","state","useTable","windowed","headerRef","rowsRef","setRowsRef","useState","tableDimensions","useBoundingClientRectListener","headerDimensions","estimatedRowHeight","rowHeight","useCallback","size","resetAfterIndex","getRowHeight","activeIndex","undefined","scrollToItem","contentHeight","isScrollbarVisible","cn","list","itemData","listProps","estimatedItemSize","itemSize","width","isLoaded","InfiniteLoader","isItemLoaded","itemCount","loadMoreItems","onItemsRendered","VariableSizeList","BaseTable","Column","Group"],"mappings":"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"}
@@ -1 +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 { 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 && typeof x !== 'boolean') as RowAction<any>[];\r\n\r\n if (row) {\r\n visibleActions = visibleActions.filter(action => {\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 => {\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 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.key === '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=\"circle-plus\"\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 {typeof action.text === 'function' ? action.text(sanitizedRow) : 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","EditModeActions","React","useEffect","listener","key","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","persist","setActive","isExpanded","toggleRowExpanded","edit","toggleRowEditing","copy","del","map","index","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 { sanitizeRowProps } from '../../util';\nimport { IconButton } from '../../../IconButton/IconButton';\nimport { LocalizationTexts } from '../../../Provider/Localization';\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 && typeof x !== 'boolean') as RowAction<any>[];\n\n if (row) {\n visibleActions = visibleActions.filter(action => {\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 => {\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 action.onClick(row, event);\n },\n };\n};\n\nconst EditModeActions = () => {\n React.useEffect(() => {\n const listener = (event: any) => {\n if (event.key === '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 {typeof action.text === 'function' ? action.text(sanitizedRow) : 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","EditModeActions","React","useEffect","listener","key","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","persist","setActive","isExpanded","toggleRowExpanded","edit","toggleRowEditing","copy","del","map","index","Menu","Trigger","Content","Item","text","InView","rootMargin","inView","ref","pluginName"],"mappings":";;;;;;AASA,MAAMA,oBAAoB,GAAG,sBAAsB;AAEnD,MAAMC,UAAU,GAAG,CAACC,qBAA0B,EAAEC,QAAa,EAAEC,OAA4C;EACvG,OACI,CAAC,CAACA,OAAO,IACTD,QAAQ,CAACE,WAAW,IACpBF,QAAQ,CAACG,SAAS,IAClBH,QAAQ,CAACI,WAAW,IACpB,CAAC,CAACL,qBAAqB,IACvBC,QAAQ,CAACK,SAAS;AAE1B,CAAC;AAED,MAAMC,UAAU,GAAG,CACfL,OAA4C,EAC5CM,MAAiCC,SAAS;EAE1C,MAAMC,OAAO,GAAqB,EAAE;EACpC,MAAMC,SAAS,GAAqB,EAAE;EAEtC,IAAIT,OAAO,EAAE;IACT,IAAIU,cAAc,GAAGV,OAAO,CAACW,MAAM,CAACC,CAAC,IAAI,CAAC,CAACA,CAAC,IAAI,OAAOA,CAAC,KAAK,SAAS,CAAqB;IAE3F,IAAIN,GAAG,EAAE;MACLI,cAAc,GAAGA,cAAc,CAACC,MAAM,CAACE,MAAM;QACzC,IAAIA,MAAM,CAACC,OAAO,KAAKP,SAAS,EAAE;UAC9B,IAAI,OAAOM,MAAM,CAACC,OAAO,KAAK,UAAU,EAAE;YACtC,OAAOD,MAAM,CAACC,OAAO,CAACR,GAAG,CAAC;;UAG9B,OAAOO,MAAM,CAACC,OAAO;;QAGzB,OAAO,IAAI;OACd,CAAC;;IAGNJ,cAAc,CAACK,OAAO,CAACF,MAAM;MACzB,IAAIA,MAAM,CAACG,SAAS,EAAE;QAClBR,OAAO,CAACS,IAAI,CAACJ,MAAM,CAAC;OACvB,MAAM;QACHJ,SAAS,CAACQ,IAAI,CAACJ,MAAM,CAAC;;KAE7B,CAAC;;EAGN,OAAO,CAACL,OAAO,EAAEC,SAAS,CAAC;AAC/B,CAAC;AAED,MAAMS,SAAS,GAAG,CAACpB,qBAA0B,EAAEC,QAAa,EAAEC,OAA4C;EACtG,MAAM,CAACmB,cAAc,EAAEC,gBAAgB,CAAC,GAAGf,UAAU,CAACL,OAAO,CAAC;EAE9D,IAAIqB,MAAM,GAAGF,cAAc,CAACE,MAAM,IAAID,gBAAgB,CAACC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;EAEtE,IAAItB,QAAQ,CAACE,WAAW,EAAE;IACtBoB,MAAM,EAAE;;EAGZ,IAAItB,QAAQ,CAACG,SAAS,EAAE;IACpBmB,MAAM,EAAE;;EAGZ,IAAItB,QAAQ,CAACI,WAAW,EAAE;IACtBkB,MAAM,EAAE;;EAGZ,IAAI,CAAC,CAACvB,qBAAqB,IAAIC,QAAQ,CAACK,SAAS,EAAE;IAC/CiB,MAAM,EAAE;IAER,IAAIA,MAAM,GAAG,CAAC,EAAE;MACZA,MAAM,EAAE;;;EAIhB,OAAOA,MAAM;AACjB,CAAC;AAED,MAAMC,cAAc,GAAG,CAACT,MAAsB,EAAEP,GAAkB;EAC9D,OAAO;IACH,YAAY,EAAE,OAAOO,MAAM,CAACU,OAAO,KAAK,UAAU,GAAGV,MAAM,CAACU,OAAO,CAACjB,GAAG,CAAC,GAAGO,MAAM,CAACU,OAAO;IACzFC,QAAQ,EAAE,OAAOX,MAAM,CAACW,QAAQ,KAAK,UAAU,GAAGX,MAAM,CAACW,QAAQ,CAAClB,GAAG,CAAC,GAAGO,MAAM,CAACW,QAAQ;IACxFC,OAAO,EAAGC,KAAoC;MAC1Cb,MAAM,CAACY,OAAO,CAACnB,GAAG,EAAEoB,KAAK,CAAC;;GAEjC;AACL,CAAC;AAED,MAAMC,eAAe,GAAG;EACpBC,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,QAAQ,GAAIJ,KAAU;;MACxB,IAAIA,KAAK,CAACK,GAAG,KAAK,QAAQ,qBAAIL,KAAK,CAACM,MAAM,gEAAZ,cAAcC,IAAI,+CAAlB,mBAAoBC,KAAK,EAAE;QACrDR,KAAK,CAACS,cAAc,EAAE;QACtBT,KAAK,CAACM,MAAM,CAACC,IAAI,CAACC,KAAK,EAAE;;KAEhC;IAEDE,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEP,QAAQ,CAAC;IAE9C,OAAO;MACHM,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAER,QAAQ,CAAC;KACpD;GACJ,EAAE,EAAE,CAAC;EAEN,oBACIF;IAAKW,SAAS,EAAE3C;kBACZgC,6BAACY,UAAU;IAACC,UAAU,EAAC,SAAS;IAACC,IAAI,EAAC,MAAM;IAACC,IAAI,EAAC,QAAQ;IAACJ,SAAS,EAAC;IAAS,eAC9EX,6BAACY,UAAU;IAACC,UAAU,EAAC,OAAO;IAACC,IAAI,EAAC,OAAO;IAACC,IAAI,EAAC;IAAU,CACzD;AAEd,CAAC;MAEYC,aAAa,GAAG,CACzB9C,qBAA0C,EAC1CC,QAAa,EACbC,OAA0C,EAC1C6C,oBAAyB,EACzBC,KAAwB,EACxBC,QAAQ,GAAG,KAAK;EAEhB,MAAMC,aAAa,GAAG,CAAC,CAAClD,qBAAqB;EAC7C,MAAMmD,aAAa,GAAG/B,SAAS,CAACpB,qBAAqB,EAAEC,QAAQ,EAAEC,OAAO,CAAC;EAEzE,MAAMkD,MAAM,GAAIC,KAAU;IACtB,IAAItD,UAAU,CAACC,qBAAqB,EAAEC,QAAQ,EAAEC,OAAO,CAAC,EAAE;MACtDmD,KAAK,CAACC,cAAc,CAACnC,IAAI,CAAEoC,OAAY,IAAK,CACxC,GAAGA,OAAO,EACV;QACIC,EAAE,EAAE,UAAU;QACdf,SAAS,EAAE,wCAAwC;QACnDgB,IAAI,eAAeN,gCAAgC;QACnDO,IAAI,EAAE,CAAC;UAAElD;SAAU;UACf,IAAIA,GAAG,CAACmD,SAAS,EAAE;YACf,oBAAO7B,6BAACD,eAAe,OAAG;;UAG9B,MAAM+B,YAAY,GAAGC,gBAAgB,CAACrD,GAAG,EAAEuC,oBAAoB,CAAC;UAChE,MAAM,CAAC1B,cAAc,EAAEC,gBAAgB,CAAC,GAAGf,UAAU,CAACL,OAAO,EAAE0D,YAAY,CAAC;UAE5E,MAAME,MAAM,gBACRhC,4DACK7B,QAAQ,CAACE,WAAW,iBACjB2B,6BAACY,UAAU;YACPC,UAAU,EAAC,UAAU;YACrBC,IAAI,EAAC,aAAa;0BACNI,KAAK,CAACe,KAAK,CAACC,SAAS;YACjCvC,OAAO,EAAEuB,KAAK,CAACe,KAAK,CAACC,SAAS;YAC9BtC,QAAQ,EAAEwB,aAAa,IAAI,CAAC1C,GAAG,CAACyD,OAAO;YACvCtC,OAAO,EAAGC,KAAuB;cAC7BA,KAAK,CAACsC,eAAe,EAAE;cACvBtC,KAAK,CAACuC,OAAO,EAAE;cACf3D,GAAG,CAAC4D,SAAS,EAAE;cAEf,IAAI,CAAC5D,GAAG,CAAC6D,UAAU,EAAE;gBACjB7D,GAAG,CAAC8D,iBAAiB,EAAE;;cAG3BrE,QAAQ,CAACE,WAAW,CAACyD,YAAY,EAAEhC,KAAK,CAAC;;YAGpD,EACA,CAACsB,aAAa,IAAIjD,QAAQ,CAACK,SAAS,kBACjCwB,6BAACY,UAAU;YACPC,UAAU,EAAC,UAAU;YACrBC,IAAI,EAAC,MAAM;0BACCI,KAAK,CAACe,KAAK,CAACQ,IAAI;YAC5B9C,OAAO,EAAEuB,KAAK,CAACe,KAAK,CAACQ,IAAI;YACzB7C,QAAQ,EAAEwB,aAAa,IAAI,CAAC1C,GAAG,CAACyD,OAAO;YACvCtC,OAAO,EAAGC,KAAuB;cAC7BA,KAAK,CAACsC,eAAe,EAAE;cACvB1D,GAAG,CAAC4D,SAAS,EAAE;cAEf,IAAIlB,aAAa,EAAE;gBACf1C,GAAG,CAACgE,gBAAgB,EAAE;eACzB,MAAM,IAAIvE,QAAQ,CAACK,SAAS,EAAE;gBAC3BsB,KAAK,CAACuC,OAAO,EAAE;gBACflE,QAAQ,CAACK,SAAS,CAACsD,YAAY,EAAEhC,KAAK,CAAC;;;YAItD,EACA3B,QAAQ,CAACG,SAAS,iBACf0B,6BAACY,UAAU;YACPC,UAAU,EAAC,UAAU;YACrBC,IAAI,EAAC,MAAM;0BACCI,KAAK,CAACe,KAAK,CAACU,IAAI;YAC5BhD,OAAO,EAAEuB,KAAK,CAACe,KAAK,CAACU,IAAI;YACzB/C,QAAQ,EAAEwB,aAAa,IAAI,CAAC1C,GAAG,CAACyD,OAAO;YACvCtC,OAAO,EAAGC,KAAuB;cAC7BA,KAAK,CAACsC,eAAe,EAAE;cACvBtC,KAAK,CAACuC,OAAO,EAAE;cACf3D,GAAG,CAAC4D,SAAS,EAAE;cACfnE,QAAQ,CAACG,SAAS,CAACwD,YAAY,EAAEhC,KAAK,CAAC;;YAGlD,EACA3B,QAAQ,CAACI,WAAW,iBACjByB,6BAACY,UAAU;YACPC,UAAU,EAAC,UAAU;YACrBC,IAAI,EAAC,QAAQ;0BACDI,KAAK,CAACe,KAAK,CAACW,GAAG;YAC3BjD,OAAO,EAAEuB,KAAK,CAACe,KAAK,CAACW,GAAG;YACxBhD,QAAQ,EAAEwB,aAAa,IAAI,CAAC1C,GAAG,CAACyD,OAAO;YACvCtC,OAAO,EAAGC,KAAuB;cAC7BA,KAAK,CAACsC,eAAe,EAAE;cACvBtC,KAAK,CAACuC,OAAO,EAAE;cACf3D,GAAG,CAAC4D,SAAS,EAAE;cACfnE,QAAQ,CAACI,WAAW,CAACuD,YAAY,EAAEhC,KAAK,CAAC;;YAGpD,EACAP,cAAc,CAACsD,GAAG,CAAC,CAAC5D,MAAoB,EAAE6D,KAAa,kBACpD9C,6BAACY,UAAU,oBACHlB,cAAc,CAACT,MAAM,EAAE6C,YAAY,CAAC;YACxC3B,GAAG,EAAE2C,KAAK;YACVjC,UAAU,EAAC,UAAU;YACrBC,IAAI,EAAE,OAAO7B,MAAM,CAAC6B,IAAI,KAAK,UAAU,GAAG7B,MAAM,CAAC6B,IAAI,CAACgB,YAAY,CAAC,GAAG7C,MAAM,CAAC6B,IAAI;YACjFnB,OAAO,EACH,OAAOV,MAAM,CAACU,OAAO,KAAK,UAAU,GAAGV,MAAM,CAACU,OAAO,CAACmC,YAAY,CAAC,GAAG7C,MAAM,CAACU;aAGxF,CAAC,EACDH,gBAAgB,CAACC,MAAM,gBACpBO,6BAAC+C,IAAI,qBACD/C,6BAAC+C,IAAI,CAACC,OAAO,qBACThD,6BAACY,UAAU;YACPC,UAAU,EAAC,UAAU;YACrBC,IAAI,EAAC,mBAAmB;0BACZI,KAAK,CAACe,KAAK,CAAC7D,OAAO;YAC/BuB,OAAO,EAAEuB,KAAK,CAACe,KAAK,CAAC7D,OAAO;YAC5BwB,QAAQ,EAAEwB,aAAa,IAAI,CAAC1C,GAAG,CAACyD,OAAO;YACvCtC,OAAO,EAAGC,KAAuB;cAC7BA,KAAK,CAACsC,eAAe,EAAE;cACvB1D,GAAG,CAAC4D,SAAS,EAAE;;YAErB,CACS,eACftC,6BAAC+C,IAAI,CAACE,OAAO,QACRzD,gBAAgB,CAACqD,GAAG,CAAC,CAAC5D,MAAoB,EAAE6D,KAAa,kBACtD9C,6BAAC+C,IAAI,CAACG,IAAI;YACN/C,GAAG,EAAE2C,KAAK;YACVhC,IAAI,EACA,OAAO7B,MAAM,CAAC6B,IAAI,KAAK,UAAU,GAC3B7B,MAAM,CAAC6B,IAAI,CAACgB,YAAY,CAAC,GACzB7C,MAAM,CAAC6B;aAEbpB,cAAc,CAACT,MAAM,EAAE6C,YAAY,CAAC,GACvC,OAAO7C,MAAM,CAACkE,IAAI,KAAK,UAAU,GAAGlE,MAAM,CAACkE,IAAI,CAACrB,YAAY,CAAC,GAAG7C,MAAM,CAACkE,IAAI,CAEnF,CAAC,CACS,CACZ,GACP,IAAI,CAEf;UAED,IAAIhC,QAAQ,EAAE;YACV,oBAAOnB;cAAKW,SAAS,EAAE3C;eAAuBgE,MAAM,CAAO;;UAG/D,oBACIhC,6BAACoD,MAAM;YAACC,UAAU,EAAC;aACd,CAAC;YAAEC,MAAM;YAAEC;WAAK,kBACbvD;YAAKW,SAAS,EAAE3C,oBAAoB;YAAEuF,GAAG,EAAEA;aACtCD,MAAM,GAAGtB,MAAM,GAAG,IAAI,CAE9B,CACI;;OAGpB,CACJ,CAAC;;GAET;EACDV,MAAM,CAACkC,UAAU,GAAG,eAAe;EACnC,OAAOlC,MAAM;AACjB;;;;"}
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { useLocalization } from '../../Provider/Provider.js';
2
+ import { useLocalization } from '../../Provider/Localization.js';
3
3
  import { useTable as useTable$1, useRowState, useSortBy, useExpanded, usePagination } from 'react-table';
4
4
  import { getColumnsFromChildren, getInternalSortRules, sanitizeRowProps } from '../util.js';
5
5
  import { sortTypes } from '../util/sortTypes.js';