@economic/taco 1.0.9 → 1.1.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 (376) hide show
  1. package/README.md +84 -84
  2. package/dist/components/Menu/Context.d.ts +0 -5
  3. package/dist/components/Menu/Menu.d.ts +0 -3
  4. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  6. package/dist/esm/components/Badge/Badge.js.map +1 -1
  7. package/dist/esm/components/Banner/Banner.js.map +1 -1
  8. package/dist/esm/components/Banner/util.js +1 -1
  9. package/dist/esm/components/Banner/util.js.map +1 -1
  10. package/dist/esm/components/Button/Button.js.map +1 -1
  11. package/dist/esm/components/Button/util.js +24 -19
  12. package/dist/esm/components/Button/util.js.map +1 -1
  13. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  14. package/dist/esm/components/Card/Card.js.map +1 -1
  15. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  16. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  17. package/dist/esm/components/Combobox/useCombobox.js +87 -67
  18. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  19. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  20. package/dist/esm/components/Datepicker/useDatepicker.js +34 -27
  21. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  22. package/dist/esm/components/Dialog/Context.js +4 -4
  23. package/dist/esm/components/Dialog/Context.js.map +1 -1
  24. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  25. package/dist/esm/components/Dialog/components/Content.js +44 -39
  26. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  27. package/dist/esm/components/Dialog/components/Drawer.js +3 -3
  28. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  29. package/dist/esm/components/Dialog/components/Extra.js +2 -2
  30. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  31. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  32. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  33. package/dist/esm/components/Field/Field.js.map +1 -1
  34. package/dist/esm/components/Form/Form.js.map +1 -1
  35. package/dist/esm/components/Group/Group.js.map +1 -1
  36. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  37. package/dist/esm/components/HoverCard/HoverCard.js.map +1 -1
  38. package/dist/esm/components/Icon/Icon.js.map +1 -1
  39. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  40. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  41. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  42. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  43. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  44. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  45. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  46. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  47. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  48. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  49. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  50. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  51. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  52. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  53. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  54. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  55. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  56. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  57. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  58. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  59. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  60. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  61. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  62. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  63. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  64. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  65. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  66. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  67. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  72. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  73. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  74. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  75. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  76. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  77. package/dist/esm/components/Icon/components/CircleClose.js.map +1 -1
  78. package/dist/esm/components/Icon/components/CircleMinus.js.map +1 -1
  79. package/dist/esm/components/Icon/components/CirclePlus.js.map +1 -1
  80. package/dist/esm/components/Icon/components/CircleTick.js.map +1 -1
  81. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  82. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  83. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  84. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  85. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  86. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  87. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  88. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  89. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  90. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  91. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  92. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  93. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  94. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  95. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  96. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  97. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  98. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  100. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  101. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  102. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  103. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  104. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  105. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  106. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  107. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  108. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  109. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  110. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  111. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  112. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  113. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  114. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  115. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  116. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  117. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  118. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  119. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  120. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  121. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  122. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  123. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  124. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  125. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  126. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  127. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  128. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  129. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  130. package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -1
  131. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  132. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  133. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  134. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  135. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  136. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  137. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  138. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  139. package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -1
  140. package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -1
  141. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  142. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  143. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  144. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  145. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  146. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  147. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  148. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  149. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  150. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  151. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  152. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  153. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  154. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  155. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  156. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  157. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  158. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  159. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  160. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  161. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  162. package/dist/esm/components/Icon/components/List.js.map +1 -1
  163. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  164. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  165. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  166. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  167. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  168. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  169. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  170. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  171. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  172. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  173. package/dist/esm/components/Icon/components/More.js.map +1 -1
  174. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  175. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  176. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  177. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  178. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  179. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  180. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  181. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  182. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  183. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  184. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  185. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  186. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  187. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  188. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  189. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  190. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  191. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  192. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  193. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  194. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  195. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  196. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  197. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  198. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  199. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  200. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  201. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  202. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  203. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  204. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  205. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  206. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  207. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  208. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  209. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  210. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  211. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  212. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  213. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  214. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  215. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  216. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  217. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  218. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  219. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  220. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  221. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  222. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  223. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  224. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  225. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  226. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  227. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  228. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  229. package/dist/esm/components/Icon/components/ThumbUp.js.map +1 -1
  230. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  231. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  232. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  233. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  234. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  235. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  236. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  237. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  238. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  239. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  240. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  241. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  242. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  243. package/dist/esm/components/Icon/components/index.js +4 -4
  244. package/dist/esm/components/Icon/components/index.js.map +1 -1
  245. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  246. package/dist/esm/components/Input/Input.js.map +1 -1
  247. package/dist/esm/components/Input/util.js +2 -2
  248. package/dist/esm/components/Input/util.js.map +1 -1
  249. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  250. package/dist/esm/components/Listbox/ScrollableList.js +83 -64
  251. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  252. package/dist/esm/components/Listbox/useListbox.js +60 -51
  253. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  254. package/dist/esm/components/Listbox/useMultiListbox.js +91 -64
  255. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  256. package/dist/esm/components/Listbox/useTypeahead.js +9 -10
  257. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  258. package/dist/esm/components/Listbox/util.js +85 -48
  259. package/dist/esm/components/Listbox/util.js.map +1 -1
  260. package/dist/esm/components/Menu/Context.js +2 -2
  261. package/dist/esm/components/Menu/Context.js.map +1 -1
  262. package/dist/esm/components/Menu/Menu.js +9 -18
  263. package/dist/esm/components/Menu/Menu.js.map +1 -1
  264. package/dist/esm/components/Menu/components/Checkbox.js +9 -8
  265. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  266. package/dist/esm/components/Menu/components/Content.js +9 -27
  267. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  268. package/dist/esm/components/Menu/components/Header.js +3 -23
  269. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  270. package/dist/esm/components/Menu/components/Item.js +32 -79
  271. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  272. package/dist/esm/components/Menu/components/Link.js +11 -10
  273. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  274. package/dist/esm/components/Menu/components/RadioGroup.js +18 -16
  275. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  276. package/dist/esm/components/Menu/components/Separator.js +2 -26
  277. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  278. package/dist/esm/components/Menu/components/Trigger.js +5 -17
  279. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  280. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  281. package/dist/esm/components/Pagination/PageNumbers.js +28 -23
  282. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  283. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  284. package/dist/esm/components/Pagination/usePagination.js +21 -7
  285. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  286. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  287. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  288. package/dist/esm/components/Popover/Popover.js.map +1 -1
  289. package/dist/esm/components/Popover/Primitives.js +8 -7
  290. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  291. package/dist/esm/components/Progress/Progress.js.map +1 -1
  292. package/dist/esm/components/Provider/Provider.js.map +1 -1
  293. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  294. package/dist/esm/components/SearchInput/SearchInput.js +1 -1
  295. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  296. package/dist/esm/components/Select/Select.js.map +1 -1
  297. package/dist/esm/components/Select/useSelect.js +81 -63
  298. package/dist/esm/components/Select/useSelect.js.map +1 -1
  299. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  300. package/dist/esm/components/Switch/Switch.js.map +1 -1
  301. package/dist/esm/components/Table/components/BaseTable.js +30 -23
  302. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  303. package/dist/esm/components/Table/components/PaginatedTable.js +7 -3
  304. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  305. package/dist/esm/components/Table/components/Table.js +25 -18
  306. package/dist/esm/components/Table/components/Table.js.map +1 -1
  307. package/dist/esm/components/Table/components/WindowedTable.js +104 -88
  308. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  309. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +146 -122
  310. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  311. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +61 -57
  312. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  313. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +36 -39
  314. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  315. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +89 -79
  316. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  317. package/dist/esm/components/Table/hooks/useRowCreation.js +64 -29
  318. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  319. package/dist/esm/components/Table/hooks/useTable.js +141 -119
  320. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  321. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +15 -12
  322. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  323. package/dist/esm/components/Table/util/renderColumn.js +10 -10
  324. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  325. package/dist/esm/components/Table/util/renderRow.js +46 -37
  326. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  327. package/dist/esm/components/Table/util/rowIndexPath.js +16 -14
  328. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  329. package/dist/esm/components/Table/util/sortTypes.js +31 -23
  330. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  331. package/dist/esm/components/Table/util.js +41 -29
  332. package/dist/esm/components/Table/util.js.map +1 -1
  333. package/dist/esm/components/Tabs/Tabs.js +1 -1
  334. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  335. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  336. package/dist/esm/components/Toast/Toast.js +21 -20
  337. package/dist/esm/components/Toast/Toast.js.map +1 -1
  338. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  339. package/dist/esm/components/Toast/util.js +2 -2
  340. package/dist/esm/components/Toast/util.js.map +1 -1
  341. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  342. package/dist/esm/components/Tour/Tour.js.map +1 -1
  343. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  344. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  345. package/dist/esm/index.css +661 -661
  346. package/dist/esm/index.js +1 -1
  347. package/dist/esm/primitives/Button.js +13 -9
  348. package/dist/esm/primitives/Button.js.map +1 -1
  349. package/dist/esm/utils/date.js.map +1 -1
  350. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  351. package/dist/esm/utils/hooks/useDraggable.js +18 -16
  352. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  353. package/dist/esm/utils/hooks/useDropTarget.js +10 -7
  354. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  355. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  356. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  357. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  358. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  359. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  360. package/dist/esm/utils/hooks/useTimer.js +17 -9
  361. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  362. package/dist/esm/utils/input.js +11 -7
  363. package/dist/esm/utils/input.js.map +1 -1
  364. package/dist/esm/utils/mergeRefs.js +2 -2
  365. package/dist/esm/utils/mergeRefs.js.map +1 -1
  366. package/dist/esm/utils/taillwind.js +2 -2
  367. package/dist/esm/utils/taillwind.js.map +1 -1
  368. package/dist/index.css +661 -661
  369. package/dist/taco.cjs.development.js +1806 -1610
  370. package/dist/taco.cjs.development.js.map +1 -1
  371. package/dist/taco.cjs.production.min.js +1 -1
  372. package/dist/taco.cjs.production.min.js.map +1 -1
  373. package/package.json +2 -2
  374. package/plugins/tailwindcss-aria-attributes.js +73 -73
  375. package/tailwind.config.js +297 -297
  376. package/types.json +329 -346
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\r\nimport { ScrollableListItem, ScrollableListItemValue, getId } from './ScrollableList';\r\nimport { setInputValueByRef as setInputValueByRefBase } from '../../utils/input';\r\n\r\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\r\n\r\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: ScrollableListItemValue, event = 'change'): void => {\r\n setInputValueByRefBase(input, getValue(value), event);\r\n};\r\n\r\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\r\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\r\n return index > -1 ? index : undefined;\r\n};\r\n\r\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\r\n if (typeof value !== 'string') return [];\r\n\r\n return value\r\n .split(',')\r\n .map(v => data.findIndex(o => String(o.value) === v))\r\n .filter(v => v !== -1);\r\n};\r\n\r\nexport const findByValue = (data: ScrollableListItem[], value: ScrollableListItemValue): ScrollableListItem | undefined => {\r\n return data.find(option => getValue(option.value) === getValue(value));\r\n};\r\n\r\nexport const searchForString = (child: JSX.Element | string, value: string, strategy = 'includes'): boolean => {\r\n try {\r\n if (typeof child !== 'string' && child.props?.children) {\r\n if (Array.isArray(child.props?.children)) {\r\n return !!child.props.children.find((subChild: JSX.Element | string) =>\r\n searchForString(subChild, value, strategy)\r\n );\r\n }\r\n\r\n return searchForString(child.props?.children, value, strategy);\r\n } else {\r\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\r\n }\r\n } catch {\r\n return false;\r\n }\r\n};\r\n\r\nconst getIndexInRangeByValue = (\r\n data: ScrollableListItem[],\r\n query: string,\r\n firstIndex: number,\r\n lastIndex: number = data.length\r\n): number => {\r\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\r\n if (option.disabled) {\r\n return false;\r\n }\r\n\r\n return searchForString(option.text, query, 'startsWith');\r\n });\r\n\r\n return index > -1 ? index + firstIndex : -1;\r\n};\r\n\r\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\r\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\r\n let index = getIndexInRangeByValue(data, query, firstIndex);\r\n\r\n if (index === -1) {\r\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\r\n }\r\n\r\n return index;\r\n};\r\n\r\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\r\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\r\n};\r\n\r\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\r\n return React.useMemo(() => {\r\n const items: ScrollableListItem[] = [];\r\n\r\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\r\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\r\n const isItemDisabled = parentDisabled || item.disabled;\r\n\r\n items.push({\r\n ...item,\r\n disabled: isItemDisabled,\r\n path: currentPath,\r\n hasChildren: !!item.children,\r\n });\r\n\r\n if (item.children) {\r\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\r\n flatten(childItem, childPath, currentPath, isItemDisabled)\r\n );\r\n }\r\n };\r\n\r\n data.forEach((item, index) => {\r\n flatten(item, index);\r\n });\r\n\r\n return items;\r\n }, [data]);\r\n};\r\n\r\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\r\n if (item) {\r\n const { hasChildren: _1, path: _2, ...rest } = item;\r\n return rest;\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\r\n const indexes = path?.split('.') ?? [];\r\n\r\n if (indexes.length > 1) {\r\n // we don't want to map the current item\r\n indexes.pop();\r\n // we need to rebuild the path as we map\r\n let lastPath: string;\r\n\r\n return indexes.map(i => {\r\n lastPath = lastPath ? [lastPath, i].join('.') : i;\r\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\r\n });\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\r\n if (value === '' || value === null) {\r\n return data;\r\n }\r\n\r\n const filteredOptionValues = new Set();\r\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\r\n if (option.disabled) {\r\n return false;\r\n }\r\n\r\n return searchForString(option.text, String(value));\r\n };\r\n\r\n data.forEach(option => {\r\n if (shouldFilterOption(option)) {\r\n const parents = getOptionParents(data, option.path);\r\n\r\n filteredOptionValues.add(option.value);\r\n\r\n if (parents !== null) {\r\n parents.forEach(option => filteredOptionValues.add(option?.value));\r\n }\r\n }\r\n });\r\n\r\n return data.filter(({ value }) => filteredOptionValues.has(value));\r\n};\r\n"],"names":["getValue","value","String","setInputValueByRef","input","event","setInputValueByRefBase","getIndexFromValue","data","index","findIndex","option","undefined","getSelectedIndexesFromValue","split","map","v","o","filter","findByValue","find","searchForString","child","strategy","props","children","Array","isArray","subChild","toString","toLowerCase","getIndexInRangeByValue","query","firstIndex","lastIndex","length","slice","disabled","text","findNextIndexByValue","activeIndex","getActiveDescendant","currentIndex","id","getId","useFlattenedData","React","useMemo","items","flatten","item","path","parentPath","parentDisabled","currentPath","isItemDisabled","push","hasChildren","forEach","childItem","childPath","sanitizeItem","_1","_2","rest","getOptionParents","indexes","pop","lastPath","i","join","filterData","filteredOptionValues","Set","shouldFilterOption","parents","add","has"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\nimport { ScrollableListItem, ScrollableListItemValue, getId } from './ScrollableList';\nimport { setInputValueByRef as setInputValueByRefBase } from '../../utils/input';\n\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\n\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: ScrollableListItemValue, event = 'change'): void => {\n setInputValueByRefBase(input, getValue(value), event);\n};\n\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\n return index > -1 ? index : undefined;\n};\n\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\n if (typeof value !== 'string') return [];\n\n return value\n .split(',')\n .map(v => data.findIndex(o => String(o.value) === v))\n .filter(v => v !== -1);\n};\n\nexport const findByValue = (data: ScrollableListItem[], value: ScrollableListItemValue): ScrollableListItem | undefined => {\n return data.find(option => getValue(option.value) === getValue(value));\n};\n\nexport const searchForString = (child: JSX.Element | string, value: string, strategy = 'includes'): boolean => {\n try {\n if (typeof child !== 'string' && child.props?.children) {\n if (Array.isArray(child.props?.children)) {\n return !!child.props.children.find((subChild: JSX.Element | string) =>\n searchForString(subChild, value, strategy)\n );\n }\n\n return searchForString(child.props?.children, value, strategy);\n } else {\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\n }\n } catch {\n return false;\n }\n};\n\nconst getIndexInRangeByValue = (\n data: ScrollableListItem[],\n query: string,\n firstIndex: number,\n lastIndex: number = data.length\n): number => {\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, query, 'startsWith');\n });\n\n return index > -1 ? index + firstIndex : -1;\n};\n\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\n let index = getIndexInRangeByValue(data, query, firstIndex);\n\n if (index === -1) {\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\n }\n\n return index;\n};\n\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\n};\n\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\n return React.useMemo(() => {\n const items: ScrollableListItem[] = [];\n\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\n const isItemDisabled = parentDisabled || item.disabled;\n\n items.push({\n ...item,\n disabled: isItemDisabled,\n path: currentPath,\n hasChildren: !!item.children,\n });\n\n if (item.children) {\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\n flatten(childItem, childPath, currentPath, isItemDisabled)\n );\n }\n };\n\n data.forEach((item, index) => {\n flatten(item, index);\n });\n\n return items;\n }, [data]);\n};\n\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\n if (item) {\n const { hasChildren: _1, path: _2, ...rest } = item;\n return rest;\n }\n\n return undefined;\n};\n\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\n const indexes = path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n return indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\n });\n }\n\n return null;\n};\n\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\n if (value === '' || value === null) {\n return data;\n }\n\n const filteredOptionValues = new Set();\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, String(value));\n };\n\n data.forEach(option => {\n if (shouldFilterOption(option)) {\n const parents = getOptionParents(data, option.path);\n\n filteredOptionValues.add(option.value);\n\n if (parents !== null) {\n parents.forEach(option => filteredOptionValues.add(option?.value));\n }\n }\n });\n\n return data.filter(({ value }) => filteredOptionValues.has(value));\n};\n"],"names":["getValue","value","String","setInputValueByRef","input","event","setInputValueByRefBase","getIndexFromValue","data","index","findIndex","option","undefined","getSelectedIndexesFromValue","split","map","v","o","filter","findByValue","find","searchForString","child","strategy","props","children","Array","isArray","subChild","toString","toLowerCase","getIndexInRangeByValue","query","firstIndex","lastIndex","length","slice","disabled","text","findNextIndexByValue","activeIndex","getActiveDescendant","currentIndex","id","getId","useFlattenedData","React","useMemo","items","flatten","item","path","parentPath","parentDisabled","currentPath","isItemDisabled","push","hasChildren","forEach","childItem","childPath","sanitizeItem","rest","getOptionParents","indexes","pop","lastPath","i","join","filterData","filteredOptionValues","Set","shouldFilterOption","parents","add","has"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { createContext, useContext } from 'react';
2
2
 
3
- const MenuContext = /*#__PURE__*/createContext(undefined);
4
- const useCurrentMenu = () => {
3
+ var MenuContext = /*#__PURE__*/createContext(undefined);
4
+ var useCurrentMenu = function useCurrentMenu() {
5
5
  return useContext(MenuContext);
6
6
  };
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sources":["../../../../src/components/Menu/Context.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Appearance } from '../..';\r\n\r\nexport const MenuContext = React.createContext<\r\n | {\r\n appearance?: Appearance;\r\n setAppearance: (appearance: Appearance) => void;\r\n indented: boolean;\r\n registerIndentation: () => void;\r\n minWidth?: number;\r\n setMinWidth: (width: number) => void;\r\n close: () => void;\r\n }\r\n | undefined\r\n>(undefined);\r\n\r\nexport const useCurrentMenu = () => {\r\n return React.useContext(MenuContext);\r\n};\r\n"],"names":["MenuContext","React","undefined","useCurrentMenu"],"mappings":";;MAGaA,WAAW,gBAAGC,aAAA,CAWzBC,SAXyB;MAadC,cAAc,GAAG;AAC1B,SAAOF,UAAA,CAAiBD,WAAjB,CAAP;AACH;;;;"}
1
+ {"version":3,"file":"Context.js","sources":["../../../../src/components/Menu/Context.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport const MenuContext = React.createContext<\n | {\n indented: boolean;\n registerIndentation: () => void;\n minWidth?: number;\n setMinWidth: (width: number) => void;\n close: () => void;\n }\n | undefined\n>(undefined);\n\nexport const useCurrentMenu = () => {\n return React.useContext(MenuContext);\n};\n"],"names":["MenuContext","React","undefined","useCurrentMenu"],"mappings":";;IAEaA,WAAW,gBAAGC,aAAA,CASzBC,SATyB;IAWdC,cAAc,GAAG,SAAjBA,cAAiB;AAC1B,SAAOF,UAAA,CAAiBD,WAAjB,CAAP;AACH;;;;"}
@@ -11,10 +11,9 @@ import { RadioGroup } from './components/RadioGroup.js';
11
11
  import { Separator } from './components/Separator.js';
12
12
  import { Header } from './components/Header.js';
13
13
 
14
- var _excluded = ["appearance", "children", "trigger"];
14
+ var _excluded = ["children", "trigger"];
15
15
  var Menu = function Menu(externalProps) {
16
- var externalAppearance = externalProps.appearance,
17
- children = externalProps.children,
16
+ var children = externalProps.children,
18
17
  trigger = externalProps.trigger,
19
18
  props = _objectWithoutPropertiesLoose(externalProps, _excluded);
20
19
 
@@ -22,24 +21,16 @@ var Menu = function Menu(externalProps) {
22
21
  open = _React$useState[0],
23
22
  setOpen = _React$useState[1];
24
23
 
25
- var _React$useState2 = useState(externalAppearance !== null && externalAppearance !== void 0 ? externalAppearance : 'default'),
26
- appearance = _React$useState2[0],
27
- _setAppearance = _React$useState2[1];
24
+ var _React$useState2 = useState(false),
25
+ indented = _React$useState2[0],
26
+ setIndented = _React$useState2[1];
28
27
 
29
- var _React$useState3 = useState(false),
30
- indented = _React$useState3[0],
31
- setIndented = _React$useState3[1];
32
-
33
- var _React$useState4 = useState(undefined),
34
- minWidth = _React$useState4[0],
35
- _setMinWidth = _React$useState4[1];
28
+ var _React$useState3 = useState(undefined),
29
+ minWidth = _React$useState3[0],
30
+ _setMinWidth = _React$useState3[1];
36
31
 
37
32
  var context = useMemo(function () {
38
33
  return {
39
- appearance: appearance,
40
- setAppearance: function setAppearance(appearance) {
41
- return _setAppearance(appearance);
42
- },
43
34
  indented: indented,
44
35
  registerIndentation: function registerIndentation() {
45
36
  return setIndented(true);
@@ -52,7 +43,7 @@ var Menu = function Menu(externalProps) {
52
43
  return setOpen(false);
53
44
  }
54
45
  };
55
- }, [indented, minWidth, appearance]);
46
+ }, [indented, minWidth]);
56
47
  return createElement(MenuContext.Provider, {
57
48
  value: context
58
49
  }, createElement(Root, Object.assign({}, props, {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { MenuContext } from './Context';\r\nimport { Content } from './components/Content';\r\nimport { Item } from './components/Item';\r\nimport { Link } from './components/Link';\r\nimport { Trigger } from './components/Trigger';\r\nimport { Checkbox } from './components/Checkbox';\r\nimport { RadioGroup } from './components/RadioGroup';\r\nimport { Separator } from './components/Separator';\r\nimport { Header } from './components/Header';\r\nimport { Appearance } from '../..';\r\n\r\nexport type MenuProps = {\r\n /** Appearance will change the style of the button */\r\n appearance?: Appearance;\r\n children: React.ReactNode;\r\n id?: string;\r\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\r\n trigger?: JSX.Element;\r\n};\r\n\r\nexport const Menu = (externalProps: MenuProps): JSX.Element => {\r\n const { appearance: externalAppearance, children, trigger, ...props } = externalProps;\r\n const [open, setOpen] = React.useState(false);\r\n const [appearance, setAppearance] = React.useState<Appearance>(externalAppearance ?? 'default');\r\n const [indented, setIndented] = React.useState(false);\r\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\r\n\r\n const context = React.useMemo(\r\n () => ({\r\n appearance,\r\n setAppearance: (appearance: Appearance) => setAppearance(appearance),\r\n indented,\r\n registerIndentation: () => setIndented(true),\r\n minWidth,\r\n setMinWidth: (width: number) => setMinWidth(width),\r\n close: () => setOpen(false),\r\n }),\r\n [indented, minWidth, appearance]\r\n );\r\n\r\n return (\r\n <MenuContext.Provider value={context}>\r\n <DropdownMenuPrimitive.Root {...props} modal={false} open={open} onOpenChange={setOpen}>\r\n {trigger && <Trigger>{trigger}</Trigger>}\r\n {children}\r\n </DropdownMenuPrimitive.Root>\r\n </MenuContext.Provider>\r\n );\r\n};\r\nMenu.Trigger = Trigger;\r\nMenu.Content = Content;\r\nMenu.Item = Item;\r\nMenu.Link = Link;\r\nMenu.Checkbox = Checkbox;\r\nMenu.Separator = Separator;\r\nMenu.Header = Header;\r\nMenu.RadioGroup = RadioGroup;\r\n"],"names":["Menu","externalProps","externalAppearance","appearance","children","trigger","props","React","open","setOpen","setAppearance","indented","setIndented","undefined","minWidth","setMinWidth","context","registerIndentation","width","close","MenuContext","Provider","value","DropdownMenuPrimitive","modal","onOpenChange","Trigger","Content","Item","Link","Checkbox","Separator","Header","RadioGroup"],"mappings":";;;;;;;;;;;;;;IAsBaA,IAAI,GAAG,SAAPA,IAAO,CAACC,aAAD;AAChB,MAAoBC,kBAApB,GAAwED,aAAxE,CAAQE,UAAR;AAAA,MAAwCC,QAAxC,GAAwEH,aAAxE,CAAwCG,QAAxC;AAAA,MAAkDC,OAAlD,GAAwEJ,aAAxE,CAAkDI,OAAlD;AAAA,MAA8DC,KAA9D,iCAAwEL,aAAxE;;AACA,wBAAwBM,QAAA,CAAe,KAAf,CAAxB;AAAA,MAAOC,IAAP;AAAA,MAAaC,OAAb;;AACA,yBAAoCF,QAAA,CAA2BL,kBAA3B,aAA2BA,kBAA3B,cAA2BA,kBAA3B,GAAiD,SAAjD,CAApC;AAAA,MAAOC,UAAP;AAAA,MAAmBO,cAAnB;;AACA,yBAAgCH,QAAA,CAAe,KAAf,CAAhC;AAAA,MAAOI,QAAP;AAAA,MAAiBC,WAAjB;;AACA,yBAAgCL,QAAA,CAAmCM,SAAnC,CAAhC;AAAA,MAAOC,QAAP;AAAA,MAAiBC,YAAjB;;AAEA,MAAMC,OAAO,GAAGT,OAAA,CACZ;AAAA,WAAO;AACHJ,MAAAA,UAAU,EAAVA,UADG;AAEHO,MAAAA,aAAa,EAAE,uBAACP,UAAD;AAAA,eAA4BO,cAAa,CAACP,UAAD,CAAzC;AAAA,OAFZ;AAGHQ,MAAAA,QAAQ,EAARA,QAHG;AAIHM,MAAAA,mBAAmB,EAAE;AAAA,eAAML,WAAW,CAAC,IAAD,CAAjB;AAAA,OAJlB;AAKHE,MAAAA,QAAQ,EAARA,QALG;AAMHC,MAAAA,WAAW,EAAE,qBAACG,KAAD;AAAA,eAAmBH,YAAW,CAACG,KAAD,CAA9B;AAAA,OANV;AAOHC,MAAAA,KAAK,EAAE;AAAA,eAAMV,OAAO,CAAC,KAAD,CAAb;AAAA;AAPJ,KAAP;AAAA,GADY,EAUZ,CAACE,QAAD,EAAWG,QAAX,EAAqBX,UAArB,CAVY,CAAhB;AAaA,SACII,aAAA,CAACa,WAAW,CAACC,QAAb;AAAsBC,IAAAA,KAAK,EAAEN;GAA7B,EACIT,aAAA,CAACgB,IAAD,oBAAgCjB;AAAOkB,IAAAA,KAAK,EAAE;AAAOhB,IAAAA,IAAI,EAAEA;AAAMiB,IAAAA,YAAY,EAAEhB;IAA/E,EACKJ,OAAO,IAAIE,aAAA,CAACmB,OAAD,MAAA,EAAUrB,OAAV,CADhB,EAEKD,QAFL,CADJ,CADJ;AAQH;AACDJ,IAAI,CAAC0B,OAAL,GAAeA,OAAf;AACA1B,IAAI,CAAC2B,OAAL,GAAeA,OAAf;AACA3B,IAAI,CAAC4B,IAAL,GAAYA,IAAZ;AACA5B,IAAI,CAAC6B,IAAL,GAAYA,IAAZ;AACA7B,IAAI,CAAC8B,QAAL,GAAgBA,QAAhB;AACA9B,IAAI,CAAC+B,SAAL,GAAiBA,SAAjB;AACA/B,IAAI,CAACgC,MAAL,GAAcA,MAAd;AACAhC,IAAI,CAACiC,UAAL,GAAkBA,UAAlB;;;;"}
1
+ {"version":3,"file":"Menu.js","sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { MenuContext } from './Context';\nimport { Content } from './components/Content';\nimport { Item } from './components/Item';\nimport { Link } from './components/Link';\nimport { Trigger } from './components/Trigger';\nimport { Checkbox } from './components/Checkbox';\nimport { RadioGroup } from './components/RadioGroup';\nimport { Separator } from './components/Separator';\nimport { Header } from './components/Header';\n\nexport type MenuProps = {\n children: React.ReactNode;\n id?: string;\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\n trigger?: JSX.Element;\n};\n\nexport const Menu = (externalProps: MenuProps): JSX.Element => {\n const { children, trigger, ...props } = externalProps;\n const [open, setOpen] = React.useState(false);\n const [indented, setIndented] = React.useState(false);\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\n\n const context = React.useMemo(\n () => ({\n indented,\n registerIndentation: () => setIndented(true),\n minWidth,\n setMinWidth: (width: number) => setMinWidth(width),\n close: () => setOpen(false),\n }),\n [indented, minWidth]\n );\n\n return (\n <MenuContext.Provider value={context}>\n <DropdownMenuPrimitive.Root {...props} modal={false} open={open} onOpenChange={setOpen}>\n {trigger && <Trigger>{trigger}</Trigger>}\n {children}\n </DropdownMenuPrimitive.Root>\n </MenuContext.Provider>\n );\n};\nMenu.Trigger = Trigger;\nMenu.Content = Content;\nMenu.Item = Item;\nMenu.Link = Link;\nMenu.Checkbox = Checkbox;\nMenu.Separator = Separator;\nMenu.Header = Header;\nMenu.RadioGroup = RadioGroup;\n"],"names":["Menu","externalProps","children","trigger","props","React","open","setOpen","indented","setIndented","undefined","minWidth","setMinWidth","context","registerIndentation","width","close","MenuContext","Provider","value","DropdownMenuPrimitive","modal","onOpenChange","Trigger","Content","Item","Link","Checkbox","Separator","Header","RadioGroup"],"mappings":";;;;;;;;;;;;;;IAmBaA,IAAI,GAAG,SAAPA,IAAO,CAACC,aAAD;AAChB,MAAQC,QAAR,GAAwCD,aAAxC,CAAQC,QAAR;AAAA,MAAkBC,OAAlB,GAAwCF,aAAxC,CAAkBE,OAAlB;AAAA,MAA8BC,KAA9B,iCAAwCH,aAAxC;;AACA,wBAAwBI,QAAA,CAAe,KAAf,CAAxB;AAAA,MAAOC,IAAP;AAAA,MAAaC,OAAb;;AACA,yBAAgCF,QAAA,CAAe,KAAf,CAAhC;AAAA,MAAOG,QAAP;AAAA,MAAiBC,WAAjB;;AACA,yBAAgCJ,QAAA,CAAmCK,SAAnC,CAAhC;AAAA,MAAOC,QAAP;AAAA,MAAiBC,YAAjB;;AAEA,MAAMC,OAAO,GAAGR,OAAA,CACZ;AAAA,WAAO;AACHG,MAAAA,QAAQ,EAARA,QADG;AAEHM,MAAAA,mBAAmB,EAAE;AAAA,eAAML,WAAW,CAAC,IAAD,CAAjB;AAAA,OAFlB;AAGHE,MAAAA,QAAQ,EAARA,QAHG;AAIHC,MAAAA,WAAW,EAAE,qBAACG,KAAD;AAAA,eAAmBH,YAAW,CAACG,KAAD,CAA9B;AAAA,OAJV;AAKHC,MAAAA,KAAK,EAAE;AAAA,eAAMT,OAAO,CAAC,KAAD,CAAb;AAAA;AALJ,KAAP;AAAA,GADY,EAQZ,CAACC,QAAD,EAAWG,QAAX,CARY,CAAhB;AAWA,SACIN,aAAA,CAACY,WAAW,CAACC,QAAb;AAAsBC,IAAAA,KAAK,EAAEN;GAA7B,EACIR,aAAA,CAACe,IAAD,oBAAgChB;AAAOiB,IAAAA,KAAK,EAAE;AAAOf,IAAAA,IAAI,EAAEA;AAAMgB,IAAAA,YAAY,EAAEf;IAA/E,EACKJ,OAAO,IAAIE,aAAA,CAACkB,OAAD,MAAA,EAAUpB,OAAV,CADhB,EAEKD,QAFL,CADJ,CADJ;AAQH;AACDF,IAAI,CAACuB,OAAL,GAAeA,OAAf;AACAvB,IAAI,CAACwB,OAAL,GAAeA,OAAf;AACAxB,IAAI,CAACyB,IAAL,GAAYA,IAAZ;AACAzB,IAAI,CAAC0B,IAAL,GAAYA,IAAZ;AACA1B,IAAI,CAAC2B,QAAL,GAAgBA,QAAhB;AACA3B,IAAI,CAAC4B,SAAL,GAAiBA,SAAjB;AACA5B,IAAI,CAAC6B,MAAL,GAAcA,MAAd;AACA7B,IAAI,CAAC8B,UAAL,GAAkBA,UAAlB;;;;"}
@@ -1,16 +1,17 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { createElement } from 'react';
2
3
  import { Icon } from '../../Icon/Icon.js';
3
4
  import { CheckboxItem, ItemIndicator } from '@radix-ui/react-dropdown-menu';
4
5
  import { useItemStyling } from './Item.js';
5
6
 
6
- const Checkbox = props => {
7
- const {
8
- checked,
9
- children,
10
- onChange,
11
- ...otherProps
12
- } = props;
13
- const className = useItemStyling({
7
+ var _excluded = ["checked", "children", "onChange"];
8
+ var Checkbox = function Checkbox(props) {
9
+ var checked = props.checked,
10
+ children = props.children,
11
+ onChange = props.onChange,
12
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
13
+
14
+ var className = useItemStyling({
14
15
  disabled: props.disabled,
15
16
  indented: true,
16
17
  className: props.className
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { Icon } from '../../Icon/Icon';\r\nimport { useItemStyling } from './Item';\r\n\r\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\r\n /* Whether the checkbox item is disabled */\r\n disabled?: boolean;\r\n /* The current checked state (controlled) */\r\n checked: boolean;\r\n /* Handler called when the checked state changes */\r\n onChange: (checked: boolean | 'indeterminate') => void;\r\n};\r\n\r\nexport const Checkbox = (props: MenuCheckboxItemProps) => {\r\n const { checked, children, onChange, ...otherProps } = props;\r\n const className = useItemStyling({\r\n disabled: props.disabled,\r\n indented: true,\r\n className: props.className,\r\n });\r\n\r\n return (\r\n <DropdownMenuPrimitive.CheckboxItem {...otherProps} className={className} checked={checked} onCheckedChange={onChange}>\r\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\r\n <Icon name=\"tick\" className=\"!h-4 !w-4 -ml-px\" />\r\n </DropdownMenuPrimitive.ItemIndicator>\r\n {children}\r\n </DropdownMenuPrimitive.CheckboxItem>\r\n );\r\n};\r\n"],"names":["Checkbox","props","checked","children","onChange","otherProps","className","useItemStyling","disabled","indented","React","DropdownMenuPrimitive","onCheckedChange","Icon","name"],"mappings":";;;;;MAcaA,QAAQ,GAAIC,KAAD;AACpB,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,QAAX;AAAqBC,IAAAA,QAArB;AAA+B,OAAGC;AAAlC,MAAiDJ,KAAvD;AACA,QAAMK,SAAS,GAAGC,cAAc,CAAC;AAC7BC,IAAAA,QAAQ,EAAEP,KAAK,CAACO,QADa;AAE7BC,IAAAA,QAAQ,EAAE,IAFmB;AAG7BH,IAAAA,SAAS,EAAEL,KAAK,CAACK;AAHY,GAAD,CAAhC;AAMA,SACII,aAAA,CAACC,YAAD,oBAAwCN;AAAYC,IAAAA,SAAS,EAAEA;AAAWJ,IAAAA,OAAO,EAAEA;AAASU,IAAAA,eAAe,EAAER;IAA7G,EACIM,aAAA,CAACC,aAAD;AAAqCL,IAAAA,SAAS,EAAC;GAA/C,EACII,aAAA,CAACG,IAAD;AAAMC,IAAAA,IAAI,EAAC;AAAOR,IAAAA,SAAS,EAAC;GAA5B,CADJ,CADJ,EAIKH,QAJL,CADJ;AAQH;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Icon } from '../../Icon/Icon';\nimport { useItemStyling } from './Item';\n\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n /* Whether the checkbox item is disabled */\n disabled?: boolean;\n /* The current checked state (controlled) */\n checked: boolean;\n /* Handler called when the checked state changes */\n onChange: (checked: boolean | 'indeterminate') => void;\n};\n\nexport const Checkbox = (props: MenuCheckboxItemProps) => {\n const { checked, children, onChange, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <DropdownMenuPrimitive.CheckboxItem {...otherProps} className={className} checked={checked} onCheckedChange={onChange}>\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\n <Icon name=\"tick\" className=\"!h-4 !w-4 -ml-px\" />\n </DropdownMenuPrimitive.ItemIndicator>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n};\n"],"names":["Checkbox","props","checked","children","onChange","otherProps","className","useItemStyling","disabled","indented","React","DropdownMenuPrimitive","onCheckedChange","Icon","name"],"mappings":";;;;;;;IAcaA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD;AACpB,MAAQC,OAAR,GAAuDD,KAAvD,CAAQC,OAAR;AAAA,MAAiBC,QAAjB,GAAuDF,KAAvD,CAAiBE,QAAjB;AAAA,MAA2BC,QAA3B,GAAuDH,KAAvD,CAA2BG,QAA3B;AAAA,MAAwCC,UAAxC,iCAAuDJ,KAAvD;;AACA,MAAMK,SAAS,GAAGC,cAAc,CAAC;AAC7BC,IAAAA,QAAQ,EAAEP,KAAK,CAACO,QADa;AAE7BC,IAAAA,QAAQ,EAAE,IAFmB;AAG7BH,IAAAA,SAAS,EAAEL,KAAK,CAACK;AAHY,GAAD,CAAhC;AAMA,SACII,aAAA,CAACC,YAAD,oBAAwCN;AAAYC,IAAAA,SAAS,EAAEA;AAAWJ,IAAAA,OAAO,EAAEA;AAASU,IAAAA,eAAe,EAAER;IAA7G,EACIM,aAAA,CAACC,aAAD;AAAqCL,IAAAA,SAAS,EAAC;GAA/C,EACII,aAAA,CAACG,IAAD;AAAMC,IAAAA,IAAI,EAAC;AAAOR,IAAAA,SAAS,EAAC;GAA5B,CADJ,CADJ,EAIKH,QAJL,CADJ;AAQH;;;;"}
@@ -1,38 +1,20 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { forwardRef, createElement } from 'react';
2
3
  import cn from 'classnames';
3
4
  import { useProxiedRef } from '../../../utils/hooks/useProxiedRef.js';
4
5
  import { useCurrentMenu } from '../Context.js';
5
6
  import { Content as Content$1 } from '@radix-ui/react-dropdown-menu';
6
7
 
7
- const getAppearanceClasses = appearance => {
8
- switch (appearance) {
9
- case 'primary':
10
- return 'wcag-blue border-blue';
8
+ var _excluded = ["children", "placement"];
9
+ var Content = /*#__PURE__*/forwardRef(function MenuContent(props, ref) {
10
+ var internalRef = useProxiedRef(ref);
11
+ var menu = useCurrentMenu();
11
12
 
12
- case 'danger':
13
- return 'wcag-red border-red';
13
+ var children = props.children,
14
+ side = props.placement,
15
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
14
16
 
15
- case 'ghost':
16
- return 'bg-white text-blue border-blue yt-shadow-blue';
17
-
18
- case 'discrete':
19
- return 'wcag-white border-grey yt-shadow';
20
-
21
- case 'default':
22
- default:
23
- return 'wcag-grey-light border-grey';
24
- }
25
- };
26
-
27
- const Content = /*#__PURE__*/forwardRef(function MenuContent(props, ref) {
28
- const internalRef = useProxiedRef(ref);
29
- const menu = useCurrentMenu();
30
- const {
31
- children,
32
- placement: side,
33
- ...otherProps
34
- } = props;
35
- const className = cn('border rounded block outline-none p-1', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance), props.className);
17
+ var className = cn('border rounded block outline-none p-1 wcag-white border-grey yt-shadow', props.className);
36
18
  return createElement(Content$1, Object.assign({}, otherProps, {
37
19
  align: "start",
38
20
  className: className,
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sources":["../../../../../src/components/Menu/components/Content.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport cn from 'classnames';\r\nimport { Appearance, Placement } from '../../../types';\r\nimport { useProxiedRef } from '../../../utils/hooks/useProxiedRef';\r\nimport { useCurrentMenu } from '../Context';\r\n\r\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\r\n switch (appearance) {\r\n case 'primary':\r\n return 'wcag-blue border-blue';\r\n\r\n case 'danger':\r\n return 'wcag-red border-red';\r\n\r\n case 'ghost':\r\n return 'bg-white text-blue border-blue yt-shadow-blue';\r\n\r\n case 'discrete':\r\n return 'wcag-white border-grey yt-shadow';\r\n\r\n case 'default':\r\n default:\r\n return 'wcag-grey-light border-grey';\r\n }\r\n};\r\n\r\nexport type MenuContentProps = Omit<DropdownMenuPrimitive.DropdownMenuContentProps, 'children' | 'side'> & {\r\n children: React.ReactNode;\r\n /** Set the position of the Menu relative to its trigger. Default value is `bottom` */\r\n placement?: Placement;\r\n};\r\n\r\nexport const Content = React.forwardRef(function MenuContent(props: MenuContentProps, ref: React.Ref<HTMLDivElement>) {\r\n const internalRef = useProxiedRef<any>(ref);\r\n const menu = useCurrentMenu();\r\n const { children, placement: side, ...otherProps } = props;\r\n const className = cn('border rounded block outline-none p-1', getAppearanceClasses(menu?.appearance), props.className);\r\n\r\n return (\r\n <DropdownMenuPrimitive.Content\r\n {...otherProps}\r\n align=\"start\"\r\n className={className}\r\n data-taco=\"menu\"\r\n side={side}\r\n sideOffset={2}\r\n style={{ minWidth: menu?.minWidth }}\r\n ref={internalRef}\r\n >\r\n {children}\r\n </DropdownMenuPrimitive.Content>\r\n );\r\n});\r\n"],"names":["getAppearanceClasses","appearance","Content","React","MenuContent","props","ref","internalRef","useProxiedRef","menu","useCurrentMenu","children","placement","side","otherProps","className","cn","DropdownMenuPrimitive","align","sideOffset","style","minWidth"],"mappings":";;;;;;AAOA,MAAMA,oBAAoB,GAAIC,UAAD;AACzB,UAAQA,UAAR;AACI,SAAK,SAAL;AACI,aAAO,uBAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,qBAAP;;AAEJ,SAAK,OAAL;AACI,aAAO,+CAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,kCAAP;;AAEJ,SAAK,SAAL;AACA;AACI,aAAO,6BAAP;AAfR;AAiBH,CAlBD;;MA0BaC,OAAO,gBAAGC,UAAA,CAAiB,SAASC,WAAT,CAAqBC,KAArB,EAA8CC,GAA9C;AACpC,QAAMC,WAAW,GAAGC,aAAa,CAAMF,GAAN,CAAjC;AACA,QAAMG,IAAI,GAAGC,cAAc,EAA3B;AACA,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,SAAS,EAAEC,IAAvB;AAA6B,OAAGC;AAAhC,MAA+CT,KAArD;AACA,QAAMU,SAAS,GAAGC,EAAE,CAAC,uCAAD,EAA0ChB,oBAAoB,CAACS,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAER,UAAP,CAA9D,EAAkFI,KAAK,CAACU,SAAxF,CAApB;AAEA,SACIZ,aAAA,CAACc,SAAD,oBACQH;AACJI,IAAAA,KAAK,EAAC;AACNH,IAAAA,SAAS,EAAEA;iBACD;AACVF,IAAAA,IAAI,EAAEA;AACNM,IAAAA,UAAU,EAAE;AACZC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,QAAQ,EAAEZ,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEY;AAAlB;AACPf,IAAAA,GAAG,EAAEC;IART,EAUKI,QAVL,CADJ;AAcH,CApBsB;;;;"}
1
+ {"version":3,"file":"Content.js","sources":["../../../../../src/components/Menu/components/Content.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { Placement } from '../../../types';\nimport { useProxiedRef } from '../../../utils/hooks/useProxiedRef';\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuContentProps = Omit<DropdownMenuPrimitive.DropdownMenuContentProps, 'children' | 'side'> & {\n children: React.ReactNode;\n /** Set the position of the Menu relative to its trigger. Default value is `bottom` */\n placement?: Placement;\n};\n\nexport const Content = React.forwardRef(function MenuContent(props: MenuContentProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useProxiedRef<any>(ref);\n const menu = useCurrentMenu();\n const { children, placement: side, ...otherProps } = props;\n const className = cn('border rounded block outline-none p-1 wcag-white border-grey yt-shadow', props.className);\n\n return (\n <DropdownMenuPrimitive.Content\n {...otherProps}\n align=\"start\"\n className={className}\n data-taco=\"menu\"\n side={side}\n sideOffset={2}\n style={{ minWidth: menu?.minWidth }}\n ref={internalRef}\n >\n {children}\n </DropdownMenuPrimitive.Content>\n );\n});\n"],"names":["Content","React","MenuContent","props","ref","internalRef","useProxiedRef","menu","useCurrentMenu","children","side","placement","otherProps","className","cn","DropdownMenuPrimitive","align","sideOffset","style","minWidth"],"mappings":";;;;;;;;IAaaA,OAAO,gBAAGC,UAAA,CAAiB,SAASC,WAAT,CAAqBC,KAArB,EAA8CC,GAA9C;AACpC,MAAMC,WAAW,GAAGC,aAAa,CAAMF,GAAN,CAAjC;AACA,MAAMG,IAAI,GAAGC,cAAc,EAA3B;;AACA,MAAQC,QAAR,GAAqDN,KAArD,CAAQM,QAAR;AAAA,MAA6BC,IAA7B,GAAqDP,KAArD,CAAkBQ,SAAlB;AAAA,MAAsCC,UAAtC,iCAAqDT,KAArD;;AACA,MAAMU,SAAS,GAAGC,EAAE,CAAC,wEAAD,EAA2EX,KAAK,CAACU,SAAjF,CAApB;AAEA,SACIZ,aAAA,CAACc,SAAD,oBACQH;AACJI,IAAAA,KAAK,EAAC;AACNH,IAAAA,SAAS,EAAEA;iBACD;AACVH,IAAAA,IAAI,EAAEA;AACNO,IAAAA,UAAU,EAAE;AACZC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,QAAQ,EAAEZ,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEY;AAAlB;AACPf,IAAAA,GAAG,EAAEC;IART,EAUKI,QAVL,CADJ;AAcH,CApBsB;;;;"}
@@ -3,29 +3,9 @@ import cn from 'classnames';
3
3
  import { useCurrentMenu } from '../Context.js';
4
4
  import { Label } from '@radix-ui/react-dropdown-menu';
5
5
 
6
- const getAppearanceClasses = appearance => {
7
- switch (appearance) {
8
- case 'primary':
9
- return 'text-blue-lighest';
10
-
11
- case 'danger':
12
- return 'text-red-lightest';
13
-
14
- case 'ghost':
15
- return 'text-blue-light';
16
-
17
- case 'discrete':
18
- return 'text-grey-darkest';
19
-
20
- case 'default':
21
- default:
22
- return 'text-grey-darkest';
23
- }
24
- };
25
-
26
- const Header = props => {
27
- const menu = useCurrentMenu();
28
- const className = cn('flex items-center justify-start h-6 pr-1.5 text-xs', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance), {
6
+ var Header = function Header(props) {
7
+ var menu = useCurrentMenu();
8
+ var className = cn('flex items-center justify-start h-7 pr-1.5 text-xs text-grey-darkest', {
29
9
  'pl-7': menu === null || menu === void 0 ? void 0 : menu.indented,
30
10
  'pl-1.5': !(menu !== null && menu !== void 0 && menu.indented)
31
11
  }, props.className);
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../../src/components/Menu/components/Header.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 'text-blue-lighest';\r\n\r\n case 'danger':\r\n return 'text-red-lightest';\r\n\r\n case 'ghost':\r\n return 'text-blue-light';\r\n\r\n case 'discrete':\r\n return 'text-grey-darkest';\r\n\r\n case 'default':\r\n default:\r\n return 'text-grey-darkest';\r\n }\r\n};\r\n\r\nexport type MenuHeaderProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const Header = (props: MenuHeaderProps) => {\r\n const menu = useCurrentMenu();\r\n const className = cn(\r\n 'flex items-center justify-start h-6 pr-1.5 text-xs',\r\n getAppearanceClasses(menu?.appearance),\r\n {\r\n 'pl-7': menu?.indented,\r\n 'pl-1.5': !menu?.indented,\r\n },\r\n props.className\r\n );\r\n\r\n return <DropdownMenuPrimitive.Label {...props} className={className} />;\r\n};\r\n"],"names":["getAppearanceClasses","appearance","Header","props","menu","useCurrentMenu","className","cn","indented","React","DropdownMenuPrimitive"],"mappings":";;;;;AAMA,MAAMA,oBAAoB,GAAIC,UAAD;AACzB,UAAQA,UAAR;AACI,SAAK,SAAL;AACI,aAAO,mBAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,mBAAP;;AAEJ,SAAK,OAAL;AACI,aAAO,iBAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,mBAAP;;AAEJ,SAAK,SAAL;AACA;AACI,aAAO,mBAAP;AAfR;AAiBH,CAlBD;;MAsBaC,MAAM,GAAIC,KAAD;AAClB,QAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,QAAMC,SAAS,GAAGC,EAAE,CAChB,oDADgB,EAEhBP,oBAAoB,CAACI,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEH,UAAP,CAFJ,EAGhB;AACI,YAAQG,IAAR,aAAQA,IAAR,uBAAQA,IAAI,CAAEI,QADlB;AAEI,cAAU,EAACJ,IAAD,aAACA,IAAD,eAACA,IAAI,CAAEI,QAAP;AAFd,GAHgB,EAOhBL,KAAK,CAACG,SAPU,CAApB;AAUA,SAAOG,aAAA,CAACC,KAAD,oBAAiCP;AAAOG,IAAAA,SAAS,EAAEA;IAAnD,CAAP;AACH;;;;"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../../src/components/Menu/components/Header.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Header = (props: MenuHeaderProps) => {\n const menu = useCurrentMenu();\n const className = cn(\n 'flex items-center justify-start h-7 pr-1.5 text-xs text-grey-darkest',\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n },\n props.className\n );\n\n return <DropdownMenuPrimitive.Label {...props} className={className} />;\n};\n"],"names":["Header","props","menu","useCurrentMenu","className","cn","indented","React","DropdownMenuPrimitive"],"mappings":";;;;;IAOaA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAClB,MAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,MAAMC,SAAS,GAAGC,EAAE,CAChB,sEADgB,EAEhB;AACI,YAAQH,IAAR,aAAQA,IAAR,uBAAQA,IAAI,CAAEI,QADlB;AAEI,cAAU,EAACJ,IAAD,aAACA,IAAD,eAACA,IAAI,CAAEI,QAAP;AAFd,GAFgB,EAMhBL,KAAK,CAACG,SANU,CAApB;AASA,SAAOG,aAAA,CAACC,KAAD,oBAAiCP;AAAOG,IAAAA,SAAS,EAAEA;IAAnD,CAAP;AACH;;;;"}
@@ -1,114 +1,67 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { forwardRef, createElement, useEffect } from 'react';
2
3
  import cn from 'classnames';
3
4
  import { Icon as Icon$1 } from '../../Icon/Icon.js';
4
5
  import { useCurrentMenu } from '../Context.js';
5
6
  import { Item as Item$1 } from '@radix-ui/react-dropdown-menu';
6
7
 
7
- const Icon = ({
8
- name
9
- }) => createElement("span", {
10
- className: "absolute left-0 ml-1"
11
- }, createElement(Icon$1, {
12
- className: "-ml-px -mt-px !h-5 !w-5",
13
- name: name
14
- }));
15
-
16
- const getAppearanceClasses = appearance => {
17
- switch (appearance) {
18
- case 'primary':
19
- return 'wcag-blue aria-disabled:text-blue-dark hover:wcag-blue-light focus:wcag-blue-light';
20
-
21
- case 'danger':
22
- return 'wcag-red aria-disabled:text-red-dark hover:wcag-red-light focus:wcag-red-light';
23
-
24
- case 'ghost':
25
- return 'text-blue aria-disabled:text-grey hover:wcag-blue focus:wcag-blue';
26
-
27
- case 'discrete':
28
- return 'text-black aria-disabled:text-grey hover:wcag-blue-lightest focus:wcag-blue-lightest';
29
-
30
- case 'default':
31
- default:
32
- return 'wcag-grey-light aria-disabled:text-grey-darker hover:wcag-grey-dark focus:wcag-grey-dark';
33
- }
8
+ var _excluded = ["dialog", "icon", "onClick", "shortcut"];
9
+ var Icon = function Icon(_ref) {
10
+ var name = _ref.name;
11
+ return createElement("span", {
12
+ className: "absolute left-0 ml-1"
13
+ }, createElement(Icon$1, {
14
+ className: "-ml-px -mt-px !h-5 !w-5",
15
+ name: name
16
+ }));
34
17
  };
35
-
36
- const useItemStyling = ({
37
- disabled,
38
- indented,
39
- className
40
- }) => {
41
- const menu = useCurrentMenu();
42
- useEffect(() => {
18
+ var useItemStyling = function useItemStyling(_ref2) {
19
+ var disabled = _ref2.disabled,
20
+ indented = _ref2.indented,
21
+ className = _ref2.className;
22
+ var menu = useCurrentMenu();
23
+ useEffect(function () {
43
24
  if (indented && !(menu !== null && menu !== void 0 && menu.indented)) {
44
25
  menu === null || menu === void 0 ? void 0 : menu.registerIndentation();
45
26
  }
46
27
  }, [indented]);
47
- return cn('flex items-center justify-start h-7 pr-1.5 relative rounded w-full focus:outline-none group', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance), {
28
+ return cn('flex items-center justify-start h-8 pr-1.5 relative rounded w-full focus:outline-none group', 'text-black aria-disabled:text-grey hover:bg-grey-light hover:text-black', {
48
29
  'pl-7': menu === null || menu === void 0 ? void 0 : menu.indented,
49
30
  'pl-1.5': !(menu !== null && menu !== void 0 && menu.indented),
50
31
  'cursor-pointer': !disabled,
51
32
  'cursor-not-allowed': disabled
52
33
  }, className);
53
34
  };
54
- const Shortcut = props => {
55
- const menu = useCurrentMenu();
56
- let appearance;
57
-
58
- switch (menu === null || menu === void 0 ? void 0 : menu.appearance) {
59
- case 'primary':
60
- appearance = 'text-blue-lightest group-focus:text-black';
61
- break;
62
-
63
- case 'danger':
64
- appearance = 'text-red-lightest group-focus:text-white';
65
- break;
66
-
67
- case 'ghost':
68
- appearance = 'text-blue-light group-focus:text-blue-lightest';
69
- break;
70
-
71
- case 'discrete':
72
- appearance = 'text-grey-darker group-focus:text-blue-light';
73
- break;
74
-
75
- case 'default':
76
- default:
77
- appearance = 'text-grey-darkest';
78
- break;
79
- }
80
-
81
- const className = cn('ml-auto pl-3', appearance);
35
+ var Shortcut = function Shortcut(props) {
82
36
  return createElement("span", Object.assign({}, props, {
83
- className: className
37
+ className: "text-grey-darkest ml-auto pl-3"
84
38
  }));
85
39
  };
86
- const Item = /*#__PURE__*/forwardRef(function MenuItem(props, ref) {
40
+ var Item = /*#__PURE__*/forwardRef(function MenuItem(props, ref) {
87
41
  var _props$disabled;
88
42
 
89
- const {
90
- dialog,
91
- icon,
92
- onClick,
93
- shortcut,
94
- ...otherProps
95
- } = props;
96
- const className = useItemStyling({
43
+ var dialog = props.dialog,
44
+ icon = props.icon,
45
+ onClick = props.onClick,
46
+ shortcut = props.shortcut,
47
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
48
+
49
+ var className = useItemStyling({
97
50
  disabled: props.disabled,
98
51
  indented: !!icon,
99
52
  className: props.className
100
53
  });
101
- const disabled = (_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : props['aria-disabled'];
102
- let handleClick; // radix has a bug that does not disable clicks when disabled is set on items
54
+ var disabled = (_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : props['aria-disabled'];
55
+ var handleClick; // radix has a bug that does not disable clicks when disabled is set on items
103
56
 
104
57
  if (disabled) {
105
- handleClick = event => {
58
+ handleClick = function handleClick(event) {
106
59
  event.preventDefault();
107
60
  event.stopPropagation();
108
61
  };
109
62
  }
110
63
 
111
- const handleSelect = event => {
64
+ var handleSelect = function handleSelect(event) {
112
65
  if (onClick) {
113
66
  onClick(event);
114
67
  }
@@ -118,7 +71,7 @@ const Item = /*#__PURE__*/forwardRef(function MenuItem(props, ref) {
118
71
  }
119
72
  };
120
73
 
121
- let button = createElement(Item$1, Object.assign({}, otherProps, {
74
+ var button = createElement(Item$1, Object.assign({}, otherProps, {
122
75
  className: className,
123
76
  onClick: handleClick,
124
77
  onSelect: handleSelect,
@@ -1 +1 @@
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 hover:wcag-blue-light focus:wcag-blue-light';\r\n\r\n case 'danger':\r\n return 'wcag-red aria-disabled:text-red-dark hover:wcag-red-light focus:wcag-red-light';\r\n\r\n case 'ghost':\r\n return 'text-blue aria-disabled:text-grey hover:wcag-blue focus:wcag-blue';\r\n\r\n case 'discrete':\r\n return 'text-black aria-disabled:text-grey hover:wcag-blue-lightest focus:wcag-blue-lightest';\r\n\r\n case 'default':\r\n default:\r\n return 'wcag-grey-light aria-disabled:text-grey-darker hover:wcag-grey-dark 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
+ {"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 { 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\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-8 pr-1.5 relative rounded w-full focus:outline-none group',\n 'text-black aria-disabled:text-grey hover:bg-grey-light hover:text-black',\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 return <span {...props} className=\"text-grey-darkest ml-auto pl-3\" />;\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","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,24 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import { forwardRef, createElement } from 'react';
2
3
  import { useCurrentMenu } from '../Context.js';
3
4
  import { Item } from '@radix-ui/react-dropdown-menu';
4
5
  import { useItemStyling, Icon } from './Item.js';
5
6
 
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({
7
+ var _excluded = ["href", "icon", "onClick"];
8
+ var Link = /*#__PURE__*/forwardRef(function MenuLink(props, ref) {
9
+ var href = props.href,
10
+ icon = props.icon,
11
+ onClick = props.onClick,
12
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
13
+
14
+ var menu = useCurrentMenu();
15
+ var className = useItemStyling({
15
16
  disabled: props.disabled,
16
17
  indented: !!icon,
17
18
  className: props.className
18
19
  });
19
20
 
20
- const handleClick = event => {
21
+ var handleClick = function handleClick(event) {
21
22
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
22
23
  menu === null || menu === void 0 ? void 0 : menu.close();
23
24
  };
@@ -1 +1 @@
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
+ {"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';\nimport { useCurrentMenu } from '../Context';\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, onClick, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = event => {\n onClick?.(event);\n menu?.close();\n };\n\n return (\n <DropdownMenuPrimitive.Item {...otherProps} asChild className={className} ref={ref} onClick={handleClick}>\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","onClick","otherProps","menu","useCurrentMenu","className","useItemStyling","disabled","indented","handleClick","event","close","DropdownMenuPrimitive","asChild","target","Icon","name","children"],"mappings":";;;;;;;IAaaA,IAAI,gBAAGC,UAAA,CAAiB,SAASC,QAAT,CAAkBC,KAAlB,EAA4CC,GAA5C;AACjC,MAAQC,IAAR,GAA+CF,KAA/C,CAAQE,IAAR;AAAA,MAAcC,IAAd,GAA+CH,KAA/C,CAAcG,IAAd;AAAA,MAAoBC,OAApB,GAA+CJ,KAA/C,CAAoBI,OAApB;AAAA,MAAgCC,UAAhC,iCAA+CL,KAA/C;;AACA,MAAMM,IAAI,GAAGC,cAAc,EAA3B;AAEA,MAAMC,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,MAAMI,WAAW,GAA4C,SAAvDA,WAAuD,CAAAC,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;;;;"}