@economic/taco 1.0.5 → 1.0.6

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 (614) hide show
  1. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +35 -0
  2. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/dist/esm/components/Accordion/Accordion.js +93 -0
  4. package/dist/esm/components/Accordion/Accordion.js.map +1 -0
  5. package/dist/esm/components/Backdrop/Backdrop.js +13 -0
  6. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -0
  7. package/dist/esm/components/Badge/Badge.js +32 -0
  8. package/dist/esm/components/Badge/Badge.js.map +1 -0
  9. package/dist/esm/components/Banner/Banner.js +24 -0
  10. package/dist/esm/components/Banner/Banner.js.map +1 -0
  11. package/dist/esm/components/Banner/util.js +36 -0
  12. package/dist/esm/components/Banner/util.js.map +1 -0
  13. package/dist/esm/components/Button/Button.js +36 -0
  14. package/dist/esm/components/Button/Button.js.map +1 -0
  15. package/dist/esm/components/Button/util.js +77 -0
  16. package/dist/esm/components/Button/util.js.map +1 -0
  17. package/dist/esm/components/Calendar/Calendar.js +152 -0
  18. package/dist/esm/components/Calendar/Calendar.js.map +1 -0
  19. package/dist/esm/components/Checkbox/Checkbox.js +58 -0
  20. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -0
  21. package/dist/esm/components/Combobox/Combobox.js +89 -0
  22. package/dist/esm/components/Combobox/Combobox.js.map +1 -0
  23. package/dist/esm/components/Combobox/useCombobox.js +285 -0
  24. package/dist/esm/components/Combobox/useCombobox.js.map +1 -0
  25. package/dist/esm/components/Datepicker/Datepicker.js +75 -0
  26. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -0
  27. package/dist/esm/components/Datepicker/useDatepicker.js +88 -0
  28. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -0
  29. package/dist/esm/components/Dialog/Context.js +26 -0
  30. package/dist/esm/components/Dialog/Context.js.map +1 -0
  31. package/dist/esm/components/Dialog/Dialog.js +98 -0
  32. package/dist/esm/components/Dialog/Dialog.js.map +1 -0
  33. package/dist/esm/components/Dialog/components/Content.js +135 -0
  34. package/dist/esm/components/Dialog/components/Content.js.map +1 -0
  35. package/dist/esm/components/Dialog/components/Drawer.js +42 -0
  36. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -0
  37. package/dist/esm/components/Dialog/components/Extra.js +15 -0
  38. package/dist/esm/components/Dialog/components/Extra.js.map +1 -0
  39. package/dist/esm/components/Dialog/components/Trigger.js +15 -0
  40. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -0
  41. package/dist/esm/components/Field/Field.js +33 -0
  42. package/dist/esm/components/Field/Field.js.map +1 -0
  43. package/dist/esm/components/Form/Form.js +22 -0
  44. package/dist/esm/components/Form/Form.js.map +1 -0
  45. package/dist/esm/components/Group/Group.js +20 -0
  46. package/dist/esm/components/Group/Group.js.map +1 -0
  47. package/dist/esm/components/Hanger/Hanger.js +104 -0
  48. package/dist/esm/components/Hanger/Hanger.js.map +1 -0
  49. package/dist/esm/components/HoverCard/HoverCard.js +33 -0
  50. package/dist/esm/components/HoverCard/HoverCard.js.map +1 -0
  51. package/dist/esm/components/Icon/Icon.js +30 -0
  52. package/dist/esm/components/Icon/Icon.js.map +1 -0
  53. package/dist/esm/components/Icon/components/AccountPreview.js +18 -0
  54. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -0
  55. package/dist/esm/components/Icon/components/Accounting.js +18 -0
  56. package/dist/esm/components/Icon/components/Accounting.js.map +1 -0
  57. package/dist/esm/components/Icon/components/AccountingYear.js +18 -0
  58. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -0
  59. package/dist/esm/components/Icon/components/AccountingYearCancel.js +18 -0
  60. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -0
  61. package/dist/esm/components/Icon/components/ArrowBottom.js +18 -0
  62. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -0
  63. package/dist/esm/components/Icon/components/ArrowDown.js +18 -0
  64. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -0
  65. package/dist/esm/components/Icon/components/ArrowEnd.js +18 -0
  66. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -0
  67. package/dist/esm/components/Icon/components/ArrowLeft.js +18 -0
  68. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -0
  69. package/dist/esm/components/Icon/components/ArrowRight.js +18 -0
  70. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -0
  71. package/dist/esm/components/Icon/components/ArrowStart.js +18 -0
  72. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -0
  73. package/dist/esm/components/Icon/components/ArrowTop.js +18 -0
  74. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -0
  75. package/dist/esm/components/Icon/components/ArrowUp.js +18 -0
  76. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -0
  77. package/dist/esm/components/Icon/components/Attach.js +18 -0
  78. package/dist/esm/components/Icon/components/Attach.js.map +1 -0
  79. package/dist/esm/components/Icon/components/AttachAuto.js +18 -0
  80. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -0
  81. package/dist/esm/components/Icon/components/AttachCancel.js +18 -0
  82. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -0
  83. package/dist/esm/components/Icon/components/Autotext.js +18 -0
  84. package/dist/esm/components/Icon/components/Autotext.js.map +1 -0
  85. package/dist/esm/components/Icon/components/AutotextInsert.js +18 -0
  86. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -0
  87. package/dist/esm/components/Icon/components/Basic.js +18 -0
  88. package/dist/esm/components/Icon/components/Basic.js.map +1 -0
  89. package/dist/esm/components/Icon/components/BasicTabs.js +18 -0
  90. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -0
  91. package/dist/esm/components/Icon/components/BellSolid.js +18 -0
  92. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -0
  93. package/dist/esm/components/Icon/components/Book.js +18 -0
  94. package/dist/esm/components/Icon/components/Book.js.map +1 -0
  95. package/dist/esm/components/Icon/components/Booking.js +18 -0
  96. package/dist/esm/components/Icon/components/Booking.js.map +1 -0
  97. package/dist/esm/components/Icon/components/Budget.js +18 -0
  98. package/dist/esm/components/Icon/components/Budget.js.map +1 -0
  99. package/dist/esm/components/Icon/components/Calendar.js +18 -0
  100. package/dist/esm/components/Icon/components/Calendar.js.map +1 -0
  101. package/dist/esm/components/Icon/components/CashAccount.js +17 -0
  102. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -0
  103. package/dist/esm/components/Icon/components/CashReports.js +18 -0
  104. package/dist/esm/components/Icon/components/CashReports.js.map +1 -0
  105. package/dist/esm/components/Icon/components/Chat.js +18 -0
  106. package/dist/esm/components/Icon/components/Chat.js.map +1 -0
  107. package/dist/esm/components/Icon/components/ChatSolid.js +18 -0
  108. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -0
  109. package/dist/esm/components/Icon/components/ChevronDown.js +18 -0
  110. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -0
  111. package/dist/esm/components/Icon/components/ChevronDownDouble.js +18 -0
  112. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -0
  113. package/dist/esm/components/Icon/components/ChevronDownSolid.js +18 -0
  114. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -0
  115. package/dist/esm/components/Icon/components/ChevronLeft.js +18 -0
  116. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -0
  117. package/dist/esm/components/Icon/components/ChevronLeftDouble.js +18 -0
  118. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -0
  119. package/dist/esm/components/Icon/components/ChevronRight.js +18 -0
  120. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -0
  121. package/dist/esm/components/Icon/components/ChevronRightDouble.js +18 -0
  122. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -0
  123. package/dist/esm/components/Icon/components/ChevronUp.js +18 -0
  124. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -0
  125. package/dist/esm/components/Icon/components/ChevronUpDouble.js +18 -0
  126. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -0
  127. package/dist/esm/components/Icon/components/ChevronUpSolid.js +18 -0
  128. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -0
  129. package/dist/esm/components/Icon/components/CircleClose.js +19 -0
  130. package/dist/esm/components/Icon/components/CircleClose.js.map +1 -0
  131. package/dist/esm/components/Icon/components/CircleMinus.js +18 -0
  132. package/dist/esm/components/Icon/components/CircleMinus.js.map +1 -0
  133. package/dist/esm/components/Icon/components/CirclePlus.js +18 -0
  134. package/dist/esm/components/Icon/components/CirclePlus.js.map +1 -0
  135. package/dist/esm/components/Icon/components/CircleTick.js +18 -0
  136. package/dist/esm/components/Icon/components/CircleTick.js.map +1 -0
  137. package/dist/esm/components/Icon/components/Clamp.js +18 -0
  138. package/dist/esm/components/Icon/components/Clamp.js.map +1 -0
  139. package/dist/esm/components/Icon/components/ClampOpen.js +18 -0
  140. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -0
  141. package/dist/esm/components/Icon/components/Close.js +18 -0
  142. package/dist/esm/components/Icon/components/Close.js.map +1 -0
  143. package/dist/esm/components/Icon/components/ConnectionEnable.js +17 -0
  144. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -0
  145. package/dist/esm/components/Icon/components/ConnectionRevoke.js +17 -0
  146. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -0
  147. package/dist/esm/components/Icon/components/Contacts.js +18 -0
  148. package/dist/esm/components/Icon/components/Contacts.js.map +1 -0
  149. package/dist/esm/components/Icon/components/Copy.js +18 -0
  150. package/dist/esm/components/Icon/components/Copy.js.map +1 -0
  151. package/dist/esm/components/Icon/components/Courses.js +17 -0
  152. package/dist/esm/components/Icon/components/Courses.js.map +1 -0
  153. package/dist/esm/components/Icon/components/Credit.js +18 -0
  154. package/dist/esm/components/Icon/components/Credit.js.map +1 -0
  155. package/dist/esm/components/Icon/components/Delete.js +18 -0
  156. package/dist/esm/components/Icon/components/Delete.js.map +1 -0
  157. package/dist/esm/components/Icon/components/DeletePermanently.js +18 -0
  158. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -0
  159. package/dist/esm/components/Icon/components/Depecriate.js +18 -0
  160. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -0
  161. package/dist/esm/components/Icon/components/Developer.js +18 -0
  162. package/dist/esm/components/Icon/components/Developer.js.map +1 -0
  163. package/dist/esm/components/Icon/components/DistributionTemplate.js +18 -0
  164. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -0
  165. package/dist/esm/components/Icon/components/Document.js +17 -0
  166. package/dist/esm/components/Icon/components/Document.js.map +1 -0
  167. package/dist/esm/components/Icon/components/DocumentApprove.js +18 -0
  168. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -0
  169. package/dist/esm/components/Icon/components/DocumentCreateEntry.js +18 -0
  170. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -0
  171. package/dist/esm/components/Icon/components/DocumentCut.js +18 -0
  172. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -0
  173. package/dist/esm/components/Icon/components/DocumentError.js +18 -0
  174. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -0
  175. package/dist/esm/components/Icon/components/DocumentIsolatePage.js +18 -0
  176. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -0
  177. package/dist/esm/components/Icon/components/DocumentMerge.js +18 -0
  178. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -0
  179. package/dist/esm/components/Icon/components/DocumentMove.js +18 -0
  180. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -0
  181. package/dist/esm/components/Icon/components/DocumentPreview.js +18 -0
  182. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -0
  183. package/dist/esm/components/Icon/components/DocumentReceived.js +17 -0
  184. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -0
  185. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js +17 -0
  186. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -0
  187. package/dist/esm/components/Icon/components/DocumentSplit.js +18 -0
  188. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -0
  189. package/dist/esm/components/Icon/components/DocumentTime.js +18 -0
  190. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -0
  191. package/dist/esm/components/Icon/components/Download.js +18 -0
  192. package/dist/esm/components/Icon/components/Download.js.map +1 -0
  193. package/dist/esm/components/Icon/components/Drag.js +18 -0
  194. package/dist/esm/components/Icon/components/Drag.js.map +1 -0
  195. package/dist/esm/components/Icon/components/ECopedia.js +18 -0
  196. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -0
  197. package/dist/esm/components/Icon/components/ESignature.js +18 -0
  198. package/dist/esm/components/Icon/components/ESignature.js.map +1 -0
  199. package/dist/esm/components/Icon/components/Edit.js +18 -0
  200. package/dist/esm/components/Icon/components/Edit.js.map +1 -0
  201. package/dist/esm/components/Icon/components/EllipsisHorizontal.js +18 -0
  202. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -0
  203. package/dist/esm/components/Icon/components/EllipsisVertical.js +18 -0
  204. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -0
  205. package/dist/esm/components/Icon/components/EntriesOnAccount.js +18 -0
  206. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -0
  207. package/dist/esm/components/Icon/components/EntriesOpen.js +18 -0
  208. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -0
  209. package/dist/esm/components/Icon/components/EntriesWarning.js +18 -0
  210. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -0
  211. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js +18 -0
  212. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -0
  213. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js +18 -0
  214. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -0
  215. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js +18 -0
  216. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -0
  217. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js +18 -0
  218. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -0
  219. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js +18 -0
  220. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -0
  221. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js +18 -0
  222. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -0
  223. package/dist/esm/components/Icon/components/Envelope.js +18 -0
  224. package/dist/esm/components/Icon/components/Envelope.js.map +1 -0
  225. package/dist/esm/components/Icon/components/EnvelopeApproved.js +18 -0
  226. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -0
  227. package/dist/esm/components/Icon/components/ExpandView.js +18 -0
  228. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -0
  229. package/dist/esm/components/Icon/components/Expenses.js +18 -0
  230. package/dist/esm/components/Icon/components/Expenses.js.map +1 -0
  231. package/dist/esm/components/Icon/components/Export.js +18 -0
  232. package/dist/esm/components/Icon/components/Export.js.map +1 -0
  233. package/dist/esm/components/Icon/components/ExportToExcel.js +18 -0
  234. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -0
  235. package/dist/esm/components/Icon/components/ExportToPdf.js +18 -0
  236. package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -0
  237. package/dist/esm/components/Icon/components/Filter.js +18 -0
  238. package/dist/esm/components/Icon/components/Filter.js.map +1 -0
  239. package/dist/esm/components/Icon/components/FilterSolid.js +18 -0
  240. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -0
  241. package/dist/esm/components/Icon/components/GraphSolid.js +18 -0
  242. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -0
  243. package/dist/esm/components/Icon/components/Hash.js +18 -0
  244. package/dist/esm/components/Icon/components/Hash.js.map +1 -0
  245. package/dist/esm/components/Icon/components/Home.js +18 -0
  246. package/dist/esm/components/Icon/components/Home.js.map +1 -0
  247. package/dist/esm/components/Icon/components/Images.js +18 -0
  248. package/dist/esm/components/Icon/components/Images.js.map +1 -0
  249. package/dist/esm/components/Icon/components/Import.js +18 -0
  250. package/dist/esm/components/Icon/components/Import.js.map +1 -0
  251. package/dist/esm/components/Icon/components/Inbox.js +20 -0
  252. package/dist/esm/components/Icon/components/Inbox.js.map +1 -0
  253. package/dist/esm/components/Icon/components/InboxEinvoicing.js +20 -0
  254. package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -0
  255. package/dist/esm/components/Icon/components/InboxScanning.js +20 -0
  256. package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -0
  257. package/dist/esm/components/Icon/components/InboxSmart.js +20 -0
  258. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -0
  259. package/dist/esm/components/Icon/components/Info.js +18 -0
  260. package/dist/esm/components/Icon/components/Info.js.map +1 -0
  261. package/dist/esm/components/Icon/components/Inventory.js +18 -0
  262. package/dist/esm/components/Icon/components/Inventory.js.map +1 -0
  263. package/dist/esm/components/Icon/components/InventoryMatrix.js +18 -0
  264. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -0
  265. package/dist/esm/components/Icon/components/JournalPro.js +18 -0
  266. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -0
  267. package/dist/esm/components/Icon/components/Layout.js +18 -0
  268. package/dist/esm/components/Icon/components/Layout.js.map +1 -0
  269. package/dist/esm/components/Icon/components/LayoutBoth.js +18 -0
  270. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -0
  271. package/dist/esm/components/Icon/components/LayoutFirst.js +18 -0
  272. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -0
  273. package/dist/esm/components/Icon/components/LayoutLast.js +18 -0
  274. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -0
  275. package/dist/esm/components/Icon/components/LayoutNone.js +18 -0
  276. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -0
  277. package/dist/esm/components/Icon/components/LedgerCard.js +18 -0
  278. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -0
  279. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js +18 -0
  280. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -0
  281. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js +18 -0
  282. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -0
  283. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js +18 -0
  284. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -0
  285. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js +18 -0
  286. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -0
  287. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js +18 -0
  288. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -0
  289. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js +18 -0
  290. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -0
  291. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js +18 -0
  292. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -0
  293. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js +18 -0
  294. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -0
  295. package/dist/esm/components/Icon/components/Lightbulb.js +18 -0
  296. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -0
  297. package/dist/esm/components/Icon/components/Line.js +18 -0
  298. package/dist/esm/components/Icon/components/Line.js.map +1 -0
  299. package/dist/esm/components/Icon/components/List.js +18 -0
  300. package/dist/esm/components/Icon/components/List.js.map +1 -0
  301. package/dist/esm/components/Icon/components/ListBulleted.js +18 -0
  302. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -0
  303. package/dist/esm/components/Icon/components/ListSearch.js +18 -0
  304. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -0
  305. package/dist/esm/components/Icon/components/LockOpen.js +18 -0
  306. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -0
  307. package/dist/esm/components/Icon/components/Log.js +18 -0
  308. package/dist/esm/components/Icon/components/Log.js.map +1 -0
  309. package/dist/esm/components/Icon/components/Market.js +18 -0
  310. package/dist/esm/components/Icon/components/Market.js.map +1 -0
  311. package/dist/esm/components/Icon/components/MatchAmount.js +18 -0
  312. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -0
  313. package/dist/esm/components/Icon/components/MatchEntries.js +18 -0
  314. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -0
  315. package/dist/esm/components/Icon/components/Mileage.js +18 -0
  316. package/dist/esm/components/Icon/components/Mileage.js.map +1 -0
  317. package/dist/esm/components/Icon/components/ModalResize.js +18 -0
  318. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -0
  319. package/dist/esm/components/Icon/components/ModalShrink.js +18 -0
  320. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -0
  321. package/dist/esm/components/Icon/components/More.js +18 -0
  322. package/dist/esm/components/Icon/components/More.js.map +1 -0
  323. package/dist/esm/components/Icon/components/MoreSolid.js +18 -0
  324. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -0
  325. package/dist/esm/components/Icon/components/Move.js +18 -0
  326. package/dist/esm/components/Icon/components/Move.js.map +1 -0
  327. package/dist/esm/components/Icon/components/NavigationList.js +18 -0
  328. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -0
  329. package/dist/esm/components/Icon/components/Note.js +18 -0
  330. package/dist/esm/components/Icon/components/Note.js.map +1 -0
  331. package/dist/esm/components/Icon/components/NoteFollowUp.js +18 -0
  332. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -0
  333. package/dist/esm/components/Icon/components/NoteRead.js +18 -0
  334. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -0
  335. package/dist/esm/components/Icon/components/PartnerApi.js +18 -0
  336. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -0
  337. package/dist/esm/components/Icon/components/Period.js +18 -0
  338. package/dist/esm/components/Icon/components/Period.js.map +1 -0
  339. package/dist/esm/components/Icon/components/PersonChange.js +18 -0
  340. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -0
  341. package/dist/esm/components/Icon/components/PersonMinus.js +18 -0
  342. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -0
  343. package/dist/esm/components/Icon/components/PersonPlus.js +18 -0
  344. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -0
  345. package/dist/esm/components/Icon/components/PersonTick.js +18 -0
  346. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -0
  347. package/dist/esm/components/Icon/components/Play.js +18 -0
  348. package/dist/esm/components/Icon/components/Play.js.map +1 -0
  349. package/dist/esm/components/Icon/components/PlusMinus.js +18 -0
  350. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -0
  351. package/dist/esm/components/Icon/components/Print.js +18 -0
  352. package/dist/esm/components/Icon/components/Print.js.map +1 -0
  353. package/dist/esm/components/Icon/components/ProcessPayment.js +18 -0
  354. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -0
  355. package/dist/esm/components/Icon/components/ProductLedgerCard.js +18 -0
  356. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -0
  357. package/dist/esm/components/Icon/components/ProjectCards.js +18 -0
  358. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -0
  359. package/dist/esm/components/Icon/components/Projects.js +18 -0
  360. package/dist/esm/components/Icon/components/Projects.js.map +1 -0
  361. package/dist/esm/components/Icon/components/Quicklinks.js +18 -0
  362. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -0
  363. package/dist/esm/components/Icon/components/RatingBankruptcy.js +18 -0
  364. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -0
  365. package/dist/esm/components/Icon/components/RatingPaymentProblems.js +18 -0
  366. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -0
  367. package/dist/esm/components/Icon/components/Reconciled.js +18 -0
  368. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -0
  369. package/dist/esm/components/Icon/components/Refresh.js +17 -0
  370. package/dist/esm/components/Icon/components/Refresh.js.map +1 -0
  371. package/dist/esm/components/Icon/components/Report.js +18 -0
  372. package/dist/esm/components/Icon/components/Report.js.map +1 -0
  373. package/dist/esm/components/Icon/components/ReportSolid.js +18 -0
  374. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -0
  375. package/dist/esm/components/Icon/components/Restore.js +18 -0
  376. package/dist/esm/components/Icon/components/Restore.js.map +1 -0
  377. package/dist/esm/components/Icon/components/RotateLeft.js +17 -0
  378. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -0
  379. package/dist/esm/components/Icon/components/RotateRight.js +17 -0
  380. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -0
  381. package/dist/esm/components/Icon/components/Sales.js +18 -0
  382. package/dist/esm/components/Icon/components/Sales.js.map +1 -0
  383. package/dist/esm/components/Icon/components/Search.js +18 -0
  384. package/dist/esm/components/Icon/components/Search.js.map +1 -0
  385. package/dist/esm/components/Icon/components/SearchBold.js +18 -0
  386. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -0
  387. package/dist/esm/components/Icon/components/Secure.js +18 -0
  388. package/dist/esm/components/Icon/components/Secure.js.map +1 -0
  389. package/dist/esm/components/Icon/components/SecureTick.js +18 -0
  390. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -0
  391. package/dist/esm/components/Icon/components/Settings.js +18 -0
  392. package/dist/esm/components/Icon/components/Settings.js.map +1 -0
  393. package/dist/esm/components/Icon/components/SettingsSolid.js +18 -0
  394. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -0
  395. package/dist/esm/components/Icon/components/Shortcuts.js +18 -0
  396. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -0
  397. package/dist/esm/components/Icon/components/ShowAll.js +18 -0
  398. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -0
  399. package/dist/esm/components/Icon/components/ShowLess.js +18 -0
  400. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -0
  401. package/dist/esm/components/Icon/components/ShowMore.js +18 -0
  402. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -0
  403. package/dist/esm/components/Icon/components/ShowTemplate.js +18 -0
  404. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -0
  405. package/dist/esm/components/Icon/components/Sliders.js +18 -0
  406. package/dist/esm/components/Icon/components/Sliders.js.map +1 -0
  407. package/dist/esm/components/Icon/components/Smartpay.js +18 -0
  408. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -0
  409. package/dist/esm/components/Icon/components/SortBy.js +18 -0
  410. package/dist/esm/components/Icon/components/SortBy.js.map +1 -0
  411. package/dist/esm/components/Icon/components/Spinner.js +21 -0
  412. package/dist/esm/components/Icon/components/Spinner.js.map +1 -0
  413. package/dist/esm/components/Icon/components/Star.js +18 -0
  414. package/dist/esm/components/Icon/components/Star.js.map +1 -0
  415. package/dist/esm/components/Icon/components/StarSolid.js +18 -0
  416. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -0
  417. package/dist/esm/components/Icon/components/Subscriptions.js +18 -0
  418. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -0
  419. package/dist/esm/components/Icon/components/SystemEntries.js +18 -0
  420. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -0
  421. package/dist/esm/components/Icon/components/Tag.js +18 -0
  422. package/dist/esm/components/Icon/components/Tag.js.map +1 -0
  423. package/dist/esm/components/Icon/components/TemplateOverride.js +18 -0
  424. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -0
  425. package/dist/esm/components/Icon/components/Templates.js +18 -0
  426. package/dist/esm/components/Icon/components/Templates.js.map +1 -0
  427. package/dist/esm/components/Icon/components/ThumbBoth.js +18 -0
  428. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -0
  429. package/dist/esm/components/Icon/components/ThumbDown.js +18 -0
  430. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -0
  431. package/dist/esm/components/Icon/components/ThumbDownSolid.js +18 -0
  432. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -0
  433. package/dist/esm/components/Icon/components/ThumbUp.js +18 -0
  434. package/dist/esm/components/Icon/components/ThumbUp.js.map +1 -0
  435. package/dist/esm/components/Icon/components/ThumbUpSolid.js +18 -0
  436. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -0
  437. package/dist/esm/components/Icon/components/Tick.js +18 -0
  438. package/dist/esm/components/Icon/components/Tick.js.map +1 -0
  439. package/dist/esm/components/Icon/components/Time.js +18 -0
  440. package/dist/esm/components/Icon/components/Time.js.map +1 -0
  441. package/dist/esm/components/Icon/components/Transfer.js +18 -0
  442. package/dist/esm/components/Icon/components/Transfer.js.map +1 -0
  443. package/dist/esm/components/Icon/components/TransferCancel.js +24 -0
  444. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -0
  445. package/dist/esm/components/Icon/components/TransferLocked.js +18 -0
  446. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -0
  447. package/dist/esm/components/Icon/components/Undock.js +18 -0
  448. package/dist/esm/components/Icon/components/Undock.js.map +1 -0
  449. package/dist/esm/components/Icon/components/Unreconciled.js +18 -0
  450. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -0
  451. package/dist/esm/components/Icon/components/Warning.js +17 -0
  452. package/dist/esm/components/Icon/components/Warning.js.map +1 -0
  453. package/dist/esm/components/Icon/components/Webshop.js +18 -0
  454. package/dist/esm/components/Icon/components/Webshop.js.map +1 -0
  455. package/dist/esm/components/Icon/components/Website.js +18 -0
  456. package/dist/esm/components/Icon/components/Website.js.map +1 -0
  457. package/dist/esm/components/Icon/components/Workflow.js +17 -0
  458. package/dist/esm/components/Icon/components/Workflow.js.map +1 -0
  459. package/dist/esm/components/Icon/components/Zoom.js +18 -0
  460. package/dist/esm/components/Icon/components/Zoom.js.map +1 -0
  461. package/dist/esm/components/Icon/components/index.js +414 -0
  462. package/dist/esm/components/Icon/components/index.js.map +1 -0
  463. package/dist/esm/components/IconButton/IconButton.js +35 -0
  464. package/dist/esm/components/IconButton/IconButton.js.map +1 -0
  465. package/dist/esm/components/Input/Input.js +85 -0
  466. package/dist/esm/components/Input/Input.js.map +1 -0
  467. package/dist/esm/components/Input/util.js +22 -0
  468. package/dist/esm/components/Input/util.js.map +1 -0
  469. package/dist/esm/components/Listbox/Listbox.js +58 -0
  470. package/dist/esm/components/Listbox/Listbox.js.map +1 -0
  471. package/dist/esm/components/Listbox/ScrollableList.js +174 -0
  472. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -0
  473. package/dist/esm/components/Listbox/useListbox.js +145 -0
  474. package/dist/esm/components/Listbox/useListbox.js.map +1 -0
  475. package/dist/esm/components/Listbox/useMultiListbox.js +196 -0
  476. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -0
  477. package/dist/esm/components/Listbox/useTypeahead.js +28 -0
  478. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -0
  479. package/dist/esm/components/Listbox/util.js +150 -0
  480. package/dist/esm/components/Listbox/util.js.map +1 -0
  481. package/dist/esm/components/Menu/Context.js +9 -0
  482. package/dist/esm/components/Menu/Context.js.map +1 -0
  483. package/dist/esm/components/Menu/Menu.js +74 -0
  484. package/dist/esm/components/Menu/Menu.js.map +1 -0
  485. package/dist/esm/components/Menu/components/Checkbox.js +31 -0
  486. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -0
  487. package/dist/esm/components/Menu/components/Content.js +50 -0
  488. package/dist/esm/components/Menu/components/Content.js.map +1 -0
  489. package/dist/esm/components/Menu/components/Header.js +38 -0
  490. package/dist/esm/components/Menu/components/Header.js.map +1 -0
  491. package/dist/esm/components/Menu/components/Item.js +140 -0
  492. package/dist/esm/components/Menu/components/Item.js.map +1 -0
  493. package/dist/esm/components/Menu/components/Link.js +39 -0
  494. package/dist/esm/components/Menu/components/Link.js.map +1 -0
  495. package/dist/esm/components/Menu/components/RadioGroup.js +48 -0
  496. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -0
  497. package/dist/esm/components/Menu/components/Separator.js +35 -0
  498. package/dist/esm/components/Menu/components/Separator.js.map +1 -0
  499. package/dist/esm/components/Menu/components/Trigger.js +33 -0
  500. package/dist/esm/components/Menu/components/Trigger.js.map +1 -0
  501. package/dist/esm/components/Navigation/Navigation.js +125 -0
  502. package/dist/esm/components/Navigation/Navigation.js.map +1 -0
  503. package/dist/esm/components/Pagination/PageNumbers.js +50 -0
  504. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -0
  505. package/dist/esm/components/Pagination/Pagination.js +103 -0
  506. package/dist/esm/components/Pagination/Pagination.js.map +1 -0
  507. package/dist/esm/components/Pagination/usePagination.js +15 -0
  508. package/dist/esm/components/Pagination/usePagination.js.map +1 -0
  509. package/dist/esm/components/Pagination/usePaginationShortcuts.js +50 -0
  510. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -0
  511. package/dist/esm/components/Popover/Popover.js +84 -0
  512. package/dist/esm/components/Popover/Popover.js.map +1 -0
  513. package/dist/esm/components/Popover/Primitives.js +41 -0
  514. package/dist/esm/components/Popover/Primitives.js.map +1 -0
  515. package/dist/esm/components/Progress/Progress.js +32 -0
  516. package/dist/esm/components/Progress/Progress.js.map +1 -0
  517. package/dist/esm/components/Provider/Provider.js +105 -0
  518. package/dist/esm/components/Provider/Provider.js.map +1 -0
  519. package/dist/esm/components/RadioGroup/RadioGroup.js +106 -0
  520. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -0
  521. package/dist/esm/components/SearchInput/SearchInput.js +95 -0
  522. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -0
  523. package/dist/esm/components/Select/Select.js +100 -0
  524. package/dist/esm/components/Select/Select.js.map +1 -0
  525. package/dist/esm/components/Select/useSelect.js +212 -0
  526. package/dist/esm/components/Select/useSelect.js.map +1 -0
  527. package/dist/esm/components/Spinner/Spinner.js +48 -0
  528. package/dist/esm/components/Spinner/Spinner.js.map +1 -0
  529. package/dist/esm/components/Switch/Switch.js +37 -0
  530. package/dist/esm/components/Switch/Switch.js.map +1 -0
  531. package/dist/esm/components/Table/components/BaseTable.js +48 -0
  532. package/dist/esm/components/Table/components/BaseTable.js.map +1 -0
  533. package/dist/esm/components/Table/components/PaginatedTable.js +16 -0
  534. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -0
  535. package/dist/esm/components/Table/components/Table.js +56 -0
  536. package/dist/esm/components/Table/components/Table.js.map +1 -0
  537. package/dist/esm/components/Table/components/WindowedTable.js +186 -0
  538. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -0
  539. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +236 -0
  540. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -0
  541. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +129 -0
  542. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -0
  543. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +100 -0
  544. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -0
  545. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +108 -0
  546. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -0
  547. package/dist/esm/components/Table/hooks/useRowCreation.js +106 -0
  548. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -0
  549. package/dist/esm/components/Table/hooks/useTable.js +217 -0
  550. package/dist/esm/components/Table/hooks/useTable.js.map +1 -0
  551. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +132 -0
  552. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -0
  553. package/dist/esm/components/Table/util/renderColumn.js +40 -0
  554. package/dist/esm/components/Table/util/renderColumn.js.map +1 -0
  555. package/dist/esm/components/Table/util/renderRow.js +101 -0
  556. package/dist/esm/components/Table/util/renderRow.js.map +1 -0
  557. package/dist/esm/components/Table/util/rowIndexPath.js +57 -0
  558. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -0
  559. package/dist/esm/components/Table/util/sortTypes.js +82 -0
  560. package/dist/esm/components/Table/util/sortTypes.js.map +1 -0
  561. package/dist/esm/components/Table/util.js +99 -0
  562. package/dist/esm/components/Table/util.js.map +1 -0
  563. package/dist/esm/components/Tabs/Tabs.js +69 -0
  564. package/dist/esm/components/Tabs/Tabs.js.map +1 -0
  565. package/dist/esm/components/Textarea/Textarea.js +39 -0
  566. package/dist/esm/components/Textarea/Textarea.js.map +1 -0
  567. package/dist/esm/components/Toast/Toast.js +79 -0
  568. package/dist/esm/components/Toast/Toast.js.map +1 -0
  569. package/dist/esm/components/Toast/Toaster.js +163 -0
  570. package/dist/esm/components/Toast/Toaster.js.map +1 -0
  571. package/dist/esm/components/Toast/util.js +46 -0
  572. package/dist/esm/components/Toast/util.js.map +1 -0
  573. package/dist/esm/components/Tooltip/Tooltip.js +32 -0
  574. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -0
  575. package/dist/esm/components/Tour/Tour.js +142 -0
  576. package/dist/esm/components/Tour/Tour.js.map +1 -0
  577. package/dist/esm/components/Treeview/Treeview.js +73 -0
  578. package/dist/esm/components/Treeview/Treeview.js.map +1 -0
  579. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +11 -0
  580. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  581. package/dist/esm/index.css +661 -0
  582. package/dist/esm/index.js +50 -0
  583. package/dist/esm/index.js.map +1 -0
  584. package/dist/esm/primitives/Button.js +21 -0
  585. package/dist/esm/primitives/Button.js.map +1 -0
  586. package/dist/esm/utils/date.js +98 -0
  587. package/dist/esm/utils/date.js.map +1 -0
  588. package/dist/esm/utils/hooks/useBoundingClientRectListener.js +50 -0
  589. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -0
  590. package/dist/esm/utils/hooks/useDraggable.js +42 -0
  591. package/dist/esm/utils/hooks/useDraggable.js.map +1 -0
  592. package/dist/esm/utils/hooks/useDropTarget.js +38 -0
  593. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -0
  594. package/dist/esm/utils/hooks/useListKeyboardNavigation.js +58 -0
  595. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -0
  596. package/dist/esm/utils/hooks/useListScrollTo.js +38 -0
  597. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -0
  598. package/dist/esm/utils/hooks/useOnClickOutside.js +27 -0
  599. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -0
  600. package/dist/esm/utils/hooks/useProxiedRef.js +18 -0
  601. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -0
  602. package/dist/esm/utils/hooks/useTimer.js +50 -0
  603. package/dist/esm/utils/hooks/useTimer.js.map +1 -0
  604. package/dist/esm/utils/input.js +49 -0
  605. package/dist/esm/utils/input.js.map +1 -0
  606. package/dist/esm/utils/mergeRefs.js +14 -0
  607. package/dist/esm/utils/mergeRefs.js.map +1 -0
  608. package/dist/esm/utils/taillwind.js +41 -0
  609. package/dist/esm/utils/taillwind.js.map +1 -0
  610. package/dist/taco.cjs.development.js +458 -552
  611. package/dist/taco.cjs.development.js.map +1 -1
  612. package/dist/taco.cjs.production.min.js +2 -0
  613. package/dist/taco.cjs.production.min.js.map +1 -0
  614. package/package.json +2 -2
@@ -0,0 +1,196 @@
1
+ import { useMemo, useState, useEffect } from 'react';
2
+ import { v4 } from 'uuid';
3
+ import { useLocalization } from '../Provider/Provider.js';
4
+ import { useProxiedRef } from '../../utils/hooks/useProxiedRef.js';
5
+ import keycode from 'keycode';
6
+ import { getIndexFromValue, getSelectedIndexesFromValue, setInputValueByRef, getActiveDescendant, findByValue } from './util.js';
7
+ import { useTypeahead } from './useTypeahead.js';
8
+
9
+ const useMultiListbox = ({
10
+ data: externalData = [],
11
+ defaultValue,
12
+ disabled,
13
+ emptyValue: _,
14
+ id: nativeId,
15
+ name,
16
+ onClick,
17
+ onChange,
18
+ onFocus,
19
+ onKeyDown,
20
+ value,
21
+ ...otherProps
22
+ }, ref) => {
23
+ const {
24
+ texts
25
+ } = useLocalization();
26
+ const id = useMemo(() => nativeId || v4(), [nativeId]);
27
+ const inputRef = useProxiedRef(ref);
28
+ const data = useMemo(() => {
29
+ return [{
30
+ text: texts.listbox.allOption,
31
+ value: '#ALL-OPTIONS#'
32
+ }, ...externalData];
33
+ }, [externalData]);
34
+ const [currentIndex, setCurrentIndex] = useState(getIndexFromValue(data, value) || 0);
35
+ const [allOptionsSelected, setAllOptionsSelected] = useState(false);
36
+ const {
37
+ getNextIndex
38
+ } = useTypeahead({
39
+ data,
40
+ currentIndex
41
+ });
42
+ const [selectedIndexes, setSelectedIndexes] = useState(getSelectedIndexesFromValue(data, value));
43
+ useEffect(() => {
44
+ if (defaultValue && !value) {
45
+ setInputValueByRef(inputRef.current, defaultValue.toString());
46
+ }
47
+ }, []);
48
+ useEffect(() => {
49
+ const selectableItemsCount = data.filter(item => !item.disabled).length - 1;
50
+
51
+ if (selectableItemsCount === selectedIndexes.length) {
52
+ setAllOptionsSelected(true);
53
+ } else {
54
+ setAllOptionsSelected(false);
55
+ }
56
+ }, [selectedIndexes, data]);
57
+
58
+ const setInputValueByIndex = index => {
59
+ if (index !== undefined) {
60
+ const option = data[index];
61
+
62
+ if (option && !option.disabled) {
63
+ var _inputRef$current;
64
+
65
+ let newInputValue = '';
66
+ const currentInputValue = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value;
67
+ const currentValuesArray = (currentInputValue === null || currentInputValue === void 0 ? void 0 : currentInputValue.split(',')) || [];
68
+ const optionAlreadySelected = currentValuesArray.findIndex(val => val === String(option.value)) !== -1; // Handling the select_all option
69
+
70
+ if (option.value === '#ALL-OPTIONS#') {
71
+ if (!allOptionsSelected) {
72
+ newInputValue = data.filter((option, index) => index !== 0 && !option.disabled).map(option => option.value).join(',');
73
+ } else {
74
+ newInputValue = '';
75
+ }
76
+ } else {
77
+ // Handling rest options
78
+ if (optionAlreadySelected) {
79
+ newInputValue = currentValuesArray.filter(val => val !== String(option.value)).join(',');
80
+ } else {
81
+ newInputValue = currentInputValue ? `${currentInputValue},${option.value}` : option.value;
82
+ }
83
+ }
84
+
85
+ setInputValueByRef(inputRef.current, newInputValue);
86
+ }
87
+ }
88
+ };
89
+
90
+ const handleListboxClick = (event, index) => {
91
+ event.preventDefault();
92
+
93
+ if (!data[index].disabled) {
94
+ setCurrentIndex(index);
95
+ setInputValueByIndex(index);
96
+ }
97
+
98
+ if (onClick) {
99
+ onClick(event);
100
+ }
101
+ };
102
+
103
+ const handleListboxKeyDown = (event, index) => {
104
+ const charKey = String.fromCharCode(event.keyCode);
105
+
106
+ if (charKey.match(/(\w)/g)) {
107
+ const nextIndex = getNextIndex(charKey);
108
+
109
+ if (nextIndex > -1 && nextIndex !== currentIndex) {
110
+ setCurrentIndex(nextIndex);
111
+ }
112
+
113
+ return;
114
+ }
115
+
116
+ switch (event.keyCode) {
117
+ case keycode('space'):
118
+ {
119
+ event.preventDefault();
120
+ setInputValueByIndex(index);
121
+ break;
122
+ }
123
+
124
+ case keycode('enter'):
125
+ {
126
+ setInputValueByIndex(index);
127
+ break;
128
+ }
129
+ }
130
+
131
+ setCurrentIndex(index);
132
+
133
+ if (onKeyDown) {
134
+ event.persist();
135
+ onKeyDown(event);
136
+ }
137
+ };
138
+
139
+ const handleListboxFocus = event => {
140
+ if (onFocus) {
141
+ event.persist();
142
+ onFocus(event);
143
+ }
144
+ };
145
+
146
+ const handleInputChange = event => {
147
+ event.persist();
148
+ setSelectedIndexes(getSelectedIndexesFromValue(data, event.target.value));
149
+
150
+ if (onChange) {
151
+ const detail = [];
152
+ const valuesArray = event.target.value.split(',');
153
+ valuesArray.forEach(val => {
154
+ const item = findByValue(data, val);
155
+
156
+ if (item) {
157
+ detail.push(item);
158
+ }
159
+ });
160
+ event.detail = detail;
161
+ onChange(event);
162
+ }
163
+ };
164
+
165
+ const list = { ...otherProps,
166
+ 'aria-activedescendant': getActiveDescendant(data, currentIndex, id),
167
+ 'aria-multiselectable': true,
168
+ data,
169
+ disabled,
170
+ id,
171
+ onChange: () => null,
172
+ onClick: handleListboxClick,
173
+ onFocus: handleListboxFocus,
174
+ onKeyDown: handleListboxKeyDown,
175
+ scrollOnFocus: false,
176
+ tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,
177
+ value: currentIndex,
178
+ selectedIndexes,
179
+ multiselect: true,
180
+ allOptionsSelected
181
+ };
182
+ const input = {
183
+ name,
184
+ onChange: handleInputChange,
185
+ ref: inputRef,
186
+ tabIndex: -1,
187
+ value: value !== null && value !== void 0 ? value : ''
188
+ };
189
+ return {
190
+ list,
191
+ input
192
+ };
193
+ };
194
+
195
+ export { useMultiListbox };
196
+ //# sourceMappingURL=useMultiListbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMultiListbox.js","sources":["../../../../src/components/Listbox/useMultiListbox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport keycode from 'keycode';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { useLocalization } from '../Provider/Provider';\r\nimport { ListboxProps } from './Listbox';\r\nimport { useProxiedRef } from '../../utils/hooks/useProxiedRef';\r\nimport { setInputValueByRef, getIndexFromValue, getSelectedIndexesFromValue, findByValue, getActiveDescendant } from './util';\r\nimport { ScrollableListProps, ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\r\nimport { useTypeahead } from './useTypeahead';\r\n\r\ntype useListbox = {\r\n list: ScrollableListProps;\r\n input: Omit<React.HTMLAttributes<HTMLInputElement>, 'defaultValue'>;\r\n};\r\n\r\nexport const useMultiListbox = (\r\n {\r\n data: externalData = [],\r\n defaultValue,\r\n disabled,\r\n emptyValue: _,\r\n id: nativeId,\r\n name,\r\n onClick,\r\n onChange,\r\n onFocus,\r\n onKeyDown,\r\n value,\r\n ...otherProps\r\n }: ListboxProps,\r\n ref: React.Ref<HTMLInputElement>\r\n): useListbox => {\r\n const { texts } = useLocalization();\r\n const id = React.useMemo(() => nativeId || uuid(), [nativeId]);\r\n const inputRef = useProxiedRef<HTMLInputElement>(ref);\r\n const data = React.useMemo(() => {\r\n return [{ text: texts.listbox.allOption, value: '#ALL-OPTIONS#' }, ...externalData];\r\n }, [externalData]);\r\n const [currentIndex, setCurrentIndex] = React.useState(getIndexFromValue(data, value) || 0);\r\n const [allOptionsSelected, setAllOptionsSelected] = React.useState(false);\r\n const { getNextIndex } = useTypeahead({ data, currentIndex });\r\n const [selectedIndexes, setSelectedIndexes] = React.useState(getSelectedIndexesFromValue(data, value));\r\n\r\n React.useEffect(() => {\r\n if (defaultValue && !value) {\r\n setInputValueByRef(inputRef.current, defaultValue.toString());\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const selectableItemsCount = data.filter(item => !item.disabled).length - 1;\r\n\r\n if (selectableItemsCount === selectedIndexes.length) {\r\n setAllOptionsSelected(true);\r\n } else {\r\n setAllOptionsSelected(false);\r\n }\r\n }, [selectedIndexes, data]);\r\n\r\n const setInputValueByIndex = (index: number | undefined): void => {\r\n if (index !== undefined) {\r\n const option = data[index];\r\n\r\n if (option && !option.disabled) {\r\n let newInputValue: ScrollableListItemValue = '';\r\n const currentInputValue = inputRef.current?.value;\r\n const currentValuesArray = currentInputValue?.split(',') || [];\r\n const optionAlreadySelected = currentValuesArray.findIndex(val => val === String(option.value)) !== -1;\r\n\r\n // Handling the select_all option\r\n if (option.value === '#ALL-OPTIONS#') {\r\n if (!allOptionsSelected) {\r\n newInputValue = data\r\n .filter((option, index) => index !== 0 && !option.disabled)\r\n .map(option => option.value)\r\n .join(',');\r\n } else {\r\n newInputValue = '';\r\n }\r\n } else {\r\n // Handling rest options\r\n if (optionAlreadySelected) {\r\n newInputValue = currentValuesArray.filter(val => val !== String(option.value)).join(',');\r\n } else {\r\n newInputValue = currentInputValue ? `${currentInputValue},${option.value}` : option.value;\r\n }\r\n }\r\n\r\n setInputValueByRef(inputRef.current, newInputValue);\r\n }\r\n }\r\n };\r\n\r\n const handleListboxClick = (event: React.MouseEvent<HTMLLIElement>, index: number): void => {\r\n event.preventDefault();\r\n\r\n if (!data[index].disabled) {\r\n setCurrentIndex(index);\r\n setInputValueByIndex(index);\r\n }\r\n\r\n if (onClick) {\r\n onClick(event);\r\n }\r\n };\r\n\r\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>, index: number): void => {\r\n const charKey = String.fromCharCode(event.keyCode);\r\n\r\n if (charKey.match(/(\\w)/g)) {\r\n const nextIndex = getNextIndex(charKey);\r\n\r\n if (nextIndex > -1 && nextIndex !== currentIndex) {\r\n setCurrentIndex(nextIndex);\r\n }\r\n return;\r\n }\r\n\r\n switch (event.keyCode) {\r\n case keycode('space'): {\r\n event.preventDefault();\r\n setInputValueByIndex(index);\r\n break;\r\n }\r\n\r\n case keycode('enter'): {\r\n setInputValueByIndex(index);\r\n break;\r\n }\r\n\r\n default:\r\n }\r\n setCurrentIndex(index);\r\n\r\n if (onKeyDown) {\r\n event.persist();\r\n onKeyDown(event);\r\n }\r\n };\r\n\r\n const handleListboxFocus = (event: React.FocusEvent<HTMLElement>): void => {\r\n if (onFocus) {\r\n event.persist();\r\n onFocus(event);\r\n }\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\r\n event.persist();\r\n\r\n setSelectedIndexes(getSelectedIndexesFromValue(data, event.target.value));\r\n\r\n if (onChange) {\r\n const detail: ScrollableListItem[] = [];\r\n const valuesArray = event.target.value.split(',');\r\n\r\n valuesArray.forEach(val => {\r\n const item = findByValue(data, val);\r\n if (item) {\r\n detail.push(item);\r\n }\r\n });\r\n (event as any).detail = detail;\r\n\r\n onChange(event);\r\n }\r\n };\r\n\r\n const list = {\r\n ...otherProps,\r\n 'aria-activedescendant': getActiveDescendant(data, currentIndex, id),\r\n 'aria-multiselectable': true,\r\n data,\r\n disabled,\r\n id,\r\n onChange: () => null,\r\n onClick: handleListboxClick,\r\n onFocus: handleListboxFocus,\r\n onKeyDown: handleListboxKeyDown,\r\n scrollOnFocus: false,\r\n tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,\r\n value: currentIndex,\r\n selectedIndexes,\r\n multiselect: true,\r\n allOptionsSelected,\r\n };\r\n\r\n const input = {\r\n name,\r\n onChange: handleInputChange,\r\n ref: inputRef,\r\n tabIndex: -1,\r\n value: value ?? '',\r\n };\r\n\r\n return { list, input };\r\n};\r\n"],"names":["useMultiListbox","data","externalData","defaultValue","disabled","emptyValue","_","id","nativeId","name","onClick","onChange","onFocus","onKeyDown","value","otherProps","ref","texts","useLocalization","React","uuid","inputRef","useProxiedRef","text","listbox","allOption","currentIndex","setCurrentIndex","getIndexFromValue","allOptionsSelected","setAllOptionsSelected","getNextIndex","useTypeahead","selectedIndexes","setSelectedIndexes","getSelectedIndexesFromValue","setInputValueByRef","current","toString","selectableItemsCount","filter","item","length","setInputValueByIndex","index","undefined","option","newInputValue","currentInputValue","currentValuesArray","split","optionAlreadySelected","findIndex","val","String","map","join","handleListboxClick","event","preventDefault","handleListboxKeyDown","charKey","fromCharCode","keyCode","match","nextIndex","keycode","persist","handleListboxFocus","handleInputChange","target","detail","valuesArray","forEach","findByValue","push","list","getActiveDescendant","scrollOnFocus","tabIndex","multiselect","input"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { useRef } from 'react';
2
+ import useTimer from '../../utils/hooks/useTimer.js';
3
+ import { findNextIndexByValue } from './util.js';
4
+
5
+ const useTypeahead = ({
6
+ data,
7
+ currentIndex
8
+ }) => {
9
+ const typeaheadQuery = useRef();
10
+ const typeaheadQueryTimer = useTimer(1000, () => {
11
+ typeaheadQuery.current = undefined;
12
+ });
13
+
14
+ const getNextIndex = charKey => {
15
+ const query = (typeaheadQuery.current ? typeaheadQuery.current + charKey : charKey).toLowerCase();
16
+ const nextIndex = findNextIndexByValue(data, query, currentIndex);
17
+ typeaheadQueryTimer.start();
18
+ typeaheadQuery.current = query;
19
+ return nextIndex;
20
+ };
21
+
22
+ return {
23
+ getNextIndex
24
+ };
25
+ };
26
+
27
+ export { useTypeahead };
28
+ //# sourceMappingURL=useTypeahead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTypeahead.js","sources":["../../../../src/components/Listbox/useTypeahead.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport useTimer from '../../utils/hooks/useTimer';\r\nimport { findNextIndexByValue } from './util';\r\nimport { ScrollableListItem } from './ScrollableList';\r\n\r\ntype useTypeahead = {\r\n getNextIndex: (key: string) => number;\r\n};\r\n\r\ntype useTypeaheadProps = {\r\n data: ScrollableListItem[];\r\n currentIndex: number | undefined;\r\n};\r\n\r\nexport const useTypeahead = ({ data, currentIndex }: useTypeaheadProps): useTypeahead => {\r\n const typeaheadQuery = React.useRef<string | undefined>();\r\n const typeaheadQueryTimer = useTimer(1000, () => {\r\n typeaheadQuery.current = undefined;\r\n });\r\n\r\n const getNextIndex = (charKey: string): number => {\r\n const query = (typeaheadQuery.current ? typeaheadQuery.current + charKey : charKey).toLowerCase();\r\n const nextIndex = findNextIndexByValue(data, query, currentIndex);\r\n\r\n typeaheadQueryTimer.start();\r\n typeaheadQuery.current = query;\r\n\r\n return nextIndex;\r\n };\r\n\r\n return { getNextIndex };\r\n};\r\n"],"names":["useTypeahead","data","currentIndex","typeaheadQuery","React","typeaheadQueryTimer","useTimer","current","undefined","getNextIndex","charKey","query","toLowerCase","nextIndex","findNextIndexByValue","start"],"mappings":";;;;MAcaA,YAAY,GAAG,CAAC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAAD;AACxB,QAAMC,cAAc,GAAGC,MAAA,EAAvB;AACA,QAAMC,mBAAmB,GAAGC,QAAQ,CAAC,IAAD,EAAO;AACvCH,IAAAA,cAAc,CAACI,OAAf,GAAyBC,SAAzB;AACH,GAFmC,CAApC;;AAIA,QAAMC,YAAY,GAAIC,OAAD;AACjB,UAAMC,KAAK,GAAG,CAACR,cAAc,CAACI,OAAf,GAAyBJ,cAAc,CAACI,OAAf,GAAyBG,OAAlD,GAA4DA,OAA7D,EAAsEE,WAAtE,EAAd;AACA,UAAMC,SAAS,GAAGC,oBAAoB,CAACb,IAAD,EAAOU,KAAP,EAAcT,YAAd,CAAtC;AAEAG,IAAAA,mBAAmB,CAACU,KAApB;AACAZ,IAAAA,cAAc,CAACI,OAAf,GAAyBI,KAAzB;AAEA,WAAOE,SAAP;AACH,GARD;;AAUA,SAAO;AAAEJ,IAAAA;AAAF,GAAP;AACH;;;;"}
@@ -0,0 +1,150 @@
1
+ import React__default from 'react';
2
+ import { getId } from './ScrollableList.js';
3
+ import { setInputValueByRef as setInputValueByRef$1 } from '../../utils/input.js';
4
+
5
+ const getValue = value => String(value !== null && value !== void 0 ? value : '');
6
+
7
+ const setInputValueByRef = (input, value, event = 'change') => {
8
+ setInputValueByRef$1(input, getValue(value), event);
9
+ };
10
+ const getIndexFromValue = (data, value) => {
11
+ const index = data.findIndex(option => getValue(option.value) === getValue(value));
12
+ return index > -1 ? index : undefined;
13
+ };
14
+ const getSelectedIndexesFromValue = (data, value) => {
15
+ if (typeof value !== 'string') return [];
16
+ return value.split(',').map(v => data.findIndex(o => String(o.value) === v)).filter(v => v !== -1);
17
+ };
18
+ const findByValue = (data, value) => {
19
+ return data.find(option => getValue(option.value) === getValue(value));
20
+ };
21
+ const searchForString = (child, value, strategy = 'includes') => {
22
+ try {
23
+ var _child$props;
24
+
25
+ if (typeof child !== 'string' && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.children) {
26
+ var _child$props2, _child$props3;
27
+
28
+ if (Array.isArray((_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.children)) {
29
+ return !!child.props.children.find(subChild => searchForString(subChild, value, strategy));
30
+ }
31
+
32
+ return searchForString((_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.children, value, strategy);
33
+ } else {
34
+ return child.toString().toLowerCase()[strategy](String(value).toLowerCase());
35
+ }
36
+ } catch {
37
+ return false;
38
+ }
39
+ };
40
+
41
+ const getIndexInRangeByValue = (data, query, firstIndex, lastIndex = data.length) => {
42
+ const index = data.slice(firstIndex, lastIndex).findIndex(option => {
43
+ if (option.disabled) {
44
+ return false;
45
+ }
46
+
47
+ return searchForString(option.text, query, 'startsWith');
48
+ });
49
+ return index > -1 ? index + firstIndex : -1;
50
+ };
51
+
52
+ const findNextIndexByValue = (data, query, activeIndex) => {
53
+ const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;
54
+ let index = getIndexInRangeByValue(data, query, firstIndex);
55
+
56
+ if (index === -1) {
57
+ index = getIndexInRangeByValue(data, query, 0, activeIndex);
58
+ }
59
+
60
+ return index;
61
+ };
62
+ const getActiveDescendant = (data, currentIndex, id) => {
63
+ return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;
64
+ };
65
+ const useFlattenedData = data => {
66
+ return React__default.useMemo(() => {
67
+ const items = [];
68
+
69
+ const flatten = (item, path, parentPath, parentDisabled) => {
70
+ const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;
71
+ const isItemDisabled = parentDisabled || item.disabled;
72
+ items.push({ ...item,
73
+ disabled: isItemDisabled,
74
+ path: currentPath,
75
+ hasChildren: !!item.children
76
+ });
77
+
78
+ if (item.children) {
79
+ item.children.forEach((childItem, childPath) => flatten(childItem, childPath, currentPath, isItemDisabled));
80
+ }
81
+ };
82
+
83
+ data.forEach((item, index) => {
84
+ flatten(item, index);
85
+ });
86
+ return items;
87
+ }, [data]);
88
+ };
89
+ const sanitizeItem = item => {
90
+ if (item) {
91
+ const {
92
+ hasChildren: _1,
93
+ path: _2,
94
+ ...rest
95
+ } = item;
96
+ return rest;
97
+ }
98
+
99
+ return undefined;
100
+ };
101
+ const getOptionParents = (data, path) => {
102
+ var _path$split;
103
+
104
+ const indexes = (_path$split = path === null || path === void 0 ? void 0 : path.split('.')) !== null && _path$split !== void 0 ? _path$split : [];
105
+
106
+ if (indexes.length > 1) {
107
+ // we don't want to map the current item
108
+ indexes.pop(); // we need to rebuild the path as we map
109
+
110
+ let lastPath;
111
+ return indexes.map(i => {
112
+ lastPath = lastPath ? [lastPath, i].join('.') : i;
113
+ return sanitizeItem(data.find(i => i.path === lastPath));
114
+ });
115
+ }
116
+
117
+ return null;
118
+ };
119
+ const filterData = (data, value = '') => {
120
+ if (value === '' || value === null) {
121
+ return data;
122
+ }
123
+
124
+ const filteredOptionValues = new Set();
125
+
126
+ const shouldFilterOption = option => {
127
+ if (option.disabled) {
128
+ return false;
129
+ }
130
+
131
+ return searchForString(option.text, String(value));
132
+ };
133
+
134
+ data.forEach(option => {
135
+ if (shouldFilterOption(option)) {
136
+ const parents = getOptionParents(data, option.path);
137
+ filteredOptionValues.add(option.value);
138
+
139
+ if (parents !== null) {
140
+ parents.forEach(option => filteredOptionValues.add(option === null || option === void 0 ? void 0 : option.value));
141
+ }
142
+ }
143
+ });
144
+ return data.filter(({
145
+ value
146
+ }) => filteredOptionValues.has(value));
147
+ };
148
+
149
+ export { filterData, findByValue, findNextIndexByValue, getActiveDescendant, getIndexFromValue, getOptionParents, getSelectedIndexesFromValue, sanitizeItem, searchForString, setInputValueByRef, useFlattenedData };
150
+ //# sourceMappingURL=util.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,9 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ const MenuContext = /*#__PURE__*/createContext(undefined);
4
+ const useCurrentMenu = () => {
5
+ return useContext(MenuContext);
6
+ };
7
+
8
+ export { MenuContext, useCurrentMenu };
9
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,74 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { useState, useMemo, createElement } from 'react';
3
+ import { MenuContext } from './Context.js';
4
+ import { Root } from '@radix-ui/react-dropdown-menu';
5
+ import { Content } from './components/Content.js';
6
+ import { Item } from './components/Item.js';
7
+ import { Link } from './components/Link.js';
8
+ import { Trigger } from './components/Trigger.js';
9
+ import { Checkbox } from './components/Checkbox.js';
10
+ import { RadioGroup } from './components/RadioGroup.js';
11
+ import { Separator } from './components/Separator.js';
12
+ import { Header } from './components/Header.js';
13
+
14
+ var _excluded = ["appearance", "children", "trigger"];
15
+ var Menu = function Menu(externalProps) {
16
+ var externalAppearance = externalProps.appearance,
17
+ children = externalProps.children,
18
+ trigger = externalProps.trigger,
19
+ props = _objectWithoutPropertiesLoose(externalProps, _excluded);
20
+
21
+ var _React$useState = useState(false),
22
+ open = _React$useState[0],
23
+ setOpen = _React$useState[1];
24
+
25
+ var _React$useState2 = useState(externalAppearance !== null && externalAppearance !== void 0 ? externalAppearance : 'default'),
26
+ appearance = _React$useState2[0],
27
+ _setAppearance = _React$useState2[1];
28
+
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];
36
+
37
+ var context = useMemo(function () {
38
+ return {
39
+ appearance: appearance,
40
+ setAppearance: function setAppearance(appearance) {
41
+ return _setAppearance(appearance);
42
+ },
43
+ indented: indented,
44
+ registerIndentation: function registerIndentation() {
45
+ return setIndented(true);
46
+ },
47
+ minWidth: minWidth,
48
+ setMinWidth: function setMinWidth(width) {
49
+ return _setMinWidth(width);
50
+ },
51
+ close: function close() {
52
+ return setOpen(false);
53
+ }
54
+ };
55
+ }, [indented, minWidth, appearance]);
56
+ return createElement(MenuContext.Provider, {
57
+ value: context
58
+ }, createElement(Root, Object.assign({}, props, {
59
+ modal: false,
60
+ open: open,
61
+ onOpenChange: setOpen
62
+ }), trigger && createElement(Trigger, null, trigger), children));
63
+ };
64
+ Menu.Trigger = Trigger;
65
+ Menu.Content = Content;
66
+ Menu.Item = Item;
67
+ Menu.Link = Link;
68
+ Menu.Checkbox = Checkbox;
69
+ Menu.Separator = Separator;
70
+ Menu.Header = Header;
71
+ Menu.RadioGroup = RadioGroup;
72
+
73
+ export { Menu };
74
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,31 @@
1
+ import { createElement } from 'react';
2
+ import { Icon } from '../../Icon/Icon.js';
3
+ import { CheckboxItem, ItemIndicator } from '@radix-ui/react-dropdown-menu';
4
+ import { useItemStyling } from './Item.js';
5
+
6
+ const Checkbox = props => {
7
+ const {
8
+ checked,
9
+ children,
10
+ onChange,
11
+ ...otherProps
12
+ } = props;
13
+ const className = useItemStyling({
14
+ disabled: props.disabled,
15
+ indented: true,
16
+ className: props.className
17
+ });
18
+ return createElement(CheckboxItem, Object.assign({}, otherProps, {
19
+ className: className,
20
+ checked: checked,
21
+ onCheckedChange: onChange
22
+ }), createElement(ItemIndicator, {
23
+ className: "absolute left-0 ml-1.5"
24
+ }, createElement(Icon, {
25
+ name: "tick",
26
+ className: "!h-4 !w-4 -ml-px"
27
+ })), children);
28
+ };
29
+
30
+ export { Checkbox };
31
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,50 @@
1
+ import { forwardRef, createElement } from 'react';
2
+ import cn from 'classnames';
3
+ import { useProxiedRef } from '../../../utils/hooks/useProxiedRef.js';
4
+ import { useCurrentMenu } from '../Context.js';
5
+ import { Content as Content$1 } from '@radix-ui/react-dropdown-menu';
6
+
7
+ const getAppearanceClasses = appearance => {
8
+ switch (appearance) {
9
+ case 'primary':
10
+ return 'wcag-blue border-blue';
11
+
12
+ case 'danger':
13
+ return 'wcag-red border-red';
14
+
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);
36
+ return createElement(Content$1, Object.assign({}, otherProps, {
37
+ align: "start",
38
+ className: className,
39
+ "data-taco": "menu",
40
+ side: side,
41
+ sideOffset: 2,
42
+ style: {
43
+ minWidth: menu === null || menu === void 0 ? void 0 : menu.minWidth
44
+ },
45
+ ref: internalRef
46
+ }), children);
47
+ });
48
+
49
+ export { Content };
50
+ //# sourceMappingURL=Content.js.map
@@ -0,0 +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;;;;"}