@economic/taco 0.0.27-alpha.0 → 0.0.28-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 (406) hide show
  1. package/README.md +84 -84
  2. package/dist/components/Menu/Menu.d.ts +3 -0
  3. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -19
  4. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  5. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  6. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  7. package/dist/esm/components/Badge/Badge.js +14 -14
  8. package/dist/esm/components/Badge/Badge.js.map +1 -1
  9. package/dist/esm/components/Banner/Banner.js +7 -5
  10. package/dist/esm/components/Banner/Banner.js.map +1 -1
  11. package/dist/esm/components/Banner/util.js +1 -1
  12. package/dist/esm/components/Banner/util.js.map +1 -1
  13. package/dist/esm/components/Button/Button.js +12 -14
  14. package/dist/esm/components/Button/Button.js.map +1 -1
  15. package/dist/esm/components/Button/util.js +21 -25
  16. package/dist/esm/components/Button/util.js.map +1 -1
  17. package/dist/esm/components/Calendar/Calendar.js +56 -71
  18. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  19. package/dist/esm/components/Checkbox/Checkbox.js +15 -18
  20. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  21. package/dist/esm/components/Combobox/Combobox.js +32 -29
  22. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  23. package/dist/esm/components/Combobox/useCombobox.js +67 -87
  24. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  25. package/dist/esm/components/Datepicker/Datepicker.js +48 -52
  26. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  27. package/dist/esm/components/Datepicker/useDatepicker.js +27 -34
  28. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  29. package/dist/esm/components/Dialog/Context.js +4 -4
  30. package/dist/esm/components/Dialog/Context.js.map +1 -1
  31. package/dist/esm/components/Dialog/Dialog.js +39 -58
  32. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  33. package/dist/esm/components/Dialog/components/Content.js +39 -44
  34. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  35. package/dist/esm/components/Dialog/components/Drawer.js +3 -3
  36. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  37. package/dist/esm/components/Dialog/components/Extra.js +2 -2
  38. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  39. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  40. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  41. package/dist/esm/components/Field/Field.js +10 -11
  42. package/dist/esm/components/Field/Field.js.map +1 -1
  43. package/dist/esm/components/Form/Form.js +6 -8
  44. package/dist/esm/components/Form/Form.js.map +1 -1
  45. package/dist/esm/components/Group/Group.js +6 -8
  46. package/dist/esm/components/Group/Group.js.map +1 -1
  47. package/dist/esm/components/Hanger/Hanger.js +32 -29
  48. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  49. package/dist/esm/components/Icon/Icon.js +7 -8
  50. package/dist/esm/components/Icon/Icon.js.map +1 -1
  51. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  52. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  53. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  54. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  55. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  56. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  57. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  58. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  59. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  60. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  61. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  62. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  63. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  64. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  65. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  66. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  67. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  68. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  69. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  70. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  71. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  72. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  73. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  74. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  75. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  76. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  77. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  78. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  79. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  80. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  81. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  82. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  83. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  84. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  85. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  86. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  87. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  88. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  89. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  90. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  91. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  92. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  93. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  94. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  95. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  96. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  97. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  98. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  100. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  101. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  102. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  103. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  104. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  105. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  106. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  107. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  108. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  109. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  110. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  111. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  112. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  113. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  114. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  115. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  116. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  117. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  118. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  119. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  120. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  121. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  122. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  123. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  124. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  125. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  126. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  127. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  128. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  129. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  130. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  131. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  132. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  133. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  134. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  135. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  136. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  137. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  138. package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -1
  139. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  140. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  141. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  142. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  143. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  144. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  145. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  146. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  147. package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -1
  148. package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -1
  149. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  150. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  151. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  152. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  153. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  154. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  155. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  156. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  157. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  158. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  159. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  160. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  161. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  162. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  163. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  164. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  165. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  166. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  167. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  168. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  169. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  170. package/dist/esm/components/Icon/components/List.js.map +1 -1
  171. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  172. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  173. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  174. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  175. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  176. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  177. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  178. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  179. package/dist/esm/components/Icon/components/Minus.js.map +1 -1
  180. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  181. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  182. package/dist/esm/components/Icon/components/More.js.map +1 -1
  183. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  184. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  185. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  186. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  187. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  188. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  189. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  190. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  191. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  192. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  193. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  194. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  195. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  196. package/dist/esm/components/Icon/components/PlusCircle.js.map +1 -1
  197. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  198. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  199. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  200. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  201. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  202. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  203. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  204. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  205. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  206. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  207. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  208. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  209. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  210. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  211. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  212. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  213. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  214. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  215. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  216. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  217. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  218. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  219. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  220. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  221. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  222. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  223. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  224. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  225. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  226. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  227. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  228. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  229. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  230. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  231. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  232. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  233. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  234. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  235. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  236. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  237. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  238. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  239. package/dist/esm/components/Icon/components/ThumbUp.js.map +1 -1
  240. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  241. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  242. package/dist/esm/components/Icon/components/TickCircle.js.map +1 -1
  243. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  244. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  245. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  246. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  247. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  248. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  249. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  250. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  251. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  252. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  253. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  254. package/dist/esm/components/Icon/components/index.js +4 -4
  255. package/dist/esm/components/Icon/components/index.js.map +1 -1
  256. package/dist/esm/components/IconButton/IconButton.js +9 -12
  257. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  258. package/dist/esm/components/Input/Input.js +26 -24
  259. package/dist/esm/components/Input/Input.js.map +1 -1
  260. package/dist/esm/components/Input/util.js +9 -8
  261. package/dist/esm/components/Input/util.js.map +1 -1
  262. package/dist/esm/components/Listbox/Listbox.js +24 -25
  263. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  264. package/dist/esm/components/Listbox/ScrollableList.js +74 -82
  265. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  266. package/dist/esm/components/Listbox/useListbox.js +49 -58
  267. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  268. package/dist/esm/components/Listbox/useMultiListbox.js +63 -91
  269. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  270. package/dist/esm/components/Listbox/useTypeahead.js +10 -9
  271. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  272. package/dist/esm/components/Listbox/util.js +48 -84
  273. package/dist/esm/components/Listbox/util.js.map +1 -1
  274. package/dist/esm/components/Menu/Context.js +2 -2
  275. package/dist/esm/components/Menu/Context.js.map +1 -1
  276. package/dist/esm/components/Menu/Menu.js +20 -42
  277. package/dist/esm/components/Menu/Menu.js.map +1 -1
  278. package/dist/esm/components/Menu/components/Checkbox.js +8 -9
  279. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  280. package/dist/esm/components/Menu/components/Content.js +10 -13
  281. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  282. package/dist/esm/components/Menu/components/Header.js +4 -4
  283. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  284. package/dist/esm/components/Menu/components/Item.js +34 -35
  285. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  286. package/dist/esm/components/Menu/components/Link.js +10 -11
  287. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  288. package/dist/esm/components/Menu/components/RadioGroup.js +16 -18
  289. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  290. package/dist/esm/components/Menu/components/Separator.js +4 -4
  291. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  292. package/dist/esm/components/Menu/components/Trigger.js +5 -5
  293. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  294. package/dist/esm/components/Navigation/Navigation.js +35 -44
  295. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  296. package/dist/esm/components/Pagination/PageNumbers.js +23 -28
  297. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  298. package/dist/esm/components/Pagination/Pagination.js +39 -56
  299. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  300. package/dist/esm/components/Pagination/usePagination.js +7 -21
  301. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  302. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  303. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  304. package/dist/esm/components/Popover/Popover.js +29 -34
  305. package/dist/esm/components/Popover/Popover.js.map +1 -1
  306. package/dist/esm/components/Popover/Primitives.js +7 -8
  307. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  308. package/dist/esm/components/Progress/Progress.js +11 -15
  309. package/dist/esm/components/Progress/Progress.js.map +1 -1
  310. package/dist/esm/components/Provider/Provider.js +13 -18
  311. package/dist/esm/components/Provider/Provider.js.map +1 -1
  312. package/dist/esm/components/RadioGroup/RadioGroup.js +45 -57
  313. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  314. package/dist/esm/components/SearchInput/SearchInput.js +11 -12
  315. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  316. package/dist/esm/components/Select/Select.js +30 -31
  317. package/dist/esm/components/Select/Select.js.map +1 -1
  318. package/dist/esm/components/Select/useSelect.js +63 -82
  319. package/dist/esm/components/Select/useSelect.js.map +1 -1
  320. package/dist/esm/components/Spinner/Spinner.js +12 -19
  321. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  322. package/dist/esm/components/Switch/Switch.js +9 -10
  323. package/dist/esm/components/Switch/Switch.js.map +1 -1
  324. package/dist/esm/components/Table/components/BaseTable.js +23 -30
  325. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  326. package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
  327. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  328. package/dist/esm/components/Table/components/Table.js +18 -25
  329. package/dist/esm/components/Table/components/Table.js.map +1 -1
  330. package/dist/esm/components/Table/components/WindowedTable.js +88 -104
  331. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  332. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +122 -146
  333. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  334. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
  335. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  336. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
  337. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  338. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +80 -90
  339. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  340. package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
  341. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  342. package/dist/esm/components/Table/hooks/useTable.js +119 -141
  343. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  344. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +12 -15
  345. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  346. package/dist/esm/components/Table/util/renderColumn.js +10 -10
  347. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  348. package/dist/esm/components/Table/util/renderRow.js +37 -46
  349. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  350. package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
  351. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  352. package/dist/esm/components/Table/util/sortTypes.js +23 -31
  353. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  354. package/dist/esm/components/Table/util.js +29 -41
  355. package/dist/esm/components/Table/util.js.map +1 -1
  356. package/dist/esm/components/Tabs/Tabs.js +25 -27
  357. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  358. package/dist/esm/components/Textarea/Textarea.js +11 -9
  359. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  360. package/dist/esm/components/Toast/Toast.js +20 -21
  361. package/dist/esm/components/Toast/Toast.js.map +1 -1
  362. package/dist/esm/components/Toast/Toaster.js +88 -118
  363. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  364. package/dist/esm/components/Toast/util.js +2 -2
  365. package/dist/esm/components/Toast/util.js.map +1 -1
  366. package/dist/esm/components/Tooltip/Tooltip.js +7 -8
  367. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  368. package/dist/esm/components/Tour/Tour.js +44 -50
  369. package/dist/esm/components/Tour/Tour.js.map +1 -1
  370. package/dist/esm/components/Treeview/Treeview.js +26 -36
  371. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  372. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  373. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  374. package/dist/esm/index.css +643 -642
  375. package/dist/esm/index.js +1 -1
  376. package/dist/esm/primitives/Button.js +9 -13
  377. package/dist/esm/primitives/Button.js.map +1 -1
  378. package/dist/esm/utils/date.js.map +1 -1
  379. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  380. package/dist/esm/utils/hooks/useDraggable.js +16 -18
  381. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  382. package/dist/esm/utils/hooks/useDropTarget.js +7 -10
  383. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  384. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  385. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  386. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  387. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  388. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  389. package/dist/esm/utils/hooks/useTimer.js +9 -17
  390. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  391. package/dist/esm/utils/input.js +7 -11
  392. package/dist/esm/utils/input.js.map +1 -1
  393. package/dist/esm/utils/mergeRefs.js +2 -2
  394. package/dist/esm/utils/mergeRefs.js.map +1 -1
  395. package/dist/esm/utils/taillwind.js +2 -2
  396. package/dist/esm/utils/taillwind.js.map +1 -1
  397. package/dist/index.css +643 -642
  398. package/dist/taco.cjs.development.js +2237 -2714
  399. package/dist/taco.cjs.development.js.map +1 -1
  400. package/dist/taco.cjs.production.min.js +1 -1
  401. package/dist/taco.cjs.production.min.js.map +1 -1
  402. package/dist/utils/tailwind.d.ts +1 -1
  403. package/package.json +31 -31
  404. package/plugins/tailwindcss-aria-attributes.js +73 -73
  405. package/tailwind.config.js +297 -297
  406. package/types.json +346 -329
@@ -1,22 +1,19 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { forwardRef, createElement, useEffect } from 'react';
3
2
  import cn from 'classnames';
4
3
  import { Icon as Icon$1 } from '../../Icon/Icon.js';
5
4
  import { useCurrentMenu } from '../Context.js';
6
5
  import { Item as Item$1 } from '@radix-ui/react-dropdown-menu';
7
6
 
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
- }));
17
- };
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
+ }));
18
15
 
19
- var getAppearanceClasses = function getAppearanceClasses(appearance) {
16
+ const getAppearanceClasses = appearance => {
20
17
  switch (appearance) {
21
18
  case 'primary':
22
19
  return 'wcag-blue aria-disabled:text-blue-dark focus:wcag-blue-light';
@@ -36,12 +33,13 @@ var getAppearanceClasses = function getAppearanceClasses(appearance) {
36
33
  }
37
34
  };
38
35
 
39
- var useItemStyling = function useItemStyling(_ref2) {
40
- var disabled = _ref2.disabled,
41
- indented = _ref2.indented,
42
- className = _ref2.className;
43
- var menu = useCurrentMenu();
44
- useEffect(function () {
36
+ const useItemStyling = ({
37
+ disabled,
38
+ indented,
39
+ className
40
+ }) => {
41
+ const menu = useCurrentMenu();
42
+ useEffect(() => {
45
43
  if (indented && !(menu !== null && menu !== void 0 && menu.indented)) {
46
44
  menu === null || menu === void 0 ? void 0 : menu.registerIndentation();
47
45
  }
@@ -53,9 +51,9 @@ var useItemStyling = function useItemStyling(_ref2) {
53
51
  'cursor-not-allowed': disabled
54
52
  }, className);
55
53
  };
56
- var Shortcut = function Shortcut(props) {
57
- var menu = useCurrentMenu();
58
- var appearance;
54
+ const Shortcut = props => {
55
+ const menu = useCurrentMenu();
56
+ let appearance;
59
57
 
60
58
  switch (menu === null || menu === void 0 ? void 0 : menu.appearance) {
61
59
  case 'primary':
@@ -80,36 +78,37 @@ var Shortcut = function Shortcut(props) {
80
78
  break;
81
79
  }
82
80
 
83
- var className = cn('ml-auto pl-3', appearance);
81
+ const className = cn('ml-auto pl-3', appearance);
84
82
  return createElement("span", Object.assign({}, props, {
85
83
  className: className
86
84
  }));
87
85
  };
88
- var Item = /*#__PURE__*/forwardRef(function MenuItem(props, ref) {
86
+ const Item = /*#__PURE__*/forwardRef(function MenuItem(props, ref) {
89
87
  var _props$disabled;
90
88
 
91
- var dialog = props.dialog,
92
- icon = props.icon,
93
- onClick = props.onClick,
94
- shortcut = props.shortcut,
95
- otherProps = _objectWithoutPropertiesLoose(props, _excluded);
96
-
97
- var className = useItemStyling({
89
+ const {
90
+ dialog,
91
+ icon,
92
+ onClick,
93
+ shortcut,
94
+ ...otherProps
95
+ } = props;
96
+ const className = useItemStyling({
98
97
  disabled: props.disabled,
99
98
  indented: !!icon,
100
99
  className: props.className
101
100
  });
102
- var disabled = (_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : props['aria-disabled'];
103
- var handleClick; // radix has a bug that does not disable clicks when disabled is set on items
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
104
103
 
105
104
  if (disabled) {
106
- handleClick = function handleClick(event) {
105
+ handleClick = event => {
107
106
  event.preventDefault();
108
107
  event.stopPropagation();
109
108
  };
110
109
  }
111
110
 
112
- var handleSelect = function handleSelect(event) {
111
+ const handleSelect = event => {
113
112
  if (onClick) {
114
113
  onClick(event);
115
114
  }
@@ -119,7 +118,7 @@ var Item = /*#__PURE__*/forwardRef(function MenuItem(props, ref) {
119
118
  }
120
119
  };
121
120
 
122
- var button = createElement(Item$1, Object.assign({}, otherProps, {
121
+ let button = createElement(Item$1, Object.assign({}, otherProps, {
123
122
  className: className,
124
123
  onClick: handleClick,
125
124
  onSelect: handleSelect,
@@ -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,24 +1,23 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { forwardRef, createElement } from 'react';
3
2
  import { useCurrentMenu } from '../Context.js';
4
3
  import { Item } from '@radix-ui/react-dropdown-menu';
5
4
  import { useItemStyling, Icon } from './Item.js';
6
5
 
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({
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({
16
15
  disabled: props.disabled,
17
16
  indented: !!icon,
18
17
  className: props.className
19
18
  });
20
19
 
21
- var handleClick = function handleClick(event) {
20
+ const handleClick = event => {
22
21
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
23
22
  menu === null || menu === void 0 ? void 0 : menu.close();
24
23
  };
@@ -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';\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;;;;"}
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,4 +1,3 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import cn from 'classnames';
4
3
  import { Icon } from '../Icon/Icon.js';
@@ -6,25 +5,20 @@ import { useProxiedRef } from '../../utils/hooks/useProxiedRef.js';
6
5
  import { Treeview } from '../Treeview/Treeview.js';
7
6
  import { useDropTarget } from '../../utils/hooks/useDropTarget.js';
8
7
 
9
- var _excluded = ["active", "children", "onDrop", "postfix", "prefix", "role"],
10
- _excluded2 = ["children"];
11
- var Item = /*#__PURE__*/React__default.forwardRef(function Item(props, ref) {
12
- var active = props.active,
13
- children = props.children,
14
- onDrop = props.onDrop,
15
- postfix = props.postfix,
16
- prefix = props.prefix,
17
- role = props.role,
18
- otherProps = _objectWithoutPropertiesLoose(props, _excluded);
19
-
20
- var proxyRef = useProxiedRef(ref);
21
-
22
- var _useDropTarget = useDropTarget(onDrop),
23
- isDraggedOver = _useDropTarget[0],
24
- dropTargetProps = _useDropTarget[1];
25
-
26
- var isTreeitem = role === 'treeitem';
27
- var className = cn('yt-navigation__item cursor-pointer', {
8
+ const Item = /*#__PURE__*/React__default.forwardRef(function Item(props, ref) {
9
+ const {
10
+ active,
11
+ children,
12
+ onDrop,
13
+ postfix,
14
+ prefix,
15
+ role,
16
+ ...otherProps
17
+ } = props;
18
+ const proxyRef = useProxiedRef(ref);
19
+ const [isDraggedOver, dropTargetProps] = useDropTarget(onDrop);
20
+ const isTreeitem = role === 'treeitem';
21
+ const className = cn('yt-navigation__item cursor-pointer', {
28
22
  'w-full mb-px py-1 px-3 flex items-center hover:bg-grey-dark': isTreeitem,
29
23
  'bg-white w-full h-10 px-3 flex-shrink-0 flex items-center justify-between cursor-pointer': !isTreeitem,
30
24
  'yt-navigation__item--active': active && !isDraggedOver,
@@ -32,7 +26,7 @@ var Item = /*#__PURE__*/React__default.forwardRef(function Item(props, ref) {
32
26
  'yt-navigation__item--dropping bg-blue': isDraggedOver
33
27
  }, props.className);
34
28
 
35
- var handleClick = function handleClick(event) {
29
+ const handleClick = event => {
36
30
  if (event.target instanceof HTMLAnchorElement || event.target instanceof HTMLButtonElement) {
37
31
  return;
38
32
  }
@@ -55,19 +49,19 @@ var Item = /*#__PURE__*/React__default.forwardRef(function Item(props, ref) {
55
49
  className: "yt-navigation__item__postfix ml-1"
56
50
  }, postfix));
57
51
  });
58
- var Panel = /*#__PURE__*/React__default.forwardRef(function Panel(props, ref) {
52
+ const Panel = /*#__PURE__*/React__default.forwardRef(function Panel(props, ref) {
59
53
  return React__default.createElement("div", Object.assign({}, props, {
60
54
  className: cn('w-full bg-white p-3', props.className),
61
55
  ref: ref
62
56
  }));
63
57
  });
64
- var MenuGroup = /*#__PURE__*/React__default.forwardRef(function MenuGroup(props, ref) {
65
- var className = cn('flex-shrink-0 space-y-1 outline-none', {
58
+ const MenuGroup = /*#__PURE__*/React__default.forwardRef(function MenuGroup(props, ref) {
59
+ const className = cn('flex-shrink-0 space-y-1 outline-none', {
66
60
  'bg-white pb-2': props.fixed
67
61
  }, props.className);
68
62
 
69
- var title = function title(expanded) {
70
- var className = cn('bg-white h-10 pl-3 pr-1 flex items-center justify-between w-full', {
63
+ const title = expanded => {
64
+ const className = cn('bg-white h-10 pl-3 pr-1 flex items-center justify-between w-full', {
71
65
  'mb-1': expanded,
72
66
  'cursor-pointer hover:text-blue': !props.fixed
73
67
  });
@@ -84,16 +78,14 @@ var MenuGroup = /*#__PURE__*/React__default.forwardRef(function MenuGroup(props,
84
78
  ref: ref
85
79
  }));
86
80
  });
87
- var Menu = /*#__PURE__*/React__default.forwardRef(function Menu(props, ref) {
88
- var scrollableAreas = React__default.useMemo(function () {
89
- var scrollableAreas = [];
90
- React__default.Children.toArray(props.children).filter(function (child) {
91
- return !!child;
92
- }).map(function (child) {
81
+ const Menu = /*#__PURE__*/React__default.forwardRef(function Menu(props, ref) {
82
+ const scrollableAreas = React__default.useMemo(() => {
83
+ const scrollableAreas = [];
84
+ React__default.Children.toArray(props.children).filter(child => !!child).map(child => {
93
85
  if (child.props.fixed) {
94
86
  scrollableAreas.push(child);
95
87
  } else {
96
- var x = scrollableAreas[scrollableAreas.length - 1];
88
+ const x = scrollableAreas[scrollableAreas.length - 1];
97
89
 
98
90
  if (Array.isArray(x)) {
99
91
  x.push(child);
@@ -107,19 +99,18 @@ var Menu = /*#__PURE__*/React__default.forwardRef(function Menu(props, ref) {
107
99
  return React__default.createElement(Treeview, Object.assign({}, props, {
108
100
  className: cn('divide-grey-light flex flex-grow flex-col divide-y-2 overflow-y-auto', props.className),
109
101
  ref: ref
110
- }), scrollableAreas.map(function (area, i) {
111
- return Array.isArray(area) ? React__default.createElement("div", {
112
- className: "divide-grey-light flex h-0 flex-auto flex-shrink-0 flex-grow flex-col divide-y-2 overflow-y-auto",
113
- key: i
114
- }, area) : area;
115
- }));
102
+ }), scrollableAreas.map((area, i) => Array.isArray(area) ? React__default.createElement("div", {
103
+ className: "divide-grey-light flex h-0 flex-auto flex-shrink-0 flex-grow flex-col divide-y-2 overflow-y-auto",
104
+ key: i
105
+ }, area) : area));
116
106
  });
117
107
  Menu.Group = MenuGroup;
118
- var Navigation = /*#__PURE__*/React__default.forwardRef(function Navigation(props, ref) {
119
- var children = props.children,
120
- otherProps = _objectWithoutPropertiesLoose(props, _excluded2);
121
-
122
- var className = cn('h-full flex flex-col bg-grey-light divide-y-2 divide-grey-light', props.className);
108
+ const Navigation = /*#__PURE__*/React__default.forwardRef(function Navigation(props, ref) {
109
+ const {
110
+ children,
111
+ ...otherProps
112
+ } = props;
113
+ const className = cn('h-full flex flex-col bg-grey-light divide-y-2 divide-grey-light', props.className);
123
114
  return React__default.createElement("div", Object.assign({}, otherProps, {
124
115
  className: className,
125
116
  "data-taco": "navigation",
@@ -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","isDraggedOver","dropTargetProps","useDropTarget","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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"}