@economic/taco 0.0.16-alpha.0 → 0.0.19-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/README.md +84 -84
  2. package/dist/components/Dialog/components/Drawer.d.ts +2 -1
  3. package/dist/components/Dialog/components/Extra.d.ts +2 -1
  4. package/dist/esm/components/Accordion/Accordion.js +3 -3
  5. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  6. package/dist/esm/components/Backdrop/Backdrop.js +1 -1
  7. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  8. package/dist/esm/components/Badge/Badge.js.map +1 -1
  9. package/dist/esm/components/Banner/Banner.js.map +1 -1
  10. package/dist/esm/components/Banner/util.js +1 -1
  11. package/dist/esm/components/Banner/util.js.map +1 -1
  12. package/dist/esm/components/Button/Button.js.map +1 -1
  13. package/dist/esm/components/Button/util.js +18 -23
  14. package/dist/esm/components/Button/util.js.map +1 -1
  15. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  16. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  17. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  18. package/dist/esm/components/Combobox/useCombobox.js +64 -84
  19. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  20. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  21. package/dist/esm/components/Datepicker/useDatepicker.js +27 -34
  22. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  23. package/dist/esm/components/Dialog/Context.js +3 -3
  24. package/dist/esm/components/Dialog/Context.js.map +1 -1
  25. package/dist/esm/components/Dialog/Dialog.js +4 -4
  26. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  27. package/dist/esm/components/Dialog/components/Content.js +39 -44
  28. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  29. package/dist/esm/components/Dialog/components/Drawer.js +4 -3
  30. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  31. package/dist/esm/components/Dialog/components/Extra.js +3 -2
  32. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  33. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  34. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  35. package/dist/esm/components/Field/Field.js.map +1 -1
  36. package/dist/esm/components/Form/Form.js.map +1 -1
  37. package/dist/esm/components/Group/Group.js.map +1 -1
  38. package/dist/esm/components/Hanger/Hanger.js +3 -3
  39. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  40. package/dist/esm/components/Icon/Icon.js.map +1 -1
  41. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  42. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  43. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  44. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  45. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  46. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  47. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  48. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  49. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  50. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  51. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  52. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  53. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  54. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  55. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  56. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  57. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  58. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  59. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  60. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  61. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  62. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  63. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  64. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  65. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  66. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  67. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  72. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  73. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  74. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  75. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  76. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  77. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  78. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  79. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  80. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  81. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  82. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  83. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  84. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  85. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  86. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  87. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  88. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  89. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  90. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  91. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  92. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  93. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  94. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  95. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  96. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  97. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  98. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  100. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  101. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  102. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  103. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  104. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  105. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  106. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  107. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  108. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  109. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  110. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  111. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  112. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  113. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  114. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  115. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  116. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  117. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  118. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  119. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  120. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  121. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  122. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  123. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  124. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  125. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  126. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  127. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  128. package/dist/esm/components/Icon/components/ExportToExcelCopy.js.map +1 -1
  129. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  130. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  131. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  132. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  133. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  134. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  135. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  136. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  137. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  138. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  139. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  140. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  141. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  142. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  143. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  144. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  145. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  146. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  147. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  148. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  149. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  150. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  151. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  152. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  153. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  154. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  155. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  156. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  157. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  158. package/dist/esm/components/Icon/components/List.js.map +1 -1
  159. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  160. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  161. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  162. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  163. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  164. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  165. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  166. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  167. package/dist/esm/components/Icon/components/Minus.js.map +1 -1
  168. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  169. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  170. package/dist/esm/components/Icon/components/More.js.map +1 -1
  171. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  172. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  173. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  174. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  175. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  176. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  177. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  178. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  179. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  180. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  181. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  182. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  183. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  184. package/dist/esm/components/Icon/components/PlusCircle.js.map +1 -1
  185. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  186. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  187. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  188. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  189. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  190. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  191. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  192. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  193. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  194. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  195. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  196. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  197. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  198. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  199. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  200. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  201. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  202. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  203. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  204. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  205. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  206. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  207. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  208. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  209. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  210. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  211. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  212. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  213. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  214. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  215. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  216. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  217. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  218. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  219. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  220. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  221. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  222. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  223. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  224. package/dist/esm/components/Icon/components/Thumb.js.map +1 -1
  225. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  226. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  227. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  228. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  229. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  230. package/dist/esm/components/Icon/components/TickCircle.js.map +1 -1
  231. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  232. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  233. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  234. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  235. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  236. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  237. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  238. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  239. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  240. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  241. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  242. package/dist/esm/components/Icon/components/index.js +4 -4
  243. package/dist/esm/components/Icon/components/index.js.map +1 -1
  244. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  245. package/dist/esm/components/Input/Input.js.map +1 -1
  246. package/dist/esm/components/Input/util.js +9 -8
  247. package/dist/esm/components/Input/util.js.map +1 -1
  248. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  249. package/dist/esm/components/Listbox/ScrollableList.js +63 -82
  250. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  251. package/dist/esm/components/Listbox/useListbox.js +49 -58
  252. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  253. package/dist/esm/components/Listbox/useMultiListbox.js +63 -91
  254. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  255. package/dist/esm/components/Listbox/useTypeahead.js +10 -9
  256. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  257. package/dist/esm/components/Listbox/util.js +48 -84
  258. package/dist/esm/components/Listbox/util.js.map +1 -1
  259. package/dist/esm/components/Menu/Context.js +2 -2
  260. package/dist/esm/components/Menu/Context.js.map +1 -1
  261. package/dist/esm/components/Menu/Menu.js.map +1 -1
  262. package/dist/esm/components/Menu/components/Checkbox.js +8 -9
  263. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  264. package/dist/esm/components/Menu/components/Content.js +10 -13
  265. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  266. package/dist/esm/components/Menu/components/Header.js +4 -4
  267. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  268. package/dist/esm/components/Menu/components/Item.js +34 -35
  269. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  270. package/dist/esm/components/Menu/components/Link.js +18 -9
  271. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  272. package/dist/esm/components/Menu/components/RadioGroup.js +16 -18
  273. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  274. package/dist/esm/components/Menu/components/Separator.js +4 -4
  275. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  276. package/dist/esm/components/Menu/components/Trigger.js +5 -5
  277. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  278. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  279. package/dist/esm/components/Pagination/PageNumbers.js +23 -28
  280. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  281. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  282. package/dist/esm/components/Pagination/usePagination.js +7 -21
  283. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  284. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  285. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  286. package/dist/esm/components/Popover/Popover.js +29 -34
  287. package/dist/esm/components/Popover/Popover.js.map +1 -1
  288. package/dist/esm/components/Popover/Primitives.js +7 -11
  289. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  290. package/dist/esm/components/Progress/Progress.js +11 -15
  291. package/dist/esm/components/Progress/Progress.js.map +1 -1
  292. package/dist/esm/components/Provider/Provider.js +13 -18
  293. package/dist/esm/components/Provider/Provider.js.map +1 -1
  294. package/dist/esm/components/RadioGroup/RadioGroup.js +45 -57
  295. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  296. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  297. package/dist/esm/components/Select/Select.js +30 -31
  298. package/dist/esm/components/Select/Select.js.map +1 -1
  299. package/dist/esm/components/Select/useSelect.js +63 -82
  300. package/dist/esm/components/Select/useSelect.js.map +1 -1
  301. package/dist/esm/components/Spinner/Spinner.js +12 -19
  302. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  303. package/dist/esm/components/Switch/Switch.js +9 -10
  304. package/dist/esm/components/Switch/Switch.js.map +1 -1
  305. package/dist/esm/components/Table/components/BaseTable.js +23 -30
  306. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  307. package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
  308. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  309. package/dist/esm/components/Table/components/Table.js +18 -25
  310. package/dist/esm/components/Table/components/Table.js.map +1 -1
  311. package/dist/esm/components/Table/components/WindowedTable.js +88 -104
  312. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  313. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +122 -146
  314. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  315. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
  316. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  317. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
  318. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  319. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +80 -90
  320. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  321. package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
  322. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  323. package/dist/esm/components/Table/hooks/useTable.js +119 -141
  324. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  325. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +12 -15
  326. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  327. package/dist/esm/components/Table/util/renderColumn.js +10 -10
  328. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  329. package/dist/esm/components/Table/util/renderRow.js +37 -46
  330. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  331. package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
  332. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  333. package/dist/esm/components/Table/util/sortTypes.js +23 -31
  334. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  335. package/dist/esm/components/Table/util.js +29 -41
  336. package/dist/esm/components/Table/util.js.map +1 -1
  337. package/dist/esm/components/Tabs/Tabs.js +25 -27
  338. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  339. package/dist/esm/components/Textarea/Textarea.js +11 -9
  340. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  341. package/dist/esm/components/Toast/Toast.js +20 -21
  342. package/dist/esm/components/Toast/Toast.js.map +1 -1
  343. package/dist/esm/components/Toast/Toaster.js +88 -118
  344. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  345. package/dist/esm/components/Toast/util.js +2 -2
  346. package/dist/esm/components/Toast/util.js.map +1 -1
  347. package/dist/esm/components/Tooltip/Tooltip.js +7 -8
  348. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  349. package/dist/esm/components/Tour/Tour.js +44 -50
  350. package/dist/esm/components/Tour/Tour.js.map +1 -1
  351. package/dist/esm/components/Treeview/Treeview.js +26 -36
  352. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  353. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  354. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  355. package/dist/esm/index.css +642 -642
  356. package/dist/esm/index.js +1 -1
  357. package/dist/esm/primitives/Button.js +9 -13
  358. package/dist/esm/primitives/Button.js.map +1 -1
  359. package/dist/esm/utils/date.js.map +1 -1
  360. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  361. package/dist/esm/utils/hooks/useDraggable.js +16 -18
  362. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  363. package/dist/esm/utils/hooks/useDropTarget.js +7 -10
  364. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  365. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  366. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  367. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  368. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  369. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  370. package/dist/esm/utils/hooks/useTimer.js +9 -17
  371. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  372. package/dist/esm/utils/input.js +7 -11
  373. package/dist/esm/utils/input.js.map +1 -1
  374. package/dist/esm/utils/mergeRefs.js +2 -2
  375. package/dist/esm/utils/mergeRefs.js.map +1 -1
  376. package/dist/esm/utils/taillwind.js +2 -2
  377. package/dist/esm/utils/taillwind.js.map +1 -1
  378. package/dist/index.css +642 -642
  379. package/dist/taco.cjs.development.js +1876 -2282
  380. package/dist/taco.cjs.development.js.map +1 -1
  381. package/dist/taco.cjs.production.min.js +1 -1
  382. package/dist/taco.cjs.production.min.js.map +1 -1
  383. package/dist/utils/tailwind.d.ts +1 -1
  384. package/package.json +2 -2
  385. package/plugins/tailwindcss-aria-attributes.js +73 -73
  386. package/tailwind.config.js +297 -297
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sources":["../../../../../src/components/Menu/components/Item.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { IconName } from '../../Icon/Icon';\nimport { Icon as IconPrimitive } from '../../Icon/Icon';\nimport { useCurrentMenu } from '../Context';\nimport { Appearance } from '../../../types';\nimport { DialogProps } from '../../Dialog/Dialog';\n\nexport const Icon = ({ name }) => (\n <span className=\"absolute left-0 ml-1\">\n <IconPrimitive className=\"-ml-px -mt-px !h-5 !w-5\" name={name} />\n </span>\n);\n\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\n switch (appearance) {\n case 'primary':\n return 'wcag-blue aria-disabled:text-blue-dark focus:wcag-blue-light';\n\n case 'danger':\n return 'wcag-red aria-disabled:text-red-dark focus:wcag-red-light';\n\n case 'ghost':\n return 'text-blue aria-disabled:text-grey focus:wcag-blue';\n\n case 'discrete':\n return 'text-black aria-disabled:text-grey focus:wcag-blue-lightest';\n\n case 'default':\n default:\n return 'wcag-grey-light aria-disabled:text-grey-darker focus:wcag-grey-dark';\n }\n};\n\nexport const useItemStyling = ({ disabled, indented, className }) => {\n const menu = useCurrentMenu();\n\n React.useEffect(() => {\n if (indented && !menu?.indented) {\n menu?.registerIndentation();\n }\n }, [indented]);\n\n return cn(\n 'flex items-center justify-start h-7 pr-1.5 relative rounded w-full focus:outline-none group',\n getAppearanceClasses(menu?.appearance),\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n 'cursor-pointer': !disabled,\n 'cursor-not-allowed': disabled,\n },\n className\n );\n};\n\nexport const Shortcut = props => {\n const menu = useCurrentMenu();\n let appearance;\n\n switch (menu?.appearance) {\n case 'primary':\n appearance = 'text-blue-lightest group-focus:text-black';\n break;\n\n case 'danger':\n appearance = 'text-red-lightest group-focus:text-white';\n break;\n\n case 'ghost':\n appearance = 'text-blue-light group-focus:text-blue-lightest';\n break;\n\n case 'discrete':\n appearance = 'text-grey-darker group-focus:text-blue-light';\n break;\n\n case 'default':\n default:\n appearance = 'text-grey-darkest';\n break;\n }\n\n const className = cn('ml-auto pl-3', appearance);\n\n return <span {...props} className={className} />;\n};\n\nexport type MenuItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n dialog?: (props: Partial<DialogProps>) => JSX.Element;\n disabled?: boolean;\n icon?: IconName;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n shortcut?: string;\n};\n\nexport const Item = React.forwardRef(function MenuItem(props: MenuItemProps, ref: React.Ref<HTMLDivElement>) {\n const { dialog, icon, onClick, shortcut, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const disabled = props.disabled ?? props['aria-disabled'];\n\n let handleClick;\n\n // radix has a bug that does not disable clicks when disabled is set on items\n if (disabled) {\n handleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n };\n }\n\n const handleSelect = event => {\n if (onClick) {\n onClick(event);\n }\n\n if (props['aria-haspopup'] || typeof dialog === 'function') {\n event.preventDefault();\n }\n };\n\n let button = (\n <DropdownMenuPrimitive.Item {...otherProps} className={className} onClick={handleClick} onSelect={handleSelect} ref={ref}>\n {icon && <Icon name={icon} />}\n {props.children}\n {shortcut && <Shortcut>{shortcut}</Shortcut>}\n </DropdownMenuPrimitive.Item>\n );\n\n if (typeof dialog === 'function') {\n button = dialog({ trigger: button });\n }\n\n return button;\n});\n"],"names":["Icon","name","React","className","IconPrimitive","getAppearanceClasses","appearance","useItemStyling","disabled","indented","menu","useCurrentMenu","registerIndentation","cn","Shortcut","props","Item","MenuItem","ref","dialog","icon","onClick","shortcut","otherProps","handleClick","event","preventDefault","stopPropagation","handleSelect","button","DropdownMenuPrimitive","onSelect","children","trigger"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","sources":["../../../../../src/components/Menu/components/Item.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport cn from 'classnames';\r\nimport { IconName } from '../../Icon/Icon';\r\nimport { Icon as IconPrimitive } from '../../Icon/Icon';\r\nimport { useCurrentMenu } from '../Context';\r\nimport { Appearance } from '../../../types';\r\nimport { DialogProps } from '../../Dialog/Dialog';\r\n\r\nexport const Icon = ({ name }) => (\r\n <span className=\"absolute left-0 ml-1\">\r\n <IconPrimitive className=\"-ml-px -mt-px !h-5 !w-5\" name={name} />\r\n </span>\r\n);\r\n\r\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\r\n switch (appearance) {\r\n case 'primary':\r\n return 'wcag-blue aria-disabled:text-blue-dark focus:wcag-blue-light';\r\n\r\n case 'danger':\r\n return 'wcag-red aria-disabled:text-red-dark focus:wcag-red-light';\r\n\r\n case 'ghost':\r\n return 'text-blue aria-disabled:text-grey focus:wcag-blue';\r\n\r\n case 'discrete':\r\n return 'text-black aria-disabled:text-grey focus:wcag-blue-lightest';\r\n\r\n case 'default':\r\n default:\r\n return 'wcag-grey-light aria-disabled:text-grey-darker focus:wcag-grey-dark';\r\n }\r\n};\r\n\r\nexport const useItemStyling = ({ disabled, indented, className }) => {\r\n const menu = useCurrentMenu();\r\n\r\n React.useEffect(() => {\r\n if (indented && !menu?.indented) {\r\n menu?.registerIndentation();\r\n }\r\n }, [indented]);\r\n\r\n return cn(\r\n 'flex items-center justify-start h-7 pr-1.5 relative rounded w-full focus:outline-none group',\r\n getAppearanceClasses(menu?.appearance),\r\n {\r\n 'pl-7': menu?.indented,\r\n 'pl-1.5': !menu?.indented,\r\n 'cursor-pointer': !disabled,\r\n 'cursor-not-allowed': disabled,\r\n },\r\n className\r\n );\r\n};\r\n\r\nexport const Shortcut = props => {\r\n const menu = useCurrentMenu();\r\n let appearance;\r\n\r\n switch (menu?.appearance) {\r\n case 'primary':\r\n appearance = 'text-blue-lightest group-focus:text-black';\r\n break;\r\n\r\n case 'danger':\r\n appearance = 'text-red-lightest group-focus:text-white';\r\n break;\r\n\r\n case 'ghost':\r\n appearance = 'text-blue-light group-focus:text-blue-lightest';\r\n break;\r\n\r\n case 'discrete':\r\n appearance = 'text-grey-darker group-focus:text-blue-light';\r\n break;\r\n\r\n case 'default':\r\n default:\r\n appearance = 'text-grey-darkest';\r\n break;\r\n }\r\n\r\n const className = cn('ml-auto pl-3', appearance);\r\n\r\n return <span {...props} className={className} />;\r\n};\r\n\r\nexport type MenuItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\r\n dialog?: (props: Partial<DialogProps>) => JSX.Element;\r\n disabled?: boolean;\r\n icon?: IconName;\r\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n shortcut?: string;\r\n};\r\n\r\nexport const Item = React.forwardRef(function MenuItem(props: MenuItemProps, ref: React.Ref<HTMLDivElement>) {\r\n const { dialog, icon, onClick, shortcut, ...otherProps } = props;\r\n const className = useItemStyling({\r\n disabled: props.disabled,\r\n indented: !!icon,\r\n className: props.className,\r\n });\r\n\r\n const disabled = props.disabled ?? props['aria-disabled'];\r\n\r\n let handleClick;\r\n\r\n // radix has a bug that does not disable clicks when disabled is set on items\r\n if (disabled) {\r\n handleClick = event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n }\r\n\r\n const handleSelect = event => {\r\n if (onClick) {\r\n onClick(event);\r\n }\r\n\r\n if (props['aria-haspopup'] || typeof dialog === 'function') {\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n let button = (\r\n <DropdownMenuPrimitive.Item {...otherProps} className={className} onClick={handleClick} onSelect={handleSelect} ref={ref}>\r\n {icon && <Icon name={icon} />}\r\n {props.children}\r\n {shortcut && <Shortcut>{shortcut}</Shortcut>}\r\n </DropdownMenuPrimitive.Item>\r\n );\r\n\r\n if (typeof dialog === 'function') {\r\n button = dialog({ trigger: button });\r\n }\r\n\r\n return button;\r\n});\r\n"],"names":["Icon","name","React","className","IconPrimitive","getAppearanceClasses","appearance","useItemStyling","disabled","indented","menu","useCurrentMenu","registerIndentation","cn","Shortcut","props","Item","MenuItem","ref","dialog","icon","onClick","shortcut","otherProps","handleClick","event","preventDefault","stopPropagation","handleSelect","button","DropdownMenuPrimitive","onSelect","children","trigger"],"mappings":"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"}
@@ -1,23 +1,32 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { forwardRef, createElement } from 'react';
2
+ import { useCurrentMenu } from '../Context.js';
3
3
  import { Item } from '@radix-ui/react-dropdown-menu';
4
4
  import { useItemStyling, Icon } from './Item.js';
5
5
 
6
- var _excluded = ["href", "icon"];
7
- var Link = /*#__PURE__*/forwardRef(function MenuLink(props, ref) {
8
- var href = props.href,
9
- icon = props.icon,
10
- otherProps = _objectWithoutPropertiesLoose(props, _excluded);
11
-
12
- var className = useItemStyling({
6
+ const Link = /*#__PURE__*/forwardRef(function MenuLink(props, ref) {
7
+ const {
8
+ href,
9
+ icon,
10
+ onClick,
11
+ ...otherProps
12
+ } = props;
13
+ const menu = useCurrentMenu();
14
+ const className = useItemStyling({
13
15
  disabled: props.disabled,
14
16
  indented: !!icon,
15
17
  className: props.className
16
18
  });
19
+
20
+ const handleClick = event => {
21
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
22
+ menu === null || menu === void 0 ? void 0 : menu.close();
23
+ };
24
+
17
25
  return createElement(Item, Object.assign({}, otherProps, {
18
26
  asChild: true,
19
27
  className: className,
20
- ref: ref
28
+ ref: ref,
29
+ onClick: handleClick
21
30
  }), createElement("a", {
22
31
  href: href,
23
32
  target: "_blank"
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../../../../../src/components/Menu/components/Link.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { IconName } from '../../Icon/Icon';\nimport { Icon, useItemStyling } from './Item';\n\nexport type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n disabled?: boolean;\n icon?: IconName;\n href: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n};\n\nexport const Link = React.forwardRef(function MenuLink(props: MenuLinkItemProps, ref: React.Ref<HTMLDivElement>) {\n const { href, icon, ...otherProps } = props;\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n return (\n <DropdownMenuPrimitive.Item {...otherProps} asChild className={className} ref={ref}>\n <a href={href} target=\"_blank\">\n {icon && <Icon name={icon} />}\n {props.children}\n </a>\n </DropdownMenuPrimitive.Item>\n );\n});\n"],"names":["Link","React","MenuLink","props","ref","href","icon","otherProps","className","useItemStyling","disabled","indented","DropdownMenuPrimitive","asChild","target","Icon","name","children"],"mappings":";;;;;;IAYaA,IAAI,gBAAGC,UAAA,CAAiB,SAASC,QAAT,CAAkBC,KAAlB,EAA4CC,GAA5C;AACjC,MAAQC,IAAR,GAAsCF,KAAtC,CAAQE,IAAR;AAAA,MAAcC,IAAd,GAAsCH,KAAtC,CAAcG,IAAd;AAAA,MAAuBC,UAAvB,iCAAsCJ,KAAtC;;AAEA,MAAMK,SAAS,GAAGC,cAAc,CAAC;AAC7BC,IAAAA,QAAQ,EAAEP,KAAK,CAACO,QADa;AAE7BC,IAAAA,QAAQ,EAAE,CAAC,CAACL,IAFiB;AAG7BE,IAAAA,SAAS,EAAEL,KAAK,CAACK;AAHY,GAAD,CAAhC;AAMA,SACIP,aAAA,CAACW,IAAD,oBAAgCL;AAAYM,IAAAA,OAAO;AAACL,IAAAA,SAAS,EAAEA;AAAWJ,IAAAA,GAAG,EAAEA;IAA/E,EACIH,aAAA,IAAA;AAAGI,IAAAA,IAAI,EAAEA;AAAMS,IAAAA,MAAM,EAAC;GAAtB,EACKR,IAAI,IAAIL,aAAA,CAACc,IAAD;AAAMC,IAAAA,IAAI,EAAEV;GAAZ,CADb,EAEKH,KAAK,CAACc,QAFX,CADJ,CADJ;AAQH,CAjBmB;;;;"}
1
+ {"version":3,"file":"Link.js","sources":["../../../../../src/components/Menu/components/Link.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { IconName } from '../../Icon/Icon';\r\nimport { Icon, useItemStyling } from './Item';\r\nimport { useCurrentMenu } from '../Context';\r\n\r\nexport type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\r\n disabled?: boolean;\r\n icon?: IconName;\r\n href: string;\r\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n};\r\n\r\nexport const Link = React.forwardRef(function MenuLink(props: MenuLinkItemProps, ref: React.Ref<HTMLDivElement>) {\r\n const { href, icon, onClick, ...otherProps } = props;\r\n const menu = useCurrentMenu();\r\n\r\n const className = useItemStyling({\r\n disabled: props.disabled,\r\n indented: !!icon,\r\n className: props.className,\r\n });\r\n\r\n const handleClick: React.MouseEventHandler<HTMLDivElement> = event => {\r\n onClick?.(event);\r\n menu?.close();\r\n };\r\n\r\n return (\r\n <DropdownMenuPrimitive.Item {...otherProps} asChild className={className} ref={ref} onClick={handleClick}>\r\n <a href={href} target=\"_blank\">\r\n {icon && <Icon name={icon} />}\r\n {props.children}\r\n </a>\r\n </DropdownMenuPrimitive.Item>\r\n );\r\n});\r\n"],"names":["Link","React","MenuLink","props","ref","href","icon","onClick","otherProps","menu","useCurrentMenu","className","useItemStyling","disabled","indented","handleClick","event","close","DropdownMenuPrimitive","asChild","target","Icon","name","children"],"mappings":";;;;;MAaaA,IAAI,gBAAGC,UAAA,CAAiB,SAASC,QAAT,CAAkBC,KAAlB,EAA4CC,GAA5C;AACjC,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,IAAR;AAAcC,IAAAA,OAAd;AAAuB,OAAGC;AAA1B,MAAyCL,KAA/C;AACA,QAAMM,IAAI,GAAGC,cAAc,EAA3B;AAEA,QAAMC,SAAS,GAAGC,cAAc,CAAC;AAC7BC,IAAAA,QAAQ,EAAEV,KAAK,CAACU,QADa;AAE7BC,IAAAA,QAAQ,EAAE,CAAC,CAACR,IAFiB;AAG7BK,IAAAA,SAAS,EAAER,KAAK,CAACQ;AAHY,GAAD,CAAhC;;AAMA,QAAMI,WAAW,GAA4CC,KAAK;AAC9DT,IAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGS,KAAH,CAAP;AACAP,IAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEQ,KAAN;AACH,GAHD;;AAKA,SACIhB,aAAA,CAACiB,IAAD,oBAAgCV;AAAYW,IAAAA,OAAO;AAACR,IAAAA,SAAS,EAAEA;AAAWP,IAAAA,GAAG,EAAEA;AAAKG,IAAAA,OAAO,EAAEQ;IAA7F,EACId,aAAA,IAAA;AAAGI,IAAAA,IAAI,EAAEA;AAAMe,IAAAA,MAAM,EAAC;GAAtB,EACKd,IAAI,IAAIL,aAAA,CAACoB,IAAD;AAAMC,IAAAA,IAAI,EAAEhB;GAAZ,CADb,EAEKH,KAAK,CAACoB,QAFX,CADJ,CADJ;AAQH,CAvBmB;;;;"}
@@ -1,20 +1,18 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { createElement, useContext, createContext } from 'react';
3
2
  import cn from 'classnames';
4
3
  import { RadioGroup as RadioGroup$1, RadioItem as RadioItem$1, ItemIndicator } from '@radix-ui/react-dropdown-menu';
5
4
  import { useItemStyling } from './Item.js';
6
5
  import { useRadioGroup, getRadioGroupItemValueAsString } from '../../RadioGroup/RadioGroup.js';
7
6
 
8
- var _excluded = ["children", "value"];
9
- var RadioItem = function RadioItem(props) {
10
- var context = useContext(MenuRadioGroupContext);
11
-
12
- var children = props.children,
13
- value = props.value,
14
- otherProps = _objectWithoutPropertiesLoose(props, _excluded);
15
-
16
- var disabled = context.disabled || props.disabled;
17
- var className = useItemStyling({
7
+ const RadioItem = props => {
8
+ const context = useContext(MenuRadioGroupContext);
9
+ const {
10
+ children,
11
+ value,
12
+ ...otherProps
13
+ } = props;
14
+ const disabled = context.disabled || props.disabled;
15
+ const className = useItemStyling({
18
16
  disabled: disabled,
19
17
  indented: true,
20
18
  className: props.className
@@ -29,15 +27,15 @@ var RadioItem = function RadioItem(props) {
29
27
  className: "flex h-1.5 w-1.5 ml-1 rounded-full bg-current "
30
28
  })), children);
31
29
  };
32
- var MenuRadioGroupContext = /*#__PURE__*/createContext({
30
+ const MenuRadioGroupContext = /*#__PURE__*/createContext({
33
31
  disabled: false
34
32
  });
35
- var RadioGroup = function RadioGroup(props) {
36
- var _useRadioGroup = useRadioGroup(props),
37
- context = _useRadioGroup.context,
38
- otherProps = _useRadioGroup.props;
39
-
40
- var className = cn('flex flex-col', props.className);
33
+ const RadioGroup = props => {
34
+ const {
35
+ context,
36
+ props: otherProps
37
+ } = useRadioGroup(props);
38
+ const className = cn('flex flex-col', props.className);
41
39
  return createElement(MenuRadioGroupContext.Provider, {
42
40
  value: context
43
41
  }, createElement(RadioGroup$1, Object.assign({}, otherProps, {
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sources":["../../../../../src/components/Menu/components/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { getRadioGroupItemValueAsString, RadioGroupItemProps, RadioGroupProps, useRadioGroup } from '../../RadioGroup/RadioGroup';\nimport { useItemStyling } from './Item';\n\nexport type MenuRadioGroupItemProps = RadioGroupItemProps<HTMLDivElement>;\n\nexport const RadioItem = (props: MenuRadioGroupItemProps) => {\n const context = React.useContext(MenuRadioGroupContext);\n const { children, value, ...otherProps } = props;\n const disabled = context.disabled || props.disabled;\n const className = useItemStyling({\n disabled: disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <DropdownMenuPrimitive.RadioItem\n {...otherProps}\n className={className}\n disabled={disabled}\n value={getRadioGroupItemValueAsString(value)}\n >\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\n <span className=\"flex h-1.5 w-1.5 ml-1 rounded-full bg-current \" />\n </DropdownMenuPrimitive.ItemIndicator>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n};\n\nconst MenuRadioGroupContext = React.createContext({ disabled: false });\n\nexport type MenuRadioGroupProps = RadioGroupProps;\n\nexport const RadioGroup = (props: MenuRadioGroupProps) => {\n const { context, props: otherProps } = useRadioGroup(props);\n const className = cn('flex flex-col', props.className);\n\n return (\n <MenuRadioGroupContext.Provider value={context}>\n <DropdownMenuPrimitive.RadioGroup {...otherProps} className={className} />\n </MenuRadioGroupContext.Provider>\n );\n};\nRadioGroup.Item = RadioItem;\n"],"names":["RadioItem","props","context","React","MenuRadioGroupContext","children","value","otherProps","disabled","className","useItemStyling","indented","DropdownMenuPrimitive","getRadioGroupItemValueAsString","RadioGroup","useRadioGroup","cn","Provider","Item"],"mappings":";;;;;;;;IAQaA,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD;AACrB,MAAMC,OAAO,GAAGC,UAAA,CAAiBC,qBAAjB,CAAhB;;AACA,MAAQC,QAAR,GAA2CJ,KAA3C,CAAQI,QAAR;AAAA,MAAkBC,KAAlB,GAA2CL,KAA3C,CAAkBK,KAAlB;AAAA,MAA4BC,UAA5B,iCAA2CN,KAA3C;;AACA,MAAMO,QAAQ,GAAGN,OAAO,CAACM,QAAR,IAAoBP,KAAK,CAACO,QAA3C;AACA,MAAMC,SAAS,GAAGC,cAAc,CAAC;AAC7BF,IAAAA,QAAQ,EAAEA,QADmB;AAE7BG,IAAAA,QAAQ,EAAE,IAFmB;AAG7BF,IAAAA,SAAS,EAAER,KAAK,CAACQ;AAHY,GAAD,CAAhC;AAMA,SACIN,aAAA,CAACS,WAAD,oBACQL;AACJE,IAAAA,SAAS,EAAEA;AACXD,IAAAA,QAAQ,EAAEA;AACVF,IAAAA,KAAK,EAAEO,8BAA8B,CAACP,KAAD;IAJzC,EAMIH,aAAA,CAACS,aAAD;AAAqCH,IAAAA,SAAS,EAAC;GAA/C,EACIN,aAAA,OAAA;AAAMM,IAAAA,SAAS,EAAC;GAAhB,CADJ,CANJ,EASKJ,QATL,CADJ;AAaH;AAED,IAAMD,qBAAqB,gBAAGD,aAAA,CAAoB;AAAEK,EAAAA,QAAQ,EAAE;AAAZ,CAApB,CAA9B;IAIaM,UAAU,GAAG,SAAbA,UAAa,CAACb,KAAD;AACtB,uBAAuCc,aAAa,CAACd,KAAD,CAApD;AAAA,MAAQC,OAAR,kBAAQA,OAAR;AAAA,MAAwBK,UAAxB,kBAAiBN,KAAjB;;AACA,MAAMQ,SAAS,GAAGO,EAAE,CAAC,eAAD,EAAkBf,KAAK,CAACQ,SAAxB,CAApB;AAEA,SACIN,aAAA,CAACC,qBAAqB,CAACa,QAAvB;AAAgCX,IAAAA,KAAK,EAAEJ;GAAvC,EACIC,aAAA,CAACS,YAAD,oBAAsCL;AAAYE,IAAAA,SAAS,EAAEA;IAA7D,CADJ,CADJ;AAKH;AACDK,UAAU,CAACI,IAAX,GAAkBlB,SAAlB;;;;"}
1
+ {"version":3,"file":"RadioGroup.js","sources":["../../../../../src/components/Menu/components/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport cn from 'classnames';\r\nimport { getRadioGroupItemValueAsString, RadioGroupItemProps, RadioGroupProps, useRadioGroup } from '../../RadioGroup/RadioGroup';\r\nimport { useItemStyling } from './Item';\r\n\r\nexport type MenuRadioGroupItemProps = RadioGroupItemProps<HTMLDivElement>;\r\n\r\nexport const RadioItem = (props: MenuRadioGroupItemProps) => {\r\n const context = React.useContext(MenuRadioGroupContext);\r\n const { children, value, ...otherProps } = props;\r\n const disabled = context.disabled || props.disabled;\r\n const className = useItemStyling({\r\n disabled: disabled,\r\n indented: true,\r\n className: props.className,\r\n });\r\n\r\n return (\r\n <DropdownMenuPrimitive.RadioItem\r\n {...otherProps}\r\n className={className}\r\n disabled={disabled}\r\n value={getRadioGroupItemValueAsString(value)}\r\n >\r\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\r\n <span className=\"flex h-1.5 w-1.5 ml-1 rounded-full bg-current \" />\r\n </DropdownMenuPrimitive.ItemIndicator>\r\n {children}\r\n </DropdownMenuPrimitive.RadioItem>\r\n );\r\n};\r\n\r\nconst MenuRadioGroupContext = React.createContext({ disabled: false });\r\n\r\nexport type MenuRadioGroupProps = RadioGroupProps;\r\n\r\nexport const RadioGroup = (props: MenuRadioGroupProps) => {\r\n const { context, props: otherProps } = useRadioGroup(props);\r\n const className = cn('flex flex-col', props.className);\r\n\r\n return (\r\n <MenuRadioGroupContext.Provider value={context}>\r\n <DropdownMenuPrimitive.RadioGroup {...otherProps} className={className} />\r\n </MenuRadioGroupContext.Provider>\r\n );\r\n};\r\nRadioGroup.Item = RadioItem;\r\n"],"names":["RadioItem","props","context","React","MenuRadioGroupContext","children","value","otherProps","disabled","className","useItemStyling","indented","DropdownMenuPrimitive","getRadioGroupItemValueAsString","RadioGroup","useRadioGroup","cn","Provider","Item"],"mappings":";;;;;;MAQaA,SAAS,GAAIC,KAAD;AACrB,QAAMC,OAAO,GAAGC,UAAA,CAAiBC,qBAAjB,CAAhB;AACA,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,KAAZ;AAAmB,OAAGC;AAAtB,MAAqCN,KAA3C;AACA,QAAMO,QAAQ,GAAGN,OAAO,CAACM,QAAR,IAAoBP,KAAK,CAACO,QAA3C;AACA,QAAMC,SAAS,GAAGC,cAAc,CAAC;AAC7BF,IAAAA,QAAQ,EAAEA,QADmB;AAE7BG,IAAAA,QAAQ,EAAE,IAFmB;AAG7BF,IAAAA,SAAS,EAAER,KAAK,CAACQ;AAHY,GAAD,CAAhC;AAMA,SACIN,aAAA,CAACS,WAAD,oBACQL;AACJE,IAAAA,SAAS,EAAEA;AACXD,IAAAA,QAAQ,EAAEA;AACVF,IAAAA,KAAK,EAAEO,8BAA8B,CAACP,KAAD;IAJzC,EAMIH,aAAA,CAACS,aAAD;AAAqCH,IAAAA,SAAS,EAAC;GAA/C,EACIN,aAAA,OAAA;AAAMM,IAAAA,SAAS,EAAC;GAAhB,CADJ,CANJ,EASKJ,QATL,CADJ;AAaH;AAED,MAAMD,qBAAqB,gBAAGD,aAAA,CAAoB;AAAEK,EAAAA,QAAQ,EAAE;AAAZ,CAApB,CAA9B;MAIaM,UAAU,GAAIb,KAAD;AACtB,QAAM;AAAEC,IAAAA,OAAF;AAAWD,IAAAA,KAAK,EAAEM;AAAlB,MAAiCQ,aAAa,CAACd,KAAD,CAApD;AACA,QAAMQ,SAAS,GAAGO,EAAE,CAAC,eAAD,EAAkBf,KAAK,CAACQ,SAAxB,CAApB;AAEA,SACIN,aAAA,CAACC,qBAAqB,CAACa,QAAvB;AAAgCX,IAAAA,KAAK,EAAEJ;GAAvC,EACIC,aAAA,CAACS,YAAD,oBAAsCL;AAAYE,IAAAA,SAAS,EAAEA;IAA7D,CADJ,CADJ;AAKH;AACDK,UAAU,CAACI,IAAX,GAAkBlB,SAAlB;;;;"}
@@ -3,7 +3,7 @@ import cn from 'classnames';
3
3
  import { useCurrentMenu } from '../Context.js';
4
4
  import { Separator as Separator$1 } from '@radix-ui/react-dropdown-menu';
5
5
 
6
- var getAppearanceClasses = function getAppearanceClasses(appearance) {
6
+ const getAppearanceClasses = appearance => {
7
7
  switch (appearance) {
8
8
  case 'primary':
9
9
  return 'bg-blue-lighe';
@@ -23,9 +23,9 @@ var getAppearanceClasses = function getAppearanceClasses(appearance) {
23
23
  }
24
24
  };
25
25
 
26
- var Separator = function Separator() {
27
- var menu = useCurrentMenu();
28
- var className = cn('h-px my-1', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance));
26
+ const Separator = () => {
27
+ const menu = useCurrentMenu();
28
+ const className = cn('h-px my-1', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance));
29
29
  return createElement(Separator$1, {
30
30
  className: className
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Separator.js","sources":["../../../../../src/components/Menu/components/Separator.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { useCurrentMenu } from '../Context';\nimport { Appearance } from '../../../types';\n\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\n switch (appearance) {\n case 'primary':\n return 'bg-blue-lighe';\n\n case 'danger':\n return 'bg-red-light';\n\n case 'ghost':\n return 'bg-blue-light';\n\n case 'discrete':\n return 'bg-grey-dark';\n\n case 'default':\n default:\n return 'bg-grey-dark';\n }\n};\n\nexport const Separator = () => {\n const menu = useCurrentMenu();\n const className = cn('h-px my-1', getAppearanceClasses(menu?.appearance));\n\n return <DropdownMenuPrimitive.Separator className={className} />;\n};\n"],"names":["getAppearanceClasses","appearance","Separator","menu","useCurrentMenu","className","cn","React","DropdownMenuPrimitive"],"mappings":";;;;;AAMA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,UAAD;AACzB,UAAQA,UAAR;AACI,SAAK,SAAL;AACI,aAAO,eAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,cAAP;;AAEJ,SAAK,OAAL;AACI,aAAO,eAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,cAAP;;AAEJ,SAAK,SAAL;AACA;AACI,aAAO,cAAP;AAfR;AAiBH,CAlBD;;IAoBaC,SAAS,GAAG,SAAZA,SAAY;AACrB,MAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,MAAMC,SAAS,GAAGC,EAAE,CAAC,YAAD,EAAeN,oBAAoB,CAACG,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEF,UAAP,CAAnC,CAApB;AAEA,SAAOM,aAAA,CAACC,WAAD;AAAiCH,IAAAA,SAAS,EAAEA;GAA5C,CAAP;AACH;;;;"}
1
+ {"version":3,"file":"Separator.js","sources":["../../../../../src/components/Menu/components/Separator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport cn from 'classnames';\r\nimport { useCurrentMenu } from '../Context';\r\nimport { Appearance } from '../../../types';\r\n\r\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\r\n switch (appearance) {\r\n case 'primary':\r\n return 'bg-blue-lighe';\r\n\r\n case 'danger':\r\n return 'bg-red-light';\r\n\r\n case 'ghost':\r\n return 'bg-blue-light';\r\n\r\n case 'discrete':\r\n return 'bg-grey-dark';\r\n\r\n case 'default':\r\n default:\r\n return 'bg-grey-dark';\r\n }\r\n};\r\n\r\nexport const Separator = () => {\r\n const menu = useCurrentMenu();\r\n const className = cn('h-px my-1', getAppearanceClasses(menu?.appearance));\r\n\r\n return <DropdownMenuPrimitive.Separator className={className} />;\r\n};\r\n"],"names":["getAppearanceClasses","appearance","Separator","menu","useCurrentMenu","className","cn","React","DropdownMenuPrimitive"],"mappings":";;;;;AAMA,MAAMA,oBAAoB,GAAIC,UAAD;AACzB,UAAQA,UAAR;AACI,SAAK,SAAL;AACI,aAAO,eAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,cAAP;;AAEJ,SAAK,OAAL;AACI,aAAO,eAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,cAAP;;AAEJ,SAAK,SAAL;AACA;AACI,aAAO,cAAP;AAfR;AAiBH,CAlBD;;MAoBaC,SAAS,GAAG;AACrB,QAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,QAAMC,SAAS,GAAGC,EAAE,CAAC,YAAD,EAAeN,oBAAoB,CAACG,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEF,UAAP,CAAnC,CAApB;AAEA,SAAOM,aAAA,CAACC,WAAD;AAAiCH,IAAAA,SAAS,EAAEA;GAA5C,CAAP;AACH;;;;"}
@@ -3,18 +3,18 @@ import { useProxiedRef } from '../../../utils/hooks/useProxiedRef.js';
3
3
  import { useCurrentMenu } from '../Context.js';
4
4
  import { Trigger as Trigger$1 } from '@radix-ui/react-dropdown-menu';
5
5
 
6
- var Trigger = /*#__PURE__*/forwardRef(function MenuTrigger(props, ref) {
6
+ const Trigger = /*#__PURE__*/forwardRef(function MenuTrigger(props, ref) {
7
7
  var _props$children3, _props$children3$prop;
8
8
 
9
- var menu = useCurrentMenu();
10
- var internalRef = useProxiedRef(ref);
11
- useEffect(function () {
9
+ const menu = useCurrentMenu();
10
+ const internalRef = useProxiedRef(ref);
11
+ useEffect(() => {
12
12
  if (internalRef.current) {
13
13
  menu === null || menu === void 0 ? void 0 : menu.setMinWidth(internalRef.current.getBoundingClientRect().width);
14
14
  }
15
15
  }, [internalRef]); // set the appearance based on the trigger button
16
16
 
17
- useEffect(function () {
17
+ useEffect(() => {
18
18
  var _props$children, _props$children$props;
19
19
 
20
20
  if ((_props$children = props.children) !== null && _props$children !== void 0 && (_props$children$props = _props$children.props) !== null && _props$children$props !== void 0 && _props$children$props.appearance) {
@@ -1 +1 @@
1
- {"version":3,"file":"Trigger.js","sources":["../../../../../src/components/Menu/components/Trigger.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { useProxiedRef } from '../../../utils/hooks/useProxiedRef';\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuTriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children'> & {\n children: React.ReactElement;\n};\n\nexport const Trigger = React.forwardRef(function MenuTrigger(props: MenuTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const menu = useCurrentMenu();\n const internalRef = useProxiedRef<HTMLButtonElement>(ref);\n\n React.useEffect(() => {\n if (internalRef.current) {\n menu?.setMinWidth(internalRef.current.getBoundingClientRect().width);\n }\n }, [internalRef]);\n\n // set the appearance based on the trigger button\n React.useEffect(() => {\n if (props.children?.props?.appearance) {\n menu?.setAppearance(props.children?.props?.appearance);\n }\n }, [props.children?.props?.appearance]);\n\n return <DropdownMenuPrimitive.Trigger {...props} asChild ref={internalRef} />;\n});\n"],"names":["Trigger","React","MenuTrigger","props","ref","menu","useCurrentMenu","internalRef","useProxiedRef","current","setMinWidth","getBoundingClientRect","width","children","appearance","setAppearance","DropdownMenuPrimitive","asChild"],"mappings":";;;;;IASaA,OAAO,gBAAGC,UAAA,CAAiB,SAASC,WAAT,CAAqBC,KAArB,EAA8CC,GAA9C;;;AACpC,MAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,MAAMC,WAAW,GAAGC,aAAa,CAAoBJ,GAApB,CAAjC;AAEAH,EAAAA,SAAA,CAAgB;AACZ,QAAIM,WAAW,CAACE,OAAhB,EAAyB;AACrBJ,MAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEK,WAAN,CAAkBH,WAAW,CAACE,OAAZ,CAAoBE,qBAApB,GAA4CC,KAA9D;AACH;AACJ,GAJD,EAIG,CAACL,WAAD,CAJH;;AAOAN,EAAAA,SAAA,CAAgB;;;AACZ,2BAAIE,KAAK,CAACU,QAAV,qEAAI,gBAAgBV,KAApB,kDAAI,sBAAuBW,UAA3B,EAAuC;AAAA;;AACnCT,MAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEU,aAAN,qBAAoBZ,KAAK,CAACU,QAA1B,8EAAoB,iBAAgBV,KAApC,0DAAoB,sBAAuBW,UAA3C;AACH;AACJ,GAJD,EAIG,qBAACX,KAAK,CAACU,QAAP,8EAAC,iBAAgBV,KAAjB,0DAAC,sBAAuBW,UAAxB,CAJH;AAMA,SAAOb,aAAA,CAACe,SAAD,oBAAmCb;AAAOc,IAAAA,OAAO;AAACb,IAAAA,GAAG,EAAEG;IAAvD,CAAP;AACH,CAlBsB;;;;"}
1
+ {"version":3,"file":"Trigger.js","sources":["../../../../../src/components/Menu/components/Trigger.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { useProxiedRef } from '../../../utils/hooks/useProxiedRef';\r\nimport { useCurrentMenu } from '../Context';\r\n\r\nexport type MenuTriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children'> & {\r\n children: React.ReactElement;\r\n};\r\n\r\nexport const Trigger = React.forwardRef(function MenuTrigger(props: MenuTriggerProps, ref: React.Ref<HTMLButtonElement>) {\r\n const menu = useCurrentMenu();\r\n const internalRef = useProxiedRef<HTMLButtonElement>(ref);\r\n\r\n React.useEffect(() => {\r\n if (internalRef.current) {\r\n menu?.setMinWidth(internalRef.current.getBoundingClientRect().width);\r\n }\r\n }, [internalRef]);\r\n\r\n // set the appearance based on the trigger button\r\n React.useEffect(() => {\r\n if (props.children?.props?.appearance) {\r\n menu?.setAppearance(props.children?.props?.appearance);\r\n }\r\n }, [props.children?.props?.appearance]);\r\n\r\n return <DropdownMenuPrimitive.Trigger {...props} asChild ref={internalRef} />;\r\n});\r\n"],"names":["Trigger","React","MenuTrigger","props","ref","menu","useCurrentMenu","internalRef","useProxiedRef","current","setMinWidth","getBoundingClientRect","width","children","appearance","setAppearance","DropdownMenuPrimitive","asChild"],"mappings":";;;;;MASaA,OAAO,gBAAGC,UAAA,CAAiB,SAASC,WAAT,CAAqBC,KAArB,EAA8CC,GAA9C;;;AACpC,QAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,QAAMC,WAAW,GAAGC,aAAa,CAAoBJ,GAApB,CAAjC;AAEAH,EAAAA,SAAA,CAAgB;AACZ,QAAIM,WAAW,CAACE,OAAhB,EAAyB;AACrBJ,MAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEK,WAAN,CAAkBH,WAAW,CAACE,OAAZ,CAAoBE,qBAApB,GAA4CC,KAA9D;AACH;AACJ,GAJD,EAIG,CAACL,WAAD,CAJH;;AAOAN,EAAAA,SAAA,CAAgB;;;AACZ,2BAAIE,KAAK,CAACU,QAAV,qEAAI,gBAAgBV,KAApB,kDAAI,sBAAuBW,UAA3B,EAAuC;AAAA;;AACnCT,MAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEU,aAAN,qBAAoBZ,KAAK,CAACU,QAA1B,8EAAoB,iBAAgBV,KAApC,0DAAoB,sBAAuBW,UAA3C;AACH;AACJ,GAJD,EAIG,qBAACX,KAAK,CAACU,QAAP,8EAAC,iBAAgBV,KAAjB,0DAAC,sBAAuBW,UAAxB,CAJH;AAMA,SAAOb,aAAA,CAACe,SAAD,oBAAmCb;AAAOc,IAAAA,OAAO;AAACb,IAAAA,GAAG,EAAEG;IAAvD,CAAP;AACH,CAlBsB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","sources":["../../../../src/components/Navigation/Navigation.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { TreeviewProps, Treeview, TreeviewGroupProps, TreeviewItemProps } from '../Treeview/Treeview';\nimport { Icon } from '../Icon/Icon';\nimport { useDropTarget } from '../../utils/hooks/useDropTarget';\nimport './Navigation.css';\nimport { useProxiedRef } from '../../utils/hooks/useProxiedRef';\n\n// Item\nexport type NavigationItemProps = Omit<TreeviewItemProps, 'prefix'> & {\n /** Change the style to indicate the link is selected */\n active?: boolean;\n /** Handler to be used when dropping a dragged element over the navigation link */\n onDrop?: React.DragEventHandler;\n /**\n * Small amount of information placed next to the text of the link.\n * This can be any valid react element, for e.g. a `span`.\n * Should be used to indicate a relevant information of the link,\n * for e.g. the number of unread notifications\n */\n postfix?: React.ReactNode;\n /**\n * Small amount of information placed before the text of the link.\n * This can be any valid react element, for e.g. a `span`.\n * Should be used to indicate a feedback for user,\n * for e.g. display some sort of visual informational state or a relevant icon.\n */\n prefix?: React.ReactNode;\n /** Target of the link */\n target?: string;\n};\n\nconst Item = React.forwardRef(function Item(props: NavigationItemProps, ref: React.Ref<HTMLAnchorElement>) {\n const { active, children, onDrop, postfix, prefix, role, ...otherProps } = props;\n const proxyRef = useProxiedRef<HTMLAnchorElement>(ref);\n const [isDraggedOver, dropTargetProps] = useDropTarget(onDrop);\n const isTreeitem = role === 'treeitem';\n const className = cn(\n 'yt-navigation__item cursor-pointer',\n {\n 'w-full mb-px py-1 px-3 flex items-center hover:bg-grey-dark': isTreeitem,\n 'bg-white w-full h-10 px-3 flex-shrink-0 flex items-center justify-between cursor-pointer': !isTreeitem,\n 'yt-navigation__item--active': active && !isDraggedOver,\n 'bg-grey-dark': isTreeitem && active && !isDraggedOver,\n 'yt-navigation__item--dropping bg-blue': isDraggedOver,\n },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLSpanElement>): void => {\n if (event.target instanceof HTMLAnchorElement || event.target instanceof HTMLButtonElement) {\n return;\n }\n\n if (proxyRef.current) {\n proxyRef.current.click();\n }\n };\n\n return (\n <span {...dropTargetProps} className={className} onClick={handleClick} role={role}>\n {prefix && <span className=\"yt-navigation__item__prefix flex items-center\">{prefix}</span>}\n <a {...otherProps} className=\"block flex-grow truncate\" ref={proxyRef}>\n {children}\n </a>\n {postfix && <span className=\"yt-navigation__item__postfix ml-1\">{postfix}</span>}\n </span>\n );\n});\n\n// Panel\nexport type NavigationPanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst Panel = React.forwardRef(function Panel(props: NavigationPanelProps, ref: React.Ref<HTMLDivElement>) {\n return <div {...props} className={cn('w-full bg-white p-3', props.className)} ref={ref} />;\n});\n\n// Group\nexport type NavigationMenuGroupProps = TreeviewGroupProps;\n\nconst MenuGroup = React.forwardRef(function MenuGroup(props: NavigationMenuGroupProps, ref: React.Ref<HTMLDivElement>) {\n const className = cn(\n 'flex-shrink-0 space-y-1 outline-none',\n {\n 'bg-white pb-2': props.fixed,\n },\n props.className\n );\n const title = (expanded: boolean): JSX.Element => {\n const className = cn('bg-white h-10 pl-3 pr-1 flex items-center justify-between w-full', {\n 'mb-1': expanded,\n 'cursor-pointer hover:text-blue': !props.fixed,\n });\n\n return (\n <span className={className}>\n {typeof props.title === 'function' ? props.title(expanded) : props.title}\n {!props.fixed && <Icon name={expanded ? 'chevron-up' : 'chevron-down'} />}\n </span>\n );\n };\n\n return <Treeview.Group {...props} className={className} title={title} ref={ref} />;\n});\n\n// Menu\nexport type NavigationMenuProps = React.PropsWithChildren<TreeviewProps>;\n\nexport type ForwardedNavigationMenuWithStatics = React.ForwardRefExoticComponent<\n NavigationMenuProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Expandable region reprezenting a group of related links */\n Group: React.ForwardRefExoticComponent<NavigationMenuGroupProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nconst Menu = React.forwardRef(function Menu(props: NavigationMenuProps, ref: React.Ref<HTMLDivElement>) {\n const scrollableAreas = React.useMemo(() => {\n const scrollableAreas: any[] = [];\n\n React.Children.toArray(props.children)\n .filter(child => !!child)\n .map((child: React.ReactElement<NavigationMenuGroupProps>) => {\n if (child.props.fixed) {\n scrollableAreas.push(child);\n } else {\n const x = scrollableAreas[scrollableAreas.length - 1];\n if (Array.isArray(x)) {\n x.push(child);\n } else {\n scrollableAreas.push([child]);\n }\n }\n });\n\n return scrollableAreas;\n }, [props.children]);\n\n return (\n <Treeview\n {...props}\n className={cn('divide-grey-light flex flex-grow flex-col divide-y-2 overflow-y-auto', props.className)}\n ref={ref}\n >\n {scrollableAreas.map((area, i) =>\n Array.isArray(area) ? (\n <div\n className=\"divide-grey-light flex h-0 flex-auto flex-shrink-0 flex-grow flex-col divide-y-2 overflow-y-auto\"\n key={i}\n >\n {area}\n </div>\n ) : (\n area\n )\n )}\n </Treeview>\n );\n}) as ForwardedNavigationMenuWithStatics;\n\nMenu.Group = MenuGroup;\n\n// Navigation\nexport type NavigationProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type ForwardedNavigationWithStatics = React.ForwardRefExoticComponent<\n NavigationProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Navigation link */\n Item: React.ForwardRefExoticComponent<NavigationItemProps & React.RefAttributes<HTMLAnchorElement>>;\n /**\n * Container for the expandable groups that hold navigation links.\n * Should be used as a direct child of Navigation component, e.g. `Navigation.Menu`.\n * Should have the menu groups as a direct child, e.g. `Navigation.Menu.Group`\n */\n Menu: ForwardedNavigationMenuWithStatics;\n /**\n * Isolated container within the Navigation.\n * This can be used to create a region in the Navigation that is usually not scrollable, nor expandable,\n * containing useful information for user and quick actions\n */\n Panel: React.ForwardRefExoticComponent<NavigationPanelProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Navigation = React.forwardRef(function Navigation(props: NavigationProps, ref: React.Ref<HTMLDivElement>) {\n const { children, ...otherProps } = props;\n const className = cn('h-full flex flex-col bg-grey-light divide-y-2 divide-grey-light', props.className);\n\n return (\n <div {...otherProps} className={className} data-taco=\"navigation\" ref={ref}>\n {children}\n </div>\n );\n}) as ForwardedNavigationWithStatics;\n\nNavigation.Menu = Menu;\nNavigation.Item = Item;\nNavigation.Panel = Panel;\n"],"names":["Item","React","forwardRef","props","ref","active","children","onDrop","postfix","prefix","role","otherProps","proxyRef","useProxiedRef","useDropTarget","isDraggedOver","dropTargetProps","isTreeitem","className","cn","handleClick","event","target","HTMLAnchorElement","HTMLButtonElement","current","click","onClick","Panel","MenuGroup","fixed","title","expanded","Icon","name","Treeview","Group","Menu","scrollableAreas","useMemo","Children","toArray","filter","child","map","push","x","length","Array","isArray","area","i","key","Navigation"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.js","sources":["../../../../src/components/Navigation/Navigation.tsx"],"sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\nimport { TreeviewProps, Treeview, TreeviewGroupProps, TreeviewItemProps } from '../Treeview/Treeview';\r\nimport { Icon } from '../Icon/Icon';\r\nimport { useDropTarget } from '../../utils/hooks/useDropTarget';\r\nimport './Navigation.css';\r\nimport { useProxiedRef } from '../../utils/hooks/useProxiedRef';\r\n\r\n// Item\r\nexport type NavigationItemProps = Omit<TreeviewItemProps, 'prefix'> & {\r\n /** Change the style to indicate the link is selected */\r\n active?: boolean;\r\n /** Handler to be used when dropping a dragged element over the navigation link */\r\n onDrop?: React.DragEventHandler;\r\n /**\r\n * Small amount of information placed next to the text of the link.\r\n * This can be any valid react element, for e.g. a `span`.\r\n * Should be used to indicate a relevant information of the link,\r\n * for e.g. the number of unread notifications\r\n */\r\n postfix?: React.ReactNode;\r\n /**\r\n * Small amount of information placed before the text of the link.\r\n * This can be any valid react element, for e.g. a `span`.\r\n * Should be used to indicate a feedback for user,\r\n * for e.g. display some sort of visual informational state or a relevant icon.\r\n */\r\n prefix?: React.ReactNode;\r\n /** Target of the link */\r\n target?: string;\r\n};\r\n\r\nconst Item = React.forwardRef(function Item(props: NavigationItemProps, ref: React.Ref<HTMLAnchorElement>) {\r\n const { active, children, onDrop, postfix, prefix, role, ...otherProps } = props;\r\n const proxyRef = useProxiedRef<HTMLAnchorElement>(ref);\r\n const [isDraggedOver, dropTargetProps] = useDropTarget(onDrop);\r\n const isTreeitem = role === 'treeitem';\r\n const className = cn(\r\n 'yt-navigation__item cursor-pointer',\r\n {\r\n 'w-full mb-px py-1 px-3 flex items-center hover:bg-grey-dark': isTreeitem,\r\n 'bg-white w-full h-10 px-3 flex-shrink-0 flex items-center justify-between cursor-pointer': !isTreeitem,\r\n 'yt-navigation__item--active': active && !isDraggedOver,\r\n 'bg-grey-dark': isTreeitem && active && !isDraggedOver,\r\n 'yt-navigation__item--dropping bg-blue': isDraggedOver,\r\n },\r\n props.className\r\n );\r\n\r\n const handleClick = (event: React.MouseEvent<HTMLSpanElement>): void => {\r\n if (event.target instanceof HTMLAnchorElement || event.target instanceof HTMLButtonElement) {\r\n return;\r\n }\r\n\r\n if (proxyRef.current) {\r\n proxyRef.current.click();\r\n }\r\n };\r\n\r\n return (\r\n <span {...dropTargetProps} className={className} onClick={handleClick} role={role}>\r\n {prefix && <span className=\"yt-navigation__item__prefix flex items-center\">{prefix}</span>}\r\n <a {...otherProps} className=\"block flex-grow truncate\" ref={proxyRef}>\r\n {children}\r\n </a>\r\n {postfix && <span className=\"yt-navigation__item__postfix ml-1\">{postfix}</span>}\r\n </span>\r\n );\r\n});\r\n\r\n// Panel\r\nexport type NavigationPanelProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nconst Panel = React.forwardRef(function Panel(props: NavigationPanelProps, ref: React.Ref<HTMLDivElement>) {\r\n return <div {...props} className={cn('w-full bg-white p-3', props.className)} ref={ref} />;\r\n});\r\n\r\n// Group\r\nexport type NavigationMenuGroupProps = TreeviewGroupProps;\r\n\r\nconst MenuGroup = React.forwardRef(function MenuGroup(props: NavigationMenuGroupProps, ref: React.Ref<HTMLDivElement>) {\r\n const className = cn(\r\n 'flex-shrink-0 space-y-1 outline-none',\r\n {\r\n 'bg-white pb-2': props.fixed,\r\n },\r\n props.className\r\n );\r\n const title = (expanded: boolean): JSX.Element => {\r\n const className = cn('bg-white h-10 pl-3 pr-1 flex items-center justify-between w-full', {\r\n 'mb-1': expanded,\r\n 'cursor-pointer hover:text-blue': !props.fixed,\r\n });\r\n\r\n return (\r\n <span className={className}>\r\n {typeof props.title === 'function' ? props.title(expanded) : props.title}\r\n {!props.fixed && <Icon name={expanded ? 'chevron-up' : 'chevron-down'} />}\r\n </span>\r\n );\r\n };\r\n\r\n return <Treeview.Group {...props} className={className} title={title} ref={ref} />;\r\n});\r\n\r\n// Menu\r\nexport type NavigationMenuProps = React.PropsWithChildren<TreeviewProps>;\r\n\r\nexport type ForwardedNavigationMenuWithStatics = React.ForwardRefExoticComponent<\r\n NavigationMenuProps & React.RefAttributes<HTMLDivElement>\r\n> & {\r\n /** Expandable region reprezenting a group of related links */\r\n Group: React.ForwardRefExoticComponent<NavigationMenuGroupProps & React.RefAttributes<HTMLDivElement>>;\r\n};\r\n\r\nconst Menu = React.forwardRef(function Menu(props: NavigationMenuProps, ref: React.Ref<HTMLDivElement>) {\r\n const scrollableAreas = React.useMemo(() => {\r\n const scrollableAreas: any[] = [];\r\n\r\n React.Children.toArray(props.children)\r\n .filter(child => !!child)\r\n .map((child: React.ReactElement<NavigationMenuGroupProps>) => {\r\n if (child.props.fixed) {\r\n scrollableAreas.push(child);\r\n } else {\r\n const x = scrollableAreas[scrollableAreas.length - 1];\r\n if (Array.isArray(x)) {\r\n x.push(child);\r\n } else {\r\n scrollableAreas.push([child]);\r\n }\r\n }\r\n });\r\n\r\n return scrollableAreas;\r\n }, [props.children]);\r\n\r\n return (\r\n <Treeview\r\n {...props}\r\n className={cn('divide-grey-light flex flex-grow flex-col divide-y-2 overflow-y-auto', props.className)}\r\n ref={ref}\r\n >\r\n {scrollableAreas.map((area, i) =>\r\n Array.isArray(area) ? (\r\n <div\r\n className=\"divide-grey-light flex h-0 flex-auto flex-shrink-0 flex-grow flex-col divide-y-2 overflow-y-auto\"\r\n key={i}\r\n >\r\n {area}\r\n </div>\r\n ) : (\r\n area\r\n )\r\n )}\r\n </Treeview>\r\n );\r\n}) as ForwardedNavigationMenuWithStatics;\r\n\r\nMenu.Group = MenuGroup;\r\n\r\n// Navigation\r\nexport type NavigationProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport type ForwardedNavigationWithStatics = React.ForwardRefExoticComponent<\r\n NavigationProps & React.RefAttributes<HTMLDivElement>\r\n> & {\r\n /** Navigation link */\r\n Item: React.ForwardRefExoticComponent<NavigationItemProps & React.RefAttributes<HTMLAnchorElement>>;\r\n /**\r\n * Container for the expandable groups that hold navigation links.\r\n * Should be used as a direct child of Navigation component, e.g. `Navigation.Menu`.\r\n * Should have the menu groups as a direct child, e.g. `Navigation.Menu.Group`\r\n */\r\n Menu: ForwardedNavigationMenuWithStatics;\r\n /**\r\n * Isolated container within the Navigation.\r\n * This can be used to create a region in the Navigation that is usually not scrollable, nor expandable,\r\n * containing useful information for user and quick actions\r\n */\r\n Panel: React.ForwardRefExoticComponent<NavigationPanelProps & React.RefAttributes<HTMLDivElement>>;\r\n};\r\n\r\nexport const Navigation = React.forwardRef(function Navigation(props: NavigationProps, ref: React.Ref<HTMLDivElement>) {\r\n const { children, ...otherProps } = props;\r\n const className = cn('h-full flex flex-col bg-grey-light divide-y-2 divide-grey-light', props.className);\r\n\r\n return (\r\n <div {...otherProps} className={className} data-taco=\"navigation\" ref={ref}>\r\n {children}\r\n </div>\r\n );\r\n}) as ForwardedNavigationWithStatics;\r\n\r\nNavigation.Menu = Menu;\r\nNavigation.Item = Item;\r\nNavigation.Panel = Panel;\r\n"],"names":["Item","React","forwardRef","props","ref","active","children","onDrop","postfix","prefix","role","otherProps","proxyRef","useProxiedRef","useDropTarget","isDraggedOver","dropTargetProps","isTreeitem","className","cn","handleClick","event","target","HTMLAnchorElement","HTMLButtonElement","current","click","onClick","Panel","MenuGroup","fixed","title","expanded","Icon","name","Treeview","Group","Menu","scrollableAreas","useMemo","Children","toArray","filter","child","map","push","x","length","Array","isArray","area","i","key","Navigation"],"mappings":"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"}
@@ -2,11 +2,11 @@ import { createElement, Fragment } from 'react';
2
2
  import { Button } from '../Button/Button.js';
3
3
  import { useLocalization } from '../Provider/Provider.js';
4
4
 
5
- var createPageRange = function createPageRange(pageCount, pageNumber) {
6
- var lowerLimit = Math.min(pageNumber, pageCount);
7
- var upperLimit = Math.min(pageNumber, pageCount);
5
+ const createPageRange = (pageCount, pageNumber) => {
6
+ let lowerLimit = Math.min(pageNumber, pageCount);
7
+ let upperLimit = Math.min(pageNumber, pageCount);
8
8
 
9
- for (var b = 1; b < 5 && b < pageCount;) {
9
+ for (let b = 1; b < 5 && b < pageCount;) {
10
10
  if (lowerLimit > 1) {
11
11
  lowerLimit--;
12
12
  b++;
@@ -18,37 +18,32 @@ var createPageRange = function createPageRange(pageCount, pageNumber) {
18
18
  }
19
19
  }
20
20
 
21
- var range = [];
21
+ const range = [];
22
22
 
23
- for (var i = lowerLimit; i <= upperLimit; i++) {
23
+ for (let i = lowerLimit; i <= upperLimit; i++) {
24
24
  range.push(i);
25
25
  }
26
26
 
27
27
  return range;
28
28
  };
29
29
 
30
- var PageNumbers = function PageNumbers(_ref) {
31
- var _ref$currentPageIndex = _ref.currentPageIndex,
32
- currentPageIndex = _ref$currentPageIndex === void 0 ? 0 : _ref$currentPageIndex,
33
- handleClick = _ref.onClick,
34
- pageCount = _ref.pageCount;
35
- var range = createPageRange(pageCount, currentPageIndex + 1);
36
-
37
- var _useLocalization = useLocalization(),
38
- texts = _useLocalization.texts;
39
-
40
- return createElement(Fragment, null, range.map(function (pageNumber) {
41
- return createElement(Button, {
42
- appearance: pageNumber === currentPageIndex + 1 ? 'primary' : 'default',
43
- "aria-current": pageNumber === currentPageIndex + 1 ? 'page' : undefined,
44
- key: pageNumber,
45
- onClick: function onClick() {
46
- return handleClick(pageNumber - 1);
47
- },
48
- "aria-label": texts.pagination.actions.pageX.replace('[X]', String(pageNumber)),
49
- tooltip: texts.pagination.actions.pageX.replace('[X]', String(pageNumber))
50
- }, pageNumber);
51
- }));
30
+ const PageNumbers = ({
31
+ currentPageIndex = 0,
32
+ onClick: handleClick,
33
+ pageCount
34
+ }) => {
35
+ const range = createPageRange(pageCount, currentPageIndex + 1);
36
+ const {
37
+ texts
38
+ } = useLocalization();
39
+ return createElement(Fragment, null, range.map(pageNumber => createElement(Button, {
40
+ appearance: pageNumber === currentPageIndex + 1 ? 'primary' : 'default',
41
+ "aria-current": pageNumber === currentPageIndex + 1 ? 'page' : undefined,
42
+ key: pageNumber,
43
+ onClick: () => handleClick(pageNumber - 1),
44
+ "aria-label": texts.pagination.actions.pageX.replace('[X]', String(pageNumber)),
45
+ tooltip: texts.pagination.actions.pageX.replace('[X]', String(pageNumber))
46
+ }, pageNumber)));
52
47
  };
53
48
 
54
49
  export { PageNumbers };
@@ -1 +1 @@
1
- {"version":3,"file":"PageNumbers.js","sources":["../../../../src/components/Pagination/PageNumbers.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../Button/Button';\nimport { useLocalization } from '../Provider/Provider';\n\ntype PageNumberProps = {\n currentPageIndex: number;\n onClick: (pageIndex: number) => void;\n pageCount: number;\n};\n\nconst createPageRange = (pageCount: number, pageNumber: number): number[] => {\n let lowerLimit = Math.min(pageNumber, pageCount);\n let upperLimit = Math.min(pageNumber, pageCount);\n\n for (let b = 1; b < 5 && b < pageCount; ) {\n if (lowerLimit > 1) {\n lowerLimit--;\n b++;\n }\n if (b < 5 && upperLimit < pageCount) {\n upperLimit++;\n b++;\n }\n }\n\n const range: number[] = [];\n\n for (let i = lowerLimit; i <= upperLimit; i++) {\n range.push(i);\n }\n\n return range;\n};\n\nexport const PageNumbers = ({ currentPageIndex = 0, onClick: handleClick, pageCount }: PageNumberProps): JSX.Element => {\n const range = createPageRange(pageCount, currentPageIndex + 1);\n const { texts } = useLocalization();\n\n return (\n <>\n {range.map((pageNumber: number) => (\n <Button\n appearance={pageNumber === currentPageIndex + 1 ? 'primary' : 'default'}\n aria-current={pageNumber === currentPageIndex + 1 ? 'page' : undefined}\n key={pageNumber}\n onClick={() => handleClick(pageNumber - 1)}\n aria-label={texts.pagination.actions.pageX.replace('[X]', String(pageNumber))}\n tooltip={texts.pagination.actions.pageX.replace('[X]', String(pageNumber))}\n >\n {pageNumber}\n </Button>\n ))}\n </>\n );\n};\n"],"names":["createPageRange","pageCount","pageNumber","lowerLimit","Math","min","upperLimit","b","range","i","push","PageNumbers","currentPageIndex","handleClick","onClick","useLocalization","texts","React","map","Button","appearance","undefined","key","pagination","actions","pageX","replace","String","tooltip"],"mappings":";;;;AAUA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,SAAD,EAAoBC,UAApB;AACpB,MAAIC,UAAU,GAAGC,IAAI,CAACC,GAAL,CAASH,UAAT,EAAqBD,SAArB,CAAjB;AACA,MAAIK,UAAU,GAAGF,IAAI,CAACC,GAAL,CAASH,UAAT,EAAqBD,SAArB,CAAjB;;AAEA,OAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAAJ,IAASA,CAAC,GAAGN,SAA7B,GAA0C;AACtC,QAAIE,UAAU,GAAG,CAAjB,EAAoB;AAChBA,MAAAA,UAAU;AACVI,MAAAA,CAAC;AACJ;;AACD,QAAIA,CAAC,GAAG,CAAJ,IAASD,UAAU,GAAGL,SAA1B,EAAqC;AACjCK,MAAAA,UAAU;AACVC,MAAAA,CAAC;AACJ;AACJ;;AAED,MAAMC,KAAK,GAAa,EAAxB;;AAEA,OAAK,IAAIC,CAAC,GAAGN,UAAb,EAAyBM,CAAC,IAAIH,UAA9B,EAA0CG,CAAC,EAA3C,EAA+C;AAC3CD,IAAAA,KAAK,CAACE,IAAN,CAAWD,CAAX;AACH;;AAED,SAAOD,KAAP;AACH,CAtBD;;IAwBaG,WAAW,GAAG,SAAdA,WAAc;mCAAGC;MAAAA,sDAAmB;MAAYC,mBAATC;MAAsBb,iBAAAA;AACtE,MAAMO,KAAK,GAAGR,eAAe,CAACC,SAAD,EAAYW,gBAAgB,GAAG,CAA/B,CAA7B;;AACA,yBAAkBG,eAAe,EAAjC;AAAA,MAAQC,KAAR,oBAAQA,KAAR;;AAEA,SACIC,aAAA,SAAA,MAAA,EACKT,KAAK,CAACU,GAAN,CAAU,UAAChB,UAAD;AAAA,WACPe,aAAA,CAACE,MAAD;AACIC,MAAAA,UAAU,EAAElB,UAAU,KAAKU,gBAAgB,GAAG,CAAlC,GAAsC,SAAtC,GAAkD;sBAChDV,UAAU,KAAKU,gBAAgB,GAAG,CAAlC,GAAsC,MAAtC,GAA+CS;AAC7DC,MAAAA,GAAG,EAAEpB;AACLY,MAAAA,OAAO,EAAE;AAAA,eAAMD,WAAW,CAACX,UAAU,GAAG,CAAd,CAAjB;AAAA;oBACGc,KAAK,CAACO,UAAN,CAAiBC,OAAjB,CAAyBC,KAAzB,CAA+BC,OAA/B,CAAuC,KAAvC,EAA8CC,MAAM,CAACzB,UAAD,CAApD;AACZ0B,MAAAA,OAAO,EAAEZ,KAAK,CAACO,UAAN,CAAiBC,OAAjB,CAAyBC,KAAzB,CAA+BC,OAA/B,CAAuC,KAAvC,EAA8CC,MAAM,CAACzB,UAAD,CAApD;KANb,EAQKA,UARL,CADO;AAAA,GAAV,CADL,CADJ;AAgBH;;;;"}
1
+ {"version":3,"file":"PageNumbers.js","sources":["../../../../src/components/Pagination/PageNumbers.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Button } from '../Button/Button';\r\nimport { useLocalization } from '../Provider/Provider';\r\n\r\ntype PageNumberProps = {\r\n currentPageIndex: number;\r\n onClick: (pageIndex: number) => void;\r\n pageCount: number;\r\n};\r\n\r\nconst createPageRange = (pageCount: number, pageNumber: number): number[] => {\r\n let lowerLimit = Math.min(pageNumber, pageCount);\r\n let upperLimit = Math.min(pageNumber, pageCount);\r\n\r\n for (let b = 1; b < 5 && b < pageCount; ) {\r\n if (lowerLimit > 1) {\r\n lowerLimit--;\r\n b++;\r\n }\r\n if (b < 5 && upperLimit < pageCount) {\r\n upperLimit++;\r\n b++;\r\n }\r\n }\r\n\r\n const range: number[] = [];\r\n\r\n for (let i = lowerLimit; i <= upperLimit; i++) {\r\n range.push(i);\r\n }\r\n\r\n return range;\r\n};\r\n\r\nexport const PageNumbers = ({ currentPageIndex = 0, onClick: handleClick, pageCount }: PageNumberProps): JSX.Element => {\r\n const range = createPageRange(pageCount, currentPageIndex + 1);\r\n const { texts } = useLocalization();\r\n\r\n return (\r\n <>\r\n {range.map((pageNumber: number) => (\r\n <Button\r\n appearance={pageNumber === currentPageIndex + 1 ? 'primary' : 'default'}\r\n aria-current={pageNumber === currentPageIndex + 1 ? 'page' : undefined}\r\n key={pageNumber}\r\n onClick={() => handleClick(pageNumber - 1)}\r\n aria-label={texts.pagination.actions.pageX.replace('[X]', String(pageNumber))}\r\n tooltip={texts.pagination.actions.pageX.replace('[X]', String(pageNumber))}\r\n >\r\n {pageNumber}\r\n </Button>\r\n ))}\r\n </>\r\n );\r\n};\r\n"],"names":["createPageRange","pageCount","pageNumber","lowerLimit","Math","min","upperLimit","b","range","i","push","PageNumbers","currentPageIndex","onClick","handleClick","texts","useLocalization","React","map","Button","appearance","undefined","key","pagination","actions","pageX","replace","String","tooltip"],"mappings":";;;;AAUA,MAAMA,eAAe,GAAG,CAACC,SAAD,EAAoBC,UAApB;AACpB,MAAIC,UAAU,GAAGC,IAAI,CAACC,GAAL,CAASH,UAAT,EAAqBD,SAArB,CAAjB;AACA,MAAIK,UAAU,GAAGF,IAAI,CAACC,GAAL,CAASH,UAAT,EAAqBD,SAArB,CAAjB;;AAEA,OAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAAJ,IAASA,CAAC,GAAGN,SAA7B,GAA0C;AACtC,QAAIE,UAAU,GAAG,CAAjB,EAAoB;AAChBA,MAAAA,UAAU;AACVI,MAAAA,CAAC;AACJ;;AACD,QAAIA,CAAC,GAAG,CAAJ,IAASD,UAAU,GAAGL,SAA1B,EAAqC;AACjCK,MAAAA,UAAU;AACVC,MAAAA,CAAC;AACJ;AACJ;;AAED,QAAMC,KAAK,GAAa,EAAxB;;AAEA,OAAK,IAAIC,CAAC,GAAGN,UAAb,EAAyBM,CAAC,IAAIH,UAA9B,EAA0CG,CAAC,EAA3C,EAA+C;AAC3CD,IAAAA,KAAK,CAACE,IAAN,CAAWD,CAAX;AACH;;AAED,SAAOD,KAAP;AACH,CAtBD;;MAwBaG,WAAW,GAAG,CAAC;AAAEC,EAAAA,gBAAgB,GAAG,CAArB;AAAwBC,EAAAA,OAAO,EAAEC,WAAjC;AAA8Cb,EAAAA;AAA9C,CAAD;AACvB,QAAMO,KAAK,GAAGR,eAAe,CAACC,SAAD,EAAYW,gBAAgB,GAAG,CAA/B,CAA7B;AACA,QAAM;AAAEG,IAAAA;AAAF,MAAYC,eAAe,EAAjC;AAEA,SACIC,aAAA,SAAA,MAAA,EACKT,KAAK,CAACU,GAAN,CAAWhB,UAAD,IACPe,aAAA,CAACE,MAAD;AACIC,IAAAA,UAAU,EAAElB,UAAU,KAAKU,gBAAgB,GAAG,CAAlC,GAAsC,SAAtC,GAAkD;oBAChDV,UAAU,KAAKU,gBAAgB,GAAG,CAAlC,GAAsC,MAAtC,GAA+CS;AAC7DC,IAAAA,GAAG,EAAEpB;AACLW,IAAAA,OAAO,EAAE,MAAMC,WAAW,CAACZ,UAAU,GAAG,CAAd;kBACda,KAAK,CAACQ,UAAN,CAAiBC,OAAjB,CAAyBC,KAAzB,CAA+BC,OAA/B,CAAuC,KAAvC,EAA8CC,MAAM,CAACzB,UAAD,CAApD;AACZ0B,IAAAA,OAAO,EAAEb,KAAK,CAACQ,UAAN,CAAiBC,OAAjB,CAAyBC,KAAzB,CAA+BC,OAA/B,CAAuC,KAAvC,EAA8CC,MAAM,CAACzB,UAAD,CAApD;GANb,EAQKA,UARL,CADH,CADL,CADJ;AAgBH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { PageNumbers } from './PageNumbers';\nimport { LocalizationTexts, useLocalization } from '../Provider/Provider';\nimport { Select } from '../Select/Select';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { usePaginationValues } from './usePagination';\nimport { usePaginationShortcuts } from './usePaginationShortcuts';\n\nexport * from './usePagination';\n\nexport type PaginationTextsActions = {\n /**\n * Aria-label for first page action button.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n firstPage: string;\n /**\n * Aria-label for first page action button with shortcut.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n firstPageWithShortcut: string;\n /**\n * Aria-label for next page action button.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n nextPage: string;\n /**\n * Aria-label for next page action button with shortcut.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n nextPageWithShortcut: string;\n /**\n * Aria-label for previous page action button.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n previousPage: string;\n /**\n * Aria-label for previous page action button with shortcut.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n previousPageWithShortcut: string;\n /**\n * Aria-label for last page action button.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n lastPage: string;\n /**\n * Aria-label for last page action button with shortcut.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n lastPageWithShortcut: string;\n /**\n * Aria-label for page X action button.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n pageX: string;\n};\n\nexport type PaginationTexts = {\n /**\n * Aria-label provided for page numbers and page actions group.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n label: string;\n /**\n * Aria-label provided for page size selection.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n pageSize: string;\n /**\n * Text that indicates the number of the first and last element displayed on the current page, out of total items\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n showingXofYofTotal: string;\n /**\n * Aria-labels provided for page action buttons.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n actions: PaginationTextsActions;\n};\n\nexport type PaginationProps = React.HTMLAttributes<HTMLDivElement> &\n usePaginationValues & {\n /** Indicate total number of items that will be paginated */\n length: number;\n /** Page size options */\n pageSizes?: number[];\n /** Shows page controls */\n showPageControls?: boolean;\n /** Shows page numbers between navigation buttons, which allows users to quickly navigate to a specific page */\n showPageNumbers?: boolean;\n /** Shows a dropdown with page sizes, which allows user to change the number of items displayed on the page */\n showPageSize?: boolean;\n /** Enable pagination shortcuts */\n dangerouslyHijackGlobalKeyboardNavigation?: boolean;\n };\n\nconst getShowingLabel = (length: number, pageIndex: number, pageSize: number, texts: LocalizationTexts): string => {\n const minItemIndex = pageIndex * pageSize + 1;\n const maxItemIndex = (pageIndex + 1) * pageSize;\n\n return texts.pagination.showingXofYofTotal\n .replace('[X]', length === 0 ? '0' : String(minItemIndex))\n .replace('[Y]', String(maxItemIndex > length ? length : maxItemIndex))\n .replace('[total]', String(length));\n};\n\nexport const Pagination = React.forwardRef(function Pagination(props: PaginationProps, ref: React.Ref<HTMLDivElement>) {\n const {\n length,\n pageIndex,\n pageSize,\n pageSizes = [10, 25, 50, 100, 500],\n setPageIndex,\n setPageSize,\n showPageControls = true,\n showPageNumbers = true,\n showPageSize = true,\n dangerouslyHijackGlobalKeyboardNavigation = false,\n ...otherProps\n } = props;\n const { texts } = useLocalization();\n\n const maxPageIndex = Math.ceil(length / pageSize) - 1;\n const showShortcutTexts = dangerouslyHijackGlobalKeyboardNavigation;\n\n usePaginationShortcuts({\n setPageIndex,\n maxPageIndex,\n pageIndex,\n dangerouslyHijackGlobalKeyboardNavigation,\n });\n\n const pageCount = Math.ceil(length / pageSize);\n const canPreviousPage = pageIndex > 0;\n const canNextPage = pageIndex < pageCount - 1;\n\n const className = cn('inline-flex relative justify-between items-center', props.className);\n\n return (\n <div {...otherProps} className={className} data-taco=\"pagination\" ref={ref}>\n {showPageSize && (\n <span className=\"mr-4\">\n {getShowingLabel(length, pageIndex, pageSize, texts)}\n <Select\n aria-label={texts.pagination.pageSize}\n className=\"ml-4 !w-20\"\n data={pageSizes.map(pageSize => ({\n text: String(pageSize),\n value: pageSize,\n }))}\n onChange={event => {\n setPageIndex(0);\n setPageSize(Number(event.target.value));\n }}\n value={pageSize}\n />\n </span>\n )}\n {showPageControls && (\n <Group as=\"nav\" aria-label={texts.pagination.label}>\n <IconButton\n appearance=\"default\"\n disabled={!canPreviousPage}\n icon=\"arrow-start\"\n onClick={() => setPageIndex(0)}\n aria-label={\n showShortcutTexts\n ? texts.pagination.actions.firstPageWithShortcut\n : texts.pagination.actions.firstPage\n }\n tooltip={\n showShortcutTexts\n ? texts.pagination.actions.firstPageWithShortcut\n : texts.pagination.actions.firstPage\n }\n />\n <IconButton\n appearance=\"default\"\n disabled={!canPreviousPage}\n icon=\"arrow-left\"\n onClick={() => setPageIndex(pageIndex - 1)}\n aria-label={\n showShortcutTexts\n ? texts.pagination.actions.previousPageWithShortcut\n : texts.pagination.actions.previousPage\n }\n tooltip={\n showShortcutTexts\n ? texts.pagination.actions.previousPageWithShortcut\n : texts.pagination.actions.previousPage\n }\n />\n {showPageNumbers && pageCount > 0 && (\n <PageNumbers pageCount={pageCount} currentPageIndex={pageIndex} onClick={setPageIndex} />\n )}\n <IconButton\n appearance=\"default\"\n disabled={!canNextPage}\n icon=\"arrow-right\"\n onClick={() => setPageIndex(pageIndex + 1)}\n aria-label={\n showShortcutTexts ? texts.pagination.actions.nextPageWithShortcut : texts.pagination.actions.nextPage\n }\n tooltip={\n showShortcutTexts ? texts.pagination.actions.nextPageWithShortcut : texts.pagination.actions.nextPage\n }\n />\n <IconButton\n appearance=\"default\"\n disabled={!canNextPage}\n icon=\"arrow-end\"\n onClick={() => setPageIndex(pageCount - 1)}\n aria-label={\n showShortcutTexts ? texts.pagination.actions.lastPageWithShortcut : texts.pagination.actions.lastPage\n }\n tooltip={\n showShortcutTexts ? texts.pagination.actions.lastPageWithShortcut : texts.pagination.actions.lastPage\n }\n />\n </Group>\n )}\n </div>\n );\n});\n"],"names":["getShowingLabel","length","pageIndex","pageSize","texts","minItemIndex","maxItemIndex","pagination","showingXofYofTotal","replace","String","Pagination","React","props","ref","pageSizes","setPageIndex","setPageSize","showPageControls","showPageNumbers","showPageSize","dangerouslyHijackGlobalKeyboardNavigation","otherProps","useLocalization","maxPageIndex","Math","ceil","showShortcutTexts","usePaginationShortcuts","pageCount","canPreviousPage","canNextPage","className","cn","Select","data","map","text","value","onChange","event","Number","target","Group","as","label","IconButton","appearance","disabled","icon","onClick","actions","firstPageWithShortcut","firstPage","tooltip","previousPageWithShortcut","previousPage","PageNumbers","currentPageIndex","nextPageWithShortcut","nextPage","lastPageWithShortcut","lastPage"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { PageNumbers } from './PageNumbers';\r\nimport { LocalizationTexts, useLocalization } from '../Provider/Provider';\r\nimport { Select } from '../Select/Select';\r\nimport { Group } from '../Group/Group';\r\nimport { IconButton } from '../IconButton/IconButton';\r\nimport { usePaginationValues } from './usePagination';\r\nimport { usePaginationShortcuts } from './usePaginationShortcuts';\r\n\r\nexport * from './usePagination';\r\n\r\nexport type PaginationTextsActions = {\r\n /**\r\n * Aria-label for first page action button.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n firstPage: string;\r\n /**\r\n * Aria-label for first page action button with shortcut.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n firstPageWithShortcut: string;\r\n /**\r\n * Aria-label for next page action button.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n nextPage: string;\r\n /**\r\n * Aria-label for next page action button with shortcut.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n nextPageWithShortcut: string;\r\n /**\r\n * Aria-label for previous page action button.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n previousPage: string;\r\n /**\r\n * Aria-label for previous page action button with shortcut.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n previousPageWithShortcut: string;\r\n /**\r\n * Aria-label for last page action button.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n lastPage: string;\r\n /**\r\n * Aria-label for last page action button with shortcut.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n lastPageWithShortcut: string;\r\n /**\r\n * Aria-label for page X action button.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n pageX: string;\r\n};\r\n\r\nexport type PaginationTexts = {\r\n /**\r\n * Aria-label provided for page numbers and page actions group.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n label: string;\r\n /**\r\n * Aria-label provided for page size selection.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n pageSize: string;\r\n /**\r\n * Text that indicates the number of the first and last element displayed on the current page, out of total items\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n showingXofYofTotal: string;\r\n /**\r\n * Aria-labels provided for page action buttons.\r\n * To read more about how to provide the text, see [Provider](component:provider) component\r\n */\r\n actions: PaginationTextsActions;\r\n};\r\n\r\nexport type PaginationProps = React.HTMLAttributes<HTMLDivElement> &\r\n usePaginationValues & {\r\n /** Indicate total number of items that will be paginated */\r\n length: number;\r\n /** Page size options */\r\n pageSizes?: number[];\r\n /** Shows page controls */\r\n showPageControls?: boolean;\r\n /** Shows page numbers between navigation buttons, which allows users to quickly navigate to a specific page */\r\n showPageNumbers?: boolean;\r\n /** Shows a dropdown with page sizes, which allows user to change the number of items displayed on the page */\r\n showPageSize?: boolean;\r\n /** Enable pagination shortcuts */\r\n dangerouslyHijackGlobalKeyboardNavigation?: boolean;\r\n };\r\n\r\nconst getShowingLabel = (length: number, pageIndex: number, pageSize: number, texts: LocalizationTexts): string => {\r\n const minItemIndex = pageIndex * pageSize + 1;\r\n const maxItemIndex = (pageIndex + 1) * pageSize;\r\n\r\n return texts.pagination.showingXofYofTotal\r\n .replace('[X]', length === 0 ? '0' : String(minItemIndex))\r\n .replace('[Y]', String(maxItemIndex > length ? length : maxItemIndex))\r\n .replace('[total]', String(length));\r\n};\r\n\r\nexport const Pagination = React.forwardRef(function Pagination(props: PaginationProps, ref: React.Ref<HTMLDivElement>) {\r\n const {\r\n length,\r\n pageIndex,\r\n pageSize,\r\n pageSizes = [10, 25, 50, 100, 500],\r\n setPageIndex,\r\n setPageSize,\r\n showPageControls = true,\r\n showPageNumbers = true,\r\n showPageSize = true,\r\n dangerouslyHijackGlobalKeyboardNavigation = false,\r\n ...otherProps\r\n } = props;\r\n const { texts } = useLocalization();\r\n\r\n const maxPageIndex = Math.ceil(length / pageSize) - 1;\r\n const showShortcutTexts = dangerouslyHijackGlobalKeyboardNavigation;\r\n\r\n usePaginationShortcuts({\r\n setPageIndex,\r\n maxPageIndex,\r\n pageIndex,\r\n dangerouslyHijackGlobalKeyboardNavigation,\r\n });\r\n\r\n const pageCount = Math.ceil(length / pageSize);\r\n const canPreviousPage = pageIndex > 0;\r\n const canNextPage = pageIndex < pageCount - 1;\r\n\r\n const className = cn('inline-flex relative justify-between items-center', props.className);\r\n\r\n return (\r\n <div {...otherProps} className={className} data-taco=\"pagination\" ref={ref}>\r\n {showPageSize && (\r\n <span className=\"mr-4\">\r\n {getShowingLabel(length, pageIndex, pageSize, texts)}\r\n <Select\r\n aria-label={texts.pagination.pageSize}\r\n className=\"ml-4 !w-20\"\r\n data={pageSizes.map(pageSize => ({\r\n text: String(pageSize),\r\n value: pageSize,\r\n }))}\r\n onChange={event => {\r\n setPageIndex(0);\r\n setPageSize(Number(event.target.value));\r\n }}\r\n value={pageSize}\r\n />\r\n </span>\r\n )}\r\n {showPageControls && (\r\n <Group as=\"nav\" aria-label={texts.pagination.label}>\r\n <IconButton\r\n appearance=\"default\"\r\n disabled={!canPreviousPage}\r\n icon=\"arrow-start\"\r\n onClick={() => setPageIndex(0)}\r\n aria-label={\r\n showShortcutTexts\r\n ? texts.pagination.actions.firstPageWithShortcut\r\n : texts.pagination.actions.firstPage\r\n }\r\n tooltip={\r\n showShortcutTexts\r\n ? texts.pagination.actions.firstPageWithShortcut\r\n : texts.pagination.actions.firstPage\r\n }\r\n />\r\n <IconButton\r\n appearance=\"default\"\r\n disabled={!canPreviousPage}\r\n icon=\"arrow-left\"\r\n onClick={() => setPageIndex(pageIndex - 1)}\r\n aria-label={\r\n showShortcutTexts\r\n ? texts.pagination.actions.previousPageWithShortcut\r\n : texts.pagination.actions.previousPage\r\n }\r\n tooltip={\r\n showShortcutTexts\r\n ? texts.pagination.actions.previousPageWithShortcut\r\n : texts.pagination.actions.previousPage\r\n }\r\n />\r\n {showPageNumbers && pageCount > 0 && (\r\n <PageNumbers pageCount={pageCount} currentPageIndex={pageIndex} onClick={setPageIndex} />\r\n )}\r\n <IconButton\r\n appearance=\"default\"\r\n disabled={!canNextPage}\r\n icon=\"arrow-right\"\r\n onClick={() => setPageIndex(pageIndex + 1)}\r\n aria-label={\r\n showShortcutTexts ? texts.pagination.actions.nextPageWithShortcut : texts.pagination.actions.nextPage\r\n }\r\n tooltip={\r\n showShortcutTexts ? texts.pagination.actions.nextPageWithShortcut : texts.pagination.actions.nextPage\r\n }\r\n />\r\n <IconButton\r\n appearance=\"default\"\r\n disabled={!canNextPage}\r\n icon=\"arrow-end\"\r\n onClick={() => setPageIndex(pageCount - 1)}\r\n aria-label={\r\n showShortcutTexts ? texts.pagination.actions.lastPageWithShortcut : texts.pagination.actions.lastPage\r\n }\r\n tooltip={\r\n showShortcutTexts ? texts.pagination.actions.lastPageWithShortcut : texts.pagination.actions.lastPage\r\n }\r\n />\r\n </Group>\r\n )}\r\n </div>\r\n );\r\n});\r\n"],"names":["getShowingLabel","length","pageIndex","pageSize","texts","minItemIndex","maxItemIndex","pagination","showingXofYofTotal","replace","String","Pagination","React","props","ref","pageSizes","setPageIndex","setPageSize","showPageControls","showPageNumbers","showPageSize","dangerouslyHijackGlobalKeyboardNavigation","otherProps","useLocalization","maxPageIndex","Math","ceil","showShortcutTexts","usePaginationShortcuts","pageCount","canPreviousPage","canNextPage","className","cn","Select","data","map","text","value","onChange","event","Number","target","Group","as","label","IconButton","appearance","disabled","icon","onClick","actions","firstPageWithShortcut","firstPage","tooltip","previousPageWithShortcut","previousPage","PageNumbers","currentPageIndex","nextPageWithShortcut","nextPage","lastPageWithShortcut","lastPage"],"mappings":"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"}
@@ -1,27 +1,13 @@
1
1
  import React__default from 'react';
2
2
 
3
- var usePagination = function usePagination(initialPageIndex, initialPageSize) {
4
- if (initialPageIndex === void 0) {
5
- initialPageIndex = 0;
6
- }
7
-
8
- if (initialPageSize === void 0) {
9
- initialPageSize = 10;
10
- }
11
-
12
- var _React$useState = React__default.useState(initialPageIndex),
13
- pageIndex = _React$useState[0],
14
- setPageIndex = _React$useState[1];
15
-
16
- var _React$useState2 = React__default.useState(initialPageSize),
17
- pageSize = _React$useState2[0],
18
- setPageSize = _React$useState2[1];
19
-
3
+ const usePagination = (initialPageIndex = 0, initialPageSize = 10) => {
4
+ const [pageIndex, setPageIndex] = React__default.useState(initialPageIndex);
5
+ const [pageSize, setPageSize] = React__default.useState(initialPageSize);
20
6
  return {
21
- pageIndex: pageIndex,
22
- pageSize: pageSize,
23
- setPageIndex: setPageIndex,
24
- setPageSize: setPageSize
7
+ pageIndex,
8
+ pageSize,
9
+ setPageIndex,
10
+ setPageSize
25
11
  };
26
12
  };
27
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"usePagination.js","sources":["../../../../src/components/Pagination/usePagination.tsx"],"sourcesContent":["import React from 'react';\n\nexport type usePaginationValues = {\n /** Current page index (zero based) */\n pageIndex: number;\n /** Number of items displayed on a page */\n pageSize: number;\n /** Handler called when navigating through pages */\n setPageIndex: (pageIndex: number) => void;\n /** Handler called when changing the size of the page */\n setPageSize: (size: number) => void;\n};\n\nexport const usePagination = (initialPageIndex = 0, initialPageSize = 10): usePaginationValues => {\n const [pageIndex, setPageIndex] = React.useState(initialPageIndex);\n const [pageSize, setPageSize] = React.useState(initialPageSize);\n\n return {\n pageIndex,\n pageSize,\n setPageIndex,\n setPageSize,\n };\n};\n"],"names":["usePagination","initialPageIndex","initialPageSize","React","useState","pageIndex","setPageIndex","pageSize","setPageSize"],"mappings":";;IAaaA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,gBAAD,EAAuBC,eAAvB;MAACD;AAAAA,IAAAA,mBAAmB;;;MAAGC;AAAAA,IAAAA,kBAAkB;;;AAClE,wBAAkCC,cAAK,CAACC,QAAN,CAAeH,gBAAf,CAAlC;AAAA,MAAOI,SAAP;AAAA,MAAkBC,YAAlB;;AACA,yBAAgCH,cAAK,CAACC,QAAN,CAAeF,eAAf,CAAhC;AAAA,MAAOK,QAAP;AAAA,MAAiBC,WAAjB;;AAEA,SAAO;AACHH,IAAAA,SAAS,EAATA,SADG;AAEHE,IAAAA,QAAQ,EAARA,QAFG;AAGHD,IAAAA,YAAY,EAAZA,YAHG;AAIHE,IAAAA,WAAW,EAAXA;AAJG,GAAP;AAMH;;;;"}
1
+ {"version":3,"file":"usePagination.js","sources":["../../../../src/components/Pagination/usePagination.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nexport type usePaginationValues = {\r\n /** Current page index (zero based) */\r\n pageIndex: number;\r\n /** Number of items displayed on a page */\r\n pageSize: number;\r\n /** Handler called when navigating through pages */\r\n setPageIndex: (pageIndex: number) => void;\r\n /** Handler called when changing the size of the page */\r\n setPageSize: (size: number) => void;\r\n};\r\n\r\nexport const usePagination = (initialPageIndex = 0, initialPageSize = 10): usePaginationValues => {\r\n const [pageIndex, setPageIndex] = React.useState(initialPageIndex);\r\n const [pageSize, setPageSize] = React.useState(initialPageSize);\r\n\r\n return {\r\n pageIndex,\r\n pageSize,\r\n setPageIndex,\r\n setPageSize,\r\n };\r\n};\r\n"],"names":["usePagination","initialPageIndex","initialPageSize","pageIndex","setPageIndex","React","useState","pageSize","setPageSize"],"mappings":";;MAaaA,aAAa,GAAG,CAACC,gBAAgB,GAAG,CAApB,EAAuBC,eAAe,GAAG,EAAzC;AACzB,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BC,cAAK,CAACC,QAAN,CAAeL,gBAAf,CAAlC;AACA,QAAM,CAACM,QAAD,EAAWC,WAAX,IAA0BH,cAAK,CAACC,QAAN,CAAeJ,eAAf,CAAhC;AAEA,SAAO;AACHC,IAAAA,SADG;AAEHI,IAAAA,QAFG;AAGHH,IAAAA,YAHG;AAIHI,IAAAA;AAJG,GAAP;AAMH;;;;"}
@@ -1,13 +1,13 @@
1
1
  import React__default from 'react';
2
2
  import keycode from 'keycode';
3
3
 
4
- var usePaginationShortcuts = function usePaginationShortcuts(_ref) {
5
- var setPageIndex = _ref.setPageIndex,
6
- maxPageIndex = _ref.maxPageIndex,
7
- pageIndex = _ref.pageIndex,
8
- useGlobalKeyboardNavigation = _ref.dangerouslyHijackGlobalKeyboardNavigation;
9
-
10
- var onKeyDown = function onKeyDown(event) {
4
+ const usePaginationShortcuts = ({
5
+ setPageIndex,
6
+ maxPageIndex,
7
+ pageIndex,
8
+ dangerouslyHijackGlobalKeyboardNavigation: useGlobalKeyboardNavigation
9
+ }) => {
10
+ const onKeyDown = event => {
11
11
  if (setPageIndex && event.keyCode === keycode('home')) {
12
12
  event.preventDefault();
13
13
  setPageIndex(0);
@@ -33,12 +33,12 @@ var usePaginationShortcuts = function usePaginationShortcuts(_ref) {
33
33
  }
34
34
  };
35
35
 
36
- React__default.useEffect(function () {
36
+ React__default.useEffect(() => {
37
37
  if (useGlobalKeyboardNavigation) {
38
38
  window.addEventListener('keydown', onKeyDown);
39
39
  }
40
40
 
41
- return function () {
41
+ return () => {
42
42
  if (useGlobalKeyboardNavigation) {
43
43
  window.removeEventListener('keydown', onKeyDown);
44
44
  }