@wordpress/block-editor 8.5.0 → 8.6.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 (274) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-alignment-control/ui.js +1 -1
  3. package/build/components/block-alignment-control/ui.js.map +1 -1
  4. package/build/components/block-content-overlay/index.js +13 -4
  5. package/build/components/block-content-overlay/index.js.map +1 -1
  6. package/build/components/block-list/block.native.js +3 -1
  7. package/build/components/block-list/block.native.js.map +1 -1
  8. package/build/components/block-lock/index.js +8 -0
  9. package/build/components/block-lock/index.js.map +1 -1
  10. package/build/components/block-lock/menu-item.js +5 -20
  11. package/build/components/block-lock/menu-item.js.map +1 -1
  12. package/build/components/block-lock/modal.js +33 -12
  13. package/build/components/block-lock/modal.js.map +1 -1
  14. package/build/components/block-lock/toolbar.js +7 -20
  15. package/build/components/block-lock/toolbar.js.map +1 -1
  16. package/build/components/block-lock/use-block-lock.js +50 -0
  17. package/build/components/block-lock/use-block-lock.js.map +1 -0
  18. package/build/components/block-mover/button.js +4 -4
  19. package/build/components/block-mover/button.js.map +1 -1
  20. package/build/components/block-mover/index.js +39 -65
  21. package/build/components/block-mover/index.js.map +1 -1
  22. package/build/components/block-pattern-setup/index.js +37 -22
  23. package/build/components/block-pattern-setup/index.js.map +1 -1
  24. package/build/components/block-pattern-setup/setup-toolbar.js +1 -1
  25. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  26. package/build/components/block-popover/inbetween.js +183 -0
  27. package/build/components/block-popover/inbetween.js.map +1 -0
  28. package/build/components/block-popover/index.js +82 -0
  29. package/build/components/block-popover/index.js.map +1 -0
  30. package/build/components/{block-tools → block-popover}/use-popover-scroll.js +4 -1
  31. package/build/components/block-popover/use-popover-scroll.js.map +1 -0
  32. package/build/components/block-preview/auto.js +6 -3
  33. package/build/components/block-preview/auto.js.map +1 -1
  34. package/build/components/block-preview/index.js +4 -2
  35. package/build/components/block-preview/index.js.map +1 -1
  36. package/build/components/block-styles/index.js +1 -10
  37. package/build/components/block-styles/index.js.map +1 -1
  38. package/build/components/block-switcher/index.js +7 -2
  39. package/build/components/block-switcher/index.js.map +1 -1
  40. package/build/components/block-tools/back-compat.js +2 -2
  41. package/build/components/block-tools/back-compat.js.map +1 -1
  42. package/build/components/block-tools/block-selection-button.js +4 -2
  43. package/build/components/block-tools/block-selection-button.js.map +1 -1
  44. package/build/components/block-tools/index.js +5 -5
  45. package/build/components/block-tools/index.js.map +1 -1
  46. package/build/components/block-tools/insertion-point.js +14 -121
  47. package/build/components/block-tools/insertion-point.js.map +1 -1
  48. package/build/components/block-tools/{block-popover.js → selected-block-popover.js} +25 -108
  49. package/build/components/block-tools/selected-block-popover.js.map +1 -0
  50. package/build/components/copy-handler/index.js +44 -9
  51. package/build/components/copy-handler/index.js.map +1 -1
  52. package/build/components/duotone-control/index.js +5 -1
  53. package/build/components/duotone-control/index.js.map +1 -1
  54. package/build/components/inserter/index.native.js +30 -8
  55. package/build/components/inserter/index.native.js.map +1 -1
  56. package/build/components/link-control/index.js +6 -7
  57. package/build/components/link-control/index.js.map +1 -1
  58. package/build/components/list-view/block-select-button.js +4 -10
  59. package/build/components/list-view/block-select-button.js.map +1 -1
  60. package/build/components/list-view/block.js +13 -2
  61. package/build/components/list-view/block.js.map +1 -1
  62. package/build/components/rich-text/index.js +0 -5
  63. package/build/components/rich-text/index.js.map +1 -1
  64. package/build/components/rich-text/index.native.js +0 -4
  65. package/build/components/rich-text/index.native.js.map +1 -1
  66. package/build/components/use-block-display-information/index.js +3 -1
  67. package/build/components/use-block-display-information/index.js.map +1 -1
  68. package/build/hooks/border.js +468 -44
  69. package/build/hooks/border.js.map +1 -1
  70. package/build/hooks/duotone.js +66 -16
  71. package/build/hooks/duotone.js.map +1 -1
  72. package/build/hooks/index.js +8 -2
  73. package/build/hooks/index.js.map +1 -1
  74. package/build/hooks/use-border-props.js +22 -32
  75. package/build/hooks/use-border-props.js.map +1 -1
  76. package/build/index.js +7 -0
  77. package/build/index.js.map +1 -1
  78. package/build/store/actions.js +36 -31
  79. package/build/store/actions.js.map +1 -1
  80. package/build/store/reducer.js +0 -26
  81. package/build/store/reducer.js.map +1 -1
  82. package/build/store/selectors.js +131 -6
  83. package/build/store/selectors.js.map +1 -1
  84. package/build/store/utils.js +27 -0
  85. package/build/store/utils.js.map +1 -0
  86. package/build-module/components/block-alignment-control/ui.js +2 -2
  87. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  88. package/build-module/components/block-content-overlay/index.js +13 -4
  89. package/build-module/components/block-content-overlay/index.js.map +1 -1
  90. package/build-module/components/block-list/block.native.js +3 -1
  91. package/build-module/components/block-list/block.native.js.map +1 -1
  92. package/build-module/components/block-lock/index.js +1 -0
  93. package/build-module/components/block-lock/index.js.map +1 -1
  94. package/build-module/components/block-lock/menu-item.js +4 -18
  95. package/build-module/components/block-lock/menu-item.js.map +1 -1
  96. package/build-module/components/block-lock/modal.js +31 -12
  97. package/build-module/components/block-lock/modal.js.map +1 -1
  98. package/build-module/components/block-lock/toolbar.js +6 -18
  99. package/build-module/components/block-lock/toolbar.js.map +1 -1
  100. package/build-module/components/block-lock/use-block-lock.js +41 -0
  101. package/build-module/components/block-lock/use-block-lock.js.map +1 -0
  102. package/build-module/components/block-mover/button.js +5 -5
  103. package/build-module/components/block-mover/button.js.map +1 -1
  104. package/build-module/components/block-mover/index.js +38 -63
  105. package/build-module/components/block-mover/index.js.map +1 -1
  106. package/build-module/components/block-pattern-setup/index.js +39 -24
  107. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  108. package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -1
  109. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  110. package/build-module/components/block-popover/inbetween.js +165 -0
  111. package/build-module/components/block-popover/inbetween.js.map +1 -0
  112. package/build-module/components/block-popover/index.js +67 -0
  113. package/build-module/components/block-popover/index.js.map +1 -0
  114. package/build-module/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
  115. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -0
  116. package/build-module/components/block-preview/auto.js +6 -3
  117. package/build-module/components/block-preview/auto.js.map +1 -1
  118. package/build-module/components/block-preview/index.js +4 -2
  119. package/build-module/components/block-preview/index.js.map +1 -1
  120. package/build-module/components/block-styles/index.js +1 -9
  121. package/build-module/components/block-styles/index.js.map +1 -1
  122. package/build-module/components/block-switcher/index.js +7 -2
  123. package/build-module/components/block-switcher/index.js.map +1 -1
  124. package/build-module/components/block-tools/back-compat.js +1 -1
  125. package/build-module/components/block-tools/back-compat.js.map +1 -1
  126. package/build-module/components/block-tools/block-selection-button.js +3 -2
  127. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  128. package/build-module/components/block-tools/index.js +3 -3
  129. package/build-module/components/block-tools/index.js.map +1 -1
  130. package/build-module/components/block-tools/insertion-point.js +16 -121
  131. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  132. package/build-module/components/block-tools/{block-popover.js → selected-block-popover.js} +25 -105
  133. package/build-module/components/block-tools/selected-block-popover.js.map +1 -0
  134. package/build-module/components/copy-handler/index.js +44 -9
  135. package/build-module/components/copy-handler/index.js.map +1 -1
  136. package/build-module/components/duotone-control/index.js +4 -1
  137. package/build-module/components/duotone-control/index.js.map +1 -1
  138. package/build-module/components/inserter/index.native.js +31 -10
  139. package/build-module/components/inserter/index.native.js.map +1 -1
  140. package/build-module/components/link-control/index.js +6 -7
  141. package/build-module/components/link-control/index.js.map +1 -1
  142. package/build-module/components/list-view/block-select-button.js +4 -9
  143. package/build-module/components/list-view/block-select-button.js.map +1 -1
  144. package/build-module/components/list-view/block.js +13 -2
  145. package/build-module/components/list-view/block.js.map +1 -1
  146. package/build-module/components/rich-text/index.js +0 -4
  147. package/build-module/components/rich-text/index.js.map +1 -1
  148. package/build-module/components/rich-text/index.native.js +0 -4
  149. package/build-module/components/rich-text/index.native.js.map +1 -1
  150. package/build-module/components/use-block-display-information/index.js +3 -1
  151. package/build-module/components/use-block-display-information/index.js.map +1 -1
  152. package/build-module/hooks/border.js +458 -44
  153. package/build-module/hooks/border.js.map +1 -1
  154. package/build-module/hooks/duotone.js +63 -16
  155. package/build-module/hooks/duotone.js.map +1 -1
  156. package/build-module/hooks/index.js +2 -1
  157. package/build-module/hooks/index.js.map +1 -1
  158. package/build-module/hooks/use-border-props.js +21 -30
  159. package/build-module/hooks/use-border-props.js.map +1 -1
  160. package/build-module/index.js +1 -1
  161. package/build-module/index.js.map +1 -1
  162. package/build-module/store/actions.js +19 -16
  163. package/build-module/store/actions.js.map +1 -1
  164. package/build-module/store/reducer.js +0 -24
  165. package/build-module/store/reducer.js.map +1 -1
  166. package/build-module/store/selectors.js +120 -5
  167. package/build-module/store/selectors.js.map +1 -1
  168. package/build-module/store/utils.js +20 -0
  169. package/build-module/store/utils.js.map +1 -0
  170. package/build-style/style-rtl.css +145 -272
  171. package/build-style/style.css +145 -272
  172. package/package.json +28 -28
  173. package/src/components/block-alignment-control/ui.js +2 -2
  174. package/src/components/block-content-overlay/index.js +19 -2
  175. package/src/components/block-list/block.native.js +2 -0
  176. package/src/components/block-lock/index.js +1 -0
  177. package/src/components/block-lock/menu-item.js +3 -23
  178. package/src/components/block-lock/modal.js +37 -13
  179. package/src/components/block-lock/style.scss +1 -2
  180. package/src/components/block-lock/toolbar.js +4 -21
  181. package/src/components/block-lock/use-block-lock.js +45 -0
  182. package/src/components/block-mover/button.js +5 -7
  183. package/src/components/block-mover/index.js +37 -60
  184. package/src/components/block-mover/stories/index.js +110 -0
  185. package/src/components/block-mover/style.scss +48 -138
  186. package/src/components/block-pattern-setup/index.js +84 -59
  187. package/src/components/block-pattern-setup/setup-toolbar.js +3 -1
  188. package/src/components/block-pattern-setup/style.scss +32 -26
  189. package/src/components/block-popover/README.md +41 -0
  190. package/src/components/block-popover/inbetween.js +180 -0
  191. package/src/components/block-popover/index.js +73 -0
  192. package/src/components/block-popover/style.scss +24 -0
  193. package/src/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
  194. package/src/components/block-preview/auto.js +10 -1
  195. package/src/components/block-preview/index.js +2 -0
  196. package/src/components/block-styles/index.js +1 -12
  197. package/src/components/block-switcher/index.js +13 -1
  198. package/src/components/block-switcher/style.scss +4 -4
  199. package/src/components/block-switcher/test/__snapshots__/index.js.snap +15 -13
  200. package/src/components/block-toolbar/style.scss +0 -12
  201. package/src/components/block-tools/back-compat.js +1 -1
  202. package/src/components/block-tools/block-selection-button.js +3 -1
  203. package/src/components/block-tools/index.js +6 -4
  204. package/src/components/block-tools/insertion-point.js +19 -152
  205. package/src/components/block-tools/{block-popover.js → selected-block-popover.js} +24 -116
  206. package/src/components/block-tools/style.scss +11 -123
  207. package/src/components/border-radius-control/style.scss +5 -2
  208. package/src/components/copy-handler/index.js +52 -10
  209. package/src/components/default-block-appender/style.scss +1 -2
  210. package/src/components/duotone-control/index.js +8 -1
  211. package/src/components/gradients/README.md +29 -0
  212. package/src/components/inserter/index.native.js +60 -25
  213. package/src/components/inserter/style.native.scss +24 -3
  214. package/src/components/link-control/index.js +5 -5
  215. package/src/components/list-view/block-select-button.js +2 -10
  216. package/src/components/list-view/block.js +16 -7
  217. package/src/components/navigable-toolbar/README.md +16 -0
  218. package/src/components/rich-text/index.js +0 -2
  219. package/src/components/rich-text/index.native.js +0 -4
  220. package/src/components/use-block-display-information/index.js +2 -0
  221. package/src/hooks/border.js +438 -72
  222. package/src/hooks/border.scss +48 -0
  223. package/src/hooks/duotone.js +98 -62
  224. package/src/hooks/index.js +2 -1
  225. package/src/hooks/use-border-props.js +15 -32
  226. package/src/index.js +1 -0
  227. package/src/store/actions.js +19 -15
  228. package/src/store/reducer.js +0 -21
  229. package/src/store/selectors.js +160 -5
  230. package/src/store/test/actions.js +0 -18
  231. package/src/store/test/reducer.js +0 -19
  232. package/src/store/test/selectors.js +0 -19
  233. package/src/store/utils.js +19 -0
  234. package/src/style.scss +1 -1
  235. package/build/components/block-mobile-toolbar/index.js +0 -42
  236. package/build/components/block-mobile-toolbar/index.js.map +0 -1
  237. package/build/components/block-tools/block-popover.js.map +0 -1
  238. package/build/components/block-tools/use-popover-scroll.js.map +0 -1
  239. package/build/components/list-view/appender.js +0 -93
  240. package/build/components/list-view/appender.js.map +0 -1
  241. package/build/components/list-view/list-item.js +0 -62
  242. package/build/components/list-view/list-item.js.map +0 -1
  243. package/build/components/rich-text/use-caret-in-format.js +0 -43
  244. package/build/components/rich-text/use-caret-in-format.js.map +0 -1
  245. package/build/hooks/border-color.js +0 -302
  246. package/build/hooks/border-color.js.map +0 -1
  247. package/build/hooks/border-style.js +0 -96
  248. package/build/hooks/border-style.js.map +0 -1
  249. package/build/hooks/border-width.js +0 -162
  250. package/build/hooks/border-width.js.map +0 -1
  251. package/build-module/components/block-mobile-toolbar/index.js +0 -31
  252. package/build-module/components/block-mobile-toolbar/index.js.map +0 -1
  253. package/build-module/components/block-tools/block-popover.js.map +0 -1
  254. package/build-module/components/block-tools/use-popover-scroll.js.map +0 -1
  255. package/build-module/components/list-view/appender.js +0 -76
  256. package/build-module/components/list-view/appender.js.map +0 -1
  257. package/build-module/components/list-view/list-item.js +0 -47
  258. package/build-module/components/list-view/list-item.js.map +0 -1
  259. package/build-module/components/rich-text/use-caret-in-format.js +0 -33
  260. package/build-module/components/rich-text/use-caret-in-format.js.map +0 -1
  261. package/build-module/hooks/border-color.js +0 -276
  262. package/build-module/hooks/border-color.js.map +0 -1
  263. package/build-module/hooks/border-style.js +0 -78
  264. package/build-module/hooks/border-style.js.map +0 -1
  265. package/build-module/hooks/border-width.js +0 -143
  266. package/build-module/hooks/border-width.js.map +0 -1
  267. package/src/components/block-mobile-toolbar/index.js +0 -24
  268. package/src/components/block-mobile-toolbar/style.scss +0 -29
  269. package/src/components/list-view/appender.js +0 -82
  270. package/src/components/list-view/list-item.js +0 -59
  271. package/src/components/rich-text/use-caret-in-format.js +0 -28
  272. package/src/hooks/border-color.js +0 -315
  273. package/src/hooks/border-style.js +0 -64
  274. package/src/hooks/border-width.js +0 -139
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useBlockLock;
7
+
8
+ var _data = require("@wordpress/data");
9
+
10
+ var _store = require("../../store");
11
+
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+
20
+ /**
21
+ * Return details about the block lock status.
22
+ *
23
+ * @param {string} clientId The block client Id.
24
+ *
25
+ * @return {Object} Block lock status
26
+ */
27
+ function useBlockLock(clientId) {
28
+ return (0, _data.useSelect)(select => {
29
+ const {
30
+ canEditBlock,
31
+ canMoveBlock,
32
+ canRemoveBlock,
33
+ canLockBlockType,
34
+ getBlockName,
35
+ getBlockRootClientId
36
+ } = select(_store.store);
37
+ const rootClientId = getBlockRootClientId(clientId);
38
+ const canEdit = canEditBlock(clientId);
39
+ const canMove = canMoveBlock(clientId, rootClientId);
40
+ const canRemove = canRemoveBlock(clientId, rootClientId);
41
+ return {
42
+ canEdit,
43
+ canMove,
44
+ canRemove,
45
+ canLock: canLockBlockType(getBlockName(clientId)),
46
+ isLocked: !canEdit || !canMove || !canRemove
47
+ };
48
+ }, [clientId]);
49
+ }
50
+ //# sourceMappingURL=use-block-lock.js.map
@@ -0,0 +1 @@
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"]}
@@ -43,7 +43,8 @@ const SetupContent = _ref => {
43
43
  viewMode,
44
44
  activeSlide,
45
45
  patterns,
46
- onBlockPatternSelect
46
+ onBlockPatternSelect,
47
+ height
47
48
  } = _ref;
48
49
  const composite = (0, _components.__unstableUseCompositeState)();
49
50
  const containerClass = 'block-editor-block-pattern-setup__container';
@@ -51,17 +52,28 @@ const SetupContent = _ref => {
51
52
  if (viewMode === _constants.VIEWMODES.carousel) {
52
53
  const slideClass = new Map([[activeSlide, 'active-slide'], [activeSlide - 1, 'previous-slide'], [activeSlide + 1, 'next-slide']]);
53
54
  return (0, _element.createElement)("div", {
55
+ className: "block-editor-block-pattern-setup__carousel",
56
+ style: {
57
+ height
58
+ }
59
+ }, (0, _element.createElement)("div", {
54
60
  className: containerClass
55
61
  }, (0, _element.createElement)("ul", {
56
62
  className: "carousel-container"
57
63
  }, patterns.map((pattern, index) => (0, _element.createElement)(BlockPatternSlide, {
58
64
  className: slideClass.get(index) || '',
59
65
  key: pattern.name,
60
- pattern: pattern
61
- }))));
66
+ pattern: pattern,
67
+ minHeight: height
68
+ })))));
62
69
  }
63
70
 
64
- return (0, _element.createElement)(_components.__unstableComposite, (0, _extends2.default)({}, composite, {
71
+ return (0, _element.createElement)("div", {
72
+ style: {
73
+ height
74
+ },
75
+ className: "block-editor-block-pattern-setup__grid"
76
+ }, (0, _element.createElement)(_components.__unstableComposite, (0, _extends2.default)({}, composite, {
65
77
  role: "listbox",
66
78
  className: containerClass,
67
79
  "aria-label": (0, _i18n.__)('Patterns list')
@@ -70,7 +82,7 @@ const SetupContent = _ref => {
70
82
  pattern: pattern,
71
83
  onSelect: onBlockPatternSelect,
72
84
  composite: composite
73
- })));
85
+ }))));
74
86
  };
75
87
 
76
88
  function BlockPattern(_ref2) {
@@ -82,7 +94,6 @@ function BlockPattern(_ref2) {
82
94
  const baseClassName = 'block-editor-block-pattern-setup-list';
83
95
  const {
84
96
  blocks,
85
- title,
86
97
  description,
87
98
  viewportWidth = 700
88
99
  } = pattern;
@@ -100,9 +111,7 @@ function BlockPattern(_ref2) {
100
111
  }), (0, _element.createElement)(_blockPreview.default, {
101
112
  blocks: blocks,
102
113
  viewportWidth: viewportWidth
103
- }), (0, _element.createElement)("div", {
104
- className: `${baseClassName}__item-title`
105
- }, title)), !!description && (0, _element.createElement)(_components.VisuallyHidden, {
114
+ })), !!description && (0, _element.createElement)(_components.VisuallyHidden, {
106
115
  id: descriptionId
107
116
  }, description));
108
117
  }
@@ -110,7 +119,8 @@ function BlockPattern(_ref2) {
110
119
  function BlockPatternSlide(_ref3) {
111
120
  let {
112
121
  className,
113
- pattern
122
+ pattern,
123
+ minHeight
114
124
  } = _ref3;
115
125
  const {
116
126
  blocks,
@@ -124,7 +134,7 @@ function BlockPatternSlide(_ref3) {
124
134
  "aria-describedby": description ? descriptionId : undefined
125
135
  }, (0, _element.createElement)(_blockPreview.default, {
126
136
  blocks: blocks,
127
- __experimentalLive: true
137
+ __experimentalMinHeight: minHeight
128
138
  }), !!description && (0, _element.createElement)(_components.VisuallyHidden, {
129
139
  id: descriptionId
130
140
  }, description));
@@ -145,6 +155,9 @@ const BlockPatternSetup = _ref4 => {
145
155
  replaceBlock
146
156
  } = (0, _data.useDispatch)(_store.store);
147
157
  const patterns = (0, _usePatternsSetup.default)(clientId, blockName, filterPatternsFn);
158
+ const [contentResizeListener, {
159
+ height: contentHeight
160
+ }] = (0, _compose.useResizeObserver)();
148
161
 
149
162
  if (!(patterns !== null && patterns !== void 0 && patterns.length) || showBlank) {
150
163
  return startBlankComponent;
@@ -156,9 +169,18 @@ const BlockPatternSetup = _ref4 => {
156
169
  };
157
170
 
158
171
  const onPatternSelectCallback = onBlockPatternSelect || onBlockPatternSelectDefault;
159
- return (0, _element.createElement)("div", {
172
+ const onStartBlank = startBlankComponent ? () => {
173
+ setShowBlank(true);
174
+ } : undefined;
175
+ return (0, _element.createElement)(_element.Fragment, null, contentResizeListener, (0, _element.createElement)("div", {
160
176
  className: `block-editor-block-pattern-setup view-mode-${viewMode}`
161
- }, (0, _element.createElement)(_setupToolbar.default, {
177
+ }, (0, _element.createElement)(SetupContent, {
178
+ viewMode: viewMode,
179
+ activeSlide: activeSlide,
180
+ patterns: patterns,
181
+ onBlockPatternSelect: onPatternSelectCallback,
182
+ height: contentHeight - 2 * 60
183
+ }), (0, _element.createElement)(_setupToolbar.default, {
162
184
  viewMode: viewMode,
163
185
  setViewMode: setViewMode,
164
186
  activeSlide: activeSlide,
@@ -172,15 +194,8 @@ const BlockPatternSetup = _ref4 => {
172
194
  onBlockPatternSelect: () => {
173
195
  onPatternSelectCallback(patterns[activeSlide].blocks);
174
196
  },
175
- onStartBlank: () => {
176
- setShowBlank(true);
177
- }
178
- }), (0, _element.createElement)(SetupContent, {
179
- viewMode: viewMode,
180
- activeSlide: activeSlide,
181
- patterns: patterns,
182
- onBlockPatternSelect: onPatternSelectCallback
183
- }));
197
+ onStartBlank: onStartBlank
198
+ })));
184
199
  };
185
200
 
186
201
  var _default = BlockPatternSetup;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"names":["SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","composite","containerClass","VIEWMODES","carousel","slideClass","Map","map","pattern","index","get","name","BlockPattern","onSelect","baseClassName","blocks","title","description","viewportWidth","descriptionId","undefined","BlockPatternSlide","className","BlockPatternSetup","clientId","blockName","filterPatternsFn","startBlankComponent","setViewMode","setActiveSlide","showBlank","setShowBlank","replaceBlock","blockEditorStore","length","onBlockPatternSelectDefault","clonedBlocks","block","onPatternSelectCallback","active"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n} ) => {\n\tconst composite = useCompositeState();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div className={ containerClass }>\n\t\t\t\t<ul className=\"carousel-container\">\n\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName={ containerClass }\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\tcomposite={ composite }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, composite } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, title, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ `${ baseClassName }__list-item` }\n\t\t\taria-label={ pattern.title }\n\t\t\taria-describedby={ pattern.description ? descriptionId : undefined }\n\t\t>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }__item-title` }>\n\t\t\t\t\t{ title }\n\t\t\t\t</div>\n\t\t\t</CompositeItem>\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { className, pattern } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<li\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview blocks={ blocks } __experimentalLive />\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tstartBlankComponent,\n\tonBlockPatternSelect,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( VIEWMODES.carousel );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst [ showBlank, setShowBlank ] = useState( false );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\n\tif ( ! patterns?.length || showBlank ) {\n\t\treturn startBlankComponent;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\treturn (\n\t\t<div\n\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t>\n\t\t\t<SetupToolbar\n\t\t\t\tviewMode={ viewMode }\n\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\thandleNext={ () => {\n\t\t\t\t\tsetActiveSlide( ( active ) => active + 1 );\n\t\t\t\t} }\n\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\tsetActiveSlide( ( active ) => active - 1 );\n\t\t\t\t} }\n\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\tonPatternSelectCallback( patterns[ activeSlide ].blocks );\n\t\t\t\t} }\n\t\t\t\tonStartBlank={ () => {\n\t\t\t\t\tsetShowBlank( true );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<SetupContent\n\t\t\t\tviewMode={ viewMode }\n\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\tpatterns={ patterns }\n\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default BlockPatternSetup;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"names":["SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","height","composite","containerClass","VIEWMODES","carousel","slideClass","Map","map","pattern","index","get","name","BlockPattern","onSelect","baseClassName","blocks","description","viewportWidth","descriptionId","title","undefined","BlockPatternSlide","className","minHeight","BlockPatternSetup","clientId","blockName","filterPatternsFn","startBlankComponent","setViewMode","setActiveSlide","showBlank","setShowBlank","replaceBlock","blockEditorStore","contentResizeListener","contentHeight","length","onBlockPatternSelectDefault","clonedBlocks","block","onPatternSelectCallback","onStartBlank","active"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useResizeObserver } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n\theight,\n} ) => {\n\tconst composite = useCompositeState();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-block-pattern-setup__carousel\"\n\t\t\t\tstyle={ { height } }\n\t\t\t>\n\t\t\t\t<div className={ containerClass }>\n\t\t\t\t\t<ul className=\"carousel-container\">\n\t\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t\t\tminHeight={ height }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div\n\t\t\tstyle={ { height } }\n\t\t\tclassName=\"block-editor-block-pattern-setup__grid\"\n\t\t>\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName={ containerClass }\n\t\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t\t>\n\t\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t</div>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, composite } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ `${ baseClassName }__list-item` }\n\t\t\taria-label={ pattern.title }\n\t\t\taria-describedby={ pattern.description ? descriptionId : undefined }\n\t\t>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t</CompositeItem>\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { className, pattern, minHeight } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<li\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\t__experimentalMinHeight={ minHeight }\n\t\t\t/>\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tstartBlankComponent,\n\tonBlockPatternSelect,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( VIEWMODES.carousel );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst [ showBlank, setShowBlank ] = useState( false );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\tconst [\n\t\tcontentResizeListener,\n\t\t{ height: contentHeight },\n\t] = useResizeObserver();\n\n\tif ( ! patterns?.length || showBlank ) {\n\t\treturn startBlankComponent;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\tconst onStartBlank = startBlankComponent\n\t\t? () => {\n\t\t\t\tsetShowBlank( true );\n\t\t }\n\t\t: undefined;\n\treturn (\n\t\t<>\n\t\t\t{ contentResizeListener }\n\t\t\t<div\n\t\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t\t>\n\t\t\t\t<SetupContent\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t\t\theight={ contentHeight - 2 * 60 }\n\t\t\t\t/>\n\t\t\t\t<SetupToolbar\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\t\thandleNext={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active + 1 );\n\t\t\t\t\t} }\n\t\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active - 1 );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\t\tonPatternSelectCallback(\n\t\t\t\t\t\t\tpatterns[ activeSlide ].blocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tonStartBlank={ onStartBlank }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default BlockPatternSetup;\n"]}
@@ -29,7 +29,7 @@ const Actions = _ref => {
29
29
  } = _ref;
30
30
  return (0, _element.createElement)("div", {
31
31
  className: "block-editor-block-pattern-setup__actions"
32
- }, (0, _element.createElement)(_components.Button, {
32
+ }, onStartBlank && (0, _element.createElement)(_components.Button, {
33
33
  onClick: onStartBlank
34
34
  }, (0, _i18n.__)('Start blank')), (0, _element.createElement)(_components.Button, {
35
35
  variant: "primary",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/setup-toolbar.js"],"names":["Actions","onStartBlank","onBlockPatternSelect","CarouselNavigation","handlePrevious","handleNext","activeSlide","totalSlides","chevronLeft","chevronRight","SetupToolbar","viewMode","setViewMode","isCarouselView","VIEWMODES","carousel","displayControls","stretchFullWidth","grid"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAUA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,OAAO,GAAG;AAAA,MAAE;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAAF;AAAA,SACf;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAGD;AAAlB,KAAmC,cAAI,aAAJ,CAAnC,CADD,EAEC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,SAAhB;AAA0B,IAAA,OAAO,EAAGC;AAApC,KACG,cAAI,QAAJ,CADH,CAFD,CADe;AAAA,CAAhB;;AASA,MAAMC,kBAAkB,GAAG;AAAA,MAAE;AAC5BC,IAAAA,cAD4B;AAE5BC,IAAAA,UAF4B;AAG5BC,IAAAA,WAH4B;AAI5BC,IAAAA;AAJ4B,GAAF;AAAA,SAM1B;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGC,kBADR;AAEC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CAFT;AAGC,IAAA,OAAO,EAAGJ,cAHX;AAIC,IAAA,QAAQ,EAAGE,WAAW,KAAK;AAJ5B,IADD,EAOC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGG,mBADR;AAEC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,IAAA,OAAO,EAAGJ,UAHX;AAIC,IAAA,QAAQ,EAAGC,WAAW,KAAKC,WAAW,GAAG;AAJ1C,IAPD,CAN0B;AAAA,CAA3B;;AAsBA,MAAMG,YAAY,GAAG,SASd;AAAA,MATgB;AACtBC,IAAAA,QADsB;AAEtBC,IAAAA,WAFsB;AAGtBR,IAAAA,cAHsB;AAItBC,IAAAA,UAJsB;AAKtBC,IAAAA,WALsB;AAMtBC,IAAAA,WANsB;AAOtBL,IAAAA,oBAPsB;AAQtBD,IAAAA;AARsB,GAShB;AACN,QAAMY,cAAc,GAAGF,QAAQ,KAAKG,qBAAUC,QAA9C;AACA,QAAMC,eAAe,GACpB;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGC,uBADR;AAEC,IAAA,KAAK,EAAG,cAAI,eAAJ,CAFT;AAGC,IAAA,OAAO,EAAG,MAAML,WAAW,CAAEE,qBAAUC,QAAZ,CAH5B;AAIC,IAAA,SAAS,EAAGF;AAJb,IADD,EAOC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGK,WADR;AAEC,IAAA,KAAK,EAAG,cAAI,WAAJ,CAFT;AAGC,IAAA,OAAO,EAAG,MAAMN,WAAW,CAAEE,qBAAUI,IAAZ,CAH5B;AAIC,IAAA,SAAS,EAAGP,QAAQ,KAAKG,qBAAUI;AAJpC,IAPD,CADD;AAgBA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGL,cAAc,IACf,4BAAC,kBAAD;AACC,IAAA,cAAc,EAAGT,cADlB;AAEC,IAAA,UAAU,EAAGC,UAFd;AAGC,IAAA,WAAW,EAAGC,WAHf;AAIC,IAAA,WAAW,EAAGC;AAJf,IAFF,EASGS,eATH,EAUGH,cAAc,IACf,4BAAC,OAAD;AACC,IAAA,oBAAoB,EAAGX,oBADxB;AAEC,IAAA,YAAY,EAAGD;AAFhB,IAXF,CADD;AAmBA,CA9CD;;eAgDeS,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport {\n\tchevronRight,\n\tchevronLeft,\n\tgrid,\n\tstretchFullWidth,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { VIEWMODES } from './constants';\n\nconst Actions = ( { onStartBlank, onBlockPatternSelect } ) => (\n\t<div className=\"block-editor-block-pattern-setup__actions\">\n\t\t<Button onClick={ onStartBlank }>{ __( 'Start blank' ) }</Button>\n\t\t<Button variant=\"primary\" onClick={ onBlockPatternSelect }>\n\t\t\t{ __( 'Choose' ) }\n\t\t</Button>\n\t</div>\n);\n\nconst CarouselNavigation = ( {\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n} ) => (\n\t<div className=\"block-editor-block-pattern-setup__navigation\">\n\t\t<Button\n\t\t\ticon={ chevronLeft }\n\t\t\tlabel={ __( 'Previous pattern' ) }\n\t\t\tonClick={ handlePrevious }\n\t\t\tdisabled={ activeSlide === 0 }\n\t\t/>\n\t\t<Button\n\t\t\ticon={ chevronRight }\n\t\t\tlabel={ __( 'Next pattern' ) }\n\t\t\tonClick={ handleNext }\n\t\t\tdisabled={ activeSlide === totalSlides - 1 }\n\t\t/>\n\t</div>\n);\n\nconst SetupToolbar = ( {\n\tviewMode,\n\tsetViewMode,\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n\tonBlockPatternSelect,\n\tonStartBlank,\n} ) => {\n\tconst isCarouselView = viewMode === VIEWMODES.carousel;\n\tconst displayControls = (\n\t\t<div className=\"block-editor-block-pattern-setup__display-controls\">\n\t\t\t<Button\n\t\t\t\ticon={ stretchFullWidth }\n\t\t\t\tlabel={ __( 'Carousel view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.carousel ) }\n\t\t\t\tisPressed={ isCarouselView }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\ticon={ grid }\n\t\t\t\tlabel={ __( 'Grid view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.grid ) }\n\t\t\t\tisPressed={ viewMode === VIEWMODES.grid }\n\t\t\t/>\n\t\t</div>\n\t);\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__toolbar\">\n\t\t\t{ isCarouselView && (\n\t\t\t\t<CarouselNavigation\n\t\t\t\t\thandlePrevious={ handlePrevious }\n\t\t\t\t\thandleNext={ handleNext }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ totalSlides }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ displayControls }\n\t\t\t{ isCarouselView && (\n\t\t\t\t<Actions\n\t\t\t\t\tonBlockPatternSelect={ onBlockPatternSelect }\n\t\t\t\t\tonStartBlank={ onStartBlank }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default SetupToolbar;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/setup-toolbar.js"],"names":["Actions","onStartBlank","onBlockPatternSelect","CarouselNavigation","handlePrevious","handleNext","activeSlide","totalSlides","chevronLeft","chevronRight","SetupToolbar","viewMode","setViewMode","isCarouselView","VIEWMODES","carousel","displayControls","stretchFullWidth","grid"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAUA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,OAAO,GAAG;AAAA,MAAE;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAAF;AAAA,SACf;AAAK,IAAA,SAAS,EAAC;AAAf,KACGD,YAAY,IACb,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAGA;AAAlB,KAAmC,cAAI,aAAJ,CAAnC,CAFF,EAIC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,SAAhB;AAA0B,IAAA,OAAO,EAAGC;AAApC,KACG,cAAI,QAAJ,CADH,CAJD,CADe;AAAA,CAAhB;;AAWA,MAAMC,kBAAkB,GAAG;AAAA,MAAE;AAC5BC,IAAAA,cAD4B;AAE5BC,IAAAA,UAF4B;AAG5BC,IAAAA,WAH4B;AAI5BC,IAAAA;AAJ4B,GAAF;AAAA,SAM1B;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGC,kBADR;AAEC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CAFT;AAGC,IAAA,OAAO,EAAGJ,cAHX;AAIC,IAAA,QAAQ,EAAGE,WAAW,KAAK;AAJ5B,IADD,EAOC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGG,mBADR;AAEC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,IAAA,OAAO,EAAGJ,UAHX;AAIC,IAAA,QAAQ,EAAGC,WAAW,KAAKC,WAAW,GAAG;AAJ1C,IAPD,CAN0B;AAAA,CAA3B;;AAsBA,MAAMG,YAAY,GAAG,SASd;AAAA,MATgB;AACtBC,IAAAA,QADsB;AAEtBC,IAAAA,WAFsB;AAGtBR,IAAAA,cAHsB;AAItBC,IAAAA,UAJsB;AAKtBC,IAAAA,WALsB;AAMtBC,IAAAA,WANsB;AAOtBL,IAAAA,oBAPsB;AAQtBD,IAAAA;AARsB,GAShB;AACN,QAAMY,cAAc,GAAGF,QAAQ,KAAKG,qBAAUC,QAA9C;AACA,QAAMC,eAAe,GACpB;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGC,uBADR;AAEC,IAAA,KAAK,EAAG,cAAI,eAAJ,CAFT;AAGC,IAAA,OAAO,EAAG,MAAML,WAAW,CAAEE,qBAAUC,QAAZ,CAH5B;AAIC,IAAA,SAAS,EAAGF;AAJb,IADD,EAOC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGK,WADR;AAEC,IAAA,KAAK,EAAG,cAAI,WAAJ,CAFT;AAGC,IAAA,OAAO,EAAG,MAAMN,WAAW,CAAEE,qBAAUI,IAAZ,CAH5B;AAIC,IAAA,SAAS,EAAGP,QAAQ,KAAKG,qBAAUI;AAJpC,IAPD,CADD;AAgBA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGL,cAAc,IACf,4BAAC,kBAAD;AACC,IAAA,cAAc,EAAGT,cADlB;AAEC,IAAA,UAAU,EAAGC,UAFd;AAGC,IAAA,WAAW,EAAGC,WAHf;AAIC,IAAA,WAAW,EAAGC;AAJf,IAFF,EASGS,eATH,EAUGH,cAAc,IACf,4BAAC,OAAD;AACC,IAAA,oBAAoB,EAAGX,oBADxB;AAEC,IAAA,YAAY,EAAGD;AAFhB,IAXF,CADD;AAmBA,CA9CD;;eAgDeS,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport {\n\tchevronRight,\n\tchevronLeft,\n\tgrid,\n\tstretchFullWidth,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { VIEWMODES } from './constants';\n\nconst Actions = ( { onStartBlank, onBlockPatternSelect } ) => (\n\t<div className=\"block-editor-block-pattern-setup__actions\">\n\t\t{ onStartBlank && (\n\t\t\t<Button onClick={ onStartBlank }>{ __( 'Start blank' ) }</Button>\n\t\t) }\n\t\t<Button variant=\"primary\" onClick={ onBlockPatternSelect }>\n\t\t\t{ __( 'Choose' ) }\n\t\t</Button>\n\t</div>\n);\n\nconst CarouselNavigation = ( {\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n} ) => (\n\t<div className=\"block-editor-block-pattern-setup__navigation\">\n\t\t<Button\n\t\t\ticon={ chevronLeft }\n\t\t\tlabel={ __( 'Previous pattern' ) }\n\t\t\tonClick={ handlePrevious }\n\t\t\tdisabled={ activeSlide === 0 }\n\t\t/>\n\t\t<Button\n\t\t\ticon={ chevronRight }\n\t\t\tlabel={ __( 'Next pattern' ) }\n\t\t\tonClick={ handleNext }\n\t\t\tdisabled={ activeSlide === totalSlides - 1 }\n\t\t/>\n\t</div>\n);\n\nconst SetupToolbar = ( {\n\tviewMode,\n\tsetViewMode,\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n\tonBlockPatternSelect,\n\tonStartBlank,\n} ) => {\n\tconst isCarouselView = viewMode === VIEWMODES.carousel;\n\tconst displayControls = (\n\t\t<div className=\"block-editor-block-pattern-setup__display-controls\">\n\t\t\t<Button\n\t\t\t\ticon={ stretchFullWidth }\n\t\t\t\tlabel={ __( 'Carousel view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.carousel ) }\n\t\t\t\tisPressed={ isCarouselView }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\ticon={ grid }\n\t\t\t\tlabel={ __( 'Grid view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.grid ) }\n\t\t\t\tisPressed={ viewMode === VIEWMODES.grid }\n\t\t\t/>\n\t\t</div>\n\t);\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__toolbar\">\n\t\t\t{ isCarouselView && (\n\t\t\t\t<CarouselNavigation\n\t\t\t\t\thandlePrevious={ handlePrevious }\n\t\t\t\t\thandleNext={ handleNext }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ totalSlides }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ displayControls }\n\t\t\t{ isCarouselView && (\n\t\t\t\t<Actions\n\t\t\t\t\tonBlockPatternSelect={ onBlockPatternSelect }\n\t\t\t\t\tonStartBlank={ onStartBlank }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default SetupToolbar;\n"]}