@economic/taco 2.53.2 → 2.55.0-settings.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 (460) hide show
  1. package/dist/charts/components/Area/AreaChart.d.ts +1 -1
  2. package/dist/charts/components/Bar/BarChart.d.ts +1 -1
  3. package/dist/charts/components/Donut/ActiveShape.d.ts +2 -2
  4. package/dist/charts/components/Donut/CenteredLabel.d.ts +2 -2
  5. package/dist/charts/components/Donut/DonutChart.d.ts +1 -1
  6. package/dist/charts/components/Donut/Legend.d.ts +1 -1
  7. package/dist/charts/components/Legend.d.ts +2 -2
  8. package/dist/charts/components/Line/LineChart.d.ts +1 -1
  9. package/dist/charts/components/ResponsiveContainer.d.ts +1 -1
  10. package/dist/charts/components/Tooltip.d.ts +2 -2
  11. package/dist/charts/utils/common.d.ts +3 -3
  12. package/dist/components/Accordion/Accordion.d.ts +2 -2
  13. package/dist/components/Alert/Alert.d.ts +1 -1
  14. package/dist/components/AlertDialog/components/Content.d.ts +1 -1
  15. package/dist/components/Calendar/Calendar.d.ts +1 -1
  16. package/dist/components/Checkbox/Checkbox.d.ts +7 -2
  17. package/dist/components/Datepicker/Datepicker.d.ts +1 -1
  18. package/dist/components/Dialog/components/Content.d.ts +1 -1
  19. package/dist/components/Dialog/components/DialogDrawer.d.ts +1 -1
  20. package/dist/components/Drawer/components/Content.d.ts +2 -2
  21. package/dist/components/Header/components/Agreement/Badge.d.ts +1 -1
  22. package/dist/components/Header/components/Agreement/Display.d.ts +2 -2
  23. package/dist/components/Header/components/Agreement/Item.d.ts +2 -2
  24. package/dist/components/Header/components/AgreementSelector.d.ts +2 -2
  25. package/dist/components/Header/components/Button.d.ts +1 -1
  26. package/dist/components/HoverCard/HoverCard.d.ts +1 -1
  27. package/dist/components/Icon/components/AccountPreview.d.ts +1 -1
  28. package/dist/components/Icon/components/Accounting.d.ts +1 -1
  29. package/dist/components/Icon/components/AccountingYear.d.ts +1 -1
  30. package/dist/components/Icon/components/AccountingYearCancel.d.ts +1 -1
  31. package/dist/components/Icon/components/AiChatSolid.d.ts +1 -1
  32. package/dist/components/Icon/components/AiStars.d.ts +1 -1
  33. package/dist/components/Icon/components/ArrowBottom.d.ts +1 -1
  34. package/dist/components/Icon/components/ArrowDown.d.ts +1 -1
  35. package/dist/components/Icon/components/ArrowEnd.d.ts +1 -1
  36. package/dist/components/Icon/components/ArrowLeft.d.ts +1 -1
  37. package/dist/components/Icon/components/ArrowRight.d.ts +1 -1
  38. package/dist/components/Icon/components/ArrowStart.d.ts +1 -1
  39. package/dist/components/Icon/components/ArrowTop.d.ts +1 -1
  40. package/dist/components/Icon/components/ArrowUp.d.ts +1 -1
  41. package/dist/components/Icon/components/Attach.d.ts +1 -1
  42. package/dist/components/Icon/components/AttachAuto.d.ts +1 -1
  43. package/dist/components/Icon/components/AttachCancel.d.ts +1 -1
  44. package/dist/components/Icon/components/AttachWarning.d.ts +1 -1
  45. package/dist/components/Icon/components/Autopay.d.ts +1 -1
  46. package/dist/components/Icon/components/AutopayPaused.d.ts +1 -1
  47. package/dist/components/Icon/components/Autotext.d.ts +1 -1
  48. package/dist/components/Icon/components/AutotextInsert.d.ts +1 -1
  49. package/dist/components/Icon/components/Basic.d.ts +1 -1
  50. package/dist/components/Icon/components/BasicTabs.d.ts +1 -1
  51. package/dist/components/Icon/components/BellSolid.d.ts +1 -1
  52. package/dist/components/Icon/components/Book.d.ts +1 -1
  53. package/dist/components/Icon/components/Booking.d.ts +1 -1
  54. package/dist/components/Icon/components/Budget.d.ts +1 -1
  55. package/dist/components/Icon/components/Calendar.d.ts +1 -1
  56. package/dist/components/Icon/components/CashAccount.d.ts +1 -1
  57. package/dist/components/Icon/components/CashReports.d.ts +1 -1
  58. package/dist/components/Icon/components/ChartArea.d.ts +1 -1
  59. package/dist/components/Icon/components/ChartBar.d.ts +1 -1
  60. package/dist/components/Icon/components/ChartLine.d.ts +1 -1
  61. package/dist/components/Icon/components/ChartPie.d.ts +1 -1
  62. package/dist/components/Icon/components/ChartTable.d.ts +1 -1
  63. package/dist/components/Icon/components/Chat.d.ts +1 -1
  64. package/dist/components/Icon/components/ChatSolid.d.ts +1 -1
  65. package/dist/components/Icon/components/ChevronDown.d.ts +1 -1
  66. package/dist/components/Icon/components/ChevronDownDouble.d.ts +1 -1
  67. package/dist/components/Icon/components/ChevronDownSolid.d.ts +1 -1
  68. package/dist/components/Icon/components/ChevronLeft.d.ts +1 -1
  69. package/dist/components/Icon/components/ChevronLeftDouble.d.ts +1 -1
  70. package/dist/components/Icon/components/ChevronLeftSolid.d.ts +1 -1
  71. package/dist/components/Icon/components/ChevronRight.d.ts +1 -1
  72. package/dist/components/Icon/components/ChevronRightDouble.d.ts +1 -1
  73. package/dist/components/Icon/components/ChevronRightSolid.d.ts +1 -1
  74. package/dist/components/Icon/components/ChevronUp.d.ts +1 -1
  75. package/dist/components/Icon/components/ChevronUpDouble.d.ts +1 -1
  76. package/dist/components/Icon/components/ChevronUpSolid.d.ts +1 -1
  77. package/dist/components/Icon/components/CircleClose.d.ts +1 -1
  78. package/dist/components/Icon/components/CircleInformation.d.ts +1 -1
  79. package/dist/components/Icon/components/CircleMinus.d.ts +1 -1
  80. package/dist/components/Icon/components/CirclePlus.d.ts +1 -1
  81. package/dist/components/Icon/components/CircleQuestionmark.d.ts +1 -1
  82. package/dist/components/Icon/components/CircleTick.d.ts +1 -1
  83. package/dist/components/Icon/components/CircleWarning.d.ts +1 -1
  84. package/dist/components/Icon/components/Clamp.d.ts +1 -1
  85. package/dist/components/Icon/components/ClampOpen.d.ts +1 -1
  86. package/dist/components/Icon/components/Close.d.ts +1 -1
  87. package/dist/components/Icon/components/ColumnFreeze.d.ts +1 -1
  88. package/dist/components/Icon/components/ColumnUnfreeze.d.ts +1 -1
  89. package/dist/components/Icon/components/Columns.d.ts +1 -1
  90. package/dist/components/Icon/components/ConnectionEnable.d.ts +1 -1
  91. package/dist/components/Icon/components/ConnectionRevoke.d.ts +1 -1
  92. package/dist/components/Icon/components/Contacts.d.ts +1 -1
  93. package/dist/components/Icon/components/Copy.d.ts +1 -1
  94. package/dist/components/Icon/components/Courses.d.ts +1 -1
  95. package/dist/components/Icon/components/Credit.d.ts +1 -1
  96. package/dist/components/Icon/components/Delete.d.ts +1 -1
  97. package/dist/components/Icon/components/DeletePermanently.d.ts +1 -1
  98. package/dist/components/Icon/components/Depecriate.d.ts +1 -1
  99. package/dist/components/Icon/components/Developer.d.ts +1 -1
  100. package/dist/components/Icon/components/DistributionTemplate.d.ts +1 -1
  101. package/dist/components/Icon/components/Document.d.ts +1 -1
  102. package/dist/components/Icon/components/DocumentApprove.d.ts +1 -1
  103. package/dist/components/Icon/components/DocumentCreateEntry.d.ts +1 -1
  104. package/dist/components/Icon/components/DocumentCut.d.ts +1 -1
  105. package/dist/components/Icon/components/DocumentError.d.ts +1 -1
  106. package/dist/components/Icon/components/DocumentIsolatePage.d.ts +1 -1
  107. package/dist/components/Icon/components/DocumentMerge.d.ts +1 -1
  108. package/dist/components/Icon/components/DocumentMove.d.ts +1 -1
  109. package/dist/components/Icon/components/DocumentPreview.d.ts +1 -1
  110. package/dist/components/Icon/components/DocumentReceived.d.ts +1 -1
  111. package/dist/components/Icon/components/DocumentRejectedRequest.d.ts +1 -1
  112. package/dist/components/Icon/components/DocumentSigned.d.ts +1 -1
  113. package/dist/components/Icon/components/DocumentSignedSolid.d.ts +1 -1
  114. package/dist/components/Icon/components/DocumentSplit.d.ts +1 -1
  115. package/dist/components/Icon/components/DocumentTime.d.ts +1 -1
  116. package/dist/components/Icon/components/Download.d.ts +1 -1
  117. package/dist/components/Icon/components/Drag.d.ts +1 -1
  118. package/dist/components/Icon/components/ECopedia.d.ts +1 -1
  119. package/dist/components/Icon/components/Edit.d.ts +1 -1
  120. package/dist/components/Icon/components/EditSimple.d.ts +1 -1
  121. package/dist/components/Icon/components/EllipsisHorizontal.d.ts +1 -1
  122. package/dist/components/Icon/components/EllipsisVertical.d.ts +1 -1
  123. package/dist/components/Icon/components/EntriesOnAccount.d.ts +1 -1
  124. package/dist/components/Icon/components/EntriesOpen.d.ts +1 -1
  125. package/dist/components/Icon/components/EntriesWarning.d.ts +1 -1
  126. package/dist/components/Icon/components/EntryTypeCustomerInvoice.d.ts +1 -1
  127. package/dist/components/Icon/components/EntryTypeCustomerPayment.d.ts +1 -1
  128. package/dist/components/Icon/components/EntryTypeJournalEntry.d.ts +1 -1
  129. package/dist/components/Icon/components/EntryTypeManualCustomerInvoice.d.ts +1 -1
  130. package/dist/components/Icon/components/EntryTypeSupplierInvoice.d.ts +1 -1
  131. package/dist/components/Icon/components/EntryTypeSupplierPayment.d.ts +1 -1
  132. package/dist/components/Icon/components/Envelope.d.ts +1 -1
  133. package/dist/components/Icon/components/EnvelopeApproved.d.ts +1 -1
  134. package/dist/components/Icon/components/EnvelopeSolid.d.ts +1 -1
  135. package/dist/components/Icon/components/ExpandView.d.ts +1 -1
  136. package/dist/components/Icon/components/Expenses.d.ts +1 -1
  137. package/dist/components/Icon/components/Experiment.d.ts +1 -1
  138. package/dist/components/Icon/components/Export.d.ts +1 -1
  139. package/dist/components/Icon/components/ExportToExcel.d.ts +1 -1
  140. package/dist/components/Icon/components/ExportToPdf.d.ts +1 -1
  141. package/dist/components/Icon/components/EyeOff.d.ts +1 -1
  142. package/dist/components/Icon/components/EyeOn.d.ts +1 -1
  143. package/dist/components/Icon/components/Filter.d.ts +1 -1
  144. package/dist/components/Icon/components/FilterSolid.d.ts +1 -1
  145. package/dist/components/Icon/components/FontSize.d.ts +1 -1
  146. package/dist/components/Icon/components/GraphSolid.d.ts +1 -1
  147. package/dist/components/Icon/components/Hash.d.ts +1 -1
  148. package/dist/components/Icon/components/HeightExtraTall.d.ts +1 -1
  149. package/dist/components/Icon/components/HeightMedium.d.ts +1 -1
  150. package/dist/components/Icon/components/HeightShort.d.ts +1 -1
  151. package/dist/components/Icon/components/HeightTall.d.ts +1 -1
  152. package/dist/components/Icon/components/House.d.ts +1 -1
  153. package/dist/components/Icon/components/HouseSolid.d.ts +1 -1
  154. package/dist/components/Icon/components/Id.d.ts +1 -1
  155. package/dist/components/Icon/components/Images.d.ts +1 -1
  156. package/dist/components/Icon/components/Import.d.ts +1 -1
  157. package/dist/components/Icon/components/Inbox.d.ts +1 -1
  158. package/dist/components/Icon/components/InboxEinvoicing.d.ts +1 -1
  159. package/dist/components/Icon/components/InboxScanning.d.ts +1 -1
  160. package/dist/components/Icon/components/InboxSmart.d.ts +1 -1
  161. package/dist/components/Icon/components/Info.d.ts +1 -1
  162. package/dist/components/Icon/components/Inventory.d.ts +1 -1
  163. package/dist/components/Icon/components/InventoryMatrix.d.ts +1 -1
  164. package/dist/components/Icon/components/JournalPro.d.ts +1 -1
  165. package/dist/components/Icon/components/Layout.d.ts +1 -1
  166. package/dist/components/Icon/components/LayoutBoth.d.ts +1 -1
  167. package/dist/components/Icon/components/LayoutFirst.d.ts +1 -1
  168. package/dist/components/Icon/components/LayoutLast.d.ts +1 -1
  169. package/dist/components/Icon/components/LayoutNone.d.ts +1 -1
  170. package/dist/components/Icon/components/LedgerCard.d.ts +1 -1
  171. package/dist/components/Icon/components/LedgerCardCustomerReminder.d.ts +1 -1
  172. package/dist/components/Icon/components/LedgerCardManualCustomerInvoice.d.ts +1 -1
  173. package/dist/components/Icon/components/LedgerCardObsoleteStock.d.ts +1 -1
  174. package/dist/components/Icon/components/LedgerCardOpeningEntry.d.ts +1 -1
  175. package/dist/components/Icon/components/LedgerCardReservedEntry.d.ts +1 -1
  176. package/dist/components/Icon/components/LedgerCardShrinkagePilferage.d.ts +1 -1
  177. package/dist/components/Icon/components/LedgerCardStockAdjustment.d.ts +1 -1
  178. package/dist/components/Icon/components/LedgerCardTransferredOpeningEntry.d.ts +1 -1
  179. package/dist/components/Icon/components/Lightbulb.d.ts +1 -1
  180. package/dist/components/Icon/components/Line.d.ts +1 -1
  181. package/dist/components/Icon/components/LinkExternal.d.ts +1 -1
  182. package/dist/components/Icon/components/List.d.ts +1 -1
  183. package/dist/components/Icon/components/ListBulleted.d.ts +1 -1
  184. package/dist/components/Icon/components/ListSearch.d.ts +1 -1
  185. package/dist/components/Icon/components/Location.d.ts +1 -1
  186. package/dist/components/Icon/components/Lock.d.ts +1 -1
  187. package/dist/components/Icon/components/LockOpen.d.ts +1 -1
  188. package/dist/components/Icon/components/Log.d.ts +1 -1
  189. package/dist/components/Icon/components/LogOut.d.ts +1 -1
  190. package/dist/components/Icon/components/Market.d.ts +1 -1
  191. package/dist/components/Icon/components/MastercardOs.d.ts +1 -1
  192. package/dist/components/Icon/components/MatchAmount.d.ts +1 -1
  193. package/dist/components/Icon/components/MatchEntries.d.ts +1 -1
  194. package/dist/components/Icon/components/Menu.d.ts +1 -1
  195. package/dist/components/Icon/components/Mileage.d.ts +1 -1
  196. package/dist/components/Icon/components/ModalResize.d.ts +1 -1
  197. package/dist/components/Icon/components/ModalShrink.d.ts +1 -1
  198. package/dist/components/Icon/components/More.d.ts +1 -1
  199. package/dist/components/Icon/components/MoreSolid.d.ts +1 -1
  200. package/dist/components/Icon/components/Move.d.ts +1 -1
  201. package/dist/components/Icon/components/NavigationList.d.ts +1 -1
  202. package/dist/components/Icon/components/Note.d.ts +1 -1
  203. package/dist/components/Icon/components/NoteFollowUp.d.ts +1 -1
  204. package/dist/components/Icon/components/NoteRead.d.ts +1 -1
  205. package/dist/components/Icon/components/NovemberFirst.d.ts +1 -1
  206. package/dist/components/Icon/components/Numbers.d.ts +1 -1
  207. package/dist/components/Icon/components/PartnerApi.d.ts +1 -1
  208. package/dist/components/Icon/components/PaymentPaid.d.ts +1 -1
  209. package/dist/components/Icon/components/PaymentUnpaid.d.ts +1 -1
  210. package/dist/components/Icon/components/Period.d.ts +1 -1
  211. package/dist/components/Icon/components/Person.d.ts +1 -1
  212. package/dist/components/Icon/components/PersonChange.d.ts +1 -1
  213. package/dist/components/Icon/components/PersonMinus.d.ts +1 -1
  214. package/dist/components/Icon/components/PersonPlus.d.ts +1 -1
  215. package/dist/components/Icon/components/PersonSolid.d.ts +1 -1
  216. package/dist/components/Icon/components/PersonTick.d.ts +1 -1
  217. package/dist/components/Icon/components/Phone.d.ts +1 -1
  218. package/dist/components/Icon/components/PhoneSolid.d.ts +1 -1
  219. package/dist/components/Icon/components/Play.d.ts +1 -1
  220. package/dist/components/Icon/components/PlusMinus.d.ts +1 -1
  221. package/dist/components/Icon/components/Print.d.ts +1 -1
  222. package/dist/components/Icon/components/ProcessPayment.d.ts +1 -1
  223. package/dist/components/Icon/components/ProductLedgerCard.d.ts +1 -1
  224. package/dist/components/Icon/components/Profile.d.ts +1 -1
  225. package/dist/components/Icon/components/ProjectCards.d.ts +1 -1
  226. package/dist/components/Icon/components/Projects.d.ts +1 -1
  227. package/dist/components/Icon/components/QuestionMark.d.ts +1 -1
  228. package/dist/components/Icon/components/QuestionMarkBold.d.ts +1 -1
  229. package/dist/components/Icon/components/Quicklinks.d.ts +1 -1
  230. package/dist/components/Icon/components/RatingBankruptcy.d.ts +1 -1
  231. package/dist/components/Icon/components/RatingPaymentProblems.d.ts +1 -1
  232. package/dist/components/Icon/components/Reconciled.d.ts +1 -1
  233. package/dist/components/Icon/components/Refresh.d.ts +1 -1
  234. package/dist/components/Icon/components/Report.d.ts +1 -1
  235. package/dist/components/Icon/components/ReportSolid.d.ts +1 -1
  236. package/dist/components/Icon/components/Restore.d.ts +1 -1
  237. package/dist/components/Icon/components/RotateLeft.d.ts +1 -1
  238. package/dist/components/Icon/components/RotateRight.d.ts +1 -1
  239. package/dist/components/Icon/components/Sales.d.ts +1 -1
  240. package/dist/components/Icon/components/Search.d.ts +1 -1
  241. package/dist/components/Icon/components/SearchBold.d.ts +1 -1
  242. package/dist/components/Icon/components/Secure.d.ts +1 -1
  243. package/dist/components/Icon/components/SecureTick.d.ts +1 -1
  244. package/dist/components/Icon/components/Settings.d.ts +1 -1
  245. package/dist/components/Icon/components/SettingsSolid.d.ts +1 -1
  246. package/dist/components/Icon/components/Shortcuts.d.ts +1 -1
  247. package/dist/components/Icon/components/ShowAll.d.ts +1 -1
  248. package/dist/components/Icon/components/ShowLess.d.ts +1 -1
  249. package/dist/components/Icon/components/ShowMore.d.ts +1 -1
  250. package/dist/components/Icon/components/ShowTemplate.d.ts +1 -1
  251. package/dist/components/Icon/components/Sliders.d.ts +1 -1
  252. package/dist/components/Icon/components/Smartpay.d.ts +1 -1
  253. package/dist/components/Icon/components/SortBy.d.ts +1 -1
  254. package/dist/components/Icon/components/Star.d.ts +1 -1
  255. package/dist/components/Icon/components/StarSolid.d.ts +1 -1
  256. package/dist/components/Icon/components/Subscriptions.d.ts +1 -1
  257. package/dist/components/Icon/components/SystemEntries.d.ts +1 -1
  258. package/dist/components/Icon/components/Tag.d.ts +1 -1
  259. package/dist/components/Icon/components/TemplateOverride.d.ts +1 -1
  260. package/dist/components/Icon/components/Templates.d.ts +1 -1
  261. package/dist/components/Icon/components/ThumbBoth.d.ts +1 -1
  262. package/dist/components/Icon/components/ThumbDown.d.ts +1 -1
  263. package/dist/components/Icon/components/ThumbDownSolid.d.ts +1 -1
  264. package/dist/components/Icon/components/ThumbUp.d.ts +1 -1
  265. package/dist/components/Icon/components/ThumbUpSolid.d.ts +1 -1
  266. package/dist/components/Icon/components/Tick.d.ts +1 -1
  267. package/dist/components/Icon/components/TickBold.d.ts +1 -1
  268. package/dist/components/Icon/components/Time.d.ts +1 -1
  269. package/dist/components/Icon/components/Transfer.d.ts +1 -1
  270. package/dist/components/Icon/components/TransferCancel.d.ts +1 -1
  271. package/dist/components/Icon/components/TransferLocked.d.ts +1 -1
  272. package/dist/components/Icon/components/Undo.d.ts +1 -1
  273. package/dist/components/Icon/components/Undock.d.ts +1 -1
  274. package/dist/components/Icon/components/Unreconciled.d.ts +1 -1
  275. package/dist/components/Icon/components/Wallet.d.ts +1 -1
  276. package/dist/components/Icon/components/Warning.d.ts +1 -1
  277. package/dist/components/Icon/components/Webshop.d.ts +1 -1
  278. package/dist/components/Icon/components/Website.d.ts +1 -1
  279. package/dist/components/Icon/components/Workflow.d.ts +1 -1
  280. package/dist/components/Icon/components/WorkflowTemplateBasic.d.ts +1 -1
  281. package/dist/components/Icon/components/Zoom.d.ts +1 -1
  282. package/dist/components/IconButton/IconButton.d.ts +2 -2
  283. package/dist/components/Input/Input.d.ts +2 -2
  284. package/dist/components/Layout/components/Sidebar.d.ts +14 -2
  285. package/dist/components/Layout/components/Top.d.ts +4 -4
  286. package/dist/components/List/List.d.ts +7 -7
  287. package/dist/components/List/components/Button.d.ts +1 -1
  288. package/dist/components/List/components/Collapsible.d.ts +1 -1
  289. package/dist/components/List/components/Group.d.ts +1 -1
  290. package/dist/components/List/components/Item.d.ts +1 -1
  291. package/dist/components/List/components/Link.d.ts +1 -1
  292. package/dist/components/List/components/Toggle.d.ts +2 -2
  293. package/dist/components/Listbox/Listbox.d.ts +2 -2
  294. package/dist/components/Listbox/ScrollableList.d.ts +1 -1
  295. package/dist/components/Listbox/util.d.ts +2 -2
  296. package/dist/components/Menu/components/Checkbox.d.ts +1 -1
  297. package/dist/components/Menu/components/Content.d.ts +2 -2
  298. package/dist/components/Menu/components/Item.d.ts +2 -2
  299. package/dist/components/Menu/components/Link.d.ts +1 -1
  300. package/dist/components/Menu/components/RadioGroup.d.ts +1 -1
  301. package/dist/components/Menu/components/SubMenu.d.ts +1 -1
  302. package/dist/components/Menu/components/Trigger.d.ts +1 -1
  303. package/dist/components/ModeSwitch/ModeSwitch.d.ts +6 -3
  304. package/dist/components/Navigation2/components/Group.d.ts +1 -1
  305. package/dist/components/Provider/Provider.d.ts +7 -6
  306. package/dist/components/Provider/TacoContext.d.ts +7 -0
  307. package/dist/components/Provider/useTacoSettings.d.ts +8 -0
  308. package/dist/components/Report/Report.d.ts +4 -2
  309. package/dist/components/ScrollArea/ScrollArea.d.ts +2 -2
  310. package/dist/components/SearchInput/SearchInput.d.ts +1 -1
  311. package/dist/components/Select/Select.d.ts +1 -1
  312. package/dist/components/Select2/components/All.d.ts +2 -2
  313. package/dist/components/Select2/components/Collection.d.ts +1 -1
  314. package/dist/components/Select2/components/Create.d.ts +1 -1
  315. package/dist/components/Select2/components/Edit.d.ts +2 -2
  316. package/dist/components/Select2/components/Group.d.ts +1 -1
  317. package/dist/components/Select2/components/Option.d.ts +1 -1
  318. package/dist/components/Select2/components/Search.d.ts +3 -3
  319. package/dist/components/Select2/components/Trigger.d.ts +1 -1
  320. package/dist/components/Select2/hooks/useChildren.d.ts +2 -2
  321. package/dist/components/Shortcut/Shortcut.d.ts +1 -1
  322. package/dist/components/Switch/Switch.d.ts +6 -4
  323. package/dist/components/Table3/Table3.d.ts +3 -4
  324. package/dist/components/Table3/components/Columns/Cell/Cell.d.ts +2 -2
  325. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.d.ts +1 -1
  326. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.d.ts +2 -2
  327. package/dist/components/Table3/components/Columns/Internal/EditingActionsMenu.d.ts +2 -2
  328. package/dist/components/Table3/components/Editing/Alert.d.ts +1 -1
  329. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.d.ts +2 -2
  330. package/dist/components/Table3/components/Row/Editing/CreateNewRow.d.ts +1 -1
  331. package/dist/components/Table3/components/Row/Editing/SaveStatus.d.ts +2 -2
  332. package/dist/components/Table3/components/Row/Editing/TemporaryRow.d.ts +1 -1
  333. package/dist/components/Table3/components/Row/Row.d.ts +2 -2
  334. package/dist/components/Table3/components/Toolbar/Editing/Editing.d.ts +1 -1
  335. package/dist/components/Tag/Tag.d.ts +2 -2
  336. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  337. package/dist/components/Tour/Tour.d.ts +1 -1
  338. package/dist/components/Truncate/Truncate.d.ts +1 -1
  339. package/dist/esm/index.css +76 -5
  340. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +41 -63
  341. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  342. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +9 -6
  343. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  344. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -1
  345. package/dist/esm/packages/taco/src/components/Layout/components/Top.js +2 -2
  346. package/dist/esm/packages/taco/src/components/Layout/components/Top.js.map +1 -1
  347. package/dist/esm/packages/taco/src/components/List/components/Toggle.js +14 -4
  348. package/dist/esm/packages/taco/src/components/List/components/Toggle.js.map +1 -1
  349. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +6 -3
  350. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  351. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js +34 -12
  352. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js.map +1 -1
  353. package/dist/esm/packages/taco/src/components/Provider/Provider.js +14 -7
  354. package/dist/esm/packages/taco/src/components/Provider/Provider.js.map +1 -1
  355. package/dist/esm/packages/taco/src/components/Provider/TacoContext.js +6 -0
  356. package/dist/esm/packages/taco/src/components/Provider/TacoContext.js.map +1 -0
  357. package/dist/esm/packages/taco/src/components/Provider/useTacoSettings.js +39 -0
  358. package/dist/esm/packages/taco/src/components/Provider/useTacoSettings.js.map +1 -0
  359. package/dist/esm/packages/taco/src/components/Report/Report.js +10 -3
  360. package/dist/esm/packages/taco/src/components/Report/Report.js.map +1 -1
  361. package/dist/esm/packages/taco/src/components/Switch/Switch.js +37 -35
  362. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  363. package/dist/esm/packages/taco/src/components/Table3/Table3.js +9 -3
  364. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  365. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +4 -2
  366. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  367. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
  368. package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
  369. package/dist/esm/packages/taco/src/components/Tour/Tour.js +1 -1
  370. package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
  371. package/dist/esm/packages/taco/src/hooks/useTaco.js +9 -0
  372. package/dist/esm/packages/taco/src/hooks/useTaco.js.map +1 -0
  373. package/dist/esm/packages/taco/src/index.js +1 -1
  374. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js +2 -0
  375. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js.map +1 -1
  376. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js +1 -0
  377. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js.map +1 -1
  378. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js +6 -4
  379. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -1
  380. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
  381. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +9 -5
  382. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  383. package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js.map +1 -1
  384. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  385. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js +18 -21
  386. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js.map +1 -1
  387. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js +2 -2
  388. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
  389. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js +3 -3
  390. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js.map +1 -1
  391. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js +57 -9
  392. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -1
  393. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +7 -5
  394. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  395. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableSettingsPreloader.js +44 -0
  396. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableSettingsPreloader.js.map +1 -0
  397. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js +3 -1
  398. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js.map +1 -1
  399. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +5 -2
  400. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  401. package/dist/esm/packages/taco/src/utils/dom.js +3 -2
  402. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  403. package/dist/hooks/useTaco.d.ts +1 -0
  404. package/dist/index.css +76 -5
  405. package/dist/primitives/BubbleSelect.d.ts +1 -1
  406. package/dist/primitives/Sortable/components/Container.d.ts +2 -2
  407. package/dist/primitives/Sortable/components/Item.d.ts +1 -1
  408. package/dist/primitives/Sortable/components/List.d.ts +1 -1
  409. package/dist/primitives/Table/Core/Table.d.ts +2 -2
  410. package/dist/primitives/Table/Core/components/Body/Body.d.ts +1 -1
  411. package/dist/primitives/Table/Core/components/Body/EmptyStateBody.d.ts +1 -1
  412. package/dist/primitives/Table/Core/components/Body/util.d.ts +4 -4
  413. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.d.ts +2 -2
  414. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.d.ts +2 -2
  415. package/dist/primitives/Table/Core/components/Columns/Cell/Cell.d.ts +1 -1
  416. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.d.ts +2 -2
  417. package/dist/primitives/Table/Core/components/Footer/Footer.d.ts +2 -2
  418. package/dist/primitives/Table/Core/components/Footer/Summary.d.ts +2 -2
  419. package/dist/primitives/Table/Core/components/Header/Header.d.ts +1 -1
  420. package/dist/primitives/Table/Core/components/Header/components/Goto.d.ts +2 -2
  421. package/dist/primitives/Table/Core/components/Header/components/Menu.d.ts +1 -1
  422. package/dist/primitives/Table/Core/components/Header/components/Resizer.d.ts +2 -2
  423. package/dist/primitives/Table/Core/components/Header/components/SortIndicator.d.ts +1 -1
  424. package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.d.ts +2 -2
  425. package/dist/primitives/Table/Core/components/Row/Row.d.ts +1 -1
  426. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.d.ts +1 -1
  427. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.d.ts +2 -2
  428. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.d.ts +2 -2
  429. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.d.ts +2 -2
  430. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.d.ts +1 -1
  431. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.d.ts +2 -2
  432. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.d.ts +2 -2
  433. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.d.ts +1 -1
  434. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.d.ts +2 -2
  435. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.d.ts +1 -1
  436. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.d.ts +2 -2
  437. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.d.ts +2 -2
  438. package/dist/primitives/Table/Core/features/useTableRenderer.d.ts +2 -2
  439. package/dist/primitives/Table/Core/useTable.d.ts +4 -4
  440. package/dist/primitives/Table/types.d.ts +16 -6
  441. package/dist/primitives/Table/useTableManager/features/useTablePrinting.d.ts +2 -8
  442. package/dist/primitives/Table/useTableManager/features/useTableRowActive.d.ts +2 -2
  443. package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.d.ts +2 -2
  444. package/dist/primitives/Table/useTableManager/useTableSettingsPreloader.d.ts +3 -0
  445. package/dist/primitives/Table/useTableManager/util/settings.d.ts +2 -0
  446. package/dist/taco.cjs.development.js +354 -293
  447. package/dist/taco.cjs.development.js.map +1 -1
  448. package/dist/taco.cjs.production.min.js +1 -1
  449. package/dist/taco.cjs.production.min.js.map +1 -1
  450. package/dist/utils/dom.d.ts +2 -2
  451. package/package.json +27 -28
  452. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js +0 -44
  453. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js.map +0 -1
  454. package/dist/esm/packages/taco/src/hooks/useTacoSettings.js +0 -9
  455. package/dist/esm/packages/taco/src/hooks/useTacoSettings.js.map +0 -1
  456. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSettings.js +0 -69
  457. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSettings.js.map +0 -1
  458. package/dist/hooks/useLocalStorage.d.ts +0 -2
  459. package/dist/hooks/useTacoSettings.d.ts +0 -1
  460. package/dist/primitives/Table/useTableManager/features/useTableSettings.d.ts +0 -3
@@ -11,9 +11,9 @@ var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
11
11
  var AccordionPrimitive = require('@radix-ui/react-accordion');
12
12
  var TooltipPrimitive = require('@radix-ui/react-tooltip');
13
13
  var reactDayPicker = require('react-day-picker');
14
- var CheckboxPrimitive = require('@radix-ui/react-checkbox');
15
- var uuid = require('uuid');
14
+ var reactAriaComponents = require('react-aria-components');
16
15
  var PopoverPrimitive = require('@radix-ui/react-popover');
16
+ var uuid = require('uuid');
17
17
  var debounce$1 = _interopDefault(require('lodash/debounce'));
18
18
  var dateFns = require('date-fns');
19
19
  var DialogPrimitive = require('@radix-ui/react-dialog');
@@ -24,10 +24,10 @@ var ScrollAreaPrimitive = require('@radix-ui/react-scroll-area');
24
24
  var reactUseControllableState = require('@radix-ui/react-use-controllable-state');
25
25
  var HoverCardPrimitive = require('@radix-ui/react-hover-card');
26
26
  var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
27
- var PrimitiveSwitch = require('@radix-ui/react-switch');
28
27
  var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
29
28
  var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
30
29
  var ReactDOM = _interopDefault(require('react-dom'));
30
+ var lodash = require('lodash');
31
31
  var reactTable = require('@tanstack/react-table');
32
32
  var get = _interopDefault(require('lodash/get'));
33
33
  var reactVirtual = require('@tanstack/react-virtual');
@@ -4327,10 +4327,11 @@ function isElementTriggeredFromContainer(element, container) {
4327
4327
  var _getOverlaySelector, _element$closest;
4328
4328
  const selector = (_getOverlaySelector = getOverlaySelector(element)) !== null && _getOverlaySelector !== void 0 ? _getOverlaySelector : getOverlaySelector((_element$closest = element === null || element === void 0 ? void 0 : element.closest('[role=dialog],[role=menu]')) !== null && _element$closest !== void 0 ? _element$closest : null);
4329
4329
  if (selector) {
4330
- if (container !== null && container !== void 0 && container.querySelector(selector)) {
4330
+ const escapedSelector = CSS.escape(selector);
4331
+ if (container !== null && container !== void 0 && container.querySelector(escapedSelector)) {
4331
4332
  return true;
4332
4333
  }
4333
- const elementInDocument = document.querySelector(selector);
4334
+ const elementInDocument = document.querySelector(escapedSelector);
4334
4335
  if (elementInDocument === container) {
4335
4336
  return true;
4336
4337
  }
@@ -5245,11 +5246,6 @@ const Card = /*#__PURE__*/React.forwardRef(function Card(props, ref) {
5245
5246
  });
5246
5247
  Card.Content = Content$2;
5247
5248
 
5248
- // React 18 has this built-in, when we upgrade this hook should be removed and the uuid dependency should be removed
5249
- const useId = nativeId => {
5250
- return React__default.useMemo(() => nativeId !== null && nativeId !== void 0 ? nativeId : uuid.v4(), []);
5251
- };
5252
-
5253
5249
  const Spinner = /*#__PURE__*/React__default.forwardRef(function Spinner(props, ref) {
5254
5250
  const {
5255
5251
  delay = 350,
@@ -5292,75 +5288,53 @@ const Spinner = /*#__PURE__*/React__default.forwardRef(function Spinner(props, r
5292
5288
  const Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(props, ref) {
5293
5289
  const {
5294
5290
  checked,
5291
+ className,
5292
+ defaultChecked,
5295
5293
  indeterminate,
5294
+ readOnly,
5296
5295
  invalid,
5297
- label,
5298
- loading,
5296
+ disabled,
5297
+ required,
5299
5298
  onChange,
5299
+ loading,
5300
+ label,
5301
+ onClick,
5300
5302
  ...otherProps
5301
5303
  } = props;
5302
- const id = useId(props.id);
5303
- const className = cn('bg-white h-5 w-5 border rounded text-sm flex-shrink-0 focus-visible:yt-focus disabled:cursor-not-allowed text-white', {
5304
+ // Converts the forwarded ref to an object ref, as required by RAC Checkbox.
5305
+ const inputRef = useMergedRef(ref);
5306
+ const checkboxContainerClassName = cn('group flex justify-center gap-2 data-[disabled]:text-grey-300 data-[disabled]:cursor-not-allowed');
5307
+ // Styling for other complex, state-driven scenarios is managed directly within the styles.css file.
5308
+ const checkboxClassName = cn('bg-white h-5 w-5 border rounded text-sm flex flex-shrink-0 text-white cursor-pointer', {
5304
5309
  'self-start': !!label,
5305
5310
  'mt-[0.1rem]': !label
5306
- }, invalid ? {
5307
- 'border-red-500 hover:border-red-700 aria-checked:border-red-500 aria-checked-mixed:border-red-500 aria-checked:bg-red-500 aria-checked-mixed:bg-red-500 aria-checked:hover:border-red-700 aria-checked-mixed:hover:border-red-700 aria-checked:hover:bg-red-700 aria-checked-mixed:hover:bg-red-700': !props.disabled,
5308
- 'border-red-500/50 aria-checked:wcag-red-500/50 aria-checked-mixed:wcag-red-500/50': props.disabled
5309
- } : {
5310
- 'border-grey-500 hover:border-grey-700 aria-checked:border-blue-500 aria-checked-mixed:border-blue-500 aria-checked:bg-blue-500 aria-checked-mixed:bg-blue-500 aria-checked:hover:border-blue-700 aria-checked-mixed:hover:border-blue-700 aria-checked:hover:bg-blue-700 aria-checked-mixed:hover:bg-blue-700': !props.disabled,
5311
- 'border-grey-500/50 aria-checked:bg-blue-500/50 aria-checked-mixed:bg-blue-500/50': props.disabled
5312
- }, props.className);
5313
- let handleChange;
5314
- if (onChange) {
5315
- handleChange = checked => onChange(checked === 'indeterminate' ? false : checked);
5316
- }
5317
- let labelledByProps = null;
5318
- if (label) {
5319
- labelledByProps = {
5320
- 'aria-labelledby': `${id}-label`,
5321
- id
5322
- };
5323
- }
5324
- // the enter keyboard shortcut isn't supported by default, but we want it
5325
- const handleKeyDown = event => {
5326
- if (event.key === 'Enter') {
5327
- event.currentTarget.click();
5328
- }
5329
- };
5330
- const spinnerClassname = cn(
5331
- //Spinner is slightly bigger then 'line' and 'tick' icons, so making it 2px smaller from each side
5332
- "m-0.5 !h-[calc(100%-theme('spacing.1'))] !w-[calc(100%-theme('spacing.1'))]", {
5333
- 'text-blue-500': !checked && !indeterminate
5334
- });
5335
- const element = /*#__PURE__*/React.createElement(CheckboxPrimitive.Root, Object.assign({}, otherProps, labelledByProps, {
5336
- "aria-invalid": invalid ? 'true' : undefined,
5311
+ }, className);
5312
+ return /*#__PURE__*/React.createElement(reactAriaComponents.Checkbox, Object.assign({}, otherProps, {
5313
+ className: checkboxContainerClassName,
5314
+ "data-taco": "checkbox-container",
5315
+ defaultSelected: defaultChecked,
5316
+ isDisabled: disabled,
5317
+ isIndeterminate: indeterminate,
5318
+ isInvalid: invalid,
5319
+ isRequired: required,
5320
+ isReadOnly: readOnly,
5321
+ isSelected: checked,
5322
+ inputRef: inputRef,
5323
+ onChange: onChange
5324
+ }), ({
5325
+ isIndeterminate,
5326
+ isSelected
5327
+ }) => (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
5328
+ className: checkboxClassName,
5337
5329
  "data-taco": "checkbox",
5338
- checked: indeterminate ? 'indeterminate' : checked,
5339
- className: className,
5340
- onCheckedChange: handleChange,
5341
- onKeyDown: handleKeyDown,
5342
- ref: ref
5343
- }), loading ? (/*#__PURE__*/React.createElement(Spinner, {
5344
- className: spinnerClassname
5345
- })) : (/*#__PURE__*/React.createElement(CheckboxPrimitive.Indicator, {
5346
- className: "flex h-full w-full"
5347
- }, /*#__PURE__*/React.createElement(Icon, {
5348
- name: indeterminate ? 'line' : 'tick',
5330
+ onClick: onClick
5331
+ }, loading ? (/*#__PURE__*/React.createElement(Spinner, {
5332
+ className: "m-0.5 !h-[calc(100%-theme('spacing.1'))] !w-[calc(100%-theme('spacing.1'))] text-blue-500 group-data-[indeterminate]:text-white group-data-[selected]:text-white"
5333
+ })) : (isIndeterminate || isSelected) && (/*#__PURE__*/React.createElement(Icon, {
5334
+ "aria-hidden": true,
5335
+ name: isIndeterminate ? 'line' : 'tick',
5349
5336
  className: "!h-full !w-full"
5350
- }))));
5351
- if (label) {
5352
- const labelContainerClassName = cn('flex items-center cursor-pointer gap-2', {
5353
- 'cursor-not-allowed text-grey-300': props.disabled
5354
- });
5355
- return /*#__PURE__*/React.createElement("span", {
5356
- className: labelContainerClassName,
5357
- "data-taco": "checkbox-container"
5358
- }, element, /*#__PURE__*/React.createElement("label", {
5359
- htmlFor: id,
5360
- id: `${id}-label`
5361
- }, label));
5362
- }
5363
- return element;
5337
+ }))), label)));
5364
5338
  });
5365
5339
  Checkbox.displayName = 'Checkbox';
5366
5340
 
@@ -5798,10 +5772,13 @@ const ScrollableList = /*#__PURE__*/React.forwardRef(function ScrollableList(pro
5798
5772
  // so need to be taken out of screen reader scope.
5799
5773
  , {
5800
5774
  "aria-hidden": true,
5801
- tabIndex: -1,
5775
+ excludeFromTabOrder: true,
5802
5776
  checked: optionProps['aria-selected'],
5803
- onChange: () => null,
5804
- className: "pointer-events-none ml-2 self-center p-px"
5777
+ onChange: () => {
5778
+ var _optionProps$ref, _optionProps$ref$curr;
5779
+ (_optionProps$ref = optionProps.ref) === null || _optionProps$ref === void 0 ? void 0 : (_optionProps$ref$curr = _optionProps$ref.current) === null || _optionProps$ref$curr === void 0 ? void 0 : _optionProps$ref$curr.click();
5780
+ },
5781
+ className: "ml-2 self-center p-px"
5805
5782
  }))))) : (/*#__PURE__*/React.createElement("li", {
5806
5783
  className: "yt-list__empty"
5807
5784
  }, /*#__PURE__*/React.createElement("span", null, texts.listbox.empty))));
@@ -6001,22 +5978,23 @@ const useCombobox = ({
6001
5978
  const data = React.useMemo(() => shouldFilterData ? filterData(flattenedData, inputValue) : flattenedData, [shouldFilterData, inputValue, flattenedData]);
6002
5979
  // listbox/select change value _with_ the index, but combobox changes on select of an index (click/enter), so we need state
6003
5980
  const [currentIndex, setCurrentIndex] = React.useState(inputValue !== undefined ? getIndexFromValue(data, inputValue) : undefined);
6004
- const setInputValueByIndex = index => {
5981
+ const setInputValueByIndex = (index, event) => {
6005
5982
  if (index !== undefined) {
6006
5983
  const option = data[index];
6007
5984
  if (option && !option.disabled) {
6008
- setInputValueByRef$1(inputRef.current, option.value, 'focusout');
5985
+ const eventType = event !== null && event !== void 0 ? event : 'focusout';
5986
+ setInputValueByRef$1(inputRef.current, option.value, eventType);
6009
5987
  }
6010
5988
  }
6011
5989
  };
6012
- const setCurrentValue = index => {
5990
+ const setCurrentValue = (index, event) => {
6013
5991
  if (index === undefined) {
6014
5992
  return;
6015
5993
  }
6016
5994
  const option = data[index];
6017
5995
  // if the selected option is not already selected, trigger blur event
6018
5996
  if (option.value !== value) {
6019
- setInputValueByIndex(index);
5997
+ setInputValueByIndex(index, event);
6020
5998
  } else {
6021
5999
  // if the selected option is already selected, refill input with its value
6022
6000
  setInputValue(convertToInputValue(value));
@@ -6112,7 +6090,8 @@ const useCombobox = ({
6112
6090
  }
6113
6091
  case 'Tab':
6114
6092
  {
6115
- setCurrentValue(currentIndex);
6093
+ // default focusout will trigger onBlur and we don't want to trigger it twice
6094
+ setCurrentValue(currentIndex, 'change');
6116
6095
  setOpen(false);
6117
6096
  return;
6118
6097
  }
@@ -6127,7 +6106,8 @@ const useCombobox = ({
6127
6106
  }
6128
6107
  }
6129
6108
  if (open) {
6130
- setCurrentValue(currentIndex);
6109
+ // we need to focusout to trigger onBlur as we are not actually blurring the input
6110
+ setCurrentValue(currentIndex, 'focusout');
6131
6111
  setOpen(false);
6132
6112
  }
6133
6113
  return;
@@ -7769,44 +7749,46 @@ const Collapsible = /*#__PURE__*/React__default.forwardRef(function Accordion(pr
7769
7749
 
7770
7750
  const Switch = /*#__PURE__*/React.forwardRef(function Switch(props, ref) {
7771
7751
  const {
7752
+ checked,
7753
+ defaultChecked,
7754
+ readOnly,
7772
7755
  label,
7773
7756
  onChange,
7757
+ disabled,
7758
+ onClick,
7759
+ className,
7774
7760
  ...otherProps
7775
7761
  } = props;
7776
- const id = useId(props.id);
7777
- const className = cn('group h-5 w-9 flex flex-shrink-0 rounded-full inline-flex focus-visible:yt-focus', {
7778
- 'mr-2': !!label,
7779
- 'bg-grey-500 hover:bg-grey-700 aria-checked:bg-blue-500 aria-checked:hover:bg-blue-700': !props.disabled,
7780
- 'bg-grey-500/50 aria-checked:bg-blue-500/50 cursor-not-allowed': props.disabled
7781
- }, props.className);
7782
- let labelledByProps = null;
7783
- if (label) {
7784
- labelledByProps = {
7785
- 'aria-labelledby': `${id}-label`,
7786
- id
7787
- };
7788
- }
7789
- const element = /*#__PURE__*/React.createElement(PrimitiveSwitch.Root, Object.assign({}, otherProps, labelledByProps, {
7790
- className: className,
7762
+ const inputRef = useMergedRef(ref);
7763
+ const switchContainerClassName = cn('group flex self-start', 'data-[disabled]:text-grey-300 data-[disabled]:cursor-not-allowed');
7764
+ const switchClassName = cn('h-5 w-9 flex flex-shrink-0 rounded-full inline-flex cursor-pointer bg-grey-500', 'group-data-[focus-visible]:yt-focus', {
7765
+ 'mr-2': !!label
7766
+ }, 'group-hover:bg-grey-700',
7767
+ // When switch is selected
7768
+ 'group-data-[selected]:bg-blue-500',
7769
+ // When switch is selected and hovered
7770
+ 'group-hover:group-data-[selected]:bg-blue-700',
7771
+ // When switch is disabled
7772
+ 'group-data-[disabled]:!bg-grey-500/50 group-data-[disabled]:cursor-not-allowed',
7773
+ // When switch is disabled and selected
7774
+ 'group-data-[disabled]:group-data-[selected]:!bg-blue-500/50', className);
7775
+ const switchThumbClassName = cn('pointer-events-none mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform will-change-transform', 'group-data-[disabled]:opacity-50', 'group-data-[selected]:translate-x-[1.1rem]');
7776
+ return /*#__PURE__*/React.createElement(reactAriaComponents.Switch, Object.assign({}, otherProps, {
7777
+ className: switchContainerClassName,
7778
+ "data-taco": "switch-container",
7779
+ inputRef: inputRef,
7780
+ isDisabled: disabled,
7781
+ isReadOnly: readOnly,
7782
+ isSelected: checked,
7783
+ defaultSelected: defaultChecked,
7784
+ onChange: onChange
7785
+ }), /*#__PURE__*/React.createElement("span", {
7786
+ className: switchClassName,
7791
7787
  "data-taco": "switch",
7792
- onCheckedChange: onChange,
7793
- ref: ref
7794
- }), /*#__PURE__*/React.createElement(PrimitiveSwitch.Thumb, {
7795
- className: "pointer-events-none mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform will-change-transform group-disabled:opacity-50 group-aria-checked:translate-x-[1.1rem]"
7796
- }));
7797
- if (label) {
7798
- const labelContainerClassName = cn('flex self-start cursor-pointer', {
7799
- 'cursor-not-allowed text-grey-300': props.disabled
7800
- });
7801
- return /*#__PURE__*/React.createElement("span", {
7802
- className: labelContainerClassName,
7803
- "data-taco": "switch-container"
7804
- }, element, /*#__PURE__*/React.createElement("label", {
7805
- htmlFor: id,
7806
- id: `${id}-label`
7807
- }, label));
7808
- }
7809
- return element;
7788
+ onClick: onClick
7789
+ }, /*#__PURE__*/React.createElement("span", {
7790
+ className: switchThumbClassName
7791
+ })), label);
7810
7792
  });
7811
7793
  Switch.displayName = 'Switch';
7812
7794
 
@@ -7864,13 +7846,18 @@ const Switch$1 = /*#__PURE__*/React__default.forwardRef(function Switch$1(props,
7864
7846
  setChecked(!checked);
7865
7847
  onChange(!checked);
7866
7848
  }, [checked, onChange]);
7849
+ const controlClassName = cn(
7850
+ // When ToggleItem is hovered
7851
+ 'group-hover/toggle:bg-grey-700',
7852
+ // When ToggleItem is hovered and switch inside it is selected
7853
+ 'group-hover/toggle:group-data-[selected]:bg-blue-700');
7867
7854
  const control = /*#__PURE__*/React__default.createElement(Switch, {
7868
7855
  checked: checked,
7869
- className: "group-hover/toggle:[&[aria-checked=false]]:bg-grey-700 group-hover/toggle:[&[aria-checked=true]]:bg-blue-700",
7856
+ className: controlClassName,
7870
7857
  disabled: props.disabled,
7871
7858
  onChange: toggle,
7872
7859
  ref: switchRef,
7873
- tabIndex: -1
7860
+ excludeFromTabOrder: true
7874
7861
  });
7875
7862
  return /*#__PURE__*/React__default.createElement(ToggleItem, Object.assign({}, attributes, {
7876
7863
  control: control,
@@ -7891,13 +7878,18 @@ const Checkbox$1 = /*#__PURE__*/React__default.forwardRef(function Switch(props,
7891
7878
  setChecked(!checked);
7892
7879
  onChange(!checked);
7893
7880
  }, [checked, onChange]);
7881
+ const controlClassName = cn(
7882
+ // When ToggleItem is hovered
7883
+ 'group-hover/toggle:border-grey-700',
7884
+ // When ToggleItem is hovered and checkbox inside it is selected
7885
+ 'group-hover/toggle:group-data-[selected]:border-blue-700 group-hover/toggle:group-data-[selected]:bg-blue-700');
7894
7886
  const control = /*#__PURE__*/React__default.createElement(Checkbox, {
7895
7887
  checked: checked,
7896
- className: "group-hover/toggle:[&[aria-checked=false]]:border-grey-700 group-hover/toggle:[&[aria-checked=true]]:border-blue-700 group-hover/checkbox:[&[aria-checked=true]]:bg-blue-700",
7888
+ className: controlClassName,
7897
7889
  disabled: props.disabled,
7898
7890
  onChange: toggle,
7899
7891
  ref: checkboxRef,
7900
- tabIndex: -1
7892
+ excludeFromTabOrder: true
7901
7893
  });
7902
7894
  return /*#__PURE__*/React__default.createElement(ToggleItem, Object.assign({}, attributes, {
7903
7895
  control: control,
@@ -8844,20 +8836,41 @@ Menu$1.SubMenu = SubMenu;
8844
8836
 
8845
8837
  const ModeSwitch = /*#__PURE__*/React.forwardRef(function ModeSwitch(props, ref) {
8846
8838
  const {
8839
+ checked,
8840
+ defaultChecked,
8841
+ readOnly,
8847
8842
  onChange,
8843
+ disabled,
8844
+ className,
8848
8845
  ...otherProps
8849
8846
  } = props;
8850
- const className = cn('group w-14 h-8 flex flex-shrink-0 rounded-full inline-flex focus-visible:yt-focus p-1', {
8851
- 'bg-grey-500 hover:bg-grey-700 aria-checked:bg-blue-500 aria-checked:hover:bg-blue-700': !props.disabled,
8852
- 'bg-grey-500 aria-checked:bg-blue-500 cursor-not-allowed opacity-50': props.disabled
8853
- }, props.className);
8854
- return /*#__PURE__*/React.createElement(PrimitiveSwitch.Root, Object.assign({}, otherProps, {
8855
- className: className,
8856
- "data-taco": "mode",
8857
- onCheckedChange: onChange,
8858
- ref: ref
8859
- }), /*#__PURE__*/React.createElement(PrimitiveSwitch.Thumb, {
8860
- className: "pointer-events-none flex h-6 w-6 items-center justify-center rounded-full bg-white transition-transform will-change-transform group-disabled:opacity-50 group-aria-checked:translate-x-[100%]"
8847
+ const inputRef = useMergedRef(ref);
8848
+ const switchClassName = cn('group w-14 h-8 flex flex-shrink-0 rounded-full inline-flex p-1 cursor-pointer bg-grey-500', 'data-[focus-visible]:yt-focus', 'hover:bg-grey-700',
8849
+ // When modeswitch is selected
8850
+ 'data-[selected]:bg-blue-500',
8851
+ // When modeswitch is selected and hovered
8852
+ 'hover:data-[selected]:bg-blue-700',
8853
+ // When modeswitch is disabled
8854
+ 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[disabled]:bg-grey-500 ',
8855
+ // When modeswitch is disabled and selected
8856
+ 'data-[disabled]:data-[selected]:!bg-blue-500', className);
8857
+ const switchThumbClassName = cn('pointer-events-none flex h-6 w-6 items-center justify-center rounded-full bg-white transition-transform will-change-transform',
8858
+ // When modeswitch is disabled
8859
+ 'group-data-[disabled]:opacity-50',
8860
+ // When modeswitch is selected
8861
+ 'group-data-[selected]:translate-x-full');
8862
+ return /*#__PURE__*/React.createElement(reactAriaComponents.Switch, Object.assign({}, otherProps, {
8863
+ className: switchClassName,
8864
+ defaultSelected: defaultChecked,
8865
+ id: otherProps.id,
8866
+ inputRef: inputRef,
8867
+ isDisabled: disabled,
8868
+ isReadOnly: readOnly,
8869
+ isSelected: checked,
8870
+ onChange: onChange
8871
+ }), /*#__PURE__*/React.createElement("span", {
8872
+ className: switchThumbClassName,
8873
+ "data-taco": "mode"
8861
8874
  }, /*#__PURE__*/React.createElement(Icon, {
8862
8875
  name: "edit-simple",
8863
8876
  className: "pointer-events-none !h-5 !w-5"
@@ -9946,16 +9959,57 @@ const ToastProvider = ({
9946
9959
  };
9947
9960
  const useToast = () => React.useContext(ToastContext);
9948
9961
 
9949
- const TacoContext = /*#__PURE__*/React.createContext({
9950
- uniqueUserIdentifier: ''
9951
- });
9962
+ const TacoContext = /*#__PURE__*/React.createContext({});
9963
+
9964
+ function useTacoSettings(load, save) {
9965
+ const saveSetting = function (path, value) {
9966
+ try {
9967
+ setState(currentState => lodash.setWith(currentState, path, value, Object));
9968
+ return Promise.resolve(save(path, value)); // don't block, since we have local state
9969
+ } catch (e) {
9970
+ return Promise.reject(e);
9971
+ }
9972
+ };
9973
+ const loadSetting = function (path) {
9974
+ try {
9975
+ const currentValue = lodash.get(state, path);
9976
+ if (currentValue) {
9977
+ return Promise.resolve(currentValue);
9978
+ }
9979
+ return Promise.resolve(load(path)).then(function (value) {
9980
+ setState(currentState => lodash.setWith(currentState, path, value, Object));
9981
+ return value;
9982
+ });
9983
+ } catch (e) {
9984
+ return Promise.reject(e);
9985
+ }
9986
+ };
9987
+ const [state, setState] = React.useState({});
9988
+ function getSetting(path) {
9989
+ return lodash.get(state, path);
9990
+ }
9991
+ return {
9992
+ getSetting,
9993
+ loadSetting,
9994
+ saveSetting
9995
+ };
9996
+ }
9997
+
9952
9998
  const Provider = props => {
9953
9999
  const {
9954
10000
  children,
9955
10001
  localization,
9956
- settings
10002
+ loadSetting,
10003
+ saveSetting,
10004
+ userId
9957
10005
  } = props;
9958
- const context = React.useMemo(() => settings, [JSON.stringify(settings)]);
10006
+ const settings = useTacoSettings(loadSetting, saveSetting);
10007
+ const context = React.useMemo(() => {
10008
+ return {
10009
+ settings,
10010
+ userId
10011
+ };
10012
+ }, []);
9959
10013
  return /*#__PURE__*/React.createElement(LocalizationProvider, {
9960
10014
  localization: localization
9961
10015
  }, /*#__PURE__*/React.createElement(TacoContext.Provider, {
@@ -10369,6 +10423,7 @@ function getHiddenColumns(columnVisibility = {}) {
10369
10423
  return Object.keys(columnVisibility).filter(c => columnVisibility[c] === false);
10370
10424
  }
10371
10425
 
10426
+ const getSettingsId = tableId => `table.${tableId.replace('.', '_')}`;
10372
10427
  function getSettings(table) {
10373
10428
  const meta = table.options.meta;
10374
10429
  const state = table.getState();
@@ -10382,6 +10437,7 @@ function getSettings(table) {
10382
10437
  excludeUnmatchedRecordsInSearch: table.options.enableGlobalFilter,
10383
10438
  fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,
10384
10439
  //grouping: table.options.enableGrouping ? state.grouping : undefined,
10440
+ print: meta.printing.settings,
10385
10441
  rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,
10386
10442
  //searchQuery: table.options.enableGlobalFilter ? state.globalFilter : undefined,
10387
10443
  sorting: state.sorting
@@ -10688,8 +10744,11 @@ function useReactTableInitialState(props, columns, persistedSettings, defaults)
10688
10744
  if (columnPinning !== null && columnPinning !== void 0 && (_columnPinning$left = columnPinning.left) !== null && _columnPinning$left !== void 0 && _columnPinning$left.length) {
10689
10745
  columnPinning.left = freezeUptoExternalColumn(columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]), columnOrder);
10690
10746
  } else {
10691
- if (props.defaultColumnFreezingIndex) {
10692
- columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);
10747
+ if (props.defaultColumnFreezingIndex !== undefined) {
10748
+ const index = typeof props.defaultColumnFreezingIndex === 'function' ? props.defaultColumnFreezingIndex(persistedSettings) : props.defaultColumnFreezingIndex;
10749
+ if (index !== undefined) {
10750
+ columnPinning.left = freezeUptoExternalColumn(index, columnOrder);
10751
+ }
10693
10752
  } else {
10694
10753
  columnPinning.left = unfreezeAllExternalColumns(columnOrder);
10695
10754
  }
@@ -10895,53 +10954,28 @@ function useTableFontSize(isEnabled = false, defaultFontSize = 'medium') {
10895
10954
  };
10896
10955
  }
10897
10956
 
10898
- function useTacoSettings() {
10957
+ function useTaco() {
10899
10958
  return React__default.useContext(TacoContext);
10900
10959
  }
10901
10960
 
10902
- const useLocalStorage = (key, initialValue) => {
10903
- const [state, setState] = React__default.useState(() => {
10904
- if (!key) {
10905
- return initialValue;
10906
- }
10907
- try {
10908
- const localStorageValue = localStorage.getItem(key);
10909
- if (typeof localStorageValue !== 'string') {
10910
- localStorage.setItem(key, JSON.stringify(initialValue));
10911
- return initialValue;
10912
- } else {
10913
- return JSON.parse(localStorageValue || 'null');
10914
- }
10915
- } catch {
10916
- // If user is in private mode or has storage restriction
10917
- // localStorage can throw. JSON.parse and JSON.stringify
10918
- // can throw, too.
10919
- return initialValue;
10920
- }
10921
- });
10922
- React__default.useEffect(() => {
10923
- if (!key) {
10924
- return;
10925
- }
10926
- try {
10927
- const serializedState = JSON.stringify(state);
10928
- localStorage.setItem(key, serializedState);
10929
- } catch {
10930
- // If user is in private mode or has storage restriction
10931
- // localStorage can throw. Also JSON.stringify can throw.
10932
- }
10933
- }, [key, state]);
10934
- const clear = () => {
10935
- if (key) {
10936
- localStorage.removeItem(key);
10937
- }
10938
- };
10939
- return [state, setState, clear];
10961
+ const DEFAULT_PRINT_SETTINGS = {
10962
+ size: 'A4',
10963
+ orientation: 'portrait',
10964
+ allRows: true,
10965
+ splitGroups: true
10940
10966
  };
10941
-
10942
10967
  function useTablePrinting(isEnabled = false, tableId) {
10968
+ var _taco$settings$getSet, _taco$settings$getSet2;
10943
10969
  const [isPrinting, setIsPrinting] = React__default.useState(false);
10944
- const [settings, setSetting] = useTablePrintingSettings(tableId);
10970
+ const taco = useTaco();
10971
+ const key = getSettingsId(tableId);
10972
+ const [settings, _setSettings] = React__default.useState((_taco$settings$getSet = (_taco$settings$getSet2 = taco.settings.getSetting(key)) === null || _taco$settings$getSet2 === void 0 ? void 0 : _taco$settings$getSet2.print) !== null && _taco$settings$getSet !== void 0 ? _taco$settings$getSet : DEFAULT_PRINT_SETTINGS);
10973
+ function setSetting(path, value) {
10974
+ _setSettings(currentSettings => ({
10975
+ ...currentSettings,
10976
+ [path]: value
10977
+ }));
10978
+ }
10945
10979
  return {
10946
10980
  isEnabled,
10947
10981
  isPrinting,
@@ -10950,24 +10984,6 @@ function useTablePrinting(isEnabled = false, tableId) {
10950
10984
  setSetting
10951
10985
  };
10952
10986
  }
10953
- const DEFAULT_PRINT_SETTINGS = {
10954
- size: 'A4',
10955
- orientation: 'portrait',
10956
- allRows: true,
10957
- splitGroups: true
10958
- };
10959
- function useTablePrintingSettings(tableId) {
10960
- const tacoSettings = useTacoSettings();
10961
- const uniqueId = `taco.${tacoSettings.uniqueUserIdentifier}.table.${tableId}.print.settings`;
10962
- const [persistedSettings, setPersistedSettings] = useLocalStorage(uniqueId, DEFAULT_PRINT_SETTINGS);
10963
- function setSetting(key, value) {
10964
- setPersistedSettings(currentSettings => ({
10965
- ...currentSettings,
10966
- [key]: value
10967
- }));
10968
- }
10969
- return [persistedSettings, setSetting];
10970
- }
10971
10987
 
10972
10988
  const DEFAULT_ROW_ACTIONS_LENGTH = 4;
10973
10989
  function useTableRowActions(isEnabled = false, rowActions, rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH) {
@@ -11002,8 +11018,8 @@ const useIsHoverStatePaused = () => {
11002
11018
  return [shouldPauseHoverState, setShouldPauseHoverState];
11003
11019
  };
11004
11020
 
11005
- function useTableRowActive(isEnabled = false, initialRowActiveIndex) {
11006
- const [rowActiveIndex, setRowActiveIndex] = React__default.useState(initialRowActiveIndex);
11021
+ function useTableRowActive(isEnabled = false, tableSettings, initialRowActiveIndex) {
11022
+ const [rowActiveIndex, setRowActiveIndex] = React__default.useState(typeof initialRowActiveIndex === 'function' ? initialRowActiveIndex(tableSettings) : initialRowActiveIndex);
11007
11023
  const [rowHoverIndex, setRowHoverIndex] = React__default.useState(undefined);
11008
11024
  const [isHoverStatePaused, setHoverStatePaused] = useIsHoverStatePaused();
11009
11025
  const move = (direction, length, scrollToIndex) => {
@@ -11179,10 +11195,10 @@ function useTableSearch(isEnabled = false, onChangeSearch, defaultEnableGlobalFi
11179
11195
  // react-table doesn't re-render when options.enableGlobalFilter changes, so for now we force it
11180
11196
  const currentFilter = instance.getState().globalFilter;
11181
11197
  if (currentFilter) {
11182
- setTimeout(() => {
11183
- instance.setGlobalFilter('');
11198
+ instance.resetGlobalFilter(true);
11199
+ window.requestAnimationFrame(() => {
11184
11200
  instance.setGlobalFilter(currentFilter);
11185
- }, 1);
11201
+ });
11186
11202
  }
11187
11203
  }
11188
11204
  // highlighting
@@ -11637,69 +11653,6 @@ function useTableServerLoading(length, data, loadPage, loadAll, pages, pageSize
11637
11653
  };
11638
11654
  }
11639
11655
 
11640
- const DEFAULT_ENABLED_OPTIONS = {
11641
- columnOrder: true,
11642
- columnPinning: true,
11643
- columnSizing: true,
11644
- columnVisibility: true,
11645
- excludeUnmatchedRecordsInSearch: true,
11646
- fontSize: true,
11647
- grouping: true,
11648
- rowHeight: true,
11649
- sorting: true
11650
- };
11651
- function useUniqueTableId(tableId) {
11652
- const tacoSettings = useTacoSettings();
11653
- return `taco.${tacoSettings.uniqueUserIdentifier}.table.${tableId}.settings`;
11654
- }
11655
- function useEnabledSettings(isEnabled) {
11656
- return React__default.useMemo(() => {
11657
- if (isEnabled === false) {
11658
- return [Object.keys(DEFAULT_ENABLED_OPTIONS).reduce((o, key) => ({
11659
- ...o,
11660
- [key]: false
11661
- }), {}), false];
11662
- } else if (isEnabled === true) {
11663
- return [DEFAULT_ENABLED_OPTIONS, true];
11664
- }
11665
- const options = {
11666
- ...DEFAULT_ENABLED_OPTIONS,
11667
- ...isEnabled
11668
- };
11669
- return [options, Object.values(options).some(o => o === true)];
11670
- }, [isEnabled]);
11671
- }
11672
- function useTableSettings(isEnabled = false, id, defaultSettings = {}, onChangeSettings) {
11673
- const uniqueId = useUniqueTableId(id);
11674
- const [enabledSettings, hasSomeEnabledSettings] = useEnabledSettings(isEnabled);
11675
- const [persistedSettings, _setPersistedSettings] = useLocalStorage(hasSomeEnabledSettings ? uniqueId : undefined, removeDisabledSettings(defaultSettings, enabledSettings));
11676
- const setPersistedSettings = React__default.useCallback(value => {
11677
- if (!hasSomeEnabledSettings) {
11678
- return;
11679
- }
11680
- const sanitizedSettings = removeDisabledSettings(value, enabledSettings);
11681
- _setPersistedSettings(sanitizedSettings);
11682
- if (typeof onChangeSettings === 'function') {
11683
- onChangeSettings(sanitizedSettings);
11684
- }
11685
- }, [hasSomeEnabledSettings, onChangeSettings, JSON.stringify(enabledSettings)]);
11686
- if (!hasSomeEnabledSettings) {
11687
- return [defaultSettings, () => undefined];
11688
- }
11689
- return [persistedSettings, setPersistedSettings];
11690
- }
11691
- function removeDisabledSettings(settings, enabledSettings) {
11692
- const sanitizedSettings = {
11693
- ...settings
11694
- };
11695
- Object.keys(enabledSettings).forEach(setting => {
11696
- if (!enabledSettings[setting]) {
11697
- delete sanitizedSettings[setting];
11698
- }
11699
- });
11700
- return sanitizedSettings;
11701
- }
11702
-
11703
11656
  // augments useEffect to not run on the initial mount
11704
11657
  function useLazyEffect(effect, deps) {
11705
11658
  const readyRef = React__default.useRef(false);
@@ -11831,26 +11784,73 @@ function useTableSearchListener(table) {
11831
11784
  }, [meta.server.loading, meta.search.isEnabled, meta.search.enableGlobalFilter, table.getRowModel().rows.length, query, JSON.stringify(table.getState().sorting)]);
11832
11785
  }
11833
11786
 
11834
- function useTableSettingsListener(table, onChangeSettings) {
11787
+ function useTableSettingsListener(table, tableId, onChangeSettings, isEnabled = false) {
11788
+ const [enabledSettings, hasSomeEnabledSettings] = useEnabledSettings(isEnabled);
11789
+ const taco = useTaco();
11835
11790
  const meta = table.options.meta;
11836
11791
  const state = table.getState();
11837
11792
  React__default.useEffect(() => {
11838
- let handler;
11839
- if (typeof onChangeSettings === 'function') {
11840
- handler = setTimeout(() => {
11793
+ const handler = setTimeout(() => {
11794
+ if (!hasSomeEnabledSettings) {
11795
+ return;
11796
+ }
11797
+ const settings = removeDisabledSettings(getSettings(table), enabledSettings);
11798
+ if (Object.keys(settings).length) {
11841
11799
  // some settings shouldn't be persisted, but we comment them out here to highlight the intention
11842
- onChangeSettings(getSettings(table));
11843
- }, 250);
11844
- }
11800
+ taco.settings.saveSetting(getSettingsId(tableId), settings);
11801
+ if (onChangeSettings) {
11802
+ onChangeSettings(getSettings(table));
11803
+ }
11804
+ }
11805
+ }, 250);
11845
11806
  return () => clearTimeout(handler);
11846
11807
  }, [
11847
11808
  //state.columnFilters,
11848
11809
  state.columnOrder, state.columnPinning, state.columnSizing, state.columnVisibility, table.options.enableGlobalFilter, meta.fontSize.size,
11849
11810
  //state.grouping,
11850
- meta.rowHeight.height,
11811
+ meta.printing.settings, meta.rowHeight.height,
11851
11812
  //state.globalFilter,
11852
11813
  state.sorting]);
11853
11814
  }
11815
+ const DEFAULT_ENABLED_OPTIONS = {
11816
+ columnOrder: true,
11817
+ columnPinning: true,
11818
+ columnSizing: true,
11819
+ columnVisibility: true,
11820
+ excludeUnmatchedRecordsInSearch: true,
11821
+ fontSize: true,
11822
+ grouping: true,
11823
+ rowHeight: true,
11824
+ sorting: true
11825
+ };
11826
+ function useEnabledSettings(isEnabled) {
11827
+ return React__default.useMemo(() => {
11828
+ if (isEnabled === false) {
11829
+ return [Object.keys(DEFAULT_ENABLED_OPTIONS).reduce((o, key) => ({
11830
+ ...o,
11831
+ [key]: false
11832
+ }), {}), false];
11833
+ } else if (isEnabled === true) {
11834
+ return [DEFAULT_ENABLED_OPTIONS, true];
11835
+ }
11836
+ const options = {
11837
+ ...DEFAULT_ENABLED_OPTIONS,
11838
+ ...isEnabled
11839
+ };
11840
+ return [options, Object.values(options).some(o => o === true)];
11841
+ }, [isEnabled]);
11842
+ }
11843
+ function removeDisabledSettings(settings, enabledSettings) {
11844
+ const sanitizedSettings = {
11845
+ ...settings
11846
+ };
11847
+ Object.keys(enabledSettings).forEach(setting => {
11848
+ if (!enabledSettings[setting]) {
11849
+ delete sanitizedSettings[setting];
11850
+ }
11851
+ });
11852
+ return sanitizedSettings;
11853
+ }
11854
11854
 
11855
11855
  function useTableShortcutsListener(table, shortcuts) {
11856
11856
  const meta = table.options.meta;
@@ -11945,14 +11945,15 @@ function useTableRowDrop(isEnabled = false, onRowDrop) {
11945
11945
  // Placed this array outside the hook to avoid creating a new array reference on each hook re-render
11946
11946
  const DEFAULT_EMPTY_ARRAY = [];
11947
11947
  function useTableManager(props, meta, internalColumns) {
11948
- var _props$data, _props$length, _meta$editing, _instance$options$met;
11948
+ var _ref, _taco$settings$getSet, _props$data, _props$length, _meta$editing, _instance$options$met;
11949
+ const taco = useTaco();
11949
11950
  const localization = useLocalization();
11950
11951
  // CSS.escape would be best here, but it doesn't seem to work very well
11951
11952
  const safeId = props.id.replace('.', '_');
11952
11953
  // configure table options, merging props with presets
11953
11954
  const options = getTableFeaturePreset(props);
11954
11955
  // load any persisted table settings and merge them with any defaults
11955
- const [settings, setSettings] = useTableSettings(options.enableSaveSettings, safeId, props.defaultSettings, props.onChangeSettings);
11956
+ const settings = (_ref = (_taco$settings$getSet = taco.settings.getSetting(getSettingsId(safeId))) !== null && _taco$settings$getSet !== void 0 ? _taco$settings$getSet : props.defaultSettings) !== null && _ref !== void 0 ? _ref : {};
11956
11957
  // ensure data is always valid
11957
11958
  const data = (_props$data = props.data) !== null && _props$data !== void 0 ? _props$data : DEFAULT_EMPTY_ARRAY;
11958
11959
  const length = (_props$length = props.length) !== null && _props$length !== void 0 ? _props$length : data.length;
@@ -11962,7 +11963,7 @@ function useTableManager(props, meta, internalColumns) {
11962
11963
  const fontSize = useTableFontSize(options.enableFontSize, settings.fontSize);
11963
11964
  const footer = useTableFooter(options.enableFooter);
11964
11965
  const printing = useTablePrinting(options.enablePrinting, safeId);
11965
- const rowActive = useTableRowActive(options.enableRowActive, props.defaultRowActiveIndex);
11966
+ const rowActive = useTableRowActive(options.enableRowActive, settings, props.defaultRowActiveIndex);
11966
11967
  const rowActions = useTableRowActions(options.enableRowActions, props.rowActions, props.rowActionsLength);
11967
11968
  const rowClick = useTableRowClick(options.enableRowClick, props.onRowClick);
11968
11969
  const rowDrag = useTableRowDrag(options.enableRowDrag && !(meta !== null && meta !== void 0 && (_meta$editing = meta.editing) !== null && _meta$editing !== void 0 && _meta$editing.isEditing), props.onRowDrag);
@@ -12027,7 +12028,7 @@ function useTableManager(props, meta, internalColumns) {
12027
12028
  useTableRowSelectionListener(instance, props.onRowSelect);
12028
12029
  useTableSearchListener(instance);
12029
12030
  useTableServerLoadingListener(instance, server.loadPage);
12030
- useTableSettingsListener(instance, setSettings);
12031
+ useTableSettingsListener(instance, safeId, props._DEPRECATED_DO_NOT_USE_onChangeSettings, options.enableSaveSettings);
12031
12032
  useTableShortcutsListener(instance, props.shortcuts);
12032
12033
  useTableSortingListener(instance, props.onChangeSort);
12033
12034
  return {
@@ -12500,11 +12501,14 @@ function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIn
12500
12501
  const [paddingTop, paddingBottom] = virtualItems.length > 0 ? [Math.max(0, startValue !== null && startValue !== void 0 ? startValue : 0), Math.max(0, totalSize - ((_virtualItems$end = (_virtualItems = virtualItems[virtualItems.length - 1]) === null || _virtualItems === void 0 ? void 0 : _virtualItems.end) !== null && _virtualItems$end !== void 0 ? _virtualItems$end : 0))] : [0, 0];
12501
12502
  // ensure default active rows are scrolled to
12502
12503
  React__default.useEffect(() => {
12503
- if (defaultRowActiveIndex) {
12504
- scrollToIndex(defaultRowActiveIndex, {
12505
- align: 'center',
12506
- behavior: 'auto'
12507
- });
12504
+ if (defaultRowActiveIndex !== undefined) {
12505
+ const index = typeof defaultRowActiveIndex === 'function' ? defaultRowActiveIndex(getSettings(table)) : defaultRowActiveIndex;
12506
+ if (index !== undefined) {
12507
+ scrollToIndex(index, {
12508
+ align: 'center',
12509
+ behavior: 'auto'
12510
+ });
12511
+ }
12508
12512
  }
12509
12513
  }, []);
12510
12514
  // rendered output
@@ -13868,6 +13872,7 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
13868
13872
  "data-cell-align": isGroup ? 'center' : align,
13869
13873
  "data-cell-id": id,
13870
13874
  "data-cell-pinned": isPinned ? isPinned : undefined,
13875
+ "data-taco": isGroup ? 'grouped-column-header' : 'column-header',
13871
13876
  style: style,
13872
13877
  ref: setRef
13873
13878
  }), !isPlaceholder ? (/*#__PURE__*/React__default.createElement(HeaderContent, {
@@ -14022,6 +14027,8 @@ function Body(props) {
14022
14027
  onKeyDown: handleKeyDown,
14023
14028
  onMouseLeave: handleMouseLeave,
14024
14029
  onMouseMove: handleMouseMove,
14030
+ // Prevents menu dropdowns inside the row from being closed straight after being opened, wehn clicked on a menu trigger
14031
+ onFocus: e => e.stopPropagation(),
14025
14032
  ref: ref
14026
14033
  }));
14027
14034
  }
@@ -14787,6 +14794,11 @@ function RowHeightMenuItem({
14787
14794
  }, texts.table.rowHeight.sizes.extraTall)));
14788
14795
  }
14789
14796
 
14797
+ // React 18 has this built-in, when we upgrade this hook should be removed and the uuid dependency should be removed
14798
+ const useId = nativeId => {
14799
+ return React__default.useMemo(() => nativeId !== null && nativeId !== void 0 ? nativeId : uuid.v4(), []);
14800
+ };
14801
+
14790
14802
  const isAriaSelectionKey = event => {
14791
14803
  if (event.key === 'Enter' || event.key === ' ' || event.key === 'Tab') {
14792
14804
  return true;
@@ -17178,15 +17190,16 @@ function TableToolbar(props) {
17178
17190
  const canPrint = table.meta.printing.isEnabled;
17179
17191
  const canSettings = canChangeSettings(table.instance, table.props.customSettings);
17180
17192
  const canSearch = table.meta.search.isEnabled;
17193
+ const settings = getSettings(table.instance);
17181
17194
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", Object.assign({}, attributes, {
17182
17195
  className: "mb-4 flex flex-shrink flex-grow-0 flex-wrap gap-2 print:hidden",
17183
17196
  "data-taco": "table-toolbar"
17184
- }), table.props.toolbarLeft, /*#__PURE__*/React__default.createElement(Group, {
17197
+ }), typeof table.props.toolbarLeft === 'function' ? table.props.toolbarLeft(settings) : table.props.toolbarLeft, /*#__PURE__*/React__default.createElement(Group, {
17185
17198
  className: "ml-auto flex-shrink-0 items-center print:hidden"
17186
17199
  }, customTools, canFilter ? /*#__PURE__*/React__default.createElement(Filters, {
17187
17200
  length: table.meta.length,
17188
17201
  table: table.instance
17189
- }) : null, table.props.toolbarRight, canPrint ? /*#__PURE__*/React__default.createElement(Print$1, {
17202
+ }) : null, typeof table.props.toolbarRight === 'function' ? table.props.toolbarRight(settings) : table.props.toolbarRight, canPrint ? /*#__PURE__*/React__default.createElement(Print$1, {
17190
17203
  table: table.instance,
17191
17204
  tableId: table.id,
17192
17205
  tableRef: table.ref
@@ -17197,9 +17210,9 @@ function TableToolbar(props) {
17197
17210
  scrollToIndex: table.renderer.scrollToIndex,
17198
17211
  table: table.instance,
17199
17212
  tableRef: table.ref
17200
- })) : null)), table.props.toolbarPanel ? /*#__PURE__*/React__default.createElement("div", {
17213
+ })) : null)), table.props.toolbarPanel ? (/*#__PURE__*/React__default.createElement("div", {
17201
17214
  className: "mb-4"
17202
- }, table.props.toolbarPanel) : undefined);
17215
+ }, typeof table.props.toolbarPanel === 'function' ? table.props.toolbarPanel(settings) : table.props.toolbarPanel)) : undefined);
17203
17216
  }
17204
17217
  function canChangeSettings(table, customSettings) {
17205
17218
  const tableMeta = table.options.meta;
@@ -17278,9 +17291,46 @@ function TableGrid(props) {
17278
17291
  }, footerRows) : null)))));
17279
17292
  }
17280
17293
 
17281
- function Column$1(_) {
17282
- return null;
17294
+ function getLegacySetting(currentKey) {
17295
+ try {
17296
+ const localStorageValue = localStorage.getItem(currentKey);
17297
+ if (localStorageValue) {
17298
+ const value = JSON.parse(localStorageValue || 'null');
17299
+ if (value !== null) {
17300
+ localStorage.removeItem(currentKey);
17301
+ return value;
17302
+ }
17303
+ }
17304
+ } catch {
17305
+ // If user is in private mode or has storage restriction
17306
+ // localStorage can throw. JSON.parse can throw, too.
17307
+ }
17308
+ return undefined;
17283
17309
  }
17310
+ function useTableSettingsPreloader(tableId) {
17311
+ const taco = useTaco();
17312
+ const [loading, setLoading] = React__default.useState(true);
17313
+ React__default.useLayoutEffect(() => {
17314
+ const key = getSettingsId(tableId);
17315
+ // migrate legacy settings if they exist, can be removed in the future
17316
+ const legacySettings = getLegacySetting(`taco.${taco.userId}.table.${tableId}.settings`);
17317
+ if (legacySettings) {
17318
+ const legacyPrintSettings = getLegacySetting(`taco.${taco.userId}.table.${tableId}.print.settings`);
17319
+ taco.settings.saveSetting(key, {
17320
+ ...legacySettings,
17321
+ print: legacyPrintSettings !== null && legacyPrintSettings !== void 0 ? legacyPrintSettings : {}
17322
+ }).finally(() => setLoading(false));
17323
+ } else {
17324
+ taco.settings.loadSetting(key).finally(() => setLoading(false));
17325
+ }
17326
+ }, []);
17327
+ return {
17328
+ loading
17329
+ };
17330
+ }
17331
+
17332
+ const Column$1 = () => null;
17333
+ Column$1.displayName = 'Table3Column';
17284
17334
  function Group$4(_) {
17285
17335
  return null;
17286
17336
  }
@@ -17298,6 +17348,12 @@ const Report$1 = /*#__PURE__*/fixedForwardRef(function Report(props, ref) {
17298
17348
  // we force a remount (using key) when the child columns change because there are too many places to add children as an effect
17299
17349
  // this is cheaper from a complexity perspective, and probably performance wise as well
17300
17350
  const key = React__default.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);
17351
+ const {
17352
+ loading
17353
+ } = useTableSettingsPreloader(props.id);
17354
+ if (loading) {
17355
+ return /*#__PURE__*/React__default.createElement(Spinner, null);
17356
+ }
17301
17357
  return /*#__PURE__*/React__default.createElement(BaseReport, Object.assign({}, props, {
17302
17358
  key: key,
17303
17359
  ref: ref
@@ -19811,8 +19867,10 @@ function EditingControlCell(props) {
19811
19867
  }
19812
19868
  }, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value]);
19813
19869
  const blur = React__default.useCallback(function blur() {
19814
- tableMeta.editing.toggleDetailedMode(false);
19815
- tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);
19870
+ requestAnimationFrame(() => {
19871
+ tableMeta.editing.toggleDetailedMode(false);
19872
+ tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);
19873
+ });
19816
19874
  }, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex]);
19817
19875
  const handleBlur = React__default.useCallback(event => {
19818
19876
  if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {
@@ -20618,9 +20676,7 @@ function TemporaryRow(props) {
20618
20676
  }))));
20619
20677
  }
20620
20678
 
20621
- function Column$3(_) {
20622
- return null;
20623
- }
20679
+ const Column$3 = () => null;
20624
20680
  Column$3.displayName = 'Table3Column';
20625
20681
  function Group$5(_) {
20626
20682
  return null;
@@ -20679,6 +20735,12 @@ const Table3 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
20679
20735
  // we force a remount (using key) when the child columns change because there are too many places to add children as an effect
20680
20736
  // this is cheaper from a complexity perspective, and probably performance wise as well
20681
20737
  const key = React__default.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);
20738
+ const {
20739
+ loading
20740
+ } = useTableSettingsPreloader(props.id);
20741
+ if (loading) {
20742
+ return /*#__PURE__*/React__default.createElement(Spinner, null);
20743
+ }
20682
20744
  return /*#__PURE__*/React__default.createElement(BaseTable3, Object.assign({}, props, {
20683
20745
  key: key,
20684
20746
  ref: ref
@@ -20818,7 +20880,7 @@ const Tooltip$1 = ({
20818
20880
  icon: "close",
20819
20881
  title: locale.skip,
20820
20882
  "aria-label": locale.skip,
20821
- className: "absolute top-0 right-0 mt-1 mr-1"
20883
+ className: "absolute right-0 top-0 mr-1 mt-1"
20822
20884
  })), step.title && /*#__PURE__*/React.createElement("h5", null, step.title), step.content, /*#__PURE__*/React.createElement(Group, {
20823
20885
  className: "mt-4 justify-end"
20824
20886
  }, index > 0 && (/*#__PURE__*/React.createElement(Button$1, Object.assign({}, backProps, {
@@ -22214,9 +22276,9 @@ const Top = props => {
22214
22276
  setSidebarOpen
22215
22277
  } = React__default.useContext(LayoutContext);
22216
22278
  const toggleSidebar = () => setSidebarOpen(open => !open);
22217
- return typeof props.children === 'function' ? props.children({
22279
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, typeof props.children === 'function' ? props.children({
22218
22280
  toggleSidebar
22219
- }) : props.children;
22281
+ }) : props.children);
22220
22282
  };
22221
22283
 
22222
22284
  const Page = /*#__PURE__*/React__default.forwardRef(function LayoutPage(props, ref) {
@@ -22715,7 +22777,6 @@ exports.Switch = Switch;
22715
22777
  exports.Table = Table$1;
22716
22778
  exports.Table3 = Table3;
22717
22779
  exports.Tabs = Tabs;
22718
- exports.TacoContext = TacoContext;
22719
22780
  exports.Tag = Tag$1;
22720
22781
  exports.Textarea = Textarea;
22721
22782
  exports.Title = Title$3;