@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,58 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { forwardRef, createElement } from 'react';
3
+ import cn from 'classnames';
4
+ import { Icon } from '../Icon/Icon.js';
5
+ import { Root, Indicator } from '@radix-ui/react-checkbox';
6
+
7
+ var _excluded = ["checked", "highlighted", "indeterminate", "invalid", "label", "onChange"];
8
+ var Checkbox = /*#__PURE__*/forwardRef(function Checkbox(props, ref) {
9
+ var checked = props.checked,
10
+ highlighted = props.highlighted,
11
+ indeterminate = props.indeterminate,
12
+ invalid = props.invalid,
13
+ label = props.label,
14
+ onChange = props.onChange,
15
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
16
+
17
+ var className = cn('bg-white h-5 w-5 border rounded text-sm flex-shrink-0 self-start mt-[0.1rem] focus:yt-focus', //hover:shadow-[0_0_0_1px_rgba(235,235,235,1)]
18
+ props.className, {
19
+ 'border-grey-dark text-blue hover:text-blue-light focus:border-blue focus:hover:border-blue-light': !props.disabled && !invalid,
20
+ 'border-grey text-blue-light cursor-not-allowed': props.disabled,
21
+ 'bg-[rgba(255,255,0,0.2)] disabled:bg-[rgba(255,255,0,0.075)]': highlighted,
22
+ 'border-red text-red hover:text-red-light hover:border-red-light focus:border-red focus:hover:border-red-light': invalid && !props.disabled
23
+ });
24
+ var handleChange;
25
+
26
+ if (onChange) {
27
+ handleChange = function handleChange(checked) {
28
+ return onChange(checked === 'indeterminate' ? false : checked);
29
+ };
30
+ }
31
+
32
+ var element = createElement(Root, Object.assign({}, otherProps, {
33
+ "data-taco": "checkbox",
34
+ checked: indeterminate ? 'indeterminate' : checked,
35
+ className: className,
36
+ onCheckedChange: handleChange,
37
+ ref: ref
38
+ }), createElement(Indicator, {
39
+ className: "flex h-full w-full"
40
+ }, createElement(Icon, {
41
+ name: indeterminate ? 'line' : 'tick',
42
+ className: "!h-full !w-full"
43
+ })));
44
+
45
+ if (label) {
46
+ var labelClassName = cn('flex items-center cursor-pointer gap-2', {
47
+ 'cursor-not-allowed text-grey-dark': props.disabled
48
+ }, props.className);
49
+ return createElement("label", {
50
+ className: labelClassName
51
+ }, element, label);
52
+ }
53
+
54
+ return element;
55
+ });
56
+
57
+ export { Checkbox };
58
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\r\nimport { Icon } from '../Icon/Icon';\r\n\r\ntype CheckedState = boolean | 'indeterminate';\r\n\r\ntype CheckboxBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onChange'> & {\r\n /* Increases visual prominenance of the checkbox */\r\n highlighted?: boolean;\r\n /**\r\n * Indeterminate state should only be used with sub-checkboxes. The indeterminate state is shown if not all\r\n * sub-checkboxes are selected. This only affects the style, changing the icon in the checkbox.\r\n */\r\n indeterminate?: boolean;\r\n /* Whether the checkbox is in an invalid state */\r\n invalid?: boolean;\r\n /** Label for the checkbox */\r\n label?: React.ReactNode;\r\n /* Whether user input is required */\r\n required?: boolean;\r\n};\r\n\r\ninterface UncontrolledCheckboxProps extends CheckboxBaseProps {\r\n checked?: never;\r\n onChange?: never;\r\n /* The default checked state (uncontrolled) */\r\n defaultChecked?: boolean;\r\n}\r\n\r\ninterface ControlledCheckboxProps extends CheckboxBaseProps {\r\n defaultChecked?: never;\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) => void;\r\n}\r\n\r\nexport type CheckboxProps = UncontrolledCheckboxProps | ControlledCheckboxProps;\r\n\r\nexport const Checkbox = React.forwardRef(function Checkbox(props: CheckboxProps, ref: React.Ref<HTMLButtonElement>) {\r\n const { checked, highlighted, indeterminate, invalid, label, onChange, ...otherProps } = props;\r\n\r\n const className = cn(\r\n 'bg-white h-5 w-5 border rounded text-sm flex-shrink-0 self-start mt-[0.1rem] focus:yt-focus', //hover:shadow-[0_0_0_1px_rgba(235,235,235,1)]\r\n props.className,\r\n {\r\n 'border-grey-dark text-blue hover:text-blue-light focus:border-blue focus:hover:border-blue-light':\r\n !props.disabled && !invalid,\r\n 'border-grey text-blue-light cursor-not-allowed': props.disabled,\r\n 'bg-[rgba(255,255,0,0.2)] disabled:bg-[rgba(255,255,0,0.075)]': highlighted,\r\n 'border-red text-red hover:text-red-light hover:border-red-light focus:border-red focus:hover:border-red-light':\r\n invalid && !props.disabled,\r\n }\r\n );\r\n\r\n let handleChange: ((checked: CheckedState) => void) | undefined;\r\n\r\n if (onChange) {\r\n handleChange = (checked: CheckedState) => onChange(checked === 'indeterminate' ? false : checked);\r\n }\r\n\r\n const element = (\r\n <CheckboxPrimitive.Root\r\n {...otherProps}\r\n data-taco=\"checkbox\"\r\n checked={indeterminate ? 'indeterminate' : checked}\r\n className={className}\r\n onCheckedChange={handleChange}\r\n ref={ref}\r\n >\r\n <CheckboxPrimitive.Indicator className=\"flex h-full w-full\">\r\n <Icon name={indeterminate ? 'line' : 'tick'} className=\"!h-full !w-full\" />\r\n </CheckboxPrimitive.Indicator>\r\n </CheckboxPrimitive.Root>\r\n );\r\n\r\n if (label) {\r\n const labelClassName = cn(\r\n 'flex items-center cursor-pointer gap-2',\r\n {\r\n 'cursor-not-allowed text-grey-dark': props.disabled,\r\n },\r\n props.className\r\n );\r\n\r\n return (\r\n <label className={labelClassName}>\r\n {element}\r\n {label}\r\n </label>\r\n );\r\n }\r\n\r\n return element;\r\n});\r\n"],"names":["Checkbox","React","props","ref","checked","highlighted","indeterminate","invalid","label","onChange","otherProps","className","cn","disabled","handleChange","element","CheckboxPrimitive","onCheckedChange","Icon","name","labelClassName"],"mappings":";;;;;;;IAwCaA,QAAQ,gBAAGC,UAAA,CAAiB,SAASD,QAAT,CAAkBE,KAAlB,EAAwCC,GAAxC;AACrC,MAAQC,OAAR,GAAyFF,KAAzF,CAAQE,OAAR;AAAA,MAAiBC,WAAjB,GAAyFH,KAAzF,CAAiBG,WAAjB;AAAA,MAA8BC,aAA9B,GAAyFJ,KAAzF,CAA8BI,aAA9B;AAAA,MAA6CC,OAA7C,GAAyFL,KAAzF,CAA6CK,OAA7C;AAAA,MAAsDC,KAAtD,GAAyFN,KAAzF,CAAsDM,KAAtD;AAAA,MAA6DC,QAA7D,GAAyFP,KAAzF,CAA6DO,QAA7D;AAAA,MAA0EC,UAA1E,iCAAyFR,KAAzF;;AAEA,MAAMS,SAAS,GAAGC,EAAE,CAChB,6FADgB;AAEhBV,EAAAA,KAAK,CAACS,SAFU,EAGhB;AACI,wGACI,CAACT,KAAK,CAACW,QAAP,IAAmB,CAACN,OAF5B;AAGI,sDAAkDL,KAAK,CAACW,QAH5D;AAII,oEAAgER,WAJpE;AAKI,qHACIE,OAAO,IAAI,CAACL,KAAK,CAACW;AAN1B,GAHgB,CAApB;AAaA,MAAIC,YAAJ;;AAEA,MAAIL,QAAJ,EAAc;AACVK,IAAAA,YAAY,GAAG,sBAACV,OAAD;AAAA,aAA2BK,QAAQ,CAACL,OAAO,KAAK,eAAZ,GAA8B,KAA9B,GAAsCA,OAAvC,CAAnC;AAAA,KAAf;AACH;;AAED,MAAMW,OAAO,GACTd,aAAA,CAACe,IAAD,oBACQN;iBACM;AACVN,IAAAA,OAAO,EAAEE,aAAa,GAAG,eAAH,GAAqBF;AAC3CO,IAAAA,SAAS,EAAEA;AACXM,IAAAA,eAAe,EAAEH;AACjBX,IAAAA,GAAG,EAAEA;IANT,EAQIF,aAAA,CAACe,SAAD;AAA6BL,IAAAA,SAAS,EAAC;GAAvC,EACIV,aAAA,CAACiB,IAAD;AAAMC,IAAAA,IAAI,EAAEb,aAAa,GAAG,MAAH,GAAY;AAAQK,IAAAA,SAAS,EAAC;GAAvD,CADJ,CARJ,CADJ;;AAeA,MAAIH,KAAJ,EAAW;AACP,QAAMY,cAAc,GAAGR,EAAE,CACrB,wCADqB,EAErB;AACI,2CAAqCV,KAAK,CAACW;AAD/C,KAFqB,EAKrBX,KAAK,CAACS,SALe,CAAzB;AAQA,WACIV,aAAA,QAAA;AAAOU,MAAAA,SAAS,EAAES;KAAlB,EACKL,OADL,EAEKP,KAFL,CADJ;AAMH;;AAED,SAAOO,OAAP;AACH,CAvDuB;;;;"}
@@ -0,0 +1,89 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { forwardRef, useRef, createElement } from 'react';
3
+ import cn from 'classnames';
4
+ import { IconButton } from '../IconButton/IconButton.js';
5
+ import { useLocalization } from '../Provider/Provider.js';
6
+ import { Root, Anchor, Content } from '@radix-ui/react-popover';
7
+ import { Input } from '../Input/Input.js';
8
+ import { ScrollableList } from '../Listbox/ScrollableList.js';
9
+ import { useCombobox } from './useCombobox.js';
10
+ import { useBoundingClientRectListener } from '../../utils/hooks/useBoundingClientRectListener.js';
11
+
12
+ var _excluded = ["className", "dialog", "style"];
13
+ var Combobox = /*#__PURE__*/forwardRef(function Combobox(props, ref) {
14
+ var externalClassName = props.className,
15
+ dialog = props.dialog,
16
+ style = props.style,
17
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
18
+
19
+ var _useCombobox = useCombobox(otherProps, ref),
20
+ combobox = _useCombobox.combobox,
21
+ button = _useCombobox.button,
22
+ input = _useCombobox.input,
23
+ popover = _useCombobox.popover,
24
+ list = _useCombobox.list;
25
+
26
+ var internalRef = useRef(null);
27
+
28
+ var _useLocalization = useLocalization(),
29
+ texts = _useLocalization.texts;
30
+
31
+ var selectDimensions = useBoundingClientRectListener(internalRef);
32
+ var className = cn('inline-flex relative', {
33
+ 'yt-combobox--inline': props.inline
34
+ }, externalClassName);
35
+ return createElement("span", {
36
+ className: className,
37
+ "data-taco": "combobox",
38
+ style: style
39
+ }, createElement(Root, Object.assign({}, popover), createElement(Anchor, {
40
+ asChild: true,
41
+ ref: internalRef
42
+ }, createElement("div", Object.assign({}, combobox, {
43
+ className: "inline w-full",
44
+ ref: ref
45
+ }), createElement(Input, Object.assign({}, input, {
46
+ autoComplete: "off",
47
+ button: props.inline ? createElement(IconButton, {
48
+ appearance: "discrete",
49
+ className: "!border-l-0 focus:!border-none focus:!shadow-none active:!border-none",
50
+ icon: popover.open ? 'chevron-up' : 'chevron-down',
51
+ onClick: function onClick() {
52
+ var _input$ref$current;
53
+
54
+ popover.onOpenChange(true);
55
+ (_input$ref$current = input.ref.current) === null || _input$ref$current === void 0 ? void 0 : _input$ref$current.focus();
56
+ },
57
+ tabIndex: -1
58
+ }) : dialog ? createElement(IconButton, {
59
+ icon: "list-search",
60
+ disabled: props.readOnly || props.disabled,
61
+ dialog: dialog,
62
+ onFocus: function onFocus(event) {
63
+ var _input$ref$current2;
64
+
65
+ // Prevents the default focus behaviour of showing the tooltip, on parent tooltip element
66
+ event.preventDefault();
67
+ (_input$ref$current2 = input.ref.current) === null || _input$ref$current2 === void 0 ? void 0 : _input$ref$current2.focus();
68
+ },
69
+ ref: button.ref,
70
+ tabIndex: -1,
71
+ tooltip: texts.combobox.tooltip
72
+ }) : undefined
73
+ })))), createElement(Content, {
74
+ align: "start",
75
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
76
+ event.preventDefault();
77
+ },
78
+ sideOffset: 4
79
+ }, createElement(ScrollableList, Object.assign({}, list, {
80
+ className: cn('!border-blue max-h-[calc(12rem+2px)] w-auto max-w-[theme(spacing.96)]'),
81
+ style: {
82
+ minWidth: selectDimensions === null || selectDimensions === void 0 ? void 0 : selectDimensions.width
83
+ },
84
+ tabIndex: popover.open ? 0 : -1
85
+ })))));
86
+ });
87
+
88
+ export { Combobox };
89
+ //# sourceMappingURL=Combobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\r\nimport { Input, InputProps } from '../Input/Input';\r\nimport { useCombobox } from './useCombobox';\r\nimport { ScrollableList, ScrollableListItem, ScrollableListItemValue } from '../Listbox/ScrollableList';\r\nimport { useBoundingClientRectListener } from '../../utils/hooks/useBoundingClientRectListener';\r\nimport { IconButton } from '../IconButton/IconButton';\r\nimport './Combobox.css';\r\nimport { DialogProps } from '../Dialog/Dialog';\r\nimport { useLocalization } from '../Provider/Provider';\r\n\r\nexport type ComboboxTexts = {\r\n /* Tooltip shown for the dialog button */\r\n tooltip: string;\r\n};\r\n\r\nexport type ComboboxItem = ScrollableListItem;\r\nexport type ComboboxValue = ScrollableListItemValue;\r\n\r\ntype ComboboxBaseProps = Omit<InputProps, 'defaultValue' | 'button' | 'onChange' | 'value'> & {\r\n /** Array of options in combobox */\r\n data?: ComboboxItem[];\r\n /**\r\n * Initial value of the input in combobox.\r\n * This is used when combobox is mounted, if no value is provided.\r\n * *Note* that combobox is a controlled component, setting this will also trigger the `onChange` event\r\n */\r\n defaultValue?: ComboboxValue;\r\n /** Set what value should have an empty option in combobox */\r\n emptyValue?: ComboboxValue;\r\n /** Draws attention to the combobox by changing its style and making it visually prominent */\r\n highlighted?: boolean;\r\n /** Displays loading state in listbox */\r\n loading?: boolean;\r\n /**\r\n * Handler called when user chooses an option from the provided suggestions.\r\n * Suggestions will be calculated based on the input value.\r\n * There are two ways to choose an option: either click on it, or navigate using keyboard and press `enter`\r\n */\r\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\r\n /** Handler called when the user enters a query **/\r\n onSearch?: (query: string) => void | Promise<void>;\r\n /** Value of the input in combobox */\r\n value?: ComboboxValue;\r\n};\r\n\r\ninterface InlineComboboxProps extends ComboboxBaseProps {\r\n dialog?: never;\r\n /**\r\n * Combobox will display its data when input is clicked/focused, even if the input is empty.\r\n * *Note* that default combobox will display matching data only when user starts typing in input.\r\n */\r\n inline: boolean; // Example 3 on https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\r\n}\r\n\r\ninterface DialogComboboxProps extends ComboboxBaseProps {\r\n dialog: (props: Partial<DialogProps>) => JSX.Element;\r\n inline?: never;\r\n}\r\n\r\nexport type ComboboxProps = InlineComboboxProps | DialogComboboxProps;\r\n\r\nexport const Combobox = React.forwardRef(function Combobox(props: ComboboxProps, ref: React.Ref<HTMLInputElement>) {\r\n const { className: externalClassName, dialog, style, ...otherProps } = props;\r\n const { combobox, button, input, popover, list } = useCombobox(otherProps, ref);\r\n const internalRef = React.useRef<HTMLDivElement>(null);\r\n const { texts } = useLocalization();\r\n const selectDimensions = useBoundingClientRectListener(internalRef);\r\n const className = cn(\r\n 'inline-flex relative',\r\n {\r\n 'yt-combobox--inline': props.inline,\r\n },\r\n externalClassName\r\n );\r\n\r\n return (\r\n <span className={className} data-taco=\"combobox\" style={style}>\r\n <PopoverPrimitive.Root {...popover}>\r\n <PopoverPrimitive.Anchor asChild ref={internalRef}>\r\n <div {...combobox} className=\"inline w-full\" ref={ref}>\r\n <Input\r\n {...input}\r\n autoComplete=\"off\"\r\n button={\r\n props.inline ? (\r\n <IconButton\r\n appearance=\"discrete\"\r\n className=\"!border-l-0 focus:!border-none focus:!shadow-none active:!border-none\"\r\n icon={popover.open ? 'chevron-up' : 'chevron-down'}\r\n onClick={() => {\r\n popover.onOpenChange(true);\r\n input.ref.current?.focus();\r\n }}\r\n tabIndex={-1}\r\n />\r\n ) : dialog ? (\r\n <IconButton\r\n icon=\"list-search\"\r\n disabled={props.readOnly || props.disabled}\r\n dialog={dialog}\r\n onFocus={(event: React.FocusEvent<HTMLButtonElement>) => {\r\n // Prevents the default focus behaviour of showing the tooltip, on parent tooltip element\r\n event.preventDefault();\r\n input.ref.current?.focus();\r\n }}\r\n ref={button.ref}\r\n tabIndex={-1}\r\n tooltip={texts.combobox.tooltip}\r\n />\r\n ) : undefined\r\n }\r\n />\r\n </div>\r\n </PopoverPrimitive.Anchor>\r\n <PopoverPrimitive.Content\r\n align=\"start\"\r\n onOpenAutoFocus={event => {\r\n event.preventDefault();\r\n }}\r\n sideOffset={4}\r\n >\r\n <ScrollableList\r\n {...list}\r\n className={cn('!border-blue max-h-[calc(12rem+2px)] w-auto max-w-[theme(spacing.96)]')}\r\n style={{ minWidth: selectDimensions?.width }}\r\n tabIndex={popover.open ? 0 : -1}\r\n />\r\n </PopoverPrimitive.Content>\r\n </PopoverPrimitive.Root>\r\n </span>\r\n );\r\n});\r\n"],"names":["Combobox","React","props","ref","externalClassName","className","dialog","style","otherProps","useCombobox","combobox","button","input","popover","list","internalRef","useLocalization","texts","selectDimensions","useBoundingClientRectListener","cn","inline","PopoverPrimitive","asChild","Input","autoComplete","IconButton","appearance","icon","open","onClick","onOpenChange","current","focus","tabIndex","disabled","readOnly","onFocus","event","preventDefault","tooltip","undefined","align","onOpenAutoFocus","sideOffset","ScrollableList","minWidth","width"],"mappings":"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"}
@@ -0,0 +1,285 @@
1
+ import { useRef, useState, useMemo, useEffect } from 'react';
2
+ import { v4 } from 'uuid';
3
+ import { useProxiedRef } from '../../utils/hooks/useProxiedRef.js';
4
+ import keycode from 'keycode';
5
+ import debounce from 'lodash-es/debounce';
6
+ import { getId } from '../Listbox/ScrollableList.js';
7
+ import { createCustomKeyboardEvent } from '../../utils/input.js';
8
+ import { useFlattenedData, filterData, getIndexFromValue, setInputValueByRef, findByValue, sanitizeItem, getOptionParents } from '../Listbox/util.js';
9
+
10
+ const debouncer = /*#__PURE__*/debounce(f => f(), 200);
11
+
12
+ const convertToInputValue = value => String(value !== null && value !== void 0 ? value : '');
13
+
14
+ const useCombobox = ({
15
+ 'aria-label': ariaLabel,
16
+ 'aria-labelledby': ariaLabelledBy,
17
+ data: unfilteredData = [],
18
+ defaultValue,
19
+ disabled,
20
+ id: nativeId,
21
+ inline,
22
+ loading: __,
23
+ onChange,
24
+ onClick,
25
+ onKeyDown,
26
+ onSearch,
27
+ readOnly,
28
+ value,
29
+ ...props
30
+ }, ref) => {
31
+ const inputRef = useProxiedRef(ref);
32
+ const buttonRef = useRef(null);
33
+ const listRef = useRef(null);
34
+ const [open, setOpen] = useState(false);
35
+ const listId = useMemo(() => v4(), []);
36
+ const [inputValue, setInputValue] = useState(convertToInputValue(value));
37
+ const shouldFilterData = !onSearch && (!inline || inline && inputValue !== convertToInputValue(value));
38
+ const flattenedData = useFlattenedData(unfilteredData);
39
+ const data = useMemo(() => shouldFilterData ? filterData(flattenedData, inputValue) : flattenedData, [shouldFilterData, inputValue, flattenedData]); // listbox/select change value _with_ the index, but combobox changes on select of an index (click/enter), so we need state
40
+
41
+ const [currentIndex, setCurrentIndex] = useState(inputValue !== undefined ? getIndexFromValue(data, inputValue) : undefined);
42
+
43
+ const setInputValueByIndex = index => {
44
+ if (index !== undefined) {
45
+ const option = data[index];
46
+
47
+ if (option && !option.disabled) {
48
+ setInputValueByRef(inputRef.current, option.value, 'focusout');
49
+ }
50
+ }
51
+ };
52
+
53
+ const setCurrentValue = index => {
54
+ if (index === undefined) {
55
+ return;
56
+ }
57
+
58
+ const option = data[index]; // if the selected option is not already selected, trigger blur event
59
+
60
+ if (option.value !== value) {
61
+ setInputValueByIndex(index);
62
+ } else {
63
+ // if the selected option is already selected, refill input with its value
64
+ setInputValue(convertToInputValue(value));
65
+ }
66
+ }; // ensure the external value is synced with the internal value when mounting, e.g. incase a default value was set
67
+
68
+
69
+ useEffect(() => {
70
+ if (defaultValue && !value) {
71
+ setInputValueByIndex(getIndexFromValue(data, defaultValue));
72
+ }
73
+ }, [data]); // update input value if it changed 'externally', e.g. clicking/entering an item in the listbox, from a modal etc
74
+
75
+ useEffect(() => {
76
+ if (value !== undefined && value !== inputValue) {
77
+ setInputValue(convertToInputValue(value));
78
+ }
79
+ }, [value]);
80
+ useEffect(() => {
81
+ if (onSearch) {
82
+ debouncer(() => {
83
+ onSearch(inputValue);
84
+ });
85
+ }
86
+ }, [inputValue]); // show listbox based on input value
87
+
88
+ useEffect(() => {
89
+ // don't show the popover if the internal (input) value already is the current value
90
+ // this prevents the popover showing after selecting a value or pressing escape
91
+ const isCurrentValue = value !== undefined && value !== null && inputValue === String(value);
92
+
93
+ if (inputValue && data.length && !isCurrentValue) {
94
+ setCurrentIndex(0);
95
+
96
+ if (!open) {
97
+ setOpen(true);
98
+ }
99
+ } else {
100
+ setOpen(false);
101
+ }
102
+ }, [inputValue, data]);
103
+ useEffect(() => {
104
+ if (open) {
105
+ setCurrentIndex(getIndexFromValue(data, inputValue) || 0);
106
+ } else {
107
+ setCurrentIndex(undefined);
108
+ }
109
+ }, [open]); // event handlers
110
+
111
+ const handleInputBlur = event => {
112
+ event.persist();
113
+
114
+ if (event.relatedTarget === listRef.current) {
115
+ event.preventDefault();
116
+ return;
117
+ }
118
+
119
+ if (onChange && event.target.value !== value) {
120
+ const item = findByValue(flattenedData, event.target.value);
121
+ event.detail = sanitizeItem(item);
122
+ const parents = getOptionParents(flattenedData, item === null || item === void 0 ? void 0 : item.path);
123
+
124
+ if (parents !== null && parents.length > 0) {
125
+ event.detail.parents = parents;
126
+ }
127
+
128
+ onChange(event);
129
+ }
130
+
131
+ if (props.onBlur) {
132
+ props.onBlur(event);
133
+ }
134
+ };
135
+
136
+ const handleInputChange = event => {
137
+ setInputValue(event.target.value);
138
+ };
139
+
140
+ const handleInputClick = event => {
141
+ if (inline || !open && inputValue && data.length) {
142
+ setOpen(true);
143
+ }
144
+
145
+ if (onClick) {
146
+ event.persist();
147
+ onClick(event);
148
+ }
149
+ };
150
+
151
+ const handleInputKeyDown = event => {
152
+ event.persist();
153
+
154
+ switch (event.keyCode) {
155
+ case keycode('backspace'):
156
+ {
157
+ return;
158
+ }
159
+
160
+ case keycode('escape'):
161
+ {
162
+ event.preventDefault();
163
+ setInputValue(convertToInputValue(value));
164
+ setOpen(false);
165
+ return;
166
+ }
167
+
168
+ case keycode('tab'):
169
+ case keycode('enter'):
170
+ {
171
+ if (event.keyCode !== keycode('tab')) {
172
+ event.preventDefault();
173
+ }
174
+
175
+ setCurrentValue(currentIndex);
176
+ setOpen(false);
177
+ return;
178
+ }
179
+
180
+ case keycode('down'):
181
+ if (open) {
182
+ event.preventDefault();
183
+ } else {
184
+ if (!inline && buttonRef.current) {
185
+ buttonRef.current.click();
186
+ }
187
+ }
188
+
189
+ break;
190
+
191
+ case keycode('up'):
192
+ case keycode('home'):
193
+ case keycode('end'):
194
+ {
195
+ if (open) {
196
+ event.preventDefault();
197
+ }
198
+
199
+ break;
200
+ }
201
+ } // we aren't focused on the list, so manually forward the keydown event to it
202
+
203
+
204
+ if (listRef.current) {
205
+ listRef.current.dispatchEvent(createCustomKeyboardEvent(event));
206
+ }
207
+
208
+ if (inline && !open) {
209
+ if (event.keyCode === keycode('up') || event.keyCode === keycode('down')) {
210
+ event.preventDefault();
211
+ const initialIndex = event.keyCode === keycode('up') ? data.length - 1 : 0;
212
+ setCurrentIndex(currentIndex !== undefined ? currentIndex : initialIndex);
213
+ setOpen(true);
214
+ }
215
+ }
216
+
217
+ if (!event.isDefaultPrevented() && onKeyDown) {
218
+ event.persist();
219
+ onKeyDown(event);
220
+ }
221
+ };
222
+
223
+ const handleListboxChange = index => {
224
+ setCurrentIndex(index);
225
+ };
226
+
227
+ const handleListboxClick = (event, index) => {
228
+ event.preventDefault();
229
+ setCurrentValue(index);
230
+ setOpen(false);
231
+ };
232
+
233
+ const combobox = {
234
+ 'aria-expanded': open,
235
+ 'aria-owns': listId,
236
+ 'aria-haspopup': 'listbox',
237
+ role: 'combobox'
238
+ };
239
+ const input = { ...props,
240
+ 'aria-controls': listId,
241
+ // Indicates that the autocomplete behavior of the text input is to suggest a list of possible values in a popup and that the suggestions
242
+ // are related to the string that is present in the textbox
243
+ 'aria-autocomplete': 'list',
244
+ // Enables assistive technologies to know which element the application regards as focused while DOM focus remains on the input element
245
+ 'aria-activedescendant': currentIndex !== undefined && data[currentIndex] ? getId(listId, String(data[currentIndex].value)) : undefined,
246
+ 'aria-labelledby': ariaLabelledBy,
247
+ disabled,
248
+ onBlur: !disabled && !readOnly ? handleInputBlur : undefined,
249
+ onChange: !disabled && !readOnly ? handleInputChange : undefined,
250
+ onClick: !disabled && !readOnly ? handleInputClick : undefined,
251
+ onKeyDown: !disabled && !readOnly ? handleInputKeyDown : undefined,
252
+ readOnly,
253
+ ref: inputRef,
254
+ type: 'text',
255
+ value: inputValue !== null && inputValue !== void 0 ? inputValue : ''
256
+ };
257
+ const list = {
258
+ 'aria-labelledby': ariaLabelledBy,
259
+ data,
260
+ disabled,
261
+ id: listId,
262
+ onChange: handleListboxChange,
263
+ onClick: handleListboxClick,
264
+ ref: listRef,
265
+ scrollOnFocus: false,
266
+ tabIndex: -1,
267
+ value: currentIndex
268
+ };
269
+ const button = {
270
+ ref: buttonRef
271
+ };
272
+ return {
273
+ combobox,
274
+ input,
275
+ list,
276
+ button,
277
+ popover: {
278
+ open,
279
+ onOpenChange: setOpen
280
+ }
281
+ };
282
+ };
283
+
284
+ export { useCombobox };
285
+ //# sourceMappingURL=useCombobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCombobox.js","sources":["../../../../src/components/Combobox/useCombobox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport keycode from 'keycode';\r\nimport { v4 as uuid } from 'uuid';\r\nimport debounce from 'lodash/debounce';\r\nimport { ComboboxProps } from './Combobox';\r\nimport {\r\n setInputValueByRef,\r\n getIndexFromValue,\r\n findByValue,\r\n useFlattenedData,\r\n sanitizeItem,\r\n getOptionParents,\r\n filterData,\r\n} from '../Listbox/util';\r\nimport { createCustomKeyboardEvent } from '../../utils/input';\r\nimport { useProxiedRef } from '../../utils/hooks/useProxiedRef';\r\nimport { getId, ScrollableListItemValue, ScrollableListPropsWithRef } from '../Listbox/ScrollableList';\r\n\r\nconst debouncer = debounce(f => f(), 200);\r\n\r\nconst convertToInputValue = (value: ScrollableListItemValue | undefined) => String(value ?? '');\r\n\r\ntype useCombobox = React.HTMLAttributes<HTMLDivElement> & {\r\n combobox: React.HTMLAttributes<HTMLSpanElement>;\r\n input: Omit<React.InputHTMLAttributes<HTMLInputElement>, 'defaultValue'> & { ref: React.RefObject<HTMLInputElement> };\r\n list: ScrollableListPropsWithRef;\r\n button: { ref: any };\r\n popover: { open: boolean; onOpenChange: (open: boolean) => void };\r\n};\r\n\r\nexport const useCombobox = (\r\n {\r\n 'aria-label': ariaLabel,\r\n 'aria-labelledby': ariaLabelledBy,\r\n data: unfilteredData = [],\r\n defaultValue,\r\n disabled,\r\n id: nativeId,\r\n inline,\r\n loading: __,\r\n onChange,\r\n onClick,\r\n onKeyDown,\r\n onSearch,\r\n readOnly,\r\n value,\r\n ...props\r\n }: Omit<ComboboxProps, 'dialog'>,\r\n ref: React.Ref<HTMLInputElement>\r\n): useCombobox => {\r\n const inputRef = useProxiedRef<HTMLInputElement>(ref);\r\n const buttonRef = React.useRef<HTMLButtonElement>(null);\r\n const listRef = React.useRef<HTMLUListElement>(null);\r\n const [open, setOpen] = React.useState(false);\r\n const listId = React.useMemo(() => uuid(), []);\r\n const [inputValue, setInputValue] = React.useState<string>(convertToInputValue(value));\r\n const shouldFilterData = !onSearch && (!inline || (inline && inputValue !== convertToInputValue(value)));\r\n const flattenedData = useFlattenedData(unfilteredData);\r\n const data = React.useMemo(\r\n () => (shouldFilterData ? filterData(flattenedData, inputValue) : flattenedData),\r\n [shouldFilterData, inputValue, flattenedData]\r\n );\r\n // listbox/select change value _with_ the index, but combobox changes on select of an index (click/enter), so we need state\r\n const [currentIndex, setCurrentIndex] = React.useState<number | undefined>(\r\n inputValue !== undefined ? getIndexFromValue(data, inputValue) : undefined\r\n );\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 setInputValueByRef(inputRef.current, option.value, 'focusout');\r\n }\r\n }\r\n };\r\n\r\n const setCurrentValue = (index: number | undefined) => {\r\n if (index === undefined) {\r\n return;\r\n }\r\n\r\n const option = data[index];\r\n\r\n // if the selected option is not already selected, trigger blur event\r\n if (option.value !== value) {\r\n setInputValueByIndex(index);\r\n } else {\r\n // if the selected option is already selected, refill input with its value\r\n setInputValue(convertToInputValue(value));\r\n }\r\n };\r\n\r\n // ensure the external value is synced with the internal value when mounting, e.g. incase a default value was set\r\n React.useEffect(() => {\r\n if (defaultValue && !value) {\r\n setInputValueByIndex(getIndexFromValue(data, defaultValue));\r\n }\r\n }, [data]);\r\n\r\n // update input value if it changed 'externally', e.g. clicking/entering an item in the listbox, from a modal etc\r\n React.useEffect(() => {\r\n if (value !== undefined && value !== inputValue) {\r\n setInputValue(convertToInputValue(value));\r\n }\r\n }, [value]);\r\n\r\n React.useEffect(() => {\r\n if (onSearch) {\r\n debouncer(() => {\r\n onSearch(inputValue);\r\n });\r\n }\r\n }, [inputValue]);\r\n\r\n // show listbox based on input value\r\n React.useEffect(() => {\r\n // don't show the popover if the internal (input) value already is the current value\r\n // this prevents the popover showing after selecting a value or pressing escape\r\n const isCurrentValue = value !== undefined && value !== null && inputValue === String(value);\r\n\r\n if (inputValue && data.length && !isCurrentValue) {\r\n setCurrentIndex(0);\r\n\r\n if (!open) {\r\n setOpen(true);\r\n }\r\n } else {\r\n setOpen(false);\r\n }\r\n }, [inputValue, data]);\r\n\r\n React.useEffect(() => {\r\n if (open) {\r\n setCurrentIndex(getIndexFromValue(data, inputValue) || 0);\r\n } else {\r\n setCurrentIndex(undefined);\r\n }\r\n }, [open]);\r\n\r\n // event handlers\r\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>): void => {\r\n event.persist();\r\n\r\n if (event.relatedTarget === listRef.current) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (onChange && event.target.value !== value) {\r\n const item = findByValue(flattenedData, event.target.value);\r\n (event as any).detail = sanitizeItem(item);\r\n\r\n const parents = getOptionParents(flattenedData, item?.path);\r\n\r\n if (parents !== null && parents.length > 0) {\r\n (event as any).detail.parents = parents;\r\n }\r\n\r\n onChange(event);\r\n }\r\n\r\n if (props.onBlur) {\r\n props.onBlur(event);\r\n }\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\r\n setInputValue(event.target.value);\r\n };\r\n\r\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>): void => {\r\n if (inline || (!open && inputValue && data.length)) {\r\n setOpen(true);\r\n }\r\n\r\n if (onClick) {\r\n event.persist();\r\n onClick(event);\r\n }\r\n };\r\n\r\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\r\n event.persist();\r\n\r\n switch (event.keyCode) {\r\n case keycode('backspace'): {\r\n return;\r\n }\r\n\r\n case keycode('escape'): {\r\n event.preventDefault();\r\n setInputValue(convertToInputValue(value));\r\n setOpen(false);\r\n return;\r\n }\r\n\r\n case keycode('tab'):\r\n case keycode('enter'): {\r\n if (event.keyCode !== keycode('tab')) {\r\n event.preventDefault();\r\n }\r\n\r\n setCurrentValue(currentIndex);\r\n setOpen(false);\r\n return;\r\n }\r\n\r\n case keycode('down'):\r\n if (open) {\r\n event.preventDefault();\r\n } else {\r\n if (!inline && buttonRef.current) {\r\n buttonRef.current.click();\r\n }\r\n }\r\n break;\r\n\r\n case keycode('up'):\r\n case keycode('home'):\r\n case keycode('end'): {\r\n if (open) {\r\n event.preventDefault();\r\n }\r\n break;\r\n }\r\n\r\n default:\r\n }\r\n\r\n // we aren't focused on the list, so manually forward the keydown event to it\r\n if (listRef.current) {\r\n listRef.current.dispatchEvent(createCustomKeyboardEvent(event));\r\n }\r\n\r\n if (inline && !open) {\r\n if (event.keyCode === keycode('up') || event.keyCode === keycode('down')) {\r\n event.preventDefault();\r\n const initialIndex = event.keyCode === keycode('up') ? data.length - 1 : 0;\r\n setCurrentIndex(currentIndex !== undefined ? currentIndex : initialIndex);\r\n setOpen(true);\r\n }\r\n }\r\n\r\n if (!event.isDefaultPrevented() && onKeyDown) {\r\n event.persist();\r\n onKeyDown(event);\r\n }\r\n };\r\n\r\n const handleListboxChange = (index: number): void => {\r\n setCurrentIndex(index);\r\n };\r\n\r\n const handleListboxClick = (event: React.MouseEvent<HTMLLIElement>, index: number): void => {\r\n event.preventDefault();\r\n setCurrentValue(index);\r\n setOpen(false);\r\n };\r\n\r\n const combobox = {\r\n 'aria-expanded': open,\r\n 'aria-owns': listId,\r\n 'aria-haspopup': 'listbox' as const,\r\n role: 'combobox',\r\n };\r\n\r\n const input = {\r\n ...props,\r\n 'aria-controls': listId,\r\n // Indicates that the autocomplete behavior of the text input is to suggest a list of possible values in a popup and that the suggestions\r\n // are related to the string that is present in the textbox\r\n 'aria-autocomplete': 'list' as const,\r\n // Enables assistive technologies to know which element the application regards as focused while DOM focus remains on the input element\r\n 'aria-activedescendant':\r\n currentIndex !== undefined && data[currentIndex] ? getId(listId, String(data[currentIndex].value)) : undefined,\r\n 'aria-labelledby': ariaLabelledBy,\r\n disabled,\r\n onBlur: !disabled && !readOnly ? handleInputBlur : undefined,\r\n onChange: !disabled && !readOnly ? handleInputChange : undefined,\r\n onClick: !disabled && !readOnly ? handleInputClick : undefined,\r\n onKeyDown: !disabled && !readOnly ? handleInputKeyDown : undefined,\r\n readOnly,\r\n ref: inputRef,\r\n type: 'text',\r\n value: inputValue ?? '',\r\n };\r\n\r\n const list: ScrollableListPropsWithRef = {\r\n 'aria-labelledby': ariaLabelledBy,\r\n data,\r\n disabled,\r\n id: listId,\r\n onChange: handleListboxChange,\r\n onClick: handleListboxClick,\r\n ref: listRef,\r\n scrollOnFocus: false,\r\n tabIndex: -1,\r\n value: currentIndex,\r\n };\r\n\r\n const button = {\r\n ref: buttonRef,\r\n };\r\n\r\n return {\r\n combobox,\r\n input,\r\n list,\r\n button,\r\n popover: {\r\n open,\r\n onOpenChange: setOpen,\r\n //visible: !data.length ? false : open,\r\n },\r\n };\r\n};\r\n"],"names":["debouncer","debounce","f","convertToInputValue","value","String","useCombobox","ariaLabel","ariaLabelledBy","data","unfilteredData","defaultValue","disabled","id","nativeId","inline","loading","__","onChange","onClick","onKeyDown","onSearch","readOnly","props","ref","inputRef","useProxiedRef","buttonRef","React","listRef","open","setOpen","listId","uuid","inputValue","setInputValue","shouldFilterData","flattenedData","useFlattenedData","filterData","currentIndex","setCurrentIndex","undefined","getIndexFromValue","setInputValueByIndex","index","option","setInputValueByRef","current","setCurrentValue","isCurrentValue","length","handleInputBlur","event","persist","relatedTarget","preventDefault","target","item","findByValue","detail","sanitizeItem","parents","getOptionParents","path","onBlur","handleInputChange","handleInputClick","handleInputKeyDown","keyCode","keycode","click","dispatchEvent","createCustomKeyboardEvent","initialIndex","isDefaultPrevented","handleListboxChange","handleListboxClick","combobox","role","input","getId","type","list","scrollOnFocus","tabIndex","button","popover","onOpenChange"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { forwardRef, createElement } from 'react';
3
+ import cn from 'classnames';
4
+ import { IconButton } from '../IconButton/IconButton.js';
5
+ import { useLocalization } from '../Provider/Provider.js';
6
+ import { Calendar } from '../Calendar/Calendar.js';
7
+ import { Input } from '../Input/Input.js';
8
+ import { useDatepicker } from './useDatepicker.js';
9
+ import { Popover } from '../Popover/Popover.js';
10
+
11
+ var _excluded = ["className", "onReset", "style", "shortcuts", "shortcutsText"];
12
+ var Datepicker = /*#__PURE__*/forwardRef(function Datepicker(props, ref) {
13
+ var externalClassName = props.className,
14
+ handleReset = props.onReset,
15
+ style = props.style,
16
+ shortcuts = props.shortcuts,
17
+ shortcutsText = props.shortcutsText,
18
+ otherProps = _objectWithoutPropertiesLoose(props, _excluded);
19
+
20
+ var _useDatepicker = useDatepicker(otherProps, ref),
21
+ calendar = _useDatepicker.calendar,
22
+ input = _useDatepicker.input;
23
+
24
+ var _useLocalization = useLocalization(),
25
+ texts = _useLocalization.texts;
26
+
27
+ var className = cn('inline-flex w-full text-black font-normal', externalClassName);
28
+ return createElement("span", {
29
+ className: className,
30
+ "data-taco": "datepicker",
31
+ style: style
32
+ }, createElement(Input, Object.assign({}, input, {
33
+ button: createElement(Popover, null, createElement(Popover.Trigger, null, createElement(IconButton, {
34
+ "aria-label": texts.datepicker.expand,
35
+ disabled: input.disabled || input.readOnly,
36
+ icon: "calendar"
37
+ })), createElement(Popover.Content, null, function (_ref) {
38
+ var close = _ref.close;
39
+ return createElement("div", {
40
+ className: "-m-3 flex"
41
+ }, createElement(Calendar, Object.assign({}, calendar, {
42
+ onChange: function onChange(date, event) {
43
+ calendar.onChange(date, event);
44
+ close();
45
+ },
46
+ tabIndex: -1
47
+ })), shortcuts && createElement("div", {
48
+ className: "border-grey-dark flex flex-col border-l"
49
+ }, createElement("span", {
50
+ className: "m-4 mb-3 flex h-8 w-32 items-center text-xs font-semibold"
51
+ }, shortcutsText !== null && shortcutsText !== void 0 ? shortcutsText : texts.datepicker.shortcuts), createElement("ul", null, shortcuts.map(function (shortcut, i) {
52
+ return createElement("li", {
53
+ key: i
54
+ }, createElement("button", {
55
+ className: "hover:bg-grey-light flex w-full items-start px-4 py-1 text-xs",
56
+ onClick: function onClick(event) {
57
+ event.persist();
58
+ shortcut.onClick(event);
59
+ close();
60
+ }
61
+ }, shortcut.text));
62
+ })), handleReset && createElement("button", {
63
+ className: "text-blue hover:text-blue-light my-4 mx-auto mt-auto inline-flex cursor-pointer border-none bg-transparent text-xs",
64
+ onClick: function onClick(event) {
65
+ event.persist();
66
+ handleReset(event);
67
+ close();
68
+ }
69
+ }, texts.datepicker.clear)));
70
+ }))
71
+ })));
72
+ });
73
+
74
+ export { Datepicker };
75
+ //# sourceMappingURL=Datepicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Datepicker.js","sources":["../../../../src/components/Datepicker/Datepicker.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { Calendar, CalendarProps } from '../Calendar/Calendar';\r\nimport { Input, InputProps } from '../Input/Input';\r\nimport { useLocalization } from '../Provider/Provider';\r\nimport { useDatepicker } from './useDatepicker';\r\nimport { IconButton } from '../IconButton/IconButton';\r\nimport { Popover } from '../Popover/Popover';\r\n\r\nexport type DatepickerTexts = {\r\n /** Aria-label for calendar */\r\n calendar: string;\r\n /** Clear button text */\r\n clear: string;\r\n /**\r\n * Aria-label for calendar icon button in the input.\r\n * Calendar will open when user clicks this icon button.\r\n */\r\n expand: string;\r\n /** Shortcut heading text */\r\n shortcuts: string;\r\n};\r\n\r\nexport type DatepickerProps = Omit<InputProps, 'value'> & {\r\n /** [Calendar](component:calendar) component associated with the DatePicker */\r\n calendar?: CalendarProps;\r\n /** List of shortcuts */\r\n shortcuts?: any;\r\n /** Title for the shortcuts panel */\r\n shortcutsText?: string;\r\n /** Handler to be called when the clear button is clicked */\r\n onReset?: (event: React.MouseEvent<HTMLButtonElement>) => void;\r\n /**\r\n * Date value of the calendar.\r\n * This will be displayed in DatePicker's input in the format given to the [Provider](component:provider) component\r\n */\r\n value?: Date;\r\n};\r\n\r\nexport const Datepicker = React.forwardRef(function Datepicker(props: DatepickerProps, ref: React.Ref<HTMLInputElement>) {\r\n const { className: externalClassName, onReset: handleReset, style, shortcuts, shortcutsText, ...otherProps } = props;\r\n const { calendar, input } = useDatepicker(otherProps, ref);\r\n const { texts } = useLocalization();\r\n const className = cn('inline-flex w-full text-black font-normal', externalClassName);\r\n\r\n return (\r\n <span className={className} data-taco=\"datepicker\" style={style}>\r\n <Input\r\n {...input}\r\n button={\r\n <Popover>\r\n <Popover.Trigger>\r\n <IconButton\r\n aria-label={texts.datepicker.expand}\r\n disabled={input.disabled || input.readOnly}\r\n icon=\"calendar\"\r\n />\r\n </Popover.Trigger>\r\n <Popover.Content>\r\n {({ close }) => (\r\n <div className=\"-m-3 flex\">\r\n <Calendar\r\n {...calendar}\r\n onChange={(date: Date, event?: React.MouseEvent<HTMLDivElement>) => {\r\n calendar.onChange(date, event);\r\n close();\r\n }}\r\n tabIndex={-1}\r\n />\r\n {shortcuts && (\r\n <div className=\"border-grey-dark flex flex-col border-l\">\r\n <span className=\"m-4 mb-3 flex h-8 w-32 items-center text-xs font-semibold\">\r\n {shortcutsText ?? texts.datepicker.shortcuts}\r\n </span>\r\n <ul>\r\n {shortcuts.map((shortcut, i) => (\r\n <li key={i}>\r\n <button\r\n className=\"hover:bg-grey-light flex w-full items-start px-4 py-1 text-xs\"\r\n onClick={event => {\r\n event.persist();\r\n shortcut.onClick(event);\r\n close();\r\n }}\r\n >\r\n {shortcut.text}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n {handleReset && (\r\n <button\r\n className=\"text-blue hover:text-blue-light my-4 mx-auto mt-auto inline-flex cursor-pointer border-none bg-transparent text-xs\"\r\n onClick={event => {\r\n event.persist();\r\n handleReset(event);\r\n close();\r\n }}\r\n >\r\n {texts.datepicker.clear}\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </Popover.Content>\r\n </Popover>\r\n }\r\n />\r\n </span>\r\n );\r\n});\r\n"],"names":["Datepicker","React","props","ref","externalClassName","className","handleReset","onReset","style","shortcuts","shortcutsText","otherProps","useDatepicker","calendar","input","useLocalization","texts","cn","Input","button","Popover","Trigger","IconButton","datepicker","expand","disabled","readOnly","icon","Content","close","Calendar","onChange","date","event","tabIndex","map","shortcut","i","key","onClick","persist","text","clear"],"mappings":"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"}