@economic/taco 11.0.0 → 11.0.1-react-v19.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 (774) hide show
  1. package/dist/charts/components/Area/AreaChart.cjs.map +1 -1
  2. package/dist/charts/components/Area/AreaChart.d.ts +1 -1
  3. package/dist/charts/components/Area/AreaChart.js.map +1 -1
  4. package/dist/charts/components/Bar/BarChart.cjs.map +1 -1
  5. package/dist/charts/components/Bar/BarChart.d.ts +1 -1
  6. package/dist/charts/components/Bar/BarChart.js.map +1 -1
  7. package/dist/charts/components/Composed/BarLineChart.cjs.map +1 -1
  8. package/dist/charts/components/Composed/BarLineChart.d.ts +2 -2
  9. package/dist/charts/components/Composed/BarLineChart.js.map +1 -1
  10. package/dist/charts/components/Donut/DonutChart.cjs.map +1 -1
  11. package/dist/charts/components/Donut/DonutChart.d.ts +1 -1
  12. package/dist/charts/components/Donut/DonutChart.js.map +1 -1
  13. package/dist/charts/components/Line/LineChart.cjs.map +1 -1
  14. package/dist/charts/components/Line/LineChart.d.ts +1 -1
  15. package/dist/charts/components/Line/LineChart.js.map +1 -1
  16. package/dist/charts/components/Pie/PieChart.cjs.map +1 -1
  17. package/dist/charts/components/Pie/PieChart.d.ts +1 -1
  18. package/dist/charts/components/Pie/PieChart.js.map +1 -1
  19. package/dist/charts/components/Tooltip.cjs.map +1 -1
  20. package/dist/charts/components/Tooltip.d.ts +1 -1
  21. package/dist/charts/components/Tooltip.js.map +1 -1
  22. package/dist/charts/components/types.d.ts +2 -2
  23. package/dist/components/AlertDialog/AlertDialog.cjs.map +1 -1
  24. package/dist/components/AlertDialog/AlertDialog.d.ts +1 -1
  25. package/dist/components/AlertDialog/AlertDialog.js.map +1 -1
  26. package/dist/components/Banner/util.cjs.map +1 -1
  27. package/dist/components/Banner/util.d.ts +2 -1
  28. package/dist/components/Banner/util.js.map +1 -1
  29. package/dist/components/Card/Card.cjs.map +1 -1
  30. package/dist/components/Card/Card.d.ts +1 -1
  31. package/dist/components/Card/Card.js.map +1 -1
  32. package/dist/components/Combobox/Combobox.cjs.map +1 -1
  33. package/dist/components/Combobox/Combobox.d.ts +1 -1
  34. package/dist/components/Combobox/Combobox.js.map +1 -1
  35. package/dist/components/Combobox/useCombobox.cjs.map +1 -1
  36. package/dist/components/Combobox/useCombobox.d.ts +1 -1
  37. package/dist/components/Combobox/useCombobox.js.map +1 -1
  38. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  39. package/dist/components/Dialog/Dialog.d.ts +1 -1
  40. package/dist/components/Dialog/Dialog.js.map +1 -1
  41. package/dist/components/Dialog/components/Content.cjs.map +1 -1
  42. package/dist/components/Dialog/components/Content.d.ts +2 -2
  43. package/dist/components/Dialog/components/Content.js.map +1 -1
  44. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  45. package/dist/components/Drawer/Drawer.d.ts +1 -1
  46. package/dist/components/Drawer/Drawer.js.map +1 -1
  47. package/dist/components/Drawer/useDrawerStack.cjs +1 -1
  48. package/dist/components/Drawer/useDrawerStack.cjs.map +1 -1
  49. package/dist/components/Drawer/useDrawerStack.js +1 -1
  50. package/dist/components/Drawer/useDrawerStack.js.map +1 -1
  51. package/dist/components/Hanger/Hanger.cjs.map +1 -1
  52. package/dist/components/Hanger/Hanger.d.ts +1 -1
  53. package/dist/components/Hanger/Hanger.js.map +1 -1
  54. package/dist/components/Header/components/Agreement/Display.cjs.map +1 -1
  55. package/dist/components/Header/components/Agreement/Display.d.ts +1 -1
  56. package/dist/components/Header/components/Agreement/Display.js.map +1 -1
  57. package/dist/components/Header/components/Agreement/Item.cjs.map +1 -1
  58. package/dist/components/Header/components/Agreement/Item.d.ts +1 -1
  59. package/dist/components/Header/components/Agreement/Item.js.map +1 -1
  60. package/dist/components/Header/components/Link.cjs.map +1 -1
  61. package/dist/components/Header/components/Link.d.ts +1 -1
  62. package/dist/components/Header/components/Link.js.map +1 -1
  63. package/dist/components/Icon/components/AccountPreview.cjs.map +1 -1
  64. package/dist/components/Icon/components/AccountPreview.js.map +1 -1
  65. package/dist/components/Icon/components/Accounting.cjs.map +1 -1
  66. package/dist/components/Icon/components/Accounting.js.map +1 -1
  67. package/dist/components/Icon/components/AccountingYear.cjs.map +1 -1
  68. package/dist/components/Icon/components/AccountingYear.js.map +1 -1
  69. package/dist/components/Icon/components/AccountingYearCancel.cjs.map +1 -1
  70. package/dist/components/Icon/components/AccountingYearCancel.js.map +1 -1
  71. package/dist/components/Icon/components/AiChatSolid.cjs.map +1 -1
  72. package/dist/components/Icon/components/AiChatSolid.js.map +1 -1
  73. package/dist/components/Icon/components/AiStars.cjs.map +1 -1
  74. package/dist/components/Icon/components/AiStars.js.map +1 -1
  75. package/dist/components/Icon/components/ArrowBottom.cjs.map +1 -1
  76. package/dist/components/Icon/components/ArrowBottom.js.map +1 -1
  77. package/dist/components/Icon/components/ArrowDown.cjs.map +1 -1
  78. package/dist/components/Icon/components/ArrowDown.js.map +1 -1
  79. package/dist/components/Icon/components/ArrowEnd.cjs.map +1 -1
  80. package/dist/components/Icon/components/ArrowEnd.js.map +1 -1
  81. package/dist/components/Icon/components/ArrowLeft.cjs.map +1 -1
  82. package/dist/components/Icon/components/ArrowLeft.js.map +1 -1
  83. package/dist/components/Icon/components/ArrowRight.cjs.map +1 -1
  84. package/dist/components/Icon/components/ArrowRight.js.map +1 -1
  85. package/dist/components/Icon/components/ArrowStart.cjs.map +1 -1
  86. package/dist/components/Icon/components/ArrowStart.js.map +1 -1
  87. package/dist/components/Icon/components/ArrowTop.cjs.map +1 -1
  88. package/dist/components/Icon/components/ArrowTop.js.map +1 -1
  89. package/dist/components/Icon/components/ArrowUp.cjs.map +1 -1
  90. package/dist/components/Icon/components/ArrowUp.js.map +1 -1
  91. package/dist/components/Icon/components/Attach.cjs.map +1 -1
  92. package/dist/components/Icon/components/Attach.js.map +1 -1
  93. package/dist/components/Icon/components/AttachAuto.cjs.map +1 -1
  94. package/dist/components/Icon/components/AttachAuto.js.map +1 -1
  95. package/dist/components/Icon/components/AttachCancel.cjs.map +1 -1
  96. package/dist/components/Icon/components/AttachCancel.js.map +1 -1
  97. package/dist/components/Icon/components/AttachWarning.cjs.map +1 -1
  98. package/dist/components/Icon/components/AttachWarning.js.map +1 -1
  99. package/dist/components/Icon/components/Autopay.cjs.map +1 -1
  100. package/dist/components/Icon/components/Autopay.js.map +1 -1
  101. package/dist/components/Icon/components/AutopayPaused.cjs.map +1 -1
  102. package/dist/components/Icon/components/AutopayPaused.js.map +1 -1
  103. package/dist/components/Icon/components/Autotext.cjs.map +1 -1
  104. package/dist/components/Icon/components/Autotext.js.map +1 -1
  105. package/dist/components/Icon/components/AutotextInsert.cjs.map +1 -1
  106. package/dist/components/Icon/components/AutotextInsert.js.map +1 -1
  107. package/dist/components/Icon/components/Basic.cjs.map +1 -1
  108. package/dist/components/Icon/components/Basic.js.map +1 -1
  109. package/dist/components/Icon/components/BasicTabs.cjs.map +1 -1
  110. package/dist/components/Icon/components/BasicTabs.js.map +1 -1
  111. package/dist/components/Icon/components/BellSolid.cjs.map +1 -1
  112. package/dist/components/Icon/components/BellSolid.js.map +1 -1
  113. package/dist/components/Icon/components/Book.cjs.map +1 -1
  114. package/dist/components/Icon/components/Book.js.map +1 -1
  115. package/dist/components/Icon/components/Booking.cjs.map +1 -1
  116. package/dist/components/Icon/components/Booking.js.map +1 -1
  117. package/dist/components/Icon/components/Budget.cjs.map +1 -1
  118. package/dist/components/Icon/components/Budget.js.map +1 -1
  119. package/dist/components/Icon/components/Calendar.cjs.map +1 -1
  120. package/dist/components/Icon/components/Calendar.js.map +1 -1
  121. package/dist/components/Icon/components/CashAccount.cjs.map +1 -1
  122. package/dist/components/Icon/components/CashAccount.js.map +1 -1
  123. package/dist/components/Icon/components/CashReports.cjs.map +1 -1
  124. package/dist/components/Icon/components/CashReports.js.map +1 -1
  125. package/dist/components/Icon/components/ChartArea.cjs.map +1 -1
  126. package/dist/components/Icon/components/ChartArea.js.map +1 -1
  127. package/dist/components/Icon/components/ChartBar.cjs.map +1 -1
  128. package/dist/components/Icon/components/ChartBar.js.map +1 -1
  129. package/dist/components/Icon/components/ChartLine.cjs.map +1 -1
  130. package/dist/components/Icon/components/ChartLine.js.map +1 -1
  131. package/dist/components/Icon/components/ChartPie.cjs.map +1 -1
  132. package/dist/components/Icon/components/ChartPie.js.map +1 -1
  133. package/dist/components/Icon/components/ChartTable.cjs.map +1 -1
  134. package/dist/components/Icon/components/ChartTable.js.map +1 -1
  135. package/dist/components/Icon/components/Chat.cjs.map +1 -1
  136. package/dist/components/Icon/components/Chat.js.map +1 -1
  137. package/dist/components/Icon/components/ChatSolid.cjs.map +1 -1
  138. package/dist/components/Icon/components/ChatSolid.js.map +1 -1
  139. package/dist/components/Icon/components/ChevronDown.cjs.map +1 -1
  140. package/dist/components/Icon/components/ChevronDown.js.map +1 -1
  141. package/dist/components/Icon/components/ChevronDownDouble.cjs.map +1 -1
  142. package/dist/components/Icon/components/ChevronDownDouble.js.map +1 -1
  143. package/dist/components/Icon/components/ChevronDownSolid.cjs.map +1 -1
  144. package/dist/components/Icon/components/ChevronDownSolid.js.map +1 -1
  145. package/dist/components/Icon/components/ChevronLeft.cjs.map +1 -1
  146. package/dist/components/Icon/components/ChevronLeft.js.map +1 -1
  147. package/dist/components/Icon/components/ChevronLeftDouble.cjs.map +1 -1
  148. package/dist/components/Icon/components/ChevronLeftDouble.js.map +1 -1
  149. package/dist/components/Icon/components/ChevronLeftSolid.cjs.map +1 -1
  150. package/dist/components/Icon/components/ChevronLeftSolid.js.map +1 -1
  151. package/dist/components/Icon/components/ChevronRight.cjs.map +1 -1
  152. package/dist/components/Icon/components/ChevronRight.js.map +1 -1
  153. package/dist/components/Icon/components/ChevronRightDouble.cjs.map +1 -1
  154. package/dist/components/Icon/components/ChevronRightDouble.js.map +1 -1
  155. package/dist/components/Icon/components/ChevronRightSolid.cjs.map +1 -1
  156. package/dist/components/Icon/components/ChevronRightSolid.js.map +1 -1
  157. package/dist/components/Icon/components/ChevronUp.cjs.map +1 -1
  158. package/dist/components/Icon/components/ChevronUp.js.map +1 -1
  159. package/dist/components/Icon/components/ChevronUpDouble.cjs.map +1 -1
  160. package/dist/components/Icon/components/ChevronUpDouble.js.map +1 -1
  161. package/dist/components/Icon/components/ChevronUpSolid.cjs.map +1 -1
  162. package/dist/components/Icon/components/ChevronUpSolid.js.map +1 -1
  163. package/dist/components/Icon/components/CircleInformation.cjs.map +1 -1
  164. package/dist/components/Icon/components/CircleInformation.js.map +1 -1
  165. package/dist/components/Icon/components/CircleMinus.cjs.map +1 -1
  166. package/dist/components/Icon/components/CircleMinus.js.map +1 -1
  167. package/dist/components/Icon/components/CirclePlus.cjs.map +1 -1
  168. package/dist/components/Icon/components/CirclePlus.js.map +1 -1
  169. package/dist/components/Icon/components/CircleQuestionmark.cjs.map +1 -1
  170. package/dist/components/Icon/components/CircleQuestionmark.js.map +1 -1
  171. package/dist/components/Icon/components/CircleTick.cjs.map +1 -1
  172. package/dist/components/Icon/components/CircleTick.js.map +1 -1
  173. package/dist/components/Icon/components/CircleWarning.cjs.map +1 -1
  174. package/dist/components/Icon/components/CircleWarning.js.map +1 -1
  175. package/dist/components/Icon/components/Clamp.cjs.map +1 -1
  176. package/dist/components/Icon/components/Clamp.js.map +1 -1
  177. package/dist/components/Icon/components/ClampOpen.cjs.map +1 -1
  178. package/dist/components/Icon/components/ClampOpen.js.map +1 -1
  179. package/dist/components/Icon/components/ClickToPay.cjs.map +1 -1
  180. package/dist/components/Icon/components/ClickToPay.js.map +1 -1
  181. package/dist/components/Icon/components/Close.cjs.map +1 -1
  182. package/dist/components/Icon/components/Close.js.map +1 -1
  183. package/dist/components/Icon/components/ColumnFreeze.cjs.map +1 -1
  184. package/dist/components/Icon/components/ColumnFreeze.js.map +1 -1
  185. package/dist/components/Icon/components/ColumnUnfreeze.cjs.map +1 -1
  186. package/dist/components/Icon/components/ColumnUnfreeze.js.map +1 -1
  187. package/dist/components/Icon/components/Columns.cjs.map +1 -1
  188. package/dist/components/Icon/components/Columns.js.map +1 -1
  189. package/dist/components/Icon/components/ConnectionEnable.cjs.map +1 -1
  190. package/dist/components/Icon/components/ConnectionEnable.js.map +1 -1
  191. package/dist/components/Icon/components/ConnectionRevoke.cjs.map +1 -1
  192. package/dist/components/Icon/components/ConnectionRevoke.js.map +1 -1
  193. package/dist/components/Icon/components/Contacts.cjs.map +1 -1
  194. package/dist/components/Icon/components/Contacts.js.map +1 -1
  195. package/dist/components/Icon/components/Copy.cjs.map +1 -1
  196. package/dist/components/Icon/components/Copy.js.map +1 -1
  197. package/dist/components/Icon/components/Courses.cjs.map +1 -1
  198. package/dist/components/Icon/components/Courses.js.map +1 -1
  199. package/dist/components/Icon/components/Credit.cjs.map +1 -1
  200. package/dist/components/Icon/components/Credit.js.map +1 -1
  201. package/dist/components/Icon/components/Delete.cjs.map +1 -1
  202. package/dist/components/Icon/components/Delete.js.map +1 -1
  203. package/dist/components/Icon/components/DeletePermanently.cjs.map +1 -1
  204. package/dist/components/Icon/components/DeletePermanently.js.map +1 -1
  205. package/dist/components/Icon/components/Depecriate.cjs.map +1 -1
  206. package/dist/components/Icon/components/Depecriate.js.map +1 -1
  207. package/dist/components/Icon/components/Developer.cjs.map +1 -1
  208. package/dist/components/Icon/components/Developer.js.map +1 -1
  209. package/dist/components/Icon/components/DistributionTemplate.cjs.map +1 -1
  210. package/dist/components/Icon/components/DistributionTemplate.js.map +1 -1
  211. package/dist/components/Icon/components/Document.cjs.map +1 -1
  212. package/dist/components/Icon/components/Document.js.map +1 -1
  213. package/dist/components/Icon/components/DocumentApprove.cjs.map +1 -1
  214. package/dist/components/Icon/components/DocumentApprove.js.map +1 -1
  215. package/dist/components/Icon/components/DocumentCreateEntry.cjs.map +1 -1
  216. package/dist/components/Icon/components/DocumentCreateEntry.js.map +1 -1
  217. package/dist/components/Icon/components/DocumentCut.cjs.map +1 -1
  218. package/dist/components/Icon/components/DocumentCut.js.map +1 -1
  219. package/dist/components/Icon/components/DocumentError.cjs.map +1 -1
  220. package/dist/components/Icon/components/DocumentError.js.map +1 -1
  221. package/dist/components/Icon/components/DocumentIsolatePage.cjs.map +1 -1
  222. package/dist/components/Icon/components/DocumentIsolatePage.js.map +1 -1
  223. package/dist/components/Icon/components/DocumentMerge.cjs.map +1 -1
  224. package/dist/components/Icon/components/DocumentMerge.js.map +1 -1
  225. package/dist/components/Icon/components/DocumentMove.cjs.map +1 -1
  226. package/dist/components/Icon/components/DocumentMove.js.map +1 -1
  227. package/dist/components/Icon/components/DocumentPreview.cjs.map +1 -1
  228. package/dist/components/Icon/components/DocumentPreview.js.map +1 -1
  229. package/dist/components/Icon/components/DocumentReceived.cjs.map +1 -1
  230. package/dist/components/Icon/components/DocumentReceived.js.map +1 -1
  231. package/dist/components/Icon/components/DocumentRejectedRequest.cjs.map +1 -1
  232. package/dist/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
  233. package/dist/components/Icon/components/DocumentSigned.cjs.map +1 -1
  234. package/dist/components/Icon/components/DocumentSigned.js.map +1 -1
  235. package/dist/components/Icon/components/DocumentSignedSolid.cjs.map +1 -1
  236. package/dist/components/Icon/components/DocumentSignedSolid.js.map +1 -1
  237. package/dist/components/Icon/components/DocumentSplit.cjs.map +1 -1
  238. package/dist/components/Icon/components/DocumentSplit.js.map +1 -1
  239. package/dist/components/Icon/components/DocumentTime.cjs.map +1 -1
  240. package/dist/components/Icon/components/DocumentTime.js.map +1 -1
  241. package/dist/components/Icon/components/Download.cjs.map +1 -1
  242. package/dist/components/Icon/components/Download.js.map +1 -1
  243. package/dist/components/Icon/components/Drag.cjs.map +1 -1
  244. package/dist/components/Icon/components/Drag.js.map +1 -1
  245. package/dist/components/Icon/components/ECopedia.cjs.map +1 -1
  246. package/dist/components/Icon/components/ECopedia.js.map +1 -1
  247. package/dist/components/Icon/components/Edit.cjs.map +1 -1
  248. package/dist/components/Icon/components/Edit.js.map +1 -1
  249. package/dist/components/Icon/components/EditSimple.cjs.map +1 -1
  250. package/dist/components/Icon/components/EditSimple.js.map +1 -1
  251. package/dist/components/Icon/components/EllipsisHorizontal.cjs.map +1 -1
  252. package/dist/components/Icon/components/EllipsisHorizontal.js.map +1 -1
  253. package/dist/components/Icon/components/EllipsisVertical.cjs.map +1 -1
  254. package/dist/components/Icon/components/EllipsisVertical.js.map +1 -1
  255. package/dist/components/Icon/components/EntriesOnAccount.cjs.map +1 -1
  256. package/dist/components/Icon/components/EntriesOnAccount.js.map +1 -1
  257. package/dist/components/Icon/components/EntriesOpen.cjs.map +1 -1
  258. package/dist/components/Icon/components/EntriesOpen.js.map +1 -1
  259. package/dist/components/Icon/components/EntriesWarning.cjs.map +1 -1
  260. package/dist/components/Icon/components/EntriesWarning.js.map +1 -1
  261. package/dist/components/Icon/components/EntryTypeCustomerInvoice.cjs.map +1 -1
  262. package/dist/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
  263. package/dist/components/Icon/components/EntryTypeCustomerPayment.cjs.map +1 -1
  264. package/dist/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
  265. package/dist/components/Icon/components/EntryTypeJournalEntry.cjs.map +1 -1
  266. package/dist/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
  267. package/dist/components/Icon/components/EntryTypeManualCustomerInvoice.cjs.map +1 -1
  268. package/dist/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
  269. package/dist/components/Icon/components/EntryTypeSupplierInvoice.cjs.map +1 -1
  270. package/dist/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
  271. package/dist/components/Icon/components/EntryTypeSupplierPayment.cjs.map +1 -1
  272. package/dist/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
  273. package/dist/components/Icon/components/Envelope.cjs.map +1 -1
  274. package/dist/components/Icon/components/Envelope.js.map +1 -1
  275. package/dist/components/Icon/components/EnvelopeApproved.cjs.map +1 -1
  276. package/dist/components/Icon/components/EnvelopeApproved.js.map +1 -1
  277. package/dist/components/Icon/components/EnvelopeSolid.cjs.map +1 -1
  278. package/dist/components/Icon/components/EnvelopeSolid.js.map +1 -1
  279. package/dist/components/Icon/components/ExpandView.cjs.map +1 -1
  280. package/dist/components/Icon/components/ExpandView.js.map +1 -1
  281. package/dist/components/Icon/components/Expenses.cjs.map +1 -1
  282. package/dist/components/Icon/components/Expenses.js.map +1 -1
  283. package/dist/components/Icon/components/Experiment.cjs.map +1 -1
  284. package/dist/components/Icon/components/Experiment.js.map +1 -1
  285. package/dist/components/Icon/components/Export.cjs.map +1 -1
  286. package/dist/components/Icon/components/Export.js.map +1 -1
  287. package/dist/components/Icon/components/ExportToExcel.cjs.map +1 -1
  288. package/dist/components/Icon/components/ExportToExcel.js.map +1 -1
  289. package/dist/components/Icon/components/ExportToPdf.cjs.map +1 -1
  290. package/dist/components/Icon/components/ExportToPdf.js.map +1 -1
  291. package/dist/components/Icon/components/EyeOff.cjs.map +1 -1
  292. package/dist/components/Icon/components/EyeOff.js.map +1 -1
  293. package/dist/components/Icon/components/EyeOn.cjs.map +1 -1
  294. package/dist/components/Icon/components/EyeOn.js.map +1 -1
  295. package/dist/components/Icon/components/Filter.cjs.map +1 -1
  296. package/dist/components/Icon/components/Filter.js.map +1 -1
  297. package/dist/components/Icon/components/FilterSolid.cjs.map +1 -1
  298. package/dist/components/Icon/components/FilterSolid.js.map +1 -1
  299. package/dist/components/Icon/components/FontSize.cjs.map +1 -1
  300. package/dist/components/Icon/components/FontSize.js.map +1 -1
  301. package/dist/components/Icon/components/GraphSolid.cjs.map +1 -1
  302. package/dist/components/Icon/components/GraphSolid.js.map +1 -1
  303. package/dist/components/Icon/components/Hash.cjs.map +1 -1
  304. package/dist/components/Icon/components/Hash.js.map +1 -1
  305. package/dist/components/Icon/components/HeightExtraTall.cjs.map +1 -1
  306. package/dist/components/Icon/components/HeightExtraTall.js.map +1 -1
  307. package/dist/components/Icon/components/HeightMedium.cjs.map +1 -1
  308. package/dist/components/Icon/components/HeightMedium.js.map +1 -1
  309. package/dist/components/Icon/components/HeightShort.cjs.map +1 -1
  310. package/dist/components/Icon/components/HeightShort.js.map +1 -1
  311. package/dist/components/Icon/components/HeightTall.cjs.map +1 -1
  312. package/dist/components/Icon/components/HeightTall.js.map +1 -1
  313. package/dist/components/Icon/components/House.cjs.map +1 -1
  314. package/dist/components/Icon/components/House.js.map +1 -1
  315. package/dist/components/Icon/components/HouseSolid.cjs.map +1 -1
  316. package/dist/components/Icon/components/HouseSolid.js.map +1 -1
  317. package/dist/components/Icon/components/Id.cjs.map +1 -1
  318. package/dist/components/Icon/components/Id.js.map +1 -1
  319. package/dist/components/Icon/components/Images.cjs.map +1 -1
  320. package/dist/components/Icon/components/Images.js.map +1 -1
  321. package/dist/components/Icon/components/Import.cjs.map +1 -1
  322. package/dist/components/Icon/components/Import.js.map +1 -1
  323. package/dist/components/Icon/components/Inbox.cjs.map +1 -1
  324. package/dist/components/Icon/components/Inbox.js.map +1 -1
  325. package/dist/components/Icon/components/InboxEinvoicing.cjs.map +1 -1
  326. package/dist/components/Icon/components/InboxEinvoicing.js.map +1 -1
  327. package/dist/components/Icon/components/InboxScanning.cjs.map +1 -1
  328. package/dist/components/Icon/components/InboxScanning.js.map +1 -1
  329. package/dist/components/Icon/components/InboxSmart.cjs.map +1 -1
  330. package/dist/components/Icon/components/InboxSmart.js.map +1 -1
  331. package/dist/components/Icon/components/Info.cjs.map +1 -1
  332. package/dist/components/Icon/components/Info.js.map +1 -1
  333. package/dist/components/Icon/components/Inventory.cjs.map +1 -1
  334. package/dist/components/Icon/components/Inventory.js.map +1 -1
  335. package/dist/components/Icon/components/InventoryMatrix.cjs.map +1 -1
  336. package/dist/components/Icon/components/InventoryMatrix.js.map +1 -1
  337. package/dist/components/Icon/components/JournalPro.cjs.map +1 -1
  338. package/dist/components/Icon/components/JournalPro.js.map +1 -1
  339. package/dist/components/Icon/components/Layout.cjs.map +1 -1
  340. package/dist/components/Icon/components/Layout.js.map +1 -1
  341. package/dist/components/Icon/components/LayoutBoth.cjs.map +1 -1
  342. package/dist/components/Icon/components/LayoutBoth.js.map +1 -1
  343. package/dist/components/Icon/components/LayoutFirst.cjs.map +1 -1
  344. package/dist/components/Icon/components/LayoutFirst.js.map +1 -1
  345. package/dist/components/Icon/components/LayoutLast.cjs.map +1 -1
  346. package/dist/components/Icon/components/LayoutLast.js.map +1 -1
  347. package/dist/components/Icon/components/LayoutNone.cjs.map +1 -1
  348. package/dist/components/Icon/components/LayoutNone.js.map +1 -1
  349. package/dist/components/Icon/components/LedgerCard.cjs.map +1 -1
  350. package/dist/components/Icon/components/LedgerCard.js.map +1 -1
  351. package/dist/components/Icon/components/LedgerCardCustomerReminder.cjs.map +1 -1
  352. package/dist/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
  353. package/dist/components/Icon/components/LedgerCardManualCustomerInvoice.cjs.map +1 -1
  354. package/dist/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
  355. package/dist/components/Icon/components/LedgerCardObsoleteStock.cjs.map +1 -1
  356. package/dist/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
  357. package/dist/components/Icon/components/LedgerCardOpeningEntry.cjs.map +1 -1
  358. package/dist/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
  359. package/dist/components/Icon/components/LedgerCardReservedEntry.cjs.map +1 -1
  360. package/dist/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
  361. package/dist/components/Icon/components/LedgerCardShrinkagePilferage.cjs.map +1 -1
  362. package/dist/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
  363. package/dist/components/Icon/components/LedgerCardStockAdjustment.cjs.map +1 -1
  364. package/dist/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
  365. package/dist/components/Icon/components/LedgerCardTransferredOpeningEntry.cjs.map +1 -1
  366. package/dist/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
  367. package/dist/components/Icon/components/Lightbulb.cjs.map +1 -1
  368. package/dist/components/Icon/components/Lightbulb.js.map +1 -1
  369. package/dist/components/Icon/components/Line.cjs.map +1 -1
  370. package/dist/components/Icon/components/Line.js.map +1 -1
  371. package/dist/components/Icon/components/LinkExternal.cjs.map +1 -1
  372. package/dist/components/Icon/components/LinkExternal.js.map +1 -1
  373. package/dist/components/Icon/components/List.cjs.map +1 -1
  374. package/dist/components/Icon/components/List.js.map +1 -1
  375. package/dist/components/Icon/components/ListBulleted.cjs.map +1 -1
  376. package/dist/components/Icon/components/ListBulleted.js.map +1 -1
  377. package/dist/components/Icon/components/ListSearch.cjs.map +1 -1
  378. package/dist/components/Icon/components/ListSearch.js.map +1 -1
  379. package/dist/components/Icon/components/Location.cjs.map +1 -1
  380. package/dist/components/Icon/components/Location.js.map +1 -1
  381. package/dist/components/Icon/components/Lock.cjs.map +1 -1
  382. package/dist/components/Icon/components/Lock.js.map +1 -1
  383. package/dist/components/Icon/components/LockOpen.cjs.map +1 -1
  384. package/dist/components/Icon/components/LockOpen.js.map +1 -1
  385. package/dist/components/Icon/components/Log.cjs.map +1 -1
  386. package/dist/components/Icon/components/Log.js.map +1 -1
  387. package/dist/components/Icon/components/LogOut.cjs.map +1 -1
  388. package/dist/components/Icon/components/LogOut.js.map +1 -1
  389. package/dist/components/Icon/components/Market.cjs.map +1 -1
  390. package/dist/components/Icon/components/Market.js.map +1 -1
  391. package/dist/components/Icon/components/MastercardOs.cjs.map +1 -1
  392. package/dist/components/Icon/components/MastercardOs.js.map +1 -1
  393. package/dist/components/Icon/components/MatchAmount.cjs.map +1 -1
  394. package/dist/components/Icon/components/MatchAmount.js.map +1 -1
  395. package/dist/components/Icon/components/MatchEntries.cjs.map +1 -1
  396. package/dist/components/Icon/components/MatchEntries.js.map +1 -1
  397. package/dist/components/Icon/components/Menu.cjs.map +1 -1
  398. package/dist/components/Icon/components/Menu.js.map +1 -1
  399. package/dist/components/Icon/components/Mileage.cjs.map +1 -1
  400. package/dist/components/Icon/components/Mileage.js.map +1 -1
  401. package/dist/components/Icon/components/ModalResize.cjs.map +1 -1
  402. package/dist/components/Icon/components/ModalResize.js.map +1 -1
  403. package/dist/components/Icon/components/ModalShrink.cjs.map +1 -1
  404. package/dist/components/Icon/components/ModalShrink.js.map +1 -1
  405. package/dist/components/Icon/components/More.cjs.map +1 -1
  406. package/dist/components/Icon/components/More.js.map +1 -1
  407. package/dist/components/Icon/components/MoreSolid.cjs.map +1 -1
  408. package/dist/components/Icon/components/MoreSolid.js.map +1 -1
  409. package/dist/components/Icon/components/Move.cjs.map +1 -1
  410. package/dist/components/Icon/components/Move.js.map +1 -1
  411. package/dist/components/Icon/components/NavigationList.cjs.map +1 -1
  412. package/dist/components/Icon/components/NavigationList.js.map +1 -1
  413. package/dist/components/Icon/components/Note.cjs.map +1 -1
  414. package/dist/components/Icon/components/Note.js.map +1 -1
  415. package/dist/components/Icon/components/NoteFollowUp.cjs.map +1 -1
  416. package/dist/components/Icon/components/NoteFollowUp.js.map +1 -1
  417. package/dist/components/Icon/components/NoteRead.cjs.map +1 -1
  418. package/dist/components/Icon/components/NoteRead.js.map +1 -1
  419. package/dist/components/Icon/components/NovemberFirst.cjs.map +1 -1
  420. package/dist/components/Icon/components/NovemberFirst.js.map +1 -1
  421. package/dist/components/Icon/components/Numbers.cjs.map +1 -1
  422. package/dist/components/Icon/components/Numbers.js.map +1 -1
  423. package/dist/components/Icon/components/PartialPaymentScheduled.cjs.map +1 -1
  424. package/dist/components/Icon/components/PartialPaymentScheduled.js.map +1 -1
  425. package/dist/components/Icon/components/PartnerApi.cjs.map +1 -1
  426. package/dist/components/Icon/components/PartnerApi.js.map +1 -1
  427. package/dist/components/Icon/components/PaymentPaid.cjs.map +1 -1
  428. package/dist/components/Icon/components/PaymentPaid.js.map +1 -1
  429. package/dist/components/Icon/components/PaymentUnpaid.cjs.map +1 -1
  430. package/dist/components/Icon/components/PaymentUnpaid.js.map +1 -1
  431. package/dist/components/Icon/components/Period.cjs.map +1 -1
  432. package/dist/components/Icon/components/Period.js.map +1 -1
  433. package/dist/components/Icon/components/Person.cjs.map +1 -1
  434. package/dist/components/Icon/components/Person.js.map +1 -1
  435. package/dist/components/Icon/components/PersonChange.cjs.map +1 -1
  436. package/dist/components/Icon/components/PersonChange.js.map +1 -1
  437. package/dist/components/Icon/components/PersonMinus.cjs.map +1 -1
  438. package/dist/components/Icon/components/PersonMinus.js.map +1 -1
  439. package/dist/components/Icon/components/PersonPlus.cjs.map +1 -1
  440. package/dist/components/Icon/components/PersonPlus.js.map +1 -1
  441. package/dist/components/Icon/components/PersonSolid.cjs.map +1 -1
  442. package/dist/components/Icon/components/PersonSolid.js.map +1 -1
  443. package/dist/components/Icon/components/PersonTick.cjs.map +1 -1
  444. package/dist/components/Icon/components/PersonTick.js.map +1 -1
  445. package/dist/components/Icon/components/Phone.cjs.map +1 -1
  446. package/dist/components/Icon/components/Phone.js.map +1 -1
  447. package/dist/components/Icon/components/PhoneSolid.cjs.map +1 -1
  448. package/dist/components/Icon/components/PhoneSolid.js.map +1 -1
  449. package/dist/components/Icon/components/Play.cjs.map +1 -1
  450. package/dist/components/Icon/components/Play.js.map +1 -1
  451. package/dist/components/Icon/components/PlusMinus.cjs.map +1 -1
  452. package/dist/components/Icon/components/PlusMinus.js.map +1 -1
  453. package/dist/components/Icon/components/Print.cjs.map +1 -1
  454. package/dist/components/Icon/components/Print.js.map +1 -1
  455. package/dist/components/Icon/components/ProcessPayment.cjs.map +1 -1
  456. package/dist/components/Icon/components/ProcessPayment.js.map +1 -1
  457. package/dist/components/Icon/components/ProductLedgerCard.cjs.map +1 -1
  458. package/dist/components/Icon/components/ProductLedgerCard.js.map +1 -1
  459. package/dist/components/Icon/components/Profile.cjs.map +1 -1
  460. package/dist/components/Icon/components/Profile.js.map +1 -1
  461. package/dist/components/Icon/components/ProjectCards.cjs.map +1 -1
  462. package/dist/components/Icon/components/ProjectCards.js.map +1 -1
  463. package/dist/components/Icon/components/Projects.cjs.map +1 -1
  464. package/dist/components/Icon/components/Projects.js.map +1 -1
  465. package/dist/components/Icon/components/QuestionMark.cjs.map +1 -1
  466. package/dist/components/Icon/components/QuestionMark.js.map +1 -1
  467. package/dist/components/Icon/components/QuestionMarkBold.cjs.map +1 -1
  468. package/dist/components/Icon/components/QuestionMarkBold.js.map +1 -1
  469. package/dist/components/Icon/components/Quicklinks.cjs.map +1 -1
  470. package/dist/components/Icon/components/Quicklinks.js.map +1 -1
  471. package/dist/components/Icon/components/RatingBankruptcy.cjs.map +1 -1
  472. package/dist/components/Icon/components/RatingBankruptcy.js.map +1 -1
  473. package/dist/components/Icon/components/RatingPaymentProblems.cjs.map +1 -1
  474. package/dist/components/Icon/components/RatingPaymentProblems.js.map +1 -1
  475. package/dist/components/Icon/components/Reconciled.cjs.map +1 -1
  476. package/dist/components/Icon/components/Reconciled.js.map +1 -1
  477. package/dist/components/Icon/components/Refresh.cjs.map +1 -1
  478. package/dist/components/Icon/components/Refresh.js.map +1 -1
  479. package/dist/components/Icon/components/Remove.cjs.map +1 -1
  480. package/dist/components/Icon/components/Remove.js.map +1 -1
  481. package/dist/components/Icon/components/Report.cjs.map +1 -1
  482. package/dist/components/Icon/components/Report.js.map +1 -1
  483. package/dist/components/Icon/components/ReportSolid.cjs.map +1 -1
  484. package/dist/components/Icon/components/ReportSolid.js.map +1 -1
  485. package/dist/components/Icon/components/Restore.cjs.map +1 -1
  486. package/dist/components/Icon/components/Restore.js.map +1 -1
  487. package/dist/components/Icon/components/RotateLeft.cjs.map +1 -1
  488. package/dist/components/Icon/components/RotateLeft.js.map +1 -1
  489. package/dist/components/Icon/components/RotateRight.cjs.map +1 -1
  490. package/dist/components/Icon/components/RotateRight.js.map +1 -1
  491. package/dist/components/Icon/components/Sales.cjs.map +1 -1
  492. package/dist/components/Icon/components/Sales.js.map +1 -1
  493. package/dist/components/Icon/components/Search.cjs.map +1 -1
  494. package/dist/components/Icon/components/Search.js.map +1 -1
  495. package/dist/components/Icon/components/SearchBold.cjs.map +1 -1
  496. package/dist/components/Icon/components/SearchBold.js.map +1 -1
  497. package/dist/components/Icon/components/Secure.cjs.map +1 -1
  498. package/dist/components/Icon/components/Secure.js.map +1 -1
  499. package/dist/components/Icon/components/SecureTick.cjs.map +1 -1
  500. package/dist/components/Icon/components/SecureTick.js.map +1 -1
  501. package/dist/components/Icon/components/Settings.cjs.map +1 -1
  502. package/dist/components/Icon/components/Settings.js.map +1 -1
  503. package/dist/components/Icon/components/SettingsSolid.cjs.map +1 -1
  504. package/dist/components/Icon/components/SettingsSolid.js.map +1 -1
  505. package/dist/components/Icon/components/Shortcuts.cjs.map +1 -1
  506. package/dist/components/Icon/components/Shortcuts.js.map +1 -1
  507. package/dist/components/Icon/components/ShowAll.cjs.map +1 -1
  508. package/dist/components/Icon/components/ShowAll.js.map +1 -1
  509. package/dist/components/Icon/components/ShowLess.cjs.map +1 -1
  510. package/dist/components/Icon/components/ShowLess.js.map +1 -1
  511. package/dist/components/Icon/components/ShowMore.cjs.map +1 -1
  512. package/dist/components/Icon/components/ShowMore.js.map +1 -1
  513. package/dist/components/Icon/components/ShowTemplate.cjs.map +1 -1
  514. package/dist/components/Icon/components/ShowTemplate.js.map +1 -1
  515. package/dist/components/Icon/components/Sliders.cjs.map +1 -1
  516. package/dist/components/Icon/components/Sliders.js.map +1 -1
  517. package/dist/components/Icon/components/Smartpay.cjs.map +1 -1
  518. package/dist/components/Icon/components/Smartpay.js.map +1 -1
  519. package/dist/components/Icon/components/SortBy.cjs.map +1 -1
  520. package/dist/components/Icon/components/SortBy.js.map +1 -1
  521. package/dist/components/Icon/components/Star.cjs.map +1 -1
  522. package/dist/components/Icon/components/Star.js.map +1 -1
  523. package/dist/components/Icon/components/StarSolid.cjs.map +1 -1
  524. package/dist/components/Icon/components/StarSolid.js.map +1 -1
  525. package/dist/components/Icon/components/Subscriptions.cjs.map +1 -1
  526. package/dist/components/Icon/components/Subscriptions.js.map +1 -1
  527. package/dist/components/Icon/components/SystemEntries.cjs.map +1 -1
  528. package/dist/components/Icon/components/SystemEntries.js.map +1 -1
  529. package/dist/components/Icon/components/Tag.cjs.map +1 -1
  530. package/dist/components/Icon/components/Tag.js.map +1 -1
  531. package/dist/components/Icon/components/TemplateOverride.cjs.map +1 -1
  532. package/dist/components/Icon/components/TemplateOverride.js.map +1 -1
  533. package/dist/components/Icon/components/Templates.cjs.map +1 -1
  534. package/dist/components/Icon/components/Templates.js.map +1 -1
  535. package/dist/components/Icon/components/ThumbBoth.cjs.map +1 -1
  536. package/dist/components/Icon/components/ThumbBoth.js.map +1 -1
  537. package/dist/components/Icon/components/ThumbDown.cjs.map +1 -1
  538. package/dist/components/Icon/components/ThumbDown.js.map +1 -1
  539. package/dist/components/Icon/components/ThumbDownSolid.cjs.map +1 -1
  540. package/dist/components/Icon/components/ThumbDownSolid.js.map +1 -1
  541. package/dist/components/Icon/components/ThumbUp.cjs.map +1 -1
  542. package/dist/components/Icon/components/ThumbUp.js.map +1 -1
  543. package/dist/components/Icon/components/ThumbUpSolid.cjs.map +1 -1
  544. package/dist/components/Icon/components/ThumbUpSolid.js.map +1 -1
  545. package/dist/components/Icon/components/Tick.cjs.map +1 -1
  546. package/dist/components/Icon/components/Tick.js.map +1 -1
  547. package/dist/components/Icon/components/TickBold.cjs.map +1 -1
  548. package/dist/components/Icon/components/TickBold.js.map +1 -1
  549. package/dist/components/Icon/components/Time.cjs.map +1 -1
  550. package/dist/components/Icon/components/Time.js.map +1 -1
  551. package/dist/components/Icon/components/Transfer.cjs.map +1 -1
  552. package/dist/components/Icon/components/Transfer.js.map +1 -1
  553. package/dist/components/Icon/components/TransferCancel.cjs.map +1 -1
  554. package/dist/components/Icon/components/TransferCancel.js.map +1 -1
  555. package/dist/components/Icon/components/TransferLocked.cjs.map +1 -1
  556. package/dist/components/Icon/components/TransferLocked.js.map +1 -1
  557. package/dist/components/Icon/components/Undo.cjs.map +1 -1
  558. package/dist/components/Icon/components/Undo.js.map +1 -1
  559. package/dist/components/Icon/components/Undock.cjs.map +1 -1
  560. package/dist/components/Icon/components/Undock.js.map +1 -1
  561. package/dist/components/Icon/components/Unreconciled.cjs.map +1 -1
  562. package/dist/components/Icon/components/Unreconciled.js.map +1 -1
  563. package/dist/components/Icon/components/Wallet.cjs.map +1 -1
  564. package/dist/components/Icon/components/Wallet.js.map +1 -1
  565. package/dist/components/Icon/components/Warning.cjs.map +1 -1
  566. package/dist/components/Icon/components/Warning.js.map +1 -1
  567. package/dist/components/Icon/components/Webshop.cjs.map +1 -1
  568. package/dist/components/Icon/components/Webshop.js.map +1 -1
  569. package/dist/components/Icon/components/Website.cjs.map +1 -1
  570. package/dist/components/Icon/components/Website.js.map +1 -1
  571. package/dist/components/Icon/components/Workflow.cjs.map +1 -1
  572. package/dist/components/Icon/components/Workflow.js.map +1 -1
  573. package/dist/components/Icon/components/WorkflowTemplateBasic.cjs.map +1 -1
  574. package/dist/components/Icon/components/WorkflowTemplateBasic.js.map +1 -1
  575. package/dist/components/Icon/components/Zoom.cjs.map +1 -1
  576. package/dist/components/Icon/components/Zoom.js.map +1 -1
  577. package/dist/components/Input/Input.cjs.map +1 -1
  578. package/dist/components/Input/Input.d.ts +14 -8
  579. package/dist/components/Input/Input.js.map +1 -1
  580. package/dist/components/LegacyComponents/Button/Button.cjs.map +1 -1
  581. package/dist/components/LegacyComponents/Button/Button.d.ts +13 -13
  582. package/dist/components/LegacyComponents/Button/Button.js.map +1 -1
  583. package/dist/components/LegacyComponents/Button/util.cjs.map +1 -1
  584. package/dist/components/LegacyComponents/Button/util.d.ts +2 -2
  585. package/dist/components/LegacyComponents/Button/util.js.map +1 -1
  586. package/dist/components/LegacyComponents/IconButton/IconButton.cjs.map +1 -1
  587. package/dist/components/LegacyComponents/IconButton/IconButton.d.ts +15 -15
  588. package/dist/components/LegacyComponents/IconButton/IconButton.js.map +1 -1
  589. package/dist/components/List/List.cjs.map +1 -1
  590. package/dist/components/List/List.d.ts +3 -3
  591. package/dist/components/List/List.js.map +1 -1
  592. package/dist/components/List/components/Collapsible.cjs.map +1 -1
  593. package/dist/components/List/components/Collapsible.d.ts +2 -2
  594. package/dist/components/List/components/Collapsible.js.map +1 -1
  595. package/dist/components/List/components/Group.cjs.map +1 -1
  596. package/dist/components/List/components/Group.d.ts +2 -2
  597. package/dist/components/List/components/Group.js.map +1 -1
  598. package/dist/components/List/components/Item.cjs.map +1 -1
  599. package/dist/components/List/components/Item.d.ts +7 -7
  600. package/dist/components/List/components/Item.js.map +1 -1
  601. package/dist/components/List/components/Toggle.cjs.map +1 -1
  602. package/dist/components/List/components/Toggle.js.map +1 -1
  603. package/dist/components/Listbox/ScrollableList.cjs.map +1 -1
  604. package/dist/components/Listbox/ScrollableList.d.ts +4 -2
  605. package/dist/components/Listbox/ScrollableList.js.map +1 -1
  606. package/dist/components/Listbox/util.cjs.map +1 -1
  607. package/dist/components/Listbox/util.d.ts +9 -5
  608. package/dist/components/Listbox/util.js.map +1 -1
  609. package/dist/components/Menu/Context.cjs.map +1 -1
  610. package/dist/components/Menu/Context.d.ts +2 -2
  611. package/dist/components/Menu/Context.js.map +1 -1
  612. package/dist/components/Menu/Menu.cjs.map +1 -1
  613. package/dist/components/Menu/Menu.d.ts +1 -1
  614. package/dist/components/Menu/Menu.js.map +1 -1
  615. package/dist/components/Menu/components/Content.cjs.map +1 -1
  616. package/dist/components/Menu/components/Content.js.map +1 -1
  617. package/dist/components/Menu/components/Item.cjs.map +1 -1
  618. package/dist/components/Menu/components/Item.d.ts +2 -2
  619. package/dist/components/Menu/components/Item.js.map +1 -1
  620. package/dist/components/Menu/components/RadioGroup.cjs.map +1 -1
  621. package/dist/components/Menu/components/RadioGroup.js.map +1 -1
  622. package/dist/components/Navigation2/components/Group.cjs.map +1 -1
  623. package/dist/components/Navigation2/components/Group.d.ts +2 -2
  624. package/dist/components/Navigation2/components/Group.js.map +1 -1
  625. package/dist/components/Navigation2/components/Link.cjs.map +1 -1
  626. package/dist/components/Navigation2/components/Link.d.ts +2 -2
  627. package/dist/components/Navigation2/components/Link.js.map +1 -1
  628. package/dist/components/OverflowGroup/OverflowGroup.cjs.map +1 -1
  629. package/dist/components/OverflowGroup/OverflowGroup.js.map +1 -1
  630. package/dist/components/Pagination/PageNumbers.cjs.map +1 -1
  631. package/dist/components/Pagination/PageNumbers.d.ts +2 -1
  632. package/dist/components/Pagination/PageNumbers.js.map +1 -1
  633. package/dist/components/Popover/Popover.cjs.map +1 -1
  634. package/dist/components/Popover/Popover.d.ts +2 -2
  635. package/dist/components/Popover/Popover.js.map +1 -1
  636. package/dist/components/Progress/Progress.cjs.map +1 -1
  637. package/dist/components/Progress/Progress.d.ts +1 -1
  638. package/dist/components/Progress/Progress.js.map +1 -1
  639. package/dist/components/Provider/Provider.cjs.map +1 -1
  640. package/dist/components/Provider/Provider.d.ts +1 -1
  641. package/dist/components/Provider/Provider.js.map +1 -1
  642. package/dist/components/RadioGroup/RadioGroup.cjs.map +1 -1
  643. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  644. package/dist/components/Report/Report.cjs.map +1 -1
  645. package/dist/components/Report/Report.d.ts +1 -1
  646. package/dist/components/Report/Report.js.map +1 -1
  647. package/dist/components/SearchInput2/SearchInput2.cjs.map +1 -1
  648. package/dist/components/SearchInput2/SearchInput2.d.ts +1 -1
  649. package/dist/components/SearchInput2/SearchInput2.js.map +1 -1
  650. package/dist/components/Select/useSelect.cjs.map +1 -1
  651. package/dist/components/Select/useSelect.d.ts +2 -2
  652. package/dist/components/Select/useSelect.js.map +1 -1
  653. package/dist/components/Select2/Select2.cjs +1 -3
  654. package/dist/components/Select2/Select2.cjs.map +1 -1
  655. package/dist/components/Select2/Select2.d.ts +5 -5
  656. package/dist/components/Select2/Select2.js +1 -3
  657. package/dist/components/Select2/Select2.js.map +1 -1
  658. package/dist/components/Select2/components/Context.cjs.map +1 -1
  659. package/dist/components/Select2/components/Context.d.ts +3 -3
  660. package/dist/components/Select2/components/Context.js.map +1 -1
  661. package/dist/components/Select2/components/Option.cjs.map +1 -1
  662. package/dist/components/Select2/components/Option.d.ts +7 -7
  663. package/dist/components/Select2/components/Option.js.map +1 -1
  664. package/dist/components/Select2/components/Search.d.ts +7 -4
  665. package/dist/components/Select2/components/Trigger.cjs +6 -5
  666. package/dist/components/Select2/components/Trigger.cjs.map +1 -1
  667. package/dist/components/Select2/components/Trigger.js +6 -5
  668. package/dist/components/Select2/components/Trigger.js.map +1 -1
  669. package/dist/components/Select2/types.d.ts +1 -1
  670. package/dist/components/Table3/Table3.cjs.map +1 -1
  671. package/dist/components/Table3/Table3.d.ts +1 -1
  672. package/dist/components/Table3/Table3.js.map +1 -1
  673. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs.map +1 -1
  674. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.d.ts +1 -1
  675. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
  676. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs.map +1 -1
  677. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  678. package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.cjs.map +1 -1
  679. package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.d.ts +2 -1
  680. package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.js.map +1 -1
  681. package/dist/components/Table3/components/Editing/Alert.cjs +9 -3
  682. package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
  683. package/dist/components/Table3/components/Editing/Alert.js +9 -3
  684. package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
  685. package/dist/components/Table3/components/Row/Editing/TemporaryRow.cjs.map +1 -1
  686. package/dist/components/Table3/components/Row/Editing/TemporaryRow.d.ts +1 -1
  687. package/dist/components/Table3/components/Row/Editing/TemporaryRow.js.map +1 -1
  688. package/dist/components/Table3/features/useEditingState.cjs +14 -6
  689. package/dist/components/Table3/features/useEditingState.cjs.map +1 -1
  690. package/dist/components/Table3/features/useEditingState.d.ts +24 -6
  691. package/dist/components/Table3/features/useEditingState.js +14 -6
  692. package/dist/components/Table3/features/useEditingState.js.map +1 -1
  693. package/dist/components/Table3/features/useTableEditing.d.ts +28 -7
  694. package/dist/components/Tabs/components/TabList.cjs.map +1 -1
  695. package/dist/components/Tabs/components/TabList.js.map +1 -1
  696. package/dist/components/Tabs/components/Trigger.cjs.map +1 -1
  697. package/dist/components/Tabs/components/Trigger.d.ts +2 -2
  698. package/dist/components/Tabs/components/Trigger.js.map +1 -1
  699. package/dist/components/Toast/Toast.cjs.map +1 -1
  700. package/dist/components/Toast/Toast.d.ts +1 -1
  701. package/dist/components/Toast/Toast.js.map +1 -1
  702. package/dist/components/Toast/Toaster.cjs.map +1 -1
  703. package/dist/components/Toast/Toaster.d.ts +1 -1
  704. package/dist/components/Toast/Toaster.js.map +1 -1
  705. package/dist/components/Toast/util.cjs.map +1 -1
  706. package/dist/components/Toast/util.d.ts +2 -1
  707. package/dist/components/Toast/util.js.map +1 -1
  708. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  709. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  710. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  711. package/dist/components/Truncate/Truncate.cjs.map +1 -1
  712. package/dist/components/Truncate/Truncate.d.ts +5 -2
  713. package/dist/components/Truncate/Truncate.js.map +1 -1
  714. package/dist/hooks/useBoundingClientRectListener.cjs.map +1 -1
  715. package/dist/hooks/useBoundingClientRectListener.d.ts +1 -1
  716. package/dist/hooks/useBoundingClientRectListener.js.map +1 -1
  717. package/dist/hooks/useIntersectionObserver.cjs.map +1 -1
  718. package/dist/hooks/useIntersectionObserver.d.ts +1 -1
  719. package/dist/hooks/useIntersectionObserver.js.map +1 -1
  720. package/dist/hooks/useMergedRef.cjs.map +1 -1
  721. package/dist/hooks/useMergedRef.js.map +1 -1
  722. package/dist/hooks/useResizeObserver.cjs.map +1 -1
  723. package/dist/hooks/useResizeObserver.d.ts +1 -1
  724. package/dist/hooks/useResizeObserver.js.map +1 -1
  725. package/dist/primitives/Button.cjs.map +1 -1
  726. package/dist/primitives/Button.d.ts +2 -2
  727. package/dist/primitives/Button.js.map +1 -1
  728. package/dist/primitives/Listbox2/components/Option.d.ts +1 -1
  729. package/dist/primitives/Sortable/components/Item.cjs.map +1 -1
  730. package/dist/primitives/Sortable/components/Item.js.map +1 -1
  731. package/dist/primitives/Table/Core/Table.cjs.map +1 -1
  732. package/dist/primitives/Table/Core/Table.d.ts +2 -2
  733. package/dist/primitives/Table/Core/Table.js.map +1 -1
  734. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs.map +1 -1
  735. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
  736. package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs.map +1 -1
  737. package/dist/primitives/Table/Core/components/Columns/Cell/util.d.ts +1 -1
  738. package/dist/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
  739. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs.map +1 -1
  740. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  741. package/dist/primitives/Table/Core/components/Footer/Footer.cjs.map +1 -1
  742. package/dist/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
  743. package/dist/primitives/Table/Core/components/Header/Header.cjs.map +1 -1
  744. package/dist/primitives/Table/Core/components/Header/Header.d.ts +1 -1
  745. package/dist/primitives/Table/Core/components/Header/Header.js.map +1 -1
  746. package/dist/primitives/Table/Core/components/Header/components/Menu.cjs.map +1 -1
  747. package/dist/primitives/Table/Core/components/Header/components/Menu.d.ts +1 -1
  748. package/dist/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
  749. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs.map +1 -1
  750. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.d.ts +1 -1
  751. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
  752. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.cjs.map +1 -1
  753. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.d.ts +1 -1
  754. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -1
  755. package/dist/primitives/Table/Core/features/useTableRenderer.cjs.map +1 -1
  756. package/dist/primitives/Table/Core/features/useTableRenderer.d.ts +1 -1
  757. package/dist/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  758. package/dist/primitives/Table/Core/types.d.ts +3 -3
  759. package/dist/primitives/Table/Core/useTable.cjs.map +1 -1
  760. package/dist/primitives/Table/Core/useTable.d.ts +4 -4
  761. package/dist/primitives/Table/Core/useTable.js.map +1 -1
  762. package/dist/primitives/Table/types.cjs.map +1 -1
  763. package/dist/primitives/Table/types.d.ts +15 -15
  764. package/dist/primitives/Table/types.js.map +1 -1
  765. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.d.ts +1 -1
  766. package/dist/primitives/Table/useTableManager/types.d.ts +2 -2
  767. package/dist/primitives/Table/useTableManager/util/setup.cjs +2 -2
  768. package/dist/primitives/Table/useTableManager/util/setup.cjs.map +1 -1
  769. package/dist/primitives/Table/useTableManager/util/setup.js +2 -2
  770. package/dist/primitives/Table/useTableManager/util/setup.js.map +1 -1
  771. package/dist/types.cjs.map +1 -1
  772. package/dist/types.d.ts +1 -1
  773. package/dist/types.js.map +1 -1
  774. package/package.json +8 -15
@@ -2,9 +2,12 @@ import { default as React } from 'react';
2
2
  export declare const Search: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "prefix"> & {
3
3
  highlighted?: boolean;
4
4
  invalid?: boolean;
5
- postfix?: string | JSX.Element;
6
- prefix?: string | JSX.Element;
5
+ postfix?: string | React.JSX.Element;
6
+ prefix?: string | React.JSX.Element;
7
7
  } & {
8
- button?: React.ReactElement;
9
- icon?: import('../..').IconName | JSX.Element;
8
+ button?: React.ReactElement<{
9
+ className?: string;
10
+ disabled?: boolean;
11
+ }>;
12
+ icon?: import('../..').IconName | React.JSX.Element;
10
13
  } & React.RefAttributes<HTMLInputElement>>;
@@ -199,11 +199,12 @@ const MultipleValue = ({ onClick, valuesAsChildren, placeholder }) => {
199
199
  const getTooltipTitle = (child) => {
200
200
  const children = child.props.children;
201
201
  if (typeof children === "string") return children;
202
- if (typeof children.props.children === "string") {
203
- return children.props.children;
204
- }
205
- if (Array.isArray(children.props.children)) {
206
- return children.props.children.filter((item) => typeof item === "string");
202
+ if (React.isValidElement(children)) {
203
+ const nested = children.props.children;
204
+ if (typeof nested === "string") return nested;
205
+ if (Array.isArray(nested)) {
206
+ return nested.filter((item) => typeof item === "string");
207
+ }
207
208
  }
208
209
  return "";
209
210
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Trigger.cjs","sources":["../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { getIndexOfFirstChildOverflowingParent, isElementInsideOrTriggeredFromContainer } from '../../../utils/dom';\nimport type { BadgeProps } from '../../Badge/Badge';\nimport { Badge } from '../../Badge/Badge';\nimport { Icon } from '../../Icon/Icon';\nimport { getInputClasses } from '../../Input/util';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { Tag } from '../../Tag/Tag';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport type { Select2OptionValue } from '../types';\nimport { FONT_SIZE_CLASSNAME } from '../utilities';\n\nimport { useSelect2Context } from './Context';\nimport type { Select2OptionProps } from './Option';\n\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n emptyValue?: Select2OptionValue;\n placeholder?: string;\n children: React.ReactElement<Select2OptionProps>[];\n};\n\ntype PlaceholderProps = React.PropsWithChildren<{\n disabled: boolean;\n readOnly: boolean;\n}>;\n\nconst Placeholder = ({ disabled, readOnly, ...props }: PlaceholderProps) => {\n if (readOnly) {\n return null;\n }\n return (\n <div\n {...props}\n className={cn({ 'text-gray-500': disabled, 'text-gray-700': !disabled })}\n data-taco=\"select2-placeholder\"\n />\n );\n};\n\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\n const { multiple, value } = useSelect2Context();\n\n if (Array.isArray(value) || multiple) {\n const values = Array.isArray(value) ? value : value === undefined ? undefined : [value];\n return <Multiple {...props} ref={ref} values={values} />;\n }\n\n return <Single {...props} ref={ref} value={value} />;\n});\n\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\n const { children, onBlur, onClick, onFocus, tabIndex = 0, ...otherProps } = props;\n const { disabled, fontSize = 'medium', highlighted, invalid, open, readOnly } = useSelect2Context();\n\n const className = cn(\n 'h-fit px-1.5',\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly })\n .replace('w-full', '')\n .replace('px-2', ''),\n FONT_SIZE_CLASSNAME[fontSize],\n {\n 'select-text': readOnly,\n 'w-full': !props.className?.includes('w-'),\n },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) {\n event.preventDefault();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n let handleBlur;\n\n if (typeof onBlur === 'function') {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n\n onBlur(event);\n };\n }\n\n // select the value text if the select is readonly\n const handleFocus = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (readOnly) {\n const value = event.currentTarget.querySelector(':first-child');\n\n if (value) {\n window.getSelection()?.selectAllChildren?.(value);\n }\n }\n\n if (typeof onFocus === 'function') {\n onFocus(event);\n }\n };\n\n return (\n <button\n {...otherProps}\n aria-invalid={invalid ? true : undefined}\n aria-readonly={readOnly ? true : undefined}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n ref={ref}\n role=\"combobox\"\n tabIndex={disabled ? -1 : tabIndex}\n type=\"button\">\n {children}\n {readOnly ? null : <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"pointer-events-none -mr-1 ml-auto\" />}\n </button>\n );\n});\n\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue; placeholder?: string };\n\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\n const { children, emptyValue, value, placeholder, ...buttonProps } = props;\n const { disabled, readOnly, tags } = useSelect2Context();\n const contentClassName = cn('flex items-center gap-1 truncate');\n\n const currentValue = children.find(matchesValue(value));\n\n let output;\n\n if (placeholder && currentValue === undefined) {\n output = (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n );\n } else if (currentValue) {\n if (tags && emptyValue !== value) {\n if (typeof currentValue.props.children === 'string')\n output = (\n <Tag\n className=\"truncate\"\n color={currentValue.props.color}\n disabled={disabled}\n icon={currentValue.props.prefix}\n readOnly={readOnly}>\n {currentValue.props.children}\n </Tag>\n );\n else output = currentValue.props.children;\n } else {\n output = (\n <>\n {currentValue.props.prefix ? (\n typeof currentValue.props.prefix === 'string' ? (\n <Icon name={currentValue.props.prefix} className=\"mr-1 !h-5 !w-5\" />\n ) : (\n currentValue.props.prefix\n )\n ) : null}\n {currentValue.props.children}\n </>\n );\n }\n }\n\n return (\n <Button {...buttonProps} ref={ref}>\n <div className={contentClassName} data-taco={placeholder ? undefined : 'select2-value'}>\n {output}\n </div>\n </Button>\n );\n});\n\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\n values?: Select2OptionValue[];\n};\n\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\n const { children, emptyValue: _, values = [], placeholder, ...buttonProps } = props;\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const buttonRef = useMergedRef<HTMLButtonElement>(ref);\n\n const valuesAsChildren = values\n .map(value => children.find(c => c.props.value === value))\n .filter(c => !!c) as React.ReactElement<Select2OptionProps>[];\n\n const forwardClick = (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n buttonRef.current?.click();\n };\n\n let content;\n let { className } = buttonProps;\n\n if (open) {\n const hasValues = valuesAsChildren.length > 0;\n className = cn('!absolute z-20 !h-fit', buttonProps.className);\n content = (\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\" onClick={forwardClick}>\n <div className=\"flex flex-wrap gap-1\" data-taco=\"select2-value\">\n {hasValues ? (\n valuesAsChildren.map(child =>\n typeof child.props.children === 'string' ? (\n <Tag\n key={String(child.props.value)}\n className=\"truncate\"\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n onDelete={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n ) : (\n React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n children: BadgeProps['children'];\n className: BadgeProps['className'];\n }\n >,\n {\n key: String(child.props.value),\n className: '!pr-0 !pl-1.5',\n children: (\n <span className=\"flex items-center\" data-taco=\"select2-value\">\n {(child.props.children as React.ReactElement).props.children}\n <Icon\n name=\"close\"\n onClick={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n className=\"ml-0.5 !h-5 !w-5 shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n </span>\n ),\n }\n )\n )\n )\n ) : (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n )}\n </div>\n </ScrollArea>\n );\n } else {\n content = <MultipleValue onClick={forwardClick} valuesAsChildren={valuesAsChildren} placeholder={placeholder} />;\n }\n\n return (\n <div\n className=\"relative inline-flex h-fit flex-grow\"\n data-taco=\"select2-container\"\n style={{ width: open ? buttonRef.current?.offsetWidth : undefined }}>\n <Button {...buttonProps} className={className} ref={buttonRef}>\n {content}\n </Button>\n </div>\n );\n});\n\ntype MultipleValueProps = Omit<Select2TriggerProps, 'value' | 'children' | 'onClick'> & {\n valuesAsChildren: React.ReactElement<Select2OptionProps>[];\n placeholder?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst MultipleValue = ({ onClick, valuesAsChildren, placeholder }: MultipleValueProps) => {\n const { disabled, readOnly, tags } = useSelect2Context();\n const [contentRef, setContentRef] = React.useState<HTMLDivElement | null>(null);\n const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;\n\n // Retrieves the relevant text content from any JSX.Element passed as a select option, handling nested elements, arrays, and direct text\n const getTooltipTitle = (child: React.ReactElement): string | string[] => {\n const children = child.props.children;\n\n if (typeof children === 'string') return children;\n if (typeof children.props.children === 'string') {\n return children.props.children;\n }\n\n if (Array.isArray(children.props.children)) {\n return children.props.children.filter((item: React.ReactNode) => typeof item === 'string');\n }\n\n return '';\n };\n\n return (\n <div className=\"relative flex w-full items-center gap-1 overflow-hidden\" onClick={onClick}>\n <div className=\"flex flex-1 gap-1 truncate\" ref={ref => setContentRef(ref)} data-taco=\"select2-value\">\n {valuesAsChildren.length === 0 ? (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n ) : (\n valuesAsChildren.map((child, index) => {\n const classNames = {\n truncate: index === boundaryIndex,\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\n };\n let output;\n if (typeof child.props.children === 'string') {\n output = (\n <Tag\n key={String(child.props.value)}\n className={cn('cursor-pointer', classNames)}\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n );\n } else\n output = React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n className: BadgeProps['className'];\n }\n >,\n {\n className: cn('cursor-pointer', { 'shrink-0': index !== boundaryIndex }, classNames),\n key: String(child.props.value),\n }\n );\n\n if (index === boundaryIndex) {\n return (\n <Tooltip key={String(child.props.value)} title={String(getTooltipTitle(child))}>\n {output}\n </Tooltip>\n );\n }\n\n return output;\n })\n )}\n </div>\n\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\n <Tooltip\n title={valuesAsChildren\n .slice(boundaryIndex + 1)\n .map(child => (child ? String(getTooltipTitle(child)) : ''))\n .join(', ')}>\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\n if (Array.isArray(value)) {\n return value.includes(child.props.value);\n }\n\n return child.props.value === value;\n};\n"],"names":["useSelect2Context","getInputClasses","FONT_SIZE_CLASSNAME","isElementInsideOrTriggeredFromContainer","Icon","Tag","useMergedRef","ScrollArea","getIndexOfFirstChildOverflowingParent","Tooltip","Badge"],"mappings":"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"}
1
+ {"version":3,"file":"Trigger.cjs","sources":["../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { getIndexOfFirstChildOverflowingParent, isElementInsideOrTriggeredFromContainer } from '../../../utils/dom';\nimport type { BadgeProps } from '../../Badge/Badge';\nimport { Badge } from '../../Badge/Badge';\nimport { Icon } from '../../Icon/Icon';\nimport { getInputClasses } from '../../Input/util';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { Tag } from '../../Tag/Tag';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport type { Select2OptionValue } from '../types';\nimport { FONT_SIZE_CLASSNAME } from '../utilities';\n\nimport { useSelect2Context } from './Context';\nimport type { Select2OptionProps } from './Option';\n\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n emptyValue?: Select2OptionValue;\n placeholder?: string;\n children: React.ReactElement<Select2OptionProps>[];\n};\n\ntype PlaceholderProps = React.PropsWithChildren<{\n disabled: boolean;\n readOnly: boolean;\n}>;\n\nconst Placeholder = ({ disabled, readOnly, ...props }: PlaceholderProps) => {\n if (readOnly) {\n return null;\n }\n return (\n <div\n {...props}\n className={cn({ 'text-gray-500': disabled, 'text-gray-700': !disabled })}\n data-taco=\"select2-placeholder\"\n />\n );\n};\n\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\n const { multiple, value } = useSelect2Context();\n\n if (Array.isArray(value) || multiple) {\n const values = Array.isArray(value) ? value : value === undefined ? undefined : [value];\n return <Multiple {...props} ref={ref} values={values} />;\n }\n\n return <Single {...props} ref={ref} value={value} />;\n});\n\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\n const { children, onBlur, onClick, onFocus, tabIndex = 0, ...otherProps } = props;\n const { disabled, fontSize = 'medium', highlighted, invalid, open, readOnly } = useSelect2Context();\n\n const className = cn(\n 'h-fit px-1.5',\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly })\n .replace('w-full', '')\n .replace('px-2', ''),\n FONT_SIZE_CLASSNAME[fontSize],\n {\n 'select-text': readOnly,\n 'w-full': !props.className?.includes('w-'),\n },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) {\n event.preventDefault();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n let handleBlur;\n\n if (typeof onBlur === 'function') {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n\n onBlur(event);\n };\n }\n\n // select the value text if the select is readonly\n const handleFocus = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (readOnly) {\n const value = event.currentTarget.querySelector(':first-child');\n\n if (value) {\n window.getSelection()?.selectAllChildren?.(value);\n }\n }\n\n if (typeof onFocus === 'function') {\n onFocus(event);\n }\n };\n\n return (\n <button\n {...otherProps}\n aria-invalid={invalid ? true : undefined}\n aria-readonly={readOnly ? true : undefined}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n ref={ref}\n role=\"combobox\"\n tabIndex={disabled ? -1 : tabIndex}\n type=\"button\">\n {children}\n {readOnly ? null : <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"pointer-events-none -mr-1 ml-auto\" />}\n </button>\n );\n});\n\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue; placeholder?: string };\n\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\n const { children, emptyValue, value, placeholder, ...buttonProps } = props;\n const { disabled, readOnly, tags } = useSelect2Context();\n const contentClassName = cn('flex items-center gap-1 truncate');\n\n const currentValue = children.find(matchesValue(value));\n\n let output;\n\n if (placeholder && currentValue === undefined) {\n output = (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n );\n } else if (currentValue) {\n if (tags && emptyValue !== value) {\n if (typeof currentValue.props.children === 'string')\n output = (\n <Tag\n className=\"truncate\"\n color={currentValue.props.color}\n disabled={disabled}\n icon={currentValue.props.prefix}\n readOnly={readOnly}>\n {currentValue.props.children}\n </Tag>\n );\n else output = currentValue.props.children;\n } else {\n output = (\n <>\n {currentValue.props.prefix ? (\n typeof currentValue.props.prefix === 'string' ? (\n <Icon name={currentValue.props.prefix} className=\"mr-1 !h-5 !w-5\" />\n ) : (\n currentValue.props.prefix\n )\n ) : null}\n {currentValue.props.children}\n </>\n );\n }\n }\n\n return (\n <Button {...buttonProps} ref={ref}>\n <div className={contentClassName} data-taco={placeholder ? undefined : 'select2-value'}>\n {output}\n </div>\n </Button>\n );\n});\n\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\n values?: Select2OptionValue[];\n};\n\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\n const { children, emptyValue: _, values = [], placeholder, ...buttonProps } = props;\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const buttonRef = useMergedRef<HTMLButtonElement>(ref);\n\n const valuesAsChildren = values\n .map(value => children.find(c => c.props.value === value))\n .filter(c => !!c) as React.ReactElement<Select2OptionProps>[];\n\n const forwardClick = (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n buttonRef.current?.click();\n };\n\n let content;\n let { className } = buttonProps;\n\n if (open) {\n const hasValues = valuesAsChildren.length > 0;\n className = cn('!absolute z-20 !h-fit', buttonProps.className);\n content = (\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\" onClick={forwardClick}>\n <div className=\"flex flex-wrap gap-1\" data-taco=\"select2-value\">\n {hasValues ? (\n valuesAsChildren.map(child =>\n typeof child.props.children === 'string' ? (\n <Tag\n key={String(child.props.value)}\n className=\"truncate\"\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n onDelete={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n ) : (\n React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n children: BadgeProps['children'];\n className: BadgeProps['className'];\n }\n >,\n {\n key: String(child.props.value),\n className: '!pr-0 !pl-1.5',\n children: (\n <span className=\"flex items-center\" data-taco=\"select2-value\">\n {\n (child.props.children as React.ReactElement<{ children?: React.ReactNode }>)\n .props.children\n }\n <Icon\n name=\"close\"\n onClick={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n className=\"ml-0.5 !h-5 !w-5 shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n </span>\n ),\n }\n )\n )\n )\n ) : (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n )}\n </div>\n </ScrollArea>\n );\n } else {\n content = <MultipleValue onClick={forwardClick} valuesAsChildren={valuesAsChildren} placeholder={placeholder} />;\n }\n\n return (\n <div\n className=\"relative inline-flex h-fit flex-grow\"\n data-taco=\"select2-container\"\n style={{ width: open ? buttonRef.current?.offsetWidth : undefined }}>\n <Button {...buttonProps} className={className} ref={buttonRef}>\n {content}\n </Button>\n </div>\n );\n});\n\ntype MultipleValueProps = Omit<Select2TriggerProps, 'value' | 'children' | 'onClick'> & {\n valuesAsChildren: React.ReactElement<Select2OptionProps>[];\n placeholder?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst MultipleValue = ({ onClick, valuesAsChildren, placeholder }: MultipleValueProps) => {\n const { disabled, readOnly, tags } = useSelect2Context();\n const [contentRef, setContentRef] = React.useState<HTMLDivElement | null>(null);\n const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;\n\n // Retrieves the relevant text content from any React.JSX.Element passed as a select option, handling nested elements, arrays, and direct text\n const getTooltipTitle = (child: React.ReactElement<{ children?: React.ReactNode }>): string | string[] => {\n const children = child.props.children;\n\n if (typeof children === 'string') return children;\n\n if (React.isValidElement<{ children?: React.ReactNode }>(children)) {\n const nested = children.props.children;\n\n if (typeof nested === 'string') return nested;\n\n if (Array.isArray(nested)) {\n return nested.filter((item: React.ReactNode) => typeof item === 'string');\n }\n }\n\n return '';\n };\n\n return (\n <div className=\"relative flex w-full items-center gap-1 overflow-hidden\" onClick={onClick}>\n <div className=\"flex flex-1 gap-1 truncate\" ref={ref => setContentRef(ref)} data-taco=\"select2-value\">\n {valuesAsChildren.length === 0 ? (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n ) : (\n valuesAsChildren.map((child, index) => {\n const classNames = {\n truncate: index === boundaryIndex,\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\n };\n let output;\n if (typeof child.props.children === 'string') {\n output = (\n <Tag\n key={String(child.props.value)}\n className={cn('cursor-pointer', classNames)}\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n );\n } else\n output = React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n className: BadgeProps['className'];\n }\n >,\n {\n className: cn('cursor-pointer', { 'shrink-0': index !== boundaryIndex }, classNames),\n key: String(child.props.value),\n }\n );\n\n if (index === boundaryIndex) {\n return (\n <Tooltip key={String(child.props.value)} title={String(getTooltipTitle(child))}>\n {output}\n </Tooltip>\n );\n }\n\n return output;\n })\n )}\n </div>\n\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\n <Tooltip\n title={valuesAsChildren\n .slice(boundaryIndex + 1)\n .map(child => (child ? String(getTooltipTitle(child)) : ''))\n .join(', ')}>\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\n if (Array.isArray(value)) {\n return value.includes(child.props.value);\n }\n\n return child.props.value === value;\n};\n"],"names":["useSelect2Context","getInputClasses","FONT_SIZE_CLASSNAME","isElementInsideOrTriggeredFromContainer","Icon","Tag","useMergedRef","ScrollArea","getIndexOfFirstChildOverflowingParent","Tooltip","Badge"],"mappings":"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"}
@@ -197,11 +197,12 @@ const MultipleValue = ({ onClick, valuesAsChildren, placeholder }) => {
197
197
  const getTooltipTitle = (child) => {
198
198
  const children = child.props.children;
199
199
  if (typeof children === "string") return children;
200
- if (typeof children.props.children === "string") {
201
- return children.props.children;
202
- }
203
- if (Array.isArray(children.props.children)) {
204
- return children.props.children.filter((item) => typeof item === "string");
200
+ if (React__default.isValidElement(children)) {
201
+ const nested = children.props.children;
202
+ if (typeof nested === "string") return nested;
203
+ if (Array.isArray(nested)) {
204
+ return nested.filter((item) => typeof item === "string");
205
+ }
205
206
  }
206
207
  return "";
207
208
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Trigger.js","sources":["../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { getIndexOfFirstChildOverflowingParent, isElementInsideOrTriggeredFromContainer } from '../../../utils/dom';\nimport type { BadgeProps } from '../../Badge/Badge';\nimport { Badge } from '../../Badge/Badge';\nimport { Icon } from '../../Icon/Icon';\nimport { getInputClasses } from '../../Input/util';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { Tag } from '../../Tag/Tag';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport type { Select2OptionValue } from '../types';\nimport { FONT_SIZE_CLASSNAME } from '../utilities';\n\nimport { useSelect2Context } from './Context';\nimport type { Select2OptionProps } from './Option';\n\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n emptyValue?: Select2OptionValue;\n placeholder?: string;\n children: React.ReactElement<Select2OptionProps>[];\n};\n\ntype PlaceholderProps = React.PropsWithChildren<{\n disabled: boolean;\n readOnly: boolean;\n}>;\n\nconst Placeholder = ({ disabled, readOnly, ...props }: PlaceholderProps) => {\n if (readOnly) {\n return null;\n }\n return (\n <div\n {...props}\n className={cn({ 'text-gray-500': disabled, 'text-gray-700': !disabled })}\n data-taco=\"select2-placeholder\"\n />\n );\n};\n\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\n const { multiple, value } = useSelect2Context();\n\n if (Array.isArray(value) || multiple) {\n const values = Array.isArray(value) ? value : value === undefined ? undefined : [value];\n return <Multiple {...props} ref={ref} values={values} />;\n }\n\n return <Single {...props} ref={ref} value={value} />;\n});\n\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\n const { children, onBlur, onClick, onFocus, tabIndex = 0, ...otherProps } = props;\n const { disabled, fontSize = 'medium', highlighted, invalid, open, readOnly } = useSelect2Context();\n\n const className = cn(\n 'h-fit px-1.5',\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly })\n .replace('w-full', '')\n .replace('px-2', ''),\n FONT_SIZE_CLASSNAME[fontSize],\n {\n 'select-text': readOnly,\n 'w-full': !props.className?.includes('w-'),\n },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) {\n event.preventDefault();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n let handleBlur;\n\n if (typeof onBlur === 'function') {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n\n onBlur(event);\n };\n }\n\n // select the value text if the select is readonly\n const handleFocus = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (readOnly) {\n const value = event.currentTarget.querySelector(':first-child');\n\n if (value) {\n window.getSelection()?.selectAllChildren?.(value);\n }\n }\n\n if (typeof onFocus === 'function') {\n onFocus(event);\n }\n };\n\n return (\n <button\n {...otherProps}\n aria-invalid={invalid ? true : undefined}\n aria-readonly={readOnly ? true : undefined}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n ref={ref}\n role=\"combobox\"\n tabIndex={disabled ? -1 : tabIndex}\n type=\"button\">\n {children}\n {readOnly ? null : <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"pointer-events-none -mr-1 ml-auto\" />}\n </button>\n );\n});\n\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue; placeholder?: string };\n\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\n const { children, emptyValue, value, placeholder, ...buttonProps } = props;\n const { disabled, readOnly, tags } = useSelect2Context();\n const contentClassName = cn('flex items-center gap-1 truncate');\n\n const currentValue = children.find(matchesValue(value));\n\n let output;\n\n if (placeholder && currentValue === undefined) {\n output = (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n );\n } else if (currentValue) {\n if (tags && emptyValue !== value) {\n if (typeof currentValue.props.children === 'string')\n output = (\n <Tag\n className=\"truncate\"\n color={currentValue.props.color}\n disabled={disabled}\n icon={currentValue.props.prefix}\n readOnly={readOnly}>\n {currentValue.props.children}\n </Tag>\n );\n else output = currentValue.props.children;\n } else {\n output = (\n <>\n {currentValue.props.prefix ? (\n typeof currentValue.props.prefix === 'string' ? (\n <Icon name={currentValue.props.prefix} className=\"mr-1 !h-5 !w-5\" />\n ) : (\n currentValue.props.prefix\n )\n ) : null}\n {currentValue.props.children}\n </>\n );\n }\n }\n\n return (\n <Button {...buttonProps} ref={ref}>\n <div className={contentClassName} data-taco={placeholder ? undefined : 'select2-value'}>\n {output}\n </div>\n </Button>\n );\n});\n\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\n values?: Select2OptionValue[];\n};\n\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\n const { children, emptyValue: _, values = [], placeholder, ...buttonProps } = props;\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const buttonRef = useMergedRef<HTMLButtonElement>(ref);\n\n const valuesAsChildren = values\n .map(value => children.find(c => c.props.value === value))\n .filter(c => !!c) as React.ReactElement<Select2OptionProps>[];\n\n const forwardClick = (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n buttonRef.current?.click();\n };\n\n let content;\n let { className } = buttonProps;\n\n if (open) {\n const hasValues = valuesAsChildren.length > 0;\n className = cn('!absolute z-20 !h-fit', buttonProps.className);\n content = (\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\" onClick={forwardClick}>\n <div className=\"flex flex-wrap gap-1\" data-taco=\"select2-value\">\n {hasValues ? (\n valuesAsChildren.map(child =>\n typeof child.props.children === 'string' ? (\n <Tag\n key={String(child.props.value)}\n className=\"truncate\"\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n onDelete={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n ) : (\n React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n children: BadgeProps['children'];\n className: BadgeProps['className'];\n }\n >,\n {\n key: String(child.props.value),\n className: '!pr-0 !pl-1.5',\n children: (\n <span className=\"flex items-center\" data-taco=\"select2-value\">\n {(child.props.children as React.ReactElement).props.children}\n <Icon\n name=\"close\"\n onClick={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n className=\"ml-0.5 !h-5 !w-5 shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n </span>\n ),\n }\n )\n )\n )\n ) : (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n )}\n </div>\n </ScrollArea>\n );\n } else {\n content = <MultipleValue onClick={forwardClick} valuesAsChildren={valuesAsChildren} placeholder={placeholder} />;\n }\n\n return (\n <div\n className=\"relative inline-flex h-fit flex-grow\"\n data-taco=\"select2-container\"\n style={{ width: open ? buttonRef.current?.offsetWidth : undefined }}>\n <Button {...buttonProps} className={className} ref={buttonRef}>\n {content}\n </Button>\n </div>\n );\n});\n\ntype MultipleValueProps = Omit<Select2TriggerProps, 'value' | 'children' | 'onClick'> & {\n valuesAsChildren: React.ReactElement<Select2OptionProps>[];\n placeholder?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst MultipleValue = ({ onClick, valuesAsChildren, placeholder }: MultipleValueProps) => {\n const { disabled, readOnly, tags } = useSelect2Context();\n const [contentRef, setContentRef] = React.useState<HTMLDivElement | null>(null);\n const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;\n\n // Retrieves the relevant text content from any JSX.Element passed as a select option, handling nested elements, arrays, and direct text\n const getTooltipTitle = (child: React.ReactElement): string | string[] => {\n const children = child.props.children;\n\n if (typeof children === 'string') return children;\n if (typeof children.props.children === 'string') {\n return children.props.children;\n }\n\n if (Array.isArray(children.props.children)) {\n return children.props.children.filter((item: React.ReactNode) => typeof item === 'string');\n }\n\n return '';\n };\n\n return (\n <div className=\"relative flex w-full items-center gap-1 overflow-hidden\" onClick={onClick}>\n <div className=\"flex flex-1 gap-1 truncate\" ref={ref => setContentRef(ref)} data-taco=\"select2-value\">\n {valuesAsChildren.length === 0 ? (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n ) : (\n valuesAsChildren.map((child, index) => {\n const classNames = {\n truncate: index === boundaryIndex,\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\n };\n let output;\n if (typeof child.props.children === 'string') {\n output = (\n <Tag\n key={String(child.props.value)}\n className={cn('cursor-pointer', classNames)}\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n );\n } else\n output = React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n className: BadgeProps['className'];\n }\n >,\n {\n className: cn('cursor-pointer', { 'shrink-0': index !== boundaryIndex }, classNames),\n key: String(child.props.value),\n }\n );\n\n if (index === boundaryIndex) {\n return (\n <Tooltip key={String(child.props.value)} title={String(getTooltipTitle(child))}>\n {output}\n </Tooltip>\n );\n }\n\n return output;\n })\n )}\n </div>\n\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\n <Tooltip\n title={valuesAsChildren\n .slice(boundaryIndex + 1)\n .map(child => (child ? String(getTooltipTitle(child)) : ''))\n .join(', ')}>\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\n if (Array.isArray(value)) {\n return value.includes(child.props.value);\n }\n\n return child.props.value === value;\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"Trigger.js","sources":["../../../../src/components/Select2/components/Trigger.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { getIndexOfFirstChildOverflowingParent, isElementInsideOrTriggeredFromContainer } from '../../../utils/dom';\nimport type { BadgeProps } from '../../Badge/Badge';\nimport { Badge } from '../../Badge/Badge';\nimport { Icon } from '../../Icon/Icon';\nimport { getInputClasses } from '../../Input/util';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { Tag } from '../../Tag/Tag';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport type { Select2OptionValue } from '../types';\nimport { FONT_SIZE_CLASSNAME } from '../utilities';\n\nimport { useSelect2Context } from './Context';\nimport type { Select2OptionProps } from './Option';\n\ntype Select2TriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n emptyValue?: Select2OptionValue;\n placeholder?: string;\n children: React.ReactElement<Select2OptionProps>[];\n};\n\ntype PlaceholderProps = React.PropsWithChildren<{\n disabled: boolean;\n readOnly: boolean;\n}>;\n\nconst Placeholder = ({ disabled, readOnly, ...props }: PlaceholderProps) => {\n if (readOnly) {\n return null;\n }\n return (\n <div\n {...props}\n className={cn({ 'text-gray-500': disabled, 'text-gray-700': !disabled })}\n data-taco=\"select2-placeholder\"\n />\n );\n};\n\nexport const Trigger = React.forwardRef<HTMLButtonElement, Select2TriggerProps>(function Select2Trigger(props, ref) {\n const { multiple, value } = useSelect2Context();\n\n if (Array.isArray(value) || multiple) {\n const values = Array.isArray(value) ? value : value === undefined ? undefined : [value];\n return <Multiple {...props} ref={ref} values={values} />;\n }\n\n return <Single {...props} ref={ref} value={value} />;\n});\n\ntype ButtonProps = React.HTMLAttributes<HTMLButtonElement> &\n Omit<Select2TriggerProps, 'children' | 'open' | 'setValue' | 'value'>;\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Select2TriggerButton(props, ref) {\n const { children, onBlur, onClick, onFocus, tabIndex = 0, ...otherProps } = props;\n const { disabled, fontSize = 'medium', highlighted, invalid, open, readOnly } = useSelect2Context();\n\n const className = cn(\n 'h-fit px-1.5',\n getInputClasses({ ...props, disabled, highlighted, invalid, readOnly })\n .replace('w-full', '')\n .replace('px-2', ''),\n FONT_SIZE_CLASSNAME[fontSize],\n {\n 'select-text': readOnly,\n 'w-full': !props.className?.includes('w-'),\n },\n props.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) {\n event.preventDefault();\n return;\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n\n let handleBlur;\n\n if (typeof onBlur === 'function') {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n\n onBlur(event);\n };\n }\n\n // select the value text if the select is readonly\n const handleFocus = (event: React.FocusEvent<HTMLButtonElement>) => {\n if (readOnly) {\n const value = event.currentTarget.querySelector(':first-child');\n\n if (value) {\n window.getSelection()?.selectAllChildren?.(value);\n }\n }\n\n if (typeof onFocus === 'function') {\n onFocus(event);\n }\n };\n\n return (\n <button\n {...otherProps}\n aria-invalid={invalid ? true : undefined}\n aria-readonly={readOnly ? true : undefined}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n ref={ref}\n role=\"combobox\"\n tabIndex={disabled ? -1 : tabIndex}\n type=\"button\">\n {children}\n {readOnly ? null : <Icon name={open ? 'chevron-up' : 'chevron-down'} className=\"pointer-events-none -mr-1 ml-auto\" />}\n </button>\n );\n});\n\ntype SingleProps = Omit<Select2TriggerProps, 'value'> & { value?: Select2OptionValue; placeholder?: string };\n\nconst Single = React.forwardRef<HTMLButtonElement, SingleProps>(function Select2TriggerSingle(props, ref) {\n const { children, emptyValue, value, placeholder, ...buttonProps } = props;\n const { disabled, readOnly, tags } = useSelect2Context();\n const contentClassName = cn('flex items-center gap-1 truncate');\n\n const currentValue = children.find(matchesValue(value));\n\n let output;\n\n if (placeholder && currentValue === undefined) {\n output = (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n );\n } else if (currentValue) {\n if (tags && emptyValue !== value) {\n if (typeof currentValue.props.children === 'string')\n output = (\n <Tag\n className=\"truncate\"\n color={currentValue.props.color}\n disabled={disabled}\n icon={currentValue.props.prefix}\n readOnly={readOnly}>\n {currentValue.props.children}\n </Tag>\n );\n else output = currentValue.props.children;\n } else {\n output = (\n <>\n {currentValue.props.prefix ? (\n typeof currentValue.props.prefix === 'string' ? (\n <Icon name={currentValue.props.prefix} className=\"mr-1 !h-5 !w-5\" />\n ) : (\n currentValue.props.prefix\n )\n ) : null}\n {currentValue.props.children}\n </>\n );\n }\n }\n\n return (\n <Button {...buttonProps} ref={ref}>\n <div className={contentClassName} data-taco={placeholder ? undefined : 'select2-value'}>\n {output}\n </div>\n </Button>\n );\n});\n\ntype MultipleProps = Omit<Select2TriggerProps, 'value'> & {\n values?: Select2OptionValue[];\n};\n\nconst Multiple = React.forwardRef<HTMLButtonElement, MultipleProps>(function Select2TriggerMultiple(props, ref) {\n const { children, emptyValue: _, values = [], placeholder, ...buttonProps } = props;\n const { disabled, open, readOnly, setValue, tags } = useSelect2Context();\n const buttonRef = useMergedRef<HTMLButtonElement>(ref);\n\n const valuesAsChildren = values\n .map(value => children.find(c => c.props.value === value))\n .filter(c => !!c) as React.ReactElement<Select2OptionProps>[];\n\n const forwardClick = (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n buttonRef.current?.click();\n };\n\n let content;\n let { className } = buttonProps;\n\n if (open) {\n const hasValues = valuesAsChildren.length > 0;\n className = cn('!absolute z-20 !h-fit', buttonProps.className);\n content = (\n <ScrollArea className=\"my-1 flex max-h-[5.5rem] flex-col\" onClick={forwardClick}>\n <div className=\"flex flex-wrap gap-1\" data-taco=\"select2-value\">\n {hasValues ? (\n valuesAsChildren.map(child =>\n typeof child.props.children === 'string' ? (\n <Tag\n key={String(child.props.value)}\n className=\"truncate\"\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n onDelete={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n ) : (\n React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n children: BadgeProps['children'];\n className: BadgeProps['className'];\n }\n >,\n {\n key: String(child.props.value),\n className: '!pr-0 !pl-1.5',\n children: (\n <span className=\"flex items-center\" data-taco=\"select2-value\">\n {\n (child.props.children as React.ReactElement<{ children?: React.ReactNode }>)\n .props.children\n }\n <Icon\n name=\"close\"\n onClick={event => {\n event?.stopPropagation();\n event?.preventDefault();\n\n if (!disabled && !readOnly) {\n setValue(child.props.value);\n }\n }}\n className=\"ml-0.5 !h-5 !w-5 shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n </span>\n ),\n }\n )\n )\n )\n ) : (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n )}\n </div>\n </ScrollArea>\n );\n } else {\n content = <MultipleValue onClick={forwardClick} valuesAsChildren={valuesAsChildren} placeholder={placeholder} />;\n }\n\n return (\n <div\n className=\"relative inline-flex h-fit flex-grow\"\n data-taco=\"select2-container\"\n style={{ width: open ? buttonRef.current?.offsetWidth : undefined }}>\n <Button {...buttonProps} className={className} ref={buttonRef}>\n {content}\n </Button>\n </div>\n );\n});\n\ntype MultipleValueProps = Omit<Select2TriggerProps, 'value' | 'children' | 'onClick'> & {\n valuesAsChildren: React.ReactElement<Select2OptionProps>[];\n placeholder?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst MultipleValue = ({ onClick, valuesAsChildren, placeholder }: MultipleValueProps) => {\n const { disabled, readOnly, tags } = useSelect2Context();\n const [contentRef, setContentRef] = React.useState<HTMLDivElement | null>(null);\n const boundaryIndex = contentRef ? getIndexOfFirstChildOverflowingParent(contentRef, 30) : undefined;\n\n // Retrieves the relevant text content from any React.JSX.Element passed as a select option, handling nested elements, arrays, and direct text\n const getTooltipTitle = (child: React.ReactElement<{ children?: React.ReactNode }>): string | string[] => {\n const children = child.props.children;\n\n if (typeof children === 'string') return children;\n\n if (React.isValidElement<{ children?: React.ReactNode }>(children)) {\n const nested = children.props.children;\n\n if (typeof nested === 'string') return nested;\n\n if (Array.isArray(nested)) {\n return nested.filter((item: React.ReactNode) => typeof item === 'string');\n }\n }\n\n return '';\n };\n\n return (\n <div className=\"relative flex w-full items-center gap-1 overflow-hidden\" onClick={onClick}>\n <div className=\"flex flex-1 gap-1 truncate\" ref={ref => setContentRef(ref)} data-taco=\"select2-value\">\n {valuesAsChildren.length === 0 ? (\n <Placeholder disabled={disabled} readOnly={readOnly}>\n {placeholder}\n </Placeholder>\n ) : (\n valuesAsChildren.map((child, index) => {\n const classNames = {\n truncate: index === boundaryIndex,\n hidden: boundaryIndex !== undefined && boundaryIndex !== null ? index > boundaryIndex : false,\n };\n let output;\n if (typeof child.props.children === 'string') {\n output = (\n <Tag\n key={String(child.props.value)}\n className={cn('cursor-pointer', classNames)}\n color={tags ? child.props.color : undefined}\n disabled={disabled}\n icon={child.props.prefix}\n readOnly={readOnly}>\n {child.props.children}\n </Tag>\n );\n } else\n output = React.cloneElement(\n child.props.children as React.ReactElement<\n typeof Badge & {\n className: BadgeProps['className'];\n }\n >,\n {\n className: cn('cursor-pointer', { 'shrink-0': index !== boundaryIndex }, classNames),\n key: String(child.props.value),\n }\n );\n\n if (index === boundaryIndex) {\n return (\n <Tooltip key={String(child.props.value)} title={String(getTooltipTitle(child))}>\n {output}\n </Tooltip>\n );\n }\n\n return output;\n })\n )}\n </div>\n\n {boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? (\n <Tooltip\n title={valuesAsChildren\n .slice(boundaryIndex + 1)\n .map(child => (child ? String(getTooltipTitle(child)) : ''))\n .join(', ')}>\n <Badge className=\"flex-shrink-0\">+{valuesAsChildren.length - (boundaryIndex + 1)}</Badge>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nconst matchesValue = (value: undefined | any | any[]) => (child: React.ReactElement<any>) => {\n if (Array.isArray(value)) {\n return value.includes(child.props.value);\n }\n\n return child.props.value === value;\n};\n"],"names":["React"],"mappings":"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"}
@@ -7,6 +7,6 @@ export type Select2Value = Select2OptionValue | Select2OptionValue[];
7
7
  export type Select2Child = React.ReactElement<Select2OptionProps> | React.ReactElement<Select2GroupProps>;
8
8
  export type Select2Children = Select2Child | boolean | null | undefined | Select2Children[];
9
9
  export type Select2CreateHandler = (item: any, color: Color | undefined) => Promise<Select2OptionProps> | Select2OptionProps;
10
- export type Select2CreateDialogRenderer = (props: Partial<DialogProps>, value: string, onCreate: (optionToCreate: unknown) => Promise<void>) => JSX.Element;
10
+ export type Select2CreateDialogRenderer = (props: Partial<DialogProps>, value: string, onCreate: (optionToCreate: unknown) => Promise<void>) => React.JSX.Element;
11
11
  export type Select2DeleteHandler = (value: Select2OptionValue) => Promise<void> | void;
12
12
  export type Select2EditHandler = (value: Select2OptionValue, text: string, color: Color | undefined) => Promise<void> | void;
@@ -1 +1 @@
1
- {"version":3,"file":"Table3.cjs","sources":["../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { fixedForwardRef } from '../../types';\n\nimport { Alert } from './components/Editing/Alert';\nimport { CreateNewRow } from './components/Row/Editing/CreateNewRow';\nimport { TemporaryRows } from './components/Row/Editing/TemporaryRow';\nimport { Editing } from './components/Toolbar/Editing/Editing';\nimport type { Table3Props, Table3Ref, Table3ColumnProps, Table3GroupProps } from './types';\nimport { useTable3 } from './useTable3';\nimport { isTableScrolled } from './util/editing';\n\nimport './style.css';\n\nconst Column: React.FC<Table3ColumnProps<unknown>> & {\n <TType = unknown>(_: Table3ColumnProps<TType>): null;\n} = () => null;\n\nColumn.displayName = 'Table3Column';\n\nfunction Group(_: Table3GroupProps) {\n return null;\n}\nGroup.displayName = 'Table3Group';\n\nconst BaseTable3 = fixedForwardRef(function BaseTable3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const table3 = useTable3<TType>(props, ref);\n\n const gridAttributes = {\n 'data-table-editing-mode': table3.meta.editing?.isEditing\n ? table3.meta.editing?.isDetailedMode\n ? 'detailed'\n : 'normal'\n : undefined,\n 'data-has-changes': table3.meta.editing.isDirty ? 'true' : undefined,\n enableHorizontalArrowKeyNavigation: table3.meta.editing.isEditing,\n };\n\n const rowsById = table3.instance.getCoreRowModel().rowsById;\n const hasAlertErrors = table3.meta.editing.getErrorsShownInAlert().some(row => {\n if (table3.meta.server._experimentalDataLoader2) {\n // consumers of dataloader2 need to run a cleanup function, as this would otherwise return false when pages are unloaded.\n return true;\n }\n\n if (rowsById[row.rowId]) {\n return true;\n }\n\n // Keep the alert when the row is hidden by filtering (or pagination) but still has unsaved edits.\n return table3.meta.editing.hasChanges(row.rowId);\n });\n\n const hasCreateWorkflow = table3.meta.editing.isEnabled && props.onEditingCreate;\n const [hasScrollbar, isScrolled] = isTableScrolled(table3.ref);\n\n let createWorkflow;\n\n if (hasCreateWorkflow) {\n createWorkflow = (\n <CreateNewRow\n buttonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n );\n }\n\n return (\n <Table>\n <Table.Toolbar<TType> table={table3}>\n {table3.meta.editing.isEnabled ? (\n <Editing scrollToIndex={table3.renderer.scrollToIndex} table={table3.instance} />\n ) : null}\n </Table.Toolbar>\n {hasAlertErrors ? (\n <Alert\n className=\"mb-4\"\n scrollToIndex={table3.renderer.scrollToIndex}\n table={table3.instance}\n tableRef={table3.ref}\n />\n ) : null}\n <Table.Grid<TType>\n {...gridAttributes}\n data-taco=\"table3\"\n footerRows={hasCreateWorkflow && isScrolled ? createWorkflow : undefined}\n table={table3}>\n {hasCreateWorkflow ? (\n <>\n <TemporaryRows\n createRowButtonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n {isScrolled ? null : createWorkflow}\n </>\n ) : null}\n </Table.Grid>\n </Table>\n );\n});\n\nexport const Table3 = fixedForwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const stringifiedChildren = String(props.children);\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);\n return <BaseTable3<TType> {...props} key={key} ref={ref} />;\n}) as (<TType = unknown>(props: Table3Props<TType> & React.RefAttributes<Table3Ref>) => JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nTable3.Column = Column;\nTable3.Group = Group;\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3ColumnProps,\n Table3GroupProps,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n Table3Texts,\n Table3FeatureProps,\n Table3CommonProps,\n Table3WithoutEditingWithClientProps,\n Table3WithoutEditingWithServerProps,\n Table3WithEditingProps,\n Table3WithEditingWithClientProps,\n Table3WithEditingWithServerProps,\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n} from './types';\n"],"names":["fixedForwardRef","BaseTable3","useTable3","isTableScrolled","CreateNewRow","Table","Editing","Alert","TemporaryRows","Table3"],"mappings":";;;;;;;;;;;;AAeA,MAAM,SAEF,MAAM;AAEV,OAAO,cAAc;AAErB,SAAS,MAAM,GAAqB;AAChC,SAAO;AACX;AACA,MAAM,cAAc;AAEpB,MAAM,aAAaA,MAAAA,gBAAgB,SAASC,YAA4B,OAA2B,KAA2B;AAC1H,QAAM,SAASC,UAAAA,UAAiB,OAAO,GAAG;AAE1C,QAAM,iBAAiB;AAAA,IACnB,2BAA2B,OAAO,KAAK,SAAS,YAC1C,OAAO,KAAK,SAAS,iBACjB,aACA,WACJ;AAAA,IACN,oBAAoB,OAAO,KAAK,QAAQ,UAAU,SAAS;AAAA,IAC3D,oCAAoC,OAAO,KAAK,QAAQ;AAAA,EAAA;AAG5D,QAAM,WAAW,OAAO,SAAS,gBAAA,EAAkB;AACnD,QAAM,iBAAiB,OAAO,KAAK,QAAQ,wBAAwB,KAAK,CAAA,QAAO;AAC3E,QAAI,OAAO,KAAK,OAAO,0BAA0B;AAE7C,aAAO;AAAA,IACX;AAEA,QAAI,SAAS,IAAI,KAAK,GAAG;AACrB,aAAO;AAAA,IACX;AAGA,WAAO,OAAO,KAAK,QAAQ,WAAW,IAAI,KAAK;AAAA,EACnD,CAAC;AAED,QAAM,oBAAoB,OAAO,KAAK,QAAQ,aAAa,MAAM;AACjE,QAAM,CAAC,cAAc,UAAU,IAAIC,QAAAA,gBAAgB,OAAO,GAAG;AAE7D,MAAI;AAEJ,MAAI,mBAAmB;AACnB,qBACI,sBAAA;AAAA,MAACC,aAAAA;AAAAA,MAAA;AAAA,QACG,WAAW,OAAO,KAAK,QAAQ;AAAA,QAC/B;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAG7B;AAEA,SACI,sBAAA,cAACC,MAAAA,OAAA,MACG,sBAAA,cAACA,MAAAA,MAAM,SAAN,EAAqB,OAAO,OAAA,GACxB,OAAO,KAAK,QAAQ,gDAChBC,QAAAA,SAAA,EAAQ,eAAe,OAAO,SAAS,eAAe,OAAO,OAAO,SAAA,CAAU,IAC/E,IACR,GACC,iBACG,sBAAA;AAAA,IAACC,MAAAA;AAAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,eAAe,OAAO,SAAS;AAAA,MAC/B,OAAO,OAAO;AAAA,MACd,UAAU,OAAO;AAAA,IAAA;AAAA,EAAA,IAErB,MACJ,sBAAA;AAAA,IAACF,MAAAA,MAAM;AAAA,IAAN;AAAA,MACI,GAAG;AAAA,MACJ,aAAU;AAAA,MACV,YAAY,qBAAqB,aAAa,iBAAiB;AAAA,MAC/D,OAAO;AAAA,IAAA;AAAA,IACN,oBACG,sBAAA,cAAA,MAAA,UAAA,MACI,sBAAA;AAAA,MAACG,aAAAA;AAAAA,MAAA;AAAA,QACG,oBAAoB,OAAO,KAAK,QAAQ;AAAA,QACxC;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA,GAEpB,aAAa,OAAO,cACzB,IACA;AAAA,EAAA,CAEZ;AAER,CAAC;AAEM,MAAM,SAASR,MAAAA,gBAAgB,SAASS,QAAwB,OAA2B,KAA2B;AACzH,QAAM,sBAAsB,OAAO,MAAM,QAAQ;AAGjD,QAAM,MAAM,MAAM,QAAQ,MAAM,OAAO,cAAc,mBAAmB,GAAG,CAAC,mBAAmB,CAAC;AAChG,SAAO,sBAAA,cAAC,YAAA,EAAmB,GAAG,OAAO,KAAU,KAAU;AAC7D,CAAC;AAID,OAAO,SAAS;AAChB,OAAO,QAAQ;;"}
1
+ {"version":3,"file":"Table3.cjs","sources":["../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { fixedForwardRef } from '../../types';\n\nimport { Alert } from './components/Editing/Alert';\nimport { CreateNewRow } from './components/Row/Editing/CreateNewRow';\nimport { TemporaryRows } from './components/Row/Editing/TemporaryRow';\nimport { Editing } from './components/Toolbar/Editing/Editing';\nimport type { Table3Props, Table3Ref, Table3ColumnProps, Table3GroupProps } from './types';\nimport { useTable3 } from './useTable3';\nimport { isTableScrolled } from './util/editing';\n\nimport './style.css';\n\nconst Column: React.FC<Table3ColumnProps<unknown>> & {\n <TType = unknown>(_: Table3ColumnProps<TType>): null;\n} = () => null;\n\nColumn.displayName = 'Table3Column';\n\nfunction Group(_: Table3GroupProps) {\n return null;\n}\nGroup.displayName = 'Table3Group';\n\nconst BaseTable3 = fixedForwardRef(function BaseTable3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const table3 = useTable3<TType>(props, ref);\n\n const gridAttributes = {\n 'data-table-editing-mode': table3.meta.editing?.isEditing\n ? table3.meta.editing?.isDetailedMode\n ? 'detailed'\n : 'normal'\n : undefined,\n 'data-has-changes': table3.meta.editing.isDirty ? 'true' : undefined,\n enableHorizontalArrowKeyNavigation: table3.meta.editing.isEditing,\n };\n\n const rowsById = table3.instance.getCoreRowModel().rowsById;\n const hasAlertErrors = table3.meta.editing.getErrorsShownInAlert().some(row => {\n if (table3.meta.server._experimentalDataLoader2) {\n // consumers of dataloader2 need to run a cleanup function, as this would otherwise return false when pages are unloaded.\n return true;\n }\n\n if (rowsById[row.rowId]) {\n return true;\n }\n\n // Keep the alert when the row is hidden by filtering (or pagination) but still has unsaved edits.\n return table3.meta.editing.hasChanges(row.rowId);\n });\n\n const hasCreateWorkflow = table3.meta.editing.isEnabled && props.onEditingCreate;\n const [hasScrollbar, isScrolled] = isTableScrolled(table3.ref);\n\n let createWorkflow;\n\n if (hasCreateWorkflow) {\n createWorkflow = (\n <CreateNewRow\n buttonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n );\n }\n\n return (\n <Table>\n <Table.Toolbar<TType> table={table3}>\n {table3.meta.editing.isEnabled ? (\n <Editing scrollToIndex={table3.renderer.scrollToIndex} table={table3.instance} />\n ) : null}\n </Table.Toolbar>\n {hasAlertErrors ? (\n <Alert\n className=\"mb-4\"\n scrollToIndex={table3.renderer.scrollToIndex}\n table={table3.instance}\n tableRef={table3.ref}\n />\n ) : null}\n <Table.Grid<TType>\n {...gridAttributes}\n data-taco=\"table3\"\n footerRows={hasCreateWorkflow && isScrolled ? createWorkflow : undefined}\n table={table3}>\n {hasCreateWorkflow ? (\n <>\n <TemporaryRows\n createRowButtonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n {isScrolled ? null : createWorkflow}\n </>\n ) : null}\n </Table.Grid>\n </Table>\n );\n});\n\nexport const Table3 = fixedForwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const stringifiedChildren = String(props.children);\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);\n return <BaseTable3<TType> {...props} key={key} ref={ref} />;\n}) as (<TType = unknown>(props: Table3Props<TType> & React.RefAttributes<Table3Ref>) => React.JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nTable3.Column = Column;\nTable3.Group = Group;\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3ColumnProps,\n Table3GroupProps,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n Table3Texts,\n Table3FeatureProps,\n Table3CommonProps,\n Table3WithoutEditingWithClientProps,\n Table3WithoutEditingWithServerProps,\n Table3WithEditingProps,\n Table3WithEditingWithClientProps,\n Table3WithEditingWithServerProps,\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n} from './types';\n"],"names":["fixedForwardRef","BaseTable3","useTable3","isTableScrolled","CreateNewRow","Table","Editing","Alert","TemporaryRows","Table3"],"mappings":";;;;;;;;;;;;AAeA,MAAM,SAEF,MAAM;AAEV,OAAO,cAAc;AAErB,SAAS,MAAM,GAAqB;AAChC,SAAO;AACX;AACA,MAAM,cAAc;AAEpB,MAAM,aAAaA,MAAAA,gBAAgB,SAASC,YAA4B,OAA2B,KAA2B;AAC1H,QAAM,SAASC,UAAAA,UAAiB,OAAO,GAAG;AAE1C,QAAM,iBAAiB;AAAA,IACnB,2BAA2B,OAAO,KAAK,SAAS,YAC1C,OAAO,KAAK,SAAS,iBACjB,aACA,WACJ;AAAA,IACN,oBAAoB,OAAO,KAAK,QAAQ,UAAU,SAAS;AAAA,IAC3D,oCAAoC,OAAO,KAAK,QAAQ;AAAA,EAAA;AAG5D,QAAM,WAAW,OAAO,SAAS,gBAAA,EAAkB;AACnD,QAAM,iBAAiB,OAAO,KAAK,QAAQ,wBAAwB,KAAK,CAAA,QAAO;AAC3E,QAAI,OAAO,KAAK,OAAO,0BAA0B;AAE7C,aAAO;AAAA,IACX;AAEA,QAAI,SAAS,IAAI,KAAK,GAAG;AACrB,aAAO;AAAA,IACX;AAGA,WAAO,OAAO,KAAK,QAAQ,WAAW,IAAI,KAAK;AAAA,EACnD,CAAC;AAED,QAAM,oBAAoB,OAAO,KAAK,QAAQ,aAAa,MAAM;AACjE,QAAM,CAAC,cAAc,UAAU,IAAIC,QAAAA,gBAAgB,OAAO,GAAG;AAE7D,MAAI;AAEJ,MAAI,mBAAmB;AACnB,qBACI,sBAAA;AAAA,MAACC,aAAAA;AAAAA,MAAA;AAAA,QACG,WAAW,OAAO,KAAK,QAAQ;AAAA,QAC/B;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAG7B;AAEA,SACI,sBAAA,cAACC,MAAAA,OAAA,MACG,sBAAA,cAACA,MAAAA,MAAM,SAAN,EAAqB,OAAO,OAAA,GACxB,OAAO,KAAK,QAAQ,gDAChBC,QAAAA,SAAA,EAAQ,eAAe,OAAO,SAAS,eAAe,OAAO,OAAO,SAAA,CAAU,IAC/E,IACR,GACC,iBACG,sBAAA;AAAA,IAACC,MAAAA;AAAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,eAAe,OAAO,SAAS;AAAA,MAC/B,OAAO,OAAO;AAAA,MACd,UAAU,OAAO;AAAA,IAAA;AAAA,EAAA,IAErB,MACJ,sBAAA;AAAA,IAACF,MAAAA,MAAM;AAAA,IAAN;AAAA,MACI,GAAG;AAAA,MACJ,aAAU;AAAA,MACV,YAAY,qBAAqB,aAAa,iBAAiB;AAAA,MAC/D,OAAO;AAAA,IAAA;AAAA,IACN,oBACG,sBAAA,cAAA,MAAA,UAAA,MACI,sBAAA;AAAA,MAACG,aAAAA;AAAAA,MAAA;AAAA,QACG,oBAAoB,OAAO,KAAK,QAAQ;AAAA,QACxC;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA,GAEpB,aAAa,OAAO,cACzB,IACA;AAAA,EAAA,CAEZ;AAER,CAAC;AAEM,MAAM,SAASR,MAAAA,gBAAgB,SAASS,QAAwB,OAA2B,KAA2B;AACzH,QAAM,sBAAsB,OAAO,MAAM,QAAQ;AAGjD,QAAM,MAAM,MAAM,QAAQ,MAAM,OAAO,cAAc,mBAAmB,GAAG,CAAC,mBAAmB,CAAC;AAChG,SAAO,sBAAA,cAAC,YAAA,EAAmB,GAAG,OAAO,KAAU,KAAU;AAC7D,CAAC;AAID,OAAO,SAAS;AAChB,OAAO,QAAQ;;"}
@@ -7,7 +7,7 @@ declare function Group(_: Table3GroupProps): null;
7
7
  declare namespace Group {
8
8
  var displayName: string;
9
9
  }
10
- export declare const Table3: (<TType = unknown>(props: Table3Props<TType> & React.RefAttributes<Table3Ref>) => JSX.Element) & {
10
+ export declare const Table3: (<TType = unknown>(props: Table3Props<TType> & React.RefAttributes<Table3Ref>) => React.JSX.Element) & {
11
11
  Column: typeof Column;
12
12
  Group: typeof Group;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Table3.js","sources":["../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { fixedForwardRef } from '../../types';\n\nimport { Alert } from './components/Editing/Alert';\nimport { CreateNewRow } from './components/Row/Editing/CreateNewRow';\nimport { TemporaryRows } from './components/Row/Editing/TemporaryRow';\nimport { Editing } from './components/Toolbar/Editing/Editing';\nimport type { Table3Props, Table3Ref, Table3ColumnProps, Table3GroupProps } from './types';\nimport { useTable3 } from './useTable3';\nimport { isTableScrolled } from './util/editing';\n\nimport './style.css';\n\nconst Column: React.FC<Table3ColumnProps<unknown>> & {\n <TType = unknown>(_: Table3ColumnProps<TType>): null;\n} = () => null;\n\nColumn.displayName = 'Table3Column';\n\nfunction Group(_: Table3GroupProps) {\n return null;\n}\nGroup.displayName = 'Table3Group';\n\nconst BaseTable3 = fixedForwardRef(function BaseTable3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const table3 = useTable3<TType>(props, ref);\n\n const gridAttributes = {\n 'data-table-editing-mode': table3.meta.editing?.isEditing\n ? table3.meta.editing?.isDetailedMode\n ? 'detailed'\n : 'normal'\n : undefined,\n 'data-has-changes': table3.meta.editing.isDirty ? 'true' : undefined,\n enableHorizontalArrowKeyNavigation: table3.meta.editing.isEditing,\n };\n\n const rowsById = table3.instance.getCoreRowModel().rowsById;\n const hasAlertErrors = table3.meta.editing.getErrorsShownInAlert().some(row => {\n if (table3.meta.server._experimentalDataLoader2) {\n // consumers of dataloader2 need to run a cleanup function, as this would otherwise return false when pages are unloaded.\n return true;\n }\n\n if (rowsById[row.rowId]) {\n return true;\n }\n\n // Keep the alert when the row is hidden by filtering (or pagination) but still has unsaved edits.\n return table3.meta.editing.hasChanges(row.rowId);\n });\n\n const hasCreateWorkflow = table3.meta.editing.isEnabled && props.onEditingCreate;\n const [hasScrollbar, isScrolled] = isTableScrolled(table3.ref);\n\n let createWorkflow;\n\n if (hasCreateWorkflow) {\n createWorkflow = (\n <CreateNewRow\n buttonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n );\n }\n\n return (\n <Table>\n <Table.Toolbar<TType> table={table3}>\n {table3.meta.editing.isEnabled ? (\n <Editing scrollToIndex={table3.renderer.scrollToIndex} table={table3.instance} />\n ) : null}\n </Table.Toolbar>\n {hasAlertErrors ? (\n <Alert\n className=\"mb-4\"\n scrollToIndex={table3.renderer.scrollToIndex}\n table={table3.instance}\n tableRef={table3.ref}\n />\n ) : null}\n <Table.Grid<TType>\n {...gridAttributes}\n data-taco=\"table3\"\n footerRows={hasCreateWorkflow && isScrolled ? createWorkflow : undefined}\n table={table3}>\n {hasCreateWorkflow ? (\n <>\n <TemporaryRows\n createRowButtonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n {isScrolled ? null : createWorkflow}\n </>\n ) : null}\n </Table.Grid>\n </Table>\n );\n});\n\nexport const Table3 = fixedForwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const stringifiedChildren = String(props.children);\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);\n return <BaseTable3<TType> {...props} key={key} ref={ref} />;\n}) as (<TType = unknown>(props: Table3Props<TType> & React.RefAttributes<Table3Ref>) => JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nTable3.Column = Column;\nTable3.Group = Group;\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3ColumnProps,\n Table3GroupProps,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n Table3Texts,\n Table3FeatureProps,\n Table3CommonProps,\n Table3WithoutEditingWithClientProps,\n Table3WithoutEditingWithServerProps,\n Table3WithEditingProps,\n Table3WithEditingWithClientProps,\n Table3WithEditingWithServerProps,\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n} from './types';\n"],"names":["BaseTable3","React","Table3"],"mappings":";;;;;;;;;;AAeA,MAAM,SAEF,MAAM;AAEV,OAAO,cAAc;AAErB,SAAS,MAAM,GAAqB;AAChC,SAAO;AACX;AACA,MAAM,cAAc;AAEpB,MAAM,aAAa,gBAAgB,SAASA,YAA4B,OAA2B,KAA2B;AAC1H,QAAM,SAAS,UAAiB,OAAO,GAAG;AAE1C,QAAM,iBAAiB;AAAA,IACnB,2BAA2B,OAAO,KAAK,SAAS,YAC1C,OAAO,KAAK,SAAS,iBACjB,aACA,WACJ;AAAA,IACN,oBAAoB,OAAO,KAAK,QAAQ,UAAU,SAAS;AAAA,IAC3D,oCAAoC,OAAO,KAAK,QAAQ;AAAA,EAAA;AAG5D,QAAM,WAAW,OAAO,SAAS,gBAAA,EAAkB;AACnD,QAAM,iBAAiB,OAAO,KAAK,QAAQ,wBAAwB,KAAK,CAAA,QAAO;AAC3E,QAAI,OAAO,KAAK,OAAO,0BAA0B;AAE7C,aAAO;AAAA,IACX;AAEA,QAAI,SAAS,IAAI,KAAK,GAAG;AACrB,aAAO;AAAA,IACX;AAGA,WAAO,OAAO,KAAK,QAAQ,WAAW,IAAI,KAAK;AAAA,EACnD,CAAC;AAED,QAAM,oBAAoB,OAAO,KAAK,QAAQ,aAAa,MAAM;AACjE,QAAM,CAAC,cAAc,UAAU,IAAI,gBAAgB,OAAO,GAAG;AAE7D,MAAI;AAEJ,MAAI,mBAAmB;AACnB,qBACIC,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,OAAO,KAAK,QAAQ;AAAA,QAC/B;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAG7B;AAEA,SACIA,+BAAA,cAAC,OAAA,MACGA,+BAAA,cAAC,MAAM,SAAN,EAAqB,OAAO,OAAA,GACxB,OAAO,KAAK,QAAQ,yDAChB,SAAA,EAAQ,eAAe,OAAO,SAAS,eAAe,OAAO,OAAO,SAAA,CAAU,IAC/E,IACR,GACC,iBACGA,+BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,eAAe,OAAO,SAAS;AAAA,MAC/B,OAAO,OAAO;AAAA,MACd,UAAU,OAAO;AAAA,IAAA;AAAA,EAAA,IAErB,MACJA,+BAAA;AAAA,IAAC,MAAM;AAAA,IAAN;AAAA,MACI,GAAG;AAAA,MACJ,aAAU;AAAA,MACV,YAAY,qBAAqB,aAAa,iBAAiB;AAAA,MAC/D,OAAO;AAAA,IAAA;AAAA,IACN,oBACGA,+BAAA,cAAAA,eAAA,UAAA,MACIA,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,oBAAoB,OAAO,KAAK,QAAQ;AAAA,QACxC;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA,GAEpB,aAAa,OAAO,cACzB,IACA;AAAA,EAAA,CAEZ;AAER,CAAC;AAEM,MAAM,SAAS,gBAAgB,SAASC,QAAwB,OAA2B,KAA2B;AACzH,QAAM,sBAAsB,OAAO,MAAM,QAAQ;AAGjD,QAAM,MAAMD,eAAM,QAAQ,MAAM,OAAO,cAAc,mBAAmB,GAAG,CAAC,mBAAmB,CAAC;AAChG,SAAOA,+BAAA,cAAC,YAAA,EAAmB,GAAG,OAAO,KAAU,KAAU;AAC7D,CAAC;AAID,OAAO,SAAS;AAChB,OAAO,QAAQ;"}
1
+ {"version":3,"file":"Table3.js","sources":["../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { fixedForwardRef } from '../../types';\n\nimport { Alert } from './components/Editing/Alert';\nimport { CreateNewRow } from './components/Row/Editing/CreateNewRow';\nimport { TemporaryRows } from './components/Row/Editing/TemporaryRow';\nimport { Editing } from './components/Toolbar/Editing/Editing';\nimport type { Table3Props, Table3Ref, Table3ColumnProps, Table3GroupProps } from './types';\nimport { useTable3 } from './useTable3';\nimport { isTableScrolled } from './util/editing';\n\nimport './style.css';\n\nconst Column: React.FC<Table3ColumnProps<unknown>> & {\n <TType = unknown>(_: Table3ColumnProps<TType>): null;\n} = () => null;\n\nColumn.displayName = 'Table3Column';\n\nfunction Group(_: Table3GroupProps) {\n return null;\n}\nGroup.displayName = 'Table3Group';\n\nconst BaseTable3 = fixedForwardRef(function BaseTable3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const table3 = useTable3<TType>(props, ref);\n\n const gridAttributes = {\n 'data-table-editing-mode': table3.meta.editing?.isEditing\n ? table3.meta.editing?.isDetailedMode\n ? 'detailed'\n : 'normal'\n : undefined,\n 'data-has-changes': table3.meta.editing.isDirty ? 'true' : undefined,\n enableHorizontalArrowKeyNavigation: table3.meta.editing.isEditing,\n };\n\n const rowsById = table3.instance.getCoreRowModel().rowsById;\n const hasAlertErrors = table3.meta.editing.getErrorsShownInAlert().some(row => {\n if (table3.meta.server._experimentalDataLoader2) {\n // consumers of dataloader2 need to run a cleanup function, as this would otherwise return false when pages are unloaded.\n return true;\n }\n\n if (rowsById[row.rowId]) {\n return true;\n }\n\n // Keep the alert when the row is hidden by filtering (or pagination) but still has unsaved edits.\n return table3.meta.editing.hasChanges(row.rowId);\n });\n\n const hasCreateWorkflow = table3.meta.editing.isEnabled && props.onEditingCreate;\n const [hasScrollbar, isScrolled] = isTableScrolled(table3.ref);\n\n let createWorkflow;\n\n if (hasCreateWorkflow) {\n createWorkflow = (\n <CreateNewRow\n buttonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n );\n }\n\n return (\n <Table>\n <Table.Toolbar<TType> table={table3}>\n {table3.meta.editing.isEnabled ? (\n <Editing scrollToIndex={table3.renderer.scrollToIndex} table={table3.instance} />\n ) : null}\n </Table.Toolbar>\n {hasAlertErrors ? (\n <Alert\n className=\"mb-4\"\n scrollToIndex={table3.renderer.scrollToIndex}\n table={table3.instance}\n tableRef={table3.ref}\n />\n ) : null}\n <Table.Grid<TType>\n {...gridAttributes}\n data-taco=\"table3\"\n footerRows={hasCreateWorkflow && isScrolled ? createWorkflow : undefined}\n table={table3}>\n {hasCreateWorkflow ? (\n <>\n <TemporaryRows\n createRowButtonRef={table3.meta.editing.createRowButtonRef}\n hasScrollbar={hasScrollbar}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n {isScrolled ? null : createWorkflow}\n </>\n ) : null}\n </Table.Grid>\n </Table>\n );\n});\n\nexport const Table3 = fixedForwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const stringifiedChildren = String(props.children);\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);\n return <BaseTable3<TType> {...props} key={key} ref={ref} />;\n}) as (<TType = unknown>(props: Table3Props<TType> & React.RefAttributes<Table3Ref>) => React.JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nTable3.Column = Column;\nTable3.Group = Group;\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3ColumnProps,\n Table3GroupProps,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n Table3Texts,\n Table3FeatureProps,\n Table3CommonProps,\n Table3WithoutEditingWithClientProps,\n Table3WithoutEditingWithServerProps,\n Table3WithEditingProps,\n Table3WithEditingWithClientProps,\n Table3WithEditingWithServerProps,\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n} from './types';\n"],"names":["BaseTable3","React","Table3"],"mappings":";;;;;;;;;;AAeA,MAAM,SAEF,MAAM;AAEV,OAAO,cAAc;AAErB,SAAS,MAAM,GAAqB;AAChC,SAAO;AACX;AACA,MAAM,cAAc;AAEpB,MAAM,aAAa,gBAAgB,SAASA,YAA4B,OAA2B,KAA2B;AAC1H,QAAM,SAAS,UAAiB,OAAO,GAAG;AAE1C,QAAM,iBAAiB;AAAA,IACnB,2BAA2B,OAAO,KAAK,SAAS,YAC1C,OAAO,KAAK,SAAS,iBACjB,aACA,WACJ;AAAA,IACN,oBAAoB,OAAO,KAAK,QAAQ,UAAU,SAAS;AAAA,IAC3D,oCAAoC,OAAO,KAAK,QAAQ;AAAA,EAAA;AAG5D,QAAM,WAAW,OAAO,SAAS,gBAAA,EAAkB;AACnD,QAAM,iBAAiB,OAAO,KAAK,QAAQ,wBAAwB,KAAK,CAAA,QAAO;AAC3E,QAAI,OAAO,KAAK,OAAO,0BAA0B;AAE7C,aAAO;AAAA,IACX;AAEA,QAAI,SAAS,IAAI,KAAK,GAAG;AACrB,aAAO;AAAA,IACX;AAGA,WAAO,OAAO,KAAK,QAAQ,WAAW,IAAI,KAAK;AAAA,EACnD,CAAC;AAED,QAAM,oBAAoB,OAAO,KAAK,QAAQ,aAAa,MAAM;AACjE,QAAM,CAAC,cAAc,UAAU,IAAI,gBAAgB,OAAO,GAAG;AAE7D,MAAI;AAEJ,MAAI,mBAAmB;AACnB,qBACIC,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW,OAAO,KAAK,QAAQ;AAAA,QAC/B;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAG7B;AAEA,SACIA,+BAAA,cAAC,OAAA,MACGA,+BAAA,cAAC,MAAM,SAAN,EAAqB,OAAO,OAAA,GACxB,OAAO,KAAK,QAAQ,yDAChB,SAAA,EAAQ,eAAe,OAAO,SAAS,eAAe,OAAO,OAAO,SAAA,CAAU,IAC/E,IACR,GACC,iBACGA,+BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,eAAe,OAAO,SAAS;AAAA,MAC/B,OAAO,OAAO;AAAA,MACd,UAAU,OAAO;AAAA,IAAA;AAAA,EAAA,IAErB,MACJA,+BAAA;AAAA,IAAC,MAAM;AAAA,IAAN;AAAA,MACI,GAAG;AAAA,MACJ,aAAU;AAAA,MACV,YAAY,qBAAqB,aAAa,iBAAiB;AAAA,MAC/D,OAAO;AAAA,IAAA;AAAA,IACN,oBACGA,+BAAA,cAAAA,eAAA,UAAA,MACIA,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,oBAAoB,OAAO,KAAK,QAAQ;AAAA,QACxC;AAAA,QACA,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO;AAAA,MAAA;AAAA,IAAA,GAEpB,aAAa,OAAO,cACzB,IACA;AAAA,EAAA,CAEZ;AAER,CAAC;AAEM,MAAM,SAAS,gBAAgB,SAASC,QAAwB,OAA2B,KAA2B;AACzH,QAAM,sBAAsB,OAAO,MAAM,QAAQ;AAGjD,QAAM,MAAMD,eAAM,QAAQ,MAAM,OAAO,cAAc,mBAAmB,GAAG,CAAC,mBAAmB,CAAC;AAChG,SAAOA,+BAAA,cAAC,YAAA,EAAmB,GAAG,OAAO,KAAU,KAAU;AAC7D,CAAC;AAID,OAAO,SAAS;AAChB,OAAO,QAAQ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowMoveIndicator.cjs","sources":["../../../../../../../src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.tsx"],"sourcesContent":["import type {\n Cell as ReactTableCell,\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n} from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Icon } from '../../../../../Icon/Icon';\nimport type { LocalizationTexts } from '../../../../../Provider/Localization';\nimport { useLocalization } from '../../../../../Provider/Localization';\nimport { Tooltip } from '../../../../../Tooltip/Tooltip';\n\ntype TableRowMoveIndicatorProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement>;\n isActiveRow: boolean;\n};\n\ntype Reason = 'search' | 'sorting' | 'filter' | undefined;\n\nexport function RowMoveIndicator<TType = unknown>(props: TableRowMoveIndicatorProps<TType>) {\n const { cell, cellRef, isActiveRow } = props;\n const { texts } = useLocalization();\n const [show, setShow] = React.useState(false);\n const table = cell.getContext().table;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = (cell.column.columnDef.meta ?? {}) as ReactTableColumnMeta<TType, unknown>;\n const moveReason = tableMeta.editing.getRowMoveReason(cell.row.id) as Reason;\n\n React.useEffect(() => {\n if (cellRef.current) {\n if (isActiveRow && !!moveReason) {\n const firstChild = cellRef.current.parentElement?.querySelector('td[data-taco=\"cell-control\"]');\n\n if (cellRef.current === firstChild) {\n setShow(true);\n cellRef.current.parentElement?.setAttribute('data-row-editing-move', 'true');\n }\n } else {\n setShow(false);\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n }\n\n return () => {\n if (cellRef.current) {\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n };\n }, [cellRef, isActiveRow, moveReason]);\n\n if (!show) {\n return null;\n }\n\n const { title, description } = getMessageFromReason(texts, moveReason);\n\n let columnHeader = columnMeta.header;\n\n if (moveReason === 'sorting') {\n const sortedColumns = table.getState().sorting;\n const columnId = sortedColumns[0]?.id;\n\n if (columnId) {\n const sortedColumn = table.getColumn(columnId);\n if (sortedColumn) {\n columnHeader = (sortedColumn.columnDef.meta as ReactTableColumnMeta<TType, unknown>).header;\n }\n }\n }\n\n return (\n <Tooltip placement=\"bottom\" title={description.replace('[COLUMN]', columnHeader)}>\n <span data-row-move-indicator>\n <Icon name=\"info\" className=\"-mt-0.5 mr-1 !h-4 !w-4 rounded-full bg-white !p-0 text-blue-500\" />\n {title}\n </span>\n </Tooltip>\n );\n}\n\nfunction getMessageFromReason(texts: LocalizationTexts, reason: Reason) {\n let title;\n let description;\n\n switch (reason) {\n case 'filter':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;\n break;\n\n case 'search':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;\n break;\n\n case 'sorting':\n title = texts.table3.editing.rowIndicator.rowWillMove;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;\n break;\n\n default:\n title = '';\n description = '';\n break;\n }\n\n return { title, description };\n}\n"],"names":["useLocalization","Tooltip","Icon"],"mappings":";;;;;;AAoBO,SAAS,iBAAkC,OAA0C;AACxF,QAAM,EAAE,MAAM,SAAS,YAAA,IAAgB;AACvC,QAAM,EAAE,MAAA,IAAUA,6BAAA;AAClB,QAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAS,KAAK;AAC5C,QAAM,QAAQ,KAAK,WAAA,EAAa;AAChC,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,aAAc,KAAK,OAAO,UAAU,QAAQ,CAAA;AAClD,QAAM,aAAa,UAAU,QAAQ,iBAAiB,KAAK,IAAI,EAAE;AAEjE,QAAM,UAAU,MAAM;AAClB,QAAI,QAAQ,SAAS;AACjB,UAAI,eAAe,CAAC,CAAC,YAAY;AAC7B,cAAM,aAAa,QAAQ,QAAQ,eAAe,cAAc,8BAA8B;AAE9F,YAAI,QAAQ,YAAY,YAAY;AAChC,kBAAQ,IAAI;AACZ,kBAAQ,QAAQ,eAAe,aAAa,yBAAyB,MAAM;AAAA,QAC/E;AAAA,MACJ,OAAO;AACH,gBAAQ,KAAK;AACb,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAEA,WAAO,MAAM;AACT,UAAI,QAAQ,SAAS;AACjB,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,SAAS,aAAa,UAAU,CAAC;AAErC,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AAEA,QAAM,EAAE,OAAO,YAAA,IAAgB,qBAAqB,OAAO,UAAU;AAErE,MAAI,eAAe,WAAW;AAE9B,MAAI,eAAe,WAAW;AAC1B,UAAM,gBAAgB,MAAM,SAAA,EAAW;AACvC,UAAM,WAAW,cAAc,CAAC,GAAG;AAEnC,QAAI,UAAU;AACV,YAAM,eAAe,MAAM,UAAU,QAAQ;AAC7C,UAAI,cAAc;AACd,uBAAgB,aAAa,UAAU,KAA8C;AAAA,MACzF;AAAA,IACJ;AAAA,EACJ;AAEA,SACI,sBAAA,cAACC,mBAAQ,WAAU,UAAS,OAAO,YAAY,QAAQ,YAAY,YAAY,EAAA,GAC3E,sBAAA,cAAC,UAAK,2BAAuB,KAAA,uCACxBC,KAAAA,MAAA,EAAK,MAAK,QAAO,WAAU,kEAAA,CAAkE,GAC7F,KACL,CACJ;AAER;AAEA,SAAS,qBAAqB,OAA0B,QAAgB;AACpE,MAAI;AACJ,MAAI;AAEJ,UAAQ,QAAA;AAAA,IACJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ;AACI,cAAQ;AACR,oBAAc;AACd;AAAA,EAAA;AAGR,SAAO,EAAE,OAAO,YAAA;AACpB;;"}
1
+ {"version":3,"file":"RowMoveIndicator.cjs","sources":["../../../../../../../src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.tsx"],"sourcesContent":["import type {\n Cell as ReactTableCell,\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n} from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Icon } from '../../../../../Icon/Icon';\nimport type { LocalizationTexts } from '../../../../../Provider/Localization';\nimport { useLocalization } from '../../../../../Provider/Localization';\nimport { Tooltip } from '../../../../../Tooltip/Tooltip';\n\ntype TableRowMoveIndicatorProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement | null>;\n isActiveRow: boolean;\n};\n\ntype Reason = 'search' | 'sorting' | 'filter' | undefined;\n\nexport function RowMoveIndicator<TType = unknown>(props: TableRowMoveIndicatorProps<TType>) {\n const { cell, cellRef, isActiveRow } = props;\n const { texts } = useLocalization();\n const [show, setShow] = React.useState(false);\n const table = cell.getContext().table;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = (cell.column.columnDef.meta ?? {}) as ReactTableColumnMeta<TType, unknown>;\n const moveReason = tableMeta.editing.getRowMoveReason(cell.row.id) as Reason;\n\n React.useEffect(() => {\n if (cellRef.current) {\n if (isActiveRow && !!moveReason) {\n const firstChild = cellRef.current.parentElement?.querySelector('td[data-taco=\"cell-control\"]');\n\n if (cellRef.current === firstChild) {\n setShow(true);\n cellRef.current.parentElement?.setAttribute('data-row-editing-move', 'true');\n }\n } else {\n setShow(false);\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n }\n\n return () => {\n if (cellRef.current) {\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n };\n }, [cellRef, isActiveRow, moveReason]);\n\n if (!show) {\n return null;\n }\n\n const { title, description } = getMessageFromReason(texts, moveReason);\n\n let columnHeader = columnMeta.header;\n\n if (moveReason === 'sorting') {\n const sortedColumns = table.getState().sorting;\n const columnId = sortedColumns[0]?.id;\n\n if (columnId) {\n const sortedColumn = table.getColumn(columnId);\n if (sortedColumn) {\n columnHeader = (sortedColumn.columnDef.meta as ReactTableColumnMeta<TType, unknown>).header;\n }\n }\n }\n\n return (\n <Tooltip placement=\"bottom\" title={description.replace('[COLUMN]', columnHeader)}>\n <span data-row-move-indicator>\n <Icon name=\"info\" className=\"-mt-0.5 mr-1 !h-4 !w-4 rounded-full bg-white !p-0 text-blue-500\" />\n {title}\n </span>\n </Tooltip>\n );\n}\n\nfunction getMessageFromReason(texts: LocalizationTexts, reason: Reason) {\n let title;\n let description;\n\n switch (reason) {\n case 'filter':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;\n break;\n\n case 'search':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;\n break;\n\n case 'sorting':\n title = texts.table3.editing.rowIndicator.rowWillMove;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;\n break;\n\n default:\n title = '';\n description = '';\n break;\n }\n\n return { title, description };\n}\n"],"names":["useLocalization","Tooltip","Icon"],"mappings":";;;;;;AAoBO,SAAS,iBAAkC,OAA0C;AACxF,QAAM,EAAE,MAAM,SAAS,YAAA,IAAgB;AACvC,QAAM,EAAE,MAAA,IAAUA,6BAAA;AAClB,QAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAS,KAAK;AAC5C,QAAM,QAAQ,KAAK,WAAA,EAAa;AAChC,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,aAAc,KAAK,OAAO,UAAU,QAAQ,CAAA;AAClD,QAAM,aAAa,UAAU,QAAQ,iBAAiB,KAAK,IAAI,EAAE;AAEjE,QAAM,UAAU,MAAM;AAClB,QAAI,QAAQ,SAAS;AACjB,UAAI,eAAe,CAAC,CAAC,YAAY;AAC7B,cAAM,aAAa,QAAQ,QAAQ,eAAe,cAAc,8BAA8B;AAE9F,YAAI,QAAQ,YAAY,YAAY;AAChC,kBAAQ,IAAI;AACZ,kBAAQ,QAAQ,eAAe,aAAa,yBAAyB,MAAM;AAAA,QAC/E;AAAA,MACJ,OAAO;AACH,gBAAQ,KAAK;AACb,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAEA,WAAO,MAAM;AACT,UAAI,QAAQ,SAAS;AACjB,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,SAAS,aAAa,UAAU,CAAC;AAErC,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AAEA,QAAM,EAAE,OAAO,YAAA,IAAgB,qBAAqB,OAAO,UAAU;AAErE,MAAI,eAAe,WAAW;AAE9B,MAAI,eAAe,WAAW;AAC1B,UAAM,gBAAgB,MAAM,SAAA,EAAW;AACvC,UAAM,WAAW,cAAc,CAAC,GAAG;AAEnC,QAAI,UAAU;AACV,YAAM,eAAe,MAAM,UAAU,QAAQ;AAC7C,UAAI,cAAc;AACd,uBAAgB,aAAa,UAAU,KAA8C;AAAA,MACzF;AAAA,IACJ;AAAA,EACJ;AAEA,SACI,sBAAA,cAACC,mBAAQ,WAAU,UAAS,OAAO,YAAY,QAAQ,YAAY,YAAY,EAAA,GAC3E,sBAAA,cAAC,UAAK,2BAAuB,KAAA,uCACxBC,KAAAA,MAAA,EAAK,MAAK,QAAO,WAAU,kEAAA,CAAkE,GAC7F,KACL,CACJ;AAER;AAEA,SAAS,qBAAqB,OAA0B,QAAgB;AACpE,MAAI;AACJ,MAAI;AAEJ,UAAQ,QAAA;AAAA,IACJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ;AACI,cAAQ;AACR,oBAAc;AACd;AAAA,EAAA;AAGR,SAAO,EAAE,OAAO,YAAA;AACpB;;"}
@@ -2,7 +2,7 @@ import { Cell as ReactTableCell } from '@tanstack/react-table';
2
2
  import { default as React } from 'react';
3
3
  type TableRowMoveIndicatorProps<TType = unknown> = {
4
4
  cell: ReactTableCell<TType, unknown>;
5
- cellRef: React.RefObject<HTMLTableCellElement>;
5
+ cellRef: React.RefObject<HTMLTableCellElement | null>;
6
6
  isActiveRow: boolean;
7
7
  };
8
8
  export declare function RowMoveIndicator<TType = unknown>(props: TableRowMoveIndicatorProps<TType>): React.JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"file":"RowMoveIndicator.js","sources":["../../../../../../../src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.tsx"],"sourcesContent":["import type {\n Cell as ReactTableCell,\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n} from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Icon } from '../../../../../Icon/Icon';\nimport type { LocalizationTexts } from '../../../../../Provider/Localization';\nimport { useLocalization } from '../../../../../Provider/Localization';\nimport { Tooltip } from '../../../../../Tooltip/Tooltip';\n\ntype TableRowMoveIndicatorProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement>;\n isActiveRow: boolean;\n};\n\ntype Reason = 'search' | 'sorting' | 'filter' | undefined;\n\nexport function RowMoveIndicator<TType = unknown>(props: TableRowMoveIndicatorProps<TType>) {\n const { cell, cellRef, isActiveRow } = props;\n const { texts } = useLocalization();\n const [show, setShow] = React.useState(false);\n const table = cell.getContext().table;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = (cell.column.columnDef.meta ?? {}) as ReactTableColumnMeta<TType, unknown>;\n const moveReason = tableMeta.editing.getRowMoveReason(cell.row.id) as Reason;\n\n React.useEffect(() => {\n if (cellRef.current) {\n if (isActiveRow && !!moveReason) {\n const firstChild = cellRef.current.parentElement?.querySelector('td[data-taco=\"cell-control\"]');\n\n if (cellRef.current === firstChild) {\n setShow(true);\n cellRef.current.parentElement?.setAttribute('data-row-editing-move', 'true');\n }\n } else {\n setShow(false);\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n }\n\n return () => {\n if (cellRef.current) {\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n };\n }, [cellRef, isActiveRow, moveReason]);\n\n if (!show) {\n return null;\n }\n\n const { title, description } = getMessageFromReason(texts, moveReason);\n\n let columnHeader = columnMeta.header;\n\n if (moveReason === 'sorting') {\n const sortedColumns = table.getState().sorting;\n const columnId = sortedColumns[0]?.id;\n\n if (columnId) {\n const sortedColumn = table.getColumn(columnId);\n if (sortedColumn) {\n columnHeader = (sortedColumn.columnDef.meta as ReactTableColumnMeta<TType, unknown>).header;\n }\n }\n }\n\n return (\n <Tooltip placement=\"bottom\" title={description.replace('[COLUMN]', columnHeader)}>\n <span data-row-move-indicator>\n <Icon name=\"info\" className=\"-mt-0.5 mr-1 !h-4 !w-4 rounded-full bg-white !p-0 text-blue-500\" />\n {title}\n </span>\n </Tooltip>\n );\n}\n\nfunction getMessageFromReason(texts: LocalizationTexts, reason: Reason) {\n let title;\n let description;\n\n switch (reason) {\n case 'filter':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;\n break;\n\n case 'search':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;\n break;\n\n case 'sorting':\n title = texts.table3.editing.rowIndicator.rowWillMove;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;\n break;\n\n default:\n title = '';\n description = '';\n break;\n }\n\n return { title, description };\n}\n"],"names":["React"],"mappings":";;;;AAoBO,SAAS,iBAAkC,OAA0C;AACxF,QAAM,EAAE,MAAM,SAAS,YAAA,IAAgB;AACvC,QAAM,EAAE,MAAA,IAAU,gBAAA;AAClB,QAAM,CAAC,MAAM,OAAO,IAAIA,eAAM,SAAS,KAAK;AAC5C,QAAM,QAAQ,KAAK,WAAA,EAAa;AAChC,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,aAAc,KAAK,OAAO,UAAU,QAAQ,CAAA;AAClD,QAAM,aAAa,UAAU,QAAQ,iBAAiB,KAAK,IAAI,EAAE;AAEjEA,iBAAM,UAAU,MAAM;AAClB,QAAI,QAAQ,SAAS;AACjB,UAAI,eAAe,CAAC,CAAC,YAAY;AAC7B,cAAM,aAAa,QAAQ,QAAQ,eAAe,cAAc,8BAA8B;AAE9F,YAAI,QAAQ,YAAY,YAAY;AAChC,kBAAQ,IAAI;AACZ,kBAAQ,QAAQ,eAAe,aAAa,yBAAyB,MAAM;AAAA,QAC/E;AAAA,MACJ,OAAO;AACH,gBAAQ,KAAK;AACb,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAEA,WAAO,MAAM;AACT,UAAI,QAAQ,SAAS;AACjB,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,SAAS,aAAa,UAAU,CAAC;AAErC,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AAEA,QAAM,EAAE,OAAO,YAAA,IAAgB,qBAAqB,OAAO,UAAU;AAErE,MAAI,eAAe,WAAW;AAE9B,MAAI,eAAe,WAAW;AAC1B,UAAM,gBAAgB,MAAM,SAAA,EAAW;AACvC,UAAM,WAAW,cAAc,CAAC,GAAG;AAEnC,QAAI,UAAU;AACV,YAAM,eAAe,MAAM,UAAU,QAAQ;AAC7C,UAAI,cAAc;AACd,uBAAgB,aAAa,UAAU,KAA8C;AAAA,MACzF;AAAA,IACJ;AAAA,EACJ;AAEA,SACIA,+BAAA,cAAC,WAAQ,WAAU,UAAS,OAAO,YAAY,QAAQ,YAAY,YAAY,EAAA,GAC3EA,+BAAA,cAAC,UAAK,2BAAuB,KAAA,gDACxB,MAAA,EAAK,MAAK,QAAO,WAAU,kEAAA,CAAkE,GAC7F,KACL,CACJ;AAER;AAEA,SAAS,qBAAqB,OAA0B,QAAgB;AACpE,MAAI;AACJ,MAAI;AAEJ,UAAQ,QAAA;AAAA,IACJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ;AACI,cAAQ;AACR,oBAAc;AACd;AAAA,EAAA;AAGR,SAAO,EAAE,OAAO,YAAA;AACpB;"}
1
+ {"version":3,"file":"RowMoveIndicator.js","sources":["../../../../../../../src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.tsx"],"sourcesContent":["import type {\n Cell as ReactTableCell,\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n} from '@tanstack/react-table';\nimport React from 'react';\n\nimport { Icon } from '../../../../../Icon/Icon';\nimport type { LocalizationTexts } from '../../../../../Provider/Localization';\nimport { useLocalization } from '../../../../../Provider/Localization';\nimport { Tooltip } from '../../../../../Tooltip/Tooltip';\n\ntype TableRowMoveIndicatorProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement | null>;\n isActiveRow: boolean;\n};\n\ntype Reason = 'search' | 'sorting' | 'filter' | undefined;\n\nexport function RowMoveIndicator<TType = unknown>(props: TableRowMoveIndicatorProps<TType>) {\n const { cell, cellRef, isActiveRow } = props;\n const { texts } = useLocalization();\n const [show, setShow] = React.useState(false);\n const table = cell.getContext().table;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = (cell.column.columnDef.meta ?? {}) as ReactTableColumnMeta<TType, unknown>;\n const moveReason = tableMeta.editing.getRowMoveReason(cell.row.id) as Reason;\n\n React.useEffect(() => {\n if (cellRef.current) {\n if (isActiveRow && !!moveReason) {\n const firstChild = cellRef.current.parentElement?.querySelector('td[data-taco=\"cell-control\"]');\n\n if (cellRef.current === firstChild) {\n setShow(true);\n cellRef.current.parentElement?.setAttribute('data-row-editing-move', 'true');\n }\n } else {\n setShow(false);\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n }\n\n return () => {\n if (cellRef.current) {\n cellRef.current.parentElement?.removeAttribute('data-row-editing-move');\n }\n };\n }, [cellRef, isActiveRow, moveReason]);\n\n if (!show) {\n return null;\n }\n\n const { title, description } = getMessageFromReason(texts, moveReason);\n\n let columnHeader = columnMeta.header;\n\n if (moveReason === 'sorting') {\n const sortedColumns = table.getState().sorting;\n const columnId = sortedColumns[0]?.id;\n\n if (columnId) {\n const sortedColumn = table.getColumn(columnId);\n if (sortedColumn) {\n columnHeader = (sortedColumn.columnDef.meta as ReactTableColumnMeta<TType, unknown>).header;\n }\n }\n }\n\n return (\n <Tooltip placement=\"bottom\" title={description.replace('[COLUMN]', columnHeader)}>\n <span data-row-move-indicator>\n <Icon name=\"info\" className=\"-mt-0.5 mr-1 !h-4 !w-4 rounded-full bg-white !p-0 text-blue-500\" />\n {title}\n </span>\n </Tooltip>\n );\n}\n\nfunction getMessageFromReason(texts: LocalizationTexts, reason: Reason) {\n let title;\n let description;\n\n switch (reason) {\n case 'filter':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;\n break;\n\n case 'search':\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;\n break;\n\n case 'sorting':\n title = texts.table3.editing.rowIndicator.rowWillMove;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;\n break;\n\n default:\n title = '';\n description = '';\n break;\n }\n\n return { title, description };\n}\n"],"names":["React"],"mappings":";;;;AAoBO,SAAS,iBAAkC,OAA0C;AACxF,QAAM,EAAE,MAAM,SAAS,YAAA,IAAgB;AACvC,QAAM,EAAE,MAAA,IAAU,gBAAA;AAClB,QAAM,CAAC,MAAM,OAAO,IAAIA,eAAM,SAAS,KAAK;AAC5C,QAAM,QAAQ,KAAK,WAAA,EAAa;AAChC,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,aAAc,KAAK,OAAO,UAAU,QAAQ,CAAA;AAClD,QAAM,aAAa,UAAU,QAAQ,iBAAiB,KAAK,IAAI,EAAE;AAEjEA,iBAAM,UAAU,MAAM;AAClB,QAAI,QAAQ,SAAS;AACjB,UAAI,eAAe,CAAC,CAAC,YAAY;AAC7B,cAAM,aAAa,QAAQ,QAAQ,eAAe,cAAc,8BAA8B;AAE9F,YAAI,QAAQ,YAAY,YAAY;AAChC,kBAAQ,IAAI;AACZ,kBAAQ,QAAQ,eAAe,aAAa,yBAAyB,MAAM;AAAA,QAC/E;AAAA,MACJ,OAAO;AACH,gBAAQ,KAAK;AACb,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAEA,WAAO,MAAM;AACT,UAAI,QAAQ,SAAS;AACjB,gBAAQ,QAAQ,eAAe,gBAAgB,uBAAuB;AAAA,MAC1E;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,SAAS,aAAa,UAAU,CAAC;AAErC,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AAEA,QAAM,EAAE,OAAO,YAAA,IAAgB,qBAAqB,OAAO,UAAU;AAErE,MAAI,eAAe,WAAW;AAE9B,MAAI,eAAe,WAAW;AAC1B,UAAM,gBAAgB,MAAM,SAAA,EAAW;AACvC,UAAM,WAAW,cAAc,CAAC,GAAG;AAEnC,QAAI,UAAU;AACV,YAAM,eAAe,MAAM,UAAU,QAAQ;AAC7C,UAAI,cAAc;AACd,uBAAgB,aAAa,UAAU,KAA8C;AAAA,MACzF;AAAA,IACJ;AAAA,EACJ;AAEA,SACIA,+BAAA,cAAC,WAAQ,WAAU,UAAS,OAAO,YAAY,QAAQ,YAAY,YAAY,EAAA,GAC3EA,+BAAA,cAAC,UAAK,2BAAuB,KAAA,gDACxB,MAAA,EAAK,MAAK,QAAO,WAAU,kEAAA,CAAkE,GAC7F,KACL,CACJ;AAER;AAEA,SAAS,qBAAqB,OAA0B,QAAgB;AACpE,MAAI;AACJ,MAAI;AAEJ,UAAQ,QAAA;AAAA,IACJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ,KAAK;AACD,cAAQ,MAAM,OAAO,QAAQ,aAAa;AAC1C,oBAAc,MAAM,OAAO,QAAQ,aAAa;AAChD;AAAA,IAEJ;AACI,cAAQ;AACR,oBAAc;AACd;AAAA,EAAA;AAGR,SAAO,EAAE,OAAO,YAAA;AACpB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditingControlCell.cjs","sources":["../../../../../../src/components/Table3/components/Columns/Cell/EditingControlCell.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta, ColumnMeta as ReactTableColumnMeta } from '@tanstack/react-table';\nimport { isDate, isEqual as isEqualDate, isSameDay } from 'date-fns';\nimport React from 'react';\n\nimport { useLazyEffect } from '../../../../../hooks/useLazyEffect';\nimport { getCellAttributes } from '../../../../../primitives/Table/Core/components/Columns/Cell/util';\nimport { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext';\nimport type { TableCellRendererProps } from '../../../../../primitives/Table/Core/types';\nimport type { TableColumnDataType, TableColumnRendererControl, TableFontSize } from '../../../../../primitives/Table/types';\nimport { getDataTypeProperties } from '../../../../../primitives/Table/useTableManager/util/dataTypes';\nimport * as date from '../../../../../utils/date';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../../../utils/dom';\nimport { isPressingMetaKey } from '../../../../../utils/keyboard';\nimport { Checkbox } from '../../../../Checkbox/Checkbox';\nimport { Datepicker } from '../../../../Datepicker/Datepicker';\nimport { Field } from '../../../../Field/Field';\nimport { Input } from '../../../../Input/Input';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Switch } from '../../../../Switch/Switch';\n\nimport { RowMoveIndicator } from './Editing/RowMoveIndicator';\nimport { TextareaWithAutosizing } from './Editing/TextareaWithAutosizing';\nimport { useEditingCellAutofocus } from './util';\n\nexport function EditingControlCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, isHighlighted, index } = props;\n const { rowIndex } = React.useContext(RowContext);\n const { table } = cell.getContext();\n const locale = useLocalization();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const type = columnMeta.control ?? 'input';\n const handleFocus = useEditingCellAutofocus<TType>(props);\n const value = cell.getValue();\n const rowChanges = tableMeta.editing.getRowValue(cell.row.id);\n const shouldRunUpdate = React.useRef(false);\n\n // some controls, like select2, should trigger cell changed (validation, updates) as the value changes\n const hasNonTextControl = React.useMemo(() => {\n return (\n typeof type === 'function' &&\n !!cellRef.current?.querySelector('[data-taco=\"Select2\"],[data-taco=\"switch\"],[data-taco=\"checkbox\"]')\n );\n }, [cellRef.current]);\n\n useLazyEffect(() => {\n // Use an effect instead of a change handler to prevent onEditingChange from running with a stale js closure during on-the-fly creation.\n if (hasNonTextControl && shouldRunUpdate.current) {\n tableMeta.editing.onCellChanged(cell, rowIndex, value, true, false);\n shouldRunUpdate.current = false; // prevent risk of infinite loop, in case there'd ever be an updater function with two values that update each other.\n }\n }, [value]);\n\n const handleChange = React.useCallback(\n (nextValue: unknown) => {\n let hasChanged = false;\n\n if (columnMeta.dataType === 'date') {\n hasChanged = !isSameDay(new Date(nextValue as string | Date), new Date(value as string | Date));\n } else if (columnMeta.dataType === 'datetime') {\n hasChanged = !isEqualDate(new Date(nextValue as string | Date), new Date(value as string | Date));\n } else if (columnMeta.dataType === 'time') {\n const next = new Date(nextValue as string | Date);\n const current = new Date(value as string | Date);\n hasChanged = !(next.getHours() === current.getHours() && next.getMinutes() === current.getMinutes());\n } else {\n hasChanged = nextValue !== value;\n }\n\n if (hasChanged) {\n tableMeta.editing.setCellValue(cell, rowIndex, nextValue);\n shouldRunUpdate.current = hasNonTextControl;\n }\n },\n [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value, columnMeta.dataType]\n );\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent) => {\n if (event && isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n\n requestAnimationFrame(() => {\n tableMeta.editing.toggleDetailedMode(false);\n tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl, true);\n });\n },\n [hasNonTextControl, cell.row.id, JSON.stringify(rowChanges), rowIndex, cell.column.id, cell.row.original]\n );\n\n const error = tableMeta.editing.getCellError<TType>(cell);\n\n const handleExitDetailedMode = React.useCallback(() => {\n tableMeta.editing.onCellChanged(cell, rowIndex, undefined, true, true);\n }, [cell.row.id, JSON.stringify(rowChanges), rowIndex, cell.column.id, cell.row.original]);\n\n const controlProps = {\n dataType: columnMeta.dataType,\n disabled: tableMeta.editing.getRowStatus(cell.row.id) === 'saving',\n fontSize: tableMeta.fontSize.size,\n id: cell.column.id,\n invalid: !!error,\n isDetailedMode: tableMeta.editing.isDetailedMode,\n isTruncated: !!columnMeta.enableTruncate,\n locale: locale.locale,\n onBlur: handleBlur,\n onChange: handleChange,\n onExitDetailedMode: handleExitDetailedMode,\n row: cell.row.original,\n rowPendingChanges: tableMeta.editing.getRowValue(cell.row.id),\n tabIndex: isActiveRow ? 0 : -1,\n toggleDetailedMode: tableMeta.editing.toggleDetailedMode,\n type,\n value,\n };\n\n const cellAttributes = {\n ...getCellAttributes(cell, index, isHighlighted),\n 'data-cell-editing-invalid': error ? true : undefined,\n 'data-taco': 'cell-control',\n onFocus: handleFocus,\n ref: cellRef,\n tabIndex: -1,\n };\n\n return (\n <td {...cellAttributes}>\n <Field invalid={!!error} message={error}>\n <MemoedEditingCell<TType> {...controlProps} />\n </Field>\n {\n // we show row move indicator here within the cell rather than the row because it is\n // an editing only feature, and we don't want to leak editing into the shared row component\n }\n <RowMoveIndicator cell={cell} cellRef={cellRef} isActiveRow={isActiveRow} />\n </td>\n );\n}\n\ntype MemoedEditingCellProps<TType = unknown, TValue = unknown> = {\n dataType?: TableColumnDataType;\n disabled: boolean;\n fontSize: TableFontSize;\n id: string;\n invalid: boolean;\n isDetailedMode: boolean;\n isTruncated: boolean;\n locale: string;\n onBlur: (event: React.FocusEvent) => void;\n onChange: (value: TValue) => void;\n onExitDetailedMode: () => void;\n row: TType;\n rowPendingChanges: Partial<TType> | undefined;\n tabIndex?: number;\n toggleDetailedMode: (detailed: React.SetStateAction<boolean>) => void;\n type: TableColumnRendererControl<TType>;\n value: TValue;\n};\n\nconst MemoedEditingCell = React.memo(function MemoedEditingCell<TType = unknown>(props: MemoedEditingCellProps<TType>) {\n const {\n dataType,\n disabled,\n fontSize,\n id,\n invalid,\n isDetailedMode,\n isTruncated,\n locale,\n onBlur,\n onChange,\n onExitDetailedMode,\n row,\n rowPendingChanges,\n tabIndex = -1,\n toggleDetailedMode,\n type = 'input',\n value,\n } = props;\n const controlRef = React.useRef<HTMLElement>(null);\n const currentValue = row[id as keyof TType];\n const commonProps = {\n disabled,\n onBlur,\n ref: controlRef,\n tabIndex,\n };\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n\n if (target.readOnly) {\n return;\n }\n\n // prevent active row navigation while in detailed mode\n if (\n isDetailedMode &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n\n // enter or exit detail mode when pressing enter\n if (event.key === 'Enter') {\n // textareas support shift and enter, don't prevent default in that case\n if (event.shiftKey && isDetailedMode) {\n return;\n }\n\n event.preventDefault();\n\n if (isDetailedMode) {\n target.select?.();\n onExitDetailedMode();\n } else {\n target.setSelectionRange?.(target.value?.length, target.value?.length);\n }\n\n toggleDetailedMode(editing => !editing);\n return;\n }\n\n // reset the value, or exit edit mode when pressing escape\n if (event.key === 'Escape') {\n if (isDetailedMode) {\n event.preventDefault();\n toggleDetailedMode(false);\n\n if (value !== currentValue) {\n props.onChange(currentValue);\n }\n\n // have to let onChange run before selecting, otherwise the value changes\n requestAnimationFrame(() => target.select?.());\n }\n\n return;\n }\n\n // toggle into detailed mode when actually inputting something\n if (!isPressingMetaKey(event) && (/^[a-z0-9]$/i.test(event.key) || event.key === 'Backspace')) {\n toggleDetailedMode(true);\n }\n };\n\n const handlePaste = () => {\n if (!isDetailedMode) {\n toggleDetailedMode(true);\n }\n };\n\n if (typeof type === 'function') {\n const controlFnProps = {\n ...commonProps,\n invalid,\n setValue: onChange,\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n const target = (event.target as HTMLElement) || null;\n // it make sense to handle keydown for the custom edititng controls only if target is either input or textarea\n if (target && (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')) {\n handleInputKeyDown(event as React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>);\n }\n },\n onPaste: handlePaste,\n value,\n };\n\n return type(controlFnProps, { ...row, ...rowPendingChanges });\n }\n\n if (type === 'switch') {\n return (\n <Switch\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n />\n );\n }\n\n if (type === 'checkbox') {\n return (\n <Checkbox\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n />\n );\n }\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (!isDetailedMode) {\n event.target.select();\n }\n };\n\n if (type === 'datepicker') {\n const valueAsDate = date.parse(value as Date | string | undefined);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDate = (event as any).detail as Date;\n\n if (!valueAsDate || !newDate || (isDate(valueAsDate) && isDate(newDate) && !date.isWeakEqual(valueAsDate, newDate))) {\n props.onChange(newDate);\n }\n };\n\n const handleDatepickerInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const target = event.target as HTMLInputElement;\n\n if (isDetailedMode && event.key === 'Enter') {\n // If the field is empty, save as null before exiting detailed mode\n // This prevents the value from reverting to the previous value\n if (target.value === '') {\n onChange(null);\n } else {\n // When value is not empty, prevent handleInputKeyDown and give full control to Datepicker\n // The datepicker will exit \"detailed mode\" by itself when a valid date change is triggered\n target.select?.();\n return;\n }\n }\n\n handleInputKeyDown(event);\n };\n\n return (\n <Datepicker\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleDatepickerInputKeyDown}\n onPaste={handlePaste}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n value={valueAsDate}\n />\n );\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const dataTypeProps = getDataTypeProperties(dataType);\n onChange(dataTypeProps.parse?.(event.target.value, locale) ?? event.target.value);\n };\n\n if (type === 'textarea') {\n return (\n <TextareaWithAutosizing\n {...commonProps}\n fontSize={fontSize}\n invalid={invalid}\n isTruncated={isTruncated}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n onPaste={handlePaste}\n ref={controlRef as React.RefObject<HTMLTextAreaElement>}\n value={String(value ?? '')}\n />\n );\n }\n\n return (\n <Input\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n onPaste={handlePaste}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n type={dataType === 'number' ? 'number' : undefined}\n value={dataType === 'number' ? (value as number) : String(value ?? '')}\n />\n );\n}) as <TType = unknown>(props: MemoedEditingCellProps<TType>) => JSX.Element;\n"],"names":["RowContext","useLocalization","useEditingCellAutofocus","useLazyEffect","isSameDay","isEqualDate","isElementInsideOrTriggeredFromContainer","getCellAttributes","Field","RowMoveIndicator","MemoedEditingCell","isPressingMetaKey","Switch","Checkbox","date.parse","handleChange","isDate","date.isWeakEqual","Datepicker","getDataTypeProperties","TextareaWithAutosizing","Input"],"mappings":"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"}
1
+ {"version":3,"file":"EditingControlCell.cjs","sources":["../../../../../../src/components/Table3/components/Columns/Cell/EditingControlCell.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta, ColumnMeta as ReactTableColumnMeta } from '@tanstack/react-table';\nimport { isDate, isEqual as isEqualDate, isSameDay } from 'date-fns';\nimport React from 'react';\n\nimport { useLazyEffect } from '../../../../../hooks/useLazyEffect';\nimport { getCellAttributes } from '../../../../../primitives/Table/Core/components/Columns/Cell/util';\nimport { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext';\nimport type { TableCellRendererProps } from '../../../../../primitives/Table/Core/types';\nimport type { TableColumnDataType, TableColumnRendererControl, TableFontSize } from '../../../../../primitives/Table/types';\nimport { getDataTypeProperties } from '../../../../../primitives/Table/useTableManager/util/dataTypes';\nimport * as date from '../../../../../utils/date';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../../../utils/dom';\nimport { isPressingMetaKey } from '../../../../../utils/keyboard';\nimport { Checkbox } from '../../../../Checkbox/Checkbox';\nimport { Datepicker } from '../../../../Datepicker/Datepicker';\nimport { Field } from '../../../../Field/Field';\nimport { Input } from '../../../../Input/Input';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Switch } from '../../../../Switch/Switch';\n\nimport { RowMoveIndicator } from './Editing/RowMoveIndicator';\nimport { TextareaWithAutosizing } from './Editing/TextareaWithAutosizing';\nimport { useEditingCellAutofocus } from './util';\n\nexport function EditingControlCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, isHighlighted, index } = props;\n const { rowIndex } = React.useContext(RowContext);\n const { table } = cell.getContext();\n const locale = useLocalization();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const type = columnMeta.control ?? 'input';\n const handleFocus = useEditingCellAutofocus<TType>(props);\n const value = cell.getValue();\n const rowChanges = tableMeta.editing.getRowValue(cell.row.id);\n const shouldRunUpdate = React.useRef(false);\n\n // some controls, like select2, should trigger cell changed (validation, updates) as the value changes\n const hasNonTextControl = React.useMemo(() => {\n return (\n typeof type === 'function' &&\n !!cellRef.current?.querySelector('[data-taco=\"Select2\"],[data-taco=\"switch\"],[data-taco=\"checkbox\"]')\n );\n }, [cellRef.current]);\n\n useLazyEffect(() => {\n // Use an effect instead of a change handler to prevent onEditingChange from running with a stale js closure during on-the-fly creation.\n if (hasNonTextControl && shouldRunUpdate.current) {\n tableMeta.editing.onCellChanged(cell, rowIndex, value, true, false);\n shouldRunUpdate.current = false; // prevent risk of infinite loop, in case there'd ever be an updater function with two values that update each other.\n }\n }, [value]);\n\n const handleChange = React.useCallback(\n (nextValue: unknown) => {\n let hasChanged = false;\n\n if (columnMeta.dataType === 'date') {\n hasChanged = !isSameDay(new Date(nextValue as string | Date), new Date(value as string | Date));\n } else if (columnMeta.dataType === 'datetime') {\n hasChanged = !isEqualDate(new Date(nextValue as string | Date), new Date(value as string | Date));\n } else if (columnMeta.dataType === 'time') {\n const next = new Date(nextValue as string | Date);\n const current = new Date(value as string | Date);\n hasChanged = !(next.getHours() === current.getHours() && next.getMinutes() === current.getMinutes());\n } else {\n hasChanged = nextValue !== value;\n }\n\n if (hasChanged) {\n tableMeta.editing.setCellValue(cell, rowIndex, nextValue);\n shouldRunUpdate.current = hasNonTextControl;\n }\n },\n [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value, columnMeta.dataType]\n );\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent) => {\n if (event && isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n\n requestAnimationFrame(() => {\n tableMeta.editing.toggleDetailedMode(false);\n tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl, true);\n });\n },\n [hasNonTextControl, cell.row.id, JSON.stringify(rowChanges), rowIndex, cell.column.id, cell.row.original]\n );\n\n const error = tableMeta.editing.getCellError<TType>(cell);\n\n const handleExitDetailedMode = React.useCallback(() => {\n tableMeta.editing.onCellChanged(cell, rowIndex, undefined, true, true);\n }, [cell.row.id, JSON.stringify(rowChanges), rowIndex, cell.column.id, cell.row.original]);\n\n const controlProps = {\n dataType: columnMeta.dataType,\n disabled: tableMeta.editing.getRowStatus(cell.row.id) === 'saving',\n fontSize: tableMeta.fontSize.size,\n id: cell.column.id,\n invalid: !!error,\n isDetailedMode: tableMeta.editing.isDetailedMode,\n isTruncated: !!columnMeta.enableTruncate,\n locale: locale.locale,\n onBlur: handleBlur,\n onChange: handleChange,\n onExitDetailedMode: handleExitDetailedMode,\n row: cell.row.original,\n rowPendingChanges: tableMeta.editing.getRowValue(cell.row.id),\n tabIndex: isActiveRow ? 0 : -1,\n toggleDetailedMode: tableMeta.editing.toggleDetailedMode,\n type,\n value,\n };\n\n const cellAttributes = {\n ...getCellAttributes(cell, index, isHighlighted),\n 'data-cell-editing-invalid': error ? true : undefined,\n 'data-taco': 'cell-control',\n onFocus: handleFocus,\n ref: cellRef,\n tabIndex: -1,\n };\n\n return (\n <td {...cellAttributes}>\n <Field invalid={!!error} message={error}>\n <MemoedEditingCell<TType> {...controlProps} />\n </Field>\n {\n // we show row move indicator here within the cell rather than the row because it is\n // an editing only feature, and we don't want to leak editing into the shared row component\n }\n <RowMoveIndicator cell={cell} cellRef={cellRef} isActiveRow={isActiveRow} />\n </td>\n );\n}\n\ntype MemoedEditingCellProps<TType = unknown, TValue = unknown> = {\n dataType?: TableColumnDataType;\n disabled: boolean;\n fontSize: TableFontSize;\n id: string;\n invalid: boolean;\n isDetailedMode: boolean;\n isTruncated: boolean;\n locale: string;\n onBlur: (event: React.FocusEvent) => void;\n onChange: (value: TValue) => void;\n onExitDetailedMode: () => void;\n row: TType;\n rowPendingChanges: Partial<TType> | undefined;\n tabIndex?: number;\n toggleDetailedMode: (detailed: React.SetStateAction<boolean>) => void;\n type: TableColumnRendererControl<TType>;\n value: TValue;\n};\n\nconst MemoedEditingCell = React.memo(function MemoedEditingCell<TType = unknown>(props: MemoedEditingCellProps<TType>) {\n const {\n dataType,\n disabled,\n fontSize,\n id,\n invalid,\n isDetailedMode,\n isTruncated,\n locale,\n onBlur,\n onChange,\n onExitDetailedMode,\n row,\n rowPendingChanges,\n tabIndex = -1,\n toggleDetailedMode,\n type = 'input',\n value,\n } = props;\n const controlRef = React.useRef<HTMLElement>(null);\n const currentValue = row[id as keyof TType];\n const commonProps = {\n disabled,\n onBlur,\n ref: controlRef,\n tabIndex,\n };\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n\n if (target.readOnly) {\n return;\n }\n\n // prevent active row navigation while in detailed mode\n if (\n isDetailedMode &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n\n // enter or exit detail mode when pressing enter\n if (event.key === 'Enter') {\n // textareas support shift and enter, don't prevent default in that case\n if (event.shiftKey && isDetailedMode) {\n return;\n }\n\n event.preventDefault();\n\n if (isDetailedMode) {\n target.select?.();\n onExitDetailedMode();\n } else {\n target.setSelectionRange?.(target.value?.length, target.value?.length);\n }\n\n toggleDetailedMode(editing => !editing);\n return;\n }\n\n // reset the value, or exit edit mode when pressing escape\n if (event.key === 'Escape') {\n if (isDetailedMode) {\n event.preventDefault();\n toggleDetailedMode(false);\n\n if (value !== currentValue) {\n props.onChange(currentValue);\n }\n\n // have to let onChange run before selecting, otherwise the value changes\n requestAnimationFrame(() => target.select?.());\n }\n\n return;\n }\n\n // toggle into detailed mode when actually inputting something\n if (!isPressingMetaKey(event) && (/^[a-z0-9]$/i.test(event.key) || event.key === 'Backspace')) {\n toggleDetailedMode(true);\n }\n };\n\n const handlePaste = () => {\n if (!isDetailedMode) {\n toggleDetailedMode(true);\n }\n };\n\n if (typeof type === 'function') {\n const controlFnProps = {\n ...commonProps,\n invalid,\n setValue: onChange,\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n const target = (event.target as HTMLElement) || null;\n // it make sense to handle keydown for the custom edititng controls only if target is either input or textarea\n if (target && (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')) {\n handleInputKeyDown(event as React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>);\n }\n },\n onPaste: handlePaste,\n value,\n };\n\n return type(controlFnProps, { ...row, ...rowPendingChanges });\n }\n\n if (type === 'switch') {\n return (\n <Switch\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n />\n );\n }\n\n if (type === 'checkbox') {\n return (\n <Checkbox\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n />\n );\n }\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (!isDetailedMode) {\n event.target.select();\n }\n };\n\n if (type === 'datepicker') {\n const valueAsDate = date.parse(value as Date | string | undefined);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDate = (event as any).detail as Date;\n\n if (!valueAsDate || !newDate || (isDate(valueAsDate) && isDate(newDate) && !date.isWeakEqual(valueAsDate, newDate))) {\n props.onChange(newDate);\n }\n };\n\n const handleDatepickerInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const target = event.target as HTMLInputElement;\n\n if (isDetailedMode && event.key === 'Enter') {\n // If the field is empty, save as null before exiting detailed mode\n // This prevents the value from reverting to the previous value\n if (target.value === '') {\n onChange(null);\n } else {\n // When value is not empty, prevent handleInputKeyDown and give full control to Datepicker\n // The datepicker will exit \"detailed mode\" by itself when a valid date change is triggered\n target.select?.();\n return;\n }\n }\n\n handleInputKeyDown(event);\n };\n\n return (\n <Datepicker\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleDatepickerInputKeyDown}\n onPaste={handlePaste}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n value={valueAsDate}\n />\n );\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const dataTypeProps = getDataTypeProperties(dataType);\n onChange(dataTypeProps.parse?.(event.target.value, locale) ?? event.target.value);\n };\n\n if (type === 'textarea') {\n return (\n <TextareaWithAutosizing\n {...commonProps}\n fontSize={fontSize}\n invalid={invalid}\n isTruncated={isTruncated}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n onPaste={handlePaste}\n ref={controlRef as React.RefObject<HTMLTextAreaElement>}\n value={String(value ?? '')}\n />\n );\n }\n\n return (\n <Input\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n onPaste={handlePaste}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n type={dataType === 'number' ? 'number' : undefined}\n value={dataType === 'number' ? (value as number) : String(value ?? '')}\n />\n );\n}) as <TType = unknown>(props: MemoedEditingCellProps<TType>) => React.JSX.Element;\n"],"names":["RowContext","useLocalization","useEditingCellAutofocus","useLazyEffect","isSameDay","isEqualDate","isElementInsideOrTriggeredFromContainer","getCellAttributes","Field","RowMoveIndicator","MemoedEditingCell","isPressingMetaKey","Switch","Checkbox","date.parse","handleChange","isDate","date.isWeakEqual","Datepicker","getDataTypeProperties","TextareaWithAutosizing","Input"],"mappings":"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"}