@economic/taco 0.0.26-alpha.8 → 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 (418) hide show
  1. package/README.md +84 -84
  2. package/dist/components/Combobox/Combobox.d.ts +3 -0
  3. package/dist/components/Combobox/useCombobox.d.ts +1 -1
  4. package/dist/components/Datepicker/Datepicker.d.ts +1 -1
  5. package/dist/components/Field/Field.d.ts +24 -13
  6. package/dist/components/Input/Input.d.ts +5 -2
  7. package/dist/components/Input/util.d.ts +3 -1
  8. package/dist/components/Listbox/Listbox.d.ts +7 -3
  9. package/dist/components/Listbox/ScrollableList.d.ts +5 -2
  10. package/dist/components/Listbox/useListbox.d.ts +1 -1
  11. package/dist/components/Menu/Menu.d.ts +3 -0
  12. package/dist/components/SearchInput/SearchInput.d.ts +1 -1
  13. package/dist/components/Select/Select.d.ts +1 -1
  14. package/dist/components/Textarea/Textarea.d.ts +5 -2
  15. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -19
  16. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  17. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  18. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  19. package/dist/esm/components/Badge/Badge.js +14 -14
  20. package/dist/esm/components/Badge/Badge.js.map +1 -1
  21. package/dist/esm/components/Banner/Banner.js +7 -5
  22. package/dist/esm/components/Banner/Banner.js.map +1 -1
  23. package/dist/esm/components/Banner/util.js +1 -1
  24. package/dist/esm/components/Banner/util.js.map +1 -1
  25. package/dist/esm/components/Button/Button.js +12 -14
  26. package/dist/esm/components/Button/Button.js.map +1 -1
  27. package/dist/esm/components/Button/util.js +21 -25
  28. package/dist/esm/components/Button/util.js.map +1 -1
  29. package/dist/esm/components/Calendar/Calendar.js +56 -71
  30. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  31. package/dist/esm/components/Checkbox/Checkbox.js +19 -22
  32. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  33. package/dist/esm/components/Combobox/Combobox.js +32 -29
  34. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  35. package/dist/esm/components/Combobox/useCombobox.js +67 -87
  36. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  37. package/dist/esm/components/Datepicker/Datepicker.js +48 -52
  38. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  39. package/dist/esm/components/Datepicker/useDatepicker.js +27 -34
  40. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  41. package/dist/esm/components/Dialog/Context.js +4 -4
  42. package/dist/esm/components/Dialog/Context.js.map +1 -1
  43. package/dist/esm/components/Dialog/Dialog.js +39 -58
  44. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  45. package/dist/esm/components/Dialog/components/Content.js +39 -44
  46. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  47. package/dist/esm/components/Dialog/components/Drawer.js +3 -3
  48. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  49. package/dist/esm/components/Dialog/components/Extra.js +2 -2
  50. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  51. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  52. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  53. package/dist/esm/components/Field/Field.js +22 -42
  54. package/dist/esm/components/Field/Field.js.map +1 -1
  55. package/dist/esm/components/Form/Form.js +6 -8
  56. package/dist/esm/components/Form/Form.js.map +1 -1
  57. package/dist/esm/components/Group/Group.js +6 -8
  58. package/dist/esm/components/Group/Group.js.map +1 -1
  59. package/dist/esm/components/Hanger/Hanger.js +32 -29
  60. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  61. package/dist/esm/components/Icon/Icon.js +7 -8
  62. package/dist/esm/components/Icon/Icon.js.map +1 -1
  63. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  64. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  65. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  66. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  67. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  72. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  73. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  74. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  75. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  76. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  77. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  78. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  79. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  80. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  81. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  82. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  83. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  84. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  85. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  86. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  87. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  88. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  89. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  90. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  91. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  92. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  93. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  94. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  95. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  96. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  97. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  98. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  99. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  100. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  101. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  102. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  103. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  104. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  105. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  106. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  107. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  108. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  109. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  110. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  111. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  112. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  113. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  114. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  115. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  116. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  117. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  118. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  119. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  120. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  121. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  122. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  123. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  124. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  125. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  126. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  127. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  128. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  129. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  130. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  131. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  132. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  133. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  134. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  135. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  136. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  137. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  138. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  139. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  140. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  141. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  142. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  143. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  144. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  145. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  146. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  147. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  148. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  149. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  150. package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -1
  151. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  152. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  153. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  154. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  155. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  156. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  157. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  158. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  159. package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -1
  160. package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -1
  161. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  162. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  163. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  164. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  165. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  166. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  167. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  168. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  169. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  170. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  171. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  172. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  173. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  174. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  175. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  176. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  177. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  178. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  179. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  180. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  181. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  182. package/dist/esm/components/Icon/components/List.js.map +1 -1
  183. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  184. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  185. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  186. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  187. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  188. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  189. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  190. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  191. package/dist/esm/components/Icon/components/Minus.js.map +1 -1
  192. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  193. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  194. package/dist/esm/components/Icon/components/More.js.map +1 -1
  195. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  196. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  197. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  198. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  199. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  200. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  201. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  202. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  203. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  204. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  205. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  206. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  207. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  208. package/dist/esm/components/Icon/components/PlusCircle.js.map +1 -1
  209. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  210. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  211. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  212. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  213. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  214. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  215. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  216. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  217. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  218. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  219. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  220. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  221. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  222. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  223. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  224. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  225. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  226. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  227. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  228. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  229. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  230. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  231. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  232. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  233. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  234. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  235. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  236. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  237. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  238. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  239. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  240. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  241. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  242. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  243. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  244. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  245. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  246. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  247. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  248. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  249. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  250. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  251. package/dist/esm/components/Icon/components/ThumbUp.js.map +1 -1
  252. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  253. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  254. package/dist/esm/components/Icon/components/TickCircle.js.map +1 -1
  255. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  256. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  257. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  258. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  259. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  260. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  261. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  262. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  263. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  264. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  265. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  266. package/dist/esm/components/Icon/components/index.js +4 -4
  267. package/dist/esm/components/Icon/components/index.js.map +1 -1
  268. package/dist/esm/components/IconButton/IconButton.js +9 -12
  269. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  270. package/dist/esm/components/Input/Input.js +27 -26
  271. package/dist/esm/components/Input/Input.js.map +1 -1
  272. package/dist/esm/components/Input/util.js +38 -10
  273. package/dist/esm/components/Input/util.js.map +1 -1
  274. package/dist/esm/components/Listbox/Listbox.js +24 -25
  275. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  276. package/dist/esm/components/Listbox/ScrollableList.js +74 -82
  277. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  278. package/dist/esm/components/Listbox/useListbox.js +49 -60
  279. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  280. package/dist/esm/components/Listbox/useMultiListbox.js +63 -91
  281. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  282. package/dist/esm/components/Listbox/useTypeahead.js +10 -9
  283. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  284. package/dist/esm/components/Listbox/util.js +48 -84
  285. package/dist/esm/components/Listbox/util.js.map +1 -1
  286. package/dist/esm/components/Menu/Context.js +2 -2
  287. package/dist/esm/components/Menu/Context.js.map +1 -1
  288. package/dist/esm/components/Menu/Menu.js +20 -42
  289. package/dist/esm/components/Menu/Menu.js.map +1 -1
  290. package/dist/esm/components/Menu/components/Checkbox.js +8 -9
  291. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  292. package/dist/esm/components/Menu/components/Content.js +10 -13
  293. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  294. package/dist/esm/components/Menu/components/Header.js +4 -4
  295. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  296. package/dist/esm/components/Menu/components/Item.js +34 -35
  297. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  298. package/dist/esm/components/Menu/components/Link.js +10 -11
  299. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  300. package/dist/esm/components/Menu/components/RadioGroup.js +16 -18
  301. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  302. package/dist/esm/components/Menu/components/Separator.js +4 -4
  303. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  304. package/dist/esm/components/Menu/components/Trigger.js +5 -5
  305. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  306. package/dist/esm/components/Navigation/Navigation.js +35 -44
  307. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  308. package/dist/esm/components/Pagination/PageNumbers.js +23 -28
  309. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  310. package/dist/esm/components/Pagination/Pagination.js +39 -56
  311. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  312. package/dist/esm/components/Pagination/usePagination.js +7 -21
  313. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  314. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  315. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  316. package/dist/esm/components/Popover/Popover.js +29 -34
  317. package/dist/esm/components/Popover/Popover.js.map +1 -1
  318. package/dist/esm/components/Popover/Primitives.js +7 -8
  319. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  320. package/dist/esm/components/Progress/Progress.js +11 -15
  321. package/dist/esm/components/Progress/Progress.js.map +1 -1
  322. package/dist/esm/components/Provider/Provider.js +13 -18
  323. package/dist/esm/components/Provider/Provider.js.map +1 -1
  324. package/dist/esm/components/RadioGroup/RadioGroup.js +46 -58
  325. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  326. package/dist/esm/components/SearchInput/SearchInput.js +11 -12
  327. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  328. package/dist/esm/components/Select/Select.js +30 -32
  329. package/dist/esm/components/Select/Select.js.map +1 -1
  330. package/dist/esm/components/Select/useSelect.js +64 -82
  331. package/dist/esm/components/Select/useSelect.js.map +1 -1
  332. package/dist/esm/components/Spinner/Spinner.js +12 -19
  333. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  334. package/dist/esm/components/Switch/Switch.js +11 -12
  335. package/dist/esm/components/Switch/Switch.js.map +1 -1
  336. package/dist/esm/components/Table/components/BaseTable.js +23 -30
  337. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  338. package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
  339. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  340. package/dist/esm/components/Table/components/Table.js +18 -25
  341. package/dist/esm/components/Table/components/Table.js.map +1 -1
  342. package/dist/esm/components/Table/components/WindowedTable.js +88 -104
  343. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  344. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +122 -146
  345. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  346. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
  347. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  348. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
  349. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  350. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +80 -90
  351. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  352. package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
  353. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  354. package/dist/esm/components/Table/hooks/useTable.js +119 -141
  355. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  356. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +12 -15
  357. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  358. package/dist/esm/components/Table/util/renderColumn.js +11 -11
  359. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  360. package/dist/esm/components/Table/util/renderRow.js +37 -46
  361. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  362. package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
  363. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  364. package/dist/esm/components/Table/util/sortTypes.js +23 -31
  365. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  366. package/dist/esm/components/Table/util.js +29 -41
  367. package/dist/esm/components/Table/util.js.map +1 -1
  368. package/dist/esm/components/Tabs/Tabs.js +25 -27
  369. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  370. package/dist/esm/components/Textarea/Textarea.js +11 -9
  371. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  372. package/dist/esm/components/Toast/Toast.js +20 -21
  373. package/dist/esm/components/Toast/Toast.js.map +1 -1
  374. package/dist/esm/components/Toast/Toaster.js +88 -118
  375. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  376. package/dist/esm/components/Toast/util.js +2 -2
  377. package/dist/esm/components/Toast/util.js.map +1 -1
  378. package/dist/esm/components/Tooltip/Tooltip.js +7 -8
  379. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  380. package/dist/esm/components/Tour/Tour.js +44 -50
  381. package/dist/esm/components/Tour/Tour.js.map +1 -1
  382. package/dist/esm/components/Treeview/Treeview.js +26 -36
  383. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  384. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  385. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  386. package/dist/esm/index.css +643 -642
  387. package/dist/esm/index.js +1 -1
  388. package/dist/esm/primitives/Button.js +9 -13
  389. package/dist/esm/primitives/Button.js.map +1 -1
  390. package/dist/esm/utils/date.js.map +1 -1
  391. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  392. package/dist/esm/utils/hooks/useDraggable.js +16 -18
  393. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  394. package/dist/esm/utils/hooks/useDropTarget.js +7 -10
  395. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  396. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  397. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  398. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  399. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  400. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  401. package/dist/esm/utils/hooks/useTimer.js +9 -17
  402. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  403. package/dist/esm/utils/input.js +7 -11
  404. package/dist/esm/utils/input.js.map +1 -1
  405. package/dist/esm/utils/mergeRefs.js +2 -2
  406. package/dist/esm/utils/mergeRefs.js.map +1 -1
  407. package/dist/esm/utils/taillwind.js +2 -2
  408. package/dist/esm/utils/taillwind.js.map +1 -1
  409. package/dist/index.css +643 -642
  410. package/dist/taco.cjs.development.js +2290 -2761
  411. package/dist/taco.cjs.development.js.map +1 -1
  412. package/dist/taco.cjs.production.min.js +1 -1
  413. package/dist/taco.cjs.production.min.js.map +1 -1
  414. package/dist/utils/tailwind.d.ts +1 -0
  415. package/package.json +31 -31
  416. package/plugins/tailwindcss-aria-attributes.js +73 -73
  417. package/tailwind.config.js +297 -297
  418. package/types.json +449 -455
@@ -1,4 +1,3 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { useMemo, useState, useEffect } from 'react';
3
2
  import { v4 } from 'uuid';
4
3
  import { useLocalization } from '../Provider/Provider.js';
@@ -7,62 +6,46 @@ import keycode from 'keycode';
7
6
  import { getIndexFromValue, getSelectedIndexesFromValue, setInputValueByRef, getActiveDescendant, findByValue } from './util.js';
8
7
  import { useTypeahead } from './useTypeahead.js';
9
8
 
10
- var _excluded = ["data", "defaultValue", "disabled", "id", "name", "onClick", "onChange", "onFocus", "onKeyDown", "value"];
11
- var useMultiListbox = function useMultiListbox(_ref, ref) {
12
- var _ref$data = _ref.data,
13
- externalData = _ref$data === void 0 ? [] : _ref$data,
14
- defaultValue = _ref.defaultValue,
15
- disabled = _ref.disabled,
16
- nativeId = _ref.id,
17
- name = _ref.name,
18
- onClick = _ref.onClick,
19
- onChange = _ref.onChange,
20
- onFocus = _ref.onFocus,
21
- onKeyDown = _ref.onKeyDown,
22
- value = _ref.value,
23
- otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
24
-
25
- var _useLocalization = useLocalization(),
26
- texts = _useLocalization.texts;
27
-
28
- var id = useMemo(function () {
29
- return nativeId || v4();
30
- }, [nativeId]);
31
- var inputRef = useProxiedRef(ref);
32
- var data = useMemo(function () {
9
+ const useMultiListbox = ({
10
+ data: externalData = [],
11
+ defaultValue,
12
+ disabled,
13
+ id: nativeId,
14
+ name,
15
+ onClick,
16
+ onChange,
17
+ onFocus,
18
+ onKeyDown,
19
+ value,
20
+ ...otherProps
21
+ }, ref) => {
22
+ const {
23
+ texts
24
+ } = useLocalization();
25
+ const id = useMemo(() => nativeId || v4(), [nativeId]);
26
+ const inputRef = useProxiedRef(ref);
27
+ const data = useMemo(() => {
33
28
  return [{
34
29
  text: texts.listbox.allOption,
35
30
  value: '#ALL-OPTIONS#'
36
- }].concat(externalData);
31
+ }, ...externalData];
37
32
  }, [externalData]);
38
-
39
- var _React$useState = useState(getIndexFromValue(data, value) || 0),
40
- currentIndex = _React$useState[0],
41
- setCurrentIndex = _React$useState[1];
42
-
43
- var _React$useState2 = useState(false),
44
- allOptionsSelected = _React$useState2[0],
45
- setAllOptionsSelected = _React$useState2[1];
46
-
47
- var _useTypeahead = useTypeahead({
48
- data: data,
49
- currentIndex: currentIndex
50
- }),
51
- getNextIndex = _useTypeahead.getNextIndex;
52
-
53
- var _React$useState3 = useState(getSelectedIndexesFromValue(data, value)),
54
- selectedIndexes = _React$useState3[0],
55
- setSelectedIndexes = _React$useState3[1];
56
-
57
- useEffect(function () {
33
+ const [currentIndex, setCurrentIndex] = useState(getIndexFromValue(data, value) || 0);
34
+ const [allOptionsSelected, setAllOptionsSelected] = useState(false);
35
+ const {
36
+ getNextIndex
37
+ } = useTypeahead({
38
+ data,
39
+ currentIndex
40
+ });
41
+ const [selectedIndexes, setSelectedIndexes] = useState(getSelectedIndexesFromValue(data, value));
42
+ useEffect(() => {
58
43
  if (defaultValue && !value) {
59
44
  setInputValueByRef(inputRef.current, defaultValue.toString());
60
45
  }
61
46
  }, []);
62
- useEffect(function () {
63
- var selectableItemsCount = data.filter(function (item) {
64
- return !item.disabled;
65
- }).length - 1;
47
+ useEffect(() => {
48
+ const selectableItemsCount = data.filter(item => !item.disabled).length - 1;
66
49
 
67
50
  if (selectableItemsCount === selectedIndexes.length) {
68
51
  setAllOptionsSelected(true);
@@ -71,38 +54,30 @@ var useMultiListbox = function useMultiListbox(_ref, ref) {
71
54
  }
72
55
  }, [selectedIndexes, data]);
73
56
 
74
- var setInputValueByIndex = function setInputValueByIndex(index) {
57
+ const setInputValueByIndex = index => {
75
58
  if (index !== undefined) {
76
- var option = data[index];
59
+ const option = data[index];
77
60
 
78
61
  if (option && !option.disabled) {
79
62
  var _inputRef$current;
80
63
 
81
- var newInputValue = '';
82
- var currentInputValue = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value;
83
- var currentValuesArray = (currentInputValue === null || currentInputValue === void 0 ? void 0 : currentInputValue.split(',')) || [];
84
- var optionAlreadySelected = currentValuesArray.findIndex(function (val) {
85
- return val === String(option.value);
86
- }) !== -1; // Handling the select_all option
64
+ let newInputValue = '';
65
+ const currentInputValue = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value;
66
+ const currentValuesArray = (currentInputValue === null || currentInputValue === void 0 ? void 0 : currentInputValue.split(',')) || [];
67
+ const optionAlreadySelected = currentValuesArray.findIndex(val => val === String(option.value)) !== -1; // Handling the select_all option
87
68
 
88
69
  if (option.value === '#ALL-OPTIONS#') {
89
70
  if (!allOptionsSelected) {
90
- newInputValue = data.filter(function (option, index) {
91
- return index !== 0 && !option.disabled;
92
- }).map(function (option) {
93
- return option.value;
94
- }).join(',');
71
+ newInputValue = data.filter((option, index) => index !== 0 && !option.disabled).map(option => option.value).join(',');
95
72
  } else {
96
73
  newInputValue = '';
97
74
  }
98
75
  } else {
99
76
  // Handling rest options
100
77
  if (optionAlreadySelected) {
101
- newInputValue = currentValuesArray.filter(function (val) {
102
- return val !== String(option.value);
103
- }).join(',');
78
+ newInputValue = currentValuesArray.filter(val => val !== String(option.value)).join(',');
104
79
  } else {
105
- newInputValue = currentInputValue ? currentInputValue + "," + option.value : option.value;
80
+ newInputValue = currentInputValue ? `${currentInputValue},${option.value}` : option.value;
106
81
  }
107
82
  }
108
83
 
@@ -111,7 +86,7 @@ var useMultiListbox = function useMultiListbox(_ref, ref) {
111
86
  }
112
87
  };
113
88
 
114
- var handleListboxClick = function handleListboxClick(event, index) {
89
+ const handleListboxClick = (event, index) => {
115
90
  event.preventDefault();
116
91
 
117
92
  if (!data[index].disabled) {
@@ -124,11 +99,11 @@ var useMultiListbox = function useMultiListbox(_ref, ref) {
124
99
  }
125
100
  };
126
101
 
127
- var handleListboxKeyDown = function handleListboxKeyDown(event, index) {
128
- var charKey = String.fromCharCode(event.keyCode);
102
+ const handleListboxKeyDown = (event, index) => {
103
+ const charKey = String.fromCharCode(event.keyCode);
129
104
 
130
105
  if (charKey.match(/(\w)/g)) {
131
- var nextIndex = getNextIndex(charKey);
106
+ const nextIndex = getNextIndex(charKey);
132
107
 
133
108
  if (nextIndex > -1 && nextIndex !== currentIndex) {
134
109
  setCurrentIndex(nextIndex);
@@ -160,22 +135,22 @@ var useMultiListbox = function useMultiListbox(_ref, ref) {
160
135
  }
161
136
  };
162
137
 
163
- var handleListboxFocus = function handleListboxFocus(event) {
138
+ const handleListboxFocus = event => {
164
139
  if (onFocus) {
165
140
  event.persist();
166
141
  onFocus(event);
167
142
  }
168
143
  };
169
144
 
170
- var handleInputChange = function handleInputChange(event) {
145
+ const handleInputChange = event => {
171
146
  event.persist();
172
147
  setSelectedIndexes(getSelectedIndexesFromValue(data, event.target.value));
173
148
 
174
149
  if (onChange) {
175
- var detail = [];
176
- var valuesArray = event.target.value.split(',');
177
- valuesArray.forEach(function (val) {
178
- var item = findByValue(data, val);
150
+ const detail = [];
151
+ const valuesArray = event.target.value.split(',');
152
+ valuesArray.forEach(val => {
153
+ const item = findByValue(data, val);
179
154
 
180
155
  if (item) {
181
156
  detail.push(item);
@@ -186,36 +161,33 @@ var useMultiListbox = function useMultiListbox(_ref, ref) {
186
161
  }
187
162
  };
188
163
 
189
- var list = _extends({}, otherProps, {
164
+ const list = { ...otherProps,
190
165
  'aria-activedescendant': getActiveDescendant(data, currentIndex, id),
191
166
  'aria-multiselectable': true,
192
- data: data,
193
- disabled: disabled,
194
- id: id,
195
- onChange: function onChange() {
196
- return null;
197
- },
167
+ data,
168
+ disabled,
169
+ id,
170
+ onChange: () => null,
198
171
  onClick: handleListboxClick,
199
172
  onFocus: handleListboxFocus,
200
173
  onKeyDown: handleListboxKeyDown,
201
174
  scrollOnFocus: false,
202
175
  tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,
203
176
  value: currentIndex,
204
- selectedIndexes: selectedIndexes,
177
+ selectedIndexes,
205
178
  multiselect: true,
206
- allOptionsSelected: allOptionsSelected
207
- });
208
-
209
- var input = {
210
- name: name,
179
+ allOptionsSelected
180
+ };
181
+ const input = {
182
+ name,
211
183
  onChange: handleInputChange,
212
184
  ref: inputRef,
213
185
  tabIndex: -1,
214
186
  value: value !== null && value !== void 0 ? value : ''
215
187
  };
216
188
  return {
217
- list: list,
218
- input: input
189
+ list,
190
+ input
219
191
  };
220
192
  };
221
193
 
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiListbox.js","sources":["../../../../src/components/Listbox/useMultiListbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport keycode from 'keycode';\nimport { v4 as uuid } from 'uuid';\nimport { useLocalization } from '../Provider/Provider';\nimport { ListboxProps } from './Listbox';\nimport { useProxiedRef } from '../../utils/hooks/useProxiedRef';\nimport { setInputValueByRef, getIndexFromValue, getSelectedIndexesFromValue, findByValue, getActiveDescendant } from './util';\nimport { ScrollableListProps, ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\nimport { useTypeahead } from './useTypeahead';\n\ntype useListbox = {\n list: ScrollableListProps;\n input: Omit<React.HTMLAttributes<HTMLInputElement>, 'defaultValue'>;\n};\n\nexport const useMultiListbox = (\n {\n data: externalData = [],\n defaultValue,\n disabled,\n id: nativeId,\n name,\n onClick,\n onChange,\n onFocus,\n onKeyDown,\n value,\n ...otherProps\n }: ListboxProps,\n ref: React.Ref<HTMLInputElement>\n): useListbox => {\n const { texts } = useLocalization();\n const id = React.useMemo(() => nativeId || uuid(), [nativeId]);\n const inputRef = useProxiedRef<HTMLInputElement>(ref);\n const data = React.useMemo(() => {\n return [{ text: texts.listbox.allOption, value: '#ALL-OPTIONS#' }, ...externalData];\n }, [externalData]);\n const [currentIndex, setCurrentIndex] = React.useState(getIndexFromValue(data, value) || 0);\n const [allOptionsSelected, setAllOptionsSelected] = React.useState(false);\n const { getNextIndex } = useTypeahead({ data, currentIndex });\n const [selectedIndexes, setSelectedIndexes] = React.useState(getSelectedIndexesFromValue(data, value));\n\n React.useEffect(() => {\n if (defaultValue && !value) {\n setInputValueByRef(inputRef.current, defaultValue.toString());\n }\n }, []);\n\n React.useEffect(() => {\n const selectableItemsCount = data.filter(item => !item.disabled).length - 1;\n\n if (selectableItemsCount === selectedIndexes.length) {\n setAllOptionsSelected(true);\n } else {\n setAllOptionsSelected(false);\n }\n }, [selectedIndexes, data]);\n\n const setInputValueByIndex = (index: number | undefined): void => {\n if (index !== undefined) {\n const option = data[index];\n\n if (option && !option.disabled) {\n let newInputValue: ScrollableListItemValue = '';\n const currentInputValue = inputRef.current?.value;\n const currentValuesArray = currentInputValue?.split(',') || [];\n const optionAlreadySelected = currentValuesArray.findIndex(val => val === String(option.value)) !== -1;\n\n // Handling the select_all option\n if (option.value === '#ALL-OPTIONS#') {\n if (!allOptionsSelected) {\n newInputValue = data\n .filter((option, index) => index !== 0 && !option.disabled)\n .map(option => option.value)\n .join(',');\n } else {\n newInputValue = '';\n }\n } else {\n // Handling rest options\n if (optionAlreadySelected) {\n newInputValue = currentValuesArray.filter(val => val !== String(option.value)).join(',');\n } else {\n newInputValue = currentInputValue ? `${currentInputValue},${option.value}` : option.value;\n }\n }\n\n setInputValueByRef(inputRef.current, newInputValue);\n }\n }\n };\n\n const handleListboxClick = (event: React.MouseEvent<HTMLLIElement>, index: number): void => {\n event.preventDefault();\n\n if (!data[index].disabled) {\n setCurrentIndex(index);\n setInputValueByIndex(index);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>, index: number): void => {\n const charKey = String.fromCharCode(event.keyCode);\n\n if (charKey.match(/(\\w)/g)) {\n const nextIndex = getNextIndex(charKey);\n\n if (nextIndex > -1 && nextIndex !== currentIndex) {\n setCurrentIndex(nextIndex);\n }\n return;\n }\n\n switch (event.keyCode) {\n case keycode('space'): {\n event.preventDefault();\n setInputValueByIndex(index);\n break;\n }\n\n case keycode('enter'): {\n setInputValueByIndex(index);\n break;\n }\n\n default:\n }\n setCurrentIndex(index);\n\n if (onKeyDown) {\n event.persist();\n onKeyDown(event);\n }\n };\n\n const handleListboxFocus = (event: React.FocusEvent<HTMLElement>): void => {\n if (onFocus) {\n event.persist();\n onFocus(event);\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n event.persist();\n\n setSelectedIndexes(getSelectedIndexesFromValue(data, event.target.value));\n\n if (onChange) {\n const detail: ScrollableListItem[] = [];\n const valuesArray = event.target.value.split(',');\n\n valuesArray.forEach(val => {\n const item = findByValue(data, val);\n if (item) {\n detail.push(item);\n }\n });\n (event as any).detail = detail;\n\n onChange(event);\n }\n };\n\n const list = {\n ...otherProps,\n 'aria-activedescendant': getActiveDescendant(data, currentIndex, id),\n 'aria-multiselectable': true,\n data,\n disabled,\n id,\n onChange: () => null,\n onClick: handleListboxClick,\n onFocus: handleListboxFocus,\n onKeyDown: handleListboxKeyDown,\n scrollOnFocus: false,\n tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,\n value: currentIndex,\n selectedIndexes,\n multiselect: true,\n allOptionsSelected,\n };\n\n const input = {\n name,\n onChange: handleInputChange,\n ref: inputRef,\n tabIndex: -1,\n value: value ?? '',\n };\n\n return { list, input };\n};\n"],"names":["useMultiListbox","ref","data","externalData","defaultValue","disabled","nativeId","id","name","onClick","onChange","onFocus","onKeyDown","value","otherProps","useLocalization","texts","React","uuid","inputRef","useProxiedRef","text","listbox","allOption","getIndexFromValue","currentIndex","setCurrentIndex","allOptionsSelected","setAllOptionsSelected","useTypeahead","getNextIndex","getSelectedIndexesFromValue","selectedIndexes","setSelectedIndexes","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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"}
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 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","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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"}
@@ -2,24 +2,25 @@ import { useRef } from 'react';
2
2
  import useTimer from '../../utils/hooks/useTimer.js';
3
3
  import { findNextIndexByValue } from './util.js';
4
4
 
5
- var useTypeahead = function useTypeahead(_ref) {
6
- var data = _ref.data,
7
- currentIndex = _ref.currentIndex;
8
- var typeaheadQuery = useRef();
9
- var typeaheadQueryTimer = useTimer(1000, function () {
5
+ const useTypeahead = ({
6
+ data,
7
+ currentIndex
8
+ }) => {
9
+ const typeaheadQuery = useRef();
10
+ const typeaheadQueryTimer = useTimer(1000, () => {
10
11
  typeaheadQuery.current = undefined;
11
12
  });
12
13
 
13
- var getNextIndex = function getNextIndex(charKey) {
14
- var query = (typeaheadQuery.current ? typeaheadQuery.current + charKey : charKey).toLowerCase();
15
- var nextIndex = findNextIndexByValue(data, query, currentIndex);
14
+ const getNextIndex = charKey => {
15
+ const query = (typeaheadQuery.current ? typeaheadQuery.current + charKey : charKey).toLowerCase();
16
+ const nextIndex = findNextIndexByValue(data, query, currentIndex);
16
17
  typeaheadQueryTimer.start();
17
18
  typeaheadQuery.current = query;
18
19
  return nextIndex;
19
20
  };
20
21
 
21
22
  return {
22
- getNextIndex: getNextIndex
23
+ getNextIndex
23
24
  };
24
25
  };
25
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"useTypeahead.js","sources":["../../../../src/components/Listbox/useTypeahead.tsx"],"sourcesContent":["import * as React from 'react';\nimport useTimer from '../../utils/hooks/useTimer';\nimport { findNextIndexByValue } from './util';\nimport { ScrollableListItem } from './ScrollableList';\n\ntype useTypeahead = {\n getNextIndex: (key: string) => number;\n};\n\ntype useTypeaheadProps = {\n data: ScrollableListItem[];\n currentIndex: number | undefined;\n};\n\nexport const useTypeahead = ({ data, currentIndex }: useTypeaheadProps): useTypeahead => {\n const typeaheadQuery = React.useRef<string | undefined>();\n const typeaheadQueryTimer = useTimer(1000, () => {\n typeaheadQuery.current = undefined;\n });\n\n const getNextIndex = (charKey: string): number => {\n const query = (typeaheadQuery.current ? typeaheadQuery.current + charKey : charKey).toLowerCase();\n const nextIndex = findNextIndexByValue(data, query, currentIndex);\n\n typeaheadQueryTimer.start();\n typeaheadQuery.current = query;\n\n return nextIndex;\n };\n\n return { getNextIndex };\n};\n"],"names":["useTypeahead","data","currentIndex","typeaheadQuery","React","typeaheadQueryTimer","useTimer","current","undefined","getNextIndex","charKey","query","toLowerCase","nextIndex","findNextIndexByValue","start"],"mappings":";;;;IAcaA,YAAY,GAAG,SAAfA,YAAe;MAAGC,YAAAA;MAAMC,oBAAAA;AACjC,MAAMC,cAAc,GAAGC,MAAA,EAAvB;AACA,MAAMC,mBAAmB,GAAGC,QAAQ,CAAC,IAAD,EAAO;AACvCH,IAAAA,cAAc,CAACI,OAAf,GAAyBC,SAAzB;AACH,GAFmC,CAApC;;AAIA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,OAAD;AACjB,QAAMC,KAAK,GAAG,CAACR,cAAc,CAACI,OAAf,GAAyBJ,cAAc,CAACI,OAAf,GAAyBG,OAAlD,GAA4DA,OAA7D,EAAsEE,WAAtE,EAAd;AACA,QAAMC,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,YAAY,EAAZA;AAAF,GAAP;AACH;;;;"}
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;;;;"}
@@ -1,47 +1,25 @@
1
- import { extends as _extends, objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import { getId } from './ScrollableList.js';
4
3
  import { setInputValueByRef as setInputValueByRef$1 } from '../../utils/input.js';
5
4
 
6
- var _excluded = ["hasChildren", "path"];
7
- var setInputValueByRef = function setInputValueByRef(input, value, event) {
8
- if (event === void 0) {
9
- event = 'change';
10
- }
11
-
5
+ const setInputValueByRef = (input, value, event = 'change') => {
12
6
  setInputValueByRef$1(input, value !== undefined && value !== null ? String(value) : '', event);
13
7
  };
14
8
 
15
- var getValue = function getValue(value) {
16
- return value === undefined || value === null ? '' : String(value);
17
- };
9
+ const getValue = value => value === undefined || value === null ? '' : String(value);
18
10
 
19
- var getIndexFromValue = function getIndexFromValue(data, value) {
20
- var index = data.findIndex(function (option) {
21
- return getValue(option.value) === getValue(value);
22
- });
11
+ const getIndexFromValue = (data, value) => {
12
+ const index = data.findIndex(option => getValue(option.value) === getValue(value));
23
13
  return index > -1 ? index : undefined;
24
14
  };
25
- var getSelectedIndexesFromValue = function getSelectedIndexesFromValue(data, value) {
15
+ const getSelectedIndexesFromValue = (data, value) => {
26
16
  if (typeof value !== 'string') return [];
27
- return value.split(',').map(function (v) {
28
- return data.findIndex(function (o) {
29
- return String(o.value) === v;
30
- });
31
- }).filter(function (v) {
32
- return v !== -1;
33
- });
17
+ return value.split(',').map(v => data.findIndex(o => String(o.value) === v)).filter(v => v !== -1);
34
18
  };
35
- var findByValue = function findByValue(data, value) {
36
- return data.find(function (option) {
37
- return getValue(option.value) === getValue(value);
38
- });
19
+ const findByValue = (data, value) => {
20
+ return data.find(option => getValue(option.value) === getValue(value));
39
21
  };
40
- var searchForString = function searchForString(child, value, strategy) {
41
- if (strategy === void 0) {
42
- strategy = 'includes';
43
- }
44
-
22
+ const searchForString = (child, value, strategy = 'includes') => {
45
23
  try {
46
24
  var _child$props;
47
25
 
@@ -49,9 +27,7 @@ var searchForString = function searchForString(child, value, strategy) {
49
27
  var _child$props2, _child$props3;
50
28
 
51
29
  if (Array.isArray((_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.children)) {
52
- return !!child.props.children.find(function (subChild) {
53
- return searchForString(subChild, value, strategy);
54
- });
30
+ return !!child.props.children.find(subChild => searchForString(subChild, value, strategy));
55
31
  }
56
32
 
57
33
  return searchForString((_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.children, value, strategy);
@@ -60,17 +36,13 @@ var searchForString = function searchForString(child, value, strategy) {
60
36
 
61
37
  return child.toString().toLowerCase()[strategy]((_String = String(value)) === null || _String === void 0 ? void 0 : _String.toLowerCase());
62
38
  }
63
- } catch (_unused) {
39
+ } catch {
64
40
  return false;
65
41
  }
66
42
  };
67
43
 
68
- var getIndexInRangeByValue = function getIndexInRangeByValue(data, query, firstIndex, lastIndex) {
69
- if (lastIndex === void 0) {
70
- lastIndex = data.length;
71
- }
72
-
73
- var index = data.slice(firstIndex, lastIndex).findIndex(function (option) {
44
+ const getIndexInRangeByValue = (data, query, firstIndex, lastIndex = data.length) => {
45
+ const index = data.slice(firstIndex, lastIndex).findIndex(option => {
74
46
  if (option.disabled) {
75
47
  return false;
76
48
  }
@@ -80,9 +52,9 @@ var getIndexInRangeByValue = function getIndexInRangeByValue(data, query, firstI
80
52
  return index > -1 ? index + firstIndex : -1;
81
53
  };
82
54
 
83
- var findNextIndexByValue = function findNextIndexByValue(data, query, activeIndex) {
84
- var firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;
85
- var index = getIndexInRangeByValue(data, query, firstIndex);
55
+ const findNextIndexByValue = (data, query, activeIndex) => {
56
+ const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;
57
+ let index = getIndexInRangeByValue(data, query, firstIndex);
86
58
 
87
59
  if (index === -1) {
88
60
  index = getIndexInRangeByValue(data, query, 0, activeIndex);
@@ -90,76 +62,71 @@ var findNextIndexByValue = function findNextIndexByValue(data, query, activeInde
90
62
 
91
63
  return index;
92
64
  };
93
- var getActiveDescendant = function getActiveDescendant(data, currentIndex, id) {
65
+ const getActiveDescendant = (data, currentIndex, id) => {
94
66
  return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;
95
67
  };
96
- var useFlattenedData = function useFlattenedData(data) {
97
- return React__default.useMemo(function () {
98
- var items = [];
99
-
100
- var flatten = function flatten(item, path, parentPath, parentDisabled) {
101
- var currentPath = parentPath ? parentPath + "." + path : "" + path;
102
- var isItemDisabled = parentDisabled || item.disabled;
103
- items.push(_extends({}, item, {
68
+ const useFlattenedData = data => {
69
+ return React__default.useMemo(() => {
70
+ const items = [];
71
+
72
+ const flatten = (item, path, parentPath, parentDisabled) => {
73
+ const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;
74
+ const isItemDisabled = parentDisabled || item.disabled;
75
+ items.push({ ...item,
104
76
  disabled: isItemDisabled,
105
77
  path: currentPath,
106
78
  hasChildren: !!item.children
107
- }));
79
+ });
108
80
 
109
81
  if (item.children) {
110
- item.children.forEach(function (childItem, childPath) {
111
- return flatten(childItem, childPath, currentPath, isItemDisabled);
112
- });
82
+ item.children.forEach((childItem, childPath) => flatten(childItem, childPath, currentPath, isItemDisabled));
113
83
  }
114
84
  };
115
85
 
116
- data.forEach(function (item, index) {
86
+ data.forEach((item, index) => {
117
87
  flatten(item, index);
118
88
  });
119
89
  return items;
120
90
  }, [data]);
121
91
  };
122
- var sanitizeItem = function sanitizeItem(item) {
92
+ const sanitizeItem = item => {
123
93
  if (item) {
124
- var rest = _objectWithoutPropertiesLoose(item, _excluded);
125
-
94
+ const {
95
+ hasChildren: _1,
96
+ path: _2,
97
+ ...rest
98
+ } = item;
126
99
  return rest;
127
100
  }
128
101
 
129
102
  return undefined;
130
103
  };
131
- var getOptionParents = function getOptionParents(data, path) {
104
+ const getOptionParents = (data, path) => {
132
105
  var _path$split;
133
106
 
134
- var indexes = (_path$split = path === null || path === void 0 ? void 0 : path.split('.')) !== null && _path$split !== void 0 ? _path$split : [];
107
+ const indexes = (_path$split = path === null || path === void 0 ? void 0 : path.split('.')) !== null && _path$split !== void 0 ? _path$split : [];
135
108
 
136
109
  if (indexes.length > 1) {
137
110
  // we don't want to map the current item
138
111
  indexes.pop(); // we need to rebuild the path as we map
139
112
 
140
- var lastPath;
141
- return indexes.map(function (i) {
113
+ let lastPath;
114
+ return indexes.map(i => {
142
115
  lastPath = lastPath ? [lastPath, i].join('.') : i;
143
- return sanitizeItem(data.find(function (i) {
144
- return i.path === lastPath;
145
- }));
116
+ return sanitizeItem(data.find(i => i.path === lastPath));
146
117
  });
147
118
  }
148
119
 
149
120
  return null;
150
121
  };
151
- var filterData = function filterData(data, value) {
152
- if (value === void 0) {
153
- value = '';
154
- }
155
-
122
+ const filterData = (data, value = '') => {
156
123
  if (value === '' || value === null) {
157
124
  return data;
158
125
  }
159
126
 
160
- var filteredOptionValues = new Set();
127
+ const filteredOptionValues = new Set();
161
128
 
162
- var shouldFilterOption = function shouldFilterOption(option) {
129
+ const shouldFilterOption = option => {
163
130
  if (option.disabled) {
164
131
  return false;
165
132
  }
@@ -167,22 +134,19 @@ var filterData = function filterData(data, value) {
167
134
  return searchForString(option.text, String(value));
168
135
  };
169
136
 
170
- data.forEach(function (option) {
137
+ data.forEach(option => {
171
138
  if (shouldFilterOption(option)) {
172
- var parents = getOptionParents(data, option.path);
139
+ const parents = getOptionParents(data, option.path);
173
140
  filteredOptionValues.add(option.value);
174
141
 
175
142
  if (parents !== null) {
176
- parents.forEach(function (option) {
177
- return filteredOptionValues.add(option === null || option === void 0 ? void 0 : option.value);
178
- });
143
+ parents.forEach(option => filteredOptionValues.add(option === null || option === void 0 ? void 0 : option.value));
179
144
  }
180
145
  }
181
146
  });
182
- return data.filter(function (_ref) {
183
- var value = _ref.value;
184
- return filteredOptionValues.has(value);
185
- });
147
+ return data.filter(({
148
+ value
149
+ }) => filteredOptionValues.has(value));
186
150
  };
187
151
 
188
152
  export { filterData, findByValue, findNextIndexByValue, getActiveDescendant, getIndexFromValue, getOptionParents, getSelectedIndexesFromValue, sanitizeItem, searchForString, setInputValueByRef, useFlattenedData };