@wordpress/components 29.2.0 → 29.4.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 (505) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/alignment-matrix-control/icon.js +0 -1
  3. package/build/alignment-matrix-control/icon.js.map +1 -1
  4. package/build/alignment-matrix-control/index.js +0 -1
  5. package/build/alignment-matrix-control/index.js.map +1 -1
  6. package/build/autocomplete/autocompleter-ui.js +0 -1
  7. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  8. package/build/autocomplete/autocompleter-ui.native.js +0 -1
  9. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  10. package/build/autocomplete/get-default-use-items.js +0 -1
  11. package/build/autocomplete/get-default-use-items.js.map +1 -1
  12. package/build/autocomplete/index.js +0 -1
  13. package/build/autocomplete/index.js.map +1 -1
  14. package/build/border-box-control/border-box-control-linked-button/component.js +8 -15
  15. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  16. package/build/border-box-control/utils.js +0 -1
  17. package/build/border-box-control/utils.js.map +1 -1
  18. package/build/border-control/border-control-dropdown/component.js +0 -1
  19. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  20. package/build/border-control/border-control-style-picker/component.js +0 -1
  21. package/build/border-control/border-control-style-picker/component.js.map +1 -1
  22. package/build/box-control/index.js +6 -1
  23. package/build/box-control/index.js.map +1 -1
  24. package/build/box-control/input-control.js +0 -1
  25. package/build/box-control/input-control.js.map +1 -1
  26. package/build/box-control/linked-button.js +7 -11
  27. package/build/box-control/linked-button.js.map +1 -1
  28. package/build/box-control/types.js.map +1 -1
  29. package/build/box-control/utils.js +0 -1
  30. package/build/box-control/utils.js.map +1 -1
  31. package/build/button/index.native.js +0 -1
  32. package/build/button/index.native.js.map +1 -1
  33. package/build/color-indicator/index.native.js +0 -1
  34. package/build/color-indicator/index.native.js.map +1 -1
  35. package/build/color-palette/index.js +0 -1
  36. package/build/color-palette/index.js.map +1 -1
  37. package/build/color-palette/index.native.js +0 -1
  38. package/build/color-palette/index.native.js.map +1 -1
  39. package/build/color-palette/utils.js +0 -1
  40. package/build/color-palette/utils.js.map +1 -1
  41. package/build/combobox-control/index.js +4 -3
  42. package/build/combobox-control/index.js.map +1 -1
  43. package/build/combobox-control/types.js.map +1 -1
  44. package/build/composite/legacy/index.js +0 -1
  45. package/build/composite/legacy/index.js.map +1 -1
  46. package/build/context/context-connect.js +0 -1
  47. package/build/context/context-connect.js.map +1 -1
  48. package/build/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  49. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  50. package/build/custom-gradient-picker/gradient-bar/index.js +0 -1
  51. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  52. package/build/custom-gradient-picker/gradient-bar/utils.js +0 -1
  53. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  54. package/build/custom-gradient-picker/index.js +0 -1
  55. package/build/custom-gradient-picker/index.js.map +1 -1
  56. package/build/custom-gradient-picker/serializer.js +0 -1
  57. package/build/custom-gradient-picker/serializer.js.map +1 -1
  58. package/build/custom-gradient-picker/utils.js +0 -1
  59. package/build/custom-gradient-picker/utils.js.map +1 -1
  60. package/build/custom-select-control/index.js +0 -1
  61. package/build/custom-select-control/index.js.map +1 -1
  62. package/build/dashicon/index.js +0 -1
  63. package/build/dashicon/index.js.map +1 -1
  64. package/build/date-time/date/index.js +0 -1
  65. package/build/date-time/date/index.js.map +1 -1
  66. package/build/date-time/date/use-lilius/index.js +0 -1
  67. package/build/date-time/date/use-lilius/index.js.map +1 -1
  68. package/build/date-time/time/index.js +0 -1
  69. package/build/date-time/time/index.js.map +1 -1
  70. package/build/dimension-control/index.js +0 -1
  71. package/build/dimension-control/index.js.map +1 -1
  72. package/build/dimension-control/sizes.js +0 -1
  73. package/build/dimension-control/sizes.js.map +1 -1
  74. package/build/draggable/index.js +0 -1
  75. package/build/draggable/index.js.map +1 -1
  76. package/build/draggable/index.native.js +0 -1
  77. package/build/draggable/index.native.js.map +1 -1
  78. package/build/dropdown-menu/index.js +0 -1
  79. package/build/dropdown-menu/index.js.map +1 -1
  80. package/build/dropdown-menu/index.native.js +0 -1
  81. package/build/dropdown-menu/index.native.js.map +1 -1
  82. package/build/duotone-picker/color-list-picker/index.js +0 -1
  83. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  84. package/build/duotone-picker/duotone-picker.js +0 -1
  85. package/build/duotone-picker/duotone-picker.js.map +1 -1
  86. package/build/duotone-picker/utils.js +0 -1
  87. package/build/duotone-picker/utils.js.map +1 -1
  88. package/build/external-link/index.js +0 -1
  89. package/build/external-link/index.js.map +1 -1
  90. package/build/font-size-picker/font-size-picker-select.js +4 -15
  91. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  92. package/build/font-size-picker/font-size-picker-toggle-group.js +0 -1
  93. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  94. package/build/font-size-picker/index.js +0 -1
  95. package/build/font-size-picker/index.js.map +1 -1
  96. package/build/font-size-picker/index.native.js +0 -1
  97. package/build/font-size-picker/index.native.js.map +1 -1
  98. package/build/font-size-picker/utils.js +0 -1
  99. package/build/font-size-picker/utils.js.map +1 -1
  100. package/build/form-token-field/index.js +0 -1
  101. package/build/form-token-field/index.js.map +1 -1
  102. package/build/form-token-field/suggestions-list.js +0 -1
  103. package/build/form-token-field/suggestions-list.js.map +1 -1
  104. package/build/gradient-picker/index.js +0 -1
  105. package/build/gradient-picker/index.js.map +1 -1
  106. package/build/guide/index.js +0 -1
  107. package/build/guide/index.js.map +1 -1
  108. package/build/guide/page-control.js +0 -1
  109. package/build/guide/page-control.js.map +1 -1
  110. package/build/h-stack/hook.js +0 -1
  111. package/build/h-stack/hook.js.map +1 -1
  112. package/build/higher-order/navigate-regions/index.js +0 -1
  113. package/build/higher-order/navigate-regions/index.js.map +1 -1
  114. package/build/higher-order/with-fallback-styles/index.js +0 -1
  115. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  116. package/build/higher-order/with-filters/index.js +0 -1
  117. package/build/higher-order/with-filters/index.js.map +1 -1
  118. package/build/higher-order/with-notices/index.js +0 -1
  119. package/build/higher-order/with-notices/index.js.map +1 -1
  120. package/build/keyboard-shortcuts/index.js +0 -1
  121. package/build/keyboard-shortcuts/index.js.map +1 -1
  122. package/build/menu-items-choice/index.js +0 -1
  123. package/build/menu-items-choice/index.js.map +1 -1
  124. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  125. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  126. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  127. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  128. package/build/mobile/bottom-sheet/picker-cell.native.js +0 -1
  129. package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  130. package/build/mobile/bottom-sheet-select-control/index.native.js +0 -1
  131. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  132. package/build/mobile/color-settings/palette.screen.native.js +0 -1
  133. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  134. package/build/mobile/gradient/index.native.js +0 -1
  135. package/build/mobile/gradient/index.native.js.map +1 -1
  136. package/build/mobile/media-edit/index.native.js +0 -1
  137. package/build/mobile/media-edit/index.native.js.map +1 -1
  138. package/build/mobile/picker/index.android.js +0 -1
  139. package/build/mobile/picker/index.android.js.map +1 -1
  140. package/build/mobile/picker/index.ios.js +0 -1
  141. package/build/mobile/picker/index.ios.js.map +1 -1
  142. package/build/mobile/segmented-control/index.native.js +0 -1
  143. package/build/mobile/segmented-control/index.native.js.map +1 -1
  144. package/build/mobile/utils/get-px-from-css-unit.native.js +0 -1
  145. package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  146. package/build/navigable-container/container.js +0 -1
  147. package/build/navigable-container/container.js.map +1 -1
  148. package/build/navigation/group/index.js +0 -1
  149. package/build/navigation/group/index.js.map +1 -1
  150. package/build/navigation/menu/menu-title-search.js +0 -1
  151. package/build/navigation/menu/menu-title-search.js.map +1 -1
  152. package/build/navigation/menu/search-no-results-found.js +0 -1
  153. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  154. package/build/navigator/navigator/component.js +0 -1
  155. package/build/navigator/navigator/component.js.map +1 -1
  156. package/build/navigator/navigator-screen/component.js +0 -1
  157. package/build/navigator/navigator-screen/component.js.map +1 -1
  158. package/build/navigator/utils/router.js +0 -1
  159. package/build/navigator/utils/router.js.map +1 -1
  160. package/build/notice/index.js +0 -1
  161. package/build/notice/index.js.map +1 -1
  162. package/build/notice/list.js +0 -1
  163. package/build/notice/list.js.map +1 -1
  164. package/build/notice/list.native.js +0 -1
  165. package/build/notice/list.native.js.map +1 -1
  166. package/build/palette-edit/index.js +0 -1
  167. package/build/palette-edit/index.js.map +1 -1
  168. package/build/panel/actions.native.js +0 -1
  169. package/build/panel/actions.native.js.map +1 -1
  170. package/build/query-controls/index.js +0 -1
  171. package/build/query-controls/index.js.map +1 -1
  172. package/build/query-controls/terms.js +0 -1
  173. package/build/query-controls/terms.js.map +1 -1
  174. package/build/radio-control/index.js +0 -1
  175. package/build/radio-control/index.js.map +1 -1
  176. package/build/radio-control/index.native.js +0 -1
  177. package/build/radio-control/index.native.js.map +1 -1
  178. package/build/range-control/rail.js +0 -1
  179. package/build/range-control/rail.js.map +1 -1
  180. package/build/resizable-box/index.js +0 -1
  181. package/build/resizable-box/index.js.map +1 -1
  182. package/build/sandbox/index.js +0 -1
  183. package/build/sandbox/index.js.map +1 -1
  184. package/build/sandbox/index.native.js +0 -1
  185. package/build/sandbox/index.native.js.map +1 -1
  186. package/build/search-control/index.native.js +0 -1
  187. package/build/search-control/index.native.js.map +1 -1
  188. package/build/select-control/index.js +0 -1
  189. package/build/select-control/index.js.map +1 -1
  190. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  191. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  192. package/build/slot-fill/provider.js +0 -1
  193. package/build/slot-fill/provider.js.map +1 -1
  194. package/build/slot-fill/slot.js +0 -1
  195. package/build/slot-fill/slot.js.map +1 -1
  196. package/build/snackbar/index.js +0 -1
  197. package/build/snackbar/index.js.map +1 -1
  198. package/build/snackbar/list.js +0 -1
  199. package/build/snackbar/list.js.map +1 -1
  200. package/build/tab-panel/index.js +0 -1
  201. package/build/tab-panel/index.js.map +1 -1
  202. package/build/tabs/index.js +0 -1
  203. package/build/tabs/index.js.map +1 -1
  204. package/build/text/utils.js +0 -1
  205. package/build/text/utils.js.map +1 -1
  206. package/build/theme/color-algorithms.js +0 -1
  207. package/build/theme/color-algorithms.js.map +1 -1
  208. package/build/toolbar/toolbar-group/index.js +0 -1
  209. package/build/toolbar/toolbar-group/index.js.map +1 -1
  210. package/build/tools-panel/tools-panel/hook.js +0 -1
  211. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  212. package/build/tools-panel/tools-panel-header/component.js +0 -1
  213. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  214. package/build/tree-grid/index.js +0 -1
  215. package/build/tree-grid/index.js.map +1 -1
  216. package/build/tree-select/index.js +0 -1
  217. package/build/tree-select/index.js.map +1 -1
  218. package/build/unit-control/index.js +0 -1
  219. package/build/unit-control/index.js.map +1 -1
  220. package/build/unit-control/index.native.js +0 -1
  221. package/build/unit-control/index.native.js.map +1 -1
  222. package/build/unit-control/unit-select-control.js +0 -1
  223. package/build/unit-control/unit-select-control.js.map +1 -1
  224. package/build/unit-control/utils.js +0 -1
  225. package/build/unit-control/utils.js.map +1 -1
  226. package/build/utils/get-valid-children.js +0 -1
  227. package/build/utils/get-valid-children.js.map +1 -1
  228. package/build/utils/hooks/use-animated-offset-rect.js +0 -1
  229. package/build/utils/hooks/use-animated-offset-rect.js.map +1 -1
  230. package/build/utils/hooks/use-cx.js +0 -1
  231. package/build/utils/hooks/use-cx.js.map +1 -1
  232. package/build/utils/math.js +0 -1
  233. package/build/utils/math.js.map +1 -1
  234. package/build/utils/rtl.js +0 -1
  235. package/build/utils/rtl.js.map +1 -1
  236. package/build/utils/values.js +0 -1
  237. package/build/utils/values.js.map +1 -1
  238. package/build/z-stack/component.js +0 -1
  239. package/build/z-stack/component.js.map +1 -1
  240. package/build-module/alignment-matrix-control/icon.js +0 -1
  241. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  242. package/build-module/alignment-matrix-control/index.js +0 -1
  243. package/build-module/alignment-matrix-control/index.js.map +1 -1
  244. package/build-module/autocomplete/autocompleter-ui.js +0 -1
  245. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  246. package/build-module/autocomplete/autocompleter-ui.native.js +0 -1
  247. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  248. package/build-module/autocomplete/get-default-use-items.js +0 -1
  249. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  250. package/build-module/autocomplete/index.js +0 -1
  251. package/build-module/autocomplete/index.js.map +1 -1
  252. package/build-module/border-box-control/border-box-control-linked-button/component.js +8 -15
  253. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  254. package/build-module/border-box-control/utils.js +0 -1
  255. package/build-module/border-box-control/utils.js.map +1 -1
  256. package/build-module/border-control/border-control-dropdown/component.js +0 -1
  257. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  258. package/build-module/border-control/border-control-style-picker/component.js +0 -1
  259. package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
  260. package/build-module/box-control/index.js +6 -1
  261. package/build-module/box-control/index.js.map +1 -1
  262. package/build-module/box-control/input-control.js +0 -1
  263. package/build-module/box-control/input-control.js.map +1 -1
  264. package/build-module/box-control/linked-button.js +7 -11
  265. package/build-module/box-control/linked-button.js.map +1 -1
  266. package/build-module/box-control/types.js.map +1 -1
  267. package/build-module/box-control/utils.js +0 -1
  268. package/build-module/box-control/utils.js.map +1 -1
  269. package/build-module/button/index.native.js +0 -1
  270. package/build-module/button/index.native.js.map +1 -1
  271. package/build-module/color-indicator/index.native.js +0 -1
  272. package/build-module/color-indicator/index.native.js.map +1 -1
  273. package/build-module/color-palette/index.js +0 -1
  274. package/build-module/color-palette/index.js.map +1 -1
  275. package/build-module/color-palette/index.native.js +0 -1
  276. package/build-module/color-palette/index.native.js.map +1 -1
  277. package/build-module/color-palette/utils.js +0 -1
  278. package/build-module/color-palette/utils.js.map +1 -1
  279. package/build-module/combobox-control/index.js +4 -3
  280. package/build-module/combobox-control/index.js.map +1 -1
  281. package/build-module/combobox-control/types.js.map +1 -1
  282. package/build-module/composite/legacy/index.js +0 -1
  283. package/build-module/composite/legacy/index.js.map +1 -1
  284. package/build-module/context/context-connect.js +0 -1
  285. package/build-module/context/context-connect.js.map +1 -1
  286. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  287. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  288. package/build-module/custom-gradient-picker/gradient-bar/index.js +0 -1
  289. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  290. package/build-module/custom-gradient-picker/gradient-bar/utils.js +0 -1
  291. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  292. package/build-module/custom-gradient-picker/index.js +0 -1
  293. package/build-module/custom-gradient-picker/index.js.map +1 -1
  294. package/build-module/custom-gradient-picker/serializer.js +0 -1
  295. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  296. package/build-module/custom-gradient-picker/utils.js +0 -1
  297. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  298. package/build-module/custom-select-control/index.js +0 -1
  299. package/build-module/custom-select-control/index.js.map +1 -1
  300. package/build-module/dashicon/index.js +0 -1
  301. package/build-module/dashicon/index.js.map +1 -1
  302. package/build-module/date-time/date/index.js +0 -1
  303. package/build-module/date-time/date/index.js.map +1 -1
  304. package/build-module/date-time/date/use-lilius/index.js +0 -1
  305. package/build-module/date-time/date/use-lilius/index.js.map +1 -1
  306. package/build-module/date-time/time/index.js +0 -1
  307. package/build-module/date-time/time/index.js.map +1 -1
  308. package/build-module/dimension-control/index.js +0 -1
  309. package/build-module/dimension-control/index.js.map +1 -1
  310. package/build-module/dimension-control/sizes.js +0 -1
  311. package/build-module/dimension-control/sizes.js.map +1 -1
  312. package/build-module/draggable/index.js +0 -1
  313. package/build-module/draggable/index.js.map +1 -1
  314. package/build-module/draggable/index.native.js +0 -1
  315. package/build-module/draggable/index.native.js.map +1 -1
  316. package/build-module/dropdown-menu/index.js +0 -1
  317. package/build-module/dropdown-menu/index.js.map +1 -1
  318. package/build-module/dropdown-menu/index.native.js +0 -1
  319. package/build-module/dropdown-menu/index.native.js.map +1 -1
  320. package/build-module/duotone-picker/color-list-picker/index.js +0 -1
  321. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  322. package/build-module/duotone-picker/duotone-picker.js +0 -1
  323. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  324. package/build-module/duotone-picker/utils.js +0 -1
  325. package/build-module/duotone-picker/utils.js.map +1 -1
  326. package/build-module/external-link/index.js +0 -1
  327. package/build-module/external-link/index.js.map +1 -1
  328. package/build-module/font-size-picker/font-size-picker-select.js +4 -15
  329. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  330. package/build-module/font-size-picker/font-size-picker-toggle-group.js +0 -1
  331. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  332. package/build-module/font-size-picker/index.js +0 -1
  333. package/build-module/font-size-picker/index.js.map +1 -1
  334. package/build-module/font-size-picker/index.native.js +0 -1
  335. package/build-module/font-size-picker/index.native.js.map +1 -1
  336. package/build-module/font-size-picker/utils.js +0 -1
  337. package/build-module/font-size-picker/utils.js.map +1 -1
  338. package/build-module/form-token-field/index.js +0 -1
  339. package/build-module/form-token-field/index.js.map +1 -1
  340. package/build-module/form-token-field/suggestions-list.js +0 -1
  341. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  342. package/build-module/gradient-picker/index.js +0 -1
  343. package/build-module/gradient-picker/index.js.map +1 -1
  344. package/build-module/guide/index.js +0 -1
  345. package/build-module/guide/index.js.map +1 -1
  346. package/build-module/guide/page-control.js +0 -1
  347. package/build-module/guide/page-control.js.map +1 -1
  348. package/build-module/h-stack/hook.js +0 -1
  349. package/build-module/h-stack/hook.js.map +1 -1
  350. package/build-module/higher-order/navigate-regions/index.js +0 -1
  351. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  352. package/build-module/higher-order/with-fallback-styles/index.js +0 -1
  353. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  354. package/build-module/higher-order/with-filters/index.js +0 -1
  355. package/build-module/higher-order/with-filters/index.js.map +1 -1
  356. package/build-module/higher-order/with-notices/index.js +0 -1
  357. package/build-module/higher-order/with-notices/index.js.map +1 -1
  358. package/build-module/keyboard-shortcuts/index.js +0 -1
  359. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  360. package/build-module/menu-items-choice/index.js +0 -1
  361. package/build-module/menu-items-choice/index.js.map +1 -1
  362. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  363. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  364. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  365. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  366. package/build-module/mobile/bottom-sheet/picker-cell.native.js +0 -1
  367. package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  368. package/build-module/mobile/bottom-sheet-select-control/index.native.js +0 -1
  369. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  370. package/build-module/mobile/color-settings/palette.screen.native.js +0 -1
  371. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  372. package/build-module/mobile/gradient/index.native.js +0 -1
  373. package/build-module/mobile/gradient/index.native.js.map +1 -1
  374. package/build-module/mobile/media-edit/index.native.js +0 -1
  375. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  376. package/build-module/mobile/picker/index.android.js +0 -1
  377. package/build-module/mobile/picker/index.android.js.map +1 -1
  378. package/build-module/mobile/picker/index.ios.js +0 -1
  379. package/build-module/mobile/picker/index.ios.js.map +1 -1
  380. package/build-module/mobile/segmented-control/index.native.js +0 -1
  381. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  382. package/build-module/mobile/utils/get-px-from-css-unit.native.js +0 -1
  383. package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  384. package/build-module/navigable-container/container.js +0 -1
  385. package/build-module/navigable-container/container.js.map +1 -1
  386. package/build-module/navigation/group/index.js +0 -1
  387. package/build-module/navigation/group/index.js.map +1 -1
  388. package/build-module/navigation/menu/menu-title-search.js +0 -1
  389. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  390. package/build-module/navigation/menu/search-no-results-found.js +0 -1
  391. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  392. package/build-module/navigator/navigator/component.js +0 -1
  393. package/build-module/navigator/navigator/component.js.map +1 -1
  394. package/build-module/navigator/navigator-screen/component.js +0 -1
  395. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  396. package/build-module/navigator/utils/router.js +0 -1
  397. package/build-module/navigator/utils/router.js.map +1 -1
  398. package/build-module/notice/index.js +0 -1
  399. package/build-module/notice/index.js.map +1 -1
  400. package/build-module/notice/list.js +0 -1
  401. package/build-module/notice/list.js.map +1 -1
  402. package/build-module/notice/list.native.js +0 -1
  403. package/build-module/notice/list.native.js.map +1 -1
  404. package/build-module/palette-edit/index.js +0 -1
  405. package/build-module/palette-edit/index.js.map +1 -1
  406. package/build-module/panel/actions.native.js +0 -1
  407. package/build-module/panel/actions.native.js.map +1 -1
  408. package/build-module/query-controls/index.js +0 -1
  409. package/build-module/query-controls/index.js.map +1 -1
  410. package/build-module/query-controls/terms.js +0 -1
  411. package/build-module/query-controls/terms.js.map +1 -1
  412. package/build-module/radio-control/index.js +0 -1
  413. package/build-module/radio-control/index.js.map +1 -1
  414. package/build-module/radio-control/index.native.js +0 -1
  415. package/build-module/radio-control/index.native.js.map +1 -1
  416. package/build-module/range-control/rail.js +0 -1
  417. package/build-module/range-control/rail.js.map +1 -1
  418. package/build-module/resizable-box/index.js +0 -1
  419. package/build-module/resizable-box/index.js.map +1 -1
  420. package/build-module/sandbox/index.js +0 -1
  421. package/build-module/sandbox/index.js.map +1 -1
  422. package/build-module/sandbox/index.native.js +0 -1
  423. package/build-module/sandbox/index.native.js.map +1 -1
  424. package/build-module/search-control/index.native.js +0 -1
  425. package/build-module/search-control/index.native.js.map +1 -1
  426. package/build-module/select-control/index.js +0 -1
  427. package/build-module/select-control/index.js.map +1 -1
  428. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  429. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  430. package/build-module/slot-fill/provider.js +0 -1
  431. package/build-module/slot-fill/provider.js.map +1 -1
  432. package/build-module/slot-fill/slot.js +0 -1
  433. package/build-module/slot-fill/slot.js.map +1 -1
  434. package/build-module/snackbar/index.js +0 -1
  435. package/build-module/snackbar/index.js.map +1 -1
  436. package/build-module/snackbar/list.js +0 -1
  437. package/build-module/snackbar/list.js.map +1 -1
  438. package/build-module/tab-panel/index.js +0 -1
  439. package/build-module/tab-panel/index.js.map +1 -1
  440. package/build-module/tabs/index.js +0 -1
  441. package/build-module/tabs/index.js.map +1 -1
  442. package/build-module/text/utils.js +0 -1
  443. package/build-module/text/utils.js.map +1 -1
  444. package/build-module/theme/color-algorithms.js +0 -1
  445. package/build-module/theme/color-algorithms.js.map +1 -1
  446. package/build-module/toolbar/toolbar-group/index.js +0 -1
  447. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  448. package/build-module/tools-panel/tools-panel/hook.js +0 -1
  449. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  450. package/build-module/tools-panel/tools-panel-header/component.js +0 -1
  451. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  452. package/build-module/tree-grid/index.js +0 -1
  453. package/build-module/tree-grid/index.js.map +1 -1
  454. package/build-module/tree-select/index.js +0 -1
  455. package/build-module/tree-select/index.js.map +1 -1
  456. package/build-module/unit-control/index.js +0 -1
  457. package/build-module/unit-control/index.js.map +1 -1
  458. package/build-module/unit-control/index.native.js +0 -1
  459. package/build-module/unit-control/index.native.js.map +1 -1
  460. package/build-module/unit-control/unit-select-control.js +0 -1
  461. package/build-module/unit-control/unit-select-control.js.map +1 -1
  462. package/build-module/unit-control/utils.js +0 -1
  463. package/build-module/unit-control/utils.js.map +1 -1
  464. package/build-module/utils/get-valid-children.js +0 -1
  465. package/build-module/utils/get-valid-children.js.map +1 -1
  466. package/build-module/utils/hooks/use-animated-offset-rect.js +0 -1
  467. package/build-module/utils/hooks/use-animated-offset-rect.js.map +1 -1
  468. package/build-module/utils/hooks/use-cx.js +0 -1
  469. package/build-module/utils/hooks/use-cx.js.map +1 -1
  470. package/build-module/utils/math.js +0 -1
  471. package/build-module/utils/math.js.map +1 -1
  472. package/build-module/utils/rtl.js +0 -1
  473. package/build-module/utils/rtl.js.map +1 -1
  474. package/build-module/utils/values.js +0 -1
  475. package/build-module/utils/values.js.map +1 -1
  476. package/build-module/z-stack/component.js +0 -1
  477. package/build-module/z-stack/component.js.map +1 -1
  478. package/build-style/style-rtl.css +3 -0
  479. package/build-style/style.css +3 -0
  480. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  481. package/build-types/box-control/index.d.ts.map +1 -1
  482. package/build-types/box-control/linked-button.d.ts.map +1 -1
  483. package/build-types/box-control/stories/index.story.d.ts +7 -2331
  484. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  485. package/build-types/box-control/types.d.ts +15 -3
  486. package/build-types/box-control/types.d.ts.map +1 -1
  487. package/build-types/combobox-control/index.d.ts.map +1 -1
  488. package/build-types/combobox-control/stories/index.story.d.ts +4 -0
  489. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  490. package/build-types/combobox-control/types.d.ts +7 -0
  491. package/build-types/combobox-control/types.d.ts.map +1 -1
  492. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  493. package/package.json +19 -19
  494. package/src/border-box-control/border-box-control-linked-button/component.tsx +9 -14
  495. package/src/box-control/index.tsx +9 -0
  496. package/src/box-control/linked-button.tsx +8 -11
  497. package/src/box-control/test/index.tsx +9 -2
  498. package/src/box-control/types.ts +26 -11
  499. package/src/combobox-control/README.md +9 -1
  500. package/src/combobox-control/index.tsx +4 -1
  501. package/src/combobox-control/style.scss +4 -1
  502. package/src/combobox-control/types.ts +7 -0
  503. package/src/font-size-picker/font-size-picker-select.tsx +4 -23
  504. package/src/font-size-picker/test/index.tsx +2 -24
  505. package/tsconfig.tsbuildinfo +1 -1
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useState","useRef","useEffect","useCallback","useMemo","__","sprintf","lineSolid","moreVertical","plus","useDebounce","Button","ColorPicker","FlexItem","HStack","Item","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","IndicatorStyled","NameContainer","NameInputControl","DoneButton","RemoveButton","PaletteEditContents","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","kebabCase","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_COLOR","NameInput","value","onChange","label","size","hideLabelFromVision","deduplicateElementSlugs","elements","slugCounts","map","element","_newSlug","newSlug","slug","getNameAndSlugForPosition","slugPrefix","nameRegex","RegExp","position","reduce","previousValue","currentValue","matches","match","id","parseInt","name","ColorPickerPopover","isGradient","popoverProps","receivedPopoverProps","onClose","shift","offset","resize","placement","className","children","color","enableAlpha","newColor","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","onRemove","isEditingColor","setIsEditingColor","popoverAnchor","setPopoverAnchor","anchor","ref","justify","onClick","trim","length","style","padding","colorValue","nextName","icon","PaletteEditListView","addColorRef","elementsReferenceRef","current","debounceOnChange","updatedElements","spacing","isRounded","isBordered","isSeparated","index","newElement","currentElement","currentIndex","newElements","filter","_currentElement","undefined","focus","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","isEditing","setIsEditing","editingElement","setEditingElement","isAdding","elementsLength","hasElements","onSelectPaletteItem","newEditingElementIndex","selectedElement","key","level","isPressed","toggleProps","role","__next40pxDefaultSize","variant","clearable","disableCustomGradients","disableCustomColors"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { Item, ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tIndicatorStyled,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n\tPaletteEditContents,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tsize=\"compact\"\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/*\n * Deduplicates the slugs of the provided elements.\n */\nexport function deduplicateElementSlugs< T extends PaletteElement >(\n\telements: T[]\n) {\n\tconst slugCounts: { [ slug: string ]: number } = {};\n\n\treturn elements.map( ( element ) => {\n\t\tlet newSlug: string | undefined;\n\n\t\tconst { slug } = element;\n\t\tslugCounts[ slug ] = ( slugCounts[ slug ] || 0 ) + 1;\n\n\t\tif ( slugCounts[ slug ] > 1 ) {\n\t\t\tnewSlug = `${ slug }-${ slugCounts[ slug ] - 1 }`;\n\t\t}\n\n\t\treturn { ...element, slug: newSlug ?? slug };\n\t} );\n}\n\n/**\n * Returns a name and slug for a palette item. The name takes the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A name and slug for the new palette item.\n */\nexport function getNameAndSlugForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn {\n\t\tname: sprintf(\n\t\t\t/* translators: %s: is an id for a custom color */\n\t\t\t__( 'Color %s' ),\n\t\t\tposition\n\t\t),\n\t\tslug: `${ slugPrefix }color-${ position }`,\n\t};\n}\n\nfunction ColorPickerPopover< T extends PaletteElement >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: clsx(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends PaletteElement >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tonRemove,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst value = isGradient ? element.gradient : element.color;\n\tconst [ isEditingColor, setIsEditingColor ] = useState( false );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<Item ref={ setPopoverAnchor } size=\"small\">\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsEditingColor( true );\n\t\t\t\t\t} }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t__( 'Edit: %s' ),\n\t\t\t\t\t\telement.name.trim().length ? element.name : value\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { padding: 0 } }\n\t\t\t\t>\n\t\t\t\t\t<IndicatorStyled colorValue={ value } />\n\t\t\t\t</Button>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\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) : (\n\t\t\t\t\t\t<NameContainer>\n\t\t\t\t\t\t\t{ element.name.trim().length\n\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t: /* Fall back to non-breaking space to maintain height */\n\t\t\t\t\t\t\t\t '\\u00A0' }\n\t\t\t\t\t\t</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t\t\t__( 'Remove color: %s' ),\n\t\t\t\t\t\t\t\telement.name.trim().length\n\t\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t\t: value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditingColor && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tonClose={ () => setIsEditingColor( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Item>\n\t);\n}\n\nfunction PaletteEditListView< T extends PaletteElement >( {\n\telements,\n\tonChange,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n\taddColorRef,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReferenceRef = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReferenceRef.current = elements;\n\t}, [ elements ] );\n\n\tconst debounceOnChange = useDebounce(\n\t\t( updatedElements: T[] ) =>\n\t\t\tonChange( deduplicateElementSlugs( updatedElements ) ),\n\t\t100\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded isBordered isSeparated>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\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\tonRemove={ () => {\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\taddColorRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\tconst addColorRef = useRef< HTMLButtonElement | null >( null );\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<HStack>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ addColorRef }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst { name, slug } =\n\t\t\t\t\t\t\t\t\tgetNameAndSlugForPosition(\n\t\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</HStack>\n\t\t\t{ hasElements && (\n\t\t\t\t<PaletteEditContents>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\taddColorRef={ addColorRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</PaletteEditContents>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage && (\n\t\t\t\t<PaletteEditContents>{ emptyMessage }</PaletteEditContents>\n\t\t\t) }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","useRef","useEffect","useCallback","useMemo","__","sprintf","lineSolid","moreVertical","plus","useDebounce","Button","ColorPicker","FlexItem","HStack","Item","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","IndicatorStyled","NameContainer","NameInputControl","DoneButton","RemoveButton","PaletteEditContents","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","kebabCase","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_COLOR","NameInput","value","onChange","label","size","hideLabelFromVision","deduplicateElementSlugs","elements","slugCounts","map","element","_newSlug","newSlug","slug","getNameAndSlugForPosition","slugPrefix","nameRegex","RegExp","position","reduce","previousValue","currentValue","matches","match","id","parseInt","name","ColorPickerPopover","isGradient","popoverProps","receivedPopoverProps","onClose","shift","offset","resize","placement","className","children","color","enableAlpha","newColor","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","onRemove","isEditingColor","setIsEditingColor","popoverAnchor","setPopoverAnchor","anchor","ref","justify","onClick","trim","length","style","padding","colorValue","nextName","icon","PaletteEditListView","addColorRef","elementsReferenceRef","current","debounceOnChange","updatedElements","spacing","isRounded","isBordered","isSeparated","index","newElement","currentElement","currentIndex","newElements","filter","_currentElement","undefined","focus","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","isEditing","setIsEditing","editingElement","setEditingElement","isAdding","elementsLength","hasElements","onSelectPaletteItem","newEditingElementIndex","selectedElement","key","level","isPressed","toggleProps","role","__next40pxDefaultSize","variant","clearable","disableCustomGradients","disableCustomColors"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { Item, ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tIndicatorStyled,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n\tPaletteEditContents,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tsize=\"compact\"\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/*\n * Deduplicates the slugs of the provided elements.\n */\nexport function deduplicateElementSlugs< T extends PaletteElement >(\n\telements: T[]\n) {\n\tconst slugCounts: { [ slug: string ]: number } = {};\n\n\treturn elements.map( ( element ) => {\n\t\tlet newSlug: string | undefined;\n\n\t\tconst { slug } = element;\n\t\tslugCounts[ slug ] = ( slugCounts[ slug ] || 0 ) + 1;\n\n\t\tif ( slugCounts[ slug ] > 1 ) {\n\t\t\tnewSlug = `${ slug }-${ slugCounts[ slug ] - 1 }`;\n\t\t}\n\n\t\treturn { ...element, slug: newSlug ?? slug };\n\t} );\n}\n\n/**\n * Returns a name and slug for a palette item. The name takes the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A name and slug for the new palette item.\n */\nexport function getNameAndSlugForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn {\n\t\tname: sprintf(\n\t\t\t/* translators: %s: is an id for a custom color */\n\t\t\t__( 'Color %s' ),\n\t\t\tposition\n\t\t),\n\t\tslug: `${ slugPrefix }color-${ position }`,\n\t};\n}\n\nfunction ColorPickerPopover< T extends PaletteElement >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: clsx(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends PaletteElement >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tonRemove,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst value = isGradient ? element.gradient : element.color;\n\tconst [ isEditingColor, setIsEditingColor ] = useState( false );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<Item ref={ setPopoverAnchor } size=\"small\">\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsEditingColor( true );\n\t\t\t\t\t} }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t__( 'Edit: %s' ),\n\t\t\t\t\t\telement.name.trim().length ? element.name : value\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { padding: 0 } }\n\t\t\t\t>\n\t\t\t\t\t<IndicatorStyled colorValue={ value } />\n\t\t\t\t</Button>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\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) : (\n\t\t\t\t\t\t<NameContainer>\n\t\t\t\t\t\t\t{ element.name.trim().length\n\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t: /* Fall back to non-breaking space to maintain height */\n\t\t\t\t\t\t\t\t '\\u00A0' }\n\t\t\t\t\t\t</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t\t\t__( 'Remove color: %s' ),\n\t\t\t\t\t\t\t\telement.name.trim().length\n\t\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t\t: value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditingColor && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tonClose={ () => setIsEditingColor( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Item>\n\t);\n}\n\nfunction PaletteEditListView< T extends PaletteElement >( {\n\telements,\n\tonChange,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n\taddColorRef,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReferenceRef = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReferenceRef.current = elements;\n\t}, [ elements ] );\n\n\tconst debounceOnChange = useDebounce(\n\t\t( updatedElements: T[] ) =>\n\t\t\tonChange( deduplicateElementSlugs( updatedElements ) ),\n\t\t100\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded isBordered isSeparated>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\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\tonRemove={ () => {\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\taddColorRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\tconst addColorRef = useRef< HTMLButtonElement | null >( null );\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<HStack>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ addColorRef }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst { name, slug } =\n\t\t\t\t\t\t\t\t\tgetNameAndSlugForPosition(\n\t\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</HStack>\n\t\t\t{ hasElements && (\n\t\t\t\t<PaletteEditContents>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\taddColorRef={ addColorRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</PaletteEditContents>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage && (\n\t\t\t\t<PaletteEditContents>{ emptyMessage }</PaletteEditContents>\n\t\t\t) }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["View","withPreferredColorScheme","useMemo","styles","BottomSeparatorCover","TextControl","jsx","_jsx","jsxs","_jsxs","PanelActions","actions","getStylesFromColorScheme","mappedActions","map","label","onPress","labelStyle","defaultLabelStyle","style","panelActionsContainer","panelActionsContainerDark","children"],"sources":["@wordpress/components/src/panel/actions.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './actions.scss';\nimport BottomSeparatorCover from './bottom-separator-cover';\nimport TextControl from '../text-control';\n\nfunction PanelActions( { actions, getStylesFromColorScheme } ) {\n\tconst mappedActions = useMemo( () => {\n\t\treturn actions.map( ( { label, onPress } ) => {\n\t\t\treturn (\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonPress={ onPress }\n\t\t\t\t\tlabelStyle={ styles.defaultLabelStyle }\n\t\t\t\t\tkey={ label }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ actions ] );\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.panelActionsContainer,\n\t\t\t\tstyles.panelActionsContainerDark\n\t\t\t) }\n\t\t>\n\t\t\t{ mappedActions }\n\t\t\t<BottomSeparatorCover />\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( PanelActions );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA,OAAOC,MAAM,MAAM,gBAAgB;AACnC,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,WAAW,MAAM,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE1C,SAASC,YAAYA,CAAE;EAAEC,OAAO;EAAEC;AAAyB,CAAC,EAAG;EAC9D,MAAMC,aAAa,GAAGX,OAAO,CAAE,MAAM;IACpC,OAAOS,OAAO,CAACG,GAAG,CAAE,CAAE;MAAEC,KAAK;MAAEC;IAAQ,CAAC,KAAM;MAC7C,oBACCT,IAAA,CAACF,WAAW;QACXU,KAAK,EAAGA,KAAO;QACfC,OAAO,EAAGA,OAAS;QACnBC,UAAU,EAAGd,MAAM,CAACe;MAAmB,GACjCH,KACN,CAAC;IAEJ,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEJ,OAAO,CAAG,CAAC;EAEhB,oBACCF,KAAA,CAACT,IAAI;IACJmB,KAAK,EAAGP,wBAAwB,CAC/BT,MAAM,CAACiB,qBAAqB,EAC5BjB,MAAM,CAACkB,yBACR,CAAG;IAAAC,QAAA,GAEDT,aAAa,eACfN,IAAA,CAACH,oBAAoB,IAAE,CAAC;EAAA,CACnB,CAAC;AAET;AAEA,eAAeH,wBAAwB,CAAES,YAAa,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["View","withPreferredColorScheme","useMemo","styles","BottomSeparatorCover","TextControl","jsx","_jsx","jsxs","_jsxs","PanelActions","actions","getStylesFromColorScheme","mappedActions","map","label","onPress","labelStyle","defaultLabelStyle","style","panelActionsContainer","panelActionsContainerDark","children"],"sources":["@wordpress/components/src/panel/actions.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './actions.scss';\nimport BottomSeparatorCover from './bottom-separator-cover';\nimport TextControl from '../text-control';\n\nfunction PanelActions( { actions, getStylesFromColorScheme } ) {\n\tconst mappedActions = useMemo( () => {\n\t\treturn actions.map( ( { label, onPress } ) => {\n\t\t\treturn (\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonPress={ onPress }\n\t\t\t\t\tlabelStyle={ styles.defaultLabelStyle }\n\t\t\t\t\tkey={ label }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ actions ] );\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.panelActionsContainer,\n\t\t\t\tstyles.panelActionsContainerDark\n\t\t\t) }\n\t\t>\n\t\t\t{ mappedActions }\n\t\t\t<BottomSeparatorCover />\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( PanelActions );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA,OAAOC,MAAM,MAAM,gBAAgB;AACnC,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,WAAW,MAAM,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE1C,SAASC,YAAYA,CAAE;EAAEC,OAAO;EAAEC;AAAyB,CAAC,EAAG;EAC9D,MAAMC,aAAa,GAAGX,OAAO,CAAE,MAAM;IACpC,OAAOS,OAAO,CAACG,GAAG,CAAE,CAAE;MAAEC,KAAK;MAAEC;IAAQ,CAAC,KAAM;MAC7C,oBACCT,IAAA,CAACF,WAAW;QACXU,KAAK,EAAGA,KAAO;QACfC,OAAO,EAAGA,OAAS;QACnBC,UAAU,EAAGd,MAAM,CAACe;MAAmB,GACjCH,KACN,CAAC;IAEJ,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEJ,OAAO,CAAG,CAAC;EAEhB,oBACCF,KAAA,CAACT,IAAI;IACJmB,KAAK,EAAGP,wBAAwB,CAC/BT,MAAM,CAACiB,qBAAqB,EAC5BjB,MAAM,CAACkB,yBACR,CAAG;IAAAC,QAAA,GAEDT,aAAa,eACfN,IAAA,CAACH,oBAAoB,IAAE,CAAC;EAAA,CACnB,CAAC;AAET;AAEA,eAAeH,wBAAwB,CAAES,YAAa,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","AuthorSelect","CategorySelect","FormTokenField","RangeControl","SelectControl","VStack","jsx","_jsx","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","MAX_CATEGORIES_SUGGESTIONS","isSingleCategorySelection","props","isMultipleCategorySelection","QueryControls","authorList","selectedAuthorId","numberOfItems","order","orderBy","maxItems","minItems","onAuthorChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","spacing","className","children","__nextHasNoMarginBottom","__next40pxDefaultSize","label","value","undefined","options","onChange","newOrderBy","newOrder","split","categoriesList","onCategoryChange","noOptionLabel","selectedCategoryId","categorySuggestions","selectedCategories","map","item","id","name","suggestions","Object","keys","maxSuggestions","min","max","required"],"sources":["@wordpress/components/src/query-controls/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AuthorSelect from './author-select';\nimport CategorySelect from './category-select';\nimport FormTokenField from '../form-token-field';\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport { VStack } from '../v-stack';\nimport type {\n\tQueryControlsProps,\n\tQueryControlsWithMultipleCategorySelectionProps,\n\tQueryControlsWithSingleCategorySelectionProps,\n} from './types';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\nconst MAX_CATEGORIES_SUGGESTIONS = 20;\n\nfunction isSingleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithSingleCategorySelectionProps {\n\treturn 'categoriesList' in props;\n}\n\nfunction isMultipleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithMultipleCategorySelectionProps {\n\treturn 'categorySuggestions' in props;\n}\n\n/**\n * Controls to query for posts.\n *\n * ```jsx\n * const MyQueryControls = () => (\n * <QueryControls\n * { ...{ maxItems, minItems, numberOfItems, order, orderBy } }\n * onOrderByChange={ ( newOrderBy ) => {\n * updateQuery( { orderBy: newOrderBy } )\n * }\n * onOrderChange={ ( newOrder ) => {\n * updateQuery( { order: newOrder } )\n * }\n * categoriesList={ categories }\n * selectedCategoryId={ category }\n * onCategoryChange={ ( newCategory ) => {\n * updateQuery( { category: newCategory } )\n * }\n * onNumberOfItemsChange={ ( newNumberOfItems ) => {\n * updateQuery( { numberOfItems: newNumberOfItems } )\n * } }\n * />\n * );\n * ```\n */\nexport function QueryControls( {\n\tauthorList,\n\tselectedAuthorId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonAuthorChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n\t// Props for single OR multiple category selection are not destructured here,\n\t// but instead are destructured inline where necessary.\n\t...props\n}: QueryControlsProps ) {\n\treturn (\n\t\t<VStack spacing=\"4\" className=\"components-query-controls\">\n\t\t\t{ [\n\t\t\t\tonOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\torderBy === undefined || order === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ orderBy }/${ order }`\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Newest to oldest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Oldest to newest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'A → Z' ),\n\t\t\t\t\t\t\t\tvalue: 'title/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'Z → A' ),\n\t\t\t\t\t\t\t\tvalue: 'title/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( typeof value !== 'string' ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\t\t\tonOrderChange(\n\t\t\t\t\t\t\t\t\tnewOrder as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'order' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\t\t\tonOrderByChange(\n\t\t\t\t\t\t\t\t\tnewOrderBy as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'orderBy' ]\n\t\t\t\t\t\t\t\t\t>\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/>\n\t\t\t\t),\n\t\t\t\tisSingleCategorySelection( props ) &&\n\t\t\t\t\tprops.categoriesList &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\t\t\t\tcategoriesList={ props.categoriesList }\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\t\tselectedCategoryId={ props.selectedCategoryId }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tisMultipleCategorySelection( props ) &&\n\t\t\t\t\tprops.categorySuggestions &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tkey=\"query-controls-categories-select\"\n\t\t\t\t\t\t\tlabel={ __( 'Categories' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.selectedCategories &&\n\t\t\t\t\t\t\t\tprops.selectedCategories.map( ( item ) => ( {\n\t\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\t\t// Keeping the fallback to `item.value` for legacy reasons,\n\t\t\t\t\t\t\t\t\t// even if items of `selectedCategories` should not have a\n\t\t\t\t\t\t\t\t\t// `value` property.\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\tvalue: item.name || item.value,\n\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ Object.keys(\n\t\t\t\t\t\t\t\tprops.categorySuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t\tmaxSuggestions={ MAX_CATEGORIES_SUGGESTIONS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tonAuthorChange && (\n\t\t\t\t\t<AuthorSelect\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-author-select\"\n\t\t\t\t\t\tauthorList={ authorList }\n\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'authors' ) }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthorId }\n\t\t\t\t\t\tonChange={ onAuthorChange }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tonNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t</VStack>\n\t);\n}\n\nexport default QueryControls;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","AuthorSelect","CategorySelect","FormTokenField","RangeControl","SelectControl","VStack","jsx","_jsx","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","MAX_CATEGORIES_SUGGESTIONS","isSingleCategorySelection","props","isMultipleCategorySelection","QueryControls","authorList","selectedAuthorId","numberOfItems","order","orderBy","maxItems","minItems","onAuthorChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","spacing","className","children","__nextHasNoMarginBottom","__next40pxDefaultSize","label","value","undefined","options","onChange","newOrderBy","newOrder","split","categoriesList","onCategoryChange","noOptionLabel","selectedCategoryId","categorySuggestions","selectedCategories","map","item","id","name","suggestions","Object","keys","maxSuggestions","min","max","required"],"sources":["@wordpress/components/src/query-controls/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AuthorSelect from './author-select';\nimport CategorySelect from './category-select';\nimport FormTokenField from '../form-token-field';\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport { VStack } from '../v-stack';\nimport type {\n\tQueryControlsProps,\n\tQueryControlsWithMultipleCategorySelectionProps,\n\tQueryControlsWithSingleCategorySelectionProps,\n} from './types';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\nconst MAX_CATEGORIES_SUGGESTIONS = 20;\n\nfunction isSingleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithSingleCategorySelectionProps {\n\treturn 'categoriesList' in props;\n}\n\nfunction isMultipleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithMultipleCategorySelectionProps {\n\treturn 'categorySuggestions' in props;\n}\n\n/**\n * Controls to query for posts.\n *\n * ```jsx\n * const MyQueryControls = () => (\n * <QueryControls\n * { ...{ maxItems, minItems, numberOfItems, order, orderBy } }\n * onOrderByChange={ ( newOrderBy ) => {\n * updateQuery( { orderBy: newOrderBy } )\n * }\n * onOrderChange={ ( newOrder ) => {\n * updateQuery( { order: newOrder } )\n * }\n * categoriesList={ categories }\n * selectedCategoryId={ category }\n * onCategoryChange={ ( newCategory ) => {\n * updateQuery( { category: newCategory } )\n * }\n * onNumberOfItemsChange={ ( newNumberOfItems ) => {\n * updateQuery( { numberOfItems: newNumberOfItems } )\n * } }\n * />\n * );\n * ```\n */\nexport function QueryControls( {\n\tauthorList,\n\tselectedAuthorId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonAuthorChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n\t// Props for single OR multiple category selection are not destructured here,\n\t// but instead are destructured inline where necessary.\n\t...props\n}: QueryControlsProps ) {\n\treturn (\n\t\t<VStack spacing=\"4\" className=\"components-query-controls\">\n\t\t\t{ [\n\t\t\t\tonOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\torderBy === undefined || order === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ orderBy }/${ order }`\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Newest to oldest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Oldest to newest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'A → Z' ),\n\t\t\t\t\t\t\t\tvalue: 'title/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'Z → A' ),\n\t\t\t\t\t\t\t\tvalue: 'title/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( typeof value !== 'string' ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\t\t\tonOrderChange(\n\t\t\t\t\t\t\t\t\tnewOrder as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'order' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\t\t\tonOrderByChange(\n\t\t\t\t\t\t\t\t\tnewOrderBy as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'orderBy' ]\n\t\t\t\t\t\t\t\t\t>\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/>\n\t\t\t\t),\n\t\t\t\tisSingleCategorySelection( props ) &&\n\t\t\t\t\tprops.categoriesList &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\t\t\t\tcategoriesList={ props.categoriesList }\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\t\tselectedCategoryId={ props.selectedCategoryId }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tisMultipleCategorySelection( props ) &&\n\t\t\t\t\tprops.categorySuggestions &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tkey=\"query-controls-categories-select\"\n\t\t\t\t\t\t\tlabel={ __( 'Categories' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.selectedCategories &&\n\t\t\t\t\t\t\t\tprops.selectedCategories.map( ( item ) => ( {\n\t\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\t\t// Keeping the fallback to `item.value` for legacy reasons,\n\t\t\t\t\t\t\t\t\t// even if items of `selectedCategories` should not have a\n\t\t\t\t\t\t\t\t\t// `value` property.\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\tvalue: item.name || item.value,\n\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ Object.keys(\n\t\t\t\t\t\t\t\tprops.categorySuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t\tmaxSuggestions={ MAX_CATEGORIES_SUGGESTIONS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tonAuthorChange && (\n\t\t\t\t\t<AuthorSelect\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-author-select\"\n\t\t\t\t\t\tauthorList={ authorList }\n\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'authors' ) }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthorId }\n\t\t\t\t\t\tonChange={ onAuthorChange }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tonNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t</VStack>\n\t);\n}\n\nexport default QueryControls;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * Internal dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["ensureParentsAreDefined","terms","every","term","parent","buildTermsTree","flatTerms","flatTermsWithParentAndChildren","map","children","id","String","termsByParent","reduce","acc","push","fillWithChildren","length"],"sources":["@wordpress/components/src/query-controls/terms.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type {\n\tAuthor,\n\tCategory,\n\tTermWithParentAndChildren,\n\tTermsByParent,\n} from './types';\n\nconst ensureParentsAreDefined = (\n\tterms: TermWithParentAndChildren[]\n): terms is ( TermWithParentAndChildren & { parent: number } )[] => {\n\treturn terms.every( ( term ) => term.parent !== null );\n};\n/**\n * Returns terms in a tree form.\n *\n * @param flatTerms Array of terms in flat format.\n *\n * @return Terms in tree format.\n */\nexport function buildTermsTree( flatTerms: readonly ( Author | Category )[] ) {\n\tconst flatTermsWithParentAndChildren: TermWithParentAndChildren[] =\n\t\tflatTerms.map( ( term ) => ( {\n\t\t\tchildren: [],\n\t\t\tparent: null,\n\t\t\t...term,\n\t\t\tid: String( term.id ),\n\t\t} ) );\n\n\t// We use a custom type guard here to ensure that the parent property is\n\t// defined on all terms. The type of the `parent` property is `number | null`\n\t// and we need to ensure that it is `number`. This is because we use the\n\t// `parent` property as a key in the `termsByParent` object.\n\tif ( ! ensureParentsAreDefined( flatTermsWithParentAndChildren ) ) {\n\t\treturn flatTermsWithParentAndChildren;\n\t}\n\n\tconst termsByParent = flatTermsWithParentAndChildren.reduce(\n\t\t( acc: TermsByParent, term ) => {\n\t\t\tconst { parent } = term;\n\t\t\tif ( ! acc[ parent ] ) {\n\t\t\t\tacc[ parent ] = [];\n\t\t\t}\n\t\t\tacc[ parent ].push( term );\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n\n\tconst fillWithChildren = (\n\t\tterms: TermWithParentAndChildren[]\n\t): TermWithParentAndChildren[] => {\n\t\treturn terms.map( ( term ) => {\n\t\t\tconst children = termsByParent[ term.id ];\n\t\t\treturn {\n\t\t\t\t...term,\n\t\t\t\tchildren:\n\t\t\t\t\tchildren && children.length\n\t\t\t\t\t\t? fillWithChildren( children )\n\t\t\t\t\t\t: [],\n\t\t\t};\n\t\t} );\n\t};\n\n\treturn fillWithChildren( termsByParent[ '0' ] || [] );\n}\n"],"mappings":";AAAA;AACA;AACA;;AAQA,MAAMA,uBAAuB,GAC5BC,KAAkC,IACiC;EACnE,OAAOA,KAAK,CAACC,KAAK,CAAIC,IAAI,IAAMA,IAAI,CAACC,MAAM,KAAK,IAAK,CAAC;AACvD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAEC,SAA2C,EAAG;EAC7E,MAAMC,8BAA2D,GAChED,SAAS,CAACE,GAAG,CAAIL,IAAI,KAAQ;IAC5BM,QAAQ,EAAE,EAAE;IACZL,MAAM,EAAE,IAAI;IACZ,GAAGD,IAAI;IACPO,EAAE,EAAEC,MAAM,CAAER,IAAI,CAACO,EAAG;EACrB,CAAC,CAAG,CAAC;;EAEN;EACA;EACA;EACA;EACA,IAAK,CAAEV,uBAAuB,CAAEO,8BAA+B,CAAC,EAAG;IAClE,OAAOA,8BAA8B;EACtC;EAEA,MAAMK,aAAa,GAAGL,8BAA8B,CAACM,MAAM,CAC1D,CAAEC,GAAkB,EAAEX,IAAI,KAAM;IAC/B,MAAM;MAAEC;IAAO,CAAC,GAAGD,IAAI;IACvB,IAAK,CAAEW,GAAG,CAAEV,MAAM,CAAE,EAAG;MACtBU,GAAG,CAAEV,MAAM,CAAE,GAAG,EAAE;IACnB;IACAU,GAAG,CAAEV,MAAM,CAAE,CAACW,IAAI,CAAEZ,IAAK,CAAC;IAC1B,OAAOW,GAAG;EACX,CAAC,EACD,CAAC,CACF,CAAC;EAED,MAAME,gBAAgB,GACrBf,KAAkC,IACD;IACjC,OAAOA,KAAK,CAACO,GAAG,CAAIL,IAAI,IAAM;MAC7B,MAAMM,QAAQ,GAAGG,aAAa,CAAET,IAAI,CAACO,EAAE,CAAE;MACzC,OAAO;QACN,GAAGP,IAAI;QACPM,QAAQ,EACPA,QAAQ,IAAIA,QAAQ,CAACQ,MAAM,GACxBD,gBAAgB,CAAEP,QAAS,CAAC,GAC5B;MACL,CAAC;IACF,CAAE,CAAC;EACJ,CAAC;EAED,OAAOO,gBAAgB,CAAEJ,aAAa,CAAE,GAAG,CAAE,IAAI,EAAG,CAAC;AACtD","ignoreList":[]}
1
+ {"version":3,"names":["ensureParentsAreDefined","terms","every","term","parent","buildTermsTree","flatTerms","flatTermsWithParentAndChildren","map","children","id","String","termsByParent","reduce","acc","push","fillWithChildren","length"],"sources":["@wordpress/components/src/query-controls/terms.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type {\n\tAuthor,\n\tCategory,\n\tTermWithParentAndChildren,\n\tTermsByParent,\n} from './types';\n\nconst ensureParentsAreDefined = (\n\tterms: TermWithParentAndChildren[]\n): terms is ( TermWithParentAndChildren & { parent: number } )[] => {\n\treturn terms.every( ( term ) => term.parent !== null );\n};\n/**\n * Returns terms in a tree form.\n *\n * @param flatTerms Array of terms in flat format.\n *\n * @return Terms in tree format.\n */\nexport function buildTermsTree( flatTerms: readonly ( Author | Category )[] ) {\n\tconst flatTermsWithParentAndChildren: TermWithParentAndChildren[] =\n\t\tflatTerms.map( ( term ) => ( {\n\t\t\tchildren: [],\n\t\t\tparent: null,\n\t\t\t...term,\n\t\t\tid: String( term.id ),\n\t\t} ) );\n\n\t// We use a custom type guard here to ensure that the parent property is\n\t// defined on all terms. The type of the `parent` property is `number | null`\n\t// and we need to ensure that it is `number`. This is because we use the\n\t// `parent` property as a key in the `termsByParent` object.\n\tif ( ! ensureParentsAreDefined( flatTermsWithParentAndChildren ) ) {\n\t\treturn flatTermsWithParentAndChildren;\n\t}\n\n\tconst termsByParent = flatTermsWithParentAndChildren.reduce(\n\t\t( acc: TermsByParent, term ) => {\n\t\t\tconst { parent } = term;\n\t\t\tif ( ! acc[ parent ] ) {\n\t\t\t\tacc[ parent ] = [];\n\t\t\t}\n\t\t\tacc[ parent ].push( term );\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n\n\tconst fillWithChildren = (\n\t\tterms: TermWithParentAndChildren[]\n\t): TermWithParentAndChildren[] => {\n\t\treturn terms.map( ( term ) => {\n\t\t\tconst children = termsByParent[ term.id ];\n\t\t\treturn {\n\t\t\t\t...term,\n\t\t\t\tchildren:\n\t\t\t\t\tchildren && children.length\n\t\t\t\t\t\t? fillWithChildren( children )\n\t\t\t\t\t\t: [],\n\t\t\t};\n\t\t} );\n\t};\n\n\treturn fillWithChildren( termsByParent[ '0' ] || [] );\n}\n"],"mappings":"AAAA;AACA;AACA;;AAQA,MAAMA,uBAAuB,GAC5BC,KAAkC,IACiC;EACnE,OAAOA,KAAK,CAACC,KAAK,CAAIC,IAAI,IAAMA,IAAI,CAACC,MAAM,KAAK,IAAK,CAAC;AACvD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAEC,SAA2C,EAAG;EAC7E,MAAMC,8BAA2D,GAChED,SAAS,CAACE,GAAG,CAAIL,IAAI,KAAQ;IAC5BM,QAAQ,EAAE,EAAE;IACZL,MAAM,EAAE,IAAI;IACZ,GAAGD,IAAI;IACPO,EAAE,EAAEC,MAAM,CAAER,IAAI,CAACO,EAAG;EACrB,CAAC,CAAG,CAAC;;EAEN;EACA;EACA;EACA;EACA,IAAK,CAAEV,uBAAuB,CAAEO,8BAA+B,CAAC,EAAG;IAClE,OAAOA,8BAA8B;EACtC;EAEA,MAAMK,aAAa,GAAGL,8BAA8B,CAACM,MAAM,CAC1D,CAAEC,GAAkB,EAAEX,IAAI,KAAM;IAC/B,MAAM;MAAEC;IAAO,CAAC,GAAGD,IAAI;IACvB,IAAK,CAAEW,GAAG,CAAEV,MAAM,CAAE,EAAG;MACtBU,GAAG,CAAEV,MAAM,CAAE,GAAG,EAAE;IACnB;IACAU,GAAG,CAAEV,MAAM,CAAE,CAACW,IAAI,CAAEZ,IAAK,CAAC;IAC1B,OAAOW,GAAG;EACX,CAAC,EACD,CAAC,CACF,CAAC;EAED,MAAME,gBAAgB,GACrBf,KAAkC,IACD;IACjC,OAAOA,KAAK,CAACO,GAAG,CAAIL,IAAI,IAAM;MAC7B,MAAMM,QAAQ,GAAGG,aAAa,CAAET,IAAI,CAACO,EAAE,CAAE;MACzC,OAAO;QACN,GAAGP,IAAI;QACPM,QAAQ,EACPA,QAAQ,IAAIA,QAAQ,CAACQ,MAAM,GACxBD,gBAAgB,CAAEP,QAAS,CAAC,GAC5B;MACL,CAAC;IACF,CAAE,CAAC;EACJ,CAAC;EAED,OAAOO,gBAAgB,CAAEJ,aAAa,CAAE,GAAG,CAAE,IAAI,EAAG,CAAC;AACtD","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useInstanceId","BaseControl","VStack","StyledHelp","VisuallyHidden","jsx","_jsx","jsxs","_jsxs","generateOptionDescriptionId","radioGroupId","index","generateOptionId","generateHelpId","RadioControl","props","label","className","selected","help","onChange","hideLabelFromVision","options","id","preferredId","additionalProps","onChangeValue","event","target","value","length","undefined","children","as","VisualLabel","spacing","map","option","type","name","checked","description","htmlFor","__nextHasNoMarginBottom"],"sources":["@wordpress/components/src/radio-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport type { WordPressComponentProps } from '../context';\nimport type { RadioControlProps } from './types';\nimport { VStack } from '../v-stack';\nimport { StyledHelp } from '../base-control/styles/base-control-styles';\nimport { VisuallyHidden } from '../visually-hidden';\n\nfunction generateOptionDescriptionId( radioGroupId: string, index: number ) {\n\treturn `${ radioGroupId }-${ index }-option-description`;\n}\n\nfunction generateOptionId( radioGroupId: string, index: number ) {\n\treturn `${ radioGroupId }-${ index }`;\n}\n\nfunction generateHelpId( radioGroupId: string ) {\n\treturn `${ radioGroupId }__help`;\n}\n\n/**\n * Render a user interface to select the user type using radio inputs.\n *\n * ```jsx\n * import { RadioControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRadioControl = () => {\n * const [ option, setOption ] = useState( 'a' );\n *\n * return (\n * <RadioControl\n * label=\"User type\"\n * help=\"The type of the current user\"\n * selected={ option }\n * options={ [\n * { label: 'Author', value: 'a' },\n * { label: 'Editor', value: 'e' },\n * ] }\n * onChange={ ( value ) => setOption( value ) }\n * />\n * );\n * };\n * ```\n */\nexport function RadioControl(\n\tprops: WordPressComponentProps< RadioControlProps, 'input', false >\n) {\n\tconst {\n\t\tlabel,\n\t\tclassName,\n\t\tselected,\n\t\thelp,\n\t\tonChange,\n\t\thideLabelFromVision,\n\t\toptions = [],\n\t\tid: preferredId,\n\t\t...additionalProps\n\t} = props;\n\tconst id = useInstanceId(\n\t\tRadioControl,\n\t\t'inspector-radio-control',\n\t\tpreferredId\n\t);\n\n\tconst onChangeValue = ( event: ChangeEvent< HTMLInputElement > ) =>\n\t\tonChange( event.target.value );\n\n\tif ( ! options?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<fieldset\n\t\t\tid={ id }\n\t\t\tclassName={ clsx( className, 'components-radio-control' ) }\n\t\t\taria-describedby={ !! help ? generateHelpId( id ) : undefined }\n\t\t>\n\t\t\t{ hideLabelFromVision ? (\n\t\t\t\t<VisuallyHidden as=\"legend\">{ label }</VisuallyHidden>\n\t\t\t) : (\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ label }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t) }\n\n\t\t\t<VStack\n\t\t\t\tspacing={ 3 }\n\t\t\t\tclassName={ clsx( 'components-radio-control__group-wrapper', {\n\t\t\t\t\t'has-help': !! help,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ options.map( ( option, index ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={ generateOptionId( id, index ) }\n\t\t\t\t\t\tclassName=\"components-radio-control__option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={ generateOptionId( id, index ) }\n\t\t\t\t\t\t\tclassName=\"components-radio-control__input\"\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tname={ id }\n\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\t\tchecked={ option.value === selected }\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t!! option.description\n\t\t\t\t\t\t\t\t\t? generateOptionDescriptionId( id, index )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclassName=\"components-radio-control__label\"\n\t\t\t\t\t\t\thtmlFor={ generateOptionId( id, index ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t{ !! option.description ? (\n\t\t\t\t\t\t\t<StyledHelp\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tid={ generateOptionDescriptionId( id, index ) }\n\t\t\t\t\t\t\t\tclassName=\"components-radio-control__option-description\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ option.description }\n\t\t\t\t\t\t\t</StyledHelp>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t{ !! help && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ generateHelpId( id ) }\n\t\t\t\t\tclassName=\"components-base-control__help\"\n\t\t\t\t>\n\t\t\t\t\t{ help }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default RadioControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useInstanceId","BaseControl","VStack","StyledHelp","VisuallyHidden","jsx","_jsx","jsxs","_jsxs","generateOptionDescriptionId","radioGroupId","index","generateOptionId","generateHelpId","RadioControl","props","label","className","selected","help","onChange","hideLabelFromVision","options","id","preferredId","additionalProps","onChangeValue","event","target","value","length","undefined","children","as","VisualLabel","spacing","map","option","type","name","checked","description","htmlFor","__nextHasNoMarginBottom"],"sources":["@wordpress/components/src/radio-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport type { WordPressComponentProps } from '../context';\nimport type { RadioControlProps } from './types';\nimport { VStack } from '../v-stack';\nimport { StyledHelp } from '../base-control/styles/base-control-styles';\nimport { VisuallyHidden } from '../visually-hidden';\n\nfunction generateOptionDescriptionId( radioGroupId: string, index: number ) {\n\treturn `${ radioGroupId }-${ index }-option-description`;\n}\n\nfunction generateOptionId( radioGroupId: string, index: number ) {\n\treturn `${ radioGroupId }-${ index }`;\n}\n\nfunction generateHelpId( radioGroupId: string ) {\n\treturn `${ radioGroupId }__help`;\n}\n\n/**\n * Render a user interface to select the user type using radio inputs.\n *\n * ```jsx\n * import { RadioControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRadioControl = () => {\n * const [ option, setOption ] = useState( 'a' );\n *\n * return (\n * <RadioControl\n * label=\"User type\"\n * help=\"The type of the current user\"\n * selected={ option }\n * options={ [\n * { label: 'Author', value: 'a' },\n * { label: 'Editor', value: 'e' },\n * ] }\n * onChange={ ( value ) => setOption( value ) }\n * />\n * );\n * };\n * ```\n */\nexport function RadioControl(\n\tprops: WordPressComponentProps< RadioControlProps, 'input', false >\n) {\n\tconst {\n\t\tlabel,\n\t\tclassName,\n\t\tselected,\n\t\thelp,\n\t\tonChange,\n\t\thideLabelFromVision,\n\t\toptions = [],\n\t\tid: preferredId,\n\t\t...additionalProps\n\t} = props;\n\tconst id = useInstanceId(\n\t\tRadioControl,\n\t\t'inspector-radio-control',\n\t\tpreferredId\n\t);\n\n\tconst onChangeValue = ( event: ChangeEvent< HTMLInputElement > ) =>\n\t\tonChange( event.target.value );\n\n\tif ( ! options?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<fieldset\n\t\t\tid={ id }\n\t\t\tclassName={ clsx( className, 'components-radio-control' ) }\n\t\t\taria-describedby={ !! help ? generateHelpId( id ) : undefined }\n\t\t>\n\t\t\t{ hideLabelFromVision ? (\n\t\t\t\t<VisuallyHidden as=\"legend\">{ label }</VisuallyHidden>\n\t\t\t) : (\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ label }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t) }\n\n\t\t\t<VStack\n\t\t\t\tspacing={ 3 }\n\t\t\t\tclassName={ clsx( 'components-radio-control__group-wrapper', {\n\t\t\t\t\t'has-help': !! help,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ options.map( ( option, index ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={ generateOptionId( id, index ) }\n\t\t\t\t\t\tclassName=\"components-radio-control__option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={ generateOptionId( id, index ) }\n\t\t\t\t\t\t\tclassName=\"components-radio-control__input\"\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tname={ id }\n\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\t\tchecked={ option.value === selected }\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t!! option.description\n\t\t\t\t\t\t\t\t\t? generateOptionDescriptionId( id, index )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclassName=\"components-radio-control__label\"\n\t\t\t\t\t\t\thtmlFor={ generateOptionId( id, index ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t{ !! option.description ? (\n\t\t\t\t\t\t\t<StyledHelp\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tid={ generateOptionDescriptionId( id, index ) }\n\t\t\t\t\t\t\t\tclassName=\"components-radio-control__option-description\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ option.description }\n\t\t\t\t\t\t\t</StyledHelp>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t{ !! help && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ generateHelpId( id ) }\n\t\t\t\t\tclassName=\"components-base-control__help\"\n\t\t\t\t>\n\t\t\t\t\t{ help }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default RadioControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * Internal dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["RadioCell","jsx","_jsx","Fragment","_Fragment","RadioControl","onChange","selected","options","props","children","map","option","index","label","onPress","value"],"sources":["@wordpress/components/src/radio-control/index.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport RadioCell from '../mobile/bottom-sheet/radio-cell';\n\nfunction RadioControl( { onChange, selected, options = [], ...props } ) {\n\treturn (\n\t\t<>\n\t\t\t{ options.map( ( option, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<RadioCell\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\tonPress={ () => onChange( option.value ) }\n\t\t\t\t\t\tselected={ option.value === selected }\n\t\t\t\t\t\tkey={ `${ option.value }-${ index }` }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nexport default RadioControl;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAE1D,SAASC,YAAYA,CAAE;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,OAAO,GAAG,EAAE;EAAE,GAAGC;AAAM,CAAC,EAAG;EACvE,oBACCP,IAAA,CAAAE,SAAA;IAAAM,QAAA,EACGF,OAAO,CAACG,GAAG,CAAE,CAAEC,MAAM,EAAEC,KAAK,KAAM;MACnC,oBACCX,IAAA,CAACF,SAAS;QACTc,KAAK,EAAGF,MAAM,CAACE,KAAO;QACtBC,OAAO,EAAGA,CAAA,KAAMT,QAAQ,CAAEM,MAAM,CAACI,KAAM,CAAG;QAC1CT,QAAQ,EAAGK,MAAM,CAACI,KAAK,KAAKT,QAAU;QAAA,GAEjCE;MAAK,GADJ,GAAIG,MAAM,CAACI,KAAK,IAAMH,KAAK,EAEjC,CAAC;IAEJ,CAAE;EAAC,CACF,CAAC;AAEL;AAEA,eAAeR,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["RadioCell","jsx","_jsx","Fragment","_Fragment","RadioControl","onChange","selected","options","props","children","map","option","index","label","onPress","value"],"sources":["@wordpress/components/src/radio-control/index.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport RadioCell from '../mobile/bottom-sheet/radio-cell';\n\nfunction RadioControl( { onChange, selected, options = [], ...props } ) {\n\treturn (\n\t\t<>\n\t\t\t{ options.map( ( option, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<RadioCell\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\tonPress={ () => onChange( option.value ) }\n\t\t\t\t\t\tselected={ option.value === selected }\n\t\t\t\t\t\tkey={ `${ option.value }-${ index }` }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nexport default RadioControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAE1D,SAASC,YAAYA,CAAE;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,OAAO,GAAG,EAAE;EAAE,GAAGC;AAAM,CAAC,EAAG;EACvE,oBACCP,IAAA,CAAAE,SAAA;IAAAM,QAAA,EACGF,OAAO,CAACG,GAAG,CAAE,CAAEC,MAAM,EAAEC,KAAK,KAAM;MACnC,oBACCX,IAAA,CAACF,SAAS;QACTc,KAAK,EAAGF,MAAM,CAACE,KAAO;QACtBC,OAAO,EAAGA,CAAA,KAAMT,QAAQ,CAAEM,MAAM,CAACI,KAAM,CAAG;QAC1CT,QAAQ,EAAGK,MAAM,CAACI,KAAK,KAAKT,QAAU;QAAA,GAEjCE;MAAK,GADJ,GAAIG,MAAM,CAACI,KAAK,IAAMH,KAAK,EAEjC,CAAC;IAEJ,CAAE;EAAC,CACF,CAAC;AAEL;AAEA,eAAeR,YAAY","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["isRTL","RangeMark","MarksWrapper","Rail","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","createElement","_createElement","RangeRail","props","disabled","marks","min","max","step","value","restProps","children","Marks","stepProp","marksData","useMarks","className","map","mark","key","range","Array","isArray","count","Math","round","push","length","placedMarks","forEach","index","isFilled","offset","offsetStyle","style"],"sources":["@wordpress/components/src/range-control/rail.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport RangeMark from './mark';\nimport { MarksWrapper, Rail } from './styles/range-control-styles';\n\nimport type { WordPressComponentProps } from '../context';\nimport type {\n\tMarksProps,\n\tRangeMarkProps,\n\tRailProps,\n\tUseMarksArgs,\n} from './types';\n\nexport default function RangeRail(\n\tprops: WordPressComponentProps< RailProps, 'span' >\n) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep = 1,\n\t\tvalue = 0,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<>\n\t\t\t<Rail disabled={ disabled } { ...restProps } />\n\t\t\t{ marks && (\n\t\t\t\t<Marks\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tmin={ min }\n\t\t\t\t\tmax={ max }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Marks( props: WordPressComponentProps< MarksProps, 'span' > ) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep: stepProp = 1,\n\t\tvalue = 0,\n\t} = props;\n\n\tconst step = stepProp === 'any' ? 1 : stepProp;\n\tconst marksData = useMarks( { marks, min, max, step, value } );\n\n\treturn (\n\t\t<MarksWrapper\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"components-range-control__marks\"\n\t\t>\n\t\t\t{ marksData.map( ( mark ) => (\n\t\t\t\t<RangeMark\n\t\t\t\t\t{ ...mark }\n\t\t\t\t\tkey={ mark.key }\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</MarksWrapper>\n\t);\n}\n\nfunction useMarks( {\n\tmarks,\n\tmin = 0,\n\tmax = 100,\n\tstep = 1,\n\tvalue = 0,\n}: UseMarksArgs ) {\n\tif ( ! marks ) {\n\t\treturn [];\n\t}\n\n\tconst range = max - min;\n\tif ( ! Array.isArray( marks ) ) {\n\t\tmarks = [];\n\t\tconst count = 1 + Math.round( range / step );\n\t\twhile ( count > marks.push( { value: step * marks.length + min } ) ) {}\n\t}\n\n\tconst placedMarks: RangeMarkProps[] = [];\n\tmarks.forEach( ( mark, index ) => {\n\t\tif ( mark.value < min || mark.value > max ) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = `mark-${ index }`;\n\t\tconst isFilled = mark.value <= value;\n\t\tconst offset = `${ ( ( mark.value - min ) / range ) * 100 }%`;\n\n\t\tconst offsetStyle = {\n\t\t\t[ isRTL() ? 'right' : 'left' ]: offset,\n\t\t};\n\n\t\tplacedMarks.push( {\n\t\t\t...mark,\n\t\t\tisFilled,\n\t\t\tkey,\n\t\t\tstyle: offsetStyle,\n\t\t} );\n\t} );\n\n\treturn placedMarks;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isRTL","RangeMark","MarksWrapper","Rail","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","createElement","_createElement","RangeRail","props","disabled","marks","min","max","step","value","restProps","children","Marks","stepProp","marksData","useMarks","className","map","mark","key","range","Array","isArray","count","Math","round","push","length","placedMarks","forEach","index","isFilled","offset","offsetStyle","style"],"sources":["@wordpress/components/src/range-control/rail.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport RangeMark from './mark';\nimport { MarksWrapper, Rail } from './styles/range-control-styles';\n\nimport type { WordPressComponentProps } from '../context';\nimport type {\n\tMarksProps,\n\tRangeMarkProps,\n\tRailProps,\n\tUseMarksArgs,\n} from './types';\n\nexport default function RangeRail(\n\tprops: WordPressComponentProps< RailProps, 'span' >\n) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep = 1,\n\t\tvalue = 0,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<>\n\t\t\t<Rail disabled={ disabled } { ...restProps } />\n\t\t\t{ marks && (\n\t\t\t\t<Marks\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tmin={ min }\n\t\t\t\t\tmax={ max }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Marks( props: WordPressComponentProps< MarksProps, 'span' > ) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep: stepProp = 1,\n\t\tvalue = 0,\n\t} = props;\n\n\tconst step = stepProp === 'any' ? 1 : stepProp;\n\tconst marksData = useMarks( { marks, min, max, step, value } );\n\n\treturn (\n\t\t<MarksWrapper\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"components-range-control__marks\"\n\t\t>\n\t\t\t{ marksData.map( ( mark ) => (\n\t\t\t\t<RangeMark\n\t\t\t\t\t{ ...mark }\n\t\t\t\t\tkey={ mark.key }\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</MarksWrapper>\n\t);\n}\n\nfunction useMarks( {\n\tmarks,\n\tmin = 0,\n\tmax = 100,\n\tstep = 1,\n\tvalue = 0,\n}: UseMarksArgs ) {\n\tif ( ! marks ) {\n\t\treturn [];\n\t}\n\n\tconst range = max - min;\n\tif ( ! Array.isArray( marks ) ) {\n\t\tmarks = [];\n\t\tconst count = 1 + Math.round( range / step );\n\t\twhile ( count > marks.push( { value: step * marks.length + min } ) ) {}\n\t}\n\n\tconst placedMarks: RangeMarkProps[] = [];\n\tmarks.forEach( ( mark, index ) => {\n\t\tif ( mark.value < min || mark.value > max ) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = `mark-${ index }`;\n\t\tconst isFilled = mark.value <= value;\n\t\tconst offset = `${ ( ( mark.value - min ) / range ) * 100 }%`;\n\n\t\tconst offsetStyle = {\n\t\t\t[ isRTL() ? 'right' : 'left' ]: offset,\n\t\t};\n\n\t\tplacedMarks.push( {\n\t\t\t...mark,\n\t\t\tisFilled,\n\t\t\tkey,\n\t\t\tstyle: offsetStyle,\n\t\t} );\n\t} );\n\n\treturn placedMarks;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","clsx","Resizable","ResizeTooltip","jsx","_jsx","jsxs","_jsxs","HANDLE_CLASS_NAME","SIDE_HANDLE_CLASS_NAME","CORNER_HANDLE_CLASS_NAME","HANDLE_CLASSES","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","HANDLE_STYLES_OVERRIDES","width","undefined","height","HANDLE_STYLES","UnforwardedResizableBox","className","children","showHandle","__experimentalShowTooltip","showTooltip","__experimentalTooltipProps","tooltipProps","props","ref","handleComponent","Object","fromEntries","keys","map","key","tabIndex","handleClasses","handleStyles","ResizableBox"],"sources":["@wordpress/components/src/resizable-box/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport { Resizable } from 're-resizable';\nimport type { ResizableProps } from 're-resizable';\nimport type { ReactNode, ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport ResizeTooltip from './resize-tooltip';\n\nconst HANDLE_CLASS_NAME = 'components-resizable-box__handle';\nconst SIDE_HANDLE_CLASS_NAME = 'components-resizable-box__side-handle';\nconst CORNER_HANDLE_CLASS_NAME = 'components-resizable-box__corner-handle';\n\nconst HANDLE_CLASSES = {\n\ttop: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top'\n\t),\n\tright: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottom: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom'\n\t),\n\tleft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-left'\n\t),\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDES = {\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\nconst HANDLE_STYLES = {\n\ttop: HANDLE_STYLES_OVERRIDES,\n\tright: HANDLE_STYLES_OVERRIDES,\n\tbottom: HANDLE_STYLES_OVERRIDES,\n\tleft: HANDLE_STYLES_OVERRIDES,\n\ttopLeft: HANDLE_STYLES_OVERRIDES,\n\ttopRight: HANDLE_STYLES_OVERRIDES,\n\tbottomRight: HANDLE_STYLES_OVERRIDES,\n\tbottomLeft: HANDLE_STYLES_OVERRIDES,\n};\n\ntype ResizableBoxProps = ResizableProps & {\n\tchildren: ReactNode;\n\tshowHandle?: boolean;\n\t__experimentalShowTooltip?: boolean;\n\t__experimentalTooltipProps?: Parameters< typeof ResizeTooltip >[ 0 ];\n};\n\nfunction UnforwardedResizableBox(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tshowHandle = true,\n\t\t__experimentalShowTooltip: showTooltip = false,\n\t\t__experimentalTooltipProps: tooltipProps = {},\n\t\t...props\n\t}: ResizableBoxProps,\n\tref: ForwardedRef< Resizable >\n): JSX.Element {\n\treturn (\n\t\t<Resizable\n\t\t\tclassName={ clsx(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tshowHandle && 'has-show-handle',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t// Add a focusable element within the drag handle. Unfortunately,\n\t\t\t// `re-resizable` does not make them properly focusable by default,\n\t\t\t// causing focus to move the the block wrapper which triggers block\n\t\t\t// drag.\n\t\t\thandleComponent={ Object.fromEntries(\n\t\t\t\tObject.keys( HANDLE_CLASSES ).map( ( key ) => [\n\t\t\t\t\tkey,\n\t\t\t\t\t<div key={ key } tabIndex={ -1 } />,\n\t\t\t\t] )\n\t\t\t) }\n\t\t\thandleClasses={ HANDLE_CLASSES }\n\t\t\thandleStyles={ HANDLE_STYLES }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t{ showTooltip && <ResizeTooltip { ...tooltipProps } /> }\n\t\t</Resizable>\n\t);\n}\n\nexport const ResizableBox = forwardRef( UnforwardedResizableBox );\n\nexport default ResizableBox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","clsx","Resizable","ResizeTooltip","jsx","_jsx","jsxs","_jsxs","HANDLE_CLASS_NAME","SIDE_HANDLE_CLASS_NAME","CORNER_HANDLE_CLASS_NAME","HANDLE_CLASSES","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","HANDLE_STYLES_OVERRIDES","width","undefined","height","HANDLE_STYLES","UnforwardedResizableBox","className","children","showHandle","__experimentalShowTooltip","showTooltip","__experimentalTooltipProps","tooltipProps","props","ref","handleComponent","Object","fromEntries","keys","map","key","tabIndex","handleClasses","handleStyles","ResizableBox"],"sources":["@wordpress/components/src/resizable-box/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport { Resizable } from 're-resizable';\nimport type { ResizableProps } from 're-resizable';\nimport type { ReactNode, ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport ResizeTooltip from './resize-tooltip';\n\nconst HANDLE_CLASS_NAME = 'components-resizable-box__handle';\nconst SIDE_HANDLE_CLASS_NAME = 'components-resizable-box__side-handle';\nconst CORNER_HANDLE_CLASS_NAME = 'components-resizable-box__corner-handle';\n\nconst HANDLE_CLASSES = {\n\ttop: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top'\n\t),\n\tright: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottom: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom'\n\t),\n\tleft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-left'\n\t),\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDES = {\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\nconst HANDLE_STYLES = {\n\ttop: HANDLE_STYLES_OVERRIDES,\n\tright: HANDLE_STYLES_OVERRIDES,\n\tbottom: HANDLE_STYLES_OVERRIDES,\n\tleft: HANDLE_STYLES_OVERRIDES,\n\ttopLeft: HANDLE_STYLES_OVERRIDES,\n\ttopRight: HANDLE_STYLES_OVERRIDES,\n\tbottomRight: HANDLE_STYLES_OVERRIDES,\n\tbottomLeft: HANDLE_STYLES_OVERRIDES,\n};\n\ntype ResizableBoxProps = ResizableProps & {\n\tchildren: ReactNode;\n\tshowHandle?: boolean;\n\t__experimentalShowTooltip?: boolean;\n\t__experimentalTooltipProps?: Parameters< typeof ResizeTooltip >[ 0 ];\n};\n\nfunction UnforwardedResizableBox(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tshowHandle = true,\n\t\t__experimentalShowTooltip: showTooltip = false,\n\t\t__experimentalTooltipProps: tooltipProps = {},\n\t\t...props\n\t}: ResizableBoxProps,\n\tref: ForwardedRef< Resizable >\n): JSX.Element {\n\treturn (\n\t\t<Resizable\n\t\t\tclassName={ clsx(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tshowHandle && 'has-show-handle',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t// Add a focusable element within the drag handle. Unfortunately,\n\t\t\t// `re-resizable` does not make them properly focusable by default,\n\t\t\t// causing focus to move the the block wrapper which triggers block\n\t\t\t// drag.\n\t\t\thandleComponent={ Object.fromEntries(\n\t\t\t\tObject.keys( HANDLE_CLASSES ).map( ( key ) => [\n\t\t\t\t\tkey,\n\t\t\t\t\t<div key={ key } tabIndex={ -1 } />,\n\t\t\t\t] )\n\t\t\t) }\n\t\t\thandleClasses={ HANDLE_CLASSES }\n\t\t\thandleStyles={ HANDLE_STYLES }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t{ showTooltip && <ResizeTooltip { ...tooltipProps } /> }\n\t\t</Resizable>\n\t);\n}\n\nexport const ResizableBox = forwardRef( UnforwardedResizableBox );\n\nexport default ResizableBox;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["renderToString","useRef","useState","useEffect","useFocusableIframe","useMergeRefs","jsx","_jsx","jsxs","_jsxs","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","tabIndex","ref","setWidth","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","lang","documentElement","className","children","dangerouslySetInnerHTML","__html","map","i","toString","src","open","write","close","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","sandbox","Math","ceil"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test(\n\t\t\t\t\t\truleOrNode.style[ style ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n\ttabIndex,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.removeEventListener(\n\t\t\t\t'message',\n\t\t\t\tcheckMessageForResize\n\t\t\t);\n\t\t};\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["renderToString","useRef","useState","useEffect","useFocusableIframe","useMergeRefs","jsx","_jsx","jsxs","_jsxs","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","tabIndex","ref","setWidth","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","lang","documentElement","className","children","dangerouslySetInnerHTML","__html","map","i","toString","src","open","write","close","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","sandbox","Math","ceil"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test(\n\t\t\t\t\t\truleOrNode.style[ style ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n\ttabIndex,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.removeEventListener(\n\t\t\t\t'message',\n\t\t\t\tcheckMessageForResize\n\t\t\t);\n\t\t};\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */