@economic/taco 1.1.0 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +1 -3
  2. package/dist/components/Card/Card.d.ts +7 -7
  3. package/dist/components/Table/hooks/useTable.d.ts +3 -0
  4. package/dist/components/Table/types.d.ts +3 -0
  5. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -2
  6. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  7. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  8. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  9. package/dist/esm/components/Badge/Badge.js.map +1 -1
  10. package/dist/esm/components/Banner/Banner.js.map +1 -1
  11. package/dist/esm/components/Banner/util.js.map +1 -1
  12. package/dist/esm/components/Button/Button.js.map +1 -1
  13. package/dist/esm/components/Button/util.js.map +1 -1
  14. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  15. package/dist/esm/components/Card/Card.js +19 -4
  16. package/dist/esm/components/Card/Card.js.map +1 -1
  17. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  18. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  19. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  20. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  21. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  22. package/dist/esm/components/Dialog/Context.js.map +1 -1
  23. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  24. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  25. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  26. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  27. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  28. package/dist/esm/components/Field/Field.js.map +1 -1
  29. package/dist/esm/components/Form/Form.js.map +1 -1
  30. package/dist/esm/components/Group/Group.js.map +1 -1
  31. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  32. package/dist/esm/components/HoverCard/HoverCard.js.map +1 -1
  33. package/dist/esm/components/Icon/Icon.js.map +1 -1
  34. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  35. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  36. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  37. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  38. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  39. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  40. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  41. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  42. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  43. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  44. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  45. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  46. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  47. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  48. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  49. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  50. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  51. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  52. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  53. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  54. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  55. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  56. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  57. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  58. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  59. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  60. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  61. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  62. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  63. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  64. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  65. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  66. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  67. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  72. package/dist/esm/components/Icon/components/CircleClose.js +6 -6
  73. package/dist/esm/components/Icon/components/CircleClose.js.map +1 -1
  74. package/dist/esm/components/Icon/components/CircleMinus.js.map +1 -1
  75. package/dist/esm/components/Icon/components/CirclePlus.js.map +1 -1
  76. package/dist/esm/components/Icon/components/CircleTick.js.map +1 -1
  77. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  78. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  79. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  80. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  81. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  82. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  83. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  84. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  85. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  86. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  87. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  88. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  89. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  90. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  91. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  92. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  93. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  94. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  95. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  96. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  97. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  98. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  100. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  101. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  102. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  103. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  104. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  105. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  106. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  107. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  108. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  109. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  110. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  111. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  112. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  113. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  114. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  115. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  116. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  117. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  118. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  119. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  120. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  121. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  122. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  123. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  124. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  125. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  126. package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -1
  127. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  128. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  129. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  130. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  131. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  132. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  133. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  134. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  135. package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -1
  136. package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -1
  137. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  138. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  139. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  140. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  141. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  142. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  143. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  144. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  145. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  146. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  147. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  148. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  149. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  150. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  151. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  152. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  153. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  154. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  155. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  156. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  157. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  158. package/dist/esm/components/Icon/components/List.js.map +1 -1
  159. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  160. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  161. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  162. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  163. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  164. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  165. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  166. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  167. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  168. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  169. package/dist/esm/components/Icon/components/More.js.map +1 -1
  170. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  171. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  172. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  173. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  174. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  175. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  176. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  177. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  178. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  179. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  180. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  181. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  182. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  183. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  184. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  185. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  186. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  187. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  188. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  189. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  190. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  191. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  192. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  193. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  194. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  195. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  196. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  197. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  198. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  199. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  200. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  201. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  202. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  203. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  204. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  205. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  206. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  207. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  208. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  209. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  210. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  211. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  212. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  213. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  214. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  215. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  216. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  217. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  218. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  219. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  220. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  221. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  222. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  223. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  224. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  225. package/dist/esm/components/Icon/components/ThumbUp.js.map +1 -1
  226. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  227. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  228. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  229. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  230. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  231. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  232. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  233. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  234. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  235. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  236. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  237. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  238. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  239. package/dist/esm/components/Icon/components/index.js.map +1 -1
  240. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  241. package/dist/esm/components/Input/Input.js.map +1 -1
  242. package/dist/esm/components/Input/util.js.map +1 -1
  243. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  244. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  245. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  246. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  247. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  248. package/dist/esm/components/Listbox/util.js.map +1 -1
  249. package/dist/esm/components/Menu/Context.js.map +1 -1
  250. package/dist/esm/components/Menu/Menu.js.map +1 -1
  251. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  252. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  253. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  254. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  255. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  256. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  257. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  258. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  259. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  260. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  261. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  262. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  263. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  264. package/dist/esm/components/Popover/Popover.js.map +1 -1
  265. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  266. package/dist/esm/components/Progress/Progress.js.map +1 -1
  267. package/dist/esm/components/Provider/Provider.js.map +1 -1
  268. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  269. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  270. package/dist/esm/components/Select/Select.js.map +1 -1
  271. package/dist/esm/components/Select/useSelect.js.map +1 -1
  272. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  273. package/dist/esm/components/Switch/Switch.js.map +1 -1
  274. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  275. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  276. package/dist/esm/components/Table/components/Table.js.map +1 -1
  277. package/dist/esm/components/Table/components/WindowedTable.js +16 -10
  278. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  279. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  280. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  281. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  282. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  283. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  284. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  285. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +8 -3
  286. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  287. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  288. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  289. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  290. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  291. package/dist/esm/components/Table/util.js.map +1 -1
  292. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  293. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  294. package/dist/esm/components/Toast/Toast.js.map +1 -1
  295. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  296. package/dist/esm/components/Toast/util.js.map +1 -1
  297. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  298. package/dist/esm/components/Tour/Tour.js.map +1 -1
  299. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  300. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  301. package/dist/esm/primitives/Button.js.map +1 -1
  302. package/dist/esm/utils/date.js.map +1 -1
  303. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  304. package/dist/esm/utils/hooks/useDraggable.js +0 -1
  305. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  306. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  307. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  308. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  309. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  310. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  311. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  312. package/dist/esm/utils/input.js.map +1 -1
  313. package/dist/esm/utils/mergeRefs.js.map +1 -1
  314. package/dist/esm/utils/taillwind.js.map +1 -1
  315. package/dist/taco.cjs.development.js +147 -124
  316. package/dist/taco.cjs.development.js.map +1 -1
  317. package/dist/taco.cjs.production.min.js +1 -1
  318. package/dist/taco.cjs.production.min.js.map +1 -1
  319. package/package.json +20 -8
  320. package/tailwind.config.js +2 -44
  321. package/types.json +251 -161
@@ -1 +1 @@
1
- {"version":3,"file":"useTableKeyboardNavigation.js","sources":["../../../../../src/components/Table/hooks/useTableKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\nimport keycode from 'keycode';\nimport { getNextIndexFromKeycode } from '../../../utils/hooks/useListKeyboardNavigation';\nimport { sanitizeRowProps } from '../util';\nimport { TableProps } from '../types';\n\nexport const useTableKeyboardNavigation = <T extends {}>(\n props: TableProps<T>,\n rows: any[],\n rowProps: any,\n ref: React.RefObject<HTMLDivElement>\n): [\n number | undefined,\n (index: number) => void,\n (event: React.KeyboardEvent<HTMLElement>) => void,\n (event: React.FocusEvent<HTMLElement>) => void\n] => {\n const useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;\n const [activeIndex, setActiveIndex] = React.useState<number | undefined>(useGlobalKeyboardNavigation ? 0 : undefined);\n\n const onKeyDown = (event: KeyboardEvent): void => {\n const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;\n\n if (\n useGlobalKeyboardNavigation &&\n document.activeElement !== ref.current &&\n document.activeElement?.getAttribute('type') !== 'search' &&\n document.activeElement !== document.body\n ) {\n return;\n }\n // abort key handling if other elements inside table are focused and we don't use global keyboard navigation\n if (!useGlobalKeyboardNavigation && document.activeElement !== ref.current) {\n return;\n }\n\n if (activeIndex !== undefined) {\n const currentRow = rows[activeIndex];\n\n if (currentRow) {\n const sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);\n\n if (rowProps.onRowClick && event.keyCode === keycode('enter')) {\n event.preventDefault();\n rowProps.onRowClick(sanitizedRow);\n return;\n }\n\n if (currentRow.toggleRowSelected && event.keyCode === keycode('space')) {\n event.preventDefault();\n currentRow.toggleRowSelected();\n return;\n }\n\n if (currentRow.toggleRowExpanded) {\n if (currentRow.isExpanded && event.keyCode === keycode('left')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n } else if (!currentRow.isExpanded && event.keyCode === keycode('right')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n }\n }\n\n // inline editing\n if (currentRow.toggleRowEditing) {\n if (currentRow.canEdit && !currentRow.isEditing) {\n if (rowProps.onRowCreate && event.shiftKey && event.keyCode === keycode('n')) {\n event.preventDefault();\n\n if (!currentRow.isExpanded) {\n currentRow.toggleRowExpanded();\n }\n\n rowProps.onRowCreate(sanitizedRow, event);\n return;\n }\n\n if (event.keyCode === keycode('e')) {\n event.preventDefault();\n currentRow.toggleRowEditing();\n return;\n }\n }\n }\n\n if (rowProps.onRowEdit && event.keyCode === keycode('e') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowEdit(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowCopy && event.keyCode === keycode('c') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowCopy(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowDelete && event.keyCode === keycode('delete') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowDelete(sanitizedRow, event);\n return;\n }\n }\n }\n\n const nextIndex = getNextIndexFromKeycode(event.keyCode, rows.length, activeIndex);\n\n if (nextIndex !== undefined) {\n event.preventDefault();\n setActiveIndex(nextIndex);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n if (!useGlobalKeyboardNavigation) {\n onKeyDown(event.nativeEvent);\n }\n };\n\n React.useEffect(() => {\n if (useGlobalKeyboardNavigation) {\n window.addEventListener('keydown', onKeyDown);\n }\n\n return () => {\n if (useGlobalKeyboardNavigation) {\n window.removeEventListener('keydown', onKeyDown);\n }\n };\n }, [onKeyDown]);\n\n const handleFocus = (): void => {\n if (activeIndex === undefined && rows.length) {\n setActiveIndex(0);\n }\n };\n\n return [activeIndex, setActiveIndex, handleKeyDown, handleFocus];\n};\n"],"names":["useTableKeyboardNavigation","props","rows","rowProps","ref","useGlobalKeyboardNavigation","dangerouslyHijackGlobalKeyboardNavigation","React","useState","undefined","activeIndex","setActiveIndex","onKeyDown","event","isModifierKeyPressed","metaKey","ctrlKey","altKey","shiftKey","document","activeElement","current","getAttribute","body","currentRow","sanitizedRow","sanitizeRowProps","rowExpansionRenderer","onRowClick","keyCode","keycode","preventDefault","toggleRowSelected","toggleRowExpanded","isExpanded","toggleRowEditing","canEdit","isEditing","onRowCreate","onRowEdit","onRowCopy","onRowDelete","nextIndex","getNextIndexFromKeycode","length","handleKeyDown","nativeEvent","useEffect","window","addEventListener","removeEventListener","handleFocus"],"mappings":"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"}
1
+ {"version":3,"file":"useTableKeyboardNavigation.js","sources":["../../../../../src/components/Table/hooks/useTableKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\nimport keycode from 'keycode';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { getNextIndexFromKeycode } from '../../../utils/hooks/useListKeyboardNavigation';\nimport { sanitizeRowProps } from '../util';\nimport { TableProps } from '../types';\n\nexport const useTableKeyboardNavigation = <T extends {}>(\n props: TableProps<T>,\n rows: any[],\n rowProps: any,\n ref: React.RefObject<HTMLDivElement>\n): [\n number | undefined,\n (index: number) => void,\n (event: React.KeyboardEvent<HTMLElement>) => void,\n (event: React.FocusEvent<HTMLElement>) => void\n] => {\n const useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;\n\n const [activeIndex, setActiveIndex] = useControllableState<number | undefined>({\n prop: props.activeIndex,\n defaultProp:\n props.defaultActiveIndex !== undefined ? props.defaultActiveIndex : useGlobalKeyboardNavigation ? 0 : undefined,\n onChange: props.onChangeActiveIndex,\n });\n\n const onKeyDown = (event: KeyboardEvent): void => {\n const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;\n\n if (\n useGlobalKeyboardNavigation &&\n document.activeElement !== ref.current &&\n document.activeElement?.getAttribute('type') !== 'search' &&\n document.activeElement !== document.body\n ) {\n return;\n }\n // abort key handling if other elements inside table are focused and we don't use global keyboard navigation\n if (!useGlobalKeyboardNavigation && document.activeElement !== ref.current) {\n return;\n }\n\n if (activeIndex !== undefined) {\n const currentRow = rows[activeIndex];\n\n if (currentRow) {\n const sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);\n\n if (rowProps.onRowClick && event.keyCode === keycode('enter')) {\n event.preventDefault();\n rowProps.onRowClick(sanitizedRow);\n return;\n }\n\n if (currentRow.toggleRowSelected && event.keyCode === keycode('space')) {\n event.preventDefault();\n currentRow.toggleRowSelected();\n return;\n }\n\n if (currentRow.toggleRowExpanded) {\n if (currentRow.isExpanded && event.keyCode === keycode('left')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n } else if (!currentRow.isExpanded && event.keyCode === keycode('right')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n }\n }\n\n // inline editing\n if (currentRow.toggleRowEditing) {\n if (currentRow.canEdit && !currentRow.isEditing) {\n if (rowProps.onRowCreate && event.shiftKey && event.keyCode === keycode('n')) {\n event.preventDefault();\n\n if (!currentRow.isExpanded) {\n currentRow.toggleRowExpanded();\n }\n\n rowProps.onRowCreate(sanitizedRow, event);\n return;\n }\n\n if (event.keyCode === keycode('e')) {\n event.preventDefault();\n currentRow.toggleRowEditing();\n return;\n }\n }\n }\n\n if (rowProps.onRowEdit && event.keyCode === keycode('e') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowEdit(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowCopy && event.keyCode === keycode('c') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowCopy(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowDelete && event.keyCode === keycode('delete') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowDelete(sanitizedRow, event);\n return;\n }\n }\n }\n\n const nextIndex = getNextIndexFromKeycode(event.keyCode, rows.length, activeIndex);\n\n if (nextIndex !== undefined) {\n event.preventDefault();\n setActiveIndex(nextIndex);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n if (!useGlobalKeyboardNavigation) {\n onKeyDown(event.nativeEvent);\n }\n };\n\n React.useEffect(() => {\n if (useGlobalKeyboardNavigation) {\n window.addEventListener('keydown', onKeyDown);\n }\n\n return () => {\n if (useGlobalKeyboardNavigation) {\n window.removeEventListener('keydown', onKeyDown);\n }\n };\n }, [onKeyDown]);\n\n const handleFocus = (): void => {\n if (activeIndex === undefined && rows.length) {\n setActiveIndex(0);\n }\n };\n\n return [activeIndex, setActiveIndex, handleKeyDown, handleFocus];\n};\n"],"names":["useTableKeyboardNavigation","props","rows","rowProps","ref","useGlobalKeyboardNavigation","dangerouslyHijackGlobalKeyboardNavigation","useControllableState","prop","activeIndex","defaultProp","defaultActiveIndex","undefined","onChange","onChangeActiveIndex","setActiveIndex","onKeyDown","event","isModifierKeyPressed","metaKey","ctrlKey","altKey","shiftKey","document","activeElement","current","getAttribute","body","currentRow","sanitizedRow","sanitizeRowProps","rowExpansionRenderer","onRowClick","keyCode","keycode","preventDefault","toggleRowSelected","toggleRowExpanded","isExpanded","toggleRowEditing","canEdit","isEditing","onRowCreate","onRowEdit","onRowCopy","onRowDelete","nextIndex","getNextIndexFromKeycode","length","handleKeyDown","nativeEvent","React","useEffect","window","addEventListener","removeEventListener","handleFocus"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderColumn.js","sources":["../../../../../src/components/Table/util/renderColumn.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../../Icon/Icon';\n\nexport const Column = ({ cell }: any): any => {\n const props = {\n ...cell.getHeaderProps(),\n ...(cell.getSortByToggleProps && cell.getSortByToggleProps({ title: undefined })),\n className: cn('yt-table__cell flex flex-1 truncate p-2 align-middle text-grey-darkest hover:text-black', cell.className, {\n 'yt-table__cell__group': !!cell.columns,\n 'cursor-pointer': !cell.disableSorting,\n 'justify-start text-left': cell.align === 'left',\n 'justify-end text-right': cell.align === 'right',\n 'justify-center text-center': cell.align === 'center' || !cell.align,\n }),\n style: { ...cell.style, flex: cell.flex },\n };\n\n if (cell.isSorted) {\n props['aria-sort'] = cell.isSortedDesc ? 'descending' : 'ascending';\n }\n\n return (\n <div {...props} key={cell.id} data-taco=\"table-column\">\n <span className=\"truncate\">{cell.render('Header')}</span>\n {cell.isSorted ? (\n <Icon name={cell.isSortedDesc ? 'chevron-down-solid' : 'chevron-up-solid'} className=\"-mt-0.5\" />\n ) : null}\n </div>\n );\n};\n"],"names":["Column","cell","props","getHeaderProps","getSortByToggleProps","title","undefined","className","cn","columns","disableSorting","align","style","flex","isSorted","isSortedDesc","React","key","id","render","Icon","name"],"mappings":";;;;;IAIaA,MAAM,GAAG,SAATA,MAAS;MAAGC,YAAAA;;AACrB,MAAMC,KAAK,gBACJD,IAAI,CAACE,cAAL,EADI,EAEHF,IAAI,CAACG,oBAAL,IAA6BH,IAAI,CAACG,oBAAL,CAA0B;AAAEC,IAAAA,KAAK,EAAEC;AAAT,GAA1B,CAF1B;AAGPC,IAAAA,SAAS,EAAEC,EAAE,CAAC,yFAAD,EAA4FP,IAAI,CAACM,SAAjG,EAA4G;AACrH,+BAAyB,CAAC,CAACN,IAAI,CAACQ,OADqF;AAErH,wBAAkB,CAACR,IAAI,CAACS,cAF6F;AAGrH,iCAA2BT,IAAI,CAACU,KAAL,KAAe,MAH2E;AAIrH,gCAA0BV,IAAI,CAACU,KAAL,KAAe,OAJ4E;AAKrH,oCAA8BV,IAAI,CAACU,KAAL,KAAe,QAAf,IAA2B,CAACV,IAAI,CAACU;AALsD,KAA5G,CAHN;AAUPC,IAAAA,KAAK,eAAOX,IAAI,CAACW,KAAZ;AAAmBC,MAAAA,IAAI,EAAEZ,IAAI,CAACY;AAA9B;AAVE,IAAX;;AAaA,MAAIZ,IAAI,CAACa,QAAT,EAAmB;AACfZ,IAAAA,KAAK,CAAC,WAAD,CAAL,GAAqBD,IAAI,CAACc,YAAL,GAAoB,YAApB,GAAmC,WAAxD;AACH;;AAED,SACIC,4BAAA,MAAA,oBAASd;AAAOe,IAAAA,GAAG,EAAEhB,IAAI,CAACiB;iBAAc;IAAxC,EACIF,4BAAA,OAAA;AAAMT,IAAAA,SAAS,EAAC;GAAhB,EAA4BN,IAAI,CAACkB,MAAL,CAAY,QAAZ,CAA5B,CADJ,EAEKlB,IAAI,CAACa,QAAL,GACGE,4BAAA,CAACI,IAAD;AAAMC,IAAAA,IAAI,EAAEpB,IAAI,CAACc,YAAL,GAAoB,oBAApB,GAA2C;AAAoBR,IAAAA,SAAS,EAAC;GAArF,CADH,GAEG,IAJR,CADJ;AAQH;;;;"}
1
+ {"version":3,"file":"renderColumn.js","sources":["../../../../../src/components/Table/util/renderColumn.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../../Icon/Icon';\n\nexport const Column = ({ cell }: any): any => {\n const props = {\n ...cell.getHeaderProps(),\n ...(cell.getSortByToggleProps && cell.getSortByToggleProps({ title: undefined })),\n className: cn('yt-table__cell flex flex-1 truncate p-2 align-middle text-grey-darkest hover:text-black', cell.className, {\n 'yt-table__cell__group': !!cell.columns,\n 'cursor-pointer': !cell.disableSorting,\n 'justify-start text-left': cell.align === 'left',\n 'justify-end text-right': cell.align === 'right',\n 'justify-center text-center': cell.align === 'center' || !cell.align,\n }),\n style: { ...cell.style, flex: cell.flex },\n };\n\n if (cell.isSorted) {\n props['aria-sort'] = cell.isSortedDesc ? 'descending' : 'ascending';\n }\n\n return (\n <div {...props} key={cell.id} data-taco=\"table-column\">\n <span className=\"truncate\">{cell.render('Header')}</span>\n {cell.isSorted ? (\n <Icon name={cell.isSortedDesc ? 'chevron-down-solid' : 'chevron-up-solid'} className=\"-mt-0.5\" />\n ) : null}\n </div>\n );\n};\n"],"names":["Column","cell","props","getHeaderProps","getSortByToggleProps","title","undefined","className","cn","columns","disableSorting","align","style","flex","isSorted","isSortedDesc","React","key","id","render","Icon","name"],"mappings":";;;;;IAIaA,MAAM,GAAG,SAATA,MAAS;MAAGC,YAAAA;;EACrB,IAAMC,KAAK,gBACJD,IAAI,CAACE,cAAL,EADI,EAEHF,IAAI,CAACG,oBAAL,IAA6BH,IAAI,CAACG,oBAAL,CAA0B;IAAEC,KAAK,EAAEC;GAAnC,CAF1B;IAGPC,SAAS,EAAEC,EAAE,CAAC,yFAAD,EAA4FP,IAAI,CAACM,SAAjG,EAA4G;MACrH,yBAAyB,CAAC,CAACN,IAAI,CAACQ,OADqF;MAErH,kBAAkB,CAACR,IAAI,CAACS,cAF6F;MAGrH,2BAA2BT,IAAI,CAACU,KAAL,KAAe,MAH2E;MAIrH,0BAA0BV,IAAI,CAACU,KAAL,KAAe,OAJ4E;MAKrH,8BAA8BV,IAAI,CAACU,KAAL,KAAe,QAAf,IAA2B,CAACV,IAAI,CAACU;KALtD,CAHN;IAUPC,KAAK,eAAOX,IAAI,CAACW,KAAZ;MAAmBC,IAAI,EAAEZ,IAAI,CAACY;;IAVvC;;EAaA,IAAIZ,IAAI,CAACa,QAAT,EAAmB;IACfZ,KAAK,CAAC,WAAD,CAAL,GAAqBD,IAAI,CAACc,YAAL,GAAoB,YAApB,GAAmC,WAAxD;;;EAGJ,OACIC,4BAAA,MAAA,oBAASd;IAAOe,GAAG,EAAEhB,IAAI,CAACiB;iBAAc;IAAxC,EACIF,4BAAA,OAAA;IAAMT,SAAS,EAAC;GAAhB,EAA4BN,IAAI,CAACkB,MAAL,CAAY,QAAZ,CAA5B,CADJ,EAEKlB,IAAI,CAACa,QAAL,GACGE,4BAAA,CAACI,IAAD;IAAMC,IAAI,EAAEpB,IAAI,CAACc,YAAL,GAAoB,oBAApB,GAA2C;IAAoBR,SAAS,EAAC;GAArF,CADH,GAEG,IAJR,CADJ;AAQH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderRow.js","sources":["../../../../../src/components/Table/util/renderRow.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { FocusScope } from '@react-aria/focus';\nimport { InternalTableCell, TableRow } from '../types';\nimport { sanitizeRowProps } from '../util';\n\nconst renderCell = (cell: InternalTableCell, row: TableRow<any>): JSX.Element => {\n const props = {\n ...cell.getCellProps(),\n className: cn('yt-table__cell flex-1 truncate p-2 align-middle', cell.column.className, {\n 'justify-start text-left': cell.column.align === 'left',\n 'justify-end text-right': cell.column.align === 'right',\n 'text-center': !cell.column.align,\n }),\n style: {\n ...cell.column.style,\n flex: typeof cell.column.flex === 'function' ? cell.column.flex(row) : cell.column.flex,\n },\n };\n return (\n <div {...props} role=\"gridcell\" data-taco=\"table-cell\">\n {cell.render('Cell') || null}\n </div>\n );\n};\n\nexport const Row = React.forwardRef(function TableRow({ row, index, instance, headerGroups, ...rowProps }: any, ref: any) {\n const {\n activeIndex,\n onRowClick,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n setActiveIndex,\n style,\n inlineEditingUniqueId,\n } = rowProps;\n const sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);\n\n const props = {\n ...row.getRowProps(),\n style: {\n ...style,\n minHeight: rowHeight ? `${rowHeight}px` : undefined,\n paddingLeft: row.depth ? `${row.depth * 2}rem` : undefined,\n },\n className: cn(\n 'yt-table__row border-grey-light flex border-b min-h-[2.5rem] hover:bg-grey-light',\n {\n 'yt-table__row--active bg-grey-light hover:bg-grey-light': activeIndex === index,\n 'yt-table__row--clickable': !!onRowClick,\n 'yt-table__row--dragging': !!row.isDragging,\n 'yt-table__row--editing': !!row.isEditing,\n },\n typeof rowClassName === 'function' ? rowClassName(sanitizedRow) : rowClassName\n ),\n onClick: onRowClick\n ? (event: React.MouseEvent<HTMLElement>) => {\n if (\n event.target === event.currentTarget ||\n (event.target as HTMLElement).classList.contains('yt-table__cell')\n ) {\n event.preventDefault();\n event.persist();\n setActiveIndex(index);\n onRowClick(sanitizedRow);\n }\n }\n : () => {\n setActiveIndex(index);\n },\n };\n\n let cells = row.cells;\n\n if (row.depth > 0) {\n cells = row.cells.filter((cell: any) => !cell.column.hiddenOnSubRows);\n }\n\n const expandedRow = rowExpansionRenderer && row.isExpanded && <div>{rowExpansionRenderer(sanitizedRow, instance)}</div>;\n const rowContent = React.useMemo(() => {\n return (\n <>\n <FocusScope key={row.original._createKey} contain restoreFocus autoFocus>\n <div {...props} role=\"row\" ref={ref}>\n <input type=\"hidden\" name=\"_rowIndexPath\" value={row.id} />\n <input type=\"hidden\" name=\"_inlineEditingUniqueId\" value={row.original[inlineEditingUniqueId]} />\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n </FocusScope>\n {expandedRow}\n </>\n );\n }, [row.original._createKey]);\n\n if (row.isEditing) {\n return rowContent;\n }\n\n return (\n <>\n <div {...props} role=\"row\" ref={ref}>\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n {expandedRow}\n </>\n );\n});\n"],"names":["renderCell","cell","row","props","getCellProps","className","cn","column","align","style","flex","React","role","render","Row","forwardRef","TableRow","ref","index","instance","rowProps","activeIndex","onRowClick","rowClassName","rowExpansionRenderer","rowHeight","setActiveIndex","inlineEditingUniqueId","sanitizedRow","sanitizeRowProps","getRowProps","minHeight","undefined","paddingLeft","depth","isDragging","isEditing","onClick","event","target","currentTarget","classList","contains","preventDefault","persist","cells","filter","hiddenOnSubRows","expandedRow","isExpanded","rowContent","useMemo","FocusScope","key","original","_createKey","contain","restoreFocus","autoFocus","type","name","value","id","map"],"mappings":"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"}
1
+ {"version":3,"file":"renderRow.js","sources":["../../../../../src/components/Table/util/renderRow.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { FocusScope } from '@react-aria/focus';\nimport { InternalTableCell, TableRow } from '../types';\nimport { sanitizeRowProps } from '../util';\n\nconst renderCell = (cell: InternalTableCell, row: TableRow<any>): JSX.Element => {\n const props = {\n ...cell.getCellProps(),\n className: cn('yt-table__cell flex-1 truncate p-2 align-middle', cell.column.className, {\n 'justify-start text-left': cell.column.align === 'left',\n 'justify-end text-right': cell.column.align === 'right',\n 'text-center': !cell.column.align,\n }),\n style: {\n ...cell.column.style,\n flex: typeof cell.column.flex === 'function' ? cell.column.flex(row) : cell.column.flex,\n },\n };\n return (\n <div {...props} role=\"gridcell\" data-taco=\"table-cell\">\n {cell.render('Cell') || null}\n </div>\n );\n};\n\nexport const Row = React.forwardRef(function TableRow({ row, index, instance, headerGroups, ...rowProps }: any, ref: any) {\n const {\n activeIndex,\n onRowClick,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n setActiveIndex,\n style,\n inlineEditingUniqueId,\n } = rowProps;\n const sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);\n\n const props = {\n ...row.getRowProps(),\n style: {\n ...style,\n minHeight: rowHeight ? `${rowHeight}px` : undefined,\n paddingLeft: row.depth ? `${row.depth * 2}rem` : undefined,\n },\n className: cn(\n 'yt-table__row border-grey-light flex border-b min-h-[2.5rem] hover:bg-grey-light',\n {\n 'yt-table__row--active bg-grey-light hover:bg-grey-light': activeIndex === index,\n 'yt-table__row--clickable': !!onRowClick,\n 'yt-table__row--dragging': !!row.isDragging,\n 'yt-table__row--editing': !!row.isEditing,\n },\n typeof rowClassName === 'function' ? rowClassName(sanitizedRow) : rowClassName\n ),\n onClick: onRowClick\n ? (event: React.MouseEvent<HTMLElement>) => {\n if (\n event.target === event.currentTarget ||\n (event.target as HTMLElement).classList.contains('yt-table__cell')\n ) {\n event.preventDefault();\n event.persist();\n setActiveIndex(index);\n onRowClick(sanitizedRow);\n }\n }\n : () => {\n setActiveIndex(index);\n },\n };\n\n let cells = row.cells;\n\n if (row.depth > 0) {\n cells = row.cells.filter((cell: any) => !cell.column.hiddenOnSubRows);\n }\n\n const expandedRow = rowExpansionRenderer && row.isExpanded && <div>{rowExpansionRenderer(sanitizedRow, instance)}</div>;\n const rowContent = React.useMemo(() => {\n return (\n <>\n <FocusScope key={row.original._createKey} contain restoreFocus autoFocus>\n <div {...props} role=\"row\" ref={ref}>\n <input type=\"hidden\" name=\"_rowIndexPath\" value={row.id} />\n <input type=\"hidden\" name=\"_inlineEditingUniqueId\" value={row.original[inlineEditingUniqueId]} />\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n </FocusScope>\n {expandedRow}\n </>\n );\n }, [row.original._createKey]);\n\n if (row.isEditing) {\n return rowContent;\n }\n\n return (\n <>\n <div {...props} role=\"row\" ref={ref}>\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n {expandedRow}\n </>\n );\n});\n"],"names":["renderCell","cell","row","props","getCellProps","className","cn","column","align","style","flex","React","role","render","Row","forwardRef","TableRow","ref","index","instance","rowProps","activeIndex","onRowClick","rowClassName","rowExpansionRenderer","rowHeight","setActiveIndex","inlineEditingUniqueId","sanitizedRow","sanitizeRowProps","getRowProps","minHeight","undefined","paddingLeft","depth","isDragging","isEditing","onClick","event","target","currentTarget","classList","contains","preventDefault","persist","cells","filter","hiddenOnSubRows","expandedRow","isExpanded","rowContent","useMemo","FocusScope","key","original","_createKey","contain","restoreFocus","autoFocus","type","name","value","id","map"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rowIndexPath.js","sources":["../../../../../src/components/Table/util/rowIndexPath.ts"],"sourcesContent":["import set from 'lodash/set';\nimport { Row, RowIndexPath } from '../types';\n\nexport const convertRowIndexPathToNumberArray = (rowIndexPath: RowIndexPath): number[] =>\n rowIndexPath?.split('.').map(Number) ?? [];\n\nexport const getByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath): Row<TRow> | undefined => {\n if (!rowIndexPath) {\n return undefined;\n }\n\n const currenTRow = [...data];\n const indexes = convertRowIndexPathToNumberArray(String(rowIndexPath));\n\n if (indexes.length) {\n const startIndex = indexes.shift() as number;\n return indexes.reduce((value, index) => value?.subRows?.[index], currenTRow[startIndex]);\n }\n\n return undefined;\n};\n\nexport const setByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath, values: any): Row<TRow>[] => {\n const nexTRow = [...data];\n\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n const rootIndex = rowIndexes.shift() as number;\n\n if (rowIndexes.length) {\n const path = rowIndexes.map(index => `subRows[${index}]`).join('.');\n set(nexTRow[rootIndex], path, values);\n } else {\n nexTRow[rootIndex] = values;\n }\n\n return nexTRow;\n};\n\nexport const getParentRowIndexPath = (rowIndexPath: RowIndexPath): RowIndexPath => {\n let parentIndexPath;\n\n if (rowIndexPath) {\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n rowIndexes.pop();\n\n if (rowIndexes.length) {\n parentIndexPath = rowIndexes.join('.');\n }\n }\n\n return parentIndexPath;\n};\n"],"names":["convertRowIndexPathToNumberArray","rowIndexPath","split","map","Number","getByRowIndexPath","data","undefined","currenTRow","indexes","String","length","startIndex","shift","reduce","value","index","subRows","setByRowIndexPath","values","nexTRow","rowIndexes","rootIndex","path","join","set","getParentRowIndexPath","parentIndexPath","pop"],"mappings":";;IAGaA,gCAAgC,GAAG,SAAnCA,gCAAmC,CAACC,YAAD;AAAA;;AAAA,kCAC5CA,YAD4C,aAC5CA,YAD4C,uBAC5CA,YAAY,CAAEC,KAAd,CAAoB,GAApB,EAAyBC,GAAzB,CAA6BC,MAA7B,CAD4C,yEACJ,EADI;AAAA;IAGnCC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAOC,IAAP,EAA0BL,YAA1B;AAC7B,MAAI,CAACA,YAAL,EAAmB;AACf,WAAOM,SAAP;AACH;;AAED,MAAMC,UAAU,aAAOF,IAAP,CAAhB;AACA,MAAMG,OAAO,GAAGT,gCAAgC,CAACU,MAAM,CAACT,YAAD,CAAP,CAAhD;;AAEA,MAAIQ,OAAO,CAACE,MAAZ,EAAoB;AAChB,QAAMC,UAAU,GAAGH,OAAO,CAACI,KAAR,EAAnB;AACA,WAAOJ,OAAO,CAACK,MAAR,CAAe,UAACC,KAAD,EAAQC,KAAR;AAAA;;AAAA,aAAkBD,KAAlB,aAAkBA,KAAlB,yCAAkBA,KAAK,CAAEE,OAAzB,mDAAkB,eAAiBD,KAAjB,CAAlB;AAAA,KAAf,EAA0DR,UAAU,CAACI,UAAD,CAApE,CAAP;AACH;;AAED,SAAOL,SAAP;AACH;IAEYW,iBAAiB,GAAG,SAApBA,iBAAoB,CAAOZ,IAAP,EAA0BL,YAA1B,EAAsDkB,MAAtD;AAC7B,MAAMC,OAAO,aAAOd,IAAP,CAAb;AAEA,MAAMe,UAAU,GAAGrB,gCAAgC,CAACC,YAAD,CAAnD;AACA,MAAMqB,SAAS,GAAGD,UAAU,CAACR,KAAX,EAAlB;;AAEA,MAAIQ,UAAU,CAACV,MAAf,EAAuB;AACnB,QAAMY,IAAI,GAAGF,UAAU,CAAClB,GAAX,CAAe,UAAAa,KAAK;AAAA,0BAAeA,KAAf;AAAA,KAApB,EAA6CQ,IAA7C,CAAkD,GAAlD,CAAb;AACAC,IAAAA,GAAG,CAACL,OAAO,CAACE,SAAD,CAAR,EAAqBC,IAArB,EAA2BJ,MAA3B,CAAH;AACH,GAHD,MAGO;AACHC,IAAAA,OAAO,CAACE,SAAD,CAAP,GAAqBH,MAArB;AACH;;AAED,SAAOC,OAAP;AACH;IAEYM,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACzB,YAAD;AACjC,MAAI0B,eAAJ;;AAEA,MAAI1B,YAAJ,EAAkB;AACd,QAAMoB,UAAU,GAAGrB,gCAAgC,CAACC,YAAD,CAAnD;AACAoB,IAAAA,UAAU,CAACO,GAAX;;AAEA,QAAIP,UAAU,CAACV,MAAf,EAAuB;AACnBgB,MAAAA,eAAe,GAAGN,UAAU,CAACG,IAAX,CAAgB,GAAhB,CAAlB;AACH;AACJ;;AAED,SAAOG,eAAP;AACH;;;;"}
1
+ {"version":3,"file":"rowIndexPath.js","sources":["../../../../../src/components/Table/util/rowIndexPath.ts"],"sourcesContent":["import set from 'lodash/set';\nimport { Row, RowIndexPath } from '../types';\n\nexport const convertRowIndexPathToNumberArray = (rowIndexPath: RowIndexPath): number[] =>\n rowIndexPath?.split('.').map(Number) ?? [];\n\nexport const getByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath): Row<TRow> | undefined => {\n if (!rowIndexPath) {\n return undefined;\n }\n\n const currenTRow = [...data];\n const indexes = convertRowIndexPathToNumberArray(String(rowIndexPath));\n\n if (indexes.length) {\n const startIndex = indexes.shift() as number;\n return indexes.reduce((value, index) => value?.subRows?.[index], currenTRow[startIndex]);\n }\n\n return undefined;\n};\n\nexport const setByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath, values: any): Row<TRow>[] => {\n const nexTRow = [...data];\n\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n const rootIndex = rowIndexes.shift() as number;\n\n if (rowIndexes.length) {\n const path = rowIndexes.map(index => `subRows[${index}]`).join('.');\n set(nexTRow[rootIndex], path, values);\n } else {\n nexTRow[rootIndex] = values;\n }\n\n return nexTRow;\n};\n\nexport const getParentRowIndexPath = (rowIndexPath: RowIndexPath): RowIndexPath => {\n let parentIndexPath;\n\n if (rowIndexPath) {\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n rowIndexes.pop();\n\n if (rowIndexes.length) {\n parentIndexPath = rowIndexes.join('.');\n }\n }\n\n return parentIndexPath;\n};\n"],"names":["convertRowIndexPathToNumberArray","rowIndexPath","split","map","Number","getByRowIndexPath","data","undefined","currenTRow","indexes","String","length","startIndex","shift","reduce","value","index","subRows","setByRowIndexPath","values","nexTRow","rowIndexes","rootIndex","path","join","set","getParentRowIndexPath","parentIndexPath","pop"],"mappings":";;IAGaA,gCAAgC,GAAG,SAAnCA,gCAAmC,CAACC,YAAD;EAAA;;EAAA,gCAC5CA,YAD4C,aAC5CA,YAD4C,uBAC5CA,YAAY,CAAEC,KAAd,CAAoB,GAApB,EAAyBC,GAAzB,CAA6BC,MAA7B,CAD4C,yEACJ,EADI;AAAA;IAGnCC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAOC,IAAP,EAA0BL,YAA1B;EAC7B,IAAI,CAACA,YAAL,EAAmB;IACf,OAAOM,SAAP;;;EAGJ,IAAMC,UAAU,aAAOF,IAAP,CAAhB;EACA,IAAMG,OAAO,GAAGT,gCAAgC,CAACU,MAAM,CAACT,YAAD,CAAP,CAAhD;;EAEA,IAAIQ,OAAO,CAACE,MAAZ,EAAoB;IAChB,IAAMC,UAAU,GAAGH,OAAO,CAACI,KAAR,EAAnB;IACA,OAAOJ,OAAO,CAACK,MAAR,CAAe,UAACC,KAAD,EAAQC,KAAR;MAAA;;MAAA,OAAkBD,KAAlB,aAAkBA,KAAlB,yCAAkBA,KAAK,CAAEE,OAAzB,mDAAkB,eAAiBD,KAAjB,CAAlB;KAAf,EAA0DR,UAAU,CAACI,UAAD,CAApE,CAAP;;;EAGJ,OAAOL,SAAP;AACH;IAEYW,iBAAiB,GAAG,SAApBA,iBAAoB,CAAOZ,IAAP,EAA0BL,YAA1B,EAAsDkB,MAAtD;EAC7B,IAAMC,OAAO,aAAOd,IAAP,CAAb;EAEA,IAAMe,UAAU,GAAGrB,gCAAgC,CAACC,YAAD,CAAnD;EACA,IAAMqB,SAAS,GAAGD,UAAU,CAACR,KAAX,EAAlB;;EAEA,IAAIQ,UAAU,CAACV,MAAf,EAAuB;IACnB,IAAMY,IAAI,GAAGF,UAAU,CAAClB,GAAX,CAAe,UAAAa,KAAK;MAAA,oBAAeA,KAAf;KAApB,EAA6CQ,IAA7C,CAAkD,GAAlD,CAAb;IACAC,GAAG,CAACL,OAAO,CAACE,SAAD,CAAR,EAAqBC,IAArB,EAA2BJ,MAA3B,CAAH;GAFJ,MAGO;IACHC,OAAO,CAACE,SAAD,CAAP,GAAqBH,MAArB;;;EAGJ,OAAOC,OAAP;AACH;IAEYM,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACzB,YAAD;EACjC,IAAI0B,eAAJ;;EAEA,IAAI1B,YAAJ,EAAkB;IACd,IAAMoB,UAAU,GAAGrB,gCAAgC,CAACC,YAAD,CAAnD;IACAoB,UAAU,CAACO,GAAX;;IAEA,IAAIP,UAAU,CAACV,MAAf,EAAuB;MACnBgB,eAAe,GAAGN,UAAU,CAACG,IAAX,CAAgB,GAAhB,CAAlB;;;;EAIR,OAAOG,eAAP;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sortTypes.js","sources":["../../../../../src/components/Table/util/sortTypes.ts"],"sourcesContent":["import { SortTypes, TableRow } from '../types';\n\nconst getTime = (value: any): number | undefined => {\n const parsedValue: Date = typeof value === 'string' ? new Date(value) : value;\n return parsedValue?.getTime ? parsedValue.getTime() : undefined;\n};\n\nconst getNumber = (amount = '', decimalSeparator = ','): number | undefined => {\n if (typeof amount === 'number') {\n return amount;\n }\n\n if (amount === null || !amount.length) {\n return undefined;\n }\n\n let value;\n\n if (decimalSeparator === ',') {\n // replace digit seperator then replace decimal separator\n value = Number(amount.replace(/\\./g, '').replace(',', '.'));\n } else {\n // replace digit seperator\n value = Number(amount.replace(/,/g, ''));\n }\n\n return Number.isNaN(value) ? undefined : value;\n};\n\nconst getString = (value: any): string | undefined => {\n if (value) {\n return String(value).toLowerCase();\n }\n\n return undefined;\n};\n\nconst guess = (value: any): any => {\n if (typeof value === 'boolean') {\n return !!value;\n }\n\n return isNaN(value) ? getString(value) : Number(value);\n};\n\nconst compareBasic = (a: any, b: any) => {\n // places undefined values first in ascending order instead of descending\n if (a !== undefined && b === undefined) {\n return 1;\n }\n\n return a === b ? 0 : a > b ? 1 : -1;\n};\n\ntype SortHandler<T> = (rowA: TableRow<T>, rowB: TableRow<T>, columnId: string) => 0 | 1 | -1;\n\nexport const sortTypes: Record<SortTypes, SortHandler<any>> = {\n datetime: (rowA, rowB, columnId) => {\n const a = getTime(rowA.values[columnId]);\n const b = getTime(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n string: (rowA, rowB, columnId) => {\n const a = getString(rowA.values[columnId]);\n const b = getString(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n number: (rowA, rowB, columnId) => {\n const a = getNumber(rowA.values[columnId]);\n const b = getNumber(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n boolean: (rowA, rowB, columnId) => {\n const a = !!rowA.values[columnId];\n const b = !!rowB.values[columnId];\n return compareBasic(a, b);\n },\n auto: (rowA, rowB, columnId) => {\n const a = guess(rowA.values[columnId]);\n const b = guess(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n};\n"],"names":["getTime","value","parsedValue","Date","undefined","getNumber","amount","decimalSeparator","length","Number","replace","isNaN","getString","String","toLowerCase","guess","compareBasic","a","b","sortTypes","datetime","rowA","rowB","columnId","values","string","number","auto"],"mappings":"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"}
1
+ {"version":3,"file":"sortTypes.js","sources":["../../../../../src/components/Table/util/sortTypes.ts"],"sourcesContent":["import { SortTypes, TableRow } from '../types';\n\nconst getTime = (value: any): number | undefined => {\n const parsedValue: Date = typeof value === 'string' ? new Date(value) : value;\n return parsedValue?.getTime ? parsedValue.getTime() : undefined;\n};\n\nconst getNumber = (amount = '', decimalSeparator = ','): number | undefined => {\n if (typeof amount === 'number') {\n return amount;\n }\n\n if (amount === null || !amount.length) {\n return undefined;\n }\n\n let value;\n\n if (decimalSeparator === ',') {\n // replace digit seperator then replace decimal separator\n value = Number(amount.replace(/\\./g, '').replace(',', '.'));\n } else {\n // replace digit seperator\n value = Number(amount.replace(/,/g, ''));\n }\n\n return Number.isNaN(value) ? undefined : value;\n};\n\nconst getString = (value: any): string | undefined => {\n if (value) {\n return String(value).toLowerCase();\n }\n\n return undefined;\n};\n\nconst guess = (value: any): any => {\n if (typeof value === 'boolean') {\n return !!value;\n }\n\n return isNaN(value) ? getString(value) : Number(value);\n};\n\nconst compareBasic = (a: any, b: any) => {\n // places undefined values first in ascending order instead of descending\n if (a !== undefined && b === undefined) {\n return 1;\n }\n\n return a === b ? 0 : a > b ? 1 : -1;\n};\n\ntype SortHandler<T> = (rowA: TableRow<T>, rowB: TableRow<T>, columnId: string) => 0 | 1 | -1;\n\nexport const sortTypes: Record<SortTypes, SortHandler<any>> = {\n datetime: (rowA, rowB, columnId) => {\n const a = getTime(rowA.values[columnId]);\n const b = getTime(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n string: (rowA, rowB, columnId) => {\n const a = getString(rowA.values[columnId]);\n const b = getString(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n number: (rowA, rowB, columnId) => {\n const a = getNumber(rowA.values[columnId]);\n const b = getNumber(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n boolean: (rowA, rowB, columnId) => {\n const a = !!rowA.values[columnId];\n const b = !!rowB.values[columnId];\n return compareBasic(a, b);\n },\n auto: (rowA, rowB, columnId) => {\n const a = guess(rowA.values[columnId]);\n const b = guess(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n};\n"],"names":["getTime","value","parsedValue","Date","undefined","getNumber","amount","decimalSeparator","length","Number","replace","isNaN","getString","String","toLowerCase","guess","compareBasic","a","b","sortTypes","datetime","rowA","rowB","columnId","values","string","number","auto"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../src/components/Table/util.ts"],"sourcesContent":["import React from 'react';\nimport { TableRow, TableCell, TableChildren, InternalTableRow, InternalTableColumn, SortRule } from './types';\nimport { SortingRule } from 'react-table';\n\nexport const sanitizeRowProps = (row: InternalTableRow, rowExpansionRenderer: any): TableRow<any> => {\n const props: TableRow<any> = {\n index: row.index,\n indexPath: row.id,\n values: row.original,\n };\n\n if (row.subRows?.length > 0) {\n props.isExpanded = !!row.isExpanded;\n props.depth = row.depth;\n props.toggleRowExpanded = () => row.toggleRowExpanded(!props.isExpanded);\n } else if (rowExpansionRenderer) {\n props.isExpanded = !!row.isExpanded;\n props.toggleRowExpanded = () => row.toggleRowExpanded(!props.isExpanded);\n }\n\n if (row.toggleRowEditing) {\n props.isEditing = !!row.isEditing;\n props.toggleRowEditing = row.toggleRowEditing;\n }\n\n return props;\n};\n\nexport const getColumnsFromChildren = (children: TableChildren<any>, rowExpansionRenderer: any) => {\n const sortRules: SortingRule<any>[] = [];\n\n const columns = React.Children.toArray(children)\n .filter((child: any) => !!child && !child.props.hidden) // skip falsey or hidden columns\n .map(({ props: { children: groupChildren, ...props } }: any) => {\n const column: InternalTableColumn & { disableSortBy: boolean | undefined } = { ...props };\n\n column.sortType = column.sortType || 'auto';\n column.disableSortBy = column.disableSorting;\n\n // this is a Table.Group - TODO: Find a better way to determine the child type\n if (props.title && groupChildren) {\n column.Header = props.title;\n\n const { columns: groupColumns, sortRules: groupSortRules } = getColumnsFromChildren(\n groupChildren,\n rowExpansionRenderer\n );\n column.columns = groupColumns;\n groupSortRules.forEach(sort => sortRules.push(sort));\n } else {\n column.accessor = props.accessor;\n column.Header = props.headRenderer || '';\n column.Cell = (columnProps: any) => {\n const cell: TableCell<any> = {\n accessor: columnProps.cell.column.id,\n row: sanitizeRowProps(columnProps.cell.row, rowExpansionRenderer),\n value: columnProps.cell.value,\n };\n\n if (cell.row.isEditing && typeof props.editRenderer === 'function') {\n return props.editRenderer(cell);\n }\n\n return typeof props.cellRenderer === 'function' ? props.cellRenderer(cell) ?? null : cell.value ?? null;\n };\n\n // custom props\n column.align = props.align;\n column.flex = props.flex;\n\n if (props.sort && !props.disableSorting) {\n sortRules.push({\n id: props.accessor,\n desc: props.sort === 'desc',\n });\n }\n }\n\n return column;\n });\n\n return { columns, sortRules };\n};\n\nexport const getInternalSortRules = <T>(sortRules: SortRule<T>[] | undefined): SortingRule<T>[] | undefined => {\n return sortRules?.map<SortingRule<T>>(rule => ({ id: rule.accessor, desc: rule.desc }));\n};\n"],"names":["sanitizeRowProps","row","rowExpansionRenderer","props","index","indexPath","id","values","original","subRows","length","isExpanded","depth","toggleRowExpanded","toggleRowEditing","isEditing","getColumnsFromChildren","children","sortRules","columns","React","Children","toArray","filter","child","hidden","map","groupChildren","column","sortType","disableSortBy","disableSorting","title","Header","groupColumns","groupSortRules","forEach","sort","push","accessor","headRenderer","Cell","columnProps","cell","value","editRenderer","cellRenderer","align","flex","desc","getInternalSortRules","rule"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../../../../src/components/Table/util.ts"],"sourcesContent":["import React from 'react';\nimport { TableRow, TableCell, TableChildren, InternalTableRow, InternalTableColumn, SortRule } from './types';\nimport { SortingRule } from 'react-table';\n\nexport const sanitizeRowProps = (row: InternalTableRow, rowExpansionRenderer: any): TableRow<any> => {\n const props: TableRow<any> = {\n index: row.index,\n indexPath: row.id,\n values: row.original,\n };\n\n if (row.subRows?.length > 0) {\n props.isExpanded = !!row.isExpanded;\n props.depth = row.depth;\n props.toggleRowExpanded = () => row.toggleRowExpanded(!props.isExpanded);\n } else if (rowExpansionRenderer) {\n props.isExpanded = !!row.isExpanded;\n props.toggleRowExpanded = () => row.toggleRowExpanded(!props.isExpanded);\n }\n\n if (row.toggleRowEditing) {\n props.isEditing = !!row.isEditing;\n props.toggleRowEditing = row.toggleRowEditing;\n }\n\n return props;\n};\n\nexport const getColumnsFromChildren = (children: TableChildren<any>, rowExpansionRenderer: any) => {\n const sortRules: SortingRule<any>[] = [];\n\n const columns = React.Children.toArray(children)\n .filter((child: any) => !!child && !child.props.hidden) // skip falsey or hidden columns\n .map(({ props: { children: groupChildren, ...props } }: any) => {\n const column: InternalTableColumn & { disableSortBy: boolean | undefined } = { ...props };\n\n column.sortType = column.sortType || 'auto';\n column.disableSortBy = column.disableSorting;\n\n // this is a Table.Group - TODO: Find a better way to determine the child type\n if (props.title && groupChildren) {\n column.Header = props.title;\n\n const { columns: groupColumns, sortRules: groupSortRules } = getColumnsFromChildren(\n groupChildren,\n rowExpansionRenderer\n );\n column.columns = groupColumns;\n groupSortRules.forEach(sort => sortRules.push(sort));\n } else {\n column.accessor = props.accessor;\n column.Header = props.headRenderer || '';\n column.Cell = (columnProps: any) => {\n const cell: TableCell<any> = {\n accessor: columnProps.cell.column.id,\n row: sanitizeRowProps(columnProps.cell.row, rowExpansionRenderer),\n value: columnProps.cell.value,\n };\n\n if (cell.row.isEditing && typeof props.editRenderer === 'function') {\n return props.editRenderer(cell);\n }\n\n return typeof props.cellRenderer === 'function' ? props.cellRenderer(cell) ?? null : cell.value ?? null;\n };\n\n // custom props\n column.align = props.align;\n column.flex = props.flex;\n\n if (props.sort && !props.disableSorting) {\n sortRules.push({\n id: props.accessor,\n desc: props.sort === 'desc',\n });\n }\n }\n\n return column;\n });\n\n return { columns, sortRules };\n};\n\nexport const getInternalSortRules = <T>(sortRules: SortRule<T>[] | undefined): SortingRule<T>[] | undefined => {\n return sortRules?.map<SortingRule<T>>(rule => ({ id: rule.accessor, desc: rule.desc }));\n};\n"],"names":["sanitizeRowProps","row","rowExpansionRenderer","props","index","indexPath","id","values","original","subRows","length","isExpanded","depth","toggleRowExpanded","toggleRowEditing","isEditing","getColumnsFromChildren","children","sortRules","columns","React","Children","toArray","filter","child","hidden","map","groupChildren","column","sortType","disableSortBy","disableSorting","title","Header","groupColumns","groupSortRules","forEach","sort","push","accessor","headRenderer","Cell","columnProps","cell","value","editRenderer","cellRenderer","align","flex","desc","getInternalSortRules","rule"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { Orientation } from '../../types';\nimport './Tabs.css';\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * The controlled value of the tab to activate. Should be used in conjunction with `onChange`.\n */\n id?: string;\n /**\n * Set which tab is selected on mount.\n * This has to be one of the existing ids provided for tabs\n */\n defaultId?: string;\n /**\n * Content should be one or an array of `Tabs.Trigger` components inside `Tabs.List` and then\n * followed by one or an array of `Tabs.Content`.\n * *Note* that there can also be tabs that are rendered conditionally.\n */\n children: React.ReactNode;\n /**\n * Define orientation of tabs.\n * @defaultValue horizontal\n */\n orientation?: Orientation;\n /**\n * Callback that is called when tab is changed.\n */\n onChange?: (id: string) => void;\n};\n\nexport type TabListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type TabTriggerProps = React.HTMLAttributes<HTMLButtonElement> & {\n /**\n * A unique value that associates the trigger with a content.\n */\n id: string;\n /**\n * When true, prevents the user from interacting with the tab.\n */\n disabled?: boolean;\n};\n\nexport type TabContentProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * A unique value that associates the content with a trigger.\n */\n id: string;\n};\n\nexport type ForwardedTabsWithStatics = React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>> & {\n /** Tab list component containing all tab triggers, rendered in a `Tabs` group component */\n List: React.ForwardRefExoticComponent<TabListProps & React.RefAttributes<HTMLDivElement>>;\n /** Tab trigger component rendered in a `Tabs.List` component */\n Trigger: React.ForwardRefExoticComponent<TabTriggerProps & React.RefAttributes<HTMLButtonElement>>;\n /** Tab content component rendered in a `Tabs` group component */\n Content: React.ForwardRefExoticComponent<TabContentProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Tabs = React.forwardRef(function Tabs(props: TabsProps, ref: React.Ref<HTMLDivElement>) {\n const { id, defaultId, children, onChange, orientation = 'horizontal', ...otherProps } = props;\n const className = cn(\n 'yt-tabs',\n `yt-tabs--${orientation}`,\n {\n 'flex w-full': orientation === 'vertical',\n },\n props.className\n );\n\n return (\n <TabsPrimitive.Root\n {...otherProps}\n className={className}\n data-taco=\"tabs\"\n defaultValue={defaultId}\n dir=\"ltr\"\n onValueChange={onChange}\n orientation={orientation}\n ref={ref}\n value={id}\n >\n {children}\n </TabsPrimitive.Root>\n );\n}) as ForwardedTabsWithStatics;\n\nconst TabList = React.forwardRef(function Tab(props: TabListProps, ref: React.Ref<HTMLDivElement>) {\n const className = cn('yt-tab__list border-b border-grey-light flex flex-row m-0 mb-4', props.className);\n\n return <TabsPrimitive.List {...props} className={className} ref={ref} />;\n});\n\nconst TabTrigger = React.forwardRef(function Tab(props: TabTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { id, disabled, ...otherProps } = props;\n const className = cn(\n 'yt-tab bg-transparent border-b-2 border-transparent text-grey-darkest m-0 py-2 px-4',\n disabled\n ? 'cursor-not-allowed !text-grey-darker'\n : 'cursor-pointer rounded-t hover:border-grey-dark aria-selected:border-blue aria-selected:text-black aria-selected:hover:border-blue-light hover:text-black active:yt-focus active:border-blue focus:yt-focus focus:border-blue',\n props.className\n );\n\n return (\n <TabsPrimitive.Trigger\n {...otherProps}\n className={className}\n disabled={disabled}\n ref={ref}\n style={{\n transition: 'border 0.2s ease-in',\n }}\n value={id}\n />\n );\n});\n\nconst TabContent = React.forwardRef(function Tab(props: TabContentProps, ref: React.Ref<HTMLDivElement>) {\n const { id, ...otherProps } = props;\n const className = cn('yt-tab__panel outline-none', props.className);\n\n return <TabsPrimitive.Content {...otherProps} className={className} ref={ref} value={id} />;\n});\n\nTabs.List = TabList;\nTabs.Trigger = TabTrigger;\nTabs.Content = TabContent;\n"],"names":["Tabs","React","props","ref","id","defaultId","children","onChange","orientation","otherProps","className","cn","TabsPrimitive","defaultValue","dir","onValueChange","value","TabList","Tab","TabTrigger","disabled","style","transition","TabContent","List","Trigger","Content"],"mappings":";;;;;;;;IA+DaA,IAAI,gBAAGC,UAAA,CAAiB,SAASD,IAAT,CAAcE,KAAd,EAAgCC,GAAhC;AACjC,MAAQC,EAAR,GAAyFF,KAAzF,CAAQE,EAAR;AAAA,MAAYC,SAAZ,GAAyFH,KAAzF,CAAYG,SAAZ;AAAA,MAAuBC,QAAvB,GAAyFJ,KAAzF,CAAuBI,QAAvB;AAAA,MAAiCC,QAAjC,GAAyFL,KAAzF,CAAiCK,QAAjC;AAAA,2BAAyFL,KAAzF,CAA2CM,WAA3C;AAAA,MAA2CA,WAA3C,mCAAyD,YAAzD;AAAA,MAA0EC,UAA1E,iCAAyFP,KAAzF;;AACA,MAAMQ,SAAS,GAAGC,EAAE,CAChB,SADgB,gBAEJH,WAFI,EAGhB;AACI,mBAAeA,WAAW,KAAK;AADnC,GAHgB,EAMhBN,KAAK,CAACQ,SANU,CAApB;AASA,SACIT,aAAA,CAACW,IAAD,oBACQH;AACJC,IAAAA,SAAS,EAAEA;iBACD;AACVG,IAAAA,YAAY,EAAER;AACdS,IAAAA,GAAG,EAAC;AACJC,IAAAA,aAAa,EAAER;AACfC,IAAAA,WAAW,EAAEA;AACbL,IAAAA,GAAG,EAAEA;AACLa,IAAAA,KAAK,EAAEZ;IATX,EAWKE,QAXL,CADJ;AAeH,CA1BmB;AA4BpB,IAAMW,OAAO,gBAAGhB,UAAA,CAAiB,SAASiB,GAAT,CAAahB,KAAb,EAAkCC,GAAlC;AAC7B,MAAMO,SAAS,GAAGC,EAAE,CAAC,gEAAD,EAAmET,KAAK,CAACQ,SAAzE,CAApB;AAEA,SAAOT,aAAA,CAACW,IAAD,oBAAwBV;AAAOQ,IAAAA,SAAS,EAAEA;AAAWP,IAAAA,GAAG,EAAEA;IAA1D,CAAP;AACH,CAJe,CAAhB;AAMA,IAAMgB,UAAU,gBAAGlB,UAAA,CAAiB,SAASiB,GAAT,CAAahB,KAAb,EAAqCC,GAArC;AAChC,MAAQC,EAAR,GAAwCF,KAAxC,CAAQE,EAAR;AAAA,MAAYgB,QAAZ,GAAwClB,KAAxC,CAAYkB,QAAZ;AAAA,MAAyBX,UAAzB,iCAAwCP,KAAxC;;AACA,MAAMQ,SAAS,GAAGC,EAAE,CAChB,qFADgB,EAEhBS,QAAQ,GACF,sCADE,GAEF,+NAJU,EAKhBlB,KAAK,CAACQ,SALU,CAApB;AAQA,SACIT,aAAA,CAACW,OAAD,oBACQH;AACJC,IAAAA,SAAS,EAAEA;AACXU,IAAAA,QAAQ,EAAEA;AACVjB,IAAAA,GAAG,EAAEA;AACLkB,IAAAA,KAAK,EAAE;AACHC,MAAAA,UAAU,EAAE;AADT;AAGPN,IAAAA,KAAK,EAAEZ;IARX,CADJ;AAYH,CAtBkB,CAAnB;AAwBA,IAAMmB,UAAU,gBAAGtB,UAAA,CAAiB,SAASiB,GAAT,CAAahB,KAAb,EAAqCC,GAArC;AAChC,MAAQC,EAAR,GAA8BF,KAA9B,CAAQE,EAAR;AAAA,MAAeK,UAAf,iCAA8BP,KAA9B;;AACA,MAAMQ,SAAS,GAAGC,EAAE,CAAC,4BAAD,EAA+BT,KAAK,CAACQ,SAArC,CAApB;AAEA,SAAOT,aAAA,CAACW,OAAD,oBAA2BH;AAAYC,IAAAA,SAAS,EAAEA;AAAWP,IAAAA,GAAG,EAAEA;AAAKa,IAAAA,KAAK,EAAEZ;IAA9E,CAAP;AACH,CALkB,CAAnB;AAOAJ,IAAI,CAACwB,IAAL,GAAYP,OAAZ;AACAjB,IAAI,CAACyB,OAAL,GAAeN,UAAf;AACAnB,IAAI,CAAC0B,OAAL,GAAeH,UAAf;;;;"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { Orientation } from '../../types';\nimport './Tabs.css';\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * The controlled value of the tab to activate. Should be used in conjunction with `onChange`.\n */\n id?: string;\n /**\n * Set which tab is selected on mount.\n * This has to be one of the existing ids provided for tabs\n */\n defaultId?: string;\n /**\n * Content should be one or an array of `Tabs.Trigger` components inside `Tabs.List` and then\n * followed by one or an array of `Tabs.Content`.\n * *Note* that there can also be tabs that are rendered conditionally.\n */\n children: React.ReactNode;\n /**\n * Define orientation of tabs.\n * @defaultValue horizontal\n */\n orientation?: Orientation;\n /**\n * Callback that is called when tab is changed.\n */\n onChange?: (id: string) => void;\n};\n\nexport type TabListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type TabTriggerProps = React.HTMLAttributes<HTMLButtonElement> & {\n /**\n * A unique value that associates the trigger with a content.\n */\n id: string;\n /**\n * When true, prevents the user from interacting with the tab.\n */\n disabled?: boolean;\n};\n\nexport type TabContentProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * A unique value that associates the content with a trigger.\n */\n id: string;\n};\n\nexport type ForwardedTabsWithStatics = React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>> & {\n /** Tab list component containing all tab triggers, rendered in a `Tabs` group component */\n List: React.ForwardRefExoticComponent<TabListProps & React.RefAttributes<HTMLDivElement>>;\n /** Tab trigger component rendered in a `Tabs.List` component */\n Trigger: React.ForwardRefExoticComponent<TabTriggerProps & React.RefAttributes<HTMLButtonElement>>;\n /** Tab content component rendered in a `Tabs` group component */\n Content: React.ForwardRefExoticComponent<TabContentProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Tabs = React.forwardRef(function Tabs(props: TabsProps, ref: React.Ref<HTMLDivElement>) {\n const { id, defaultId, children, onChange, orientation = 'horizontal', ...otherProps } = props;\n const className = cn(\n 'yt-tabs',\n `yt-tabs--${orientation}`,\n {\n 'flex w-full': orientation === 'vertical',\n },\n props.className\n );\n\n return (\n <TabsPrimitive.Root\n {...otherProps}\n className={className}\n data-taco=\"tabs\"\n defaultValue={defaultId}\n dir=\"ltr\"\n onValueChange={onChange}\n orientation={orientation}\n ref={ref}\n value={id}\n >\n {children}\n </TabsPrimitive.Root>\n );\n}) as ForwardedTabsWithStatics;\n\nconst TabList = React.forwardRef(function Tab(props: TabListProps, ref: React.Ref<HTMLDivElement>) {\n const className = cn('yt-tab__list border-b border-grey-light flex flex-row m-0 mb-4', props.className);\n\n return <TabsPrimitive.List {...props} className={className} ref={ref} />;\n});\n\nconst TabTrigger = React.forwardRef(function Tab(props: TabTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { id, disabled, ...otherProps } = props;\n const className = cn(\n 'yt-tab bg-transparent border-b-2 border-transparent text-grey-darkest m-0 py-2 px-4',\n disabled\n ? 'cursor-not-allowed !text-grey-darker'\n : 'cursor-pointer rounded-t hover:border-grey-dark aria-selected:border-blue aria-selected:text-black aria-selected:hover:border-blue-light hover:text-black active:yt-focus active:border-blue focus:yt-focus focus:border-blue',\n props.className\n );\n\n return (\n <TabsPrimitive.Trigger\n {...otherProps}\n className={className}\n disabled={disabled}\n ref={ref}\n style={{\n transition: 'border 0.2s ease-in',\n }}\n value={id}\n />\n );\n});\n\nconst TabContent = React.forwardRef(function Tab(props: TabContentProps, ref: React.Ref<HTMLDivElement>) {\n const { id, ...otherProps } = props;\n const className = cn('yt-tab__panel outline-none', props.className);\n\n return <TabsPrimitive.Content {...otherProps} className={className} ref={ref} value={id} />;\n});\n\nTabs.List = TabList;\nTabs.Trigger = TabTrigger;\nTabs.Content = TabContent;\n"],"names":["Tabs","React","props","ref","id","defaultId","children","onChange","orientation","otherProps","className","cn","TabsPrimitive","defaultValue","dir","onValueChange","value","TabList","Tab","TabTrigger","disabled","style","transition","TabContent","List","Trigger","Content"],"mappings":";;;;;;;;IA+DaA,IAAI,gBAAGC,UAAA,CAAiB,SAASD,IAAT,CAAcE,KAAd,EAAgCC,GAAhC;EACjC,IAAQC,EAAR,GAAyFF,KAAzF,CAAQE,EAAR;MAAYC,SAAZ,GAAyFH,KAAzF,CAAYG,SAAZ;MAAuBC,QAAvB,GAAyFJ,KAAzF,CAAuBI,QAAvB;MAAiCC,QAAjC,GAAyFL,KAAzF,CAAiCK,QAAjC;2BAAyFL,KAAzF,CAA2CM,WAA3C;MAA2CA,WAA3C,mCAAyD,YAAzD;MAA0EC,UAA1E,iCAAyFP,KAAzF;;EACA,IAAMQ,SAAS,GAAGC,EAAE,CAChB,SADgB,gBAEJH,WAFI,EAGhB;IACI,eAAeA,WAAW,KAAK;GAJnB,EAMhBN,KAAK,CAACQ,SANU,CAApB;EASA,OACIT,aAAA,CAACW,IAAD,oBACQH;IACJC,SAAS,EAAEA;iBACD;IACVG,YAAY,EAAER;IACdS,GAAG,EAAC;IACJC,aAAa,EAAER;IACfC,WAAW,EAAEA;IACbL,GAAG,EAAEA;IACLa,KAAK,EAAEZ;IATX,EAWKE,QAXL,CADJ;AAeH,CA1BmB;AA4BpB,IAAMW,OAAO,gBAAGhB,UAAA,CAAiB,SAASiB,GAAT,CAAahB,KAAb,EAAkCC,GAAlC;EAC7B,IAAMO,SAAS,GAAGC,EAAE,CAAC,gEAAD,EAAmET,KAAK,CAACQ,SAAzE,CAApB;EAEA,OAAOT,aAAA,CAACW,IAAD,oBAAwBV;IAAOQ,SAAS,EAAEA;IAAWP,GAAG,EAAEA;IAA1D,CAAP;AACH,CAJe,CAAhB;AAMA,IAAMgB,UAAU,gBAAGlB,UAAA,CAAiB,SAASiB,GAAT,CAAahB,KAAb,EAAqCC,GAArC;EAChC,IAAQC,EAAR,GAAwCF,KAAxC,CAAQE,EAAR;MAAYgB,QAAZ,GAAwClB,KAAxC,CAAYkB,QAAZ;MAAyBX,UAAzB,iCAAwCP,KAAxC;;EACA,IAAMQ,SAAS,GAAGC,EAAE,CAChB,qFADgB,EAEhBS,QAAQ,GACF,sCADE,GAEF,+NAJU,EAKhBlB,KAAK,CAACQ,SALU,CAApB;EAQA,OACIT,aAAA,CAACW,OAAD,oBACQH;IACJC,SAAS,EAAEA;IACXU,QAAQ,EAAEA;IACVjB,GAAG,EAAEA;IACLkB,KAAK,EAAE;MACHC,UAAU,EAAE;;IAEhBN,KAAK,EAAEZ;IARX,CADJ;AAYH,CAtBkB,CAAnB;AAwBA,IAAMmB,UAAU,gBAAGtB,UAAA,CAAiB,SAASiB,GAAT,CAAahB,KAAb,EAAqCC,GAArC;EAChC,IAAQC,EAAR,GAA8BF,KAA9B,CAAQE,EAAR;MAAeK,UAAf,iCAA8BP,KAA9B;;EACA,IAAMQ,SAAS,GAAGC,EAAE,CAAC,4BAAD,EAA+BT,KAAK,CAACQ,SAArC,CAApB;EAEA,OAAOT,aAAA,CAACW,OAAD,oBAA2BH;IAAYC,SAAS,EAAEA;IAAWP,GAAG,EAAEA;IAAKa,KAAK,EAAEZ;IAA9E,CAAP;AACH,CALkB,CAAnB;AAOAJ,IAAI,CAACwB,IAAL,GAAYP,OAAZ;AACAjB,IAAI,CAACyB,OAAL,GAAeN,UAAf;AACAnB,IAAI,CAAC0B,OAAL,GAAeH,UAAf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getInputClasses } from '../Input/util';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n /** Draws attention to the textarea by changing its style and making it visually prominent */\n highlighted?: boolean;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n /** Value of the textarea */\n value?: string;\n};\n\nexport const Textarea = React.forwardRef(function Textarea(props: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) {\n const { defaultValue: _, highlighted, invalid, onKeyDown, ...otherProps } = props;\n const classNames = cn(getInputClasses(props), 'py-1 min-h-[75px] disabled:resize-none', props.className);\n\n // home and end keys only navigate to the start/end of textarea value if the textarea container does not scroll\n // if it has scroll height then the browser reverts to native scrolling behaviour only\n // so we manually override it to ensure _our_ desired behaviour remains intact\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\n event.currentTarget.setSelectionRange(position, position);\n event.currentTarget.scrollTop = event.key === 'End' ? event.currentTarget.scrollHeight : 0;\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n return <textarea {...otherProps} className={classNames} data-taco=\"textarea\" onKeyDown={handleKeyDown} ref={ref} />;\n});\n"],"names":["Textarea","React","props","ref","onKeyDown","otherProps","classNames","cn","getInputClasses","className","handleKeyDown","event","key","preventDefault","position","currentTarget","value","length","setSelectionRange","scrollTop","scrollHeight"],"mappings":";;;;;;IAaaA,QAAQ,gBAAGC,UAAA,CAAiB,SAASD,QAAT,CAAkBE,KAAlB,EAAwCC,GAAxC;AACrC,MAA+CC,SAA/C,GAA4EF,KAA5E,CAA+CE,SAA/C;AAAA,MAA6DC,UAA7D,iCAA4EH,KAA5E;;AACA,MAAMI,UAAU,GAAGC,EAAE,CAACC,eAAe,CAACN,KAAD,CAAhB,EAAyB,wCAAzB,EAAmEA,KAAK,CAACO,SAAzE,CAArB;AAGA;AACA;;AACA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD;AAClB,QAAIA,KAAK,CAACC,GAAN,KAAc,MAAd,IAAwBD,KAAK,CAACC,GAAN,KAAc,KAA1C,EAAiD;AAC7CD,MAAAA,KAAK,CAACE,cAAN;AACA,UAAMC,QAAQ,GAAGH,KAAK,CAACC,GAAN,KAAc,KAAd,GAAsBD,KAAK,CAACI,aAAN,CAAoBC,KAApB,CAA0BC,MAAhD,GAAyD,CAA1E;AACAN,MAAAA,KAAK,CAACI,aAAN,CAAoBG,iBAApB,CAAsCJ,QAAtC,EAAgDA,QAAhD;AACAH,MAAAA,KAAK,CAACI,aAAN,CAAoBI,SAApB,GAAgCR,KAAK,CAACC,GAAN,KAAc,KAAd,GAAsBD,KAAK,CAACI,aAAN,CAAoBK,YAA1C,GAAyD,CAAzF;AACH;;AAED,QAAIhB,SAAJ,EAAe;AACXA,MAAAA,SAAS,CAACO,KAAD,CAAT;AACH;AACJ,GAXD;;AAaA,SAAOV,aAAA,WAAA,oBAAcI;AAAYI,IAAAA,SAAS,EAAEH;iBAAsB;AAAWF,IAAAA,SAAS,EAAEM;AAAeP,IAAAA,GAAG,EAAEA;IAArG,CAAP;AACH,CArBuB;;;;"}
1
+ {"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getInputClasses } from '../Input/util';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n /** Draws attention to the textarea by changing its style and making it visually prominent */\n highlighted?: boolean;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n /** Value of the textarea */\n value?: string;\n};\n\nexport const Textarea = React.forwardRef(function Textarea(props: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) {\n const { defaultValue: _, highlighted, invalid, onKeyDown, ...otherProps } = props;\n const classNames = cn(getInputClasses(props), 'py-1 min-h-[75px] disabled:resize-none', props.className);\n\n // home and end keys only navigate to the start/end of textarea value if the textarea container does not scroll\n // if it has scroll height then the browser reverts to native scrolling behaviour only\n // so we manually override it to ensure _our_ desired behaviour remains intact\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\n event.currentTarget.setSelectionRange(position, position);\n event.currentTarget.scrollTop = event.key === 'End' ? event.currentTarget.scrollHeight : 0;\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n return <textarea {...otherProps} className={classNames} data-taco=\"textarea\" onKeyDown={handleKeyDown} ref={ref} />;\n});\n"],"names":["Textarea","React","props","ref","onKeyDown","otherProps","classNames","cn","getInputClasses","className","handleKeyDown","event","key","preventDefault","position","currentTarget","value","length","setSelectionRange","scrollTop","scrollHeight"],"mappings":";;;;;;IAaaA,QAAQ,gBAAGC,UAAA,CAAiB,SAASD,QAAT,CAAkBE,KAAlB,EAAwCC,GAAxC;MACUC,SAA/C,GAA4EF,KAA5E,CAA+CE,SAA/C;MAA6DC,UAA7D,iCAA4EH,KAA5E;;EACA,IAAMI,UAAU,GAAGC,EAAE,CAACC,eAAe,CAACN,KAAD,CAAhB,EAAyB,wCAAzB,EAAmEA,KAAK,CAACO,SAAzE,CAArB;;;;EAKA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD;IAClB,IAAIA,KAAK,CAACC,GAAN,KAAc,MAAd,IAAwBD,KAAK,CAACC,GAAN,KAAc,KAA1C,EAAiD;MAC7CD,KAAK,CAACE,cAAN;MACA,IAAMC,QAAQ,GAAGH,KAAK,CAACC,GAAN,KAAc,KAAd,GAAsBD,KAAK,CAACI,aAAN,CAAoBC,KAApB,CAA0BC,MAAhD,GAAyD,CAA1E;MACAN,KAAK,CAACI,aAAN,CAAoBG,iBAApB,CAAsCJ,QAAtC,EAAgDA,QAAhD;MACAH,KAAK,CAACI,aAAN,CAAoBI,SAApB,GAAgCR,KAAK,CAACC,GAAN,KAAc,KAAd,GAAsBD,KAAK,CAACI,aAAN,CAAoBK,YAA1C,GAAyD,CAAzF;;;IAGJ,IAAIhB,SAAJ,EAAe;MACXA,SAAS,CAACO,KAAD,CAAT;;GATR;;EAaA,OAAOV,aAAA,WAAA,oBAAcI;IAAYI,SAAS,EAAEH;iBAAsB;IAAWF,SAAS,EAAEM;IAAeP,GAAG,EAAEA;IAArG,CAAP;AACH,CArBuB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { motion, useAnimation } from 'framer-motion';\nimport useTimer from '../../utils/hooks/useTimer';\nimport { getBadgeIcon } from './util';\nimport { State } from '../../types';\nimport { useLocalization } from '../Provider/Provider';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type ToastsTexts = {\n /** Aria-label for the close icon button of toast */\n dismiss: string;\n};\n\nexport type ToastType = Omit<State, 'default'> | 'loading';\nexport type ToastOptions = {\n /** Provide time in milliseconds after which the toast should autoclose */\n autoClose?: number;\n /**\n * State will change the icon displayed in toast and other characteristics,\n * for e.g. `loading` state will display a progress animation.\n * Default value is `default`\n */\n type?: ToastType;\n};\nexport type ToastProps = {\n /** Provide a unique id for toast */\n id: string;\n /**\n * Content can be any valid react node, for e.g. a `div`, or a simple text.\n * Note that content can also be `null`, resulting in a slimmer version of your toast with a vertically centered title\n */\n content: React.ReactNode;\n /** Additional options to define your toast */\n options: ToastOptions;\n /**\n * Handler called when toast closes.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n onClose: () => void;\n lastUpdated?: number;\n lastDuplicateId?: string;\n};\n\nexport const Toast = ({ content, lastUpdated, onClose: handleClose, options, ...props }: ToastProps): JSX.Element => {\n const { texts } = useLocalization();\n const { autoClose, type = 'default' } = options;\n const className = cn('bg-white relative flex items-center py-1 px-2 mt-3 w-full rounded yt-shadow', {\n 'border border-grey': type === 'default' || type === 'loading' || !type,\n 'border border-grey-darker': type === 'success',\n 'border border-blue': type === 'information',\n 'border border-yellow-dark': type === 'warning',\n 'border border-red': type === 'error',\n });\n const timer = useTimer(autoClose, handleClose);\n const controls = useAnimation();\n\n React.useEffect(() => {\n if (autoClose) {\n timer.start();\n }\n }, [autoClose]);\n\n const triggerUpdateAnimation = async () => {\n await controls.start({ scale: 1.05 });\n await controls.start({ scale: 1 });\n };\n\n React.useEffect(() => {\n if (lastUpdated) {\n triggerUpdateAnimation();\n\n if (timer.running) {\n timer.start();\n }\n }\n }, [lastUpdated]);\n\n return (\n <motion.div\n {...props}\n animate={controls}\n className={className}\n data-taco=\"toast\"\n onMouseEnter={timer.pause}\n onMouseLeave={timer.resume}\n >\n {getBadgeIcon(type)}\n {content && <div className=\"flex-grow\">{content}</div>}\n <IconButton\n appearance=\"discrete\"\n className=\"text-grey-darkest cursor-pointer -mr-2 !px-0\"\n icon=\"close\"\n aria-label={texts.toasts.dismiss}\n onClick={handleClose}\n />\n </motion.div>\n );\n};\n"],"names":["Toast","content","lastUpdated","handleClose","onClose","options","props","useLocalization","texts","autoClose","type","className","cn","timer","useTimer","controls","useAnimation","React","useEffect","start","triggerUpdateAnimation","scale","running","motion","div","animate","onMouseEnter","pause","onMouseLeave","resume","getBadgeIcon","IconButton","appearance","icon","toasts","dismiss","onClick"],"mappings":";;;;;;;;;;IA4CaA,KAAK,GAAG,SAARA,KAAQ;MAAGC,eAAAA;MAASC,mBAAAA;MAAsBC,mBAATC;MAAsBC,eAAAA;MAAYC;;AAC5E,yBAAkBC,eAAe,EAAjC;AAAA,MAAQC,KAAR,oBAAQA,KAAR;;AACA,MAAQC,SAAR,GAAwCJ,OAAxC,CAAQI,SAAR;AAAA,sBAAwCJ,OAAxC,CAAmBK,IAAnB;AAAA,MAAmBA,IAAnB,8BAA0B,SAA1B;AACA,MAAMC,SAAS,GAAGC,EAAE,CAAC,6EAAD,EAAgF;AAChG,0BAAsBF,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,SAA/B,IAA4C,CAACA,IAD6B;AAEhG,iCAA6BA,IAAI,KAAK,SAF0D;AAGhG,0BAAsBA,IAAI,KAAK,aAHiE;AAIhG,iCAA6BA,IAAI,KAAK,SAJ0D;AAKhG,yBAAqBA,IAAI,KAAK;AALkE,GAAhF,CAApB;AAOA,MAAMG,KAAK,GAAGC,QAAQ,CAACL,SAAD,EAAYN,WAAZ,CAAtB;AACA,MAAMY,QAAQ,GAAGC,YAAY,EAA7B;AAEAC,EAAAA,cAAK,CAACC,SAAN,CAAgB;AACZ,QAAIT,SAAJ,EAAe;AACXI,MAAAA,KAAK,CAACM,KAAN;AACH;AACJ,GAJD,EAIG,CAACV,SAAD,CAJH;;AAMA,MAAMW,sBAAsB,YAAtBA,sBAAsB;AAAA;6BAClBL,QAAQ,CAACI,KAAT,CAAe;AAAEE,QAAAA,KAAK,EAAE;AAAT,OAAf;+BACAN,QAAQ,CAACI,KAAT,CAAe;AAAEE,UAAAA,KAAK,EAAE;AAAT,SAAf;;AACT,KAH2B;AAAA;AAAA;AAAA,GAA5B;;AAKAJ,EAAAA,cAAK,CAACC,SAAN,CAAgB;AACZ,QAAIhB,WAAJ,EAAiB;AACbkB,MAAAA,sBAAsB;;AAEtB,UAAIP,KAAK,CAACS,OAAV,EAAmB;AACfT,QAAAA,KAAK,CAACM,KAAN;AACH;AACJ;AACJ,GARD,EAQG,CAACjB,WAAD,CARH;AAUA,SACIe,4BAAA,CAACM,MAAM,CAACC,GAAR,oBACQlB;AACJmB,IAAAA,OAAO,EAAEV;AACTJ,IAAAA,SAAS,EAAEA;iBACD;AACVe,IAAAA,YAAY,EAAEb,KAAK,CAACc;AACpBC,IAAAA,YAAY,EAAEf,KAAK,CAACgB;IANxB,EAQKC,YAAY,CAACpB,IAAD,CARjB,EASKT,OAAO,IAAIgB,4BAAA,MAAA;AAAKN,IAAAA,SAAS,EAAC;GAAf,EAA4BV,OAA5B,CAThB,EAUIgB,4BAAA,CAACc,UAAD;AACIC,IAAAA,UAAU,EAAC;AACXrB,IAAAA,SAAS,EAAC;AACVsB,IAAAA,IAAI,EAAC;kBACOzB,KAAK,CAAC0B,MAAN,CAAaC;AACzBC,IAAAA,OAAO,EAAEjC;GALb,CAVJ,CADJ;AAoBH;;;;"}
1
+ {"version":3,"file":"Toast.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { motion, useAnimation } from 'framer-motion';\nimport useTimer from '../../utils/hooks/useTimer';\nimport { getBadgeIcon } from './util';\nimport { State } from '../../types';\nimport { useLocalization } from '../Provider/Provider';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type ToastsTexts = {\n /** Aria-label for the close icon button of toast */\n dismiss: string;\n};\n\nexport type ToastType = Omit<State, 'default'> | 'loading';\nexport type ToastOptions = {\n /** Provide time in milliseconds after which the toast should autoclose */\n autoClose?: number;\n /**\n * State will change the icon displayed in toast and other characteristics,\n * for e.g. `loading` state will display a progress animation.\n * Default value is `default`\n */\n type?: ToastType;\n};\nexport type ToastProps = {\n /** Provide a unique id for toast */\n id: string;\n /**\n * Content can be any valid react node, for e.g. a `div`, or a simple text.\n * Note that content can also be `null`, resulting in a slimmer version of your toast with a vertically centered title\n */\n content: React.ReactNode;\n /** Additional options to define your toast */\n options: ToastOptions;\n /**\n * Handler called when toast closes.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n onClose: () => void;\n lastUpdated?: number;\n lastDuplicateId?: string;\n};\n\nexport const Toast = ({ content, lastUpdated, onClose: handleClose, options, ...props }: ToastProps): JSX.Element => {\n const { texts } = useLocalization();\n const { autoClose, type = 'default' } = options;\n const className = cn('bg-white relative flex items-center py-1 px-2 mt-3 w-full rounded yt-shadow', {\n 'border border-grey': type === 'default' || type === 'loading' || !type,\n 'border border-grey-darker': type === 'success',\n 'border border-blue': type === 'information',\n 'border border-yellow-dark': type === 'warning',\n 'border border-red': type === 'error',\n });\n const timer = useTimer(autoClose, handleClose);\n const controls = useAnimation();\n\n React.useEffect(() => {\n if (autoClose) {\n timer.start();\n }\n }, [autoClose]);\n\n const triggerUpdateAnimation = async () => {\n await controls.start({ scale: 1.05 });\n await controls.start({ scale: 1 });\n };\n\n React.useEffect(() => {\n if (lastUpdated) {\n triggerUpdateAnimation();\n\n if (timer.running) {\n timer.start();\n }\n }\n }, [lastUpdated]);\n\n return (\n <motion.div\n {...props}\n animate={controls}\n className={className}\n data-taco=\"toast\"\n onMouseEnter={timer.pause}\n onMouseLeave={timer.resume}\n >\n {getBadgeIcon(type)}\n {content && <div className=\"flex-grow\">{content}</div>}\n <IconButton\n appearance=\"discrete\"\n className=\"text-grey-darkest cursor-pointer -mr-2 !px-0\"\n icon=\"close\"\n aria-label={texts.toasts.dismiss}\n onClick={handleClose}\n />\n </motion.div>\n );\n};\n"],"names":["Toast","content","lastUpdated","handleClose","onClose","options","props","useLocalization","texts","autoClose","type","className","cn","timer","useTimer","controls","useAnimation","React","useEffect","start","triggerUpdateAnimation","scale","running","motion","div","animate","onMouseEnter","pause","onMouseLeave","resume","getBadgeIcon","IconButton","appearance","icon","toasts","dismiss","onClick"],"mappings":";;;;;;;;;;IA4CaA,KAAK,GAAG,SAARA,KAAQ;MAAGC,eAAAA;MAASC,mBAAAA;MAAsBC,mBAATC;MAAsBC,eAAAA;MAAYC;;EAC5E,uBAAkBC,eAAe,EAAjC;MAAQC,KAAR,oBAAQA,KAAR;;EACA,IAAQC,SAAR,GAAwCJ,OAAxC,CAAQI,SAAR;sBAAwCJ,OAAxC,CAAmBK,IAAnB;MAAmBA,IAAnB,8BAA0B,SAA1B;EACA,IAAMC,SAAS,GAAGC,EAAE,CAAC,6EAAD,EAAgF;IAChG,sBAAsBF,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,SAA/B,IAA4C,CAACA,IAD6B;IAEhG,6BAA6BA,IAAI,KAAK,SAF0D;IAGhG,sBAAsBA,IAAI,KAAK,aAHiE;IAIhG,6BAA6BA,IAAI,KAAK,SAJ0D;IAKhG,qBAAqBA,IAAI,KAAK;GALd,CAApB;EAOA,IAAMG,KAAK,GAAGC,QAAQ,CAACL,SAAD,EAAYN,WAAZ,CAAtB;EACA,IAAMY,QAAQ,GAAGC,YAAY,EAA7B;EAEAC,cAAK,CAACC,SAAN,CAAgB;IACZ,IAAIT,SAAJ,EAAe;MACXI,KAAK,CAACM,KAAN;;GAFR,EAIG,CAACV,SAAD,CAJH;;EAMA,IAAMW,sBAAsB,YAAtBA,sBAAsB;IAAA;6BAClBL,QAAQ,CAACI,KAAT,CAAe;QAAEE,KAAK,EAAE;OAAxB;+BACAN,QAAQ,CAACI,KAAT,CAAe;UAAEE,KAAK,EAAE;SAAxB;;KAFkB;MAAA;;GAA5B;;EAKAJ,cAAK,CAACC,SAAN,CAAgB;IACZ,IAAIhB,WAAJ,EAAiB;MACbkB,sBAAsB;;MAEtB,IAAIP,KAAK,CAACS,OAAV,EAAmB;QACfT,KAAK,CAACM,KAAN;;;GALZ,EAQG,CAACjB,WAAD,CARH;EAUA,OACIe,4BAAA,CAACM,MAAM,CAACC,GAAR,oBACQlB;IACJmB,OAAO,EAAEV;IACTJ,SAAS,EAAEA;iBACD;IACVe,YAAY,EAAEb,KAAK,CAACc;IACpBC,YAAY,EAAEf,KAAK,CAACgB;IANxB,EAQKC,YAAY,CAACpB,IAAD,CARjB,EASKT,OAAO,IAAIgB,4BAAA,MAAA;IAAKN,SAAS,EAAC;GAAf,EAA4BV,OAA5B,CAThB,EAUIgB,4BAAA,CAACc,UAAD;IACIC,UAAU,EAAC;IACXrB,SAAS,EAAC;IACVsB,IAAI,EAAC;kBACOzB,KAAK,CAAC0B,MAAN,CAAaC;IACzBC,OAAO,EAAEjC;GALb,CAVJ,CADJ;AAoBH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toaster.js","sources":["../../../../src/components/Toast/Toaster.tsx"],"sourcesContent":["import * as React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ToastOptions, Toast, ToastProps } from './Toast';\nimport './Toast.css';\n\nconst DEFAULT_AUTO_CLOSE_TIMEOUT = 7500;\n\ntype ToastCreator<T> = (content: React.ReactNode | ((close: () => void) => React.ReactNode), options?: ToastOptions) => T;\n\nexport interface Toaster<T> extends ToastCreator<T> {\n success: ToastCreator<T>;\n error: ToastCreator<T>;\n warning: ToastCreator<T>;\n information: ToastCreator<T>;\n loading: ToastCreator<T>;\n}\n\nexport interface ToastReference {\n /** Show a success toast */\n success: ToastCreator<void>;\n /** Show an error toast */\n error: ToastCreator<void>;\n /** Show a warning toast */\n warning: ToastCreator<void>;\n /** Show an information toast */\n information: ToastCreator<void>;\n /** Show a loading toast */\n loading: ToastCreator<void>;\n /**\n * Close an existing toast.\n * The toast function returns a reference to the active toast,\n * allowing you to programmatically close it when needed\n */\n close: () => void;\n}\n\nconst ToastContext = React.createContext<Toaster<ToastReference>>({} as Toaster<ToastReference>);\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n}\n\ntype InternalToast = Omit<ToastProps, 'onClose'>;\n\nconst insertToastWithoutDuplicates = (\n currentToasts: InternalToast[],\n id: string,\n content: React.ReactNode,\n options: ToastOptions,\n close: () => void\n): InternalToast[] => {\n const nextToasts = [...currentToasts];\n const existingToastIndex = currentToasts.findIndex(toast => JSON.stringify(toast.content) === JSON.stringify(content));\n\n if (existingToastIndex > -1) {\n nextToasts[existingToastIndex].lastDuplicateId = id;\n nextToasts[existingToastIndex].lastUpdated = Date.now();\n } else {\n nextToasts.push({\n id,\n content: typeof content === 'function' ? content(close) : content,\n options,\n });\n }\n\n return nextToasts;\n};\n\nexport const ToastProvider = ({ children, ...props }: ToastProviderProps): JSX.Element => {\n const [toasts, setToasts] = React.useState<InternalToast[]>([]);\n\n const handleClose = (id: string): void => {\n setToasts(currentToasts => currentToasts.filter(toast => toast.id !== id));\n };\n\n // memoize (useCallback) this function,\n // it is the value of the context provider and we don't want it to trigger state tree re-renders on provider children\n const toaster = React.useCallback((content: React.ReactNode, options: ToastOptions): ToastReference => {\n const id = uuid();\n const close = (): void => handleClose(id);\n\n setToasts(currentToasts => insertToastWithoutDuplicates(currentToasts, id, content, options, close));\n\n const update = (content: React.ReactNode, options: ToastOptions): void => {\n setToasts(currentToasts => {\n const nextToasts = currentToasts.filter(toast => {\n if (toast.lastDuplicateId) {\n return toast.lastDuplicateId !== id;\n }\n\n return toast.id !== id;\n });\n return insertToastWithoutDuplicates(nextToasts, uuid(), content, options, close);\n });\n };\n\n const success = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n };\n const error = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'error' });\n };\n const warning = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'warning' });\n };\n const information = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'information' });\n };\n const loading = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'loading' });\n };\n\n return {\n success,\n error,\n warning,\n information,\n loading,\n close,\n };\n }, []) as Toaster<ToastReference>;\n\n // no need to rebind these every render, do them once in an effect\n React.useEffect(() => {\n toaster.success = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n toaster.error = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'error' });\n toaster.warning = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'warning' });\n toaster.information = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'information' });\n toaster.loading = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'loading' });\n }, []);\n\n return (\n <ToastContext.Provider {...props} value={toaster}>\n {children}\n <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute bottom-0 right-0 !left-auto z-[1000] mb-4 mr-4 flex max-w-md flex-col items-end justify-end\"\n role=\"log\"\n >\n <AnimatePresence initial={false}>\n {toasts.map((toast: ToastProps) => (\n <motion.div\n key={toast.id}\n transition={{\n type: 'spring',\n damping: 20,\n stiffness: 300,\n }}\n initial={{ opacity: 0, y: 10, scale: 0.5 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, scale: 0.5, transition: { duration: 0.2 } }}\n >\n <Toast {...toast} onClose={() => handleClose(toast.id)} />\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = (): Toaster<ToastReference> => React.useContext(ToastContext);\n"],"names":["DEFAULT_AUTO_CLOSE_TIMEOUT","ToastContext","React","insertToastWithoutDuplicates","currentToasts","id","content","options","close","nextToasts","existingToastIndex","findIndex","toast","JSON","stringify","lastDuplicateId","lastUpdated","Date","now","push","ToastProvider","children","props","toasts","setToasts","handleClose","filter","toaster","uuid","update","success","autoClose","type","error","warning","information","loading","Provider","value","className","role","AnimatePresence","initial","map","motion","div","key","transition","damping","stiffness","opacity","y","scale","animate","exit","duration","Toast","onClose","useToast"],"mappings":"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"}
1
+ {"version":3,"file":"Toaster.js","sources":["../../../../src/components/Toast/Toaster.tsx"],"sourcesContent":["import * as React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ToastOptions, Toast, ToastProps } from './Toast';\nimport './Toast.css';\n\nconst DEFAULT_AUTO_CLOSE_TIMEOUT = 7500;\n\ntype ToastCreator<T> = (content: React.ReactNode | ((close: () => void) => React.ReactNode), options?: ToastOptions) => T;\n\nexport interface Toaster<T> extends ToastCreator<T> {\n success: ToastCreator<T>;\n error: ToastCreator<T>;\n warning: ToastCreator<T>;\n information: ToastCreator<T>;\n loading: ToastCreator<T>;\n}\n\nexport interface ToastReference {\n /** Show a success toast */\n success: ToastCreator<void>;\n /** Show an error toast */\n error: ToastCreator<void>;\n /** Show a warning toast */\n warning: ToastCreator<void>;\n /** Show an information toast */\n information: ToastCreator<void>;\n /** Show a loading toast */\n loading: ToastCreator<void>;\n /**\n * Close an existing toast.\n * The toast function returns a reference to the active toast,\n * allowing you to programmatically close it when needed\n */\n close: () => void;\n}\n\nconst ToastContext = React.createContext<Toaster<ToastReference>>({} as Toaster<ToastReference>);\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n}\n\ntype InternalToast = Omit<ToastProps, 'onClose'>;\n\nconst insertToastWithoutDuplicates = (\n currentToasts: InternalToast[],\n id: string,\n content: React.ReactNode,\n options: ToastOptions,\n close: () => void\n): InternalToast[] => {\n const nextToasts = [...currentToasts];\n const existingToastIndex = currentToasts.findIndex(toast => JSON.stringify(toast.content) === JSON.stringify(content));\n\n if (existingToastIndex > -1) {\n nextToasts[existingToastIndex].lastDuplicateId = id;\n nextToasts[existingToastIndex].lastUpdated = Date.now();\n } else {\n nextToasts.push({\n id,\n content: typeof content === 'function' ? content(close) : content,\n options,\n });\n }\n\n return nextToasts;\n};\n\nexport const ToastProvider = ({ children, ...props }: ToastProviderProps): JSX.Element => {\n const [toasts, setToasts] = React.useState<InternalToast[]>([]);\n\n const handleClose = (id: string): void => {\n setToasts(currentToasts => currentToasts.filter(toast => toast.id !== id));\n };\n\n // memoize (useCallback) this function,\n // it is the value of the context provider and we don't want it to trigger state tree re-renders on provider children\n const toaster = React.useCallback((content: React.ReactNode, options: ToastOptions): ToastReference => {\n const id = uuid();\n const close = (): void => handleClose(id);\n\n setToasts(currentToasts => insertToastWithoutDuplicates(currentToasts, id, content, options, close));\n\n const update = (content: React.ReactNode, options: ToastOptions): void => {\n setToasts(currentToasts => {\n const nextToasts = currentToasts.filter(toast => {\n if (toast.lastDuplicateId) {\n return toast.lastDuplicateId !== id;\n }\n\n return toast.id !== id;\n });\n return insertToastWithoutDuplicates(nextToasts, uuid(), content, options, close);\n });\n };\n\n const success = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n };\n const error = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'error' });\n };\n const warning = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'warning' });\n };\n const information = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'information' });\n };\n const loading = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'loading' });\n };\n\n return {\n success,\n error,\n warning,\n information,\n loading,\n close,\n };\n }, []) as Toaster<ToastReference>;\n\n // no need to rebind these every render, do them once in an effect\n React.useEffect(() => {\n toaster.success = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n toaster.error = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'error' });\n toaster.warning = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'warning' });\n toaster.information = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'information' });\n toaster.loading = (content: React.ReactNode, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'loading' });\n }, []);\n\n return (\n <ToastContext.Provider {...props} value={toaster}>\n {children}\n <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute bottom-0 right-0 !left-auto z-[1000] mb-4 mr-4 flex max-w-md flex-col items-end justify-end\"\n role=\"log\"\n >\n <AnimatePresence initial={false}>\n {toasts.map((toast: ToastProps) => (\n <motion.div\n key={toast.id}\n transition={{\n type: 'spring',\n damping: 20,\n stiffness: 300,\n }}\n initial={{ opacity: 0, y: 10, scale: 0.5 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, scale: 0.5, transition: { duration: 0.2 } }}\n >\n <Toast {...toast} onClose={() => handleClose(toast.id)} />\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = (): Toaster<ToastReference> => React.useContext(ToastContext);\n"],"names":["DEFAULT_AUTO_CLOSE_TIMEOUT","ToastContext","React","insertToastWithoutDuplicates","currentToasts","id","content","options","close","nextToasts","existingToastIndex","findIndex","toast","JSON","stringify","lastDuplicateId","lastUpdated","Date","now","push","ToastProvider","children","props","toasts","setToasts","handleClose","filter","toaster","uuid","update","success","autoClose","type","error","warning","information","loading","Provider","value","className","role","AnimatePresence","initial","map","motion","div","key","transition","damping","stiffness","opacity","y","scale","animate","exit","duration","Toast","onClose","useToast"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../src/components/Toast/util.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../Icon/Icon';\nimport { Spinner } from '../Spinner/Spinner';\nimport { ToastType } from './Toast';\n\nexport const getBadgeIcon = (type: ToastType): JSX.Element | null => {\n const css = 'rounded-full flex-shrink-0 mr-2';\n\n switch (type) {\n case 'success':\n return <Icon name=\"tick\" className={cn(css, 'yt-green-solid')} />;\n\n case 'warning':\n return <Icon name=\"warning\" className={cn(css, 'yt-yellow-solid')} />;\n\n case 'error':\n return <Icon name=\"warning\" className={cn(css, 'yt-red-solid')} />;\n\n case 'information':\n return <Icon name=\"info\" className={cn(css, 'yt-blue-solid')} />;\n\n case 'loading':\n return <Spinner delay={0} className={cn(css, 'h-6 w-6')} />;\n\n default:\n return null;\n }\n};\n"],"names":["getBadgeIcon","type","css","React","Icon","name","className","cn","Spinner","delay"],"mappings":";;;;;IAMaA,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;AACxB,MAAMC,GAAG,GAAG,iCAAZ;;AAEA,UAAQD,IAAR;AACI,SAAK,SAAL;AACI,aAAOE,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAOC,QAAAA,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,gBAAN;OAA/B,CAAP;;AAEJ,SAAK,SAAL;AACI,aAAOC,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAUC,QAAAA,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,iBAAN;OAAlC,CAAP;;AAEJ,SAAK,OAAL;AACI,aAAOC,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAUC,QAAAA,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,cAAN;OAAlC,CAAP;;AAEJ,SAAK,aAAL;AACI,aAAOC,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAOC,QAAAA,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,eAAN;OAA/B,CAAP;;AAEJ,SAAK,SAAL;AACI,aAAOC,4BAAA,CAACK,OAAD;AAASC,QAAAA,KAAK,EAAE;AAAGH,QAAAA,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,SAAN;OAAhC,CAAP;;AAEJ;AACI,aAAO,IAAP;AAjBR;AAmBH;;;;"}
1
+ {"version":3,"file":"util.js","sources":["../../../../src/components/Toast/util.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../Icon/Icon';\nimport { Spinner } from '../Spinner/Spinner';\nimport { ToastType } from './Toast';\n\nexport const getBadgeIcon = (type: ToastType): JSX.Element | null => {\n const css = 'rounded-full flex-shrink-0 mr-2';\n\n switch (type) {\n case 'success':\n return <Icon name=\"tick\" className={cn(css, 'yt-green-solid')} />;\n\n case 'warning':\n return <Icon name=\"warning\" className={cn(css, 'yt-yellow-solid')} />;\n\n case 'error':\n return <Icon name=\"warning\" className={cn(css, 'yt-red-solid')} />;\n\n case 'information':\n return <Icon name=\"info\" className={cn(css, 'yt-blue-solid')} />;\n\n case 'loading':\n return <Spinner delay={0} className={cn(css, 'h-6 w-6')} />;\n\n default:\n return null;\n }\n};\n"],"names":["getBadgeIcon","type","css","React","Icon","name","className","cn","Spinner","delay"],"mappings":";;;;;IAMaA,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;EACxB,IAAMC,GAAG,GAAG,iCAAZ;;EAEA,QAAQD,IAAR;IACI,KAAK,SAAL;MACI,OAAOE,4BAAA,CAACC,IAAD;QAAMC,IAAI,EAAC;QAAOC,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,gBAAN;OAA/B,CAAP;;IAEJ,KAAK,SAAL;MACI,OAAOC,4BAAA,CAACC,IAAD;QAAMC,IAAI,EAAC;QAAUC,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,iBAAN;OAAlC,CAAP;;IAEJ,KAAK,OAAL;MACI,OAAOC,4BAAA,CAACC,IAAD;QAAMC,IAAI,EAAC;QAAUC,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,cAAN;OAAlC,CAAP;;IAEJ,KAAK,aAAL;MACI,OAAOC,4BAAA,CAACC,IAAD;QAAMC,IAAI,EAAC;QAAOC,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,eAAN;OAA/B,CAAP;;IAEJ,KAAK,SAAL;MACI,OAAOC,4BAAA,CAACK,OAAD;QAASC,KAAK,EAAE;QAAGH,SAAS,EAAEC,EAAE,CAACL,GAAD,EAAM,SAAN;OAAhC,CAAP;;IAEJ;MACI,OAAO,IAAP;;AAEX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nexport type TooltipProps = React.HTMLAttributes<HTMLDivElement> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { title, children, placement, ...otherProps } = props;\n\n return (\n <TooltipPrimitive.Root delayDuration={50}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Content {...otherProps} asChild side={placement} sideOffset={3}>\n <div\n className=\"wcag-purple max-w-[theme(spacing.56)] animate-[fade-in_150ms] rounded-sm px-2 py-1 text-xs font-bold opacity-90\"\n data-taco=\"tooltip\"\n style={{\n transformOrigin: 'var(--radix-tooltip-content-transform-origin)',\n }}\n >\n <TooltipPrimitive.Arrow className=\"fill-purple stroke-purple\" />\n {title}\n </div>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","title","children","placement","otherProps","TooltipPrimitive","delayDuration","asChild","side","sideOffset","className","style","transformOrigin"],"mappings":";;;;;IAeaA,OAAO,gBAAGC,UAAA,CAAiB,SAASD,OAAT,CAAiBE,KAAjB,EAAsCC,GAAtC;AACpC,MAAQC,KAAR,GAAsDF,KAAtD,CAAQE,KAAR;AAAA,MAAeC,QAAf,GAAsDH,KAAtD,CAAeG,QAAf;AAAA,MAAyBC,SAAzB,GAAsDJ,KAAtD,CAAyBI,SAAzB;AAAA,MAAuCC,UAAvC,iCAAsDL,KAAtD;;AAEA,SACID,aAAA,CAACO,IAAD;AAAuBC,IAAAA,aAAa,EAAE;GAAtC,EACIR,aAAA,CAACO,OAAD;AAA0BE,IAAAA,OAAO;AAACP,IAAAA,GAAG,EAAEA;GAAvC,EACKE,QADL,CADJ,EAIIJ,aAAA,CAACO,OAAD,oBAA8BD;AAAYG,IAAAA,OAAO;AAACC,IAAAA,IAAI,EAAEL;AAAWM,IAAAA,UAAU,EAAE;IAA/E,EACIX,aAAA,MAAA;AACIY,IAAAA,SAAS,EAAC;iBACA;AACVC,IAAAA,KAAK,EAAE;AACHC,MAAAA,eAAe,EAAE;AADd;GAHX,EAOId,aAAA,CAACO,KAAD;AAAwBK,IAAAA,SAAS,EAAC;GAAlC,CAPJ,EAQKT,KARL,CADJ,CAJJ,CADJ;AAmBH,CAtBsB;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nexport type TooltipProps = React.HTMLAttributes<HTMLDivElement> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { title, children, placement, ...otherProps } = props;\n\n return (\n <TooltipPrimitive.Root delayDuration={50}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Content {...otherProps} asChild side={placement} sideOffset={3}>\n <div\n className=\"wcag-purple max-w-[theme(spacing.56)] animate-[fade-in_150ms] rounded-sm px-2 py-1 text-xs font-bold opacity-90\"\n data-taco=\"tooltip\"\n style={{\n transformOrigin: 'var(--radix-tooltip-content-transform-origin)',\n }}\n >\n <TooltipPrimitive.Arrow className=\"fill-purple stroke-purple\" />\n {title}\n </div>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","title","children","placement","otherProps","TooltipPrimitive","delayDuration","asChild","side","sideOffset","className","style","transformOrigin"],"mappings":";;;;;IAeaA,OAAO,gBAAGC,UAAA,CAAiB,SAASD,OAAT,CAAiBE,KAAjB,EAAsCC,GAAtC;EACpC,IAAQC,KAAR,GAAsDF,KAAtD,CAAQE,KAAR;MAAeC,QAAf,GAAsDH,KAAtD,CAAeG,QAAf;MAAyBC,SAAzB,GAAsDJ,KAAtD,CAAyBI,SAAzB;MAAuCC,UAAvC,iCAAsDL,KAAtD;;EAEA,OACID,aAAA,CAACO,IAAD;IAAuBC,aAAa,EAAE;GAAtC,EACIR,aAAA,CAACO,OAAD;IAA0BE,OAAO;IAACP,GAAG,EAAEA;GAAvC,EACKE,QADL,CADJ,EAIIJ,aAAA,CAACO,OAAD,oBAA8BD;IAAYG,OAAO;IAACC,IAAI,EAAEL;IAAWM,UAAU,EAAE;IAA/E,EACIX,aAAA,MAAA;IACIY,SAAS,EAAC;iBACA;IACVC,KAAK,EAAE;MACHC,eAAe,EAAE;;GAJzB,EAOId,aAAA,CAACO,KAAD;IAAwBK,SAAS,EAAC;GAAlC,CAPJ,EAQKT,KARL,CADJ,CAJJ,CADJ;AAmBH,CAtBsB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tour.js","sources":["../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import keycode from 'keycode';\nimport * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Provider';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.keyCode === keycode('esc') && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n function callback(state: CallBackProps) {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n }\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.light\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","keyCode","keycode","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","useLocalization","tour","texts","run","autoStart","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
1
+ {"version":3,"file":"Tour.js","sources":["../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import keycode from 'keycode';\nimport * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Provider';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.keyCode === keycode('esc') && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n function callback(state: CallBackProps) {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n }\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.light\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","keyCode","keycode","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","useLocalization","tour","texts","run","autoStart","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Treeview.js","sources":["../../../../src/components/Treeview/Treeview.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nexport type TreeviewItemProps = React.LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst TreeviewItem = React.forwardRef(function TreeviewItem(props: TreeviewItemProps, ref: React.Ref<HTMLAnchorElement>) {\n return <a {...props} ref={ref} />;\n});\n\nexport type TreeviewGroupProps = Omit<React.LinkHTMLAttributes<HTMLDivElement>, 'className' | 'onClick' | 'title'> & {\n /** Add a classname to the treeview */\n className?: string | ((expanded: boolean) => string);\n /**\n * Set wheter the region is expanded, showing the children, or collapsed.\n * Default value is `false`\n */\n expanded?: boolean;\n /** Region is expanded at mount and can't be collapsed */\n fixed?: boolean;\n /** Handler called when user clicks the title of the group */\n onClick?: (event: React.MouseEvent<HTMLDivElement>, expanded: boolean) => void;\n /** Text displayed in the group's header */\n title: React.ReactNode | ((expanded: boolean) => React.ReactNode);\n};\n\nconst TreeviewGroup = React.forwardRef(function TreeviewGroup(props: TreeviewGroupProps, ref: React.Ref<HTMLDivElement>) {\n const {\n children,\n className: externalClassName,\n expanded: initialExpanded = false,\n title,\n fixed,\n onClick,\n ...otherProps\n } = props;\n const [expanded, setExpanded] = React.useState(fixed || initialExpanded);\n\n React.useEffect(() => {\n if (!fixed) {\n setExpanded(fixed || initialExpanded);\n }\n }, [fixed, initialExpanded]);\n\n const listClassName = cn('flex-col mb-0', {\n flex: expanded,\n hidden: !expanded,\n });\n\n const itemProps = {\n ...otherProps,\n 'aria-expanded': expanded,\n role: 'treeitem',\n tabIndex: -1,\n };\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\n const nextState = !expanded;\n\n if (!fixed) {\n setExpanded(nextState);\n }\n\n if (onClick) {\n onClick(event, nextState);\n }\n };\n\n const className = typeof externalClassName === 'function' ? externalClassName(expanded) : externalClassName;\n\n return (\n <div {...itemProps} className={className} ref={ref}>\n <div onClick={handleClick}>{typeof title === 'function' ? title(expanded) : title}</div>\n <ul role=\"group\" className={listClassName}>\n {React.Children.toArray(children)\n .filter(item => !!item)\n .map((item, i) => (\n <li key={i} role=\"none\">\n {React.cloneElement(item as React.ReactElement<any>, { role: 'treeitem' })}\n </li>\n ))}\n </ul>\n </div>\n );\n});\n\nexport type TreeviewProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type ForwardedTreeviewWithStatics = React.ForwardRefExoticComponent<\n TreeviewProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Navigable link */\n Item: React.ForwardRefExoticComponent<TreeviewItemProps & React.RefAttributes<HTMLAnchorElement>>;\n /** Container for a set of related links, usually expandable */\n Group: React.ForwardRefExoticComponent<TreeviewGroupProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Treeview = React.forwardRef(function Treeview(props: TreeviewProps, ref: React.Ref<HTMLDivElement>) {\n return <div {...props} ref={ref} role=\"tree\" />;\n}) as ForwardedTreeviewWithStatics;\n\nTreeview.Group = TreeviewGroup;\nTreeview.Item = TreeviewItem;\n"],"names":["TreeviewItem","React","forwardRef","props","ref","TreeviewGroup","children","externalClassName","className","expanded","initialExpanded","title","fixed","onClick","otherProps","useState","setExpanded","useEffect","listClassName","cn","flex","hidden","itemProps","role","tabIndex","handleClick","event","nextState","Children","toArray","filter","item","map","i","key","cloneElement","Treeview","Group","Item"],"mappings":"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"}
1
+ {"version":3,"file":"Treeview.js","sources":["../../../../src/components/Treeview/Treeview.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nexport type TreeviewItemProps = React.LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst TreeviewItem = React.forwardRef(function TreeviewItem(props: TreeviewItemProps, ref: React.Ref<HTMLAnchorElement>) {\n return <a {...props} ref={ref} />;\n});\n\nexport type TreeviewGroupProps = Omit<React.LinkHTMLAttributes<HTMLDivElement>, 'className' | 'onClick' | 'title'> & {\n /** Add a classname to the treeview */\n className?: string | ((expanded: boolean) => string);\n /**\n * Set wheter the region is expanded, showing the children, or collapsed.\n * Default value is `false`\n */\n expanded?: boolean;\n /** Region is expanded at mount and can't be collapsed */\n fixed?: boolean;\n /** Handler called when user clicks the title of the group */\n onClick?: (event: React.MouseEvent<HTMLDivElement>, expanded: boolean) => void;\n /** Text displayed in the group's header */\n title: React.ReactNode | ((expanded: boolean) => React.ReactNode);\n};\n\nconst TreeviewGroup = React.forwardRef(function TreeviewGroup(props: TreeviewGroupProps, ref: React.Ref<HTMLDivElement>) {\n const {\n children,\n className: externalClassName,\n expanded: initialExpanded = false,\n title,\n fixed,\n onClick,\n ...otherProps\n } = props;\n const [expanded, setExpanded] = React.useState(fixed || initialExpanded);\n\n React.useEffect(() => {\n if (!fixed) {\n setExpanded(fixed || initialExpanded);\n }\n }, [fixed, initialExpanded]);\n\n const listClassName = cn('flex-col mb-0', {\n flex: expanded,\n hidden: !expanded,\n });\n\n const itemProps = {\n ...otherProps,\n 'aria-expanded': expanded,\n role: 'treeitem',\n tabIndex: -1,\n };\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\n const nextState = !expanded;\n\n if (!fixed) {\n setExpanded(nextState);\n }\n\n if (onClick) {\n onClick(event, nextState);\n }\n };\n\n const className = typeof externalClassName === 'function' ? externalClassName(expanded) : externalClassName;\n\n return (\n <div {...itemProps} className={className} ref={ref}>\n <div onClick={handleClick}>{typeof title === 'function' ? title(expanded) : title}</div>\n <ul role=\"group\" className={listClassName}>\n {React.Children.toArray(children)\n .filter(item => !!item)\n .map((item, i) => (\n <li key={i} role=\"none\">\n {React.cloneElement(item as React.ReactElement<any>, { role: 'treeitem' })}\n </li>\n ))}\n </ul>\n </div>\n );\n});\n\nexport type TreeviewProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type ForwardedTreeviewWithStatics = React.ForwardRefExoticComponent<\n TreeviewProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Navigable link */\n Item: React.ForwardRefExoticComponent<TreeviewItemProps & React.RefAttributes<HTMLAnchorElement>>;\n /** Container for a set of related links, usually expandable */\n Group: React.ForwardRefExoticComponent<TreeviewGroupProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Treeview = React.forwardRef(function Treeview(props: TreeviewProps, ref: React.Ref<HTMLDivElement>) {\n return <div {...props} ref={ref} role=\"tree\" />;\n}) as ForwardedTreeviewWithStatics;\n\nTreeview.Group = TreeviewGroup;\nTreeview.Item = TreeviewItem;\n"],"names":["TreeviewItem","React","forwardRef","props","ref","TreeviewGroup","children","externalClassName","className","expanded","initialExpanded","title","fixed","onClick","otherProps","useState","setExpanded","useEffect","listClassName","cn","flex","hidden","itemProps","role","tabIndex","handleClick","event","nextState","Children","toArray","filter","item","map","i","key","cloneElement","Treeview","Group","Item"],"mappings":";;;;;AAKA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,UAAN,CAAiB,SAASF,YAAT,CAAsBG,KAAtB,EAAgDC,GAAhD;EAClC,OAAOH,4BAAA,IAAA,oBAAOE;IAAOC,GAAG,EAAEA;IAAnB,CAAP;AACH,CAFoB,CAArB;AAoBA,IAAMC,aAAa,gBAAGJ,cAAK,CAACC,UAAN,CAAiB,SAASG,aAAT,CAAuBF,KAAvB,EAAkDC,GAAlD;EACnC,IACIE,QADJ,GAQIH,KARJ,CACIG,QADJ;MAEeC,iBAFf,GAQIJ,KARJ,CAEIK,SAFJ;wBAQIL,KARJ,CAGIM,QAHJ;MAGcC,eAHd,gCAGgC,KAHhC;MAIIC,KAJJ,GAQIR,KARJ,CAIIQ,KAJJ;MAKIC,KALJ,GAQIT,KARJ,CAKIS,KALJ;MAMIC,OANJ,GAQIV,KARJ,CAMIU,OANJ;MAOOC,UAPP,iCAQIX,KARJ;;EASA,sBAAgCF,cAAK,CAACc,QAAN,CAAeH,KAAK,IAAIF,eAAxB,CAAhC;MAAOD,QAAP;MAAiBO,WAAjB;;EAEAf,cAAK,CAACgB,SAAN,CAAgB;IACZ,IAAI,CAACL,KAAL,EAAY;MACRI,WAAW,CAACJ,KAAK,IAAIF,eAAV,CAAX;;GAFR,EAIG,CAACE,KAAD,EAAQF,eAAR,CAJH;EAMA,IAAMQ,aAAa,GAAGC,EAAE,CAAC,eAAD,EAAkB;IACtCC,IAAI,EAAEX,QADgC;IAEtCY,MAAM,EAAE,CAACZ;GAFW,CAAxB;;EAKA,IAAMa,SAAS,gBACRR,UADQ;IAEX,iBAAiBL,QAFN;IAGXc,IAAI,EAAE,UAHK;IAIXC,QAAQ,EAAE,CAAC;IAJf;;EAOA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD;IAChB,IAAMC,SAAS,GAAG,CAAClB,QAAnB;;IAEA,IAAI,CAACG,KAAL,EAAY;MACRI,WAAW,CAACW,SAAD,CAAX;;;IAGJ,IAAId,OAAJ,EAAa;MACTA,OAAO,CAACa,KAAD,EAAQC,SAAR,CAAP;;GARR;;EAYA,IAAMnB,SAAS,GAAG,OAAOD,iBAAP,KAA6B,UAA7B,GAA0CA,iBAAiB,CAACE,QAAD,CAA3D,GAAwEF,iBAA1F;EAEA,OACIN,4BAAA,MAAA,oBAASqB;IAAWd,SAAS,EAAEA;IAAWJ,GAAG,EAAEA;IAA/C,EACIH,4BAAA,MAAA;IAAKY,OAAO,EAAEY;GAAd,EAA4B,OAAOd,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,CAACF,QAAD,CAAnC,GAAgDE,KAA5E,CADJ,EAEIV,4BAAA,KAAA;IAAIsB,IAAI,EAAC;IAAQf,SAAS,EAAEU;GAA5B,EACKjB,cAAK,CAAC2B,QAAN,CAAeC,OAAf,CAAuBvB,QAAvB,EACIwB,MADJ,CACW,UAAAC,IAAI;IAAA,OAAI,CAAC,CAACA,IAAN;GADf,EAEIC,GAFJ,CAEQ,UAACD,IAAD,EAAOE,CAAP;IAAA,OACDhC,4BAAA,KAAA;MAAIiC,GAAG,EAAED;MAAGV,IAAI,EAAC;KAAjB,EACKtB,cAAK,CAACkC,YAAN,CAAmBJ,IAAnB,EAAoD;MAAER,IAAI,EAAE;KAA5D,CADL,CADC;GAFR,CADL,CAFJ,CADJ;AAcH,CA1DqB,CAAtB;IAuEaa,QAAQ,gBAAGnC,cAAK,CAACC,UAAN,CAAiB,SAASkC,QAAT,CAAkBjC,KAAlB,EAAwCC,GAAxC;EACrC,OAAOH,4BAAA,MAAA,oBAASE;IAAOC,GAAG,EAAEA;IAAKmB,IAAI,EAAC;IAA/B,CAAP;AACH,CAFuB;AAIxBa,QAAQ,CAACC,KAAT,GAAiBhC,aAAjB;AACA+B,QAAQ,CAACE,IAAT,GAAgBtC,YAAhB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VisuallyHidden.js","sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype Props = React.HTMLAttributes<HTMLSpanElement>;\n\nexport const VisuallyHidden = React.forwardRef(function VisuallyHidden(props: Props, ref: React.Ref<HTMLSpanElement>) {\n return <span {...props} className=\"sr-only\" ref={ref} />;\n});\n"],"names":["VisuallyHidden","React","props","ref","className"],"mappings":";;IAIaA,cAAc,gBAAGC,UAAA,CAAiB,SAASD,cAAT,CAAwBE,KAAxB,EAAsCC,GAAtC;AAC3C,SAAOF,aAAA,OAAA,oBAAUC;AAAOE,IAAAA,SAAS,EAAC;AAAUD,IAAAA,GAAG,EAAEA;IAA1C,CAAP;AACH,CAF6B;;;;"}
1
+ {"version":3,"file":"VisuallyHidden.js","sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype Props = React.HTMLAttributes<HTMLSpanElement>;\n\nexport const VisuallyHidden = React.forwardRef(function VisuallyHidden(props: Props, ref: React.Ref<HTMLSpanElement>) {\n return <span {...props} className=\"sr-only\" ref={ref} />;\n});\n"],"names":["VisuallyHidden","React","props","ref","className"],"mappings":";;IAIaA,cAAc,gBAAGC,UAAA,CAAiB,SAASD,cAAT,CAAwBE,KAAxB,EAAsCC,GAAtC;EAC3C,OAAOF,aAAA,OAAA,oBAAUC;IAAOE,SAAS,EAAC;IAAUD,GAAG,EAAEA;IAA1C,CAAP;AACH,CAF6B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../src/primitives/Button.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> & {\n /** Content should be a text */\n children: React.ReactNode;\n /** Provides url for buttons being used as a link */\n href?: string;\n /** Provides target for buttons being used as a link */\n target?: '_self' | '_blank' | '_parent' | '_top';\n};\n\nconst Button = React.forwardRef(function Button(props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) {\n const { disabled, target, type = 'button', ...otherProps } = props;\n\n const Tag = props.href ? 'a' : 'button';\n\n return (\n <Tag\n {...otherProps}\n aria-disabled={disabled ? 'true' : undefined}\n disabled={disabled}\n target={Tag === 'a' ? target : undefined}\n type={Tag !== 'a' ? type : undefined}\n ref={ref as any}\n >\n {React.Children.count(props.children) > 1\n ? React.Children.map(props.children, child => (typeof child === 'string' ? <span>{child}</span> : child))\n : props.children}\n </Tag>\n );\n});\n\nexport { Button, ButtonProps };\n"],"names":["Button","React","props","ref","disabled","target","type","otherProps","Tag","href","undefined","count","children","map","child"],"mappings":";;;;IAWMA,MAAM,gBAAGC,UAAA,CAAiB,SAASD,MAAT,CAAgBE,KAAhB,EAAoCC,GAApC;AAC5B,MAAQC,QAAR,GAA6DF,KAA7D,CAAQE,QAAR;AAAA,MAAkBC,MAAlB,GAA6DH,KAA7D,CAAkBG,MAAlB;AAAA,oBAA6DH,KAA7D,CAA0BI,IAA1B;AAAA,MAA0BA,IAA1B,4BAAiC,QAAjC;AAAA,MAA8CC,UAA9C,iCAA6DL,KAA7D;;AAEA,MAAMM,GAAG,GAAGN,KAAK,CAACO,IAAN,GAAa,GAAb,GAAmB,QAA/B;AAEA,SACIR,aAAA,CAACO,GAAD,oBACQD;qBACWH,QAAQ,GAAG,MAAH,GAAYM;AACnCN,IAAAA,QAAQ,EAAEA;AACVC,IAAAA,MAAM,EAAEG,GAAG,KAAK,GAAR,GAAcH,MAAd,GAAuBK;AAC/BJ,IAAAA,IAAI,EAAEE,GAAG,KAAK,GAAR,GAAcF,IAAd,GAAqBI;AAC3BP,IAAAA,GAAG,EAAEA;IANT,EAQKF,QAAA,CAAeU,KAAf,CAAqBT,KAAK,CAACU,QAA3B,IAAuC,CAAvC,GACKX,QAAA,CAAeY,GAAf,CAAmBX,KAAK,CAACU,QAAzB,EAAmC,UAAAE,KAAK;AAAA,WAAK,OAAOA,KAAP,KAAiB,QAAjB,GAA4Bb,aAAA,OAAA,MAAA,EAAOa,KAAP,CAA5B,GAAmDA,KAAxD;AAAA,GAAxC,CADL,GAEKZ,KAAK,CAACU,QAVhB,CADJ;AAcH,CAnBc;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../src/primitives/Button.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> & {\n /** Content should be a text */\n children: React.ReactNode;\n /** Provides url for buttons being used as a link */\n href?: string;\n /** Provides target for buttons being used as a link */\n target?: '_self' | '_blank' | '_parent' | '_top';\n};\n\nconst Button = React.forwardRef(function Button(props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) {\n const { disabled, target, type = 'button', ...otherProps } = props;\n\n const Tag = props.href ? 'a' : 'button';\n\n return (\n <Tag\n {...otherProps}\n aria-disabled={disabled ? 'true' : undefined}\n disabled={disabled}\n target={Tag === 'a' ? target : undefined}\n type={Tag !== 'a' ? type : undefined}\n ref={ref as any}\n >\n {React.Children.count(props.children) > 1\n ? React.Children.map(props.children, child => (typeof child === 'string' ? <span>{child}</span> : child))\n : props.children}\n </Tag>\n );\n});\n\nexport { Button, ButtonProps };\n"],"names":["Button","React","props","ref","disabled","target","type","otherProps","Tag","href","undefined","count","children","map","child"],"mappings":";;;;IAWMA,MAAM,gBAAGC,UAAA,CAAiB,SAASD,MAAT,CAAgBE,KAAhB,EAAoCC,GAApC;EAC5B,IAAQC,QAAR,GAA6DF,KAA7D,CAAQE,QAAR;MAAkBC,MAAlB,GAA6DH,KAA7D,CAAkBG,MAAlB;oBAA6DH,KAA7D,CAA0BI,IAA1B;MAA0BA,IAA1B,4BAAiC,QAAjC;MAA8CC,UAA9C,iCAA6DL,KAA7D;;EAEA,IAAMM,GAAG,GAAGN,KAAK,CAACO,IAAN,GAAa,GAAb,GAAmB,QAA/B;EAEA,OACIR,aAAA,CAACO,GAAD,oBACQD;qBACWH,QAAQ,GAAG,MAAH,GAAYM;IACnCN,QAAQ,EAAEA;IACVC,MAAM,EAAEG,GAAG,KAAK,GAAR,GAAcH,MAAd,GAAuBK;IAC/BJ,IAAI,EAAEE,GAAG,KAAK,GAAR,GAAcF,IAAd,GAAqBI;IAC3BP,GAAG,EAAEA;IANT,EAQKF,QAAA,CAAeU,KAAf,CAAqBT,KAAK,CAACU,QAA3B,IAAuC,CAAvC,GACKX,QAAA,CAAeY,GAAf,CAAmBX,KAAK,CAACU,QAAzB,EAAmC,UAAAE,KAAK;IAAA,OAAK,OAAOA,KAAP,KAAiB,QAAjB,GAA4Bb,aAAA,OAAA,MAAA,EAAOa,KAAP,CAA5B,GAAmDA,KAAxD;GAAxC,CADL,GAEKZ,KAAK,CAACU,QAVhB,CADJ;AAcH,CAnBc;;;;"}