@feathery/react 2.55.0 → 2.55.1

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 (243) hide show
  1. package/cjs/Form/index.d.ts.map +1 -1
  2. package/cjs/assistant/AssistantChat.d.ts +5 -1
  3. package/cjs/assistant/AssistantChat.d.ts.map +1 -1
  4. package/cjs/{fthry_AssistantChat.Cwyk3iiA.js → fthry_AssistantChat.DgeXP4lR.js} +61 -28
  5. package/cjs/fthry_AssistantChat.DgeXP4lR.js.map +1 -0
  6. package/cjs/{fthry_FormControl.DQFuYIrs.js → fthry_FormControl.CK-nw2Oj.js} +2 -1
  7. package/cjs/fthry_FormControl.CK-nw2Oj.js.map +1 -0
  8. package/cjs/{fthry_InlineTooltip.C-3eLvAv.js → fthry_InlineTooltip.Cy9h9gjn.js} +2 -1
  9. package/cjs/fthry_InlineTooltip.Cy9h9gjn.js.map +1 -0
  10. package/cjs/{fthry_PaymentMethodField.Cs9nBB47.js → fthry_PaymentMethodField.IXXHxOHO.js} +4 -3
  11. package/cjs/fthry_PaymentMethodField.IXXHxOHO.js.map +1 -0
  12. package/cjs/{fthry_Placeholder.CUmM_ix-.js → fthry_Placeholder.DXYnaNAe.js} +2 -1
  13. package/cjs/fthry_Placeholder.DXYnaNAe.js.map +1 -0
  14. package/cjs/{fthry_ShowEyeIcon.D6Lwhfy_.js → fthry_ShowEyeIcon.DTnZ6S_4.js} +2 -1
  15. package/cjs/fthry_ShowEyeIcon.DTnZ6S_4.js.map +1 -0
  16. package/cjs/{fthry_TabsElement.CgL3YMbf.js → fthry_TabsElement.DV-ewkUb.js} +2 -1
  17. package/cjs/fthry_TabsElement.DV-ewkUb.js.map +1 -0
  18. package/cjs/{fthry_auto-track.DhDJ7Six.js → fthry_auto-track.o5MhPfNs.js} +3 -2
  19. package/cjs/fthry_auto-track.o5MhPfNs.js.map +1 -0
  20. package/cjs/fthry_clsx.BtxeOLZW.js +1 -0
  21. package/cjs/fthry_clsx.BtxeOLZW.js.map +1 -0
  22. package/cjs/{fthry_highlighted-body-TPN3WLV5.BzjtpXVW.js → fthry_highlighted-body-TPN3WLV5.Qq_hZNwX.js} +4 -3
  23. package/cjs/fthry_highlighted-body-TPN3WLV5.Qq_hZNwX.js.map +1 -0
  24. package/cjs/{fthry_index.D-JzzjZq.js → fthry_index.3h4evNKu.js} +2 -1
  25. package/cjs/fthry_index.3h4evNKu.js.map +1 -0
  26. package/cjs/{fthry_index.Cl8PTNLj.js → fthry_index.B0EPSx8B.js} +6 -5
  27. package/cjs/fthry_index.B0EPSx8B.js.map +1 -0
  28. package/cjs/{fthry_index.CD8G4Ned.js → fthry_index.B1KmTkBf.js} +3 -2
  29. package/cjs/fthry_index.B1KmTkBf.js.map +1 -0
  30. package/cjs/{fthry_index.DcLxtTSW.js → fthry_index.B5yMmHZ_.js} +3 -2
  31. package/cjs/fthry_index.B5yMmHZ_.js.map +1 -0
  32. package/cjs/{fthry_index.DjoQ9rvl.js → fthry_index.BLexJ9Ob.js} +2 -1
  33. package/cjs/fthry_index.BLexJ9Ob.js.map +1 -0
  34. package/cjs/{fthry_index.Bgz8QD73.js → fthry_index.BO3IuDGb.js} +2 -1
  35. package/cjs/fthry_index.BO3IuDGb.js.map +1 -0
  36. package/cjs/{fthry_index.BF-anQOj.js → fthry_index.Bc5vYOys.js} +36 -33
  37. package/cjs/fthry_index.Bc5vYOys.js.map +1 -0
  38. package/cjs/{fthry_index.CbTgNihl.js → fthry_index.BgPd0Kt0.js} +3 -2
  39. package/cjs/fthry_index.BgPd0Kt0.js.map +1 -0
  40. package/cjs/{fthry_index.CPrsbFNe.js → fthry_index.BgnYzxsO.js} +2 -1
  41. package/cjs/fthry_index.BgnYzxsO.js.map +1 -0
  42. package/cjs/{fthry_index.mHIYCN--.js → fthry_index.BpPUySki.js} +4 -3
  43. package/cjs/fthry_index.BpPUySki.js.map +1 -0
  44. package/cjs/{fthry_index.BkUZn1Wx.js → fthry_index.Bq7WQVUY.js} +3 -2
  45. package/cjs/fthry_index.Bq7WQVUY.js.map +1 -0
  46. package/cjs/{fthry_index.hoemhTIo.js → fthry_index.C1Tqc9wb.js} +5 -4
  47. package/cjs/fthry_index.C1Tqc9wb.js.map +1 -0
  48. package/cjs/{fthry_index.BiQgM_mp.js → fthry_index.CKsNZIop.js} +6 -5
  49. package/cjs/fthry_index.CKsNZIop.js.map +1 -0
  50. package/cjs/{fthry_index.C9hwfIUQ.js → fthry_index.COXEN1Il.js} +6 -5
  51. package/cjs/fthry_index.COXEN1Il.js.map +1 -0
  52. package/cjs/{fthry_index.CPx7ld_r.js → fthry_index.Ckx-5LoW.js} +2 -1
  53. package/cjs/fthry_index.Ckx-5LoW.js.map +1 -0
  54. package/cjs/{fthry_index.BBtmp2lX.js → fthry_index.CtU4UkMt.js} +3 -2
  55. package/cjs/fthry_index.CtU4UkMt.js.map +1 -0
  56. package/cjs/{fthry_index.DZ7mRbvH.js → fthry_index.D-jjx-MA.js} +5 -4
  57. package/cjs/fthry_index.D-jjx-MA.js.map +1 -0
  58. package/cjs/{fthry_index.BLh4y2dS.js → fthry_index.D4Wi-qf5.js} +2 -1
  59. package/cjs/fthry_index.D4Wi-qf5.js.map +1 -0
  60. package/cjs/{fthry_index.D01OXK-l.js → fthry_index.D62ZkEeC.js} +3 -2
  61. package/cjs/fthry_index.D62ZkEeC.js.map +1 -0
  62. package/cjs/{fthry_index.DPvMA8nx.js → fthry_index.DALpwxqy.js} +2 -1
  63. package/cjs/fthry_index.DALpwxqy.js.map +1 -0
  64. package/cjs/{fthry_index.CizURN5l.js → fthry_index.DAg5c_3N.js} +6 -5
  65. package/cjs/fthry_index.DAg5c_3N.js.map +1 -0
  66. package/cjs/{fthry_index.BiYemmOs.js → fthry_index.DPL9ppHU.js} +8 -7
  67. package/cjs/fthry_index.DPL9ppHU.js.map +1 -0
  68. package/cjs/{fthry_index.D--5x2--.js → fthry_index.DtwZgKWK.js} +2 -1
  69. package/cjs/fthry_index.DtwZgKWK.js.map +1 -0
  70. package/cjs/{fthry_index.COUHEKea.js → fthry_index.Du8ElnCt.js} +2 -1
  71. package/cjs/fthry_index.Du8ElnCt.js.map +1 -0
  72. package/cjs/{fthry_index.DYt_hVte.js → fthry_index.DxYbxMKf.js} +5 -4
  73. package/cjs/fthry_index.DxYbxMKf.js.map +1 -0
  74. package/cjs/fthry_index.KDrRVPx5.js +1 -0
  75. package/cjs/fthry_index.KDrRVPx5.js.map +1 -0
  76. package/cjs/{fthry_index.CGx_UCOl.js → fthry_index.KwN_oKSO.js} +11 -10
  77. package/cjs/fthry_index.KwN_oKSO.js.map +1 -0
  78. package/cjs/{fthry_index.ZlEa6xRd.js → fthry_index.NNxFIJmX.js} +3 -2
  79. package/cjs/fthry_index.NNxFIJmX.js.map +1 -0
  80. package/cjs/fthry_index.NshYktAt.js +1 -0
  81. package/cjs/fthry_index.NshYktAt.js.map +1 -0
  82. package/cjs/{fthry_index.fHBYZguT.js → fthry_index.a4NQkjOo.js} +4 -3
  83. package/cjs/fthry_index.a4NQkjOo.js.map +1 -0
  84. package/cjs/{fthry_index.y6sfh246.js → fthry_index.h7QfI9IO.js} +2 -1
  85. package/cjs/fthry_index.h7QfI9IO.js.map +1 -0
  86. package/cjs/{fthry_index.CusanmZ4.js → fthry_index.qS39ayQN.js} +2 -1
  87. package/cjs/fthry_index.qS39ayQN.js.map +1 -0
  88. package/cjs/{fthry_index.DxAMmenQ.js → fthry_index.sF59y24v.js} +4 -3
  89. package/cjs/fthry_index.sF59y24v.js.map +1 -0
  90. package/cjs/{fthry_index.C0qSps2I.js → fthry_index.tLwcoSGn.js} +5 -4
  91. package/cjs/fthry_index.tLwcoSGn.js.map +1 -0
  92. package/cjs/{fthry_index.umd.DcnVOTNd.js → fthry_index.umd.1B8g3dTG.js} +2 -1
  93. package/cjs/fthry_index.umd.1B8g3dTG.js.map +1 -0
  94. package/cjs/{fthry_input.D_ZZBUiA.js → fthry_input.pZnS08Cl.js} +2 -1
  95. package/cjs/fthry_input.pZnS08Cl.js.map +1 -0
  96. package/cjs/fthry_is-plan-event-enabled.nMt_kVye.js +1 -0
  97. package/cjs/fthry_is-plan-event-enabled.nMt_kVye.js.map +1 -0
  98. package/cjs/fthry_logging.B-EvoWue.js +1 -0
  99. package/cjs/fthry_logging.B-EvoWue.js.map +1 -0
  100. package/cjs/{fthry_logging.DnMqEtZk.js → fthry_logging.C_6rR4zX.js} +2 -1
  101. package/cjs/fthry_logging.C_6rR4zX.js.map +1 -0
  102. package/cjs/fthry_mermaid-O7DHMXV3.dTwA6zLz.js +15 -0
  103. package/cjs/fthry_mermaid-O7DHMXV3.dTwA6zLz.js.map +1 -0
  104. package/cjs/{fthry_script.CiEL5EkQ.js → fthry_script.AqPdMfwQ.js} +2 -1
  105. package/cjs/fthry_script.AqPdMfwQ.js.map +1 -0
  106. package/cjs/{fthry_styles.BQvJdT7h.js → fthry_styles.DBeqEAjH.js} +2 -1
  107. package/cjs/fthry_styles.DBeqEAjH.js.map +1 -0
  108. package/cjs/{fthry_useElementSize.DuwzR_F7.js → fthry_useElementSize.M_UHUnNy.js} +2 -1
  109. package/cjs/fthry_useElementSize.M_UHUnNy.js.map +1 -0
  110. package/cjs/{fthry_useSalesforceSync.B6nQeLV2.js → fthry_useSalesforceSync.BhDUSOck.js} +2 -1
  111. package/cjs/fthry_useSalesforceSync.BhDUSOck.js.map +1 -0
  112. package/cjs/{fthry_webfontloader.DKvYHlYz.js → fthry_webfontloader.BDXkgdUD.js} +2 -1
  113. package/cjs/fthry_webfontloader.BDXkgdUD.js.map +1 -0
  114. package/cjs/index.js +2 -1
  115. package/cjs/index.js.map +1 -0
  116. package/cjs/thumbnail-renderer.js +2 -1
  117. package/cjs/thumbnail-renderer.js.map +1 -0
  118. package/cjs/utils/formHelperFunctions.d.ts +1 -0
  119. package/cjs/utils/formHelperFunctions.d.ts.map +1 -1
  120. package/dist/Form/index.d.ts.map +1 -1
  121. package/dist/assistant/AssistantChat.d.ts +5 -1
  122. package/dist/assistant/AssistantChat.d.ts.map +1 -1
  123. package/dist/{fthry_AssistantChat.Be6Mlyxj.js → fthry_AssistantChat.CFzkd8QB.js} +61 -28
  124. package/dist/fthry_AssistantChat.CFzkd8QB.js.map +1 -0
  125. package/dist/{fthry_FormControl.CCkAPkgv.js → fthry_FormControl.BDCpoHHv.js} +2 -1
  126. package/dist/fthry_FormControl.BDCpoHHv.js.map +1 -0
  127. package/dist/{fthry_InlineTooltip.DZD_oDzB.js → fthry_InlineTooltip.9A6g4ZKn.js} +2 -1
  128. package/dist/fthry_InlineTooltip.9A6g4ZKn.js.map +1 -0
  129. package/dist/{fthry_PaymentMethodField.CtsyjvwX.js → fthry_PaymentMethodField.COv2CSdd.js} +4 -3
  130. package/dist/fthry_PaymentMethodField.COv2CSdd.js.map +1 -0
  131. package/dist/{fthry_Placeholder.DuqjLBhG.js → fthry_Placeholder.DY8DKI2u.js} +2 -1
  132. package/dist/fthry_Placeholder.DY8DKI2u.js.map +1 -0
  133. package/dist/{fthry_ShowEyeIcon.Dl2TsElo.js → fthry_ShowEyeIcon.uiiaRGN7.js} +2 -1
  134. package/dist/fthry_ShowEyeIcon.uiiaRGN7.js.map +1 -0
  135. package/dist/{fthry_TabsElement.CYi3mzi8.js → fthry_TabsElement.CA94VYAs.js} +2 -1
  136. package/dist/fthry_TabsElement.CA94VYAs.js.map +1 -0
  137. package/dist/{fthry_auto-track.IfDBqGyL.js → fthry_auto-track.CvItNw22.js} +3 -2
  138. package/dist/fthry_auto-track.CvItNw22.js.map +1 -0
  139. package/dist/fthry_clsx.ChV9xqsO.js +1 -0
  140. package/dist/fthry_clsx.ChV9xqsO.js.map +1 -0
  141. package/dist/{fthry_highlighted-body-TPN3WLV5.HLcU1iPh.js → fthry_highlighted-body-TPN3WLV5.WdY3U2m3.js} +4 -3
  142. package/dist/fthry_highlighted-body-TPN3WLV5.WdY3U2m3.js.map +1 -0
  143. package/dist/{fthry_index.C0NfUYmR.js → fthry_index.B-vTZkL-.js} +3 -2
  144. package/dist/fthry_index.B-vTZkL-.js.map +1 -0
  145. package/dist/{fthry_index.DvUMGcjt.js → fthry_index.B1c0gGmA.js} +3 -2
  146. package/dist/fthry_index.B1c0gGmA.js.map +1 -0
  147. package/dist/{fthry_index.D7q1aD6-.js → fthry_index.B5dBmpnA.js} +5 -4
  148. package/dist/fthry_index.B5dBmpnA.js.map +1 -0
  149. package/dist/{fthry_index.B8hwXw5R.js → fthry_index.B87z2-To.js} +8 -7
  150. package/dist/fthry_index.B87z2-To.js.map +1 -0
  151. package/dist/{fthry_index.C3o7HpC2.js → fthry_index.B9KemIrt.js} +5 -4
  152. package/dist/fthry_index.B9KemIrt.js.map +1 -0
  153. package/dist/{fthry_index.9S43igFs.js → fthry_index.BJvyzCAc.js} +2 -1
  154. package/dist/fthry_index.BJvyzCAc.js.map +1 -0
  155. package/dist/{fthry_index.Dk6aTBdA.js → fthry_index.BLX-FjCy.js} +2 -1
  156. package/dist/fthry_index.BLX-FjCy.js.map +1 -0
  157. package/dist/fthry_index.BNrDR7Qm.js +1 -0
  158. package/dist/fthry_index.BNrDR7Qm.js.map +1 -0
  159. package/dist/{fthry_index.BbE2kPjj.js → fthry_index.BktHb4Vt.js} +4 -3
  160. package/dist/fthry_index.BktHb4Vt.js.map +1 -0
  161. package/dist/{fthry_index.BOvYhhGJ.js → fthry_index.C-GrPQho.js} +5 -4
  162. package/dist/fthry_index.C-GrPQho.js.map +1 -0
  163. package/dist/{fthry_index.DDTSEIcr.js → fthry_index.C8RhaMmp.js} +5 -4
  164. package/dist/fthry_index.C8RhaMmp.js.map +1 -0
  165. package/dist/{fthry_index.CK3aIPly.js → fthry_index.CAr-0vsn.js} +6 -5
  166. package/dist/fthry_index.CAr-0vsn.js.map +1 -0
  167. package/dist/{fthry_index.DYf0nmmc.js → fthry_index.CM3VELMn.js} +2 -1
  168. package/dist/fthry_index.CM3VELMn.js.map +1 -0
  169. package/dist/{fthry_index.IYd_eVta.js → fthry_index.CNE4RarQ.js} +6 -5
  170. package/dist/fthry_index.CNE4RarQ.js.map +1 -0
  171. package/dist/{fthry_index.CtdDjHjk.js → fthry_index.CiiUKa2z.js} +4 -3
  172. package/dist/fthry_index.CiiUKa2z.js.map +1 -0
  173. package/dist/{fthry_index.C5qllWuc.js → fthry_index.Cim--Moj.js} +2 -1
  174. package/dist/fthry_index.Cim--Moj.js.map +1 -0
  175. package/dist/{fthry_index.CaMfiw6o.js → fthry_index.Cm0fLnwB.js} +4 -3
  176. package/dist/fthry_index.Cm0fLnwB.js.map +1 -0
  177. package/dist/{fthry_index.B5JfgN_s.js → fthry_index.CpMkP7mx.js} +2 -1
  178. package/dist/fthry_index.CpMkP7mx.js.map +1 -0
  179. package/dist/{fthry_index.DP8hzsWg.js → fthry_index.Cv3HgvWY.js} +2 -1
  180. package/dist/fthry_index.Cv3HgvWY.js.map +1 -0
  181. package/dist/{fthry_index.4qpRAeb_.js → fthry_index.D03xJSkf.js} +2 -1
  182. package/dist/fthry_index.D03xJSkf.js.map +1 -0
  183. package/dist/{fthry_index.BP1lC3Ex.js → fthry_index.DIG_50Aa.js} +2 -1
  184. package/dist/fthry_index.DIG_50Aa.js.map +1 -0
  185. package/dist/{fthry_index.C09MbTMD.js → fthry_index.DLKx0XPo.js} +3 -2
  186. package/dist/fthry_index.DLKx0XPo.js.map +1 -0
  187. package/dist/{fthry_index.CfnDnR43.js → fthry_index.DLhX3WjM.js} +2 -1
  188. package/dist/fthry_index.DLhX3WjM.js.map +1 -0
  189. package/dist/{fthry_index.C5AkH2wz.js → fthry_index.DWzk6WCB.js} +2 -1
  190. package/dist/fthry_index.DWzk6WCB.js.map +1 -0
  191. package/dist/{fthry_index.Ob5rm80I.js → fthry_index.DgGokcJe.js} +6 -5
  192. package/dist/fthry_index.DgGokcJe.js.map +1 -0
  193. package/dist/{fthry_index.BvcpsGy9.js → fthry_index.DncR6xCH.js} +2 -1
  194. package/dist/fthry_index.DncR6xCH.js.map +1 -0
  195. package/dist/{fthry_index.BN-dojiL.js → fthry_index.DrkIUiwy.js} +3 -2
  196. package/dist/fthry_index.DrkIUiwy.js.map +1 -0
  197. package/dist/{fthry_index.DM3jqh2p.js → fthry_index.DwVKx9mo.js} +11 -10
  198. package/dist/fthry_index.DwVKx9mo.js.map +1 -0
  199. package/dist/{fthry_index.T0q4NPjx.js → fthry_index.Dz5RrWXg.js} +5 -4
  200. package/dist/fthry_index.Dz5RrWXg.js.map +1 -0
  201. package/dist/fthry_index.JD44HVFL.js +1 -0
  202. package/dist/fthry_index.JD44HVFL.js.map +1 -0
  203. package/dist/{fthry_index.DMH1cJrX.js → fthry_index.NJsUjX7N.js} +3 -2
  204. package/dist/fthry_index.NJsUjX7N.js.map +1 -0
  205. package/dist/{fthry_index.BEMCjmqu.js → fthry_index._KlQAXCm.js} +36 -33
  206. package/dist/fthry_index._KlQAXCm.js.map +1 -0
  207. package/dist/{fthry_index.okrffQYp.js → fthry_index.a7icLqJC.js} +3 -2
  208. package/dist/fthry_index.a7icLqJC.js.map +1 -0
  209. package/dist/{fthry_index.C2LGfmCQ.js → fthry_index.uWJ8AuQl.js} +3 -2
  210. package/dist/fthry_index.uWJ8AuQl.js.map +1 -0
  211. package/dist/{fthry_index.umd.DNLZlzl6.js → fthry_index.umd.B9NzGVMs.js} +2 -1
  212. package/dist/fthry_index.umd.B9NzGVMs.js.map +1 -0
  213. package/dist/{fthry_input.DBmpsGLP.js → fthry_input.5SIzhr0g.js} +2 -1
  214. package/dist/fthry_input.5SIzhr0g.js.map +1 -0
  215. package/dist/fthry_is-plan-event-enabled.mXX0dwl-.js +1 -0
  216. package/dist/fthry_is-plan-event-enabled.mXX0dwl-.js.map +1 -0
  217. package/dist/fthry_logging.B1LWsZ3K.js +1 -0
  218. package/dist/fthry_logging.B1LWsZ3K.js.map +1 -0
  219. package/dist/{fthry_logging.DXY4LvSS.js → fthry_logging.CMeHXzJL.js} +2 -1
  220. package/dist/fthry_logging.CMeHXzJL.js.map +1 -0
  221. package/dist/fthry_mermaid-O7DHMXV3.tCh8V3S1.js +9 -0
  222. package/dist/fthry_mermaid-O7DHMXV3.tCh8V3S1.js.map +1 -0
  223. package/dist/{fthry_script.C894YzAl.js → fthry_script.BAKVG8R-.js} +2 -1
  224. package/dist/fthry_script.BAKVG8R-.js.map +1 -0
  225. package/dist/{fthry_styles.Ds16q-VH.js → fthry_styles.V-UcQczk.js} +2 -1
  226. package/dist/fthry_styles.V-UcQczk.js.map +1 -0
  227. package/dist/{fthry_useElementSize.DAdDGR_p.js → fthry_useElementSize.BLZ0FahQ.js} +2 -1
  228. package/dist/fthry_useElementSize.BLZ0FahQ.js.map +1 -0
  229. package/dist/{fthry_useSalesforceSync.BGUfOU7k.js → fthry_useSalesforceSync.AbvbUMbq.js} +2 -1
  230. package/dist/fthry_useSalesforceSync.AbvbUMbq.js.map +1 -0
  231. package/dist/{fthry_webfontloader.j-I3KznG.js → fthry_webfontloader.CzvMzsko.js} +2 -1
  232. package/dist/fthry_webfontloader.CzvMzsko.js.map +1 -0
  233. package/dist/index.js +3 -2
  234. package/dist/index.js.map +1 -0
  235. package/dist/thumbnail-renderer.js +2 -1
  236. package/dist/thumbnail-renderer.js.map +1 -0
  237. package/dist/utils/formHelperFunctions.d.ts +1 -0
  238. package/dist/utils/formHelperFunctions.d.ts.map +1 -1
  239. package/package.json +1 -1
  240. package/umd/{AssistantChat.31154097f6b644e3a50b.js → AssistantChat.a02f39def28c4345c2a3.js} +1 -1
  241. package/umd/index.js +1 -1
  242. package/cjs/fthry_mermaid-O7DHMXV3.D2BXxJ0r.js +0 -14
  243. package/dist/fthry_mermaid-O7DHMXV3.C56szY3n.js +0 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fthry_index.qS39ayQN.js","sources":["../src/elements/components/icons/TrashIcon.tsx","../src/elements/basic/TableElement/styles.ts","../src/elements/basic/TableElement/classNames.ts","../src/elements/basic/TableElement/Search.tsx","../src/elements/basic/TableElement/Sort.tsx","../src/elements/basic/TableElement/Pagination.tsx","../src/elements/basic/TableElement/Actions.tsx","../src/elements/basic/TableElement/EmptyState.tsx","../src/elements/basic/TableElement/EditableCell.tsx","../src/elements/basic/TableElement/utils.ts","../src/elements/basic/TableElement/DeleteConfirm.tsx","../src/elements/basic/TableElement/exampleData.ts","../src/elements/basic/TableElement/useTableData.ts","../src/elements/basic/TableElement/useTableMutations.ts","../src/elements/basic/TableElement/index.tsx"],"sourcesContent":["import React from 'react';\n\nexport default function TrashIcon({\n width = 16,\n height = 16,\n ...props\n}: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n width={width}\n height={height}\n fill='none'\n viewBox='0 0 24 24'\n stroke='currentColor'\n strokeWidth={2}\n xmlns='http://www.w3.org/2000/svg'\n {...props}\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n d='M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16'\n />\n </svg>\n );\n}\n","const colors = {\n white: '#ffffff',\n gray50: '#f9fafb',\n gray100: '#f3f4f6',\n gray200: '#e5e7eb',\n gray300: '#d1d5db',\n gray400: '#9ca3af',\n gray600: '#4b5563',\n gray700: '#374151',\n gray900: '#111827',\n blue50: '#eff6ff',\n blue700: '#1d4ed8',\n red500: '#ef4444',\n red600: '#dc2626'\n} as const;\n\nexport const searchIconStyle = {\n width: '16px',\n height: '16px',\n color: '#6b7280'\n} as const;\n\nexport const sortIconContainerStyle = {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '2px',\n '& svg': {\n marginInlineStart: '4px',\n width: '20px',\n height: '20px'\n }\n} as const;\n\nexport const sortArrowStyle = {\n width: '12px',\n height: '12px',\n color: colors.gray400,\n opacity: 0.3,\n '&[data-active=\"true\"]': {\n color: colors.blue700,\n opacity: 1\n }\n} as const;\n\nexport const sortHeaderContentStyle = {\n display: 'flex',\n alignItems: 'center',\n gap: '8px'\n} as const;\n\nexport const containerStyle = {\n position: 'relative',\n overflowX: 'auto',\n overflowY: 'auto',\n backgroundColor: colors.white,\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n borderRadius: '8px',\n border: `1px solid ${colors.gray200}`,\n minWidth: '100%',\n maxWidth: '100%',\n height: '100%',\n boxSizing: 'border-box'\n} as const;\n\nexport const emptyStateContainerStyle = {\n display: 'flex',\n flexDirection: 'column' as const,\n alignItems: 'center',\n justifyContent: 'center',\n padding: '64px 24px',\n textAlign: 'center' as const\n} as const;\n\nexport const emptyStateTextStyle = {\n color: colors.gray600,\n fontSize: '16px',\n fontWeight: '500',\n margin: 0\n} as const;\n\nexport const searchWrapperStyle = {\n position: 'relative',\n flex: 1\n} as const;\n\nexport const searchIconWrapperStyle = {\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n display: 'flex',\n alignItems: 'center',\n paddingLeft: '12px',\n pointerEvents: 'none'\n} as const;\n\nexport const searchInputStyle = {\n display: 'block',\n width: '100%',\n maxWidth: '384px',\n paddingLeft: '36px',\n paddingRight: '12px',\n paddingTop: '10px',\n paddingBottom: '10px',\n backgroundColor: colors.gray50,\n border: `1px solid ${colors.gray200}`,\n color: colors.gray900,\n fontSize: '14px',\n borderRadius: '8px',\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n boxSizing: 'border-box' as const\n} as const;\n\nexport const tableStyle = {\n width: '100%',\n maxWidth: '100%',\n fontSize: '14px',\n textAlign: 'left',\n color: colors.gray600,\n textIndent: 0,\n borderColor: 'inherit',\n borderCollapse: 'collapse'\n} as const;\n\nexport const theadStyle = {\n fontSize: '14px',\n color: colors.gray600,\n backgroundColor: colors.gray50,\n borderBottom: `1px solid ${colors.gray200}`\n} as const;\n\nexport const thStyle = {\n padding: '12px 24px',\n fontWeight: '500',\n userSelect: 'none',\n whiteSpace: 'nowrap'\n} as const;\n\nexport const rowStyle = {\n backgroundColor: colors.white,\n borderBottom: `1px solid ${colors.gray200}`,\n transition: 'background-color 0.2s'\n} as const;\n\nexport const cellStyle = {\n padding: '16px 24px',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere'\n} as const;\n\nexport const navStyle = {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n padding: '16px',\n gap: '8px'\n} as const;\n\nexport const navTextStyle = {\n fontSize: '14px',\n fontWeight: 'normal',\n color: colors.gray600\n} as const;\n\nexport const navTextBoldStyle = {\n fontWeight: '600',\n color: colors.gray900\n} as const;\n\nexport const paginationListStyle = {\n display: 'flex',\n marginLeft: '-1px',\n fontSize: '14px',\n listStyle: 'none',\n padding: 0,\n margin: 0\n} as const;\n\nexport const buttonStyle = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: colors.gray600,\n backgroundColor: colors.gray50,\n boxSizing: 'border-box' as const,\n border: `1px solid ${colors.gray200}`,\n fontWeight: '500',\n fontSize: '14px',\n textDecoration: 'none',\n cursor: 'pointer',\n height: '36px',\n wordBreak: 'keep-all',\n overflowWrap: 'normal',\n '&:hover': {\n backgroundColor: colors.gray100,\n color: colors.gray900\n },\n '&:disabled:hover': {\n color: colors.gray600,\n backgroundColor: colors.gray50,\n cursor: 'auto'\n }\n} as const;\n\nexport const actionButtonStyle = {\n ...buttonStyle,\n borderRadius: '4px',\n paddingInline: '8px',\n paddingBlock: '4px',\n width: 'auto',\n height: 'auto',\n minHeight: '28px',\n position: 'relative'\n} as const;\n\nexport const menuIconStyle = {\n width: '16px',\n height: '16px',\n color: colors.gray600\n} as const;\n\nexport const actionMenuStyle = {\n position: 'fixed' as const,\n backgroundColor: colors.white,\n border: `1px solid ${colors.gray300}`,\n borderRadius: '4px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',\n zIndex: 9999,\n minWidth: '120px'\n} as const;\n\nexport const actionMenuItemStyle = {\n display: 'block',\n width: '100%',\n textAlign: 'left' as const,\n paddingLeft: '12px',\n paddingRight: '12px',\n paddingTop: '8px',\n paddingBottom: '8px',\n fontSize: '14px',\n color: colors.gray700,\n backgroundColor: 'transparent',\n border: 'none',\n cursor: 'pointer',\n whiteSpace: 'nowrap' as const,\n position: 'relative',\n '&:hover': {\n backgroundColor: colors.gray100\n },\n '&:disabled:hover': {\n backgroundColor: 'transparent',\n cursor: 'auto'\n },\n '&:first-of-type': {\n borderTopLeftRadius: '4px',\n borderTopRightRadius: '4px'\n },\n '&:last-of-type': {\n borderBottomLeftRadius: '4px',\n borderBottomRightRadius: '4px'\n }\n} as const;\n\nexport const actionMenuSeparatorStyle = {\n borderTop: `1px solid ${colors.gray200}`,\n margin: '4px 0'\n} as const;\n\nexport const actionMenuDeleteItemStyle = {\n ...actionMenuItemStyle,\n color: colors.red500,\n '&:hover': {\n backgroundColor: colors.gray100,\n color: colors.red600\n }\n} as const;\n\nexport const actionIconButtonStyle = {\n ...actionButtonStyle,\n aspectRatio: 1,\n paddingLeft: 0,\n paddingRight: 0\n} as const;\n\nexport const actionContainerStyle = {\n display: 'flex',\n gap: '8px',\n justifyContent: 'flex-end'\n} as const;\n\nexport const pageButtonStyle = {\n ...buttonStyle,\n width: '36px',\n borderRightWidth: 0\n} as const;\n\nexport const pageButtonPrevStyle = {\n ...pageButtonStyle,\n borderTopLeftRadius: '8px',\n borderBottomLeftRadius: '8px',\n paddingLeft: '12px',\n paddingRight: '12px',\n width: 'auto'\n} as const;\n\nexport const pageButtonNextStyle = {\n ...pageButtonStyle,\n borderTopRightRadius: '8px',\n borderBottomRightRadius: '8px',\n paddingLeft: '12px',\n paddingRight: '12px',\n width: 'auto',\n borderRightWidth: 1\n} as const;\n\nexport const pageButtonActiveStyle = {\n ...pageButtonStyle,\n color: colors.blue700,\n backgroundColor: colors.blue50,\n border: `1px solid ${colors.gray200}`\n} as const;\n\nexport const pageButtonDisabledStyle = {\n opacity: 0.8,\n cursor: 'default',\n color: colors.gray400,\n '&:hover': {\n backgroundColor: colors.gray50,\n color: colors.gray400\n }\n} as const;\n\nexport const overflowSelectStyle = {\n ...pageButtonStyle,\n appearance: 'none' as const,\n WebkitAppearance: 'none' as const,\n cursor: 'pointer',\n paddingLeft: '8px',\n paddingRight: '8px',\n width: '36px',\n textAlign: 'center' as const,\n outline: 'none',\n '&:hover': {\n backgroundColor: colors.gray100,\n color: colors.gray900\n },\n '&:focus': {\n outline: 'none'\n }\n} as const;\n\n// Editing styles\n\nexport const toolbarStyle = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '16px',\n borderBottom: `1px solid ${colors.gray200}`,\n gap: '12px'\n} as const;\n\nexport const addRowButtonStyle = {\n ...buttonStyle,\n borderRadius: '8px',\n paddingLeft: '12px',\n paddingRight: '12px',\n whiteSpace: 'nowrap' as const\n} as const;\n\nexport const clickToEditStyle = {\n color: colors.gray400,\n cursor: 'pointer',\n userSelect: 'none' as const,\n fontSize: '14px'\n} as const;\n\nexport const cellInputStyle = {\n display: 'block',\n width: '100%',\n minWidth: 0,\n maxWidth: '100%',\n padding: '4px 8px',\n border: `1px solid ${colors.blue700}`,\n borderRadius: '4px',\n fontSize: '14px',\n color: colors.gray900,\n outline: 'none',\n boxSizing: 'border-box' as const,\n resize: 'none' as const,\n overflowY: 'auto' as const,\n fontFamily: 'inherit',\n lineHeight: 1.5\n} as const;\n\nexport const editableCellContentStyle = {\n display: 'flex',\n alignItems: 'flex-start',\n gap: '8px'\n} as const;\n\nexport const editableCellTextStyle = {\n flex: 1,\n minWidth: 0,\n whiteSpace: 'pre-wrap' as const,\n overflowWrap: 'anywhere' as const,\n wordBreak: 'break-word' as const,\n lineHeight: 1.5\n} as const;\n\nexport const editingCellContentStyle = {\n flex: 1,\n minWidth: 0,\n position: 'relative' as const,\n alignSelf: 'stretch'\n} as const;\n\nexport const editingCellSizerStyle = {\n ...cellInputStyle,\n whiteSpace: 'pre-wrap' as const,\n overflowWrap: 'anywhere' as const,\n wordBreak: 'break-word' as const,\n visibility: 'hidden' as const,\n pointerEvents: 'none' as const\n} as const;\n\nexport const editingCellInputStyle = {\n position: 'absolute' as const,\n inset: 0,\n height: '100%'\n} as const;\n\nexport const deleteColumnStyle = {\n width: '40px',\n padding: '0 8px'\n} as const;\n\nexport const deleteIconStyle = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '28px',\n height: '28px',\n borderRadius: '4px',\n border: 'none',\n backgroundColor: 'transparent',\n color: colors.gray400,\n cursor: 'pointer',\n opacity: 0,\n transition: 'opacity 0.15s',\n padding: 0,\n 'tr:hover &': {\n opacity: 1\n },\n '&:hover': {\n backgroundColor: colors.gray100,\n color: colors.red500\n }\n} as const;\n\nexport const confirmPopoverStyle = {\n position: 'fixed' as const,\n backgroundColor: colors.white,\n border: `1px solid ${colors.gray300}`,\n borderRadius: '8px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',\n zIndex: 9999,\n padding: '12px 16px'\n} as const;\n\nexport const confirmTextStyle = {\n margin: '0 0 12px 0',\n fontSize: '14px',\n fontWeight: '500',\n color: colors.gray900\n} as const;\n\nexport const confirmButtonRowStyle = {\n display: 'flex',\n gap: '8px',\n justifyContent: 'flex-end'\n} as const;\n\nexport const confirmCancelButtonStyle = {\n ...buttonStyle,\n borderRadius: '6px',\n paddingLeft: '12px',\n paddingRight: '12px',\n height: '32px'\n} as const;\n\nexport const confirmDeleteButtonStyle = {\n ...buttonStyle,\n borderRadius: '6px',\n paddingLeft: '12px',\n paddingRight: '12px',\n height: '32px',\n backgroundColor: colors.red500,\n color: colors.white,\n border: `1px solid ${colors.red500}`,\n '&:hover': {\n backgroundColor: colors.red600,\n color: colors.white\n }\n} as const;\n","// Public, user-targetable class names for the parts of the table element.\n//\n// These are a documented, stable API: form builders write custom CSS against\n// them (e.g. `.feathery-table-cell { ... }`).\n//\n// Treat renames/removals as breaking changes to customer CSS.\nexport const TABLE_CLASS = {\n container: 'feathery-table-container',\n toolbar: 'feathery-table-toolbar',\n search: 'feathery-table-search',\n searchInput: 'feathery-table-search-input',\n addRowButton: 'feathery-table-add-row-button',\n table: 'feathery-table',\n header: 'feathery-table-header',\n headerCell: 'feathery-table-header-cell',\n sortIcon: 'feathery-table-sort-icon',\n body: 'feathery-table-body',\n row: 'feathery-table-row',\n cell: 'feathery-table-cell',\n editableCell: 'feathery-table-editable-cell',\n cellInput: 'feathery-table-cell-input',\n actionButton: 'feathery-table-action-button',\n actionMenuButton: 'feathery-table-action-menu-button',\n actionMenu: 'feathery-table-action-menu',\n actionMenuItem: 'feathery-table-action-menu-item',\n deleteButton: 'feathery-table-delete-button',\n deleteConfirm: 'feathery-table-delete-confirm',\n pagination: 'feathery-table-pagination',\n pageButton: 'feathery-table-page-button',\n pageSelect: 'feathery-table-page-select',\n empty: 'feathery-table-empty'\n} as const;\n","import {\n searchIconWrapperStyle,\n searchIconStyle,\n searchInputStyle,\n searchWrapperStyle\n} from './styles';\nimport { TABLE_CLASS } from './classNames';\n\nfunction SearchIcon() {\n return (\n <svg\n css={searchIconStyle}\n fill='none'\n viewBox='0 0 24 24'\n stroke='currentColor'\n strokeWidth={2}\n >\n <path\n strokeLinecap='round'\n d='M21 21l-3.5-3.5M17 10a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z'\n />\n </svg>\n );\n}\n\ntype SearchProps = {\n searchQuery: string;\n onSearchChange: (query: string) => void;\n};\n\nexport function Search({ searchQuery, onSearchChange }: SearchProps) {\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n }\n };\n\n return (\n <div className={TABLE_CLASS.search} css={searchWrapperStyle as any}>\n <div css={searchIconWrapperStyle as any}>\n <SearchIcon />\n </div>\n <input\n type='text'\n className={TABLE_CLASS.searchInput}\n css={searchInputStyle}\n placeholder='Search'\n value={searchQuery}\n onChange={(e) => onSearchChange(e.target.value)}\n onKeyDown={handleKeyDown}\n />\n </div>\n );\n}\n","import { Fragment } from 'react';\nimport {\n thStyle,\n sortIconContainerStyle,\n sortArrowStyle,\n sortHeaderContentStyle\n} from './styles';\nimport { TABLE_CLASS } from './classNames';\nimport { Column } from './types';\n\ntype SortHeaderProps = {\n columns: Column[];\n enableSort: boolean;\n sortColumn: string | null;\n sortDirection: 'asc' | 'desc';\n onSort: (columnName: string) => void;\n styles: any;\n};\n\ntype SortIconProps = {\n isSorted: boolean;\n sortDirection: 'asc' | 'desc';\n};\n\nexport function SortIcon({ isSorted, sortDirection }: SortIconProps) {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n className={TABLE_CLASS.sortIcon}\n viewBox='0 0 24 24'\n fill='none'\n aria-hidden='true'\n >\n <path\n css={sortArrowStyle}\n stroke='currentColor'\n data-active={(isSorted && sortDirection === 'asc') || undefined}\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='m8 9 4-4 4 4'\n />\n <path\n css={sortArrowStyle}\n stroke='currentColor'\n data-active={(isSorted && sortDirection === 'desc') || undefined}\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='m8 15 4 4 4-4'\n />\n </svg>\n );\n}\n\nexport function SortHeader({\n columns,\n enableSort,\n sortColumn,\n sortDirection,\n onSort,\n styles\n}: SortHeaderProps) {\n return (\n <Fragment>\n {columns.map((column, index) => {\n const isSortable = enableSort;\n const isSorted = sortColumn === column.name;\n const isFirstColumn = index === 0;\n\n return (\n <th\n key={index}\n scope='col'\n className={TABLE_CLASS.headerCell}\n data-feathery-field={column.field_key}\n onClick={() => isSortable && onSort(column.name)}\n css={{\n ...thStyle,\n ...(isFirstColumn ? {} : { paddingLeft: 0 }),\n ...styles.getTarget('th'),\n ...(isSortable ? { cursor: 'pointer' } : {})\n }}\n >\n <div css={sortHeaderContentStyle}>\n <span>{column.name}</span>\n {isSortable && (\n <span css={sortIconContainerStyle}>\n <SortIcon isSorted={isSorted} sortDirection={sortDirection} />\n </span>\n )}\n </div>\n </th>\n );\n })}\n </Fragment>\n );\n}\n","import { Fragment } from 'react';\nimport {\n navStyle,\n navTextBoldStyle,\n navTextStyle,\n pageButtonActiveStyle,\n pageButtonNextStyle,\n pageButtonPrevStyle,\n pageButtonStyle,\n pageButtonDisabledStyle,\n overflowSelectStyle,\n paginationListStyle\n} from './styles';\nimport { TABLE_CLASS } from './classNames';\n\ntype PaginationProps = {\n currentPage: number;\n totalPages: number;\n totalItems: number;\n rowsPerPage: number;\n onPageChange: (page: number) => void;\n};\n\ntype PageInfoProps = Pick<\n PaginationProps,\n 'currentPage' | 'totalItems' | 'rowsPerPage'\n>;\n\n// ex. Showing 1-10 of 30\nfunction PageInfo({ currentPage, totalItems, rowsPerPage }: PageInfoProps) {\n return (\n <span css={navTextStyle}>\n Showing{' '}\n <span css={navTextBoldStyle}>\n {currentPage * rowsPerPage + 1}-\n {Math.min((currentPage + 1) * rowsPerPage, totalItems)}\n </span>{' '}\n of <span css={navTextBoldStyle}>{totalItems}</span>\n </span>\n );\n}\n\ntype PreviousButtonProps = {\n disabled: boolean;\n onClick: () => void;\n};\n\nfunction PreviousButton({ disabled, onClick }: PreviousButtonProps) {\n return (\n <button\n type='button'\n onClick={onClick}\n disabled={disabled}\n className={TABLE_CLASS.pageButton}\n css={{\n ...(pageButtonPrevStyle as any),\n ...(disabled ? pageButtonDisabledStyle : {})\n }}\n >\n Previous\n </button>\n );\n}\n\ntype NextButtonProps = {\n disabled: boolean;\n onClick: () => void;\n};\n\nfunction NextButton({ disabled, onClick }: NextButtonProps) {\n return (\n <button\n type='button'\n onClick={onClick}\n disabled={disabled}\n className={TABLE_CLASS.pageButton}\n css={{\n ...(pageButtonNextStyle as any),\n ...(disabled ? pageButtonDisabledStyle : {})\n }}\n >\n Next\n </button>\n );\n}\n\ntype OverflowSelectProps = {\n pages: number[];\n onPageChange: (page: number) => void;\n};\n\nfunction OverflowSelect({ pages, onPageChange }: OverflowSelectProps) {\n return (\n <select\n value=''\n onChange={(e) => {\n onPageChange(Number(e.target.value));\n }}\n aria-label='Go to page'\n className={TABLE_CLASS.pageSelect}\n css={overflowSelectStyle as any}\n >\n <option value='' disabled hidden>\n ...\n </option>\n {pages.map((page) => (\n <option key={page} value={page}>\n {page + 1}\n </option>\n ))}\n </select>\n );\n}\n\ntype PageNumbersProps = {\n currentPage: number;\n totalPages: number;\n onPageChange: (page: number) => void;\n};\n\nfunction PageNumbers({\n currentPage,\n totalPages,\n onPageChange\n}: PageNumbersProps) {\n const visiblePages = new Set<number>();\n visiblePages.add(0);\n visiblePages.add(totalPages - 1);\n for (\n let i = Math.max(0, currentPage - 1);\n i <= Math.min(totalPages - 1, currentPage + 1);\n i++\n ) {\n visiblePages.add(i);\n }\n\n const items: Array<\n { type: 'page'; page: number } | { type: 'overflow'; pages: number[] }\n > = [];\n const sortedVisible = Array.from(visiblePages).sort((a, b) => a - b);\n\n for (let i = 0; i < sortedVisible.length; i++) {\n const page = sortedVisible[i];\n const prevPage = i > 0 ? sortedVisible[i - 1] : -1;\n\n if (page - prevPage > 1) {\n const hiddenPages: number[] = [];\n for (let j = prevPage + 1; j < page; j++) {\n hiddenPages.push(j);\n }\n items.push({ type: 'overflow', pages: hiddenPages });\n }\n\n items.push({ type: 'page', page });\n }\n\n return (\n <Fragment>\n {items.map((item, idx) => {\n if (item.type === 'overflow') {\n if (item.pages.length === 1) {\n return (\n <li key={`overflow-${idx}`}>\n <button\n type='button'\n onClick={() => onPageChange(item.pages[0])}\n className={TABLE_CLASS.pageButton}\n css={pageButtonStyle as any}\n >\n {item.pages[0] + 1}\n </button>\n </li>\n );\n }\n return (\n <li key={`overflow-${idx}`}>\n <OverflowSelect pages={item.pages} onPageChange={onPageChange} />\n </li>\n );\n }\n\n const isActive = item.page === currentPage;\n return (\n <li key={item.page}>\n <button\n type='button'\n onClick={() => onPageChange(item.page)}\n aria-current={isActive ? 'page' : undefined}\n className={TABLE_CLASS.pageButton}\n css={\n isActive\n ? (pageButtonActiveStyle as any)\n : (pageButtonStyle as any)\n }\n >\n {item.page + 1}\n </button>\n </li>\n );\n })}\n </Fragment>\n );\n}\n\nexport function Pagination({\n currentPage,\n totalPages,\n totalItems,\n rowsPerPage,\n onPageChange\n}: PaginationProps) {\n if (totalPages <= 1) return null;\n\n return (\n <nav\n className={TABLE_CLASS.pagination}\n css={navStyle as any}\n aria-label='Table navigation'\n >\n <PageInfo\n currentPage={currentPage}\n totalItems={totalItems}\n rowsPerPage={rowsPerPage}\n />\n <ul css={paginationListStyle}>\n <li>\n <PreviousButton\n disabled={currentPage === 0}\n onClick={() => onPageChange(Math.max(0, currentPage - 1))}\n />\n </li>\n <PageNumbers\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={onPageChange}\n />\n <li>\n <NextButton\n disabled={currentPage >= totalPages - 1}\n onClick={() => {\n onPageChange(Math.min(totalPages - 1, currentPage + 1));\n }}\n />\n </li>\n </ul>\n </nav>\n );\n}\n","import { useState, useRef, useEffect, Fragment } from 'react';\nimport { createPortal } from 'react-dom';\nimport { fieldValues } from '../../../utils/init';\nimport {\n actionButtonStyle,\n actionMenuStyle,\n actionMenuItemStyle,\n actionMenuSeparatorStyle,\n actionMenuDeleteItemStyle,\n actionContainerStyle,\n menuIconStyle,\n actionIconButtonStyle\n} from './styles';\nimport { TABLE_CLASS } from './classNames';\nimport { Action, Column } from './types';\nimport { featheryDoc } from '../../../utils/browser';\n\nfunction MenuIcon() {\n return (\n <svg css={menuIconStyle} fill='currentColor' viewBox='0 0 24 24'>\n <circle cx='12' cy='5' r='2' />\n <circle cx='12' cy='12' r='2' />\n <circle cx='12' cy='19' r='2' />\n </svg>\n );\n}\n\ntype ActionButtonsProps = {\n actions: Action[];\n rowIndex: number;\n columnData: Column[];\n fieldValues?: Record<string, any>;\n onClick: (data: any) => void | Promise<void>;\n forceInlineButtons?: boolean;\n tableId?: string;\n buttonLoaders?: Record<string, any>;\n canDeleteRows?: boolean;\n onDeleteRow?: (rowIndex: number) => void;\n};\n\nexport function ActionButtons({\n actions,\n rowIndex,\n columnData,\n fieldValues: fieldValuesProp,\n onClick,\n forceInlineButtons = false,\n tableId = '',\n buttonLoaders = {},\n canDeleteRows = false,\n onDeleteRow\n}: ActionButtonsProps) {\n if (actions.length === 0) return null;\n\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const [menuPosition, setMenuPosition] = useState({ top: 0, left: 0 });\n const containerRef = useRef<HTMLDivElement>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const menuButtonRef = useRef<HTMLButtonElement>(null);\n\n const useOverflow = !forceInlineButtons && actions.length > 1;\n\n useEffect(() => {\n if (!isMenuOpen) return;\n\n const handleClickOutside = (event: MouseEvent) => {\n if (\n menuRef.current &&\n !menuRef.current.contains(event.target as Node) &&\n menuButtonRef.current &&\n !menuButtonRef.current.contains(event.target as Node)\n ) {\n setIsMenuOpen(false);\n }\n };\n\n const handleScroll = () => {\n setIsMenuOpen(false);\n };\n\n const doc = featheryDoc();\n doc.addEventListener('mousedown', handleClickOutside);\n doc.addEventListener('scroll', handleScroll, true);\n\n return () => {\n doc.removeEventListener('mousedown', handleClickOutside);\n doc.removeEventListener('scroll', handleScroll, true);\n };\n }, [isMenuOpen]);\n\n const handleActionClick = (action: Action) => {\n setIsMenuOpen(false);\n\n const activeFieldValues = fieldValuesProp || fieldValues;\n\n const rowData: Record<string, any> = {};\n columnData.forEach((col) => {\n const fValue = activeFieldValues[col.field_key];\n const cValue = Array.isArray(fValue) ? fValue[rowIndex] : fValue;\n rowData[col.name] = cValue;\n });\n\n onClick({\n action: action.label,\n rowIndex,\n rowData\n });\n };\n\n const handleMenuToggle = () => {\n if (!isMenuOpen && menuButtonRef.current) {\n const rect = menuButtonRef.current.getBoundingClientRect();\n setMenuPosition({\n top: rect.bottom + 4,\n left: rect.right\n });\n }\n setIsMenuOpen(!isMenuOpen);\n };\n\n const overflowLoader =\n buttonLoaders[\n `${tableId}_${rowIndex}_${\n actions.find((action) => {\n const buttonKey = `${tableId}_${rowIndex}_${action.label}`;\n return buttonLoaders[buttonKey]?.loader;\n })?.label\n }`\n ]?.loader ?? null;\n\n return (\n <div ref={containerRef} css={actionContainerStyle}>\n {useOverflow ? (\n <Fragment>\n <button\n ref={menuButtonRef}\n type='button'\n disabled={overflowLoader}\n onClick={(e) => {\n e.stopPropagation();\n handleMenuToggle();\n }}\n className={TABLE_CLASS.actionMenuButton}\n css={actionIconButtonStyle}\n >\n {overflowLoader ? (\n <div\n style={{\n height: '16px',\n width: '16px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }}\n >\n {overflowLoader}\n </div>\n ) : (\n <MenuIcon />\n )}\n </button>\n {isMenuOpen &&\n createPortal(\n <div\n ref={menuRef}\n className={TABLE_CLASS.actionMenu}\n css={{\n ...actionMenuStyle,\n top: `${menuPosition.top}px`,\n left: `${menuPosition.left}px`,\n transform: 'translateX(-100%)'\n }}\n >\n {actions.map((action, index) => {\n const disabled = Object.keys(buttonLoaders).length > 0;\n return (\n <button\n key={index}\n type='button'\n onClick={(e) => {\n e.stopPropagation();\n handleActionClick(action);\n }}\n className={TABLE_CLASS.actionMenuItem}\n css={actionMenuItemStyle}\n disabled={disabled}\n >\n {action.label}\n </button>\n );\n })}\n {canDeleteRows && onDeleteRow && (\n <>\n <div css={actionMenuSeparatorStyle} />\n <button\n type='button'\n onClick={(e) => {\n e.stopPropagation();\n setIsMenuOpen(false);\n onDeleteRow(rowIndex);\n }}\n className={TABLE_CLASS.actionMenuItem}\n css={actionMenuDeleteItemStyle}\n >\n Delete\n </button>\n </>\n )}\n </div>,\n featheryDoc().body\n )}\n </Fragment>\n ) : (\n actions.map((action, index) => {\n const buttonKey = `${tableId}_${rowIndex}_${action.label}`;\n const loader = buttonLoaders[buttonKey]?.loader;\n const disabled = Object.keys(buttonLoaders).length > 0;\n return (\n <button\n key={index}\n type='button'\n onClick={(e) => {\n e.stopPropagation();\n handleActionClick(action);\n }}\n className={TABLE_CLASS.actionButton}\n css={actionButtonStyle}\n disabled={disabled}\n >\n <span style={{ visibility: loader ? 'hidden' : 'visible' }}>\n {action.label}\n </span>\n {loader && (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n height: '16px',\n width: '16px'\n }}\n >\n {loader}\n </div>\n )}\n </button>\n );\n })\n )}\n </div>\n );\n}\n","import { emptyStateContainerStyle, emptyStateTextStyle } from './styles';\nimport { TABLE_CLASS } from './classNames';\n\ntype EmptyStateProps = {\n hasSearchQuery: boolean;\n};\n\nexport function EmptyState({ hasSearchQuery }: EmptyStateProps) {\n return (\n <div className={TABLE_CLASS.empty} css={emptyStateContainerStyle}>\n {hasSearchQuery && (\n <svg\n css={{\n width: '48px',\n height: '48px',\n color: '#9ca3af',\n marginBottom: '16px'\n }}\n fill='none'\n viewBox='0 0 24 24'\n stroke='currentColor'\n strokeWidth={1.5}\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n d='M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z'\n />\n </svg>\n )}\n <p css={emptyStateTextStyle}>\n {hasSearchQuery ? 'No results found' : 'No data available'}\n </p>\n {hasSearchQuery && (\n <p css={{ ...emptyStateTextStyle, fontSize: '14px', marginTop: '8px' }}>\n Try adjusting your search query\n </p>\n )}\n </div>\n );\n}\n","import { useState, useRef, useEffect } from 'react';\nimport { featheryDoc } from '../../../utils/browser';\nimport { stringifyWithNull } from '../../../utils/primitives';\nimport {\n clickToEditStyle,\n cellInputStyle,\n editableCellContentStyle,\n editableCellTextStyle,\n editingCellContentStyle,\n editingCellInputStyle,\n editingCellSizerStyle\n} from './styles';\nimport { TABLE_CLASS } from './classNames';\n\ntype EditableCellProps = {\n value: any;\n fieldKey: string;\n rowIndex: number;\n isEditing: boolean;\n onEdit: (fieldKey: string, rowIndex: number, newValue: any) => void;\n onStartEdit: () => void;\n onStopEdit: () => void;\n onNavigate: (backward: boolean) => void;\n};\n\nexport function EditableCell({\n value,\n fieldKey,\n rowIndex,\n isEditing,\n onEdit,\n onStartEdit,\n onStopEdit,\n onNavigate\n}: EditableCellProps) {\n const [editValue, setEditValue] = useState('');\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const shouldSaveRef = useRef(true);\n // Suppresses the blur that fires when focus moves to the next cell during Tab\n // navigation, so it does not re-save or clear the freshly-set editing cell.\n const skipBlurRef = useRef(false);\n\n const displayValue = stringifyWithNull(value) ?? '';\n const isEmpty = displayValue === '';\n\n // Seed the draft value the moment this cell becomes the active editor, before\n // paint, so the textarea shows the right content on first render (no flash).\n const prevEditingRef = useRef(false);\n if (isEditing && !prevEditingRef.current) setEditValue(displayValue);\n prevEditingRef.current = isEditing;\n\n useEffect(() => {\n if (isEditing && inputRef.current) {\n inputRef.current.focus();\n inputRef.current.select();\n }\n }, [isEditing]);\n\n const startEditing = () => {\n // Force any other cell that is mid-edit to commit and close via its own\n // blur handler before opening this one. Clicking a cell's (non-focusable)\n const active = featheryDoc().activeElement as HTMLElement | null;\n if (active && active !== inputRef.current) active.blur();\n onStartEdit();\n };\n\n const saveValue = () => {\n if (editValue !== displayValue) {\n onEdit(fieldKey, rowIndex, editValue);\n }\n };\n\n const handleBlur = () => {\n if (skipBlurRef.current) {\n skipBlurRef.current = false;\n return;\n }\n if (shouldSaveRef.current) saveValue();\n shouldSaveRef.current = true;\n onStopEdit();\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault();\n inputRef.current?.blur();\n } else if (e.key === 'Escape') {\n e.preventDefault();\n shouldSaveRef.current = false;\n inputRef.current?.blur();\n } else if (e.key === 'Tab') {\n e.preventDefault();\n skipBlurRef.current = true;\n saveValue();\n onNavigate(e.shiftKey);\n }\n };\n\n if (isEditing) {\n return (\n <div className={TABLE_CLASS.editableCell} css={editingCellContentStyle}>\n <div css={editingCellSizerStyle}>{`${editValue}\\u200b`}</div>\n <textarea\n ref={inputRef}\n value={editValue}\n onChange={(e) => setEditValue(e.target.value)}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n className={TABLE_CLASS.cellInput}\n css={{ ...cellInputStyle, ...editingCellInputStyle }}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n );\n }\n\n if (isEmpty) {\n return (\n <span\n className={TABLE_CLASS.editableCell}\n css={clickToEditStyle}\n onClick={startEditing}\n >\n Click to edit\n </span>\n );\n }\n\n return (\n <div className={TABLE_CLASS.editableCell} css={editableCellContentStyle}>\n <span\n css={{ ...editableCellTextStyle, cursor: 'pointer' }}\n onClick={startEditing}\n >\n {displayValue}\n </span>\n </div>\n );\n}\n","import { stringifyWithNull } from '../../../utils/primitives';\nimport { CellCoord } from './types';\n\nexport type SortableValue = {\n original: any;\n asNumber: number | null;\n asDate: Date | null;\n asString: string;\n};\n\n// Utility functions for sorting strings as numbers and dates\nexport function tryParseNumber(value: any): number | null {\n if (value === null || value === undefined || value === '') return null;\n\n const stringValue = String(value).trim();\n\n // Remove common number formatting characters\n const cleaned = stringValue\n .replace(/[$€£¥]/g, '') // Currency symbols\n .replace(/[,%]/g, '') // Commas and percent\n .replace(/\\s/g, ''); // Spaces\n\n const parsed = parseFloat(cleaned);\n return isNaN(parsed) ? null : parsed;\n}\n\nexport function tryParseDate(value: any): Date | null {\n if (value === null || value === undefined || value === '') return null;\n\n const stringValue = String(value).trim();\n\n // Try standard Date constructor first\n const standardDate = new Date(stringValue);\n if (!isNaN(standardDate.getTime())) {\n return standardDate;\n }\n\n const formats = [\n // US format: MM/DD/YYYY or M/D/YY\n /^(\\d{1,2})[/-](\\d{1,2})[/-](\\d{2,4})$/,\n // ISO-ish: YYYY/MM/DD or YYYY-MM-DD\n /^(\\d{4})[/-](\\d{1,2})[/-](\\d{1,2})$/\n ];\n\n for (const format of formats) {\n const match = stringValue.match(format);\n if (match) {\n let year, month, day;\n\n if (match[1].length === 4) {\n // YYYY-MM-DD format\n [, year, month, day] = match;\n } else {\n // MM/DD/YYYY format\n [, month, day, year] = match;\n }\n\n // Handle 2-digit years\n if (year.length === 2) {\n const yearNum = parseInt(year);\n year = yearNum < 50 ? `20${year}` : `19${year}`;\n }\n\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));\n if (!isNaN(date.getTime())) {\n return date;\n }\n }\n }\n\n return null;\n}\n\nexport function parseSortableValue(value: any): SortableValue {\n const asNumber = tryParseNumber(value);\n const asDate = tryParseDate(value);\n const asString = stringifyWithNull(value) ?? '';\n\n return {\n original: value,\n asNumber,\n asDate,\n asString\n };\n}\n\nexport function compareSortableValues(\n a: SortableValue,\n b: SortableValue\n): number {\n // Try number comparison first\n if (a.asNumber !== null && b.asNumber !== null) {\n return a.asNumber - b.asNumber;\n }\n\n // Try date comparison\n if (a.asDate !== null && b.asDate !== null) {\n return a.asDate.getTime() - b.asDate.getTime();\n }\n\n // Fall back to string comparison\n return a.asString.localeCompare(b.asString);\n}\n\n/**\n * Compute the next/previous editable cell for Tab navigation.\n *\n * In non-transposed editable tables every column is editable, so the grid is\n * simply `rowIndices` (the visible rows, in display order) by `columnCount`.\n *\n * Forward (Tab): move one column right; at the end of a row wrap to the first\n * column of the next visible row. Backward (Shift+Tab): mirror that.\n *\n * Returns `null` past the last editable cell (forward) or before the first one\n * (backward) so the caller can commit-and-stay instead of wrapping around.\n */\nexport function getNextEditableCell(\n rowIndices: number[],\n columnCount: number,\n current: CellCoord,\n backward: boolean\n): CellCoord | null {\n if (columnCount <= 0) return null;\n\n const rowPos = rowIndices.indexOf(current.rowIndex);\n if (rowPos === -1) return null;\n\n const lastCol = columnCount - 1;\n let { colIndex } = current;\n let pos = rowPos;\n\n if (backward) {\n colIndex -= 1;\n if (colIndex < 0) {\n colIndex = lastCol;\n pos -= 1;\n }\n if (pos < 0) return null;\n } else {\n colIndex += 1;\n if (colIndex > lastCol) {\n colIndex = 0;\n pos += 1;\n }\n if (pos > rowIndices.length - 1) return null;\n }\n\n return { rowIndex: rowIndices[pos], colIndex };\n}\n","import { useRef, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { featheryDoc } from '../../../utils/browser';\nimport {\n confirmPopoverStyle,\n confirmTextStyle,\n confirmButtonRowStyle,\n confirmDeleteButtonStyle,\n confirmCancelButtonStyle\n} from './styles';\nimport { TABLE_CLASS } from './classNames';\n\ntype DeleteConfirmProps = {\n anchorEl: HTMLElement | null;\n onConfirm: () => void;\n onCancel: () => void;\n message?: string;\n confirmLabel?: string;\n};\n\nexport function DeleteConfirm({\n anchorEl,\n onConfirm,\n onCancel,\n message = 'Delete this row?',\n confirmLabel = 'Delete'\n}: DeleteConfirmProps) {\n const popoverRef = useRef<HTMLDivElement>(null);\n\n if (!anchorEl) return null;\n\n const anchorRect = anchorEl.getBoundingClientRect();\n const top = anchorRect.bottom + 4;\n const left = anchorRect.right;\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n popoverRef.current &&\n !popoverRef.current.contains(event.target as Node) &&\n anchorEl &&\n !anchorEl.contains(event.target as Node)\n ) {\n onCancel();\n }\n };\n\n const handleScroll = () => onCancel();\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onCancel();\n };\n\n const doc = featheryDoc();\n doc.addEventListener('mousedown', handleClickOutside);\n doc.addEventListener('scroll', handleScroll, true);\n doc.addEventListener('keydown', handleKeyDown);\n\n return () => {\n doc.removeEventListener('mousedown', handleClickOutside);\n doc.removeEventListener('scroll', handleScroll, true);\n doc.removeEventListener('keydown', handleKeyDown);\n };\n }, [onCancel, anchorEl]);\n\n return createPortal(\n <div\n ref={popoverRef}\n role='alertdialog'\n aria-label={message}\n className={TABLE_CLASS.deleteConfirm}\n css={{\n ...confirmPopoverStyle,\n top: `${top}px`,\n left: `${left}px`,\n transform: 'translateX(-100%)'\n }}\n >\n <p css={confirmTextStyle}>{message}</p>\n <div css={confirmButtonRowStyle}>\n <button\n type='button'\n css={confirmCancelButtonStyle}\n onClick={(e) => {\n e.stopPropagation();\n onCancel();\n }}\n >\n Cancel\n </button>\n <button\n type='button'\n css={confirmDeleteButtonStyle}\n onClick={(e) => {\n e.stopPropagation();\n onConfirm();\n }}\n >\n {confirmLabel}\n </button>\n </div>\n </div>,\n featheryDoc().body\n );\n}\n","import { Column } from './types';\n\nexport function generateExampleData(\n columns: Column[],\n numRows = 2\n): Record<string, any[]> {\n const exampleData: Record<string, any[]> = {};\n\n columns.forEach((column) => {\n exampleData[column.field_key] = Array(numRows).fill('Sample');\n });\n\n return exampleData;\n}\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { fieldValues } from '../../../utils/init';\nimport { stringifyWithNull } from '../../../utils/primitives';\nimport { Action, Column } from './types';\nimport { compareSortableValues, parseSortableValue } from './utils';\nimport { generateExampleData } from './exampleData';\n\n/**\n * Transpose table data: columns become rows, rows become columns\n * Returns new columns and transposed field values\n */\nfunction transposeTableData(\n columns: Column[],\n activeFieldValues: Record<string, any>,\n numRows: number,\n rowIndicesToInclude?: number[]\n): {\n transposedColumns: Column[];\n transposedFieldValues: Record<string, any>;\n includedRowIndices: number[];\n} {\n const includedRowIndices =\n rowIndicesToInclude || Array.from({ length: numRows }, (_, i) => i);\n\n const transposedColumns: Column[] = [\n {\n name: '',\n field_id: '_transpose_field_name',\n field_type: 'text',\n field_key: '_transpose_field_name'\n }\n ];\n\n // Add a column for each original row\n for (const rowIdx of includedRowIndices) {\n transposedColumns.push({\n name: '',\n field_id: `_transpose_row_${rowIdx}`,\n field_type: 'text',\n field_key: `_transpose_row_${rowIdx}`,\n originalRowIndex: rowIdx\n } as Column & { originalRowIndex: number });\n }\n\n const transposedFieldValues: Record<string, any> = {\n _transpose_field_name: columns.map((col) => col.name)\n };\n\n for (const rowIdx of includedRowIndices) {\n const transposedRowValues: any[] = [];\n\n for (const column of columns) {\n const fieldValue = activeFieldValues[column.field_key];\n const cellValue = Array.isArray(fieldValue)\n ? fieldValue[rowIdx]\n : fieldValue;\n transposedRowValues.push(cellValue);\n }\n\n transposedFieldValues[`_transpose_row_${rowIdx}`] = transposedRowValues;\n }\n\n return {\n transposedColumns,\n transposedFieldValues,\n includedRowIndices\n };\n}\n\nconst TABLE_PAGE_CACHE_KEY_PREFIX = '__feathery_table_page_';\n\nfunction getTablePageCacheKey(elementId: string): string {\n return `${TABLE_PAGE_CACHE_KEY_PREFIX}${elementId}`;\n}\n\nfunction getCachedPage(elementId: string): number {\n const key = getTablePageCacheKey(elementId);\n const cached = sessionStorage.getItem(key);\n if (!cached) return 0;\n const page = parseInt(cached, 10);\n return Number.isInteger(page) && page >= 0 ? page : 0;\n}\n\nfunction setCachedPage(elementId: string, page: number): void {\n const key = getTablePageCacheKey(elementId);\n sessionStorage.setItem(key, page.toString());\n}\n\ntype UseTableDataProps = {\n element: {\n id: string;\n properties: {\n columns: Column[];\n actions: Action[];\n search: boolean;\n sort: boolean;\n pagination: number;\n transpose?: boolean;\n enable_editing?: boolean;\n add_delete_rows?: boolean;\n };\n };\n editMode?: boolean;\n dataVersion?: number;\n};\n\ntype UseTableDataReturn = {\n // State\n searchQuery: string;\n setSearchQuery: (query: string) => void;\n sortColumn: string | null;\n sortDirection: 'asc' | 'desc';\n sortedColumnIndex: number | null;\n currentPage: number;\n setCurrentPage: (page: number) => void;\n\n // Properties\n columns: Column[];\n actions: Action[];\n enableSort: boolean;\n enableSearch: boolean;\n enablePagination: boolean;\n isTransposed: boolean;\n enableEditing: boolean;\n enableAddDeleteRows: boolean;\n\n // Computed data\n paginatedRowIndices: number[];\n transposedRowIndices: number[];\n totalRows: number;\n totalPages: number;\n rowsPerPage: number;\n hasData: boolean;\n hasSearchResults: boolean;\n activeFieldValues: Record<string, any>;\n baseColumns: Column[];\n baseFieldValues: Record<string, any>;\n\n // Handlers\n handleSort: (columnName: string) => void;\n handleTransposedSort: (rowIndex: number) => void;\n};\n\nexport function useTableData({\n element,\n editMode = false,\n dataVersion = 0\n}: UseTableDataProps): UseTableDataReturn {\n const userColumns: Column[] = element.properties?.columns || [];\n const actions: Action[] = (element.properties?.actions || []).filter(\n (action) => action.label && action.label.trim() !== ''\n );\n const enableSearch = element.properties?.search ?? false;\n const enableSort = element.properties?.sort ?? false;\n const enableTranspose = element.properties?.transpose ?? false;\n const enableEditing = element.properties?.enable_editing ?? false;\n const enableAddDeleteRows = element.properties?.add_delete_rows ?? false;\n const paginationSetting = element.properties?.pagination ?? 0;\n const rowsPerPage =\n typeof paginationSetting === 'number' && paginationSetting > 0\n ? Math.floor(paginationSetting)\n : 0;\n const enablePagination = rowsPerPage > 0;\n\n const baseColumns = useMemo(() => {\n let cols = userColumns;\n\n // In edit mode, replace field_key with a unique example key\n if (editMode) {\n cols = cols.map((col, index) => ({\n ...col,\n field_key: `example_column_${index}`\n }));\n }\n\n return cols;\n }, [editMode, userColumns]);\n\n // fieldValues is mutated outside React state, so we need dataVersion\n // as a manual dirty flag to trigger re-snapshots\n const baseFieldValues = useMemo(() => {\n if (editMode) {\n return generateExampleData(baseColumns);\n }\n return { ...fieldValues };\n }, [editMode, baseColumns, dataVersion]);\n\n const [searchQuery, setSearchQuery] = useState('');\n\n const [sortColumn, setSortColumn] = useState<string | null>(null);\n const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('asc');\n\n const [currentPage, setCurrentPage] = useState(() =>\n getCachedPage(element.id)\n );\n\n const baseNumRows = useMemo(() => {\n return baseColumns.reduce((maxRows, column) => {\n const fieldValue = baseFieldValues[column.field_key];\n if (Array.isArray(fieldValue)) {\n return Math.max(maxRows, fieldValue.length);\n }\n return maxRows;\n }, 0);\n }, [baseColumns, baseFieldValues]);\n\n const allBaseRowIndices = useMemo(\n () => Array.from({ length: baseNumRows }, (_, i) => i),\n [baseNumRows]\n );\n\n const filteredBaseRowIndices = useMemo(() => {\n if (!enableTranspose || !enableSearch || !searchQuery.trim()) {\n return allBaseRowIndices;\n }\n\n return allBaseRowIndices.filter((baseRowIdx) => {\n return baseColumns.some((column) => {\n const fieldValue = baseFieldValues[column.field_key];\n const cellValue = Array.isArray(fieldValue)\n ? fieldValue[baseRowIdx]\n : fieldValue;\n const stringValue = stringifyWithNull(cellValue) ?? '';\n return stringValue\n .toLowerCase()\n .includes(searchQuery.toLowerCase().trim());\n });\n });\n }, [\n enableTranspose,\n allBaseRowIndices,\n baseColumns,\n searchQuery,\n enableSearch,\n baseFieldValues\n ]);\n\n const [sortedColumnIndex, setSortedColumnIndex] = useState<number | null>(\n null\n );\n\n const sortedBaseRowIndices = useMemo(() => {\n if (!enableTranspose || !enableSort || sortedColumnIndex === null) {\n return filteredBaseRowIndices;\n }\n\n const column = baseColumns[sortedColumnIndex];\n if (!column) return filteredBaseRowIndices;\n\n return [...filteredBaseRowIndices].sort((aIdx, bIdx) => {\n const fieldValue = baseFieldValues[column.field_key];\n const aValue = Array.isArray(fieldValue) ? fieldValue[aIdx] : fieldValue;\n const bValue = Array.isArray(fieldValue) ? fieldValue[bIdx] : fieldValue;\n\n const aParsed = parseSortableValue(aValue);\n const bParsed = parseSortableValue(bValue);\n\n const comparison = compareSortableValues(aParsed, bParsed);\n return sortDirection === 'asc' ? comparison : -comparison;\n });\n }, [\n enableTranspose,\n filteredBaseRowIndices,\n sortedColumnIndex,\n sortDirection,\n baseColumns,\n baseFieldValues,\n enableSort\n ]);\n\n const paginatedBaseRowIndices = useMemo(() => {\n if (!enableTranspose || !enablePagination) {\n return sortedBaseRowIndices;\n }\n\n const startIdx = currentPage * rowsPerPage;\n const endIdx = startIdx + rowsPerPage;\n return sortedBaseRowIndices.slice(startIdx, endIdx);\n }, [\n enableTranspose,\n sortedBaseRowIndices,\n currentPage,\n rowsPerPage,\n enablePagination\n ]);\n\n const { columns, activeFieldValues, transposedRowIndices } = useMemo(() => {\n if (!enableTranspose || baseNumRows === 0) {\n return {\n columns: baseColumns,\n activeFieldValues: baseFieldValues,\n transposedRowIndices: []\n };\n }\n\n const { transposedColumns, transposedFieldValues, includedRowIndices } =\n transposeTableData(\n baseColumns,\n baseFieldValues,\n baseNumRows,\n paginatedBaseRowIndices\n );\n\n return {\n columns: transposedColumns,\n activeFieldValues: transposedFieldValues,\n transposedRowIndices: includedRowIndices\n };\n }, [\n enableTranspose,\n baseColumns,\n baseFieldValues,\n baseNumRows,\n paginatedBaseRowIndices\n ]);\n\n const numRows = useMemo(() => {\n return columns.reduce((maxRows, column) => {\n const fieldValue = activeFieldValues[column.field_key];\n if (Array.isArray(fieldValue)) {\n return Math.max(maxRows, fieldValue.length);\n }\n return maxRows;\n }, 0);\n }, [columns, activeFieldValues]);\n\n const allRowIndices = useMemo(\n () => Array.from({ length: numRows }, (_, i) => i),\n [numRows]\n );\n\n const filteredRowIndices = useMemo(() => {\n if (enableTranspose) return allRowIndices; // Already filtered during transpose\n\n if (!enableSearch || !searchQuery.trim()) return allRowIndices;\n\n return allRowIndices.filter((rowIndex) => {\n return columns.some((column) => {\n const fieldValue = activeFieldValues[column.field_key];\n const cellValue = Array.isArray(fieldValue)\n ? fieldValue[rowIndex]\n : fieldValue;\n const stringValue = stringifyWithNull(cellValue) ?? '';\n return stringValue\n .toLowerCase()\n .includes(searchQuery.toLowerCase().trim());\n });\n });\n }, [\n enableTranspose,\n allRowIndices,\n columns,\n searchQuery,\n enableSearch,\n activeFieldValues\n ]);\n\n const sortedRowIndices = useMemo(() => {\n if (enableTranspose) return filteredRowIndices; // Already sorted during transpose\n\n if (!enableSort || !sortColumn) return filteredRowIndices;\n\n const column = columns.find((col) => col.name === sortColumn);\n\n if (!column) return filteredRowIndices;\n\n return [...filteredRowIndices].sort((aIdx, bIdx) => {\n const fieldValue = activeFieldValues[column.field_key];\n const aValue = Array.isArray(fieldValue) ? fieldValue[aIdx] : fieldValue;\n const bValue = Array.isArray(fieldValue) ? fieldValue[bIdx] : fieldValue;\n\n const aParsed = parseSortableValue(aValue);\n const bParsed = parseSortableValue(bValue);\n\n const comparison = compareSortableValues(aParsed, bParsed);\n return sortDirection === 'asc' ? comparison : -comparison;\n });\n }, [\n enableTranspose,\n filteredRowIndices,\n sortColumn,\n sortDirection,\n columns,\n enableSort,\n activeFieldValues\n ]);\n\n const paginatedRowIndices = useMemo(() => {\n if (enableTranspose) return allRowIndices; // Already paginated during transpose\n\n if (!enablePagination) return sortedRowIndices;\n\n const startIdx = currentPage * rowsPerPage;\n const endIdx = startIdx + rowsPerPage;\n return sortedRowIndices.slice(startIdx, endIdx);\n }, [\n enableTranspose,\n allRowIndices,\n sortedRowIndices,\n currentPage,\n rowsPerPage,\n enablePagination\n ]);\n\n // Reset to first page when search or sort *change* (not on initial mount, so cached page is preserved)\n const searchParamRef = useRef({\n initialMount: true,\n search: '',\n sortColumn: '',\n sortDirection: ''\n });\n useEffect(() => {\n const cur = searchParamRef.current;\n if (cur.initialMount) {\n cur.initialMount = false;\n cur.search = searchQuery;\n cur.sortColumn = sortColumn as any;\n cur.sortDirection = sortDirection;\n return;\n }\n if (\n searchQuery !== cur.search ||\n sortColumn !== cur.sortColumn ||\n sortDirection !== cur.sortDirection\n ) {\n setCurrentPage(0);\n cur.search = searchQuery;\n cur.sortColumn = sortColumn as any;\n cur.sortDirection = sortDirection;\n }\n }, [searchQuery, sortColumn, sortDirection]);\n\n // For transposed tables, totalRows and totalPages are based on original rows (now columns)\n const totalRows = enableTranspose\n ? sortedBaseRowIndices.length\n : sortedRowIndices.length;\n const totalPages = enablePagination ? Math.ceil(totalRows / rowsPerPage) : 1;\n\n // Persist page to window cache when user navigates (keyed by element.id)\n useEffect(() => {\n if (element.id) setCachedPage(element.id, currentPage);\n }, [element.id, currentPage]);\n\n // Clamp cached page to valid range when totalPages is known\n useEffect(() => {\n if (totalPages > 0 && currentPage >= totalPages) {\n setCurrentPage(totalPages - 1);\n }\n }, [totalPages]);\n\n const handleSort = (columnName: string) => {\n if (!enableSort) return;\n\n if (sortColumn === columnName) {\n // Cycle through: asc → desc → none\n if (sortDirection === 'asc') {\n setSortDirection('desc');\n } else {\n setSortColumn(null);\n setSortDirection('asc');\n }\n } else {\n setSortColumn(columnName);\n setSortDirection('asc');\n }\n };\n\n const handleTransposedSort = (rowIndex: number) => {\n if (!enableSort || !enableTranspose) return;\n\n if (sortedColumnIndex === rowIndex) {\n // Cycle through: asc → desc → none\n if (sortDirection === 'asc') {\n setSortDirection('desc');\n } else {\n setSortedColumnIndex(null);\n setSortDirection('asc');\n }\n } else {\n setSortedColumnIndex(rowIndex);\n setSortDirection('asc');\n }\n };\n\n const hasData = numRows > 0;\n const hasSearchResults = enableTranspose\n ? filteredBaseRowIndices.length > 0\n : filteredRowIndices.length > 0;\n const isTransposed = enableTranspose && baseNumRows > 0;\n\n return {\n enableSearch,\n searchQuery,\n hasSearchResults,\n setSearchQuery,\n\n enableSort,\n sortColumn,\n sortDirection,\n sortedColumnIndex,\n handleSort,\n handleTransposedSort,\n\n enablePagination,\n currentPage,\n paginatedRowIndices,\n rowsPerPage,\n setCurrentPage,\n\n columns,\n actions,\n isTransposed,\n transposedRowIndices,\n enableEditing,\n enableAddDeleteRows,\n\n totalRows,\n totalPages,\n hasData,\n activeFieldValues,\n baseColumns,\n baseFieldValues\n };\n}\n","import { useCallback, useRef } from 'react';\nimport { fieldValues } from '../../../utils/init';\nimport { Column } from './types';\n\ntype UseTableMutationsProps = {\n columns: Column[];\n updateFieldValues: (values: Record<string, any>) => void;\n submitCustom: (values: Record<string, any>) => void;\n editMode: boolean;\n editModeFieldValues: Record<string, any>;\n enablePagination: boolean;\n setCurrentPage: (page: number) => void;\n setSearchQuery: (query: string) => void;\n searchQuery: string;\n onMutate: () => void;\n};\n\ntype UseTableMutationsReturn = {\n handleAddRow: () => void;\n handleDeleteRow: (rowIndex: number) => void;\n handleRemoveRowLocal: (rowIndex: number) => void;\n handleCellEdit: (fieldKey: string, rowIndex: number, newValue: any) => void;\n};\n\nexport function useTableMutations({\n columns,\n updateFieldValues,\n submitCustom,\n editMode,\n editModeFieldValues,\n enablePagination,\n setCurrentPage,\n setSearchQuery,\n searchQuery,\n onMutate\n}: UseTableMutationsProps): UseTableMutationsReturn {\n const editModeFieldValuesRef = useRef(editModeFieldValues);\n editModeFieldValuesRef.current = editModeFieldValues;\n\n const getFieldArray = useCallback(\n (fieldKey: string): any[] => {\n const source = editMode ? editModeFieldValuesRef.current : fieldValues;\n const val = source[fieldKey];\n return Array.isArray(val) ? val : [];\n },\n [editMode]\n );\n\n const handleAddRow = useCallback(() => {\n const updates: Record<string, any> = {};\n columns.forEach((col) => {\n const existing = getFieldArray(col.field_key);\n updates[col.field_key] = ['', ...existing];\n });\n // Clear search so the new row is visible\n if (searchQuery) setSearchQuery('');\n // No submitCustom — new rows are provisional until the user edits a cell,\n // avoiding empty-row noise in the backend\n updateFieldValues(updates);\n onMutate();\n // Navigate to first page where the new row appears\n if (enablePagination) setCurrentPage(0);\n }, [\n columns,\n getFieldArray,\n updateFieldValues,\n onMutate,\n enablePagination,\n setCurrentPage,\n setSearchQuery,\n searchQuery\n ]);\n\n const buildRowRemovalUpdates = useCallback(\n (rowIndex: number) => {\n const updates: Record<string, any> = {};\n columns.forEach((col) => {\n const existing = getFieldArray(col.field_key);\n updates[col.field_key] = existing.filter((_, i) => i !== rowIndex);\n });\n return updates;\n },\n [columns, getFieldArray]\n );\n\n const handleDeleteRow = useCallback(\n (rowIndex: number) => {\n const updates = buildRowRemovalUpdates(rowIndex);\n updateFieldValues(updates);\n if (!editMode) submitCustom(updates);\n onMutate();\n },\n [\n buildRowRemovalUpdates,\n updateFieldValues,\n submitCustom,\n editMode,\n onMutate\n ]\n );\n\n const handleRemoveRowLocal = useCallback(\n (rowIndex: number) => {\n const updates = buildRowRemovalUpdates(rowIndex);\n updateFieldValues(updates);\n onMutate();\n },\n [buildRowRemovalUpdates, updateFieldValues, onMutate]\n );\n\n const handleCellEdit = useCallback(\n (fieldKey: string, rowIndex: number, newValue: any) => {\n const existing = getFieldArray(fieldKey);\n const updated = [...existing];\n updated[rowIndex] = newValue;\n const values = { [fieldKey]: updated };\n updateFieldValues(values);\n if (!editMode) submitCustom(values);\n onMutate();\n },\n [getFieldArray, updateFieldValues, submitCustom, editMode, onMutate]\n );\n\n return {\n handleAddRow,\n handleDeleteRow,\n handleRemoveRowLocal,\n handleCellEdit\n };\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { stringifyWithNull } from '../../../utils/primitives';\nimport { Search } from './Search';\nimport { SortHeader, SortIcon } from './Sort';\nimport { Pagination } from './Pagination';\nimport { ActionButtons } from './Actions';\nimport { EmptyState } from './EmptyState';\nimport { EditableCell } from './EditableCell';\nimport { getNextEditableCell } from './utils';\nimport { DeleteConfirm } from './DeleteConfirm';\nimport { useTableData } from './useTableData';\nimport { useTableMutations } from './useTableMutations';\nimport { TrashIcon } from '../../components/icons';\nimport {\n containerStyle,\n rowStyle,\n cellStyle,\n tableStyle,\n theadStyle,\n thStyle,\n sortHeaderContentStyle,\n sortIconContainerStyle,\n toolbarStyle,\n addRowButtonStyle,\n deleteColumnStyle,\n deleteIconStyle\n} from './styles';\nimport { TABLE_CLASS } from './classNames';\n\nfunction applyTableStyles(responsiveStyles: any) {\n responsiveStyles.addTargets('table', 'thead', 'tbody', 'th', 'td', 'tr');\n return responsiveStyles;\n}\n\nfunction TableElement({\n element,\n responsiveStyles,\n onClick = () => {},\n updateFieldValues = () => {},\n submitCustom = () => {},\n editMode = false,\n buttonLoaders = {},\n assistantClient\n}: any) {\n const styles = useMemo(\n () => applyTableStyles(responsiveStyles),\n [responsiveStyles]\n );\n\n const [dataVersion, setDataVersion] = useState(0);\n const onMutate = useCallback(() => setDataVersion((v) => v + 1), []);\n\n const {\n // search\n enableSearch,\n searchQuery,\n setSearchQuery,\n\n // sort\n enableSort,\n sortColumn,\n sortDirection,\n sortedColumnIndex,\n handleSort,\n handleTransposedSort,\n\n // pagination\n enablePagination,\n currentPage,\n setCurrentPage,\n paginatedRowIndices,\n rowsPerPage,\n\n // editing\n enableEditing,\n enableAddDeleteRows,\n\n // data\n columns,\n actions,\n isTransposed,\n transposedRowIndices,\n totalRows,\n totalPages,\n hasData,\n hasSearchResults,\n activeFieldValues,\n baseColumns,\n baseFieldValues\n } = useTableData({ element, editMode, dataVersion });\n\n const { handleAddRow, handleDeleteRow, handleCellEdit } = useTableMutations({\n columns: baseColumns,\n updateFieldValues,\n submitCustom,\n editMode,\n editModeFieldValues: activeFieldValues,\n enablePagination,\n setCurrentPage,\n setSearchQuery,\n searchQuery,\n onMutate\n });\n\n const tableId = element?.id;\n\n const canEdit = enableEditing && !isTransposed;\n const showAddRow = canEdit && enableAddDeleteRows;\n const canDeleteRows = canEdit && enableAddDeleteRows;\n const hasOverflowMenu = actions.length > 1;\n const showStandaloneDeleteColumn = canDeleteRows && !hasOverflowMenu;\n\n const [pendingAddRows, setPendingAddRows] = useState<Set<number>>(new Set());\n const pendingAddRowsRef = useRef(pendingAddRows);\n pendingAddRowsRef.current = pendingAddRows;\n\n const wrappedHandleCellEdit = useCallback(\n (fieldKey: string, rowIndex: number, newValue: any) => {\n if (pendingAddRowsRef.current.has(rowIndex)) {\n setPendingAddRows((prev) => {\n const next = new Set(prev);\n next.delete(rowIndex);\n return next;\n });\n }\n handleCellEdit(fieldKey, rowIndex, newValue);\n },\n [handleCellEdit]\n );\n\n const [deleteRowIndex, setDeleteRowIndex] = useState<number | null>(null);\n const [editingCell, setEditingCell] = useState<{\n rowIndex: number;\n colIndex: number;\n } | null>(null);\n const prevPageRef = useRef(currentPage);\n if (prevPageRef.current !== currentPage) {\n prevPageRef.current = currentPage;\n setDeleteRowIndex(null);\n // A coordinate from the previous page would point at an off-page row.\n setEditingCell(null);\n }\n\n const requestEdit = useCallback(\n (rowIndex: number, colIndex: number) =>\n setEditingCell({ rowIndex, colIndex }),\n []\n );\n const stopEdit = useCallback(() => setEditingCell(null), []);\n const navigateEdit = useCallback(\n (rowIndex: number, colIndex: number, backward: boolean) => {\n setEditingCell(\n getNextEditableCell(\n paginatedRowIndices,\n columns.length,\n { rowIndex, colIndex },\n backward\n )\n );\n },\n [paginatedRowIndices, columns.length]\n );\n const handleCancelDelete = useCallback(() => setDeleteRowIndex(null), []);\n const deleteIconRefs = useRef<Map<number, HTMLButtonElement>>(new Map());\n const actionCellRefs = useRef<Map<number, HTMLTableCellElement>>(new Map());\n\n const wrappedHandleAddRow = useCallback(() => {\n setDeleteRowIndex(null);\n handleAddRow();\n setPendingAddRows((prev) => {\n const next = new Set<number>();\n next.add(0);\n prev.forEach((idx) => next.add(idx + 1));\n return next;\n });\n }, [handleAddRow]);\n\n const wrappedHandleDeleteRow = useCallback(\n (rowIndex: number) => {\n handleDeleteRow(rowIndex);\n setDeleteRowIndex(null);\n },\n [handleDeleteRow]\n );\n\n // Lets the assistant invoke this table's mutations through the same handlers the user UI calls\n useEffect(() => {\n if (!assistantClient || !tableId) return;\n assistantClient.registerTable(tableId, {\n handleCellEdit: wrappedHandleCellEdit,\n handleAddRow: wrappedHandleAddRow,\n handleDeleteRow: wrappedHandleDeleteRow\n });\n return () => assistantClient.unregisterTable(tableId);\n }, [\n assistantClient,\n tableId,\n wrappedHandleCellEdit,\n wrappedHandleAddRow,\n wrappedHandleDeleteRow\n ]);\n\n const showEmptyState = !hasData || !hasSearchResults;\n const showToolbar = enableSearch || showAddRow;\n\n return (\n <div\n className={TABLE_CLASS.container}\n css={{\n ...containerStyle,\n ...styles.getTarget('container')\n }}\n >\n {showToolbar && (\n <div className={TABLE_CLASS.toolbar} css={toolbarStyle}>\n {enableSearch ? (\n <Search searchQuery={searchQuery} onSearchChange={setSearchQuery} />\n ) : (\n <div />\n )}\n {showAddRow && (\n <button\n type='button'\n className={TABLE_CLASS.addRowButton}\n css={addRowButtonStyle}\n onClick={wrappedHandleAddRow}\n >\n + Add Row\n </button>\n )}\n </div>\n )}\n {showEmptyState ? (\n <EmptyState hasSearchQuery={searchQuery.trim().length > 0} />\n ) : (\n <div css={{ overflowX: 'auto' }}>\n <table\n className={TABLE_CLASS.table}\n css={{\n ...(tableStyle as any),\n ...styles.getTarget('table')\n }}\n >\n {!isTransposed && (\n <thead className={TABLE_CLASS.header} css={theadStyle}>\n <tr>\n <SortHeader\n columns={columns}\n enableSort={enableSort}\n sortColumn={sortColumn}\n sortDirection={sortDirection}\n onSort={handleSort}\n styles={styles}\n />\n {actions.length > 0 && (\n <th\n scope='col'\n className={TABLE_CLASS.headerCell}\n css={{\n ...thStyle,\n paddingLeft: 0,\n ...styles.getTarget('th')\n }}\n >\n {/* Empty header for actions column */}\n </th>\n )}\n {showStandaloneDeleteColumn && (\n <th\n scope='col'\n className={TABLE_CLASS.headerCell}\n css={{\n ...thStyle,\n ...deleteColumnStyle,\n ...styles.getTarget('th')\n }}\n />\n )}\n </tr>\n </thead>\n )}\n <tbody className={TABLE_CLASS.body} css={styles.getTarget('tbody')}>\n {paginatedRowIndices.map((rowIndex) => {\n const rowData: Record<string, any> = {};\n if (!isTransposed) {\n columns.forEach((col) => {\n const fValue = activeFieldValues[col.field_key];\n const cValue = Array.isArray(fValue)\n ? fValue[rowIndex]\n : fValue;\n rowData[col.name] = cValue;\n });\n }\n\n const handleRowClick = () => {\n if (!isTransposed && !canEdit) {\n onClick({\n rowIndex,\n rowData\n });\n }\n };\n\n return (\n <tr\n key={rowIndex}\n className={TABLE_CLASS.row}\n css={{ ...rowStyle, ...styles.getTarget('tr') }}\n onClick={handleRowClick}\n >\n {columns.map((column, colIndex) => {\n const fieldValue = activeFieldValues[column.field_key];\n const cellValue = Array.isArray(fieldValue)\n ? fieldValue[rowIndex]\n : fieldValue;\n\n const isFirstColInTranspose =\n isTransposed && colIndex === 0;\n const isSortable = isFirstColInTranspose && enableSort;\n const isSorted = sortedColumnIndex === rowIndex;\n\n const isFirstColumn = colIndex === 0;\n const isSecondColumn = colIndex === 1;\n\n const originalRowIndex =\n isTransposed && !isFirstColInTranspose\n ? (column as any).originalRowIndex\n : undefined;\n\n const cellCss = isFirstColInTranspose\n ? {\n ...thStyle,\n backgroundColor: '#f9fafb',\n borderRight: '1px solid #e5e7eb',\n width: '1px',\n whiteSpace: 'nowrap',\n ...styles.getTarget('th'),\n ...(isSortable ? { cursor: 'pointer' } : {})\n }\n : {\n ...(cellStyle as any),\n ...(isTransposed\n ? isSecondColumn\n ? {}\n : { paddingLeft: 0 }\n : isFirstColumn\n ? {}\n : { paddingLeft: 0 }),\n ...(isTransposed && !isFirstColInTranspose\n ? { cursor: 'pointer' }\n : {}),\n ...styles.getTarget('td')\n };\n\n const CellElement = isFirstColInTranspose ? 'th' : 'td';\n\n const handleCellClick = (e: React.MouseEvent) => {\n if (isSortable) {\n handleTransposedSort(rowIndex);\n } else if (\n isTransposed &&\n originalRowIndex !== undefined\n ) {\n e.stopPropagation();\n const originalRowData: Record<string, any> = {};\n baseColumns.forEach((col) => {\n const fValue = baseFieldValues[col.field_key];\n const cValue = Array.isArray(fValue)\n ? fValue[originalRowIndex]\n : fValue;\n originalRowData[col.name] = cValue;\n });\n const originalColumn = baseColumns[rowIndex];\n onClick({\n rowIndex: originalRowIndex,\n rowData: originalRowData,\n columnIndex: rowIndex,\n columnKey: originalColumn?.field_key,\n columnName: originalColumn?.name\n });\n } else if (!isTransposed && !canEdit) {\n e.stopPropagation();\n onClick({\n rowIndex,\n rowData,\n columnIndex: colIndex,\n columnKey: column.field_key,\n columnName: column.name\n });\n }\n };\n\n // In transposed mode each rendered row holds one\n // original field, so every cell in it belongs to\n // baseColumns[rowIndex]\n const cellFieldKey = isTransposed\n ? baseColumns[rowIndex]?.field_key\n : column.field_key;\n\n return (\n <CellElement\n key={colIndex}\n className={\n isFirstColInTranspose\n ? TABLE_CLASS.headerCell\n : TABLE_CLASS.cell\n }\n data-feathery-field={cellFieldKey}\n css={cellCss}\n onClick={handleCellClick}\n {...(isFirstColInTranspose ? { scope: 'row' } : {})}\n >\n {isFirstColInTranspose && isSortable ? (\n <div\n css={{\n ...sortHeaderContentStyle,\n justifyContent: 'space-between'\n }}\n >\n <span>{stringifyWithNull(cellValue) ?? ''}</span>\n <span css={sortIconContainerStyle}>\n <SortIcon\n isSorted={isSorted}\n sortDirection={sortDirection}\n />\n </span>\n </div>\n ) : canEdit ? (\n <EditableCell\n value={cellValue}\n fieldKey={column.field_key}\n rowIndex={rowIndex}\n isEditing={\n editingCell?.rowIndex === rowIndex &&\n editingCell?.colIndex === colIndex\n }\n onEdit={wrappedHandleCellEdit}\n onStartEdit={() =>\n requestEdit(rowIndex, colIndex)\n }\n onStopEdit={stopEdit}\n onNavigate={(backward) =>\n navigateEdit(rowIndex, colIndex, backward)\n }\n />\n ) : (\n stringifyWithNull(cellValue) ?? ''\n )}\n </CellElement>\n );\n })}\n {!isTransposed && actions.length > 0 && (\n <td\n ref={(el) => {\n if (el) actionCellRefs.current.set(rowIndex, el);\n else actionCellRefs.current.delete(rowIndex);\n }}\n className={TABLE_CLASS.cell}\n css={{\n ...(cellStyle as any),\n paddingLeft: 0,\n ...styles.getTarget('td')\n }}\n >\n <ActionButtons\n actions={actions}\n rowIndex={rowIndex}\n columnData={baseColumns}\n fieldValues={baseFieldValues}\n onClick={onClick}\n tableId={element.id}\n buttonLoaders={buttonLoaders}\n canDeleteRows={canDeleteRows && hasOverflowMenu}\n onDeleteRow={(ri) => setDeleteRowIndex(ri)}\n />\n {hasOverflowMenu &&\n canDeleteRows &&\n deleteRowIndex === rowIndex && (\n <DeleteConfirm\n anchorEl={\n actionCellRefs.current.get(rowIndex) ?? null\n }\n onConfirm={() => wrappedHandleDeleteRow(rowIndex)}\n onCancel={handleCancelDelete}\n />\n )}\n </td>\n )}\n {showStandaloneDeleteColumn && (\n <td\n className={TABLE_CLASS.cell}\n css={{\n ...deleteColumnStyle,\n ...styles.getTarget('td')\n }}\n >\n <button\n type='button'\n ref={(el) => {\n if (el) deleteIconRefs.current.set(rowIndex, el);\n else deleteIconRefs.current.delete(rowIndex);\n }}\n className={TABLE_CLASS.deleteButton}\n css={{\n ...deleteIconStyle,\n ...(deleteRowIndex === rowIndex && {\n opacity: 1\n })\n }}\n onClick={(e) => {\n e.stopPropagation();\n setDeleteRowIndex(\n deleteRowIndex === rowIndex ? null : rowIndex\n );\n }}\n >\n <TrashIcon />\n </button>\n {deleteRowIndex === rowIndex && (\n <DeleteConfirm\n anchorEl={\n deleteIconRefs.current.get(rowIndex) ?? null\n }\n onConfirm={() => wrappedHandleDeleteRow(rowIndex)}\n onCancel={handleCancelDelete}\n />\n )}\n </td>\n )}\n </tr>\n );\n })}\n {isTransposed && actions.length > 0 && (\n <tr\n className={TABLE_CLASS.row}\n css={{ ...rowStyle, ...styles.getTarget('tr') }}\n >\n <th\n scope='row'\n className={TABLE_CLASS.headerCell}\n css={{\n ...thStyle,\n backgroundColor: '#f9fafb',\n borderRight: '1px solid #e5e7eb',\n width: '1px',\n whiteSpace: 'nowrap',\n ...styles.getTarget('th')\n }}\n >\n {/* Empty cell for actions row */}\n </th>\n {transposedRowIndices.map((originalRowIndex, idx) => (\n <td\n key={originalRowIndex}\n className={TABLE_CLASS.cell}\n css={{\n ...(cellStyle as any),\n ...(idx === 0 ? {} : { paddingLeft: 0 }),\n ...styles.getTarget('td')\n }}\n >\n <div\n css={{ display: 'flex', justifyContent: 'flex-start' }}\n >\n <ActionButtons\n actions={actions}\n rowIndex={originalRowIndex}\n columnData={baseColumns}\n fieldValues={baseFieldValues}\n onClick={onClick}\n forceInlineButtons\n tableId={element.id}\n buttonLoaders={buttonLoaders}\n />\n </div>\n </td>\n ))}\n </tr>\n )}\n </tbody>\n </table>\n </div>\n )}\n {!showEmptyState && enablePagination && (\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n totalItems={totalRows}\n rowsPerPage={rowsPerPage}\n onPageChange={setCurrentPage}\n />\n )}\n </div>\n );\n}\n\nexport default TableElement;\n"],"names":["__rest","_jsx","__assign","_jsxs","Fragment","index","__read","useState","useRef","useEffect","featheryDoc","fieldValues","createPortal","_Fragment","stringifyWithNull","__values","useMemo","__spreadArray","useCallback"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.BF-anQOj.js');
3
+ var index = require('./fthry_index.Bc5vYOys.js');
4
4
  var React = require('react');
5
- var InlineTooltip = require('./fthry_InlineTooltip.C-3eLvAv.js');
6
- var useSalesforceSync = require('./fthry_useSalesforceSync.B6nQeLV2.js');
5
+ var InlineTooltip = require('./fthry_InlineTooltip.Cy9h9gjn.js');
6
+ var useSalesforceSync = require('./fthry_useSalesforceSync.BhDUSOck.js');
7
7
  require('react/jsx-runtime');
8
8
  require('jszip');
9
9
  require('react-dom');
@@ -68,3 +68,4 @@ function ButtonGroupField(_a) {
68
68
  }
69
69
 
70
70
  exports.default = ButtonGroupField;
71
+ //# sourceMappingURL=fthry_index.sF59y24v.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fthry_index.sF59y24v.js","sources":["../src/elements/fields/ButtonGroupField/index.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport { imgMaxSizeStyles, noTextSelectStyles } from '../../styles';\nimport useBorder from '../../components/useBorder';\nimport { hoverStylesGuard } from '../../../utils/browser';\nimport InlineTooltip from '../../components/InlineTooltip';\nimport ErrorInput from '../../components/ErrorInput';\nimport useSalesforceSync from '../../../hooks/useSalesforceSync';\n\nfunction ButtonGroupField({\n element,\n responsiveStyles,\n fieldLabel,\n inlineError,\n fieldVal = null,\n repeatIndex = null,\n editMode,\n onClick = () => {},\n elementProps = {},\n disabled = false,\n children\n}: any) {\n const containerRef = useRef(null);\n const servar = element.servar;\n const { dynamicOptions, loadingDynamicOptions, shouldSalesforceSync } =\n useSalesforceSync(servar.metadata.salesforce_sync, editMode);\n\n const selectedOptMap = useMemo(\n () =>\n Array.isArray(fieldVal)\n ? fieldVal.reduce((map: any, selected: any) => {\n map[selected] = true;\n return map;\n }, {})\n : {},\n [fieldVal]\n );\n const { borderStyles, customBorder } = useBorder({\n element,\n error: inlineError,\n breakpoint: responsiveStyles.getMobileBreakpoint()\n });\n\n const labels = servar.metadata.option_labels;\n const tooltips = servar.metadata.option_tooltips;\n let options;\n if (shouldSalesforceSync) {\n options = dynamicOptions.map((option: any) => ({\n value: option.value,\n label: option.label,\n tooltip: ''\n }));\n } else if (\n repeatIndex !== null &&\n servar.metadata.repeat_options !== undefined &&\n servar.metadata.repeat_options[repeatIndex] !== undefined\n ) {\n options = servar.metadata.repeat_options[repeatIndex];\n } else {\n options = servar.metadata.options.map((opt: any, index: number) => ({\n value: opt,\n label: labels && labels[index] ? labels[index] : opt,\n tooltip: tooltips && tooltips[index] ? tooltips[index] : ''\n }));\n }\n\n return (\n <div\n ref={containerRef}\n css={{\n position: 'relative',\n width: '100%',\n height: '100%',\n pointerEvents:\n editMode || disabled || loadingDynamicOptions ? 'none' : 'auto',\n ...responsiveStyles.getTarget('fc')\n }}\n >\n {children}\n {fieldLabel}\n <div\n css={{\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n ...responsiveStyles.getTarget('bc')\n }}\n {...elementProps}\n >\n {options.map((option: any, index: number) => {\n const value = option.value ?? option;\n const label = option.label ?? option;\n const imageUrl = option.image\n ? option.image\n : servar.metadata.option_images[index];\n const tooltip = option.tooltip ?? '';\n\n return (\n <div\n onClick={() => {\n if (!editMode && !disabled && !loadingDynamicOptions) {\n onClick(value);\n }\n }}\n key={`${servar.key}-${index}`}\n css={{\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n boxSizing: 'border-box',\n cursor: 'pointer',\n ...responsiveStyles.getTarget('field'),\n '&:hover': hoverStylesGuard(\n editMode || disabled || loadingDynamicOptions\n ? {}\n : {\n ...responsiveStyles.getTarget('hover'),\n ...borderStyles.hover\n }\n ),\n '&&': selectedOptMap[value]\n ? {\n ...responsiveStyles.getTarget('active'),\n ...borderStyles.active\n }\n : {}\n }}\n >\n {customBorder}\n {imageUrl && (\n <img\n src={imageUrl}\n css={{\n ...imgMaxSizeStyles,\n ...responsiveStyles.getTargets('img')\n }}\n />\n )}\n {label && (\n <div\n css={{\n display: 'flex',\n maxWidth: '100%',\n ...responsiveStyles.getTargets('label'),\n // Do not highlight text when clicking the button\n ...noTextSelectStyles\n }}\n >\n {label}\n </div>\n )}\n {tooltip && (\n <InlineTooltip\n containerRef={containerRef}\n id={`${element.id}-${label}`}\n text={tooltip}\n responsiveStyles={responsiveStyles}\n absolute={false}\n repeat={element.repeat}\n />\n )}\n </div>\n );\n })}\n {/* This input must always be rendered so we can set field errors */}\n <ErrorInput\n id={servar.key}\n name={servar.key}\n aria-label={element.properties.aria_label}\n />\n </div>\n </div>\n );\n}\n\nexport default ButtonGroupField;\n"],"names":["useRef","useSalesforceSync","useMemo","useBorder","_jsxs","__assign","index","hoverStylesGuard","_jsx","imgMaxSizeStyles","noTextSelectStyles","InlineTooltip","ErrorInput"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.BF-anQOj.js');
3
+ var index$1 = require('./fthry_index.Bc5vYOys.js');
4
4
  var React = require('react');
5
- var InlineTooltip = require('./fthry_InlineTooltip.C-3eLvAv.js');
6
- var Placeholder$2 = require('./fthry_Placeholder.CUmM_ix-.js');
7
- var useSalesforceSync = require('./fthry_useSalesforceSync.B6nQeLV2.js');
5
+ var InlineTooltip = require('./fthry_InlineTooltip.Cy9h9gjn.js');
6
+ var Placeholder$2 = require('./fthry_Placeholder.DXYnaNAe.js');
7
+ var useSalesforceSync = require('./fthry_useSalesforceSync.BhDUSOck.js');
8
8
  var ReactDOM = require('react-dom');
9
9
  require('react/jsx-runtime');
10
10
  require('jszip');
@@ -8278,3 +8278,4 @@ function DropdownMultiField(_a) {
8278
8278
  }
8279
8279
 
8280
8280
  exports.default = DropdownMultiField;
8281
+ //# sourceMappingURL=fthry_index.tLwcoSGn.js.map