@wordpress/block-editor 13.4.0 → 14.1.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 (533) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +20 -15
  3. package/build/autocompleters/block.js +1 -1
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-breadcrumb/index.js +3 -1
  6. package/build/components/block-breadcrumb/index.js.map +1 -1
  7. package/build/components/block-draggable/index.js +2 -2
  8. package/build/components/block-draggable/index.js.map +1 -1
  9. package/build/components/block-list/use-block-props/index.js +2 -2
  10. package/build/components/block-list/use-block-props/index.js.map +1 -1
  11. package/build/components/block-list/use-block-props/use-block-refs.js +24 -32
  12. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  13. package/build/components/block-list/use-in-between-inserter.js +11 -4
  14. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  15. package/build/components/block-mover/index.js +1 -2
  16. package/build/components/block-mover/index.js.map +1 -1
  17. package/build/components/block-popover/cover.js +1 -1
  18. package/build/components/block-popover/cover.js.map +1 -1
  19. package/build/components/block-popover/inbetween.js +2 -2
  20. package/build/components/block-popover/inbetween.js.map +1 -1
  21. package/build/components/block-popover/index.js +2 -2
  22. package/build/components/block-popover/index.js.map +1 -1
  23. package/build/components/block-settings-menu/block-mode-toggle.js +28 -34
  24. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  25. package/build/components/block-tools/block-selection-button.js +1 -2
  26. package/build/components/block-tools/block-selection-button.js.map +1 -1
  27. package/build/components/block-tools/index.js +1 -1
  28. package/build/components/block-tools/index.js.map +1 -1
  29. package/build/components/block-tools/insertion-point.js +14 -3
  30. package/build/components/block-tools/insertion-point.js.map +1 -1
  31. package/build/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  32. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  33. package/build/components/block-tools/use-show-block-tools.js +2 -1
  34. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  35. package/build/components/block-tools/zoom-out-mode-inserters.js +22 -19
  36. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  37. package/build/components/block-tools/zoom-out-toolbar.js +0 -1
  38. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  39. package/build/components/border-radius-control/index.js +1 -0
  40. package/build/components/border-radius-control/index.js.map +1 -1
  41. package/build/components/child-layout-control/index.js +3 -1
  42. package/build/components/child-layout-control/index.js.map +1 -1
  43. package/build/components/convert-to-group-buttons/index.js +1 -1
  44. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  45. package/build/components/date-format-picker/index.js +2 -0
  46. package/build/components/date-format-picker/index.js.map +1 -1
  47. package/build/components/dimensions-tool/scale-tool.js +1 -0
  48. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  49. package/build/components/font-appearance-control/index.js +3 -0
  50. package/build/components/font-appearance-control/index.js.map +1 -1
  51. package/build/components/font-family/index.js +15 -0
  52. package/build/components/font-family/index.js.map +1 -1
  53. package/build/components/global-styles/background-panel.js +153 -77
  54. package/build/components/global-styles/background-panel.js.map +1 -1
  55. package/build/components/global-styles/get-global-styles-changes.js +3 -1
  56. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  57. package/build/components/global-styles/hooks.js +0 -7
  58. package/build/components/global-styles/hooks.js.map +1 -1
  59. package/build/components/global-styles/image-settings-panel.js +1 -0
  60. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  61. package/build/components/global-styles/index.js +0 -6
  62. package/build/components/global-styles/index.js.map +1 -1
  63. package/build/components/global-styles/typography-panel.js +0 -1
  64. package/build/components/global-styles/typography-panel.js.map +1 -1
  65. package/build/components/global-styles/use-global-styles-output.js +59 -40
  66. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  67. package/build/components/global-styles/utils.js +80 -0
  68. package/build/components/global-styles/utils.js.map +1 -1
  69. package/build/components/grid/grid-item-movers.js +30 -26
  70. package/build/components/grid/grid-item-movers.js.map +1 -1
  71. package/build/components/grid/grid-item-resizer.js +14 -15
  72. package/build/components/grid/grid-item-resizer.js.map +1 -1
  73. package/build/components/grid/grid-visualizer.js +21 -6
  74. package/build/components/grid/grid-visualizer.js.map +1 -1
  75. package/build/components/grid/use-grid-layout-sync.js +56 -20
  76. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  77. package/build/components/height-control/index.js +1 -0
  78. package/build/components/height-control/index.js.map +1 -1
  79. package/build/components/iframe/index.js +2 -4
  80. package/build/components/iframe/index.js.map +1 -1
  81. package/build/components/image-editor/zoom-dropdown.js +11 -7
  82. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  83. package/build/components/inner-blocks/button-block-appender.js +8 -8
  84. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  85. package/build/components/inner-blocks/default-block-appender.js +7 -25
  86. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +9 -11
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inserter/category-tabs/index.js +29 -2
  90. package/build/components/inserter/category-tabs/index.js.map +1 -1
  91. package/build/components/inserter/library.js +4 -2
  92. package/build/components/inserter/library.js.map +1 -1
  93. package/build/components/inserter/menu.js +32 -14
  94. package/build/components/inserter/menu.js.map +1 -1
  95. package/build/components/inserter/quick-inserter.js +4 -0
  96. package/build/components/inserter/quick-inserter.js.map +1 -1
  97. package/build/components/line-height-control/index.js +3 -15
  98. package/build/components/line-height-control/index.js.map +1 -1
  99. package/build/components/link-control/search-input.js +0 -1
  100. package/build/components/link-control/search-input.js.map +1 -1
  101. package/build/components/media-placeholder/index.js +9 -4
  102. package/build/components/media-placeholder/index.js.map +1 -1
  103. package/build/components/media-replace-flow/index.js +3 -1
  104. package/build/components/media-replace-flow/index.js.map +1 -1
  105. package/build/components/media-upload/index.native.js +4 -1
  106. package/build/components/media-upload/index.native.js.map +1 -1
  107. package/build/components/multi-selection-inspector/index.js +12 -12
  108. package/build/components/multi-selection-inspector/index.js.map +1 -1
  109. package/build/components/resolution-tool/index.js +1 -0
  110. package/build/components/resolution-tool/index.js.map +1 -1
  111. package/build/components/skip-to-selected-block/index.js +4 -2
  112. package/build/components/skip-to-selected-block/index.js.map +1 -1
  113. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  114. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  115. package/build/components/text-alignment-control/index.js +13 -8
  116. package/build/components/text-alignment-control/index.js.map +1 -1
  117. package/build/components/text-decoration-control/index.js +13 -8
  118. package/build/components/text-decoration-control/index.js.map +1 -1
  119. package/build/components/text-transform-control/index.js +13 -8
  120. package/build/components/text-transform-control/index.js.map +1 -1
  121. package/build/components/url-input/button.js +0 -1
  122. package/build/components/url-input/button.js.map +1 -1
  123. package/build/components/url-input/index.js +1 -11
  124. package/build/components/url-input/index.js.map +1 -1
  125. package/build/components/url-popover/image-url-input-ui.js +2 -0
  126. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  127. package/build/components/url-popover/link-editor.js +0 -1
  128. package/build/components/url-popover/link-editor.js.map +1 -1
  129. package/build/components/use-block-drop-zone/index.js +42 -4
  130. package/build/components/use-block-drop-zone/index.js.map +1 -1
  131. package/build/components/use-on-block-drop/index.js +3 -6
  132. package/build/components/use-on-block-drop/index.js.map +1 -1
  133. package/build/components/use-resize-canvas/index.js +1 -3
  134. package/build/components/use-resize-canvas/index.js.map +1 -1
  135. package/build/components/use-settings/index.js +2 -1
  136. package/build/components/use-settings/index.js.map +1 -1
  137. package/build/components/writing-mode-control/index.js +13 -8
  138. package/build/components/writing-mode-control/index.js.map +1 -1
  139. package/build/hooks/background.js +19 -23
  140. package/build/hooks/background.js.map +1 -1
  141. package/build/hooks/block-bindings.js +209 -39
  142. package/build/hooks/block-bindings.js.map +1 -1
  143. package/build/hooks/block-hooks.js +1 -0
  144. package/build/hooks/block-hooks.js.map +1 -1
  145. package/build/hooks/block-style-variation.js +2 -2
  146. package/build/hooks/block-style-variation.js.map +1 -1
  147. package/build/hooks/contrast-checker.js +6 -6
  148. package/build/hooks/contrast-checker.js.map +1 -1
  149. package/build/hooks/duotone.js +3 -3
  150. package/build/hooks/duotone.js.map +1 -1
  151. package/build/hooks/index.js +7 -1
  152. package/build/hooks/index.js.map +1 -1
  153. package/build/hooks/line-height.js +0 -1
  154. package/build/hooks/line-height.js.map +1 -1
  155. package/build/hooks/spacing-visualizer.js +1 -1
  156. package/build/hooks/spacing-visualizer.js.map +1 -1
  157. package/build/hooks/use-bindings-attributes.js +4 -0
  158. package/build/hooks/use-bindings-attributes.js.map +1 -1
  159. package/build/hooks/use-zoom-out.js +1 -1
  160. package/build/hooks/use-zoom-out.js.map +1 -1
  161. package/build/hooks/utils.js +20 -0
  162. package/build/hooks/utils.js.map +1 -1
  163. package/build/index.js +7 -0
  164. package/build/index.js.map +1 -1
  165. package/build/layouts/constrained.js +1 -0
  166. package/build/layouts/constrained.js.map +1 -1
  167. package/build/layouts/flex.js +2 -0
  168. package/build/layouts/flex.js.map +1 -1
  169. package/build/layouts/grid.js +3 -0
  170. package/build/layouts/grid.js.map +1 -1
  171. package/build/private-apis.js +3 -2
  172. package/build/private-apis.js.map +1 -1
  173. package/build/store/actions.js +9 -1
  174. package/build/store/actions.js.map +1 -1
  175. package/build/store/private-selectors.js +30 -0
  176. package/build/store/private-selectors.js.map +1 -1
  177. package/build/store/reducer.js +10 -1
  178. package/build/store/reducer.js.map +1 -1
  179. package/build/store/selectors.js +4 -4
  180. package/build/store/selectors.js.map +1 -1
  181. package/build/utils/block-bindings.js +112 -0
  182. package/build/utils/block-bindings.js.map +1 -0
  183. package/build/utils/get-editor-region.js +1 -1
  184. package/build/utils/get-editor-region.js.map +1 -1
  185. package/build/utils/get-px-from-css-unit.js +1 -1
  186. package/build/utils/get-px-from-css-unit.js.map +1 -1
  187. package/build-module/autocompleters/block.js +1 -1
  188. package/build-module/autocompleters/block.js.map +1 -1
  189. package/build-module/components/block-breadcrumb/index.js +4 -2
  190. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  191. package/build-module/components/block-draggable/index.js +3 -3
  192. package/build-module/components/block-draggable/index.js.map +1 -1
  193. package/build-module/components/block-list/use-block-props/index.js +2 -2
  194. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  195. package/build-module/components/block-list/use-block-props/use-block-refs.js +24 -34
  196. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  197. package/build-module/components/block-list/use-in-between-inserter.js +11 -4
  198. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  199. package/build-module/components/block-mover/index.js +1 -2
  200. package/build-module/components/block-mover/index.js.map +1 -1
  201. package/build-module/components/block-popover/cover.js +1 -1
  202. package/build-module/components/block-popover/cover.js.map +1 -1
  203. package/build-module/components/block-popover/inbetween.js +1 -1
  204. package/build-module/components/block-popover/inbetween.js.map +1 -1
  205. package/build-module/components/block-popover/index.js +1 -1
  206. package/build-module/components/block-popover/index.js.map +1 -1
  207. package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
  208. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  209. package/build-module/components/block-tools/block-selection-button.js +1 -2
  210. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  211. package/build-module/components/block-tools/index.js +1 -1
  212. package/build-module/components/block-tools/index.js.map +1 -1
  213. package/build-module/components/block-tools/insertion-point.js +14 -3
  214. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  215. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  216. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  217. package/build-module/components/block-tools/use-show-block-tools.js +2 -1
  218. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  219. package/build-module/components/block-tools/zoom-out-mode-inserters.js +23 -20
  220. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  221. package/build-module/components/block-tools/zoom-out-toolbar.js +0 -1
  222. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  223. package/build-module/components/border-radius-control/index.js +1 -0
  224. package/build-module/components/border-radius-control/index.js.map +1 -1
  225. package/build-module/components/child-layout-control/index.js +3 -1
  226. package/build-module/components/child-layout-control/index.js.map +1 -1
  227. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  228. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  229. package/build-module/components/date-format-picker/index.js +2 -0
  230. package/build-module/components/date-format-picker/index.js.map +1 -1
  231. package/build-module/components/dimensions-tool/scale-tool.js +1 -0
  232. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  233. package/build-module/components/font-appearance-control/index.js +3 -0
  234. package/build-module/components/font-appearance-control/index.js.map +1 -1
  235. package/build-module/components/font-family/index.js +14 -0
  236. package/build-module/components/font-family/index.js.map +1 -1
  237. package/build-module/components/global-styles/background-panel.js +156 -80
  238. package/build-module/components/global-styles/background-panel.js.map +1 -1
  239. package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
  240. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  241. package/build-module/components/global-styles/hooks.js +0 -6
  242. package/build-module/components/global-styles/hooks.js.map +1 -1
  243. package/build-module/components/global-styles/image-settings-panel.js +1 -0
  244. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  245. package/build-module/components/global-styles/index.js +1 -1
  246. package/build-module/components/global-styles/index.js.map +1 -1
  247. package/build-module/components/global-styles/typography-panel.js +0 -1
  248. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  249. package/build-module/components/global-styles/use-global-styles-output.js +61 -42
  250. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  251. package/build-module/components/global-styles/utils.js +77 -0
  252. package/build-module/components/global-styles/utils.js.map +1 -1
  253. package/build-module/components/grid/grid-item-movers.js +30 -26
  254. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  255. package/build-module/components/grid/grid-item-resizer.js +14 -15
  256. package/build-module/components/grid/grid-item-resizer.js.map +1 -1
  257. package/build-module/components/grid/grid-visualizer.js +21 -6
  258. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  259. package/build-module/components/grid/use-grid-layout-sync.js +56 -20
  260. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  261. package/build-module/components/height-control/index.js +1 -0
  262. package/build-module/components/height-control/index.js.map +1 -1
  263. package/build-module/components/iframe/index.js +2 -4
  264. package/build-module/components/iframe/index.js.map +1 -1
  265. package/build-module/components/image-editor/zoom-dropdown.js +12 -8
  266. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  267. package/build-module/components/inner-blocks/button-block-appender.js +7 -6
  268. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  269. package/build-module/components/inner-blocks/default-block-appender.js +6 -23
  270. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  271. package/build-module/components/inner-blocks/index.js +9 -11
  272. package/build-module/components/inner-blocks/index.js.map +1 -1
  273. package/build-module/components/inserter/category-tabs/index.js +30 -3
  274. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  275. package/build-module/components/inserter/library.js +4 -2
  276. package/build-module/components/inserter/library.js.map +1 -1
  277. package/build-module/components/inserter/menu.js +32 -14
  278. package/build-module/components/inserter/menu.js.map +1 -1
  279. package/build-module/components/inserter/quick-inserter.js +5 -1
  280. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  281. package/build-module/components/line-height-control/index.js +3 -14
  282. package/build-module/components/line-height-control/index.js.map +1 -1
  283. package/build-module/components/link-control/search-input.js +0 -1
  284. package/build-module/components/link-control/search-input.js.map +1 -1
  285. package/build-module/components/media-placeholder/index.js +9 -4
  286. package/build-module/components/media-placeholder/index.js.map +1 -1
  287. package/build-module/components/media-replace-flow/index.js +3 -1
  288. package/build-module/components/media-replace-flow/index.js.map +1 -1
  289. package/build-module/components/media-upload/index.native.js +4 -1
  290. package/build-module/components/media-upload/index.native.js.map +1 -1
  291. package/build-module/components/multi-selection-inspector/index.js +12 -12
  292. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  293. package/build-module/components/resolution-tool/index.js +1 -0
  294. package/build-module/components/resolution-tool/index.js.map +1 -1
  295. package/build-module/components/skip-to-selected-block/index.js +5 -3
  296. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  297. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  298. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  299. package/build-module/components/text-alignment-control/index.js +13 -8
  300. package/build-module/components/text-alignment-control/index.js.map +1 -1
  301. package/build-module/components/text-decoration-control/index.js +13 -8
  302. package/build-module/components/text-decoration-control/index.js.map +1 -1
  303. package/build-module/components/text-transform-control/index.js +13 -8
  304. package/build-module/components/text-transform-control/index.js.map +1 -1
  305. package/build-module/components/url-input/button.js +0 -1
  306. package/build-module/components/url-input/button.js.map +1 -1
  307. package/build-module/components/url-input/index.js +1 -11
  308. package/build-module/components/url-input/index.js.map +1 -1
  309. package/build-module/components/url-popover/image-url-input-ui.js +2 -0
  310. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  311. package/build-module/components/url-popover/link-editor.js +0 -1
  312. package/build-module/components/url-popover/link-editor.js.map +1 -1
  313. package/build-module/components/use-block-drop-zone/index.js +42 -4
  314. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  315. package/build-module/components/use-on-block-drop/index.js +3 -6
  316. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  317. package/build-module/components/use-resize-canvas/index.js +1 -3
  318. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  319. package/build-module/components/use-settings/index.js +2 -1
  320. package/build-module/components/use-settings/index.js.map +1 -1
  321. package/build-module/components/writing-mode-control/index.js +13 -8
  322. package/build-module/components/writing-mode-control/index.js.map +1 -1
  323. package/build-module/hooks/background.js +19 -23
  324. package/build-module/hooks/background.js.map +1 -1
  325. package/build-module/hooks/block-bindings.js +214 -43
  326. package/build-module/hooks/block-bindings.js.map +1 -1
  327. package/build-module/hooks/block-hooks.js +1 -0
  328. package/build-module/hooks/block-hooks.js.map +1 -1
  329. package/build-module/hooks/block-style-variation.js +3 -3
  330. package/build-module/hooks/block-style-variation.js.map +1 -1
  331. package/build-module/hooks/contrast-checker.js +7 -7
  332. package/build-module/hooks/contrast-checker.js.map +1 -1
  333. package/build-module/hooks/duotone.js +4 -4
  334. package/build-module/hooks/duotone.js.map +1 -1
  335. package/build-module/hooks/index.js +2 -1
  336. package/build-module/hooks/index.js.map +1 -1
  337. package/build-module/hooks/line-height.js +0 -1
  338. package/build-module/hooks/line-height.js.map +1 -1
  339. package/build-module/hooks/spacing-visualizer.js +1 -1
  340. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  341. package/build-module/hooks/use-bindings-attributes.js +3 -0
  342. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  343. package/build-module/hooks/use-zoom-out.js +1 -1
  344. package/build-module/hooks/use-zoom-out.js.map +1 -1
  345. package/build-module/hooks/utils.js +19 -0
  346. package/build-module/hooks/utils.js.map +1 -1
  347. package/build-module/index.js +1 -1
  348. package/build-module/index.js.map +1 -1
  349. package/build-module/layouts/constrained.js +1 -0
  350. package/build-module/layouts/constrained.js.map +1 -1
  351. package/build-module/layouts/flex.js +2 -0
  352. package/build-module/layouts/flex.js.map +1 -1
  353. package/build-module/layouts/grid.js +3 -0
  354. package/build-module/layouts/grid.js.map +1 -1
  355. package/build-module/private-apis.js +4 -3
  356. package/build-module/private-apis.js.map +1 -1
  357. package/build-module/store/actions.js +9 -1
  358. package/build-module/store/actions.js.map +1 -1
  359. package/build-module/store/private-selectors.js +27 -0
  360. package/build-module/store/private-selectors.js.map +1 -1
  361. package/build-module/store/reducer.js +9 -1
  362. package/build-module/store/reducer.js.map +1 -1
  363. package/build-module/store/selectors.js +4 -4
  364. package/build-module/store/selectors.js.map +1 -1
  365. package/build-module/utils/block-bindings.js +105 -0
  366. package/build-module/utils/block-bindings.js.map +1 -0
  367. package/build-module/utils/get-editor-region.js +1 -1
  368. package/build-module/utils/get-editor-region.js.map +1 -1
  369. package/build-module/utils/get-px-from-css-unit.js +1 -1
  370. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  371. package/build-style/content-rtl.css +12 -26
  372. package/build-style/content.css +12 -26
  373. package/build-style/default-editor-styles-rtl.css +5 -2
  374. package/build-style/default-editor-styles.css +5 -2
  375. package/build-style/style-rtl.css +123 -83
  376. package/build-style/style.css +123 -83
  377. package/package.json +32 -32
  378. package/src/autocompleters/block.js +2 -1
  379. package/src/autocompleters/style.scss +4 -0
  380. package/src/components/block-breadcrumb/index.js +4 -2
  381. package/src/components/block-canvas/style.scss +1 -0
  382. package/src/components/block-draggable/index.js +3 -3
  383. package/src/components/block-list/content.scss +5 -13
  384. package/src/components/block-list/use-block-props/index.js +2 -2
  385. package/src/components/block-list/use-block-props/use-block-refs.js +27 -43
  386. package/src/components/block-list/use-in-between-inserter.js +17 -5
  387. package/src/components/block-mover/index.js +5 -2
  388. package/src/components/block-popover/cover.js +1 -1
  389. package/src/components/block-popover/inbetween.js +1 -1
  390. package/src/components/block-popover/index.js +1 -1
  391. package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
  392. package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
  393. package/src/components/block-tools/block-selection-button.js +1 -2
  394. package/src/components/block-tools/index.js +5 -6
  395. package/src/components/block-tools/insertion-point.js +11 -0
  396. package/src/components/block-tools/style.scss +1 -1
  397. package/src/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  398. package/src/components/block-tools/use-show-block-tools.js +4 -1
  399. package/src/components/block-tools/zoom-out-mode-inserters.js +21 -19
  400. package/src/components/block-tools/zoom-out-toolbar.js +0 -1
  401. package/src/components/block-variation-transforms/style.scss +1 -1
  402. package/src/components/border-radius-control/index.js +1 -0
  403. package/src/components/border-radius-control/style.scss +0 -10
  404. package/src/components/button-block-appender/content.scss +1 -1
  405. package/src/components/child-layout-control/index.js +2 -0
  406. package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
  407. package/src/components/colors-gradients/test/control.js +3 -2
  408. package/src/components/convert-to-group-buttons/index.js +1 -1
  409. package/src/components/date-format-picker/index.js +2 -0
  410. package/src/components/dimensions-tool/scale-tool.js +1 -0
  411. package/src/components/font-appearance-control/index.js +3 -0
  412. package/src/components/font-family/README.md +17 -0
  413. package/src/components/font-family/index.js +19 -0
  414. package/src/components/font-family/stories/index.story.js +54 -0
  415. package/src/components/global-styles/background-panel.js +180 -93
  416. package/src/components/global-styles/get-global-styles-changes.js +4 -1
  417. package/src/components/global-styles/hooks.js +0 -5
  418. package/src/components/global-styles/image-settings-panel.js +1 -0
  419. package/src/components/global-styles/index.js +0 -1
  420. package/src/components/global-styles/style.scss +13 -12
  421. package/src/components/global-styles/test/use-global-styles-output.js +68 -7
  422. package/src/components/global-styles/test/utils.js +120 -0
  423. package/src/components/global-styles/typography-panel.js +0 -1
  424. package/src/components/global-styles/use-global-styles-output.js +71 -53
  425. package/src/components/global-styles/utils.js +90 -0
  426. package/src/components/grid/grid-item-movers.js +46 -44
  427. package/src/components/grid/grid-item-resizer.js +11 -17
  428. package/src/components/grid/grid-visualizer.js +23 -8
  429. package/src/components/grid/style.scss +60 -10
  430. package/src/components/grid/use-grid-layout-sync.js +68 -14
  431. package/src/components/height-control/index.js +1 -0
  432. package/src/components/iframe/content.scss +2 -2
  433. package/src/components/iframe/index.js +1 -3
  434. package/src/components/image-editor/zoom-dropdown.js +17 -9
  435. package/src/components/inner-blocks/button-block-appender.js +5 -7
  436. package/src/components/inner-blocks/default-block-appender.js +4 -23
  437. package/src/components/inner-blocks/index.js +10 -9
  438. package/src/components/inserter/category-tabs/index.js +35 -2
  439. package/src/components/inserter/library.js +2 -0
  440. package/src/components/inserter/menu.js +34 -29
  441. package/src/components/inserter/quick-inserter.js +4 -1
  442. package/src/components/inserter/style.scss +17 -12
  443. package/src/components/inserter-list-item/style.scss +1 -0
  444. package/src/components/inspector-controls/README.md +5 -0
  445. package/src/components/line-height-control/README.md +4 -5
  446. package/src/components/line-height-control/index.js +4 -21
  447. package/src/components/line-height-control/stories/index.story.js +0 -1
  448. package/src/components/line-height-control/test/index.js +1 -7
  449. package/src/components/link-control/search-input.js +0 -1
  450. package/src/components/link-control/style.scss +1 -1
  451. package/src/components/media-placeholder/index.js +12 -7
  452. package/src/components/media-replace-flow/README.md +7 -0
  453. package/src/components/media-replace-flow/index.js +3 -1
  454. package/src/components/media-upload/README.md +2 -0
  455. package/src/components/media-upload/index.native.js +2 -0
  456. package/src/components/multi-selection-inspector/index.js +8 -9
  457. package/src/components/resolution-tool/index.js +1 -0
  458. package/src/components/responsive-block-control/README.md +1 -0
  459. package/src/components/responsive-block-control/test/index.js +6 -1
  460. package/src/components/skip-to-selected-block/index.js +5 -3
  461. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +11 -10
  462. package/src/components/spacing-sizes-control/style.scss +16 -16
  463. package/src/components/tabbed-sidebar/style.scss +1 -19
  464. package/src/components/text-alignment-control/index.js +20 -8
  465. package/src/components/text-decoration-control/index.js +20 -8
  466. package/src/components/text-decoration-control/stories/index.story.js +0 -4
  467. package/src/components/text-transform-control/index.js +20 -8
  468. package/src/components/text-transform-control/stories/index.story.js +0 -4
  469. package/src/components/url-input/README.md +0 -5
  470. package/src/components/url-input/button.js +0 -1
  471. package/src/components/url-input/index.js +1 -15
  472. package/src/components/url-input/style.scss +2 -2
  473. package/src/components/url-popover/image-url-input-ui.js +2 -0
  474. package/src/components/url-popover/link-editor.js +0 -1
  475. package/src/components/use-block-drop-zone/index.js +86 -16
  476. package/src/components/use-on-block-drop/index.js +1 -9
  477. package/src/components/use-resize-canvas/index.js +1 -3
  478. package/src/components/use-settings/index.js +2 -1
  479. package/src/components/writing-mode-control/index.js +20 -8
  480. package/src/hooks/background.js +21 -27
  481. package/src/hooks/block-bindings.js +248 -54
  482. package/src/hooks/block-bindings.scss +13 -2
  483. package/src/hooks/block-hooks.js +1 -0
  484. package/src/hooks/block-hooks.scss +1 -0
  485. package/src/hooks/block-style-variation.js +3 -3
  486. package/src/hooks/contrast-checker.js +7 -7
  487. package/src/hooks/duotone.js +4 -4
  488. package/src/hooks/index.js +2 -1
  489. package/src/hooks/line-height.js +0 -1
  490. package/src/hooks/spacing-visualizer.js +1 -1
  491. package/src/hooks/test/background.js +60 -0
  492. package/src/hooks/use-bindings-attributes.js +4 -0
  493. package/src/hooks/use-editor-wrapper-styles.native.scss +1 -0
  494. package/src/hooks/use-zoom-out.js +1 -1
  495. package/src/hooks/utils.js +14 -1
  496. package/src/index.js +1 -0
  497. package/src/layouts/constrained.js +1 -0
  498. package/src/layouts/flex.js +2 -0
  499. package/src/layouts/grid.js +3 -0
  500. package/src/private-apis.js +3 -2
  501. package/src/store/actions.js +13 -5
  502. package/src/store/private-selectors.js +36 -0
  503. package/src/store/reducer.js +7 -0
  504. package/src/store/selectors.js +4 -4
  505. package/src/store/test/private-selectors.js +89 -0
  506. package/src/style.scss +1 -2
  507. package/src/utils/block-bindings.js +98 -0
  508. package/src/utils/get-editor-region.js +1 -1
  509. package/src/utils/get-px-from-css-unit.js +1 -1
  510. package/src/utils/test/transform-styles.js +49 -0
  511. package/tsconfig.tsbuildinfo +1 -1
  512. package/build/components/global-styles/theme-file-uri-utils.js +0 -80
  513. package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
  514. package/build/components/inner-blocks/with-client-id.js +0 -28
  515. package/build/components/inner-blocks/with-client-id.js.map +0 -1
  516. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -30
  517. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  518. package/build/components/segmented-text-control/index.js +0 -63
  519. package/build/components/segmented-text-control/index.js.map +0 -1
  520. package/build-module/components/global-styles/theme-file-uri-utils.js +0 -73
  521. package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
  522. package/build-module/components/inner-blocks/with-client-id.js +0 -21
  523. package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
  524. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -23
  525. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  526. package/build-module/components/segmented-text-control/index.js +0 -58
  527. package/build-module/components/segmented-text-control/index.js.map +0 -1
  528. package/src/components/global-styles/test/theme-file-uri-utils.js +0 -66
  529. package/src/components/global-styles/theme-file-uri-utils.js +0 -77
  530. package/src/components/inner-blocks/with-client-id.js +0 -19
  531. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -25
  532. package/src/components/segmented-text-control/index.js +0 -63
  533. package/src/components/segmented-text-control/style.scss +0 -15
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","_constants","_style","_interopRequireDefault","_jsxRuntime","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","OPTION_TAKE_PHOTO","MEDIA_TYPE_IMAGE","icon","capturePhoto","cameraVideoSource","OPTION_TAKE_VIDEO","MEDIA_TYPE_VIDEO","captureVideo","deviceLibrarySource","deviceLibrary","__","image","siteLibrarySource","siteMediaLibrary","OPTION_WORDPRESS_MEDIA_LIBRARY","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","wordpress","mediaLibrary","urlSource","OPTION_INSERT_FROM_URL","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","jsx","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","jsxs","Fragment","children","URLInput","isVisible","onClose","open","exports","BottomSheet","hideHeader","PanelBody","style","styles","TextControl","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","_default","default","compose","withSelect","select","capabilities","blockEditorStore","getSettings"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tPicker,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n\tOPTION_TAKE_VIDEO,\n\tOPTION_TAKE_PHOTO,\n\tOPTION_INSERT_FROM_URL,\n\tOPTION_WORDPRESS_MEDIA_LIBRARY,\n} from './constants';\nimport styles from './style.scss';\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\turl: '',\n\t\t\tshowURLInput: false,\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: OPTION_TAKE_PHOTO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: OPTION_TAKE_VIDEO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: OPTION_WORDPRESS_MEDIA_LIBRARY,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: OPTION_INSERT_FROM_URL,\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst { allowedTypes = [], onSelect, multiple = false } = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tthis.setState( { showURLInput: true } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<URLInput\n\t\t\t\t\tisVisible={ this.state.showURLInput }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tif ( this.state.url !== '' ) {\n\t\t\t\t\t\t\tthis.props.onSelectURL( this.state.url );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState( { showURLInput: false, url: '' } );\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( url ) => {\n\t\t\t\t\t\tthis.setState( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ this.state.url }\n\t\t\t\t/>\n\t\t\t\t{ this.props.render( {\n\t\t\t\t\topen: this.onPickerPresent,\n\t\t\t\t\tgetMediaOptions,\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t}\n}\n\nfunction URLInput( props ) {\n\treturn (\n\t\t<BottomSheet\n\t\t\thideHeader\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t>\n\t\t\t<PanelBody style={ styles[ 'media-upload__link-input' ] }>\n\t\t\t\t<TextControl\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tautoComplete={ Platform.isIOS ? 'url' : 'off' }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tlabel={ OPTION_INSERT_FROM_URL }\n\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\tplaceholder={ __( 'Type a URL' ) }\n\t\t\t\t\tvalue={ props.value }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_element","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","_constants","_style","_interopRequireDefault","_jsxRuntime","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","OPTION_TAKE_PHOTO","MEDIA_TYPE_IMAGE","icon","capturePhoto","cameraVideoSource","OPTION_TAKE_VIDEO","MEDIA_TYPE_VIDEO","captureVideo","deviceLibrarySource","deviceLibrary","__","image","siteLibrarySource","siteMediaLibrary","OPTION_WORDPRESS_MEDIA_LIBRARY","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","wordpress","mediaLibrary","urlSource","OPTION_INSERT_FROM_URL","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","jsx","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","jsxs","Fragment","children","URLInput","isVisible","onClose","open","exports","BottomSheet","hideHeader","PanelBody","style","styles","TextControl","__next40pxDefaultSize","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","_default","default","compose","withSelect","select","capabilities","blockEditorStore","getSettings"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tPicker,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n\tOPTION_TAKE_VIDEO,\n\tOPTION_TAKE_PHOTO,\n\tOPTION_INSERT_FROM_URL,\n\tOPTION_WORDPRESS_MEDIA_LIBRARY,\n} from './constants';\nimport styles from './style.scss';\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\turl: '',\n\t\t\tshowURLInput: false,\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: OPTION_TAKE_PHOTO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: OPTION_TAKE_VIDEO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: OPTION_WORDPRESS_MEDIA_LIBRARY,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: OPTION_INSERT_FROM_URL,\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst { allowedTypes = [], onSelect, multiple = false } = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tthis.setState( { showURLInput: true } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<URLInput\n\t\t\t\t\tisVisible={ this.state.showURLInput }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tif ( this.state.url !== '' ) {\n\t\t\t\t\t\t\tthis.props.onSelectURL( this.state.url );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState( { showURLInput: false, url: '' } );\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( url ) => {\n\t\t\t\t\t\tthis.setState( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ this.state.url }\n\t\t\t\t/>\n\t\t\t\t{ this.props.render( {\n\t\t\t\t\topen: this.onPickerPresent,\n\t\t\t\t\tgetMediaOptions,\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t}\n}\n\nfunction URLInput( props ) {\n\treturn (\n\t\t<BottomSheet\n\t\t\thideHeader\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t>\n\t\t\t<PanelBody style={ styles[ 'media-upload__link-input' ] }>\n\t\t\t\t<TextControl\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tautoComplete={ Platform.isIOS ? 'url' : 'off' }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tlabel={ OPTION_INSERT_FROM_URL }\n\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\tplaceholder={ __( 'Type a URL' ) }\n\t\t\t\t\tvalue={ props.value }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports.default = MultiSelectionInspector;
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _data = require("@wordpress/data");
10
10
  var _blocks = require("@wordpress/blocks");
@@ -21,9 +21,17 @@ var _jsxRuntime = require("react/jsx-runtime");
21
21
  * Internal dependencies
22
22
  */
23
23
 
24
- function MultiSelectionInspector({
25
- blocks
26
- }) {
24
+ function MultiSelectionInspector() {
25
+ const {
26
+ blocks
27
+ } = (0, _data.useSelect)(select => {
28
+ const {
29
+ getMultiSelectedBlocks
30
+ } = select(_store.store);
31
+ return {
32
+ blocks: getMultiSelectedBlocks()
33
+ };
34
+ }, []);
27
35
  const words = (0, _wordcount.count)((0, _blocks.serialize)(blocks), 'words');
28
36
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
29
37
  className: "block-editor-multi-selection-inspector__card",
@@ -44,12 +52,4 @@ function MultiSelectionInspector({
44
52
  })]
45
53
  });
46
54
  }
47
- var _default = exports.default = (0, _data.withSelect)(select => {
48
- const {
49
- getMultiSelectedBlocks
50
- } = select(_store.store);
51
- return {
52
- blocks: getMultiSelectedBlocks()
53
- };
54
- })(MultiSelectionInspector);
55
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_blocks","_wordcount","_icons","_blockIcon","_interopRequireDefault","_store","_jsxRuntime","MultiSelectionInspector","blocks","words","wordCount","serialize","jsxs","className","children","jsx","default","icon","copy","showColors","sprintf","_n","length","_default","exports","withSelect","select","getMultiSelectedBlocks","blockEditorStore"],"sources":["@wordpress/block-editor/src/components/multi-selection-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { withSelect } from '@wordpress/data';\nimport { serialize } from '@wordpress/blocks';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nfunction MultiSelectionInspector( { blocks } ) {\n\tconst words = wordCount( serialize( blocks ), 'words' );\n\n\treturn (\n\t\t<div className=\"block-editor-multi-selection-inspector__card\">\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<div className=\"block-editor-multi-selection-inspector__card-content\">\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t\t_n( '%d Block', '%d Blocks', blocks.length ),\n\t\t\t\t\t\tblocks.length\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of words */\n\t\t\t\t\t\t_n( '%d word selected.', '%d words selected.', words ),\n\t\t\t\t\t\twords\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getMultiSelectedBlocks } = select( blockEditorStore );\n\treturn {\n\t\tblocks: getMultiSelectedBlocks(),\n\t};\n} )( MultiSelectionInspector );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,UAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAwD,IAAAQ,WAAA,GAAAR,OAAA;AAbxD;AACA;AACA;;AAOA;AACA;AACA;;AAIA,SAASS,uBAAuBA,CAAE;EAAEC;AAAO,CAAC,EAAG;EAC9C,MAAMC,KAAK,GAAG,IAAAC,gBAAS,EAAE,IAAAC,iBAAS,EAAEH,MAAO,CAAC,EAAE,OAAQ,CAAC;EAEvD,oBACC,IAAAF,WAAA,CAAAM,IAAA;IAAKC,SAAS,EAAC,8CAA8C;IAAAC,QAAA,gBAC5D,IAAAR,WAAA,CAAAS,GAAA,EAACZ,UAAA,CAAAa,OAAS;MAACC,IAAI,EAAGC,WAAM;MAACC,UAAU;IAAA,CAAE,CAAC,eACtC,IAAAb,WAAA,CAAAM,IAAA;MAAKC,SAAS,EAAC,sDAAsD;MAAAC,QAAA,gBACpE,IAAAR,WAAA,CAAAS,GAAA;QAAKF,SAAS,EAAC,oDAAoD;QAAAC,QAAA,EAChE,IAAAM,aAAO,GACR;QACA,IAAAC,QAAE,EAAE,UAAU,EAAE,WAAW,EAAEb,MAAM,CAACc,MAAO,CAAC,EAC5Cd,MAAM,CAACc,MACR;MAAC,CACG,CAAC,eACN,IAAAhB,WAAA,CAAAS,GAAA;QAAKF,SAAS,EAAC,0DAA0D;QAAAC,QAAA,EACtE,IAAAM,aAAO,GACR;QACA,IAAAC,QAAE,EAAE,mBAAmB,EAAE,oBAAoB,EAAEZ,KAAM,CAAC,EACtDA,KACD;MAAC,CACG,CAAC;IAAA,CACF,CAAC;EAAA,CACF,CAAC;AAER;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAR,OAAA,GAEc,IAAAS,gBAAU,EAAIC,MAAM,IAAM;EACxC,MAAM;IAAEC;EAAuB,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;EAC7D,OAAO;IACNpB,MAAM,EAAEmB,sBAAsB,CAAC;EAChC,CAAC;AACF,CAAE,CAAC,CAAEpB,uBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_data","_blocks","_wordcount","_icons","_blockIcon","_interopRequireDefault","_store","_jsxRuntime","MultiSelectionInspector","blocks","useSelect","select","getMultiSelectedBlocks","blockEditorStore","words","wordCount","serialize","jsxs","className","children","jsx","default","icon","copy","showColors","sprintf","_n","length"],"sources":["@wordpress/block-editor/src/components/multi-selection-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { serialize } from '@wordpress/blocks';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function MultiSelectionInspector() {\n\tconst { blocks } = useSelect( ( select ) => {\n\t\tconst { getMultiSelectedBlocks } = select( blockEditorStore );\n\t\treturn {\n\t\t\tblocks: getMultiSelectedBlocks(),\n\t\t};\n\t}, [] );\n\tconst words = wordCount( serialize( blocks ), 'words' );\n\n\treturn (\n\t\t<div className=\"block-editor-multi-selection-inspector__card\">\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<div className=\"block-editor-multi-selection-inspector__card-content\">\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t\t_n( '%d Block', '%d Blocks', blocks.length ),\n\t\t\t\t\t\tblocks.length\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of words */\n\t\t\t\t\t\t_n( '%d word selected.', '%d words selected.', words ),\n\t\t\t\t\t\twords\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,UAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAwD,IAAAQ,WAAA,GAAAR,OAAA;AAbxD;AACA;AACA;;AAOA;AACA;AACA;;AAIe,SAASS,uBAAuBA,CAAA,EAAG;EACjD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC3C,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC7D,OAAO;MACNJ,MAAM,EAAEG,sBAAsB,CAAC;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAME,KAAK,GAAG,IAAAC,gBAAS,EAAE,IAAAC,iBAAS,EAAEP,MAAO,CAAC,EAAE,OAAQ,CAAC;EAEvD,oBACC,IAAAF,WAAA,CAAAU,IAAA;IAAKC,SAAS,EAAC,8CAA8C;IAAAC,QAAA,gBAC5D,IAAAZ,WAAA,CAAAa,GAAA,EAAChB,UAAA,CAAAiB,OAAS;MAACC,IAAI,EAAGC,WAAM;MAACC,UAAU;IAAA,CAAE,CAAC,eACtC,IAAAjB,WAAA,CAAAU,IAAA;MAAKC,SAAS,EAAC,sDAAsD;MAAAC,QAAA,gBACpE,IAAAZ,WAAA,CAAAa,GAAA;QAAKF,SAAS,EAAC,oDAAoD;QAAAC,QAAA,EAChE,IAAAM,aAAO,GACR;QACA,IAAAC,QAAE,EAAE,UAAU,EAAE,WAAW,EAAEjB,MAAM,CAACkB,MAAO,CAAC,EAC5ClB,MAAM,CAACkB,MACR;MAAC,CACG,CAAC,eACN,IAAApB,WAAA,CAAAa,GAAA;QAAKF,SAAS,EAAC,0DAA0D;QAAAC,QAAA,EACtE,IAAAM,aAAO,GACR;QACA,IAAAC,QAAE,EAAE,mBAAmB,EAAE,oBAAoB,EAAEZ,KAAM,CAAC,EACtDA,KACD;MAAC,CACG,CAAC;IAAA,CACF,CAAC;EAAA,CACF,CAAC;AAER","ignoreList":[]}
@@ -40,6 +40,7 @@ function ResolutionTool({
40
40
  isShownByDefault: isShownByDefault,
41
41
  panelId: panelId,
42
42
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
43
+ __nextHasNoMarginBottom: true,
43
44
  label: (0, _i18n.__)('Resolution'),
44
45
  value: displayValue,
45
46
  options: options,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_jsxRuntime","DEFAULT_SIZE_OPTIONS","label","_x","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","jsx","__experimentalToolsPanelItem","hasValue","__","onDeselect","children","SelectControl","help","size"],"sources":["@wordpress/block-editor/src/components/resolution-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nconst DEFAULT_SIZE_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Thumbnail', 'Image size option for resolution control' ),\n\t\tvalue: 'thumbnail',\n\t},\n\t{\n\t\tlabel: _x( 'Medium', 'Image size option for resolution control' ),\n\t\tvalue: 'medium',\n\t},\n\t{\n\t\tlabel: _x( 'Large', 'Image size option for resolution control' ),\n\t\tvalue: 'large',\n\t},\n\t{\n\t\tlabel: _x( 'Full Size', 'Image size option for resolution control' ),\n\t\tvalue: 'full',\n\t},\n];\n\nexport default function ResolutionTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SIZE_OPTIONS,\n\tdefaultValue = DEFAULT_SIZE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n} ) {\n\tconst displayValue = value ?? defaultValue;\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,WAAA,GAAAF,OAAA;AAPzC;AACA;AACA;;AAOA,MAAMG,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,CACD;AAEc,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGP,oBAAoB;EAC9BQ,YAAY,GAAGR,oBAAoB,CAAE,CAAC,CAAE,CAACG,KAAK;EAC9CM,gBAAgB,GAAG;AACpB,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGP,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIK,YAAY;EAC1C,oBACC,IAAAT,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAgB,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAMH,YAAY,KAAKF,YAAc;IAChDP,KAAK,EAAG,IAAAa,QAAE,EAAE,YAAa,CAAG;IAC5BC,UAAU,EAAGA,CAAA,KAAMT,QAAQ,CAAEE,YAAa,CAAG;IAC7CC,gBAAgB,EAAGA,gBAAkB;IACrCJ,OAAO,EAAGA,OAAS;IAAAW,QAAA,eAEnB,IAAAjB,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAqB,aAAa;MACbhB,KAAK,EAAG,IAAAa,QAAE,EAAE,YAAa,CAAG;MAC5BX,KAAK,EAAGO,YAAc;MACtBH,OAAO,EAAGA,OAAS;MACnBD,QAAQ,EAAGA,QAAU;MACrBY,IAAI,EAAG,IAAAJ,QAAE,EAAE,sCAAuC,CAAG;MACrDK,IAAI,EAAC;IAAkB,CACvB;EAAC,CACa,CAAC;AAEnB","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_jsxRuntime","DEFAULT_SIZE_OPTIONS","label","_x","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","jsx","__experimentalToolsPanelItem","hasValue","__","onDeselect","children","SelectControl","__nextHasNoMarginBottom","help","size"],"sources":["@wordpress/block-editor/src/components/resolution-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nconst DEFAULT_SIZE_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Thumbnail', 'Image size option for resolution control' ),\n\t\tvalue: 'thumbnail',\n\t},\n\t{\n\t\tlabel: _x( 'Medium', 'Image size option for resolution control' ),\n\t\tvalue: 'medium',\n\t},\n\t{\n\t\tlabel: _x( 'Large', 'Image size option for resolution control' ),\n\t\tvalue: 'large',\n\t},\n\t{\n\t\tlabel: _x( 'Full Size', 'Image size option for resolution control' ),\n\t\tvalue: 'full',\n\t},\n];\n\nexport default function ResolutionTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SIZE_OPTIONS,\n\tdefaultValue = DEFAULT_SIZE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n} ) {\n\tconst displayValue = value ?? defaultValue;\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,WAAA,GAAAF,OAAA;AAPzC;AACA;AACA;;AAOA,MAAMG,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,CACD;AAEc,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGP,oBAAoB;EAC9BQ,YAAY,GAAGR,oBAAoB,CAAE,CAAC,CAAE,CAACG,KAAK;EAC9CM,gBAAgB,GAAG;AACpB,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGP,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIK,YAAY;EAC1C,oBACC,IAAAT,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAgB,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAMH,YAAY,KAAKF,YAAc;IAChDP,KAAK,EAAG,IAAAa,QAAE,EAAE,YAAa,CAAG;IAC5BC,UAAU,EAAGA,CAAA,KAAMT,QAAQ,CAAEE,YAAa,CAAG;IAC7CC,gBAAgB,EAAGA,gBAAkB;IACrCJ,OAAO,EAAGA,OAAS;IAAAW,QAAA,eAEnB,IAAAjB,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAqB,aAAa;MACbC,uBAAuB;MACvBjB,KAAK,EAAG,IAAAa,QAAE,EAAE,YAAa,CAAG;MAC5BX,KAAK,EAAGO,YAAc;MACtBH,OAAO,EAAGA,OAAS;MACnBD,QAAQ,EAAGA,QAAU;MACrBa,IAAI,EAAG,IAAAL,QAAE,EAAE,sCAAuC,CAAG;MACrDM,IAAI,EAAC;IAAkB,CACvB;EAAC,CACa,CAAC;AAEnB","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.default = SkipToSelectedBlock;
7
7
  var _data = require("@wordpress/data");
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _components = require("@wordpress/components");
10
+ var _element = require("@wordpress/element");
10
11
  var _store = require("../../store");
11
12
  var _useBlockRefs = require("../block-list/use-block-props/use-block-refs");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
@@ -22,9 +23,10 @@ var _jsxRuntime = require("react/jsx-runtime");
22
23
  * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/skip-to-selected-block/README.md
23
24
  */function SkipToSelectedBlock() {
24
25
  const selectedBlockClientId = (0, _data.useSelect)(select => select(_store.store).getBlockSelectionStart(), []);
25
- const ref = (0, _useBlockRefs.__unstableUseBlockRef)(selectedBlockClientId);
26
+ const ref = (0, _element.useRef)();
27
+ (0, _useBlockRefs.useBlockElementRef)(selectedBlockClientId, ref);
26
28
  const onClick = () => {
27
- ref.current.focus();
29
+ ref.current?.focus();
28
30
  };
29
31
  return selectedBlockClientId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
30
32
  variant: "secondary",
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_i18n","_components","_store","_useBlockRefs","_jsxRuntime","SkipToSelectedBlock","selectedBlockClientId","useSelect","select","blockEditorStore","getBlockSelectionStart","ref","useBlockRef","onClick","current","focus","jsx","Button","variant","className","children","__"],"sources":["@wordpress/block-editor/src/components/skip-to-selected-block/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { __unstableUseBlockRef as useBlockRef } from '../block-list/use-block-props/use-block-refs';\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/skip-to-selected-block/README.md\n */\nexport default function SkipToSelectedBlock() {\n\tconst selectedBlockClientId = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlockSelectionStart(),\n\t\t[]\n\t);\n\tconst ref = useBlockRef( selectedBlockClientId );\n\tconst onClick = () => {\n\t\tref.current.focus();\n\t};\n\n\treturn selectedBlockClientId ? (\n\t\t<Button\n\t\t\tvariant=\"secondary\"\n\t\t\tclassName=\"block-editor-skip-to-selected-block\"\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ __( 'Skip to the selected block' ) }\n\t\t</Button>\n\t) : null;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAAoG,IAAAK,WAAA,GAAAL,OAAA;AAXpG;AACA;AACA;;AAKA;AACA;AACA;;AAIA;AACA;AACA,GACe,SAASM,mBAAmBA,CAAA,EAAG;EAC7C,MAAMC,qBAAqB,GAAG,IAAAC,eAAS,EACpCC,MAAM,IAAMA,MAAM,CAAEC,YAAiB,CAAC,CAACC,sBAAsB,CAAC,CAAC,EACjE,EACD,CAAC;EACD,MAAMC,GAAG,GAAG,IAAAC,mCAAW,EAAEN,qBAAsB,CAAC;EAChD,MAAMO,OAAO,GAAGA,CAAA,KAAM;IACrBF,GAAG,CAACG,OAAO,CAACC,KAAK,CAAC,CAAC;EACpB,CAAC;EAED,OAAOT,qBAAqB,gBAC3B,IAAAF,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAgB,MAAM;IACNC,OAAO,EAAC,WAAW;IACnBC,SAAS,EAAC,qCAAqC;IAC/CN,OAAO,EAAGA,OAAS;IAAAO,QAAA,EAEjB,IAAAC,QAAE,EAAE,4BAA6B;EAAC,CAC7B,CAAC,GACN,IAAI;AACT","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_i18n","_components","_element","_store","_useBlockRefs","_jsxRuntime","SkipToSelectedBlock","selectedBlockClientId","useSelect","select","blockEditorStore","getBlockSelectionStart","ref","useRef","useBlockElementRef","onClick","current","focus","jsx","Button","variant","className","children","__"],"sources":["@wordpress/block-editor/src/components/skip-to-selected-block/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockElementRef } from '../block-list/use-block-props/use-block-refs';\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/skip-to-selected-block/README.md\n */\nexport default function SkipToSelectedBlock() {\n\tconst selectedBlockClientId = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlockSelectionStart(),\n\t\t[]\n\t);\n\tconst ref = useRef();\n\tuseBlockElementRef( selectedBlockClientId, ref );\n\tconst onClick = () => {\n\t\tref.current?.focus();\n\t};\n\n\treturn selectedBlockClientId ? (\n\t\t<Button\n\t\t\tvariant=\"secondary\"\n\t\t\tclassName=\"block-editor-skip-to-selected-block\"\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ __( 'Skip to the selected block' ) }\n\t\t</Button>\n\t) : null;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAAkF,IAAAM,WAAA,GAAAN,OAAA;AAZlF;AACA;AACA;;AAMA;AACA;AACA;;AAIA;AACA;AACA,GACe,SAASO,mBAAmBA,CAAA,EAAG;EAC7C,MAAMC,qBAAqB,GAAG,IAAAC,eAAS,EACpCC,MAAM,IAAMA,MAAM,CAAEC,YAAiB,CAAC,CAACC,sBAAsB,CAAC,CAAC,EACjE,EACD,CAAC;EACD,MAAMC,GAAG,GAAG,IAAAC,eAAM,EAAC,CAAC;EACpB,IAAAC,gCAAkB,EAAEP,qBAAqB,EAAEK,GAAI,CAAC;EAChD,MAAMG,OAAO,GAAGA,CAAA,KAAM;IACrBH,GAAG,CAACI,OAAO,EAAEC,KAAK,CAAC,CAAC;EACrB,CAAC;EAED,OAAOV,qBAAqB,gBAC3B,IAAAF,WAAA,CAAAa,GAAA,EAACjB,WAAA,CAAAkB,MAAM;IACNC,OAAO,EAAC,WAAW;IACnBC,SAAS,EAAC,qCAAqC;IAC/CN,OAAO,EAAGA,OAAS;IAAAO,QAAA,EAEjB,IAAAC,QAAE,EAAE,4BAA6B;EAAC,CAC7B,CAAC,GACN,IAAI;AACT","ignoreList":[]}
@@ -13,7 +13,6 @@ var _icons = require("@wordpress/icons");
13
13
  var _useSettings = require("../../use-settings");
14
14
  var _store = require("../../../store");
15
15
  var _utils = require("../utils");
16
- var _lockUnlock = require("../../../lock-unlock");
17
16
  var _jsxRuntime = require("react/jsx-runtime");
18
17
  /**
19
18
  * WordPress dependencies
@@ -23,9 +22,6 @@ var _jsxRuntime = require("react/jsx-runtime");
23
22
  * Internal dependencies
24
23
  */
25
24
 
26
- const {
27
- CustomSelectControlV2Legacy: CustomSelectControl
28
- } = (0, _lockUnlock.unlock)(_components.privateApis);
29
25
  const CUSTOM_VALUE_SETTINGS = {
30
26
  px: {
31
27
  max: 300,
@@ -221,8 +217,8 @@ function SpacingInputControl({
221
217
  key: index,
222
218
  name: size.name
223
219
  }));
224
- const marks = spacingSizes.map((_newValue, index) => ({
225
- value: index,
220
+ const marks = spacingSizes.slice(1, spacingSizes.length - 1).map((_newValue, index) => ({
221
+ value: index + 1,
226
222
  label: undefined
227
223
  }));
228
224
  const sideLabel = _utils.ALL_SIDES.includes(side) && showSideInLabel ? _utils.LABELS[side] : '';
@@ -266,6 +262,7 @@ function SpacingInputControl({
266
262
  setMinValue(minimumCustomValue);
267
263
  }
268
264
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
265
+ __next40pxDefaultSize: true,
269
266
  onMouseOver: onMouseOver,
270
267
  onMouseOut: onMouseOut,
271
268
  onFocus: onMouseOver,
@@ -277,9 +274,12 @@ function SpacingInputControl({
277
274
  withInputField: false,
278
275
  onChange: handleCustomValueSliderChange,
279
276
  className: "spacing-sizes-control__custom-value-range",
280
- __nextHasNoMarginBottom: true
277
+ __nextHasNoMarginBottom: true,
278
+ label: ariaLabel,
279
+ hideLabelFromVision: true
281
280
  })]
282
281
  }), showRangeControl && !showCustomValueControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
282
+ __next40pxDefaultSize: true,
283
283
  onMouseOver: onMouseOver,
284
284
  onMouseOut: onMouseOut,
285
285
  className: "spacing-sizes-control__range-control",
@@ -304,7 +304,7 @@ function SpacingInputControl({
304
304
  __nextHasNoMarginBottom: true,
305
305
  onFocus: onMouseOver,
306
306
  onBlur: onMouseOut
307
- }), !showRangeControl && !showCustomValueControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomSelectControl, {
307
+ }), !showRangeControl && !showCustomValueControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CustomSelectControl, {
308
308
  className: "spacing-sizes-control__custom-select-control",
309
309
  value:
310
310
  // passing empty string as a fallback to continue using the
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_element","_compose","_i18n","_icons","_useSettings","_store","_utils","_lockUnlock","_jsxRuntime","CustomSelectControlV2Legacy","CustomSelectControl","unlock","componentsPrivateApis","CUSTOM_VALUE_SETTINGS","px","max","steps","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","SpacingInputControl","icon","isMixed","minimumCustomValue","onChange","onMouseOut","onMouseOver","showSideInLabel","side","spacingSizes","type","value","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","getPresetValueFromCustomValue","selectListSizes","showRangeControl","length","RANGE_CONTROL_MAX_SIZE","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","showCustomValueControl","setShowCustomValueControl","useState","undefined","isValueSpacingPreset","minValue","setMinValue","previousValue","usePrevious","availableUnits","useSettings","units","useCustomUnits","currentValue","showCustomValueInSelectList","name","sprintf","__","slug","size","getSliderValueFromPreset","getCustomValueFromPreset","selectedUnit","useMemo","parseQuantityAndUnitFromRawValue","setInitialValue","customTooltipContent","newValue","customRangeValue","parseFloat","getNewCustomValue","newSize","isNumeric","isNaN","nextValue","getNewPresetValue","controlType","parseInt","handleCustomValueSliderChange","next","join","allPlaceholder","options","map","index","key","marks","_newValue","label","sideLabel","ALL_SIDES","includes","LABELS","typeLabel","toLowerCase","ariaLabel","trim","jsxs","__experimentalHStack","className","children","jsx","Icon","Fragment","__experimentalUnitControl","onFocus","onBlur","min","placeholder","disableUnits","hideLabelFromVision","onDragStart","charAt","onDrag","onDragEnd","RangeControl","step","withInputField","__nextHasNoMarginBottom","onMouseDown","event","nativeEvent","offsetX","renderTooltipContent","find","option","selection","selectedItem","Button","settings","onClick","isPressed","iconSize"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/input-controls/spacing-input-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tRangeControl,\n\t__experimentalHStack as HStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\nimport { store as blockEditorStore } from '../../../store';\nimport {\n\tRANGE_CONTROL_MAX_SIZE,\n\tALL_SIDES,\n\tLABELS,\n\tgetSliderValueFromPreset,\n\tgetCustomValueFromPreset,\n\tgetPresetValueFromCustomValue,\n\tisValueSpacingPreset,\n} from '../utils';\nimport { unlock } from '../../../lock-unlock';\n\nconst { CustomSelectControlV2Legacy: CustomSelectControl } = unlock(\n\tcomponentsPrivateApis\n);\n\nconst CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 300, steps: 1 },\n\t'%': { max: 100, steps: 1 },\n\tvw: { max: 100, steps: 1 },\n\tvh: { max: 100, steps: 1 },\n\tem: { max: 10, steps: 0.1 },\n\trm: { max: 10, steps: 0.1 },\n\tsvw: { max: 100, steps: 1 },\n\tlvw: { max: 100, steps: 1 },\n\tdvw: { max: 100, steps: 1 },\n\tsvh: { max: 100, steps: 1 },\n\tlvh: { max: 100, steps: 1 },\n\tdvh: { max: 100, steps: 1 },\n\tvi: { max: 100, steps: 1 },\n\tsvi: { max: 100, steps: 1 },\n\tlvi: { max: 100, steps: 1 },\n\tdvi: { max: 100, steps: 1 },\n\tvb: { max: 100, steps: 1 },\n\tsvb: { max: 100, steps: 1 },\n\tlvb: { max: 100, steps: 1 },\n\tdvb: { max: 100, steps: 1 },\n\tvmin: { max: 100, steps: 1 },\n\tsvmin: { max: 100, steps: 1 },\n\tlvmin: { max: 100, steps: 1 },\n\tdvmin: { max: 100, steps: 1 },\n\tvmax: { max: 100, steps: 1 },\n\tsvmax: { max: 100, steps: 1 },\n\tlvmax: { max: 100, steps: 1 },\n\tdvmax: { max: 100, steps: 1 },\n};\n\nexport default function SpacingInputControl( {\n\ticon,\n\tisMixed = false,\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tshowSideInLabel = true,\n\tside,\n\tspacingSizes,\n\ttype,\n\tvalue,\n} ) {\n\t// Treat value as a preset value if the passed in value matches the value of one of the spacingSizes.\n\tvalue = getPresetValueFromCustomValue( value, spacingSizes );\n\n\tlet selectListSizes = spacingSizes;\n\tconst showRangeControl = spacingSizes.length <= RANGE_CONTROL_MAX_SIZE;\n\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomSpacingSizes &&\n\t\t\tvalue !== undefined &&\n\t\t\t! isValueSpacingPreset( value )\n\t);\n\n\tconst [ minValue, setMinValue ] = useState( minimumCustomValue );\n\n\tconst previousValue = usePrevious( value );\n\tif (\n\t\t!! value &&\n\t\tpreviousValue !== value &&\n\t\t! isValueSpacingPreset( value ) &&\n\t\tshowCustomValueControl !== true\n\t) {\n\t\tsetShowCustomValueControl( true );\n\t}\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tlet currentValue = null;\n\n\tconst showCustomValueInSelectList =\n\t\t! showRangeControl &&\n\t\t! showCustomValueControl &&\n\t\tvalue !== undefined &&\n\t\t( ! isValueSpacingPreset( value ) ||\n\t\t\t( isValueSpacingPreset( value ) && isMixed ) );\n\n\tif ( showCustomValueInSelectList ) {\n\t\tselectListSizes = [\n\t\t\t...spacingSizes,\n\t\t\t{\n\t\t\t\tname: ! isMixed\n\t\t\t\t\t? // translators: A custom measurement, eg. a number followed by a unit like 12px.\n\t\t\t\t\t sprintf( __( 'Custom (%s)' ), value )\n\t\t\t\t\t: __( 'Mixed' ),\n\t\t\t\tslug: 'custom',\n\t\t\t\tsize: value,\n\t\t\t},\n\t\t];\n\t\tcurrentValue = selectListSizes.length - 1;\n\t} else if ( ! isMixed ) {\n\t\tcurrentValue = ! showCustomValueControl\n\t\t\t? getSliderValueFromPreset( value, spacingSizes )\n\t\t\t: getCustomValueFromPreset( value, spacingSizes );\n\t}\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( currentValue ),\n\t\t\t[ currentValue ]\n\t\t)[ 1 ] || units[ 0 ]?.value;\n\n\tconst setInitialValue = () => {\n\t\tif ( value === undefined ) {\n\t\t\tonChange( '0' );\n\t\t}\n\t};\n\n\tconst customTooltipContent = ( newValue ) =>\n\t\tvalue === undefined ? undefined : spacingSizes[ newValue ]?.name;\n\n\tconst customRangeValue = parseFloat( currentValue, 10 );\n\n\tconst getNewCustomValue = ( newSize ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( newSize ) );\n\t\tconst nextValue = isNumeric ? newSize : undefined;\n\t\treturn nextValue;\n\t};\n\n\tconst getNewPresetValue = ( newSize, controlType ) => {\n\t\tconst size = parseInt( newSize, 10 );\n\n\t\tif ( controlType === 'selectList' ) {\n\t\t\tif ( size === 0 ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif ( size === 1 ) {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t} else if ( size === 0 ) {\n\t\t\treturn '0';\n\t\t}\n\t\treturn `var:preset|spacing|${ spacingSizes[ newSize ]?.slug }`;\n\t};\n\n\tconst handleCustomValueSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst allPlaceholder = isMixed ? __( 'Mixed' ) : null;\n\n\tconst options = selectListSizes.map( ( size, index ) => ( {\n\t\tkey: index,\n\t\tname: size.name,\n\t} ) );\n\n\tconst marks = spacingSizes.map( ( _newValue, index ) => ( {\n\t\tvalue: index,\n\t\tlabel: undefined,\n\t} ) );\n\n\tconst sideLabel =\n\t\tALL_SIDES.includes( side ) && showSideInLabel ? LABELS[ side ] : '';\n\tconst typeLabel = showSideInLabel ? type?.toLowerCase() : type;\n\n\tconst ariaLabel = sprintf(\n\t\t// translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc)\n\t\t__( '%1$s %2$s' ),\n\t\tsideLabel,\n\t\ttypeLabel\n\t).trim();\n\n\treturn (\n\t\t<HStack className=\"spacing-sizes-control__wrapper\">\n\t\t\t{ icon && (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"spacing-sizes-control__icon\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tsize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showCustomValueControl && (\n\t\t\t\t<>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\t\tonChange( getNewCustomValue( newSize ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ minValue }\n\t\t\t\t\t\tplaceholder={ allPlaceholder }\n\t\t\t\t\t\tdisableUnits={ isMixed }\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-input\"\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonDragStart={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDrag={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDragEnd={ () => {\n\t\t\t\t\t\t\tsetMinValue( minimumCustomValue );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ CUSTOM_VALUE_SETTINGS[ selectedUnit ]?.max ?? 10 }\n\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ selectedUnit ]?.steps ?? 0.1\n\t\t\t\t\t\t}\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tonChange={ handleCustomValueSliderChange }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-range\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tclassName=\"spacing-sizes-control__range-control\"\n\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\tonChange( getNewPresetValue( newSize ) )\n\t\t\t\t\t}\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// If mouse down is near start of range set initial value to 0, which\n\t\t\t\t\t\t// prevents the user have to drag right then left to get 0 setting.\n\t\t\t\t\t\tif ( event?.nativeEvent?.offsetX < 35 ) {\n\t\t\t\t\t\t\tsetInitialValue();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\taria-valuenow={ currentValue }\n\t\t\t\t\taria-valuetext={ spacingSizes[ currentValue ]?.name }\n\t\t\t\t\trenderTooltipContent={ customTooltipContent }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ spacingSizes.length - 1 }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-select-control\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// passing empty string as a fallback to continue using the\n\t\t\t\t\t\t// component in controlled mode\n\t\t\t\t\t\toptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === currentValue\n\t\t\t\t\t\t) || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( selection ) => {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tgetNewPresetValue(\n\t\t\t\t\t\t\t\tselection.selectedItem.key,\n\t\t\t\t\t\t\t\t'selectList'\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\toptions={ options }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! disableCustomSpacingSizes && (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t}\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCustomValueControl( ! showCustomValueControl );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-toggle\"\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_data","_element","_compose","_i18n","_icons","_useSettings","_store","_utils","_jsxRuntime","CUSTOM_VALUE_SETTINGS","px","max","steps","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","SpacingInputControl","icon","isMixed","minimumCustomValue","onChange","onMouseOut","onMouseOver","showSideInLabel","side","spacingSizes","type","value","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","getPresetValueFromCustomValue","selectListSizes","showRangeControl","length","RANGE_CONTROL_MAX_SIZE","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","showCustomValueControl","setShowCustomValueControl","useState","undefined","isValueSpacingPreset","minValue","setMinValue","previousValue","usePrevious","availableUnits","useSettings","units","useCustomUnits","currentValue","showCustomValueInSelectList","name","sprintf","__","slug","size","getSliderValueFromPreset","getCustomValueFromPreset","selectedUnit","useMemo","parseQuantityAndUnitFromRawValue","setInitialValue","customTooltipContent","newValue","customRangeValue","parseFloat","getNewCustomValue","newSize","isNumeric","isNaN","nextValue","getNewPresetValue","controlType","parseInt","handleCustomValueSliderChange","next","join","allPlaceholder","options","map","index","key","marks","slice","_newValue","label","sideLabel","ALL_SIDES","includes","LABELS","typeLabel","toLowerCase","ariaLabel","trim","jsxs","__experimentalHStack","className","children","jsx","Icon","Fragment","__experimentalUnitControl","onFocus","onBlur","min","placeholder","disableUnits","hideLabelFromVision","onDragStart","charAt","onDrag","onDragEnd","RangeControl","__next40pxDefaultSize","step","withInputField","__nextHasNoMarginBottom","onMouseDown","event","nativeEvent","offsetX","renderTooltipContent","CustomSelectControl","find","option","selection","selectedItem","Button","settings","onClick","isPressed","iconSize"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/input-controls/spacing-input-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tRangeControl,\n\t__experimentalHStack as HStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\tCustomSelectControl,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\nimport { store as blockEditorStore } from '../../../store';\nimport {\n\tRANGE_CONTROL_MAX_SIZE,\n\tALL_SIDES,\n\tLABELS,\n\tgetSliderValueFromPreset,\n\tgetCustomValueFromPreset,\n\tgetPresetValueFromCustomValue,\n\tisValueSpacingPreset,\n} from '../utils';\n\nconst CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 300, steps: 1 },\n\t'%': { max: 100, steps: 1 },\n\tvw: { max: 100, steps: 1 },\n\tvh: { max: 100, steps: 1 },\n\tem: { max: 10, steps: 0.1 },\n\trm: { max: 10, steps: 0.1 },\n\tsvw: { max: 100, steps: 1 },\n\tlvw: { max: 100, steps: 1 },\n\tdvw: { max: 100, steps: 1 },\n\tsvh: { max: 100, steps: 1 },\n\tlvh: { max: 100, steps: 1 },\n\tdvh: { max: 100, steps: 1 },\n\tvi: { max: 100, steps: 1 },\n\tsvi: { max: 100, steps: 1 },\n\tlvi: { max: 100, steps: 1 },\n\tdvi: { max: 100, steps: 1 },\n\tvb: { max: 100, steps: 1 },\n\tsvb: { max: 100, steps: 1 },\n\tlvb: { max: 100, steps: 1 },\n\tdvb: { max: 100, steps: 1 },\n\tvmin: { max: 100, steps: 1 },\n\tsvmin: { max: 100, steps: 1 },\n\tlvmin: { max: 100, steps: 1 },\n\tdvmin: { max: 100, steps: 1 },\n\tvmax: { max: 100, steps: 1 },\n\tsvmax: { max: 100, steps: 1 },\n\tlvmax: { max: 100, steps: 1 },\n\tdvmax: { max: 100, steps: 1 },\n};\n\nexport default function SpacingInputControl( {\n\ticon,\n\tisMixed = false,\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tshowSideInLabel = true,\n\tside,\n\tspacingSizes,\n\ttype,\n\tvalue,\n} ) {\n\t// Treat value as a preset value if the passed in value matches the value of one of the spacingSizes.\n\tvalue = getPresetValueFromCustomValue( value, spacingSizes );\n\n\tlet selectListSizes = spacingSizes;\n\tconst showRangeControl = spacingSizes.length <= RANGE_CONTROL_MAX_SIZE;\n\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomSpacingSizes &&\n\t\t\tvalue !== undefined &&\n\t\t\t! isValueSpacingPreset( value )\n\t);\n\n\tconst [ minValue, setMinValue ] = useState( minimumCustomValue );\n\n\tconst previousValue = usePrevious( value );\n\tif (\n\t\t!! value &&\n\t\tpreviousValue !== value &&\n\t\t! isValueSpacingPreset( value ) &&\n\t\tshowCustomValueControl !== true\n\t) {\n\t\tsetShowCustomValueControl( true );\n\t}\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tlet currentValue = null;\n\n\tconst showCustomValueInSelectList =\n\t\t! showRangeControl &&\n\t\t! showCustomValueControl &&\n\t\tvalue !== undefined &&\n\t\t( ! isValueSpacingPreset( value ) ||\n\t\t\t( isValueSpacingPreset( value ) && isMixed ) );\n\n\tif ( showCustomValueInSelectList ) {\n\t\tselectListSizes = [\n\t\t\t...spacingSizes,\n\t\t\t{\n\t\t\t\tname: ! isMixed\n\t\t\t\t\t? // translators: A custom measurement, eg. a number followed by a unit like 12px.\n\t\t\t\t\t sprintf( __( 'Custom (%s)' ), value )\n\t\t\t\t\t: __( 'Mixed' ),\n\t\t\t\tslug: 'custom',\n\t\t\t\tsize: value,\n\t\t\t},\n\t\t];\n\t\tcurrentValue = selectListSizes.length - 1;\n\t} else if ( ! isMixed ) {\n\t\tcurrentValue = ! showCustomValueControl\n\t\t\t? getSliderValueFromPreset( value, spacingSizes )\n\t\t\t: getCustomValueFromPreset( value, spacingSizes );\n\t}\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( currentValue ),\n\t\t\t[ currentValue ]\n\t\t)[ 1 ] || units[ 0 ]?.value;\n\n\tconst setInitialValue = () => {\n\t\tif ( value === undefined ) {\n\t\t\tonChange( '0' );\n\t\t}\n\t};\n\n\tconst customTooltipContent = ( newValue ) =>\n\t\tvalue === undefined ? undefined : spacingSizes[ newValue ]?.name;\n\n\tconst customRangeValue = parseFloat( currentValue, 10 );\n\n\tconst getNewCustomValue = ( newSize ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( newSize ) );\n\t\tconst nextValue = isNumeric ? newSize : undefined;\n\t\treturn nextValue;\n\t};\n\n\tconst getNewPresetValue = ( newSize, controlType ) => {\n\t\tconst size = parseInt( newSize, 10 );\n\n\t\tif ( controlType === 'selectList' ) {\n\t\t\tif ( size === 0 ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif ( size === 1 ) {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t} else if ( size === 0 ) {\n\t\t\treturn '0';\n\t\t}\n\t\treturn `var:preset|spacing|${ spacingSizes[ newSize ]?.slug }`;\n\t};\n\n\tconst handleCustomValueSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst allPlaceholder = isMixed ? __( 'Mixed' ) : null;\n\n\tconst options = selectListSizes.map( ( size, index ) => ( {\n\t\tkey: index,\n\t\tname: size.name,\n\t} ) );\n\n\tconst marks = spacingSizes\n\t\t.slice( 1, spacingSizes.length - 1 )\n\t\t.map( ( _newValue, index ) => ( {\n\t\t\tvalue: index + 1,\n\t\t\tlabel: undefined,\n\t\t} ) );\n\n\tconst sideLabel =\n\t\tALL_SIDES.includes( side ) && showSideInLabel ? LABELS[ side ] : '';\n\tconst typeLabel = showSideInLabel ? type?.toLowerCase() : type;\n\n\tconst ariaLabel = sprintf(\n\t\t// translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc)\n\t\t__( '%1$s %2$s' ),\n\t\tsideLabel,\n\t\ttypeLabel\n\t).trim();\n\n\treturn (\n\t\t<HStack className=\"spacing-sizes-control__wrapper\">\n\t\t\t{ icon && (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"spacing-sizes-control__icon\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tsize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showCustomValueControl && (\n\t\t\t\t<>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\t\tonChange( getNewCustomValue( newSize ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ minValue }\n\t\t\t\t\t\tplaceholder={ allPlaceholder }\n\t\t\t\t\t\tdisableUnits={ isMixed }\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-input\"\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonDragStart={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDrag={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDragEnd={ () => {\n\t\t\t\t\t\t\tsetMinValue( minimumCustomValue );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ CUSTOM_VALUE_SETTINGS[ selectedUnit ]?.max ?? 10 }\n\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ selectedUnit ]?.steps ?? 0.1\n\t\t\t\t\t\t}\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tonChange={ handleCustomValueSliderChange }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-range\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tclassName=\"spacing-sizes-control__range-control\"\n\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\tonChange( getNewPresetValue( newSize ) )\n\t\t\t\t\t}\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// If mouse down is near start of range set initial value to 0, which\n\t\t\t\t\t\t// prevents the user have to drag right then left to get 0 setting.\n\t\t\t\t\t\tif ( event?.nativeEvent?.offsetX < 35 ) {\n\t\t\t\t\t\t\tsetInitialValue();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\taria-valuenow={ currentValue }\n\t\t\t\t\taria-valuetext={ spacingSizes[ currentValue ]?.name }\n\t\t\t\t\trenderTooltipContent={ customTooltipContent }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ spacingSizes.length - 1 }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-select-control\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// passing empty string as a fallback to continue using the\n\t\t\t\t\t\t// component in controlled mode\n\t\t\t\t\t\toptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === currentValue\n\t\t\t\t\t\t) || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( selection ) => {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tgetNewPresetValue(\n\t\t\t\t\t\t\t\tselection.selectedItem.key,\n\t\t\t\t\t\t\t\t'selectList'\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\toptions={ options }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! disableCustomSpacingSizes && (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t}\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCustomValueControl( ! showCustomValueControl );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-toggle\"\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAUA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAKA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAQkB,IAAAS,WAAA,GAAAT,OAAA;AAhClB;AACA;AACA;;AAiBA;AACA;AACA;;AAaA,MAAMU,qBAAqB,GAAG;EAC7BC,EAAE,EAAE;IAAEC,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC1B,GAAG,EAAE;IAAED,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BC,EAAE,EAAE;IAAEF,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC1BE,EAAE,EAAE;IAAEH,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC1BG,EAAE,EAAE;IAAEJ,GAAG,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAI,CAAC;EAC3BI,EAAE,EAAE;IAAEL,GAAG,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAI,CAAC;EAC3BK,GAAG,EAAE;IAAEN,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BM,GAAG,EAAE;IAAEP,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BO,GAAG,EAAE;IAAER,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BQ,GAAG,EAAE;IAAET,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BS,GAAG,EAAE;IAAEV,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BU,GAAG,EAAE;IAAEX,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BW,EAAE,EAAE;IAAEZ,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC1BY,GAAG,EAAE;IAAEb,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3Ba,GAAG,EAAE;IAAEd,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3Bc,GAAG,EAAE;IAAEf,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3Be,EAAE,EAAE;IAAEhB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC1BgB,GAAG,EAAE;IAAEjB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BiB,GAAG,EAAE;IAAElB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BkB,GAAG,EAAE;IAAEnB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC3BmB,IAAI,EAAE;IAAEpB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC5BoB,KAAK,EAAE;IAAErB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC7BqB,KAAK,EAAE;IAAEtB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC7BsB,KAAK,EAAE;IAAEvB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC7BuB,IAAI,EAAE;IAAExB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC5BwB,KAAK,EAAE;IAAEzB,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC7ByB,KAAK,EAAE;IAAE1B,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE,CAAC;EAC7B0B,KAAK,EAAE;IAAE3B,GAAG,EAAE,GAAG;IAAEC,KAAK,EAAE;EAAE;AAC7B,CAAC;AAEc,SAAS2B,mBAAmBA,CAAE;EAC5CC,IAAI;EACJC,OAAO,GAAG,KAAK;EACfC,kBAAkB;EAClBC,QAAQ;EACRC,UAAU;EACVC,WAAW;EACXC,eAAe,GAAG,IAAI;EACtBC,IAAI;EACJC,YAAY;EACZC,IAAI;EACJC;AACD,CAAC,EAAG;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACH;EACAF,KAAK,GAAG,IAAAG,oCAA6B,EAAEH,KAAK,EAAEF,YAAa,CAAC;EAE5D,IAAIM,eAAe,GAAGN,YAAY;EAClC,MAAMO,gBAAgB,GAAGP,YAAY,CAACQ,MAAM,IAAIC,6BAAsB;EAEtE,MAAMC,yBAAyB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1D,MAAMC,cAAc,GAAGD,MAAM,CAAEE,YAAiB,CAAC,CAACC,WAAW,CAAC,CAAC;IAC/D,OAAOF,cAAc,EAAEH,yBAAyB;EACjD,CAAE,CAAC;EAEH,MAAM,CAAEM,sBAAsB,EAAEC,yBAAyB,CAAE,GAAG,IAAAC,iBAAQ,EACrE,CAAER,yBAAyB,IAC1BR,KAAK,KAAKiB,SAAS,IACnB,CAAE,IAAAC,2BAAoB,EAAElB,KAAM,CAChC,CAAC;EAED,MAAM,CAAEmB,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAJ,iBAAQ,EAAExB,kBAAmB,CAAC;EAEhE,MAAM6B,aAAa,GAAG,IAAAC,oBAAW,EAAEtB,KAAM,CAAC;EAC1C,IACC,CAAC,CAAEA,KAAK,IACRqB,aAAa,KAAKrB,KAAK,IACvB,CAAE,IAAAkB,2BAAoB,EAAElB,KAAM,CAAC,IAC/Bc,sBAAsB,KAAK,IAAI,EAC9B;IACDC,yBAAyB,CAAE,IAAK,CAAC;EAClC;EAEA,MAAM,CAAEQ,cAAc,CAAE,GAAG,IAAAC,wBAAW,EAAE,eAAgB,CAAC;EACzD,MAAMC,KAAK,GAAG,IAAAC,wCAAc,EAAE;IAC7BH,cAAc,EAAEA,cAAc,IAAI,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACtD,CAAE,CAAC;EAEH,IAAII,YAAY,GAAG,IAAI;EAEvB,MAAMC,2BAA2B,GAChC,CAAEvB,gBAAgB,IAClB,CAAES,sBAAsB,IACxBd,KAAK,KAAKiB,SAAS,KACjB,CAAE,IAAAC,2BAAoB,EAAElB,KAAM,CAAC,IAC9B,IAAAkB,2BAAoB,EAAElB,KAAM,CAAC,IAAIT,OAAS,CAAE;EAEhD,IAAKqC,2BAA2B,EAAG;IAClCxB,eAAe,GAAG,CACjB,GAAGN,YAAY,EACf;MACC+B,IAAI,EAAE,CAAEtC,OAAO;MACZ;MACA,IAAAuC,aAAO,EAAE,IAAAC,QAAE,EAAE,aAAc,CAAC,EAAE/B,KAAM,CAAC,GACrC,IAAA+B,QAAE,EAAE,OAAQ,CAAC;MAChBC,IAAI,EAAE,QAAQ;MACdC,IAAI,EAAEjC;IACP,CAAC,CACD;IACD2B,YAAY,GAAGvB,eAAe,CAACE,MAAM,GAAG,CAAC;EAC1C,CAAC,MAAM,IAAK,CAAEf,OAAO,EAAG;IACvBoC,YAAY,GAAG,CAAEb,sBAAsB,GACpC,IAAAoB,+BAAwB,EAAElC,KAAK,EAAEF,YAAa,CAAC,GAC/C,IAAAqC,+BAAwB,EAAEnC,KAAK,EAAEF,YAAa,CAAC;EACnD;EAEA,MAAMsC,YAAY,GACjB,IAAAC,gBAAO,EACN,MAAM,IAAAC,0DAAgC,EAAEX,YAAa,CAAC,EACtD,CAAEA,YAAY,CACf,CAAC,CAAE,CAAC,CAAE,IAAIF,KAAK,CAAE,CAAC,CAAE,EAAEzB,KAAK;EAE5B,MAAMuC,eAAe,GAAGA,CAAA,KAAM;IAC7B,IAAKvC,KAAK,KAAKiB,SAAS,EAAG;MAC1BxB,QAAQ,CAAE,GAAI,CAAC;IAChB;EACD,CAAC;EAED,MAAM+C,oBAAoB,GAAKC,QAAQ,IACtCzC,KAAK,KAAKiB,SAAS,GAAGA,SAAS,GAAGnB,YAAY,CAAE2C,QAAQ,CAAE,EAAEZ,IAAI;EAEjE,MAAMa,gBAAgB,GAAGC,UAAU,CAAEhB,YAAY,EAAE,EAAG,CAAC;EAEvD,MAAMiB,iBAAiB,GAAKC,OAAO,IAAM;IACxC,MAAMC,SAAS,GAAG,CAAEC,KAAK,CAAEJ,UAAU,CAAEE,OAAQ,CAAE,CAAC;IAClD,MAAMG,SAAS,GAAGF,SAAS,GAAGD,OAAO,GAAG5B,SAAS;IACjD,OAAO+B,SAAS;EACjB,CAAC;EAED,MAAMC,iBAAiB,GAAGA,CAAEJ,OAAO,EAAEK,WAAW,KAAM;IACrD,MAAMjB,IAAI,GAAGkB,QAAQ,CAAEN,OAAO,EAAE,EAAG,CAAC;IAEpC,IAAKK,WAAW,KAAK,YAAY,EAAG;MACnC,IAAKjB,IAAI,KAAK,CAAC,EAAG;QACjB,OAAOhB,SAAS;MACjB;MACA,IAAKgB,IAAI,KAAK,CAAC,EAAG;QACjB,OAAO,GAAG;MACX;IACD,CAAC,MAAM,IAAKA,IAAI,KAAK,CAAC,EAAG;MACxB,OAAO,GAAG;IACX;IACA,OAAQ,sBAAsBnC,YAAY,CAAE+C,OAAO,CAAE,EAAEb,IAAM,EAAC;EAC/D,CAAC;EAED,MAAMoB,6BAA6B,GAAKC,IAAI,IAAM;IACjD5D,QAAQ,CAAE,CAAE4D,IAAI,EAAEjB,YAAY,CAAE,CAACkB,IAAI,CAAE,EAAG,CAAE,CAAC;EAC9C,CAAC;EAED,MAAMC,cAAc,GAAGhE,OAAO,GAAG,IAAAwC,QAAE,EAAE,OAAQ,CAAC,GAAG,IAAI;EAErD,MAAMyB,OAAO,GAAGpD,eAAe,CAACqD,GAAG,CAAE,CAAExB,IAAI,EAAEyB,KAAK,MAAQ;IACzDC,GAAG,EAAED,KAAK;IACV7B,IAAI,EAAEI,IAAI,CAACJ;EACZ,CAAC,CAAG,CAAC;EAEL,MAAM+B,KAAK,GAAG9D,YAAY,CACxB+D,KAAK,CAAE,CAAC,EAAE/D,YAAY,CAACQ,MAAM,GAAG,CAAE,CAAC,CACnCmD,GAAG,CAAE,CAAEK,SAAS,EAAEJ,KAAK,MAAQ;IAC/B1D,KAAK,EAAE0D,KAAK,GAAG,CAAC;IAChBK,KAAK,EAAE9C;EACR,CAAC,CAAG,CAAC;EAEN,MAAM+C,SAAS,GACdC,gBAAS,CAACC,QAAQ,CAAErE,IAAK,CAAC,IAAID,eAAe,GAAGuE,aAAM,CAAEtE,IAAI,CAAE,GAAG,EAAE;EACpE,MAAMuE,SAAS,GAAGxE,eAAe,GAAGG,IAAI,EAAEsE,WAAW,CAAC,CAAC,GAAGtE,IAAI;EAE9D,MAAMuE,SAAS,GAAG,IAAAxC,aAAO;EACxB;EACA,IAAAC,QAAE,EAAE,WAAY,CAAC,EACjBiC,SAAS,EACTI,SACD,CAAC,CAACG,IAAI,CAAC,CAAC;EAER,oBACC,IAAAjH,WAAA,CAAAkH,IAAA,EAAC5H,WAAA,CAAA6H,oBAAM;IAACC,SAAS,EAAC,gCAAgC;IAAAC,QAAA,GAC/CrF,IAAI,iBACL,IAAAhC,WAAA,CAAAsH,GAAA,EAAChI,WAAA,CAAAiI,IAAI;MACJH,SAAS,EAAC,6BAA6B;MACvCpF,IAAI,EAAGA,IAAM;MACb2C,IAAI,EAAG;IAAI,CACX,CACD,EACCnB,sBAAsB,iBACvB,IAAAxD,WAAA,CAAAkH,IAAA,EAAAlH,WAAA,CAAAwH,QAAA;MAAAH,QAAA,gBACC,IAAArH,WAAA,CAAAsH,GAAA,EAAChI,WAAA,CAAAmI,yBAAW;QACXpF,WAAW,EAAGA,WAAa;QAC3BD,UAAU,EAAGA,UAAY;QACzBsF,OAAO,EAAGrF,WAAa;QACvBsF,MAAM,EAAGvF,UAAY;QACrBD,QAAQ,EAAKoD,OAAO,IACnBpD,QAAQ,CAAEmD,iBAAiB,CAAEC,OAAQ,CAAE,CACvC;QACD7C,KAAK,EAAG2B,YAAc;QACtBF,KAAK,EAAGA,KAAO;QACfyD,GAAG,EAAG/D,QAAU;QAChBgE,WAAW,EAAG5B,cAAgB;QAC9B6B,YAAY,EAAG7F,OAAS;QACxBwE,KAAK,EAAGO,SAAW;QACnBe,mBAAmB;QACnBX,SAAS,EAAC,2CAA2C;QACrDzC,IAAI,EAAC,kBAAkB;QACvBqD,WAAW,EAAGA,CAAA,KAAM;UACnB,IAAKtF,KAAK,EAAEuF,MAAM,CAAE,CAAE,CAAC,KAAK,GAAG,EAAG;YACjCnE,WAAW,CAAE,CAAE,CAAC;UACjB;QACD,CAAG;QACHoE,MAAM,EAAGA,CAAA,KAAM;UACd,IAAKxF,KAAK,EAAEuF,MAAM,CAAE,CAAE,CAAC,KAAK,GAAG,EAAG;YACjCnE,WAAW,CAAE,CAAE,CAAC;UACjB;QACD,CAAG;QACHqE,SAAS,EAAGA,CAAA,KAAM;UACjBrE,WAAW,CAAE5B,kBAAmB,CAAC;QAClC;MAAG,CACH,CAAC,eACF,IAAAlC,WAAA,CAAAsH,GAAA,EAAChI,WAAA,CAAA8I,YAAY;QACZC,qBAAqB;QACrBhG,WAAW,EAAGA,WAAa;QAC3BD,UAAU,EAAGA,UAAY;QACzBsF,OAAO,EAAGrF,WAAa;QACvBsF,MAAM,EAAGvF,UAAY;QACrBM,KAAK,EAAG0C,gBAAkB;QAC1BwC,GAAG,EAAG,CAAG;QACTzH,GAAG,GAAAwC,qBAAA,GAAG1C,qBAAqB,CAAE6E,YAAY,CAAE,EAAE3E,GAAG,cAAAwC,qBAAA,cAAAA,qBAAA,GAAI,EAAI;QACxD2F,IAAI,GAAA1F,sBAAA,GACH3C,qBAAqB,CAAE6E,YAAY,CAAE,EAAE1E,KAAK,cAAAwC,sBAAA,cAAAA,sBAAA,GAAI,GAChD;QACD2F,cAAc,EAAG,KAAO;QACxBpG,QAAQ,EAAG2D,6BAA+B;QAC1CsB,SAAS,EAAC,2CAA2C;QACrDoB,uBAAuB;QACvB/B,KAAK,EAAGO,SAAW;QACnBe,mBAAmB;MAAA,CACnB,CAAC;IAAA,CACD,CACF,EACChF,gBAAgB,IAAI,CAAES,sBAAsB,iBAC7C,IAAAxD,WAAA,CAAAsH,GAAA,EAAChI,WAAA,CAAA8I,YAAY;MACZC,qBAAqB;MACrBhG,WAAW,EAAGA,WAAa;MAC3BD,UAAU,EAAGA,UAAY;MACzBgF,SAAS,EAAC,sCAAsC;MAChD1E,KAAK,EAAG2B,YAAc;MACtBlC,QAAQ,EAAKoD,OAAO,IACnBpD,QAAQ,CAAEwD,iBAAiB,CAAEJ,OAAQ,CAAE,CACvC;MACDkD,WAAW,EAAKC,KAAK,IAAM;QAC1B;QACA;QACA,IAAKA,KAAK,EAAEC,WAAW,EAAEC,OAAO,GAAG,EAAE,EAAG;UACvC3D,eAAe,CAAC,CAAC;QAClB;MACD,CAAG;MACHsD,cAAc,EAAG,KAAO;MACxB,iBAAgBlE,YAAc;MAC9B,kBAAiB7B,YAAY,CAAE6B,YAAY,CAAE,EAAEE,IAAM;MACrDsE,oBAAoB,EAAG3D,oBAAsB;MAC7C0C,GAAG,EAAG,CAAG;MACTzH,GAAG,EAAGqC,YAAY,CAACQ,MAAM,GAAG,CAAG;MAC/BsD,KAAK,EAAGA,KAAO;MACfG,KAAK,EAAGO,SAAW;MACnBe,mBAAmB;MACnBS,uBAAuB;MACvBd,OAAO,EAAGrF,WAAa;MACvBsF,MAAM,EAAGvF;IAAY,CACrB,CACD,EACC,CAAEW,gBAAgB,IAAI,CAAES,sBAAsB,iBAC/C,IAAAxD,WAAA,CAAAsH,GAAA,EAAChI,WAAA,CAAAwJ,mBAAmB;MACnB1B,SAAS,EAAC,8CAA8C;MACxD1E,KAAK;MACJ;MACA;MACAwD,OAAO,CAAC6C,IAAI,CACTC,MAAM,IAAMA,MAAM,CAAC3C,GAAG,KAAKhC,YAC9B,CAAC,IAAI,EACL;MACDlC,QAAQ,EAAK8G,SAAS,IAAM;QAC3B9G,QAAQ,CACPwD,iBAAiB,CAChBsD,SAAS,CAACC,YAAY,CAAC7C,GAAG,EAC1B,YACD,CACD,CAAC;MACF,CAAG;MACHH,OAAO,EAAGA,OAAS;MACnBO,KAAK,EAAGO,SAAW;MACnBe,mBAAmB;MACnBpD,IAAI,EAAC,kBAAkB;MACvBtC,WAAW,EAAGA,WAAa;MAC3BD,UAAU,EAAGA,UAAY;MACzBsF,OAAO,EAAGrF,WAAa;MACvBsF,MAAM,EAAGvF;IAAY,CACrB,CACD,EACC,CAAEc,yBAAyB,iBAC5B,IAAAlD,WAAA,CAAAsH,GAAA,EAAChI,WAAA,CAAA6J,MAAM;MACN1C,KAAK,EACJjD,sBAAsB,GACnB,IAAAiB,QAAE,EAAE,iBAAkB,CAAC,GACvB,IAAAA,QAAE,EAAE,iBAAkB,CACzB;MACDzC,IAAI,EAAGoH,eAAU;MACjBC,OAAO,EAAGA,CAAA,KAAM;QACf5F,yBAAyB,CAAE,CAAED,sBAAuB,CAAC;MACtD,CAAG;MACH8F,SAAS,EAAG9F,sBAAwB;MACpCmB,IAAI,EAAC,OAAO;MACZyC,SAAS,EAAC,sCAAsC;MAChDmC,QAAQ,EAAG;IAAI,CACf,CACD;EAAA,CACM,CAAC;AAEX","ignoreList":[]}
@@ -9,7 +9,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _icons = require("@wordpress/icons");
11
11
  var _element = require("@wordpress/element");
12
- var _segmentedTextControl = _interopRequireDefault(require("../segmented-text-control"));
12
+ var _components = require("@wordpress/components");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  /**
15
15
  * External dependencies
@@ -19,10 +19,6 @@ var _jsxRuntime = require("react/jsx-runtime");
19
19
  * WordPress dependencies
20
20
  */
21
21
 
22
- /**
23
- * Internal dependencies
24
- */
25
-
26
22
  const TEXT_ALIGNMENT_OPTIONS = [{
27
23
  label: (0, _i18n.__)('Align text left'),
28
24
  value: 'left',
@@ -63,14 +59,23 @@ function TextAlignmentControl({
63
59
  if (!validOptions.length) {
64
60
  return null;
65
61
  }
66
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedTextControl.default, {
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControl, {
63
+ isDeselectable: true,
64
+ __nextHasNoMarginBottom: true,
65
+ __next40pxDefaultSize: true,
67
66
  label: (0, _i18n.__)('Text alignment'),
68
- options: validOptions,
69
67
  className: (0, _clsx.default)('block-editor-text-alignment-control', className),
70
68
  value: value,
71
69
  onChange: newValue => {
72
70
  onChange(newValue === value ? undefined : newValue);
73
- }
71
+ },
72
+ children: validOptions.map(option => {
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOptionIcon, {
74
+ value: option.value,
75
+ icon: option.icon,
76
+ label: option.label
77
+ }, option.value);
78
+ })
74
79
  });
75
80
  }
76
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_icons","_element","_segmentedTextControl","_jsxRuntime","TEXT_ALIGNMENT_OPTIONS","label","__","value","icon","alignLeft","alignCenter","alignRight","alignJustify","DEFAULT_OPTIONS","TextAlignmentControl","className","onChange","options","validOptions","useMemo","filter","option","includes","length","jsx","default","clsx","newValue","undefined"],"sources":["@wordpress/block-editor/src/components/text-alignment-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\talignLeft,\n\talignCenter,\n\talignRight,\n\talignJustify,\n} from '@wordpress/icons';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SegmentedTextControl from '../segmented-text-control';\n\nconst TEXT_ALIGNMENT_OPTIONS = [\n\t{\n\t\tlabel: __( 'Align text left' ),\n\t\tvalue: 'left',\n\t\ticon: alignLeft,\n\t},\n\t{\n\t\tlabel: __( 'Align text center' ),\n\t\tvalue: 'center',\n\t\ticon: alignCenter,\n\t},\n\t{\n\t\tlabel: __( 'Align text right' ),\n\t\tvalue: 'right',\n\t\ticon: alignRight,\n\t},\n\t{\n\t\tlabel: __( 'Justify text' ),\n\t\tvalue: 'justify',\n\t\ticon: alignJustify,\n\t},\n];\n\nconst DEFAULT_OPTIONS = [ 'left', 'center', 'right' ];\n\n/**\n * Control to facilitate text alignment selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected text alignment.\n * @param {Function} props.onChange Handles change in text alignment selection.\n * @param {string[]} props.options Array of text alignment options to display.\n *\n * @return {Element} Text alignment control.\n */\nexport default function TextAlignmentControl( {\n\tclassName,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_OPTIONS,\n} ) {\n\tconst validOptions = useMemo(\n\t\t() =>\n\t\t\tTEXT_ALIGNMENT_OPTIONS.filter( ( option ) =>\n\t\t\t\toptions.includes( option.value )\n\t\t\t),\n\t\t[ options ]\n\t);\n\n\tif ( ! validOptions.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SegmentedTextControl\n\t\t\tlabel={ __( 'Text alignment' ) }\n\t\t\toptions={ validOptions }\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-text-alignment-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\tonChange( newValue === value ? undefined : newValue );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAMA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,qBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAA6D,IAAAK,WAAA,GAAAL,OAAA;AApB7D;AACA;AACA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;;AAGA,MAAMM,sBAAsB,GAAG,CAC9B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;EAC9BC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEC;AACP,CAAC,EACD;EACCJ,KAAK,EAAE,IAAAC,QAAE,EAAE,mBAAoB,CAAC;EAChCC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEE;AACP,CAAC,EACD;EACCL,KAAK,EAAE,IAAAC,QAAE,EAAE,kBAAmB,CAAC;EAC/BC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEG;AACP,CAAC,EACD;EACCN,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;EAC3BC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAEI;AACP,CAAC,CACD;AAED,MAAMC,eAAe,GAAG,CAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAE;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,oBAAoBA,CAAE;EAC7CC,SAAS;EACTR,KAAK;EACLS,QAAQ;EACRC,OAAO,GAAGJ;AACX,CAAC,EAAG;EACH,MAAMK,YAAY,GAAG,IAAAC,gBAAO,EAC3B,MACCf,sBAAsB,CAACgB,MAAM,CAAIC,MAAM,IACtCJ,OAAO,CAACK,QAAQ,CAAED,MAAM,CAACd,KAAM,CAChC,CAAC,EACF,CAAEU,OAAO,CACV,CAAC;EAED,IAAK,CAAEC,YAAY,CAACK,MAAM,EAAG;IAC5B,OAAO,IAAI;EACZ;EAEA,oBACC,IAAApB,WAAA,CAAAqB,GAAA,EAACtB,qBAAA,CAAAuB,OAAoB;IACpBpB,KAAK,EAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAG;IAChCW,OAAO,EAAGC,YAAc;IACxBH,SAAS,EAAG,IAAAW,aAAI,EACf,qCAAqC,EACrCX,SACD,CAAG;IACHR,KAAK,EAAGA,KAAO;IACfS,QAAQ,EAAKW,QAAQ,IAAM;MAC1BX,QAAQ,CAAEW,QAAQ,KAAKpB,KAAK,GAAGqB,SAAS,GAAGD,QAAS,CAAC;IACtD;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_icons","_element","_components","_jsxRuntime","TEXT_ALIGNMENT_OPTIONS","label","__","value","icon","alignLeft","alignCenter","alignRight","alignJustify","DEFAULT_OPTIONS","TextAlignmentControl","className","onChange","options","validOptions","useMemo","filter","option","includes","length","jsx","__experimentalToggleGroupControl","isDeselectable","__nextHasNoMarginBottom","__next40pxDefaultSize","clsx","newValue","undefined","children","map","__experimentalToggleGroupControlOptionIcon"],"sources":["@wordpress/block-editor/src/components/text-alignment-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\talignLeft,\n\talignCenter,\n\talignRight,\n\talignJustify,\n} from '@wordpress/icons';\nimport { useMemo } from '@wordpress/element';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\nconst TEXT_ALIGNMENT_OPTIONS = [\n\t{\n\t\tlabel: __( 'Align text left' ),\n\t\tvalue: 'left',\n\t\ticon: alignLeft,\n\t},\n\t{\n\t\tlabel: __( 'Align text center' ),\n\t\tvalue: 'center',\n\t\ticon: alignCenter,\n\t},\n\t{\n\t\tlabel: __( 'Align text right' ),\n\t\tvalue: 'right',\n\t\ticon: alignRight,\n\t},\n\t{\n\t\tlabel: __( 'Justify text' ),\n\t\tvalue: 'justify',\n\t\ticon: alignJustify,\n\t},\n];\n\nconst DEFAULT_OPTIONS = [ 'left', 'center', 'right' ];\n\n/**\n * Control to facilitate text alignment selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected text alignment.\n * @param {Function} props.onChange Handles change in text alignment selection.\n * @param {string[]} props.options Array of text alignment options to display.\n *\n * @return {Element} Text alignment control.\n */\nexport default function TextAlignmentControl( {\n\tclassName,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_OPTIONS,\n} ) {\n\tconst validOptions = useMemo(\n\t\t() =>\n\t\t\tTEXT_ALIGNMENT_OPTIONS.filter( ( option ) =>\n\t\t\t\toptions.includes( option.value )\n\t\t\t),\n\t\t[ options ]\n\t);\n\n\tif ( ! validOptions.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tisDeselectable\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Text alignment' ) }\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-text-alignment-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\tonChange( newValue === value ? undefined : newValue );\n\t\t\t} }\n\t\t>\n\t\t\t{ validOptions.map( ( option ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\ticon={ option.icon }\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAMA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAG+B,IAAAK,WAAA,GAAAL,OAAA;AAnB/B;AACA;AACA;;AAGA;AACA;AACA;;AAcA,MAAMM,sBAAsB,GAAG,CAC9B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;EAC9BC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEC;AACP,CAAC,EACD;EACCJ,KAAK,EAAE,IAAAC,QAAE,EAAE,mBAAoB,CAAC;EAChCC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEE;AACP,CAAC,EACD;EACCL,KAAK,EAAE,IAAAC,QAAE,EAAE,kBAAmB,CAAC;EAC/BC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEG;AACP,CAAC,EACD;EACCN,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;EAC3BC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAEI;AACP,CAAC,CACD;AAED,MAAMC,eAAe,GAAG,CAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAE;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,oBAAoBA,CAAE;EAC7CC,SAAS;EACTR,KAAK;EACLS,QAAQ;EACRC,OAAO,GAAGJ;AACX,CAAC,EAAG;EACH,MAAMK,YAAY,GAAG,IAAAC,gBAAO,EAC3B,MACCf,sBAAsB,CAACgB,MAAM,CAAIC,MAAM,IACtCJ,OAAO,CAACK,QAAQ,CAAED,MAAM,CAACd,KAAM,CAChC,CAAC,EACF,CAAEU,OAAO,CACV,CAAC;EAED,IAAK,CAAEC,YAAY,CAACK,MAAM,EAAG;IAC5B,OAAO,IAAI;EACZ;EAEA,oBACC,IAAApB,WAAA,CAAAqB,GAAA,EAACtB,WAAA,CAAAuB,gCAAkB;IAClBC,cAAc;IACdC,uBAAuB;IACvBC,qBAAqB;IACrBvB,KAAK,EAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAG;IAChCS,SAAS,EAAG,IAAAc,aAAI,EACf,qCAAqC,EACrCd,SACD,CAAG;IACHR,KAAK,EAAGA,KAAO;IACfS,QAAQ,EAAKc,QAAQ,IAAM;MAC1Bd,QAAQ,CAAEc,QAAQ,KAAKvB,KAAK,GAAGwB,SAAS,GAAGD,QAAS,CAAC;IACtD,CAAG;IAAAE,QAAA,EAEDd,YAAY,CAACe,GAAG,CAAIZ,MAAM,IAAM;MACjC,oBACC,IAAAlB,WAAA,CAAAqB,GAAA,EAACtB,WAAA,CAAAgC,0CAA4B;QAE5B3B,KAAK,EAAGc,MAAM,CAACd,KAAO;QACtBC,IAAI,EAAGa,MAAM,CAACb,IAAM;QACpBH,KAAK,EAAGgB,MAAM,CAAChB;MAAO,GAHhBgB,MAAM,CAACd,KAIb,CAAC;IAEJ,CAAE;EAAC,CACgB,CAAC;AAEvB","ignoreList":[]}
@@ -8,7 +8,7 @@ exports.default = TextDecorationControl;
8
8
  var _clsx = _interopRequireDefault(require("clsx"));
9
9
  var _icons = require("@wordpress/icons");
10
10
  var _i18n = require("@wordpress/i18n");
11
- var _segmentedTextControl = _interopRequireDefault(require("../segmented-text-control"));
11
+ var _components = require("@wordpress/components");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  /**
14
14
  * External dependencies
@@ -18,10 +18,6 @@ var _jsxRuntime = require("react/jsx-runtime");
18
18
  * WordPress dependencies
19
19
  */
20
20
 
21
- /**
22
- * Internal dependencies
23
- */
24
-
25
21
  const TEXT_DECORATIONS = [{
26
22
  label: (0, _i18n.__)('None'),
27
23
  value: 'none',
@@ -51,14 +47,23 @@ function TextDecorationControl({
51
47
  onChange,
52
48
  className
53
49
  }) {
54
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedTextControl.default, {
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControl, {
51
+ isDeselectable: true,
52
+ __nextHasNoMarginBottom: true,
53
+ __next40pxDefaultSize: true,
55
54
  label: (0, _i18n.__)('Decoration'),
56
- options: TEXT_DECORATIONS,
57
55
  className: (0, _clsx.default)('block-editor-text-decoration-control', className),
58
56
  value: value,
59
57
  onChange: newValue => {
60
58
  onChange(newValue === value ? undefined : newValue);
61
- }
59
+ },
60
+ children: TEXT_DECORATIONS.map(option => {
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOptionIcon, {
62
+ value: option.value,
63
+ icon: option.icon,
64
+ label: option.label
65
+ }, option.value);
66
+ })
62
67
  });
63
68
  }
64
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_icons","_i18n","_segmentedTextControl","_jsxRuntime","TEXT_DECORATIONS","label","__","value","icon","reset","formatUnderline","formatStrikethrough","TextDecorationControl","onChange","className","jsx","default","options","clsx","newValue","undefined"],"sources":["@wordpress/block-editor/src/components/text-decoration-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { reset, formatStrikethrough, formatUnderline } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport SegmentedTextControl from '../segmented-text-control';\n\nconst TEXT_DECORATIONS = [\n\t{\n\t\tlabel: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tlabel: __( 'Underline' ),\n\t\tvalue: 'underline',\n\t\ticon: formatUnderline,\n\t},\n\t{\n\t\tlabel: __( 'Strikethrough' ),\n\t\tvalue: 'line-through',\n\t\ticon: formatStrikethrough,\n\t},\n];\n\n/**\n * Control to facilitate text decoration selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected text decoration.\n * @param {Function} props.onChange Handles change in text decoration selection.\n * @param {string} props.className Additional class name to apply.\n *\n * @return {Element} Text decoration control.\n */\nexport default function TextDecorationControl( {\n\tvalue,\n\tonChange,\n\tclassName,\n} ) {\n\treturn (\n\t\t<SegmentedTextControl\n\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\toptions={ TEXT_DECORATIONS }\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-text-decoration-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\tonChange( newValue === value ? undefined : newValue );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,qBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA6D,IAAAI,WAAA,GAAAJ,OAAA;AAd7D;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAMK,gBAAgB,GAAG,CACxB;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEC;AACP,CAAC,EACD;EACCJ,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAY,CAAC;EACxBC,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEE;AACP,CAAC,EACD;EACCL,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC5BC,KAAK,EAAE,cAAc;EACrBC,IAAI,EAAEG;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,qBAAqBA,CAAE;EAC9CL,KAAK;EACLM,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,oBACC,IAAAX,WAAA,CAAAY,GAAA,EAACb,qBAAA,CAAAc,OAAoB;IACpBX,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa,CAAG;IAC5BW,OAAO,EAAGb,gBAAkB;IAC5BU,SAAS,EAAG,IAAAI,aAAI,EACf,sCAAsC,EACtCJ,SACD,CAAG;IACHP,KAAK,EAAGA,KAAO;IACfM,QAAQ,EAAKM,QAAQ,IAAM;MAC1BN,QAAQ,CAAEM,QAAQ,KAAKZ,KAAK,GAAGa,SAAS,GAAGD,QAAS,CAAC;IACtD;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_icons","_i18n","_components","_jsxRuntime","TEXT_DECORATIONS","label","__","value","icon","reset","formatUnderline","formatStrikethrough","TextDecorationControl","onChange","className","jsx","__experimentalToggleGroupControl","isDeselectable","__nextHasNoMarginBottom","__next40pxDefaultSize","clsx","newValue","undefined","children","map","option","__experimentalToggleGroupControlOptionIcon"],"sources":["@wordpress/block-editor/src/components/text-decoration-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { reset, formatStrikethrough, formatUnderline } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\nconst TEXT_DECORATIONS = [\n\t{\n\t\tlabel: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tlabel: __( 'Underline' ),\n\t\tvalue: 'underline',\n\t\ticon: formatUnderline,\n\t},\n\t{\n\t\tlabel: __( 'Strikethrough' ),\n\t\tvalue: 'line-through',\n\t\ticon: formatStrikethrough,\n\t},\n];\n\n/**\n * Control to facilitate text decoration selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected text decoration.\n * @param {Function} props.onChange Handles change in text decoration selection.\n * @param {string} props.className Additional class name to apply.\n *\n * @return {Element} Text decoration control.\n */\nexport default function TextDecorationControl( {\n\tvalue,\n\tonChange,\n\tclassName,\n} ) {\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tisDeselectable\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-text-decoration-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\tonChange( newValue === value ? undefined : newValue );\n\t\t\t} }\n\t\t>\n\t\t\t{ TEXT_DECORATIONS.map( ( option ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\ticon={ option.icon }\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAG+B,IAAAI,WAAA,GAAAJ,OAAA;AAb/B;AACA;AACA;;AAGA;AACA;AACA;;AAQA,MAAMK,gBAAgB,GAAG,CACxB;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEC;AACP,CAAC,EACD;EACCJ,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAY,CAAC;EACxBC,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEE;AACP,CAAC,EACD;EACCL,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC5BC,KAAK,EAAE,cAAc;EACrBC,IAAI,EAAEG;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,qBAAqBA,CAAE;EAC9CL,KAAK;EACLM,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,oBACC,IAAAX,WAAA,CAAAY,GAAA,EAACb,WAAA,CAAAc,gCAAkB;IAClBC,cAAc;IACdC,uBAAuB;IACvBC,qBAAqB;IACrBd,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa,CAAG;IAC5BQ,SAAS,EAAG,IAAAM,aAAI,EACf,sCAAsC,EACtCN,SACD,CAAG;IACHP,KAAK,EAAGA,KAAO;IACfM,QAAQ,EAAKQ,QAAQ,IAAM;MAC1BR,QAAQ,CAAEQ,QAAQ,KAAKd,KAAK,GAAGe,SAAS,GAAGD,QAAS,CAAC;IACtD,CAAG;IAAAE,QAAA,EAEDnB,gBAAgB,CAACoB,GAAG,CAAIC,MAAM,IAAM;MACrC,oBACC,IAAAtB,WAAA,CAAAY,GAAA,EAACb,WAAA,CAAAwB,0CAA4B;QAE5BnB,KAAK,EAAGkB,MAAM,CAAClB,KAAO;QACtBC,IAAI,EAAGiB,MAAM,CAACjB,IAAM;QACpBH,KAAK,EAAGoB,MAAM,CAACpB;MAAO,GAHhBoB,MAAM,CAAClB,KAIb,CAAC;IAEJ,CAAE;EAAC,CACgB,CAAC;AAEvB","ignoreList":[]}
@@ -8,7 +8,7 @@ exports.default = TextTransformControl;
8
8
  var _clsx = _interopRequireDefault(require("clsx"));
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _icons = require("@wordpress/icons");
11
- var _segmentedTextControl = _interopRequireDefault(require("../segmented-text-control"));
11
+ var _components = require("@wordpress/components");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  /**
14
14
  * External dependencies
@@ -18,10 +18,6 @@ var _jsxRuntime = require("react/jsx-runtime");
18
18
  * WordPress dependencies
19
19
  */
20
20
 
21
- /**
22
- * Internal dependencies
23
- */
24
-
25
21
  const TEXT_TRANSFORMS = [{
26
22
  label: (0, _i18n.__)('None'),
27
23
  value: 'none',
@@ -55,14 +51,23 @@ function TextTransformControl({
55
51
  value,
56
52
  onChange
57
53
  }) {
58
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedTextControl.default, {
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControl, {
55
+ isDeselectable: true,
56
+ __nextHasNoMarginBottom: true,
57
+ __next40pxDefaultSize: true,
59
58
  label: (0, _i18n.__)('Letter case'),
60
- options: TEXT_TRANSFORMS,
61
59
  className: (0, _clsx.default)('block-editor-text-transform-control', className),
62
60
  value: value,
63
61
  onChange: newValue => {
64
62
  onChange(newValue === value ? undefined : newValue);
65
- }
63
+ },
64
+ children: TEXT_TRANSFORMS.map(option => {
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOptionIcon, {
66
+ value: option.value,
67
+ icon: option.icon,
68
+ label: option.label
69
+ }, option.value);
70
+ })
66
71
  });
67
72
  }
68
73
  //# sourceMappingURL=index.js.map