@modern-admin/web 0.4.1 → 0.4.2

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 (241) hide show
  1. package/dist/standalone/assets/{action-component-host-BrEZDHZt.js → action-component-host-P6HcuKj3.js} +2 -2
  2. package/dist/standalone/assets/action-component-host-P6HcuKj3.js.br +0 -0
  3. package/dist/standalone/assets/action-component-host-P6HcuKj3.js.gz +0 -0
  4. package/dist/standalone/assets/{action-component-host-BrEZDHZt.js.map → action-component-host-P6HcuKj3.js.map} +1 -1
  5. package/dist/standalone/assets/{action-page-Bx7kzeK7.js → action-page-kyqtK3oq.js} +2 -2
  6. package/dist/standalone/assets/action-page-kyqtK3oq.js.br +0 -0
  7. package/dist/standalone/assets/action-page-kyqtK3oq.js.gz +0 -0
  8. package/dist/standalone/assets/{action-page-Bx7kzeK7.js.map → action-page-kyqtK3oq.js.map} +1 -1
  9. package/dist/standalone/assets/{ai-assistant-widget-BbIXVrSu.js → ai-assistant-widget-DGanix6u.js} +2 -2
  10. package/dist/standalone/assets/ai-assistant-widget-DGanix6u.js.br +0 -0
  11. package/dist/standalone/assets/ai-assistant-widget-DGanix6u.js.gz +0 -0
  12. package/dist/standalone/assets/{ai-assistant-widget-BbIXVrSu.js.map → ai-assistant-widget-DGanix6u.js.map} +1 -1
  13. package/dist/standalone/assets/{audit-log-page-BoZh23oQ.js → audit-log-page-DozriTiA.js} +2 -2
  14. package/dist/standalone/assets/audit-log-page-DozriTiA.js.br +0 -0
  15. package/dist/standalone/assets/audit-log-page-DozriTiA.js.gz +0 -0
  16. package/dist/standalone/assets/{audit-log-page-BoZh23oQ.js.map → audit-log-page-DozriTiA.js.map} +1 -1
  17. package/dist/standalone/assets/{badge-6nyM5Jft.js → badge-lb2Nqx1b.js} +2 -2
  18. package/dist/standalone/assets/{badge-6nyM5Jft.js.map → badge-lb2Nqx1b.js.map} +1 -1
  19. package/dist/standalone/assets/{calendar-nvD_z7KQ.js → calendar-crtd4PEn.js} +2 -2
  20. package/dist/standalone/assets/calendar-crtd4PEn.js.br +0 -0
  21. package/dist/standalone/assets/calendar-crtd4PEn.js.gz +0 -0
  22. package/dist/standalone/assets/{calendar-nvD_z7KQ.js.map → calendar-crtd4PEn.js.map} +1 -1
  23. package/dist/standalone/assets/{card-4cS4uWCP.js → card-Dh44j2Nb.js} +2 -2
  24. package/dist/standalone/assets/card-Dh44j2Nb.js.br +0 -0
  25. package/dist/standalone/assets/card-Dh44j2Nb.js.gz +0 -0
  26. package/dist/standalone/assets/{card-4cS4uWCP.js.map → card-Dh44j2Nb.js.map} +1 -1
  27. package/dist/standalone/assets/chart-widget-B819aHsE.js +2 -0
  28. package/dist/standalone/assets/chart-widget-B819aHsE.js.br +0 -0
  29. package/dist/standalone/assets/chart-widget-B819aHsE.js.gz +0 -0
  30. package/dist/standalone/assets/chart-widget-B819aHsE.js.map +1 -0
  31. package/dist/standalone/assets/{command-Sb0xL-se.js → command-xJ-6Grpv.js} +2 -2
  32. package/dist/standalone/assets/command-xJ-6Grpv.js.br +0 -0
  33. package/dist/standalone/assets/command-xJ-6Grpv.js.gz +0 -0
  34. package/dist/standalone/assets/command-xJ-6Grpv.js.map +1 -0
  35. package/dist/standalone/assets/{date-picker-C4HcgidQ.js → date-picker-D0dWQEox.js} +2 -2
  36. package/dist/standalone/assets/date-picker-D0dWQEox.js.br +0 -0
  37. package/dist/standalone/assets/date-picker-D0dWQEox.js.gz +0 -0
  38. package/dist/standalone/assets/{date-picker-C4HcgidQ.js.map → date-picker-D0dWQEox.js.map} +1 -1
  39. package/dist/standalone/assets/{dist-BSbFjTlr.js → dist-CWGgVQiS.js} +2 -2
  40. package/dist/standalone/assets/dist-CWGgVQiS.js.br +0 -0
  41. package/dist/standalone/assets/dist-CWGgVQiS.js.gz +0 -0
  42. package/dist/standalone/assets/{dist-BSbFjTlr.js.map → dist-CWGgVQiS.js.map} +1 -1
  43. package/dist/standalone/assets/{dist-Dpg8xy_r.js → dist-UsTgBPww.js} +2 -2
  44. package/dist/standalone/assets/dist-UsTgBPww.js.br +0 -0
  45. package/dist/standalone/assets/dist-UsTgBPww.js.gz +0 -0
  46. package/dist/standalone/assets/{dist-Dpg8xy_r.js.map → dist-UsTgBPww.js.map} +1 -1
  47. package/dist/standalone/assets/dist-qlnAsTo_.js +2 -0
  48. package/dist/standalone/assets/dist-qlnAsTo_.js.br +0 -0
  49. package/dist/standalone/assets/dist-qlnAsTo_.js.gz +0 -0
  50. package/dist/standalone/assets/{dist-BcL2U6dT.js.map → dist-qlnAsTo_.js.map} +1 -1
  51. package/dist/standalone/assets/{edit-page-CW7-FAPC.js → edit-page-CFPwq1_5.js} +2 -2
  52. package/dist/standalone/assets/edit-page-CFPwq1_5.js.br +0 -0
  53. package/dist/standalone/assets/edit-page-CFPwq1_5.js.gz +0 -0
  54. package/dist/standalone/assets/{edit-page-CW7-FAPC.js.map → edit-page-CFPwq1_5.js.map} +1 -1
  55. package/dist/standalone/assets/empty-D9sUunOr.js +2 -0
  56. package/dist/standalone/assets/empty-D9sUunOr.js.br +0 -0
  57. package/dist/standalone/assets/empty-D9sUunOr.js.gz +0 -0
  58. package/dist/standalone/assets/{empty-Cposcczv.js.map → empty-D9sUunOr.js.map} +1 -1
  59. package/dist/standalone/assets/{global-search-dialog-DLv_nIvM.js → global-search-dialog-AfQmJSE7.js} +2 -2
  60. package/dist/standalone/assets/global-search-dialog-AfQmJSE7.js.br +0 -0
  61. package/dist/standalone/assets/global-search-dialog-AfQmJSE7.js.gz +0 -0
  62. package/dist/standalone/assets/{global-search-dialog-DLv_nIvM.js.map → global-search-dialog-AfQmJSE7.js.map} +1 -1
  63. package/dist/standalone/assets/{heavy-fields-BiCEgD2L.js → heavy-fields-_zVIBnm1.js} +4 -4
  64. package/dist/standalone/assets/heavy-fields-_zVIBnm1.js.br +0 -0
  65. package/dist/standalone/assets/heavy-fields-_zVIBnm1.js.gz +0 -0
  66. package/dist/standalone/assets/{heavy-fields-BiCEgD2L.js.map → heavy-fields-_zVIBnm1.js.map} +1 -1
  67. package/dist/standalone/assets/{home-page-BSz1wGk0.js → home-page-BdTrAXqk.js} +3 -3
  68. package/dist/standalone/assets/home-page-BdTrAXqk.js.br +0 -0
  69. package/dist/standalone/assets/home-page-BdTrAXqk.js.gz +0 -0
  70. package/dist/standalone/assets/{home-page-BSz1wGk0.js.map → home-page-BdTrAXqk.js.map} +1 -1
  71. package/dist/standalone/assets/{icon-registry-BQU4fIc4.js → icon-registry-CcMm2Zh3.js} +2 -2
  72. package/dist/standalone/assets/icon-registry-CcMm2Zh3.js.br +0 -0
  73. package/dist/standalone/assets/icon-registry-CcMm2Zh3.js.gz +0 -0
  74. package/dist/standalone/assets/{icon-registry-BQU4fIc4.js.map → icon-registry-CcMm2Zh3.js.map} +1 -1
  75. package/dist/standalone/assets/index-DHZwffoP.css +2 -0
  76. package/dist/standalone/assets/index-DHZwffoP.css.br +0 -0
  77. package/dist/standalone/assets/{index-95cwJ2RY.css.gz → index-DHZwffoP.css.gz} +0 -0
  78. package/dist/standalone/assets/index-uYpCUVT4.js +15 -0
  79. package/dist/standalone/assets/index-uYpCUVT4.js.br +0 -0
  80. package/dist/standalone/assets/index-uYpCUVT4.js.gz +0 -0
  81. package/dist/standalone/assets/index-uYpCUVT4.js.map +1 -0
  82. package/dist/standalone/assets/json-editor-yfO4TUB_.js +2 -0
  83. package/dist/standalone/assets/json-editor-yfO4TUB_.js.br +0 -0
  84. package/dist/standalone/assets/json-editor-yfO4TUB_.js.gz +0 -0
  85. package/dist/standalone/assets/{json-editor-CAIgxYb3.js.map → json-editor-yfO4TUB_.js.map} +1 -1
  86. package/dist/standalone/assets/{property-renderer-B8Md-EqW.js → property-renderer-CDKsa2KQ.js} +4 -4
  87. package/dist/standalone/assets/property-renderer-CDKsa2KQ.js.br +0 -0
  88. package/dist/standalone/assets/property-renderer-CDKsa2KQ.js.gz +0 -0
  89. package/dist/standalone/assets/property-renderer-CDKsa2KQ.js.map +1 -0
  90. package/dist/standalone/assets/reference-DWJEoGIf.js +2 -0
  91. package/dist/standalone/assets/reference-DWJEoGIf.js.br +0 -0
  92. package/dist/standalone/assets/reference-DWJEoGIf.js.gz +0 -0
  93. package/dist/standalone/assets/reference-DWJEoGIf.js.map +1 -0
  94. package/dist/standalone/assets/{revisions-button-0WtL6bsZ.js → revisions-button-DR0oW2wX.js} +2 -2
  95. package/dist/standalone/assets/revisions-button-DR0oW2wX.js.br +0 -0
  96. package/dist/standalone/assets/revisions-button-DR0oW2wX.js.gz +0 -0
  97. package/dist/standalone/assets/{revisions-button-0WtL6bsZ.js.map → revisions-button-DR0oW2wX.js.map} +1 -1
  98. package/dist/standalone/assets/{richtext-render-DnVcQ34I.js → richtext-render-VFCKGulc.js} +2 -2
  99. package/dist/standalone/assets/richtext-render-VFCKGulc.js.br +0 -0
  100. package/dist/standalone/assets/richtext-render-VFCKGulc.js.gz +0 -0
  101. package/dist/standalone/assets/{richtext-render-DnVcQ34I.js.map → richtext-render-VFCKGulc.js.map} +1 -1
  102. package/dist/standalone/assets/{router-wFvtgo77.js → router-BcZgB5cZ.js} +12 -12
  103. package/dist/standalone/assets/router-BcZgB5cZ.js.br +0 -0
  104. package/dist/standalone/assets/router-BcZgB5cZ.js.gz +0 -0
  105. package/dist/standalone/assets/router-BcZgB5cZ.js.map +1 -0
  106. package/dist/standalone/assets/select-BiV9bunJ.js +2 -0
  107. package/dist/standalone/assets/select-BiV9bunJ.js.br +0 -0
  108. package/dist/standalone/assets/select-BiV9bunJ.js.gz +0 -0
  109. package/dist/standalone/assets/{select-CR4acjX0.js.map → select-BiV9bunJ.js.map} +1 -1
  110. package/dist/standalone/assets/{settings-page-DtguXLAP.js → settings-page-DSWp2N6T.js} +2 -2
  111. package/dist/standalone/assets/settings-page-DSWp2N6T.js.br +0 -0
  112. package/dist/standalone/assets/settings-page-DSWp2N6T.js.gz +0 -0
  113. package/dist/standalone/assets/{settings-page-DtguXLAP.js.map → settings-page-DSWp2N6T.js.map} +1 -1
  114. package/dist/standalone/assets/{show-page-Dnox2NwO.js → show-page-CGzUAZoO.js} +2 -2
  115. package/dist/standalone/assets/show-page-CGzUAZoO.js.br +0 -0
  116. package/dist/standalone/assets/show-page-CGzUAZoO.js.gz +0 -0
  117. package/dist/standalone/assets/{show-page-Dnox2NwO.js.map → show-page-CGzUAZoO.js.map} +1 -1
  118. package/dist/standalone/assets/tabs-smdw70rV.js +2 -0
  119. package/dist/standalone/assets/tabs-smdw70rV.js.br +0 -0
  120. package/dist/standalone/assets/tabs-smdw70rV.js.gz +0 -0
  121. package/dist/standalone/assets/{tabs-DUS8e6dR.js.map → tabs-smdw70rV.js.map} +1 -1
  122. package/dist/standalone/assets/{textarea-CX_0QVSz.js → textarea-DBVf3GGt.js} +2 -2
  123. package/dist/standalone/assets/{textarea-CX_0QVSz.js.map → textarea-DBVf3GGt.js.map} +1 -1
  124. package/dist/standalone/assets/useQueries-Ba2PuYhZ.js +2 -0
  125. package/dist/standalone/assets/useQueries-Ba2PuYhZ.js.br +0 -0
  126. package/dist/standalone/assets/useQueries-Ba2PuYhZ.js.gz +0 -0
  127. package/dist/standalone/assets/useQueries-Ba2PuYhZ.js.map +1 -0
  128. package/dist/standalone/assets/{user-directory-9COoW6AO.js → user-directory-Df5X8VOe.js} +2 -2
  129. package/dist/standalone/assets/user-directory-Df5X8VOe.js.br +0 -0
  130. package/dist/standalone/assets/user-directory-Df5X8VOe.js.gz +0 -0
  131. package/dist/standalone/assets/{user-directory-9COoW6AO.js.map → user-directory-Df5X8VOe.js.map} +1 -1
  132. package/dist/standalone/assets/{value-format-Cgau0meh.js → value-format-BUeGtfH4.js} +16 -16
  133. package/dist/standalone/assets/value-format-BUeGtfH4.js.br +0 -0
  134. package/dist/standalone/assets/value-format-BUeGtfH4.js.gz +0 -0
  135. package/dist/standalone/assets/{value-format-Cgau0meh.js.map → value-format-BUeGtfH4.js.map} +1 -1
  136. package/dist/standalone/assets/with-selector-id7qGzTH.js +2 -0
  137. package/dist/standalone/assets/with-selector-id7qGzTH.js.br +0 -0
  138. package/dist/standalone/assets/with-selector-id7qGzTH.js.gz +0 -0
  139. package/dist/standalone/assets/with-selector-id7qGzTH.js.map +1 -0
  140. package/dist/standalone/assets/{wizard-create-page-v2-Aw8Oj.js → wizard-create-page-B8IcszRF.js} +2 -2
  141. package/dist/standalone/assets/wizard-create-page-B8IcszRF.js.br +0 -0
  142. package/dist/standalone/assets/wizard-create-page-B8IcszRF.js.gz +0 -0
  143. package/dist/standalone/assets/{wizard-create-page-v2-Aw8Oj.js.map → wizard-create-page-B8IcszRF.js.map} +1 -1
  144. package/dist/standalone/assets/{zod-BrelKLfy.js → zod-mi61gVha.js} +2 -2
  145. package/dist/standalone/assets/zod-mi61gVha.js.br +0 -0
  146. package/dist/standalone/assets/zod-mi61gVha.js.gz +0 -0
  147. package/dist/standalone/assets/{zod-BrelKLfy.js.map → zod-mi61gVha.js.map} +1 -1
  148. package/dist/standalone/index.html +10 -10
  149. package/dist/standalone/index.html.br +0 -0
  150. package/dist/standalone/index.html.gz +0 -0
  151. package/package.json +4 -4
  152. package/dist/standalone/assets/action-component-host-BrEZDHZt.js.br +0 -0
  153. package/dist/standalone/assets/action-component-host-BrEZDHZt.js.gz +0 -0
  154. package/dist/standalone/assets/action-page-Bx7kzeK7.js.br +0 -0
  155. package/dist/standalone/assets/action-page-Bx7kzeK7.js.gz +0 -0
  156. package/dist/standalone/assets/ai-assistant-widget-BbIXVrSu.js.br +0 -0
  157. package/dist/standalone/assets/ai-assistant-widget-BbIXVrSu.js.gz +0 -0
  158. package/dist/standalone/assets/audit-log-page-BoZh23oQ.js.br +0 -0
  159. package/dist/standalone/assets/audit-log-page-BoZh23oQ.js.gz +0 -0
  160. package/dist/standalone/assets/calendar-nvD_z7KQ.js.br +0 -0
  161. package/dist/standalone/assets/calendar-nvD_z7KQ.js.gz +0 -0
  162. package/dist/standalone/assets/card-4cS4uWCP.js.br +0 -0
  163. package/dist/standalone/assets/card-4cS4uWCP.js.gz +0 -0
  164. package/dist/standalone/assets/chart-widget-YeCL7jdB.js +0 -2
  165. package/dist/standalone/assets/chart-widget-YeCL7jdB.js.br +0 -0
  166. package/dist/standalone/assets/chart-widget-YeCL7jdB.js.gz +0 -0
  167. package/dist/standalone/assets/chart-widget-YeCL7jdB.js.map +0 -1
  168. package/dist/standalone/assets/command-Sb0xL-se.js.br +0 -0
  169. package/dist/standalone/assets/command-Sb0xL-se.js.gz +0 -0
  170. package/dist/standalone/assets/command-Sb0xL-se.js.map +0 -1
  171. package/dist/standalone/assets/date-picker-C4HcgidQ.js.br +0 -0
  172. package/dist/standalone/assets/date-picker-C4HcgidQ.js.gz +0 -0
  173. package/dist/standalone/assets/dist-BSbFjTlr.js.br +0 -0
  174. package/dist/standalone/assets/dist-BSbFjTlr.js.gz +0 -0
  175. package/dist/standalone/assets/dist-BcL2U6dT.js +0 -2
  176. package/dist/standalone/assets/dist-BcL2U6dT.js.br +0 -0
  177. package/dist/standalone/assets/dist-BcL2U6dT.js.gz +0 -0
  178. package/dist/standalone/assets/dist-Dpg8xy_r.js.br +0 -0
  179. package/dist/standalone/assets/dist-Dpg8xy_r.js.gz +0 -0
  180. package/dist/standalone/assets/edit-page-CW7-FAPC.js.br +0 -0
  181. package/dist/standalone/assets/edit-page-CW7-FAPC.js.gz +0 -0
  182. package/dist/standalone/assets/empty-Cposcczv.js +0 -2
  183. package/dist/standalone/assets/empty-Cposcczv.js.br +0 -0
  184. package/dist/standalone/assets/empty-Cposcczv.js.gz +0 -0
  185. package/dist/standalone/assets/global-search-dialog-DLv_nIvM.js.br +0 -0
  186. package/dist/standalone/assets/global-search-dialog-DLv_nIvM.js.gz +0 -0
  187. package/dist/standalone/assets/heavy-fields-BiCEgD2L.js.br +0 -0
  188. package/dist/standalone/assets/heavy-fields-BiCEgD2L.js.gz +0 -0
  189. package/dist/standalone/assets/home-page-BSz1wGk0.js.br +0 -0
  190. package/dist/standalone/assets/home-page-BSz1wGk0.js.gz +0 -0
  191. package/dist/standalone/assets/icon-registry-BQU4fIc4.js.br +0 -0
  192. package/dist/standalone/assets/icon-registry-BQU4fIc4.js.gz +0 -0
  193. package/dist/standalone/assets/index-95cwJ2RY.css +0 -2
  194. package/dist/standalone/assets/index-95cwJ2RY.css.br +0 -0
  195. package/dist/standalone/assets/index-BL8keDxQ.js +0 -15
  196. package/dist/standalone/assets/index-BL8keDxQ.js.br +0 -0
  197. package/dist/standalone/assets/index-BL8keDxQ.js.gz +0 -0
  198. package/dist/standalone/assets/index-BL8keDxQ.js.map +0 -1
  199. package/dist/standalone/assets/json-editor-CAIgxYb3.js +0 -2
  200. package/dist/standalone/assets/json-editor-CAIgxYb3.js.br +0 -0
  201. package/dist/standalone/assets/json-editor-CAIgxYb3.js.gz +0 -0
  202. package/dist/standalone/assets/property-renderer-B8Md-EqW.js.br +0 -0
  203. package/dist/standalone/assets/property-renderer-B8Md-EqW.js.gz +0 -0
  204. package/dist/standalone/assets/property-renderer-B8Md-EqW.js.map +0 -1
  205. package/dist/standalone/assets/reference-WPaf6IdD.js +0 -2
  206. package/dist/standalone/assets/reference-WPaf6IdD.js.br +0 -0
  207. package/dist/standalone/assets/reference-WPaf6IdD.js.gz +0 -0
  208. package/dist/standalone/assets/reference-WPaf6IdD.js.map +0 -1
  209. package/dist/standalone/assets/revisions-button-0WtL6bsZ.js.br +0 -0
  210. package/dist/standalone/assets/revisions-button-0WtL6bsZ.js.gz +0 -0
  211. package/dist/standalone/assets/richtext-render-DnVcQ34I.js.br +0 -0
  212. package/dist/standalone/assets/richtext-render-DnVcQ34I.js.gz +0 -0
  213. package/dist/standalone/assets/router-wFvtgo77.js.br +0 -0
  214. package/dist/standalone/assets/router-wFvtgo77.js.gz +0 -0
  215. package/dist/standalone/assets/router-wFvtgo77.js.map +0 -1
  216. package/dist/standalone/assets/select-CR4acjX0.js +0 -2
  217. package/dist/standalone/assets/select-CR4acjX0.js.br +0 -0
  218. package/dist/standalone/assets/select-CR4acjX0.js.gz +0 -0
  219. package/dist/standalone/assets/settings-page-DtguXLAP.js.br +0 -0
  220. package/dist/standalone/assets/settings-page-DtguXLAP.js.gz +0 -0
  221. package/dist/standalone/assets/show-page-Dnox2NwO.js.br +0 -0
  222. package/dist/standalone/assets/show-page-Dnox2NwO.js.gz +0 -0
  223. package/dist/standalone/assets/tabs-DUS8e6dR.js +0 -2
  224. package/dist/standalone/assets/tabs-DUS8e6dR.js.br +0 -0
  225. package/dist/standalone/assets/tabs-DUS8e6dR.js.gz +0 -0
  226. package/dist/standalone/assets/useQueries-BCUhWYX4.js +0 -2
  227. package/dist/standalone/assets/useQueries-BCUhWYX4.js.br +0 -0
  228. package/dist/standalone/assets/useQueries-BCUhWYX4.js.gz +0 -0
  229. package/dist/standalone/assets/useQueries-BCUhWYX4.js.map +0 -1
  230. package/dist/standalone/assets/user-directory-9COoW6AO.js.br +0 -0
  231. package/dist/standalone/assets/user-directory-9COoW6AO.js.gz +0 -0
  232. package/dist/standalone/assets/value-format-Cgau0meh.js.br +0 -0
  233. package/dist/standalone/assets/value-format-Cgau0meh.js.gz +0 -0
  234. package/dist/standalone/assets/with-selector-NDLhu4dT.js +0 -2
  235. package/dist/standalone/assets/with-selector-NDLhu4dT.js.br +0 -0
  236. package/dist/standalone/assets/with-selector-NDLhu4dT.js.gz +0 -0
  237. package/dist/standalone/assets/with-selector-NDLhu4dT.js.map +0 -1
  238. package/dist/standalone/assets/wizard-create-page-v2-Aw8Oj.js.br +0 -0
  239. package/dist/standalone/assets/wizard-create-page-v2-Aw8Oj.js.gz +0 -0
  240. package/dist/standalone/assets/zod-BrelKLfy.js.br +0 -0
  241. package/dist/standalone/assets/zod-BrelKLfy.js.gz +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{E as n,T as r,_ as i,d as a,h as o,m as s,w as c,y as l}from"./with-selector-id7qGzTH.js";import{t as u}from"./circle-alert-0EyKeic4.js";import{t as d}from"./wand-sparkles-DWaFQeYS.js";import{o as f,s as p}from"./dist-UsTgBPww.js";import{t as m}from"./textarea-DBVf3GGt.js";import{o as h}from"./select-BiV9bunJ.js";import{yt as g}from"./index-uYpCUVT4.js";var _=e(t(),1),v=n(),y=`Checkbox`,[b,x]=r(y),[S,C]=b(y);function w(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:a,disabled:o,form:s,name:c,onCheckedChange:l,required:u,value:d=`on`,internal_do_not_use_render:f}=e,[p,m]=i({prop:n,defaultProp:a??!1,onChange:l,caller:y}),[h,g]=_.useState(null),[b,x]=_.useState(null),C=_.useRef(!1),w=!h||!!s||!!h.closest(`form`),T={checked:p,disabled:o,setChecked:m,control:h,setControl:g,name:c,form:s,value:d,hasConsumerStoppedPropagationRef:C,required:u,defaultChecked:!N(a)&&a,isFormControl:w,bubbleInput:b,setBubbleInput:x};return(0,v.jsx)(S,{scope:t,...T,children:M(f)?f(T):r})}var T=`CheckboxTrigger`,E=_.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:s,disabled:u,checked:d,required:f,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:h,isFormControl:g,bubbleInput:y}=C(T,e),b=c(i,p),x=_.useRef(d);return _.useEffect(()=>{let e=a?.form;if(e){let t=()=>m(x.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,m]),(0,v.jsx)(o.button,{type:`button`,role:`checkbox`,"aria-checked":N(d)?`mixed`:d,"aria-required":f,"data-state":P(d),"data-disabled":u?``:void 0,disabled:u,value:s,...r,ref:b,onKeyDown:l(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:l(n,e=>{m(e=>N(e)?!0:!e),y&&g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})});E.displayName=T;var D=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,v.jsx)(w,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(E,{...d,ref:t,__scopeCheckbox:n}),e&&(0,v.jsx)(j,{__scopeCheckbox:n})]})})});D.displayName=y;var O=`CheckboxIndicator`,k=_.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=C(O,n);return(0,v.jsx)(s,{present:r||N(a.checked)||a.checked===!0,children:(0,v.jsx)(o.span,{"data-state":P(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});k.displayName=O;var A=`CheckboxBubbleInput`,j=_.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:s,required:l,disabled:u,name:d,value:p,form:m,bubbleInput:g,setBubbleInput:y}=C(A,e),b=c(n,y),x=h(a),S=f(r);_.useEffect(()=>{let e=g;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(x!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=N(a),n.call(e,!N(a)&&a),e.dispatchEvent(t)}},[g,x,a,i]);let w=_.useRef(!N(a)&&a);return(0,v.jsx)(o.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:s??w.current,required:l,disabled:u,name:d,value:p,form:m,...t,tabIndex:-1,ref:b,style:{...t.style,...S,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});j.displayName=A;function M(e){return typeof e==`function`}function N(e){return e===`indeterminate`}function P(e){return N(e)?`indeterminate`:e?`checked`:`unchecked`}var F=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(D,{ref:n,className:a(`peer h-4 w-4 cursor-pointer shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,v.jsx)(k,{className:a(`flex items-center justify-center text-current`),children:(0,v.jsx)(g,{className:`h-3.5 w-3.5`})})}));F.displayName=D.displayName;var I=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,v.jsx)(`table`,{ref:n,className:a(`w-full caption-bottom text-sm`,e),...t})}));I.displayName=`Table`;var L=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`thead`,{ref:n,className:a(`[&_tr]:border-b [&_tr]:border-border bg-muted/40`,e),...t}));L.displayName=`TableHeader`;var R=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`tbody`,{ref:n,className:a(`[&_tr:last-child]:border-0`,e),...t}));R.displayName=`TableBody`;var z=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`tfoot`,{ref:n,className:a(`border-t bg-muted/40 font-medium [&>tr]:last:border-b-0`,e),...t}));z.displayName=`TableFooter`;var B=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`tr`,{ref:n,className:a(`border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,e),...t}));B.displayName=`TableRow`;var V=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`th`,{ref:n,className:a(`h-10 px-3 text-left align-middle text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r border-border last:border-r-0`,e),...t}));V.displayName=`TableHead`;var H=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`td`,{ref:n,className:a(`px-3 py-2 align-middle border-r border-border last:border-r-0`,e),...t}));H.displayName=`TableCell`;var U=_.forwardRef(({className:e,...t},n)=>(0,v.jsx)(`caption`,{ref:n,className:a(`mt-4 text-sm text-muted-foreground`,e),...t}));U.displayName=`TableCaption`;var W=e=>{if(e==null)return``;if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}try{return JSON.stringify(e,null,2)}catch{return String(e)}},G=e=>{if(e==null)return``;try{return JSON.stringify(e)}catch{return``}},K=e=>{if(e.trim()===``)return{ok:!0,value:null};try{return{ok:!0,value:JSON.parse(e)}}catch{return{ok:!1}}};function q({value:e,onChange:t,onBlur:n,disabled:r,placeholder:i=`{}`,rows:o=8,className:s,formatLabel:c=`Format`,invalidLabel:l=`Invalid JSON`}){let[f,h]=_.useState(()=>W(e)),[g,y]=_.useState(null);_.useEffect(()=>{let t=K(f);(t.ok?G(t.value):`__invalid__`)!==G(e)&&(h(W(e)),y(null))},[e]);let b=e=>{if(h(e),e.trim()===``){y(null),t(null);return}let n=K(e);if(n.ok)y(null),t(n.value);else try{JSON.parse(e)}catch(e){y(e instanceof Error?e.message:l)}};return(0,v.jsxs)(`div`,{className:a(`space-y-2`,s),children:[(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(m,{value:f,onChange:e=>b(e.target.value),onBlur:n,disabled:r,rows:o,spellCheck:!1,placeholder:i,className:a(`pr-20 font-mono text-xs leading-relaxed`,g&&`border-destructive focus-visible:ring-destructive/40`)}),(0,v.jsxs)(p,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{if(f.trim()!==``)try{let e=JSON.parse(f),n=JSON.stringify(e,null,2);h(n),y(null),t(e)}catch(e){y(e instanceof Error?e.message:l)}},disabled:r||f.trim()===``,className:`absolute right-1 top-1 h-7 px-2 text-xs`,title:c,children:[(0,v.jsx)(d,{className:`size-3.5`}),(0,v.jsx)(`span`,{className:`hidden sm:inline`,children:c})]})]}),g?(0,v.jsxs)(`p`,{className:`flex items-start gap-1.5 text-xs text-destructive`,children:[(0,v.jsx)(u,{className:`mt-0.5 size-3.5 shrink-0`}),(0,v.jsxs)(`span`,{className:`break-all`,children:[l,`: `,g]})]}):null]})}function J({value:e,className:t,inline:n}){let r=_.useMemo(()=>W(e),[e]);if(n){let e=r.replace(/\s+/g,` `).trim();return(0,v.jsx)(`code`,{className:a(`line-clamp-1 max-w-[24rem] truncate font-mono text-xs text-muted-foreground`,t),title:r||void 0,children:e||`—`})}return(0,v.jsx)(`pre`,{className:a(`max-h-96 overflow-auto rounded-md border border-border bg-muted/40 p-3 font-mono text-xs leading-relaxed text-foreground`,t),children:(0,v.jsx)(`code`,{children:r||`—`})})}export{H as a,B as c,R as i,F as l,J as n,V as o,I as r,L as s,q as t};
2
+ //# sourceMappingURL=json-editor-yfO4TUB_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-editor-CAIgxYb3.js","names":["Checkbox","Fragment"],"sources":["../../../../../node_modules/.bun/@radix-ui+react-checkbox@1.3.7+ae2b4604ef263bc9/node_modules/@radix-ui/react-checkbox/dist/index.mjs","../../../../ui/src/components/checkbox.tsx","../../../../ui/src/components/table.tsx","../../../../ui/src/components/json-editor.tsx"],"sourcesContent":["\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { Check } from 'lucide-react'\nimport { cn } from '../lib/utils.js'\n\nexport const Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'peer h-4 w-4 cursor-pointer shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\n <Check className=\"h-3.5 w-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n","import * as React from 'react'\nimport { cn } from '../lib/utils.js'\n\nexport const Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(\n ({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n ),\n)\nTable.displayName = 'Table'\n\nexport const TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn('[&_tr]:border-b [&_tr]:border-border bg-muted/40', className)} {...props} />\n))\nTableHeader.displayName = 'TableHeader'\n\nexport const TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n))\nTableBody.displayName = 'TableBody'\n\nexport const TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn('border-t bg-muted/40 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n))\nTableFooter.displayName = 'TableFooter'\n\nexport const TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n 'border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted',\n className,\n )}\n {...props}\n />\n))\nTableRow.displayName = 'TableRow'\n\nexport const TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'h-10 px-3 text-left align-middle text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r border-border last:border-r-0',\n className,\n )}\n {...props}\n />\n))\nTableHead.displayName = 'TableHead'\n\nexport const TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn('px-3 py-2 align-middle border-r border-border last:border-r-0', className)}\n {...props}\n />\n))\nTableCell.displayName = 'TableCell'\n\nexport const TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn('mt-4 text-sm text-muted-foreground', className)}\n {...props}\n />\n))\nTableCaption.displayName = 'TableCaption'\n","// JsonEditor + JsonView — editing/displaying JSON-typed property values.\n//\n// Editor: a monospace Textarea with live parse, an inline \"Format\" button\n// and an error band for parse failures. Calls onChange with the parsed\n// value (object/array/primitive) — never with the raw string — so the form\n// layer stores structured data.\n//\n// View: pretty-printed <pre> for show, single-line collapsed code for list.\n\nimport * as React from 'react'\nimport { AlertCircle, Wand2 } from 'lucide-react'\nimport { cn } from '../lib/utils.js'\nimport { Button } from './button.js'\nimport { Textarea } from './textarea.js'\n\nconst stringify = (value: unknown): string => {\n if (value == null) return ''\n if (typeof value === 'string') {\n // Strings that are themselves JSON come back from some adapters.\n // Normalize to pretty form; otherwise leave the raw string alone.\n try {\n return JSON.stringify(JSON.parse(value), null, 2)\n } catch {\n return value\n }\n }\n try {\n return JSON.stringify(value, null, 2)\n } catch {\n return String(value)\n }\n}\n\nexport interface JsonEditorProps {\n value: unknown\n onChange(next: unknown): void\n onBlur?(): void\n disabled?: boolean\n placeholder?: string\n rows?: number\n className?: string\n /** Translated label for the inline \"Format\" button. */\n formatLabel?: string\n /** Translated prefix for parse-error messages. */\n invalidLabel?: string\n}\n\n// Canonical (key-stable, no whitespace) JSON serialization used to decide\n// whether an externally arriving `value` is structurally identical to what\n// the user is currently typing. Reference comparison would always fail\n// because the parent typically returns a fresh object on every re-render.\nconst canonical = (value: unknown): string => {\n if (value == null) return ''\n try {\n return JSON.stringify(value)\n } catch {\n return ''\n }\n}\n\nconst tryParse = (text: string): { ok: true; value: unknown } | { ok: false } => {\n if (text.trim() === '') return { ok: true, value: null }\n try {\n return { ok: true, value: JSON.parse(text) as unknown }\n } catch {\n return { ok: false }\n }\n}\n\nexport function JsonEditor({\n value,\n onChange,\n onBlur,\n disabled,\n placeholder = '{}',\n rows = 8,\n className,\n formatLabel = 'Format',\n invalidLabel = 'Invalid JSON',\n}: JsonEditorProps): React.ReactElement {\n const [draft, setDraft] = React.useState<string>(() => stringify(value))\n const [error, setError] = React.useState<string | null>(null)\n\n // Resync the textarea only when the *external* value differs structurally\n // from what the user is currently typing. Without the canonical-form check,\n // every keystroke that produces valid JSON would trigger\n // onChange(parsed) → parent re-render → useEffect → setDraft(stringify(value))\n // and the user's in-progress text would get auto-pretty-printed on every\n // keystroke. By comparing canonical JSON, our own emissions become no-ops\n // here, while genuine external resets (record reload, form.reset()) still\n // refresh the draft.\n React.useEffect(() => {\n const parsed = tryParse(draft)\n const draftCanonical = parsed.ok ? canonical(parsed.value) : '__invalid__'\n if (draftCanonical === canonical(value)) return\n setDraft(stringify(value))\n setError(null)\n // Intentionally depend only on `value`. `draft` is read via closure: we\n // only want this to fire on external changes, not when the user types.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value])\n\n const handleChange = (next: string): void => {\n setDraft(next)\n if (next.trim() === '') {\n setError(null)\n onChange(null)\n return\n }\n const parsed = tryParse(next)\n if (parsed.ok) {\n setError(null)\n onChange(parsed.value)\n } else {\n try {\n JSON.parse(next)\n } catch (e) {\n setError(e instanceof Error ? e.message : invalidLabel)\n }\n }\n }\n\n const format = (): void => {\n if (draft.trim() === '') return\n try {\n const parsed = JSON.parse(draft) as unknown\n const pretty = JSON.stringify(parsed, null, 2)\n setDraft(pretty)\n setError(null)\n onChange(parsed)\n } catch (e) {\n setError(e instanceof Error ? e.message : invalidLabel)\n }\n }\n\n return (\n <div className={cn('space-y-2', className)}>\n <div className=\"relative\">\n <Textarea\n value={draft}\n onChange={(e) => handleChange(e.target.value)}\n onBlur={onBlur}\n disabled={disabled}\n rows={rows}\n spellCheck={false}\n placeholder={placeholder}\n className={cn(\n 'pr-20 font-mono text-xs leading-relaxed',\n error && 'border-destructive focus-visible:ring-destructive/40',\n )}\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={format}\n disabled={disabled || draft.trim() === ''}\n className=\"absolute right-1 top-1 h-7 px-2 text-xs\"\n title={formatLabel}\n >\n <Wand2 className=\"size-3.5\" />\n <span className=\"hidden sm:inline\">{formatLabel}</span>\n </Button>\n </div>\n {error ? (\n <p className=\"flex items-start gap-1.5 text-xs text-destructive\">\n <AlertCircle className=\"mt-0.5 size-3.5 shrink-0\" />\n <span className=\"break-all\">\n {invalidLabel}: {error}\n </span>\n </p>\n ) : null}\n </div>\n )\n}\n\nexport interface JsonViewProps {\n value: unknown\n className?: string\n /** Render a single-line collapsed `<code>` instead of a pretty `<pre>`. */\n inline?: boolean\n}\n\nexport function JsonView({ value, className, inline }: JsonViewProps): React.ReactElement {\n const text = React.useMemo(() => stringify(value), [value])\n if (inline) {\n const compact = text.replace(/\\s+/g, ' ').trim()\n return (\n <code\n className={cn(\n 'line-clamp-1 max-w-[24rem] truncate font-mono text-xs text-muted-foreground',\n className,\n )}\n title={text || undefined}\n >\n {compact || '—'}\n </code>\n )\n }\n return (\n <pre\n className={cn(\n 'max-h-96 overflow-auto rounded-md border border-border bg-muted/40 p-3 font-mono text-xs leading-relaxed text-foreground',\n className,\n )}\n >\n <code>{text || '—'}</code>\n </pre>\n )\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"json-editor-yfO4TUB_.js","names":["Checkbox","Fragment"],"sources":["../../../../../node_modules/.bun/@radix-ui+react-checkbox@1.3.7+ae2b4604ef263bc9/node_modules/@radix-ui/react-checkbox/dist/index.mjs","../../../../ui/src/components/checkbox.tsx","../../../../ui/src/components/table.tsx","../../../../ui/src/components/json-editor.tsx"],"sourcesContent":["\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { Check } from 'lucide-react'\nimport { cn } from '../lib/utils.js'\n\nexport const Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'peer h-4 w-4 cursor-pointer shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\n <Check className=\"h-3.5 w-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n","import * as React from 'react'\nimport { cn } from '../lib/utils.js'\n\nexport const Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(\n ({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n ),\n)\nTable.displayName = 'Table'\n\nexport const TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn('[&_tr]:border-b [&_tr]:border-border bg-muted/40', className)} {...props} />\n))\nTableHeader.displayName = 'TableHeader'\n\nexport const TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n))\nTableBody.displayName = 'TableBody'\n\nexport const TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn('border-t bg-muted/40 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n))\nTableFooter.displayName = 'TableFooter'\n\nexport const TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n 'border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted',\n className,\n )}\n {...props}\n />\n))\nTableRow.displayName = 'TableRow'\n\nexport const TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'h-10 px-3 text-left align-middle text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r border-border last:border-r-0',\n className,\n )}\n {...props}\n />\n))\nTableHead.displayName = 'TableHead'\n\nexport const TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn('px-3 py-2 align-middle border-r border-border last:border-r-0', className)}\n {...props}\n />\n))\nTableCell.displayName = 'TableCell'\n\nexport const TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn('mt-4 text-sm text-muted-foreground', className)}\n {...props}\n />\n))\nTableCaption.displayName = 'TableCaption'\n","// JsonEditor + JsonView — editing/displaying JSON-typed property values.\n//\n// Editor: a monospace Textarea with live parse, an inline \"Format\" button\n// and an error band for parse failures. Calls onChange with the parsed\n// value (object/array/primitive) — never with the raw string — so the form\n// layer stores structured data.\n//\n// View: pretty-printed <pre> for show, single-line collapsed code for list.\n\nimport * as React from 'react'\nimport { AlertCircle, Wand2 } from 'lucide-react'\nimport { cn } from '../lib/utils.js'\nimport { Button } from './button.js'\nimport { Textarea } from './textarea.js'\n\nconst stringify = (value: unknown): string => {\n if (value == null) return ''\n if (typeof value === 'string') {\n // Strings that are themselves JSON come back from some adapters.\n // Normalize to pretty form; otherwise leave the raw string alone.\n try {\n return JSON.stringify(JSON.parse(value), null, 2)\n } catch {\n return value\n }\n }\n try {\n return JSON.stringify(value, null, 2)\n } catch {\n return String(value)\n }\n}\n\nexport interface JsonEditorProps {\n value: unknown\n onChange(next: unknown): void\n onBlur?(): void\n disabled?: boolean\n placeholder?: string\n rows?: number\n className?: string\n /** Translated label for the inline \"Format\" button. */\n formatLabel?: string\n /** Translated prefix for parse-error messages. */\n invalidLabel?: string\n}\n\n// Canonical (key-stable, no whitespace) JSON serialization used to decide\n// whether an externally arriving `value` is structurally identical to what\n// the user is currently typing. Reference comparison would always fail\n// because the parent typically returns a fresh object on every re-render.\nconst canonical = (value: unknown): string => {\n if (value == null) return ''\n try {\n return JSON.stringify(value)\n } catch {\n return ''\n }\n}\n\nconst tryParse = (text: string): { ok: true; value: unknown } | { ok: false } => {\n if (text.trim() === '') return { ok: true, value: null }\n try {\n return { ok: true, value: JSON.parse(text) as unknown }\n } catch {\n return { ok: false }\n }\n}\n\nexport function JsonEditor({\n value,\n onChange,\n onBlur,\n disabled,\n placeholder = '{}',\n rows = 8,\n className,\n formatLabel = 'Format',\n invalidLabel = 'Invalid JSON',\n}: JsonEditorProps): React.ReactElement {\n const [draft, setDraft] = React.useState<string>(() => stringify(value))\n const [error, setError] = React.useState<string | null>(null)\n\n // Resync the textarea only when the *external* value differs structurally\n // from what the user is currently typing. Without the canonical-form check,\n // every keystroke that produces valid JSON would trigger\n // onChange(parsed) → parent re-render → useEffect → setDraft(stringify(value))\n // and the user's in-progress text would get auto-pretty-printed on every\n // keystroke. By comparing canonical JSON, our own emissions become no-ops\n // here, while genuine external resets (record reload, form.reset()) still\n // refresh the draft.\n React.useEffect(() => {\n const parsed = tryParse(draft)\n const draftCanonical = parsed.ok ? canonical(parsed.value) : '__invalid__'\n if (draftCanonical === canonical(value)) return\n setDraft(stringify(value))\n setError(null)\n // Intentionally depend only on `value`. `draft` is read via closure: we\n // only want this to fire on external changes, not when the user types.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value])\n\n const handleChange = (next: string): void => {\n setDraft(next)\n if (next.trim() === '') {\n setError(null)\n onChange(null)\n return\n }\n const parsed = tryParse(next)\n if (parsed.ok) {\n setError(null)\n onChange(parsed.value)\n } else {\n try {\n JSON.parse(next)\n } catch (e) {\n setError(e instanceof Error ? e.message : invalidLabel)\n }\n }\n }\n\n const format = (): void => {\n if (draft.trim() === '') return\n try {\n const parsed = JSON.parse(draft) as unknown\n const pretty = JSON.stringify(parsed, null, 2)\n setDraft(pretty)\n setError(null)\n onChange(parsed)\n } catch (e) {\n setError(e instanceof Error ? e.message : invalidLabel)\n }\n }\n\n return (\n <div className={cn('space-y-2', className)}>\n <div className=\"relative\">\n <Textarea\n value={draft}\n onChange={(e) => handleChange(e.target.value)}\n onBlur={onBlur}\n disabled={disabled}\n rows={rows}\n spellCheck={false}\n placeholder={placeholder}\n className={cn(\n 'pr-20 font-mono text-xs leading-relaxed',\n error && 'border-destructive focus-visible:ring-destructive/40',\n )}\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={format}\n disabled={disabled || draft.trim() === ''}\n className=\"absolute right-1 top-1 h-7 px-2 text-xs\"\n title={formatLabel}\n >\n <Wand2 className=\"size-3.5\" />\n <span className=\"hidden sm:inline\">{formatLabel}</span>\n </Button>\n </div>\n {error ? (\n <p className=\"flex items-start gap-1.5 text-xs text-destructive\">\n <AlertCircle className=\"mt-0.5 size-3.5 shrink-0\" />\n <span className=\"break-all\">\n {invalidLabel}: {error}\n </span>\n </p>\n ) : null}\n </div>\n )\n}\n\nexport interface JsonViewProps {\n value: unknown\n className?: string\n /** Render a single-line collapsed `<code>` instead of a pretty `<pre>`. */\n inline?: boolean\n}\n\nexport function JsonView({ value, className, inline }: JsonViewProps): React.ReactElement {\n const text = React.useMemo(() => stringify(value), [value])\n if (inline) {\n const compact = text.replace(/\\s+/g, ' ').trim()\n return (\n <code\n className={cn(\n 'line-clamp-1 max-w-[24rem] truncate font-mono text-xs text-muted-foreground',\n className,\n )}\n title={text || undefined}\n >\n {compact || '—'}\n </code>\n )\n }\n return (\n <pre\n className={cn(\n 'max-h-96 overflow-auto rounded-md border border-border bg-muted/40 p-3 font-mono text-xs leading-relaxed text-foreground',\n className,\n )}\n >\n <code>{text || '—'}</code>\n </pre>\n )\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}