@wordpress/fields 0.29.0 → 0.29.1-next.06ee73755.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/LICENSE.md +1 -1
  3. package/README.md +41 -0
  4. package/build/actions/{delete-post.js → delete-post.cjs} +4 -4
  5. package/build/actions/{duplicate-pattern.js → duplicate-pattern.cjs} +2 -2
  6. package/build/actions/{duplicate-post.js → duplicate-post.cjs} +2 -2
  7. package/build/actions/{duplicate-template-part.js → duplicate-template-part.cjs} +3 -3
  8. package/build/actions/{export-pattern.js → export-pattern.cjs} +2 -2
  9. package/build/actions/{index.js → index.cjs} +14 -14
  10. package/build/actions/{permanently-delete-post.js → permanently-delete-post.cjs} +2 -2
  11. package/build/actions/{rename-post.js → rename-post.cjs} +3 -4
  12. package/build/actions/{rename-post.js.map → rename-post.cjs.map} +2 -2
  13. package/build/actions/{reorder-page.js → reorder-page.cjs} +2 -2
  14. package/build/actions/reorder-page.cjs.map +7 -0
  15. package/build/actions/{reset-post.js → reset-post.cjs} +2 -2
  16. package/build/actions/{restore-post.js → restore-post.cjs} +2 -2
  17. package/build/actions/{trash-post.js → trash-post.cjs} +2 -2
  18. package/build/actions/{utils.js → utils.cjs} +1 -1
  19. package/build/actions/{view-post-revisions.js → view-post-revisions.cjs} +1 -1
  20. package/build/actions/{view-post.js → view-post.cjs} +1 -1
  21. package/build/components/create-template-part-modal/{index.js → index.cjs} +3 -4
  22. package/build/components/create-template-part-modal/index.cjs.map +7 -0
  23. package/build/components/create-template-part-modal/{utils.js → utils.cjs} +1 -1
  24. package/build/components/media-edit/index.cjs +494 -0
  25. package/build/components/media-edit/index.cjs.map +7 -0
  26. package/build/fields/author/{author-view.js → author-view.cjs} +1 -1
  27. package/build/fields/author/{index.js → index.cjs} +2 -2
  28. package/build/fields/comment-status/{index.js → index.cjs} +1 -1
  29. package/build/fields/date/{date-view.js → date-view.cjs} +1 -1
  30. package/build/fields/date/{index.js → index.cjs} +2 -2
  31. package/build/fields/discussion/{index.js → index.cjs} +1 -1
  32. package/build/fields/featured-image/{featured-image-view.js → featured-image-view.cjs} +1 -1
  33. package/build/fields/featured-image/index.cjs +52 -0
  34. package/build/fields/featured-image/index.cjs.map +7 -0
  35. package/build/fields/{index.js → index.cjs} +18 -18
  36. package/build/fields/notes/{index.js → index.cjs} +1 -1
  37. package/build/fields/order/{index.js → index.cjs} +1 -1
  38. package/build/fields/page-title/{index.js → index.cjs} +3 -3
  39. package/build/fields/page-title/{view.js → view.cjs} +3 -3
  40. package/build/fields/parent/{index.js → index.cjs} +3 -3
  41. package/build/fields/parent/{parent-edit.js → parent-edit.cjs} +2 -3
  42. package/build/fields/parent/{parent-edit.js.map → parent-edit.cjs.map} +2 -2
  43. package/build/fields/parent/{parent-view.js → parent-view.cjs} +2 -2
  44. package/build/fields/parent/{utils.js → utils.cjs} +1 -1
  45. package/build/fields/password/{edit.js → edit.cjs} +1 -3
  46. package/build/fields/password/{edit.js.map → edit.cjs.map} +2 -2
  47. package/build/fields/password/{index.js → index.cjs} +2 -2
  48. package/build/fields/pattern-title/{index.js → index.cjs} +3 -3
  49. package/build/fields/pattern-title/{view.js → view.cjs} +3 -3
  50. package/build/fields/ping-status/{index.js → index.cjs} +1 -2
  51. package/build/fields/ping-status/index.cjs.map +7 -0
  52. package/build/fields/slug/{index.js → index.cjs} +3 -3
  53. package/build/fields/slug/{slug-edit.js → slug-edit.cjs} +2 -2
  54. package/build/fields/slug/{slug-view.js → slug-view.cjs} +2 -2
  55. package/build/fields/slug/{utils.js → utils.cjs} +2 -2
  56. package/build/fields/status/{index.js → index.cjs} +3 -3
  57. package/build/fields/status/{status-elements.js → status-elements.cjs} +1 -1
  58. package/build/fields/status/{status-view.js → status-view.cjs} +2 -2
  59. package/build/fields/template/{index.js → index.cjs} +2 -2
  60. package/build/fields/template/{template-edit.js → template-edit.cjs} +3 -3
  61. package/build/fields/template-title/{index.js → index.cjs} +3 -3
  62. package/build/fields/title/{index.js → index.cjs} +3 -3
  63. package/build/fields/title/{view.js → view.cjs} +2 -2
  64. package/build/{index.js → index.cjs} +10 -7
  65. package/build/index.cjs.map +7 -0
  66. package/build/{lock-unlock.js → lock-unlock.cjs} +1 -1
  67. package/build/mutation/{index.js → index.cjs} +1 -1
  68. package/build/{types.js → types.cjs} +1 -1
  69. package/build/types.cjs.map +7 -0
  70. package/build-module/actions/{delete-post.js → delete-post.mjs} +4 -4
  71. package/build-module/actions/{duplicate-pattern.js → duplicate-pattern.mjs} +2 -2
  72. package/build-module/actions/{duplicate-post.js → duplicate-post.mjs} +2 -2
  73. package/build-module/actions/{duplicate-template-part.js → duplicate-template-part.mjs} +3 -3
  74. package/build-module/actions/{export-pattern.js → export-pattern.mjs} +2 -2
  75. package/build-module/actions/index.mjs +30 -0
  76. package/build-module/actions/{permanently-delete-post.js → permanently-delete-post.mjs} +2 -2
  77. package/build-module/actions/{rename-post.js → rename-post.mjs} +3 -4
  78. package/build-module/actions/{rename-post.js.map → rename-post.mjs.map} +2 -2
  79. package/build-module/actions/{reorder-page.js → reorder-page.mjs} +2 -2
  80. package/build-module/actions/reorder-page.mjs.map +7 -0
  81. package/build-module/actions/{reset-post.js → reset-post.mjs} +2 -2
  82. package/build-module/actions/{restore-post.js → restore-post.mjs} +2 -2
  83. package/build-module/actions/{trash-post.js → trash-post.mjs} +2 -2
  84. package/build-module/actions/{utils.js → utils.mjs} +1 -1
  85. package/build-module/actions/{view-post-revisions.js → view-post-revisions.mjs} +1 -1
  86. package/build-module/actions/{view-post.js → view-post.mjs} +1 -1
  87. package/build-module/components/create-template-part-modal/{index.js → index.mjs} +3 -4
  88. package/build-module/components/create-template-part-modal/index.mjs.map +7 -0
  89. package/build-module/components/create-template-part-modal/{utils.js → utils.mjs} +1 -1
  90. package/build-module/components/media-edit/index.mjs +478 -0
  91. package/build-module/components/media-edit/index.mjs.map +7 -0
  92. package/build-module/fields/author/{author-view.js → author-view.mjs} +1 -1
  93. package/build-module/fields/author/{index.js → index.mjs} +2 -2
  94. package/build-module/fields/comment-status/{index.js → index.mjs} +1 -1
  95. package/build-module/fields/date/{date-view.js → date-view.mjs} +1 -1
  96. package/build-module/fields/date/{index.js → index.mjs} +2 -2
  97. package/build-module/fields/discussion/{index.js → index.mjs} +1 -1
  98. package/build-module/fields/featured-image/{featured-image-view.js → featured-image-view.mjs} +1 -1
  99. package/build-module/fields/featured-image/{index.js → index.mjs} +8 -5
  100. package/build-module/fields/featured-image/index.mjs.map +7 -0
  101. package/build-module/fields/index.mjs +38 -0
  102. package/build-module/fields/notes/{index.js → index.mjs} +1 -1
  103. package/build-module/fields/order/{index.js → index.mjs} +1 -1
  104. package/build-module/fields/page-title/{index.js → index.mjs} +3 -3
  105. package/build-module/fields/page-title/{view.js → view.mjs} +3 -3
  106. package/build-module/fields/parent/{index.js → index.mjs} +3 -3
  107. package/build-module/fields/parent/{parent-edit.js → parent-edit.mjs} +2 -3
  108. package/build-module/fields/parent/{parent-edit.js.map → parent-edit.mjs.map} +2 -2
  109. package/build-module/fields/parent/{parent-view.js → parent-view.mjs} +2 -2
  110. package/build-module/fields/parent/{utils.js → utils.mjs} +1 -1
  111. package/build-module/fields/password/{edit.js → edit.mjs} +1 -3
  112. package/build-module/fields/password/{edit.js.map → edit.mjs.map} +2 -2
  113. package/build-module/fields/password/{index.js → index.mjs} +2 -2
  114. package/build-module/fields/pattern-title/{index.js → index.mjs} +3 -3
  115. package/build-module/fields/pattern-title/{view.js → view.mjs} +3 -3
  116. package/build-module/fields/ping-status/{index.js → index.mjs} +1 -2
  117. package/build-module/fields/ping-status/index.mjs.map +7 -0
  118. package/build-module/fields/slug/{index.js → index.mjs} +3 -3
  119. package/build-module/fields/slug/{slug-edit.js → slug-edit.mjs} +2 -2
  120. package/build-module/fields/slug/{slug-view.js → slug-view.mjs} +2 -2
  121. package/build-module/fields/slug/{utils.js → utils.mjs} +2 -2
  122. package/build-module/fields/status/{index.js → index.mjs} +3 -3
  123. package/build-module/fields/status/{status-elements.js → status-elements.mjs} +1 -1
  124. package/build-module/fields/status/{status-view.js → status-view.mjs} +2 -2
  125. package/build-module/fields/template/{index.js → index.mjs} +2 -2
  126. package/build-module/fields/template/{template-edit.js → template-edit.mjs} +3 -3
  127. package/build-module/fields/template-title/{index.js → index.mjs} +3 -3
  128. package/build-module/fields/title/{index.js → index.mjs} +3 -3
  129. package/build-module/fields/title/{view.js → view.mjs} +2 -2
  130. package/build-module/index.mjs +10 -0
  131. package/build-module/index.mjs.map +7 -0
  132. package/build-module/{lock-unlock.js → lock-unlock.mjs} +1 -1
  133. package/build-module/mutation/{index.js → index.mjs} +1 -1
  134. package/build-module/types.mjs +1 -0
  135. package/build-style/style-rtl.css +191 -62
  136. package/build-style/style.css +191 -62
  137. package/build-types/actions/rename-post.d.ts.map +1 -1
  138. package/build-types/actions/reorder-page.d.ts.map +1 -1
  139. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -1
  140. package/build-types/components/media-edit/index.d.ts +42 -0
  141. package/build-types/components/media-edit/index.d.ts.map +1 -0
  142. package/build-types/fields/featured-image/index.d.ts +0 -3
  143. package/build-types/fields/featured-image/index.d.ts.map +1 -1
  144. package/build-types/fields/parent/parent-edit.d.ts.map +1 -1
  145. package/build-types/fields/password/edit.d.ts.map +1 -1
  146. package/build-types/fields/ping-status/index.d.ts.map +1 -1
  147. package/build-types/index.d.ts +2 -1
  148. package/build-types/index.d.ts.map +1 -1
  149. package/build-types/types.d.ts +24 -0
  150. package/build-types/types.d.ts.map +1 -1
  151. package/package.json +38 -30
  152. package/src/actions/rename-post.tsx +0 -1
  153. package/src/actions/reorder-page.tsx +1 -2
  154. package/src/components/create-template-part-modal/index.tsx +2 -3
  155. package/src/components/media-edit/index.tsx +616 -0
  156. package/src/components/media-edit/style.scss +232 -0
  157. package/src/fields/featured-image/{index.ts → index.tsx} +5 -2
  158. package/src/fields/featured-image/style.scss +7 -89
  159. package/src/fields/parent/parent-edit.tsx +0 -1
  160. package/src/fields/password/edit.tsx +0 -2
  161. package/src/fields/ping-status/index.tsx +0 -1
  162. package/src/index.ts +2 -0
  163. package/src/style.scss +1 -0
  164. package/src/types.ts +30 -0
  165. package/build/actions/reorder-page.js.map +0 -7
  166. package/build/components/create-template-part-modal/index.js.map +0 -7
  167. package/build/fields/featured-image/featured-image-edit.js +0 -162
  168. package/build/fields/featured-image/featured-image-edit.js.map +0 -7
  169. package/build/fields/featured-image/index.js +0 -39
  170. package/build/fields/featured-image/index.js.map +0 -7
  171. package/build/fields/ping-status/index.js.map +0 -7
  172. package/build/index.js.map +0 -7
  173. package/build/types.js.map +0 -7
  174. package/build-module/actions/index.js +0 -30
  175. package/build-module/actions/reorder-page.js.map +0 -7
  176. package/build-module/components/create-template-part-modal/index.js.map +0 -7
  177. package/build-module/fields/featured-image/featured-image-edit.js +0 -140
  178. package/build-module/fields/featured-image/featured-image-edit.js.map +0 -7
  179. package/build-module/fields/featured-image/index.js.map +0 -7
  180. package/build-module/fields/index.js +0 -38
  181. package/build-module/fields/ping-status/index.js.map +0 -7
  182. package/build-module/index.js +0 -8
  183. package/build-module/index.js.map +0 -7
  184. package/build-module/types.js +0 -1
  185. package/build-types/fields/featured-image/featured-image-edit.d.ts +0 -7
  186. package/build-types/fields/featured-image/featured-image-edit.d.ts.map +0 -1
  187. package/src/fields/featured-image/featured-image-edit.tsx +0 -170
  188. package/tsconfig.json +0 -31
  189. package/tsconfig.tsbuildinfo +0 -1
  190. /package/build/actions/{delete-post.js.map → delete-post.cjs.map} +0 -0
  191. /package/build/actions/{duplicate-pattern.js.map → duplicate-pattern.cjs.map} +0 -0
  192. /package/build/actions/{duplicate-post.js.map → duplicate-post.cjs.map} +0 -0
  193. /package/build/actions/{duplicate-template-part.js.map → duplicate-template-part.cjs.map} +0 -0
  194. /package/build/actions/{export-pattern.js.map → export-pattern.cjs.map} +0 -0
  195. /package/build/actions/{index.js.map → index.cjs.map} +0 -0
  196. /package/build/actions/{permanently-delete-post.js.map → permanently-delete-post.cjs.map} +0 -0
  197. /package/build/actions/{reset-post.js.map → reset-post.cjs.map} +0 -0
  198. /package/build/actions/{restore-post.js.map → restore-post.cjs.map} +0 -0
  199. /package/build/actions/{trash-post.js.map → trash-post.cjs.map} +0 -0
  200. /package/build/actions/{utils.js.map → utils.cjs.map} +0 -0
  201. /package/build/actions/{view-post-revisions.js.map → view-post-revisions.cjs.map} +0 -0
  202. /package/build/actions/{view-post.js.map → view-post.cjs.map} +0 -0
  203. /package/build/components/create-template-part-modal/{utils.js.map → utils.cjs.map} +0 -0
  204. /package/build/fields/author/{author-view.js.map → author-view.cjs.map} +0 -0
  205. /package/build/fields/author/{index.js.map → index.cjs.map} +0 -0
  206. /package/build/fields/comment-status/{index.js.map → index.cjs.map} +0 -0
  207. /package/build/fields/date/{date-view.js.map → date-view.cjs.map} +0 -0
  208. /package/build/fields/date/{index.js.map → index.cjs.map} +0 -0
  209. /package/build/fields/discussion/{index.js.map → index.cjs.map} +0 -0
  210. /package/build/fields/featured-image/{featured-image-view.js.map → featured-image-view.cjs.map} +0 -0
  211. /package/build/fields/{index.js.map → index.cjs.map} +0 -0
  212. /package/build/fields/notes/{index.js.map → index.cjs.map} +0 -0
  213. /package/build/fields/order/{index.js.map → index.cjs.map} +0 -0
  214. /package/build/fields/page-title/{index.js.map → index.cjs.map} +0 -0
  215. /package/build/fields/page-title/{view.js.map → view.cjs.map} +0 -0
  216. /package/build/fields/parent/{index.js.map → index.cjs.map} +0 -0
  217. /package/build/fields/parent/{parent-view.js.map → parent-view.cjs.map} +0 -0
  218. /package/build/fields/parent/{utils.js.map → utils.cjs.map} +0 -0
  219. /package/build/fields/password/{index.js.map → index.cjs.map} +0 -0
  220. /package/build/fields/pattern-title/{index.js.map → index.cjs.map} +0 -0
  221. /package/build/fields/pattern-title/{view.js.map → view.cjs.map} +0 -0
  222. /package/build/fields/slug/{index.js.map → index.cjs.map} +0 -0
  223. /package/build/fields/slug/{slug-edit.js.map → slug-edit.cjs.map} +0 -0
  224. /package/build/fields/slug/{slug-view.js.map → slug-view.cjs.map} +0 -0
  225. /package/build/fields/slug/{utils.js.map → utils.cjs.map} +0 -0
  226. /package/build/fields/status/{index.js.map → index.cjs.map} +0 -0
  227. /package/build/fields/status/{status-elements.js.map → status-elements.cjs.map} +0 -0
  228. /package/build/fields/status/{status-view.js.map → status-view.cjs.map} +0 -0
  229. /package/build/fields/template/{index.js.map → index.cjs.map} +0 -0
  230. /package/build/fields/template/{template-edit.js.map → template-edit.cjs.map} +0 -0
  231. /package/build/fields/template-title/{index.js.map → index.cjs.map} +0 -0
  232. /package/build/fields/title/{index.js.map → index.cjs.map} +0 -0
  233. /package/build/fields/title/{view.js.map → view.cjs.map} +0 -0
  234. /package/build/{lock-unlock.js.map → lock-unlock.cjs.map} +0 -0
  235. /package/build/mutation/{index.js.map → index.cjs.map} +0 -0
  236. /package/build-module/actions/{delete-post.js.map → delete-post.mjs.map} +0 -0
  237. /package/build-module/actions/{duplicate-pattern.js.map → duplicate-pattern.mjs.map} +0 -0
  238. /package/build-module/actions/{duplicate-post.js.map → duplicate-post.mjs.map} +0 -0
  239. /package/build-module/actions/{duplicate-template-part.js.map → duplicate-template-part.mjs.map} +0 -0
  240. /package/build-module/actions/{export-pattern.js.map → export-pattern.mjs.map} +0 -0
  241. /package/build-module/actions/{index.js.map → index.mjs.map} +0 -0
  242. /package/build-module/actions/{permanently-delete-post.js.map → permanently-delete-post.mjs.map} +0 -0
  243. /package/build-module/actions/{reset-post.js.map → reset-post.mjs.map} +0 -0
  244. /package/build-module/actions/{restore-post.js.map → restore-post.mjs.map} +0 -0
  245. /package/build-module/actions/{trash-post.js.map → trash-post.mjs.map} +0 -0
  246. /package/build-module/actions/{utils.js.map → utils.mjs.map} +0 -0
  247. /package/build-module/actions/{view-post-revisions.js.map → view-post-revisions.mjs.map} +0 -0
  248. /package/build-module/actions/{view-post.js.map → view-post.mjs.map} +0 -0
  249. /package/build-module/components/create-template-part-modal/{utils.js.map → utils.mjs.map} +0 -0
  250. /package/build-module/fields/author/{author-view.js.map → author-view.mjs.map} +0 -0
  251. /package/build-module/fields/author/{index.js.map → index.mjs.map} +0 -0
  252. /package/build-module/fields/comment-status/{index.js.map → index.mjs.map} +0 -0
  253. /package/build-module/fields/date/{date-view.js.map → date-view.mjs.map} +0 -0
  254. /package/build-module/fields/date/{index.js.map → index.mjs.map} +0 -0
  255. /package/build-module/fields/discussion/{index.js.map → index.mjs.map} +0 -0
  256. /package/build-module/fields/featured-image/{featured-image-view.js.map → featured-image-view.mjs.map} +0 -0
  257. /package/build-module/fields/{index.js.map → index.mjs.map} +0 -0
  258. /package/build-module/fields/notes/{index.js.map → index.mjs.map} +0 -0
  259. /package/build-module/fields/order/{index.js.map → index.mjs.map} +0 -0
  260. /package/build-module/fields/page-title/{index.js.map → index.mjs.map} +0 -0
  261. /package/build-module/fields/page-title/{view.js.map → view.mjs.map} +0 -0
  262. /package/build-module/fields/parent/{index.js.map → index.mjs.map} +0 -0
  263. /package/build-module/fields/parent/{parent-view.js.map → parent-view.mjs.map} +0 -0
  264. /package/build-module/fields/parent/{utils.js.map → utils.mjs.map} +0 -0
  265. /package/build-module/fields/password/{index.js.map → index.mjs.map} +0 -0
  266. /package/build-module/fields/pattern-title/{index.js.map → index.mjs.map} +0 -0
  267. /package/build-module/fields/pattern-title/{view.js.map → view.mjs.map} +0 -0
  268. /package/build-module/fields/slug/{index.js.map → index.mjs.map} +0 -0
  269. /package/build-module/fields/slug/{slug-edit.js.map → slug-edit.mjs.map} +0 -0
  270. /package/build-module/fields/slug/{slug-view.js.map → slug-view.mjs.map} +0 -0
  271. /package/build-module/fields/slug/{utils.js.map → utils.mjs.map} +0 -0
  272. /package/build-module/fields/status/{index.js.map → index.mjs.map} +0 -0
  273. /package/build-module/fields/status/{status-elements.js.map → status-elements.mjs.map} +0 -0
  274. /package/build-module/fields/status/{status-view.js.map → status-view.mjs.map} +0 -0
  275. /package/build-module/fields/template/{index.js.map → index.mjs.map} +0 -0
  276. /package/build-module/fields/template/{template-edit.js.map → template-edit.mjs.map} +0 -0
  277. /package/build-module/fields/template-title/{index.js.map → index.mjs.map} +0 -0
  278. /package/build-module/fields/title/{index.js.map → index.mjs.map} +0 -0
  279. /package/build-module/fields/title/{view.js.map → view.mjs.map} +0 -0
  280. /package/build-module/{lock-unlock.js.map → lock-unlock.mjs.map} +0 -0
  281. /package/build-module/mutation/{index.js.map → index.mjs.map} +0 -0
  282. /package/build-module/{types.js.map → types.mjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- ## 0.29.0 (2025-12-23)
6
-
7
5
  ## 0.28.0 (2025-11-26)
8
6
 
9
7
  ## 0.27.0 (2025-11-12)
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2025 by the contributors
3
+ Copyright 2016-2026 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
package/README.md CHANGED
@@ -71,6 +71,47 @@ Export action as JSON for Pattern.
71
71
 
72
72
  Featured Image field for BasePostWithEmbeddedFeaturedMedia.
73
73
 
74
+ ### MediaEdit
75
+
76
+ A media edit control component that provides a media picker UI with upload functionality for selecting WordPress media attachments. Supports both the traditional WordPress media library and the experimental DataViews media modal.
77
+
78
+ This component is intended to be used as the `Edit` property of a field definition when registering fields with `registerEntityField` from `@wordpress/editor`.
79
+
80
+ _Usage_
81
+
82
+ ```tsx
83
+ import { MediaEdit } from '@wordpress/fields';
84
+ import type { DataFormControlProps } from '@wordpress/dataviews';
85
+
86
+ const featuredImageField = {
87
+ id: 'featured_media',
88
+ type: 'media',
89
+ label: 'Featured Image',
90
+ Edit: ( props: DataFormControlProps< MyPostType > ) => (
91
+ <MediaEdit { ...props } allowedTypes={ [ 'image' ] } />
92
+ ),
93
+ };
94
+ ```
95
+
96
+ _Parameters_
97
+
98
+ - _props_ `MediaEditProps<Item>`: - The component props.
99
+ - _props.data_ `Item`: - The item being edited.
100
+ - _props.field_ `Object`: - The field configuration with getValue and setValue methods.
101
+ - _props.onChange_ `Function`: - Callback function when the media selection changes.
102
+ - _props.allowedTypes_ `[string[]]`: - Array of allowed media types. Default `['image']`.
103
+ - _props.multiple_ `[boolean]`: - Whether to allow multiple media selections. Default `false`.
104
+ - _props.hideLabelFromVision_ `[boolean]`: - Whether the label should be hidden from vision.
105
+ - _props.isExpanded_ `[boolean]`: - Whether to render in an expanded form. Default `false`.
106
+
107
+ _Returns_
108
+
109
+ - `JSX.Element`: The media edit control component.
110
+
111
+ ### MediaEditProps
112
+
113
+ Undocumented declaration.
114
+
74
115
  ### notesField
75
116
 
76
117
  Notes count field for post types that support editor.notes.
@@ -29,9 +29,9 @@ var import_element = require("@wordpress/element");
29
29
  var import_components = require("@wordpress/components");
30
30
  var import_patterns = require("@wordpress/patterns");
31
31
  var import_html_entities = require("@wordpress/html-entities");
32
- var import_utils = require("./utils");
33
- var import_mutation = require("../mutation");
34
- var import_lock_unlock = require("../lock-unlock");
32
+ var import_utils = require("./utils.cjs");
33
+ var import_mutation = require("../mutation/index.cjs");
34
+ var import_lock_unlock = require("../lock-unlock.cjs");
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var { PATTERN_TYPES } = (0, import_lock_unlock.unlock)(import_patterns.privateApis);
37
37
  var deletePostAction = {
@@ -185,4 +185,4 @@ var deletePostAction = {
185
185
  }
186
186
  };
187
187
  var delete_post_default = deletePostAction;
188
- //# sourceMappingURL=delete-post.js.map
188
+ //# sourceMappingURL=delete-post.cjs.map
@@ -25,7 +25,7 @@ __export(duplicate_pattern_exports, {
25
25
  module.exports = __toCommonJS(duplicate_pattern_exports);
26
26
  var import_i18n = require("@wordpress/i18n");
27
27
  var import_patterns = require("@wordpress/patterns");
28
- var import_lock_unlock = require("../lock-unlock");
28
+ var import_lock_unlock = require("../lock-unlock.cjs");
29
29
  var import_jsx_runtime = require("react/jsx-runtime");
30
30
  var { CreatePatternModalContents, useDuplicatePatternProps } = (0, import_lock_unlock.unlock)(import_patterns.privateApis);
31
31
  var duplicatePattern = {
@@ -51,4 +51,4 @@ var duplicatePattern = {
51
51
  }
52
52
  };
53
53
  var duplicate_pattern_default = duplicatePattern;
54
- //# sourceMappingURL=duplicate-pattern.js.map
54
+ //# sourceMappingURL=duplicate-pattern.cjs.map
@@ -29,7 +29,7 @@ var import_i18n = require("@wordpress/i18n");
29
29
  var import_notices = require("@wordpress/notices");
30
30
  var import_element = require("@wordpress/element");
31
31
  var import_components = require("@wordpress/components");
32
- var import_utils = require("./utils");
32
+ var import_utils = require("./utils.cjs");
33
33
  var import_jsx_runtime = require("react/jsx-runtime");
34
34
  var duplicatePost = {
35
35
  id: "duplicate-post",
@@ -159,4 +159,4 @@ var duplicatePost = {
159
159
  }
160
160
  };
161
161
  var duplicate_post_default = duplicatePost;
162
- //# sourceMappingURL=duplicate-post.js.map
162
+ //# sourceMappingURL=duplicate-post.cjs.map
@@ -28,8 +28,8 @@ var import_i18n = require("@wordpress/i18n");
28
28
  var import_notices = require("@wordpress/notices");
29
29
  var import_element = require("@wordpress/element");
30
30
  var import_blocks = require("@wordpress/blocks");
31
- var import_create_template_part_modal = require("../components/create-template-part-modal");
32
- var import_utils = require("./utils");
31
+ var import_create_template_part_modal = require("../components/create-template-part-modal/index.cjs");
32
+ var import_utils = require("./utils.cjs");
33
33
  var import_jsx_runtime = require("react/jsx-runtime");
34
34
  var duplicateTemplatePart = {
35
35
  id: "duplicate-template-part",
@@ -79,4 +79,4 @@ var duplicateTemplatePart = {
79
79
  }
80
80
  };
81
81
  var duplicate_template_part_default = duplicateTemplatePart;
82
- //# sourceMappingURL=duplicate-template-part.js.map
82
+ //# sourceMappingURL=duplicate-template-part.cjs.map
@@ -28,7 +28,7 @@ var import_client_zip = require("client-zip");
28
28
  var import_blob = require("@wordpress/blob");
29
29
  var import_i18n = require("@wordpress/i18n");
30
30
  var import_icons = require("@wordpress/icons");
31
- var import_utils = require("./utils");
31
+ var import_utils = require("./utils.cjs");
32
32
  function getJsonFromItem(item) {
33
33
  return JSON.stringify(
34
34
  {
@@ -75,4 +75,4 @@ var exportPattern = {
75
75
  }
76
76
  };
77
77
  var export_pattern_default = exportPattern;
78
- //# sourceMappingURL=export-pattern.js.map
78
+ //# sourceMappingURL=export-pattern.cjs.map
@@ -45,19 +45,19 @@ __export(actions_exports, {
45
45
  viewPostRevisions: () => import_view_post_revisions.default
46
46
  });
47
47
  module.exports = __toCommonJS(actions_exports);
48
- var import_view_post = __toESM(require("./view-post"));
49
- var import_reorder_page = __toESM(require("./reorder-page"));
50
- var import_duplicate_post = __toESM(require("./duplicate-post"));
51
- var import_rename_post = __toESM(require("./rename-post"));
52
- var import_reset_post = __toESM(require("./reset-post"));
53
- var import_duplicate_pattern = __toESM(require("./duplicate-pattern"));
54
- var import_export_pattern = __toESM(require("./export-pattern"));
55
- var import_view_post_revisions = __toESM(require("./view-post-revisions"));
56
- var import_permanently_delete_post = __toESM(require("./permanently-delete-post"));
57
- var import_restore_post = __toESM(require("./restore-post"));
58
- var import_trash_post = __toESM(require("./trash-post"));
59
- var import_delete_post = __toESM(require("./delete-post"));
60
- var import_duplicate_template_part = __toESM(require("./duplicate-template-part"));
48
+ var import_view_post = __toESM(require("./view-post.cjs"));
49
+ var import_reorder_page = __toESM(require("./reorder-page.cjs"));
50
+ var import_duplicate_post = __toESM(require("./duplicate-post.cjs"));
51
+ var import_rename_post = __toESM(require("./rename-post.cjs"));
52
+ var import_reset_post = __toESM(require("./reset-post.cjs"));
53
+ var import_duplicate_pattern = __toESM(require("./duplicate-pattern.cjs"));
54
+ var import_export_pattern = __toESM(require("./export-pattern.cjs"));
55
+ var import_view_post_revisions = __toESM(require("./view-post-revisions.cjs"));
56
+ var import_permanently_delete_post = __toESM(require("./permanently-delete-post.cjs"));
57
+ var import_restore_post = __toESM(require("./restore-post.cjs"));
58
+ var import_trash_post = __toESM(require("./trash-post.cjs"));
59
+ var import_delete_post = __toESM(require("./delete-post.cjs"));
60
+ var import_duplicate_template_part = __toESM(require("./duplicate-template-part.cjs"));
61
61
  // Annotate the CommonJS export names for ESM import in node:
62
62
  0 && (module.exports = {
63
63
  deletePost,
@@ -74,4 +74,4 @@ var import_duplicate_template_part = __toESM(require("./duplicate-template-part"
74
74
  viewPost,
75
75
  viewPostRevisions
76
76
  });
77
- //# sourceMappingURL=index.js.map
77
+ //# sourceMappingURL=index.cjs.map
@@ -31,7 +31,7 @@ var import_element = require("@wordpress/element");
31
31
  var import_data = require("@wordpress/data");
32
32
  var import_components = require("@wordpress/components");
33
33
  var import_html_entities = require("@wordpress/html-entities");
34
- var import_utils = require("./utils");
34
+ var import_utils = require("./utils.cjs");
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var permanentlyDeletePost = {
37
37
  id: "permanently-delete",
@@ -181,4 +181,4 @@ var permanentlyDeletePost = {
181
181
  }
182
182
  };
183
183
  var permanently_delete_post_default = permanentlyDeletePost;
184
- //# sourceMappingURL=permanently-delete-post.js.map
184
+ //# sourceMappingURL=permanently-delete-post.cjs.map
@@ -30,8 +30,8 @@ var import_element = require("@wordpress/element");
30
30
  var import_patterns = require("@wordpress/patterns");
31
31
  var import_components = require("@wordpress/components");
32
32
  var import_notices = require("@wordpress/notices");
33
- var import_lock_unlock = require("../lock-unlock");
34
- var import_utils = require("./utils");
33
+ var import_lock_unlock = require("../lock-unlock.cjs");
34
+ var import_utils = require("./utils.cjs");
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var { PATTERN_TYPES } = (0, import_lock_unlock.unlock)(import_patterns.privateApis);
37
37
  var renamePost = {
@@ -90,7 +90,6 @@ var renamePost = {
90
90
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
91
91
  import_components.TextControl,
92
92
  {
93
- __nextHasNoMarginBottom: true,
94
93
  __next40pxDefaultSize: true,
95
94
  label: (0, import_i18n.__)("Name"),
96
95
  value: title,
@@ -124,4 +123,4 @@ var renamePost = {
124
123
  }
125
124
  };
126
125
  var rename_post_default = renamePost;
127
- //# sourceMappingURL=rename-post.js.map
126
+ //# sourceMappingURL=rename-post.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/actions/rename-post.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../lock-unlock';\nimport {\n\tgetItemTitle,\n\tisTemplateRemovable,\n\tisTemplate,\n\tisTemplatePart,\n} from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\n// Patterns.\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\nconst renamePost: Action< PostWithPermissions > = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tmodalFocusOnMount: 'firstContentElement',\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Non-database template cannot be edited.\n\t\tif (\n\t\t\tpost.type === 'wp_template' &&\n\t\t\ttypeof post.id === 'string' &&\n\t\t\twindow?.__experimentalTemplateActivate\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst specialChecks = [ 'wp_template', 'wp_template_part' ];\n\n\t\tif ( ! window?.__experimentalTemplateActivate ) {\n\t\t\tspecialChecks.push( 'wp_template' );\n\t\t}\n\n\t\t// Templates, template parts and patterns have special checks for renaming.\n\t\tif ( ! specialChecks.includes( post.type ) ) {\n\t\t\treturn post.permissions?.update;\n\t\t}\n\n\t\t// In the case of templates, we can only rename custom templates.\n\t\tif ( isTemplate( post ) && ! window?.__experimentalTemplateActivate ) {\n\t\t\treturn (\n\t\t\t\tisTemplateRemovable( post ) &&\n\t\t\t\tpost.is_custom &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\tif ( isTemplatePart( post ) ) {\n\t\t\treturn (\n\t\t\t\tpost.source === 'custom' &&\n\t\t\t\t! post?.has_theme_file &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\treturn post.type === PATTERN_TYPES.user && post.permissions?.update;\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => getItemTitle( item, '' ) );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal?.();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\n/**\n * Rename action for PostWithPermissions.\n */\nexport default renamePost;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../lock-unlock';\nimport {\n\tgetItemTitle,\n\tisTemplateRemovable,\n\tisTemplate,\n\tisTemplatePart,\n} from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\n// Patterns.\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\nconst renamePost: Action< PostWithPermissions > = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tmodalFocusOnMount: 'firstContentElement',\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Non-database template cannot be edited.\n\t\tif (\n\t\t\tpost.type === 'wp_template' &&\n\t\t\ttypeof post.id === 'string' &&\n\t\t\twindow?.__experimentalTemplateActivate\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst specialChecks = [ 'wp_template', 'wp_template_part' ];\n\n\t\tif ( ! window?.__experimentalTemplateActivate ) {\n\t\t\tspecialChecks.push( 'wp_template' );\n\t\t}\n\n\t\t// Templates, template parts and patterns have special checks for renaming.\n\t\tif ( ! specialChecks.includes( post.type ) ) {\n\t\t\treturn post.permissions?.update;\n\t\t}\n\n\t\t// In the case of templates, we can only rename custom templates.\n\t\tif ( isTemplate( post ) && ! window?.__experimentalTemplateActivate ) {\n\t\t\treturn (\n\t\t\t\tisTemplateRemovable( post ) &&\n\t\t\t\tpost.is_custom &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\tif ( isTemplatePart( post ) ) {\n\t\t\treturn (\n\t\t\t\tpost.source === 'custom' &&\n\t\t\t\t! post?.has_theme_file &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\treturn post.type === PATTERN_TYPES.user && post.permissions?.update;\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => getItemTitle( item, '' ) );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal?.();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\n/**\n * Rename action for PostWithPermissions.\n */\nexport default renamePost;\n"],
5
+ "mappings": "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",
6
6
  "names": ["patternsPrivateApis", "coreStore", "noticesStore", "VStack", "HStack"]
7
7
  }
@@ -31,7 +31,7 @@ var import_element = require("@wordpress/element");
31
31
  var import_components = require("@wordpress/components");
32
32
  var import_jsx_runtime = require("react/jsx-runtime");
33
33
  function isItemValid(item) {
34
- return typeof item.menu_order === "number" && Number.isInteger(item.menu_order) && item.menu_order > 0;
34
+ return typeof item.menu_order === "number" && Number.isInteger(item.menu_order);
35
35
  }
36
36
  function ReorderModal({
37
37
  items,
@@ -123,4 +123,4 @@ var reorderPage = {
123
123
  RenderModal: ReorderModal
124
124
  };
125
125
  var reorder_page_default = reorderPage;
126
- //# sourceMappingURL=reorder-page.js.map
126
+ //# sourceMappingURL=reorder-page.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/actions/reorder-page.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { CoreDataError, BasePost } from '../types';\n\ninterface RenderModalProps< Item > {\n\titems: Item[];\n\tcloseModal?: () => void;\n\tonActionPerformed?: ( items: Item[] ) => void;\n}\n\ninterface Action< Item > {\n\tid: string;\n\tlabel: string;\n\tisEligible?: ( item: Item ) => boolean;\n\tmodalFocusOnMount?: string;\n\tRenderModal: ( props: RenderModalProps< Item > ) => JSX.Element;\n}\n\nfunction isItemValid( item: BasePost ): boolean {\n\treturn (\n\t\ttypeof item.menu_order === 'number' &&\n\t\tNumber.isInteger( item.menu_order )\n\t);\n}\n\nfunction ReorderModal( {\n\titems,\n\tcloseModal,\n\tonActionPerformed,\n}: RenderModalProps< BasePost > ) {\n\tconst [ item, setItem ] = useState( items[ 0 ] );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isValid = isItemValid( item );\n\n\tasync function onOrder( event: React.FormEvent ) {\n\t\tevent.preventDefault();\n\n\t\tif ( ! isValid ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tmenu_order: item.menu_order,\n\t\t\t} );\n\t\t\tcloseModal?.();\n\t\t\t// Persist edited entity.\n\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\tcreateSuccessNotice( __( 'Order updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\tonActionPerformed?.( items );\n\t\t} catch ( error ) {\n\t\t\tconst typedError = error as CoreDataError;\n\t\t\tconst errorMessage =\n\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t? typedError.message\n\t\t\t\t\t: __( 'An error occurred while updating the order' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form onSubmit={ onOrder }>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<div>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Determines the order of pages. Pages with the same order value are sorted alphabetically. Negative order values are supported.'\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<InputControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Order' ) }\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\ttypeof item.menu_order === 'number' &&\n\t\t\t\t\t\tNumber.isInteger( item.menu_order )\n\t\t\t\t\t\t\t? String( item.menu_order )\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tconst parsed = parseInt( value as string, 10 ); // absorbs '' and undefined\n\t\t\t\t\t\tsetItem( {\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\tmenu_order: isNaN( parsed ) ? undefined : parsed,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tdisabled={ ! isValid }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nconst reorderPage: Action< BasePost > = {\n\tid: 'order-pages',\n\tlabel: __( 'Order' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tmodalFocusOnMount: 'firstContentElement',\n\tRenderModal: ReorderModal,\n};\n\n/**\n * Reorder action for BasePost.\n */\nexport default reorderPage;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA4B;AAC5B,uBAAmC;AACnC,kBAAmB;AACnB,qBAAsC;AACtC,qBAAyB;AACzB,wBAKO;AA4EH;AAvDJ,SAAS,YAAa,MAA0B;AAC/C,SACC,OAAO,KAAK,eAAe,YAC3B,OAAO,UAAW,KAAK,UAAW;AAEpC;AAEA,SAAS,aAAc;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACD,GAAkC;AACjC,QAAM,CAAE,MAAM,OAAQ,QAAI,yBAAU,MAAO,CAAE,CAAE;AAC/C,QAAM,EAAE,kBAAkB,uBAAuB,QAChD,yBAAa,iBAAAA,KAAU;AACxB,QAAM,EAAE,qBAAqB,kBAAkB,QAC9C,yBAAa,eAAAC,KAAa;AAE3B,QAAM,UAAU,YAAa,IAAK;AAElC,iBAAe,QAAS,OAAyB;AAChD,UAAM,eAAe;AAErB,QAAK,CAAE,SAAU;AAChB;AAAA,IACD;AAEA,QAAI;AACH,YAAM,iBAAkB,YAAY,KAAK,MAAM,KAAK,IAAI;AAAA,QACvD,YAAY,KAAK;AAAA,MAClB,CAAE;AACF,mBAAa;AAEb,YAAM,uBAAwB,YAAY,KAAK,MAAM,KAAK,IAAI;AAAA,QAC7D,cAAc;AAAA,MACf,CAAE;AACF,8BAAqB,gBAAI,gBAAiB,GAAG;AAAA,QAC5C,MAAM;AAAA,MACP,CAAE;AACF,0BAAqB,KAAM;AAAA,IAC5B,SAAU,OAAQ;AACjB,YAAM,aAAa;AACnB,YAAM,eACL,WAAW,WAAW,WAAW,SAAS,kBACvC,WAAW,cACX,gBAAI,4CAA6C;AACrD,wBAAmB,cAAc;AAAA,QAChC,MAAM;AAAA,MACP,CAAE;AAAA,IACH;AAAA,EACD;AAEA,SACC,4CAAC,UAAK,UAAW,SAChB,uDAAC,kBAAAC,sBAAA,EAAO,SAAQ,KACf;AAAA,gDAAC,SACE;AAAA,MACD;AAAA,IACD,GACD;AAAA,IACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,uBAAqB;AAAA,QACrB,WAAQ,gBAAI,OAAQ;AAAA,QACpB,MAAK;AAAA,QACL,OACC,OAAO,KAAK,eAAe,YAC3B,OAAO,UAAW,KAAK,UAAW,IAC/B,OAAQ,KAAK,UAAW,IACxB;AAAA,QAEJ,UAAW,CAAE,UAAW;AACvB,gBAAM,SAAS,SAAU,OAAiB,EAAG;AAC7C,kBAAS;AAAA,YACR,GAAG;AAAA,YACH,YAAY,MAAO,MAAO,IAAI,SAAY;AAAA,UAC3C,CAAE;AAAA,QACH;AAAA;AAAA,IACD;AAAA,IACA,6CAAC,kBAAAC,sBAAA,EAAO,SAAQ,SACf;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,uBAAqB;AAAA,UACrB,SAAQ;AAAA,UACR,SAAU,MAAM;AACf,yBAAa;AAAA,UACd;AAAA,UAEE,8BAAI,QAAS;AAAA;AAAA,MAChB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,uBAAqB;AAAA,UACrB,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,wBAAsB;AAAA,UACtB,UAAW,CAAE;AAAA,UAEX,8BAAI,MAAO;AAAA;AAAA,MACd;AAAA,OACD;AAAA,KACD,GACD;AAEF;AAEA,IAAM,cAAkC;AAAA,EACvC,IAAI;AAAA,EACJ,WAAO,gBAAI,OAAQ;AAAA,EACnB,WAAY,EAAE,OAAO,GAAI;AACxB,WAAO,WAAW;AAAA,EACnB;AAAA,EACA,mBAAmB;AAAA,EACnB,aAAa;AACd;AAKA,IAAO,uBAAQ;",
6
+ "names": ["coreStore", "noticesStore", "VStack", "InputControl", "HStack"]
7
+ }
@@ -43,7 +43,7 @@ var import_blocks = require("@wordpress/blocks");
43
43
  var import_components = require("@wordpress/components");
44
44
  var import_url = require("@wordpress/url");
45
45
  var import_api_fetch = __toESM(require("@wordpress/api-fetch"));
46
- var import_utils = require("./utils");
46
+ var import_utils = require("./utils.cjs");
47
47
  var import_jsx_runtime = require("react/jsx-runtime");
48
48
  var isTemplateRevertable = (templateOrTemplatePart) => {
49
49
  if (!templateOrTemplatePart) {
@@ -262,4 +262,4 @@ var resetPostAction = {
262
262
  }
263
263
  };
264
264
  var reset_post_default = resetPostAction;
265
- //# sourceMappingURL=reset-post.js.map
265
+ //# sourceMappingURL=reset-post.cjs.map
@@ -27,7 +27,7 @@ var import_icons = require("@wordpress/icons");
27
27
  var import_core_data = require("@wordpress/core-data");
28
28
  var import_i18n = require("@wordpress/i18n");
29
29
  var import_notices = require("@wordpress/notices");
30
- var import_utils = require("./utils");
30
+ var import_utils = require("./utils.cjs");
31
31
  var restorePost = {
32
32
  id: "restore",
33
33
  label: (0, import_i18n.__)("Restore"),
@@ -131,4 +131,4 @@ var restorePost = {
131
131
  }
132
132
  };
133
133
  var restore_post_default = restorePost;
134
- //# sourceMappingURL=restore-post.js.map
134
+ //# sourceMappingURL=restore-post.cjs.map
@@ -30,7 +30,7 @@ var import_i18n = require("@wordpress/i18n");
30
30
  var import_notices = require("@wordpress/notices");
31
31
  var import_element = require("@wordpress/element");
32
32
  var import_components = require("@wordpress/components");
33
- var import_utils = require("./utils");
33
+ var import_utils = require("./utils.cjs");
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var trashPost = {
36
36
  id: "move-to-trash",
@@ -191,4 +191,4 @@ var trashPost = {
191
191
  }
192
192
  };
193
193
  var trash_post_default = trashPost;
194
- //# sourceMappingURL=trash-post.js.map
194
+ //# sourceMappingURL=trash-post.cjs.map
@@ -63,4 +63,4 @@ function isTemplateRemovable(template) {
63
63
  isTemplatePart,
64
64
  isTemplateRemovable
65
65
  });
66
- //# sourceMappingURL=utils.js.map
66
+ //# sourceMappingURL=utils.cjs.map
@@ -56,4 +56,4 @@ var viewPostRevisions = {
56
56
  }
57
57
  };
58
58
  var view_post_revisions_default = viewPostRevisions;
59
- //# sourceMappingURL=view-post-revisions.js.map
59
+ //# sourceMappingURL=view-post-revisions.cjs.map
@@ -42,4 +42,4 @@ var viewPost = {
42
42
  }
43
43
  };
44
44
  var view_post_default = viewPost;
45
- //# sourceMappingURL=view-post.js.map
45
+ //# sourceMappingURL=view-post.cjs.map
@@ -33,7 +33,7 @@ var import_i18n = require("@wordpress/i18n");
33
33
  var import_icons = require("@wordpress/icons");
34
34
  var import_notices = require("@wordpress/notices");
35
35
  var import_blocks = require("@wordpress/blocks");
36
- var import_utils = require("./utils");
36
+ var import_utils = require("./utils.cjs");
37
37
  var import_jsx_runtime = require("react/jsx-runtime");
38
38
  function getAreaRadioId(value, instanceId) {
39
39
  return `fields-create-template-part-modal__area-option-${value}-${instanceId}`;
@@ -68,7 +68,7 @@ var getTemplatePartIcon = (areaOrIconName) => {
68
68
  return import_icons.footer;
69
69
  } else if ("sidebar" === areaOrIconName) {
70
70
  return import_icons.sidebar;
71
- } else if ("overlay" === areaOrIconName) {
71
+ } else if ("navigation-overlay" === areaOrIconName) {
72
72
  return import_icons.tableColumnAfter;
73
73
  }
74
74
  if ("menu" === areaOrIconName) {
@@ -141,7 +141,6 @@ function CreateTemplatePartModalContents({
141
141
  import_components.TextControl,
142
142
  {
143
143
  __next40pxDefaultSize: true,
144
- __nextHasNoMarginBottom: true,
145
144
  label: (0, import_i18n.__)("Name"),
146
145
  value: title,
147
146
  onChange: setTitle,
@@ -253,4 +252,4 @@ function CreateTemplatePartModalContents({
253
252
  0 && (module.exports = {
254
253
  CreateTemplatePartModalContents
255
254
  });
256
- //# sourceMappingURL=index.js.map
255
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/create-template-part-modal/index.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport type { TemplatePartArea } from '@wordpress/core-data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tcheck,\n\tfooter as footerIcon,\n\theader as headerIcon,\n\tsidebar as sidebarIcon,\n\ttableColumnAfter as overlayIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n// @ts-expect-error serialize is not typed\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetCleanTemplatePartSlug,\n\tgetUniqueTemplatePartTitle,\n\tuseExistingTemplateParts,\n} from './utils';\n\nfunction getAreaRadioId( value: string, instanceId: number ) {\n\treturn `fields-create-template-part-modal__area-option-${ value }-${ instanceId }`;\n}\nfunction getAreaRadioDescriptionId( value: string, instanceId: number ) {\n\treturn `fields-create-template-part-modal__area-option-description-${ value }-${ instanceId }`;\n}\n\ntype CreateTemplatePartModalContentsProps = {\n\tdefaultArea?: string;\n\tblocks: any[];\n\tconfirmLabel?: string;\n\tcloseModal: () => void;\n\tonCreate: ( templatePart: any ) => void;\n\tonError?: () => void;\n\tdefaultTitle?: string;\n};\n\n/**\n * A React component that renders a modal for creating a template part. The modal displays a title and the contents for creating the template part.\n * This component should not live in this package, it should be moved to a dedicated package responsible for managing template.\n * @param props The component props.\n * @param props.modalTitle\n */\nexport default function CreateTemplatePartModal( {\n\tmodalTitle,\n\t...restProps\n}: {\n\tmodalTitle?: string;\n} & CreateTemplatePartModalContentsProps ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( 'wp_template_part' )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.closeModal }\n\t\t\toverlayClassName=\"fields-create-template-part-modal\"\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<CreateTemplatePartModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\n/**\n * Helper function to retrieve the corresponding icon by area name or icon name.\n *\n * @param {string} areaOrIconName The area name (e.g., 'header', 'navigation-overlay') or icon name (e.g., 'menu').\n *\n * @return {Object} The corresponding icon.\n */\nconst getTemplatePartIcon = ( areaOrIconName: string ) => {\n\t// Handle area names first\n\tif ( 'header' === areaOrIconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === areaOrIconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === areaOrIconName ) {\n\t\treturn sidebarIcon;\n\t} else if ( 'navigation-overlay' === areaOrIconName ) {\n\t\t// TODO: Replace with a proper overlay icon when available.\n\t\t// Using tableColumnAfter as a placeholder.\n\t\treturn overlayIcon;\n\t}\n\t// Handle icon names for backwards compatibility\n\tif ( 'menu' === areaOrIconName ) {\n\t\t// TODO: Replace with a proper overlay icon when available.\n\t\t// Using tableColumnAfter as a placeholder.\n\t\treturn overlayIcon;\n\t}\n\treturn symbolFilledIcon;\n};\n\n/**\n * A React component that renders the content of a model for creating a template part.\n * This component should not live in this package; it should be moved to a dedicated package responsible for managing template.\n *\n * @param {Object} props - The component props.\n * @param {string} [props.defaultArea=uncategorized] - The default area for the template part.\n * @param {Array} [props.blocks=[]] - The blocks to be included in the template part.\n * @param {string} [props.confirmLabel='Add'] - The label for the confirm button.\n * @param {Function} props.closeModal - Function to close the modal.\n * @param {Function} props.onCreate - Function to call when the template part is successfully created.\n * @param {Function} [props.onError] - Function to call when there is an error creating the template part.\n * @param {string} [props.defaultTitle=''] - The default title for the template part.\n */\nexport function CreateTemplatePartModalContents( {\n\tdefaultArea = 'uncategorized',\n\tblocks = [],\n\tconfirmLabel = __( 'Add' ),\n\tcloseModal,\n\tonCreate,\n\tonError,\n\tdefaultTitle = '',\n}: CreateTemplatePartModalContentsProps ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\tconst [ area, setArea ] = useState( defaultArea );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst defaultTemplatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()?.default_template_part_areas,\n\t\t[]\n\t);\n\n\tasync function createTemplatePart() {\n\t\tif ( ! title || isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSubmitting( true );\n\t\t\tconst uniqueTitle = getUniqueTemplatePartTitle(\n\t\t\t\ttitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst cleanSlug = getCleanTemplatePartSlug( uniqueTitle );\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle: uniqueTitle,\n\t\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tawait onCreate( templatePart );\n\n\t\t\t// TODO: Add a success notice?\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror instanceof Error &&\n\t\t\t\t'code' in error &&\n\t\t\t\terror.message &&\n\t\t\t\terror.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tawait createTemplatePart();\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"4\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t<fieldset className=\"fields-create-template-part-modal__area-fieldset\">\n\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t{ __( 'Area' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<div className=\"fields-create-template-part-modal__area-radio-group\">\n\t\t\t\t\t\t{ ( defaultTemplatePartAreas ?? [] ).map(\n\t\t\t\t\t\t\t( item: TemplatePartArea ) => {\n\t\t\t\t\t\t\t\tconst icon = getTemplatePartIcon( item.icon );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={ item.area }\n\t\t\t\t\t\t\t\t\t\tclassName=\"fields-create-template-part-modal__area-radio-wrapper\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\tid={ getAreaRadioId(\n\t\t\t\t\t\t\t\t\t\t\t\titem.area,\n\t\t\t\t\t\t\t\t\t\t\t\tinstanceId\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tname={ `fields-create-template-part-modal__area-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ item.area }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ area === item.area }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetArea( item.area );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\taria-describedby={ getAreaRadioDescriptionId(\n\t\t\t\t\t\t\t\t\t\t\t\titem.area,\n\t\t\t\t\t\t\t\t\t\t\t\tinstanceId\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"fields-create-template-part-modal__area-radio-icon\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\t\thtmlFor={ getAreaRadioId(\n\t\t\t\t\t\t\t\t\t\t\t\titem.area,\n\t\t\t\t\t\t\t\t\t\t\t\tinstanceId\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"fields-create-template-part-modal__area-radio-label\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"fields-create-template-part-modal__area-radio-checkmark\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"fields-create-template-part-modal__area-radio-description\"\n\t\t\t\t\t\t\t\t\t\t\tid={ getAreaRadioDescriptionId(\n\t\t\t\t\t\t\t\t\t\t\t\titem.area,\n\t\t\t\t\t\t\t\t\t\t\t\tinstanceId\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ item.description }\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSubmitting }\n\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["coreStore", "headerIcon", "footerIcon", "sidebarIcon", "overlayIcon", "symbolFilledIcon", "noticesStore", "VStack", "HStack"]
7
+ }
@@ -63,4 +63,4 @@ var getCleanTemplatePartSlug = (title) => {
63
63
  getUniqueTemplatePartTitle,
64
64
  useExistingTemplateParts
65
65
  });
66
- //# sourceMappingURL=utils.js.map
66
+ //# sourceMappingURL=utils.cjs.map