@rnaga/wp-next-admin 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/README.md +292 -0
  2. package/client/components/RootLayout.d.ts +13 -0
  3. package/client/components/RootLayout.d.ts.map +1 -0
  4. package/client/components/RootLayout.js +13 -0
  5. package/client/components/WrapperRootLayout.d.ts +9 -0
  6. package/client/components/WrapperRootLayout.d.ts.map +1 -0
  7. package/client/components/WrapperRootLayout.js +5 -0
  8. package/client/components/contents/blogs/Create.d.ts +2 -0
  9. package/client/components/contents/blogs/Create.d.ts.map +1 -0
  10. package/client/components/contents/blogs/Create.js +67 -0
  11. package/client/components/contents/blogs/Edit.d.ts +2 -0
  12. package/client/components/contents/blogs/Edit.d.ts.map +1 -0
  13. package/client/components/contents/blogs/Edit.js +144 -0
  14. package/client/components/contents/blogs/List.d.ts +2 -0
  15. package/client/components/contents/blogs/List.d.ts.map +1 -0
  16. package/client/components/contents/blogs/List.js +56 -0
  17. package/client/components/contents/blogs/index.d.ts +6 -0
  18. package/client/components/contents/blogs/index.d.ts.map +1 -0
  19. package/client/components/contents/blogs/index.js +8 -0
  20. package/client/components/contents/comments/ActionLink.d.ts +5 -0
  21. package/client/components/contents/comments/ActionLink.d.ts.map +1 -0
  22. package/client/components/contents/comments/ActionLink.js +67 -0
  23. package/client/components/contents/comments/List/Reply.d.ts +5 -0
  24. package/client/components/contents/comments/List/Reply.d.ts.map +1 -0
  25. package/client/components/contents/comments/List/Reply.js +33 -0
  26. package/client/components/contents/comments/List/Row.d.ts +5 -0
  27. package/client/components/contents/comments/List/Row.d.ts.map +1 -0
  28. package/client/components/contents/comments/List/Row.js +30 -0
  29. package/client/components/contents/comments/List/Toolbar.d.ts +8 -0
  30. package/client/components/contents/comments/List/Toolbar.d.ts.map +1 -0
  31. package/client/components/contents/comments/List/Toolbar.js +14 -0
  32. package/client/components/contents/comments/List/index.d.ts +5 -0
  33. package/client/components/contents/comments/List/index.d.ts.map +1 -0
  34. package/client/components/contents/comments/List/index.js +38 -0
  35. package/client/components/contents/comments/index.d.ts +7 -0
  36. package/client/components/contents/comments/index.d.ts.map +1 -0
  37. package/client/components/contents/comments/index.js +6 -0
  38. package/client/components/contents/dashboard/index.d.ts +2 -0
  39. package/client/components/contents/dashboard/index.d.ts.map +1 -0
  40. package/client/components/contents/dashboard/index.js +123 -0
  41. package/client/components/contents/index.d.ts +46 -0
  42. package/client/components/contents/index.d.ts.map +1 -0
  43. package/client/components/contents/index.js +28 -0
  44. package/client/components/contents/media/Edit.d.ts +2 -0
  45. package/client/components/contents/media/Edit.d.ts.map +1 -0
  46. package/client/components/contents/media/Edit.js +86 -0
  47. package/client/components/contents/media/List/ActionLink.d.ts +5 -0
  48. package/client/components/contents/media/List/ActionLink.d.ts.map +1 -0
  49. package/client/components/contents/media/List/ActionLink.js +24 -0
  50. package/client/components/contents/media/List/Table.d.ts +5 -0
  51. package/client/components/contents/media/List/Table.d.ts.map +1 -0
  52. package/client/components/contents/media/List/Table.js +38 -0
  53. package/client/components/contents/media/List/Thumbnail.d.ts +5 -0
  54. package/client/components/contents/media/List/Thumbnail.d.ts.map +1 -0
  55. package/client/components/contents/media/List/Thumbnail.js +28 -0
  56. package/client/components/contents/media/List/index.d.ts +2 -0
  57. package/client/components/contents/media/List/index.d.ts.map +1 -0
  58. package/client/components/contents/media/List/index.js +66 -0
  59. package/client/components/contents/media/index.d.ts +5 -0
  60. package/client/components/contents/media/index.d.ts.map +1 -0
  61. package/client/components/contents/media/index.js +6 -0
  62. package/client/components/contents/pages/Edit/Settings.d.ts +2 -0
  63. package/client/components/contents/pages/Edit/Settings.d.ts.map +1 -0
  64. package/client/components/contents/pages/Edit/Settings.js +17 -0
  65. package/client/components/contents/pages/Edit/Toolbar.d.ts +2 -0
  66. package/client/components/contents/pages/Edit/Toolbar.d.ts.map +1 -0
  67. package/client/components/contents/pages/Edit/Toolbar.js +72 -0
  68. package/client/components/contents/pages/Edit/index.d.ts +2 -0
  69. package/client/components/contents/pages/Edit/index.d.ts.map +1 -0
  70. package/client/components/contents/pages/Edit/index.js +43 -0
  71. package/client/components/contents/pages/List/ActionLink.d.ts +5 -0
  72. package/client/components/contents/pages/List/ActionLink.d.ts.map +1 -0
  73. package/client/components/contents/pages/List/ActionLink.js +12 -0
  74. package/client/components/contents/pages/List/Statuses.d.ts +2 -0
  75. package/client/components/contents/pages/List/Statuses.d.ts.map +1 -0
  76. package/client/components/contents/pages/List/Statuses.js +24 -0
  77. package/client/components/contents/pages/List/Toolbar.d.ts +8 -0
  78. package/client/components/contents/pages/List/Toolbar.d.ts.map +1 -0
  79. package/client/components/contents/pages/List/Toolbar.js +14 -0
  80. package/client/components/contents/pages/List/index.d.ts +2 -0
  81. package/client/components/contents/pages/List/index.d.ts.map +1 -0
  82. package/client/components/contents/pages/List/index.js +45 -0
  83. package/client/components/contents/pages/index.d.ts +5 -0
  84. package/client/components/contents/pages/index.d.ts.map +1 -0
  85. package/client/components/contents/pages/index.js +6 -0
  86. package/client/components/contents/posts/Edit/Settings.d.ts +2 -0
  87. package/client/components/contents/posts/Edit/Settings.d.ts.map +1 -0
  88. package/client/components/contents/posts/Edit/Settings.js +19 -0
  89. package/client/components/contents/posts/Edit/Toolbar.d.ts +2 -0
  90. package/client/components/contents/posts/Edit/Toolbar.d.ts.map +1 -0
  91. package/client/components/contents/posts/Edit/Toolbar.js +72 -0
  92. package/client/components/contents/posts/Edit/index.d.ts +2 -0
  93. package/client/components/contents/posts/Edit/index.d.ts.map +1 -0
  94. package/client/components/contents/posts/Edit/index.js +43 -0
  95. package/client/components/contents/posts/List/ActionLink.d.ts +5 -0
  96. package/client/components/contents/posts/List/ActionLink.d.ts.map +1 -0
  97. package/client/components/contents/posts/List/ActionLink.js +12 -0
  98. package/client/components/contents/posts/List/Statuses.d.ts +2 -0
  99. package/client/components/contents/posts/List/Statuses.d.ts.map +1 -0
  100. package/client/components/contents/posts/List/Statuses.js +32 -0
  101. package/client/components/contents/posts/List/Toolbar.d.ts +8 -0
  102. package/client/components/contents/posts/List/Toolbar.d.ts.map +1 -0
  103. package/client/components/contents/posts/List/Toolbar.js +14 -0
  104. package/client/components/contents/posts/List/index.d.ts +2 -0
  105. package/client/components/contents/posts/List/index.d.ts.map +1 -0
  106. package/client/components/contents/posts/List/index.js +46 -0
  107. package/client/components/contents/posts/index.d.ts +5 -0
  108. package/client/components/contents/posts/index.d.ts.map +1 -0
  109. package/client/components/contents/posts/index.js +6 -0
  110. package/client/components/contents/profile/index.d.ts +2 -0
  111. package/client/components/contents/profile/index.d.ts.map +1 -0
  112. package/client/components/contents/profile/index.js +7 -0
  113. package/client/components/contents/revisions/List/History.d.ts +7 -0
  114. package/client/components/contents/revisions/List/History.d.ts.map +1 -0
  115. package/client/components/contents/revisions/List/History.js +37 -0
  116. package/client/components/contents/revisions/List/diff2html.css +11 -0
  117. package/client/components/contents/revisions/List/index.d.ts +9 -0
  118. package/client/components/contents/revisions/List/index.d.ts.map +1 -0
  119. package/client/components/contents/revisions/List/index.js +145 -0
  120. package/client/components/contents/revisions/index.d.ts +2 -0
  121. package/client/components/contents/revisions/index.d.ts.map +1 -0
  122. package/client/components/contents/revisions/index.js +1 -0
  123. package/client/components/contents/roles/List/EditModal.d.ts +8 -0
  124. package/client/components/contents/roles/List/EditModal.d.ts.map +1 -0
  125. package/client/components/contents/roles/List/EditModal.js +153 -0
  126. package/client/components/contents/roles/List/index.d.ts +7 -0
  127. package/client/components/contents/roles/List/index.d.ts.map +1 -0
  128. package/client/components/contents/roles/List/index.js +111 -0
  129. package/client/components/contents/roles/index.d.ts +2 -0
  130. package/client/components/contents/roles/index.d.ts.map +1 -0
  131. package/client/components/contents/roles/index.js +1 -0
  132. package/client/components/contents/settings/index.d.ts +2 -0
  133. package/client/components/contents/settings/index.d.ts.map +1 -0
  134. package/client/components/contents/settings/index.js +67 -0
  135. package/client/components/contents/sites/Create.d.ts +2 -0
  136. package/client/components/contents/sites/Create.d.ts.map +1 -0
  137. package/client/components/contents/sites/Create.js +53 -0
  138. package/client/components/contents/sites/Delete.d.ts +2 -0
  139. package/client/components/contents/sites/Delete.d.ts.map +1 -0
  140. package/client/components/contents/sites/Delete.js +125 -0
  141. package/client/components/contents/sites/Edit.d.ts +2 -0
  142. package/client/components/contents/sites/Edit.d.ts.map +1 -0
  143. package/client/components/contents/sites/Edit.js +120 -0
  144. package/client/components/contents/sites/List.d.ts +2 -0
  145. package/client/components/contents/sites/List.d.ts.map +1 -0
  146. package/client/components/contents/sites/List.js +33 -0
  147. package/client/components/contents/sites/index.d.ts +7 -0
  148. package/client/components/contents/sites/index.d.ts.map +1 -0
  149. package/client/components/contents/sites/index.js +10 -0
  150. package/client/components/contents/terms/List/ActionLink.d.ts +5 -0
  151. package/client/components/contents/terms/List/ActionLink.d.ts.map +1 -0
  152. package/client/components/contents/terms/List/ActionLink.js +44 -0
  153. package/client/components/contents/terms/List/Toolbar.d.ts +8 -0
  154. package/client/components/contents/terms/List/Toolbar.d.ts.map +1 -0
  155. package/client/components/contents/terms/List/Toolbar.js +20 -0
  156. package/client/components/contents/terms/List/index.d.ts +18 -0
  157. package/client/components/contents/terms/List/index.d.ts.map +1 -0
  158. package/client/components/contents/terms/List/index.js +94 -0
  159. package/client/components/contents/terms/index.d.ts +2 -0
  160. package/client/components/contents/terms/index.d.ts.map +1 -0
  161. package/client/components/contents/terms/index.js +1 -0
  162. package/client/components/contents/users/Create.d.ts +2 -0
  163. package/client/components/contents/users/Create.d.ts.map +1 -0
  164. package/client/components/contents/users/Create.js +47 -0
  165. package/client/components/contents/users/Delete.d.ts +2 -0
  166. package/client/components/contents/users/Delete.d.ts.map +1 -0
  167. package/client/components/contents/users/Delete.js +113 -0
  168. package/client/components/contents/users/Edit/Profile/GenerateResetLinkModal.d.ts +6 -0
  169. package/client/components/contents/users/Edit/Profile/GenerateResetLinkModal.d.ts.map +1 -0
  170. package/client/components/contents/users/Edit/Profile/GenerateResetLinkModal.js +40 -0
  171. package/client/components/contents/users/Edit/Profile/ResetPasswordModal.d.ts +6 -0
  172. package/client/components/contents/users/Edit/Profile/ResetPasswordModal.d.ts.map +1 -0
  173. package/client/components/contents/users/Edit/Profile/ResetPasswordModal.js +41 -0
  174. package/client/components/contents/users/Edit/Profile/index.d.ts +4 -0
  175. package/client/components/contents/users/Edit/Profile/index.d.ts.map +1 -0
  176. package/client/components/contents/users/Edit/Profile/index.js +111 -0
  177. package/client/components/contents/users/Edit/Roles/ActionLink.d.ts +6 -0
  178. package/client/components/contents/users/Edit/Roles/ActionLink.d.ts.map +1 -0
  179. package/client/components/contents/users/Edit/Roles/ActionLink.js +63 -0
  180. package/client/components/contents/users/Edit/Roles/Add.d.ts +5 -0
  181. package/client/components/contents/users/Edit/Roles/Add.d.ts.map +1 -0
  182. package/client/components/contents/users/Edit/Roles/Add.js +60 -0
  183. package/client/components/contents/users/Edit/Roles/Edit.d.ts +8 -0
  184. package/client/components/contents/users/Edit/Roles/Edit.d.ts.map +1 -0
  185. package/client/components/contents/users/Edit/Roles/Edit.js +53 -0
  186. package/client/components/contents/users/Edit/Roles/Roles.d.ts +4 -0
  187. package/client/components/contents/users/Edit/Roles/Roles.d.ts.map +1 -0
  188. package/client/components/contents/users/Edit/Roles/Roles.js +41 -0
  189. package/client/components/contents/users/Edit/Roles/context.d.ts +9 -0
  190. package/client/components/contents/users/Edit/Roles/context.d.ts.map +1 -0
  191. package/client/components/contents/users/Edit/Roles/context.js +2 -0
  192. package/client/components/contents/users/Edit/Roles/index.d.ts +3 -0
  193. package/client/components/contents/users/Edit/Roles/index.d.ts.map +1 -0
  194. package/client/components/contents/users/Edit/Roles/index.js +2 -0
  195. package/client/components/contents/users/Edit/index.d.ts +4 -0
  196. package/client/components/contents/users/Edit/index.d.ts.map +1 -0
  197. package/client/components/contents/users/Edit/index.js +66 -0
  198. package/client/components/contents/users/List/CountRoles.d.ts +2 -0
  199. package/client/components/contents/users/List/CountRoles.d.ts.map +1 -0
  200. package/client/components/contents/users/List/CountRoles.js +68 -0
  201. package/client/components/contents/users/List/Toolbar.d.ts +10 -0
  202. package/client/components/contents/users/List/Toolbar.d.ts.map +1 -0
  203. package/client/components/contents/users/List/Toolbar.js +32 -0
  204. package/client/components/contents/users/List/index.d.ts +2 -0
  205. package/client/components/contents/users/List/index.d.ts.map +1 -0
  206. package/client/components/contents/users/List/index.js +30 -0
  207. package/client/components/contents/users/index.d.ts +9 -0
  208. package/client/components/contents/users/index.d.ts.map +1 -0
  209. package/client/components/contents/users/index.js +10 -0
  210. package/client/components/layout/Layout.d.ts +3 -0
  211. package/client/components/layout/Layout.d.ts.map +1 -0
  212. package/client/components/layout/Layout.js +69 -0
  213. package/client/components/layout/Main.d.ts +2 -0
  214. package/client/components/layout/Main.d.ts.map +1 -0
  215. package/client/components/layout/Main.js +12 -0
  216. package/client/components/layout/Overlay.d.ts +2 -0
  217. package/client/components/layout/Overlay.d.ts.map +1 -0
  218. package/client/components/layout/Overlay.js +49 -0
  219. package/client/components/layout/Title.d.ts +2 -0
  220. package/client/components/layout/Title.d.ts.map +1 -0
  221. package/client/components/layout/Title.js +19 -0
  222. package/client/components/layout/WrapperLayout.d.ts +2 -0
  223. package/client/components/layout/WrapperLayout.d.ts.map +1 -0
  224. package/client/components/layout/WrapperLayout.js +5 -0
  225. package/client/components/layout/header/Profile.d.ts +2 -0
  226. package/client/components/layout/header/Profile.d.ts.map +1 -0
  227. package/client/components/layout/header/Profile.js +66 -0
  228. package/client/components/layout/header/index.d.ts +2 -0
  229. package/client/components/layout/header/index.d.ts.map +1 -0
  230. package/client/components/layout/header/index.js +176 -0
  231. package/client/components/layout/sidebar/Collapse.d.ts +4 -0
  232. package/client/components/layout/sidebar/Collapse.d.ts.map +1 -0
  233. package/client/components/layout/sidebar/Collapse.js +53 -0
  234. package/client/components/layout/sidebar/Menus.d.ts +5 -0
  235. package/client/components/layout/sidebar/Menus.d.ts.map +1 -0
  236. package/client/components/layout/sidebar/Menus.js +76 -0
  237. package/client/components/layout/sidebar/index.d.ts +2 -0
  238. package/client/components/layout/sidebar/index.d.ts.map +1 -0
  239. package/client/components/layout/sidebar/index.js +86 -0
  240. package/client/components/utils/ErrorFallback.d.ts +6 -0
  241. package/client/components/utils/ErrorFallback.d.ts.map +1 -0
  242. package/client/components/utils/ErrorFallback.js +36 -0
  243. package/client/components/utils/dropdown/SelectWPAvailableSite.d.ts +7 -0
  244. package/client/components/utils/dropdown/SelectWPAvailableSite.d.ts.map +1 -0
  245. package/client/components/utils/dropdown/SelectWPAvailableSite.js +58 -0
  246. package/client/components/utils/dropdown/SelectWPSite.d.ts +5 -0
  247. package/client/components/utils/dropdown/SelectWPSite.d.ts.map +1 -0
  248. package/client/components/utils/dropdown/SelectWPSite.js +27 -0
  249. package/client/components/utils/dropdown/index.d.ts +2 -0
  250. package/client/components/utils/dropdown/index.d.ts.map +1 -0
  251. package/client/components/utils/dropdown/index.js +1 -0
  252. package/client/components/utils/index.d.ts +2 -0
  253. package/client/components/utils/index.d.ts.map +1 -0
  254. package/client/components/utils/index.js +1 -0
  255. package/client/components/utils/link/AdminLink.d.ts +46 -0
  256. package/client/components/utils/link/AdminLink.d.ts.map +1 -0
  257. package/client/components/utils/link/AdminLink.js +61 -0
  258. package/client/components/utils/link/index.d.ts +2 -0
  259. package/client/components/utils/link/index.d.ts.map +1 -0
  260. package/client/components/utils/link/index.js +2 -0
  261. package/client/components/utils/modal/CommentModal.d.ts +2 -0
  262. package/client/components/utils/modal/CommentModal.d.ts.map +1 -0
  263. package/client/components/utils/modal/CommentModal.js +53 -0
  264. package/client/components/utils/modal/TermModal.d.ts +10 -0
  265. package/client/components/utils/modal/TermModal.d.ts.map +1 -0
  266. package/client/components/utils/modal/TermModal.js +70 -0
  267. package/client/components/utils/modal/index.d.ts +3 -0
  268. package/client/components/utils/modal/index.d.ts.map +1 -0
  269. package/client/components/utils/modal/index.js +2 -0
  270. package/client/components/utils/post/PostPanel.d.ts +15 -0
  271. package/client/components/utils/post/PostPanel.d.ts.map +1 -0
  272. package/client/components/utils/post/PostPanel.js +70 -0
  273. package/client/components/utils/post/index.d.ts +4 -0
  274. package/client/components/utils/post/index.d.ts.map +1 -0
  275. package/client/components/utils/post/index.js +3 -0
  276. package/client/components/utils/post/link/PostActionLink.d.ts +9 -0
  277. package/client/components/utils/post/link/PostActionLink.d.ts.map +1 -0
  278. package/client/components/utils/post/link/PostActionLink.js +90 -0
  279. package/client/components/utils/post/link/PostRowLinks.d.ts +8 -0
  280. package/client/components/utils/post/link/PostRowLinks.d.ts.map +1 -0
  281. package/client/components/utils/post/link/PostRowLinks.js +30 -0
  282. package/client/components/utils/post/link/index.d.ts +3 -0
  283. package/client/components/utils/post/link/index.d.ts.map +1 -0
  284. package/client/components/utils/post/link/index.js +2 -0
  285. package/client/components/utils/post/settings/Categories.d.ts +2 -0
  286. package/client/components/utils/post/settings/Categories.d.ts.map +1 -0
  287. package/client/components/utils/post/settings/Categories.js +23 -0
  288. package/client/components/utils/post/settings/Discussion.d.ts +2 -0
  289. package/client/components/utils/post/settings/Discussion.d.ts.map +1 -0
  290. package/client/components/utils/post/settings/Discussion.js +25 -0
  291. package/client/components/utils/post/settings/Excerpt.d.ts +2 -0
  292. package/client/components/utils/post/settings/Excerpt.d.ts.map +1 -0
  293. package/client/components/utils/post/settings/Excerpt.js +9 -0
  294. package/client/components/utils/post/settings/FeaturedImage.d.ts +2 -0
  295. package/client/components/utils/post/settings/FeaturedImage.d.ts.map +1 -0
  296. package/client/components/utils/post/settings/FeaturedImage.js +63 -0
  297. package/client/components/utils/post/settings/PageAttributes.d.ts +2 -0
  298. package/client/components/utils/post/settings/PageAttributes.d.ts.map +1 -0
  299. package/client/components/utils/post/settings/PageAttributes.js +23 -0
  300. package/client/components/utils/post/settings/Revisions.d.ts +2 -0
  301. package/client/components/utils/post/settings/Revisions.d.ts.map +1 -0
  302. package/client/components/utils/post/settings/Revisions.js +44 -0
  303. package/client/components/utils/post/settings/Summary.d.ts +2 -0
  304. package/client/components/utils/post/settings/Summary.d.ts.map +1 -0
  305. package/client/components/utils/post/settings/Summary.js +58 -0
  306. package/client/components/utils/post/settings/Tags.d.ts +2 -0
  307. package/client/components/utils/post/settings/Tags.d.ts.map +1 -0
  308. package/client/components/utils/post/settings/Tags.js +11 -0
  309. package/client/components/utils/post/settings/index.d.ts +9 -0
  310. package/client/components/utils/post/settings/index.d.ts.map +1 -0
  311. package/client/components/utils/post/settings/index.js +8 -0
  312. package/client/hooks/index.d.ts +6 -0
  313. package/client/hooks/index.d.ts.map +1 -0
  314. package/client/hooks/index.js +5 -0
  315. package/client/hooks/use-admin-navigation.d.ts +39 -0
  316. package/client/hooks/use-admin-navigation.d.ts.map +1 -0
  317. package/client/hooks/use-admin-navigation.js +61 -0
  318. package/client/hooks/use-admin-server-actions.d.ts +49 -0
  319. package/client/hooks/use-admin-server-actions.d.ts.map +1 -0
  320. package/client/hooks/use-admin-server-actions.js +13 -0
  321. package/client/hooks/use-admin-user.d.ts +130 -0
  322. package/client/hooks/use-admin-user.d.ts.map +1 -0
  323. package/client/hooks/use-admin-user.js +19 -0
  324. package/client/hooks/use-current-menu.d.ts +3 -0
  325. package/client/hooks/use-current-menu.d.ts.map +1 -0
  326. package/client/hooks/use-current-menu.js +37 -0
  327. package/client/hooks/use-sidebar.d.ts +27 -0
  328. package/client/hooks/use-sidebar.d.ts.map +1 -0
  329. package/client/hooks/use-sidebar.js +51 -0
  330. package/client/hooks/use-sites.d.ts +136 -0
  331. package/client/hooks/use-sites.d.ts.map +1 -0
  332. package/client/hooks/use-sites.js +43 -0
  333. package/client/utils/get-default-admin-hooks.d.ts +3 -0
  334. package/client/utils/get-default-admin-hooks.d.ts.map +1 -0
  335. package/client/utils/get-default-admin-hooks.js +3 -0
  336. package/client/utils/index.d.ts +2 -0
  337. package/client/utils/index.d.ts.map +1 -0
  338. package/client/utils/index.js +1 -0
  339. package/client/wp-admin/initial-global-state.d.ts +5 -0
  340. package/client/wp-admin/initial-global-state.d.ts.map +1 -0
  341. package/client/wp-admin/initial-global-state.js +46 -0
  342. package/client/wp-admin/use-comment.d.ts +55 -0
  343. package/client/wp-admin/use-comment.d.ts.map +1 -0
  344. package/client/wp-admin/use-comment.js +32 -0
  345. package/client/wp-admin/use-overlay.d.ts +28 -0
  346. package/client/wp-admin/use-overlay.d.ts.map +1 -0
  347. package/client/wp-admin/use-overlay.js +89 -0
  348. package/client/wp-admin.d.ts +27 -0
  349. package/client/wp-admin.d.ts.map +1 -0
  350. package/client/wp-admin.js +49 -0
  351. package/client/wp-hooks/index.d.ts +5 -0
  352. package/client/wp-hooks/index.d.ts.map +1 -0
  353. package/client/wp-hooks/index.js +5 -0
  354. package/client/wp-hooks/menu-blog.hook.d.ts +11 -0
  355. package/client/wp-hooks/menu-blog.hook.d.ts.map +1 -0
  356. package/client/wp-hooks/menu-blog.hook.js +236 -0
  357. package/client/wp-hooks/menu-site.hook.d.ts +11 -0
  358. package/client/wp-hooks/menu-site.hook.d.ts.map +1 -0
  359. package/client/wp-hooks/menu-site.hook.js +171 -0
  360. package/client/wp-hooks/preload-modal.hook.d.ts +10 -0
  361. package/client/wp-hooks/preload-modal.hook.d.ts.map +1 -0
  362. package/client/wp-hooks/preload-modal.hook.js +45 -0
  363. package/client/wp-hooks/themes.hook.d.ts +9 -0
  364. package/client/wp-hooks/themes.hook.d.ts.map +1 -0
  365. package/client/wp-hooks/themes.hook.js +32 -0
  366. package/package.json +64 -0
  367. package/server/actions/dashboard.d.ts +141 -0
  368. package/server/actions/dashboard.d.ts.map +1 -0
  369. package/server/actions/dashboard.js +52 -0
  370. package/server/components/Page.d.ts +2 -0
  371. package/server/components/Page.d.ts.map +1 -0
  372. package/server/components/Page.js +3 -0
  373. package/server/components/RootLayout.d.ts +5 -0
  374. package/server/components/RootLayout.d.ts.map +1 -0
  375. package/server/components/RootLayout.js +57 -0
  376. package/server/components/RootPage.d.ts +2 -0
  377. package/server/components/RootPage.d.ts.map +1 -0
  378. package/server/components/RootPage.js +19 -0
  379. package/server/utils/get-default-admin-hooks.d.ts +3 -0
  380. package/server/utils/get-default-admin-hooks.d.ts.map +1 -0
  381. package/server/utils/get-default-admin-hooks.js +4 -0
  382. package/server/utils/index.d.ts +2 -0
  383. package/server/utils/index.d.ts.map +1 -0
  384. package/server/utils/index.js +1 -0
  385. package/server/wp-admin.d.ts +40 -0
  386. package/server/wp-admin.d.ts.map +1 -0
  387. package/server/wp-admin.js +58 -0
  388. package/server/wp-hooks/index.d.ts +3 -0
  389. package/server/wp-hooks/index.d.ts.map +1 -0
  390. package/server/wp-hooks/index.js +3 -0
  391. package/server/wp-hooks/next-admin-init.hook.d.ts +15 -0
  392. package/server/wp-hooks/next-admin-init.hook.d.ts.map +1 -0
  393. package/server/wp-hooks/next-admin-init.hook.js +65 -0
  394. package/types/client/form-data.d.ts +27 -0
  395. package/types/client/global-ref.d.ts +7 -0
  396. package/types/client/global-state.d.ts +78 -0
  397. package/types/client/index.d.ts +5 -0
  398. package/types/client/menus.d.ts +39 -0
  399. package/types/client.d.ts +40 -0
  400. package/types/hooks/actions.d.ts +4 -0
  401. package/types/hooks/filters.d.ts +39 -0
  402. package/types/hooks/index.d.ts +2 -0
  403. package/types/index.d.ts +4 -0
  404. package/types/server-actions.d.ts +21 -0
  405. package/types/theme.d.ts +33 -0
@@ -0,0 +1,5 @@
1
+ import type { Comment } from "./List";
2
+ export declare const ActionLink: (props: {
3
+ comment: Comment;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=ActionLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionLink.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/comments/ActionLink.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,eAAO,MAAM,UAAU,GAAI,OAAO;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,4CAsHrD,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from "@mui/material";
3
+ import { useServerActions } from "@rnaga/wp-next-core/client/hooks/use-server-actions";
4
+ import { useAdminNavigation } from "../../../hooks/use-admin-navigation";
5
+ import { useWPAdmin } from "../../../wp-admin";
6
+ import { AdminLink } from "../../utils/link/AdminLink";
7
+ export const ActionLink = (props) => {
8
+ const { comment } = props;
9
+ const { overlay, comment: commentModal } = useWPAdmin();
10
+ const { actions, safeParse } = useServerActions();
11
+ const { refresh } = useAdminNavigation();
12
+ let commentStatus = "0";
13
+ switch (`${comment.comment_approved}`) {
14
+ case "1":
15
+ case "approve":
16
+ commentStatus = "1";
17
+ break;
18
+ case "spam":
19
+ commentStatus = "spam";
20
+ break;
21
+ case "trash":
22
+ case "post-trashed":
23
+ commentStatus = "trash";
24
+ break;
25
+ case "0":
26
+ case "hold":
27
+ default:
28
+ commentStatus = "0";
29
+ break;
30
+ }
31
+ const handleApprove = (approve) => async () => {
32
+ const result = await overlay.circular.promise(actions.comment
33
+ .update(comment.comment_ID, {
34
+ comment_approved: approve,
35
+ comment_type: comment.comment_type,
36
+ })
37
+ .then(safeParse));
38
+ if (result.error) {
39
+ overlay.snackbar.open("error", result.error);
40
+ return;
41
+ }
42
+ overlay.snackbar.open("success", "Item has been updated");
43
+ refresh(["content"]);
44
+ };
45
+ const handleEditOpen = (isReply) => async () => {
46
+ commentModal.open(comment, isReply, () => refresh(["content"]));
47
+ };
48
+ const handleDelete = () => {
49
+ const message = "This action cannot be undone. This will permanently delete your item.";
50
+ const title = "Are you absolutely sure?";
51
+ overlay.confirm.open(message, async (confirm) => {
52
+ if (!confirm) {
53
+ return;
54
+ }
55
+ const result = await overlay.circular
56
+ .promise(actions.comment.del(comment.comment_ID, true))
57
+ .then(safeParse);
58
+ if (!result.success) {
59
+ overlay.snackbar.open("error", result.error);
60
+ return;
61
+ }
62
+ overlay.snackbar.open("error", "Item has been deleted Permanently");
63
+ refresh(["content"]);
64
+ }, title);
65
+ };
66
+ return (_jsxs(Box, { sx: { display: "flex", gap: 0.5 }, children: [commentStatus == "1" && (_jsx(AdminLink, { color: "warning", onClick: handleApprove("0"), children: "Unapprove" })), commentStatus == "0" && (_jsx(AdminLink, { color: "success", onClick: handleApprove("1"), children: "Approve" })), commentStatus.match(/^0|1$/) && (_jsx(AdminLink, { onClick: handleEditOpen(true), children: "Reply" })), commentStatus.match(/^0|1$/) && (_jsx(AdminLink, { onClick: handleEditOpen(false), children: "Edit" })), commentStatus.match(/^0|1|trash$/) && (_jsx(AdminLink, { color: "error", onClick: handleApprove("spam"), children: "Spam" })), commentStatus.match(/^0|1$/) && (_jsx(AdminLink, { color: "error", onClick: handleApprove("trash"), children: "Trash" })), commentStatus == "spam" && (_jsx(AdminLink, { color: "warning", onClick: handleApprove("0"), children: "Not Spam" })), commentStatus == "trash" && (_jsx(AdminLink, { color: "success", onClick: handleApprove("0"), children: "Restore" })), commentStatus.match(/^trash|spam$/) && (_jsx(AdminLink, { color: "error", onClick: handleDelete, children: "Delete Permanently" }))] }));
67
+ };
@@ -0,0 +1,5 @@
1
+ import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
2
+ export declare const Reply: (props: {
3
+ comment: NonNullable<wpCoreTypes.actions.Comments[number]>;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
5
+ //# sourceMappingURL=Reply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reply.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/Reply.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,KAAK,GAAI,OAAO;IAC3B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5D,mDAyFA,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Box, Stack } from "@mui/material";
4
+ import { SimpleTreeView, TreeItem } from "@mui/x-tree-view";
5
+ import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
6
+ import { Typography } from "@rnaga/wp-next-ui/Typography";
7
+ import { comments as toCommentHierarchy } from "@rnaga/wp-node/common/hierarchy";
8
+ import { AdminLink } from "../../../../components/utils/link";
9
+ import { useAdminNavigation } from "../../../../hooks/use-admin-navigation";
10
+ import { ActionLink } from "../ActionLink";
11
+ export const Reply = (props) => {
12
+ const { comment: parentComment } = props;
13
+ const replies = parentComment.children;
14
+ const { updateRouter } = useAdminNavigation();
15
+ const { userCan } = useUser();
16
+ const [expandedItems, setExpandedItems] = useState([]);
17
+ if (!replies) {
18
+ return null;
19
+ }
20
+ const handleExpandedItemsChange = (event, itemIds) => {
21
+ setExpandedItems(itemIds);
22
+ };
23
+ const handleExpandClick = () => {
24
+ setExpandedItems((oldExpanded) => oldExpanded.length === 0
25
+ ? replies.flatMap((comment) => `${comment.comment_ID}`)
26
+ : []);
27
+ };
28
+ const hierarchy = toCommentHierarchy(replies);
29
+ const items = (comments) => comments.map((comment) => (_jsx(TreeItem, { itemId: `${comment.comment_ID}`, label: _jsxs(Typography, { children: ["Replied by", " ", _jsxs(Typography, { fontWeight: 600, component: "span", children: [comment.comment_author ?? comment.display_name, " "] }), "on", " ", _jsx(Typography, { fontWeight: 600, component: "span", children: comment.comment_date?.split(" ")[0] })] }), children: _jsxs(Stack, { spacing: 1, children: [userCan("edit_comment", parentComment) && (_jsx(ActionLink, { comment: comment })), _jsx(Box, { children: _jsx(Typography, { sx: { mx: 1 }, children: comment.comment_content }) }), comment.children &&
30
+ comment.children.length > 0 &&
31
+ items(comment.children)] }) }, `${comment.comment_ID}`)));
32
+ return (_jsxs(_Fragment, { children: [parentComment.children && parentComment.children?.length > 1 && (_jsxs(Box, { sx: { mb: 1, display: "flex", gap: 1 }, children: [_jsx(AdminLink, { onClick: handleExpandClick, children: expandedItems.length === 0 ? "Expand All" : "Collapse All" }), parentComment.count_children > 10 && (_jsx(AdminLink, { onClick: () => updateRouter({ parent: [parentComment.comment_ID] }), children: "View All Replies" }))] })), _jsx(SimpleTreeView, { sx: { overflowY: "auto" }, expandedItems: expandedItems, onExpandedItemsChange: handleExpandedItemsChange, children: items(hierarchy) })] }));
33
+ };
@@ -0,0 +1,5 @@
1
+ import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
2
+ export declare const Row: (props: {
3
+ comment: wpCoreTypes.actions.Comments[number];
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=Row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/Row.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,GAAG,GAAI,OAAO;IACzB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC/C,4CA0FA,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Box } from "@mui/material";
4
+ import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
5
+ import { CardImage } from "@rnaga/wp-next-ui/CardImage";
6
+ import { Chip } from "@rnaga/wp-next-ui/Chip";
7
+ import { Typography } from "@rnaga/wp-next-ui/Typography";
8
+ import { Viewport } from "@rnaga/wp-next-ui/Viewport";
9
+ import { ActionTd, Table, Td, Tr } from "@rnaga/wp-next-ui/list";
10
+ import { useAdminNavigation } from "../../../../hooks/use-admin-navigation";
11
+ import { useWPAdmin } from "../../../../wp-admin";
12
+ import { ActionLink } from "../ActionLink";
13
+ import { Reply } from "./Reply";
14
+ export const Row = (props) => {
15
+ const { comment } = props;
16
+ const { wp: { viewport }, } = useWPAdmin();
17
+ const { userCan } = useUser();
18
+ const { updateRouter } = useAdminNavigation();
19
+ return (_jsx(Table, { sx: { backgroundColor: "inherit" }, children: _jsxs("tbody", { children: [_jsxs(Tr, { style: { backgroundColor: "inherit" }, children: [_jsxs(Td, { style: { width: "20%" }, children: [_jsx(Box, { children: _jsx(Typography, { bold: true, children: comment.user_display_name ?? comment.comment_author }) }), _jsx(Viewport, { device: "mobile", children: _jsxs(Typography, { sx: { display: "block", mt: 1, mb: 2 }, component: "div", children: [comment.comment_content, userCan("edit_comment", comment) && (_jsx(ActionLink, { comment: comment }))] }) })] }), _jsxs(ActionTd, { style: { width: "40%" }, children: [_jsx(Typography, { sx: { display: "block" }, children: comment.comment_content }), userCan("edit_comment", comment) && (_jsx(ActionLink, { comment: comment }))] }), _jsxs(Td, { viewport: "desktop", style: { width: "20%" }, children: [comment.post_type == "attachment" && (_jsx(CardImage, { src: comment.post_guid, alt: comment.post_title, sx: { width: 80, height: 80 } })
20
+ // <AspectRatio sx={{ width: 80 }} ratio={4 / 3}>
21
+ // <MediaThumbnail uri={comment.post_guid} />
22
+ // </AspectRatio>
23
+ ), _jsx(Typography, { bold: true, children: comment.post_title }), comment.post_comment_count > 0 && (_jsx(Box, { children: _jsx(Chip, { onClick: () => updateRouter({
24
+ post: [comment.comment_post_ID],
25
+ page: 1,
26
+ }), label: `${comment.post_comment_count} Comments` }) }))] }), _jsx(Td, { viewport: "desktop", children: comment.comment_date })] }), comment.children && (_jsx(Tr, { style: {
27
+ borderBottom: "0px solid transparent",
28
+ backgroundColor: "inherit",
29
+ }, children: _jsxs(Td, { colSpan: viewport.isMobile ? 1 : 4, children: [_jsx(Box, { sx: { height: 0, position: "absolute" }, children: _jsx(Chip, { sx: { position: "relative", top: -25 }, label: `${comment.children.length} Replies` }) }), _jsx(Reply, { comment: comment })] }) }))] }) }));
30
+ };
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from "react";
2
+ import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
3
+ export declare const Toolbar: (props: {
4
+ comments?: wpCoreTypes.actions.Comments;
5
+ info?: wpCoreTypes.actions.CommentsInfo;
6
+ children?: ReactNode;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASlC,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,OAAO,GAAI,OAAO;IAC7B,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxC,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,4CAqBA,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box } from "@mui/material";
3
+ import { InputSearch } from "@rnaga/wp-next-ui/InputSearch";
4
+ import { Pagination } from "@rnaga/wp-next-ui/list/Pagination";
5
+ import { useWPAdmin } from "../../../../wp-admin";
6
+ export const Toolbar = (props) => {
7
+ const { info, children } = props;
8
+ const { wp: { viewport }, } = useWPAdmin();
9
+ return (_jsxs(_Fragment, { children: [children, _jsxs(Box, { sx: {
10
+ display: "grid",
11
+ gap: 1,
12
+ gridTemplateColumns: viewport.isMobile ? "1fr" : "repeat(2, 1fr)",
13
+ }, children: [_jsx(InputSearch, { size: "medium", sx: { flexGrow: 1 } }), _jsx(Pagination, { pagination: info?.pagination })] })] }));
14
+ };
@@ -0,0 +1,5 @@
1
+ import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
2
+ import type * as wpTypes from "@rnaga/wp-node/types";
3
+ export type Comment = wpTypes.Tables["comments"] | wpCoreTypes.actions.Comments[number];
4
+ export declare const List: () => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/comments/List/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAErD,MAAM,MAAM,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAC1B,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEzC,eAAO,MAAM,IAAI,+CA6EhB,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useState, useTransition } from "react";
4
+ import { Stack } from "@mui/material";
5
+ import { useServerActions } from "@rnaga/wp-next-core/client/hooks/use-server-actions";
6
+ import { SortableTh, Table, Td, Th, THead, Tr } from "@rnaga/wp-next-ui/list";
7
+ import { Loading } from "@rnaga/wp-next-ui/Loading";
8
+ import { useAdminNavigation } from "../../../../hooks/use-admin-navigation";
9
+ import { Row } from "./Row";
10
+ import { Toolbar } from "./Toolbar";
11
+ export const List = () => {
12
+ const { actions, parse } = useServerActions();
13
+ const [loading, startTransition] = useTransition();
14
+ const [{ comments, info }, setComments] = useState({
15
+ comments: undefined,
16
+ info: undefined,
17
+ });
18
+ const { navigationStatus, queryObject, refresh, refreshValue } = useAdminNavigation();
19
+ const fetchComments = useCallback(async () => {
20
+ const [comments, info] = await actions.comment
21
+ .list({ parent: [0], ...queryObject })
22
+ .then(parse);
23
+ setComments({ comments, info });
24
+ }, [navigationStatus, refreshValue().content]);
25
+ useEffect(() => {
26
+ startTransition(fetchComments);
27
+ }, [navigationStatus]);
28
+ useEffect(() => {
29
+ fetchComments();
30
+ }, [refreshValue().content]);
31
+ return (_jsxs(Stack, { spacing: 1, children: [_jsx(Toolbar, { comments: comments, info: info }), _jsx(Loading, { loading: loading, children: _jsxs(Table, { children: [_jsxs(THead, { children: [_jsx(SortableTh, { name: "Author", orderby: "comment_author", style: {
32
+ width: "20%",
33
+ } }), _jsx(Th, { viewport: "desktop", style: { width: "40%" }, children: "Comment" }), _jsx(Th, { viewport: "desktop", style: {
34
+ width: "20%",
35
+ }, children: "In Response To" }), _jsx(SortableTh, { name: "Submitted on", orderby: "comment_date", viewport: "desktop", style: {
36
+ width: "20%",
37
+ } })] }), _jsx("tbody", { children: comments?.map((comment) => (_jsx(Tr, { children: _jsx(Td, { colSpan: 4, children: _jsx(Row, { comment: comment }) }) }, `${comment.comment_ID}`))) })] }) })] }));
38
+ };
@@ -0,0 +1,7 @@
1
+ export declare const Comments: {
2
+ ActionLink: (props: {
3
+ comment: import("./List").Comment;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ List: () => import("react/jsx-runtime").JSX.Element;
6
+ };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/comments/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ;;;;;CAGpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ActionLink } from "./ActionLink";
2
+ import { List } from "./List";
3
+ export const Comments = {
4
+ ActionLink,
5
+ List,
6
+ };
@@ -0,0 +1,2 @@
1
+ export declare const Dashboard: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/dashboard/index.tsx"],"names":[],"mappings":"AAgDA,eAAO,MAAM,SAAS,+CA6QrB,CAAC"}
@@ -0,0 +1,123 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useState, useTransition } from "react";
4
+ import { Box, Divider, FormControl, FormLabel, Grid, Stack, } from "@mui/material";
5
+ import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
6
+ import { LightEditor } from "@rnaga/wp-next-rte/tiptap/LightEditor";
7
+ import { Button } from "@rnaga/wp-next-ui/Button";
8
+ import { Card } from "@rnaga/wp-next-ui/Card";
9
+ import { useFormData } from "@rnaga/wp-next-ui/hooks/use-form-data";
10
+ import { Input } from "@rnaga/wp-next-ui/Input";
11
+ import { Table, Td, Tr } from "@rnaga/wp-next-ui/list";
12
+ import { Loading } from "@rnaga/wp-next-ui/Loading";
13
+ import { Typography } from "@rnaga/wp-next-ui/Typography";
14
+ import { formatting } from "@rnaga/wp-node/common/formatting";
15
+ import { Comments } from "../../../components/contents/comments";
16
+ import { AdminLink } from "../../../components/utils/link";
17
+ import { useAdminNavigation } from "../../../hooks";
18
+ import { useAdminServerActions } from "../../../hooks/use-admin-server-actions";
19
+ import { useWPAdmin } from "../../../wp-admin";
20
+ function PostEditLink(props) {
21
+ const { post } = props;
22
+ const { userCan } = useUser();
23
+ return (_jsx(AdminLink, { segment: "blog", page: "posts", subPage: "/edit", queryParams: { id: post.ID }, disabled: !userCan("edit_post", post), children: post.post_title || "(No Title)" }));
24
+ }
25
+ export const Dashboard = () => {
26
+ const { overlay } = useWPAdmin();
27
+ const { user, userCan } = useUser();
28
+ const { refresh, refreshValue } = useAdminNavigation();
29
+ const { actions, parse, safeParse } = useAdminServerActions();
30
+ const { formData, setFormData, submit } = useFormData("post");
31
+ const [dashboard, setDasboard] = useState();
32
+ const [loading, startTransition] = useTransition();
33
+ const fetchActivity = useCallback(async () => {
34
+ const [counts] = await actions.dashboard.counts().then(parse);
35
+ const [activity, activityInfo] = await actions.dashboard
36
+ .activity()
37
+ .then(parse);
38
+ const [postDrafts] = (await actions.post
39
+ .list({ status: ["draft"], per_page: 5, author: [user?.ID ?? 0] })
40
+ .then(parse)) ?? [];
41
+ setDasboard({
42
+ counts,
43
+ activity,
44
+ activityInfo,
45
+ postDrafts,
46
+ });
47
+ }, [refreshValue().content]);
48
+ useEffect(() => {
49
+ startTransition(fetchActivity);
50
+ }, []);
51
+ useEffect(() => {
52
+ fetchActivity();
53
+ }, [refreshValue().content]);
54
+ const handleSubmit = async (data) => {
55
+ console.log(formData);
56
+ formData.post_author = user?.ID;
57
+ formData.post_title = data.post_title;
58
+ formData.post_content = data.post_content;
59
+ // Covert Date object to string
60
+ formData.post_date = formatting.dateMySQL(formData.post_date, {
61
+ withGMTOffset: true,
62
+ });
63
+ formData.post_date_gmt = formatting.dateMySQL(formData.post_date);
64
+ const result = await overlay.circular
65
+ .promise(actions.post.create({
66
+ ...formData,
67
+ post_type: "post",
68
+ post_status: "draft",
69
+ }))
70
+ .then(safeParse);
71
+ if (!result.success) {
72
+ overlay.snackbar.open("error", result.error);
73
+ return;
74
+ }
75
+ overlay.snackbar.open("success", "Post has been saved");
76
+ refresh(["content"]);
77
+ };
78
+ return (_jsx(Loading, { loading: loading, children: _jsxs(Grid, { container: true, spacing: 2, sx: { flexGrow: 1 }, children: [_jsx(Grid, { size: { xs: 12, md: userCan("edit_posts") ? 6 : 12 }, children: _jsxs(Stack, { spacing: 2, children: [_jsxs(Card, { sx: {
79
+ p: 2,
80
+ display: "flex",
81
+ flexDirection: "column",
82
+ justifyContent: "space-between",
83
+ gap: 2,
84
+ }, variant: "outlined", children: [_jsx(Typography, { size: "large", bold: true, children: "At a Glance" }), _jsx(Divider, {}), _jsxs(Box, { sx: {
85
+ display: "grid",
86
+ gridTemplateColumns: "repeat(2, 1fr)",
87
+ }, children: [_jsx(AdminLink, { segment: "blog", page: "posts", disabled: !userCan("edit_posts"), children: _jsxs(Typography, { size: "medium", sx: { px: 1.5 }, children: [dashboard?.counts.posts, " Posts"] }) }), _jsx(AdminLink, { segment: "blog", page: "pages", disabled: !userCan("edit_pages"), children: _jsxs(Typography, { size: "medium", sx: { px: 1.5 }, children: [dashboard?.counts.pages, " Pages"] }) }), _jsx(AdminLink, { segment: "blog", page: "comments", disabled: !userCan("edit_posts"), children: _jsxs(Typography, { size: "medium", sx: { px: 1.5 }, children: [dashboard?.counts.comments, " comments"] }) })] })] }), _jsxs(Card, { sx: {
88
+ p: 2,
89
+ display: "flex",
90
+ flexDirection: "column",
91
+ justifyContent: "space-between",
92
+ gap: 2,
93
+ }, variant: "outlined", children: [_jsx(Typography, { size: "large", bold: true, children: "Activity" }), _jsx(Divider, {}), _jsx(Typography, { size: "medium", children: "Recently Published" }), _jsx(Table, { children: _jsx("tbody", { children: dashboard?.activity.posts.map((post) => (_jsxs(Tr, { children: [_jsx(Td, { children: formatting.date(post.post_date, {
94
+ format: "MMM Do YY, h:mm a",
95
+ }) }), _jsx(Td, { children: _jsx(PostEditLink, { post: post }) })] }, `posts-${post.ID}`))) }) }), _jsx(Divider, {}), _jsx(Typography, { size: "medium", bold: true, children: "Recent Comments" }), _jsx(Table, { stripe: "even", ariaLabel: "table variants", sx: { borderCollapse: "inherit" }, children: _jsx("tbody", { children: dashboard?.activity.comments.map((comment) => (_jsx(Tr, { children: _jsx(Td, { children: _jsxs(Stack, { spacing: 0.5, children: [_jsxs(Typography, { children: ["From ", _jsx("b", { children: comment.comment_author }), " on", " ", _jsx("b", { children: comment.post_title })] }), _jsx(Typography, { sx: {
96
+ p: 1,
97
+ }, children: comment.comment_content }), userCan("edit_comment", comment) && (_jsx(Comments.ActionLink, { comment: comment }))] }) }) }, `comments-${comment.comment_ID}`))) }) })] })] }) }), userCan("edit_posts") && (_jsx(Grid, { size: { xs: 12, md: 6 }, children: _jsxs(Card, { variant: "outlined", children: [_jsx(Typography, { size: "large", bold: true, children: "Quick Drafts" }), _jsx(Divider, {}), _jsx("form", { onSubmit: submit(handleSubmit), children: _jsxs(Stack, { spacing: 1, sx: { display: "grid", gridTemplateColumns: "1fr" }, children: [_jsxs(FormControl, { children: [_jsx(FormLabel, { children: _jsx(Typography, { size: "medium", children: "Title" }) }), _jsx(Input, { size: "medium", name: "post_title" })] }), _jsxs(FormControl, { children: [_jsx(FormLabel, { children: _jsx(Typography, { size: "medium", children: "Content" }) }), _jsx(LightEditor
98
+ //editorKey="post-draft"
99
+ //initialValue=""
100
+ // minHeight={200}
101
+ // onChange={(content) => {
102
+ // console.log(content);
103
+ // setFormData({ post_content: content });
104
+ // }}
105
+ , {
106
+ //editorKey="post-draft"
107
+ //initialValue=""
108
+ // minHeight={200}
109
+ // onChange={(content) => {
110
+ // console.log(content);
111
+ // setFormData({ post_content: content });
112
+ // }}
113
+ minHeight: 200, onUpdate: (editor, transaction) => {
114
+ setFormData({ post_content: editor.getHTML() });
115
+ } })] }), _jsx(Button, { type: "submit", children: "Save Draft" })] }) }), _jsx(Divider, {}), _jsx(Typography, { size: "medium", children: "Your Recent Drafts" }), _jsx(Table, { children: _jsx("tbody", { children: dashboard?.postDrafts.map((post) => (_jsx(Tr, { children: _jsxs(Td, { children: [_jsxs(Typography, { display: "block", children: [_jsx(PostEditLink, { post: post }), " ", formatting.date(post.post_date, {
116
+ format: "MMM Do YY",
117
+ })] }), _jsx(Box, { sx: {
118
+ overflow: "hidden",
119
+ textOverflow: "ellipsis",
120
+ whiteSpace: "nowrap",
121
+ ml: 0.5,
122
+ }, children: _jsx(Typography, { noWrap: true, children: post.post_content }) })] }) }, `drafts-${post.ID}`))) }) })] }) }))] }) }));
123
+ };
@@ -0,0 +1,46 @@
1
+ export declare const Admin: {
2
+ Blogs: {
3
+ Create: () => import("react/jsx-runtime").JSX.Element | null;
4
+ Edit: () => import("react/jsx-runtime").JSX.Element | null;
5
+ List: () => import("react/jsx-runtime").JSX.Element | null;
6
+ };
7
+ Comments: {
8
+ ActionLink: (props: {
9
+ comment: import("./comments/List").Comment;
10
+ }) => import("react/jsx-runtime").JSX.Element;
11
+ List: () => import("react/jsx-runtime").JSX.Element;
12
+ };
13
+ Dashboard: () => import("react/jsx-runtime").JSX.Element;
14
+ Media: {
15
+ List: () => import("react/jsx-runtime").JSX.Element;
16
+ Edit: () => import("react/jsx-runtime").JSX.Element | null;
17
+ };
18
+ Pages: {
19
+ Edit: () => import("react/jsx-runtime").JSX.Element | null;
20
+ List: () => import("react/jsx-runtime").JSX.Element;
21
+ };
22
+ Posts: {
23
+ Edit: () => import("react/jsx-runtime").JSX.Element | null;
24
+ List: () => import("react/jsx-runtime").JSX.Element;
25
+ };
26
+ Profile: () => import("react/jsx-runtime").JSX.Element;
27
+ Revisions: () => import("react/jsx-runtime").JSX.Element;
28
+ Roles: () => import("react/jsx-runtime").JSX.Element;
29
+ Settings: () => import("react/jsx-runtime").JSX.Element | null;
30
+ Sites: {
31
+ Create: () => import("react/jsx-runtime").JSX.Element;
32
+ List: () => import("react/jsx-runtime").JSX.Element | null;
33
+ Edit: () => import("react/jsx-runtime").JSX.Element | null;
34
+ Delete: () => import("react/jsx-runtime").JSX.Element | null;
35
+ };
36
+ Terms: () => import("react/jsx-runtime").JSX.Element;
37
+ Users: {
38
+ Create: () => import("react/jsx-runtime").JSX.Element;
39
+ List: () => import("react/jsx-runtime").JSX.Element;
40
+ Edit: (props?: {
41
+ userId?: number;
42
+ }) => import("react/jsx-runtime").JSX.Element | null;
43
+ Delete: () => import("react/jsx-runtime").JSX.Element | null;
44
+ };
45
+ };
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/components/contents/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQhB,CAAC;;;;CAMF,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Blogs } from "./blogs";
2
+ import { Comments } from "./comments";
3
+ import { Dashboard } from "./dashboard";
4
+ import { Media } from "./media";
5
+ import { Pages } from "./pages";
6
+ import { Posts } from "./posts";
7
+ import { Profile } from "./profile";
8
+ import { Revisions } from "./revisions";
9
+ import { Roles } from "./roles";
10
+ import { Settings } from "./settings";
11
+ import { Sites } from "./sites";
12
+ import { Terms } from "./terms";
13
+ import { Users } from "./users";
14
+ export const Admin = {
15
+ Blogs,
16
+ Comments,
17
+ Dashboard,
18
+ Media,
19
+ Pages,
20
+ Posts,
21
+ Profile,
22
+ Revisions,
23
+ Roles,
24
+ Settings,
25
+ Sites,
26
+ Terms,
27
+ Users,
28
+ };
@@ -0,0 +1,2 @@
1
+ export declare const Edit: () => import("react/jsx-runtime").JSX.Element | null;
2
+ //# sourceMappingURL=Edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Edit.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/contents/media/Edit.tsx"],"names":[],"mappings":"AA2CA,eAAO,MAAM,IAAI,sDAuLhB,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment, useEffect, useState } from "react";
3
+ import DeleteIcon from "@mui/icons-material/Delete";
4
+ import FileDownloadIcon from "@mui/icons-material/FileDownload";
5
+ import PreviewIcon from "@mui/icons-material/Preview";
6
+ import { Box, DialogContent, DialogTitle, Divider, Grid, IconButton, List, ListItem, Tooltip, } from "@mui/material";
7
+ import { Modal, ModalContent } from "@rnaga/wp-next-ui/Modal";
8
+ import { Typography } from "@rnaga/wp-next-ui/Typography";
9
+ import { getMetadaList } from "@rnaga/wp-next-core/client/utils/media";
10
+ import { MediaGridForm } from "@rnaga/wp-next-ui/media/MediaGridForm";
11
+ import { MediaTag } from "@rnaga/wp-next-ui/MediaTag";
12
+ import { useAdminNavigation } from "../../../hooks/use-admin-navigation";
13
+ import { useAdminServerActions } from "../../../hooks/use-admin-server-actions";
14
+ import { useWPAdmin } from "../../../wp-admin";
15
+ const ButtonTooltip = (props) => {
16
+ const { title, children, color, href = undefined, onClick } = props;
17
+ return (_jsx(Tooltip, { title: title, placement: "top", children: _jsx(IconButton, { color: color, component: "a", href: href, onClick: onClick, children: children }) }));
18
+ };
19
+ export const Edit = () => {
20
+ const { overlay, wp: { viewport, globalState }, } = useWPAdmin();
21
+ const { actions, safeParse } = useAdminServerActions();
22
+ const mediaEditModalState = globalState.get("media-edit-modal");
23
+ const mediaTargetItemState = globalState.get("media-target-item");
24
+ const { refresh } = useAdminNavigation();
25
+ const post = mediaTargetItemState?.post;
26
+ const [metadataList, setMedataList] = useState();
27
+ useEffect(() => {
28
+ if (!post)
29
+ return;
30
+ getMetadaList(post).then((medataList) => {
31
+ setMedataList(medataList);
32
+ });
33
+ }, [post?.ID]);
34
+ const handleTrash = () => {
35
+ if (!post) {
36
+ return;
37
+ }
38
+ overlay.confirm.open("This action cannot be undone. This will permanently delete your item.", async (confirm) => {
39
+ if (!confirm) {
40
+ return;
41
+ }
42
+ const result = await overlay.circular.promise(actions.post.trash(post.ID).then(safeParse));
43
+ if (!result.success) {
44
+ overlay.snackbar.open("error", result.error);
45
+ return;
46
+ }
47
+ globalState.set({
48
+ "media-edit-modal": { open: false },
49
+ "media-target-item": { post: undefined },
50
+ });
51
+ refresh(["main"]);
52
+ });
53
+ };
54
+ if (!post || !metadataList) {
55
+ return null;
56
+ }
57
+ return (_jsx(Modal, { open: mediaEditModalState?.open ?? false, onClose: () => {
58
+ globalState.set({
59
+ "media-target-item": { post: undefined },
60
+ "media-edit-modal": { open: false },
61
+ });
62
+ }, sx: { zIndex: 2 }, children: _jsxs(ModalContent, { sx: {
63
+ minWidth: "80%",
64
+ }, children: [_jsx(DialogTitle, { children: "Attachment details" }), _jsx(DialogContent, { sx: {
65
+ maxHeight: "70vh",
66
+ overflowY: "auto",
67
+ }, children: _jsxs(Grid, { container: true, spacing: 2, sx: {
68
+ flexGrow: 1,
69
+ }, children: [_jsx(Grid, { size: { xs: viewport.isMobile ? 12 : 7 }, children: _jsx(Box, { sx: {
70
+ display: "flex",
71
+ justifyContent: "center",
72
+ alignItems: "center",
73
+ width: "100%",
74
+ maxWidth: "700px",
75
+ }, children: _jsx(MediaTag, { post: post, slotSxProps: { icon: { fontSize: 200 } } }) }) }), _jsx(Grid, { size: { xs: viewport.isMobile ? 12 : 5 }, children: _jsxs(List, { sx: {
76
+ border: "1px solid",
77
+ borderColor: "divider",
78
+ borderRadius: 1,
79
+ }, children: [_jsx(ListItem, { sx: {
80
+ justifyContent: "flex-end",
81
+ }, children: _jsx(Box, { children: _jsx(List, { children: _jsxs(ListItem, { children: [_jsx(ButtonTooltip, { title: "Preview", color: "inherit", href: post.guid, children: _jsx(PreviewIcon, {}) }), _jsx(ButtonTooltip, { title: "Download", color: "primary", href: post.guid, children: _jsx(FileDownloadIcon, {}) }), _jsx(ButtonTooltip, { title: "Delete permanently", color: "error", onClick: handleTrash, children: _jsx(DeleteIcon, {}) })] }) }) }) }), _jsx(ListItem, { children: _jsx(Grid, { container: true, spacing: 2, sx: {
82
+ flexGrow: 1,
83
+ }, children: metadataList.map(([key, value]) => (_jsxs(Fragment, { children: [_jsx(Grid, { size: { xs: 4 }, children: _jsxs(Typography, { children: [key, ":"] }) }), _jsx(Grid, { size: { xs: 8 }, children: _jsx(Typography, { fontWeight: 300, sx: {
84
+ overflowWrap: "break-word",
85
+ }, children: value }) })] }, key))) }) }), _jsx(Divider, {}), _jsx(ListItem, { children: _jsx(MediaGridForm, {}) })] }) })] }) })] }) }));
86
+ };
@@ -0,0 +1,5 @@
1
+ import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
2
+ export declare const ActionLink: (props: {
3
+ post: wpCoreTypes.actions.Posts[number];
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
5
+ //# sourceMappingURL=ActionLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionLink.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/contents/media/List/ActionLink.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,UAAU,GAAI,OAAO;IAChC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACzC,mDA4BA,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useUser } from "@rnaga/wp-next-core/client/hooks/use-user";
4
+ import { PostActionLink } from "../../../../components/utils/post";
5
+ import { useWPAdmin } from "../../../../wp-admin";
6
+ export const ActionLink = (props) => {
7
+ const { post } = props;
8
+ const { wp: { globalState }, } = useWPAdmin();
9
+ const { userCan } = useUser();
10
+ // Check if user has permission to edit other posts
11
+ if (!userCan("edit_post", post)) {
12
+ return null;
13
+ }
14
+ return (_jsx(PostActionLink, { actionLinks: ["edit", "delete", "view", "copy"], post: post, onClickEdit: () => {
15
+ globalState.set({
16
+ "media-edit-modal": {
17
+ open: true,
18
+ },
19
+ "media-target-item": {
20
+ post,
21
+ },
22
+ });
23
+ } }));
24
+ };
@@ -0,0 +1,5 @@
1
+ import type * as wpCoreTypes from "@rnaga/wp-next-core/types";
2
+ export declare const Table: (props: {
3
+ posts: wpCoreTypes.actions.Posts | undefined;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
5
+ //# sourceMappingURL=Table.d.ts.map