@modern-admin/web 0.3.3 → 0.3.5

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 (236) hide show
  1. package/dist/standalone/assets/action-component-host-CXIbN-8V.js +2 -0
  2. package/dist/standalone/assets/action-component-host-CXIbN-8V.js.br +0 -0
  3. package/dist/standalone/assets/action-component-host-CXIbN-8V.js.gz +0 -0
  4. package/dist/standalone/assets/action-component-host-CXIbN-8V.js.map +1 -0
  5. package/dist/standalone/assets/action-page-OsWfKQ6C.js +2 -0
  6. package/dist/standalone/assets/action-page-OsWfKQ6C.js.br +0 -0
  7. package/dist/standalone/assets/action-page-OsWfKQ6C.js.gz +0 -0
  8. package/dist/standalone/assets/action-page-OsWfKQ6C.js.map +1 -0
  9. package/dist/standalone/assets/{ai-assistant-widget-Dk-VvXD0.js → ai-assistant-widget-Bt4Z7Fmr.js} +2 -2
  10. package/dist/standalone/assets/ai-assistant-widget-Bt4Z7Fmr.js.br +0 -0
  11. package/dist/standalone/assets/ai-assistant-widget-Bt4Z7Fmr.js.gz +0 -0
  12. package/dist/standalone/assets/{ai-assistant-widget-Dk-VvXD0.js.map → ai-assistant-widget-Bt4Z7Fmr.js.map} +1 -1
  13. package/dist/standalone/assets/arrow-left-CI9hUPwJ.js +2 -0
  14. package/dist/standalone/assets/arrow-left-CI9hUPwJ.js.map +1 -0
  15. package/dist/standalone/assets/audit-log-page-2wuGiWg-.js +2 -0
  16. package/dist/standalone/assets/audit-log-page-2wuGiWg-.js.br +0 -0
  17. package/dist/standalone/assets/audit-log-page-2wuGiWg-.js.gz +0 -0
  18. package/dist/standalone/assets/{audit-log-page-BEC79lKy.js.map → audit-log-page-2wuGiWg-.js.map} +1 -1
  19. package/dist/standalone/assets/{calendar-Pq7dP9RH.js → calendar-BZVUWakC.js} +2 -2
  20. package/dist/standalone/assets/calendar-BZVUWakC.js.br +0 -0
  21. package/dist/standalone/assets/calendar-BZVUWakC.js.gz +0 -0
  22. package/dist/standalone/assets/{calendar-Pq7dP9RH.js.map → calendar-BZVUWakC.js.map} +1 -1
  23. package/dist/standalone/assets/chart-widget-BtJb6YXV.js +2 -0
  24. package/dist/standalone/assets/chart-widget-BtJb6YXV.js.br +0 -0
  25. package/dist/standalone/assets/chart-widget-BtJb6YXV.js.gz +0 -0
  26. package/dist/standalone/assets/{chart-widget-B7pIeDCP.js.map → chart-widget-BtJb6YXV.js.map} +1 -1
  27. package/dist/standalone/assets/circle-alert-0EyKeic4.js +2 -0
  28. package/dist/standalone/assets/circle-alert-0EyKeic4.js.map +1 -0
  29. package/dist/standalone/assets/{command-B6-wRF2R.js → command-BNF_evMy.js} +2 -2
  30. package/dist/standalone/assets/command-BNF_evMy.js.br +0 -0
  31. package/dist/standalone/assets/command-BNF_evMy.js.gz +0 -0
  32. package/dist/standalone/assets/{command-B6-wRF2R.js.map → command-BNF_evMy.js.map} +1 -1
  33. package/dist/standalone/assets/{date-picker-BAp85mMa.js → date-picker-LfbUehd1.js} +2 -2
  34. package/dist/standalone/assets/date-picker-LfbUehd1.js.br +0 -0
  35. package/dist/standalone/assets/date-picker-LfbUehd1.js.gz +0 -0
  36. package/dist/standalone/assets/{date-picker-BAp85mMa.js.map → date-picker-LfbUehd1.js.map} +1 -1
  37. package/dist/standalone/assets/{dist-CvKz-wgE.js → dist-BSbFjTlr.js} +2 -2
  38. package/dist/standalone/assets/dist-BSbFjTlr.js.br +0 -0
  39. package/dist/standalone/assets/dist-BSbFjTlr.js.gz +0 -0
  40. package/dist/standalone/assets/dist-BSbFjTlr.js.map +1 -0
  41. package/dist/standalone/assets/{dist-Dkym1-ts.js → dist-BcL2U6dT.js} +2 -2
  42. package/dist/standalone/assets/dist-BcL2U6dT.js.br +0 -0
  43. package/dist/standalone/assets/dist-BcL2U6dT.js.gz +0 -0
  44. package/dist/standalone/assets/{dist-Dkym1-ts.js.map → dist-BcL2U6dT.js.map} +1 -1
  45. package/dist/standalone/assets/edit-page-DCRB9Y_q.js +2 -0
  46. package/dist/standalone/assets/edit-page-DCRB9Y_q.js.br +0 -0
  47. package/dist/standalone/assets/edit-page-DCRB9Y_q.js.gz +0 -0
  48. package/dist/standalone/assets/{edit-page-BVwML9yD.js.map → edit-page-DCRB9Y_q.js.map} +1 -1
  49. package/dist/standalone/assets/ellipsis-lEjcTxo0.js +2 -0
  50. package/dist/standalone/assets/ellipsis-lEjcTxo0.js.map +1 -0
  51. package/dist/standalone/assets/{empty-BmE-qyE9.js → empty-DAEAjFd3.js} +2 -2
  52. package/dist/standalone/assets/empty-DAEAjFd3.js.br +0 -0
  53. package/dist/standalone/assets/empty-DAEAjFd3.js.gz +0 -0
  54. package/dist/standalone/assets/{empty-BmE-qyE9.js.map → empty-DAEAjFd3.js.map} +1 -1
  55. package/dist/standalone/assets/global-search-dialog-HMLztOho.js +2 -0
  56. package/dist/standalone/assets/global-search-dialog-HMLztOho.js.br +0 -0
  57. package/dist/standalone/assets/global-search-dialog-HMLztOho.js.gz +0 -0
  58. package/dist/standalone/assets/{global-search-dialog-C3Ri2VRv.js.map → global-search-dialog-HMLztOho.js.map} +1 -1
  59. package/dist/standalone/assets/{heavy-fields-aI_gOI6-.js → heavy-fields-ZuqfOFMv.js} +2 -2
  60. package/dist/standalone/assets/heavy-fields-ZuqfOFMv.js.br +0 -0
  61. package/dist/standalone/assets/heavy-fields-ZuqfOFMv.js.gz +0 -0
  62. package/dist/standalone/assets/{heavy-fields-aI_gOI6-.js.map → heavy-fields-ZuqfOFMv.js.map} +1 -1
  63. package/dist/standalone/assets/home-page-HmheewiP.js +3 -0
  64. package/dist/standalone/assets/home-page-HmheewiP.js.br +0 -0
  65. package/dist/standalone/assets/home-page-HmheewiP.js.gz +0 -0
  66. package/dist/standalone/assets/{home-page-Xc7HK72H.js.map → home-page-HmheewiP.js.map} +1 -1
  67. package/dist/standalone/assets/icon-registry-BV44--RL.js +2 -0
  68. package/dist/standalone/assets/icon-registry-BV44--RL.js.br +0 -0
  69. package/dist/standalone/assets/icon-registry-BV44--RL.js.gz +0 -0
  70. package/dist/standalone/assets/icon-registry-BV44--RL.js.map +1 -0
  71. package/dist/standalone/assets/{index-OvloY2cG.css → index-95cwJ2RY.css} +1 -1
  72. package/dist/standalone/assets/index-95cwJ2RY.css.br +0 -0
  73. package/dist/standalone/assets/index-95cwJ2RY.css.gz +0 -0
  74. package/dist/standalone/assets/index-t4woXGa-.js +15 -0
  75. package/dist/standalone/assets/index-t4woXGa-.js.br +0 -0
  76. package/dist/standalone/assets/index-t4woXGa-.js.gz +0 -0
  77. package/dist/standalone/assets/index-t4woXGa-.js.map +1 -0
  78. package/dist/standalone/assets/json-editor-sGw4fDoj.js +2 -0
  79. package/dist/standalone/assets/json-editor-sGw4fDoj.js.br +0 -0
  80. package/dist/standalone/assets/json-editor-sGw4fDoj.js.gz +0 -0
  81. package/dist/standalone/assets/{json-editor-DuYj4QGx.js.map → json-editor-sGw4fDoj.js.map} +1 -1
  82. package/dist/standalone/assets/property-renderer-DyCwdVkh.js +7 -0
  83. package/dist/standalone/assets/property-renderer-DyCwdVkh.js.br +0 -0
  84. package/dist/standalone/assets/property-renderer-DyCwdVkh.js.gz +0 -0
  85. package/dist/standalone/assets/property-renderer-DyCwdVkh.js.map +1 -0
  86. package/dist/standalone/assets/reference-Dfd804y3.js +2 -0
  87. package/dist/standalone/assets/reference-Dfd804y3.js.br +0 -0
  88. package/dist/standalone/assets/reference-Dfd804y3.js.gz +0 -0
  89. package/dist/standalone/assets/{reference-CbtDQb7U.js.map → reference-Dfd804y3.js.map} +1 -1
  90. package/dist/standalone/assets/refresh-cw-DHvUQTMb.js +2 -0
  91. package/dist/standalone/assets/refresh-cw-DHvUQTMb.js.map +1 -0
  92. package/dist/standalone/assets/revisions-button-DXZAh2Lu.js +2 -0
  93. package/dist/standalone/assets/revisions-button-DXZAh2Lu.js.br +0 -0
  94. package/dist/standalone/assets/revisions-button-DXZAh2Lu.js.gz +0 -0
  95. package/dist/standalone/assets/{revisions-button-hLRZGkwM.js.map → revisions-button-DXZAh2Lu.js.map} +1 -1
  96. package/dist/standalone/assets/router-wFvtgo77.js +186 -0
  97. package/dist/standalone/assets/router-wFvtgo77.js.br +0 -0
  98. package/dist/standalone/assets/router-wFvtgo77.js.gz +0 -0
  99. package/dist/standalone/assets/router-wFvtgo77.js.map +1 -0
  100. package/dist/standalone/assets/select-BWf6walM.js +2 -0
  101. package/dist/standalone/assets/select-BWf6walM.js.br +0 -0
  102. package/dist/standalone/assets/select-BWf6walM.js.gz +0 -0
  103. package/dist/standalone/assets/{select-BxTIWCco.js.map → select-BWf6walM.js.map} +1 -1
  104. package/dist/standalone/assets/settings-page-Co7sWbbL.js +2 -0
  105. package/dist/standalone/assets/settings-page-Co7sWbbL.js.br +0 -0
  106. package/dist/standalone/assets/settings-page-Co7sWbbL.js.gz +0 -0
  107. package/dist/standalone/assets/{settings-page-FHzVUo4t.js.map → settings-page-Co7sWbbL.js.map} +1 -1
  108. package/dist/standalone/assets/show-page-D-_vldWV.js +2 -0
  109. package/dist/standalone/assets/show-page-D-_vldWV.js.br +0 -0
  110. package/dist/standalone/assets/show-page-D-_vldWV.js.gz +0 -0
  111. package/dist/standalone/assets/show-page-D-_vldWV.js.map +1 -0
  112. package/dist/standalone/assets/{tabs-BrnwAET7.js → tabs-khcHka8W.js} +2 -2
  113. package/dist/standalone/assets/tabs-khcHka8W.js.br +0 -0
  114. package/dist/standalone/assets/tabs-khcHka8W.js.gz +0 -0
  115. package/dist/standalone/assets/{tabs-BrnwAET7.js.map → tabs-khcHka8W.js.map} +1 -1
  116. package/dist/standalone/assets/{zap-Be2c7_cs.js → upload-BVhXhZgn.js} +2 -2
  117. package/dist/standalone/assets/upload-BVhXhZgn.js.br +0 -0
  118. package/dist/standalone/assets/upload-BVhXhZgn.js.gz +0 -0
  119. package/dist/standalone/assets/upload-BVhXhZgn.js.map +1 -0
  120. package/dist/standalone/assets/{useQueries-CX5Gh6HV.js → useQueries-BCUhWYX4.js} +2 -2
  121. package/dist/standalone/assets/useQueries-BCUhWYX4.js.br +0 -0
  122. package/dist/standalone/assets/useQueries-BCUhWYX4.js.gz +0 -0
  123. package/dist/standalone/assets/{useQueries-CX5Gh6HV.js.map → useQueries-BCUhWYX4.js.map} +1 -1
  124. package/dist/standalone/assets/{user-directory-ZxAjN_q9.js → user-directory-9COoW6AO.js} +2 -2
  125. package/dist/standalone/assets/user-directory-9COoW6AO.js.br +0 -0
  126. package/dist/standalone/assets/user-directory-9COoW6AO.js.gz +0 -0
  127. package/dist/standalone/assets/{user-directory-ZxAjN_q9.js.map → user-directory-9COoW6AO.js.map} +1 -1
  128. package/dist/standalone/assets/{value-format-DmXCSwLn.js → value-format-CPnbnlE6.js} +2 -2
  129. package/dist/standalone/assets/value-format-CPnbnlE6.js.br +0 -0
  130. package/dist/standalone/assets/value-format-CPnbnlE6.js.gz +0 -0
  131. package/dist/standalone/assets/{value-format-DmXCSwLn.js.map → value-format-CPnbnlE6.js.map} +1 -1
  132. package/dist/standalone/assets/wand-sparkles-DWaFQeYS.js +2 -0
  133. package/dist/standalone/assets/wand-sparkles-DWaFQeYS.js.map +1 -0
  134. package/dist/standalone/assets/wizard-create-page-CFwMs8E3.js +2 -0
  135. package/dist/standalone/assets/wizard-create-page-CFwMs8E3.js.br +0 -0
  136. package/dist/standalone/assets/wizard-create-page-CFwMs8E3.js.gz +0 -0
  137. package/dist/standalone/assets/{wizard-create-page-Rh4uWxUR.js.map → wizard-create-page-CFwMs8E3.js.map} +1 -1
  138. package/dist/standalone/assets/zap-b3saQVKc.js +2 -0
  139. package/dist/standalone/assets/zap-b3saQVKc.js.map +1 -0
  140. package/dist/standalone/assets/{zod-bSPpBhsj.js → zod-BbfEBA4A.js} +2 -2
  141. package/dist/standalone/assets/zod-BbfEBA4A.js.br +0 -0
  142. package/dist/standalone/assets/zod-BbfEBA4A.js.gz +0 -0
  143. package/dist/standalone/assets/{zod-bSPpBhsj.js.map → zod-BbfEBA4A.js.map} +1 -1
  144. package/dist/standalone/index.html +8 -8
  145. package/dist/standalone/index.html.br +0 -0
  146. package/dist/standalone/index.html.gz +0 -0
  147. package/package.json +5 -5
  148. package/dist/standalone/assets/ai-assistant-widget-Dk-VvXD0.js.br +0 -0
  149. package/dist/standalone/assets/ai-assistant-widget-Dk-VvXD0.js.gz +0 -0
  150. package/dist/standalone/assets/audit-log-page-BEC79lKy.js +0 -2
  151. package/dist/standalone/assets/audit-log-page-BEC79lKy.js.br +0 -0
  152. package/dist/standalone/assets/audit-log-page-BEC79lKy.js.gz +0 -0
  153. package/dist/standalone/assets/calendar-Pq7dP9RH.js.br +0 -0
  154. package/dist/standalone/assets/calendar-Pq7dP9RH.js.gz +0 -0
  155. package/dist/standalone/assets/chart-widget-B7pIeDCP.js +0 -2
  156. package/dist/standalone/assets/chart-widget-B7pIeDCP.js.br +0 -0
  157. package/dist/standalone/assets/chart-widget-B7pIeDCP.js.gz +0 -0
  158. package/dist/standalone/assets/command-B6-wRF2R.js.br +0 -0
  159. package/dist/standalone/assets/command-B6-wRF2R.js.gz +0 -0
  160. package/dist/standalone/assets/date-picker-BAp85mMa.js.br +0 -0
  161. package/dist/standalone/assets/date-picker-BAp85mMa.js.gz +0 -0
  162. package/dist/standalone/assets/dist-CvKz-wgE.js.br +0 -0
  163. package/dist/standalone/assets/dist-CvKz-wgE.js.gz +0 -0
  164. package/dist/standalone/assets/dist-CvKz-wgE.js.map +0 -1
  165. package/dist/standalone/assets/dist-Dkym1-ts.js.br +0 -0
  166. package/dist/standalone/assets/dist-Dkym1-ts.js.gz +0 -0
  167. package/dist/standalone/assets/edit-page-BVwML9yD.js +0 -2
  168. package/dist/standalone/assets/edit-page-BVwML9yD.js.br +0 -0
  169. package/dist/standalone/assets/edit-page-BVwML9yD.js.gz +0 -0
  170. package/dist/standalone/assets/empty-BmE-qyE9.js.br +0 -0
  171. package/dist/standalone/assets/empty-BmE-qyE9.js.gz +0 -0
  172. package/dist/standalone/assets/global-search-dialog-C3Ri2VRv.js +0 -2
  173. package/dist/standalone/assets/global-search-dialog-C3Ri2VRv.js.br +0 -0
  174. package/dist/standalone/assets/global-search-dialog-C3Ri2VRv.js.gz +0 -0
  175. package/dist/standalone/assets/heavy-fields-aI_gOI6-.js.br +0 -0
  176. package/dist/standalone/assets/heavy-fields-aI_gOI6-.js.gz +0 -0
  177. package/dist/standalone/assets/home-page-Xc7HK72H.js +0 -3
  178. package/dist/standalone/assets/home-page-Xc7HK72H.js.br +0 -0
  179. package/dist/standalone/assets/home-page-Xc7HK72H.js.gz +0 -0
  180. package/dist/standalone/assets/icon-registry-AlRIE8PQ.js +0 -2
  181. package/dist/standalone/assets/icon-registry-AlRIE8PQ.js.br +0 -0
  182. package/dist/standalone/assets/icon-registry-AlRIE8PQ.js.gz +0 -0
  183. package/dist/standalone/assets/icon-registry-AlRIE8PQ.js.map +0 -1
  184. package/dist/standalone/assets/index-OvloY2cG.css.br +0 -0
  185. package/dist/standalone/assets/index-OvloY2cG.css.gz +0 -0
  186. package/dist/standalone/assets/index-R1VJOHqq.js +0 -15
  187. package/dist/standalone/assets/index-R1VJOHqq.js.br +0 -0
  188. package/dist/standalone/assets/index-R1VJOHqq.js.gz +0 -0
  189. package/dist/standalone/assets/index-R1VJOHqq.js.map +0 -1
  190. package/dist/standalone/assets/json-editor-DuYj4QGx.js +0 -2
  191. package/dist/standalone/assets/json-editor-DuYj4QGx.js.br +0 -0
  192. package/dist/standalone/assets/json-editor-DuYj4QGx.js.gz +0 -0
  193. package/dist/standalone/assets/property-renderer-U2F_u1LG.js +0 -7
  194. package/dist/standalone/assets/property-renderer-U2F_u1LG.js.br +0 -0
  195. package/dist/standalone/assets/property-renderer-U2F_u1LG.js.gz +0 -0
  196. package/dist/standalone/assets/property-renderer-U2F_u1LG.js.map +0 -1
  197. package/dist/standalone/assets/reference-CbtDQb7U.js +0 -2
  198. package/dist/standalone/assets/reference-CbtDQb7U.js.br +0 -0
  199. package/dist/standalone/assets/reference-CbtDQb7U.js.gz +0 -0
  200. package/dist/standalone/assets/refresh-cw-B2G7AzZh.js +0 -2
  201. package/dist/standalone/assets/refresh-cw-B2G7AzZh.js.map +0 -1
  202. package/dist/standalone/assets/revisions-button-hLRZGkwM.js +0 -2
  203. package/dist/standalone/assets/revisions-button-hLRZGkwM.js.br +0 -0
  204. package/dist/standalone/assets/revisions-button-hLRZGkwM.js.gz +0 -0
  205. package/dist/standalone/assets/router-DmBe_NWn.js +0 -186
  206. package/dist/standalone/assets/router-DmBe_NWn.js.br +0 -0
  207. package/dist/standalone/assets/router-DmBe_NWn.js.gz +0 -0
  208. package/dist/standalone/assets/router-DmBe_NWn.js.map +0 -1
  209. package/dist/standalone/assets/select-BxTIWCco.js +0 -2
  210. package/dist/standalone/assets/select-BxTIWCco.js.br +0 -0
  211. package/dist/standalone/assets/select-BxTIWCco.js.gz +0 -0
  212. package/dist/standalone/assets/settings-page-FHzVUo4t.js +0 -2
  213. package/dist/standalone/assets/settings-page-FHzVUo4t.js.br +0 -0
  214. package/dist/standalone/assets/settings-page-FHzVUo4t.js.gz +0 -0
  215. package/dist/standalone/assets/show-page-Jotfue76.js +0 -2
  216. package/dist/standalone/assets/show-page-Jotfue76.js.br +0 -0
  217. package/dist/standalone/assets/show-page-Jotfue76.js.gz +0 -0
  218. package/dist/standalone/assets/show-page-Jotfue76.js.map +0 -1
  219. package/dist/standalone/assets/tabs-BrnwAET7.js.br +0 -0
  220. package/dist/standalone/assets/tabs-BrnwAET7.js.gz +0 -0
  221. package/dist/standalone/assets/useQueries-CX5Gh6HV.js.br +0 -0
  222. package/dist/standalone/assets/useQueries-CX5Gh6HV.js.gz +0 -0
  223. package/dist/standalone/assets/user-directory-ZxAjN_q9.js.br +0 -0
  224. package/dist/standalone/assets/user-directory-ZxAjN_q9.js.gz +0 -0
  225. package/dist/standalone/assets/value-format-DmXCSwLn.js.br +0 -0
  226. package/dist/standalone/assets/value-format-DmXCSwLn.js.gz +0 -0
  227. package/dist/standalone/assets/wand-sparkles-BDM69Lk9.js +0 -2
  228. package/dist/standalone/assets/wand-sparkles-BDM69Lk9.js.map +0 -1
  229. package/dist/standalone/assets/wizard-create-page-Rh4uWxUR.js +0 -2
  230. package/dist/standalone/assets/wizard-create-page-Rh4uWxUR.js.br +0 -0
  231. package/dist/standalone/assets/wizard-create-page-Rh4uWxUR.js.gz +0 -0
  232. package/dist/standalone/assets/zap-Be2c7_cs.js.br +0 -0
  233. package/dist/standalone/assets/zap-Be2c7_cs.js.gz +0 -0
  234. package/dist/standalone/assets/zap-Be2c7_cs.js.map +0 -1
  235. package/dist/standalone/assets/zod-bSPpBhsj.js.br +0 -0
  236. package/dist/standalone/assets/zod-bSPpBhsj.js.gz +0 -0
@@ -1,2 +0,0 @@
1
- import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{C as n,S as r,_ as i,b as a,d as o,h as s,i as c,l,m as u,o as d,p as f,r as p,s as m,u as h,x as g}from"./with-selector-NDLhu4dT.js";import{n as _,r as v,t as y}from"./dist-CvKz-wgE.js";import{n as b}from"./trash-2-DhyKQCKv.js";import{a as x,i as S,n as C,r as w,t as T}from"./dist-Dpg8xy_r.js";import{Ct as ee,Et as E,Tt as D,wt as O}from"./router-DmBe_NWn.js";import{G as k,_t as A,vt as j}from"./index-R1VJOHqq.js";var M=e(n(),1),N=e(t(),1);function P(e){let t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var F=r(),I=[` `,`Enter`,`ArrowUp`,`ArrowDown`],L=[` `,`Enter`],R=`Select`,[z,B,V]=v(R),[H,U]=g(R,[V,x]),W=x(),[te,G]=H(R),[ne,re]=H(R),ie=`SelectProvider`;function K(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:u,name:d,autoComplete:p,disabled:m,required:h,form:g,internal_do_not_use_render:v}=e,y=W(t),[b,x]=N.useState(null),[C,w]=N.useState(null),[T,ee]=N.useState(!1),E=_(u),[D,O]=f({prop:r,defaultProp:i??!1,onChange:a,caller:R}),[k,A]=f({prop:o,defaultProp:s,onChange:c,caller:R}),j=N.useRef(null),M=N.useRef(k);N.useEffect(()=>{let e=g?b?.ownerDocument.getElementById(g):b?.form;if(e instanceof HTMLFormElement){let t=()=>A(M.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,b,A]);let P=!b||!!g||!!b.closest(`form`),[I,L]=N.useState(new Set),B=l(),V=Array.from(I).map(e=>e.props.value).join(`;`),H=N.useCallback(e=>{L(t=>new Set(t).add(e))},[]),U=N.useCallback(e=>{L(t=>{let n=new Set(t);return n.delete(e),n})},[]),G={required:h,trigger:b,onTriggerChange:x,valueNode:C,onValueNodeChange:w,valueNodeHasChildren:T,onValueNodeHasChildrenChange:ee,contentId:B,value:k,onValueChange:A,open:D,onOpenChange:O,dir:E,triggerPointerDownPosRef:j,disabled:m,name:d,autoComplete:p,form:g,nativeOptions:I,nativeSelectKey:V,isFormControl:P};return(0,F.jsx)(S,{...y,children:(0,F.jsx)(te,{scope:t,...G,children:(0,F.jsx)(z.Provider,{scope:t,children:(0,F.jsx)(ne,{scope:t,onNativeOptionAdd:H,onNativeOptionRemove:U,children:Qe(v)?v(G):n})})})})}K.displayName=ie;var q=e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,F.jsx)(K,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,F.jsxs)(F.Fragment,{children:[n,e?(0,F.jsx)(Ze,{__scopeSelect:t}):null]})})};q.displayName=R;var ae=`SelectTrigger`,oe=N.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,c=W(n),l=G(ae,n),u=l.disabled||r,d=a(t,l.onTriggerChange),f=B(n),p=N.useRef(`touch`),[m,h,g]=$e(e=>{let t=f().filter(e=>!e.disabled),n=et(t,e,t.find(e=>e.value===l.value));n!==void 0&&l.onValueChange(n.value)}),_=e=>{u||(l.onOpenChange(!0),g()),e&&(l.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,F.jsx)(T,{asChild:!0,...c,children:(0,F.jsx)(o.button,{type:`button`,role:`combobox`,"aria-controls":l.open?l.contentId:void 0,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":`none`,dir:l.dir,"data-state":l.open?`open`:`closed`,disabled:u,"data-disabled":u?``:void 0,"data-placeholder":$(l.value)?``:void 0,...i,ref:d,onClick:s(i.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&_(e)}),onPointerDown:s(i.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:s(i.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&I.includes(e.key)&&(_(),e.preventDefault())})})})});oe.displayName=ae;var se=`SelectValue`,ce=N.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:s,placeholder:c=``,...l}=e,d=G(se,n),{onValueNodeHasChildrenChange:f}=d,p=s!==void 0,m=a(t,d.onValueNodeChange);u(()=>{f(p)},[f,p]);let h=$(d.value);return(0,F.jsx)(o.span,{...l,asChild:!h&&l.asChild,ref:m,style:{pointerEvents:`none`},children:(0,F.jsx)(N.Fragment,{children:h?c:s},h?`placeholder`:`value`)})});ce.displayName=se;var le=`SelectIcon`,ue=N.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,F.jsx)(o.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});ue.displayName=le;var de=`SelectPortal`,[fe,pe]=H(de,{forceMount:void 0}),me=e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,F.jsx)(fe,{scope:e.__scopeSelect,forceMount:n,children:(0,F.jsx)(p,{asChild:!0,...r})})};me.displayName=de;var J=`SelectContent`,he=N.forwardRef((e,t)=>{let n=pe(J,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=G(J,e.__scopeSelect),[o,s]=N.useState();return u(()=>{s(new DocumentFragment)},[]),(0,F.jsx)(h,{present:r||a.open,children:({present:e})=>e?(0,F.jsx)(be,{...i,ref:t}):(0,F.jsx)(ge,{...i,fragment:o})})});he.displayName=J;var ge=N.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,fragment:i}=e;return i?M.createPortal((0,F.jsx)(_e,{scope:n,children:(0,F.jsx)(z.Slot,{scope:n,children:(0,F.jsx)(`div`,{ref:t,children:r})})}),i):null});ge.displayName=`SelectContentFragment`;var Y=10,[_e,X]=H(J),ve=`SelectContentImpl`,ye=i(`SelectContent.RemoveScroll`),be=N.forwardRef((e,t)=>{let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:o,onPointerDownOutside:l,side:u,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y,...b}=e,x=G(J,n),[S,C]=N.useState(null),[w,T]=N.useState(null),k=a(t,C),[A,j]=N.useState(null),[M,P]=N.useState(null),I=B(n),[L,R]=N.useState(!1),z=N.useRef(!1);N.useEffect(()=>{if(S)return O(S)},[S]),E();let V=N.useCallback(e=>{let[t,...n]=I().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&w&&(w.scrollTop=0),n===r&&w&&(w.scrollTop=w.scrollHeight),n?.focus(),document.activeElement!==i))return},[I,w]),H=N.useCallback(()=>V([A,S]),[V,A,S]);N.useEffect(()=>{L&&H()},[L,H]);let{onOpenChange:U,triggerPointerDownPosRef:W}=x;N.useEffect(()=>{if(S){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(W.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(S)||U(!1),document.removeEventListener(`pointermove`,t),W.current=null};return W.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[S,U,W]),N.useEffect(()=>{let e=()=>U(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[U]);let[te,ne]=$e(e=>{let t=I().filter(e=>!e.disabled),n=et(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),re=N.useCallback((e,t,n)=>{let r=!z.current&&!n;(x.value!==void 0&&x.value===t||r)&&(j(e),r&&(z.current=!0))},[x.value]),ie=N.useCallback(()=>S?.focus(),[S]),K=N.useCallback((e,t,n)=>{let r=!z.current&&!n;(x.value!==void 0&&x.value===t||r)&&P(e)},[x.value]),q=r===`popper`?we:Se,ae=q===we?{side:u,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y}:{};return(0,F.jsx)(_e,{scope:n,content:S,viewport:w,onViewportChange:T,itemRefCallback:re,selectedItem:A,onItemLeave:ie,itemTextRefCallback:K,focusSelectedItem:H,selectedItemText:M,position:r,isPositioned:L,searchRef:te,children:(0,F.jsx)(ee,{as:ye,allowPinchZoom:!0,children:(0,F.jsx)(D,{asChild:!0,trapped:x.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:s(i,e=>{x.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,F.jsx)(c,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:l,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:(0,F.jsx)(q,{role:`listbox`,id:x.contentId,"data-state":x.open?`open`:`closed`,dir:x.dir,onContextMenu:e=>e.preventDefault(),...b,...ae,onPlaced:()=>R(!0),ref:k,style:{display:`flex`,flexDirection:`column`,outline:`none`,...b.style},onKeyDown:s(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&ne(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=I().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>V(t)),e.preventDefault()}})})})})})})});be.displayName=ve;var xe=`SelectItemAlignedPosition`,Se=N.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,s=G(J,n),c=X(J,n),[l,d]=N.useState(null),[f,p]=N.useState(null),m=a(t,p),h=B(n),g=N.useRef(!1),_=N.useRef(!0),{viewport:v,selectedItem:b,selectedItemText:x,focusSelectedItem:S}=c,C=N.useCallback(()=>{if(s.trigger&&s.valueNode&&l&&f&&v&&b&&x){let e=s.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),i=x.getBoundingClientRect();if(s.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-Y,d=y(a,[Y,Math.max(Y,u-c)]);l.style.minWidth=s+`px`,l.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),u=window.innerWidth-Y,d=y(a,[Y,Math.max(Y,u-c)]);l.style.minWidth=s+`px`,l.style.right=d+`px`}let a=h(),o=window.innerHeight-Y*2,c=v.scrollHeight,u=window.getComputedStyle(f),d=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),_=parseInt(u.paddingBottom,10),S=d+p+c+_+m,C=Math.min(b.offsetHeight*5,S),w=window.getComputedStyle(v),T=parseInt(w.paddingTop,10),ee=parseInt(w.paddingBottom,10),E=e.top+e.height/2-Y,D=o-E,O=b.offsetHeight/2,k=b.offsetTop+O,A=d+p+k,j=S-A;if(A<=E){let e=a.length>0&&b===a[a.length-1].ref.current;l.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?ee:0)+t+m);l.style.height=n+`px`}else{let e=a.length>0&&b===a[0].ref.current;l.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?T:0)+O)+j;l.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}l.style.margin=`${Y}px 0`,l.style.minHeight=C+`px`,l.style.maxHeight=o+`px`,r?.(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,l,f,v,b,x,s.dir,r]);u(()=>C(),[C]);let[w,T]=N.useState();return u(()=>{f&&T(window.getComputedStyle(f).zIndex)},[f]),(0,F.jsx)(Te,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:g,onScrollButtonChange:N.useCallback(e=>{e&&_.current===!0&&(C(),S?.(),_.current=!1)},[C,S]),children:(0,F.jsx)(`div`,{ref:d,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:w},children:(0,F.jsx)(o.div,{...i,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});Se.displayName=xe;var Ce=`SelectPopperPosition`,we=N.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Y,...a}=e,o=W(n);return(0,F.jsx)(w,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});we.displayName=Ce;var[Te,Ee]=H(J,{}),De=`SelectViewport`,Oe=N.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,c=X(De,n),l=Ee(De,n),u=a(t,c.onViewportChange),d=N.useRef(0);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,F.jsx)(z.Slot,{scope:n,children:(0,F.jsx)(o.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:u,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:s(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=l;if(r?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let r=window.innerHeight-Y*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}d.current=t.scrollTop})})})]})});Oe.displayName=De;var ke=`SelectGroup`,[Ae,je]=H(ke),Me=N.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=l();return(0,F.jsx)(Ae,{scope:n,id:i,children:(0,F.jsx)(o.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Me.displayName=ke;var Ne=`SelectLabel`,Pe=N.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=je(Ne,n);return(0,F.jsx)(o.div,{id:i.id,...r,ref:t})});Pe.displayName=Ne;var Z=`SelectItem`,[Fe,Ie]=H(Z),Le=N.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:c,...u}=e,f=G(Z,n),p=X(Z,n),m=f.value===r,[h,g]=N.useState(c??``),[_,v]=N.useState(!1),y=a(t,d(e=>p.itemRefCallback?.(e,r,i))),b=l(),x=N.useRef(`touch`),S=()=>{i||(f.onValueChange(r),f.onOpenChange(!1))};return(0,F.jsx)(Fe,{scope:n,value:r,disabled:i,textId:b,isSelected:m,onItemTextChange:N.useCallback(e=>{g(t=>t||(e?.textContent??``).trim())},[]),children:(0,F.jsx)(z.ItemSlot,{scope:n,value:r,disabled:i,textValue:h,children:(0,F.jsx)(o.div,{role:`option`,"aria-labelledby":b,"data-highlighted":_?``:void 0,"aria-selected":m&&_,"data-state":m?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...u,ref:y,onFocus:s(u.onFocus,()=>v(!0)),onBlur:s(u.onBlur,()=>v(!1)),onClick:s(u.onClick,()=>{x.current!==`mouse`&&S()}),onPointerUp:s(u.onPointerUp,()=>{x.current===`mouse`&&S()}),onPointerDown:s(u.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:s(u.onPointerMove,e=>{x.current=e.pointerType,i?p.onItemLeave?.():x.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:s(u.onPointerLeave,e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:s(u.onKeyDown,e=>{i||e.target!==e.currentTarget||p.searchRef?.current!==``&&e.key===` `||(L.includes(e.key)&&S(),e.key===` `&&e.preventDefault())})})})})});Le.displayName=Z;var Q=`SelectItemText`,Re=N.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...s}=e,c=G(Q,n),l=X(Q,n),f=Ie(Q,n),p=re(Q,n),[m,h]=N.useState(null),g=d(e=>l.itemTextRefCallback?.(e,f.value,f.disabled)),_=a(t,h,f.onItemTextChange,g),v=m?.textContent,y=N.useMemo(()=>(0,F.jsx)(`option`,{value:f.value,disabled:f.disabled,children:v},f.value),[f.disabled,f.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=p;return u(()=>(b(y),()=>x(y)),[b,x,y]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(o.span,{id:f.textId,...s,ref:_}),f.isSelected&&c.valueNode&&!c.valueNodeHasChildren&&!$(c.value)?M.createPortal(s.children,c.valueNode):null]})});Re.displayName=Q;var ze=`SelectItemIndicator`,Be=N.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Ie(ze,n).isSelected?(0,F.jsx)(o.span,{"aria-hidden":!0,...r,ref:t}):null});Be.displayName=ze;var Ve=`SelectScrollUpButton`,He=N.forwardRef((e,t)=>{let n=X(Ve,e.__scopeSelect),r=Ee(Ve,e.__scopeSelect),[i,o]=N.useState(!1),s=a(t,r.onScrollButtonChange);return u(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;o(e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,F.jsx)(Ge,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});He.displayName=Ve;var Ue=`SelectScrollDownButton`,We=N.forwardRef((e,t)=>{let n=X(Ue,e.__scopeSelect),r=Ee(Ue,e.__scopeSelect),[i,o]=N.useState(!1),s=a(t,r.onScrollButtonChange);return u(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;o(n)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,F.jsx)(Ge,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});We.displayName=Ue;var Ge=N.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=X(`SelectScrollButton`,n),c=N.useRef(null),l=B(n),d=N.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return N.useEffect(()=>()=>d(),[d]),u(()=>{l().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[l]),(0,F.jsx)(o.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:s(i.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(r,50))}),onPointerMove:s(i.onPointerMove,()=>{a.onItemLeave?.(),c.current===null&&(c.current=window.setInterval(r,50))}),onPointerLeave:s(i.onPointerLeave,()=>{d()})})}),Ke=`SelectSeparator`,qe=N.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,F.jsx)(o.div,{"aria-hidden":!0,...r,ref:t})});qe.displayName=Ke;var Je=`SelectArrow`,Ye=N.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(n);return X(Je,n).position===`popper`?(0,F.jsx)(C,{...i,...r,ref:t}):null});Ye.displayName=Je;var Xe=`SelectBubbleInput`,Ze=N.forwardRef(({__scopeSelect:e,...t},n)=>{let r=G(Xe,e),{value:i,onValueChange:s,required:c,disabled:l,name:u,autoComplete:d,form:f}=r,{nativeOptions:p,nativeSelectKey:m}=r,h=N.useRef(null),g=a(n,h),_=i??``,v=P(_),y=Array.from(p).some(e=>(e.props.value??``)===``);return N.useEffect(()=>{let e=h.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(v!==_&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,_),e.dispatchEvent(t)}},[v,_]),(0,F.jsxs)(o.select,{"aria-hidden":!0,required:c,tabIndex:-1,name:u,autoComplete:d,disabled:l,form:f,onChange:e=>s(e.target.value),...t,style:{...k,...t.style},ref:g,defaultValue:_,children:[$(i)&&!y?(0,F.jsx)(`option`,{value:``}):null,Array.from(p)]},m)});Ze.displayName=Xe;function Qe(e){return typeof e==`function`}function $(e){return e===``||e===void 0}function $e(e){let t=d(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function et(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=tt(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function tt(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function nt({onValueChange:e,...t}){let n=N.useCallback(t=>{t!==``&&e?.(t)},[e]);return(0,F.jsx)(q,{onValueChange:n,...t})}nt.displayName=`Select`;var rt=nt,it=ce,at=N.forwardRef(({className:e,children:t,onMouseEnter:n,...r},i)=>(0,F.jsxs)(oe,{ref:i,className:m(`flex h-9 w-full cursor-pointer items-center justify-between rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),onMouseEnter:e=>{let t=e.currentTarget.querySelector(`span`);t&&t.scrollWidth>t.offsetWidth?e.currentTarget.title=t.textContent??``:e.currentTarget.removeAttribute(`title`),n?.(e)},...r,children:[t,(0,F.jsx)(ue,{asChild:!0,children:(0,F.jsx)(A,{className:`h-4 w-4 opacity-50`})})]}));at.displayName=oe.displayName;var ot=N.forwardRef(({className:e,...t},n)=>(0,F.jsx)(He,{ref:n,className:m(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,F.jsx)(b,{className:`h-4 w-4`})}));ot.displayName=He.displayName;var st=N.forwardRef(({className:e,...t},n)=>(0,F.jsx)(We,{ref:n,className:m(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,F.jsx)(A,{className:`h-4 w-4`})}));st.displayName=We.displayName;var ct=N.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,F.jsx)(me,{children:(0,F.jsxs)(he,{ref:i,className:m(`relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,F.jsx)(ot,{}),(0,F.jsx)(Oe,{className:m(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,F.jsx)(st,{})]})}));ct.displayName=he.displayName;var lt=N.forwardRef(({className:e,...t},n)=>(0,F.jsx)(Pe,{ref:n,className:m(`px-2 py-1.5 text-sm font-semibold`,e),...t}));lt.displayName=Pe.displayName;var ut=N.forwardRef(({className:e,children:t,...n},r)=>(0,F.jsxs)(Le,{ref:r,className:m(`relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),title:typeof t==`string`?t:void 0,...n,children:[(0,F.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,F.jsx)(Be,{children:(0,F.jsx)(j,{className:`h-4 w-4`})})}),(0,F.jsx)(Re,{children:(0,F.jsx)(`span`,{className:`block truncate`,children:t})})]}));ut.displayName=Le.displayName;var dt=N.forwardRef(({className:e,...t},n)=>(0,F.jsx)(qe,{ref:n,className:m(`-mx-1 my-1 h-px bg-muted`,e),...t}));dt.displayName=qe.displayName;var ft=N.forwardRef(({className:e,children:t,...n},r)=>(0,F.jsx)(`select`,{ref:r,className:m(`flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,e),...n,children:t}));ft.displayName=`NativeSelect`;export{it as a,at as i,ct as n,P as o,ut as r,rt as t};
2
- //# sourceMappingURL=select-BxTIWCco.js.map
@@ -1,2 +0,0 @@
1
- import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{S as n,s as r}from"./with-selector-NDLhu4dT.js";import{t as i}from"./bot-DFDgGfNj.js";import{t as a}from"./trash-2-DhyKQCKv.js";import{t as o}from"./copy-BexCWf4U.js";import{t as s}from"./key-round-CQLp1Ua9.js";import{t as c}from"./plus-Dk-FzitW.js";import{t as l}from"./save-Cd3oR3Sj.js";import{t as u}from"./square-pen-DGT7ekeJ.js";import{t as d}from"./triangle-alert-CyaaNWN8.js";import{t as f}from"./x-C3kLunD6.js";import{s as p}from"./dist-Dpg8xy_r.js";import{t as m}from"./textarea-CX_0QVSz.js";import{a as h,i as g,n as _,r as v,t as y}from"./select-BxTIWCco.js";import{a as b,c as x,i as S,l as C,o as w,r as T,s as E,t as D}from"./json-editor-DuYj4QGx.js";import{a as O,c as k,i as A,o as ee,r as te,s as j,t as ne}from"./empty-BmE-qyE9.js";import{$ as M,K as N,P,at as F,i as re,it as I,mt as ie,n as ae,nt as L}from"./router-DmBe_NWn.js";import{t as R}from"./badge-6nyM5Jft.js";import{a as oe,i as se,n as ce,r as le,t as ue}from"./card-4cS4uWCP.js";import{F as z,I as B,J as V,K as H,L as U,N as W,P as G,R as K,Z as q,dt as de,ft as fe,i as J,o as pe,r as me,vt as he}from"./index-R1VJOHqq.js";var Y=e(t(),1),X=n();function Z({icon:e,title:t,description:n,action:i,bodyClassName:a,children:o}){return(0,X.jsxs)(ue,{children:[(0,X.jsxs)(se,{className:r(`flex-col items-start gap-2`,i&&`sm:flex-row sm:items-center sm:justify-between`),children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[(0,X.jsxs)(oe,{className:`flex items-center gap-2`,children:[(0,X.jsx)(e,{className:`size-5`}),t]}),n?(0,X.jsx)(le,{children:n}):null]}),i]}),(0,X.jsx)(ce,{className:r(`min-w-0`,a),children:o})]})}function ge({children:e}){return(0,X.jsx)(`div`,{className:`-mx-6 overflow-x-auto sm:mx-0`,children:e})}function _e({icon:e,title:t,description:n}){return(0,X.jsx)(ne,{className:`border-0`,children:(0,X.jsxs)(A,{children:[(0,X.jsx)(O,{children:(0,X.jsx)(e,{})}),(0,X.jsx)(ee,{children:t}),n?(0,X.jsx)(te,{children:n}):null]})})}function ve({isLoading:e,error:t,isEmpty:n,loadingLabel:r,empty:i,children:a}){return e?(0,X.jsx)(`div`,{className:`py-8 text-center text-sm text-muted-foreground`,children:r}):t?(0,X.jsx)(`div`,{className:`rounded-md border border-destructive/50 bg-destructive/10 p-4 text-sm text-destructive`,children:t instanceof Error?t.message:String(t)}):n?(0,X.jsx)(_e,{...i}):(0,X.jsx)(X.Fragment,{children:a})}function ye(){let e=L(),t=J(),{t:n}=M(),r=F({queryKey:[`modern-admin`,`ai-assistant`,`settings`],queryFn:()=>e.getAiAssistantSettings()}),[a,o]=Y.useState({enabled:!0,model:`google/gemini-3.1-flash-lite-preview`,apiKey:``,systemPrompt:``});Y.useEffect(()=>{r.data&&o({enabled:r.data.enabled,model:r.data.model,apiKey:``,systemPrompt:r.data.systemPrompt})},[r.data]);let c=I({mutationFn:async()=>e.updateAiAssistantSettings({enabled:a.enabled,model:a.model,...a.apiKey.trim()?{apiKey:a.apiKey.trim()}:{},systemPrompt:a.systemPrompt}),onSuccess:()=>{r.refetch(),o(e=>({...e,apiKey:``})),t.success({message:n(`aiAssistant:settings.saved`)})},onError:e=>{t.error({message:e instanceof Error?e.message:String(e)})}});if(r.isLoading)return(0,X.jsx)(`div`,{className:`py-8 text-sm text-muted-foreground`,children:n(`common:loading`)});if(r.error)return(0,X.jsx)(`div`,{className:`rounded-md border border-destructive/50 bg-destructive/10 p-4 text-sm text-destructive`,children:r.error instanceof Error?r.error.message:String(r.error)});let u=r.data;return u?(0,X.jsx)(`div`,{className:`flex flex-col gap-4`,children:(0,X.jsxs)(Z,{icon:i,title:n(`aiAssistant:settings.title`),description:n(`aiAssistant:settings.description`),bodyClassName:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(R,{variant:u.enabled?`secondary`:`outline`,children:u.enabled?n(`aiAssistant:settings.enabled`):n(`aiAssistant:settings.disabled`)}),(0,X.jsx)(R,{variant:u.configured?`secondary`:`outline`,children:u.configured?n(`aiAssistant:settings.configured`):n(`aiAssistant:settings.apiKeyRequired`)}),(0,X.jsx)(R,{variant:`outline`,children:n(`aiAssistant:settings.readOnly`)}),(0,X.jsx)(R,{variant:`outline`,children:n(`aiAssistant:settings.provider`,{provider:u.provider})})]}),(0,X.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-border p-3`,children:[(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(H,{htmlFor:`ai-assistant-enabled`,children:n(`aiAssistant:settings.enableLabel`)}),(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`aiAssistant:settings.enableHint`)})]}),(0,X.jsx)(k,{id:`ai-assistant-enabled`,checked:a.enabled,disabled:!u.canManage||c.isPending,onCheckedChange:e=>o(t=>({...t,enabled:e}))})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(H,{htmlFor:`ai-assistant-model`,children:n(`aiAssistant:settings.modelLabel`)}),(0,X.jsx)(V,{id:`ai-assistant-model`,value:a.model,disabled:!u.canManage||c.isPending,onChange:e=>o(t=>({...t,model:e.target.value})),placeholder:`google/gemini-3.1-flash-lite-preview`})]})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsxs)(H,{htmlFor:`ai-assistant-api-key`,className:`flex items-center gap-2`,children:[(0,X.jsx)(s,{className:`size-4`}),n(`aiAssistant:settings.apiKeyLabel`)]}),(0,X.jsx)(V,{id:`ai-assistant-api-key`,type:`password`,value:a.apiKey,disabled:!u.canManage||c.isPending,onChange:e=>o(t=>({...t,apiKey:e.target.value})),placeholder:u.maskedApiKey??`sk-or-v1-...`}),(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`aiAssistant:settings.apiKeyHint`)})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(H,{htmlFor:`ai-assistant-system-prompt`,children:n(`aiAssistant:settings.systemPromptLabel`)}),(0,X.jsx)(m,{id:`ai-assistant-system-prompt`,value:a.systemPrompt,disabled:!u.canManage||c.isPending,onChange:e=>o(t=>({...t,systemPrompt:e.target.value})),rows:8,placeholder:n(`aiAssistant:settings.systemPromptPlaceholder`)})]}),(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-lg border border-border p-3 text-sm`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{className:`font-medium`,children:n(`aiAssistant:settings.accessTitle`)}),(0,X.jsx)(`div`,{className:`text-muted-foreground`,children:n(`aiAssistant:settings.accessDescription`)})]}),(0,X.jsx)(R,{variant:`outline`,children:n(`aiAssistant:settings.futureToolsReady`)})]}),(0,X.jsx)(`div`,{className:`flex justify-end`,children:(0,X.jsxs)(p,{onClick:()=>c.mutate(),disabled:!u.canManage||c.isPending||!a.model.trim(),children:[(0,X.jsx)(l,{className:`size-4`}),c.isPending?n(`aiAssistant:settings.saving`):n(`aiAssistant:settings.save`)]})})]})}):(0,X.jsx)(`div`,{className:`py-8 text-sm text-muted-foreground`,children:n(`aiAssistant:settings.empty`)})}var Q=[`modern-admin`,`api-keys`],be=[`modern-admin`,`webhooks`],xe=[{key:`api-keys`,labelKey:`settings:apiKeys.title`,icon:s},{key:`webhooks`,labelKey:`settings:webhooks.title`,icon:q},{key:`ai-assistant`,labelKey:`aiAssistant:title`,icon:i}];function Se({section:e}){let{t}=M(),n=re(),i=P(),a=Y.useMemo(()=>[...xe.filter(e=>e.key===`api-keys`?i.apiKeys:e.key===`webhooks`?i.webhooks:e.key!==`ai-assistant`||i.aiAssistant),...pe().map(e=>({key:e.key,labelKey:e.labelKey,icon:e.icon,isExtension:!0}))],[i.apiKeys,i.webhooks,i.aiAssistant]),o=[`api-keys`,`webhooks`,`ai-assistant`],s=e=>o.includes(e),c=e??null,l=c&&a.some(e=>e.key===c)?c:a[0]?.key??null;return l===null?(0,X.jsx)(`div`,{className:`rounded-md border border-dashed bg-card p-8 text-center text-sm text-muted-foreground`,children:t(`settings:noSectionsConfigured`)}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-4 lg:grid lg:grid-cols-[14rem_minmax(0,1fr)]`,children:[(0,X.jsx)(`div`,{className:`lg:hidden`,children:(0,X.jsxs)(y,{value:l??``,onValueChange:e=>n({name:`settings`,section:e}),children:[(0,X.jsx)(g,{className:`w-full`,children:(0,X.jsx)(h,{})}),(0,X.jsx)(_,{children:a.map(({key:e,labelKey:n,icon:r})=>(0,X.jsx)(v,{value:e,children:(0,X.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(r,{className:`size-4`}),(0,X.jsx)(`span`,{children:t(n)})]})},e))})]})}),(0,X.jsx)(`aside`,{className:`hidden lg:block`,children:(0,X.jsx)(`nav`,{className:`flex flex-col gap-1`,children:a.map(({key:e,labelKey:n,icon:i})=>(0,X.jsxs)(ae,{to:{name:`settings`,section:e},className:r(`flex items-center gap-2 rounded-md px-3 py-2 text-sm hover:bg-accent`,l===e&&`bg-accent font-medium`),children:[(0,X.jsx)(i,{className:`size-4`}),(0,X.jsx)(`span`,{children:t(n)})]},e))})}),(0,X.jsxs)(`section`,{className:`min-w-0`,children:[l&&s(l)&&l===`api-keys`&&(0,X.jsx)(Ce,{}),l&&s(l)&&l===`webhooks`&&(0,X.jsx)(Ae,{}),l&&s(l)&&l===`ai-assistant`&&(0,X.jsx)(ye,{}),l&&!s(l)&&(()=>{let e=pe().find(e=>e.key===l);return e?(0,X.jsx)(e.component,{}):null})()]})]})}function Ce(){let{t:e}=M(),t=L(),n=ie(),r=J(),i=me(),o=N(),[l,d]=Y.useState(!1),[f,m]=Y.useState(null),[h,g]=Y.useState(null),_=F({queryKey:Q,queryFn:()=>t.listApiKeys()}),v=I({mutationFn:e=>t.deleteApiKey(e),onSuccess:()=>{n.invalidateQueries({queryKey:Q}),r.success({key:`settings:apiKeys.notice.revoked`})},onError:e=>r.error({message:e instanceof Error?e.message:String(e)})}),y=I({mutationFn:e=>t.updateApiKey(e.id,{enabled:e.enabled}),onSuccess:()=>n.invalidateQueries({queryKey:Q}),onError:e=>r.error({message:e instanceof Error?e.message:String(e)})}),C=()=>{m(null),d(!0)},D=e=>{m(e),d(!0)},O=async t=>{await i.confirm({title:e(`settings:apiKeys.confirmRevoke.title`),description:e(`settings:apiKeys.confirmRevoke.description`,{name:t.name??t.id}),confirmLabel:e(`settings:apiKeys.actions.revoke`),destructive:!0})&&v.mutate(t.id)},A=_.data?.keys??[];return(0,X.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,X.jsx)(Z,{icon:s,title:e(`settings:apiKeys.title`),description:e(`settings:apiKeys.description`),action:(0,X.jsxs)(p,{onClick:C,size:`sm`,children:[(0,X.jsx)(c,{className:`size-4`}),(0,X.jsx)(`span`,{children:e(`settings:apiKeys.actions.create`)})]}),children:(0,X.jsx)(ve,{isLoading:_.isLoading,error:_.error,isEmpty:A.length===0,loadingLabel:e(`common:loading`),empty:{icon:s,title:e(`settings:apiKeys.empty.title`),description:e(`settings:apiKeys.empty.description`)},children:(0,X.jsx)(ge,{children:(0,X.jsxs)(T,{children:[(0,X.jsx)(E,{children:(0,X.jsxs)(x,{children:[(0,X.jsx)(w,{children:e(`settings:apiKeys.columns.name`)}),(0,X.jsx)(w,{className:`hidden sm:table-cell`,children:e(`settings:apiKeys.columns.start`)}),(0,X.jsx)(w,{className:`hidden md:table-cell`,children:e(`settings:apiKeys.columns.permissions`)}),(0,X.jsx)(w,{className:`hidden md:table-cell`,children:e(`settings:apiKeys.columns.expiresAt`)}),(0,X.jsx)(w,{children:e(`settings:apiKeys.columns.enabled`)}),(0,X.jsx)(w,{className:`text-right`,children:e(`settings:apiKeys.columns.actions`)})]})}),(0,X.jsx)(S,{children:A.map(t=>(0,X.jsxs)(x,{children:[(0,X.jsx)(b,{className:`font-medium`,children:(0,X.jsxs)(`div`,{className:`flex flex-col`,children:[(0,X.jsx)(`span`,{children:t.name??t.id}),t.lastRequest&&(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e(`settings:apiKeys.lastUsed`,{date:$(t.lastRequest)})})]})}),(0,X.jsx)(b,{className:`hidden font-mono text-xs sm:table-cell`,children:t.start?`${t.start}…`:`—`}),(0,X.jsx)(b,{className:`hidden md:table-cell`,children:(0,X.jsx)(De,{permissions:t.permissions})}),(0,X.jsx)(b,{className:`hidden md:table-cell text-xs`,children:t.expiresAt?$(t.expiresAt):e(`settings:apiKeys.expiresNever`)}),(0,X.jsx)(b,{children:(0,X.jsx)(k,{checked:t.enabled,onCheckedChange:e=>y.mutate({id:t.id,enabled:e}),"aria-label":e(`settings:apiKeys.columns.enabled`)})}),(0,X.jsx)(b,{className:`text-right`,children:(0,X.jsxs)(`div`,{className:`inline-flex gap-1`,children:[(0,X.jsx)(p,{variant:`ghost`,size:`sm`,onClick:()=>D(t),"aria-label":e(`settings:apiKeys.actions.edit`),children:(0,X.jsx)(u,{className:`size-4`})}),(0,X.jsx)(p,{variant:`ghost`,size:`sm`,onClick:()=>O(t),"aria-label":e(`settings:apiKeys.actions.revoke`),disabled:v.isPending,children:(0,X.jsx)(a,{className:`size-4 text-destructive`})})]})})]},t.id))})]})})})}),(0,X.jsx)(Oe,{open:l,onOpenChange:d,editing:f,resources:o,onCreated:e=>{d(!1),g(e),n.invalidateQueries({queryKey:Q})},onUpdated:()=>{d(!1),n.invalidateQueries({queryKey:Q})}},f?.id??`new`),(0,X.jsx)(Fe,{secret:h,onClose:()=>g(null)})]})}var we=e=>({byResource:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,new Set(t)]))}),Te=e=>{let t={};for(let[n,r]of Object.entries(e.byResource))r.size!==0&&(t[n]=Array.from(r));return t};function Ee({resources:e,state:t,onChange:n}){let{t:i}=M(),a=(e,r)=>{let i=new Set(t.byResource[e]??[]);i.has(r)?i.delete(r):i.add(r),n({byResource:{...t.byResource,[e]:i}})},o=(e,r)=>{let i=t.byResource[e]??new Set,a=r.every(e=>i.has(e)),o=new Set(a?[]:r);n({byResource:{...t.byResource,[e]:o}})},s=Y.useMemo(()=>e.filter(e=>(e.actions??[]).length>0),[e]),c=s.length>0&&s.every(e=>{let n=(e.actions??[]).map(e=>e.name),r=t.byResource[e.id]??new Set;return n.every(e=>r.has(e))});return e.length===0?(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:i(`settings:apiKeys.permissions.noResources`)}):(0,X.jsxs)(`div`,{className:`rounded-md border border-border`,children:[s.length>0&&(0,X.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 border-b border-border bg-muted/30 px-3 py-2`,children:(0,X.jsx)(p,{type:`button`,variant:`outline`,size:`sm`,className:`h-8`,onClick:()=>{let r=!c,i={...t.byResource};for(let t of e){let e=(t.actions??[]).map(e=>e.name);i[t.id]=r?new Set(e):new Set}n({byResource:i})},children:c?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(f,{className:`mr-1.5 size-3.5`}),i(`settings:apiKeys.permissions.clearAllResources`)]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(he,{className:`mr-1.5 size-3.5`}),i(`settings:apiKeys.permissions.selectAllResources`)]})})}),(0,X.jsx)(`div`,{className:`max-h-[24rem] overflow-y-auto`,children:(0,X.jsxs)(T,{children:[(0,X.jsx)(E,{className:`sticky top-0 bg-card`,children:(0,X.jsxs)(x,{children:[(0,X.jsx)(w,{className:`w-[14rem]`,children:i(`settings:apiKeys.permissions.resource`)}),(0,X.jsx)(w,{children:i(`settings:apiKeys.permissions.actions`)})]})}),(0,X.jsx)(S,{children:e.map(e=>{let n=(e.actions??[]).map(e=>e.name),s=t.byResource[e.id]??new Set,c=n.length>0&&n.every(e=>s.has(e));return(0,X.jsxs)(x,{children:[(0,X.jsx)(b,{className:`align-top`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.id}),(0,X.jsxs)(`button`,{type:`button`,className:`mt-1 inline-flex items-center gap-1 self-start text-xs text-primary hover:underline`,onClick:()=>o(e.id,n),children:[c?(0,X.jsx)(f,{className:`size-3`}):(0,X.jsx)(he,{className:`size-3`}),i(c?`settings:apiKeys.permissions.clearAll`:`settings:apiKeys.permissions.selectAll`)]})]})}),(0,X.jsx)(b,{children:(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.map(t=>{let n=s.has(t);return(0,X.jsxs)(`label`,{className:r(`inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-border px-2 py-1 text-xs`,n&&`border-primary bg-primary/10 text-primary`),children:[(0,X.jsx)(C,{checked:n,onCheckedChange:()=>a(e.id,t),className:`size-3.5`}),(0,X.jsx)(`span`,{children:t})]},t)})})})]},e.id)})})]})})]})}function De({permissions:e}){let{t}=M(),n=Object.entries(e);if(n.length===0)return(0,X.jsx)(R,{variant:`outline`,children:t(`settings:apiKeys.permissions.none`)});let r=n.reduce((e,[,t])=>e+t.length,0);return(0,X.jsx)(R,{variant:`secondary`,children:t(`settings:apiKeys.permissions.summary`,{resources:n.length,actions:r})})}function Oe({open:e,onOpenChange:t,editing:n,resources:r,onCreated:i,onUpdated:a}){let{t:o}=M(),s=L(),c=J(),l=!!n,[u,d]=Y.useState(n?.name??``),[f,m]=Y.useState(()=>{if(!n?.expiresAt)return``;let e=new Date(n.expiresAt).getTime()-Date.now();return e>0?String(Math.max(1,Math.round(e/(1440*60*1e3)))):``}),[h,g]=Y.useState(()=>we(n?.permissions??{})),_=I({mutationFn:async()=>{let e=Te(h);if(l&&n){let t=f.trim()===``?null:Number(f);return{record:(await s.updateApiKey(n.id,{name:u.trim(),permissions:e,expiresInDays:t===null?null:Number.isFinite(t)&&t>0?t:void 0})).record}}let t=f.trim()===``?null:Number(f);return s.createApiKey({name:u.trim(),permissions:e,expiresInDays:t===null?null:Number.isFinite(t)&&t>0?t:void 0})},onSuccess:e=>{l?(c.success({key:`settings:apiKeys.notice.updated`}),a(e.record)):e.key&&i({key:e.key,record:e.record})},onError:e=>c.error({message:e instanceof Error?e.message:String(e)})});Y.useEffect(()=>{if(e)if(d(n?.name??``),g(we(n?.permissions??{})),!n?.expiresAt)m(``);else{let e=new Date(n.expiresAt).getTime()-Date.now();m(e>0?String(Math.max(1,Math.round(e/(1440*60*1e3)))):``)}},[e,n]);let v=Object.values(h.byResource).reduce((e,t)=>e+(t?.size??0),0);return(0,X.jsx)(W,{open:e,onOpenChange:t,children:(0,X.jsxs)(G,{className:`max-w-3xl`,children:[(0,X.jsxs)(U,{children:[(0,X.jsx)(K,{children:o(l?`settings:apiKeys.editor.titleEdit`:`settings:apiKeys.editor.titleCreate`)}),(0,X.jsx)(z,{children:o(`settings:apiKeys.editor.description`)})]}),(0,X.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),u.trim()&&_.mutate()},children:[(0,X.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(H,{htmlFor:`api-key-name`,children:o(`settings:apiKeys.editor.name`)}),(0,X.jsx)(V,{id:`api-key-name`,value:u,onChange:e=>d(e.target.value),placeholder:o(`settings:apiKeys.editor.namePlaceholder`),required:!0,maxLength:64})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(H,{htmlFor:`api-key-expires`,children:o(`settings:apiKeys.editor.expiresInDays`)}),(0,X.jsx)(V,{id:`api-key-expires`,type:`number`,min:1,max:3650,value:f,onChange:e=>m(e.target.value),placeholder:o(`settings:apiKeys.editor.expiresPlaceholder`)}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:o(`settings:apiKeys.editor.expiresHint`)})]})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(H,{children:o(`settings:apiKeys.editor.permissions`)}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:o(`settings:apiKeys.editor.selectedActions`,{count:v})})]}),(0,X.jsx)(Ee,{resources:r,state:h,onChange:g})]}),(0,X.jsxs)(B,{children:[(0,X.jsx)(p,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:o(`common:cancel`)}),(0,X.jsx)(p,{type:`submit`,disabled:_.isPending||!u.trim()||v===0,children:_.isPending?o(`common:saving`):o(l?`common:save`:`settings:apiKeys.actions.create`)})]})]})]})})}var ke=[`record.created`,`record.updated`,`record.deleted`,`*`];function Ae(){let{t:e}=M(),t=L(),n=ie(),r=J(),i=me(),o=N(),[s,l]=Y.useState(!1),[d,f]=Y.useState(null),[m,h]=Y.useState(null),g=F({queryKey:be,queryFn:()=>t.listWebhooks()}),_=F({queryKey:[`modern-admin`,`webhooks`,m,`deliveries`],queryFn:()=>t.listWebhookDeliveries(m),enabled:!!m}),v=I({mutationFn:e=>t.deleteWebhook(e),onSuccess:()=>{n.invalidateQueries({queryKey:be}),r.success({key:`settings:webhooks.notice.deleted`})},onError:e=>r.error({message:e instanceof Error?e.message:String(e)})}),y=I({mutationFn:e=>t.testWebhook(e),onSuccess:()=>{m&&n.invalidateQueries({queryKey:[`modern-admin`,`webhooks`,m,`deliveries`]}),r.success({key:`settings:webhooks.notice.testQueued`})},onError:e=>r.error({message:e instanceof Error?e.message:String(e)})}),C=g.data?.webhooks??[],D=async t=>{await i.confirm({title:e(`settings:webhooks.confirmDelete.title`),description:e(`settings:webhooks.confirmDelete.description`,{name:t.name}),confirmLabel:e(`common:delete`),destructive:!0})&&v.mutate(t.id)};return(0,X.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,X.jsx)(Z,{icon:q,title:e(`settings:webhooks.title`),description:e(`settings:webhooks.description`),action:(0,X.jsxs)(p,{size:`sm`,onClick:()=>{f(null),l(!0)},children:[(0,X.jsx)(c,{className:`size-4`}),e(`settings:webhooks.actions.create`)]}),children:(0,X.jsx)(ve,{isLoading:g.isLoading,error:g.error,isEmpty:C.length===0,loadingLabel:e(`common:loading`),empty:{icon:q,title:e(`settings:webhooks.empty.title`),description:e(`settings:webhooks.empty.description`)},children:(0,X.jsx)(ge,{children:(0,X.jsxs)(T,{children:[(0,X.jsx)(E,{children:(0,X.jsxs)(x,{children:[(0,X.jsx)(w,{children:e(`settings:webhooks.columns.name`)}),(0,X.jsx)(w,{children:e(`settings:webhooks.columns.resource`)}),(0,X.jsx)(w,{children:e(`settings:webhooks.columns.events`)}),(0,X.jsx)(w,{children:e(`settings:webhooks.columns.enabled`)}),(0,X.jsx)(w,{className:`text-right`,children:e(`settings:webhooks.columns.actions`)})]})}),(0,X.jsx)(S,{children:C.map(t=>(0,X.jsxs)(x,{children:[(0,X.jsxs)(b,{children:[(0,X.jsx)(`button`,{type:`button`,className:`text-left font-medium hover:underline`,onClick:()=>h(t.id),children:t.name}),(0,X.jsx)(`div`,{className:`max-w-xs truncate text-xs text-muted-foreground`,children:t.url})]}),(0,X.jsx)(b,{children:Me(o,t.resourceId,e(`settings:webhooks.editor.allResources`))}),(0,X.jsx)(b,{className:`max-w-xs`,children:(0,X.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.events.map(e=>(0,X.jsx)(R,{variant:`outline`,children:e},e))})}),(0,X.jsx)(b,{children:t.enabled?e(`common:yes`):e(`common:no`)}),(0,X.jsx)(b,{className:`text-right`,children:(0,X.jsxs)(`div`,{className:`inline-flex gap-1`,children:[(0,X.jsx)(p,{variant:`ghost`,size:`sm`,onClick:()=>y.mutate(t.id),children:e(`settings:webhooks.actions.test`)}),(0,X.jsx)(p,{variant:`ghost`,size:`sm`,onClick:()=>{f(t),l(!0)},children:(0,X.jsx)(u,{className:`size-4`})}),(0,X.jsx)(p,{variant:`ghost`,size:`sm`,onClick:()=>void D(t),children:(0,X.jsx)(a,{className:`size-4 text-destructive`})})]})})]},t.id))})]})})})}),m&&(0,X.jsx)(Z,{icon:q,title:e(`settings:webhooks.deliveries.title`),children:_.isLoading?(0,X.jsx)(`div`,{className:`py-4 text-sm text-muted-foreground`,children:e(`common:loading`)}):(0,X.jsx)(ge,{children:(0,X.jsxs)(T,{children:[(0,X.jsx)(E,{children:(0,X.jsxs)(x,{children:[(0,X.jsx)(w,{children:e(`settings:webhooks.deliveries.status`)}),(0,X.jsx)(w,{children:e(`settings:webhooks.deliveries.event`)}),(0,X.jsx)(w,{children:e(`settings:webhooks.deliveries.attempt`)}),(0,X.jsx)(w,{children:e(`settings:webhooks.deliveries.response`)}),(0,X.jsx)(w,{children:e(`settings:webhooks.deliveries.createdAt`)})]})}),(0,X.jsx)(S,{children:(_.data?.deliveries??[]).map(e=>(0,X.jsxs)(x,{children:[(0,X.jsx)(b,{children:e.status}),(0,X.jsx)(b,{children:e.event}),(0,X.jsx)(b,{children:e.attempt}),(0,X.jsx)(b,{className:`max-w-sm truncate`,children:e.responseStatus??e.error??e.responseBody??`—`}),(0,X.jsx)(b,{children:$(e.createdAt)})]},e.id))})]})})}),(0,X.jsx)(je,{open:s,onOpenChange:l,webhook:d,resources:o},d?.id??`new`)]})}function je({open:e,onOpenChange:t,webhook:n,resources:r}){let{t:i}=M(),a=L(),o=ie(),s=J(),[c,l]=Y.useState(n?.name??``),[u,d]=Y.useState(n?.url??``),[f,m]=Y.useState(n?.resourceId??``),[b,x]=Y.useState(n?.enabled??!0),[S,w]=Y.useState(n?.secret??``),[T,E]=Y.useState(n?.events??[`record.created`,`record.updated`]),[O,A]=Y.useState(n?.headers??{}),[ee,te]=Y.useState(n?.filters??{}),[ne,N]=Y.useState(n?.payloadFields??[]),P=r.find(e=>e.id===f),F=I({mutationFn:e=>n?a.updateWebhook(n.id,e):a.createWebhook(e),onSuccess:()=>{o.invalidateQueries({queryKey:be}),s.success({key:`settings:webhooks.notice.saved`}),t(!1)},onError:e=>s.error({message:e instanceof Error?e.message:String(e)})}),re=e=>{E(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])};return(0,X.jsx)(W,{open:e,onOpenChange:t,children:(0,X.jsxs)(G,{className:`max-w-3xl`,children:[(0,X.jsxs)(U,{children:[(0,X.jsx)(K,{children:i(n?`settings:webhooks.editor.titleEdit`:`settings:webhooks.editor.titleCreate`)}),(0,X.jsx)(z,{children:i(`settings:webhooks.editor.description`)})]}),(0,X.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),F.mutate({name:c.trim(),url:u.trim(),events:T,resourceId:f||null,enabled:b,...S.trim()?{secret:S.trim()}:{},headers:Pe(O),filters:Pe(ee),payloadFields:ne})},children:[(0,X.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.name`)}),(0,X.jsx)(V,{value:c,onChange:e=>l(e.target.value),required:!0})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.url`)}),(0,X.jsx)(V,{value:u,onChange:e=>d(e.target.value),required:!0,type:`url`})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.resource`)}),(0,X.jsxs)(y,{value:f||`__all__`,onValueChange:e=>{m(e===`__all__`?``:e),N([])},children:[(0,X.jsx)(g,{children:(0,X.jsx)(h,{})}),(0,X.jsxs)(_,{children:[(0,X.jsx)(v,{value:`__all__`,children:i(`settings:webhooks.editor.allResources`)}),r.map(e=>(0,X.jsxs)(v,{value:e.id,children:[e.name,e.name!==e.id&&(0,X.jsxs)(`span`,{className:`ml-1.5 text-xs text-muted-foreground`,children:[`(`,e.id,`)`]})]},e.id))]})]})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.secret`)}),(0,X.jsx)(j,{content:i(`settings:webhooks.editor.secretHint`),ariaLabel:i(`settings:webhooks.editor.secret`),side:`right`})]}),(0,X.jsx)(V,{value:S,onChange:e=>w(e.target.value),type:`password`})]})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(k,{checked:b,onCheckedChange:x}),(0,X.jsx)(H,{children:i(`settings:webhooks.editor.enabled`)})]}),(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.events`)}),(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:ke.map(e=>(0,X.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,X.jsx)(C,{checked:T.includes(e),onCheckedChange:()=>re(e)}),e]},e))})]}),P&&(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.payloadFields`)}),(0,X.jsx)(j,{content:i(`settings:webhooks.editor.payloadFieldsHint`),ariaLabel:i(`settings:webhooks.editor.payloadFields`),side:`right`})]}),(0,X.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:P.properties.map(e=>(0,X.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,X.jsx)(C,{checked:ne.includes(e.path),onCheckedChange:()=>N(t=>t.includes(e.path)?t.filter(t=>t!==e.path):[...t,e.path])}),e.label]},e.path))})]}),(0,X.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.headers`)}),(0,X.jsx)(j,{content:i(`settings:webhooks.editor.headersHint`),ariaLabel:i(`settings:webhooks.editor.headers`),side:`top`})]}),(0,X.jsx)(D,{value:O,onChange:e=>A(Ne(e))})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(H,{children:i(`settings:webhooks.editor.filters`)}),(0,X.jsx)(j,{content:i(`settings:webhooks.editor.filtersHint`),ariaLabel:i(`settings:webhooks.editor.filters`),side:`top`})]}),(0,X.jsx)(D,{value:ee,onChange:e=>te(Ne(e))})]})]}),(0,X.jsxs)(B,{children:[(0,X.jsx)(p,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:i(`common:cancel`)}),(0,X.jsx)(p,{type:`submit`,disabled:F.isPending||!c.trim()||!u.trim()||T.length===0,children:F.isPending?i(`common:saving`):i(`common:save`)})]})]})]})})}var Me=(e,t,n)=>t?e.find(e=>e.id===t)?.name??t:n,Ne=e=>e&&typeof e==`object`&&!Array.isArray(e)?e:{},Pe=e=>{let t={};for(let[n,r]of Object.entries(e))r!=null&&r!==``&&(t[n]=String(r));return t};function Fe({secret:e,onClose:t}){let{t:n}=M(),r=J(),[i,a]=Y.useState(!1),[s,c]=Y.useState(!1);return Y.useEffect(()=>{e||(a(!1),c(!1))},[e]),(0,X.jsx)(W,{open:!!e,onOpenChange:e=>!e&&t(),children:(0,X.jsxs)(G,{className:`max-w-lg`,children:[(0,X.jsxs)(U,{children:[(0,X.jsxs)(K,{className:`flex items-center gap-2`,children:[(0,X.jsx)(q,{className:`size-5`}),n(`settings:apiKeys.created.title`)]}),(0,X.jsx)(z,{children:n(`settings:apiKeys.created.description`)})]}),(0,X.jsx)(`div`,{className:`rounded-md border border-amber-300/60 bg-amber-50 p-3 text-sm text-amber-900 dark:border-amber-300/30 dark:bg-amber-950/40 dark:text-amber-200`,children:(0,X.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,X.jsx)(d,{className:`mt-0.5 size-4`}),(0,X.jsx)(`p`,{children:n(`settings:apiKeys.created.warning`)})]})}),(0,X.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1`,children:[(0,X.jsx)(V,{readOnly:!0,type:i?`text`:`password`,value:e?.key??``,className:`pr-10 font-mono text-xs`,onFocus:e=>e.currentTarget.select()}),(0,X.jsx)(p,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2`,onClick:()=>a(e=>!e),"aria-label":n(i?`settings:apiKeys.created.hide`:`settings:apiKeys.created.reveal`),children:i?(0,X.jsx)(fe,{className:`size-4`}):(0,X.jsx)(de,{className:`size-4`})})]}),(0,X.jsxs)(p,{type:`button`,onClick:async()=>{if(e)try{await navigator.clipboard.writeText(e.key),c(!0),r.success({key:`settings:apiKeys.notice.copied`}),setTimeout(()=>c(!1),1500)}catch{r.error({key:`settings:apiKeys.notice.copyFailed`})}},variant:`secondary`,children:[s?(0,X.jsx)(he,{className:`size-4`}):(0,X.jsx)(o,{className:`size-4`}),(0,X.jsx)(`span`,{className:`hidden sm:inline`,children:n(s?`settings:apiKeys.created.copied`:`settings:apiKeys.created.copy`)})]})]}),(0,X.jsx)(B,{children:(0,X.jsx)(p,{onClick:t,children:n(`common:done`)})})]})})}var $=e=>{try{return new Date(e).toLocaleString()}catch{return String(e)}};export{Se as SettingsPage};
2
- //# sourceMappingURL=settings-page-FHzVUo4t.js.map
@@ -1,2 +0,0 @@
1
- import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{S as n}from"./with-selector-NDLhu4dT.js";import{t as r}from"./zap-Be2c7_cs.js";import{t as i}from"./trash-2-DhyKQCKv.js";import{n as a}from"./wand-sparkles-BDM69Lk9.js";import{t as o}from"./pencil-BO-k3yTG.js";import{s}from"./dist-Dpg8xy_r.js";import{$ as c,G as l,H as u,K as d,M as f,P as p,R as m,St as h,i as g,n as _}from"./router-DmBe_NWn.js";import{a as v,c as y,l as b,o as x,r as S,s as C,t as w,u as T}from"./property-renderer-U2F_u1LG.js";import{a as E,i as D,n as O,t as k}from"./card-4cS4uWCP.js";import{i as A,n as j,r as M,t as N}from"./tabs-BrnwAET7.js";import{t as P}from"./revisions-button-hLRZGkwM.js";import{_ as F,b as I,i as L,n as R,r as z,v as B,x as V,y as H}from"./index-R1VJOHqq.js";var U=e(t(),1),W=n();function G({parentRecordId:e,related:t,active:n}){let[r,i]=U.useState({perPage:10}),[a,o]=U.useState(n);return U.useEffect(()=>{n&&o(!0)},[n]),a?(0,W.jsx)(S,{resourceId:t.resourceId,query:r,onQueryChange:i,lockedFilters:{[t.foreignKey]:e},embedPadding:!1,features:{breadcrumbs:!1,title:!1,create:!1,export:!1,card:!1}}):null}function K({resource:e,recordId:t}){let{t:n}=c(),r=d(),i=e.showRelatedResources!==!1,a=U.useMemo(()=>i?x(e,r):[],[i,e,r]),[o,s]=U.useState(()=>a[0]?`${a[0].resourceId}::${a[0].foreignKey}`:``);if(U.useEffect(()=>{a.length!==0&&(a.some(e=>`${e.resourceId}::${e.foreignKey}`===o)||s(`${a[0].resourceId}::${a[0].foreignKey}`))},[o,a]),a.length===0)return null;let l=e=>e.label??r.find(t=>t.id===e.resourceId)?.name??e.resourceId;return(0,W.jsxs)(k,{children:[(0,W.jsx)(D,{children:(0,W.jsx)(E,{className:`text-base`,children:n(`common:relatedRecords`)})}),(0,W.jsx)(O,{children:(0,W.jsxs)(N,{value:o,onValueChange:s,children:[(0,W.jsx)(M,{className:`w-full justify-start`,children:a.map(e=>{let t=`${e.resourceId}::${e.foreignKey}`;return(0,W.jsx)(A,{value:t,children:l(e)},t)})}),a.map(e=>{let n=`${e.resourceId}::${e.foreignKey}`;return(0,W.jsx)(j,{value:n,className:`mt-4`,children:(0,W.jsx)(G,{parentRecordId:t,related:e,active:o===n})},n)})]})})]})}function q({error:e,t}){let{status:n,message:r}=h(e),i=t(n===404?`errors:notFound`:n===403?`errors:forbidden`:`errors:server`);return(0,W.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-destructive/50 bg-destructive/10 p-4 dark:bg-destructive/15`,children:[(0,W.jsx)(a,{className:`mt-0.5 size-5 shrink-0 text-destructive`}),(0,W.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[(0,W.jsx)(`p`,{className:`font-semibold text-destructive`,children:i}),(0,W.jsx)(`p`,{className:`text-destructive/90`,children:r})]})]})}function J({resourceId:e,recordId:t}){let n=l(e),a=u(e,t),d=f(e),h=m(e),x=p(),{t:S}=c(),A=g(),j=z(),M=L(),N=(n?.actions??[]).filter(e=>e.actionType===`record`&&![`show`,`edit`,`delete`].includes(e.name));R(`mod+e`,()=>{a.data&&A({name:`edit`,resourceId:e,recordId:t})},{description:S(`common:edit`)});let U=async()=>{await j.confirm({title:S(`common:confirmDelete`),confirmLabel:S(`common:delete`),destructive:!0})&&(await d.mutateAsync(t),A({name:`list`,resourceId:e}))};if(!n)return(0,W.jsx)(`div`,{className:`p-6`,children:S(`common:loading`)});let G=B(),J=a.data?.record?.title||t;return(0,W.jsxs)(`div`,{className:`space-y-2 sm:space-y-4`,children:[(0,W.jsx)(b,{items:[T(S(`common:home`)),{label:n.name,to:{name:`list`,resourceId:e}},{label:J}]}),(0,W.jsxs)(k,{children:[(0,W.jsxs)(D,{className:`flex flex-row items-center justify-between gap-3`,children:[(0,W.jsxs)(E,{className:`truncate`,children:[n.name,` #`,t]}),a.data&&(0,W.jsxs)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:[x.history&&(0,W.jsx)(P,{resourceId:e,recordId:t}),(0,W.jsxs)(H,{children:[(0,W.jsx)(V,{asChild:!0,children:(0,W.jsx)(s,{variant:`outline-primary`,size:`sm`,asChild:!0,children:(0,W.jsxs)(_,{to:{name:`edit`,resourceId:e,recordId:t},"aria-label":S(`common:edit`),children:[(0,W.jsx)(o,{className:`size-4`}),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:S(`common:edit`)})]})})}),(0,W.jsxs)(I,{className:`flex items-center gap-1.5`,children:[(0,W.jsx)(`span`,{children:S(`common:edit`)}),(0,W.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,W.jsx)(F,{children:G}),(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:`+`}),(0,W.jsx)(F,{children:`E`})]})]})]}),(0,W.jsxs)(s,{variant:`outline-destructive`,size:`sm`,disabled:d.isPending,onClick:()=>void U(),"aria-label":S(`common:delete`),children:[(0,W.jsx)(i,{className:`size-4`}),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:S(`common:delete`)})]}),N.length>0&&(0,W.jsx)(y,{actions:N,onAction:async e=>{await v(e,j)&&h.mutateAsync({recordId:t,actionName:e.name}).then(e=>{if(e.notice){let t=e.notice.type===`error`?`error`:e.notice.type===`warning`?`warning`:e.notice.type===`info`?`info`:`success`;M[t]({message:e.notice.message})}}).catch(e=>M.error({message:e.message}))},t:S,trigger:(0,W.jsxs)(s,{variant:`outline`,size:`sm`,disabled:h.isPending,"aria-label":S(`common:actions`),children:[(0,W.jsx)(r,{className:`size-4`}),(0,W.jsx)(`span`,{className:`hidden sm:inline`,children:S(`common:actions`)})]})})]})]}),(0,W.jsx)(O,{children:(0,W.jsxs)(`div`,{className:`space-y-4`,children:[a.isLoading&&(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:S(`common:loading`)}),a.isError&&(0,W.jsx)(q,{error:a.error,t:S}),a.data&&(0,W.jsx)(`dl`,{className:`[column-fill:_balance] md:columns-2`,children:C(n.properties,`show`,n.propertyOrder?.show).map(e=>(0,W.jsxs)(`div`,{className:`mb-8 break-inside-avoid`,children:[(0,W.jsx)(`dt`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e.label}),(0,W.jsx)(`dd`,{className:`mt-1`,children:(0,W.jsx)(w,{property:e,value:a.data.record.params[e.path],view:`show`,populated:a.data.record.populated})})]},e.path))})]})})]}),a.data&&(0,W.jsx)(K,{resource:n,recordId:t})]})}export{J as ResourceShowPage};
2
- //# sourceMappingURL=show-page-Jotfue76.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show-page-Jotfue76.js","names":[],"sources":["../../../../react/src/components/related-records-tabs.tsx","../../../../react/src/pages/show-page.tsx"],"sourcesContent":["// Tabs of records that reference the open record through a foreign key.\n// Each tab embeds the full ResourceListPage filtered by a locked\n// `{ [foreignKey]: parentRecordId }` so it gets the same table, filters,\n// bulk actions, pagination, and row-click behaviour as the main list.\n//\n// Designed to live below the property card on the show page.\n\nimport * as React from 'react'\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@modern-admin/ui'\nimport { useResources } from '../hooks.js'\nimport { useI18n } from '../i18n.js'\nimport { ResourceListPage } from '../pages/list-page.js'\nimport { resolveRelatedResources } from '../relations.js'\nimport type { ListQueryState } from '../router.js'\nimport type { RelatedResource, ResourceJSON } from '../types.js'\n\ninterface RelatedRecordsTabProps {\n parentRecordId: string\n related: RelatedResource\n active: boolean\n}\n\nfunction RelatedRecordsTab({\n parentRecordId,\n related,\n active,\n}: RelatedRecordsTabProps): React.ReactElement | null {\n // Each tab keeps its own page/sort/filter state. Defaults: page 1, perPage 10\n // so embedded tables stay compact compared to the main list (default 20).\n const [query, setQuery] = React.useState<ListQueryState>({ perPage: 10 })\n\n // Lazy-load tab content: only mount the (heavy) ResourceListPage once the\n // user actually visits the tab. Subsequent toggles keep state thanks to\n // Radix's mount-on-activate semantics on TabsContent (we don't force unmount).\n const [hasBeenActive, setHasBeenActive] = React.useState(active)\n React.useEffect(() => {\n if (active) setHasBeenActive(true)\n }, [active])\n\n if (!hasBeenActive) return null\n\n return (\n <ResourceListPage\n resourceId={related.resourceId}\n query={query}\n onQueryChange={setQuery}\n lockedFilters={{ [related.foreignKey]: parentRecordId }}\n // The host `CardContent` already pads the tab body — don't double it,\n // or the table stops spanning the block's full width.\n embedPadding={false}\n features={{\n breadcrumbs: false,\n title: false,\n create: false,\n export: false,\n card: false,\n }}\n />\n )\n}\n\nexport interface RelatedRecordsTabsProps {\n resource: ResourceJSON\n recordId: string\n}\n\nexport function RelatedRecordsTabs({\n resource,\n recordId,\n}: RelatedRecordsTabsProps): React.ReactElement | null {\n const { t } = useI18n()\n const allResources = useResources()\n // Master switch: `showRelatedResources: false` in the resource config hides\n // the whole section regardless of configured/auto-discovered relations.\n const enabled = resource.showRelatedResources !== false\n const tabs = React.useMemo(\n () => (enabled ? resolveRelatedResources(resource, allResources) : []),\n [enabled, resource, allResources],\n )\n // Hooks must run before any early return — call useState unconditionally.\n const [active, setActive] = React.useState<string>(\n () => tabs[0] ? `${tabs[0].resourceId}::${tabs[0].foreignKey}` : '',\n )\n React.useEffect(() => {\n if (tabs.length === 0) return\n if (tabs.some((r) => `${r.resourceId}::${r.foreignKey}` === active)) return\n setActive(`${tabs[0]!.resourceId}::${tabs[0]!.foreignKey}`)\n }, [active, tabs])\n if (tabs.length === 0) return null\n\n const labelFor = (r: RelatedResource): string =>\n r.label ?? allResources.find((x) => x.id === r.resourceId)?.name ?? r.resourceId\n\n return (\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">{t('common:relatedRecords')}</CardTitle>\n </CardHeader>\n <CardContent>\n <Tabs value={active} onValueChange={setActive}>\n <TabsList className=\"w-full justify-start\">\n {tabs.map((r) => {\n const key = `${r.resourceId}::${r.foreignKey}`\n return (\n <TabsTrigger key={key} value={key}>\n {labelFor(r)}\n </TabsTrigger>\n )\n })}\n </TabsList>\n {tabs.map((r) => {\n const key = `${r.resourceId}::${r.foreignKey}`\n return (\n <TabsContent key={key} value={key} className=\"mt-4\">\n <RelatedRecordsTab\n parentRecordId={recordId}\n related={r}\n active={active === key}\n />\n </TabsContent>\n )\n })}\n </Tabs>\n </CardContent>\n </Card>\n )\n}\n","import * as React from 'react'\nimport {\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Kbd,\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n getModKeyLabel,\n} from '@modern-admin/ui'\nimport { AlertCircle, Pencil, Trash2, Zap } from 'lucide-react'\nimport { useDeleteRecord, useFeatures, useInvokeRecordAction, useRecord, useResource } from '../hooks.js'\nimport { confirmGuard } from '../action-guard.js'\nimport { parseApiError } from '../client.js'\nimport { PropertyDisplay } from '../property-renderer.js'\nimport { Link, useNavigate } from '../router.js'\nimport { useI18n } from '../i18n.js'\nimport { useHotkey } from '../use-hotkey.js'\nimport { PageBreadcrumbs, homeCrumb } from '../breadcrumbs.js'\nimport { RelatedRecordsTabs } from '../components/related-records-tabs.js'\nimport { useDialogs } from '../dialogs.js'\nimport { useNotify } from '../notify.js'\nimport { ActionMenu } from '../action-menu.js'\nimport { RevisionsButton } from '../components/revisions-button.js'\nimport { visibleRecordProperties } from '../relations.js'\n\nfunction PageError({\n error,\n t,\n}: {\n error: unknown\n t: (key: string) => string\n}): React.ReactElement {\n const { status, message } = parseApiError(error)\n const title =\n status === 404\n ? t('errors:notFound')\n : status === 403\n ? t('errors:forbidden')\n : t('errors:server')\n return (\n <div className=\"flex items-start gap-3 rounded-lg border border-destructive/50 bg-destructive/10 p-4 dark:bg-destructive/15\">\n <AlertCircle className=\"mt-0.5 size-5 shrink-0 text-destructive\" />\n <div className=\"space-y-1 text-sm\">\n <p className=\"font-semibold text-destructive\">{title}</p>\n <p className=\"text-destructive/90\">{message}</p>\n </div>\n </div>\n )\n}\n\nexport interface ResourceShowPageProps {\n resourceId: string\n recordId: string\n}\n\nexport function ResourceShowPage({\n resourceId,\n recordId,\n}: ResourceShowPageProps): React.ReactElement {\n const resource = useResource(resourceId)\n const record = useRecord(resourceId, recordId)\n const remove = useDeleteRecord(resourceId)\n const invokeRecord = useInvokeRecordAction(resourceId)\n const features = useFeatures()\n const { t } = useI18n()\n const navigate = useNavigate()\n const dialogs = useDialogs()\n const notify = useNotify()\n\n const customRecordActions = (resource?.actions ?? []).filter(\n (a) => a.actionType === 'record' && !['show', 'edit', 'delete'].includes(a.name),\n )\n\n // ── Keyboard shortcuts ──\n // Ctrl/Cmd+E jumps into edit. Discoverable via the action-button tooltip.\n useHotkey(\n 'mod+e',\n () => {\n if (!record.data) return\n navigate({ name: 'edit', resourceId, recordId })\n },\n { description: t('common:edit') },\n )\n\n const handleDelete = async (): Promise<void> => {\n const ok = await dialogs.confirm({\n title: t('common:confirmDelete'),\n confirmLabel: t('common:delete'),\n destructive: true,\n })\n if (!ok) return\n await remove.mutateAsync(recordId)\n navigate({ name: 'list', resourceId })\n }\n\n if (!resource) return <div className=\"p-6\">{t('common:loading')}</div>\n\n const modLabel = getModKeyLabel()\n const recordLabel = record.data?.record?.title || recordId\n\n return (\n <div className=\"space-y-2 sm:space-y-4\">\n <PageBreadcrumbs\n items={[\n homeCrumb(t('common:home')),\n { label: resource.name, to: { name: 'list', resourceId } },\n { label: recordLabel },\n ]}\n />\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between gap-3\">\n <CardTitle className=\"truncate\">\n {resource.name} #{recordId}\n </CardTitle>\n {record.data && (\n <div className=\"flex shrink-0 flex-wrap gap-2\">\n {features.history && (\n <RevisionsButton resourceId={resourceId} recordId={recordId} />\n )}\n <Tooltip>\n <TooltipTrigger asChild>\n {/* `asChild` + Link-as-Button keeps the rendered DOM a\n * single `<a>` so it picks up the Button's `h-8` from\n * `size=\"sm\"` instead of stacking a Link wrapper that\n * collapses to its anchor default height. */}\n <Button variant=\"outline-primary\" size=\"sm\" asChild>\n <Link to={{ name: 'edit', resourceId, recordId }} aria-label={t('common:edit')}>\n <Pencil className=\"size-4\" />\n <span className=\"hidden sm:inline\">{t('common:edit')}</span>\n </Link>\n </Button>\n </TooltipTrigger>\n <TooltipContent className=\"flex items-center gap-1.5\">\n <span>{t('common:edit')}</span>\n <span className=\"inline-flex items-center gap-0.5\">\n <Kbd>{modLabel}</Kbd>\n <span className=\"text-muted-foreground\">+</span>\n <Kbd>E</Kbd>\n </span>\n </TooltipContent>\n </Tooltip>\n <Button\n variant=\"outline-destructive\"\n size=\"sm\"\n disabled={remove.isPending}\n onClick={() => void handleDelete()}\n aria-label={t('common:delete')}\n >\n <Trash2 className=\"size-4\" />\n <span className=\"hidden sm:inline\">{t('common:delete')}</span>\n </Button>\n {customRecordActions.length > 0 && (\n <ActionMenu\n actions={customRecordActions}\n onAction={async (action) => {\n if (!await confirmGuard(action, dialogs)) return\n void invokeRecord\n .mutateAsync({ recordId, actionName: action.name })\n .then((res) => {\n if (res.notice) {\n const type = res.notice.type === 'error' ? 'error'\n : res.notice.type === 'warning' ? 'warning'\n : res.notice.type === 'info' ? 'info'\n : 'success'\n notify[type]({ message: res.notice.message })\n }\n })\n .catch((err: Error) =>\n notify.error({ message: err.message }),\n )\n }}\n t={t}\n trigger={(\n <Button\n variant=\"outline\"\n size=\"sm\"\n disabled={invokeRecord.isPending}\n aria-label={t('common:actions')}\n >\n <Zap className=\"size-4\" />\n <span className=\"hidden sm:inline\">{t('common:actions')}</span>\n </Button>\n )}\n />\n )}\n </div>\n )}\n </CardHeader>\n <CardContent>\n <div className=\"space-y-4\">\n {record.isLoading && <p className=\"text-muted-foreground\">{t('common:loading')}</p>}\n {record.isError && <PageError error={record.error} t={t} />}\n {record.data && (\n <dl className=\"[column-fill:_balance] md:columns-2\">\n {visibleRecordProperties(resource.properties, 'show', resource.propertyOrder?.show)\n .map((p) => (\n <div key={p.path} className=\"mb-8 break-inside-avoid\">\n <dt className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n {p.label}\n </dt>\n <dd className=\"mt-1\">\n <PropertyDisplay\n property={p}\n value={record.data!.record.params[p.path]}\n view=\"show\"\n populated={record.data!.record.populated as Record<string, unknown> | undefined}\n />\n </dd>\n </div>\n ))}\n </dl>\n )}\n </div>\n </CardContent>\n </Card>\n {record.data && <RelatedRecordsTabs resource={resource} recordId={recordId} />}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./createLucideIcon-CUopU_LC.js";var t=e(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),n=e(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]);export{t as n,n as t};
2
- //# sourceMappingURL=wand-sparkles-BDM69Lk9.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wand-sparkles-BDM69Lk9.js","names":["__iconNode"],"sources":["../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/circle-alert.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/wand-sparkles.mjs"],"sourcesContent":["/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n];\nconst CircleAlert = createLucideIcon(\"circle-alert\", __iconNode);\n\nexport { __iconNode, CircleAlert as default };\n//# sourceMappingURL=circle-alert.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\",\n key: \"ul74o6\"\n }\n ],\n [\"path\", { d: \"m14 7 3 3\", key: \"1r5n42\" }],\n [\"path\", { d: \"M5 6v4\", key: \"ilb8ba\" }],\n [\"path\", { d: \"M19 14v4\", key: \"blhpug\" }],\n [\"path\", { d: \"M10 2v2\", key: \"7u0qdc\" }],\n [\"path\", { d: \"M7 8H3\", key: \"zfb6yr\" }],\n [\"path\", { d: \"M21 16h-4\", key: \"1cnmox\" }],\n [\"path\", { d: \"M11 3H9\", key: \"1obp7u\" }]\n];\nconst WandSparkles = createLucideIcon(\"wand-sparkles\", __iconNode);\n\nexport { __iconNode, WandSparkles as default };\n//# sourceMappingURL=wand-sparkles.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"mDAcA,IAAM,EAAc,EAAiB,eAAgBA,CAJnD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,QAAS,CAAC,EACzD,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,IAAK,QAAS,CAAC,EACjE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,QAAS,GAAI,KAAM,GAAI,KAAM,IAAK,QAAS,CAAC,CAElBA,CAAU,ECWzD,EAAe,EAAiB,gBAAiB,CAfrD,CACE,OACA,CACE,EAAG,gJACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAS,CAAC,EAC1C,CAAC,OAAQ,CAAE,EAAG,SAAU,IAAK,QAAS,CAAC,EACvC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,SAAU,IAAK,QAAS,CAAC,EACvC,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAS,CAAC,EAC1C,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,CAEa,CAAU"}
@@ -1,2 +0,0 @@
1
- import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{S as n,s as r}from"./with-selector-NDLhu4dT.js";import{t as i}from"./plus-Dk-FzitW.js";import{t as a}from"./x-C3kLunD6.js";import{s as o}from"./dist-Dpg8xy_r.js";import{s}from"./empty-BmE-qyE9.js";import{$ as c,A as l,G as u,i as d}from"./router-DmBe_NWn.js";import{l as f,n as p,s as m,u as h}from"./property-renderer-U2F_u1LG.js";import{a as g,i as _,t as v}from"./card-4cS4uWCP.js";import{a as y,c as b,i as x,n as S,o as C,r as w,s as T,t as E}from"./zod-bSPpBhsj.js";import{g as D,gt as O,h as k,ht as A,i as j,m as M,vt as N}from"./index-R1VJOHqq.js";var P=e(t(),1),F=n();function I({steps:e,properties:t,resourceId:n,control:c,trigger:l,onSubmit:u,onCancel:d,isSubmitting:f=!1,submitError:m,labels:h={}}){let g=h.back??`Back`,_=h.next??`Next`,v=h.submit??`Create`,y=h.cancel??`Cancel`,b=h.stepOf??`Step {current} of {total}`,[x,S]=P.useState(0),w=P.useMemo(()=>{let n=new Set(e.flatMap(e=>e.properties??[])),r=t.filter(e=>!n.has(e.path));return e.map(e=>e.properties?e.properties.map(e=>t.find(t=>t.path===e)).filter(e=>e!=null):r)},[e,t]),T=e.length,E=x===0,j=x===T-1,I=async()=>{let e=(w[x]??[]).map(e=>e.path);(e.length===0||await l(e))&&S(e=>Math.min(e+1,T-1))},R=e[x],z=w[x]??[],B=b.replace(`{current}`,String(x+1)).replace(`{total}`,String(T));return(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`px-6 pt-6 pb-5`,children:[(0,F.jsx)(`div`,{className:`flex w-full max-w-xl items-start mx-auto`,children:e.map((t,n)=>(0,F.jsxs)(P.Fragment,{children:[(0,F.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center`,children:[(0,F.jsx)(`div`,{className:r(`flex h-8 w-8 items-center justify-center rounded-full border-2 text-sm font-semibold transition-colors`,n<x&&`border-primary bg-primary text-primary-foreground`,n===x&&`border-primary bg-background text-primary`,n>x&&`border-border bg-background text-muted-foreground`),children:n<x?(0,F.jsx)(N,{className:`size-3.5`}):n+1}),(0,F.jsx)(`span`,{className:r(`mt-1.5 hidden max-w-[6rem] text-center text-xs leading-tight sm:block`,n===x?`font-medium text-foreground`:n<x?`text-primary`:`text-muted-foreground`),children:t.label})]}),n<e.length-1&&(0,F.jsx)(`div`,{className:r(`mx-2 mt-3.5 h-0.5 flex-1 transition-colors`,n<x?`bg-primary`:`bg-border`)})]},n))}),(0,F.jsxs)(`p`,{className:`mt-2 text-center text-xs text-muted-foreground sm:hidden`,children:[B,R.label?` · ${R.label}`:``]})]}),R.description&&(0,F.jsx)(`p`,{className:`px-6 pb-2 text-sm text-muted-foreground`,children:R.description}),(0,F.jsx)(`div`,{className:`gap-4 px-6 pb-4 [column-fill:_balance] md:columns-2`,children:z.map(e=>(0,F.jsx)(L,{control:c,property:e,children:(0,F.jsx)(C,{control:c,name:e.path,render:({field:t,fieldState:r})=>(0,F.jsxs)(M,{"data-invalid":r.error?!0:void 0,className:`mb-8 break-inside-avoid`,children:[(0,F.jsxs)(D,{htmlFor:t.name,children:[e.label,e.description?(0,F.jsx)(s,{content:e.description,ariaLabel:e.description}):null,e.isRequired&&(0,F.jsx)(`span`,{className:`ml-1 text-destructive`,children:`*`})]}),(0,F.jsx)(p,{property:e,value:t.value,onChange:t.onChange,disabled:f,resourceId:n}),r.error?.message&&(0,F.jsx)(k,{children:r.error.message})]})})},e.path))}),(0,F.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-6 py-4`,children:[(0,F.jsx)(`div`,{children:m&&(0,F.jsx)(`span`,{className:`text-sm text-destructive`,children:m})}),(0,F.jsxs)(`div`,{className:`flex gap-2`,children:[E?(0,F.jsxs)(o,{type:`button`,variant:`ghost`,onClick:d,disabled:f,children:[(0,F.jsx)(a,{className:`size-4`}),y]}):(0,F.jsxs)(o,{type:`button`,variant:`outline`,onClick:()=>S(e=>e-1),disabled:f,children:[(0,F.jsx)(O,{className:`size-4`}),g]}),j?(0,F.jsxs)(o,{type:`button`,onClick:u,disabled:f,children:[(0,F.jsx)(i,{className:`size-4`}),v]}):(0,F.jsxs)(o,{type:`button`,onClick:()=>void I(),disabled:f,children:[_,(0,F.jsx)(A,{className:`size-4`})]})]})]})]})}I.displayName=`WizardForm`;function L({control:e,property:t,children:n}){let r=t.showWhen,i=b({control:e,name:r?.field??t.path});return r?x(r,{[r.field]:i})?(0,F.jsx)(F.Fragment,{children:n}):null:(0,F.jsx)(F.Fragment,{children:n})}function R({resourceId:e,steps:t,labels:n}){let r=u(e),i=l(e),a=d(),{t:o,locale:s}=c(),p=j(),b=P.useMemo(()=>r?m(r.properties,`edit`,r.propertyOrder?.edit).filter(e=>!e.isDisabled):[],[r]),x=P.useRef(()=>({})),C=P.useMemo(()=>S(b,o,()=>x.current()),[b,s]),D=P.useMemo(()=>{let e={};for(let t of b)e[t.path]=w(t);return e},[b]),O=T({resolver:E(C),defaultValues:D});x.current=O.getValues,P.useEffect(()=>{O.reset(D)},[D]);let[k,A]=P.useState(null),M=async t=>{A(null);try{let n=await i.mutateAsync(t),r=n.record.errors;if(r&&Object.keys(r).length>0){for(let[e,t]of Object.entries(r)){let n=typeof t==`string`?t:t?.message??`Invalid value`;O.setError(e,{type:`server`,message:n})}n.record.baseError&&A(String(n.record.baseError)),p.error({key:`toast:validationFailed`});return}p.success({key:`toast:created`}),a({name:`show`,resourceId:e,recordId:String(n.record.id)})}catch(e){let t=e instanceof Error?e.message:String(e);A(t),p.error({key:`toast:createFailed`},{description:t})}},N=()=>{O.handleSubmit(M,()=>{p.error({key:`toast:validationFailed`})})()};if(!r)return(0,F.jsx)(`div`,{className:`p-6`,children:o(`common:loading`)});let L={back:o(`common:back`),next:o(`common:next`),submit:o(`common:create`),cancel:o(`common:cancel`),stepOf:o(`wizard:stepOf`),...n};return(0,F.jsxs)(`div`,{className:`flex min-h-full flex-col gap-4`,children:[(0,F.jsx)(f,{items:[h(o(`common:home`)),{label:r.name,to:{name:`list`,resourceId:e}},{label:o(`common:new`)}]}),(0,F.jsxs)(v,{className:`flex-1`,children:[(0,F.jsx)(_,{children:(0,F.jsx)(g,{className:`truncate`,children:o(`common:newRecord`,{name:r.name})})}),(0,F.jsx)(y,{...O,children:(0,F.jsx)(I,{steps:t,properties:b,resourceId:e,control:O.control,trigger:O.trigger,onSubmit:N,onCancel:()=>a({name:`list`,resourceId:e}),isSubmitting:O.formState.isSubmitting,submitError:k,labels:L})})]})]})}export{R as ResourceWizardCreatePage};
2
- //# sourceMappingURL=wizard-create-page-Rh4uWxUR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zap-Be2c7_cs.js","names":["__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode","__iconNode"],"sources":["../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/arrow-up-down.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/chevrons-left.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/chevrons-right.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/download.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/file-braces.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/inbox.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/list-filter.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/upload.mjs","../../../../../node_modules/.bun/lucide-react@1.23.0+e14d3f224186685e/node_modules/lucide-react/dist/esm/icons/zap.mjs"],"sourcesContent":["/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 16-4 4-4-4\", key: \"f6ql7i\" }],\n [\"path\", { d: \"M17 20V4\", key: \"1ejh1v\" }],\n [\"path\", { d: \"m3 8 4-4 4 4\", key: \"11wl7u\" }],\n [\"path\", { d: \"M7 4v16\", key: \"1glfcx\" }]\n];\nconst ArrowUpDown = createLucideIcon(\"arrow-up-down\", __iconNode);\n\nexport { __iconNode, ArrowUpDown as default };\n//# sourceMappingURL=arrow-up-down.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m11 17-5-5 5-5\", key: \"13zhaf\" }],\n [\"path\", { d: \"m18 17-5-5 5-5\", key: \"h8a8et\" }]\n];\nconst ChevronsLeft = createLucideIcon(\"chevrons-left\", __iconNode);\n\nexport { __iconNode, ChevronsLeft as default };\n//# sourceMappingURL=chevrons-left.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m6 17 5-5-5-5\", key: \"xnjwq\" }],\n [\"path\", { d: \"m13 17 5-5-5-5\", key: \"17xmmf\" }]\n];\nconst ChevronsRight = createLucideIcon(\"chevrons-right\", __iconNode);\n\nexport { __iconNode, ChevronsRight as default };\n//# sourceMappingURL=chevrons-right.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 15V3\", key: \"m9g1x1\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"path\", { d: \"m7 10 5 5 5-5\", key: \"brsn70\" }]\n];\nconst Download = createLucideIcon(\"download\", __iconNode);\n\nexport { __iconNode, Download as default };\n//# sourceMappingURL=download.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\n \"path\",\n { d: \"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1\", key: \"1oajmo\" }\n ],\n [\n \"path\",\n { d: \"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1\", key: \"mpwhp6\" }\n ]\n];\nconst FileBraces = createLucideIcon(\"file-braces\", __iconNode);\n\nexport { __iconNode, FileBraces as default };\n//# sourceMappingURL=file-braces.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M8 13h2\", key: \"yr2amv\" }],\n [\"path\", { d: \"M14 13h2\", key: \"un5t4a\" }],\n [\"path\", { d: \"M8 17h2\", key: \"2yhykz\" }],\n [\"path\", { d: \"M14 17h2\", key: \"10kma7\" }]\n];\nconst FileSpreadsheet = createLucideIcon(\"file-spreadsheet\", __iconNode);\n\nexport { __iconNode, FileSpreadsheet as default };\n//# sourceMappingURL=file-spreadsheet.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"polyline\", { points: \"22 12 16 12 14 15 10 15 8 12 2 12\", key: \"o97t9d\" }],\n [\n \"path\",\n {\n d: \"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\",\n key: \"oot6mr\"\n }\n ]\n];\nconst Inbox = createLucideIcon(\"inbox\", __iconNode);\n\nexport { __iconNode, Inbox as default };\n//# sourceMappingURL=inbox.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M2 5h20\", key: \"1fs1ex\" }],\n [\"path\", { d: \"M6 12h12\", key: \"8npq4p\" }],\n [\"path\", { d: \"M9 19h6\", key: \"456am0\" }]\n];\nconst ListFilter = createLucideIcon(\"list-filter\", __iconNode);\n\nexport { __iconNode, ListFilter as default };\n//# sourceMappingURL=list-filter.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M10 5H3\", key: \"1qgfaw\" }],\n [\"path\", { d: \"M12 19H3\", key: \"yhmn1j\" }],\n [\"path\", { d: \"M14 3v4\", key: \"1sua03\" }],\n [\"path\", { d: \"M16 17v4\", key: \"1q0r14\" }],\n [\"path\", { d: \"M21 12h-9\", key: \"1o4lsq\" }],\n [\"path\", { d: \"M21 19h-5\", key: \"1rlt1p\" }],\n [\"path\", { d: \"M21 5h-7\", key: \"1oszz2\" }],\n [\"path\", { d: \"M8 10v4\", key: \"tgpxqk\" }],\n [\"path\", { d: \"M8 12H3\", key: \"a7s4jb\" }]\n];\nconst SlidersHorizontal = createLucideIcon(\"sliders-horizontal\", __iconNode);\n\nexport { __iconNode, SlidersHorizontal as default };\n//# sourceMappingURL=sliders-horizontal.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 3v12\", key: \"1x0j5s\" }],\n [\"path\", { d: \"m17 8-5-5-5 5\", key: \"7q97r8\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }]\n];\nconst Upload = createLucideIcon(\"upload\", __iconNode);\n\nexport { __iconNode, Upload as default };\n//# sourceMappingURL=upload.mjs.map\n","/**\n * @license lucide-react v1.23.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n];\nconst Zap = createLucideIcon(\"zap\", __iconNode);\n\nexport { __iconNode, Zap as default };\n//# sourceMappingURL=zap.mjs.map\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10],"mappings":"mDAeA,IAAM,EAAc,EAAiB,gBAAiBA,CALpD,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAS,CAAC,EAC/C,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,eAAgB,IAAK,QAAS,CAAC,EAC7C,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,CAEYA,CAAU,ECF1D,EAAe,EAAiB,gBAAiBC,CAHrD,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAS,CAAC,EAC/C,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAS,CAAC,CAEMA,CAAU,ECA3D,EAAgB,EAAiB,iBAAkBC,CAHvD,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,OAAQ,CAAC,EAC7C,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAS,CAAC,CAEQA,CAAU,ECC7D,EAAW,EAAiB,WAAYC,CAJ5C,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAS,CAAC,EAC1E,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,QAAS,CAAC,CAEFA,CAAU,ECalD,EAAa,EAAiB,cAAeC,CAjBjD,CACE,OACA,CACE,EAAG,iHACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,0BAA2B,IAAK,QAAS,CAAC,EACxD,CACE,OACA,CAAE,EAAG,qEAAsE,IAAK,QAAS,CAC3F,EACA,CACE,OACA,CAAE,EAAG,uEAAwE,IAAK,QAAS,CAC7F,CAEiDA,CAAU,ECJvD,EAAkB,EAAiB,mBAAoBC,CAb3D,CACE,OACA,CACE,EAAG,iHACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,0BAA2B,IAAK,QAAS,CAAC,EACxD,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,CAEkBA,CAAU,ECJjE,EAAQ,EAAiB,QAASC,CATtC,CAAC,WAAY,CAAE,OAAQ,oCAAqC,IAAK,QAAS,CAAC,EAC3E,CACE,OACA,CACE,EAAG,6GACH,IAAK,QACP,CACF,CAEsCA,CAAU,ECL5C,EAAa,EAAiB,cAAeC,CAJjD,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,CAESA,CAAU,ECMvD,EAAoB,EAAiB,qBAAsBC,CAV/D,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAS,CAAC,EAC1C,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAS,CAAC,EAC1C,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,CAEuBA,CAAU,ECNrE,EAAS,EAAiB,SAAUC,CAJxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,QAAS,CAAC,EAC9C,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAS,CAAC,CAElCA,CAAU,ECI9C,EAAM,EAAiB,MAAO,CARlC,CACE,OACA,CACE,EAAG,8JACH,IAAK,QACP,CACF,CAEkC,CAAU"}