@economic/taco 0.0.12-alpha.0 → 0.0.13-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/README.md +84 -84
  2. package/dist/components/Menu/Menu.d.ts +1 -0
  3. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
  5. package/dist/esm/components/Badge/Badge.js.map +1 -1
  6. package/dist/esm/components/Banner/Banner.js +1 -1
  7. package/dist/esm/components/Banner/Banner.js.map +1 -1
  8. package/dist/esm/components/Banner/util.js +1 -1
  9. package/dist/esm/components/Banner/util.js.map +1 -1
  10. package/dist/esm/components/Button/Button.js.map +1 -1
  11. package/dist/esm/components/Button/util.js +49 -24
  12. package/dist/esm/components/Button/util.js.map +1 -1
  13. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  14. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  15. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  16. package/dist/esm/components/Combobox/useCombobox.js +64 -84
  17. package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
  18. package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
  19. package/dist/esm/components/Datepicker/useDatepicker.js +35 -33
  20. package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
  21. package/dist/esm/components/Dialog/Context.js +3 -3
  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 +39 -44
  25. package/dist/esm/components/Dialog/components/Content.js.map +1 -1
  26. package/dist/esm/components/Dialog/components/Drawer.js +3 -3
  27. package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
  28. package/dist/esm/components/Dialog/components/Extra.js +2 -2
  29. package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
  30. package/dist/esm/components/Dialog/components/Trigger.js +2 -2
  31. package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
  32. package/dist/esm/components/Form/Form.js.map +1 -1
  33. package/dist/esm/components/Group/Group.js.map +1 -1
  34. package/dist/esm/components/Hanger/Hanger.js.map +1 -1
  35. package/dist/esm/components/Icon/Icon.js.map +1 -1
  36. package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -1
  37. package/dist/esm/components/Icon/components/Accounting.js.map +1 -1
  38. package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -1
  39. package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -1
  40. package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -1
  41. package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -1
  42. package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -1
  43. package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -1
  44. package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -1
  45. package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -1
  46. package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -1
  47. package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -1
  48. package/dist/esm/components/Icon/components/Attach.js.map +1 -1
  49. package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -1
  50. package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -1
  51. package/dist/esm/components/Icon/components/Autotext.js.map +1 -1
  52. package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -1
  53. package/dist/esm/components/Icon/components/Basic.js.map +1 -1
  54. package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -1
  55. package/dist/esm/components/Icon/components/BellSolid.js.map +1 -1
  56. package/dist/esm/components/Icon/components/Book.js.map +1 -1
  57. package/dist/esm/components/Icon/components/Booking.js.map +1 -1
  58. package/dist/esm/components/Icon/components/Budget.js.map +1 -1
  59. package/dist/esm/components/Icon/components/Calendar.js.map +1 -1
  60. package/dist/esm/components/Icon/components/CashAccount.js.map +1 -1
  61. package/dist/esm/components/Icon/components/CashReports.js.map +1 -1
  62. package/dist/esm/components/Icon/components/Chat.js.map +1 -1
  63. package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -1
  64. package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -1
  65. package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -1
  66. package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -1
  67. package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -1
  68. package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  69. package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -1
  70. package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -1
  71. package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -1
  72. package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -1
  73. package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -1
  74. package/dist/esm/components/Icon/components/Clamp.js.map +1 -1
  75. package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -1
  76. package/dist/esm/components/Icon/components/Close.js.map +1 -1
  77. package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -1
  78. package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -1
  79. package/dist/esm/components/Icon/components/Contacts.js.map +1 -1
  80. package/dist/esm/components/Icon/components/Copy.js.map +1 -1
  81. package/dist/esm/components/Icon/components/Courses.js.map +1 -1
  82. package/dist/esm/components/Icon/components/Credit.js.map +1 -1
  83. package/dist/esm/components/Icon/components/Delete.js.map +1 -1
  84. package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -1
  85. package/dist/esm/components/Icon/components/Depecriate.js.map +1 -1
  86. package/dist/esm/components/Icon/components/Developer.js.map +1 -1
  87. package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -1
  88. package/dist/esm/components/Icon/components/Document.js.map +1 -1
  89. package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -1
  90. package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  91. package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -1
  92. package/dist/esm/components/Icon/components/DocumentError.js.map +1 -1
  93. package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  94. package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -1
  95. package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -1
  96. package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -1
  97. package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -1
  98. package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  99. package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -1
  100. package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -1
  101. package/dist/esm/components/Icon/components/Download.js.map +1 -1
  102. package/dist/esm/components/Icon/components/Drag.js.map +1 -1
  103. package/dist/esm/components/Icon/components/ECopedia.js.map +1 -1
  104. package/dist/esm/components/Icon/components/ESignature.js.map +1 -1
  105. package/dist/esm/components/Icon/components/Edit.js.map +1 -1
  106. package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  107. package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -1
  108. package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -1
  109. package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -1
  110. package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -1
  111. package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  112. package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  113. package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  114. package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  115. package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  116. package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  117. package/dist/esm/components/Icon/components/Envelope.js.map +1 -1
  118. package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -1
  119. package/dist/esm/components/Icon/components/ExpandView.js.map +1 -1
  120. package/dist/esm/components/Icon/components/Expenses.js.map +1 -1
  121. package/dist/esm/components/Icon/components/Export.js.map +1 -1
  122. package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -1
  123. package/dist/esm/components/Icon/components/ExportToExcelCopy.js.map +1 -1
  124. package/dist/esm/components/Icon/components/Filter.js.map +1 -1
  125. package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -1
  126. package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -1
  127. package/dist/esm/components/Icon/components/Hash.js.map +1 -1
  128. package/dist/esm/components/Icon/components/Home.js.map +1 -1
  129. package/dist/esm/components/Icon/components/Images.js.map +1 -1
  130. package/dist/esm/components/Icon/components/Import.js.map +1 -1
  131. package/dist/esm/components/Icon/components/Inbox.js.map +1 -1
  132. package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -1
  133. package/dist/esm/components/Icon/components/Info.js.map +1 -1
  134. package/dist/esm/components/Icon/components/Inventory.js.map +1 -1
  135. package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -1
  136. package/dist/esm/components/Icon/components/JournalPro.js.map +1 -1
  137. package/dist/esm/components/Icon/components/Layout.js.map +1 -1
  138. package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -1
  139. package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -1
  140. package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -1
  141. package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -1
  142. package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -1
  143. package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  144. package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  145. package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  146. package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  147. package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  148. package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  149. package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  150. package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  151. package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -1
  152. package/dist/esm/components/Icon/components/Line.js.map +1 -1
  153. package/dist/esm/components/Icon/components/List.js.map +1 -1
  154. package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -1
  155. package/dist/esm/components/Icon/components/ListSearch.js.map +1 -1
  156. package/dist/esm/components/Icon/components/LockOpen.js.map +1 -1
  157. package/dist/esm/components/Icon/components/Log.js.map +1 -1
  158. package/dist/esm/components/Icon/components/Market.js.map +1 -1
  159. package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -1
  160. package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -1
  161. package/dist/esm/components/Icon/components/Mileage.js.map +1 -1
  162. package/dist/esm/components/Icon/components/Minus.js.map +1 -1
  163. package/dist/esm/components/Icon/components/ModalResize.js.map +1 -1
  164. package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -1
  165. package/dist/esm/components/Icon/components/More.js.map +1 -1
  166. package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -1
  167. package/dist/esm/components/Icon/components/Move.js.map +1 -1
  168. package/dist/esm/components/Icon/components/NavigationList.js.map +1 -1
  169. package/dist/esm/components/Icon/components/Note.js.map +1 -1
  170. package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -1
  171. package/dist/esm/components/Icon/components/NoteRead.js.map +1 -1
  172. package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -1
  173. package/dist/esm/components/Icon/components/Period.js.map +1 -1
  174. package/dist/esm/components/Icon/components/PersonChange.js.map +1 -1
  175. package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -1
  176. package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -1
  177. package/dist/esm/components/Icon/components/PersonTick.js.map +1 -1
  178. package/dist/esm/components/Icon/components/Play.js.map +1 -1
  179. package/dist/esm/components/Icon/components/PlusCircle.js.map +1 -1
  180. package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -1
  181. package/dist/esm/components/Icon/components/Print.js.map +1 -1
  182. package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -1
  183. package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -1
  184. package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -1
  185. package/dist/esm/components/Icon/components/Projects.js.map +1 -1
  186. package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -1
  187. package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -1
  188. package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  189. package/dist/esm/components/Icon/components/Reconciled.js.map +1 -1
  190. package/dist/esm/components/Icon/components/Refresh.js.map +1 -1
  191. package/dist/esm/components/Icon/components/Report.js.map +1 -1
  192. package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -1
  193. package/dist/esm/components/Icon/components/Restore.js.map +1 -1
  194. package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -1
  195. package/dist/esm/components/Icon/components/RotateRight.js.map +1 -1
  196. package/dist/esm/components/Icon/components/Sales.js.map +1 -1
  197. package/dist/esm/components/Icon/components/Search.js.map +1 -1
  198. package/dist/esm/components/Icon/components/SearchBold.js.map +1 -1
  199. package/dist/esm/components/Icon/components/Secure.js.map +1 -1
  200. package/dist/esm/components/Icon/components/SecureTick.js.map +1 -1
  201. package/dist/esm/components/Icon/components/Settings.js.map +1 -1
  202. package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -1
  203. package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -1
  204. package/dist/esm/components/Icon/components/ShowAll.js.map +1 -1
  205. package/dist/esm/components/Icon/components/ShowLess.js.map +1 -1
  206. package/dist/esm/components/Icon/components/ShowMore.js.map +1 -1
  207. package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -1
  208. package/dist/esm/components/Icon/components/Sliders.js.map +1 -1
  209. package/dist/esm/components/Icon/components/Smartpay.js.map +1 -1
  210. package/dist/esm/components/Icon/components/SortBy.js.map +1 -1
  211. package/dist/esm/components/Icon/components/Spinner.js.map +1 -1
  212. package/dist/esm/components/Icon/components/Star.js.map +1 -1
  213. package/dist/esm/components/Icon/components/StarSolid.js.map +1 -1
  214. package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -1
  215. package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -1
  216. package/dist/esm/components/Icon/components/Tag.js.map +1 -1
  217. package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -1
  218. package/dist/esm/components/Icon/components/Templates.js.map +1 -1
  219. package/dist/esm/components/Icon/components/Thumb.js.map +1 -1
  220. package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -1
  221. package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -1
  222. package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -1
  223. package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -1
  224. package/dist/esm/components/Icon/components/Tick.js.map +1 -1
  225. package/dist/esm/components/Icon/components/TickCircle.js.map +1 -1
  226. package/dist/esm/components/Icon/components/Time.js.map +1 -1
  227. package/dist/esm/components/Icon/components/Transfer.js.map +1 -1
  228. package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -1
  229. package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -1
  230. package/dist/esm/components/Icon/components/Undock.js.map +1 -1
  231. package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -1
  232. package/dist/esm/components/Icon/components/Warning.js.map +1 -1
  233. package/dist/esm/components/Icon/components/Webshop.js.map +1 -1
  234. package/dist/esm/components/Icon/components/Website.js.map +1 -1
  235. package/dist/esm/components/Icon/components/Workflow.js.map +1 -1
  236. package/dist/esm/components/Icon/components/Zoom.js.map +1 -1
  237. package/dist/esm/components/Icon/components/index.js +4 -4
  238. package/dist/esm/components/Icon/components/index.js.map +1 -1
  239. package/dist/esm/components/IconButton/IconButton.js.map +1 -1
  240. package/dist/esm/components/Input/Input.js.map +1 -1
  241. package/dist/esm/components/Input/util.js +9 -8
  242. package/dist/esm/components/Input/util.js.map +1 -1
  243. package/dist/esm/components/Label/Label.js.map +1 -1
  244. package/dist/esm/components/Listbox/Listbox.js.map +1 -1
  245. package/dist/esm/components/Listbox/ScrollableList.js +63 -82
  246. package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
  247. package/dist/esm/components/Listbox/useListbox.js +49 -58
  248. package/dist/esm/components/Listbox/useListbox.js.map +1 -1
  249. package/dist/esm/components/Listbox/useMultiListbox.js +63 -91
  250. package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
  251. package/dist/esm/components/Listbox/useTypeahead.js +10 -9
  252. package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
  253. package/dist/esm/components/Listbox/util.js +48 -84
  254. package/dist/esm/components/Listbox/util.js.map +1 -1
  255. package/dist/esm/components/Menu/Context.js +2 -2
  256. package/dist/esm/components/Menu/Context.js.map +1 -1
  257. package/dist/esm/components/Menu/Menu.js.map +1 -1
  258. package/dist/esm/components/Menu/components/Checkbox.js +8 -9
  259. package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
  260. package/dist/esm/components/Menu/components/Content.js +10 -13
  261. package/dist/esm/components/Menu/components/Content.js.map +1 -1
  262. package/dist/esm/components/Menu/components/Header.js +4 -4
  263. package/dist/esm/components/Menu/components/Header.js.map +1 -1
  264. package/dist/esm/components/Menu/components/Item.js +34 -35
  265. package/dist/esm/components/Menu/components/Item.js.map +1 -1
  266. package/dist/esm/components/Menu/components/Link.js +7 -8
  267. package/dist/esm/components/Menu/components/Link.js.map +1 -1
  268. package/dist/esm/components/Menu/components/RadioGroup.js +16 -18
  269. package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
  270. package/dist/esm/components/Menu/components/Separator.js +4 -4
  271. package/dist/esm/components/Menu/components/Separator.js.map +1 -1
  272. package/dist/esm/components/Menu/components/Trigger.js +5 -5
  273. package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
  274. package/dist/esm/components/Navigation/Navigation.js.map +1 -1
  275. package/dist/esm/components/Pagination/PageNumbers.js +23 -28
  276. package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
  277. package/dist/esm/components/Pagination/Pagination.js +39 -56
  278. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  279. package/dist/esm/components/Pagination/usePagination.js +7 -21
  280. package/dist/esm/components/Pagination/usePagination.js.map +1 -1
  281. package/dist/esm/components/Pagination/usePaginationShortcuts.js +9 -9
  282. package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
  283. package/dist/esm/components/Popover/Popover.js +29 -34
  284. package/dist/esm/components/Popover/Popover.js.map +1 -1
  285. package/dist/esm/components/Popover/Primitives.js +27 -30
  286. package/dist/esm/components/Popover/Primitives.js.map +1 -1
  287. package/dist/esm/components/Progress/Progress.js +11 -15
  288. package/dist/esm/components/Progress/Progress.js.map +1 -1
  289. package/dist/esm/components/Provider/Provider.js +14 -19
  290. package/dist/esm/components/Provider/Provider.js.map +1 -1
  291. package/dist/esm/components/RadioGroup/RadioGroup.js +45 -57
  292. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  293. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  294. package/dist/esm/components/Select/Select.js +30 -31
  295. package/dist/esm/components/Select/Select.js.map +1 -1
  296. package/dist/esm/components/Select/useSelect.js +63 -82
  297. package/dist/esm/components/Select/useSelect.js.map +1 -1
  298. package/dist/esm/components/Spinner/Spinner.js +12 -19
  299. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  300. package/dist/esm/components/Switch/Switch.js +9 -10
  301. package/dist/esm/components/Switch/Switch.js.map +1 -1
  302. package/dist/esm/components/Table/components/BaseTable.js +23 -30
  303. package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
  304. package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
  305. package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
  306. package/dist/esm/components/Table/components/Table.js +18 -25
  307. package/dist/esm/components/Table/components/Table.js.map +1 -1
  308. package/dist/esm/components/Table/components/WindowedTable.js +88 -104
  309. package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
  310. package/dist/esm/components/Table/hooks/plugins/useRowActions.js +122 -146
  311. package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  312. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
  313. package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  314. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
  315. package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  316. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +80 -90
  317. package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  318. package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
  319. package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
  320. package/dist/esm/components/Table/hooks/useTable.js +119 -141
  321. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  322. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +12 -15
  323. package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  324. package/dist/esm/components/Table/util/renderColumn.js +10 -10
  325. package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
  326. package/dist/esm/components/Table/util/renderRow.js +37 -46
  327. package/dist/esm/components/Table/util/renderRow.js.map +1 -1
  328. package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
  329. package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
  330. package/dist/esm/components/Table/util/sortTypes.js +23 -31
  331. package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
  332. package/dist/esm/components/Table/util.js +29 -41
  333. package/dist/esm/components/Table/util.js.map +1 -1
  334. package/dist/esm/components/Tabs/Tabs.js +25 -27
  335. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  336. package/dist/esm/components/Textarea/Textarea.js +8 -6
  337. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  338. package/dist/esm/components/Toast/Toast.js +20 -21
  339. package/dist/esm/components/Toast/Toast.js.map +1 -1
  340. package/dist/esm/components/Toast/Toaster.js +88 -118
  341. package/dist/esm/components/Toast/Toaster.js.map +1 -1
  342. package/dist/esm/components/Toast/util.js +2 -2
  343. package/dist/esm/components/Toast/util.js.map +1 -1
  344. package/dist/esm/components/Tooltip/Tooltip.js +7 -8
  345. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  346. package/dist/esm/components/Tour/Tour.js +44 -50
  347. package/dist/esm/components/Tour/Tour.js.map +1 -1
  348. package/dist/esm/components/Treeview/Treeview.js +26 -36
  349. package/dist/esm/components/Treeview/Treeview.js.map +1 -1
  350. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  351. package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  352. package/dist/esm/index.css +638 -638
  353. package/dist/esm/index.js +1 -1
  354. package/dist/esm/primitives/Button.js +9 -13
  355. package/dist/esm/primitives/Button.js.map +1 -1
  356. package/dist/esm/utils/date.js.map +1 -1
  357. package/dist/esm/utils/hooks/useBoundingClientRectListener.js +12 -20
  358. package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
  359. package/dist/esm/utils/hooks/useDraggable.js +16 -18
  360. package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
  361. package/dist/esm/utils/hooks/useDropTarget.js +7 -10
  362. package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
  363. package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  364. package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
  365. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  366. package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
  367. package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
  368. package/dist/esm/utils/hooks/useTimer.js +9 -17
  369. package/dist/esm/utils/hooks/useTimer.js.map +1 -1
  370. package/dist/esm/utils/input.js +7 -11
  371. package/dist/esm/utils/input.js.map +1 -1
  372. package/dist/esm/utils/mergeRefs.js +2 -2
  373. package/dist/esm/utils/mergeRefs.js.map +1 -1
  374. package/dist/esm/utils/taillwind.js +2 -2
  375. package/dist/esm/utils/taillwind.js.map +1 -1
  376. package/dist/index.css +638 -638
  377. package/dist/taco.cjs.development.js +1914 -2299
  378. package/dist/taco.cjs.development.js.map +1 -1
  379. package/dist/taco.cjs.production.min.js +1 -1
  380. package/dist/taco.cjs.production.min.js.map +1 -1
  381. package/dist/utils/tailwind.d.ts +1 -1
  382. package/package.json +2 -2
  383. package/plugins/tailwindcss-aria-attributes.js +73 -73
  384. package/tailwind.config.js +297 -297
package/README.md CHANGED
@@ -1,84 +1,84 @@
1
- [![Build Status](https://travis-ci.com/e-conomic/taco.svg?token=YDzqGqegnmo39NdayXBd&branch=master)](https://travis-ci.com/e-conomic/taco)
2
-
3
- # @economic/taco
4
-
5
- > UI React component library
6
-
7
- ## Usage
8
-
9
- ```bash
10
- npm install @economic/taco
11
- ```
12
-
13
- ```javascript
14
- import { Button } from '@economic/taco';
15
-
16
- const MyComponent = () => <Button>Tada!</Button>;
17
- ```
18
-
19
- ## Development
20
-
21
- ### Guidelines for new components
22
-
23
- Start by creating a folder under `src/` with the name of the component, e.g. `<MyAwesomeComponent />`:
24
-
25
- ```
26
- src/
27
- ├── ...
28
- ├── components
29
- │   ├── MyAwesomeComponent
30
- │   │   ├── MyAwesomeComponent.css
31
- │   │   ├── MyAwesomeComponent.mdx
32
- │   │   ├── MyAwesomeComponent.test.tsx
33
- │   │   ├── MyAwesomeComponent.tsx
34
- ├── index.tsx
35
- └── ...
36
- ```
37
-
38
- Conceptually, the component's style, implementation, tests & documentation are co-located in its own folder.
39
-
40
- `MyAwesomeComponent/MyAwesomeComponent.css` Holds the component's style, directly imported in the implementation
41
- `MyAwesomeComponent/MyAwesomeComponent.mdx` Holds the component's documentation
42
- `MyAwesomeComponent/MyAwesomeComponent.test.tsx` Holds the component's tests - if applicable
43
- `MyAwesomeComponent/MyAwesomeComponent.tsx` Holds the component's implementation
44
-
45
- > If the component has a special (_snowflake_) case/variation, it's best advised to implement as separate component within the same folder (e.g. `<Button />` and `<IconButton />`)
46
-
47
- # Consumption
48
-
49
- #### Components
50
-
51
- Import individual components from tailwind as you need them.
52
-
53
- #### Styling
54
-
55
- Taco uses tailwind, but does not process its css before exporting. It exports css _with_ tailwind commands present - you must process the stylesheet with tailwind yourself.
56
-
57
- Browser targeting, purging and minification should be performed _by the consumer_.
58
-
59
- Your postcss config probably looks something like this:
60
-
61
- ```js
62
- module.exports = {
63
- plugins: ['tailwindcss', 'autoprefixer'],
64
- };
65
- ```
66
-
67
- Your `tailwind.config.js` should look something like this:
68
-
69
- ```js
70
- const tailwindConfig = require('@economic/taco/tailwind.config.js');
71
-
72
- module.exports = {
73
- presets: [require('@economic/taco/tailwind.config.js'))],
74
- content: {
75
- files: ['../src/**/*.{mdx,tsx}', './node_modules/@economic/taco/dist/taco.esm.js'],
76
- },
77
- };
78
- ```
79
-
80
- You should then import the taco stylesheet in your application:
81
-
82
- ```css
83
- import '@economic/taco/dist/index.css';
84
- ```
1
+ [![Build Status](https://travis-ci.com/e-conomic/taco.svg?token=YDzqGqegnmo39NdayXBd&branch=master)](https://travis-ci.com/e-conomic/taco)
2
+
3
+ # @economic/taco
4
+
5
+ > UI React component library
6
+
7
+ ## Usage
8
+
9
+ ```bash
10
+ npm install @economic/taco
11
+ ```
12
+
13
+ ```javascript
14
+ import { Button } from '@economic/taco';
15
+
16
+ const MyComponent = () => <Button>Tada!</Button>;
17
+ ```
18
+
19
+ ## Development
20
+
21
+ ### Guidelines for new components
22
+
23
+ Start by creating a folder under `src/` with the name of the component, e.g. `<MyAwesomeComponent />`:
24
+
25
+ ```
26
+ src/
27
+ ├── ...
28
+ ├── components
29
+ │   ├── MyAwesomeComponent
30
+ │   │   ├── MyAwesomeComponent.css
31
+ │   │   ├── MyAwesomeComponent.mdx
32
+ │   │   ├── MyAwesomeComponent.test.tsx
33
+ │   │   ├── MyAwesomeComponent.tsx
34
+ ├── index.tsx
35
+ └── ...
36
+ ```
37
+
38
+ Conceptually, the component's style, implementation, tests & documentation are co-located in its own folder.
39
+
40
+ `MyAwesomeComponent/MyAwesomeComponent.css` Holds the component's style, directly imported in the implementation
41
+ `MyAwesomeComponent/MyAwesomeComponent.mdx` Holds the component's documentation
42
+ `MyAwesomeComponent/MyAwesomeComponent.test.tsx` Holds the component's tests - if applicable
43
+ `MyAwesomeComponent/MyAwesomeComponent.tsx` Holds the component's implementation
44
+
45
+ > If the component has a special (_snowflake_) case/variation, it's best advised to implement as separate component within the same folder (e.g. `<Button />` and `<IconButton />`)
46
+
47
+ # Consumption
48
+
49
+ #### Components
50
+
51
+ Import individual components from tailwind as you need them.
52
+
53
+ #### Styling
54
+
55
+ Taco uses tailwind, but does not process its css before exporting. It exports css _with_ tailwind commands present - you must process the stylesheet with tailwind yourself.
56
+
57
+ Browser targeting, purging and minification should be performed _by the consumer_.
58
+
59
+ Your postcss config probably looks something like this:
60
+
61
+ ```js
62
+ module.exports = {
63
+ plugins: ['tailwindcss', 'autoprefixer'],
64
+ };
65
+ ```
66
+
67
+ Your `tailwind.config.js` should look something like this:
68
+
69
+ ```js
70
+ const tailwindConfig = require('@economic/taco/tailwind.config.js');
71
+
72
+ module.exports = {
73
+ presets: [require('@economic/taco/tailwind.config.js'))],
74
+ content: {
75
+ files: ['../src/**/*.{mdx,tsx}', './node_modules/@economic/taco/dist/taco.esm.js'],
76
+ },
77
+ };
78
+ ```
79
+
80
+ You should then import the taco stylesheet in your application:
81
+
82
+ ```css
83
+ import '@economic/taco/dist/index.css';
84
+ ```
@@ -16,6 +16,7 @@ export declare const Menu: {
16
16
  placement?: "right" | "left" | "top" | "bottom" | undefined;
17
17
  } & React.RefAttributes<HTMLDivElement>>;
18
18
  Item: React.ForwardRefExoticComponent<Pick<React.HTMLAttributes<HTMLDivElement>, "children" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & {
19
+ dialog?: ((props: Partial<import("../..").DialogProps>) => JSX.Element) | undefined;
19
20
  disabled?: boolean | undefined;
20
21
  icon?: "time" | "filter" | "line" | "document" | "list" | "log" | "note" | "search" | "account-preview" | "accounting-year-cancel" | "accounting-year" | "accounting" | "arrow-bottom" | "arrow-down" | "arrow-end" | "arrow-left" | "arrow-right" | "arrow-start" | "arrow-top" | "arrow-up" | "attach-auto" | "attach-cancel" | "attach" | "autotext-insert" | "autotext" | "basic-tabs" | "basic" | "bell-solid" | "book" | "booking" | "budget" | "calendar" | "cash-account" | "cash-reports" | "chat-solid" | "chat" | "chevron-down-double" | "chevron-down-solid" | "chevron-down" | "chevron-left-double" | "chevron-left" | "chevron-right-double" | "chevron-right" | "chevron-up-double" | "chevron-up-solid" | "chevron-up" | "clamp-open" | "clamp" | "close" | "connection-enable" | "connection-revoke" | "contacts" | "copy" | "courses" | "credit" | "delete-permanently" | "delete" | "depecriate" | "developer" | "distribution-template" | "document-approve" | "document-create-entry" | "document-cut" | "document-error" | "document-isolate-page" | "document-merge" | "document-move" | "document-preview" | "document-received" | "document-rejected-request" | "document-split" | "document-time" | "download" | "drag" | "e-copedia" | "e-signature" | "edit" | "ellipsis-horizontal" | "ellipsis-vertical" | "entries-on-account" | "entries-open" | "entries-warning" | "entry-type-customer-invoice" | "entry-type-customer-payment" | "entry-type-journal-entry" | "entry-type-manual-customer-invoice" | "entry-type-supplier-invoice" | "entry-type-supplier-payment" | "envelope-approved" | "envelope" | "expand-view" | "expenses" | "export-to-excel-copy" | "export-to-excel" | "export" | "filter-solid" | "graph-solid" | "hash" | "home" | "images" | "import" | "inbox-smart" | "inbox" | "info" | "inventory-matrix" | "inventory" | "journal-pro" | "layout-both" | "layout-first" | "layout-last" | "layout-none" | "layout" | "ledger-card-customer-reminder" | "ledger-card-manual-customer-invoice" | "ledger-card-obsolete-stock" | "ledger-card-opening-entry" | "ledger-card-reserved-entry" | "ledger-card-shrinkage-pilferage" | "ledger-card-stock-adjustment" | "ledger-card-transferred-opening-entry" | "ledger-card" | "lightbulb" | "list-bulleted" | "list-search" | "lock-open" | "market" | "match-amount" | "match-entries" | "mileage" | "minus" | "modal-resize" | "modal-shrink" | "more-solid" | "more" | "move" | "navigation-list" | "note-follow-up" | "note-read" | "partner-api" | "period" | "person-change" | "person-minus" | "person-plus" | "person-tick" | "play" | "plus-circle" | "plus-minus" | "print" | "process-payment" | "product-ledger-card" | "project-cards" | "projects" | "quicklinks" | "rating-bankruptcy" | "rating-payment-problems" | "reconciled" | "refresh" | "report-solid" | "report" | "restore" | "rotate-left" | "rotate-right" | "sales" | "search-bold" | "secure-tick" | "secure" | "settings-solid" | "settings" | "shortcuts" | "show-all" | "show-less" | "show-more" | "show-template" | "sliders" | "smartpay" | "sort-by" | "spinner" | "star-solid" | "star" | "subscriptions" | "system-entries" | "tag" | "template-override" | "templates" | "thumb-both" | "thumb-down-solid" | "thumb-down" | "thumb-up-solid" | "thumb" | "tick-circle" | "tick" | "transfer-cancel" | "transfer-locked" | "transfer" | "undock" | "unreconciled" | "warning" | "webshop" | "website" | "workflow" | "zoom" | undefined;
21
22
  onClick?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { Icon } from '../Icon/Icon';\n\ntype AccordionContext = {\n as: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n};\nconst AccordionContext = React.createContext<AccordionContext>({\n as: 'h2',\n});\n\nexport type AccordionTriggerProps = React.HTMLAttributes<HTMLElement>;\n\nconst StyledTrigger = React.forwardRef((props: AccordionPrimitive.AccordionTriggerProps, ref: React.Ref<HTMLButtonElement>) => {\n const isExpanded = !!props['aria-expanded'];\n\n const className = cn(\n 'w-full inline-flex justify-between items-center align-middle',\n 'focus:rounded-sm focus:border-blue focus:yt-focus',\n props.className\n );\n\n return (\n <button {...props} ref={ref} className={className}>\n {props.children}\n <Icon name={isExpanded ? 'chevron-up' : 'chevron-down'} />\n </button>\n );\n});\n\nconst Trigger = React.forwardRef((props: AccordionTriggerProps, ref: React.Ref<HTMLButtonElement>) => {\n const { children } = props;\n const { as: Heading } = React.useContext(AccordionContext);\n\n return (\n <AccordionPrimitive.Header asChild>\n <Heading className=\"my-3\">\n <AccordionPrimitive.Trigger ref={ref} asChild>\n <StyledTrigger>{children}</StyledTrigger>\n </AccordionPrimitive.Trigger>\n </Heading>\n </AccordionPrimitive.Header>\n );\n});\n\nexport type AccordionContentProps = React.HTMLAttributes<HTMLElement>;\nconst Content = React.forwardRef((props: AccordionContentProps, ref: React.Ref<HTMLDivElement>) => (\n <AccordionPrimitive.Content {...props} ref={ref} />\n));\n\nexport type AccordionItemProps = React.HTMLAttributes<HTMLDivElement> & {\n id: string;\n disabled?: boolean;\n};\nconst Item = (props: AccordionItemProps) => {\n const { id, ...otherProps } = props;\n return <AccordionPrimitive.Item {...otherProps} value={id} />;\n};\n\ntype AccordionBaseProps = {\n children: React.ReactNode[];\n\n /** Change what heading element accordion regions will render */\n as?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\n /** Additional classes for Accordion root element */\n className?: string;\n};\n\nexport interface AccordionUncontrolledProps extends AccordionBaseProps {\n /** Default expanded accordion(s) */\n defaultId: string | string[];\n\n id?: never;\n onChange?: never;\n}\n\nexport interface AccordionMultipleControlledProps extends AccordionBaseProps {\n /** Expanded accordions */\n id: string[];\n\n /** onChange function to receive ids of expanded accordions */\n onChange: (id: string[]) => void;\n\n defaultId?: never;\n}\nexport interface AccordionSingleControlledProps extends AccordionBaseProps {\n /** Expanded accordion */\n id: string;\n\n /** onChange function to receive id of expanded accordion */\n onChange: (id: string) => void;\n\n defaultId?: never;\n}\n\nexport type AccordionProps = AccordionUncontrolledProps | AccordionMultipleControlledProps | AccordionSingleControlledProps;\n\nexport const Accordion = (props: AccordionProps) => {\n const { id, defaultId, onChange, as = 'h2', ...otherProps } = props;\n const context = React.useMemo(() => ({ as }), [as]);\n\n let valueProps;\n\n if (defaultId) {\n valueProps = {\n defaultValue: defaultId || undefined,\n };\n } else {\n valueProps = {\n onValueChange: onChange,\n value: id || undefined,\n };\n }\n\n const type = Array.isArray(valueProps.defaultValue) || Array.isArray(valueProps.value) ? 'multiple' : 'single';\n const className = cn('divide-y divide-grey', props.className);\n\n return (\n <AccordionContext.Provider value={context}>\n <AccordionPrimitive.Root {...otherProps} {...valueProps} data-taco=\"accordion\" className={className} type={type} />\n </AccordionContext.Provider>\n );\n};\n\nAccordion.Item = Item;\nAccordion.Trigger = Trigger;\nAccordion.Content = Content;\n"],"names":["AccordionContext","React","createContext","as","StyledTrigger","forwardRef","props","ref","isExpanded","className","cn","children","Icon","name","Trigger","useContext","Heading","AccordionPrimitive","asChild","Content","Item","id","otherProps","value","Accordion","defaultId","onChange","context","useMemo","valueProps","defaultValue","undefined","onValueChange","type","Array","isArray","Provider"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\r\nimport { Icon } from '../Icon/Icon';\r\n\r\ntype AccordionContext = {\r\n as: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\r\n};\r\nconst AccordionContext = React.createContext<AccordionContext>({\r\n as: 'h2',\r\n});\r\n\r\nexport type AccordionTriggerProps = React.HTMLAttributes<HTMLElement>;\r\n\r\nconst StyledTrigger = React.forwardRef((props: AccordionPrimitive.AccordionTriggerProps, ref: React.Ref<HTMLButtonElement>) => {\r\n const isExpanded = !!props['aria-expanded'];\r\n\r\n const className = cn(\r\n 'w-full inline-flex justify-between items-center align-middle',\r\n 'focus:rounded-sm focus:border-blue focus:yt-focus',\r\n props.className\r\n );\r\n\r\n return (\r\n <button {...props} ref={ref} className={className}>\r\n {props.children}\r\n <Icon name={isExpanded ? 'chevron-up' : 'chevron-down'} />\r\n </button>\r\n );\r\n});\r\n\r\nconst Trigger = React.forwardRef((props: AccordionTriggerProps, ref: React.Ref<HTMLButtonElement>) => {\r\n const { children } = props;\r\n const { as: Heading } = React.useContext(AccordionContext);\r\n\r\n return (\r\n <AccordionPrimitive.Header asChild>\r\n <Heading className=\"my-3\">\r\n <AccordionPrimitive.Trigger ref={ref} asChild>\r\n <StyledTrigger>{children}</StyledTrigger>\r\n </AccordionPrimitive.Trigger>\r\n </Heading>\r\n </AccordionPrimitive.Header>\r\n );\r\n});\r\n\r\nexport type AccordionContentProps = React.HTMLAttributes<HTMLElement>;\r\nconst Content = React.forwardRef((props: AccordionContentProps, ref: React.Ref<HTMLDivElement>) => (\r\n <AccordionPrimitive.Content {...props} ref={ref} />\r\n));\r\n\r\nexport type AccordionItemProps = React.HTMLAttributes<HTMLDivElement> & {\r\n id: string;\r\n disabled?: boolean;\r\n};\r\nconst Item = (props: AccordionItemProps) => {\r\n const { id, ...otherProps } = props;\r\n return <AccordionPrimitive.Item {...otherProps} value={id} />;\r\n};\r\n\r\ntype AccordionBaseProps = {\r\n children: React.ReactNode[];\r\n\r\n /** Change what heading element accordion regions will render */\r\n as?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\r\n\r\n /** Additional classes for Accordion root element */\r\n className?: string;\r\n};\r\n\r\nexport interface AccordionUncontrolledProps extends AccordionBaseProps {\r\n /** Default expanded accordion(s) */\r\n defaultId: string | string[];\r\n\r\n id?: never;\r\n onChange?: never;\r\n}\r\n\r\nexport interface AccordionMultipleControlledProps extends AccordionBaseProps {\r\n /** Expanded accordions */\r\n id: string[];\r\n\r\n /** onChange function to receive ids of expanded accordions */\r\n onChange: (id: string[]) => void;\r\n\r\n defaultId?: never;\r\n}\r\nexport interface AccordionSingleControlledProps extends AccordionBaseProps {\r\n /** Expanded accordion */\r\n id: string;\r\n\r\n /** onChange function to receive id of expanded accordion */\r\n onChange: (id: string) => void;\r\n\r\n defaultId?: never;\r\n}\r\n\r\nexport type AccordionProps = AccordionUncontrolledProps | AccordionMultipleControlledProps | AccordionSingleControlledProps;\r\n\r\nexport const Accordion = (props: AccordionProps) => {\r\n const { id, defaultId, onChange, as = 'h2', ...otherProps } = props;\r\n const context = React.useMemo(() => ({ as }), [as]);\r\n\r\n let valueProps;\r\n\r\n if (defaultId) {\r\n valueProps = {\r\n defaultValue: defaultId || undefined,\r\n };\r\n } else {\r\n valueProps = {\r\n onValueChange: onChange,\r\n value: id || undefined,\r\n };\r\n }\r\n\r\n const type = Array.isArray(valueProps.defaultValue) || Array.isArray(valueProps.value) ? 'multiple' : 'single';\r\n const className = cn('divide-y divide-grey', props.className);\r\n\r\n return (\r\n <AccordionContext.Provider value={context}>\r\n <AccordionPrimitive.Root {...otherProps} {...valueProps} data-taco=\"accordion\" className={className} type={type} />\r\n </AccordionContext.Provider>\r\n );\r\n};\r\n\r\nAccordion.Item = Item;\r\nAccordion.Trigger = Trigger;\r\nAccordion.Content = Content;\r\n"],"names":["AccordionContext","React","createContext","as","StyledTrigger","forwardRef","props","ref","isExpanded","className","cn","children","Icon","name","Trigger","useContext","Heading","AccordionPrimitive","asChild","Content","Item","id","otherProps","value","Accordion","defaultId","onChange","context","useMemo","valueProps","defaultValue","undefined","onValueChange","type","Array","isArray","Provider"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Backdrop.js","sources":["../../../../src/components/Backdrop/Backdrop.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\n\nexport type BackdropProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Backdrop = React.forwardRef<HTMLDivElement, BackdropProps>(function Backdrop(props, ref) {\n const className = cn(\n 'fixed inset-0 cursor-default overflow-y-auto bg-[rgba(50,46,62,0.8)] animate-[fade-in_150ms] aria-hidden:hidden',\n props.className\n );\n\n return <div {...props} className={className} ref={ref} />;\n});\n"],"names":["Backdrop","React","props","ref","className","cn"],"mappings":";;;IAKaA,QAAQ,gBAAGC,UAAA,CAAgD,SAASD,QAAT,CAAkBE,KAAlB,EAAyBC,GAAzB;AACpE,MAAMC,SAAS,GAAGC,EAAE,CAChB,iHADgB,EAEhBH,KAAK,CAACE,SAFU,CAApB;AAKA,SAAOH,aAAA,MAAA,oBAASC;AAAOE,IAAAA,SAAS,EAAEA;AAAWD,IAAAA,GAAG,EAAEA;IAA3C,CAAP;AACH,CAPuB;;;;"}
1
+ {"version":3,"file":"Backdrop.js","sources":["../../../../src/components/Backdrop/Backdrop.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\n\r\nexport type BackdropProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const Backdrop = React.forwardRef<HTMLDivElement, BackdropProps>(function Backdrop(props, ref) {\r\n const className = cn(\r\n 'fixed inset-0 cursor-default overflow-y-auto bg-[rgba(50,46,62,0.8)] animate-[fade-in_150ms] aria-hidden:hidden',\r\n props.className\r\n );\r\n\r\n return <div {...props} className={className} ref={ref} />;\r\n});\r\n"],"names":["Backdrop","React","props","ref","className","cn"],"mappings":";;;IAKaA,QAAQ,gBAAGC,UAAA,CAAgD,SAASD,QAAT,CAAkBE,KAAlB,EAAyBC,GAAzB;AACpE,MAAMC,SAAS,GAAGC,EAAE,CAChB,iHADgB,EAEhBH,KAAK,CAACE,SAFU,CAApB;AAKA,SAAOH,aAAA,MAAA,oBAASC;AAAOE,IAAAA,SAAS,EAAEA;AAAWD,IAAAA,GAAG,EAAEA;IAA3C,CAAP;AACH,CAPuB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { State } from '../../types';\nimport { getStateClasses, getOutlineClasses } from '../../utils/taillwind';\nimport './Badge.css';\n\nexport type BadgeProps = React.HTMLAttributes<HTMLSpanElement> & {\n /** Content should be a numerical value or tag/status like text **/\n children: React.ReactNode;\n /** Show compact version **/\n compact?: boolean;\n /** Show outlined version **/\n outline?: boolean;\n /** State will change the style of the badge **/\n state?: State;\n};\n\nexport const Badge = React.forwardRef(function Badge(props: BadgeProps, ref: React.Ref<HTMLSpanElement>) {\n const { children, compact = false, outline = false, state, ...otherProps } = props;\n const className = cn(\n 'rounded-full border font-bold text-xs uppercase overflow-hidden whitespace-nowrap inline-flex items-center justify-center h-5',\n {\n [getOutlineClasses(state)]: outline,\n [`border-transparent ${getStateClasses(state)}`]: !outline,\n 'h-2 w-2 min-w-0': compact,\n 'h-5 py-0 px-[0.354rem]': !compact, // custom padding keeps single digits in a perfect circle\n },\n props.className\n );\n\n return (\n <span\n {...otherProps}\n aria-atomic=\"true\"\n aria-live=\"polite\"\n className={className}\n data-taco=\"badge\"\n ref={ref}\n role=\"status\"\n title={props['aria-label']}\n >\n {compact ? <VisuallyHidden>{children}</VisuallyHidden> : children}\n </span>\n );\n});\n"],"names":["Badge","React","props","ref","children","compact","outline","state","otherProps","className","cn","getOutlineClasses","getStateClasses","role","title","VisuallyHidden"],"mappings":";;;;;;;IAkBaA,KAAK,gBAAGC,UAAA,CAAiB,SAASD,KAAT,CAAeE,KAAf,EAAkCC,GAAlC;;;AAClC,MAAQC,QAAR,GAA6EF,KAA7E,CAAQE,QAAR;AAAA,uBAA6EF,KAA7E,CAAkBG,OAAlB;AAAA,MAAkBA,OAAlB,+BAA4B,KAA5B;AAAA,uBAA6EH,KAA7E,CAAmCI,OAAnC;AAAA,MAAmCA,OAAnC,+BAA6C,KAA7C;AAAA,MAAoDC,KAApD,GAA6EL,KAA7E,CAAoDK,KAApD;AAAA,MAA8DC,UAA9D,iCAA6EN,KAA7E;;AACA,MAAMO,SAAS,GAAGC,EAAE,CAChB,+HADgB,iBAGXC,iBAAiB,CAACJ,KAAD,CAHN,IAGgBD,OAHhB,8BAIWM,eAAe,CAACL,KAAD,CAJ1B,IAIsC,CAACD,OAJvC,MAKZ,iBALY,IAKOD,OALP,MAMZ,wBANY,IAMc,CAACA,OANf,QAQhBH,KAAK,CAACO,SARU,CAApB;AAWA,SACIR,aAAA,OAAA,oBACQO;mBACQ;iBACF;AACVC,IAAAA,SAAS,EAAEA;iBACD;AACVN,IAAAA,GAAG,EAAEA;AACLU,IAAAA,IAAI,EAAC;AACLC,IAAAA,KAAK,EAAEZ,KAAK,CAAC,YAAD;IARhB,EAUKG,OAAO,GAAGJ,aAAA,CAACc,cAAD,MAAA,EAAiBX,QAAjB,CAAH,GAAiDA,QAV7D,CADJ;AAcH,CA3BoB;;;;"}
1
+ {"version":3,"file":"Badge.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\r\nimport { State } from '../../types';\r\nimport { getStateClasses, getOutlineClasses } from '../../utils/taillwind';\r\nimport './Badge.css';\r\n\r\nexport type BadgeProps = React.HTMLAttributes<HTMLSpanElement> & {\r\n /** Content should be a numerical value or tag/status like text **/\r\n children: React.ReactNode;\r\n /** Show compact version **/\r\n compact?: boolean;\r\n /** Show outlined version **/\r\n outline?: boolean;\r\n /** State will change the style of the badge **/\r\n state?: State;\r\n};\r\n\r\nexport const Badge = React.forwardRef(function Badge(props: BadgeProps, ref: React.Ref<HTMLSpanElement>) {\r\n const { children, compact = false, outline = false, state, ...otherProps } = props;\r\n const className = cn(\r\n 'rounded-full border font-bold text-xs uppercase overflow-hidden whitespace-nowrap inline-flex items-center justify-center h-5',\r\n {\r\n [getOutlineClasses(state)]: outline,\r\n [`border-transparent ${getStateClasses(state)}`]: !outline,\r\n 'h-2 w-2 min-w-0': compact,\r\n 'h-5 py-0 px-[0.354rem]': !compact, // custom padding keeps single digits in a perfect circle\r\n },\r\n props.className\r\n );\r\n\r\n return (\r\n <span\r\n {...otherProps}\r\n aria-atomic=\"true\"\r\n aria-live=\"polite\"\r\n className={className}\r\n data-taco=\"badge\"\r\n ref={ref}\r\n role=\"status\"\r\n title={props['aria-label']}\r\n >\r\n {compact ? <VisuallyHidden>{children}</VisuallyHidden> : children}\r\n </span>\r\n );\r\n});\r\n"],"names":["Badge","React","props","ref","children","compact","outline","state","otherProps","className","cn","getOutlineClasses","getStateClasses","role","title","VisuallyHidden"],"mappings":";;;;;;;IAkBaA,KAAK,gBAAGC,UAAA,CAAiB,SAASD,KAAT,CAAeE,KAAf,EAAkCC,GAAlC;;;AAClC,MAAQC,QAAR,GAA6EF,KAA7E,CAAQE,QAAR;AAAA,uBAA6EF,KAA7E,CAAkBG,OAAlB;AAAA,MAAkBA,OAAlB,+BAA4B,KAA5B;AAAA,uBAA6EH,KAA7E,CAAmCI,OAAnC;AAAA,MAAmCA,OAAnC,+BAA6C,KAA7C;AAAA,MAAoDC,KAApD,GAA6EL,KAA7E,CAAoDK,KAApD;AAAA,MAA8DC,UAA9D,iCAA6EN,KAA7E;;AACA,MAAMO,SAAS,GAAGC,EAAE,CAChB,+HADgB,iBAGXC,iBAAiB,CAACJ,KAAD,CAHN,IAGgBD,OAHhB,8BAIWM,eAAe,CAACL,KAAD,CAJ1B,IAIsC,CAACD,OAJvC,MAKZ,iBALY,IAKOD,OALP,MAMZ,wBANY,IAMc,CAACA,OANf,QAQhBH,KAAK,CAACO,SARU,CAApB;AAWA,SACIR,aAAA,OAAA,oBACQO;mBACQ;iBACF;AACVC,IAAAA,SAAS,EAAEA;iBACD;AACVN,IAAAA,GAAG,EAAEA;AACLU,IAAAA,IAAI,EAAC;AACLC,IAAAA,KAAK,EAAEZ,KAAK,CAAC,YAAD;IARhB,EAUKG,OAAO,GAAGJ,aAAA,CAACc,cAAD,MAAA,EAAiBX,QAAjB,CAAH,GAAiDA,QAV7D,CADJ;AAcH,CA3BoB;;;;"}
@@ -13,7 +13,7 @@ var Banner = /*#__PURE__*/forwardRef(function Banner(props, ref) {
13
13
  "data-taco": "banner",
14
14
  ref: ref
15
15
  }, getBannerIcon(state), children, onClose ? createElement(IconButton, {
16
- className: "ml-auto",
16
+ className: "ml-auto -mr-2",
17
17
  icon: "close",
18
18
  appearance: "discrete",
19
19
  onClick: onClose
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sources":["../../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { State } from '../../types';\nimport { getBannerIcon } from './util';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type BannerProps = React.HTMLAttributes<HTMLDivElement> & {\n /** Content can be any react element, for e.g. a `div` */\n children: React.ReactNode;\n /** State will change the icon displayed in banner */\n state: State;\n onClose?: () => void;\n};\n\nexport const Banner = React.forwardRef(function Banner(props: BannerProps, ref: React.Ref<HTMLDivElement>) {\n const { children, state, onClose } = props;\n const className = cn('bg-white relative flex items-center px-4 h-12 shadow-lg z-10', props.className);\n\n return (\n <div className={className} data-taco=\"banner\" ref={ref}>\n {getBannerIcon(state)}\n {children}\n {onClose ? <IconButton className=\"ml-auto\" icon=\"close\" appearance=\"discrete\" onClick={onClose} /> : null}\n </div>\n );\n});\n"],"names":["Banner","React","props","ref","children","state","onClose","className","cn","getBannerIcon","IconButton","icon","appearance","onClick"],"mappings":";;;;;IAcaA,MAAM,gBAAGC,UAAA,CAAiB,SAASD,MAAT,CAAgBE,KAAhB,EAAoCC,GAApC;AACnC,MAAQC,QAAR,GAAqCF,KAArC,CAAQE,QAAR;AAAA,MAAkBC,KAAlB,GAAqCH,KAArC,CAAkBG,KAAlB;AAAA,MAAyBC,OAAzB,GAAqCJ,KAArC,CAAyBI,OAAzB;AACA,MAAMC,SAAS,GAAGC,EAAE,CAAC,8DAAD,EAAiEN,KAAK,CAACK,SAAvE,CAApB;AAEA,SACIN,aAAA,MAAA;AAAKM,IAAAA,SAAS,EAAEA;iBAAqB;AAASJ,IAAAA,GAAG,EAAEA;GAAnD,EACKM,aAAa,CAACJ,KAAD,CADlB,EAEKD,QAFL,EAGKE,OAAO,GAAGL,aAAA,CAACS,UAAD;AAAYH,IAAAA,SAAS,EAAC;AAAUI,IAAAA,IAAI,EAAC;AAAQC,IAAAA,UAAU,EAAC;AAAWC,IAAAA,OAAO,EAAEP;GAA5E,CAAH,GAA6F,IAHzG,CADJ;AAOH,CAXqB;;;;"}
1
+ {"version":3,"file":"Banner.js","sources":["../../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { State } from '../../types';\r\nimport { getBannerIcon } from './util';\r\nimport { IconButton } from '../IconButton/IconButton';\r\n\r\nexport type BannerProps = React.HTMLAttributes<HTMLDivElement> & {\r\n /** Content can be any react element, for e.g. a `div` */\r\n children: React.ReactNode;\r\n /** State will change the icon displayed in banner */\r\n state: State;\r\n onClose?: () => void;\r\n};\r\n\r\nexport const Banner = React.forwardRef(function Banner(props: BannerProps, ref: React.Ref<HTMLDivElement>) {\r\n const { children, state, onClose } = props;\r\n const className = cn('bg-white relative flex items-center px-4 h-12 shadow-lg z-10', props.className);\r\n\r\n return (\r\n <div className={className} data-taco=\"banner\" ref={ref}>\r\n {getBannerIcon(state)}\r\n {children}\r\n {onClose ? <IconButton className=\"ml-auto -mr-2\" icon=\"close\" appearance=\"discrete\" onClick={onClose} /> : null}\r\n </div>\r\n );\r\n});\r\n"],"names":["Banner","React","props","ref","children","state","onClose","className","cn","getBannerIcon","IconButton","icon","appearance","onClick"],"mappings":";;;;;IAcaA,MAAM,gBAAGC,UAAA,CAAiB,SAASD,MAAT,CAAgBE,KAAhB,EAAoCC,GAApC;AACnC,MAAQC,QAAR,GAAqCF,KAArC,CAAQE,QAAR;AAAA,MAAkBC,KAAlB,GAAqCH,KAArC,CAAkBG,KAAlB;AAAA,MAAyBC,OAAzB,GAAqCJ,KAArC,CAAyBI,OAAzB;AACA,MAAMC,SAAS,GAAGC,EAAE,CAAC,8DAAD,EAAiEN,KAAK,CAACK,SAAvE,CAApB;AAEA,SACIN,aAAA,MAAA;AAAKM,IAAAA,SAAS,EAAEA;iBAAqB;AAASJ,IAAAA,GAAG,EAAEA;GAAnD,EACKM,aAAa,CAACJ,KAAD,CADlB,EAEKD,QAFL,EAGKE,OAAO,GAAGL,aAAA,CAACS,UAAD;AAAYH,IAAAA,SAAS,EAAC;AAAgBI,IAAAA,IAAI,EAAC;AAAQC,IAAAA,UAAU,EAAC;AAAWC,IAAAA,OAAO,EAAEP;GAAlF,CAAH,GAAmG,IAH/G,CADJ;AAOH,CAXqB;;;;"}
@@ -1,7 +1,7 @@
1
1
  import React__default from 'react';
2
2
  import { Icon } from '../Icon/Icon.js';
3
3
 
4
- var getBannerIcon = function getBannerIcon(type) {
4
+ const getBannerIcon = type => {
5
5
  switch (type) {
6
6
  case 'success':
7
7
  return React__default.createElement(Icon, {
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../src/components/Banner/util.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { State } from '../../types';\n\nexport const getBannerIcon = (type: State): JSX.Element | null => {\n switch (type) {\n case 'success':\n return <Icon name=\"tick\" className=\"rounded-full yt-green-solid mr-4\" />;\n\n case 'error':\n return <Icon name=\"warning\" className=\"rounded-full yt-red-solid mr-4\" />;\n\n case 'warning':\n return <Icon name=\"warning\" className=\"rounded-full yt-yellow-solid mr-4\" />;\n\n case 'information':\n return <Icon name=\"info\" className=\"rounded-full yt-blue-solid mr-4\" />;\n\n default:\n return null;\n }\n};\n"],"names":["getBannerIcon","type","React","Icon","name","className"],"mappings":";;;IAIaA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,IAAD;AACzB,UAAQA,IAAR;AACI,SAAK,SAAL;AACI,aAAOC,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAOC,QAAAA,SAAS,EAAC;OAA5B,CAAP;;AAEJ,SAAK,OAAL;AACI,aAAOH,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAUC,QAAAA,SAAS,EAAC;OAA/B,CAAP;;AAEJ,SAAK,SAAL;AACI,aAAOH,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAUC,QAAAA,SAAS,EAAC;OAA/B,CAAP;;AAEJ,SAAK,aAAL;AACI,aAAOH,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAOC,QAAAA,SAAS,EAAC;OAA5B,CAAP;;AAEJ;AACI,aAAO,IAAP;AAdR;AAgBH;;;;"}
1
+ {"version":3,"file":"util.js","sources":["../../../../src/components/Banner/util.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Icon } from '../Icon/Icon';\r\nimport { State } from '../../types';\r\n\r\nexport const getBannerIcon = (type: State): JSX.Element | null => {\r\n switch (type) {\r\n case 'success':\r\n return <Icon name=\"tick\" className=\"rounded-full yt-green-solid mr-4\" />;\r\n\r\n case 'error':\r\n return <Icon name=\"warning\" className=\"rounded-full yt-red-solid mr-4\" />;\r\n\r\n case 'warning':\r\n return <Icon name=\"warning\" className=\"rounded-full yt-yellow-solid mr-4\" />;\r\n\r\n case 'information':\r\n return <Icon name=\"info\" className=\"rounded-full yt-blue-solid mr-4\" />;\r\n\r\n default:\r\n return null;\r\n }\r\n};\r\n"],"names":["getBannerIcon","type","React","Icon","name","className"],"mappings":";;;MAIaA,aAAa,GAAIC,IAAD;AACzB,UAAQA,IAAR;AACI,SAAK,SAAL;AACI,aAAOC,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAOC,QAAAA,SAAS,EAAC;OAA5B,CAAP;;AAEJ,SAAK,OAAL;AACI,aAAOH,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAUC,QAAAA,SAAS,EAAC;OAA/B,CAAP;;AAEJ,SAAK,SAAL;AACI,aAAOH,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAUC,QAAAA,SAAS,EAAC;OAA/B,CAAP;;AAEJ,SAAK,aAAL;AACI,aAAOH,4BAAA,CAACC,IAAD;AAAMC,QAAAA,IAAI,EAAC;AAAOC,QAAAA,SAAS,EAAC;OAA5B,CAAP;;AAEJ;AACI,aAAO,IAAP;AAdR;AAgBH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { Appearance } from '../../types';\nimport * as ButtonPrimitive from '../../primitives/Button';\nimport { getAppearanceClasses, getButtonClasses, createButton } from './util';\nimport { HangerProps } from '../Hanger/Hanger';\nimport { MenuProps } from '../Menu/Menu';\nimport { DialogProps } from '../Dialog/Dialog';\nimport { PopoverProps } from '../Popover/Popover';\nimport './Button.css';\n\nexport type ButtonProps = ButtonPrimitive.ButtonProps & {\n /** Appearance will change the style of the button */\n appearance?: Appearance;\n /**\n * Dialog component associated with the button, clicking the button will open the dialog.\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\n * the button should be only to open the associated dialog when clicked.\n */\n dialog?: (props: Partial<DialogProps>) => JSX.Element;\n /** If fluid, button expands to the width of it's container */\n fluid?: boolean;\n /** Hanger component associated with the button. */\n hanger?: (props: Partial<HangerProps>) => JSX.Element;\n /** Menu component associated with the button. */\n menu?: (props: Partial<MenuProps>) => JSX.Element;\n /**\n * Popover component associated with the button, clicking the button will open the popover.\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\n * the button should be only to open the associated popover when clicked.\n */\n popover?: (props: Partial<PopoverProps>) => JSX.Element;\n /** A tooltip to show when hovering over the button */\n tooltip?: string;\n};\n\nexport const Button = React.forwardRef(function Button(\n props: ButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\n) {\n const { appearance, fluid, ...otherProps } = props;\n const className = cn(\n getButtonClasses(),\n getAppearanceClasses(appearance),\n 'rounded px-3',\n {\n 'cursor-not-allowed opacity-50': props.disabled,\n 'focus:yt-focus active:focus:yt-focus': !props.disabled,\n 'w-full': fluid,\n },\n props.className\n );\n\n return createButton({ ...otherProps, 'data-taco': 'button' }, className, ref);\n});\n"],"names":["Button","React","props","ref","appearance","fluid","otherProps","className","cn","getButtonClasses","getAppearanceClasses","disabled","createButton"],"mappings":";;;;;;IAoCaA,MAAM,gBAAGC,UAAA,CAAiB,SAASD,MAAT,CACnCE,KADmC,EAEnCC,GAFmC;AAInC,MAAQC,UAAR,GAA6CF,KAA7C,CAAQE,UAAR;AAAA,MAAoBC,KAApB,GAA6CH,KAA7C,CAAoBG,KAApB;AAAA,MAA8BC,UAA9B,iCAA6CJ,KAA7C;;AACA,MAAMK,SAAS,GAAGC,EAAE,CAChBC,gBAAgB,EADA,EAEhBC,oBAAoB,CAACN,UAAD,CAFJ,EAGhB,cAHgB,EAIhB;AACI,qCAAiCF,KAAK,CAACS,QAD3C;AAEI,4CAAwC,CAACT,KAAK,CAACS,QAFnD;AAGI,cAAUN;AAHd,GAJgB,EAShBH,KAAK,CAACK,SATU,CAApB;AAYA,SAAOK,YAAY,cAAMN,UAAN;AAAkB,iBAAa;AAA/B,MAA2CC,SAA3C,EAAsDJ,GAAtD,CAAnB;AACH,CAlBqB;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { Appearance } from '../../types';\r\nimport * as ButtonPrimitive from '../../primitives/Button';\r\nimport { getAppearanceClasses, getButtonClasses, createButton } from './util';\r\nimport { HangerProps } from '../Hanger/Hanger';\r\nimport { MenuProps } from '../Menu/Menu';\r\nimport { DialogProps } from '../Dialog/Dialog';\r\nimport { PopoverProps } from '../Popover/Popover';\r\nimport './Button.css';\r\n\r\nexport type ButtonProps = ButtonPrimitive.ButtonProps & {\r\n /** Appearance will change the style of the button */\r\n appearance?: Appearance;\r\n /**\r\n * Dialog component associated with the button, clicking the button will open the dialog.\r\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\r\n * the button should be only to open the associated dialog when clicked.\r\n */\r\n dialog?: (props: Partial<DialogProps>) => JSX.Element;\r\n /** If fluid, button expands to the width of it's container */\r\n fluid?: boolean;\r\n /** Hanger component associated with the button. */\r\n hanger?: (props: Partial<HangerProps>) => JSX.Element;\r\n /** Menu component associated with the button. */\r\n menu?: (props: Partial<MenuProps>) => JSX.Element;\r\n /**\r\n * Popover component associated with the button, clicking the button will open the popover.\r\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\r\n * the button should be only to open the associated popover when clicked.\r\n */\r\n popover?: (props: Partial<PopoverProps>) => JSX.Element;\r\n /** A tooltip to show when hovering over the button */\r\n tooltip?: string;\r\n};\r\n\r\nexport const Button = React.forwardRef(function Button(\r\n props: ButtonProps,\r\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\r\n) {\r\n const { appearance, fluid, ...otherProps } = props;\r\n const className = cn(\r\n getButtonClasses(),\r\n getAppearanceClasses(appearance),\r\n 'rounded px-3',\r\n {\r\n 'cursor-not-allowed opacity-50': props.disabled,\r\n 'focus:yt-focus active:focus:yt-focus': !props.disabled,\r\n 'w-full': fluid,\r\n },\r\n props.className\r\n );\r\n\r\n return createButton({ ...otherProps, 'data-taco': 'button' }, className, ref);\r\n});\r\n"],"names":["Button","React","props","ref","appearance","fluid","otherProps","className","cn","getButtonClasses","getAppearanceClasses","disabled","createButton"],"mappings":";;;;;;IAoCaA,MAAM,gBAAGC,UAAA,CAAiB,SAASD,MAAT,CACnCE,KADmC,EAEnCC,GAFmC;AAInC,MAAQC,UAAR,GAA6CF,KAA7C,CAAQE,UAAR;AAAA,MAAoBC,KAApB,GAA6CH,KAA7C,CAAoBG,KAApB;AAAA,MAA8BC,UAA9B,iCAA6CJ,KAA7C;;AACA,MAAMK,SAAS,GAAGC,EAAE,CAChBC,gBAAgB,EADA,EAEhBC,oBAAoB,CAACN,UAAD,CAFJ,EAGhB,cAHgB,EAIhB;AACI,qCAAiCF,KAAK,CAACS,QAD3C;AAEI,4CAAwC,CAACT,KAAK,CAACS,QAFnD;AAGI,cAAUN;AAHd,GAJgB,EAShBH,KAAK,CAACK,SATU,CAApB;AAYA,SAAOK,YAAY,cAAMN,UAAN;AAAkB,iBAAa;AAA/B,MAA2CC,SAA3C,EAAsDJ,GAAtD,CAAnB;AACH,CAlBqB;;;;"}
@@ -1,49 +1,74 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
2
  import { Button } from '../../primitives/Button.js';
4
3
  import { Tooltip } from '../Tooltip/Tooltip.js';
5
4
 
6
- var _excluded = ["dialog", "hanger", "menu", "popover", "tooltip"];
7
- var getButtonClasses = function getButtonClasses() {
8
- return 'min-h-[theme(spacing.8)] min-w-[theme(spacing.8)] leading-6 inline-flex items-center justify-center transition-all delay-100 ease-in border';
5
+ const getButtonClasses = () => {
6
+ return 'min-h-[theme(spacing.8)] min-w-[theme(spacing.8)] h-max leading-6 inline-flex items-center justify-center transition-all delay-100 ease-in border';
9
7
  };
10
- var getAppearanceClasses = function getAppearanceClasses(value, icon) {
11
- if (icon === void 0) {
12
- icon = false;
13
- }
14
-
8
+ const getAppearanceClasses = (value, icon = false) => {
15
9
  switch (value) {
16
10
  case 'primary':
17
- return "yt-blue-solid border-blue\n focus:bg-blue focus:text-white focus:yt-focus\n active:bg-blue-dark active:text-white \n hover:bg-blue-light hover:border-blue-light hover:text-white\n hover:focus:bg-blue-light hover:focus:border-blue-light hover:focus:text-white\n disabled:hover:yt-blue-solid";
11
+ return `yt-blue-solid border-blue
12
+ focus:bg-blue focus:text-white focus:yt-focus
13
+ active:bg-blue-dark active:text-white
14
+ hover:bg-blue-light hover:border-blue-light hover:text-white
15
+ hover:focus:bg-blue-light hover:focus:border-blue-light hover:focus:text-white
16
+ disabled:hover:yt-blue-solid`;
18
17
 
19
18
  case 'danger':
20
- return "yt-red-solid border-red\n focus:bg-red focus:text-white focus:yt-focus-red\n active:bg-red-dark active:text-white \n hover:bg-red-light hover:text-white\n hover:focus:bg-red-light hover:focus:text-white\n disabled:hover:yt-red-solid";
19
+ return `yt-red-solid border-red
20
+ focus:bg-red focus:text-white focus:yt-focus-red
21
+ active:bg-red-dark active:text-white
22
+ hover:bg-red-light hover:text-white
23
+ hover:focus:bg-red-light hover:focus:text-white
24
+ disabled:hover:yt-red-solid`;
21
25
 
22
26
  case 'ghost':
23
- return "yt-blue-inverted\n focus:bg-transparent focus:text-blue focus:yt-focus\n active:bg-blue-lightest active:border-blue active:text-blue-dark \n hover:bg-blue-lightest hover:border-blue-light hover:text-blue-light\n hover:focus:bg-blue-lightest hover:focus:border-blue-light hover:focus:text-blue-light\n disabled:hover:yt-blue-inverted";
27
+ return `yt-blue-inverted
28
+ focus:bg-transparent focus:text-blue focus:yt-focus
29
+ active:bg-blue-lightest active:border-blue active:text-blue-dark
30
+ hover:bg-blue-lightest hover:border-blue-light hover:text-blue-light
31
+ hover:focus:bg-blue-lightest hover:focus:border-blue-light hover:focus:text-blue-light
32
+ disabled:hover:yt-blue-inverted`;
24
33
 
25
34
  case 'discrete':
26
35
  {
27
36
  if (icon) {
28
- return "bg-transparent text-black border-transparent\n focus:text-black focus:yt-focus\n active:text-black\n hover:text-grey-darkest\n hover:focus:text-grey-darkest\n disabled:hover:yt-transparent";
37
+ return `bg-transparent text-black border-transparent
38
+ focus:text-black focus:yt-focus
39
+ active:text-black
40
+ hover:text-grey-darkest
41
+ hover:focus:text-grey-darkest
42
+ disabled:hover:yt-transparent`;
29
43
  }
30
44
 
31
- return "yt-transparent border-transparent\n focus:text-blue focus:yt-focus\n active:text-blue-dark\n hover:text-blue-light\n hover:focus:text-blue-light\n disabled:hover:yt-transparent";
45
+ return `yt-transparent border-transparent
46
+ focus:text-blue focus:yt-focus
47
+ active:text-blue-dark
48
+ hover:text-blue-light
49
+ hover:focus:text-blue-light
50
+ disabled:hover:yt-transparent`;
32
51
  }
33
52
 
34
53
  default:
35
- return "yt-grey-solid border-grey\n focus:bg-grey focus:yt-focus\n active:bg-grey-dark active:text-black\n hover:bg-grey-light hover:text-grey-darkest\n hover:focus:bg-grey-light hover:focus:text-grey-darkest\n disabled:hover:yt-grey-solid";
54
+ return `yt-grey-solid border-grey
55
+ focus:bg-grey focus:yt-focus
56
+ active:bg-grey-dark active:text-black
57
+ hover:bg-grey-light hover:text-grey-darkest
58
+ hover:focus:bg-grey-light hover:focus:text-grey-darkest
59
+ disabled:hover:yt-grey-solid`;
36
60
  }
37
61
  };
38
- var createButton = function createButton(props, className, ref) {
39
- var dialog = props.dialog,
40
- hanger = props.hanger,
41
- menu = props.menu,
42
- popover = props.popover,
43
- tooltip = props.tooltip,
44
- otherProps = _objectWithoutPropertiesLoose(props, _excluded);
45
-
46
- var button = React__default.createElement(Button, Object.assign({}, otherProps, {
62
+ const createButton = (props, className, ref) => {
63
+ const {
64
+ dialog,
65
+ hanger,
66
+ menu,
67
+ popover,
68
+ tooltip,
69
+ ...otherProps
70
+ } = props;
71
+ let button = React__default.createElement(Button, Object.assign({}, otherProps, {
47
72
  className: className,
48
73
  ref: ref
49
74
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../src/components/Button/util.tsx"],"sourcesContent":["import React from 'react';\nimport { Appearance } from '../../types';\nimport * as ButtonPrimitive from '../../primitives/Button';\nimport { Tooltip } from '../Tooltip/Tooltip';\n\nexport const getButtonClasses = () => {\n return 'min-h-[theme(spacing.8)] min-w-[theme(spacing.8)] leading-6 inline-flex items-center justify-center transition-all delay-100 ease-in border';\n};\n\nexport const getAppearanceClasses = (value: Appearance | undefined, icon = false): string => {\n switch (value) {\n case 'primary':\n return `yt-blue-solid border-blue\n focus:bg-blue focus:text-white focus:yt-focus\n active:bg-blue-dark active:text-white \n hover:bg-blue-light hover:border-blue-light hover:text-white\n hover:focus:bg-blue-light hover:focus:border-blue-light hover:focus:text-white\n disabled:hover:yt-blue-solid`;\n\n case 'danger':\n return `yt-red-solid border-red\n focus:bg-red focus:text-white focus:yt-focus-red\n active:bg-red-dark active:text-white \n hover:bg-red-light hover:text-white\n hover:focus:bg-red-light hover:focus:text-white\n disabled:hover:yt-red-solid`;\n\n case 'ghost':\n return `yt-blue-inverted\n focus:bg-transparent focus:text-blue focus:yt-focus\n active:bg-blue-lightest active:border-blue active:text-blue-dark \n hover:bg-blue-lightest hover:border-blue-light hover:text-blue-light\n hover:focus:bg-blue-lightest hover:focus:border-blue-light hover:focus:text-blue-light\n disabled:hover:yt-blue-inverted`;\n\n case 'discrete': {\n if (icon) {\n return `bg-transparent text-black border-transparent\n focus:text-black focus:yt-focus\n active:text-black\n hover:text-grey-darkest\n hover:focus:text-grey-darkest\n disabled:hover:yt-transparent`;\n }\n\n return `yt-transparent border-transparent\n focus:text-blue focus:yt-focus\n active:text-blue-dark\n hover:text-blue-light\n hover:focus:text-blue-light\n disabled:hover:yt-transparent`;\n }\n\n default:\n return `yt-grey-solid border-grey\n focus:bg-grey focus:yt-focus\n active:bg-grey-dark active:text-black\n hover:bg-grey-light hover:text-grey-darkest\n hover:focus:bg-grey-light hover:focus:text-grey-darkest\n disabled:hover:yt-grey-solid`;\n }\n};\n\nexport const createButton = (\n props: any,\n className: string,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\n): JSX.Element => {\n const { dialog, hanger, menu, popover, tooltip, ...otherProps } = props;\n\n let button = <ButtonPrimitive.Button {...otherProps} className={className} ref={ref} />;\n\n if (typeof dialog === 'function') {\n button = dialog({ trigger: button });\n } else if (typeof menu === 'function') {\n button = menu({ trigger: button });\n } else if (typeof popover === 'function') {\n button = popover({ trigger: button });\n }\n\n if (typeof hanger === 'function') {\n button = hanger({ anchor: button });\n }\n\n if (tooltip) {\n button = <Tooltip title={tooltip}>{button}</Tooltip>;\n }\n\n return button;\n};\n"],"names":["getButtonClasses","getAppearanceClasses","value","icon","createButton","props","className","ref","dialog","hanger","menu","popover","tooltip","otherProps","button","React","ButtonPrimitive","trigger","anchor","Tooltip","title"],"mappings":";;;;;;IAKaA,gBAAgB,GAAG,SAAnBA,gBAAmB;AAC5B,SAAO,6IAAP;AACH;IAEYC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAgCC,IAAhC;MAAgCA;AAAAA,IAAAA,OAAO;;;AACvE,UAAQD,KAAR;AACI,SAAK,SAAL;AACI;;AAOJ,SAAK,QAAL;AACI;;AAOJ,SAAK,OAAL;AACI;;AAOJ,SAAK,UAAL;AAAiB;AACb,YAAIC,IAAJ,EAAU;AACN;AAMH;;AAED;AAMH;;AAED;AACI;AA5CR;AAmDH;IAEYC,YAAY,GAAG,SAAfA,YAAe,CACxBC,KADwB,EAExBC,SAFwB,EAGxBC,GAHwB;AAKxB,MAAQC,MAAR,GAAkEH,KAAlE,CAAQG,MAAR;AAAA,MAAgBC,MAAhB,GAAkEJ,KAAlE,CAAgBI,MAAhB;AAAA,MAAwBC,IAAxB,GAAkEL,KAAlE,CAAwBK,IAAxB;AAAA,MAA8BC,OAA9B,GAAkEN,KAAlE,CAA8BM,OAA9B;AAAA,MAAuCC,OAAvC,GAAkEP,KAAlE,CAAuCO,OAAvC;AAAA,MAAmDC,UAAnD,iCAAkER,KAAlE;;AAEA,MAAIS,MAAM,GAAGC,4BAAA,CAACC,MAAD,oBAA4BH;AAAYP,IAAAA,SAAS,EAAEA;AAAWC,IAAAA,GAAG,EAAEA;IAAnE,CAAb;;AAEA,MAAI,OAAOC,MAAP,KAAkB,UAAtB,EAAkC;AAC9BM,IAAAA,MAAM,GAAGN,MAAM,CAAC;AAAES,MAAAA,OAAO,EAAEH;AAAX,KAAD,CAAf;AACH,GAFD,MAEO,IAAI,OAAOJ,IAAP,KAAgB,UAApB,EAAgC;AACnCI,IAAAA,MAAM,GAAGJ,IAAI,CAAC;AAAEO,MAAAA,OAAO,EAAEH;AAAX,KAAD,CAAb;AACH,GAFM,MAEA,IAAI,OAAOH,OAAP,KAAmB,UAAvB,EAAmC;AACtCG,IAAAA,MAAM,GAAGH,OAAO,CAAC;AAAEM,MAAAA,OAAO,EAAEH;AAAX,KAAD,CAAhB;AACH;;AAED,MAAI,OAAOL,MAAP,KAAkB,UAAtB,EAAkC;AAC9BK,IAAAA,MAAM,GAAGL,MAAM,CAAC;AAAES,MAAAA,MAAM,EAAEJ;AAAV,KAAD,CAAf;AACH;;AAED,MAAIF,OAAJ,EAAa;AACTE,IAAAA,MAAM,GAAGC,4BAAA,CAACI,OAAD;AAASC,MAAAA,KAAK,EAAER;KAAhB,EAA0BE,MAA1B,CAAT;AACH;;AAED,SAAOA,MAAP;AACH;;;;"}
1
+ {"version":3,"file":"util.js","sources":["../../../../src/components/Button/util.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Appearance } from '../../types';\r\nimport * as ButtonPrimitive from '../../primitives/Button';\r\nimport { Tooltip } from '../Tooltip/Tooltip';\r\n\r\nexport const getButtonClasses = () => {\r\n return 'min-h-[theme(spacing.8)] min-w-[theme(spacing.8)] h-max leading-6 inline-flex items-center justify-center transition-all delay-100 ease-in border';\r\n};\r\n\r\nexport const getAppearanceClasses = (value: Appearance | undefined, icon = false): string => {\r\n switch (value) {\r\n case 'primary':\r\n return `yt-blue-solid border-blue\r\n focus:bg-blue focus:text-white focus:yt-focus\r\n active:bg-blue-dark active:text-white \r\n hover:bg-blue-light hover:border-blue-light hover:text-white\r\n hover:focus:bg-blue-light hover:focus:border-blue-light hover:focus:text-white\r\n disabled:hover:yt-blue-solid`;\r\n\r\n case 'danger':\r\n return `yt-red-solid border-red\r\n focus:bg-red focus:text-white focus:yt-focus-red\r\n active:bg-red-dark active:text-white \r\n hover:bg-red-light hover:text-white\r\n hover:focus:bg-red-light hover:focus:text-white\r\n disabled:hover:yt-red-solid`;\r\n\r\n case 'ghost':\r\n return `yt-blue-inverted\r\n focus:bg-transparent focus:text-blue focus:yt-focus\r\n active:bg-blue-lightest active:border-blue active:text-blue-dark \r\n hover:bg-blue-lightest hover:border-blue-light hover:text-blue-light\r\n hover:focus:bg-blue-lightest hover:focus:border-blue-light hover:focus:text-blue-light\r\n disabled:hover:yt-blue-inverted`;\r\n\r\n case 'discrete': {\r\n if (icon) {\r\n return `bg-transparent text-black border-transparent\r\n focus:text-black focus:yt-focus\r\n active:text-black\r\n hover:text-grey-darkest\r\n hover:focus:text-grey-darkest\r\n disabled:hover:yt-transparent`;\r\n }\r\n\r\n return `yt-transparent border-transparent\r\n focus:text-blue focus:yt-focus\r\n active:text-blue-dark\r\n hover:text-blue-light\r\n hover:focus:text-blue-light\r\n disabled:hover:yt-transparent`;\r\n }\r\n\r\n default:\r\n return `yt-grey-solid border-grey\r\n focus:bg-grey focus:yt-focus\r\n active:bg-grey-dark active:text-black\r\n hover:bg-grey-light hover:text-grey-darkest\r\n hover:focus:bg-grey-light hover:focus:text-grey-darkest\r\n disabled:hover:yt-grey-solid`;\r\n }\r\n};\r\n\r\nexport const createButton = (\r\n props: any,\r\n className: string,\r\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\r\n): JSX.Element => {\r\n const { dialog, hanger, menu, popover, tooltip, ...otherProps } = props;\r\n\r\n let button = <ButtonPrimitive.Button {...otherProps} className={className} ref={ref} />;\r\n\r\n if (typeof dialog === 'function') {\r\n button = dialog({ trigger: button });\r\n } else if (typeof menu === 'function') {\r\n button = menu({ trigger: button });\r\n } else if (typeof popover === 'function') {\r\n button = popover({ trigger: button });\r\n }\r\n\r\n if (typeof hanger === 'function') {\r\n button = hanger({ anchor: button });\r\n }\r\n\r\n if (tooltip) {\r\n button = <Tooltip title={tooltip}>{button}</Tooltip>;\r\n }\r\n\r\n return button;\r\n};\r\n"],"names":["getButtonClasses","getAppearanceClasses","value","icon","createButton","props","className","ref","dialog","hanger","menu","popover","tooltip","otherProps","button","React","ButtonPrimitive","trigger","anchor","Tooltip","title"],"mappings":";;;;MAKaA,gBAAgB,GAAG;AAC5B,SAAO,mJAAP;AACH;MAEYC,oBAAoB,GAAG,CAACC,KAAD,EAAgCC,IAAI,GAAG,KAAvC;AAChC,UAAQD,KAAR;AACI,SAAK,SAAL;AACI;;;;;6CAAA;;AAOJ,SAAK,QAAL;AACI;;;;;4CAAA;;AAOJ,SAAK,OAAL;AACI;;;;;gDAAA;;AAOJ,SAAK,UAAL;AAAiB;AACb,YAAIC,IAAJ,EAAU;AACN;;;;;kDAAA;AAMH;;AAED;;;;;8CAAA;AAMH;;AAED;AACI;;;;;6CAAA;AA5CR;AAmDH;MAEYC,YAAY,GAAG,CACxBC,KADwB,EAExBC,SAFwB,EAGxBC,GAHwB;AAKxB,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,MAAV;AAAkBC,IAAAA,IAAlB;AAAwBC,IAAAA,OAAxB;AAAiCC,IAAAA,OAAjC;AAA0C,OAAGC;AAA7C,MAA4DR,KAAlE;AAEA,MAAIS,MAAM,GAAGC,4BAAA,CAACC,MAAD,oBAA4BH;AAAYP,IAAAA,SAAS,EAAEA;AAAWC,IAAAA,GAAG,EAAEA;IAAnE,CAAb;;AAEA,MAAI,OAAOC,MAAP,KAAkB,UAAtB,EAAkC;AAC9BM,IAAAA,MAAM,GAAGN,MAAM,CAAC;AAAES,MAAAA,OAAO,EAAEH;AAAX,KAAD,CAAf;AACH,GAFD,MAEO,IAAI,OAAOJ,IAAP,KAAgB,UAApB,EAAgC;AACnCI,IAAAA,MAAM,GAAGJ,IAAI,CAAC;AAAEO,MAAAA,OAAO,EAAEH;AAAX,KAAD,CAAb;AACH,GAFM,MAEA,IAAI,OAAOH,OAAP,KAAmB,UAAvB,EAAmC;AACtCG,IAAAA,MAAM,GAAGH,OAAO,CAAC;AAAEM,MAAAA,OAAO,EAAEH;AAAX,KAAD,CAAhB;AACH;;AAED,MAAI,OAAOL,MAAP,KAAkB,UAAtB,EAAkC;AAC9BK,IAAAA,MAAM,GAAGL,MAAM,CAAC;AAAES,MAAAA,MAAM,EAAEJ;AAAV,KAAD,CAAf;AACH;;AAED,MAAIF,OAAJ,EAAa;AACTE,IAAAA,MAAM,GAAGC,4BAAA,CAACI,OAAD;AAASC,MAAAA,KAAK,EAAER;KAAhB,EAA0BE,MAA1B,CAAT;AACH;;AAED,SAAOA,MAAP;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport ReactDayPicker, { NavbarElementProps, DayModifiers } from 'react-day-picker';\nimport { useLocalization } from '../Provider/Provider';\nimport './Calendar.css';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type CalendarTextsActions = {\n /** Aria-label for previous month action button */\n previousMonth: string;\n /** Aria-label for next month action button */\n nextMonth: string;\n /** Aria-label for previous year action button */\n previousYear: string;\n /** Aria-label for next year action button */\n nextYear: string;\n /** Text displayed within today action button */\n today: string;\n};\n\nexport type CalendarTexts = {\n /** Text and aria-label for action buttons in Calendar */\n actions: CalendarTextsActions;\n /** Text abbreviation for months in Calendar's header, starting with January */\n months: string[];\n /** Text abbreviation for days in Calendar's header, starting with Sunday */\n weekdaysShort: string[];\n};\n\nconst renderDay = (day: Date, modifiers: DayModifiers): React.ReactNode =>\n modifiers.disabled ? <span className=\"dot\" /> : day.getDate();\n\n/** @internal */\ntype CustomNavbarElementProps = NavbarElementProps & {\n showYearControls?: boolean;\n onMonthChange: (month: Date) => void;\n value?: Date;\n};\n\nconst thisYear = new Date().getFullYear();\nconst years: number[] = [];\n\nfor (let i = thisYear - 10; i <= thisYear + 10; i += 1) {\n years.push(i);\n}\n\nconst Navbar = React.memo(\n ({ onMonthChange, onNextClick, onPreviousClick, value = new Date() }: CustomNavbarElementProps): JSX.Element => {\n const {\n texts: {\n calendar: { actions, months },\n },\n } = useLocalization();\n\n const handleChange = function handleChange(event) {\n const { year, month } = event.target.form;\n onMonthChange(new Date(year.value, month.value));\n };\n\n return (\n <div className=\"flex justify-between items-center mb-2\">\n <form className=\"inline-flex space-x-1\">\n <select className=\"h-8 px-2\" name=\"month\" onChange={handleChange} value={value.getMonth()}>\n {months.map((month, i) => (\n <option value={i}>{month}</option>\n ))}\n </select>\n <select className=\"h-8 px-2\" name=\"year\" onChange={handleChange} value={value.getFullYear()}>\n {years.map(year => (\n <option value={year}>{String(year)}</option>\n ))}\n </select>\n </form>\n <div>\n <IconButton\n appearance=\"discrete\"\n icon=\"chevron-left\"\n aria-label={actions.previousMonth}\n onClick={() => onPreviousClick()}\n rounded\n />\n <IconButton\n appearance=\"discrete\"\n icon=\"chevron-right\"\n aria-label={actions.nextMonth}\n onClick={() => onNextClick()}\n rounded\n />\n </div>\n </div>\n );\n }\n);\n\nexport type CalendarProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'value'> & {\n /** Handler called when a day is clicked in calendar */\n onChange: (date: Date, event?: React.MouseEvent<HTMLDivElement>) => void;\n value?: Date;\n};\n\nexport const Calendar = React.forwardRef(function Calendar(props: CalendarProps, ref: React.Ref<ReactDayPicker>) {\n const { onChange: handleChange, value, ...otherProps } = props;\n const { locale, texts } = useLocalization();\n const [visibleMonth, setVisibleMonth] = React.useState(value ?? new Date());\n\n React.useEffect(() => {\n if (visibleMonth !== value) {\n setVisibleMonth(value ?? new Date());\n }\n }, [value]);\n\n const handleDayClick = (date, modifiers, event) => {\n if (modifiers.outside || modifiers.disabled) {\n return;\n }\n\n handleChange(date, event);\n };\n\n const handleCalendarClickToday = (): void => {\n const today = new Date();\n\n // set to midday to avoid UTC offset causing dates to be mismatched server side\n today.setHours(12);\n today.setMinutes(0);\n today.setSeconds(0);\n\n handleChange(today);\n };\n\n const className = cn('flex bg-white text-xs p-4', otherProps.className);\n\n return (\n <div data-taco=\"calendar\">\n <ReactDayPicker\n {...otherProps}\n className={className}\n month={visibleMonth}\n selectedDays={value}\n locale={locale.substring(0, 2)}\n firstDayOfWeek={1}\n months={texts.calendar.months}\n weekdaysShort={texts.calendar.weekdaysShort}\n navbarElement={navProps => <Navbar {...navProps} onMonthChange={setVisibleMonth} value={visibleMonth} />}\n onDayClick={handleDayClick}\n onMonthChange={setVisibleMonth}\n onTodayButtonClick={handleCalendarClickToday}\n captionElement={() => null}\n todayButton={texts.calendar.actions.today}\n showOutsideDays\n renderDay={renderDay}\n numberOfMonths={1}\n ref={ref}\n />\n </div>\n );\n});\n"],"names":["renderDay","day","modifiers","disabled","React","className","getDate","thisYear","Date","getFullYear","years","i","push","Navbar","onMonthChange","onNextClick","onPreviousClick","value","useLocalization","texts","calendar","actions","months","handleChange","event","target","form","year","month","name","onChange","getMonth","map","String","IconButton","appearance","icon","previousMonth","onClick","rounded","nextMonth","Calendar","props","ref","otherProps","locale","visibleMonth","setVisibleMonth","handleDayClick","date","outside","handleCalendarClickToday","today","setHours","setMinutes","setSeconds","cn","ReactDayPicker","selectedDays","substring","firstDayOfWeek","weekdaysShort","navbarElement","navProps","onDayClick","onTodayButtonClick","captionElement","todayButton","showOutsideDays","numberOfMonths"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sources":["../../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport ReactDayPicker, { NavbarElementProps, DayModifiers } from 'react-day-picker';\r\nimport { useLocalization } from '../Provider/Provider';\r\nimport './Calendar.css';\r\nimport { IconButton } from '../IconButton/IconButton';\r\n\r\nexport type CalendarTextsActions = {\r\n /** Aria-label for previous month action button */\r\n previousMonth: string;\r\n /** Aria-label for next month action button */\r\n nextMonth: string;\r\n /** Aria-label for previous year action button */\r\n previousYear: string;\r\n /** Aria-label for next year action button */\r\n nextYear: string;\r\n /** Text displayed within today action button */\r\n today: string;\r\n};\r\n\r\nexport type CalendarTexts = {\r\n /** Text and aria-label for action buttons in Calendar */\r\n actions: CalendarTextsActions;\r\n /** Text abbreviation for months in Calendar's header, starting with January */\r\n months: string[];\r\n /** Text abbreviation for days in Calendar's header, starting with Sunday */\r\n weekdaysShort: string[];\r\n};\r\n\r\nconst renderDay = (day: Date, modifiers: DayModifiers): React.ReactNode =>\r\n modifiers.disabled ? <span className=\"dot\" /> : day.getDate();\r\n\r\n/** @internal */\r\ntype CustomNavbarElementProps = NavbarElementProps & {\r\n showYearControls?: boolean;\r\n onMonthChange: (month: Date) => void;\r\n value?: Date;\r\n};\r\n\r\nconst thisYear = new Date().getFullYear();\r\nconst years: number[] = [];\r\n\r\nfor (let i = thisYear - 10; i <= thisYear + 10; i += 1) {\r\n years.push(i);\r\n}\r\n\r\nconst Navbar = React.memo(\r\n ({ onMonthChange, onNextClick, onPreviousClick, value = new Date() }: CustomNavbarElementProps): JSX.Element => {\r\n const {\r\n texts: {\r\n calendar: { actions, months },\r\n },\r\n } = useLocalization();\r\n\r\n const handleChange = function handleChange(event) {\r\n const { year, month } = event.target.form;\r\n onMonthChange(new Date(year.value, month.value));\r\n };\r\n\r\n return (\r\n <div className=\"flex justify-between items-center mb-2\">\r\n <form className=\"inline-flex space-x-1\">\r\n <select className=\"h-8 px-2\" name=\"month\" onChange={handleChange} value={value.getMonth()}>\r\n {months.map((month, i) => (\r\n <option value={i}>{month}</option>\r\n ))}\r\n </select>\r\n <select className=\"h-8 px-2\" name=\"year\" onChange={handleChange} value={value.getFullYear()}>\r\n {years.map(year => (\r\n <option value={year}>{String(year)}</option>\r\n ))}\r\n </select>\r\n </form>\r\n <div>\r\n <IconButton\r\n appearance=\"discrete\"\r\n icon=\"chevron-left\"\r\n aria-label={actions.previousMonth}\r\n onClick={() => onPreviousClick()}\r\n rounded\r\n />\r\n <IconButton\r\n appearance=\"discrete\"\r\n icon=\"chevron-right\"\r\n aria-label={actions.nextMonth}\r\n onClick={() => onNextClick()}\r\n rounded\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport type CalendarProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'value'> & {\r\n /** Handler called when a day is clicked in calendar */\r\n onChange: (date: Date, event?: React.MouseEvent<HTMLDivElement>) => void;\r\n value?: Date;\r\n};\r\n\r\nexport const Calendar = React.forwardRef(function Calendar(props: CalendarProps, ref: React.Ref<ReactDayPicker>) {\r\n const { onChange: handleChange, value, ...otherProps } = props;\r\n const { locale, texts } = useLocalization();\r\n const [visibleMonth, setVisibleMonth] = React.useState(value ?? new Date());\r\n\r\n React.useEffect(() => {\r\n if (visibleMonth !== value) {\r\n setVisibleMonth(value ?? new Date());\r\n }\r\n }, [value]);\r\n\r\n const handleDayClick = (date, modifiers, event) => {\r\n if (modifiers.outside || modifiers.disabled) {\r\n return;\r\n }\r\n\r\n handleChange(date, event);\r\n };\r\n\r\n const handleCalendarClickToday = (): void => {\r\n const today = new Date();\r\n\r\n // set to midday to avoid UTC offset causing dates to be mismatched server side\r\n today.setHours(12);\r\n today.setMinutes(0);\r\n today.setSeconds(0);\r\n\r\n handleChange(today);\r\n };\r\n\r\n const className = cn('flex bg-white text-xs p-4', otherProps.className);\r\n\r\n return (\r\n <div data-taco=\"calendar\">\r\n <ReactDayPicker\r\n {...otherProps}\r\n className={className}\r\n month={visibleMonth}\r\n selectedDays={value}\r\n locale={locale.substring(0, 2)}\r\n firstDayOfWeek={1}\r\n months={texts.calendar.months}\r\n weekdaysShort={texts.calendar.weekdaysShort}\r\n navbarElement={navProps => <Navbar {...navProps} onMonthChange={setVisibleMonth} value={visibleMonth} />}\r\n onDayClick={handleDayClick}\r\n onMonthChange={setVisibleMonth}\r\n onTodayButtonClick={handleCalendarClickToday}\r\n captionElement={() => null}\r\n todayButton={texts.calendar.actions.today}\r\n showOutsideDays\r\n renderDay={renderDay}\r\n numberOfMonths={1}\r\n ref={ref}\r\n />\r\n </div>\r\n );\r\n});\r\n"],"names":["renderDay","day","modifiers","disabled","React","className","getDate","thisYear","Date","getFullYear","years","i","push","Navbar","onMonthChange","onNextClick","onPreviousClick","value","useLocalization","texts","calendar","actions","months","handleChange","event","target","form","year","month","name","onChange","getMonth","map","String","IconButton","appearance","icon","previousMonth","onClick","rounded","nextMonth","Calendar","props","ref","otherProps","locale","visibleMonth","setVisibleMonth","handleDayClick","date","outside","handleCalendarClickToday","today","setHours","setMinutes","setSeconds","cn","ReactDayPicker","selectedDays","substring","firstDayOfWeek","weekdaysShort","navbarElement","navProps","onDayClick","onTodayButtonClick","captionElement","todayButton","showOutsideDays","numberOfMonths"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Icon } from '../Icon/Icon';\n\ntype CheckedState = boolean | 'indeterminate';\n\ntype CheckboxBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onChange'> & {\n /* Increases visual prominenance of the checkbox */\n highlighted?: boolean;\n /**\n * Indeterminate state should only be used with sub-checkboxes. The indeterminate state is shown if not all\n * sub-checkboxes are selected. This only affects the style, changing the icon in the checkbox.\n */\n indeterminate?: boolean;\n /* Whether the checkbox is in an invalid state */\n invalid?: boolean;\n /** Label for the checkbox */\n label?: React.ReactNode;\n /* Whether user input is required */\n required?: boolean;\n};\n\ninterface UncontrolledCheckboxProps extends CheckboxBaseProps {\n checked?: never;\n onChange?: never;\n /* The default checked state (uncontrolled) */\n defaultChecked?: boolean;\n}\n\ninterface ControlledCheckboxProps extends CheckboxBaseProps {\n defaultChecked?: never;\n /* The current checked state (controlled) */\n checked: boolean;\n /* Handler called when the checked state changes */\n onChange: (checked: boolean) => void;\n}\n\nexport type CheckboxProps = UncontrolledCheckboxProps | ControlledCheckboxProps;\n\nexport const Checkbox = React.forwardRef(function Checkbox(props: CheckboxProps, ref: React.Ref<HTMLButtonElement>) {\n const { checked, highlighted, indeterminate, invalid, label, onChange, ...otherProps } = props;\n\n const className = cn(\n 'h-5 w-5 border rounded text-sm',\n {\n 'mr-2': !!label,\n 'border-grey-dark text-blue focus:border-blue focus:yt-focus': !props.disabled && !invalid,\n 'border-grey text-blue-light cursor-not-allowed': props.disabled,\n 'bg-[rgba(255,255,0,0.2)] disabled:bg-[rgba(255,255,0,0.075)]': highlighted,\n 'border-red text-red focus:border-red focus:yt-focus-red': invalid && !props.disabled,\n },\n props.className\n );\n\n let handleChange: ((checked: CheckedState) => void) | undefined;\n\n if (onChange) {\n handleChange = (checked: CheckedState) => onChange(checked === 'indeterminate' ? false : checked);\n }\n\n const element = (\n <CheckboxPrimitive.Root\n {...otherProps}\n data-taco=\"checkbox\"\n checked={indeterminate ? 'indeterminate' : checked}\n className={className}\n onCheckedChange={handleChange}\n ref={ref}\n >\n <CheckboxPrimitive.Indicator className=\"flex h-full w-full\">\n <Icon name={indeterminate ? 'line' : 'tick'} className=\"!h-full !w-full\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n\n if (label) {\n const labelClassName = cn('flex items-center cursor-pointer', {\n 'cursor-not-allowed text-grey-dark': props.disabled,\n });\n\n return (\n <label className={labelClassName}>\n {element}\n {label}\n </label>\n );\n }\n\n return element;\n});\n"],"names":["Checkbox","React","props","ref","checked","highlighted","indeterminate","invalid","label","onChange","otherProps","className","cn","disabled","handleChange","element","CheckboxPrimitive","onCheckedChange","Icon","name","labelClassName"],"mappings":";;;;;;;IAwCaA,QAAQ,gBAAGC,UAAA,CAAiB,SAASD,QAAT,CAAkBE,KAAlB,EAAwCC,GAAxC;AACrC,MAAQC,OAAR,GAAyFF,KAAzF,CAAQE,OAAR;AAAA,MAAiBC,WAAjB,GAAyFH,KAAzF,CAAiBG,WAAjB;AAAA,MAA8BC,aAA9B,GAAyFJ,KAAzF,CAA8BI,aAA9B;AAAA,MAA6CC,OAA7C,GAAyFL,KAAzF,CAA6CK,OAA7C;AAAA,MAAsDC,KAAtD,GAAyFN,KAAzF,CAAsDM,KAAtD;AAAA,MAA6DC,QAA7D,GAAyFP,KAAzF,CAA6DO,QAA7D;AAAA,MAA0EC,UAA1E,iCAAyFR,KAAzF;;AAEA,MAAMS,SAAS,GAAGC,EAAE,CAChB,gCADgB,EAEhB;AACI,YAAQ,CAAC,CAACJ,KADd;AAEI,mEAA+D,CAACN,KAAK,CAACW,QAAP,IAAmB,CAACN,OAFvF;AAGI,sDAAkDL,KAAK,CAACW,QAH5D;AAII,oEAAgER,WAJpE;AAKI,+DAA2DE,OAAO,IAAI,CAACL,KAAK,CAACW;AALjF,GAFgB,EAShBX,KAAK,CAACS,SATU,CAApB;AAYA,MAAIG,YAAJ;;AAEA,MAAIL,QAAJ,EAAc;AACVK,IAAAA,YAAY,GAAG,sBAACV,OAAD;AAAA,aAA2BK,QAAQ,CAACL,OAAO,KAAK,eAAZ,GAA8B,KAA9B,GAAsCA,OAAvC,CAAnC;AAAA,KAAf;AACH;;AAED,MAAMW,OAAO,GACTd,aAAA,CAACe,IAAD,oBACQN;iBACM;AACVN,IAAAA,OAAO,EAAEE,aAAa,GAAG,eAAH,GAAqBF;AAC3CO,IAAAA,SAAS,EAAEA;AACXM,IAAAA,eAAe,EAAEH;AACjBX,IAAAA,GAAG,EAAEA;IANT,EAQIF,aAAA,CAACe,SAAD;AAA6BL,IAAAA,SAAS,EAAC;GAAvC,EACIV,aAAA,CAACiB,IAAD;AAAMC,IAAAA,IAAI,EAAEb,aAAa,GAAG,MAAH,GAAY;AAAQK,IAAAA,SAAS,EAAC;GAAvD,CADJ,CARJ,CADJ;;AAeA,MAAIH,KAAJ,EAAW;AACP,QAAMY,cAAc,GAAGR,EAAE,CAAC,kCAAD,EAAqC;AAC1D,2CAAqCV,KAAK,CAACW;AADe,KAArC,CAAzB;AAIA,WACIZ,aAAA,QAAA;AAAOU,MAAAA,SAAS,EAAES;KAAlB,EACKL,OADL,EAEKP,KAFL,CADJ;AAMH;;AAED,SAAOO,OAAP;AACH,CAlDuB;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\r\nimport { Icon } from '../Icon/Icon';\r\n\r\ntype CheckedState = boolean | 'indeterminate';\r\n\r\ntype CheckboxBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onChange'> & {\r\n /* Increases visual prominenance of the checkbox */\r\n highlighted?: boolean;\r\n /**\r\n * Indeterminate state should only be used with sub-checkboxes. The indeterminate state is shown if not all\r\n * sub-checkboxes are selected. This only affects the style, changing the icon in the checkbox.\r\n */\r\n indeterminate?: boolean;\r\n /* Whether the checkbox is in an invalid state */\r\n invalid?: boolean;\r\n /** Label for the checkbox */\r\n label?: React.ReactNode;\r\n /* Whether user input is required */\r\n required?: boolean;\r\n};\r\n\r\ninterface UncontrolledCheckboxProps extends CheckboxBaseProps {\r\n checked?: never;\r\n onChange?: never;\r\n /* The default checked state (uncontrolled) */\r\n defaultChecked?: boolean;\r\n}\r\n\r\ninterface ControlledCheckboxProps extends CheckboxBaseProps {\r\n defaultChecked?: never;\r\n /* The current checked state (controlled) */\r\n checked: boolean;\r\n /* Handler called when the checked state changes */\r\n onChange: (checked: boolean) => void;\r\n}\r\n\r\nexport type CheckboxProps = UncontrolledCheckboxProps | ControlledCheckboxProps;\r\n\r\nexport const Checkbox = React.forwardRef(function Checkbox(props: CheckboxProps, ref: React.Ref<HTMLButtonElement>) {\r\n const { checked, highlighted, indeterminate, invalid, label, onChange, ...otherProps } = props;\r\n\r\n const className = cn(\r\n 'h-5 w-5 border rounded text-sm',\r\n {\r\n 'mr-2': !!label,\r\n 'border-grey-dark text-blue focus:border-blue focus:yt-focus': !props.disabled && !invalid,\r\n 'border-grey text-blue-light cursor-not-allowed': props.disabled,\r\n 'bg-[rgba(255,255,0,0.2)] disabled:bg-[rgba(255,255,0,0.075)]': highlighted,\r\n 'border-red text-red focus:border-red focus:yt-focus-red': invalid && !props.disabled,\r\n },\r\n props.className\r\n );\r\n\r\n let handleChange: ((checked: CheckedState) => void) | undefined;\r\n\r\n if (onChange) {\r\n handleChange = (checked: CheckedState) => onChange(checked === 'indeterminate' ? false : checked);\r\n }\r\n\r\n const element = (\r\n <CheckboxPrimitive.Root\r\n {...otherProps}\r\n data-taco=\"checkbox\"\r\n checked={indeterminate ? 'indeterminate' : checked}\r\n className={className}\r\n onCheckedChange={handleChange}\r\n ref={ref}\r\n >\r\n <CheckboxPrimitive.Indicator className=\"flex h-full w-full\">\r\n <Icon name={indeterminate ? 'line' : 'tick'} className=\"!h-full !w-full\" />\r\n </CheckboxPrimitive.Indicator>\r\n </CheckboxPrimitive.Root>\r\n );\r\n\r\n if (label) {\r\n const labelClassName = cn('flex items-center cursor-pointer', {\r\n 'cursor-not-allowed text-grey-dark': props.disabled,\r\n });\r\n\r\n return (\r\n <label className={labelClassName}>\r\n {element}\r\n {label}\r\n </label>\r\n );\r\n }\r\n\r\n return element;\r\n});\r\n"],"names":["Checkbox","React","props","ref","checked","highlighted","indeterminate","invalid","label","onChange","otherProps","className","cn","disabled","handleChange","element","CheckboxPrimitive","onCheckedChange","Icon","name","labelClassName"],"mappings":";;;;;;;IAwCaA,QAAQ,gBAAGC,UAAA,CAAiB,SAASD,QAAT,CAAkBE,KAAlB,EAAwCC,GAAxC;AACrC,MAAQC,OAAR,GAAyFF,KAAzF,CAAQE,OAAR;AAAA,MAAiBC,WAAjB,GAAyFH,KAAzF,CAAiBG,WAAjB;AAAA,MAA8BC,aAA9B,GAAyFJ,KAAzF,CAA8BI,aAA9B;AAAA,MAA6CC,OAA7C,GAAyFL,KAAzF,CAA6CK,OAA7C;AAAA,MAAsDC,KAAtD,GAAyFN,KAAzF,CAAsDM,KAAtD;AAAA,MAA6DC,QAA7D,GAAyFP,KAAzF,CAA6DO,QAA7D;AAAA,MAA0EC,UAA1E,iCAAyFR,KAAzF;;AAEA,MAAMS,SAAS,GAAGC,EAAE,CAChB,gCADgB,EAEhB;AACI,YAAQ,CAAC,CAACJ,KADd;AAEI,mEAA+D,CAACN,KAAK,CAACW,QAAP,IAAmB,CAACN,OAFvF;AAGI,sDAAkDL,KAAK,CAACW,QAH5D;AAII,oEAAgER,WAJpE;AAKI,+DAA2DE,OAAO,IAAI,CAACL,KAAK,CAACW;AALjF,GAFgB,EAShBX,KAAK,CAACS,SATU,CAApB;AAYA,MAAIG,YAAJ;;AAEA,MAAIL,QAAJ,EAAc;AACVK,IAAAA,YAAY,GAAG,sBAACV,OAAD;AAAA,aAA2BK,QAAQ,CAACL,OAAO,KAAK,eAAZ,GAA8B,KAA9B,GAAsCA,OAAvC,CAAnC;AAAA,KAAf;AACH;;AAED,MAAMW,OAAO,GACTd,aAAA,CAACe,IAAD,oBACQN;iBACM;AACVN,IAAAA,OAAO,EAAEE,aAAa,GAAG,eAAH,GAAqBF;AAC3CO,IAAAA,SAAS,EAAEA;AACXM,IAAAA,eAAe,EAAEH;AACjBX,IAAAA,GAAG,EAAEA;IANT,EAQIF,aAAA,CAACe,SAAD;AAA6BL,IAAAA,SAAS,EAAC;GAAvC,EACIV,aAAA,CAACiB,IAAD;AAAMC,IAAAA,IAAI,EAAEb,aAAa,GAAG,MAAH,GAAY;AAAQK,IAAAA,SAAS,EAAC;GAAvD,CADJ,CARJ,CADJ;;AAeA,MAAIH,KAAJ,EAAW;AACP,QAAMY,cAAc,GAAGR,EAAE,CAAC,kCAAD,EAAqC;AAC1D,2CAAqCV,KAAK,CAACW;AADe,KAArC,CAAzB;AAIA,WACIZ,aAAA,QAAA;AAAOU,MAAAA,SAAS,EAAES;KAAlB,EACKL,OADL,EAEKP,KAFL,CADJ;AAMH;;AAED,SAAOO,OAAP;AACH,CAlDuB;;;;"}