@wordpress/block-editor 13.2.0 → 13.3.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 (367) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +0 -1
  3. package/build/components/block-breadcrumb/index.js +12 -1
  4. package/build/components/block-breadcrumb/index.js.map +1 -1
  5. package/build/components/block-lock/toolbar.js +0 -1
  6. package/build/components/block-lock/toolbar.js.map +1 -1
  7. package/build/components/block-mover/button.js +1 -1
  8. package/build/components/block-mover/button.js.map +1 -1
  9. package/build/components/block-mover/index.js +1 -1
  10. package/build/components/block-mover/index.js.map +1 -1
  11. package/build/components/block-pattern-setup/setup-toolbar.js +2 -2
  12. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  13. package/build/components/block-patterns-paging/index.js +5 -7
  14. package/build/components/block-patterns-paging/index.js.map +1 -1
  15. package/build/components/block-quick-navigation/index.js +20 -17
  16. package/build/components/block-quick-navigation/index.js.map +1 -1
  17. package/build/components/block-rename/modal.js +4 -12
  18. package/build/components/block-rename/modal.js.map +1 -1
  19. package/build/components/block-toolbar/shuffle.js +1 -0
  20. package/build/components/block-toolbar/shuffle.js.map +1 -1
  21. package/build/components/block-tools/block-selection-button.js +7 -58
  22. package/build/components/block-tools/block-selection-button.js.map +1 -1
  23. package/build/components/block-tools/block-toolbar-breadcrumb.js +9 -2
  24. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  25. package/build/components/block-tools/index.js +14 -1
  26. package/build/components/block-tools/index.js.map +1 -1
  27. package/build/components/block-tools/use-show-block-tools.js +4 -2
  28. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  29. package/build/components/block-tools/zoom-out-mode-inserters.js +5 -4
  30. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  31. package/build/components/block-tools/zoom-out-popover.js +57 -0
  32. package/build/components/block-tools/zoom-out-popover.js.map +1 -0
  33. package/build/components/block-tools/zoom-out-toolbar.js +138 -0
  34. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -0
  35. package/build/components/button-block-appender/index.js +3 -1
  36. package/build/components/button-block-appender/index.js.map +1 -1
  37. package/build/components/child-layout-control/index.js +26 -18
  38. package/build/components/child-layout-control/index.js.map +1 -1
  39. package/build/components/date-format-picker/index.js +10 -1
  40. package/build/components/date-format-picker/index.js.map +1 -1
  41. package/build/components/dimensions-tool/index.js +6 -4
  42. package/build/components/dimensions-tool/index.js.map +1 -1
  43. package/build/components/font-appearance-control/index.js +26 -61
  44. package/build/components/font-appearance-control/index.js.map +1 -1
  45. package/build/components/global-styles/background-panel.js +178 -116
  46. package/build/components/global-styles/background-panel.js.map +1 -1
  47. package/build/components/global-styles/border-panel.js +2 -1
  48. package/build/components/global-styles/border-panel.js.map +1 -1
  49. package/build/components/global-styles/color-panel.js +2 -1
  50. package/build/components/global-styles/color-panel.js.map +1 -1
  51. package/build/components/global-styles/dimensions-panel.js +2 -1
  52. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  53. package/build/components/global-styles/filters-panel.js +2 -1
  54. package/build/components/global-styles/filters-panel.js.map +1 -1
  55. package/build/components/global-styles/hooks.js +8 -0
  56. package/build/components/global-styles/hooks.js.map +1 -1
  57. package/build/components/global-styles/image-settings-panel.js +2 -1
  58. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  59. package/build/components/global-styles/typography-panel.js +50 -12
  60. package/build/components/global-styles/typography-panel.js.map +1 -1
  61. package/build/components/global-styles/typography-utils.js +50 -0
  62. package/build/components/global-styles/typography-utils.js.map +1 -1
  63. package/build/components/global-styles/use-global-styles-output.js +23 -8
  64. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  65. package/build/components/global-styles/utils.js +17 -7
  66. package/build/components/global-styles/utils.js.map +1 -1
  67. package/build/components/grid/grid-item-movers.js +11 -14
  68. package/build/components/grid/grid-item-movers.js.map +1 -1
  69. package/build/components/grid/grid-item-resizer.js +2 -2
  70. package/build/components/grid/grid-item-resizer.js.map +1 -1
  71. package/build/components/grid/grid-visualizer.js +116 -36
  72. package/build/components/grid/grid-visualizer.js.map +1 -1
  73. package/build/components/grid/use-grid-layout-sync.js +29 -22
  74. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  75. package/build/components/inner-blocks/index.js +1 -1
  76. package/build/components/inner-blocks/index.js.map +1 -1
  77. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
  78. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  79. package/build/components/inserter/menu.js +26 -4
  80. package/build/components/inserter/menu.js.map +1 -1
  81. package/build/components/inserter/quick-inserter.js +2 -1
  82. package/build/components/inserter/quick-inserter.js.map +1 -1
  83. package/build/components/inspector-controls/block-support-tools-panel.js +2 -1
  84. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  85. package/build/components/link-control/link-preview.js +1 -1
  86. package/build/components/link-control/link-preview.js.map +1 -1
  87. package/build/components/media-placeholder/index.js +19 -23
  88. package/build/components/media-placeholder/index.js.map +1 -1
  89. package/build/components/navigable-toolbar/index.js +3 -1
  90. package/build/components/navigable-toolbar/index.js.map +1 -1
  91. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +5 -1
  92. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  93. package/build/components/tabbed-sidebar/index.js +66 -0
  94. package/build/components/tabbed-sidebar/index.js.map +1 -0
  95. package/build/components/url-popover/index.js +3 -0
  96. package/build/components/url-popover/index.js.map +1 -1
  97. package/build/hooks/background.js +26 -4
  98. package/build/hooks/background.js.map +1 -1
  99. package/build/hooks/block-hooks.js +11 -17
  100. package/build/hooks/block-hooks.js.map +1 -1
  101. package/build/hooks/block-style-variation.js +169 -4
  102. package/build/hooks/block-style-variation.js.map +1 -1
  103. package/build/hooks/duotone.js +16 -11
  104. package/build/hooks/duotone.js.map +1 -1
  105. package/build/hooks/grid-visualizer.js +65 -0
  106. package/build/hooks/grid-visualizer.js.map +1 -0
  107. package/build/hooks/index.js +15 -2
  108. package/build/hooks/index.js.map +1 -1
  109. package/build/hooks/layout-child.js +39 -22
  110. package/build/hooks/layout-child.js.map +1 -1
  111. package/build/hooks/position.js +2 -9
  112. package/build/hooks/position.js.map +1 -1
  113. package/build/hooks/use-bindings-attributes.js +16 -6
  114. package/build/hooks/use-bindings-attributes.js.map +1 -1
  115. package/build/hooks/utils.js +2 -0
  116. package/build/hooks/utils.js.map +1 -1
  117. package/build/layouts/constrained.js +44 -2
  118. package/build/layouts/constrained.js.map +1 -1
  119. package/build/layouts/grid.js +90 -51
  120. package/build/layouts/grid.js.map +1 -1
  121. package/build/private-apis.js +6 -1
  122. package/build/private-apis.js.map +1 -1
  123. package/build/store/defaults.js +0 -2
  124. package/build/store/defaults.js.map +1 -1
  125. package/build/store/defaults.native.js +0 -3
  126. package/build/store/defaults.native.js.map +1 -1
  127. package/build/store/private-keys.js +2 -1
  128. package/build/store/private-keys.js.map +1 -1
  129. package/build/utils/format-font-style.js +45 -0
  130. package/build/utils/format-font-style.js.map +1 -0
  131. package/build/utils/format-font-weight.js +68 -0
  132. package/build/utils/format-font-weight.js.map +1 -0
  133. package/build/utils/get-editor-region.js +34 -0
  134. package/build/utils/get-editor-region.js.map +1 -0
  135. package/build/utils/get-font-styles-and-weights.js +167 -0
  136. package/build/utils/get-font-styles-and-weights.js.map +1 -0
  137. package/build/utils/pasting.js +5 -13
  138. package/build/utils/pasting.js.map +1 -1
  139. package/build-module/components/block-breadcrumb/index.js +12 -1
  140. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  141. package/build-module/components/block-lock/toolbar.js +0 -1
  142. package/build-module/components/block-lock/toolbar.js.map +1 -1
  143. package/build-module/components/block-mover/button.js +1 -1
  144. package/build-module/components/block-mover/button.js.map +1 -1
  145. package/build-module/components/block-mover/index.js +1 -1
  146. package/build-module/components/block-mover/index.js.map +1 -1
  147. package/build-module/components/block-pattern-setup/setup-toolbar.js +2 -2
  148. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  149. package/build-module/components/block-patterns-paging/index.js +5 -7
  150. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  151. package/build-module/components/block-quick-navigation/index.js +20 -17
  152. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  153. package/build-module/components/block-rename/modal.js +5 -13
  154. package/build-module/components/block-rename/modal.js.map +1 -1
  155. package/build-module/components/block-toolbar/shuffle.js +1 -0
  156. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  157. package/build-module/components/block-tools/block-selection-button.js +10 -61
  158. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  159. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +9 -2
  160. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  161. package/build-module/components/block-tools/index.js +14 -1
  162. package/build-module/components/block-tools/index.js.map +1 -1
  163. package/build-module/components/block-tools/use-show-block-tools.js +4 -2
  164. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  165. package/build-module/components/block-tools/zoom-out-mode-inserters.js +5 -4
  166. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  167. package/build-module/components/block-tools/zoom-out-popover.js +48 -0
  168. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -0
  169. package/build-module/components/block-tools/zoom-out-toolbar.js +131 -0
  170. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -0
  171. package/build-module/components/button-block-appender/index.js +3 -1
  172. package/build-module/components/button-block-appender/index.js.map +1 -1
  173. package/build-module/components/child-layout-control/index.js +27 -19
  174. package/build-module/components/child-layout-control/index.js.map +1 -1
  175. package/build-module/components/date-format-picker/index.js +11 -3
  176. package/build-module/components/date-format-picker/index.js.map +1 -1
  177. package/build-module/components/dimensions-tool/index.js +6 -4
  178. package/build-module/components/dimensions-tool/index.js.map +1 -1
  179. package/build-module/components/font-appearance-control/index.js +28 -63
  180. package/build-module/components/font-appearance-control/index.js.map +1 -1
  181. package/build-module/components/global-styles/background-panel.js +181 -119
  182. package/build-module/components/global-styles/background-panel.js.map +1 -1
  183. package/build-module/components/global-styles/border-panel.js +3 -2
  184. package/build-module/components/global-styles/border-panel.js.map +1 -1
  185. package/build-module/components/global-styles/color-panel.js +3 -2
  186. package/build-module/components/global-styles/color-panel.js.map +1 -1
  187. package/build-module/components/global-styles/dimensions-panel.js +3 -2
  188. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  189. package/build-module/components/global-styles/filters-panel.js +3 -2
  190. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  191. package/build-module/components/global-styles/hooks.js +8 -0
  192. package/build-module/components/global-styles/hooks.js.map +1 -1
  193. package/build-module/components/global-styles/image-settings-panel.js +3 -2
  194. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  195. package/build-module/components/global-styles/typography-panel.js +52 -14
  196. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  197. package/build-module/components/global-styles/typography-utils.js +48 -0
  198. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  199. package/build-module/components/global-styles/use-global-styles-output.js +23 -8
  200. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  201. package/build-module/components/global-styles/utils.js +15 -6
  202. package/build-module/components/global-styles/utils.js.map +1 -1
  203. package/build-module/components/grid/grid-item-movers.js +11 -14
  204. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  205. package/build-module/components/grid/grid-item-resizer.js +2 -2
  206. package/build-module/components/grid/grid-item-resizer.js.map +1 -1
  207. package/build-module/components/grid/grid-visualizer.js +117 -37
  208. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  209. package/build-module/components/grid/use-grid-layout-sync.js +29 -22
  210. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  211. package/build-module/components/inner-blocks/index.js +1 -1
  212. package/build-module/components/inner-blocks/index.js.map +1 -1
  213. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
  214. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  215. package/build-module/components/inserter/menu.js +26 -4
  216. package/build-module/components/inserter/menu.js.map +1 -1
  217. package/build-module/components/inserter/quick-inserter.js +2 -1
  218. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  219. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -2
  220. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  221. package/build-module/components/link-control/link-preview.js +1 -1
  222. package/build-module/components/link-control/link-preview.js.map +1 -1
  223. package/build-module/components/media-placeholder/index.js +19 -23
  224. package/build-module/components/media-placeholder/index.js.map +1 -1
  225. package/build-module/components/navigable-toolbar/index.js +3 -1
  226. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  227. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +5 -1
  228. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  229. package/build-module/components/tabbed-sidebar/index.js +60 -0
  230. package/build-module/components/tabbed-sidebar/index.js.map +1 -0
  231. package/build-module/components/url-popover/index.js +3 -0
  232. package/build-module/components/url-popover/index.js.map +1 -1
  233. package/build-module/hooks/background.js +26 -4
  234. package/build-module/hooks/background.js.map +1 -1
  235. package/build-module/hooks/block-hooks.js +11 -17
  236. package/build-module/hooks/block-hooks.js.map +1 -1
  237. package/build-module/hooks/block-style-variation.js +168 -4
  238. package/build-module/hooks/block-style-variation.js.map +1 -1
  239. package/build-module/hooks/duotone.js +16 -11
  240. package/build-module/hooks/duotone.js.map +1 -1
  241. package/build-module/hooks/grid-visualizer.js +64 -0
  242. package/build-module/hooks/grid-visualizer.js.map +1 -0
  243. package/build-module/hooks/index.js +3 -0
  244. package/build-module/hooks/index.js.map +1 -1
  245. package/build-module/hooks/layout-child.js +39 -22
  246. package/build-module/hooks/layout-child.js.map +1 -1
  247. package/build-module/hooks/position.js +2 -9
  248. package/build-module/hooks/position.js.map +1 -1
  249. package/build-module/hooks/use-bindings-attributes.js +16 -6
  250. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  251. package/build-module/hooks/utils.js +2 -0
  252. package/build-module/hooks/utils.js.map +1 -1
  253. package/build-module/layouts/constrained.js +44 -2
  254. package/build-module/layouts/constrained.js.map +1 -1
  255. package/build-module/layouts/grid.js +90 -51
  256. package/build-module/layouts/grid.js.map +1 -1
  257. package/build-module/private-apis.js +8 -3
  258. package/build-module/private-apis.js.map +1 -1
  259. package/build-module/store/defaults.js +0 -2
  260. package/build-module/store/defaults.js.map +1 -1
  261. package/build-module/store/defaults.native.js +0 -3
  262. package/build-module/store/defaults.native.js.map +1 -1
  263. package/build-module/store/private-keys.js +1 -0
  264. package/build-module/store/private-keys.js.map +1 -1
  265. package/build-module/utils/format-font-style.js +39 -0
  266. package/build-module/utils/format-font-style.js.map +1 -0
  267. package/build-module/utils/format-font-weight.js +62 -0
  268. package/build-module/utils/format-font-weight.js.map +1 -0
  269. package/build-module/utils/get-editor-region.js +28 -0
  270. package/build-module/utils/get-editor-region.js.map +1 -0
  271. package/build-module/utils/get-font-styles-and-weights.js +160 -0
  272. package/build-module/utils/get-font-styles-and-weights.js.map +1 -0
  273. package/build-module/utils/pasting.js +5 -13
  274. package/build-module/utils/pasting.js.map +1 -1
  275. package/build-style/content-rtl.css +1 -0
  276. package/build-style/content.css +1 -0
  277. package/build-style/style-rtl.css +207 -96
  278. package/build-style/style.css +207 -96
  279. package/package.json +32 -32
  280. package/src/components/block-breadcrumb/index.js +16 -1
  281. package/src/components/block-lock/toolbar.js +0 -1
  282. package/src/components/block-mover/button.js +1 -1
  283. package/src/components/block-mover/index.js +1 -1
  284. package/src/components/block-pattern-setup/setup-toolbar.js +2 -2
  285. package/src/components/block-patterns-paging/index.js +8 -11
  286. package/src/components/block-patterns-paging/style.scss +18 -0
  287. package/src/components/block-quick-navigation/index.js +21 -28
  288. package/src/components/block-rename/modal.js +2 -8
  289. package/src/components/block-switcher/test/index.js +6 -6
  290. package/src/components/block-toolbar/shuffle.js +1 -0
  291. package/src/components/block-toolbar/style.scss +1 -11
  292. package/src/components/block-tools/block-selection-button.js +11 -83
  293. package/src/components/block-tools/block-toolbar-breadcrumb.js +9 -4
  294. package/src/components/block-tools/index.js +21 -1
  295. package/src/components/block-tools/style.scss +15 -0
  296. package/src/components/block-tools/use-show-block-tools.js +14 -6
  297. package/src/components/block-tools/zoom-out-mode-inserters.js +5 -4
  298. package/src/components/block-tools/zoom-out-popover.js +49 -0
  299. package/src/components/block-tools/zoom-out-toolbar.js +140 -0
  300. package/src/components/button-block-appender/index.js +2 -1
  301. package/src/components/child-layout-control/index.js +41 -23
  302. package/src/components/date-format-picker/index.js +10 -1
  303. package/src/components/date-format-picker/style.scss +0 -9
  304. package/src/components/dimensions-tool/index.js +97 -89
  305. package/src/components/font-appearance-control/index.js +29 -83
  306. package/src/components/font-appearance-control/style.scss +3 -5
  307. package/src/components/global-styles/background-panel.js +249 -170
  308. package/src/components/global-styles/border-panel.js +3 -2
  309. package/src/components/global-styles/color-panel.js +3 -2
  310. package/src/components/global-styles/dimensions-panel.js +3 -2
  311. package/src/components/global-styles/filters-panel.js +3 -2
  312. package/src/components/global-styles/hooks.js +9 -0
  313. package/src/components/global-styles/image-settings-panel.js +3 -2
  314. package/src/components/global-styles/style.scss +105 -20
  315. package/src/components/global-styles/test/typography-utils.js +269 -0
  316. package/src/components/global-styles/typography-panel.js +49 -12
  317. package/src/components/global-styles/typography-utils.js +63 -0
  318. package/src/components/global-styles/use-global-styles-output.js +23 -8
  319. package/src/components/global-styles/utils.js +17 -6
  320. package/src/components/grid/grid-item-movers.js +11 -27
  321. package/src/components/grid/grid-item-resizer.js +3 -2
  322. package/src/components/grid/grid-visualizer.js +171 -54
  323. package/src/components/grid/style.scss +43 -8
  324. package/src/components/grid/use-grid-layout-sync.js +31 -28
  325. package/src/components/iframe/content.scss +1 -0
  326. package/src/components/inner-blocks/index.js +2 -1
  327. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -16
  328. package/src/components/inserter/menu.js +47 -13
  329. package/src/components/inserter/quick-inserter.js +6 -1
  330. package/src/components/inserter/style.scss +1 -49
  331. package/src/components/inspector-controls/block-support-tools-panel.js +3 -3
  332. package/src/components/link-control/link-preview.js +1 -1
  333. package/src/components/media-placeholder/index.js +22 -32
  334. package/src/components/navigable-toolbar/index.js +3 -1
  335. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +6 -1
  336. package/src/components/tabbed-sidebar/README.md +76 -0
  337. package/src/components/tabbed-sidebar/index.js +70 -0
  338. package/src/components/tabbed-sidebar/style.scss +53 -0
  339. package/src/components/url-popover/index.js +3 -0
  340. package/src/hooks/background.js +25 -10
  341. package/src/hooks/block-hooks.js +9 -16
  342. package/src/hooks/block-style-variation.js +202 -3
  343. package/src/hooks/duotone.js +16 -12
  344. package/src/hooks/grid-visualizer.js +64 -0
  345. package/src/hooks/index.js +3 -0
  346. package/src/hooks/layout-child.js +53 -37
  347. package/src/hooks/position.js +3 -10
  348. package/src/hooks/test/get-variation-styles-with-ref-values.js +91 -0
  349. package/src/hooks/use-bindings-attributes.js +18 -4
  350. package/src/hooks/utils.js +2 -0
  351. package/src/layouts/constrained.js +43 -2
  352. package/src/layouts/grid.js +146 -51
  353. package/src/private-apis.js +12 -1
  354. package/src/store/defaults.js +0 -2
  355. package/src/store/defaults.native.js +0 -3
  356. package/src/store/private-keys.js +1 -0
  357. package/src/style.scss +1 -1
  358. package/src/utils/format-font-style.js +40 -0
  359. package/src/utils/format-font-weight.js +63 -0
  360. package/src/utils/get-editor-region.js +31 -0
  361. package/src/utils/get-font-styles-and-weights.js +191 -0
  362. package/src/utils/pasting.js +5 -12
  363. package/src/utils/test/format-font-style.js +34 -0
  364. package/src/utils/test/format-font-weight.js +66 -0
  365. package/src/utils/test/get-font-styles-and-weights.js +513 -0
  366. package/tsconfig.tsbuildinfo +1 -1
  367. package/src/hooks/position.scss +0 -18
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = ZoomOutPopover;
8
+ var _clsx = _interopRequireDefault(require("clsx"));
9
+ var _blockPopover = _interopRequireDefault(require("../block-popover"));
10
+ var _useBlockToolbarPopoverProps = _interopRequireDefault(require("./use-block-toolbar-popover-props"));
11
+ var _useSelectedBlockToolProps = _interopRequireDefault(require("./use-selected-block-tool-props"));
12
+ var _zoomOutToolbar = _interopRequireDefault(require("./zoom-out-toolbar"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ /**
15
+ * External dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ function ZoomOutPopover({
23
+ clientId,
24
+ __unstableContentRef
25
+ }) {
26
+ const {
27
+ capturingClientId,
28
+ isInsertionPointVisible,
29
+ lastClientId,
30
+ rootClientId
31
+ } = (0, _useSelectedBlockToolProps.default)(clientId);
32
+ const popoverProps = (0, _useBlockToolbarPopoverProps.default)({
33
+ contentElement: __unstableContentRef?.current,
34
+ clientId
35
+ });
36
+
37
+ // Override some of the popover props for the zoom-out toolbar.
38
+ const props = {
39
+ ...popoverProps,
40
+ placement: 'left-start',
41
+ flip: false
42
+ };
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockPopover.default, {
44
+ clientId: capturingClientId || clientId,
45
+ bottomClientId: lastClientId,
46
+ className: (0, _clsx.default)('zoom-out-toolbar-popover', {
47
+ 'is-insertion-point-visible': isInsertionPointVisible
48
+ }),
49
+ resize: false,
50
+ ...props,
51
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_zoomOutToolbar.default, {
52
+ clientId: clientId,
53
+ rootClientId: rootClientId
54
+ })
55
+ });
56
+ }
57
+ //# sourceMappingURL=zoom-out-popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blockPopover","_useBlockToolbarPopoverProps","_useSelectedBlockToolProps","_zoomOutToolbar","_jsxRuntime","ZoomOutPopover","clientId","__unstableContentRef","capturingClientId","isInsertionPointVisible","lastClientId","rootClientId","useSelectedBlockToolProps","popoverProps","useBlockToolbarPopoverProps","contentElement","current","props","placement","flip","jsx","default","bottomClientId","className","clsx","resize","children"],"sources":["@wordpress/block-editor/src/components/block-tools/zoom-out-popover.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * Internal dependencies\n */\nimport BlockPopover from '../block-popover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport useSelectedBlockToolProps from './use-selected-block-tool-props';\nimport ZoomOutToolbar from './zoom-out-toolbar';\n\nexport default function ZoomOutPopover( { clientId, __unstableContentRef } ) {\n\tconst {\n\t\tcapturingClientId,\n\t\tisInsertionPointVisible,\n\t\tlastClientId,\n\t\trootClientId,\n\t} = useSelectedBlockToolProps( clientId );\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\t// Override some of the popover props for the zoom-out toolbar.\n\tconst props = {\n\t\t...popoverProps,\n\t\tplacement: 'left-start',\n\t\tflip: false,\n\t};\n\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ capturingClientId || clientId }\n\t\t\tbottomClientId={ lastClientId }\n\t\t\tclassName={ clsx( 'zoom-out-toolbar-popover', {\n\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t} ) }\n\t\t\tresize={ false }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<ZoomOutToolbar\n\t\t\t\tclientId={ clientId }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t</BlockPopover>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,4BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,0BAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAgD,IAAAK,WAAA,GAAAL,OAAA;AAVhD;AACA;AACA;;AAEA;AACA;AACA;;AAMe,SAASM,cAAcA,CAAE;EAAEC,QAAQ;EAAEC;AAAqB,CAAC,EAAG;EAC5E,MAAM;IACLC,iBAAiB;IACjBC,uBAAuB;IACvBC,YAAY;IACZC;EACD,CAAC,GAAG,IAAAC,kCAAyB,EAAEN,QAAS,CAAC;EAEzC,MAAMO,YAAY,GAAG,IAAAC,oCAA2B,EAAE;IACjDC,cAAc,EAAER,oBAAoB,EAAES,OAAO;IAC7CV;EACD,CAAE,CAAC;;EAEH;EACA,MAAMW,KAAK,GAAG;IACb,GAAGJ,YAAY;IACfK,SAAS,EAAE,YAAY;IACvBC,IAAI,EAAE;EACP,CAAC;EAED,oBACC,IAAAf,WAAA,CAAAgB,GAAA,EAACpB,aAAA,CAAAqB,OAAY;IACZf,QAAQ,EAAGE,iBAAiB,IAAIF,QAAU;IAC1CgB,cAAc,EAAGZ,YAAc;IAC/Ba,SAAS,EAAG,IAAAC,aAAI,EAAE,0BAA0B,EAAE;MAC7C,4BAA4B,EAAEf;IAC/B,CAAE,CAAG;IACLgB,MAAM,EAAG,KAAO;IAAA,GACXR,KAAK;IAAAS,QAAA,eAEV,IAAAtB,WAAA,CAAAgB,GAAA,EAACjB,eAAA,CAAAkB,OAAc;MACdf,QAAQ,EAAGA,QAAU;MACrBK,YAAY,EAAGA;IAAc,CAC7B;EAAC,CACW,CAAC;AAEjB","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = ZoomOutToolbar;
8
+ var _clsx = _interopRequireDefault(require("clsx"));
9
+ var _icons = require("@wordpress/icons");
10
+ var _components = require("@wordpress/components");
11
+ var _data = require("@wordpress/data");
12
+ var _blocks = require("@wordpress/blocks");
13
+ var _i18n = require("@wordpress/i18n");
14
+ var _store = require("../../store");
15
+ var _blockDraggable = _interopRequireDefault(require("../block-draggable"));
16
+ var _blockMover = _interopRequireDefault(require("../block-mover"));
17
+ var _shuffle = _interopRequireDefault(require("../block-toolbar/shuffle"));
18
+ var _navigableToolbar = _interopRequireDefault(require("../navigable-toolbar"));
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ /**
21
+ * External dependencies
22
+ */
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies
30
+ */
31
+
32
+ function ZoomOutToolbar({
33
+ clientId,
34
+ rootClientId
35
+ }) {
36
+ const selected = (0, _data.useSelect)(select => {
37
+ const {
38
+ getBlock,
39
+ hasBlockMovingClientId,
40
+ getNextBlockClientId,
41
+ getPreviousBlockClientId,
42
+ canRemoveBlock,
43
+ canMoveBlock
44
+ } = select(_store.store);
45
+ const {
46
+ getBlockType
47
+ } = select(_blocks.store);
48
+ const {
49
+ name
50
+ } = getBlock(clientId);
51
+ const blockType = getBlockType(name);
52
+ const isBlockTemplatePart = blockType?.name === 'core/template-part';
53
+ let isNextBlockTemplatePart = false;
54
+ const nextClientId = getNextBlockClientId();
55
+ if (nextClientId) {
56
+ const {
57
+ name: nextName
58
+ } = getBlock(nextClientId);
59
+ const nextBlockType = getBlockType(nextName);
60
+ isNextBlockTemplatePart = nextBlockType?.name === 'core/template-part';
61
+ }
62
+ let isPrevBlockTemplatePart = false;
63
+ const prevClientId = getPreviousBlockClientId();
64
+ if (prevClientId) {
65
+ const {
66
+ name: prevName
67
+ } = getBlock(prevClientId);
68
+ const prevBlockType = getBlockType(prevName);
69
+ isPrevBlockTemplatePart = prevBlockType?.name === 'core/template-part';
70
+ }
71
+ return {
72
+ blockMovingMode: hasBlockMovingClientId(),
73
+ isBlockTemplatePart,
74
+ isNextBlockTemplatePart,
75
+ isPrevBlockTemplatePart,
76
+ canRemove: canRemoveBlock(clientId, rootClientId),
77
+ canMove: canMoveBlock(clientId, rootClientId)
78
+ };
79
+ }, [clientId, rootClientId]);
80
+ const {
81
+ blockMovingMode,
82
+ isBlockTemplatePart,
83
+ isNextBlockTemplatePart,
84
+ isPrevBlockTemplatePart,
85
+ canRemove,
86
+ canMove
87
+ } = selected;
88
+ const {
89
+ removeBlock
90
+ } = (0, _data.useDispatch)(_store.store);
91
+ const classNames = (0, _clsx.default)('zoom-out-toolbar', {
92
+ 'is-block-moving-mode': !!blockMovingMode
93
+ });
94
+ const showBlockDraggable = canMove && !isBlockTemplatePart;
95
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_navigableToolbar.default, {
96
+ className: classNames
97
+ /* translators: accessibility text for the block toolbar */,
98
+ "aria-label": (0, _i18n.__)('Block tools')
99
+ // The variant is applied as "toolbar" when undefined, which is the black border style of the dropdown from the toolbar popover.
100
+ ,
101
+ variant: "unstyled",
102
+ orientation: "vertical",
103
+ children: [showBlockDraggable && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockDraggable.default, {
104
+ clientIds: [clientId],
105
+ children: draggableProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
106
+ icon: _icons.dragHandle,
107
+ className: "block-selection-button_drag-handle zoom-out-toolbar-button",
108
+ "aria-hidden": "true",
109
+ label: (0, _i18n.__)('Drag'),
110
+ iconSize: 24,
111
+ size: "compact"
112
+ // Should not be able to tab to drag handle as this
113
+ // button can only be used with a pointer device.
114
+ ,
115
+ tabIndex: "-1",
116
+ ...draggableProps
117
+ })
118
+ }), !isBlockTemplatePart && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockMover.default, {
119
+ clientIds: [clientId],
120
+ hideDragHandle: true,
121
+ isBlockMoverUpButtonDisabled: isPrevBlockTemplatePart,
122
+ isBlockMoverDownButtonDisabled: isNextBlockTemplatePart,
123
+ iconSize: 24,
124
+ size: "compact"
125
+ }), canMove && canRemove && /*#__PURE__*/(0, _jsxRuntime.jsx)(_shuffle.default, {
126
+ clientId: clientId,
127
+ as: _components.ToolbarButton
128
+ }), canRemove && !isBlockTemplatePart && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
129
+ className: "zoom-out-toolbar-button",
130
+ icon: _icons.trash,
131
+ label: "Delete",
132
+ onClick: () => {
133
+ removeBlock(clientId);
134
+ }
135
+ })]
136
+ });
137
+ }
138
+ //# sourceMappingURL=zoom-out-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_icons","_components","_data","_blocks","_i18n","_store","_blockDraggable","_blockMover","_shuffle","_navigableToolbar","_jsxRuntime","ZoomOutToolbar","clientId","rootClientId","selected","useSelect","select","getBlock","hasBlockMovingClientId","getNextBlockClientId","getPreviousBlockClientId","canRemoveBlock","canMoveBlock","blockEditorStore","getBlockType","blocksStore","name","blockType","isBlockTemplatePart","isNextBlockTemplatePart","nextClientId","nextName","nextBlockType","isPrevBlockTemplatePart","prevClientId","prevName","prevBlockType","blockMovingMode","canRemove","canMove","removeBlock","useDispatch","classNames","clsx","showBlockDraggable","jsxs","default","className","__","variant","orientation","children","jsx","clientIds","draggableProps","Button","icon","dragHandle","label","iconSize","size","tabIndex","hideDragHandle","isBlockMoverUpButtonDisabled","isBlockMoverDownButtonDisabled","as","ToolbarButton","trash","onClick"],"sources":["@wordpress/block-editor/src/components/block-tools/zoom-out-toolbar.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { dragHandle, trash } from '@wordpress/icons';\nimport { Button, ToolbarButton } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockDraggable from '../block-draggable';\nimport BlockMover from '../block-mover';\nimport Shuffle from '../block-toolbar/shuffle';\nimport NavigableToolbar from '../navigable-toolbar';\n\nexport default function ZoomOutToolbar( { clientId, rootClientId } ) {\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\tconst { name } = getBlock( clientId );\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst isBlockTemplatePart =\n\t\t\t\tblockType?.name === 'core/template-part';\n\n\t\t\tlet isNextBlockTemplatePart = false;\n\t\t\tconst nextClientId = getNextBlockClientId();\n\t\t\tif ( nextClientId ) {\n\t\t\t\tconst { name: nextName } = getBlock( nextClientId );\n\t\t\t\tconst nextBlockType = getBlockType( nextName );\n\t\t\t\tisNextBlockTemplatePart =\n\t\t\t\t\tnextBlockType?.name === 'core/template-part';\n\t\t\t}\n\n\t\t\tlet isPrevBlockTemplatePart = false;\n\t\t\tconst prevClientId = getPreviousBlockClientId();\n\t\t\tif ( prevClientId ) {\n\t\t\t\tconst { name: prevName } = getBlock( prevClientId );\n\t\t\t\tconst prevBlockType = getBlockType( prevName );\n\t\t\t\tisPrevBlockTemplatePart =\n\t\t\t\t\tprevBlockType?.name === 'core/template-part';\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tblockMovingMode: hasBlockMovingClientId(),\n\t\t\t\tisBlockTemplatePart,\n\t\t\t\tisNextBlockTemplatePart,\n\t\t\t\tisPrevBlockTemplatePart,\n\t\t\t\tcanRemove: canRemoveBlock( clientId, rootClientId ),\n\t\t\t\tcanMove: canMoveBlock( clientId, rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tconst {\n\t\tblockMovingMode,\n\t\tisBlockTemplatePart,\n\t\tisNextBlockTemplatePart,\n\t\tisPrevBlockTemplatePart,\n\t\tcanRemove,\n\t\tcanMove,\n\t} = selected;\n\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\n\tconst classNames = clsx( 'zoom-out-toolbar', {\n\t\t'is-block-moving-mode': !! blockMovingMode,\n\t} );\n\n\tconst showBlockDraggable = canMove && ! isBlockTemplatePart;\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName={ classNames }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant=\"unstyled\"\n\t\t\torientation=\"vertical\"\n\t\t>\n\t\t\t{ showBlockDraggable && (\n\t\t\t\t<BlockDraggable clientIds={ [ clientId ] }>\n\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\tclassName=\"block-selection-button_drag-handle zoom-out-toolbar-button\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tlabel={ __( 'Drag' ) }\n\t\t\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockDraggable>\n\t\t\t) }\n\t\t\t{ ! isBlockTemplatePart && (\n\t\t\t\t<BlockMover\n\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\thideDragHandle\n\t\t\t\t\tisBlockMoverUpButtonDisabled={ isPrevBlockTemplatePart }\n\t\t\t\t\tisBlockMoverDownButtonDisabled={ isNextBlockTemplatePart }\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canMove && canRemove && (\n\t\t\t\t<Shuffle clientId={ clientId } as={ ToolbarButton } />\n\t\t\t) }\n\t\t\t{ canRemove && ! isBlockTemplatePart && (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tclassName=\"zoom-out-toolbar-button\"\n\t\t\t\t\ticon={ trash }\n\t\t\t\t\tlabel=\"Delete\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</NavigableToolbar>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,12 +29,14 @@ function ButtonBlockAppender({
29
29
  rootClientId,
30
30
  className,
31
31
  onFocus,
32
- tabIndex
32
+ tabIndex,
33
+ onSelect
33
34
  }, ref) {
34
35
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inserter.default, {
35
36
  position: "bottom center",
36
37
  rootClientId: rootClientId,
37
38
  __experimentalIsQuick: true,
39
+ onSelectOrClose: onSelect,
38
40
  renderToggle: ({
39
41
  onToggle,
40
42
  disabled,
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_element","_i18n","_icons","_deprecated","_inserter","_jsxRuntime","ButtonBlockAppender","rootClientId","className","onFocus","tabIndex","ref","jsx","default","position","__experimentalIsQuick","renderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","label","sprintf","_x","isToggleButton","inserterButton","jsxs","Button","clsx","onClick","undefined","children","VisuallyHidden","as","Icon","icon","plus","Tooltip","text","isAppender","ButtonBlockerAppender","exports","forwardRef","props","deprecated","alternative","since","_default"],"sources":["@wordpress/block-editor/src/components/button-block-appender/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Tooltip, VisuallyHidden } from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { Icon, plus } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\n\nfunction ButtonBlockAppender(\n\t{ rootClientId, className, onFocus, tabIndex },\n\tref\n) {\n\treturn (\n\t\t<Inserter\n\t\t\tposition=\"bottom center\"\n\t\t\trootClientId={ rootClientId }\n\t\t\t__experimentalIsQuick\n\t\t\trenderToggle={ ( {\n\t\t\t\tonToggle,\n\t\t\t\tdisabled,\n\t\t\t\tisOpen,\n\t\t\t\tblockTitle,\n\t\t\t\thasSingleBlockType,\n\t\t\t} ) => {\n\t\t\t\tlet label;\n\t\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\t\t\t\tblockTitle\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlabel = _x(\n\t\t\t\t\t\t'Add block',\n\t\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst isToggleButton = ! hasSingleBlockType;\n\n\t\t\t\tlet inserterButton = (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t'block-editor-button-block-appender'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup={ isToggleButton ? 'true' : undefined }\n\t\t\t\t\t\taria-expanded={ isToggleButton ? isOpen : undefined }\n\t\t\t\t\t\t// Disable reason: There shouldn't be a case where this button is disabled but not visually hidden.\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! hasSingleBlockType && (\n\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">{ label }</VisuallyHidden>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Icon icon={ plus } />\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\n\t\t\t\tif ( isToggleButton || hasSingleBlockType ) {\n\t\t\t\t\tinserterButton = (\n\t\t\t\t\t\t<Tooltip text={ label }>{ inserterButton }</Tooltip>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn inserterButton;\n\t\t\t} }\n\t\t\tisAppender\n\t\t/>\n\t);\n}\n\n/**\n * Use `ButtonBlockAppender` instead.\n *\n * @deprecated\n */\nexport const ButtonBlockerAppender = forwardRef( ( props, ref ) => {\n\tdeprecated( `wp.blockEditor.ButtonBlockerAppender`, {\n\t\talternative: 'wp.blockEditor.ButtonBlockAppender',\n\t\tsince: '5.9',\n\t} );\n\n\treturn ButtonBlockAppender( props, ref );\n} );\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/button-block-appender/README.md\n */\nexport default forwardRef( ButtonBlockAppender );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_element","_i18n","_icons","_deprecated","_inserter","_jsxRuntime","ButtonBlockAppender","rootClientId","className","onFocus","tabIndex","onSelect","ref","jsx","default","position","__experimentalIsQuick","onSelectOrClose","renderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","label","sprintf","_x","isToggleButton","inserterButton","jsxs","Button","clsx","onClick","undefined","children","VisuallyHidden","as","Icon","icon","plus","Tooltip","text","isAppender","ButtonBlockerAppender","exports","forwardRef","props","deprecated","alternative","since","_default"],"sources":["@wordpress/block-editor/src/components/button-block-appender/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Tooltip, VisuallyHidden } from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { Icon, plus } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\n\nfunction ButtonBlockAppender(\n\t{ rootClientId, className, onFocus, tabIndex, onSelect },\n\tref\n) {\n\treturn (\n\t\t<Inserter\n\t\t\tposition=\"bottom center\"\n\t\t\trootClientId={ rootClientId }\n\t\t\t__experimentalIsQuick\n\t\t\tonSelectOrClose={ onSelect }\n\t\t\trenderToggle={ ( {\n\t\t\t\tonToggle,\n\t\t\t\tdisabled,\n\t\t\t\tisOpen,\n\t\t\t\tblockTitle,\n\t\t\t\thasSingleBlockType,\n\t\t\t} ) => {\n\t\t\t\tlet label;\n\t\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\t\t\t\tblockTitle\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlabel = _x(\n\t\t\t\t\t\t'Add block',\n\t\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst isToggleButton = ! hasSingleBlockType;\n\n\t\t\t\tlet inserterButton = (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t'block-editor-button-block-appender'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup={ isToggleButton ? 'true' : undefined }\n\t\t\t\t\t\taria-expanded={ isToggleButton ? isOpen : undefined }\n\t\t\t\t\t\t// Disable reason: There shouldn't be a case where this button is disabled but not visually hidden.\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! hasSingleBlockType && (\n\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">{ label }</VisuallyHidden>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Icon icon={ plus } />\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\n\t\t\t\tif ( isToggleButton || hasSingleBlockType ) {\n\t\t\t\t\tinserterButton = (\n\t\t\t\t\t\t<Tooltip text={ label }>{ inserterButton }</Tooltip>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn inserterButton;\n\t\t\t} }\n\t\t\tisAppender\n\t\t/>\n\t);\n}\n\n/**\n * Use `ButtonBlockAppender` instead.\n *\n * @deprecated\n */\nexport const ButtonBlockerAppender = forwardRef( ( props, ref ) => {\n\tdeprecated( `wp.blockEditor.ButtonBlockerAppender`, {\n\t\talternative: 'wp.blockEditor.ButtonBlockAppender',\n\t\tsince: '5.9',\n\t} );\n\n\treturn ButtonBlockAppender( props, ref );\n} );\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/button-block-appender/README.md\n */\nexport default forwardRef( ButtonBlockAppender );\n"],"mappings":"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","ignoreList":[]}
@@ -134,13 +134,13 @@ function FlexControls({
134
134
  isBlock: true,
135
135
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
136
136
  value: "fit",
137
- label: (0, _i18n.__)('Fit')
137
+ label: (0, _i18n._x)('Fit', 'Intrinsic block width in flex layout')
138
138
  }, "fit"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
139
139
  value: "fill",
140
- label: (0, _i18n.__)('Fill')
140
+ label: (0, _i18n._x)('Grow', 'Block with expanding width in flex layout')
141
141
  }, "fill"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
142
142
  value: "fixed",
143
- label: (0, _i18n.__)('Fixed')
143
+ label: (0, _i18n._x)('Fixed', 'Block with fixed width in flex layout')
144
144
  }, "fixed")]
145
145
  }), selfStretch === 'fixed' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalUnitControl, {
146
146
  size: "__unstable-large",
@@ -174,15 +174,15 @@ function GridControls({
174
174
  rowSpan
175
175
  } = childLayout;
176
176
  const {
177
- columnCount
177
+ columnCount = 3,
178
+ rowCount
178
179
  } = parentLayout !== null && parentLayout !== void 0 ? parentLayout : {};
179
- const gridColumnNumber = parseInt(columnCount, 10) || 3;
180
180
  const rootClientId = (0, _data.useSelect)(select => select(_store.store).getBlockRootClientId(panelId));
181
181
  const {
182
182
  moveBlocksToPosition,
183
183
  __unstableMarkNextChangeAsNotPersistent
184
184
  } = (0, _data.useDispatch)(_store.store);
185
- const getNumberOfBlocksBeforeCell = (0, _useGetNumberOfBlocksBeforeCell.useGetNumberOfBlocksBeforeCell)(rootClientId, gridColumnNumber);
185
+ const getNumberOfBlocksBeforeCell = (0, _useGetNumberOfBlocksBeforeCell.useGetNumberOfBlocksBeforeCell)(rootClientId, columnCount);
186
186
  const hasStartValue = () => !!columnStart || !!rowStart;
187
187
  const hasSpanValue = () => !!columnSpan || !!rowSpan;
188
188
  const resetGridStarts = () => {
@@ -210,28 +210,32 @@ function GridControls({
210
210
  label: (0, _i18n.__)('Column span'),
211
211
  type: "number",
212
212
  onChange: value => {
213
+ // Don't allow unsetting.
214
+ const newColumnSpan = value === '' ? 1 : parseInt(value, 10);
213
215
  onChange({
214
216
  columnStart,
215
217
  rowStart,
216
218
  rowSpan,
217
- columnSpan: value
219
+ columnSpan: newColumnSpan
218
220
  });
219
221
  },
220
- value: columnSpan,
222
+ value: columnSpan !== null && columnSpan !== void 0 ? columnSpan : 1,
221
223
  min: 1
222
224
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
223
225
  size: "__unstable-large",
224
226
  label: (0, _i18n.__)('Row span'),
225
227
  type: "number",
226
228
  onChange: value => {
229
+ // Don't allow unsetting.
230
+ const newRowSpan = value === '' ? 1 : parseInt(value, 10);
227
231
  onChange({
228
232
  columnStart,
229
233
  rowStart,
230
234
  columnSpan,
231
- rowSpan: value
235
+ rowSpan: newRowSpan
232
236
  });
233
237
  },
234
- value: rowSpan,
238
+ value: rowSpan !== null && rowSpan !== void 0 ? rowSpan : 1,
235
239
  min: 1
236
240
  })]
237
241
  }), window.__experimentalEnableGridInteractivity && columnCount &&
@@ -255,18 +259,20 @@ function GridControls({
255
259
  label: (0, _i18n.__)('Column'),
256
260
  type: "number",
257
261
  onChange: value => {
262
+ // Don't allow unsetting.
263
+ const newColumnStart = value === '' ? 1 : parseInt(value, 10);
258
264
  onChange({
259
- columnStart: value,
265
+ columnStart: newColumnStart,
260
266
  rowStart,
261
267
  columnSpan,
262
268
  rowSpan
263
269
  });
264
270
  __unstableMarkNextChangeAsNotPersistent();
265
- moveBlocksToPosition([panelId], rootClientId, rootClientId, getNumberOfBlocksBeforeCell(value, rowStart));
271
+ moveBlocksToPosition([panelId], rootClientId, rootClientId, getNumberOfBlocksBeforeCell(newColumnStart, rowStart));
266
272
  },
267
- value: columnStart,
273
+ value: columnStart !== null && columnStart !== void 0 ? columnStart : 1,
268
274
  min: 1,
269
- max: gridColumnNumber ? gridColumnNumber - (columnSpan !== null && columnSpan !== void 0 ? columnSpan : 1) + 1 : undefined
275
+ max: columnCount ? columnCount - (columnSpan !== null && columnSpan !== void 0 ? columnSpan : 1) + 1 : undefined
270
276
  })
271
277
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
272
278
  style: {
@@ -277,18 +283,20 @@ function GridControls({
277
283
  label: (0, _i18n.__)('Row'),
278
284
  type: "number",
279
285
  onChange: value => {
286
+ // Don't allow unsetting.
287
+ const newRowStart = value === '' ? 1 : parseInt(value, 10);
280
288
  onChange({
281
289
  columnStart,
282
- rowStart: value,
290
+ rowStart: newRowStart,
283
291
  columnSpan,
284
292
  rowSpan
285
293
  });
286
294
  __unstableMarkNextChangeAsNotPersistent();
287
- moveBlocksToPosition([panelId], rootClientId, rootClientId, getNumberOfBlocksBeforeCell(columnStart, value));
295
+ moveBlocksToPosition([panelId], rootClientId, rootClientId, getNumberOfBlocksBeforeCell(columnStart, newRowStart));
288
296
  },
289
- value: rowStart,
297
+ value: rowStart !== null && rowStart !== void 0 ? rowStart : 1,
290
298
  min: 1,
291
- max: parentLayout?.rowCount ? parentLayout.rowCount - (rowSpan !== null && rowSpan !== void 0 ? rowSpan : 1) + 1 : undefined
299
+ max: rowCount ? rowCount - (rowSpan !== null && rowSpan !== void 0 ? rowSpan : 1) + 1 : undefined
292
300
  })
293
301
  })]
294
302
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_data","_useGetNumberOfBlocksBeforeCell","_store","_jsxRuntime","helpText","selfStretch","parentLayout","orientation","__","ChildLayoutControl","value","childLayout","onChange","isShownByDefault","panelId","type","parentType","default","defaultParentType","parentLayoutType","jsx","FlexControls","GridControls","flexSize","hasFlexValue","flexResetLabel","resetFlex","undefined","useEffect","jsxs","__experimentalVStack","as","ToolsPanelItem","spacing","hasValue","label","onDeselect","children","__experimentalToggleGroupControl","__nextHasNoMarginBottom","size","childLayoutOrientation","help","newFlexSize","isBlock","__experimentalToggleGroupControlOption","__experimentalUnitControl","columnStart","rowStart","columnSpan","rowSpan","columnCount","gridColumnNumber","parseInt","rootClientId","useSelect","select","blockEditorStore","getBlockRootClientId","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","useDispatch","getNumberOfBlocksBeforeCell","useGetNumberOfBlocksBeforeCell","hasStartValue","hasSpanValue","resetGridStarts","resetGridSpans","Fragment","__experimentalHStack","__experimentalInputControl","min","window","__experimentalEnableGridInteractivity","Flex","FlexItem","style","width","max","rowCount"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useGetNumberOfBlocksBeforeCell } from '../grid/use-get-number-of-blocks-before-cell';\nimport { store as blockEditorStore } from '../../store';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @param {boolean} props.isShownByDefault\n * @param {string} props.panelId\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tif ( parentLayoutType === 'flex' ) {\n\t\treturn (\n\t\t\t<FlexControls\n\t\t\t\tchildLayout={ childLayout }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t/>\n\t\t);\n\t} else if ( parentLayoutType === 'grid' ) {\n\t\treturn (\n\t\t\t<GridControls\n\t\t\t\tchildLayout={ childLayout }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction FlexControls( {\n\tchildLayout,\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst { selfStretch, flexSize } = childLayout;\n\tconst { orientation = 'horizontal' } = parentLayout ?? {};\n\tconst hasFlexValue = () => !! selfStretch;\n\tconst flexResetLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst resetFlex = () => {\n\t\tonChange( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<VStack\n\t\t\tas={ ToolsPanelItem }\n\t\t\tspacing={ 2 }\n\t\t\thasValue={ hasFlexValue }\n\t\t\tlabel={ flexResetLabel }\n\t\t\tonDeselect={ resetFlex }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst newFlexSize = value !== 'fixed' ? null : flexSize;\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fit\"\n\t\t\t\t\tvalue=\"fit\"\n\t\t\t\t\tlabel={ __( 'Fit' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fill\"\n\t\t\t\t\tvalue=\"fill\"\n\t\t\t\t\tlabel={ __( 'Fill' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fixed\"\n\t\t\t\t\tvalue=\"fixed\"\n\t\t\t\t\tlabel={ __( 'Fixed' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t<UnitControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tselfStretch,\n\t\t\t\t\t\t\tflexSize: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ flexSize }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n\nfunction GridControls( {\n\tchildLayout,\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst { columnStart, rowStart, columnSpan, rowSpan } = childLayout;\n\tconst { columnCount } = parentLayout ?? {};\n\tconst gridColumnNumber = parseInt( columnCount, 10 ) || 3;\n\tconst rootClientId = useSelect( ( select ) =>\n\t\tselect( blockEditorStore ).getBlockRootClientId( panelId )\n\t);\n\tconst { moveBlocksToPosition, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\trootClientId,\n\t\tgridColumnNumber\n\t);\n\tconst hasStartValue = () => !! columnStart || !! rowStart;\n\tconst hasSpanValue = () => !! columnSpan || !! rowSpan;\n\tconst resetGridStarts = () => {\n\t\tonChange( {\n\t\t\tcolumnStart: undefined,\n\t\t\trowStart: undefined,\n\t\t} );\n\t};\n\tconst resetGridSpans = () => {\n\t\tonChange( {\n\t\t\tcolumnSpan: undefined,\n\t\t\trowSpan: undefined,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\thasValue={ hasSpanValue }\n\t\t\t\tlabel={ __( 'Grid span' ) }\n\t\t\t\tonDeselect={ resetGridSpans }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<InputControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tlabel={ __( 'Column span' ) }\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\tcolumnSpan: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ columnSpan }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t/>\n\t\t\t\t<InputControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tlabel={ __( 'Row span' ) }\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\trowSpan: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ rowSpan }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ window.__experimentalEnableGridInteractivity && columnCount && (\n\t\t\t\t// Use Flex with an explicit width on the FlexItem instead of HStack to\n\t\t\t\t// work around an issue in webkit where inputs with a max attribute are\n\t\t\t\t// sized incorrectly.\n\t\t\t\t<Flex\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\thasValue={ hasStartValue }\n\t\t\t\t\tlabel={ __( 'Grid placement' ) }\n\t\t\t\t\tonDeselect={ resetGridStarts }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Column' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart: value,\n\t\t\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t[ panelId ],\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\trowStart\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\tvalue={ columnStart }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tgridColumnNumber\n\t\t\t\t\t\t\t\t\t? gridColumnNumber - ( columnSpan ?? 1 ) + 1\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/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Row' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\trowStart: value,\n\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t[ panelId ],\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\t\tvalue\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\tvalue={ rowStart }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tparentLayout?.rowCount\n\t\t\t\t\t\t\t\t\t? parentLayout.rowCount -\n\t\t\t\t\t\t\t\t\t ( rowSpan ?? 1 ) +\n\t\t\t\t\t\t\t\t\t 1\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/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAWA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,+BAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAAwD,IAAAM,WAAA,GAAAN,OAAA;AAtBxD;AACA;AACA;;AAgBA;AACA;AACA;;AAIA,SAASO,QAAQA,CAAEC,WAAW,EAAEC,YAAY,EAAG;EAC9C,MAAM;IAAEC,WAAW,GAAG;EAAa,CAAC,GAAGD,YAAY;EAEnD,IAAKD,WAAW,KAAK,MAAM,EAAG;IAC7B,OAAO,IAAAG,QAAE,EAAE,kCAAmC,CAAC;EAChD;EACA,IAAKH,WAAW,KAAK,OAAO,IAAIE,WAAW,KAAK,YAAY,EAAG;IAC9D,OAAO,IAAAC,QAAE,EAAE,wBAAyB,CAAC;EACtC,CAAC,MAAM,IAAKH,WAAW,KAAK,OAAO,EAAG;IACrC,OAAO,IAAAG,QAAE,EAAE,yBAA0B,CAAC;EACvC;EACA,OAAO,IAAAA,QAAE,EAAE,eAAgB,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,kBAAkBA,CAAE;EAC3CC,KAAK,EAAEC,WAAW,GAAG,CAAC,CAAC;EACvBC,QAAQ;EACRN,YAAY;EACZO,gBAAgB;EAChBC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,IAAI,EAAEC,UAAU;IAChBC,OAAO,EAAE;MAAEF,IAAI,EAAEG,iBAAiB,GAAG;IAAU,CAAC,GAAG,CAAC;EACrD,CAAC,GAAGZ,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,CAAC,CAAC;EACtB,MAAMa,gBAAgB,GAAGH,UAAU,IAAIE,iBAAiB;EAExD,IAAKC,gBAAgB,KAAK,MAAM,EAAG;IAClC,oBACC,IAAAhB,WAAA,CAAAiB,GAAA,EAACC,YAAY;MACZV,WAAW,EAAGA,WAAa;MAC3BC,QAAQ,EAAGA,QAAU;MACrBN,YAAY,EAAGA,YAAc;MAC7BO,gBAAgB,EAAGA,gBAAkB;MACrCC,OAAO,EAAGA;IAAS,CACnB,CAAC;EAEJ,CAAC,MAAM,IAAKK,gBAAgB,KAAK,MAAM,EAAG;IACzC,oBACC,IAAAhB,WAAA,CAAAiB,GAAA,EAACE,YAAY;MACZX,WAAW,EAAGA,WAAa;MAC3BC,QAAQ,EAAGA,QAAU;MACrBN,YAAY,EAAGA,YAAc;MAC7BO,gBAAgB,EAAGA,gBAAkB;MACrCC,OAAO,EAAGA;IAAS,CACnB,CAAC;EAEJ;EAEA,OAAO,IAAI;AACZ;AAEA,SAASO,YAAYA,CAAE;EACtBV,WAAW;EACXC,QAAQ;EACRN,YAAY;EACZO,gBAAgB;EAChBC;AACD,CAAC,EAAG;EACH,MAAM;IAAET,WAAW;IAAEkB;EAAS,CAAC,GAAGZ,WAAW;EAC7C,MAAM;IAAEJ,WAAW,GAAG;EAAa,CAAC,GAAGD,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,CAAC,CAAC;EACzD,MAAMkB,YAAY,GAAGA,CAAA,KAAM,CAAC,CAAEnB,WAAW;EACzC,MAAMoB,cAAc,GACnBlB,WAAW,KAAK,YAAY,GAAG,IAAAC,QAAE,EAAE,OAAQ,CAAC,GAAG,IAAAA,QAAE,EAAE,QAAS,CAAC;EAC9D,MAAMkB,SAAS,GAAGA,CAAA,KAAM;IACvBd,QAAQ,CAAE;MACTP,WAAW,EAAEsB,SAAS;MACtBJ,QAAQ,EAAEI;IACX,CAAE,CAAC;EACJ,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKvB,WAAW,KAAK,OAAO,IAAI,CAAEkB,QAAQ,EAAG;MAC5CX,QAAQ,CAAE;QACT,GAAGD,WAAW;QACdN,WAAW,EAAE;MACd,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,oBACC,IAAAF,WAAA,CAAA0B,IAAA,EAACjC,WAAA,CAAAkC,oBAAM;IACNC,EAAE,EAAGC,wCAAgB;IACrBC,OAAO,EAAG,CAAG;IACbC,QAAQ,EAAGV,YAAc;IACzBW,KAAK,EAAGV,cAAgB;IACxBW,UAAU,EAAGV,SAAW;IACxBb,gBAAgB,EAAGA,gBAAkB;IACrCC,OAAO,EAAGA,OAAS;IAAAuB,QAAA,gBAEnB,IAAAlC,WAAA,CAAA0B,IAAA,EAACjC,WAAA,CAAA0C,gCAAkB;MAClBC,uBAAuB;MACvBC,IAAI,EAAC,kBAAkB;MACvBL,KAAK,EAAGM,sBAAsB,CAAEnC,YAAa,CAAG;MAChDI,KAAK,EAAGL,WAAW,IAAI,KAAO;MAC9BqC,IAAI,EAAGtC,QAAQ,CAAEC,WAAW,EAAEC,YAAa,CAAG;MAC9CM,QAAQ,EAAKF,KAAK,IAAM;QACvB,MAAMiC,WAAW,GAAGjC,KAAK,KAAK,OAAO,GAAG,IAAI,GAAGa,QAAQ;QACvDX,QAAQ,CAAE;UACTP,WAAW,EAAEK,KAAK;UAClBa,QAAQ,EAAEoB;QACX,CAAE,CAAC;MACJ,CAAG;MACHC,OAAO;MAAAP,QAAA,gBAEP,IAAAlC,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAAiD,sCAAwB;QAExBnC,KAAK,EAAC,KAAK;QACXyB,KAAK,EAAG,IAAA3B,QAAE,EAAE,KAAM;MAAG,GAFjB,KAGJ,CAAC,eACF,IAAAL,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAAiD,sCAAwB;QAExBnC,KAAK,EAAC,MAAM;QACZyB,KAAK,EAAG,IAAA3B,QAAE,EAAE,MAAO;MAAG,GAFlB,MAGJ,CAAC,eACF,IAAAL,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAAiD,sCAAwB;QAExBnC,KAAK,EAAC,OAAO;QACbyB,KAAK,EAAG,IAAA3B,QAAE,EAAE,OAAQ;MAAG,GAFnB,OAGJ,CAAC;IAAA,CACiB,CAAC,EACnBH,WAAW,KAAK,OAAO,iBACxB,IAAAF,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAAkD,yBAAW;MACXN,IAAI,EAAC,kBAAkB;MACvB5B,QAAQ,EAAKF,KAAK,IAAM;QACvBE,QAAQ,CAAE;UACTP,WAAW;UACXkB,QAAQ,EAAEb;QACX,CAAE,CAAC;MACJ,CAAG;MACHA,KAAK,EAAGa;IAAU,CAClB,CACD;EAAA,CACM,CAAC;AAEX;AAEO,SAASkB,sBAAsBA,CAAEnC,YAAY,EAAG;EACtD,MAAM;IAAEC,WAAW,GAAG;EAAa,CAAC,GAAGD,YAAY;EACnD,OAAOC,WAAW,KAAK,YAAY,GAAG,IAAAC,QAAE,EAAE,OAAQ,CAAC,GAAG,IAAAA,QAAE,EAAE,QAAS,CAAC;AACrE;AAEA,SAASc,YAAYA,CAAE;EACtBX,WAAW;EACXC,QAAQ;EACRN,YAAY;EACZO,gBAAgB;EAChBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEiC,WAAW;IAAEC,QAAQ;IAAEC,UAAU;IAAEC;EAAQ,CAAC,GAAGvC,WAAW;EAClE,MAAM;IAAEwC;EAAY,CAAC,GAAG7C,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,CAAC,CAAC;EAC1C,MAAM8C,gBAAgB,GAAGC,QAAQ,CAAEF,WAAW,EAAE,EAAG,CAAC,IAAI,CAAC;EACzD,MAAMG,YAAY,GAAG,IAAAC,eAAS,EAAIC,MAAM,IACvCA,MAAM,CAAEC,YAAiB,CAAC,CAACC,oBAAoB,CAAE5C,OAAQ,CAC1D,CAAC;EACD,MAAM;IAAE6C,oBAAoB;IAAEC;EAAwC,CAAC,GACtE,IAAAC,iBAAW,EAAEJ,YAAiB,CAAC;EAChC,MAAMK,2BAA2B,GAAG,IAAAC,8DAA8B,EACjET,YAAY,EACZF,gBACD,CAAC;EACD,MAAMY,aAAa,GAAGA,CAAA,KAAM,CAAC,CAAEjB,WAAW,IAAI,CAAC,CAAEC,QAAQ;EACzD,MAAMiB,YAAY,GAAGA,CAAA,KAAM,CAAC,CAAEhB,UAAU,IAAI,CAAC,CAAEC,OAAO;EACtD,MAAMgB,eAAe,GAAGA,CAAA,KAAM;IAC7BtD,QAAQ,CAAE;MACTmC,WAAW,EAAEpB,SAAS;MACtBqB,QAAQ,EAAErB;IACX,CAAE,CAAC;EACJ,CAAC;EACD,MAAMwC,cAAc,GAAGA,CAAA,KAAM;IAC5BvD,QAAQ,CAAE;MACTqC,UAAU,EAAEtB,SAAS;MACrBuB,OAAO,EAAEvB;IACV,CAAE,CAAC;EACJ,CAAC;EAED,oBACC,IAAAxB,WAAA,CAAA0B,IAAA,EAAA1B,WAAA,CAAAiE,QAAA;IAAA/B,QAAA,gBACC,IAAAlC,WAAA,CAAA0B,IAAA,EAACjC,WAAA,CAAAyE,oBAAM;MACNtC,EAAE,EAAGC,wCAAgB;MACrBE,QAAQ,EAAG+B,YAAc;MACzB9B,KAAK,EAAG,IAAA3B,QAAE,EAAE,WAAY,CAAG;MAC3B4B,UAAU,EAAG+B,cAAgB;MAC7BtD,gBAAgB,EAAGA,gBAAkB;MACrCC,OAAO,EAAGA,OAAS;MAAAuB,QAAA,gBAEnB,IAAAlC,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAA0E,0BAAY;QACZ9B,IAAI,EAAC,kBAAkB;QACvBL,KAAK,EAAG,IAAA3B,QAAE,EAAE,aAAc,CAAG;QAC7BO,IAAI,EAAC,QAAQ;QACbH,QAAQ,EAAKF,KAAK,IAAM;UACvBE,QAAQ,CAAE;YACTmC,WAAW;YACXC,QAAQ;YACRE,OAAO;YACPD,UAAU,EAAEvC;UACb,CAAE,CAAC;QACJ,CAAG;QACHA,KAAK,EAAGuC,UAAY;QACpBsB,GAAG,EAAG;MAAG,CACT,CAAC,eACF,IAAApE,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAA0E,0BAAY;QACZ9B,IAAI,EAAC,kBAAkB;QACvBL,KAAK,EAAG,IAAA3B,QAAE,EAAE,UAAW,CAAG;QAC1BO,IAAI,EAAC,QAAQ;QACbH,QAAQ,EAAKF,KAAK,IAAM;UACvBE,QAAQ,CAAE;YACTmC,WAAW;YACXC,QAAQ;YACRC,UAAU;YACVC,OAAO,EAAExC;UACV,CAAE,CAAC;QACJ,CAAG;QACHA,KAAK,EAAGwC,OAAS;QACjBqB,GAAG,EAAG;MAAG,CACT,CAAC;IAAA,CACK,CAAC,EACPC,MAAM,CAACC,qCAAqC,IAAItB,WAAW;IAAA;IAC5D;IACA;IACA;IACA,IAAAhD,WAAA,CAAA0B,IAAA,EAACjC,WAAA,CAAA8E,IAAI;MACJ3C,EAAE,EAAGC,wCAAgB;MACrBE,QAAQ,EAAG8B,aAAe;MAC1B7B,KAAK,EAAG,IAAA3B,QAAE,EAAE,gBAAiB,CAAG;MAChC4B,UAAU,EAAG8B,eAAiB;MAC9BrD,gBAAgB,EAAG,KAAO;MAC1BC,OAAO,EAAGA,OAAS;MAAAuB,QAAA,gBAEnB,IAAAlC,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAA+E,QAAQ;QAACC,KAAK,EAAG;UAAEC,KAAK,EAAE;QAAM,CAAG;QAAAxC,QAAA,eACnC,IAAAlC,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAA0E,0BAAY;UACZ9B,IAAI,EAAC,kBAAkB;UACvBL,KAAK,EAAG,IAAA3B,QAAE,EAAE,QAAS,CAAG;UACxBO,IAAI,EAAC,QAAQ;UACbH,QAAQ,EAAKF,KAAK,IAAM;YACvBE,QAAQ,CAAE;cACTmC,WAAW,EAAErC,KAAK;cAClBsC,QAAQ;cACRC,UAAU;cACVC;YACD,CAAE,CAAC;YACHU,uCAAuC,CAAC,CAAC;YACzCD,oBAAoB,CACnB,CAAE7C,OAAO,CAAE,EACXwC,YAAY,EACZA,YAAY,EACZQ,2BAA2B,CAC1BpD,KAAK,EACLsC,QACD,CACD,CAAC;UACF,CAAG;UACHtC,KAAK,EAAGqC,WAAa;UACrBwB,GAAG,EAAG,CAAG;UACTO,GAAG,EACF1B,gBAAgB,GACbA,gBAAgB,IAAKH,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,CAAC,CAAE,GAAG,CAAC,GAC1CtB;QACH,CACD;MAAC,CACO,CAAC,eACX,IAAAxB,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAA+E,QAAQ;QAACC,KAAK,EAAG;UAAEC,KAAK,EAAE;QAAM,CAAG;QAAAxC,QAAA,eACnC,IAAAlC,WAAA,CAAAiB,GAAA,EAACxB,WAAA,CAAA0E,0BAAY;UACZ9B,IAAI,EAAC,kBAAkB;UACvBL,KAAK,EAAG,IAAA3B,QAAE,EAAE,KAAM,CAAG;UACrBO,IAAI,EAAC,QAAQ;UACbH,QAAQ,EAAKF,KAAK,IAAM;YACvBE,QAAQ,CAAE;cACTmC,WAAW;cACXC,QAAQ,EAAEtC,KAAK;cACfuC,UAAU;cACVC;YACD,CAAE,CAAC;YACHU,uCAAuC,CAAC,CAAC;YACzCD,oBAAoB,CACnB,CAAE7C,OAAO,CAAE,EACXwC,YAAY,EACZA,YAAY,EACZQ,2BAA2B,CAC1Bf,WAAW,EACXrC,KACD,CACD,CAAC;UACF,CAAG;UACHA,KAAK,EAAGsC,QAAU;UAClBuB,GAAG,EAAG,CAAG;UACTO,GAAG,EACFxE,YAAY,EAAEyE,QAAQ,GACnBzE,YAAY,CAACyE,QAAQ,IACnB7B,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,CAAC,CAAE,GAChB,CAAC,GACDvB;QACH,CACD;MAAC,CACO,CAAC;IAAA,CACN,CACN;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_data","_useGetNumberOfBlocksBeforeCell","_store","_jsxRuntime","helpText","selfStretch","parentLayout","orientation","__","ChildLayoutControl","value","childLayout","onChange","isShownByDefault","panelId","type","parentType","default","defaultParentType","parentLayoutType","jsx","FlexControls","GridControls","flexSize","hasFlexValue","flexResetLabel","resetFlex","undefined","useEffect","jsxs","__experimentalVStack","as","ToolsPanelItem","spacing","hasValue","label","onDeselect","children","__experimentalToggleGroupControl","__nextHasNoMarginBottom","size","childLayoutOrientation","help","newFlexSize","isBlock","__experimentalToggleGroupControlOption","_x","__experimentalUnitControl","columnStart","rowStart","columnSpan","rowSpan","columnCount","rowCount","rootClientId","useSelect","select","blockEditorStore","getBlockRootClientId","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","useDispatch","getNumberOfBlocksBeforeCell","useGetNumberOfBlocksBeforeCell","hasStartValue","hasSpanValue","resetGridStarts","resetGridSpans","Fragment","__experimentalHStack","__experimentalInputControl","newColumnSpan","parseInt","min","newRowSpan","window","__experimentalEnableGridInteractivity","Flex","FlexItem","style","width","newColumnStart","max","newRowStart"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useGetNumberOfBlocksBeforeCell } from '../grid/use-get-number-of-blocks-before-cell';\nimport { store as blockEditorStore } from '../../store';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @param {boolean} props.isShownByDefault\n * @param {string} props.panelId\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tif ( parentLayoutType === 'flex' ) {\n\t\treturn (\n\t\t\t<FlexControls\n\t\t\t\tchildLayout={ childLayout }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t/>\n\t\t);\n\t} else if ( parentLayoutType === 'grid' ) {\n\t\treturn (\n\t\t\t<GridControls\n\t\t\t\tchildLayout={ childLayout }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction FlexControls( {\n\tchildLayout,\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst { selfStretch, flexSize } = childLayout;\n\tconst { orientation = 'horizontal' } = parentLayout ?? {};\n\tconst hasFlexValue = () => !! selfStretch;\n\tconst flexResetLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst resetFlex = () => {\n\t\tonChange( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<VStack\n\t\t\tas={ ToolsPanelItem }\n\t\t\tspacing={ 2 }\n\t\t\thasValue={ hasFlexValue }\n\t\t\tlabel={ flexResetLabel }\n\t\t\tonDeselect={ resetFlex }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst newFlexSize = value !== 'fixed' ? null : flexSize;\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fit\"\n\t\t\t\t\tvalue=\"fit\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Fit',\n\t\t\t\t\t\t'Intrinsic block width in flex layout'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fill\"\n\t\t\t\t\tvalue=\"fill\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Grow',\n\t\t\t\t\t\t'Block with expanding width in flex layout'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fixed\"\n\t\t\t\t\tvalue=\"fixed\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Fixed',\n\t\t\t\t\t\t'Block with fixed width in flex layout'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t<UnitControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tselfStretch,\n\t\t\t\t\t\t\tflexSize: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ flexSize }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n\nfunction GridControls( {\n\tchildLayout,\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst { columnStart, rowStart, columnSpan, rowSpan } = childLayout;\n\tconst { columnCount = 3, rowCount } = parentLayout ?? {};\n\tconst rootClientId = useSelect( ( select ) =>\n\t\tselect( blockEditorStore ).getBlockRootClientId( panelId )\n\t);\n\tconst { moveBlocksToPosition, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\trootClientId,\n\t\tcolumnCount\n\t);\n\tconst hasStartValue = () => !! columnStart || !! rowStart;\n\tconst hasSpanValue = () => !! columnSpan || !! rowSpan;\n\tconst resetGridStarts = () => {\n\t\tonChange( {\n\t\t\tcolumnStart: undefined,\n\t\t\trowStart: undefined,\n\t\t} );\n\t};\n\tconst resetGridSpans = () => {\n\t\tonChange( {\n\t\t\tcolumnSpan: undefined,\n\t\t\trowSpan: undefined,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\thasValue={ hasSpanValue }\n\t\t\t\tlabel={ __( 'Grid span' ) }\n\t\t\t\tonDeselect={ resetGridSpans }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<InputControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tlabel={ __( 'Column span' ) }\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t// Don't allow unsetting.\n\t\t\t\t\t\tconst newColumnSpan =\n\t\t\t\t\t\t\tvalue === '' ? 1 : parseInt( value, 10 );\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\tcolumnSpan: newColumnSpan,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ columnSpan ?? 1 }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t/>\n\t\t\t\t<InputControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tlabel={ __( 'Row span' ) }\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t// Don't allow unsetting.\n\t\t\t\t\t\tconst newRowSpan =\n\t\t\t\t\t\t\tvalue === '' ? 1 : parseInt( value, 10 );\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\trowSpan: newRowSpan,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ rowSpan ?? 1 }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ window.__experimentalEnableGridInteractivity && columnCount && (\n\t\t\t\t// Use Flex with an explicit width on the FlexItem instead of HStack to\n\t\t\t\t// work around an issue in webkit where inputs with a max attribute are\n\t\t\t\t// sized incorrectly.\n\t\t\t\t<Flex\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\thasValue={ hasStartValue }\n\t\t\t\t\tlabel={ __( 'Grid placement' ) }\n\t\t\t\t\tonDeselect={ resetGridStarts }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Column' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t// Don't allow unsetting.\n\t\t\t\t\t\t\t\tconst newColumnStart =\n\t\t\t\t\t\t\t\t\tvalue === '' ? 1 : parseInt( value, 10 );\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t[ panelId ],\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\t\tnewColumnStart,\n\t\t\t\t\t\t\t\t\t\trowStart\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\tvalue={ columnStart ?? 1 }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tcolumnCount\n\t\t\t\t\t\t\t\t\t? columnCount - ( columnSpan ?? 1 ) + 1\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/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Row' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t// Don't allow unsetting.\n\t\t\t\t\t\t\t\tconst newRowStart =\n\t\t\t\t\t\t\t\t\tvalue === '' ? 1 : parseInt( value, 10 );\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t[ panelId ],\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\t\tnewRowStart\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\tvalue={ rowStart ?? 1 }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\trowCount\n\t\t\t\t\t\t\t\t\t? rowCount - ( rowSpan ?? 1 ) + 1\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/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,11 +8,20 @@ var _i18n = require("@wordpress/i18n");
8
8
  var _date = require("@wordpress/date");
9
9
  var _element = require("@wordpress/element");
10
10
  var _components = require("@wordpress/components");
11
+ var _lockUnlock = require("../../lock-unlock");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
13
  /**
13
14
  * WordPress dependencies
14
15
  */
15
16
 
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+
21
+ const {
22
+ CustomSelectControlV2Legacy: CustomSelectControl
23
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
24
+
16
25
  // So that we illustrate the different formats in the dropdown properly, show a date that is
17
26
  // somwhat recent, has a day greater than 12, and a month with more than three letters.
18
27
  const exampleDate = new Date();
@@ -104,7 +113,7 @@ function NonDefaultControls({
104
113
  };
105
114
  const [isCustom, setIsCustom] = (0, _element.useState)(() => !!format && !suggestedOptions.some(option => option.format === format));
106
115
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
107
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CustomSelectControl, {
116
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CustomSelectControl, {
108
117
  label: (0, _i18n.__)('Choose a format'),
109
118
  options: [...suggestedOptions, customOption],
110
119
  value: isCustom ? customOption : (_suggestedOptions$fin = suggestedOptions.find(option => option.format === format)) !== null && _suggestedOptions$fin !== void 0 ? _suggestedOptions$fin : customOption,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_date","_element","_components","_jsxRuntime","exampleDate","Date","setDate","setMonth","getMonth","DateFormatPicker","format","defaultFormat","onChange","jsxs","className","children","jsx","VisuallyHidden","as","__","ToggleControl","__nextHasNoMarginBottom","label","help","dateI18n","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","_x","suggestedOptions","map","suggestedFormat","index","key","name","humanTimeDiff","customOption","__experimentalHint","isCustom","setIsCustom","useState","some","option","__experimentalVStack","CustomSelectControl","options","value","find","selectedItem","TextControl","hideLabelFromVision","createInterpolateElement","Link","ExternalLink","href"],"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n, humanTimeDiff } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tCustomSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n// So that we illustrate the different formats in the dropdown properly, show a date that is\n// somwhat recent, has a day greater than 12, and a month with more than three letters.\nconst exampleDate = new Date();\nexampleDate.setDate( 20 );\nexampleDate.setMonth( exampleDate.getMonth() - 3 );\nif ( exampleDate.getMonth() === 4 ) {\n\t// May has three letters, so use March.\n\texampleDate.setMonth( 3 );\n}\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\texampleDate\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t'Y-m-d',\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = [\n\t\t...suggestedFormats.map( ( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, exampleDate ),\n\t\t\tformat: suggestedFormat,\n\t\t} ) ),\n\t\t{\n\t\t\tkey: 'human-diff',\n\t\t\tname: humanTimeDiff( exampleDate ),\n\t\t\tformat: 'human-diff',\n\t\t},\n\t];\n\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\t__experimentalHint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() =>\n\t\t\t!! format &&\n\t\t\t! suggestedOptions.some( ( option ) => option.format === format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\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\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_date","_element","_components","_lockUnlock","_jsxRuntime","CustomSelectControlV2Legacy","CustomSelectControl","unlock","componentsPrivateApis","exampleDate","Date","setDate","setMonth","getMonth","DateFormatPicker","format","defaultFormat","onChange","jsxs","className","children","jsx","VisuallyHidden","as","__","ToggleControl","__nextHasNoMarginBottom","label","help","dateI18n","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","_x","suggestedOptions","map","suggestedFormat","index","key","name","humanTimeDiff","customOption","__experimentalHint","isCustom","setIsCustom","useState","some","option","__experimentalVStack","options","value","find","selectedItem","TextControl","hideLabelFromVision","createInterpolateElement","Link","ExternalLink","href"],"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n, humanTimeDiff } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { CustomSelectControlV2Legacy: CustomSelectControl } = unlock(\n\tcomponentsPrivateApis\n);\n\n// So that we illustrate the different formats in the dropdown properly, show a date that is\n// somwhat recent, has a day greater than 12, and a month with more than three letters.\nconst exampleDate = new Date();\nexampleDate.setDate( 20 );\nexampleDate.setMonth( exampleDate.getMonth() - 3 );\nif ( exampleDate.getMonth() === 4 ) {\n\t// May has three letters, so use March.\n\texampleDate.setMonth( 3 );\n}\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\texampleDate\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t'Y-m-d',\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = [\n\t\t...suggestedFormats.map( ( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, exampleDate ),\n\t\t\tformat: suggestedFormat,\n\t\t} ) ),\n\t\t{\n\t\t\tkey: 'human-diff',\n\t\t\tname: humanTimeDiff( exampleDate ),\n\t\t\tformat: 'human-diff',\n\t\t},\n\t];\n\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\t__experimentalHint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() =>\n\t\t\t!! format &&\n\t\t\t! suggestedOptions.some( ( option ) => option.format === format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\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\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -68,7 +68,9 @@ var _jsxRuntime = require("react/jsx-runtime");
68
68
  // Default options handled by ScaleTool.
69
69
  defaultScale = 'fill',
70
70
  // Match CSS default value for object-fit.
71
- unitsOptions // Default options handled by UnitControl.
71
+ unitsOptions,
72
+ // Default options handled by UnitControl.
73
+ tools = ['aspectRatio', 'widthHeight', 'scale']
72
74
  }) {
73
75
  // Coerce undefined and CSS default values to be null.
74
76
  const width = value.width === undefined || value.width === 'auto' ? null : value.width;
@@ -88,7 +90,7 @@ var _jsxRuntime = require("react/jsx-runtime");
88
90
  const aspectRatioValue = width && height ? 'custom' : lastAspectRatio;
89
91
  const showScaleControl = aspectRatio || width && height;
90
92
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
91
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_aspectRatioTool.default, {
93
+ children: [tools.includes('aspectRatio') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_aspectRatioTool.default, {
92
94
  panelId: panelId,
93
95
  options: aspectRatioOptions,
94
96
  defaultValue: defaultAspectRatio,
@@ -125,7 +127,7 @@ var _jsxRuntime = require("react/jsx-runtime");
125
127
  }
126
128
  onChange(nextValue);
127
129
  }
128
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_widthHeightTool.default, {
130
+ }), tools.includes('widthHeight') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_widthHeightTool.default, {
129
131
  panelId: panelId,
130
132
  units: unitsOptions,
131
133
  value: {
@@ -180,7 +182,7 @@ var _jsxRuntime = require("react/jsx-runtime");
180
182
  }
181
183
  onChange(nextValue);
182
184
  }
183
- }), showScaleControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_scaleTool.default, {
185
+ }), tools.includes('scale') && showScaleControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_scaleTool.default, {
184
186
  panelId: panelId,
185
187
  options: scaleOptions,
186
188
  defaultValue: defaultScale,