@wordpress/block-editor 8.5.4 → 9.0.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 (299) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +4 -2
  3. package/build/components/block-alignment-control/constants.js +48 -0
  4. package/build/components/block-alignment-control/constants.js.map +1 -0
  5. package/build/components/block-alignment-control/ui.js +9 -40
  6. package/build/components/block-alignment-control/ui.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.native.js +92 -0
  8. package/build/components/block-alignment-control/ui.native.js.map +1 -0
  9. package/build/components/block-content-overlay/index.js +13 -4
  10. package/build/components/block-content-overlay/index.js.map +1 -1
  11. package/build/components/block-list/block.native.js +3 -1
  12. package/build/components/block-list/block.native.js.map +1 -1
  13. package/build/components/block-list/use-block-props/use-block-class-names.js +1 -7
  14. package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  15. package/build/components/block-lock/modal.js +34 -4
  16. package/build/components/block-lock/modal.js.map +1 -1
  17. package/build/components/block-lock/toolbar.js +2 -1
  18. package/build/components/block-lock/toolbar.js.map +1 -1
  19. package/build/components/block-lock/use-block-lock.js +4 -1
  20. package/build/components/block-lock/use-block-lock.js.map +1 -1
  21. package/build/components/block-mover/button.js +4 -4
  22. package/build/components/block-mover/button.js.map +1 -1
  23. package/build/components/block-mover/index.js +39 -65
  24. package/build/components/block-mover/index.js.map +1 -1
  25. package/build/components/block-navigation/dropdown.js +11 -5
  26. package/build/components/block-navigation/dropdown.js.map +1 -1
  27. package/build/components/block-popover/inbetween.js +183 -0
  28. package/build/components/block-popover/inbetween.js.map +1 -0
  29. package/build/components/block-popover/index.js +97 -0
  30. package/build/components/block-popover/index.js.map +1 -0
  31. package/build/components/{block-tools → block-popover}/use-popover-scroll.js +4 -1
  32. package/build/components/block-popover/use-popover-scroll.js.map +1 -0
  33. package/build/components/block-styles/index.js +1 -10
  34. package/build/components/block-styles/index.js.map +1 -1
  35. package/build/components/block-tools/back-compat.js +2 -2
  36. package/build/components/block-tools/back-compat.js.map +1 -1
  37. package/build/components/block-tools/block-selection-button.js +4 -2
  38. package/build/components/block-tools/block-selection-button.js.map +1 -1
  39. package/build/components/block-tools/index.js +5 -5
  40. package/build/components/block-tools/index.js.map +1 -1
  41. package/build/components/block-tools/insertion-point.js +14 -121
  42. package/build/components/block-tools/insertion-point.js.map +1 -1
  43. package/build/components/block-tools/{block-popover.js → selected-block-popover.js} +25 -108
  44. package/build/components/block-tools/selected-block-popover.js.map +1 -0
  45. package/build/components/color-style-selector/index.js +9 -0
  46. package/build/components/color-style-selector/index.js.map +1 -1
  47. package/build/components/duotone-control/index.js +5 -1
  48. package/build/components/duotone-control/index.js.map +1 -1
  49. package/build/components/index.js +0 -9
  50. package/build/components/index.js.map +1 -1
  51. package/build/components/inserter/index.native.js +30 -8
  52. package/build/components/inserter/index.native.js.map +1 -1
  53. package/build/components/list-view/block.js +15 -15
  54. package/build/components/list-view/block.js.map +1 -1
  55. package/build/components/list-view/branch.js +9 -13
  56. package/build/components/list-view/branch.js.map +1 -1
  57. package/build/components/list-view/context.js +1 -4
  58. package/build/components/list-view/context.js.map +1 -1
  59. package/build/components/list-view/index.js +15 -32
  60. package/build/components/list-view/index.js.map +1 -1
  61. package/build/components/rich-text/index.js +0 -5
  62. package/build/components/rich-text/index.js.map +1 -1
  63. package/build/components/rich-text/index.native.js +0 -4
  64. package/build/components/rich-text/index.native.js.map +1 -1
  65. package/build/components/url-input/index.js +7 -3
  66. package/build/components/url-input/index.js.map +1 -1
  67. package/build/components/use-block-display-information/index.js +3 -1
  68. package/build/components/use-block-display-information/index.js.map +1 -1
  69. package/build/components/use-setting/index.js +42 -18
  70. package/build/components/use-setting/index.js.map +1 -1
  71. package/build/hooks/border.js +468 -44
  72. package/build/hooks/border.js.map +1 -1
  73. package/build/hooks/dimensions.js +2 -2
  74. package/build/hooks/dimensions.js.map +1 -1
  75. package/build/hooks/index.js +3 -1
  76. package/build/hooks/index.js.map +1 -1
  77. package/build/hooks/margin.js +64 -12
  78. package/build/hooks/margin.js.map +1 -1
  79. package/build/hooks/padding.js +60 -12
  80. package/build/hooks/padding.js.map +1 -1
  81. package/build/hooks/settings.js +32 -0
  82. package/build/hooks/settings.js.map +1 -0
  83. package/build/hooks/use-border-props.js +22 -32
  84. package/build/hooks/use-border-props.js.map +1 -1
  85. package/build/store/actions.js +14 -2
  86. package/build/store/actions.js.map +1 -1
  87. package/build/store/defaults.js +0 -1
  88. package/build/store/defaults.js.map +1 -1
  89. package/build/store/reducer.js +0 -26
  90. package/build/store/reducer.js.map +1 -1
  91. package/build/store/selectors.js +47 -15
  92. package/build/store/selectors.js.map +1 -1
  93. package/build-module/components/block-alignment-control/constants.js +36 -0
  94. package/build-module/components/block-alignment-control/constants.js.map +1 -0
  95. package/build-module/components/block-alignment-control/ui.js +4 -35
  96. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  97. package/build-module/components/block-alignment-control/ui.native.js +78 -0
  98. package/build-module/components/block-alignment-control/ui.native.js.map +1 -0
  99. package/build-module/components/block-content-overlay/index.js +13 -4
  100. package/build-module/components/block-content-overlay/index.js.map +1 -1
  101. package/build-module/components/block-list/block.native.js +3 -1
  102. package/build-module/components/block-list/block.native.js.map +1 -1
  103. package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -7
  104. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  105. package/build-module/components/block-lock/modal.js +34 -5
  106. package/build-module/components/block-lock/modal.js.map +1 -1
  107. package/build-module/components/block-lock/toolbar.js +2 -1
  108. package/build-module/components/block-lock/toolbar.js.map +1 -1
  109. package/build-module/components/block-lock/use-block-lock.js +4 -1
  110. package/build-module/components/block-lock/use-block-lock.js.map +1 -1
  111. package/build-module/components/block-mover/button.js +5 -5
  112. package/build-module/components/block-mover/button.js.map +1 -1
  113. package/build-module/components/block-mover/index.js +38 -63
  114. package/build-module/components/block-mover/index.js.map +1 -1
  115. package/build-module/components/block-navigation/dropdown.js +10 -5
  116. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  117. package/build-module/components/block-popover/inbetween.js +165 -0
  118. package/build-module/components/block-popover/inbetween.js.map +1 -0
  119. package/build-module/components/block-popover/index.js +83 -0
  120. package/build-module/components/block-popover/index.js.map +1 -0
  121. package/build-module/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
  122. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -0
  123. package/build-module/components/block-styles/index.js +1 -9
  124. package/build-module/components/block-styles/index.js.map +1 -1
  125. package/build-module/components/block-tools/back-compat.js +1 -1
  126. package/build-module/components/block-tools/back-compat.js.map +1 -1
  127. package/build-module/components/block-tools/block-selection-button.js +3 -2
  128. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  129. package/build-module/components/block-tools/index.js +3 -3
  130. package/build-module/components/block-tools/index.js.map +1 -1
  131. package/build-module/components/block-tools/insertion-point.js +16 -121
  132. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  133. package/build-module/components/block-tools/{block-popover.js → selected-block-popover.js} +25 -105
  134. package/build-module/components/block-tools/selected-block-popover.js.map +1 -0
  135. package/build-module/components/color-style-selector/index.js +6 -0
  136. package/build-module/components/color-style-selector/index.js.map +1 -1
  137. package/build-module/components/duotone-control/index.js +4 -1
  138. package/build-module/components/duotone-control/index.js.map +1 -1
  139. package/build-module/components/index.js +0 -1
  140. package/build-module/components/index.js.map +1 -1
  141. package/build-module/components/inserter/index.native.js +31 -10
  142. package/build-module/components/inserter/index.native.js.map +1 -1
  143. package/build-module/components/list-view/block.js +15 -16
  144. package/build-module/components/list-view/block.js.map +1 -1
  145. package/build-module/components/list-view/branch.js +9 -13
  146. package/build-module/components/list-view/branch.js.map +1 -1
  147. package/build-module/components/list-view/context.js +1 -4
  148. package/build-module/components/list-view/context.js.map +1 -1
  149. package/build-module/components/list-view/index.js +15 -31
  150. package/build-module/components/list-view/index.js.map +1 -1
  151. package/build-module/components/rich-text/index.js +0 -4
  152. package/build-module/components/rich-text/index.js.map +1 -1
  153. package/build-module/components/rich-text/index.native.js +0 -4
  154. package/build-module/components/rich-text/index.native.js.map +1 -1
  155. package/build-module/components/url-input/index.js +7 -3
  156. package/build-module/components/url-input/index.js.map +1 -1
  157. package/build-module/components/use-block-display-information/index.js +3 -1
  158. package/build-module/components/use-block-display-information/index.js.map +1 -1
  159. package/build-module/components/use-setting/index.js +43 -19
  160. package/build-module/components/use-setting/index.js.map +1 -1
  161. package/build-module/hooks/border.js +458 -44
  162. package/build-module/hooks/border.js.map +1 -1
  163. package/build-module/hooks/dimensions.js +5 -5
  164. package/build-module/hooks/dimensions.js.map +1 -1
  165. package/build-module/hooks/index.js +2 -1
  166. package/build-module/hooks/index.js.map +1 -1
  167. package/build-module/hooks/margin.js +61 -13
  168. package/build-module/hooks/margin.js.map +1 -1
  169. package/build-module/hooks/padding.js +57 -13
  170. package/build-module/hooks/padding.js.map +1 -1
  171. package/build-module/hooks/settings.js +29 -0
  172. package/build-module/hooks/settings.js.map +1 -0
  173. package/build-module/hooks/use-border-props.js +21 -30
  174. package/build-module/hooks/use-border-props.js.map +1 -1
  175. package/build-module/store/actions.js +14 -2
  176. package/build-module/store/actions.js.map +1 -1
  177. package/build-module/store/defaults.js +0 -1
  178. package/build-module/store/defaults.js.map +1 -1
  179. package/build-module/store/reducer.js +0 -24
  180. package/build-module/store/reducer.js.map +1 -1
  181. package/build-module/store/selectors.js +44 -15
  182. package/build-module/store/selectors.js.map +1 -1
  183. package/build-style/style-rtl.css +128 -276
  184. package/build-style/style.css +128 -276
  185. package/package.json +28 -28
  186. package/src/components/block-alignment-control/constants.js +45 -0
  187. package/src/components/block-alignment-control/ui.js +69 -109
  188. package/src/components/block-alignment-control/ui.native.js +86 -0
  189. package/src/components/block-content-overlay/index.js +19 -2
  190. package/src/components/block-list/block.native.js +2 -0
  191. package/src/components/block-list/style.scss +7 -18
  192. package/src/components/block-list/use-block-props/use-block-class-names.js +1 -11
  193. package/src/components/block-lock/modal.js +42 -3
  194. package/src/components/block-lock/toolbar.js +2 -2
  195. package/src/components/block-lock/use-block-lock.js +4 -1
  196. package/src/components/block-mover/button.js +5 -7
  197. package/src/components/block-mover/index.js +37 -60
  198. package/src/components/block-mover/stories/index.js +110 -0
  199. package/src/components/block-mover/style.scss +48 -138
  200. package/src/components/block-navigation/dropdown.js +12 -8
  201. package/src/components/block-popover/README.md +41 -0
  202. package/src/components/block-popover/inbetween.js +180 -0
  203. package/src/components/block-popover/index.js +90 -0
  204. package/src/components/block-popover/style.scss +27 -0
  205. package/src/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
  206. package/src/components/block-styles/index.js +1 -12
  207. package/src/components/block-switcher/style.scss +0 -4
  208. package/src/components/block-toolbar/style.scss +0 -12
  209. package/src/components/block-tools/back-compat.js +1 -1
  210. package/src/components/block-tools/block-selection-button.js +3 -1
  211. package/src/components/block-tools/index.js +6 -4
  212. package/src/components/block-tools/insertion-point.js +19 -152
  213. package/src/components/block-tools/{block-popover.js → selected-block-popover.js} +24 -116
  214. package/src/components/block-tools/style.scss +11 -123
  215. package/src/components/border-radius-control/style.scss +5 -2
  216. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  217. package/src/components/color-style-selector/index.js +18 -9
  218. package/src/components/default-block-appender/style.scss +1 -2
  219. package/src/components/duotone-control/index.js +8 -1
  220. package/src/components/gradients/README.md +29 -0
  221. package/src/components/image-size-control/README.md +1 -1
  222. package/src/components/index.js +0 -1
  223. package/src/components/inserter/index.native.js +60 -25
  224. package/src/components/inserter/style.native.scss +25 -3
  225. package/src/components/list-view/block.js +24 -34
  226. package/src/components/list-view/branch.js +10 -20
  227. package/src/components/list-view/context.js +1 -4
  228. package/src/components/list-view/index.js +11 -41
  229. package/src/components/navigable-toolbar/README.md +16 -0
  230. package/src/components/rich-text/index.js +0 -2
  231. package/src/components/rich-text/index.native.js +0 -4
  232. package/src/components/url-input/index.js +6 -3
  233. package/src/components/use-block-display-information/index.js +2 -0
  234. package/src/components/use-setting/index.js +57 -21
  235. package/src/hooks/border.js +438 -72
  236. package/src/hooks/border.scss +48 -0
  237. package/src/hooks/dimensions.js +44 -38
  238. package/src/hooks/index.js +2 -1
  239. package/src/hooks/margin.js +64 -15
  240. package/src/hooks/padding.js +60 -15
  241. package/src/hooks/padding.scss +12 -0
  242. package/src/hooks/settings.js +32 -0
  243. package/src/hooks/test/settings.js +48 -0
  244. package/src/hooks/use-border-props.js +15 -32
  245. package/src/store/actions.js +14 -2
  246. package/src/store/defaults.js +0 -1
  247. package/src/store/reducer.js +0 -21
  248. package/src/store/selectors.js +46 -15
  249. package/src/store/test/actions.js +0 -18
  250. package/src/store/test/reducer.js +0 -19
  251. package/src/store/test/selectors.js +17 -19
  252. package/src/style.scss +2 -2
  253. package/tsconfig.tsbuildinfo +1 -1
  254. package/build/components/block-mobile-toolbar/index.js +0 -42
  255. package/build/components/block-mobile-toolbar/index.js.map +0 -1
  256. package/build/components/block-tools/block-popover.js.map +0 -1
  257. package/build/components/block-tools/use-popover-scroll.js.map +0 -1
  258. package/build/components/border-style-control/index.js +0 -60
  259. package/build/components/border-style-control/index.js.map +0 -1
  260. package/build/components/list-view/appender.js +0 -93
  261. package/build/components/list-view/appender.js.map +0 -1
  262. package/build/components/list-view/list-item.js +0 -62
  263. package/build/components/list-view/list-item.js.map +0 -1
  264. package/build/components/rich-text/use-caret-in-format.js +0 -43
  265. package/build/components/rich-text/use-caret-in-format.js.map +0 -1
  266. package/build/hooks/border-color.js +0 -302
  267. package/build/hooks/border-color.js.map +0 -1
  268. package/build/hooks/border-style.js +0 -96
  269. package/build/hooks/border-style.js.map +0 -1
  270. package/build/hooks/border-width.js +0 -162
  271. package/build/hooks/border-width.js.map +0 -1
  272. package/build-module/components/block-mobile-toolbar/index.js +0 -31
  273. package/build-module/components/block-mobile-toolbar/index.js.map +0 -1
  274. package/build-module/components/block-tools/block-popover.js.map +0 -1
  275. package/build-module/components/block-tools/use-popover-scroll.js.map +0 -1
  276. package/build-module/components/border-style-control/index.js +0 -50
  277. package/build-module/components/border-style-control/index.js.map +0 -1
  278. package/build-module/components/list-view/appender.js +0 -76
  279. package/build-module/components/list-view/appender.js.map +0 -1
  280. package/build-module/components/list-view/list-item.js +0 -47
  281. package/build-module/components/list-view/list-item.js.map +0 -1
  282. package/build-module/components/rich-text/use-caret-in-format.js +0 -33
  283. package/build-module/components/rich-text/use-caret-in-format.js.map +0 -1
  284. package/build-module/hooks/border-color.js +0 -276
  285. package/build-module/hooks/border-color.js.map +0 -1
  286. package/build-module/hooks/border-style.js +0 -78
  287. package/build-module/hooks/border-style.js.map +0 -1
  288. package/build-module/hooks/border-width.js +0 -143
  289. package/build-module/hooks/border-width.js.map +0 -1
  290. package/src/components/block-mobile-toolbar/index.js +0 -24
  291. package/src/components/block-mobile-toolbar/style.scss +0 -29
  292. package/src/components/border-style-control/index.js +0 -47
  293. package/src/components/border-style-control/style.scss +0 -18
  294. package/src/components/list-view/appender.js +0 -82
  295. package/src/components/list-view/list-item.js +0 -59
  296. package/src/components/rich-text/use-caret-in-format.js +0 -28
  297. package/src/hooks/border-color.js +0 -315
  298. package/src/hooks/border-style.js +0 -64
  299. package/src/hooks/border-width.js +0 -139
@@ -19,6 +19,8 @@ var _compose = require("@wordpress/compose");
19
19
 
20
20
  var _data = require("@wordpress/data");
21
21
 
22
+ var _blocks = require("@wordpress/blocks");
23
+
22
24
  var _useBlockLock = _interopRequireDefault(require("./use-block-lock"));
23
25
 
24
26
  var _useBlockDisplayInformation = _interopRequireDefault(require("../use-block-display-information"));
@@ -42,9 +44,21 @@ function BlockLockModal(_ref) {
42
44
  remove: false
43
45
  });
44
46
  const {
47
+ canEdit,
45
48
  canMove,
46
49
  canRemove
47
50
  } = (0, _useBlockLock.default)(clientId);
51
+ const {
52
+ isReusable
53
+ } = (0, _data.useSelect)(select => {
54
+ const {
55
+ getBlockName
56
+ } = select(_store.store);
57
+ const blockName = getBlockName(clientId);
58
+ return {
59
+ isReusable: (0, _blocks.isReusableBlock)((0, _blocks.getBlockType)(blockName))
60
+ };
61
+ }, [clientId]);
48
62
  const {
49
63
  updateBlockAttributes
50
64
  } = (0, _data.useDispatch)(_store.store);
@@ -53,9 +67,12 @@ function BlockLockModal(_ref) {
53
67
  (0, _element.useEffect)(() => {
54
68
  setLock({
55
69
  move: !canMove,
56
- remove: !canRemove
70
+ remove: !canRemove,
71
+ ...(isReusable ? {
72
+ edit: !canEdit
73
+ } : {})
57
74
  });
58
- }, [canMove, canRemove]);
75
+ }, [canEdit, canMove, canRemove, isReusable]);
59
76
  const isAllChecked = Object.values(lock).every(Boolean);
60
77
  const isMixed = Object.values(lock).some(Boolean) && !isAllChecked;
61
78
  return (0, _element.createElement)(_components.Modal, {
@@ -86,11 +103,24 @@ function BlockLockModal(_ref) {
86
103
  indeterminate: isMixed,
87
104
  onChange: newValue => setLock({
88
105
  move: newValue,
89
- remove: newValue
106
+ remove: newValue,
107
+ ...(isReusable ? {
108
+ edit: newValue
109
+ } : {})
90
110
  })
91
111
  }), (0, _element.createElement)("ul", {
92
112
  className: "block-editor-block-lock-modal__checklist"
93
- }, (0, _element.createElement)("li", {
113
+ }, isReusable && (0, _element.createElement)("li", {
114
+ className: "block-editor-block-lock-modal__checklist-item"
115
+ }, (0, _element.createElement)(_components.CheckboxControl, {
116
+ label: (0, _element.createElement)(_element.Fragment, null, (0, _i18n.__)('Restrict editing'), (0, _element.createElement)(_components.Icon, {
117
+ icon: lock.edit ? _icons.lock : _icons.unlock
118
+ })),
119
+ checked: !!lock.edit,
120
+ onChange: edit => setLock(prevLock => ({ ...prevLock,
121
+ edit
122
+ }))
123
+ })), (0, _element.createElement)("li", {
94
124
  className: "block-editor-block-lock-modal__checklist-item"
95
125
  }, (0, _element.createElement)(_components.CheckboxControl, {
96
126
  label: (0, _element.createElement)(_element.Fragment, null, (0, _i18n.__)('Disable movement'), (0, _element.createElement)(_components.Icon, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/modal.js"],"names":["BlockLockModal","clientId","onClose","lock","setLock","move","remove","canMove","canRemove","updateBlockAttributes","blockEditorStore","blockInformation","instanceId","isAllChecked","Object","values","every","Boolean","isMixed","some","title","event","preventDefault","newValue","lockIcon","unlockIcon","prevLock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useEffect, useState } from '@wordpress/element';\nimport {\n\tButton,\n\tCheckboxControl,\n\tFlex,\n\tFlexItem,\n\tIcon,\n\tModal,\n} from '@wordpress/components';\nimport { lock as lockIcon, unlock as unlockIcon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport useBlockLock from './use-block-lock';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockLockModal( { clientId, onClose } ) {\n\tconst [ lock, setLock ] = useState( { move: false, remove: false } );\n\tconst { canMove, canRemove } = useBlockLock( clientId );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst instanceId = useInstanceId(\n\t\tBlockLockModal,\n\t\t'block-editor-block-lock-modal__options-title'\n\t);\n\n\tuseEffect( () => {\n\t\tsetLock( {\n\t\t\tmove: ! canMove,\n\t\t\tremove: ! canRemove,\n\t\t} );\n\t}, [ canMove, canRemove ] );\n\n\tconst isAllChecked = Object.values( lock ).every( Boolean );\n\tconst isMixed = Object.values( lock ).some( Boolean ) && ! isAllChecked;\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t/* translators: %s: Name of the block. */\n\t\t\t\t__( 'Lock %s' ),\n\t\t\t\tblockInformation.title\n\t\t\t) }\n\t\t\toverlayClassName=\"block-editor-block-lock-modal\"\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tupdateBlockAttributes( [ clientId ], { lock } );\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Choose specific attributes to restrict or lock all available options.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<div\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\taria-labelledby={ instanceId }\n\t\t\t\t\tclassName=\"block-editor-block-lock-modal__options\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__options-title\"\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t<span id={ instanceId }>{ __( 'Lock all' ) }</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ isAllChecked }\n\t\t\t\t\t\tindeterminate={ isMixed }\n\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\tsetLock( {\n\t\t\t\t\t\t\t\tmove: newValue,\n\t\t\t\t\t\t\t\tremove: newValue,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ul className=\"block-editor-block-lock-modal__checklist\">\n\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Disable movement' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tlock.move\n\t\t\t\t\t\t\t\t\t\t\t\t\t? lockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: unlockIcon\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ lock.move }\n\t\t\t\t\t\t\t\tonChange={ ( move ) =>\n\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\tmove,\n\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Prevent removal' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tlock.remove\n\t\t\t\t\t\t\t\t\t\t\t\t\t? lockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: unlockIcon\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ lock.remove }\n\t\t\t\t\t\t\t\tonChange={ ( remove ) =>\n\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\tremove,\n\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/modal.js"],"names":["BlockLockModal","clientId","onClose","lock","setLock","move","remove","canEdit","canMove","canRemove","isReusable","select","getBlockName","blockEditorStore","blockName","updateBlockAttributes","blockInformation","instanceId","edit","isAllChecked","Object","values","every","Boolean","isMixed","some","title","event","preventDefault","newValue","lockIcon","unlockIcon","prevLock"],"mappings":";;;;;;;;;AAIA;;AADA;;AAEA;;AAQA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAvBA;AACA;AACA;;AAgBA;AACA;AACA;AAKe,SAASA,cAAT,OAAiD;AAAA,MAAxB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAwB;AAC/D,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoB,uBAAU;AAAEC,IAAAA,IAAI,EAAE,KAAR;AAAeC,IAAAA,MAAM,EAAE;AAAvB,GAAV,CAA1B;AACA,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA;AAApB,MAAkC,2BAAcR,QAAd,CAAxC;AACA,QAAM;AAAES,IAAAA;AAAF,MAAiB,qBACpBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAmBD,MAAM,CAAEE,YAAF,CAA/B;AACA,UAAMC,SAAS,GAAGF,YAAY,CAAEX,QAAF,CAA9B;AAEA,WAAO;AACNS,MAAAA,UAAU,EAAE,6BAAiB,0BAAcI,SAAd,CAAjB;AADN,KAAP;AAGA,GARqB,EAStB,CAAEb,QAAF,CATsB,CAAvB;AAWA,QAAM;AAAEc,IAAAA;AAAF,MAA4B,uBAAaF,YAAb,CAAlC;AACA,QAAMG,gBAAgB,GAAG,yCAA4Bf,QAA5B,CAAzB;AACA,QAAMgB,UAAU,GAAG,4BAClBjB,cADkB,EAElB,8CAFkB,CAAnB;AAKA,0BAAW,MAAM;AAChBI,IAAAA,OAAO,CAAE;AACRC,MAAAA,IAAI,EAAE,CAAEG,OADA;AAERF,MAAAA,MAAM,EAAE,CAAEG,SAFF;AAGR,UAAKC,UAAU,GAAG;AAAEQ,QAAAA,IAAI,EAAE,CAAEX;AAAV,OAAH,GAAyB,EAAxC;AAHQ,KAAF,CAAP;AAKA,GAND,EAMG,CAAEA,OAAF,EAAWC,OAAX,EAAoBC,SAApB,EAA+BC,UAA/B,CANH;AAQA,QAAMS,YAAY,GAAGC,MAAM,CAACC,MAAP,CAAelB,IAAf,EAAsBmB,KAAtB,CAA6BC,OAA7B,CAArB;AACA,QAAMC,OAAO,GAAGJ,MAAM,CAACC,MAAP,CAAelB,IAAf,EAAsBsB,IAAtB,CAA4BF,OAA5B,KAAyC,CAAEJ,YAA3D;AAEA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG;AACP;AACA,kBAAI,SAAJ,CAFO,EAGPH,gBAAgB,CAACU,KAHV,CADT;AAMC,IAAA,gBAAgB,EAAC,+BANlB;AAOC,IAAA,UAAU,EAAG,cAAI,OAAJ,CAPd;AAQC,IAAA,cAAc,EAAGxB;AARlB,KAUC;AACC,IAAA,QAAQ,EAAKyB,KAAF,IAAa;AACvBA,MAAAA,KAAK,CAACC,cAAN;AACAb,MAAAA,qBAAqB,CAAE,CAAEd,QAAF,CAAF,EAAgB;AAAEE,QAAAA;AAAF,OAAhB,CAArB;AACAD,MAAAA,OAAO;AACP;AALF,KAOC,uCACG,cACD,uEADC,CADH,CAPD,EAYC;AACC,IAAA,IAAI,EAAC,OADN;AAEC,uBAAkBe,UAFnB;AAGC,IAAA,SAAS,EAAC;AAHX,KAKC,4BAAC,2BAAD;AACC,IAAA,SAAS,EAAC,8CADX;AAEC,IAAA,KAAK,EACJ;AAAM,MAAA,EAAE,EAAGA;AAAX,OAA0B,cAAI,UAAJ,CAA1B,CAHF;AAKC,IAAA,OAAO,EAAGE,YALX;AAMC,IAAA,aAAa,EAAGK,OANjB;AAOC,IAAA,QAAQ,EAAKK,QAAF,IACVzB,OAAO,CAAE;AACRC,MAAAA,IAAI,EAAEwB,QADE;AAERvB,MAAAA,MAAM,EAAEuB,QAFA;AAGR,UAAKnB,UAAU,GAAG;AAAEQ,QAAAA,IAAI,EAAEW;AAAR,OAAH,GAAwB,EAAvC;AAHQ,KAAF;AART,IALD,EAoBC;AAAI,IAAA,SAAS,EAAC;AAAd,KACGnB,UAAU,IACX;AAAI,IAAA,SAAS,EAAC;AAAd,KACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EACJ,qDACG,cAAI,kBAAJ,CADH,EAEC,4BAAC,gBAAD;AACC,MAAA,IAAI,EACHP,IAAI,CAACe,IAAL,GACGY,WADH,GAEGC;AAJL,MAFD,CAFF;AAaC,IAAA,OAAO,EAAG,CAAC,CAAE5B,IAAI,CAACe,IAbnB;AAcC,IAAA,QAAQ,EAAKA,IAAF,IACVd,OAAO,CAAI4B,QAAF,KAAkB,EAC1B,GAAGA,QADuB;AAE1Bd,MAAAA;AAF0B,KAAlB,CAAF;AAfT,IADD,CAFF,EA0BC;AAAI,IAAA,SAAS,EAAC;AAAd,KACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EACJ,qDACG,cAAI,kBAAJ,CADH,EAEC,4BAAC,gBAAD;AACC,MAAA,IAAI,EACHf,IAAI,CAACE,IAAL,GACGyB,WADH,GAEGC;AAJL,MAFD,CAFF;AAaC,IAAA,OAAO,EAAG5B,IAAI,CAACE,IAbhB;AAcC,IAAA,QAAQ,EAAKA,IAAF,IACVD,OAAO,CAAI4B,QAAF,KAAkB,EAC1B,GAAGA,QADuB;AAE1B3B,MAAAA;AAF0B,KAAlB,CAAF;AAfT,IADD,CA1BD,EAiDC;AAAI,IAAA,SAAS,EAAC;AAAd,KACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EACJ,qDACG,cAAI,iBAAJ,CADH,EAEC,4BAAC,gBAAD;AACC,MAAA,IAAI,EACHF,IAAI,CAACG,MAAL,GACGwB,WADH,GAEGC;AAJL,MAFD,CAFF;AAaC,IAAA,OAAO,EAAG5B,IAAI,CAACG,MAbhB;AAcC,IAAA,QAAQ,EAAKA,MAAF,IACVF,OAAO,CAAI4B,QAAF,KAAkB,EAC1B,GAAGA,QADuB;AAE1B1B,MAAAA;AAF0B,KAAlB,CAAF;AAfT,IADD,CAjDD,CApBD,CAZD,EA0GC,4BAAC,gBAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,OAAO,EAAC,UAFT;AAGC,IAAA,QAAQ,EAAG;AAHZ,KAKC,4BAAC,oBAAD,QACC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,UAAhB;AAA2B,IAAA,OAAO,EAAGJ;AAArC,KACG,cAAI,QAAJ,CADH,CADD,CALD,EAUC,4BAAC,oBAAD,QACC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,SAAhB;AAA0B,IAAA,IAAI,EAAC;AAA/B,KACG,cAAI,OAAJ,CADH,CADD,CAVD,CA1GD,CAVD,CADD;AAwIA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useEffect, useState } from '@wordpress/element';\nimport {\n\tButton,\n\tCheckboxControl,\n\tFlex,\n\tFlexItem,\n\tIcon,\n\tModal,\n} from '@wordpress/components';\nimport { lock as lockIcon, unlock as unlockIcon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { isReusableBlock, getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport useBlockLock from './use-block-lock';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockLockModal( { clientId, onClose } ) {\n\tconst [ lock, setLock ] = useState( { move: false, remove: false } );\n\tconst { canEdit, canMove, canRemove } = useBlockLock( clientId );\n\tconst { isReusable } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName } = select( blockEditorStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\n\t\t\treturn {\n\t\t\t\tisReusable: isReusableBlock( getBlockType( blockName ) ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst instanceId = useInstanceId(\n\t\tBlockLockModal,\n\t\t'block-editor-block-lock-modal__options-title'\n\t);\n\n\tuseEffect( () => {\n\t\tsetLock( {\n\t\t\tmove: ! canMove,\n\t\t\tremove: ! canRemove,\n\t\t\t...( isReusable ? { edit: ! canEdit } : {} ),\n\t\t} );\n\t}, [ canEdit, canMove, canRemove, isReusable ] );\n\n\tconst isAllChecked = Object.values( lock ).every( Boolean );\n\tconst isMixed = Object.values( lock ).some( Boolean ) && ! isAllChecked;\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t/* translators: %s: Name of the block. */\n\t\t\t\t__( 'Lock %s' ),\n\t\t\t\tblockInformation.title\n\t\t\t) }\n\t\t\toverlayClassName=\"block-editor-block-lock-modal\"\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tupdateBlockAttributes( [ clientId ], { lock } );\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Choose specific attributes to restrict or lock all available options.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<div\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\taria-labelledby={ instanceId }\n\t\t\t\t\tclassName=\"block-editor-block-lock-modal__options\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__options-title\"\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t<span id={ instanceId }>{ __( 'Lock all' ) }</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ isAllChecked }\n\t\t\t\t\t\tindeterminate={ isMixed }\n\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\tsetLock( {\n\t\t\t\t\t\t\t\tmove: newValue,\n\t\t\t\t\t\t\t\tremove: newValue,\n\t\t\t\t\t\t\t\t...( isReusable ? { edit: newValue } : {} ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ul className=\"block-editor-block-lock-modal__checklist\">\n\t\t\t\t\t\t{ isReusable && (\n\t\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Restrict editing' ) }\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\tlock.edit\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? lockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: unlockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ !! lock.edit }\n\t\t\t\t\t\t\t\t\tonChange={ ( edit ) =>\n\t\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\t\tedit,\n\t\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Disable movement' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tlock.move\n\t\t\t\t\t\t\t\t\t\t\t\t\t? lockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: unlockIcon\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ lock.move }\n\t\t\t\t\t\t\t\tonChange={ ( move ) =>\n\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\tmove,\n\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Prevent removal' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tlock.remove\n\t\t\t\t\t\t\t\t\t\t\t\t\t? lockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: unlockIcon\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ lock.remove }\n\t\t\t\t\t\t\t\tonChange={ ( remove ) =>\n\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\tremove,\n\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -34,6 +34,7 @@ function BlockLockToolbar(_ref) {
34
34
  } = _ref;
35
35
  const blockInformation = (0, _useBlockDisplayInformation.default)(clientId);
36
36
  const {
37
+ canEdit,
37
38
  canMove,
38
39
  canRemove,
39
40
  canLock
@@ -44,7 +45,7 @@ function BlockLockToolbar(_ref) {
44
45
  return null;
45
46
  }
46
47
 
47
- if (canMove && canRemove) {
48
+ if (canEdit && canMove && canRemove) {
48
49
  return null;
49
50
  }
50
51
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/toolbar.js"],"names":["BlockLockToolbar","clientId","blockInformation","canMove","canRemove","canLock","isModalOpen","toggleModal","isActive","lock","title"],"mappings":";;;;;;;;;AAKA;;AAFA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AAbA;AACA;AACA;;AAMA;AACA;AACA;AAKe,SAASA,gBAAT,OAA0C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACxD,QAAMC,gBAAgB,GAAG,yCAA4BD,QAA5B,CAAzB;AACA,QAAM;AAAEE,IAAAA,OAAF;AAAWC,IAAAA,SAAX;AAAsBC,IAAAA;AAAtB,MAAkC,2BAAcJ,QAAd,CAAxC;AAEA,QAAM,CAAEK,WAAF,EAAeC,WAAf,IAA+B,yBAClCC,QAAF,IAAgB,CAAEA,QADkB,EAEpC,KAFoC,CAArC;;AAKA,MAAK,CAAEH,OAAP,EAAiB;AAChB,WAAO,IAAP;AACA;;AAED,MAAKF,OAAO,IAAIC,SAAhB,EAA4B;AAC3B,WAAO,IAAP;AACA;;AAED,SACC,qDACC,4BAAC,wBAAD;AAAc,IAAA,SAAS,EAAC;AAAxB,KACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGK,WADR;AAEC,IAAA,KAAK,EAAG;AACP;AACA,kBAAI,WAAJ,CAFO,EAGPP,gBAAgB,CAACQ,KAHV,CAFT;AAOC,IAAA,OAAO,EAAGH;AAPX,IADD,CADD,EAYGD,WAAW,IACZ,4BAAC,cAAD;AAAgB,IAAA,QAAQ,EAAGL,QAA3B;AAAsC,IAAA,OAAO,EAAGM;AAAhD,IAbF,CADD;AAkBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { useReducer } from '@wordpress/element';\nimport { lock } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockLockModal from './modal';\nimport useBlockLock from './use-block-lock';\nimport useBlockDisplayInformation from '../use-block-display-information';\n\nexport default function BlockLockToolbar( { clientId } ) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst { canMove, canRemove, canLock } = useBlockLock( clientId );\n\n\tconst [ isModalOpen, toggleModal ] = useReducer(\n\t\t( isActive ) => ! isActive,\n\t\tfalse\n\t);\n\n\tif ( ! canLock ) {\n\t\treturn null;\n\t}\n\n\tif ( canMove && canRemove ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarGroup className=\"block-editor-block-lock-toolbar\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ lock }\n\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( 'Unlock %s' ),\n\t\t\t\t\t\tblockInformation.title\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ toggleModal }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<BlockLockModal clientId={ clientId } onClose={ toggleModal } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/toolbar.js"],"names":["BlockLockToolbar","clientId","blockInformation","canEdit","canMove","canRemove","canLock","isModalOpen","toggleModal","isActive","lock","title"],"mappings":";;;;;;;;;AAKA;;AAFA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AAbA;AACA;AACA;;AAMA;AACA;AACA;AAKe,SAASA,gBAAT,OAA0C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACxD,QAAMC,gBAAgB,GAAG,yCAA4BD,QAA5B,CAAzB;AACA,QAAM;AAAEE,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA,SAApB;AAA+BC,IAAAA;AAA/B,MAA2C,2BAAcL,QAAd,CAAjD;AAEA,QAAM,CAAEM,WAAF,EAAeC,WAAf,IAA+B,yBAClCC,QAAF,IAAgB,CAAEA,QADkB,EAEpC,KAFoC,CAArC;;AAKA,MAAK,CAAEH,OAAP,EAAiB;AAChB,WAAO,IAAP;AACA;;AAED,MAAKH,OAAO,IAAIC,OAAX,IAAsBC,SAA3B,EAAuC;AACtC,WAAO,IAAP;AACA;;AAED,SACC,qDACC,4BAAC,wBAAD;AAAc,IAAA,SAAS,EAAC;AAAxB,KACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGK,WADR;AAEC,IAAA,KAAK,EAAG;AACP;AACA,kBAAI,WAAJ,CAFO,EAGPR,gBAAgB,CAACS,KAHV,CAFT;AAOC,IAAA,OAAO,EAAGH;AAPX,IADD,CADD,EAYGD,WAAW,IACZ,4BAAC,cAAD;AAAgB,IAAA,QAAQ,EAAGN,QAA3B;AAAsC,IAAA,OAAO,EAAGO;AAAhD,IAbF,CADD;AAkBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { useReducer } from '@wordpress/element';\nimport { lock } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockLockModal from './modal';\nimport useBlockLock from './use-block-lock';\nimport useBlockDisplayInformation from '../use-block-display-information';\n\nexport default function BlockLockToolbar( { clientId } ) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst { canEdit, canMove, canRemove, canLock } = useBlockLock( clientId );\n\n\tconst [ isModalOpen, toggleModal ] = useReducer(\n\t\t( isActive ) => ! isActive,\n\t\tfalse\n\t);\n\n\tif ( ! canLock ) {\n\t\treturn null;\n\t}\n\n\tif ( canEdit && canMove && canRemove ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarGroup className=\"block-editor-block-lock-toolbar\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ lock }\n\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( 'Unlock %s' ),\n\t\t\t\t\t\tblockInformation.title\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ toggleModal }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<BlockLockModal clientId={ clientId } onClose={ toggleModal } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -27,6 +27,7 @@ var _store = require("../../store");
27
27
  function useBlockLock(clientId) {
28
28
  return (0, _data.useSelect)(select => {
29
29
  const {
30
+ canEditBlock,
30
31
  canMoveBlock,
31
32
  canRemoveBlock,
32
33
  canLockBlockType,
@@ -34,13 +35,15 @@ function useBlockLock(clientId) {
34
35
  getBlockRootClientId
35
36
  } = select(_store.store);
36
37
  const rootClientId = getBlockRootClientId(clientId);
38
+ const canEdit = canEditBlock(clientId);
37
39
  const canMove = canMoveBlock(clientId, rootClientId);
38
40
  const canRemove = canRemoveBlock(clientId, rootClientId);
39
41
  return {
42
+ canEdit,
40
43
  canMove,
41
44
  canRemove,
42
45
  canLock: canLockBlockType(getBlockName(clientId)),
43
- isLocked: !canMove || !canRemove
46
+ isLocked: !canEdit || !canMove || !canRemove
44
47
  };
45
48
  }, [clientId]);
46
49
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/use-block-lock.js"],"names":["useBlockLock","clientId","select","canMoveBlock","canRemoveBlock","canLockBlockType","getBlockName","getBlockRootClientId","blockEditorStore","rootClientId","canMove","canRemove","canLock","isLocked"],"mappings":";;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,YAAT,CAAuBC,QAAvB,EAAkC;AAChD,SAAO,qBACJC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,YADK;AAELC,MAAAA,cAFK;AAGLC,MAAAA,gBAHK;AAILC,MAAAA,YAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEM,YAAF,CANV;AAOA,UAAMC,YAAY,GAAGF,oBAAoB,CAAEN,QAAF,CAAzC;AAEA,UAAMS,OAAO,GAAGP,YAAY,CAAEF,QAAF,EAAYQ,YAAZ,CAA5B;AACA,UAAME,SAAS,GAAGP,cAAc,CAAEH,QAAF,EAAYQ,YAAZ,CAAhC;AAEA,WAAO;AACNC,MAAAA,OADM;AAENC,MAAAA,SAFM;AAGNC,MAAAA,OAAO,EAAEP,gBAAgB,CAAEC,YAAY,CAAEL,QAAF,CAAd,CAHnB;AAINY,MAAAA,QAAQ,EAAE,CAAEH,OAAF,IAAa,CAAEC;AAJnB,KAAP;AAMA,GApBK,EAqBN,CAAEV,QAAF,CArBM,CAAP;AAuBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Return details about the block lock status.\n *\n * @param {string} clientId The block client Id.\n *\n * @return {Object} Block lock status\n */\nexport default function useBlockLock( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanMoveBlock,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanLockBlockType,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tconst canMove = canMoveBlock( clientId, rootClientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\n\t\t\treturn {\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tcanLock: canLockBlockType( getBlockName( clientId ) ),\n\t\t\t\tisLocked: ! canMove || ! canRemove,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/use-block-lock.js"],"names":["useBlockLock","clientId","select","canEditBlock","canMoveBlock","canRemoveBlock","canLockBlockType","getBlockName","getBlockRootClientId","blockEditorStore","rootClientId","canEdit","canMove","canRemove","canLock","isLocked"],"mappings":";;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,YAAT,CAAuBC,QAAvB,EAAkC;AAChD,SAAO,qBACJC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,YADK;AAELC,MAAAA,YAFK;AAGLC,MAAAA,cAHK;AAILC,MAAAA,gBAJK;AAKLC,MAAAA,YALK;AAMLC,MAAAA;AANK,QAOFN,MAAM,CAAEO,YAAF,CAPV;AAQA,UAAMC,YAAY,GAAGF,oBAAoB,CAAEP,QAAF,CAAzC;AAEA,UAAMU,OAAO,GAAGR,YAAY,CAAEF,QAAF,CAA5B;AACA,UAAMW,OAAO,GAAGR,YAAY,CAAEH,QAAF,EAAYS,YAAZ,CAA5B;AACA,UAAMG,SAAS,GAAGR,cAAc,CAAEJ,QAAF,EAAYS,YAAZ,CAAhC;AAEA,WAAO;AACNC,MAAAA,OADM;AAENC,MAAAA,OAFM;AAGNC,MAAAA,SAHM;AAINC,MAAAA,OAAO,EAAER,gBAAgB,CAAEC,YAAY,CAAEN,QAAF,CAAd,CAJnB;AAKNc,MAAAA,QAAQ,EAAE,CAAEJ,OAAF,IAAa,CAAEC,OAAf,IAA0B,CAAEC;AALhC,KAAP;AAOA,GAvBK,EAwBN,CAAEZ,QAAF,CAxBM,CAAP;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Return details about the block lock status.\n *\n * @param {string} clientId The block client Id.\n *\n * @return {Object} Block lock status\n */\nexport default function useBlockLock( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanEditBlock,\n\t\t\t\tcanMoveBlock,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanLockBlockType,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tconst canEdit = canEditBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId, rootClientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\n\t\t\treturn {\n\t\t\t\tcanEdit,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tcanLock: canLockBlockType( getBlockName( clientId ) ),\n\t\t\t\tisLocked: ! canEdit || ! canMove || ! canRemove,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"]}
@@ -148,10 +148,10 @@ const BlockMoverButton = (0, _element.forwardRef)((_ref, ref) => {
148
148
  "aria-describedby": descriptionId
149
149
  }, props, {
150
150
  onClick: isDisabled ? null : onClick,
151
- "aria-disabled": isDisabled
152
- })), (0, _element.createElement)("span", {
153
- id: descriptionId,
154
- className: "block-editor-block-mover-button__description"
151
+ disabled: isDisabled,
152
+ __experimentalIsFocusable: true
153
+ })), (0, _element.createElement)(_components.VisuallyHidden, {
154
+ id: descriptionId
155
155
  }, (0, _moverDescription.getBlockMoverDescription)(blocksCount, blockType && blockType.title, firstIndex, isFirst, isLast, direction === 'up' ? -1 : 1, orientation)));
156
156
  });
157
157
  const BlockMoverUpButton = (0, _element.forwardRef)((props, ref) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/button.js"],"names":["getArrowIcon","direction","orientation","chevronRight","chevronLeft","chevronUp","chevronDown","getMovementDirectionLabel","moveDirection","BlockMoverButton","ref","clientIds","moverOrientation","props","instanceId","blocksCount","length","blockType","isDisabled","rootClientId","isFirst","isLast","firstIndex","select","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlock","getBlockListSettings","blockEditorStore","normalizedClientIds","firstClientId","blockRootClientId","firstBlockIndex","lastBlockIndex","blockOrder","block","isFirstBlock","isLastBlock","blockListOrientation","name","moveBlocksDown","moveBlocksUp","moverFunction","onClick","event","descriptionId","title","BlockMoverUpButton","BlockMoverDownButton"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { castArray, first, last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tchevronLeft,\n\tchevronRight,\n\tchevronUp,\n\tchevronDown,\n} from '@wordpress/icons';\nimport { getBlockMoverDescription } from './mover-description';\nimport { store as blockEditorStore } from '../../store';\n\nconst getArrowIcon = ( direction, orientation ) => {\n\tif ( direction === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronRight : chevronLeft;\n\t\t}\n\t\treturn chevronUp;\n\t} else if ( direction === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronLeft : chevronRight;\n\t\t}\n\t\treturn chevronDown;\n\t}\n\treturn null;\n};\n\nconst getMovementDirectionLabel = ( moveDirection, orientation ) => {\n\tif ( moveDirection === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move right' ) : __( 'Move left' );\n\t\t}\n\t\treturn __( 'Move up' );\n\t} else if ( moveDirection === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move left' ) : __( 'Move right' );\n\t\t}\n\t\treturn __( 'Move down' );\n\t}\n\treturn null;\n};\n\nconst BlockMoverButton = forwardRef(\n\t(\n\t\t{ clientIds, direction, orientation: moverOrientation, ...props },\n\t\tref\n\t) => {\n\t\tconst instanceId = useInstanceId( BlockMoverButton );\n\t\tconst blocksCount = castArray( clientIds ).length;\n\n\t\tconst {\n\t\t\tblockType,\n\t\t\tisDisabled,\n\t\t\trootClientId,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tfirstIndex,\n\t\t\torientation = 'vertical',\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetBlock,\n\t\t\t\t\tgetBlockListSettings,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst normalizedClientIds = castArray( clientIds );\n\t\t\t\tconst firstClientId = first( normalizedClientIds );\n\t\t\t\tconst blockRootClientId = getBlockRootClientId( firstClientId );\n\t\t\t\tconst firstBlockIndex = getBlockIndex( firstClientId );\n\t\t\t\tconst lastBlockIndex = getBlockIndex(\n\t\t\t\t\tlast( normalizedClientIds )\n\t\t\t\t);\n\t\t\t\tconst blockOrder = getBlockOrder( blockRootClientId );\n\t\t\t\tconst block = getBlock( firstClientId );\n\t\t\t\tconst isFirstBlock = firstBlockIndex === 0;\n\t\t\t\tconst isLastBlock = lastBlockIndex === blockOrder.length - 1;\n\t\t\t\tconst { orientation: blockListOrientation } =\n\t\t\t\t\tgetBlockListSettings( blockRootClientId ) || {};\n\n\t\t\t\treturn {\n\t\t\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t\t\t\tisDisabled: direction === 'up' ? isFirstBlock : isLastBlock,\n\t\t\t\t\trootClientId: blockRootClientId,\n\t\t\t\t\tfirstIndex: firstBlockIndex,\n\t\t\t\t\tisFirst: isFirstBlock,\n\t\t\t\t\tisLast: isLastBlock,\n\t\t\t\t\torientation: moverOrientation || blockListOrientation,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds, direction ]\n\t\t);\n\n\t\tconst { moveBlocksDown, moveBlocksUp } = useDispatch(\n\t\t\tblockEditorStore\n\t\t);\n\t\tconst moverFunction =\n\t\t\tdirection === 'up' ? moveBlocksUp : moveBlocksDown;\n\n\t\tconst onClick = ( event ) => {\n\t\t\tmoverFunction( clientIds, rootClientId );\n\t\t\tif ( props.onClick ) {\n\t\t\t\tprops.onClick( event );\n\t\t\t}\n\t\t};\n\n\t\tconst descriptionId = `block-editor-block-mover-button__description-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'block-editor-block-mover-button',\n\t\t\t\t\t\t`is-${ direction }-button`\n\t\t\t\t\t) }\n\t\t\t\t\ticon={ getArrowIcon( direction, orientation ) }\n\t\t\t\t\tlabel={ getMovementDirectionLabel(\n\t\t\t\t\t\tdirection,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonClick={ isDisabled ? null : onClick }\n\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t/>\n\t\t\t\t<span\n\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\tclassName=\"block-editor-block-mover-button__description\"\n\t\t\t\t>\n\t\t\t\t\t{ getBlockMoverDescription(\n\t\t\t\t\t\tblocksCount,\n\t\t\t\t\t\tblockType && blockType.title,\n\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\tisFirst,\n\t\t\t\t\t\tisLast,\n\t\t\t\t\t\tdirection === 'up' ? -1 : 1,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport const BlockMoverUpButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"up\" ref={ ref } { ...props } />;\n} );\n\nexport const BlockMoverDownButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"down\" ref={ ref } { ...props } />;\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/button.js"],"names":["getArrowIcon","direction","orientation","chevronRight","chevronLeft","chevronUp","chevronDown","getMovementDirectionLabel","moveDirection","BlockMoverButton","ref","clientIds","moverOrientation","props","instanceId","blocksCount","length","blockType","isDisabled","rootClientId","isFirst","isLast","firstIndex","select","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlock","getBlockListSettings","blockEditorStore","normalizedClientIds","firstClientId","blockRootClientId","firstBlockIndex","lastBlockIndex","blockOrder","block","isFirstBlock","isLastBlock","blockListOrientation","name","moveBlocksDown","moveBlocksUp","moverFunction","onClick","event","descriptionId","title","BlockMoverUpButton","BlockMoverDownButton"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { castArray, first, last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tchevronLeft,\n\tchevronRight,\n\tchevronUp,\n\tchevronDown,\n} from '@wordpress/icons';\nimport { getBlockMoverDescription } from './mover-description';\nimport { store as blockEditorStore } from '../../store';\n\nconst getArrowIcon = ( direction, orientation ) => {\n\tif ( direction === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronRight : chevronLeft;\n\t\t}\n\t\treturn chevronUp;\n\t} else if ( direction === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronLeft : chevronRight;\n\t\t}\n\t\treturn chevronDown;\n\t}\n\treturn null;\n};\n\nconst getMovementDirectionLabel = ( moveDirection, orientation ) => {\n\tif ( moveDirection === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move right' ) : __( 'Move left' );\n\t\t}\n\t\treturn __( 'Move up' );\n\t} else if ( moveDirection === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move left' ) : __( 'Move right' );\n\t\t}\n\t\treturn __( 'Move down' );\n\t}\n\treturn null;\n};\n\nconst BlockMoverButton = forwardRef(\n\t(\n\t\t{ clientIds, direction, orientation: moverOrientation, ...props },\n\t\tref\n\t) => {\n\t\tconst instanceId = useInstanceId( BlockMoverButton );\n\t\tconst blocksCount = castArray( clientIds ).length;\n\n\t\tconst {\n\t\t\tblockType,\n\t\t\tisDisabled,\n\t\t\trootClientId,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tfirstIndex,\n\t\t\torientation = 'vertical',\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetBlock,\n\t\t\t\t\tgetBlockListSettings,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst normalizedClientIds = castArray( clientIds );\n\t\t\t\tconst firstClientId = first( normalizedClientIds );\n\t\t\t\tconst blockRootClientId = getBlockRootClientId( firstClientId );\n\t\t\t\tconst firstBlockIndex = getBlockIndex( firstClientId );\n\t\t\t\tconst lastBlockIndex = getBlockIndex(\n\t\t\t\t\tlast( normalizedClientIds )\n\t\t\t\t);\n\t\t\t\tconst blockOrder = getBlockOrder( blockRootClientId );\n\t\t\t\tconst block = getBlock( firstClientId );\n\t\t\t\tconst isFirstBlock = firstBlockIndex === 0;\n\t\t\t\tconst isLastBlock = lastBlockIndex === blockOrder.length - 1;\n\t\t\t\tconst { orientation: blockListOrientation } =\n\t\t\t\t\tgetBlockListSettings( blockRootClientId ) || {};\n\n\t\t\t\treturn {\n\t\t\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t\t\t\tisDisabled: direction === 'up' ? isFirstBlock : isLastBlock,\n\t\t\t\t\trootClientId: blockRootClientId,\n\t\t\t\t\tfirstIndex: firstBlockIndex,\n\t\t\t\t\tisFirst: isFirstBlock,\n\t\t\t\t\tisLast: isLastBlock,\n\t\t\t\t\torientation: moverOrientation || blockListOrientation,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds, direction ]\n\t\t);\n\n\t\tconst { moveBlocksDown, moveBlocksUp } = useDispatch(\n\t\t\tblockEditorStore\n\t\t);\n\t\tconst moverFunction =\n\t\t\tdirection === 'up' ? moveBlocksUp : moveBlocksDown;\n\n\t\tconst onClick = ( event ) => {\n\t\t\tmoverFunction( clientIds, rootClientId );\n\t\t\tif ( props.onClick ) {\n\t\t\t\tprops.onClick( event );\n\t\t\t}\n\t\t};\n\n\t\tconst descriptionId = `block-editor-block-mover-button__description-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'block-editor-block-mover-button',\n\t\t\t\t\t\t`is-${ direction }-button`\n\t\t\t\t\t) }\n\t\t\t\t\ticon={ getArrowIcon( direction, orientation ) }\n\t\t\t\t\tlabel={ getMovementDirectionLabel(\n\t\t\t\t\t\tdirection,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonClick={ isDisabled ? null : onClick }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t/>\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ getBlockMoverDescription(\n\t\t\t\t\t\tblocksCount,\n\t\t\t\t\t\tblockType && blockType.title,\n\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\tisFirst,\n\t\t\t\t\t\tisLast,\n\t\t\t\t\t\tdirection === 'up' ? -1 : 1,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport const BlockMoverUpButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"up\" ref={ ref } { ...props } />;\n} );\n\nexport const BlockMoverDownButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"down\" ref={ ref } { ...props } />;\n} );\n"]}
@@ -19,8 +19,6 @@ var _icons = require("@wordpress/icons");
19
19
 
20
20
  var _components = require("@wordpress/components");
21
21
 
22
- var _blocks = require("@wordpress/blocks");
23
-
24
22
  var _data = require("@wordpress/data");
25
23
 
26
24
  var _i18n = require("@wordpress/i18n");
@@ -44,38 +42,53 @@ var _store = require("../../store");
44
42
  */
45
43
  function BlockMover(_ref) {
46
44
  let {
47
- isFirst,
48
- isLast,
49
45
  clientIds,
50
- canMove,
51
- isHidden,
52
- rootClientId,
53
- orientation,
54
46
  hideDragHandle
55
47
  } = _ref;
56
- const [isFocused, setIsFocused] = (0, _element.useState)(false);
57
-
58
- const onFocus = () => setIsFocused(true);
59
-
60
- const onBlur = () => setIsFocused(false);
48
+ const {
49
+ canMove,
50
+ rootClientId,
51
+ isFirst,
52
+ isLast,
53
+ orientation
54
+ } = (0, _data.useSelect)(select => {
55
+ var _getBlockListSettings;
56
+
57
+ const {
58
+ getBlockIndex,
59
+ getBlockListSettings,
60
+ canMoveBlocks,
61
+ getBlockOrder,
62
+ getBlockRootClientId
63
+ } = select(_store.store);
64
+ const normalizedClientIds = (0, _lodash.castArray)(clientIds);
65
+ const firstClientId = (0, _lodash.first)(normalizedClientIds);
66
+
67
+ const _rootClientId = getBlockRootClientId((0, _lodash.first)(normalizedClientIds));
68
+
69
+ const firstIndex = getBlockIndex(firstClientId);
70
+ const lastIndex = getBlockIndex((0, _lodash.last)(normalizedClientIds));
71
+ const blockOrder = getBlockOrder(_rootClientId);
72
+ return {
73
+ canMove: canMoveBlocks(clientIds, _rootClientId),
74
+ rootClientId: _rootClientId,
75
+ isFirst: firstIndex === 0,
76
+ isLast: lastIndex === blockOrder.length - 1,
77
+ orientation: (_getBlockListSettings = getBlockListSettings(_rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation
78
+ };
79
+ }, [clientIds]);
61
80
 
62
81
  if (!canMove || isFirst && isLast && !rootClientId) {
63
82
  return null;
64
83
  }
65
84
 
66
- const dragHandleLabel = (0, _i18n.__)('Drag'); // We emulate a disabled state because forcefully applying the `disabled`
67
- // attribute on the buttons while it has focus causes the screen to change
68
- // to an unfocused state (body as active element) without firing blur on,
69
- // the rendering parent, leaving it unable to react to focus out.
70
-
71
- return (0, _element.createElement)("div", {
85
+ const dragHandleLabel = (0, _i18n.__)('Drag');
86
+ return (0, _element.createElement)(_components.ToolbarGroup, {
72
87
  className: (0, _classnames.default)('block-editor-block-mover', {
73
- 'is-visible': isFocused || !isHidden,
74
88
  'is-horizontal': orientation === 'horizontal'
75
89
  })
76
90
  }, !hideDragHandle && (0, _element.createElement)(_blockDraggable.default, {
77
- clientIds: clientIds,
78
- cloneClassname: "block-editor-block-mover__drag-clone"
91
+ clientIds: clientIds
79
92
  }, draggableProps => (0, _element.createElement)(_components.Button, (0, _extends2.default)({
80
93
  icon: _icons.dragHandle,
81
94
  className: "block-editor-block-mover__drag-handle",
@@ -84,17 +97,11 @@ function BlockMover(_ref) {
84
97
  // button can only be used with a pointer device.
85
98
  ,
86
99
  tabIndex: "-1"
87
- }, draggableProps))), (0, _element.createElement)(_components.ToolbarGroup, {
100
+ }, draggableProps))), (0, _element.createElement)("div", {
88
101
  className: "block-editor-block-mover__move-button-container"
89
- }, (0, _element.createElement)(_components.ToolbarItem, {
90
- onFocus: onFocus,
91
- onBlur: onBlur
92
- }, itemProps => (0, _element.createElement)(_button.BlockMoverUpButton, (0, _extends2.default)({
102
+ }, (0, _element.createElement)(_components.ToolbarItem, null, itemProps => (0, _element.createElement)(_button.BlockMoverUpButton, (0, _extends2.default)({
93
103
  clientIds: clientIds
94
- }, itemProps))), (0, _element.createElement)(_components.ToolbarItem, {
95
- onFocus: onFocus,
96
- onBlur: onBlur
97
- }, itemProps => (0, _element.createElement)(_button.BlockMoverDownButton, (0, _extends2.default)({
104
+ }, itemProps))), (0, _element.createElement)(_components.ToolbarItem, null, itemProps => (0, _element.createElement)(_button.BlockMoverDownButton, (0, _extends2.default)({
98
105
  clientIds: clientIds
99
106
  }, itemProps)))));
100
107
  }
@@ -103,39 +110,6 @@ function BlockMover(_ref) {
103
110
  */
104
111
 
105
112
 
106
- var _default = (0, _data.withSelect)((select, _ref2) => {
107
- var _getBlockListSettings;
108
-
109
- let {
110
- clientIds
111
- } = _ref2;
112
- const {
113
- getBlock,
114
- getBlockIndex,
115
- getBlockListSettings,
116
- canMoveBlocks,
117
- getBlockOrder,
118
- getBlockRootClientId
119
- } = select(_store.store);
120
- const normalizedClientIds = (0, _lodash.castArray)(clientIds);
121
- const firstClientId = (0, _lodash.first)(normalizedClientIds);
122
- const block = getBlock(firstClientId);
123
- const rootClientId = getBlockRootClientId((0, _lodash.first)(normalizedClientIds));
124
- const firstIndex = getBlockIndex(firstClientId);
125
- const lastIndex = getBlockIndex((0, _lodash.last)(normalizedClientIds));
126
- const blockOrder = getBlockOrder(rootClientId);
127
- const isFirst = firstIndex === 0;
128
- const isLast = lastIndex === blockOrder.length - 1;
129
- return {
130
- blockType: block ? (0, _blocks.getBlockType)(block.name) : null,
131
- canMove: canMoveBlocks(clientIds, rootClientId),
132
- rootClientId,
133
- firstIndex,
134
- isFirst,
135
- isLast,
136
- orientation: (_getBlockListSettings = getBlockListSettings(rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation
137
- };
138
- })(BlockMover);
139
-
113
+ var _default = BlockMover;
140
114
  exports.default = _default;
141
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/index.js"],"names":["BlockMover","isFirst","isLast","clientIds","canMove","isHidden","rootClientId","orientation","hideDragHandle","isFocused","setIsFocused","onFocus","onBlur","dragHandleLabel","draggableProps","dragHandle","itemProps","select","getBlock","getBlockIndex","getBlockListSettings","canMoveBlocks","getBlockOrder","getBlockRootClientId","blockEditorStore","normalizedClientIds","firstClientId","block","firstIndex","lastIndex","blockOrder","length","blockType","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last, castArray } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\n\nimport { dragHandle } from '@wordpress/icons';\nimport { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\nimport { useState } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggable from '../block-draggable';\nimport { BlockMoverUpButton, BlockMoverDownButton } from './button';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockMover( {\n\tisFirst,\n\tisLast,\n\tclientIds,\n\tcanMove,\n\tisHidden,\n\trootClientId,\n\torientation,\n\thideDragHandle,\n} ) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst onFocus = () => setIsFocused( true );\n\tconst onBlur = () => setIsFocused( false );\n\n\tif ( ! canMove || ( isFirst && isLast && ! rootClientId ) ) {\n\t\treturn null;\n\t}\n\n\tconst dragHandleLabel = __( 'Drag' );\n\n\t// We emulate a disabled state because forcefully applying the `disabled`\n\t// attribute on the buttons while it has focus causes the screen to change\n\t// to an unfocused state (body as active element) without firing blur on,\n\t// the rendering parent, leaving it unable to react to focus out.\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'block-editor-block-mover', {\n\t\t\t\t'is-visible': isFocused || ! isHidden,\n\t\t\t\t'is-horizontal': orientation === 'horizontal',\n\t\t\t} ) }\n\t\t>\n\t\t\t{ ! hideDragHandle && (\n\t\t\t\t<BlockDraggable\n\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\tcloneClassname=\"block-editor-block-mover__drag-clone\"\n\t\t\t\t>\n\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-mover__drag-handle\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockDraggable>\n\t\t\t) }\n\t\t\t<ToolbarGroup className=\"block-editor-block-mover__move-button-container\">\n\t\t\t\t<ToolbarItem onFocus={ onFocus } onBlur={ onBlur }>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t\t<ToolbarItem onFocus={ onFocus } onBlur={ onBlur }>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t</ToolbarGroup>\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md\n */\nexport default withSelect( ( select, { clientIds } ) => {\n\tconst {\n\t\tgetBlock,\n\t\tgetBlockIndex,\n\t\tgetBlockListSettings,\n\t\tcanMoveBlocks,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t} = select( blockEditorStore );\n\tconst normalizedClientIds = castArray( clientIds );\n\tconst firstClientId = first( normalizedClientIds );\n\tconst block = getBlock( firstClientId );\n\tconst rootClientId = getBlockRootClientId( first( normalizedClientIds ) );\n\tconst firstIndex = getBlockIndex( firstClientId );\n\tconst lastIndex = getBlockIndex( last( normalizedClientIds ) );\n\tconst blockOrder = getBlockOrder( rootClientId );\n\tconst isFirst = firstIndex === 0;\n\tconst isLast = lastIndex === blockOrder.length - 1;\n\n\treturn {\n\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\tcanMove: canMoveBlocks( clientIds, rootClientId ),\n\t\trootClientId,\n\t\tfirstIndex,\n\t\tisFirst,\n\t\tisLast,\n\t\torientation: getBlockListSettings( rootClientId )?.orientation,\n\t};\n} )( BlockMover );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/index.js"],"names":["BlockMover","clientIds","hideDragHandle","canMove","rootClientId","isFirst","isLast","orientation","select","getBlockIndex","getBlockListSettings","canMoveBlocks","getBlockOrder","getBlockRootClientId","blockEditorStore","normalizedClientIds","firstClientId","_rootClientId","firstIndex","lastIndex","blockOrder","length","dragHandleLabel","draggableProps","dragHandle","itemProps"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AApBA;AACA;AACA;;AAIA;AACA;AACA;;AAOA;AACA;AACA;AAKA,SAASA,UAAT,OAAqD;AAAA,MAAhC;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,GAAgC;AACpD,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,YAAX;AAAyBC,IAAAA,OAAzB;AAAkCC,IAAAA,MAAlC;AAA0CC,IAAAA;AAA1C,MAA0D,qBAC7DC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,aADK;AAELC,MAAAA,oBAFK;AAGLC,MAAAA,aAHK;AAILC,MAAAA,aAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEM,YAAF,CANV;AAOA,UAAMC,mBAAmB,GAAG,uBAAWd,SAAX,CAA5B;AACA,UAAMe,aAAa,GAAG,mBAAOD,mBAAP,CAAtB;;AACA,UAAME,aAAa,GAAGJ,oBAAoB,CACzC,mBAAOE,mBAAP,CADyC,CAA1C;;AAGA,UAAMG,UAAU,GAAGT,aAAa,CAAEO,aAAF,CAAhC;AACA,UAAMG,SAAS,GAAGV,aAAa,CAAE,kBAAMM,mBAAN,CAAF,CAA/B;AACA,UAAMK,UAAU,GAAGR,aAAa,CAAEK,aAAF,CAAhC;AAEA,WAAO;AACNd,MAAAA,OAAO,EAAEQ,aAAa,CAAEV,SAAF,EAAagB,aAAb,CADhB;AAENb,MAAAA,YAAY,EAAEa,aAFR;AAGNZ,MAAAA,OAAO,EAAEa,UAAU,KAAK,CAHlB;AAINZ,MAAAA,MAAM,EAAEa,SAAS,KAAKC,UAAU,CAACC,MAAX,GAAoB,CAJpC;AAKNd,MAAAA,WAAW,2BAAEG,oBAAoB,CAAEO,aAAF,CAAtB,0DAAE,sBAAuCV;AAL9C,KAAP;AAOA,GAzB8D,EA0B/D,CAAEN,SAAF,CA1B+D,CAAhE;;AA6BA,MAAK,CAAEE,OAAF,IAAeE,OAAO,IAAIC,MAAX,IAAqB,CAAEF,YAA3C,EAA4D;AAC3D,WAAO,IAAP;AACA;;AAED,QAAMkB,eAAe,GAAG,cAAI,MAAJ,CAAxB;AAEA,SACC,4BAAC,wBAAD;AACC,IAAA,SAAS,EAAG,yBAAY,0BAAZ,EAAwC;AACnD,uBAAiBf,WAAW,KAAK;AADkB,KAAxC;AADb,KAKG,CAAEL,cAAF,IACD,4BAAC,uBAAD;AAAgB,IAAA,SAAS,EAAGD;AAA5B,KACKsB,cAAF,IACD,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGC,iBADR;AAEC,IAAA,SAAS,EAAC,uCAFX;AAGC,mBAAY,MAHb;AAIC,IAAA,KAAK,EAAGF,eAJT,CAKC;AACA;AAND;AAOC,IAAA,QAAQ,EAAC;AAPV,KAQMC,cARN,EAFF,CANF,EAqBC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,uBAAD,QACKE,SAAF,IACD,4BAAC,0BAAD;AACC,IAAA,SAAS,EAAGxB;AADb,KAEMwB,SAFN,EAFF,CADD,EASC,4BAAC,uBAAD,QACKA,SAAF,IACD,4BAAC,4BAAD;AACC,IAAA,SAAS,EAAGxB;AADb,KAEMwB,SAFN,EAFF,CATD,CArBD,CADD;AA0CA;AAED;AACA;AACA;;;eACezB,U","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last, castArray } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\n\nimport { dragHandle } from '@wordpress/icons';\nimport { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggable from '../block-draggable';\nimport { BlockMoverUpButton, BlockMoverDownButton } from './button';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockMover( { clientIds, hideDragHandle } ) {\n\tconst { canMove, rootClientId, isFirst, isLast, orientation } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst normalizedClientIds = castArray( clientIds );\n\t\t\tconst firstClientId = first( normalizedClientIds );\n\t\t\tconst _rootClientId = getBlockRootClientId(\n\t\t\t\tfirst( normalizedClientIds )\n\t\t\t);\n\t\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\t\tconst lastIndex = getBlockIndex( last( normalizedClientIds ) );\n\t\t\tconst blockOrder = getBlockOrder( _rootClientId );\n\n\t\t\treturn {\n\t\t\t\tcanMove: canMoveBlocks( clientIds, _rootClientId ),\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisFirst: firstIndex === 0,\n\t\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\t\torientation: getBlockListSettings( _rootClientId )?.orientation,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! canMove || ( isFirst && isLast && ! rootClientId ) ) {\n\t\treturn null;\n\t}\n\n\tconst dragHandleLabel = __( 'Drag' );\n\n\treturn (\n\t\t<ToolbarGroup\n\t\t\tclassName={ classnames( 'block-editor-block-mover', {\n\t\t\t\t'is-horizontal': orientation === 'horizontal',\n\t\t\t} ) }\n\t\t>\n\t\t\t{ ! hideDragHandle && (\n\t\t\t\t<BlockDraggable clientIds={ clientIds }>\n\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-mover__drag-handle\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockDraggable>\n\t\t\t) }\n\t\t\t<div className=\"block-editor-block-mover__move-button-container\">\n\t\t\t\t<ToolbarItem>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t\t<ToolbarItem>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t</div>\n\t\t</ToolbarGroup>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md\n */\nexport default BlockMover;\n"]}
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
+ var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
15
+
14
16
  var _components = require("@wordpress/components");
15
17
 
16
18
  var _i18n = require("@wordpress/i18n");
@@ -23,6 +25,10 @@ var _listView = _interopRequireDefault(require("../list-view"));
23
25
 
24
26
  var _store = require("../../store");
25
27
 
28
+ /**
29
+ * WordPress dependencies
30
+ */
31
+
26
32
  /**
27
33
  * WordPress dependencies
28
34
  */
@@ -55,9 +61,12 @@ function BlockNavigationDropdownToggle(_ref) {
55
61
  function BlockNavigationDropdown(_ref2, ref) {
56
62
  let {
57
63
  isDisabled,
58
- __experimentalFeatures,
59
64
  ...props
60
65
  } = _ref2;
66
+ (0, _deprecated.default)('wp.blockEditor.BlockNavigationDropdown', {
67
+ since: '6.1',
68
+ alternative: 'wp.components.Dropdown and wp.blockEditor.ListView'
69
+ });
61
70
  const hasBlocks = (0, _data.useSelect)(select => !!select(_store.store).getBlockCount(), []);
62
71
  const isEnabled = hasBlocks && !isDisabled;
63
72
  return (0, _element.createElement)(_components.Dropdown, {
@@ -79,10 +88,7 @@ function BlockNavigationDropdown(_ref2, ref) {
79
88
  className: "block-editor-block-navigation__container"
80
89
  }, (0, _element.createElement)("p", {
81
90
  className: "block-editor-block-navigation__label"
82
- }, (0, _i18n.__)('List view')), (0, _element.createElement)(_listView.default, {
83
- showNestedBlocks: true,
84
- __experimentalFeatures: __experimentalFeatures
85
- }))
91
+ }, (0, _i18n.__)('List view')), (0, _element.createElement)(_listView.default, null))
86
92
  });
87
93
  }
88
94
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-navigation/dropdown.js"],"names":["BlockNavigationDropdownToggle","isEnabled","onToggle","isOpen","innerRef","props","listView","undefined","BlockNavigationDropdown","ref","isDisabled","__experimentalFeatures","hasBlocks","select","blockEditorStore","getBlockCount"],"mappings":";;;;;;;;;AAMA;;;;AAHA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AAbA;AACA;AACA;;AAOA;AACA;AACA;AAIA,SAASA,6BAAT,OAMI;AAAA,MANoC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,QAFuC;AAGvCC,IAAAA,MAHuC;AAIvCC,IAAAA,QAJuC;AAKvC,OAAGC;AALoC,GAMpC;AACH,SACC,4BAAC,kBAAD,6BACMA,KADN;AAEC,IAAA,GAAG,EAAGD,QAFP;AAGC,IAAA,IAAI,EAAGE,eAHR;AAIC,qBAAgBH,MAJjB;AAKC,qBAAc,MALf;AAMC,IAAA,OAAO,EAAGF,SAAS,GAAGC,QAAH,GAAcK;AACjC;AAPD;AAQC,IAAA,KAAK,EAAG,cAAI,WAAJ,CART;AASC,IAAA,SAAS,EAAC,+BATX;AAUC,qBAAgB,CAAEN;AAVnB,KADD;AAcA;;AAED,SAASO,uBAAT,QAECC,GAFD,EAGE;AAAA,MAFD;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,sBAAd;AAAsC,OAAGN;AAAzC,GAEC;AACD,QAAMO,SAAS,GAAG,qBACfC,MAAF,IAAc,CAAC,CAAEA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,aAA3B,EADA,EAEjB,EAFiB,CAAlB;AAIA,QAAMd,SAAS,GAAGW,SAAS,IAAI,CAAEF,UAAjC;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,gBAAgB,EAAC,wCADlB;AAEC,IAAA,QAAQ,EAAC,cAFV;AAGC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEP,QAAAA,MAAF;AAAUD,QAAAA;AAAV,OAAF;AAAA,aACd,4BAAC,6BAAD,6BACMG,KADN;AAEC,QAAA,QAAQ,EAAGI,GAFZ;AAGC,QAAA,MAAM,EAAGN,MAHV;AAIC,QAAA,QAAQ,EAAGD,QAJZ;AAKC,QAAA,SAAS,EAAGD;AALb,SADc;AAAA,KAHhB;AAYC,IAAA,aAAa,EAAG,MACf;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cAAI,WAAJ,CADH,CADD,EAKC,4BAAC,iBAAD;AACC,MAAA,gBAAgB,MADjB;AAEC,MAAA,sBAAsB,EAAGU;AAF1B,MALD;AAbF,IADD;AA2BA;;eAEc,yBAAYH,uBAAZ,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { listView } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ListView from '../list-view';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockNavigationDropdownToggle( {\n\tisEnabled,\n\tonToggle,\n\tisOpen,\n\tinnerRef,\n\t...props\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t{ ...props }\n\t\t\tref={ innerRef }\n\t\t\ticon={ listView }\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-haspopup=\"true\"\n\t\t\tonClick={ isEnabled ? onToggle : undefined }\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\tlabel={ __( 'List view' ) }\n\t\t\tclassName=\"block-editor-block-navigation\"\n\t\t\taria-disabled={ ! isEnabled }\n\t\t/>\n\t);\n}\n\nfunction BlockNavigationDropdown(\n\t{ isDisabled, __experimentalFeatures, ...props },\n\tref\n) {\n\tconst hasBlocks = useSelect(\n\t\t( select ) => !! select( blockEditorStore ).getBlockCount(),\n\t\t[]\n\t);\n\tconst isEnabled = hasBlocks && ! isDisabled;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-editor-block-navigation__popover\"\n\t\t\tposition=\"bottom right\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<BlockNavigationDropdownToggle\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tinnerRef={ ref }\n\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tisEnabled={ isEnabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<div className=\"block-editor-block-navigation__container\">\n\t\t\t\t\t<p className=\"block-editor-block-navigation__label\">\n\t\t\t\t\t\t{ __( 'List view' ) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ListView\n\t\t\t\t\t\tshowNestedBlocks\n\t\t\t\t\t\t__experimentalFeatures={ __experimentalFeatures }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( BlockNavigationDropdown );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-navigation/dropdown.js"],"names":["BlockNavigationDropdownToggle","isEnabled","onToggle","isOpen","innerRef","props","listView","undefined","BlockNavigationDropdown","ref","isDisabled","since","alternative","hasBlocks","select","blockEditorStore","getBlockCount"],"mappings":";;;;;;;;;AAWA;;;;AARA;;AAKA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAIA,SAASA,6BAAT,OAMI;AAAA,MANoC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,QAFuC;AAGvCC,IAAAA,MAHuC;AAIvCC,IAAAA,QAJuC;AAKvC,OAAGC;AALoC,GAMpC;AACH,SACC,4BAAC,kBAAD,6BACMA,KADN;AAEC,IAAA,GAAG,EAAGD,QAFP;AAGC,IAAA,IAAI,EAAGE,eAHR;AAIC,qBAAgBH,MAJjB;AAKC,qBAAc,MALf;AAMC,IAAA,OAAO,EAAGF,SAAS,GAAGC,QAAH,GAAcK;AACjC;AAPD;AAQC,IAAA,KAAK,EAAG,cAAI,WAAJ,CART;AASC,IAAA,SAAS,EAAC,+BATX;AAUC,qBAAgB,CAAEN;AAVnB,KADD;AAcA;;AAED,SAASO,uBAAT,QAA4DC,GAA5D,EAAkE;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAc,OAAGL;AAAjB,GAAgC;AACjE,2BAAY,wCAAZ,EAAsD;AACrDM,IAAAA,KAAK,EAAE,KAD8C;AAErDC,IAAAA,WAAW,EAAE;AAFwC,GAAtD;AAKA,QAAMC,SAAS,GAAG,qBACfC,MAAF,IAAc,CAAC,CAAEA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,aAA3B,EADA,EAEjB,EAFiB,CAAlB;AAIA,QAAMf,SAAS,GAAGY,SAAS,IAAI,CAAEH,UAAjC;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,gBAAgB,EAAC,wCADlB;AAEC,IAAA,QAAQ,EAAC,cAFV;AAGC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEP,QAAAA,MAAF;AAAUD,QAAAA;AAAV,OAAF;AAAA,aACd,4BAAC,6BAAD,6BACMG,KADN;AAEC,QAAA,QAAQ,EAAGI,GAFZ;AAGC,QAAA,MAAM,EAAGN,MAHV;AAIC,QAAA,QAAQ,EAAGD,QAJZ;AAKC,QAAA,SAAS,EAAGD;AALb,SADc;AAAA,KAHhB;AAYC,IAAA,aAAa,EAAG,MACf;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cAAI,WAAJ,CADH,CADD,EAKC,4BAAC,iBAAD,OALD;AAbF,IADD;AAwBA;;eAEc,yBAAYO,uBAAZ,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { listView } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ListView from '../list-view';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockNavigationDropdownToggle( {\n\tisEnabled,\n\tonToggle,\n\tisOpen,\n\tinnerRef,\n\t...props\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t{ ...props }\n\t\t\tref={ innerRef }\n\t\t\ticon={ listView }\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-haspopup=\"true\"\n\t\t\tonClick={ isEnabled ? onToggle : undefined }\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\tlabel={ __( 'List view' ) }\n\t\t\tclassName=\"block-editor-block-navigation\"\n\t\t\taria-disabled={ ! isEnabled }\n\t\t/>\n\t);\n}\n\nfunction BlockNavigationDropdown( { isDisabled, ...props }, ref ) {\n\tdeprecated( 'wp.blockEditor.BlockNavigationDropdown', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.components.Dropdown and wp.blockEditor.ListView',\n\t} );\n\n\tconst hasBlocks = useSelect(\n\t\t( select ) => !! select( blockEditorStore ).getBlockCount(),\n\t\t[]\n\t);\n\tconst isEnabled = hasBlocks && ! isDisabled;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-editor-block-navigation__popover\"\n\t\t\tposition=\"bottom right\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<BlockNavigationDropdownToggle\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tinnerRef={ ref }\n\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tisEnabled={ isEnabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<div className=\"block-editor-block-navigation__container\">\n\t\t\t\t\t<p className=\"block-editor-block-navigation__label\">\n\t\t\t\t\t\t{ __( 'List view' ) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ListView />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( BlockNavigationDropdown );\n"]}