@economic/taco 2.4.0 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (550) hide show
  1. package/dist/components/SearchInput2/SearchInput2.d.ts +2 -1
  2. package/dist/components/Spinner/Spinner.d.ts +2 -2
  3. package/dist/components/Table3/components/columns/internal/Selection.d.ts +1 -2
  4. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +1 -1
  5. package/dist/components/Table3/hooks/features/useEditing.d.ts +1 -2
  6. package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +1 -1
  7. package/dist/components/Table3/hooks/features/useRowClick.d.ts +1 -2
  8. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +1 -1
  9. package/dist/components/Table3/types.d.ts +2 -3
  10. package/dist/components/Table3/util/columns.d.ts +5 -4
  11. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  12. package/dist/esm/packages/taco/src/components/Accordion/Accordion.js.map +1 -1
  13. package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
  14. package/dist/esm/packages/taco/src/components/AlertDialog/AlertDialog.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/AlertDialog/Context.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/AlertDialog/components/Content.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/AlertDialog/components/Footer.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/AlertDialog/components/Trigger.js.map +1 -1
  19. package/dist/esm/packages/taco/src/components/Backdrop/Backdrop.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Badge/Badge.js.map +1 -1
  21. package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
  23. package/dist/esm/packages/taco/src/components/Button/Button.js.map +1 -1
  24. package/dist/esm/packages/taco/src/components/Button/util.js.map +1 -1
  25. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
  27. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
  29. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  31. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Dialog/Context.js.map +1 -1
  33. package/dist/esm/packages/taco/src/components/Dialog/Dialog.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  35. package/dist/esm/packages/taco/src/components/Dialog/components/DialogDrawer.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Dialog/components/Extra.js.map +1 -1
  37. package/dist/esm/packages/taco/src/components/Dialog/components/Trigger.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Dialog/util.js.map +1 -1
  39. package/dist/esm/packages/taco/src/components/Drawer/Context.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js.map +1 -1
  41. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Drawer/components/Trigger.js.map +1 -1
  43. package/dist/esm/packages/taco/src/components/Drawer/util.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
  45. package/dist/esm/packages/taco/src/components/Form/Form.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/Group/Group.js.map +1 -1
  47. package/dist/esm/packages/taco/src/components/Hanger/Hanger.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Header/Header.js.map +1 -1
  49. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Avatar.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Badge.js.map +1 -1
  51. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Header/components/Button.js.map +1 -1
  53. package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Header/components/Logo.js.map +1 -1
  55. package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -1
  57. package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/HoverCard/HoverCard.js.map +1 -1
  59. package/dist/esm/packages/taco/src/components/HoverCard/Primitives.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
  61. package/dist/esm/packages/taco/src/components/Icon/components/AccountPreview.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Icon/components/Accounting.js.map +1 -1
  63. package/dist/esm/packages/taco/src/components/Icon/components/AccountingYear.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Icon/components/AccountingYearCancel.js.map +1 -1
  65. package/dist/esm/packages/taco/src/components/Icon/components/ArrowBottom.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Icon/components/ArrowDown.js.map +1 -1
  67. package/dist/esm/packages/taco/src/components/Icon/components/ArrowEnd.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Icon/components/ArrowLeft.js.map +1 -1
  69. package/dist/esm/packages/taco/src/components/Icon/components/ArrowRight.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Icon/components/ArrowStart.js.map +1 -1
  71. package/dist/esm/packages/taco/src/components/Icon/components/ArrowTop.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/Icon/components/ArrowUp.js.map +1 -1
  73. package/dist/esm/packages/taco/src/components/Icon/components/Attach.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/Icon/components/AttachAuto.js.map +1 -1
  75. package/dist/esm/packages/taco/src/components/Icon/components/AttachCancel.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Icon/components/Autotext.js.map +1 -1
  77. package/dist/esm/packages/taco/src/components/Icon/components/AutotextInsert.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Icon/components/Basic.js.map +1 -1
  79. package/dist/esm/packages/taco/src/components/Icon/components/BasicTabs.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Icon/components/BellSolid.js.map +1 -1
  81. package/dist/esm/packages/taco/src/components/Icon/components/Book.js.map +1 -1
  82. package/dist/esm/packages/taco/src/components/Icon/components/Booking.js.map +1 -1
  83. package/dist/esm/packages/taco/src/components/Icon/components/Budget.js.map +1 -1
  84. package/dist/esm/packages/taco/src/components/Icon/components/Calendar.js.map +1 -1
  85. package/dist/esm/packages/taco/src/components/Icon/components/CashAccount.js.map +1 -1
  86. package/dist/esm/packages/taco/src/components/Icon/components/CashReports.js.map +1 -1
  87. package/dist/esm/packages/taco/src/components/Icon/components/Chat.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/Icon/components/ChatSolid.js.map +1 -1
  89. package/dist/esm/packages/taco/src/components/Icon/components/ChevronDown.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Icon/components/ChevronDownDouble.js.map +1 -1
  91. package/dist/esm/packages/taco/src/components/Icon/components/ChevronDownSolid.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeft.js.map +1 -1
  93. package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeftSolid.js.map +1 -1
  95. package/dist/esm/packages/taco/src/components/Icon/components/ChevronRight.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Icon/components/ChevronRightDouble.js.map +1 -1
  97. package/dist/esm/packages/taco/src/components/Icon/components/ChevronRightSolid.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Icon/components/ChevronUp.js.map +1 -1
  99. package/dist/esm/packages/taco/src/components/Icon/components/ChevronUpDouble.js.map +1 -1
  100. package/dist/esm/packages/taco/src/components/Icon/components/ChevronUpSolid.js.map +1 -1
  101. package/dist/esm/packages/taco/src/components/Icon/components/CircleClose.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Icon/components/CircleMinus.js.map +1 -1
  103. package/dist/esm/packages/taco/src/components/Icon/components/CirclePlus.js.map +1 -1
  104. package/dist/esm/packages/taco/src/components/Icon/components/CircleTick.js.map +1 -1
  105. package/dist/esm/packages/taco/src/components/Icon/components/Clamp.js.map +1 -1
  106. package/dist/esm/packages/taco/src/components/Icon/components/ClampOpen.js.map +1 -1
  107. package/dist/esm/packages/taco/src/components/Icon/components/Close.js.map +1 -1
  108. package/dist/esm/packages/taco/src/components/Icon/components/ColumnFreeze.js.map +1 -1
  109. package/dist/esm/packages/taco/src/components/Icon/components/ColumnUnfreeze.js.map +1 -1
  110. package/dist/esm/packages/taco/src/components/Icon/components/Columns.js.map +1 -1
  111. package/dist/esm/packages/taco/src/components/Icon/components/ConnectionEnable.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Icon/components/ConnectionRevoke.js.map +1 -1
  113. package/dist/esm/packages/taco/src/components/Icon/components/Contacts.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Icon/components/Copy.js.map +1 -1
  115. package/dist/esm/packages/taco/src/components/Icon/components/Courses.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Icon/components/Credit.js.map +1 -1
  117. package/dist/esm/packages/taco/src/components/Icon/components/Delete.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Icon/components/DeletePermanently.js.map +1 -1
  119. package/dist/esm/packages/taco/src/components/Icon/components/Depecriate.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Icon/components/Developer.js.map +1 -1
  121. package/dist/esm/packages/taco/src/components/Icon/components/DistributionTemplate.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Icon/components/Document.js.map +1 -1
  123. package/dist/esm/packages/taco/src/components/Icon/components/DocumentApprove.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  125. package/dist/esm/packages/taco/src/components/Icon/components/DocumentCut.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Icon/components/DocumentError.js.map +1 -1
  127. package/dist/esm/packages/taco/src/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Icon/components/DocumentMerge.js.map +1 -1
  129. package/dist/esm/packages/taco/src/components/Icon/components/DocumentMove.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Icon/components/DocumentPreview.js.map +1 -1
  131. package/dist/esm/packages/taco/src/components/Icon/components/DocumentReceived.js.map +1 -1
  132. package/dist/esm/packages/taco/src/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  133. package/dist/esm/packages/taco/src/components/Icon/components/DocumentSplit.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/Icon/components/DocumentTime.js.map +1 -1
  135. package/dist/esm/packages/taco/src/components/Icon/components/Download.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/Icon/components/Drag.js.map +1 -1
  137. package/dist/esm/packages/taco/src/components/Icon/components/ECopedia.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Icon/components/ESignature.js.map +1 -1
  139. package/dist/esm/packages/taco/src/components/Icon/components/Edit.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  141. package/dist/esm/packages/taco/src/components/Icon/components/EllipsisVertical.js.map +1 -1
  142. package/dist/esm/packages/taco/src/components/Icon/components/EntriesOnAccount.js.map +1 -1
  143. package/dist/esm/packages/taco/src/components/Icon/components/EntriesOpen.js.map +1 -1
  144. package/dist/esm/packages/taco/src/components/Icon/components/EntriesWarning.js.map +1 -1
  145. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  146. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  147. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  148. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  149. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  150. package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  151. package/dist/esm/packages/taco/src/components/Icon/components/Envelope.js.map +1 -1
  152. package/dist/esm/packages/taco/src/components/Icon/components/EnvelopeApproved.js.map +1 -1
  153. package/dist/esm/packages/taco/src/components/Icon/components/ExpandView.js.map +1 -1
  154. package/dist/esm/packages/taco/src/components/Icon/components/Expenses.js.map +1 -1
  155. package/dist/esm/packages/taco/src/components/Icon/components/Export.js.map +1 -1
  156. package/dist/esm/packages/taco/src/components/Icon/components/ExportToExcel.js.map +1 -1
  157. package/dist/esm/packages/taco/src/components/Icon/components/ExportToPdf.js.map +1 -1
  158. package/dist/esm/packages/taco/src/components/Icon/components/EyeOff.js.map +1 -1
  159. package/dist/esm/packages/taco/src/components/Icon/components/EyeOn.js.map +1 -1
  160. package/dist/esm/packages/taco/src/components/Icon/components/Filter.js.map +1 -1
  161. package/dist/esm/packages/taco/src/components/Icon/components/FilterSolid.js.map +1 -1
  162. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -1
  163. package/dist/esm/packages/taco/src/components/Icon/components/GraphSolid.js.map +1 -1
  164. package/dist/esm/packages/taco/src/components/Icon/components/Hash.js.map +1 -1
  165. package/dist/esm/packages/taco/src/components/Icon/components/HeightExtraTall.js.map +1 -1
  166. package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -1
  167. package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -1
  168. package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -1
  169. package/dist/esm/packages/taco/src/components/Icon/components/Home.js.map +1 -1
  170. package/dist/esm/packages/taco/src/components/Icon/components/Images.js.map +1 -1
  171. package/dist/esm/packages/taco/src/components/Icon/components/Import.js.map +1 -1
  172. package/dist/esm/packages/taco/src/components/Icon/components/Inbox.js.map +1 -1
  173. package/dist/esm/packages/taco/src/components/Icon/components/InboxEinvoicing.js.map +1 -1
  174. package/dist/esm/packages/taco/src/components/Icon/components/InboxScanning.js.map +1 -1
  175. package/dist/esm/packages/taco/src/components/Icon/components/InboxSmart.js.map +1 -1
  176. package/dist/esm/packages/taco/src/components/Icon/components/Info.js.map +1 -1
  177. package/dist/esm/packages/taco/src/components/Icon/components/Inventory.js.map +1 -1
  178. package/dist/esm/packages/taco/src/components/Icon/components/InventoryMatrix.js.map +1 -1
  179. package/dist/esm/packages/taco/src/components/Icon/components/JournalPro.js.map +1 -1
  180. package/dist/esm/packages/taco/src/components/Icon/components/Layout.js.map +1 -1
  181. package/dist/esm/packages/taco/src/components/Icon/components/LayoutBoth.js.map +1 -1
  182. package/dist/esm/packages/taco/src/components/Icon/components/LayoutFirst.js.map +1 -1
  183. package/dist/esm/packages/taco/src/components/Icon/components/LayoutLast.js.map +1 -1
  184. package/dist/esm/packages/taco/src/components/Icon/components/LayoutNone.js.map +1 -1
  185. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCard.js.map +1 -1
  186. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  187. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  188. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  189. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  190. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  191. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  192. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  193. package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  194. package/dist/esm/packages/taco/src/components/Icon/components/Lightbulb.js.map +1 -1
  195. package/dist/esm/packages/taco/src/components/Icon/components/Line.js.map +1 -1
  196. package/dist/esm/packages/taco/src/components/Icon/components/List.js.map +1 -1
  197. package/dist/esm/packages/taco/src/components/Icon/components/ListBulleted.js.map +1 -1
  198. package/dist/esm/packages/taco/src/components/Icon/components/ListSearch.js.map +1 -1
  199. package/dist/esm/packages/taco/src/components/Icon/components/LockOpen.js.map +1 -1
  200. package/dist/esm/packages/taco/src/components/Icon/components/Log.js.map +1 -1
  201. package/dist/esm/packages/taco/src/components/Icon/components/LogOut.js.map +1 -1
  202. package/dist/esm/packages/taco/src/components/Icon/components/Market.js.map +1 -1
  203. package/dist/esm/packages/taco/src/components/Icon/components/MatchAmount.js.map +1 -1
  204. package/dist/esm/packages/taco/src/components/Icon/components/MatchEntries.js.map +1 -1
  205. package/dist/esm/packages/taco/src/components/Icon/components/Menu.js.map +1 -1
  206. package/dist/esm/packages/taco/src/components/Icon/components/Mileage.js.map +1 -1
  207. package/dist/esm/packages/taco/src/components/Icon/components/ModalResize.js.map +1 -1
  208. package/dist/esm/packages/taco/src/components/Icon/components/ModalShrink.js.map +1 -1
  209. package/dist/esm/packages/taco/src/components/Icon/components/More.js.map +1 -1
  210. package/dist/esm/packages/taco/src/components/Icon/components/MoreSolid.js.map +1 -1
  211. package/dist/esm/packages/taco/src/components/Icon/components/Move.js.map +1 -1
  212. package/dist/esm/packages/taco/src/components/Icon/components/NavigationList.js.map +1 -1
  213. package/dist/esm/packages/taco/src/components/Icon/components/Note.js.map +1 -1
  214. package/dist/esm/packages/taco/src/components/Icon/components/NoteFollowUp.js.map +1 -1
  215. package/dist/esm/packages/taco/src/components/Icon/components/NoteRead.js.map +1 -1
  216. package/dist/esm/packages/taco/src/components/Icon/components/Numbers.js.map +1 -1
  217. package/dist/esm/packages/taco/src/components/Icon/components/PartnerApi.js.map +1 -1
  218. package/dist/esm/packages/taco/src/components/Icon/components/Period.js.map +1 -1
  219. package/dist/esm/packages/taco/src/components/Icon/components/PersonChange.js.map +1 -1
  220. package/dist/esm/packages/taco/src/components/Icon/components/PersonMinus.js.map +1 -1
  221. package/dist/esm/packages/taco/src/components/Icon/components/PersonPlus.js.map +1 -1
  222. package/dist/esm/packages/taco/src/components/Icon/components/PersonTick.js.map +1 -1
  223. package/dist/esm/packages/taco/src/components/Icon/components/Play.js.map +1 -1
  224. package/dist/esm/packages/taco/src/components/Icon/components/PlusMinus.js.map +1 -1
  225. package/dist/esm/packages/taco/src/components/Icon/components/Print.js.map +1 -1
  226. package/dist/esm/packages/taco/src/components/Icon/components/ProcessPayment.js.map +1 -1
  227. package/dist/esm/packages/taco/src/components/Icon/components/ProductLedgerCard.js.map +1 -1
  228. package/dist/esm/packages/taco/src/components/Icon/components/Profile.js.map +1 -1
  229. package/dist/esm/packages/taco/src/components/Icon/components/ProjectCards.js.map +1 -1
  230. package/dist/esm/packages/taco/src/components/Icon/components/Projects.js.map +1 -1
  231. package/dist/esm/packages/taco/src/components/Icon/components/QuestionMark.js.map +1 -1
  232. package/dist/esm/packages/taco/src/components/Icon/components/Quicklinks.js.map +1 -1
  233. package/dist/esm/packages/taco/src/components/Icon/components/RatingBankruptcy.js.map +1 -1
  234. package/dist/esm/packages/taco/src/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  235. package/dist/esm/packages/taco/src/components/Icon/components/Reconciled.js.map +1 -1
  236. package/dist/esm/packages/taco/src/components/Icon/components/Refresh.js.map +1 -1
  237. package/dist/esm/packages/taco/src/components/Icon/components/Report.js.map +1 -1
  238. package/dist/esm/packages/taco/src/components/Icon/components/ReportSolid.js.map +1 -1
  239. package/dist/esm/packages/taco/src/components/Icon/components/Restore.js.map +1 -1
  240. package/dist/esm/packages/taco/src/components/Icon/components/RotateLeft.js.map +1 -1
  241. package/dist/esm/packages/taco/src/components/Icon/components/RotateRight.js.map +1 -1
  242. package/dist/esm/packages/taco/src/components/Icon/components/Sales.js.map +1 -1
  243. package/dist/esm/packages/taco/src/components/Icon/components/Search.js.map +1 -1
  244. package/dist/esm/packages/taco/src/components/Icon/components/SearchBold.js.map +1 -1
  245. package/dist/esm/packages/taco/src/components/Icon/components/Secure.js.map +1 -1
  246. package/dist/esm/packages/taco/src/components/Icon/components/SecureTick.js.map +1 -1
  247. package/dist/esm/packages/taco/src/components/Icon/components/Settings.js.map +1 -1
  248. package/dist/esm/packages/taco/src/components/Icon/components/SettingsSolid.js.map +1 -1
  249. package/dist/esm/packages/taco/src/components/Icon/components/Shortcuts.js.map +1 -1
  250. package/dist/esm/packages/taco/src/components/Icon/components/ShowAll.js.map +1 -1
  251. package/dist/esm/packages/taco/src/components/Icon/components/ShowLess.js.map +1 -1
  252. package/dist/esm/packages/taco/src/components/Icon/components/ShowMore.js.map +1 -1
  253. package/dist/esm/packages/taco/src/components/Icon/components/ShowTemplate.js.map +1 -1
  254. package/dist/esm/packages/taco/src/components/Icon/components/Sliders.js.map +1 -1
  255. package/dist/esm/packages/taco/src/components/Icon/components/Smartpay.js.map +1 -1
  256. package/dist/esm/packages/taco/src/components/Icon/components/SortBy.js.map +1 -1
  257. package/dist/esm/packages/taco/src/components/Icon/components/Star.js.map +1 -1
  258. package/dist/esm/packages/taco/src/components/Icon/components/StarSolid.js.map +1 -1
  259. package/dist/esm/packages/taco/src/components/Icon/components/Subscriptions.js.map +1 -1
  260. package/dist/esm/packages/taco/src/components/Icon/components/SystemEntries.js.map +1 -1
  261. package/dist/esm/packages/taco/src/components/Icon/components/Tag.js.map +1 -1
  262. package/dist/esm/packages/taco/src/components/Icon/components/TemplateOverride.js.map +1 -1
  263. package/dist/esm/packages/taco/src/components/Icon/components/Templates.js.map +1 -1
  264. package/dist/esm/packages/taco/src/components/Icon/components/ThumbBoth.js.map +1 -1
  265. package/dist/esm/packages/taco/src/components/Icon/components/ThumbDown.js.map +1 -1
  266. package/dist/esm/packages/taco/src/components/Icon/components/ThumbDownSolid.js.map +1 -1
  267. package/dist/esm/packages/taco/src/components/Icon/components/ThumbUp.js.map +1 -1
  268. package/dist/esm/packages/taco/src/components/Icon/components/ThumbUpSolid.js.map +1 -1
  269. package/dist/esm/packages/taco/src/components/Icon/components/Tick.js.map +1 -1
  270. package/dist/esm/packages/taco/src/components/Icon/components/TickBold.js.map +1 -1
  271. package/dist/esm/packages/taco/src/components/Icon/components/Time.js.map +1 -1
  272. package/dist/esm/packages/taco/src/components/Icon/components/Transfer.js.map +1 -1
  273. package/dist/esm/packages/taco/src/components/Icon/components/TransferCancel.js.map +1 -1
  274. package/dist/esm/packages/taco/src/components/Icon/components/TransferLocked.js.map +1 -1
  275. package/dist/esm/packages/taco/src/components/Icon/components/Undo.js.map +1 -1
  276. package/dist/esm/packages/taco/src/components/Icon/components/Undock.js.map +1 -1
  277. package/dist/esm/packages/taco/src/components/Icon/components/Unreconciled.js.map +1 -1
  278. package/dist/esm/packages/taco/src/components/Icon/components/Warning.js.map +1 -1
  279. package/dist/esm/packages/taco/src/components/Icon/components/Webshop.js.map +1 -1
  280. package/dist/esm/packages/taco/src/components/Icon/components/Website.js.map +1 -1
  281. package/dist/esm/packages/taco/src/components/Icon/components/Workflow.js.map +1 -1
  282. package/dist/esm/packages/taco/src/components/Icon/components/WorkflowTemplateBasic.js.map +1 -1
  283. package/dist/esm/packages/taco/src/components/Icon/components/Zoom.js.map +1 -1
  284. package/dist/esm/packages/taco/src/components/IconButton/IconButton.js.map +1 -1
  285. package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
  286. package/dist/esm/packages/taco/src/components/Input/util.js.map +1 -1
  287. package/dist/esm/packages/taco/src/components/Layout/Layout.js.map +1 -1
  288. package/dist/esm/packages/taco/src/components/Layout/components/Content.js.map +1 -1
  289. package/dist/esm/packages/taco/src/components/Layout/components/Context.js.map +1 -1
  290. package/dist/esm/packages/taco/src/components/Layout/components/Page.js.map +1 -1
  291. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -1
  292. package/dist/esm/packages/taco/src/components/Layout/components/Top.js.map +1 -1
  293. package/dist/esm/packages/taco/src/components/Listbox/Listbox.js.map +1 -1
  294. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  295. package/dist/esm/packages/taco/src/components/Listbox/useListbox.js.map +1 -1
  296. package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js.map +1 -1
  297. package/dist/esm/packages/taco/src/components/Listbox/useTypeahead.js.map +1 -1
  298. package/dist/esm/packages/taco/src/components/Listbox/util.js.map +1 -1
  299. package/dist/esm/packages/taco/src/components/Menu/Context.js.map +1 -1
  300. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  301. package/dist/esm/packages/taco/src/components/Menu/components/Checkbox.js.map +1 -1
  302. package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
  303. package/dist/esm/packages/taco/src/components/Menu/components/Header.js.map +1 -1
  304. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  305. package/dist/esm/packages/taco/src/components/Menu/components/Link.js.map +1 -1
  306. package/dist/esm/packages/taco/src/components/Menu/components/RadioGroup.js.map +1 -1
  307. package/dist/esm/packages/taco/src/components/Menu/components/Separator.js.map +1 -1
  308. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -1
  309. package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js.map +1 -1
  310. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js.map +1 -1
  311. package/dist/esm/packages/taco/src/components/Navigation2/Navigation2.js.map +1 -1
  312. package/dist/esm/packages/taco/src/components/Navigation2/components/Content.js.map +1 -1
  313. package/dist/esm/packages/taco/src/components/Navigation2/components/Group.js.map +1 -1
  314. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js.map +1 -1
  315. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js.map +1 -1
  316. package/dist/esm/packages/taco/src/components/Navigation2/components/util.js.map +1 -1
  317. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -1
  318. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
  319. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
  320. package/dist/esm/packages/taco/src/components/Pagination/usePagination.js.map +1 -1
  321. package/dist/esm/packages/taco/src/components/Pagination/usePaginationShortcuts.js.map +1 -1
  322. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  323. package/dist/esm/packages/taco/src/components/Popover/Primitives.js.map +1 -1
  324. package/dist/esm/packages/taco/src/components/Popover/util.js.map +1 -1
  325. package/dist/esm/packages/taco/src/components/Progress/Progress.js.map +1 -1
  326. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  327. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
  328. package/dist/esm/packages/taco/src/components/RadioGroup/util.js.map +1 -1
  329. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  330. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +30 -44
  331. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  332. package/dist/esm/packages/taco/src/components/Select/Select.js.map +1 -1
  333. package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
  334. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  335. package/dist/esm/packages/taco/src/components/Select2/components/Context.js.map +1 -1
  336. package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
  337. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  338. package/dist/esm/packages/taco/src/components/Select2/components/Group.js.map +1 -1
  339. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  340. package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
  341. package/dist/esm/packages/taco/src/components/Select2/components/Title.js.map +1 -1
  342. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  343. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
  344. package/dist/esm/packages/taco/src/components/Select2/utilities.js.map +1 -1
  345. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  346. package/dist/esm/packages/taco/src/components/Spinner/Spinner.js +1 -1
  347. package/dist/esm/packages/taco/src/components/Spinner/Spinner.js.map +1 -1
  348. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  349. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js.map +1 -1
  350. package/dist/esm/packages/taco/src/components/Table/components/PaginatedTable.js.map +1 -1
  351. package/dist/esm/packages/taco/src/components/Table/components/Table.js.map +1 -1
  352. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
  353. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  354. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  355. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  356. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  357. package/dist/esm/packages/taco/src/components/Table/hooks/useRowCreation.js.map +1 -1
  358. package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js.map +1 -1
  359. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  360. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js.map +1 -1
  361. package/dist/esm/packages/taco/src/components/Table/util/renderRow.js.map +1 -1
  362. package/dist/esm/packages/taco/src/components/Table/util/rowIndexPath.js.map +1 -1
  363. package/dist/esm/packages/taco/src/components/Table/util/sortTypes.js.map +1 -1
  364. package/dist/esm/packages/taco/src/components/Table/util.js.map +1 -1
  365. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
  366. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +1 -1
  367. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +1 -1
  368. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +1 -1
  369. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +1 -1
  370. package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +1 -1
  371. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +1 -1
  372. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
  373. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +1 -1
  374. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +1 -1
  375. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +1 -1
  376. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +1 -1
  377. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +1 -1
  378. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +1 -1
  379. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +1 -1
  380. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +1 -1
  381. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +1 -1
  382. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +1 -1
  383. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +1 -1
  384. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +1 -1
  385. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +1 -1
  386. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +1 -1
  387. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +1 -1
  388. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +1 -1
  389. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +1 -1
  390. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +1 -1
  391. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +1 -1
  392. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
  393. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +1 -1
  394. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
  395. package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +1 -1
  396. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +1 -1
  397. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +1 -1
  398. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
  399. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +1 -1
  400. package/dist/esm/packages/taco/src/components/Table3/Table3.js +20 -17
  401. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  402. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -1
  403. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +3 -3
  404. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
  405. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +0 -2
  406. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  407. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -1
  408. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +1 -1
  409. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -1
  410. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -1
  411. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +1 -0
  412. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -1
  413. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +3 -4
  414. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
  415. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +1 -1
  416. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -1
  417. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -1
  418. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -1
  419. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +1 -1
  420. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  421. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -1
  422. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -1
  423. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -1
  424. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +12 -4
  425. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
  426. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
  427. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -1
  428. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -1
  429. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -1
  430. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -1
  431. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
  432. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -1
  433. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
  434. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -1
  435. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
  436. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -1
  437. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -1
  438. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -1
  439. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -1
  440. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +11 -7
  441. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
  442. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +0 -2
  443. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
  444. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js.map +1 -1
  445. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -1
  446. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -1
  447. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +40 -29
  448. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
  449. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -1
  450. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +1 -1
  451. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -1
  452. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -1
  453. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +1 -1
  454. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -1
  455. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +9 -13
  456. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -1
  457. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -1
  458. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +3 -0
  459. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -1
  460. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -1
  461. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowActions.js.map +1 -1
  462. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +1 -1
  463. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -1
  464. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -1
  465. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -1
  466. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -1
  467. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -1
  468. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +1 -1
  469. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -1
  470. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -1
  471. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js.map +1 -1
  472. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -1
  473. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -1
  474. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -1
  475. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -1
  476. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -1
  477. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +3 -3
  478. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  479. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -1
  480. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -1
  481. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +3 -3
  482. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
  483. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +1 -1
  484. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -1
  485. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +25 -8
  486. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  487. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js +11 -2
  488. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js.map +1 -1
  489. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -1
  490. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -1
  491. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -1
  492. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -1
  493. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  494. package/dist/esm/packages/taco/src/components/Table3/util/columns.js +26 -7
  495. package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -1
  496. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
  497. package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -1
  498. package/dist/esm/packages/taco/src/components/Tabs/Tabs.js.map +1 -1
  499. package/dist/esm/packages/taco/src/components/Textarea/Textarea.js.map +1 -1
  500. package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
  501. package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
  502. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  503. package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
  504. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js.map +1 -1
  505. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +1 -1
  506. package/dist/esm/packages/taco/src/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  507. package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js.map +1 -1
  508. package/dist/esm/packages/taco/src/hooks/useBoundingClientRectListener.js.map +1 -1
  509. package/dist/esm/packages/taco/src/hooks/useDebouncedEffect.js +15 -0
  510. package/dist/esm/packages/taco/src/hooks/useDebouncedEffect.js.map +1 -0
  511. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
  512. package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js.map +1 -1
  513. package/dist/esm/packages/taco/src/hooks/useIsFormControl.js.map +1 -1
  514. package/dist/esm/packages/taco/src/hooks/useIsHoverStatePaused.js.map +1 -1
  515. package/dist/esm/packages/taco/src/hooks/useIsLargeScreen.js.map +1 -1
  516. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -1
  517. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js.map +1 -1
  518. package/dist/esm/packages/taco/src/hooks/useMatchMedia.js.map +1 -1
  519. package/dist/esm/packages/taco/src/hooks/usePrevious.js.map +1 -1
  520. package/dist/esm/packages/taco/src/hooks/useTacoSettings.js.map +1 -1
  521. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  522. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
  523. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Context.js.map +1 -1
  524. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Group.js.map +1 -1
  525. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
  526. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js.map +1 -1
  527. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Title.js.map +1 -1
  528. package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js.map +1 -1
  529. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js.map +1 -1
  530. package/dist/esm/packages/taco/src/primitives/Sortable/components/List.js.map +1 -1
  531. package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
  532. package/dist/esm/packages/taco/src/utils/debounce.js.map +1 -1
  533. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  534. package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js.map +1 -1
  535. package/dist/esm/packages/taco/src/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  536. package/dist/esm/packages/taco/src/utils/hooks/useListScrollTo.js.map +1 -1
  537. package/dist/esm/packages/taco/src/utils/hooks/useOnClickOutside.js.map +1 -1
  538. package/dist/esm/packages/taco/src/utils/hooks/useTimer.js.map +1 -1
  539. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -1
  540. package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
  541. package/dist/esm/packages/taco/src/utils/keyboard.js +2 -2
  542. package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
  543. package/dist/esm/packages/taco/src/utils/mergeRefs.js.map +1 -1
  544. package/dist/hooks/useDebouncedEffect.d.ts +2 -0
  545. package/dist/taco.cjs.development.js +251 -192
  546. package/dist/taco.cjs.development.js.map +1 -1
  547. package/dist/taco.cjs.production.min.js +1 -1
  548. package/dist/taco.cjs.production.min.js.map +1 -1
  549. package/package.json +2 -2
  550. package/types.json +5268 -5198
@@ -1 +1 @@
1
- {"version":3,"file":"useSelect.js","sources":["../../../../../../../src/components/Select/useSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { v4 as uuid } from 'uuid';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport { useLocalization } from '../Provider/Localization';\nimport { SelectProps } from './Select';\nimport { ListboxProps } from '../Listbox/Listbox';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef, findByValue, useFlattenedData, sanitizeItem } from '../Listbox/util';\nimport { ScrollableListItemValue } from '../Listbox/ScrollableList';\nimport { createCustomEvent } from '../../utils/input';\n\ntype InternalButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement>;\ntype InternalListboxProps = ListboxProps & { ref: React.ForwardedRef<HTMLInputElement> };\ntype InternalInputProps = React.InputHTMLAttributes<HTMLInputElement> & { ref: React.ForwardedRef<HTMLInputElement> };\n\ntype useSelect = React.HtmlHTMLAttributes<HTMLDivElement> & {\n button: InternalButtonProps;\n listbox: InternalListboxProps;\n input: InternalInputProps;\n popover: Pick<PopoverPrimitive.PopoverProps, 'onOpenChange' | 'open'>;\n text: string | JSX.Element;\n more?: number;\n};\n\nexport const useSelect = (\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n data = [],\n defaultValue,\n disabled,\n emptyValue,\n id: nativeId,\n multiselect,\n onBlur,\n onClick,\n onChange,\n readOnly,\n tabIndex,\n value,\n ...otherProps\n }: SelectProps,\n ref: React.Ref<HTMLInputElement>\n): useSelect => {\n const { texts } = useLocalization();\n const flattenedData = useFlattenedData(data);\n const listboxInputRef = useMergedRef<HTMLInputElement>(ref);\n const [open, setOpen] = React.useState(false);\n const id = React.useMemo(() => nativeId || `select_${uuid()}`, [nativeId]);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const buttonId = `${id}-button`;\n // support 'escape' resetting to the value that was set when the listbox opened\n const [lastValue, setLastValue] = React.useState<ScrollableListItemValue | undefined>(value);\n\n React.useEffect(() => {\n setLastValue(value);\n }, [open]);\n\n React.useEffect(() => {\n if (value === undefined) {\n if (defaultValue !== undefined && findByValue(flattenedData, defaultValue)) {\n setInputValueByRef(inputRef.current, defaultValue);\n } else {\n if (emptyValue !== undefined) {\n setInputValueByRef(inputRef.current, emptyValue);\n } else if (data.length > 0) {\n setInputValueByRef(inputRef.current, data[0].value);\n }\n }\n } else {\n if (!multiselect && !findByValue(flattenedData, value)) {\n if (emptyValue !== undefined) {\n setInputValueByRef(inputRef.current, emptyValue);\n } else if (data.length > 0) {\n setInputValueByRef(inputRef.current, data[0].value);\n }\n }\n }\n }, []);\n\n // event handlers\n const handleButtonKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>): void => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n setOpen(true);\n }\n };\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n switch (event.key) {\n case 'Escape': {\n event.preventDefault();\n if (lastValue !== undefined) {\n setInputValueByRef(listboxInputRef.current, lastValue);\n }\n\n setOpen(false);\n break;\n }\n\n case 'Tab':\n case 'Enter': {\n if (event.key !== 'Tab') {\n event.preventDefault();\n }\n setOpen(false);\n break;\n }\n\n default:\n }\n\n if (otherProps.onKeyDown) {\n otherProps.onKeyDown(event);\n }\n };\n\n const handleListboxClick = (event: React.MouseEvent<HTMLLIElement>): void => {\n event.preventDefault();\n if (!multiselect) {\n setOpen(false);\n if (onBlur) {\n onBlur(createCustomEvent('blur'));\n }\n }\n };\n\n let text: string | JSX.Element = '';\n let more = 0;\n\n if (value !== undefined) {\n if (multiselect) {\n const selectedValues = value?.toString().split(',') || [];\n\n if (selectedValues.length === flattenedData.filter(item => !item.disabled).length) {\n text = texts.select.allOptionsSelected;\n } else {\n text = findByValue(flattenedData, selectedValues[0])?.text ?? '';\n more = selectedValues.length > 1 ? selectedValues.length - 1 : 0;\n }\n } else {\n const item = findByValue(flattenedData, value);\n\n if (item) {\n text = item.icon ? (\n <>\n {React.cloneElement(item.icon, {\n className: cn(item.icon.props.className, 'mr-1 -mt-px'),\n })}\n {item.text}\n </>\n ) : (\n item.text\n );\n }\n }\n }\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n event.persist();\n\n if (onChange) {\n const item = findByValue(flattenedData, event.target.value);\n (event as any).detail = sanitizeItem(item);\n\n const indexes = item?.path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n (event as any).detail.parents = indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(flattenedData.find(i => i.path === lastPath));\n });\n }\n\n onChange(event);\n }\n };\n\n const button: InternalButtonProps = {\n 'aria-haspopup': 'listbox' as const,\n 'aria-label': ariaLabel ? `${ariaLabel} ${text}` : undefined,\n 'aria-labelledby': ariaLabelledBy ? `${ariaLabelledBy} ${buttonId}` : undefined,\n disabled: disabled || readOnly,\n id: buttonId,\n onKeyDown: !disabled && !readOnly ? handleButtonKeyDown : undefined,\n tabIndex,\n type: 'button',\n };\n\n const listbox: InternalListboxProps = {\n ...otherProps,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n data,\n disabled,\n emptyValue,\n onBlur,\n onClick: handleListboxClick,\n onChange: event => {\n setInputValueByRef(inputRef.current, event.target.value);\n },\n onKeyDown: handleListboxKeyDown,\n ref: listboxInputRef,\n value,\n };\n\n const input: InternalInputProps = {\n onChange: handleInputChange,\n ref: inputRef,\n value: String(value ?? ''),\n };\n\n return {\n button,\n listbox,\n input,\n popover: {\n open,\n onOpenChange: open => {\n if (!open && onBlur) {\n onBlur(createCustomEvent('blur'));\n }\n setOpen(open);\n },\n },\n text,\n more,\n };\n};\n"],"names":["useSelect","ariaLabel","ariaLabelledBy","data","defaultValue","disabled","emptyValue","id","nativeId","multiselect","onBlur","onClick","onChange","readOnly","tabIndex","value","otherProps","ref","texts","useLocalization","flattenedData","useFlattenedData","listboxInputRef","useMergedRef","open","setOpen","React","uuid","inputRef","buttonId","lastValue","setLastValue","undefined","findByValue","setInputValueByRef","current","length","handleButtonKeyDown","event","key","preventDefault","handleListboxKeyDown","onKeyDown","handleListboxClick","createCustomEvent","text","more","selectedValues","toString","split","filter","item","select","allOptionsSelected","icon","className","cn","props","handleInputChange","persist","target","detail","sanitizeItem","indexes","path","pop","lastPath","parents","map","i","join","find","button","type","listbox","input","String","popover","onOpenChange"],"mappings":"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"}
1
+ {"version":3,"file":"useSelect.js","sources":["../../../../../../../src/components/Select/useSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { v4 as uuid } from 'uuid';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport { useLocalization } from '../Provider/Localization';\nimport { SelectProps } from './Select';\nimport { ListboxProps } from '../Listbox/Listbox';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef, findByValue, useFlattenedData, sanitizeItem } from '../Listbox/util';\nimport { ScrollableListItemValue } from '../Listbox/ScrollableList';\nimport { createCustomEvent } from '../../utils/input';\n\ntype InternalButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement>;\ntype InternalListboxProps = ListboxProps & { ref: React.ForwardedRef<HTMLInputElement> };\ntype InternalInputProps = React.InputHTMLAttributes<HTMLInputElement> & { ref: React.ForwardedRef<HTMLInputElement> };\n\ntype useSelect = React.HtmlHTMLAttributes<HTMLDivElement> & {\n button: InternalButtonProps;\n listbox: InternalListboxProps;\n input: InternalInputProps;\n popover: Pick<PopoverPrimitive.PopoverProps, 'onOpenChange' | 'open'>;\n text: string | JSX.Element;\n more?: number;\n};\n\nexport const useSelect = (\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n data = [],\n defaultValue,\n disabled,\n emptyValue,\n id: nativeId,\n multiselect,\n onBlur,\n onClick,\n onChange,\n readOnly,\n tabIndex,\n value,\n ...otherProps\n }: SelectProps,\n ref: React.Ref<HTMLInputElement>\n): useSelect => {\n const { texts } = useLocalization();\n const flattenedData = useFlattenedData(data);\n const listboxInputRef = useMergedRef<HTMLInputElement>(ref);\n const [open, setOpen] = React.useState(false);\n const id = React.useMemo(() => nativeId || `select_${uuid()}`, [nativeId]);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const buttonId = `${id}-button`;\n // support 'escape' resetting to the value that was set when the listbox opened\n const [lastValue, setLastValue] = React.useState<ScrollableListItemValue | undefined>(value);\n\n React.useEffect(() => {\n setLastValue(value);\n }, [open]);\n\n React.useEffect(() => {\n if (value === undefined) {\n if (defaultValue !== undefined && findByValue(flattenedData, defaultValue)) {\n setInputValueByRef(inputRef.current, defaultValue);\n } else {\n if (emptyValue !== undefined) {\n setInputValueByRef(inputRef.current, emptyValue);\n } else if (data.length > 0) {\n setInputValueByRef(inputRef.current, data[0].value);\n }\n }\n } else {\n if (!multiselect && !findByValue(flattenedData, value)) {\n if (emptyValue !== undefined) {\n setInputValueByRef(inputRef.current, emptyValue);\n } else if (data.length > 0) {\n setInputValueByRef(inputRef.current, data[0].value);\n }\n }\n }\n }, []);\n\n // event handlers\n const handleButtonKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>): void => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n setOpen(true);\n }\n };\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n switch (event.key) {\n case 'Escape': {\n event.preventDefault();\n if (lastValue !== undefined) {\n setInputValueByRef(listboxInputRef.current, lastValue);\n }\n\n setOpen(false);\n break;\n }\n\n case 'Tab':\n case 'Enter': {\n if (event.key !== 'Tab') {\n event.preventDefault();\n }\n setOpen(false);\n break;\n }\n\n default:\n }\n\n if (otherProps.onKeyDown) {\n otherProps.onKeyDown(event);\n }\n };\n\n const handleListboxClick = (event: React.MouseEvent<HTMLLIElement>): void => {\n event.preventDefault();\n if (!multiselect) {\n setOpen(false);\n if (onBlur) {\n onBlur(createCustomEvent('blur'));\n }\n }\n };\n\n let text: string | JSX.Element = '';\n let more = 0;\n\n if (value !== undefined) {\n if (multiselect) {\n const selectedValues = value?.toString().split(',') || [];\n\n if (selectedValues.length === flattenedData.filter(item => !item.disabled).length) {\n text = texts.select.allOptionsSelected;\n } else {\n text = findByValue(flattenedData, selectedValues[0])?.text ?? '';\n more = selectedValues.length > 1 ? selectedValues.length - 1 : 0;\n }\n } else {\n const item = findByValue(flattenedData, value);\n\n if (item) {\n text = item.icon ? (\n <>\n {React.cloneElement(item.icon, {\n className: cn(item.icon.props.className, 'mr-1 -mt-px'),\n })}\n {item.text}\n </>\n ) : (\n item.text\n );\n }\n }\n }\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n event.persist();\n\n if (onChange) {\n const item = findByValue(flattenedData, event.target.value);\n (event as any).detail = sanitizeItem(item);\n\n const indexes = item?.path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n (event as any).detail.parents = indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(flattenedData.find(i => i.path === lastPath));\n });\n }\n\n onChange(event);\n }\n };\n\n const button: InternalButtonProps = {\n 'aria-haspopup': 'listbox' as const,\n 'aria-label': ariaLabel ? `${ariaLabel} ${text}` : undefined,\n 'aria-labelledby': ariaLabelledBy ? `${ariaLabelledBy} ${buttonId}` : undefined,\n disabled: disabled || readOnly,\n id: buttonId,\n onKeyDown: !disabled && !readOnly ? handleButtonKeyDown : undefined,\n tabIndex,\n type: 'button',\n };\n\n const listbox: InternalListboxProps = {\n ...otherProps,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n data,\n disabled,\n emptyValue,\n onBlur,\n onClick: handleListboxClick,\n onChange: event => {\n setInputValueByRef(inputRef.current, event.target.value);\n },\n onKeyDown: handleListboxKeyDown,\n ref: listboxInputRef,\n value,\n };\n\n const input: InternalInputProps = {\n onChange: handleInputChange,\n ref: inputRef,\n value: String(value ?? ''),\n };\n\n return {\n button,\n listbox,\n input,\n popover: {\n open,\n onOpenChange: open => {\n if (!open && onBlur) {\n onBlur(createCustomEvent('blur'));\n }\n setOpen(open);\n },\n },\n text,\n more,\n };\n};\n"],"names":["useSelect","ariaLabel","ariaLabelledBy","data","defaultValue","disabled","emptyValue","id","nativeId","multiselect","onBlur","onClick","onChange","readOnly","tabIndex","value","otherProps","ref","texts","useLocalization","flattenedData","useFlattenedData","listboxInputRef","useMergedRef","open","setOpen","React","uuid","inputRef","buttonId","lastValue","setLastValue","undefined","findByValue","setInputValueByRef","current","length","handleButtonKeyDown","event","key","preventDefault","handleListboxKeyDown","onKeyDown","handleListboxClick","createCustomEvent","text","more","selectedValues","toString","split","filter","item","select","allOptionsSelected","_findByValue$text","_findByValue","icon","className","cn","props","handleInputChange","persist","_item$path$split","_item$path","target","detail","sanitizeItem","indexes","path","pop","lastPath","parents","map","i","join","find","button","type","listbox","input","String","popover","onOpenChange"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select2.js","sources":["../../../../../../../src/components/Select2/Select2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as ListboxPrimitive from '../../primitives/Listbox2/Listbox2';\nimport { Select2Children, Select2OptionValue, Select2Value } from './types';\nimport { Option, Select2OptionProps } from './components/Option';\nimport { Group, Select2GroupProps } from './components/Group';\nimport { Select2TitleProps, Title } from './components/Title';\nimport { Select2Context } from './components/Context';\nimport { createCollectionClassName } from './utilities';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useBoundingClientRectListener } from '../../hooks/useBoundingClientRectListener';\nimport { createCustomKeyboardEvent } from '../../utils/input';\nimport { Trigger } from './components/Trigger';\nimport { useIsFormControl } from '../../hooks/useIsFormControl';\nimport { BubbleSelect } from '../../primitives/BubbleSelect';\nimport { Search } from './components/Search';\nimport { useChildren } from './hooks/useChildren';\n\nimport { Create } from './components/Create';\nimport { Collection } from './components/Collection';\nimport { CollectionRef } from '../../primitives/Collection/Collection';\nimport { useLocalization } from '../Provider/Localization';\nimport { Color } from '../../types';\nimport { useIsHoverStatePaused } from '../../hooks/useIsHoverStatePaused';\nimport { isAriaDirectionKey } from '../../utils/aria';\n//import { All } from './components/All';\n\ntype Select2Texts = {\n allSelect: string;\n allDeselect: string;\n cancel: string;\n chooseColor: string;\n create: string;\n delete: string;\n save: string;\n search: string;\n searchOrCreate: string;\n};\n\ntype Select2Props = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n autoFocus?: boolean;\n children: Select2Children;\n defaultValue?: Select2Value;\n emptyValue?: Select2OptionValue;\n disabled?: boolean;\n highlighted?: boolean;\n invalid?: boolean;\n multiple?: boolean;\n name?: string;\n onChange?: (value: Select2Value) => void;\n onCreate?: (name: string, color: Color | undefined) => Promise<Select2OptionProps>;\n onDelete?: (value: Select2OptionValue) => Promise<void>;\n onEdit?: (value: Select2OptionValue, text: string, color: Color | undefined) => Promise<void>;\n readOnly?: boolean;\n required?: boolean;\n tags?: boolean;\n value?: Select2Value;\n};\ntype Select2PropsWithStatics = React.ForwardRefExoticComponent<Select2Props & React.RefAttributes<HTMLButtonElement>> & {\n Option: React.ForwardRefExoticComponent<Select2OptionProps>;\n Group: React.ForwardRefExoticComponent<Select2GroupProps>;\n Title: React.ForwardRefExoticComponent<Select2TitleProps>;\n};\n\nconst Select2 = React.forwardRef<HTMLButtonElement, Select2Props>(function Select2(props, ref) {\n const {\n children: initChildren,\n defaultValue: defaultProp,\n disabled = false,\n emptyValue = undefined,\n highlighted = false,\n invalid = false,\n multiple = false,\n name,\n onChange,\n onCreate,\n onDelete,\n onEdit,\n readOnly = false,\n tags = false,\n value: prop,\n ...otherProps\n } = props;\n\n const emptyOption: React.ReactElement<Select2OptionProps> | undefined = React.useMemo(() => {\n if (emptyValue !== undefined && !multiple) {\n // Empty option has 0px height, because it's empty, so need to apply height manually\n return <Option key=\"__empty\" children=\"\" value={emptyValue} className=\"h-8\" />;\n }\n return;\n }, [emptyValue, multiple]);\n\n const initialChildren = React.useMemo(() => {\n if (emptyOption) {\n return [emptyOption, ...initChildren] as Select2Children;\n }\n return initChildren;\n }, [emptyOption, initChildren]);\n\n // refs\n const internalRef = useMergedRef<HTMLButtonElement>(ref);\n const listboxRef = React.useRef<CollectionRef>(null);\n const searchRef = React.useRef<HTMLInputElement>(null);\n const { texts } = useLocalization();\n // align the listbox min width with the width of the input - it should never be smaller\n const dimensions = useBoundingClientRectListener(internalRef);\n\n // state\n const [open, setOpen] = React.useState(false);\n const [value, _setValue] = useControllableState<Select2Value>({\n // uncontrolled\n defaultProp,\n // controlled\n onChange,\n prop,\n });\n const setValue = ListboxPrimitive.createListboxValueSetter(multiple, _setValue);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n const [shouldPauseHoverState, setShouldPauseHoverState] = useIsHoverStatePaused();\n\n const { flattenedChildren, filteredChildren, searchQuery, setSearchQuery } = useChildren({\n children: initialChildren,\n emptyValue,\n multiple,\n open,\n setValue,\n value,\n });\n\n // context\n const context = {\n disabled,\n highlighted,\n invalid,\n listboxRef,\n multiple,\n onCreate,\n onDelete,\n onEdit,\n open,\n readOnly,\n ref: internalRef,\n searchQuery,\n searchRef,\n setOpen,\n setSearchQuery,\n setValidationError,\n setValue,\n shouldPauseHoverState,\n setShouldPauseHoverState,\n tags,\n validationError,\n value,\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (open) {\n event.preventDefault();\n } else if (!event.ctrlKey && !event.metaKey && (event.key === 'ArrowDown' || /^[a-z0-9]$/i.test(event.key))) {\n setOpen(true);\n }\n\n // the focus should always remain on the input, so we forward events on to the listbox\n listboxRef.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n };\n\n let handleBlur;\n\n if (otherProps.onBlur) {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n const elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (!portalId || event.currentTarget.getAttribute(`aria-controls`) !== portalId) {\n otherProps.onBlur?.(event);\n }\n };\n }\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (isAriaDirectionKey(event)) {\n setShouldPauseHoverState(true);\n }\n };\n\n const className = cn('border-grey-300 rounded border bg-white py-1.5 shadow-md outline-none', createCollectionClassName());\n\n return (\n <Select2Context.Provider value={context}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <ControlledHiddenField\n emptyValue={emptyValue}\n multiple={multiple || tags}\n name={name}\n options={flattenedChildren.map(child => child.props.value)}\n parentRef={internalRef}\n setValue={setValue}\n value={value}\n />\n <PopoverPrimitive.Trigger asChild data-taco=\"Select2\">\n <Trigger\n {...otherProps}\n aria-haspopup=\"listbox\"\n emptyValue={emptyValue}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n ref={internalRef}>\n {flattenedChildren}\n </Trigger>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n asChild\n align=\"start\"\n onOpenAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n onCloseAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n sideOffset={4}\n tabIndex={-1}>\n <div className={className} style={{ minWidth: dimensions?.width ? `${dimensions.width}px` : undefined }}>\n {flattenedChildren.length > 0 || onCreate ? (\n <Search\n placeholder={onCreate ? texts.select2.searchOrCreate : texts.select2.search}\n ref={searchRef}\n />\n ) : null}\n {flattenedChildren.length <= 0 ? (\n <div className=\"text-grey-700 -mt-0.5 flex h-8 items-center px-2\" role=\"presentation\">\n No results found...\n </div>\n ) : (\n <ListboxPrimitive.Root\n className=\"flex flex-col gap-0.5\"\n customSelector=\":scope > button\"\n disabled={disabled}\n multiple={multiple}\n onKeyDown={handleListboxKeyDown}\n readOnly={readOnly}\n ref={listboxRef}\n setValue={setValue}\n tabIndex={-1}\n value={value}>\n {/*multiple && !searchQuery && Array.isArray(value) ? (\n <All\n children={flattenedChildren}\n onToggle={_setValue}\n selected={value.length === flattenedChildren.length}\n />\n ) : null*/}\n {searchQuery === '' ? (\n <Collection>{initialChildren}</Collection>\n ) : (\n <Collection>{filteredChildren}</Collection>\n )}\n {onCreate ? <Create onCreate={onCreate} options={flattenedChildren} /> : null}\n </ListboxPrimitive.Root>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </Select2Context.Provider>\n );\n}) as Select2PropsWithStatics;\nSelect2.Option = Option;\nSelect2.Group = Group;\nSelect2.Title = Title;\n\nconst ControlledHiddenField = props => {\n const { emptyValue, multiple, name, options, parentRef, value, setValue } = props;\n const isFormControl = useIsFormControl(parentRef, () => setValue(multiple ? [] : undefined));\n\n let bubbleValue;\n\n if (isFormControl) {\n if (value !== undefined) {\n if (multiple) {\n bubbleValue = Array.isArray(value) ? value.map(String) : [value === null ? '' : String(value)];\n } else {\n bubbleValue = value === null ? '' : String(value);\n }\n }\n\n return (\n <BubbleSelect aria-hidden key={String(bubbleValue)} multiple={multiple} name={name} value={bubbleValue}>\n {emptyValue !== undefined ? <option value={emptyValue} /> : null}\n {options.map(option => (\n <option key={String(option)} value={String(option)} />\n ))}\n </BubbleSelect>\n );\n }\n\n return null;\n};\nSelect2.displayName = 'Select2';\n\nexport { Select2 };\n\nexport type {\n Select2Texts,\n Select2GroupProps,\n Select2OptionProps,\n Select2OptionValue,\n Select2Value,\n Select2Props,\n Select2TitleProps,\n};\n"],"names":["Select2","React","forwardRef","props","ref","children","initChildren","defaultValue","defaultProp","disabled","emptyValue","undefined","highlighted","invalid","multiple","name","onChange","onCreate","onDelete","onEdit","readOnly","tags","value","prop","otherProps","emptyOption","useMemo","Option","key","className","initialChildren","internalRef","useMergedRef","listboxRef","useRef","searchRef","texts","useLocalization","dimensions","useBoundingClientRectListener","open","setOpen","useState","_setValue","useControllableState","setValue","ListboxPrimitive","validationError","setValidationError","shouldPauseHoverState","setShouldPauseHoverState","useIsHoverStatePaused","flattenedChildren","filteredChildren","searchQuery","setSearchQuery","useChildren","context","handleKeyDown","event","preventDefault","ctrlKey","metaKey","test","current","dispatchEvent","createCustomKeyboardEvent","handleBlur","onBlur","elementGainingFocus","relatedTarget","portalId","closest","id","currentTarget","getAttribute","handleListboxKeyDown","isAriaDirectionKey","cn","createCollectionClassName","Select2Context","Provider","PopoverPrimitive","onOpenChange","ControlledHiddenField","options","map","child","parentRef","asChild","Trigger","onKeyDown","align","onOpenAutoFocus","stopPropagation","focus","onCloseAutoFocus","sideOffset","tabIndex","style","minWidth","width","length","Search","placeholder","select2","searchOrCreate","search","role","customSelector","Collection","Create","Group","Title","isFormControl","useIsFormControl","bubbleValue","Array","isArray","String","BubbleSelect","option","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Select2.js","sources":["../../../../../../../src/components/Select2/Select2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as ListboxPrimitive from '../../primitives/Listbox2/Listbox2';\nimport { Select2Children, Select2OptionValue, Select2Value } from './types';\nimport { Option, Select2OptionProps } from './components/Option';\nimport { Group, Select2GroupProps } from './components/Group';\nimport { Select2TitleProps, Title } from './components/Title';\nimport { Select2Context } from './components/Context';\nimport { createCollectionClassName } from './utilities';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useBoundingClientRectListener } from '../../hooks/useBoundingClientRectListener';\nimport { createCustomKeyboardEvent } from '../../utils/input';\nimport { Trigger } from './components/Trigger';\nimport { useIsFormControl } from '../../hooks/useIsFormControl';\nimport { BubbleSelect } from '../../primitives/BubbleSelect';\nimport { Search } from './components/Search';\nimport { useChildren } from './hooks/useChildren';\n\nimport { Create } from './components/Create';\nimport { Collection } from './components/Collection';\nimport { CollectionRef } from '../../primitives/Collection/Collection';\nimport { useLocalization } from '../Provider/Localization';\nimport { Color } from '../../types';\nimport { useIsHoverStatePaused } from '../../hooks/useIsHoverStatePaused';\nimport { isAriaDirectionKey } from '../../utils/aria';\n//import { All } from './components/All';\n\ntype Select2Texts = {\n allSelect: string;\n allDeselect: string;\n cancel: string;\n chooseColor: string;\n create: string;\n delete: string;\n save: string;\n search: string;\n searchOrCreate: string;\n};\n\ntype Select2Props = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n autoFocus?: boolean;\n children: Select2Children;\n defaultValue?: Select2Value;\n emptyValue?: Select2OptionValue;\n disabled?: boolean;\n highlighted?: boolean;\n invalid?: boolean;\n multiple?: boolean;\n name?: string;\n onChange?: (value: Select2Value) => void;\n onCreate?: (name: string, color: Color | undefined) => Promise<Select2OptionProps>;\n onDelete?: (value: Select2OptionValue) => Promise<void>;\n onEdit?: (value: Select2OptionValue, text: string, color: Color | undefined) => Promise<void>;\n readOnly?: boolean;\n required?: boolean;\n tags?: boolean;\n value?: Select2Value;\n};\ntype Select2PropsWithStatics = React.ForwardRefExoticComponent<Select2Props & React.RefAttributes<HTMLButtonElement>> & {\n Option: React.ForwardRefExoticComponent<Select2OptionProps>;\n Group: React.ForwardRefExoticComponent<Select2GroupProps>;\n Title: React.ForwardRefExoticComponent<Select2TitleProps>;\n};\n\nconst Select2 = React.forwardRef<HTMLButtonElement, Select2Props>(function Select2(props, ref) {\n const {\n children: initChildren,\n defaultValue: defaultProp,\n disabled = false,\n emptyValue = undefined,\n highlighted = false,\n invalid = false,\n multiple = false,\n name,\n onChange,\n onCreate,\n onDelete,\n onEdit,\n readOnly = false,\n tags = false,\n value: prop,\n ...otherProps\n } = props;\n\n const emptyOption: React.ReactElement<Select2OptionProps> | undefined = React.useMemo(() => {\n if (emptyValue !== undefined && !multiple) {\n // Empty option has 0px height, because it's empty, so need to apply height manually\n return <Option key=\"__empty\" children=\"\" value={emptyValue} className=\"h-8\" />;\n }\n return;\n }, [emptyValue, multiple]);\n\n const initialChildren = React.useMemo(() => {\n if (emptyOption) {\n return [emptyOption, ...initChildren] as Select2Children;\n }\n return initChildren;\n }, [emptyOption, initChildren]);\n\n // refs\n const internalRef = useMergedRef<HTMLButtonElement>(ref);\n const listboxRef = React.useRef<CollectionRef>(null);\n const searchRef = React.useRef<HTMLInputElement>(null);\n const { texts } = useLocalization();\n // align the listbox min width with the width of the input - it should never be smaller\n const dimensions = useBoundingClientRectListener(internalRef);\n\n // state\n const [open, setOpen] = React.useState(false);\n const [value, _setValue] = useControllableState<Select2Value>({\n // uncontrolled\n defaultProp,\n // controlled\n onChange,\n prop,\n });\n const setValue = ListboxPrimitive.createListboxValueSetter(multiple, _setValue);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n const [shouldPauseHoverState, setShouldPauseHoverState] = useIsHoverStatePaused();\n\n const { flattenedChildren, filteredChildren, searchQuery, setSearchQuery } = useChildren({\n children: initialChildren,\n emptyValue,\n multiple,\n open,\n setValue,\n value,\n });\n\n // context\n const context = {\n disabled,\n highlighted,\n invalid,\n listboxRef,\n multiple,\n onCreate,\n onDelete,\n onEdit,\n open,\n readOnly,\n ref: internalRef,\n searchQuery,\n searchRef,\n setOpen,\n setSearchQuery,\n setValidationError,\n setValue,\n shouldPauseHoverState,\n setShouldPauseHoverState,\n tags,\n validationError,\n value,\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (open) {\n event.preventDefault();\n } else if (!event.ctrlKey && !event.metaKey && (event.key === 'ArrowDown' || /^[a-z0-9]$/i.test(event.key))) {\n setOpen(true);\n }\n\n // the focus should always remain on the input, so we forward events on to the listbox\n listboxRef.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n };\n\n let handleBlur;\n\n if (otherProps.onBlur) {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n const elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (!portalId || event.currentTarget.getAttribute(`aria-controls`) !== portalId) {\n otherProps.onBlur?.(event);\n }\n };\n }\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (isAriaDirectionKey(event)) {\n setShouldPauseHoverState(true);\n }\n };\n\n const className = cn('border-grey-300 rounded border bg-white py-1.5 shadow-md outline-none', createCollectionClassName());\n\n return (\n <Select2Context.Provider value={context}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <ControlledHiddenField\n emptyValue={emptyValue}\n multiple={multiple || tags}\n name={name}\n options={flattenedChildren.map(child => child.props.value)}\n parentRef={internalRef}\n setValue={setValue}\n value={value}\n />\n <PopoverPrimitive.Trigger asChild data-taco=\"Select2\">\n <Trigger\n {...otherProps}\n aria-haspopup=\"listbox\"\n emptyValue={emptyValue}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n ref={internalRef}>\n {flattenedChildren}\n </Trigger>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n asChild\n align=\"start\"\n onOpenAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n onCloseAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n sideOffset={4}\n tabIndex={-1}>\n <div className={className} style={{ minWidth: dimensions?.width ? `${dimensions.width}px` : undefined }}>\n {flattenedChildren.length > 0 || onCreate ? (\n <Search\n placeholder={onCreate ? texts.select2.searchOrCreate : texts.select2.search}\n ref={searchRef}\n />\n ) : null}\n {flattenedChildren.length <= 0 ? (\n <div className=\"text-grey-700 -mt-0.5 flex h-8 items-center px-2\" role=\"presentation\">\n No results found...\n </div>\n ) : (\n <ListboxPrimitive.Root\n className=\"flex flex-col gap-0.5\"\n customSelector=\":scope > button\"\n disabled={disabled}\n multiple={multiple}\n onKeyDown={handleListboxKeyDown}\n readOnly={readOnly}\n ref={listboxRef}\n setValue={setValue}\n tabIndex={-1}\n value={value}>\n {/*multiple && !searchQuery && Array.isArray(value) ? (\n <All\n children={flattenedChildren}\n onToggle={_setValue}\n selected={value.length === flattenedChildren.length}\n />\n ) : null*/}\n {searchQuery === '' ? (\n <Collection>{initialChildren}</Collection>\n ) : (\n <Collection>{filteredChildren}</Collection>\n )}\n {onCreate ? <Create onCreate={onCreate} options={flattenedChildren} /> : null}\n </ListboxPrimitive.Root>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </Select2Context.Provider>\n );\n}) as Select2PropsWithStatics;\nSelect2.Option = Option;\nSelect2.Group = Group;\nSelect2.Title = Title;\n\nconst ControlledHiddenField = props => {\n const { emptyValue, multiple, name, options, parentRef, value, setValue } = props;\n const isFormControl = useIsFormControl(parentRef, () => setValue(multiple ? [] : undefined));\n\n let bubbleValue;\n\n if (isFormControl) {\n if (value !== undefined) {\n if (multiple) {\n bubbleValue = Array.isArray(value) ? value.map(String) : [value === null ? '' : String(value)];\n } else {\n bubbleValue = value === null ? '' : String(value);\n }\n }\n\n return (\n <BubbleSelect aria-hidden key={String(bubbleValue)} multiple={multiple} name={name} value={bubbleValue}>\n {emptyValue !== undefined ? <option value={emptyValue} /> : null}\n {options.map(option => (\n <option key={String(option)} value={String(option)} />\n ))}\n </BubbleSelect>\n );\n }\n\n return null;\n};\nSelect2.displayName = 'Select2';\n\nexport { Select2 };\n\nexport type {\n Select2Texts,\n Select2GroupProps,\n Select2OptionProps,\n Select2OptionValue,\n Select2Value,\n Select2Props,\n Select2TitleProps,\n};\n"],"names":["Select2","React","forwardRef","props","ref","children","initChildren","defaultValue","defaultProp","disabled","emptyValue","undefined","highlighted","invalid","multiple","name","onChange","onCreate","onDelete","onEdit","readOnly","tags","value","prop","otherProps","emptyOption","useMemo","Option","key","className","initialChildren","internalRef","useMergedRef","listboxRef","useRef","searchRef","texts","useLocalization","dimensions","useBoundingClientRectListener","open","setOpen","useState","_setValue","useControllableState","setValue","ListboxPrimitive","validationError","setValidationError","shouldPauseHoverState","setShouldPauseHoverState","useIsHoverStatePaused","flattenedChildren","filteredChildren","searchQuery","setSearchQuery","useChildren","context","handleKeyDown","event","preventDefault","ctrlKey","metaKey","test","_listboxRef$current","current","dispatchEvent","createCustomKeyboardEvent","handleBlur","onBlur","elementGainingFocus","relatedTarget","portalId","_elementGainingFocus$","closest","id","currentTarget","getAttribute","_otherProps$onBlur","call","handleListboxKeyDown","isAriaDirectionKey","cn","createCollectionClassName","Select2Context","Provider","PopoverPrimitive","onOpenChange","ControlledHiddenField","options","map","child","parentRef","asChild","Trigger","onKeyDown","align","onOpenAutoFocus","stopPropagation","_internalRef$current","focus","onCloseAutoFocus","_internalRef$current2","sideOffset","tabIndex","style","minWidth","width","length","Search","placeholder","select2","searchOrCreate","search","role","customSelector","Collection","Create","Group","Title","isFormControl","useIsFormControl","bubbleValue","Array","isArray","String","BubbleSelect","option","displayName"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sources":["../../../../../../../../src/components/Select2/components/Context.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionRef } from '../../../primitives/Collection/Collection';\nimport { Select2OptionValue, Select2Value } from '../types';\nimport { Select2OptionProps } from './Option';\nimport { Color } from '../../../types';\n\nexport type Select2ContextProps = {\n disabled: boolean;\n highlighted: boolean;\n invalid: boolean;\n listboxRef: React.RefObject<CollectionRef>;\n multiple: boolean;\n onCreate?: (text: string, color: Color | undefined) => Promise<Select2OptionProps>;\n onDelete?: (value: Select2OptionValue) => Promise<void>;\n onEdit?: (value: Select2OptionValue, text: string, color: Color | undefined) => Promise<void>;\n open: boolean;\n readOnly: boolean;\n ref: React.RefObject<HTMLButtonElement>;\n searchQuery: string;\n searchRef?: React.RefObject<HTMLInputElement>;\n setOpen: (open: boolean) => void;\n setSearchQuery: (value: string) => void;\n setValidationError: (error: Error | undefined) => void;\n setValue: (value: Select2OptionValue) => void;\n shouldPauseHoverState: boolean;\n setShouldPauseHoverState: (pause: boolean) => void;\n tags?: boolean;\n validationError?: Error;\n value?: Select2Value;\n};\n\nexport const Select2Context = React.createContext({} as Select2ContextProps);\nexport const useSelect2Context = () => React.useContext(Select2Context);\n"],"names":["Select2Context","React","createContext","useSelect2Context","useContext"],"mappings":";;MA+BaA,cAAc,gBAAGC,cAAK,CAACC,aAAa,CAAC,EAAyB;MAC9DC,iBAAiB,GAAG,MAAMF,cAAK,CAACG,UAAU,CAACJ,cAAc;;;;"}
1
+ {"version":3,"file":"Context.js","sources":["../../../../../../../../src/components/Select2/components/Context.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionRef } from '../../../primitives/Collection/Collection';\nimport { Select2OptionValue, Select2Value } from '../types';\nimport { Select2OptionProps } from './Option';\nimport { Color } from '../../../types';\n\nexport type Select2ContextProps = {\n disabled: boolean;\n highlighted: boolean;\n invalid: boolean;\n listboxRef: React.RefObject<CollectionRef>;\n multiple: boolean;\n onCreate?: (text: string, color: Color | undefined) => Promise<Select2OptionProps>;\n onDelete?: (value: Select2OptionValue) => Promise<void>;\n onEdit?: (value: Select2OptionValue, text: string, color: Color | undefined) => Promise<void>;\n open: boolean;\n readOnly: boolean;\n ref: React.RefObject<HTMLButtonElement>;\n searchQuery: string;\n searchRef?: React.RefObject<HTMLInputElement>;\n setOpen: (open: boolean) => void;\n setSearchQuery: (value: string) => void;\n setValidationError: (error: Error | undefined) => void;\n setValue: (value: Select2OptionValue) => void;\n shouldPauseHoverState: boolean;\n setShouldPauseHoverState: (pause: boolean) => void;\n tags?: boolean;\n validationError?: Error;\n value?: Select2Value;\n};\n\nexport const Select2Context = React.createContext({} as Select2ContextProps);\nexport const useSelect2Context = () => React.useContext(Select2Context);\n"],"names":["Select2Context","React","createContext","useSelect2Context","useContext"],"mappings":";;MA+BaA,cAAc,gBAAGC,cAAK,CAACC,aAAa,CAAC,EAAyB;MAC9DC,iBAAiB,GAAGA,MAAMF,cAAK,CAACG,UAAU,CAACJ,cAAc;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Create.js","sources":["../../../../../../../../src/components/Select2/components/Create.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isAriaSelectionKey } from '../../../utils/aria';\nimport { Tag } from '../../Tag/Tag';\nimport { createOptionClassName } from '../utilities';\nimport { useSelect2Context } from './Context';\nimport { Select2OptionProps } from './Option';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Color } from '../../../types';\nimport { AVAILABLE_COLORS } from '../../../utils/tailwind';\n\nexport type CreateProps = {\n onCreate: (name: string, color: Color | undefined) => Promise<Select2OptionProps>;\n options: React.ReactElement<Select2OptionProps>[];\n};\n\nexport const getNextColor = (options: React.ReactElement<Select2OptionProps>[]): Color | undefined => {\n let occurrences = {};\n AVAILABLE_COLORS.filter(color => color !== 'transparent').forEach((color: Color) => {\n occurrences = { ...occurrences, [color]: 0 };\n });\n\n options.reduce((occurrences, option) => {\n if (option.props.color) {\n occurrences[option.props.color] = occurrences[option.props.color] ? occurrences[option.props.color] + 1 : 1;\n }\n return occurrences;\n }, occurrences);\n\n const colors = Object.keys(occurrences);\n\n if (colors.length) {\n return colors.sort((a, b) => occurrences[a] - occurrences[b])[0] as Color;\n }\n\n return undefined;\n};\n\nexport const Create = (props: CreateProps) => {\n const { onCreate: handleCreate, options } = props;\n const { multiple, searchQuery, setOpen, setSearchQuery, setValidationError, setValue } = useSelect2Context();\n const { texts } = useLocalization();\n\n // determine what the next color tag should be based on color occurences\n const nextColor = React.useMemo(() => getNextColor(options), [options]);\n\n if (!searchQuery) {\n return null;\n }\n\n const handleClick = async () => {\n try {\n const item = await handleCreate(searchQuery, nextColor);\n setValue(item.value);\n\n if (multiple) {\n setSearchQuery('');\n } else {\n setOpen(false);\n }\n } catch (error) {\n setValidationError(error as Error);\n }\n };\n\n const handleKeyDown = event => {\n if (isAriaSelectionKey(event)) {\n event.currentTarget.click();\n }\n };\n\n const className = cn('!w-[calc(100%_-_theme(spacing.3))] ml-1.5', createOptionClassName());\n return (\n <button className={className} onClick={handleClick} onKeyDown={handleKeyDown}>\n <span className=\"flex items-center gap-1.5\">\n {texts.select2.create}\n <Tag color={nextColor} className=\"cursor-pointer\">\n {searchQuery}\n </Tag>\n </span>\n </button>\n );\n};\n"],"names":["getNextColor","options","occurrences","AVAILABLE_COLORS","filter","color","forEach","reduce","option","props","colors","Object","keys","length","sort","a","b","undefined","Create","onCreate","handleCreate","multiple","searchQuery","setOpen","setSearchQuery","setValidationError","setValue","useSelect2Context","texts","useLocalization","nextColor","React","useMemo","handleClick","item","value","error","handleKeyDown","event","isAriaSelectionKey","currentTarget","click","className","cn","createOptionClassName","onClick","onKeyDown","select2","create","Tag"],"mappings":";;;;;;;;;;MAgBaA,YAAY,GAAIC,OAAiD;EAC1E,IAAIC,WAAW,GAAG,EAAE;EACpBC,gBAAgB,CAACC,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAK,aAAa,CAAC,CAACC,OAAO,CAAED,KAAY;IAC3EH,WAAW,GAAG;MAAE,GAAGA,WAAW;MAAE,CAACG,KAAK,GAAG;KAAG;GAC/C,CAAC;EAEFJ,OAAO,CAACM,MAAM,CAAC,CAACL,WAAW,EAAEM,MAAM;IAC/B,IAAIA,MAAM,CAACC,KAAK,CAACJ,KAAK,EAAE;MACpBH,WAAW,CAACM,MAAM,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAGH,WAAW,CAACM,MAAM,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAGH,WAAW,CAACM,MAAM,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;;IAE/G,OAAOH,WAAW;GACrB,EAAEA,WAAW,CAAC;EAEf,MAAMQ,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACV,WAAW,CAAC;EAEvC,IAAIQ,MAAM,CAACG,MAAM,EAAE;IACf,OAAOH,MAAM,CAACI,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKd,WAAW,CAACa,CAAC,CAAC,GAAGb,WAAW,CAACc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAU;;EAG7E,OAAOC,SAAS;AACpB;MAEaC,MAAM,GAAIT,KAAkB;EACrC,MAAM;IAAEU,QAAQ,EAAEC,YAAY;IAAEnB;GAAS,GAAGQ,KAAK;EACjD,MAAM;IAAEY,QAAQ;IAAEC,WAAW;IAAEC,OAAO;IAAEC,cAAc;IAAEC,kBAAkB;IAAEC;GAAU,GAAGC,iBAAiB,EAAE;EAC5G,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;;EAGnC,MAAMC,SAAS,GAAGC,cAAK,CAACC,OAAO,CAAC,MAAMhC,YAAY,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEvE,IAAI,CAACqB,WAAW,EAAE;IACd,OAAO,IAAI;;EAGf,MAAMW,WAAW;IAAA;uCACT;QAAA,uBACmBb,YAAY,CAACE,WAAW,EAAEQ,SAAS,CAAC,iBAAjDI,IAAI;UACVR,QAAQ,CAACQ,IAAI,CAACC,KAAK,CAAC;UAAC,IAEjBd,QAAQ;YACRG,cAAc,CAAC,EAAE,CAAC;;YAElBD,OAAO,CAAC,KAAK,CAAC;;;OAErB,YAAQa,KAAK,EAAE;QACZX,kBAAkB,CAACW,KAAc,CAAC;OACrC;MAAA;KACJ;MAAA;;;EAED,MAAMC,aAAa,GAAGC,KAAK;IACvB,IAAIC,kBAAkB,CAACD,KAAK,CAAC,EAAE;MAC3BA,KAAK,CAACE,aAAa,CAACC,KAAK,EAAE;;GAElC;EAED,MAAMC,SAAS,GAAGC,EAAE,CAAC,2CAA2C,EAAEC,qBAAqB,EAAE,CAAC;EAC1F,oBACIb;IAAQW,SAAS,EAAEA,SAAS;IAAEG,OAAO,EAAEZ,WAAW;IAAEa,SAAS,EAAET;kBAC3DN;IAAMW,SAAS,EAAC;KACXd,KAAK,CAACmB,OAAO,CAACC,MAAM,eACrBjB,6BAACkB,GAAG;IAAC5C,KAAK,EAAEyB,SAAS;IAAEY,SAAS,EAAC;KAC5BpB,WAAW,CACV,CACH,CACF;AAEjB;;;;"}
1
+ {"version":3,"file":"Create.js","sources":["../../../../../../../../src/components/Select2/components/Create.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isAriaSelectionKey } from '../../../utils/aria';\nimport { Tag } from '../../Tag/Tag';\nimport { createOptionClassName } from '../utilities';\nimport { useSelect2Context } from './Context';\nimport { Select2OptionProps } from './Option';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Color } from '../../../types';\nimport { AVAILABLE_COLORS } from '../../../utils/tailwind';\n\nexport type CreateProps = {\n onCreate: (name: string, color: Color | undefined) => Promise<Select2OptionProps>;\n options: React.ReactElement<Select2OptionProps>[];\n};\n\nexport const getNextColor = (options: React.ReactElement<Select2OptionProps>[]): Color | undefined => {\n let occurrences = {};\n AVAILABLE_COLORS.filter(color => color !== 'transparent').forEach((color: Color) => {\n occurrences = { ...occurrences, [color]: 0 };\n });\n\n options.reduce((occurrences, option) => {\n if (option.props.color) {\n occurrences[option.props.color] = occurrences[option.props.color] ? occurrences[option.props.color] + 1 : 1;\n }\n return occurrences;\n }, occurrences);\n\n const colors = Object.keys(occurrences);\n\n if (colors.length) {\n return colors.sort((a, b) => occurrences[a] - occurrences[b])[0] as Color;\n }\n\n return undefined;\n};\n\nexport const Create = (props: CreateProps) => {\n const { onCreate: handleCreate, options } = props;\n const { multiple, searchQuery, setOpen, setSearchQuery, setValidationError, setValue } = useSelect2Context();\n const { texts } = useLocalization();\n\n // determine what the next color tag should be based on color occurences\n const nextColor = React.useMemo(() => getNextColor(options), [options]);\n\n if (!searchQuery) {\n return null;\n }\n\n const handleClick = async () => {\n try {\n const item = await handleCreate(searchQuery, nextColor);\n setValue(item.value);\n\n if (multiple) {\n setSearchQuery('');\n } else {\n setOpen(false);\n }\n } catch (error) {\n setValidationError(error as Error);\n }\n };\n\n const handleKeyDown = event => {\n if (isAriaSelectionKey(event)) {\n event.currentTarget.click();\n }\n };\n\n const className = cn('!w-[calc(100%_-_theme(spacing.3))] ml-1.5', createOptionClassName());\n return (\n <button className={className} onClick={handleClick} onKeyDown={handleKeyDown}>\n <span className=\"flex items-center gap-1.5\">\n {texts.select2.create}\n <Tag color={nextColor} className=\"cursor-pointer\">\n {searchQuery}\n </Tag>\n </span>\n </button>\n );\n};\n"],"names":["getNextColor","options","occurrences","AVAILABLE_COLORS","filter","color","forEach","reduce","option","props","colors","Object","keys","length","sort","a","b","undefined","Create","onCreate","handleCreate","multiple","searchQuery","setOpen","setSearchQuery","setValidationError","setValue","useSelect2Context","texts","useLocalization","nextColor","React","useMemo","handleClick","Promise","resolve","then","item","value","error","_temp","e","reject","handleKeyDown","event","isAriaSelectionKey","currentTarget","click","className","cn","createOptionClassName","onClick","onKeyDown","select2","create","Tag"],"mappings":";;;;;;;;;;MAgBaA,YAAY,GAAIC,OAAiD;EAC1E,IAAIC,WAAW,GAAG,EAAE;EACpBC,gBAAgB,CAACC,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAK,aAAa,CAAC,CAACC,OAAO,CAAED,KAAY;IAC3EH,WAAW,GAAG;MAAE,GAAGA,WAAW;MAAE,CAACG,KAAK,GAAG;KAAG;GAC/C,CAAC;EAEFJ,OAAO,CAACM,MAAM,CAAC,CAACL,WAAW,EAAEM,MAAM;IAC/B,IAAIA,MAAM,CAACC,KAAK,CAACJ,KAAK,EAAE;MACpBH,WAAW,CAACM,MAAM,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAGH,WAAW,CAACM,MAAM,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAGH,WAAW,CAACM,MAAM,CAACC,KAAK,CAACJ,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;;IAE/G,OAAOH,WAAW;GACrB,EAAEA,WAAW,CAAC;EAEf,MAAMQ,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACV,WAAW,CAAC;EAEvC,IAAIQ,MAAM,CAACG,MAAM,EAAE;IACf,OAAOH,MAAM,CAACI,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKd,WAAW,CAACa,CAAC,CAAC,GAAGb,WAAW,CAACc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAU;;EAG7E,OAAOC,SAAS;AACpB;MAEaC,MAAM,GAAIT,KAAkB;EACrC,MAAM;IAAEU,QAAQ,EAAEC,YAAY;IAAEnB;GAAS,GAAGQ,KAAK;EACjD,MAAM;IAAEY,QAAQ;IAAEC,WAAW;IAAEC,OAAO;IAAEC,cAAc;IAAEC,kBAAkB;IAAEC;GAAU,GAAGC,iBAAiB,EAAE;EAC5G,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;;EAGnC,MAAMC,SAAS,GAAGC,cAAK,CAACC,OAAO,CAAC,MAAMhC,YAAY,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEvE,IAAI,CAACqB,WAAW,EAAE;IACd,OAAO,IAAI;;EAGf,MAAMW,WAAW;IAAA;uCACT;QAAA,OAAAC,OAAA,CAAAC,OAAA,CACmBf,YAAY,CAACE,WAAW,EAAEQ,SAAS,CAAC,EAAAM,IAAA,WAAjDC,IAAI;UACVX,QAAQ,CAACW,IAAI,CAACC,KAAK,CAAC;UAAC,IAEjBjB,QAAQ;YACRG,cAAc,CAAC,EAAE,CAAC;;YAElBD,OAAO,CAAC,KAAK,CAAC;;;OAErB,YAAQgB,KAAK,EAAE;QACZd,kBAAkB,CAACc,KAAc,CAAC;OACrC;MAAA,OAAAL,OAAA,CAAAC,OAAA,CAAAK,KAAA,IAAAA,KAAA,CAAAJ,IAAA,GAAAI,KAAA,CAAAJ,IAAA;KACJ,QAAAK,CAAA;MAAA,OAAAP,OAAA,CAAAQ,MAAA,CAAAD,CAAA;;;EAED,MAAME,aAAa,GAAGC,KAAK;IACvB,IAAIC,kBAAkB,CAACD,KAAK,CAAC,EAAE;MAC3BA,KAAK,CAACE,aAAa,CAACC,KAAK,EAAE;;GAElC;EAED,MAAMC,SAAS,GAAGC,EAAE,CAAC,2CAA2C,EAAEC,qBAAqB,EAAE,CAAC;EAC1F,oBACInB;IAAQiB,SAAS,EAAEA,SAAS;IAAEG,OAAO,EAAElB,WAAW;IAAEmB,SAAS,EAAET;kBAC3DZ;IAAMiB,SAAS,EAAC;KACXpB,KAAK,CAACyB,OAAO,CAACC,MAAM,eACrBvB,6BAACwB,GAAG;IAAClD,KAAK,EAAEyB,SAAS;IAAEkB,SAAS,EAAC;KAC5B1B,WAAW,CACV,CACH,CACF;AAEjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Edit.js","sources":["../../../../../../../../src/components/Select2/components/Edit.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as RadioGroup from '@radix-ui/react-radio-group';\nimport { Button } from '../../Button/Button';\nimport { Input } from '../../Input/Input';\nimport { Popover, PopoverProps } from '../../Popover/Popover';\nimport { Icon } from '../../Icon/Icon';\nimport { Select2OptionValue } from '../types';\nimport { useSelect2Context } from './Context';\nimport { Field } from '../../Field/Field';\nimport { Group } from '../../Group/Group';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Color } from '../../../types';\nimport { AVAILABLE_COLORS, getSubtleColorShadeClasses } from '../../../utils/tailwind';\n\nexport type EditPopoverProps = PopoverProps & {\n color?: Color;\n text: string;\n value: Select2OptionValue;\n};\n\nexport const EditPopover = (props: EditPopoverProps) => {\n const { color: initialColor, text: initialName, value, ...popoverProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const { onDelete, onEdit, searchRef, ref: selectRef } = useSelect2Context();\n const { texts } = useLocalization();\n const [name, setName] = React.useState(initialName);\n const [color, setColor] = React.useState(initialColor);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n\n const handleInputChange = event => {\n setName(event.target.value);\n setValidationError(undefined);\n };\n\n const handleInputKeyDown = close => async event => {\n event.stopPropagation();\n\n if (event.key === 'Escape') {\n close();\n } else if (event.key === 'Enter') {\n handleSave(close)(event);\n }\n };\n\n const handleDelete = close => async event => {\n event.stopPropagation();\n close();\n\n if (onDelete) {\n await onDelete(value);\n }\n };\n\n const handleSave = close => async event => {\n if (onEdit && (name !== initialName || color !== initialColor)) {\n try {\n await onEdit(value, name, color);\n close();\n } catch (error) {\n event.preventDefault();\n event.stopPropagation();\n setValidationError(error as Error);\n ref.current?.focus();\n }\n } else {\n close();\n }\n };\n\n const handleCloseAutoFocus = event => {\n event.preventDefault();\n setName(initialName);\n setColor(initialColor);\n setValidationError(undefined);\n\n if (searchRef?.current) {\n searchRef.current?.focus();\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleInteractOutside = () => {\n setName(initialName);\n setColor(initialColor);\n };\n\n const preventKeyDownPropagation = event => {\n // Need to allow 'Escape', 'Tab', 'Shift + Tab' to support default focus and close behaviour of Radix Popover.\n if (event.key === 'Escape' || event.key === 'Tab' || (event.key === 'Tab' && event.shiftKey)) {\n return;\n } else {\n event.stopPropagation();\n }\n };\n\n const popoverContentKeyDown = event => {\n // Need to stop propagation of 'Tab', 'Shift + Tab' keys out of Popover content,\n // to avoid 'Tab' key execution on Option component and closing the dropdown.\n if (event.key === 'Tab' || (event.key === 'Tab' && event.shiftKey)) {\n event.stopPropagation();\n }\n };\n\n return (\n <Popover {...popoverProps}>\n <Popover.Content\n onCloseAutoFocus={handleCloseAutoFocus}\n onInteractOutside={handleInteractOutside}\n onClick={event => event.stopPropagation()}\n onKeyDown={popoverContentKeyDown}\n placement=\"right\"\n tabIndex={-1}\n className=\"focus:!shadow-none\">\n {({ close }) => (\n <>\n <div className=\"flex w-32 flex-col space-y-2\">\n {onEdit ? (\n <>\n <Field\n className={cn('!min-h-fit', { '!pb-0': !validationError })}\n invalid={!!validationError}\n message={validationError?.message}>\n <Input\n invalid={!!validationError}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown(close)}\n ref={ref}\n value={name}\n />\n </Field>\n {initialColor ? (\n <>\n <h5>Colours</h5>\n <Colours\n color={color}\n onChangeColor={setColor}\n onKeyDown={preventKeyDownPropagation}\n />\n </>\n ) : null}\n <Group>\n <Button onClick={close}>{texts.select2.cancel}</Button>\n <Button appearance=\"primary\" onClick={handleSave(close)}>\n {texts.select2.save}\n </Button>\n </Group>\n </>\n ) : null}\n {onEdit && onDelete ? <hr /> : null}\n {onDelete ? (\n <button\n className=\"hover:text-grey-700 flex items-center justify-start gap-1\"\n onClick={handleDelete(close)}\n onKeyDown={preventKeyDownPropagation}>\n <Icon className=\"!h-5 !w-5\" name=\"delete-permanently\" /> {texts.select2.delete}\n </button>\n ) : null}\n </div>\n </>\n )}\n </Popover.Content>\n </Popover>\n );\n};\n\nconst Colours = props => {\n const { color, onChangeColor, onClick, onKeyDown } = props;\n const { texts } = useLocalization();\n\n return (\n <RadioGroup.Root\n aria-label={texts.select2.chooseColor}\n className=\"grid grid-cols-4 gap-2 focus:outline-none\"\n onClick={onClick}\n onKeyDown={onKeyDown}\n onValueChange={color => onChangeColor(color)}\n value={color}>\n {AVAILABLE_COLORS.map((availableColor: string) => (\n <RadioGroup.Item\n aria-label={color}\n className={cn(\n 'flex h-6 w-6 cursor-pointer items-center justify-center rounded',\n getSubtleColorShadeClasses(availableColor as Color)\n )}\n key={availableColor}\n onFocus={() => onChangeColor(availableColor)}\n value={availableColor}>\n <RadioGroup.Indicator asChild>\n <Icon name=\"tick\" className=\"!h-5 !w-5\" />\n </RadioGroup.Indicator>\n </RadioGroup.Item>\n ))}\n </RadioGroup.Root>\n );\n};\n"],"names":["EditPopover","props","color","initialColor","text","initialName","value","popoverProps","ref","React","useRef","onDelete","onEdit","searchRef","selectRef","useSelect2Context","texts","useLocalization","name","setName","useState","setColor","validationError","setValidationError","handleInputChange","event","target","undefined","handleInputKeyDown","close","stopPropagation","key","handleSave","handleDelete","error","preventDefault","current","focus","handleCloseAutoFocus","handleInteractOutside","preventKeyDownPropagation","shiftKey","popoverContentKeyDown","Popover","Content","onCloseAutoFocus","onInteractOutside","onClick","onKeyDown","placement","tabIndex","className","Field","cn","invalid","message","Input","onChange","Colours","onChangeColor","Group","Button","select2","cancel","appearance","save","Icon","delete","RadioGroup","chooseColor","onValueChange","AVAILABLE_COLORS","map","availableColor","getSubtleColorShadeClasses","onFocus","asChild"],"mappings":"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"}
1
+ {"version":3,"file":"Edit.js","sources":["../../../../../../../../src/components/Select2/components/Edit.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as RadioGroup from '@radix-ui/react-radio-group';\nimport { Button } from '../../Button/Button';\nimport { Input } from '../../Input/Input';\nimport { Popover, PopoverProps } from '../../Popover/Popover';\nimport { Icon } from '../../Icon/Icon';\nimport { Select2OptionValue } from '../types';\nimport { useSelect2Context } from './Context';\nimport { Field } from '../../Field/Field';\nimport { Group } from '../../Group/Group';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Color } from '../../../types';\nimport { AVAILABLE_COLORS, getSubtleColorShadeClasses } from '../../../utils/tailwind';\n\nexport type EditPopoverProps = PopoverProps & {\n color?: Color;\n text: string;\n value: Select2OptionValue;\n};\n\nexport const EditPopover = (props: EditPopoverProps) => {\n const { color: initialColor, text: initialName, value, ...popoverProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const { onDelete, onEdit, searchRef, ref: selectRef } = useSelect2Context();\n const { texts } = useLocalization();\n const [name, setName] = React.useState(initialName);\n const [color, setColor] = React.useState(initialColor);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n\n const handleInputChange = event => {\n setName(event.target.value);\n setValidationError(undefined);\n };\n\n const handleInputKeyDown = close => async event => {\n event.stopPropagation();\n\n if (event.key === 'Escape') {\n close();\n } else if (event.key === 'Enter') {\n handleSave(close)(event);\n }\n };\n\n const handleDelete = close => async event => {\n event.stopPropagation();\n close();\n\n if (onDelete) {\n await onDelete(value);\n }\n };\n\n const handleSave = close => async event => {\n if (onEdit && (name !== initialName || color !== initialColor)) {\n try {\n await onEdit(value, name, color);\n close();\n } catch (error) {\n event.preventDefault();\n event.stopPropagation();\n setValidationError(error as Error);\n ref.current?.focus();\n }\n } else {\n close();\n }\n };\n\n const handleCloseAutoFocus = event => {\n event.preventDefault();\n setName(initialName);\n setColor(initialColor);\n setValidationError(undefined);\n\n if (searchRef?.current) {\n searchRef.current?.focus();\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleInteractOutside = () => {\n setName(initialName);\n setColor(initialColor);\n };\n\n const preventKeyDownPropagation = event => {\n // Need to allow 'Escape', 'Tab', 'Shift + Tab' to support default focus and close behaviour of Radix Popover.\n if (event.key === 'Escape' || event.key === 'Tab' || (event.key === 'Tab' && event.shiftKey)) {\n return;\n } else {\n event.stopPropagation();\n }\n };\n\n const popoverContentKeyDown = event => {\n // Need to stop propagation of 'Tab', 'Shift + Tab' keys out of Popover content,\n // to avoid 'Tab' key execution on Option component and closing the dropdown.\n if (event.key === 'Tab' || (event.key === 'Tab' && event.shiftKey)) {\n event.stopPropagation();\n }\n };\n\n return (\n <Popover {...popoverProps}>\n <Popover.Content\n onCloseAutoFocus={handleCloseAutoFocus}\n onInteractOutside={handleInteractOutside}\n onClick={event => event.stopPropagation()}\n onKeyDown={popoverContentKeyDown}\n placement=\"right\"\n tabIndex={-1}\n className=\"focus:!shadow-none\">\n {({ close }) => (\n <>\n <div className=\"flex w-32 flex-col space-y-2\">\n {onEdit ? (\n <>\n <Field\n className={cn('!min-h-fit', { '!pb-0': !validationError })}\n invalid={!!validationError}\n message={validationError?.message}>\n <Input\n invalid={!!validationError}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown(close)}\n ref={ref}\n value={name}\n />\n </Field>\n {initialColor ? (\n <>\n <h5>Colours</h5>\n <Colours\n color={color}\n onChangeColor={setColor}\n onKeyDown={preventKeyDownPropagation}\n />\n </>\n ) : null}\n <Group>\n <Button onClick={close}>{texts.select2.cancel}</Button>\n <Button appearance=\"primary\" onClick={handleSave(close)}>\n {texts.select2.save}\n </Button>\n </Group>\n </>\n ) : null}\n {onEdit && onDelete ? <hr /> : null}\n {onDelete ? (\n <button\n className=\"hover:text-grey-700 flex items-center justify-start gap-1\"\n onClick={handleDelete(close)}\n onKeyDown={preventKeyDownPropagation}>\n <Icon className=\"!h-5 !w-5\" name=\"delete-permanently\" /> {texts.select2.delete}\n </button>\n ) : null}\n </div>\n </>\n )}\n </Popover.Content>\n </Popover>\n );\n};\n\nconst Colours = props => {\n const { color, onChangeColor, onClick, onKeyDown } = props;\n const { texts } = useLocalization();\n\n return (\n <RadioGroup.Root\n aria-label={texts.select2.chooseColor}\n className=\"grid grid-cols-4 gap-2 focus:outline-none\"\n onClick={onClick}\n onKeyDown={onKeyDown}\n onValueChange={color => onChangeColor(color)}\n value={color}>\n {AVAILABLE_COLORS.map((availableColor: string) => (\n <RadioGroup.Item\n aria-label={color}\n className={cn(\n 'flex h-6 w-6 cursor-pointer items-center justify-center rounded',\n getSubtleColorShadeClasses(availableColor as Color)\n )}\n key={availableColor}\n onFocus={() => onChangeColor(availableColor)}\n value={availableColor}>\n <RadioGroup.Indicator asChild>\n <Icon name=\"tick\" className=\"!h-5 !w-5\" />\n </RadioGroup.Indicator>\n </RadioGroup.Item>\n ))}\n </RadioGroup.Root>\n );\n};\n"],"names":["EditPopover","props","color","initialColor","text","initialName","value","popoverProps","ref","React","useRef","onDelete","onEdit","searchRef","selectRef","useSelect2Context","texts","useLocalization","name","setName","useState","setColor","validationError","setValidationError","handleInputChange","event","target","undefined","handleInputKeyDown","close","stopPropagation","key","handleSave","Promise","resolve","e","reject","handleDelete","_temp","then","_temp2","_catch","error","_ref$current","preventDefault","current","focus","_temp3","handleCloseAutoFocus","_searchRef$current","_selectRef$current","handleInteractOutside","preventKeyDownPropagation","shiftKey","popoverContentKeyDown","Popover","Content","onCloseAutoFocus","onInteractOutside","onClick","onKeyDown","placement","tabIndex","className","Field","cn","invalid","message","Input","onChange","Colours","onChangeColor","Group","Button","select2","cancel","appearance","save","Icon","delete","RadioGroup","chooseColor","onValueChange","AVAILABLE_COLORS","map","availableColor","getSubtleColorShadeClasses","onFocus","asChild"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sources":["../../../../../../../../src/components/Select2/components/Group.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\nimport { createCollectionClassName } from '../utilities';\nimport { Select2OptionProps } from './Option';\n\nexport type Select2GroupProps = Omit<ListboxPrimitive.Listbox2GroupProps, 'children'> & {\n children: React.ReactElement<Select2OptionProps>[];\n heading?: string;\n};\n\nexport const Group = React.forwardRef<HTMLDivElement, Select2GroupProps>(function Select2Group(props, ref) {\n const { children, heading, ...attributes } = props;\n const className = cn(createCollectionClassName(), props.className);\n\n return (\n <ListboxPrimitive.Group {...attributes} className={className} ref={ref}>\n <ListboxPrimitive.Title className=\"sticky top-0 bg-white px-2 font-bold leading-8\">{heading}</ListboxPrimitive.Title>\n {children}\n </ListboxPrimitive.Group>\n );\n});\n"],"names":["Group","React","forwardRef","Select2Group","props","ref","children","heading","attributes","className","cn","createCollectionClassName","ListboxPrimitive"],"mappings":";;;;;;;;MAWaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAoC,SAASC,YAAY,CAACC,KAAK,EAAEC,GAAG;EACrG,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAClD,MAAMK,SAAS,GAAGC,EAAE,CAACC,yBAAyB,EAAE,EAAEP,KAAK,CAACK,SAAS,CAAC;EAElE,oBACIR,6BAACW,OAAsB,oBAAKJ,UAAU;IAAEC,SAAS,EAAEA,SAAS;IAAEJ,GAAG,EAAEA;mBAC/DJ,6BAACW,KAAsB;IAACH,SAAS,EAAC;KAAkDF,OAAO,CAA0B,EACpHD,QAAQ,CACY;AAEjC,CAAC;;;;"}
1
+ {"version":3,"file":"Group.js","sources":["../../../../../../../../src/components/Select2/components/Group.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\nimport { createCollectionClassName } from '../utilities';\nimport { Select2OptionProps } from './Option';\n\nexport type Select2GroupProps = Omit<ListboxPrimitive.Listbox2GroupProps, 'children'> & {\n children: React.ReactElement<Select2OptionProps>[];\n heading?: string;\n};\n\nexport const Group = React.forwardRef<HTMLDivElement, Select2GroupProps>(function Select2Group(props, ref) {\n const { children, heading, ...attributes } = props;\n const className = cn(createCollectionClassName(), props.className);\n\n return (\n <ListboxPrimitive.Group {...attributes} className={className} ref={ref}>\n <ListboxPrimitive.Title className=\"sticky top-0 bg-white px-2 font-bold leading-8\">{heading}</ListboxPrimitive.Title>\n {children}\n </ListboxPrimitive.Group>\n );\n});\n"],"names":["Group","React","forwardRef","Select2Group","props","ref","children","heading","attributes","className","cn","createCollectionClassName","ListboxPrimitive"],"mappings":";;;;;;;;MAWaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAoC,SAASC,YAAYA,CAACC,KAAK,EAAEC,GAAG;EACrG,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAClD,MAAMK,SAAS,GAAGC,EAAE,CAACC,yBAAyB,EAAE,EAAEP,KAAK,CAACK,SAAS,CAAC;EAElE,oBACIR,6BAACW,OAAsB,oBAAKJ,UAAU;IAAEC,SAAS,EAAEA,SAAS;IAAEJ,GAAG,EAAEA;mBAC/DJ,6BAACW,KAAsB;IAACH,SAAS,EAAC;KAAkDF,OAAO,CAA0B,EACpHD,QAAQ,CACY;AAEjC,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","sources":["../../../../../../../../src/components/Select2/components/Option.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../../Icon/Icon';\nimport { Tag } from '../../Tag/Tag';\nimport { isAriaSelectionKey } from '../../../utils/aria';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\nimport { createOptionClassName } from '../utilities';\nimport { useSelect2Context } from './Context';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { EditPopover } from './Edit';\nimport { isMobileDevice } from '../../../utils/device';\nimport { Color } from '../../../types';\n\nexport type Select2OptionProps = Omit<ListboxPrimitive.Listbox2OptionProps, 'children'> & {\n children: string;\n color?: Color;\n description?: string;\n icon?: React.ReactElement<IconProps> | IconName;\n textValue?: string;\n};\n\nexport const Option = React.forwardRef<HTMLDivElement, Select2OptionProps>(function Select2Option(props, ref) {\n const { children, color, description, icon, className: cName, ...otherProps } = props;\n const {\n onDelete,\n onEdit,\n listboxRef,\n multiple,\n ref: selectRef,\n setOpen,\n shouldPauseHoverState,\n tags,\n value,\n } = useSelect2Context();\n const className = cn(createOptionClassName(shouldPauseHoverState), cName);\n\n const hasValue = Array.isArray(value) ? !!value.length : value !== undefined;\n const isTag = tags && !!color;\n\n const handleClick = () => {\n if (!multiple) {\n setOpen(false);\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (isAriaSelectionKey(event)) {\n if (!multiple || event.key === 'Tab') {\n setOpen(false);\n }\n }\n };\n\n const isEmptyOption = children !== '';\n\n const popover =\n isEmptyOption && (onEdit || onDelete)\n ? popoverProps => (\n <EditPopover\n {...popoverProps}\n color={props.color}\n key={props.textValue ?? String(props.children)}\n text={props.textValue ?? String(props.children)}\n value={props.value}\n />\n )\n : undefined;\n\n return (\n <ListboxPrimitive.Option {...otherProps} className={className} onClick={handleClick} onKeyDown={handleKeyDown} ref={ref}>\n {hasValue ? (\n <Icon name=\"tick\" className=\"pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible\" />\n ) : null}\n\n {isTag ? (\n <Tag className=\"pointer-events-none my-1\" color={color} icon={icon}>\n {children}\n </Tag>\n ) : (\n <>\n {icon ? typeof icon === 'string' ? <Icon name={icon} /> : icon : null}\n <span className=\"flex flex-col\">\n <span>{children}</span>\n {description ? <span className=\"text-grey-700 -mt-1.5 mb-1.5 text-xs\">{description}</span> : null}\n </span>\n </>\n )}\n {popover ? (\n <IconButton\n icon=\"ellipsis-vertical\"\n appearance=\"discrete\"\n className={cn(\n 'group-aria-current:visible invisible -mr-1 ml-auto !h-5 min-h-[theme(spacing.6)] !w-5 min-w-[theme(spacing.6)] hover:!bg-black/[.08] focus:!shadow-none group-hover:visible',\n {\n '!visible': isMobileDevice(window?.navigator),\n }\n )}\n onClick={event => {\n event.stopPropagation();\n listboxRef?.current?.setActiveIndex(event.currentTarget.parentElement as HTMLDivElement);\n }}\n popover={popover}\n tabIndex={-1}\n />\n ) : null}\n </ListboxPrimitive.Option>\n );\n});\n"],"names":["Option","React","forwardRef","Select2Option","props","ref","children","color","description","icon","className","cName","otherProps","onDelete","onEdit","listboxRef","multiple","selectRef","setOpen","shouldPauseHoverState","tags","value","useSelect2Context","cn","createOptionClassName","hasValue","Array","isArray","length","undefined","isTag","handleClick","current","focus","handleKeyDown","event","isAriaSelectionKey","key","isEmptyOption","popover","popoverProps","EditPopover","textValue","String","text","ListboxPrimitive","onClick","onKeyDown","Icon","name","Tag","IconButton","appearance","isMobileDevice","window","navigator","stopPropagation","setActiveIndex","currentTarget","parentElement","tabIndex"],"mappings":"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"}
1
+ {"version":3,"file":"Option.js","sources":["../../../../../../../../src/components/Select2/components/Option.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../../Icon/Icon';\nimport { Tag } from '../../Tag/Tag';\nimport { isAriaSelectionKey } from '../../../utils/aria';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\nimport { createOptionClassName } from '../utilities';\nimport { useSelect2Context } from './Context';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { EditPopover } from './Edit';\nimport { isMobileDevice } from '../../../utils/device';\nimport { Color } from '../../../types';\n\nexport type Select2OptionProps = Omit<ListboxPrimitive.Listbox2OptionProps, 'children'> & {\n children: string;\n color?: Color;\n description?: string;\n icon?: React.ReactElement<IconProps> | IconName;\n textValue?: string;\n};\n\nexport const Option = React.forwardRef<HTMLDivElement, Select2OptionProps>(function Select2Option(props, ref) {\n const { children, color, description, icon, className: cName, ...otherProps } = props;\n const {\n onDelete,\n onEdit,\n listboxRef,\n multiple,\n ref: selectRef,\n setOpen,\n shouldPauseHoverState,\n tags,\n value,\n } = useSelect2Context();\n const className = cn(createOptionClassName(shouldPauseHoverState), cName);\n\n const hasValue = Array.isArray(value) ? !!value.length : value !== undefined;\n const isTag = tags && !!color;\n\n const handleClick = () => {\n if (!multiple) {\n setOpen(false);\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (isAriaSelectionKey(event)) {\n if (!multiple || event.key === 'Tab') {\n setOpen(false);\n }\n }\n };\n\n const isEmptyOption = children !== '';\n\n const popover =\n isEmptyOption && (onEdit || onDelete)\n ? popoverProps => (\n <EditPopover\n {...popoverProps}\n color={props.color}\n key={props.textValue ?? String(props.children)}\n text={props.textValue ?? String(props.children)}\n value={props.value}\n />\n )\n : undefined;\n\n return (\n <ListboxPrimitive.Option {...otherProps} className={className} onClick={handleClick} onKeyDown={handleKeyDown} ref={ref}>\n {hasValue ? (\n <Icon name=\"tick\" className=\"pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible\" />\n ) : null}\n\n {isTag ? (\n <Tag className=\"pointer-events-none my-1\" color={color} icon={icon}>\n {children}\n </Tag>\n ) : (\n <>\n {icon ? typeof icon === 'string' ? <Icon name={icon} /> : icon : null}\n <span className=\"flex flex-col\">\n <span>{children}</span>\n {description ? <span className=\"text-grey-700 -mt-1.5 mb-1.5 text-xs\">{description}</span> : null}\n </span>\n </>\n )}\n {popover ? (\n <IconButton\n icon=\"ellipsis-vertical\"\n appearance=\"discrete\"\n className={cn(\n 'group-aria-current:visible invisible -mr-1 ml-auto !h-5 min-h-[theme(spacing.6)] !w-5 min-w-[theme(spacing.6)] hover:!bg-black/[.08] focus:!shadow-none group-hover:visible',\n {\n '!visible': isMobileDevice(window?.navigator),\n }\n )}\n onClick={event => {\n event.stopPropagation();\n listboxRef?.current?.setActiveIndex(event.currentTarget.parentElement as HTMLDivElement);\n }}\n popover={popover}\n tabIndex={-1}\n />\n ) : null}\n </ListboxPrimitive.Option>\n );\n});\n"],"names":["Option","React","forwardRef","Select2Option","props","ref","children","color","description","icon","className","cName","otherProps","onDelete","onEdit","listboxRef","multiple","selectRef","setOpen","shouldPauseHoverState","tags","value","useSelect2Context","cn","createOptionClassName","hasValue","Array","isArray","length","undefined","isTag","handleClick","_selectRef$current","current","focus","handleKeyDown","event","isAriaSelectionKey","key","isEmptyOption","popover","popoverProps","_props$textValue","_props$textValue2","EditPopover","textValue","String","text","ListboxPrimitive","onClick","onKeyDown","Icon","name","Tag","IconButton","appearance","isMobileDevice","_window","window","navigator","stopPropagation","_listboxRef$current","setActiveIndex","currentTarget","parentElement","tabIndex"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../../../../../../../src/components/Select2/components/Search.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { createCustomKeyboardEvent } from '../../../utils/input';\nimport { Input, InputProps } from '../../Input/Input';\nimport { useSelect2Context } from './Context';\nimport { Field } from '../../Field/Field';\nimport { isAriaSelectionKey } from '../../../utils/aria';\n\nexport type Select2SearchProps = InputProps & {};\n\nexport const Search = React.forwardRef<HTMLInputElement, Select2SearchProps>(function ListboxSearch(props, ref) {\n const { ...otherProps } = props;\n const { listboxRef, searchQuery, setSearchQuery, setValidationError, validationError, setOpen } = useSelect2Context();\n\n const handleChange = event => {\n if (validationError) {\n setValidationError(undefined);\n }\n\n setSearchQuery(event.target.value);\n };\n\n const handleKeyDown = event => {\n // space is an aria selection key, so we have to remove it to allow spaces\n if (event.key === ' ') {\n return;\n }\n\n // Select2 should close dropdown and receive focus, when user press Tab while searching (UX requirement to support better keyboard navigation)\n if (event.key === 'Tab') {\n setOpen(false);\n return;\n }\n\n if (isAriaSelectionKey(event) || event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n // forward navigation events onto the underlying collection - we want arrow keys to work from inside the filter input\n listboxRef?.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n return;\n }\n };\n\n return (\n <Field\n className={cn('mx-1.5 mb-1.5 !min-h-fit ', { '!pb-0': !validationError })}\n invalid={!!validationError}\n message={validationError?.message}>\n <Input\n {...otherProps}\n aria-hidden\n autoFocus\n invalid={!!validationError}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n ref={ref}\n value={searchQuery}\n />\n </Field>\n );\n});\n"],"names":["Search","React","forwardRef","ListboxSearch","props","ref","otherProps","listboxRef","searchQuery","setSearchQuery","setValidationError","validationError","setOpen","useSelect2Context","handleChange","event","undefined","target","value","handleKeyDown","key","isAriaSelectionKey","preventDefault","current","dispatchEvent","createCustomKeyboardEvent","Field","className","cn","invalid","message","Input","autoFocus","onChange","onKeyDown"],"mappings":";;;;;;;;MAUaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAuC,SAASC,aAAa,CAACC,KAAK,EAAEC,GAAG;EAC1G,MAAM;IAAE,GAAGC;GAAY,GAAGF,KAAK;EAC/B,MAAM;IAAEG,UAAU;IAAEC,WAAW;IAAEC,cAAc;IAAEC,kBAAkB;IAAEC,eAAe;IAAEC;GAAS,GAAGC,iBAAiB,EAAE;EAErH,MAAMC,YAAY,GAAGC,KAAK;IACtB,IAAIJ,eAAe,EAAE;MACjBD,kBAAkB,CAACM,SAAS,CAAC;;IAGjCP,cAAc,CAACM,KAAK,CAACE,MAAM,CAACC,KAAK,CAAC;GACrC;EAED,MAAMC,aAAa,GAAGJ,KAAK;;IAEvB,IAAIA,KAAK,CAACK,GAAG,KAAK,GAAG,EAAE;MACnB;;;IAIJ,IAAIL,KAAK,CAACK,GAAG,KAAK,KAAK,EAAE;MACrBR,OAAO,CAAC,KAAK,CAAC;MACd;;IAGJ,IAAIS,kBAAkB,CAACN,KAAK,CAAC,IAAIA,KAAK,CAACK,GAAG,KAAK,WAAW,IAAIL,KAAK,CAACK,GAAG,KAAK,SAAS,EAAE;MAAA;MACnFL,KAAK,CAACO,cAAc,EAAE;;MAEtBf,UAAU,aAAVA,UAAU,8CAAVA,UAAU,CAAEgB,OAAO,wDAAnB,oBAAqBC,aAAa,CAACC,yBAAyB,CAACV,KAA8C,CAAC,CAAC;MAC7G;;GAEP;EAED,oBACId,6BAACyB,KAAK;IACFC,SAAS,EAAEC,EAAE,CAAC,2BAA2B,EAAE;MAAE,OAAO,EAAE,CAACjB;KAAiB,CAAC;IACzEkB,OAAO,EAAE,CAAC,CAAClB,eAAe;IAC1BmB,OAAO,EAAEnB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEmB;kBAC1B7B,6BAAC8B,KAAK,oBACEzB,UAAU;;IAEd0B,SAAS;IACTH,OAAO,EAAE,CAAC,CAAClB,eAAe;IAC1BsB,QAAQ,EAAEnB,YAAY;IACtBoB,SAAS,EAAEf,aAAa;IACxBd,GAAG,EAAEA,GAAG;IACRa,KAAK,EAAEV;KACT,CACE;AAEhB,CAAC;;;;"}
1
+ {"version":3,"file":"Search.js","sources":["../../../../../../../../src/components/Select2/components/Search.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { createCustomKeyboardEvent } from '../../../utils/input';\nimport { Input, InputProps } from '../../Input/Input';\nimport { useSelect2Context } from './Context';\nimport { Field } from '../../Field/Field';\nimport { isAriaSelectionKey } from '../../../utils/aria';\n\nexport type Select2SearchProps = InputProps & {};\n\nexport const Search = React.forwardRef<HTMLInputElement, Select2SearchProps>(function ListboxSearch(props, ref) {\n const { ...otherProps } = props;\n const { listboxRef, searchQuery, setSearchQuery, setValidationError, validationError, setOpen } = useSelect2Context();\n\n const handleChange = event => {\n if (validationError) {\n setValidationError(undefined);\n }\n\n setSearchQuery(event.target.value);\n };\n\n const handleKeyDown = event => {\n // space is an aria selection key, so we have to remove it to allow spaces\n if (event.key === ' ') {\n return;\n }\n\n // Select2 should close dropdown and receive focus, when user press Tab while searching (UX requirement to support better keyboard navigation)\n if (event.key === 'Tab') {\n setOpen(false);\n return;\n }\n\n if (isAriaSelectionKey(event) || event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n // forward navigation events onto the underlying collection - we want arrow keys to work from inside the filter input\n listboxRef?.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n return;\n }\n };\n\n return (\n <Field\n className={cn('mx-1.5 mb-1.5 !min-h-fit ', { '!pb-0': !validationError })}\n invalid={!!validationError}\n message={validationError?.message}>\n <Input\n {...otherProps}\n aria-hidden\n autoFocus\n invalid={!!validationError}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n ref={ref}\n value={searchQuery}\n />\n </Field>\n );\n});\n"],"names":["Search","React","forwardRef","ListboxSearch","props","ref","otherProps","listboxRef","searchQuery","setSearchQuery","setValidationError","validationError","setOpen","useSelect2Context","handleChange","event","undefined","target","value","handleKeyDown","key","isAriaSelectionKey","_listboxRef$current","preventDefault","current","dispatchEvent","createCustomKeyboardEvent","Field","className","cn","invalid","message","Input","autoFocus","onChange","onKeyDown"],"mappings":";;;;;;;;MAUaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAuC,SAASC,aAAaA,CAACC,KAAK,EAAEC,GAAG;EAC1G,MAAM;IAAE,GAAGC;GAAY,GAAGF,KAAK;EAC/B,MAAM;IAAEG,UAAU;IAAEC,WAAW;IAAEC,cAAc;IAAEC,kBAAkB;IAAEC,eAAe;IAAEC;GAAS,GAAGC,iBAAiB,EAAE;EAErH,MAAMC,YAAY,GAAGC,KAAK;IACtB,IAAIJ,eAAe,EAAE;MACjBD,kBAAkB,CAACM,SAAS,CAAC;;IAGjCP,cAAc,CAACM,KAAK,CAACE,MAAM,CAACC,KAAK,CAAC;GACrC;EAED,MAAMC,aAAa,GAAGJ,KAAK;;IAEvB,IAAIA,KAAK,CAACK,GAAG,KAAK,GAAG,EAAE;MACnB;;;IAIJ,IAAIL,KAAK,CAACK,GAAG,KAAK,KAAK,EAAE;MACrBR,OAAO,CAAC,KAAK,CAAC;MACd;;IAGJ,IAAIS,kBAAkB,CAACN,KAAK,CAAC,IAAIA,KAAK,CAACK,GAAG,KAAK,WAAW,IAAIL,KAAK,CAACK,GAAG,KAAK,SAAS,EAAE;MAAA,IAAAE,mBAAA;MACnFP,KAAK,CAACQ,cAAc,EAAE;;MAEtBhB,UAAU,aAAVA,UAAU,wBAAAe,mBAAA,GAAVf,UAAU,CAAEiB,OAAO,cAAAF,mBAAA,uBAAnBA,mBAAA,CAAqBG,aAAa,CAACC,yBAAyB,CAACX,KAA8C,CAAC,CAAC;MAC7G;;GAEP;EAED,oBACId,6BAAC0B,KAAK;IACFC,SAAS,EAAEC,EAAE,CAAC,2BAA2B,EAAE;MAAE,OAAO,EAAE,CAAClB;KAAiB,CAAC;IACzEmB,OAAO,EAAE,CAAC,CAACnB,eAAe;IAC1BoB,OAAO,EAAEpB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEoB;kBAC1B9B,6BAAC+B,KAAK,oBACE1B,UAAU;;IAEd2B,SAAS;IACTH,OAAO,EAAE,CAAC,CAACnB,eAAe;IAC1BuB,QAAQ,EAAEpB,YAAY;IACtBqB,SAAS,EAAEhB,aAAa;IACxBd,GAAG,EAAEA,GAAG;IACRa,KAAK,EAAEV;KACT,CACE;AAEhB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Title.js","sources":["../../../../../../../../src/components/Select2/components/Title.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\n\nexport type Select2TitleProps = ListboxPrimitive.Listbox2TitleProps;\n\nexport const Title = React.forwardRef<HTMLDivElement, Select2TitleProps>(function Select2Title(props, ref) {\n const className = cn('flex items-center text-xs pl-2 h-8', props.className);\n return <ListboxPrimitive.Title {...props} className={className} ref={ref} />;\n});\n"],"names":["Title","React","forwardRef","Select2Title","props","ref","className","cn","ListboxPrimitive"],"mappings":";;;;;;;MAMaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAoC,SAASC,YAAY,CAACC,KAAK,EAAEC,GAAG;EACrG,MAAMC,SAAS,GAAGC,EAAE,CAAC,oCAAoC,EAAEH,KAAK,CAACE,SAAS,CAAC;EAC3E,oBAAOL,6BAACO,OAAsB,oBAAKJ,KAAK;IAAEE,SAAS,EAAEA,SAAS;IAAED,GAAG,EAAEA;KAAO;AAChF,CAAC;;;;"}
1
+ {"version":3,"file":"Title.js","sources":["../../../../../../../../src/components/Select2/components/Title.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\n\nexport type Select2TitleProps = ListboxPrimitive.Listbox2TitleProps;\n\nexport const Title = React.forwardRef<HTMLDivElement, Select2TitleProps>(function Select2Title(props, ref) {\n const className = cn('flex items-center text-xs pl-2 h-8', props.className);\n return <ListboxPrimitive.Title {...props} className={className} ref={ref} />;\n});\n"],"names":["Title","React","forwardRef","Select2Title","props","ref","className","cn","ListboxPrimitive"],"mappings":";;;;;;;MAMaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAoC,SAASC,YAAYA,CAACC,KAAK,EAAEC,GAAG;EACrG,MAAMC,SAAS,GAAGC,EAAE,CAAC,oCAAoC,EAAEH,KAAK,CAACE,SAAS,CAAC;EAC3E,oBAAOL,6BAACO,OAAsB,oBAAKJ,KAAK;IAAEE,SAAS,EAAEA,SAAS;IAAED,GAAG,EAAEA;KAAO;AAChF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Trigger.js","sources":["../../../../../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Tag } from '../../Tag/Tag';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { Icon } from '../../Icon/Icon';\nimport { Badge } from '../../Badge/Badge';\nimport { getInputClasses } from '../../Input/util';\nimport { Select2OptionValue } from '../types';\nimport { useSelect2Context } from './Context';\nimport { Select2OptionProps } from './Option';\nimport { getIndexOfFirstChildOverflowingParent } from '../../../utils/dom';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\n\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n emptyValue?: Select2OptionValue;\n children: React.ReactElement<Select2OptionProps>[];\n};\n\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\n const { multiple, value } = useSelect2Context();\n\n if (Array.isArray(value) || multiple) {\n const values = Array.isArray(value) ? value : value !== undefined ? [value] : undefined;\n return <Multiple {...props} ref={ref} values={values} />;\n }\n\n return <Single {...props} ref={ref} value={value} />;\n});\n\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\n const { children, onClick, tabIndex = 0, ...otherProps } = props;\n const { disabled, highlighted, invalid, open, readOnly } = useSelect2Context();\n\n const className = cn(\n 'cursor-pointer !px-1.5',\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly }).replace('w-full', ''),\n { 'w-full': !props.className?.includes('w-') },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) {\n event.preventDefault();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n return (\n <button\n {...otherProps}\n aria-invalid={invalid ? true : undefined}\n aria-readonly={readOnly ? true : undefined}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n ref={ref}\n role=\"combobox\"\n tabIndex={disabled || readOnly ? -1 : tabIndex}\n type=\"button\">\n {children}\n <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"pointer-events-none -mr-1 ml-auto\" />\n </button>\n );\n});\n\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue };\n\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\n const { children, emptyValue, value, ...buttonProps } = props;\n const { disabled, readOnly, tags } = useSelect2Context();\n const contentClassName = cn('truncate items-center gap-1');\n\n const currentValue = children.find(matchesValue(value));\n\n let output;\n\n if (currentValue) {\n if (tags && emptyValue !== undefined && emptyValue !== value) {\n output = (\n <Tag\n className=\"truncate\"\n color={currentValue.props.color}\n disabled={disabled}\n icon={currentValue.props.icon}\n readOnly={readOnly}>\n {currentValue.props.children}\n </Tag>\n );\n } else {\n output = (\n <>\n {currentValue.props.icon ? (\n typeof currentValue.props.icon === 'string' ? (\n <Icon name={currentValue.props.icon} />\n ) : (\n currentValue.props.icon\n )\n ) : null}\n {currentValue.props.children}\n </>\n );\n }\n }\n\n return (\n <Button {...buttonProps} ref={ref}>\n <div className={contentClassName}>{output}</div>\n </Button>\n );\n});\n\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\n values?: Select2OptionValue[];\n};\n\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\n const { children, emptyValue: _, values = [], ...buttonProps } = props;\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const buttonRef = useMergedRef<HTMLButtonElement>(ref);\n\n const valuesAsChildren = values\n .map(value => children.find(c => c.props.value === value))\n .filter(c => !!c) as React.ReactElement<Select2OptionProps>[];\n\n let content;\n let { className } = buttonProps;\n\n if (open) {\n className = cn('!absolute z-20', buttonProps.className);\n content = (\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\">\n <div className=\"flex flex-wrap gap-1\">\n {valuesAsChildren.map(child => (\n <Tag\n key={child.props.value}\n className=\"truncate\"\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.icon}\n onDelete={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n ))}\n </div>\n </ScrollArea>\n );\n } else {\n content = <MultipleValue key={String(open)} valuesAsChildren={valuesAsChildren} />;\n }\n\n return (\n <div\n className={cn('relative inline-flex flex-grow', { 'h-8': open })}\n style={{ width: open ? buttonRef.current?.offsetWidth : undefined }}>\n <Button {...buttonProps} className={className} ref={buttonRef}>\n {content}\n </Button>\n </div>\n );\n});\n\nconst MultipleValue = ({ valuesAsChildren }) => {\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const [contentRef, setContentRef] = React.useState<HTMLDivElement | null>(null);\n const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;\n\n const createClickHandler = tagValue => event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(tagValue);\n }\n };\n\n return (\n <div className=\"relative flex items-center gap-1 overflow-hidden\">\n <div className=\"flex gap-1 truncate\" ref={el => setContentRef(el)}>\n {valuesAsChildren.map((child, index) => {\n const tag = (\n <Tag\n key={child.props.value}\n className={cn('cursor-pointer', {\n truncate: index === boundaryIndex,\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\n })}\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.icon}\n onDelete={open ? createClickHandler(child.props.value) : undefined}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n );\n\n if (index === boundaryIndex) {\n return (\n <Tooltip key={child.props.value} title={String(child.props.children)}>\n {tag}\n </Tooltip>\n );\n }\n\n return tag;\n })}\n </div>\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\n <Tooltip\n title={valuesAsChildren\n .slice(boundaryIndex + 1)\n .map(child => (child ? String(child.props.children) : ''))\n .join(', ')}>\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\n if (Array.isArray(value)) {\n return value.includes(child.props.value);\n }\n\n return child.props.value === value;\n};\n"],"names":["Trigger","React","forwardRef","Select2Trigger","props","ref","multiple","value","useSelect2Context","Array","isArray","values","undefined","Multiple","Single","Button","Select2TriggerButton","children","onClick","tabIndex","otherProps","disabled","highlighted","invalid","open","readOnly","className","cn","getInputClasses","replace","includes","handleClick","event","preventDefault","role","type","Icon","name","Select2TriggerSingle","emptyValue","buttonProps","tags","contentClassName","currentValue","find","matchesValue","output","Tag","color","icon","Select2TriggerMultiple","_","setValue","buttonRef","useMergedRef","valuesAsChildren","map","c","filter","content","ScrollArea","child","key","onDelete","stopPropagation","MultipleValue","String","style","width","current","offsetWidth","contentRef","setContentRef","useState","boundaryIndex","getIndexOfFirstChildOverflowingParent","createClickHandler","tagValue","el","index","tag","truncate","hidden","Tooltip","title","length","slice","join","Badge"],"mappings":"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"}
1
+ {"version":3,"file":"Trigger.js","sources":["../../../../../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Tag } from '../../Tag/Tag';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { Icon } from '../../Icon/Icon';\nimport { Badge } from '../../Badge/Badge';\nimport { getInputClasses } from '../../Input/util';\nimport { Select2OptionValue } from '../types';\nimport { useSelect2Context } from './Context';\nimport { Select2OptionProps } from './Option';\nimport { getIndexOfFirstChildOverflowingParent } from '../../../utils/dom';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\n\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n emptyValue?: Select2OptionValue;\n children: React.ReactElement<Select2OptionProps>[];\n};\n\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\n const { multiple, value } = useSelect2Context();\n\n if (Array.isArray(value) || multiple) {\n const values = Array.isArray(value) ? value : value !== undefined ? [value] : undefined;\n return <Multiple {...props} ref={ref} values={values} />;\n }\n\n return <Single {...props} ref={ref} value={value} />;\n});\n\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\n const { children, onClick, tabIndex = 0, ...otherProps } = props;\n const { disabled, highlighted, invalid, open, readOnly } = useSelect2Context();\n\n const className = cn(\n 'cursor-pointer !px-1.5',\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly }).replace('w-full', ''),\n { 'w-full': !props.className?.includes('w-') },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) {\n event.preventDefault();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n return (\n <button\n {...otherProps}\n aria-invalid={invalid ? true : undefined}\n aria-readonly={readOnly ? true : undefined}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n ref={ref}\n role=\"combobox\"\n tabIndex={disabled || readOnly ? -1 : tabIndex}\n type=\"button\">\n {children}\n <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"pointer-events-none -mr-1 ml-auto\" />\n </button>\n );\n});\n\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue };\n\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\n const { children, emptyValue, value, ...buttonProps } = props;\n const { disabled, readOnly, tags } = useSelect2Context();\n const contentClassName = cn('truncate items-center gap-1');\n\n const currentValue = children.find(matchesValue(value));\n\n let output;\n\n if (currentValue) {\n if (tags && emptyValue !== undefined && emptyValue !== value) {\n output = (\n <Tag\n className=\"truncate\"\n color={currentValue.props.color}\n disabled={disabled}\n icon={currentValue.props.icon}\n readOnly={readOnly}>\n {currentValue.props.children}\n </Tag>\n );\n } else {\n output = (\n <>\n {currentValue.props.icon ? (\n typeof currentValue.props.icon === 'string' ? (\n <Icon name={currentValue.props.icon} />\n ) : (\n currentValue.props.icon\n )\n ) : null}\n {currentValue.props.children}\n </>\n );\n }\n }\n\n return (\n <Button {...buttonProps} ref={ref}>\n <div className={contentClassName}>{output}</div>\n </Button>\n );\n});\n\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\n values?: Select2OptionValue[];\n};\n\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\n const { children, emptyValue: _, values = [], ...buttonProps } = props;\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const buttonRef = useMergedRef<HTMLButtonElement>(ref);\n\n const valuesAsChildren = values\n .map(value => children.find(c => c.props.value === value))\n .filter(c => !!c) as React.ReactElement<Select2OptionProps>[];\n\n let content;\n let { className } = buttonProps;\n\n if (open) {\n className = cn('!absolute z-20', buttonProps.className);\n content = (\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\">\n <div className=\"flex flex-wrap gap-1\">\n {valuesAsChildren.map(child => (\n <Tag\n key={child.props.value}\n className=\"truncate\"\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.icon}\n onDelete={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n ))}\n </div>\n </ScrollArea>\n );\n } else {\n content = <MultipleValue key={String(open)} valuesAsChildren={valuesAsChildren} />;\n }\n\n return (\n <div\n className={cn('relative inline-flex flex-grow', { 'h-8': open })}\n style={{ width: open ? buttonRef.current?.offsetWidth : undefined }}>\n <Button {...buttonProps} className={className} ref={buttonRef}>\n {content}\n </Button>\n </div>\n );\n});\n\nconst MultipleValue = ({ valuesAsChildren }) => {\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const [contentRef, setContentRef] = React.useState<HTMLDivElement | null>(null);\n const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;\n\n const createClickHandler = tagValue => event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(tagValue);\n }\n };\n\n return (\n <div className=\"relative flex items-center gap-1 overflow-hidden\">\n <div className=\"flex gap-1 truncate\" ref={el => setContentRef(el)}>\n {valuesAsChildren.map((child, index) => {\n const tag = (\n <Tag\n key={child.props.value}\n className={cn('cursor-pointer', {\n truncate: index === boundaryIndex,\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\n })}\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.icon}\n onDelete={open ? createClickHandler(child.props.value) : undefined}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n );\n\n if (index === boundaryIndex) {\n return (\n <Tooltip key={child.props.value} title={String(child.props.children)}>\n {tag}\n </Tooltip>\n );\n }\n\n return tag;\n })}\n </div>\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\n <Tooltip\n title={valuesAsChildren\n .slice(boundaryIndex + 1)\n .map(child => (child ? String(child.props.children) : ''))\n .join(', ')}>\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\n if (Array.isArray(value)) {\n return value.includes(child.props.value);\n }\n\n return child.props.value === value;\n};\n"],"names":["Trigger","React","forwardRef","Select2Trigger","props","ref","multiple","value","useSelect2Context","Array","isArray","values","undefined","Multiple","Single","Button","Select2TriggerButton","children","onClick","tabIndex","otherProps","disabled","highlighted","invalid","open","readOnly","className","cn","getInputClasses","replace","_props$className","includes","handleClick","event","preventDefault","role","type","Icon","name","Select2TriggerSingle","emptyValue","buttonProps","tags","contentClassName","currentValue","find","matchesValue","output","Tag","color","icon","Select2TriggerMultiple","_","setValue","buttonRef","useMergedRef","valuesAsChildren","map","c","filter","content","ScrollArea","child","key","onDelete","stopPropagation","MultipleValue","String","style","width","_buttonRef$current","current","offsetWidth","contentRef","setContentRef","useState","boundaryIndex","getIndexOfFirstChildOverflowingParent","createClickHandler","tagValue","el","index","tag","truncate","hidden","Tooltip","title","length","slice","join","Badge"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChildren.js","sources":["../../../../../../../../src/components/Select2/hooks/useChildren.tsx"],"sourcesContent":["import React from 'react';\nimport { Select2OptionProps } from '../components/Option';\nimport { Select2GroupProps } from '../Select2';\nimport { Select2Children, Select2OptionValue, Select2Value } from '../types';\n\nconst isGroup = (child: React.ReactElement) => !!child.props.heading;\n\nexport type useChildrenArgs = {\n children: Select2Children;\n emptyValue?: Select2OptionValue;\n multiple?: boolean;\n open?: boolean;\n setValue: (nextValue: Select2OptionValue) => void;\n value?: Select2Value;\n};\nexport const useChildren = ({ children: initialChildren, emptyValue, multiple, open, setValue, value }: useChildrenArgs) => {\n const [searchQuery, setSearchQuery] = React.useState<string>('');\n\n // flatten children that might be inside groups\n // support empty value - probably a more elegant way to achieve this\n const flattenedChildren: React.ReactElement<Select2OptionProps>[] = React.useMemo(() => {\n const initial: React.ReactElement<Select2OptionProps>[] =\n initialChildren\n ?.map(child => {\n if (isGroup(child)) {\n return (child as React.ReactElement<Select2GroupProps>).props.children;\n }\n // Since we are filtering out groups just above, then casting child to React.ReactElement<Select2OptionProps>, to avoid type inconsistency errors.\n return child as React.ReactElement<Select2OptionProps>;\n })\n .flatMap(c => c) || [];\n\n return initial;\n }, [initialChildren]);\n\n // set an initial value if none is set, we have to trigger state updates for controlled components\n React.useEffect(() => {\n if (!multiple && emptyValue === undefined && value === undefined) {\n setValue(flattenedChildren?.[0]?.props.value);\n }\n }, []);\n\n React.useEffect(() => {\n if (!open) {\n setSearchQuery('');\n }\n }, [open]);\n\n // apply filtering\n const filteredChildren = React.useMemo(() => {\n return initialChildren\n .map(child => {\n if (isGroup(child)) {\n const filteredGroupChildren = (child as React.ReactElement<Select2GroupProps>).props.children.filter(\n groupChild => filterOption(groupChild as React.ReactElement<Select2OptionProps>, searchQuery)\n );\n return filteredGroupChildren.length\n ? React.cloneElement(child as React.ReactElement<Select2OptionProps>, {}, filteredGroupChildren)\n : null;\n }\n\n return filterOption(child as React.ReactElement<Select2OptionProps>, searchQuery) ? child : null;\n })\n .filter(child => !!child) as Select2Children;\n }, [flattenedChildren, searchQuery]);\n\n return {\n flattenedChildren,\n filteredChildren,\n searchQuery,\n setSearchQuery,\n };\n};\n\nconst filterOption = (child: React.ReactElement<Select2OptionProps>, searchQuery: string) => {\n if (child.props.textValue?.toLowerCase().includes(searchQuery.toLowerCase())) {\n return true;\n }\n\n if (child.props.description?.toLowerCase().includes(searchQuery.toLowerCase())) {\n return true;\n }\n\n return String(child.props.children).toLowerCase().includes(searchQuery.toLowerCase());\n};\n"],"names":["isGroup","child","props","heading","useChildren","children","initialChildren","emptyValue","multiple","open","setValue","value","searchQuery","setSearchQuery","React","useState","flattenedChildren","useMemo","initial","map","flatMap","c","useEffect","undefined","filteredChildren","filteredGroupChildren","filter","groupChild","filterOption","length","cloneElement","textValue","toLowerCase","includes","description","String"],"mappings":";;AAKA,MAAMA,OAAO,GAAIC,KAAyB,IAAK,CAAC,CAACA,KAAK,CAACC,KAAK,CAACC,OAAO;MAUvDC,WAAW,GAAG,CAAC;EAAEC,QAAQ,EAAEC,eAAe;EAAEC,UAAU;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;CAAwB;EACnH,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAS,EAAE,CAAC;;;EAIhE,MAAMC,iBAAiB,GAA6CF,cAAK,CAACG,OAAO,CAAC;IAC9E,MAAMC,OAAO,GACT,CAAAZ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CACTa,GAAG,CAAClB,KAAK;MACP,IAAID,OAAO,CAACC,KAAK,CAAC,EAAE;QAChB,OAAQA,KAA+C,CAACC,KAAK,CAACG,QAAQ;;;MAG1E,OAAOJ,KAA+C;KACzD,CAAC,CACDmB,OAAO,CAACC,CAAC,IAAIA,CAAC,CAAC,KAAI,EAAE;IAE9B,OAAOH,OAAO;GACjB,EAAE,CAACZ,eAAe,CAAC,CAAC;;EAGrBQ,cAAK,CAACQ,SAAS,CAAC;IACZ,IAAI,CAACd,QAAQ,IAAID,UAAU,KAAKgB,SAAS,IAAIZ,KAAK,KAAKY,SAAS,EAAE;MAAA;MAC9Db,QAAQ,CAACM,iBAAiB,aAAjBA,iBAAiB,8CAAjBA,iBAAiB,CAAG,CAAC,CAAC,wDAAtB,oBAAwBd,KAAK,CAACS,KAAK,CAAC;;GAEpD,EAAE,EAAE,CAAC;EAENG,cAAK,CAACQ,SAAS,CAAC;IACZ,IAAI,CAACb,IAAI,EAAE;MACPI,cAAc,CAAC,EAAE,CAAC;;GAEzB,EAAE,CAACJ,IAAI,CAAC,CAAC;;EAGV,MAAMe,gBAAgB,GAAGV,cAAK,CAACG,OAAO,CAAC;IACnC,OAAOX,eAAe,CACjBa,GAAG,CAAClB,KAAK;MACN,IAAID,OAAO,CAACC,KAAK,CAAC,EAAE;QAChB,MAAMwB,qBAAqB,GAAIxB,KAA+C,CAACC,KAAK,CAACG,QAAQ,CAACqB,MAAM,CAChGC,UAAU,IAAIC,YAAY,CAACD,UAAoD,EAAEf,WAAW,CAAC,CAChG;QACD,OAAOa,qBAAqB,CAACI,MAAM,gBAC7Bf,cAAK,CAACgB,YAAY,CAAC7B,KAA+C,EAAE,EAAE,EAAEwB,qBAAqB,CAAC,GAC9F,IAAI;;MAGd,OAAOG,YAAY,CAAC3B,KAA+C,EAAEW,WAAW,CAAC,GAAGX,KAAK,GAAG,IAAI;KACnG,CAAC,CACDyB,MAAM,CAACzB,KAAK,IAAI,CAAC,CAACA,KAAK,CAAoB;GACnD,EAAE,CAACe,iBAAiB,EAAEJ,WAAW,CAAC,CAAC;EAEpC,OAAO;IACHI,iBAAiB;IACjBQ,gBAAgB;IAChBZ,WAAW;IACXC;GACH;AACL;AAEA,MAAMe,YAAY,GAAG,CAAC3B,KAA6C,EAAEW,WAAmB;;EACpF,6BAAIX,KAAK,CAACC,KAAK,CAAC6B,SAAS,kDAArB,sBAAuBC,WAAW,EAAE,CAACC,QAAQ,CAACrB,WAAW,CAACoB,WAAW,EAAE,CAAC,EAAE;IAC1E,OAAO,IAAI;;EAGf,6BAAI/B,KAAK,CAACC,KAAK,CAACgC,WAAW,kDAAvB,sBAAyBF,WAAW,EAAE,CAACC,QAAQ,CAACrB,WAAW,CAACoB,WAAW,EAAE,CAAC,EAAE;IAC5E,OAAO,IAAI;;EAGf,OAAOG,MAAM,CAAClC,KAAK,CAACC,KAAK,CAACG,QAAQ,CAAC,CAAC2B,WAAW,EAAE,CAACC,QAAQ,CAACrB,WAAW,CAACoB,WAAW,EAAE,CAAC;AACzF,CAAC;;;;"}
1
+ {"version":3,"file":"useChildren.js","sources":["../../../../../../../../src/components/Select2/hooks/useChildren.tsx"],"sourcesContent":["import React from 'react';\nimport { Select2OptionProps } from '../components/Option';\nimport { Select2GroupProps } from '../Select2';\nimport { Select2Children, Select2OptionValue, Select2Value } from '../types';\n\nconst isGroup = (child: React.ReactElement) => !!child.props.heading;\n\nexport type useChildrenArgs = {\n children: Select2Children;\n emptyValue?: Select2OptionValue;\n multiple?: boolean;\n open?: boolean;\n setValue: (nextValue: Select2OptionValue) => void;\n value?: Select2Value;\n};\nexport const useChildren = ({ children: initialChildren, emptyValue, multiple, open, setValue, value }: useChildrenArgs) => {\n const [searchQuery, setSearchQuery] = React.useState<string>('');\n\n // flatten children that might be inside groups\n // support empty value - probably a more elegant way to achieve this\n const flattenedChildren: React.ReactElement<Select2OptionProps>[] = React.useMemo(() => {\n const initial: React.ReactElement<Select2OptionProps>[] =\n initialChildren\n ?.map(child => {\n if (isGroup(child)) {\n return (child as React.ReactElement<Select2GroupProps>).props.children;\n }\n // Since we are filtering out groups just above, then casting child to React.ReactElement<Select2OptionProps>, to avoid type inconsistency errors.\n return child as React.ReactElement<Select2OptionProps>;\n })\n .flatMap(c => c) || [];\n\n return initial;\n }, [initialChildren]);\n\n // set an initial value if none is set, we have to trigger state updates for controlled components\n React.useEffect(() => {\n if (!multiple && emptyValue === undefined && value === undefined) {\n setValue(flattenedChildren?.[0]?.props.value);\n }\n }, []);\n\n React.useEffect(() => {\n if (!open) {\n setSearchQuery('');\n }\n }, [open]);\n\n // apply filtering\n const filteredChildren = React.useMemo(() => {\n return initialChildren\n .map(child => {\n if (isGroup(child)) {\n const filteredGroupChildren = (child as React.ReactElement<Select2GroupProps>).props.children.filter(\n groupChild => filterOption(groupChild as React.ReactElement<Select2OptionProps>, searchQuery)\n );\n return filteredGroupChildren.length\n ? React.cloneElement(child as React.ReactElement<Select2OptionProps>, {}, filteredGroupChildren)\n : null;\n }\n\n return filterOption(child as React.ReactElement<Select2OptionProps>, searchQuery) ? child : null;\n })\n .filter(child => !!child) as Select2Children;\n }, [flattenedChildren, searchQuery]);\n\n return {\n flattenedChildren,\n filteredChildren,\n searchQuery,\n setSearchQuery,\n };\n};\n\nconst filterOption = (child: React.ReactElement<Select2OptionProps>, searchQuery: string) => {\n if (child.props.textValue?.toLowerCase().includes(searchQuery.toLowerCase())) {\n return true;\n }\n\n if (child.props.description?.toLowerCase().includes(searchQuery.toLowerCase())) {\n return true;\n }\n\n return String(child.props.children).toLowerCase().includes(searchQuery.toLowerCase());\n};\n"],"names":["isGroup","child","props","heading","useChildren","children","initialChildren","emptyValue","multiple","open","setValue","value","searchQuery","setSearchQuery","React","useState","flattenedChildren","useMemo","initial","map","flatMap","c","useEffect","undefined","_flattenedChildren$","filteredChildren","filteredGroupChildren","filter","groupChild","filterOption","length","cloneElement","_child$props$textValu","textValue","toLowerCase","includes","_child$props$descript","description","String"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sources":["../../../../../../../src/components/Select2/utilities.ts"],"sourcesContent":["import cn from 'classnames';\n\nexport const createOptionClassName = (shouldPauseHoverState = false) =>\n cn(\n 'group mb-px flex w-full text-sm flex-shrink-0 font-normal cursor-pointer items-center rounded bg-white px-2 leading-8 text-black aria-hidden:hidden gap-1.5 bg-white aria-current:wcag-grey-200 aria-disabled:text-black/25 aria-disabled:pointer-events-none',\n\n {\n 'hover:wcag-grey-200': !shouldPauseHoverState,\n }\n );\n\nexport const createCollectionClassName = () => 'flex flex-col gap-px';\n"],"names":["createOptionClassName","shouldPauseHoverState","cn","createCollectionClassName"],"mappings":";;MAEaA,qBAAqB,GAAG,CAACC,qBAAqB,GAAG,KAAK,KAC/DC,EAAE,CACE,+PAA+P,EAE/P;EACI,qBAAqB,EAAE,CAACD;CAC3B;MAGIE,yBAAyB,GAAG,MAAM;;;;"}
1
+ {"version":3,"file":"utilities.js","sources":["../../../../../../../src/components/Select2/utilities.ts"],"sourcesContent":["import cn from 'classnames';\n\nexport const createOptionClassName = (shouldPauseHoverState = false) =>\n cn(\n 'group mb-px flex w-full text-sm flex-shrink-0 font-normal cursor-pointer items-center rounded bg-white px-2 leading-8 text-black aria-hidden:hidden gap-1.5 bg-white aria-current:wcag-grey-200 aria-disabled:text-black/25 aria-disabled:pointer-events-none',\n\n {\n 'hover:wcag-grey-200': !shouldPauseHoverState,\n }\n );\n\nexport const createCollectionClassName = () => 'flex flex-col gap-px';\n"],"names":["createOptionClassName","shouldPauseHoverState","cn","createCollectionClassName"],"mappings":";;MAEaA,qBAAqB,GAAGA,CAACC,qBAAqB,GAAG,KAAK,KAC/DC,EAAE,CACE,+PAA+P,EAE/P;EACI,qBAAqB,EAAE,CAACD;CAC3B;MAGIE,yBAAyB,GAAGA,MAAM;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Shortcut.js","sources":["../../../../../../../src/components/Shortcut/Shortcut.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isMacOs, KeyDownHandlerOptions } from '../../utils/keyboard';\n\nconst replaceWithShortform = (key: string) => {\n switch (key) {\n case 'Escape':\n return 'Esc';\n\n case 'Delete':\n return 'Del';\n\n case 'Space':\n case ' ':\n return 'Space';\n\n case 'ArrowLeft':\n return '◄';\n\n case 'ArrowRight':\n return '►';\n\n case 'ArrowUp':\n return '▲';\n\n case 'ArrowDown':\n return '▼';\n\n default:\n return key.length === 1 ? key.toLocaleUpperCase() : key;\n }\n};\n\nconst getShortcutText = (key: string | KeyDownHandlerOptions) => {\n if (!key) {\n return [];\n }\n\n if (typeof key === 'string') {\n return [replaceWithShortform(key)];\n }\n\n const keys: string[] = [];\n\n if (key.shift) {\n keys.push(isMacOs() ? '⇧' : 'Shift');\n }\n\n if (key.meta) {\n keys.push(isMacOs() ? '⌘' : 'Ctrl');\n }\n\n keys.push(replaceWithShortform(key.key));\n\n return keys;\n};\n\nexport type ShortcutProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n keys: string | KeyDownHandlerOptions;\n};\nexport const Shortcut = ({ keys, ...props }: ShortcutProps) => {\n const className = cn('inline-flex gap-0.5', props.className);\n const texts = getShortcutText(keys);\n\n return (\n <span {...props} className={className}>\n {texts.map(key => (\n <kbd\n key={key}\n className=\"font-display text-grey-700 [[data-taco=tooltip]_&]:bg-grey-300/[0.25] rounded-sm bg-black/[0.09] px-1 text-center font-bold [[data-taco=tooltip]_&]:text-white\">\n {key}\n </kbd>\n ))}\n </span>\n );\n};\n"],"names":["replaceWithShortform","key","length","toLocaleUpperCase","getShortcutText","keys","shift","push","isMacOs","meta","Shortcut","props","className","cn","texts","React","map"],"mappings":";;;;AAIA,MAAMA,oBAAoB,GAAIC,GAAW;EACrC,QAAQA,GAAG;IACP,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,OAAO;IACZ,KAAK,GAAG;MACJ,OAAO,OAAO;IAElB,KAAK,WAAW;MACZ,OAAO,GAAG;IAEd,KAAK,YAAY;MACb,OAAO,GAAG;IAEd,KAAK,SAAS;MACV,OAAO,GAAG;IAEd,KAAK,WAAW;MACZ,OAAO,GAAG;IAEd;MACI,OAAOA,GAAG,CAACC,MAAM,KAAK,CAAC,GAAGD,GAAG,CAACE,iBAAiB,EAAE,GAAGF,GAAG;;AAEnE,CAAC;AAED,MAAMG,eAAe,GAAIH,GAAmC;EACxD,IAAI,CAACA,GAAG,EAAE;IACN,OAAO,EAAE;;EAGb,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO,CAACD,oBAAoB,CAACC,GAAG,CAAC,CAAC;;EAGtC,MAAMI,IAAI,GAAa,EAAE;EAEzB,IAAIJ,GAAG,CAACK,KAAK,EAAE;IACXD,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC;;EAGxC,IAAIP,GAAG,CAACQ,IAAI,EAAE;IACVJ,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;;EAGvCH,IAAI,CAACE,IAAI,CAACP,oBAAoB,CAACC,GAAG,CAACA,GAAG,CAAC,CAAC;EAExC,OAAOI,IAAI;AACf,CAAC;MAKYK,QAAQ,GAAG,CAAC;EAAEL,IAAI;EAAE,GAAGM;CAAsB;EACtD,MAAMC,SAAS,GAAGC,EAAE,CAAC,qBAAqB,EAAEF,KAAK,CAACC,SAAS,CAAC;EAC5D,MAAME,KAAK,GAAGV,eAAe,CAACC,IAAI,CAAC;EAEnC,oBACIU,uDAAUJ,KAAK;IAAEC,SAAS,EAAEA;MACvBE,KAAK,CAACE,GAAG,CAACf,GAAG,iBACVc;IACId,GAAG,EAAEA,GAAG;IACRW,SAAS,EAAC;KACTX,GAAG,CAEX,CAAC,CACC;AAEf;;;;"}
1
+ {"version":3,"file":"Shortcut.js","sources":["../../../../../../../src/components/Shortcut/Shortcut.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isMacOs, KeyDownHandlerOptions } from '../../utils/keyboard';\n\nconst replaceWithShortform = (key: string) => {\n switch (key) {\n case 'Escape':\n return 'Esc';\n\n case 'Delete':\n return 'Del';\n\n case 'Space':\n case ' ':\n return 'Space';\n\n case 'ArrowLeft':\n return '◄';\n\n case 'ArrowRight':\n return '►';\n\n case 'ArrowUp':\n return '▲';\n\n case 'ArrowDown':\n return '▼';\n\n default:\n return key.length === 1 ? key.toLocaleUpperCase() : key;\n }\n};\n\nconst getShortcutText = (key: string | KeyDownHandlerOptions) => {\n if (!key) {\n return [];\n }\n\n if (typeof key === 'string') {\n return [replaceWithShortform(key)];\n }\n\n const keys: string[] = [];\n\n if (key.shift) {\n keys.push(isMacOs() ? '⇧' : 'Shift');\n }\n\n if (key.meta) {\n keys.push(isMacOs() ? '⌘' : 'Ctrl');\n }\n\n keys.push(replaceWithShortform(key.key));\n\n return keys;\n};\n\nexport type ShortcutProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n keys: string | KeyDownHandlerOptions;\n};\nexport const Shortcut = ({ keys, ...props }: ShortcutProps) => {\n const className = cn('inline-flex gap-0.5', props.className);\n const texts = getShortcutText(keys);\n\n return (\n <span {...props} className={className}>\n {texts.map(key => (\n <kbd\n key={key}\n className=\"font-display text-grey-700 [[data-taco=tooltip]_&]:bg-grey-300/[0.25] rounded-sm bg-black/[0.09] px-1 text-center font-bold [[data-taco=tooltip]_&]:text-white\">\n {key}\n </kbd>\n ))}\n </span>\n );\n};\n"],"names":["replaceWithShortform","key","length","toLocaleUpperCase","getShortcutText","keys","shift","push","isMacOs","meta","Shortcut","props","className","cn","texts","React","map"],"mappings":";;;;AAIA,MAAMA,oBAAoB,GAAIC,GAAW;EACrC,QAAQA,GAAG;IACP,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,OAAO;IACZ,KAAK,GAAG;MACJ,OAAO,OAAO;IAElB,KAAK,WAAW;MACZ,OAAO,GAAG;IAEd,KAAK,YAAY;MACb,OAAO,GAAG;IAEd,KAAK,SAAS;MACV,OAAO,GAAG;IAEd,KAAK,WAAW;MACZ,OAAO,GAAG;IAEd;MACI,OAAOA,GAAG,CAACC,MAAM,KAAK,CAAC,GAAGD,GAAG,CAACE,iBAAiB,EAAE,GAAGF,GAAG;;AAEnE,CAAC;AAED,MAAMG,eAAe,GAAIH,GAAmC;EACxD,IAAI,CAACA,GAAG,EAAE;IACN,OAAO,EAAE;;EAGb,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO,CAACD,oBAAoB,CAACC,GAAG,CAAC,CAAC;;EAGtC,MAAMI,IAAI,GAAa,EAAE;EAEzB,IAAIJ,GAAG,CAACK,KAAK,EAAE;IACXD,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC;;EAGxC,IAAIP,GAAG,CAACQ,IAAI,EAAE;IACVJ,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;;EAGvCH,IAAI,CAACE,IAAI,CAACP,oBAAoB,CAACC,GAAG,CAACA,GAAG,CAAC,CAAC;EAExC,OAAOI,IAAI;AACf,CAAC;MAKYK,QAAQ,GAAGA,CAAC;EAAEL,IAAI;EAAE,GAAGM;CAAsB;EACtD,MAAMC,SAAS,GAAGC,EAAE,CAAC,qBAAqB,EAAEF,KAAK,CAACC,SAAS,CAAC;EAC5D,MAAME,KAAK,GAAGV,eAAe,CAACC,IAAI,CAAC;EAEnC,oBACIU,uDAAUJ,KAAK;IAAEC,SAAS,EAAEA;MACvBE,KAAK,CAACE,GAAG,CAACf,GAAG,iBACVc;IACId,GAAG,EAAEA,GAAG;IACRW,SAAS,EAAC;KACTX,GAAG,CAEX,CAAC,CACC;AAEf;;;;"}
@@ -3,7 +3,7 @@ import cn from 'classnames';
3
3
 
4
4
  const Spinner = /*#__PURE__*/React__default.forwardRef(function Spinner(props, ref) {
5
5
  const {
6
- delay = 500,
6
+ delay = 350,
7
7
  label,
8
8
  ...otherProps
9
9
  } = props;