@wordpress/block-editor 12.12.0 → 12.13.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 (287) hide show
  1. package/CHANGELOG.md +12 -10
  2. package/README.md +35 -3
  3. package/build/components/block-alignment-control/use-available-alignments.js +30 -28
  4. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  5. package/build/components/block-list/block.native.js +4 -4
  6. package/build/components/block-list/block.native.js.map +1 -1
  7. package/build/components/block-list/layout.js +2 -3
  8. package/build/components/block-list/layout.js.map +1 -1
  9. package/build/components/border-radius-control/index.js +3 -2
  10. package/build/components/border-radius-control/index.js.map +1 -1
  11. package/build/components/color-palette/with-color-context.js +6 -6
  12. package/build/components/color-palette/with-color-context.js.map +1 -1
  13. package/build/components/colors/with-colors.js +2 -8
  14. package/build/components/colors/with-colors.js.map +1 -1
  15. package/build/components/colors-gradients/control.js +6 -7
  16. package/build/components/colors-gradients/control.js.map +1 -1
  17. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -13
  18. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  19. package/build/components/font-family/index.js +2 -3
  20. package/build/components/font-family/index.js.map +1 -1
  21. package/build/components/font-sizes/font-size-picker.js +3 -5
  22. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  23. package/build/components/font-sizes/with-font-sizes.js +3 -4
  24. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  25. package/build/components/global-styles/filters-panel.js +7 -8
  26. package/build/components/global-styles/filters-panel.js.map +1 -1
  27. package/build/components/global-styles/image-settings-panel.js +2 -2
  28. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  29. package/build/components/global-styles/typography-panel.js +1 -1
  30. package/build/components/global-styles/typography-panel.js.map +1 -1
  31. package/build/components/gradients/use-gradient.js +2 -5
  32. package/build/components/gradients/use-gradient.js.map +1 -1
  33. package/build/components/height-control/index.js +3 -3
  34. package/build/components/height-control/index.js.map +1 -1
  35. package/build/components/index.js +9 -2
  36. package/build/components/index.js.map +1 -1
  37. package/build/components/index.native.js +9 -2
  38. package/build/components/index.native.js.map +1 -1
  39. package/build/components/inner-blocks/index.js +2 -2
  40. package/build/components/inner-blocks/index.js.map +1 -1
  41. package/build/components/letter-spacing-control/index.js +3 -3
  42. package/build/components/letter-spacing-control/index.js.map +1 -1
  43. package/build/components/link-control/search-item.js +11 -0
  44. package/build/components/link-control/search-item.js.map +1 -1
  45. package/build/components/link-control/search-results.js +2 -1
  46. package/build/components/link-control/search-results.js.map +1 -1
  47. package/build/components/link-control/use-search-handler.js +10 -5
  48. package/build/components/link-control/use-search-handler.js.map +1 -1
  49. package/build/components/resizable-box-popover/index.js +1 -1
  50. package/build/components/resizable-box-popover/index.js.map +1 -1
  51. package/build/components/rich-text/index.js +1 -1
  52. package/build/components/rich-text/index.js.map +1 -1
  53. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -3
  54. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  55. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
  56. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  57. package/build/components/unit-control/index.js +3 -3
  58. package/build/components/unit-control/index.js.map +1 -1
  59. package/build/components/use-block-commands/index.js +6 -1
  60. package/build/components/use-block-commands/index.js.map +1 -1
  61. package/build/components/use-settings/index.js +212 -0
  62. package/build/components/use-settings/index.js.map +1 -0
  63. package/build/hooks/align.js +51 -35
  64. package/build/hooks/align.js.map +1 -1
  65. package/build/hooks/anchor.js +37 -32
  66. package/build/hooks/anchor.js.map +1 -1
  67. package/build/hooks/background.js +4 -4
  68. package/build/hooks/background.js.map +1 -1
  69. package/build/hooks/color.js +2 -4
  70. package/build/hooks/color.js.map +1 -1
  71. package/build/hooks/duotone.js +10 -9
  72. package/build/hooks/duotone.js.map +1 -1
  73. package/build/hooks/font-size.js +4 -4
  74. package/build/hooks/font-size.js.map +1 -1
  75. package/build/hooks/layout.js +10 -11
  76. package/build/hooks/layout.js.map +1 -1
  77. package/build/hooks/line-height.js +3 -3
  78. package/build/hooks/line-height.js.map +1 -1
  79. package/build/hooks/position.js +2 -3
  80. package/build/hooks/position.js.map +1 -1
  81. package/build/hooks/use-color-props.js +3 -11
  82. package/build/hooks/use-color-props.js.map +1 -1
  83. package/build/hooks/utils.js +1 -42
  84. package/build/hooks/utils.js.map +1 -1
  85. package/build/layouts/constrained.js +3 -3
  86. package/build/layouts/constrained.js.map +1 -1
  87. package/build/utils/object.js +4 -1
  88. package/build/utils/object.js.map +1 -1
  89. package/build/utils/transform-styles/index.js +19 -24
  90. package/build/utils/transform-styles/index.js.map +1 -1
  91. package/build-module/components/block-alignment-control/use-available-alignments.js +30 -28
  92. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  93. package/build-module/components/block-list/block.native.js +4 -4
  94. package/build-module/components/block-list/block.native.js.map +1 -1
  95. package/build-module/components/block-list/layout.js +2 -2
  96. package/build-module/components/block-list/layout.js.map +1 -1
  97. package/build-module/components/border-radius-control/index.js +3 -2
  98. package/build-module/components/border-radius-control/index.js.map +1 -1
  99. package/build-module/components/color-palette/with-color-context.js +6 -5
  100. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  101. package/build-module/components/colors/with-colors.js +2 -7
  102. package/build-module/components/colors/with-colors.js.map +1 -1
  103. package/build-module/components/colors-gradients/control.js +6 -7
  104. package/build-module/components/colors-gradients/control.js.map +1 -1
  105. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -12
  106. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  107. package/build-module/components/font-family/index.js +2 -2
  108. package/build-module/components/font-family/index.js.map +1 -1
  109. package/build-module/components/font-sizes/font-size-picker.js +3 -4
  110. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  111. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  112. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  113. package/build-module/components/global-styles/filters-panel.js +7 -8
  114. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  115. package/build-module/components/global-styles/image-settings-panel.js +2 -2
  116. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  117. package/build-module/components/global-styles/typography-panel.js +1 -1
  118. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  119. package/build-module/components/gradients/use-gradient.js +2 -4
  120. package/build-module/components/gradients/use-gradient.js.map +1 -1
  121. package/build-module/components/height-control/index.js +3 -2
  122. package/build-module/components/height-control/index.js.map +1 -1
  123. package/build-module/components/index.js +1 -1
  124. package/build-module/components/index.js.map +1 -1
  125. package/build-module/components/index.native.js +1 -1
  126. package/build-module/components/index.native.js.map +1 -1
  127. package/build-module/components/inner-blocks/index.js +2 -2
  128. package/build-module/components/inner-blocks/index.js.map +1 -1
  129. package/build-module/components/letter-spacing-control/index.js +3 -2
  130. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  131. package/build-module/components/link-control/search-item.js +12 -1
  132. package/build-module/components/link-control/search-item.js.map +1 -1
  133. package/build-module/components/link-control/search-results.js +2 -1
  134. package/build-module/components/link-control/search-results.js.map +1 -1
  135. package/build-module/components/link-control/use-search-handler.js +10 -5
  136. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  137. package/build-module/components/resizable-box-popover/index.js +1 -1
  138. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  139. package/build-module/components/rich-text/index.js +1 -1
  140. package/build-module/components/rich-text/index.js.map +1 -1
  141. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -2
  142. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  143. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -2
  144. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  145. package/build-module/components/unit-control/index.js +3 -2
  146. package/build-module/components/unit-control/index.js.map +1 -1
  147. package/build-module/components/use-block-commands/index.js +5 -1
  148. package/build-module/components/use-block-commands/index.js.map +1 -1
  149. package/build-module/components/use-settings/index.js +203 -0
  150. package/build-module/components/use-settings/index.js.map +1 -0
  151. package/build-module/hooks/align.js +51 -35
  152. package/build-module/hooks/align.js.map +1 -1
  153. package/build-module/hooks/anchor.js +37 -32
  154. package/build-module/hooks/anchor.js.map +1 -1
  155. package/build-module/hooks/background.js +4 -4
  156. package/build-module/hooks/background.js.map +1 -1
  157. package/build-module/hooks/color.js +2 -4
  158. package/build-module/hooks/color.js.map +1 -1
  159. package/build-module/hooks/duotone.js +11 -10
  160. package/build-module/hooks/duotone.js.map +1 -1
  161. package/build-module/hooks/font-size.js +4 -4
  162. package/build-module/hooks/font-size.js.map +1 -1
  163. package/build-module/hooks/layout.js +10 -11
  164. package/build-module/hooks/layout.js.map +1 -1
  165. package/build-module/hooks/line-height.js +3 -3
  166. package/build-module/hooks/line-height.js.map +1 -1
  167. package/build-module/hooks/position.js +2 -3
  168. package/build-module/hooks/position.js.map +1 -1
  169. package/build-module/hooks/use-color-props.js +3 -11
  170. package/build-module/hooks/use-color-props.js.map +1 -1
  171. package/build-module/hooks/utils.js +2 -43
  172. package/build-module/hooks/utils.js.map +1 -1
  173. package/build-module/layouts/constrained.js +3 -2
  174. package/build-module/layouts/constrained.js.map +1 -1
  175. package/build-module/utils/object.js +3 -1
  176. package/build-module/utils/object.js.map +1 -1
  177. package/build-module/utils/transform-styles/index.js +20 -24
  178. package/build-module/utils/transform-styles/index.js.map +1 -1
  179. package/build-style/style-rtl.css +13 -6
  180. package/build-style/style.css +13 -6
  181. package/package.json +36 -34
  182. package/src/components/block-alignment-control/use-available-alignments.js +49 -34
  183. package/src/components/block-list/block.native.js +4 -4
  184. package/src/components/block-list/layout.js +2 -2
  185. package/src/components/block-styles/style.scss +1 -1
  186. package/src/components/border-radius-control/index.js +3 -2
  187. package/src/components/color-palette/with-color-context.js +9 -9
  188. package/src/components/colors/with-colors.js +6 -7
  189. package/src/components/colors-gradients/control.js +10 -7
  190. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +29 -15
  191. package/src/components/font-family/index.js +2 -2
  192. package/src/components/font-sizes/font-size-picker.js +6 -4
  193. package/src/components/font-sizes/with-font-sizes.js +3 -5
  194. package/src/components/global-styles/filters-panel.js +9 -15
  195. package/src/components/global-styles/image-settings-panel.js +2 -2
  196. package/src/components/global-styles/typography-panel.js +1 -1
  197. package/src/components/gradients/use-gradient.js +10 -4
  198. package/src/components/height-control/index.js +3 -2
  199. package/src/components/index.js +1 -1
  200. package/src/components/index.native.js +1 -1
  201. package/src/components/inner-blocks/index.js +2 -2
  202. package/src/components/inserter/style.scss +9 -1
  203. package/src/components/letter-spacing-control/index.js +3 -2
  204. package/src/components/link-control/search-item.js +14 -0
  205. package/src/components/link-control/search-results.js +1 -0
  206. package/src/components/link-control/use-search-handler.js +22 -15
  207. package/src/components/resizable-box-popover/index.js +1 -1
  208. package/src/components/rich-text/index.js +1 -1
  209. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +7 -5
  210. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -2
  211. package/src/components/unit-control/index.js +3 -8
  212. package/src/components/use-block-commands/index.js +2 -1
  213. package/src/components/{use-setting → use-settings}/README.md +9 -10
  214. package/src/components/use-settings/index.js +272 -0
  215. package/src/components/{use-setting → use-settings}/test/index.js +47 -5
  216. package/src/hooks/align.js +79 -54
  217. package/src/hooks/anchor.js +75 -65
  218. package/src/hooks/background.js +7 -9
  219. package/src/hooks/color.js +7 -4
  220. package/src/hooks/duotone.js +24 -19
  221. package/src/hooks/font-size.js +4 -4
  222. package/src/hooks/layout.js +11 -11
  223. package/src/hooks/line-height.js +3 -3
  224. package/src/hooks/position.js +5 -3
  225. package/src/hooks/use-color-props.js +21 -14
  226. package/src/hooks/utils.js +88 -43
  227. package/src/layouts/constrained.js +3 -8
  228. package/src/utils/object.js +4 -1
  229. package/src/utils/test/__snapshots__/transform-styles.js.snap +103 -0
  230. package/src/utils/test/transform-styles.js +217 -0
  231. package/src/utils/transform-styles/index.js +25 -25
  232. package/build/components/use-setting/index.js +0 -161
  233. package/build/components/use-setting/index.js.map +0 -1
  234. package/build/utils/transform-styles/ast/index.js +0 -21
  235. package/build/utils/transform-styles/ast/index.js.map +0 -1
  236. package/build/utils/transform-styles/ast/parse.js +0 -660
  237. package/build/utils/transform-styles/ast/parse.js.map +0 -1
  238. package/build/utils/transform-styles/ast/stringify/compiler.js +0 -52
  239. package/build/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
  240. package/build/utils/transform-styles/ast/stringify/compress.js +0 -178
  241. package/build/utils/transform-styles/ast/stringify/compress.js.map +0 -1
  242. package/build/utils/transform-styles/ast/stringify/identity.js +0 -207
  243. package/build/utils/transform-styles/ast/stringify/identity.js.map +0 -1
  244. package/build/utils/transform-styles/ast/stringify/index.js +0 -36
  245. package/build/utils/transform-styles/ast/stringify/index.js.map +0 -1
  246. package/build/utils/transform-styles/transforms/url-rewrite.js +0 -130
  247. package/build/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
  248. package/build/utils/transform-styles/transforms/wrap.js +0 -59
  249. package/build/utils/transform-styles/transforms/wrap.js.map +0 -1
  250. package/build/utils/transform-styles/traverse.js +0 -37
  251. package/build/utils/transform-styles/traverse.js.map +0 -1
  252. package/build-module/components/use-setting/index.js +0 -154
  253. package/build-module/components/use-setting/index.js.map +0 -1
  254. package/build-module/utils/transform-styles/ast/index.js +0 -6
  255. package/build-module/utils/transform-styles/ast/index.js.map +0 -1
  256. package/build-module/utils/transform-styles/ast/parse.js +0 -654
  257. package/build-module/utils/transform-styles/ast/parse.js.map +0 -1
  258. package/build-module/utils/transform-styles/ast/stringify/compiler.js +0 -49
  259. package/build-module/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
  260. package/build-module/utils/transform-styles/ast/stringify/compress.js +0 -176
  261. package/build-module/utils/transform-styles/ast/stringify/compress.js.map +0 -1
  262. package/build-module/utils/transform-styles/ast/stringify/identity.js +0 -206
  263. package/build-module/utils/transform-styles/ast/stringify/identity.js.map +0 -1
  264. package/build-module/utils/transform-styles/ast/stringify/index.js +0 -29
  265. package/build-module/utils/transform-styles/ast/stringify/index.js.map +0 -1
  266. package/build-module/utils/transform-styles/transforms/url-rewrite.js +0 -123
  267. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
  268. package/build-module/utils/transform-styles/transforms/wrap.js +0 -52
  269. package/build-module/utils/transform-styles/transforms/wrap.js.map +0 -1
  270. package/build-module/utils/transform-styles/traverse.js +0 -28
  271. package/build-module/utils/transform-styles/traverse.js.map +0 -1
  272. package/src/components/use-setting/index.js +0 -218
  273. package/src/utils/transform-styles/ast/index.js +0 -5
  274. package/src/utils/transform-styles/ast/parse.js +0 -732
  275. package/src/utils/transform-styles/ast/stringify/compiler.js +0 -50
  276. package/src/utils/transform-styles/ast/stringify/compress.js +0 -238
  277. package/src/utils/transform-styles/ast/stringify/identity.js +0 -286
  278. package/src/utils/transform-styles/ast/stringify/index.js +0 -32
  279. package/src/utils/transform-styles/test/__snapshots__/traverse.js.snap +0 -7
  280. package/src/utils/transform-styles/test/traverse.js +0 -24
  281. package/src/utils/transform-styles/transforms/test/__snapshots__/url-rewrite.js.snap +0 -25
  282. package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +0 -64
  283. package/src/utils/transform-styles/transforms/test/url-rewrite.js +0 -39
  284. package/src/utils/transform-styles/transforms/test/wrap.js +0 -95
  285. package/src/utils/transform-styles/transforms/url-rewrite.js +0 -139
  286. package/src/utils/transform-styles/transforms/wrap.js +0 -56
  287. package/src/utils/transform-styles/traverse.js +0 -32
@@ -1 +1 @@
1
- {"version":3,"names":["BlockAlignmentControl","BlockAlignmentToolbar","BlockContextProvider","default","BlockControls","BlockFormatControls","BlockEdit","useBlockEditContext","BlockIcon","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","AlignmentControl","AlignmentToolbar","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","LineHeightControl","HeadingLevelDropdown","PlainText","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","MediaUploadProgress","MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","BlockMediaUpdateProgress","URLInput","BlockInvalidWarning","BlockCaption","Caption","PanelColorSettings","__experimentalPanelColorGradientSettings","useSetting","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","Warning","ContrastChecker","useMultipleOriginColorsAndGradients","UnsupportedBlockDetails","BottomSheetSettings","BlockSettingsButton","blockSettingsScreens","VideoPlayer","VIDEO_ASPECT_RATIO","getSpacingPresetCssVar","getCustomValueFromPreset","isValueSpacingPreset","BlockList","BlockMover","BlockToolbar","BlockVariationPicker","BlockStyles","DefaultBlockAppender","__unstableEditorStyles","Inserter","useBlockProps","FloatingToolbar","BlockEditorProvider"],"sources":["@wordpress/block-editor/src/components/index.native.js"],"sourcesContent":["// Block Creation Components.\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload/constants';\nexport {\n\tdefault as MediaUploadProgress,\n\tMEDIA_UPLOAD_STATE_UPLOADING,\n\tMEDIA_UPLOAD_STATE_SUCCEEDED,\n\tMEDIA_UPLOAD_STATE_FAILED,\n\tMEDIA_UPLOAD_STATE_RESET,\n} from './media-upload-progress';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as useSetting } from './use-setting';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as UnsupportedBlockDetails } from './unsupported-block-details';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\nexport {\n\tgetSpacingPresetCssVar,\n\tgetCustomValueFromPreset,\n\tisValueSpacingPreset,\n} from './spacing-sizes-control/utils';\n// Content Related Components.\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components.\nexport { default as BlockEditorProvider } from './provider';\n"],"mappings":"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"}
1
+ {"version":3,"names":["BlockAlignmentControl","BlockAlignmentToolbar","BlockContextProvider","default","BlockControls","BlockFormatControls","BlockEdit","useBlockEditContext","BlockIcon","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","AlignmentControl","AlignmentToolbar","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","LineHeightControl","HeadingLevelDropdown","PlainText","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","MediaUploadProgress","MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","BlockMediaUpdateProgress","URLInput","BlockInvalidWarning","BlockCaption","Caption","PanelColorSettings","__experimentalPanelColorGradientSettings","useSettings","useSetting","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","Warning","ContrastChecker","useMultipleOriginColorsAndGradients","UnsupportedBlockDetails","BottomSheetSettings","BlockSettingsButton","blockSettingsScreens","VideoPlayer","VIDEO_ASPECT_RATIO","getSpacingPresetCssVar","getCustomValueFromPreset","isValueSpacingPreset","BlockList","BlockMover","BlockToolbar","BlockVariationPicker","BlockStyles","DefaultBlockAppender","__unstableEditorStyles","Inserter","useBlockProps","FloatingToolbar","BlockEditorProvider"],"sources":["@wordpress/block-editor/src/components/index.native.js"],"sourcesContent":["// Block Creation Components.\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload/constants';\nexport {\n\tdefault as MediaUploadProgress,\n\tMEDIA_UPLOAD_STATE_UPLOADING,\n\tMEDIA_UPLOAD_STATE_SUCCEEDED,\n\tMEDIA_UPLOAD_STATE_FAILED,\n\tMEDIA_UPLOAD_STATE_RESET,\n} from './media-upload-progress';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { useSettings, default as useSetting } from './use-settings';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as UnsupportedBlockDetails } from './unsupported-block-details';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\nexport {\n\tgetSpacingPresetCssVar,\n\tgetCustomValueFromPreset,\n\tisValueSpacingPreset,\n} from './spacing-sizes-control/utils';\n// Content Related Components.\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components.\nexport { default as BlockEditorProvider } from './provider';\n"],"mappings":"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"}
@@ -26,7 +26,7 @@ import { useBlockEditContext } from '../block-edit/context';
26
26
  import useBlockSync from '../provider/use-block-sync';
27
27
  import { store as blockEditorStore } from '../../store';
28
28
  import useBlockDropZone from '../use-block-drop-zone';
29
- import useSetting from '../use-setting';
29
+ import { useSettings } from '../use-settings';
30
30
  const EMPTY_OBJECT = {};
31
31
 
32
32
  /**
@@ -67,7 +67,7 @@ function UncontrolledInnerBlocks(props) {
67
67
  const {
68
68
  allowSizingOnChildren = false
69
69
  } = defaultLayoutBlockSupport;
70
- const defaultLayout = useSetting('layout') || EMPTY_OBJECT;
70
+ const [defaultLayout] = useSettings('layout');
71
71
  const usedLayout = layout || defaultLayoutBlockSupport;
72
72
  const memoedLayout = useMemo(() => ({
73
73
  // Default layout will know about any content/wide size defined by the theme.
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useViewportMatch","useMergeRefs","forwardRef","useMemo","useSelect","getBlockSupport","store","blocksStore","__unstableGetInnerBlocksProps","getInnerBlocksProps","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockListItems","BlockContextProvider","useBlockEditContext","useBlockSync","blockEditorStore","useBlockDropZone","useSetting","EMPTY_OBJECT","UncontrolledInnerBlocks","props","clientId","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","context","name","select","getBlock","defaultLayoutBlockSupport","allowSizingOnChildren","defaultLayout","usedLayout","memoedLayout","createElement","value","rootClientId","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","__unstableLayoutClassNames","layoutClassNames","isSmallScreen","hasOverlay","getBlockName","isBlockSelected","hasSelectedInnerBlock","__unstableGetEditorMode","blockName","enableClickThrough","hasBlockSupport","blockDropZoneRef","InnerBlocks","onChange","children","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch, useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport useSetting from '../use-setting';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst context = useBlockContext( clientId );\n\tconst name = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.name;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\n\tconst defaultLayout = useSetting( 'layout' ) || EMPTY_OBJECT;\n\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t<BlockListItems\n\t\t\t\trootClientId={ clientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\t\tlayout={ memoedLayout }\n\t\t\t\twrapperRef={ wrapperRef }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t/>\n\t\t</BlockContextProvider>\n\t);\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst { __unstableDisableLayoutClassNames, __unstableDisableDropZone } =\n\t\toptions;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst isSmallScreen = useViewportMatch( 'medium', '<' );\n\tconst { __experimentalCaptureToolbars, hasOverlay } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst enableClickThrough =\n\t\t\t\t__unstableGetEditorMode() === 'navigation' || isSmallScreen;\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: select(\n\t\t\t\t\tblocksStore\n\t\t\t\t).hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasOverlay:\n\t\t\t\t\tblockName !== 'core/template' &&\n\t\t\t\t\t! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) &&\n\t\t\t\t\tenableClickThrough,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSmallScreen ]\n\t);\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\trootClientId: clientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ? null : blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames,\n\t\t\t{\n\t\t\t\t'has-overlay': hasOverlay,\n\t\t\t}\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useViewportMatch","useMergeRefs","forwardRef","useMemo","useSelect","getBlockSupport","store","blocksStore","__unstableGetInnerBlocksProps","getInnerBlocksProps","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockListItems","BlockContextProvider","useBlockEditContext","useBlockSync","blockEditorStore","useBlockDropZone","useSettings","EMPTY_OBJECT","UncontrolledInnerBlocks","props","clientId","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","context","name","select","getBlock","defaultLayoutBlockSupport","allowSizingOnChildren","defaultLayout","usedLayout","memoedLayout","createElement","value","rootClientId","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","__unstableLayoutClassNames","layoutClassNames","isSmallScreen","hasOverlay","getBlockName","isBlockSelected","hasSelectedInnerBlock","__unstableGetEditorMode","blockName","enableClickThrough","hasBlockSupport","blockDropZoneRef","InnerBlocks","onChange","children","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch, useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport { useSettings } from '../use-settings';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst context = useBlockContext( clientId );\n\tconst name = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.name;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\n\tconst [ defaultLayout ] = useSettings( 'layout' );\n\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t<BlockListItems\n\t\t\t\trootClientId={ clientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\t\tlayout={ memoedLayout }\n\t\t\t\twrapperRef={ wrapperRef }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t/>\n\t\t</BlockContextProvider>\n\t);\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst { __unstableDisableLayoutClassNames, __unstableDisableDropZone } =\n\t\toptions;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst isSmallScreen = useViewportMatch( 'medium', '<' );\n\tconst { __experimentalCaptureToolbars, hasOverlay } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst enableClickThrough =\n\t\t\t\t__unstableGetEditorMode() === 'navigation' || isSmallScreen;\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: select(\n\t\t\t\t\tblocksStore\n\t\t\t\t).hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasOverlay:\n\t\t\t\t\tblockName !== 'core/template' &&\n\t\t\t\t\t! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) &&\n\t\t\t\t\tenableClickThrough,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSmallScreen ]\n\t);\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\trootClientId: clientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ? null : blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames,\n\t\t\t{\n\t\t\t\t'has-overlay': hasOverlay,\n\t\t\t}\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { __ } from '@wordpress/i18n';
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
- import useSetting from '../../components/use-setting';
11
+ import { useSettings } from '../../components/use-settings';
12
12
 
13
13
  /**
14
14
  * Control for letter-spacing.
@@ -26,8 +26,9 @@ export default function LetterSpacingControl({
26
26
  __unstableInputWidth = '60px',
27
27
  ...otherProps
28
28
  }) {
29
+ const [availableUnits] = useSettings('spacing.units');
29
30
  const units = useCustomUnits({
30
- availableUnits: useSetting('spacing.units') || ['px', 'em', 'rem'],
31
+ availableUnits: availableUnits || ['px', 'em', 'rem'],
31
32
  defaultValues: {
32
33
  px: 2,
33
34
  em: 0.2,
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__","useSetting","LetterSpacingControl","value","onChange","__unstableInputWidth","otherProps","units","availableUnits","defaultValues","px","em","rem","createElement","label"],"sources":["@wordpress/block-editor/src/components/letter-spacing-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../../components/use-setting';\n\n/**\n * Control for letter-spacing.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected letter-spacing.\n * @param {Function} props.onChange Handles change in letter-spacing selection.\n * @param {string|number|undefined} props.__unstableInputWidth Input width to pass through to inner UnitControl. Should be a valid CSS value.\n *\n * @return {Element} Letter-spacing control.\n */\nexport default function LetterSpacingControl( {\n\tvalue,\n\tonChange,\n\t__unstableInputWidth = '60px',\n\t...otherProps\n} ) {\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],\n\t\tdefaultValues: { px: 2, em: 0.2, rem: 0.2 },\n\t} );\n\treturn (\n\t\t<UnitControl\n\t\t\t{ ...otherProps }\n\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\tvalue={ value }\n\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\tunits={ units }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,yBAAyB,IAAIC,WAAW,EACxCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,UAAU,MAAM,8BAA8B;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,KAAK;EACLC,QAAQ;EACRC,oBAAoB,GAAG,MAAM;EAC7B,GAAGC;AACJ,CAAC,EAAG;EACH,MAAMC,KAAK,GAAGR,cAAc,CAAE;IAC7BS,cAAc,EAAEP,UAAU,CAAE,eAAgB,CAAC,IAAI,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAE;IACtEQ,aAAa,EAAE;MAAEC,EAAE,EAAE,CAAC;MAAEC,EAAE,EAAE,GAAG;MAAEC,GAAG,EAAE;IAAI;EAC3C,CAAE,CAAC;EACH,OACCC,aAAA,CAAChB,WAAW;IAAA,GACNS,UAAU;IACfQ,KAAK,EAAGd,EAAE,CAAE,gBAAiB,CAAG;IAChCG,KAAK,EAAGA,KAAO;IACfE,oBAAoB,EAAGA,oBAAsB;IAC7CE,KAAK,EAAGA,KAAO;IACfH,QAAQ,EAAGA;EAAU,CACrB,CAAC;AAEJ"}
1
+ {"version":3,"names":["__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__","useSettings","LetterSpacingControl","value","onChange","__unstableInputWidth","otherProps","availableUnits","units","defaultValues","px","em","rem","createElement","label"],"sources":["@wordpress/block-editor/src/components/letter-spacing-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../components/use-settings';\n\n/**\n * Control for letter-spacing.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected letter-spacing.\n * @param {Function} props.onChange Handles change in letter-spacing selection.\n * @param {string|number|undefined} props.__unstableInputWidth Input width to pass through to inner UnitControl. Should be a valid CSS value.\n *\n * @return {Element} Letter-spacing control.\n */\nexport default function LetterSpacingControl( {\n\tvalue,\n\tonChange,\n\t__unstableInputWidth = '60px',\n\t...otherProps\n} ) {\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem' ],\n\t\tdefaultValues: { px: 2, em: 0.2, rem: 0.2 },\n\t} );\n\treturn (\n\t\t<UnitControl\n\t\t\t{ ...otherProps }\n\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\tvalue={ value }\n\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\tunits={ units }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,yBAAyB,IAAIC,WAAW,EACxCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,WAAW,QAAQ,+BAA+B;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,KAAK;EACLC,QAAQ;EACRC,oBAAoB,GAAG,MAAM;EAC7B,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM,CAAEC,cAAc,CAAE,GAAGN,WAAW,CAAE,eAAgB,CAAC;EACzD,MAAMO,KAAK,GAAGT,cAAc,CAAE;IAC7BQ,cAAc,EAAEA,cAAc,IAAI,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAE;IACvDE,aAAa,EAAE;MAAEC,EAAE,EAAE,CAAC;MAAEC,EAAE,EAAE,GAAG;MAAEC,GAAG,EAAE;IAAI;EAC3C,CAAE,CAAC;EACH,OACCC,aAAA,CAAChB,WAAW;IAAA,GACNS,UAAU;IACfQ,KAAK,EAAGd,EAAE,CAAE,gBAAiB,CAAG;IAChCG,KAAK,EAAGA,KAAO;IACfE,oBAAoB,EAAGA,oBAAsB;IAC7CG,KAAK,EAAGA,KAAO;IACfJ,QAAQ,EAAGA;EAAU,CACrB,CAAC;AAEJ"}
@@ -4,7 +4,7 @@ import { createElement } from "react";
4
4
  */
5
5
  import { __ } from '@wordpress/i18n';
6
6
  import { MenuItem, TextHighlight } from '@wordpress/components';
7
- import { Icon, globe, page, tag, postList, category, file } from '@wordpress/icons';
7
+ import { Icon, globe, page, tag, postList, category, file, home, verse } from '@wordpress/icons';
8
8
  import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
9
9
  import { safeDecodeURI, filterURLForDisplay, getPath } from '@wordpress/url';
10
10
  import { pipe } from '@wordpress/compose';
@@ -24,6 +24,14 @@ function SearchItemIcon({
24
24
  icon = globe;
25
25
  } else if (suggestion.type in ICONS_MAP) {
26
26
  icon = ICONS_MAP[suggestion.type];
27
+ if (suggestion.type === 'page') {
28
+ if (suggestion.isFrontPage) {
29
+ icon = home;
30
+ }
31
+ if (suggestion.isBlogHome) {
32
+ icon = verse;
33
+ }
34
+ }
27
35
  }
28
36
  if (icon) {
29
37
  return createElement(Icon, {
@@ -98,6 +106,9 @@ function getVisualTypeName(suggestion) {
98
106
  if (suggestion.isFrontPage) {
99
107
  return 'front page';
100
108
  }
109
+ if (suggestion.isBlogHome) {
110
+ return 'blog home';
111
+ }
101
112
 
102
113
  // Rename 'post_tag' to 'tag'. Ideally, the API would return the localised CPT or taxonomy label.
103
114
  return suggestion.type === 'post_tag' ? 'tag' : suggestion.type;
@@ -1 +1 @@
1
- {"version":3,"names":["__","MenuItem","TextHighlight","Icon","globe","page","tag","postList","category","file","__unstableStripHTML","stripHTML","safeDecodeURI","filterURLForDisplay","getPath","pipe","ICONS_MAP","post","post_tag","attachment","SearchItemIcon","isURL","suggestion","icon","type","createElement","className","addLeadingSlash","url","trimmedURL","trim","length","replace","removeTrailingSlash","partialRight","fn","partialArgs","args","defaultTo","d","v","undefined","getURLForDisplay","LinkControlSearchItem","itemProps","searchTerm","onClick","shouldShowType","info","iconPosition","shortcut","getVisualTypeName","text","title","highlight","isFrontPage"],"sources":["@wordpress/block-editor/src/components/link-control/search-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem, TextHighlight } from '@wordpress/components';\nimport {\n\tIcon,\n\tglobe,\n\tpage,\n\ttag,\n\tpostList,\n\tcategory,\n\tfile,\n} from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { safeDecodeURI, filterURLForDisplay, getPath } from '@wordpress/url';\nimport { pipe } from '@wordpress/compose';\n\nconst ICONS_MAP = {\n\tpost: postList,\n\tpage,\n\tpost_tag: tag,\n\tcategory,\n\tattachment: file,\n};\n\nfunction SearchItemIcon( { isURL, suggestion } ) {\n\tlet icon = null;\n\n\tif ( isURL ) {\n\t\ticon = globe;\n\t} else if ( suggestion.type in ICONS_MAP ) {\n\t\ticon = ICONS_MAP[ suggestion.type ];\n\t}\n\n\tif ( icon ) {\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tclassName=\"block-editor-link-control__search-item-icon\"\n\t\t\t\ticon={ icon }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Adds a leading slash to a url if it doesn't already have one.\n * @param {string} url the url to add a leading slash to.\n * @return {string} the url with a leading slash.\n */\nfunction addLeadingSlash( url ) {\n\tconst trimmedURL = url?.trim();\n\n\tif ( ! trimmedURL?.length ) return url;\n\n\treturn url?.replace( /^\\/?/, '/' );\n}\n\nfunction removeTrailingSlash( url ) {\n\tconst trimmedURL = url?.trim();\n\n\tif ( ! trimmedURL?.length ) return url;\n\n\treturn url?.replace( /\\/$/, '' );\n}\n\nconst partialRight =\n\t( fn, ...partialArgs ) =>\n\t( ...args ) =>\n\t\tfn( ...args, ...partialArgs );\n\nconst defaultTo = ( d ) => ( v ) => {\n\treturn v === null || v === undefined || v !== v ? d : v;\n};\n\n/**\n * Prepares a URL for display in the UI.\n * - decodes the URL.\n * - filters it (removes protocol, www, etc.).\n * - truncates it if necessary.\n * - adds a leading slash.\n * @param {string} url the url.\n * @return {string} the processed url to display.\n */\nfunction getURLForDisplay( url ) {\n\tif ( ! url ) return url;\n\n\treturn pipe(\n\t\tsafeDecodeURI,\n\t\tgetPath,\n\t\tdefaultTo( '' ),\n\t\tpartialRight( filterURLForDisplay, 24 ),\n\t\tremoveTrailingSlash,\n\t\taddLeadingSlash\n\t)( url );\n}\n\nexport const LinkControlSearchItem = ( {\n\titemProps,\n\tsuggestion,\n\tsearchTerm,\n\tonClick,\n\tisURL = false,\n\tshouldShowType = false,\n} ) => {\n\tconst info = isURL\n\t\t? __( 'Press ENTER to add this link' )\n\t\t: getURLForDisplay( suggestion.url );\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...itemProps }\n\t\t\tinfo={ info }\n\t\t\ticonPosition=\"left\"\n\t\t\ticon={\n\t\t\t\t<SearchItemIcon suggestion={ suggestion } isURL={ isURL } />\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t\tshortcut={ shouldShowType && getVisualTypeName( suggestion ) }\n\t\t\tclassName=\"block-editor-link-control__search-item\"\n\t\t>\n\t\t\t<TextHighlight\n\t\t\t\t// The component expects a plain text string.\n\t\t\t\ttext={ stripHTML( suggestion.title ) }\n\t\t\t\thighlight={ searchTerm }\n\t\t\t/>\n\t\t</MenuItem>\n\t);\n};\n\nfunction getVisualTypeName( suggestion ) {\n\tif ( suggestion.isFrontPage ) {\n\t\treturn 'front page';\n\t}\n\n\t// Rename 'post_tag' to 'tag'. Ideally, the API would return the localised CPT or taxonomy label.\n\treturn suggestion.type === 'post_tag' ? 'tag' : suggestion.type;\n}\n\nexport default LinkControlSearchItem;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","MenuItem","TextHighlight","Icon","globe","page","tag","postList","category","file","home","verse","__unstableStripHTML","stripHTML","safeDecodeURI","filterURLForDisplay","getPath","pipe","ICONS_MAP","post","post_tag","attachment","SearchItemIcon","isURL","suggestion","icon","type","isFrontPage","isBlogHome","createElement","className","addLeadingSlash","url","trimmedURL","trim","length","replace","removeTrailingSlash","partialRight","fn","partialArgs","args","defaultTo","d","v","undefined","getURLForDisplay","LinkControlSearchItem","itemProps","searchTerm","onClick","shouldShowType","info","iconPosition","shortcut","getVisualTypeName","text","title","highlight"],"sources":["@wordpress/block-editor/src/components/link-control/search-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem, TextHighlight } from '@wordpress/components';\nimport {\n\tIcon,\n\tglobe,\n\tpage,\n\ttag,\n\tpostList,\n\tcategory,\n\tfile,\n\thome,\n\tverse,\n} from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { safeDecodeURI, filterURLForDisplay, getPath } from '@wordpress/url';\nimport { pipe } from '@wordpress/compose';\n\nconst ICONS_MAP = {\n\tpost: postList,\n\tpage,\n\tpost_tag: tag,\n\tcategory,\n\tattachment: file,\n};\n\nfunction SearchItemIcon( { isURL, suggestion } ) {\n\tlet icon = null;\n\n\tif ( isURL ) {\n\t\ticon = globe;\n\t} else if ( suggestion.type in ICONS_MAP ) {\n\t\ticon = ICONS_MAP[ suggestion.type ];\n\t\tif ( suggestion.type === 'page' ) {\n\t\t\tif ( suggestion.isFrontPage ) {\n\t\t\t\ticon = home;\n\t\t\t}\n\t\t\tif ( suggestion.isBlogHome ) {\n\t\t\t\ticon = verse;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( icon ) {\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tclassName=\"block-editor-link-control__search-item-icon\"\n\t\t\t\ticon={ icon }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Adds a leading slash to a url if it doesn't already have one.\n * @param {string} url the url to add a leading slash to.\n * @return {string} the url with a leading slash.\n */\nfunction addLeadingSlash( url ) {\n\tconst trimmedURL = url?.trim();\n\n\tif ( ! trimmedURL?.length ) return url;\n\n\treturn url?.replace( /^\\/?/, '/' );\n}\n\nfunction removeTrailingSlash( url ) {\n\tconst trimmedURL = url?.trim();\n\n\tif ( ! trimmedURL?.length ) return url;\n\n\treturn url?.replace( /\\/$/, '' );\n}\n\nconst partialRight =\n\t( fn, ...partialArgs ) =>\n\t( ...args ) =>\n\t\tfn( ...args, ...partialArgs );\n\nconst defaultTo = ( d ) => ( v ) => {\n\treturn v === null || v === undefined || v !== v ? d : v;\n};\n\n/**\n * Prepares a URL for display in the UI.\n * - decodes the URL.\n * - filters it (removes protocol, www, etc.).\n * - truncates it if necessary.\n * - adds a leading slash.\n * @param {string} url the url.\n * @return {string} the processed url to display.\n */\nfunction getURLForDisplay( url ) {\n\tif ( ! url ) return url;\n\n\treturn pipe(\n\t\tsafeDecodeURI,\n\t\tgetPath,\n\t\tdefaultTo( '' ),\n\t\tpartialRight( filterURLForDisplay, 24 ),\n\t\tremoveTrailingSlash,\n\t\taddLeadingSlash\n\t)( url );\n}\n\nexport const LinkControlSearchItem = ( {\n\titemProps,\n\tsuggestion,\n\tsearchTerm,\n\tonClick,\n\tisURL = false,\n\tshouldShowType = false,\n} ) => {\n\tconst info = isURL\n\t\t? __( 'Press ENTER to add this link' )\n\t\t: getURLForDisplay( suggestion.url );\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...itemProps }\n\t\t\tinfo={ info }\n\t\t\ticonPosition=\"left\"\n\t\t\ticon={\n\t\t\t\t<SearchItemIcon suggestion={ suggestion } isURL={ isURL } />\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t\tshortcut={ shouldShowType && getVisualTypeName( suggestion ) }\n\t\t\tclassName=\"block-editor-link-control__search-item\"\n\t\t>\n\t\t\t<TextHighlight\n\t\t\t\t// The component expects a plain text string.\n\t\t\t\ttext={ stripHTML( suggestion.title ) }\n\t\t\t\thighlight={ searchTerm }\n\t\t\t/>\n\t\t</MenuItem>\n\t);\n};\n\nfunction getVisualTypeName( suggestion ) {\n\tif ( suggestion.isFrontPage ) {\n\t\treturn 'front page';\n\t}\n\n\tif ( suggestion.isBlogHome ) {\n\t\treturn 'blog home';\n\t}\n\n\t// Rename 'post_tag' to 'tag'. Ideally, the API would return the localised CPT or taxonomy label.\n\treturn suggestion.type === 'post_tag' ? 'tag' : suggestion.type;\n}\n\nexport default LinkControlSearchItem;\n"],"mappings":"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"}
@@ -86,7 +86,8 @@ export default function LinkControlSearchResults({
86
86
  isURL: LINK_ENTRY_TYPES.includes(suggestion.type),
87
87
  searchTerm: currentInputValue,
88
88
  shouldShowType: shouldShowSuggestionsTypes,
89
- isFrontPage: suggestion?.isFrontPage
89
+ isFrontPage: suggestion?.isFrontPage,
90
+ isBlogHome: suggestion?.isBlogHome
90
91
  });
91
92
  }))));
92
93
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","VisuallyHidden","MenuGroup","classnames","LinkControlSearchCreate","LinkControlSearchItem","CREATE_TYPE","LINK_ENTRY_TYPES","LinkControlSearchResults","instanceId","withCreateSuggestion","currentInputValue","handleSuggestionClick","suggestionsListProps","buildSuggestionItemProps","suggestions","selectedSuggestion","isLoading","isInitialSuggestions","createSuggestionButtonText","suggestionsQuery","resultsListClasses","isSingleDirectEntryResult","length","includes","type","shouldShowCreateSuggestion","shouldShowSuggestionsTypes","searchResultsLabelId","labelText","searchResultsLabel","createElement","id","className","map","suggestion","index","searchTerm","buttonText","onClick","key","itemProps","isSelected","isURL","shouldShowType","isFrontPage"],"sources":["@wordpress/block-editor/src/components/link-control/search-results.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden, MenuGroup } from '@wordpress/components';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSearchCreate from './search-create-button';\nimport LinkControlSearchItem from './search-item';\nimport { CREATE_TYPE, LINK_ENTRY_TYPES } from './constants';\n\nexport default function LinkControlSearchResults( {\n\tinstanceId,\n\twithCreateSuggestion,\n\tcurrentInputValue,\n\thandleSuggestionClick,\n\tsuggestionsListProps,\n\tbuildSuggestionItemProps,\n\tsuggestions,\n\tselectedSuggestion,\n\tisLoading,\n\tisInitialSuggestions,\n\tcreateSuggestionButtonText,\n\tsuggestionsQuery,\n} ) {\n\tconst resultsListClasses = classnames(\n\t\t'block-editor-link-control__search-results',\n\t\t{\n\t\t\t'is-loading': isLoading,\n\t\t}\n\t);\n\n\tconst isSingleDirectEntryResult =\n\t\tsuggestions.length === 1 &&\n\t\tLINK_ENTRY_TYPES.includes( suggestions[ 0 ].type );\n\tconst shouldShowCreateSuggestion =\n\t\twithCreateSuggestion &&\n\t\t! isSingleDirectEntryResult &&\n\t\t! isInitialSuggestions;\n\t// If the query has a specified type, then we can skip showing them in the result. See #24839.\n\tconst shouldShowSuggestionsTypes = ! suggestionsQuery?.type;\n\n\t// According to guidelines aria-label should be added if the label\n\t// itself is not visible.\n\t// See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role\n\tconst searchResultsLabelId = `block-editor-link-control-search-results-label-${ instanceId }`;\n\tconst labelText = isInitialSuggestions\n\t\t? __( 'Suggestions' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Search results for \"%s\"' ),\n\t\t\t\tcurrentInputValue\n\t\t );\n\tconst searchResultsLabel = (\n\t\t<VisuallyHidden id={ searchResultsLabelId }>\n\t\t\t{ labelText }\n\t\t</VisuallyHidden>\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-link-control__search-results-wrapper\">\n\t\t\t{ searchResultsLabel }\n\t\t\t<div\n\t\t\t\t{ ...suggestionsListProps }\n\t\t\t\tclassName={ resultsListClasses }\n\t\t\t\taria-labelledby={ searchResultsLabelId }\n\t\t\t>\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ suggestions.map( ( suggestion, index ) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tshouldShowCreateSuggestion &&\n\t\t\t\t\t\t\tCREATE_TYPE === suggestion.type\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<LinkControlSearchCreate\n\t\t\t\t\t\t\t\t\tsearchTerm={ currentInputValue }\n\t\t\t\t\t\t\t\t\tbuttonText={ createSuggestionButtonText }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\thandleSuggestionClick( suggestion )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// Intentionally only using `type` here as\n\t\t\t\t\t\t\t\t\t// the constant is enough to uniquely\n\t\t\t\t\t\t\t\t\t// identify the single \"CREATE\" suggestion.\n\t\t\t\t\t\t\t\t\tkey={ suggestion.type }\n\t\t\t\t\t\t\t\t\titemProps={ buildSuggestionItemProps(\n\t\t\t\t\t\t\t\t\t\tsuggestion,\n\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tisSelected={ index === selectedSuggestion }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If we're not handling \"Create\" suggestions above then\n\t\t\t\t\t\t// we don't want them in the main results so exit early.\n\t\t\t\t\t\tif ( CREATE_TYPE === suggestion.type ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<LinkControlSearchItem\n\t\t\t\t\t\t\t\tkey={ `${ suggestion.id }-${ suggestion.type }` }\n\t\t\t\t\t\t\t\titemProps={ buildSuggestionItemProps(\n\t\t\t\t\t\t\t\t\tsuggestion,\n\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\thandleSuggestionClick( suggestion );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tisSelected={ index === selectedSuggestion }\n\t\t\t\t\t\t\t\tisURL={ LINK_ENTRY_TYPES.includes(\n\t\t\t\t\t\t\t\t\tsuggestion.type\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tsearchTerm={ currentInputValue }\n\t\t\t\t\t\t\t\tshouldShowType={ shouldShowSuggestionsTypes }\n\t\t\t\t\t\t\t\tisFrontPage={ suggestion?.isFrontPage }\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</MenuGroup>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","sprintf","VisuallyHidden","MenuGroup","classnames","LinkControlSearchCreate","LinkControlSearchItem","CREATE_TYPE","LINK_ENTRY_TYPES","LinkControlSearchResults","instanceId","withCreateSuggestion","currentInputValue","handleSuggestionClick","suggestionsListProps","buildSuggestionItemProps","suggestions","selectedSuggestion","isLoading","isInitialSuggestions","createSuggestionButtonText","suggestionsQuery","resultsListClasses","isSingleDirectEntryResult","length","includes","type","shouldShowCreateSuggestion","shouldShowSuggestionsTypes","searchResultsLabelId","labelText","searchResultsLabel","createElement","id","className","map","suggestion","index","searchTerm","buttonText","onClick","key","itemProps","isSelected","isURL","shouldShowType","isFrontPage","isBlogHome"],"sources":["@wordpress/block-editor/src/components/link-control/search-results.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden, MenuGroup } from '@wordpress/components';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSearchCreate from './search-create-button';\nimport LinkControlSearchItem from './search-item';\nimport { CREATE_TYPE, LINK_ENTRY_TYPES } from './constants';\n\nexport default function LinkControlSearchResults( {\n\tinstanceId,\n\twithCreateSuggestion,\n\tcurrentInputValue,\n\thandleSuggestionClick,\n\tsuggestionsListProps,\n\tbuildSuggestionItemProps,\n\tsuggestions,\n\tselectedSuggestion,\n\tisLoading,\n\tisInitialSuggestions,\n\tcreateSuggestionButtonText,\n\tsuggestionsQuery,\n} ) {\n\tconst resultsListClasses = classnames(\n\t\t'block-editor-link-control__search-results',\n\t\t{\n\t\t\t'is-loading': isLoading,\n\t\t}\n\t);\n\n\tconst isSingleDirectEntryResult =\n\t\tsuggestions.length === 1 &&\n\t\tLINK_ENTRY_TYPES.includes( suggestions[ 0 ].type );\n\tconst shouldShowCreateSuggestion =\n\t\twithCreateSuggestion &&\n\t\t! isSingleDirectEntryResult &&\n\t\t! isInitialSuggestions;\n\t// If the query has a specified type, then we can skip showing them in the result. See #24839.\n\tconst shouldShowSuggestionsTypes = ! suggestionsQuery?.type;\n\n\t// According to guidelines aria-label should be added if the label\n\t// itself is not visible.\n\t// See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role\n\tconst searchResultsLabelId = `block-editor-link-control-search-results-label-${ instanceId }`;\n\tconst labelText = isInitialSuggestions\n\t\t? __( 'Suggestions' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Search results for \"%s\"' ),\n\t\t\t\tcurrentInputValue\n\t\t );\n\tconst searchResultsLabel = (\n\t\t<VisuallyHidden id={ searchResultsLabelId }>\n\t\t\t{ labelText }\n\t\t</VisuallyHidden>\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-link-control__search-results-wrapper\">\n\t\t\t{ searchResultsLabel }\n\t\t\t<div\n\t\t\t\t{ ...suggestionsListProps }\n\t\t\t\tclassName={ resultsListClasses }\n\t\t\t\taria-labelledby={ searchResultsLabelId }\n\t\t\t>\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ suggestions.map( ( suggestion, index ) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tshouldShowCreateSuggestion &&\n\t\t\t\t\t\t\tCREATE_TYPE === suggestion.type\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<LinkControlSearchCreate\n\t\t\t\t\t\t\t\t\tsearchTerm={ currentInputValue }\n\t\t\t\t\t\t\t\t\tbuttonText={ createSuggestionButtonText }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\thandleSuggestionClick( suggestion )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// Intentionally only using `type` here as\n\t\t\t\t\t\t\t\t\t// the constant is enough to uniquely\n\t\t\t\t\t\t\t\t\t// identify the single \"CREATE\" suggestion.\n\t\t\t\t\t\t\t\t\tkey={ suggestion.type }\n\t\t\t\t\t\t\t\t\titemProps={ buildSuggestionItemProps(\n\t\t\t\t\t\t\t\t\t\tsuggestion,\n\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tisSelected={ index === selectedSuggestion }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If we're not handling \"Create\" suggestions above then\n\t\t\t\t\t\t// we don't want them in the main results so exit early.\n\t\t\t\t\t\tif ( CREATE_TYPE === suggestion.type ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<LinkControlSearchItem\n\t\t\t\t\t\t\t\tkey={ `${ suggestion.id }-${ suggestion.type }` }\n\t\t\t\t\t\t\t\titemProps={ buildSuggestionItemProps(\n\t\t\t\t\t\t\t\t\tsuggestion,\n\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\thandleSuggestionClick( suggestion );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tisSelected={ index === selectedSuggestion }\n\t\t\t\t\t\t\t\tisURL={ LINK_ENTRY_TYPES.includes(\n\t\t\t\t\t\t\t\t\tsuggestion.type\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tsearchTerm={ currentInputValue }\n\t\t\t\t\t\t\t\tshouldShowType={ shouldShowSuggestionsTypes }\n\t\t\t\t\t\t\t\tisFrontPage={ suggestion?.isFrontPage }\n\t\t\t\t\t\t\t\tisBlogHome={ suggestion?.isBlogHome }\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</MenuGroup>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -31,7 +31,7 @@ export const handleDirectEntry = val => {
31
31
  type
32
32
  }]);
33
33
  };
34
- const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions, withCreateSuggestion, pageOnFront) => {
34
+ const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions, withCreateSuggestion, pageOnFront, pageForPosts) => {
35
35
  const {
36
36
  isInitialSuggestions
37
37
  } = suggestionsQuery;
@@ -42,6 +42,9 @@ const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions,
42
42
  if (Number(result.id) === pageOnFront) {
43
43
  result.isFrontPage = true;
44
44
  return result;
45
+ } else if (Number(result.id) === pageForPosts) {
46
+ result.isBlogHome = true;
47
+ return result;
45
48
  }
46
49
  return result;
47
50
  });
@@ -76,16 +79,18 @@ const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions,
76
79
  type: CREATE_TYPE
77
80
  });
78
81
  };
79
- export default function useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion, withURLSuggestion) {
82
+ export default function useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion) {
80
83
  const {
81
84
  fetchSearchSuggestions,
82
- pageOnFront
85
+ pageOnFront,
86
+ pageForPosts
83
87
  } = useSelect(select => {
84
88
  const {
85
89
  getSettings
86
90
  } = select(blockEditorStore);
87
91
  return {
88
92
  pageOnFront: getSettings().pageOnFront,
93
+ pageForPosts: getSettings().pageForPosts,
89
94
  fetchSearchSuggestions: getSettings().__experimentalFetchLinkSuggestions
90
95
  };
91
96
  }, []);
@@ -98,7 +103,7 @@ export default function useSearchHandler(suggestionsQuery, allowDirectEntry, wit
98
103
  }) : handleEntitySearch(val, {
99
104
  ...suggestionsQuery,
100
105
  isInitialSuggestions
101
- }, fetchSearchSuggestions, withCreateSuggestion, withURLSuggestion, pageOnFront);
102
- }, [directEntryHandler, fetchSearchSuggestions, pageOnFront, suggestionsQuery, withCreateSuggestion, withURLSuggestion]);
106
+ }, fetchSearchSuggestions, withCreateSuggestion, pageOnFront, pageForPosts);
107
+ }, [directEntryHandler, fetchSearchSuggestions, pageOnFront, pageForPosts, suggestionsQuery, withCreateSuggestion]);
103
108
  }
104
109
  //# sourceMappingURL=use-search-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getProtocol","prependHTTP","useCallback","useSelect","isURLLike","CREATE_TYPE","TEL_TYPE","MAILTO_TYPE","INTERNAL_TYPE","URL_TYPE","store","blockEditorStore","handleNoop","Promise","resolve","handleDirectEntry","val","type","protocol","includes","startsWith","id","title","url","handleEntitySearch","suggestionsQuery","fetchSearchSuggestions","withCreateSuggestion","pageOnFront","isInitialSuggestions","results","map","result","Number","isFrontPage","concat","useSearchHandler","allowDirectEntry","withURLSuggestion","select","getSettings","__experimentalFetchLinkSuggestions","directEntryHandler"],"sources":["@wordpress/block-editor/src/components/link-control/use-search-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getProtocol, prependHTTP } from '@wordpress/url';\nimport { useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport isURLLike from './is-url-like';\nimport {\n\tCREATE_TYPE,\n\tTEL_TYPE,\n\tMAILTO_TYPE,\n\tINTERNAL_TYPE,\n\tURL_TYPE,\n} from './constants';\nimport { store as blockEditorStore } from '../../store';\n\nexport const handleNoop = () => Promise.resolve( [] );\n\nexport const handleDirectEntry = ( val ) => {\n\tlet type = URL_TYPE;\n\n\tconst protocol = getProtocol( val ) || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = MAILTO_TYPE;\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = TEL_TYPE;\n\t}\n\n\tif ( val?.startsWith( '#' ) ) {\n\t\ttype = INTERNAL_TYPE;\n\t}\n\n\treturn Promise.resolve( [\n\t\t{\n\t\t\tid: val,\n\t\t\ttitle: val,\n\t\t\turl: type === 'URL' ? prependHTTP( val ) : val,\n\t\t\ttype,\n\t\t},\n\t] );\n};\n\nconst handleEntitySearch = async (\n\tval,\n\tsuggestionsQuery,\n\tfetchSearchSuggestions,\n\twithCreateSuggestion,\n\tpageOnFront\n) => {\n\tconst { isInitialSuggestions } = suggestionsQuery;\n\n\tconst results = await fetchSearchSuggestions( val, suggestionsQuery );\n\n\t// Identify front page and update type to match.\n\tresults.map( ( result ) => {\n\t\tif ( Number( result.id ) === pageOnFront ) {\n\t\t\tresult.isFrontPage = true;\n\t\t\treturn result;\n\t\t}\n\n\t\treturn result;\n\t} );\n\n\t// If displaying initial suggestions just return plain results.\n\tif ( isInitialSuggestions ) {\n\t\treturn results;\n\t}\n\n\t// Here we append a faux suggestion to represent a \"CREATE\" option. This\n\t// is detected in the rendering of the search results and handled as a\n\t// special case. This is currently necessary because the suggestions\n\t// dropdown will only appear if there are valid suggestions and\n\t// therefore unless the create option is a suggestion it will not\n\t// display in scenarios where there are no results returned from the\n\t// API. In addition promoting CREATE to a first class suggestion affords\n\t// the a11y benefits afforded by `URLInput` to all suggestions (eg:\n\t// keyboard handling, ARIA roles...etc).\n\t//\n\t// Note also that the value of the `title` and `url` properties must correspond\n\t// to the text value of the `<input>`. This is because `title` is used\n\t// when creating the suggestion. Similarly `url` is used when using keyboard to select\n\t// the suggestion (the <form> `onSubmit` handler falls-back to `url`).\n\treturn isURLLike( val ) || ! withCreateSuggestion\n\t\t? results\n\t\t: results.concat( {\n\t\t\t\t// the `id` prop is intentionally ommitted here because it\n\t\t\t\t// is never exposed as part of the component's public API.\n\t\t\t\t// see: https://github.com/WordPress/gutenberg/pull/19775#discussion_r378931316.\n\t\t\t\ttitle: val, // Must match the existing `<input>`s text value.\n\t\t\t\turl: val, // Must match the existing `<input>`s text value.\n\t\t\t\ttype: CREATE_TYPE,\n\t\t } );\n};\n\nexport default function useSearchHandler(\n\tsuggestionsQuery,\n\tallowDirectEntry,\n\twithCreateSuggestion,\n\twithURLSuggestion\n) {\n\tconst { fetchSearchSuggestions, pageOnFront } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tpageOnFront: getSettings().pageOnFront,\n\t\t\tfetchSearchSuggestions:\n\t\t\t\tgetSettings().__experimentalFetchLinkSuggestions,\n\t\t};\n\t}, [] );\n\n\tconst directEntryHandler = allowDirectEntry\n\t\t? handleDirectEntry\n\t\t: handleNoop;\n\n\treturn useCallback(\n\t\t( val, { isInitialSuggestions } ) => {\n\t\t\treturn isURLLike( val )\n\t\t\t\t? directEntryHandler( val, { isInitialSuggestions } )\n\t\t\t\t: handleEntitySearch(\n\t\t\t\t\t\tval,\n\t\t\t\t\t\t{ ...suggestionsQuery, isInitialSuggestions },\n\t\t\t\t\t\tfetchSearchSuggestions,\n\t\t\t\t\t\twithCreateSuggestion,\n\t\t\t\t\t\twithURLSuggestion,\n\t\t\t\t\t\tpageOnFront\n\t\t\t\t );\n\t\t},\n\t\t[\n\t\t\tdirectEntryHandler,\n\t\t\tfetchSearchSuggestions,\n\t\t\tpageOnFront,\n\t\t\tsuggestionsQuery,\n\t\t\twithCreateSuggestion,\n\t\t\twithURLSuggestion,\n\t\t]\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getProtocol","prependHTTP","useCallback","useSelect","isURLLike","CREATE_TYPE","TEL_TYPE","MAILTO_TYPE","INTERNAL_TYPE","URL_TYPE","store","blockEditorStore","handleNoop","Promise","resolve","handleDirectEntry","val","type","protocol","includes","startsWith","id","title","url","handleEntitySearch","suggestionsQuery","fetchSearchSuggestions","withCreateSuggestion","pageOnFront","pageForPosts","isInitialSuggestions","results","map","result","Number","isFrontPage","isBlogHome","concat","useSearchHandler","allowDirectEntry","select","getSettings","__experimentalFetchLinkSuggestions","directEntryHandler"],"sources":["@wordpress/block-editor/src/components/link-control/use-search-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getProtocol, prependHTTP } from '@wordpress/url';\nimport { useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport isURLLike from './is-url-like';\nimport {\n\tCREATE_TYPE,\n\tTEL_TYPE,\n\tMAILTO_TYPE,\n\tINTERNAL_TYPE,\n\tURL_TYPE,\n} from './constants';\nimport { store as blockEditorStore } from '../../store';\n\nexport const handleNoop = () => Promise.resolve( [] );\n\nexport const handleDirectEntry = ( val ) => {\n\tlet type = URL_TYPE;\n\n\tconst protocol = getProtocol( val ) || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = MAILTO_TYPE;\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = TEL_TYPE;\n\t}\n\n\tif ( val?.startsWith( '#' ) ) {\n\t\ttype = INTERNAL_TYPE;\n\t}\n\n\treturn Promise.resolve( [\n\t\t{\n\t\t\tid: val,\n\t\t\ttitle: val,\n\t\t\turl: type === 'URL' ? prependHTTP( val ) : val,\n\t\t\ttype,\n\t\t},\n\t] );\n};\n\nconst handleEntitySearch = async (\n\tval,\n\tsuggestionsQuery,\n\tfetchSearchSuggestions,\n\twithCreateSuggestion,\n\tpageOnFront,\n\tpageForPosts\n) => {\n\tconst { isInitialSuggestions } = suggestionsQuery;\n\n\tconst results = await fetchSearchSuggestions( val, suggestionsQuery );\n\n\t// Identify front page and update type to match.\n\tresults.map( ( result ) => {\n\t\tif ( Number( result.id ) === pageOnFront ) {\n\t\t\tresult.isFrontPage = true;\n\t\t\treturn result;\n\t\t} else if ( Number( result.id ) === pageForPosts ) {\n\t\t\tresult.isBlogHome = true;\n\t\t\treturn result;\n\t\t}\n\n\t\treturn result;\n\t} );\n\n\t// If displaying initial suggestions just return plain results.\n\tif ( isInitialSuggestions ) {\n\t\treturn results;\n\t}\n\n\t// Here we append a faux suggestion to represent a \"CREATE\" option. This\n\t// is detected in the rendering of the search results and handled as a\n\t// special case. This is currently necessary because the suggestions\n\t// dropdown will only appear if there are valid suggestions and\n\t// therefore unless the create option is a suggestion it will not\n\t// display in scenarios where there are no results returned from the\n\t// API. In addition promoting CREATE to a first class suggestion affords\n\t// the a11y benefits afforded by `URLInput` to all suggestions (eg:\n\t// keyboard handling, ARIA roles...etc).\n\t//\n\t// Note also that the value of the `title` and `url` properties must correspond\n\t// to the text value of the `<input>`. This is because `title` is used\n\t// when creating the suggestion. Similarly `url` is used when using keyboard to select\n\t// the suggestion (the <form> `onSubmit` handler falls-back to `url`).\n\treturn isURLLike( val ) || ! withCreateSuggestion\n\t\t? results\n\t\t: results.concat( {\n\t\t\t\t// the `id` prop is intentionally ommitted here because it\n\t\t\t\t// is never exposed as part of the component's public API.\n\t\t\t\t// see: https://github.com/WordPress/gutenberg/pull/19775#discussion_r378931316.\n\t\t\t\ttitle: val, // Must match the existing `<input>`s text value.\n\t\t\t\turl: val, // Must match the existing `<input>`s text value.\n\t\t\t\ttype: CREATE_TYPE,\n\t\t } );\n};\n\nexport default function useSearchHandler(\n\tsuggestionsQuery,\n\tallowDirectEntry,\n\twithCreateSuggestion\n) {\n\tconst { fetchSearchSuggestions, pageOnFront, pageForPosts } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tpageOnFront: getSettings().pageOnFront,\n\t\t\t\tpageForPosts: getSettings().pageForPosts,\n\t\t\t\tfetchSearchSuggestions:\n\t\t\t\t\tgetSettings().__experimentalFetchLinkSuggestions,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst directEntryHandler = allowDirectEntry\n\t\t? handleDirectEntry\n\t\t: handleNoop;\n\n\treturn useCallback(\n\t\t( val, { isInitialSuggestions } ) => {\n\t\t\treturn isURLLike( val )\n\t\t\t\t? directEntryHandler( val, { isInitialSuggestions } )\n\t\t\t\t: handleEntitySearch(\n\t\t\t\t\t\tval,\n\t\t\t\t\t\t{ ...suggestionsQuery, isInitialSuggestions },\n\t\t\t\t\t\tfetchSearchSuggestions,\n\t\t\t\t\t\twithCreateSuggestion,\n\t\t\t\t\t\tpageOnFront,\n\t\t\t\t\t\tpageForPosts\n\t\t\t\t );\n\t\t},\n\t\t[\n\t\t\tdirectEntryHandler,\n\t\t\tfetchSearchSuggestions,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\tsuggestionsQuery,\n\t\t\twithCreateSuggestion,\n\t\t]\n\t);\n}\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ export default function ResizableBoxPopover({
16
16
  return createElement(BlockPopover, {
17
17
  clientId: clientId,
18
18
  __unstableCoverTarget: true,
19
- __unstablePopoverSlot: "block-toolbar",
19
+ __unstablePopoverSlot: "__unstable-block-tools-after",
20
20
  shift: false,
21
21
  ...props
22
22
  }, createElement(ResizableBox, {
@@ -1 +1 @@
1
- {"version":3,"names":["ResizableBox","BlockPopover","ResizableBoxPopover","clientId","resizableBoxProps","props","createElement","__unstableCoverTarget","__unstablePopoverSlot","shift"],"sources":["@wordpress/block-editor/src/components/resizable-box-popover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ResizableBox } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPopover from '../block-popover';\n\nexport default function ResizableBoxPopover( {\n\tclientId,\n\tresizableBoxProps,\n\t...props\n} ) {\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ clientId }\n\t\t\t__unstableCoverTarget\n\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t\tshift={ false }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<ResizableBox { ...resizableBoxProps } />\n\t\t</BlockPopover>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,uBAAuB;;AAEpD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAE3C,eAAe,SAASC,mBAAmBA,CAAE;EAC5CC,QAAQ;EACRC,iBAAiB;EACjB,GAAGC;AACJ,CAAC,EAAG;EACH,OACCC,aAAA,CAACL,YAAY;IACZE,QAAQ,EAAGA,QAAU;IACrBI,qBAAqB;IACrBC,qBAAqB,EAAC,eAAe;IACrCC,KAAK,EAAG,KAAO;IAAA,GACVJ;EAAK,GAEVC,aAAA,CAACN,YAAY;IAAA,GAAMI;EAAiB,CAAI,CAC3B,CAAC;AAEjB"}
1
+ {"version":3,"names":["ResizableBox","BlockPopover","ResizableBoxPopover","clientId","resizableBoxProps","props","createElement","__unstableCoverTarget","__unstablePopoverSlot","shift"],"sources":["@wordpress/block-editor/src/components/resizable-box-popover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ResizableBox } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPopover from '../block-popover';\n\nexport default function ResizableBoxPopover( {\n\tclientId,\n\tresizableBoxProps,\n\t...props\n} ) {\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ clientId }\n\t\t\t__unstableCoverTarget\n\t\t\t__unstablePopoverSlot=\"__unstable-block-tools-after\"\n\t\t\tshift={ false }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<ResizableBox { ...resizableBoxProps } />\n\t\t</BlockPopover>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,uBAAuB;;AAEpD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAE3C,eAAe,SAASC,mBAAmBA,CAAE;EAC5CC,QAAQ;EACRC,iBAAiB;EACjB,GAAGC;AACJ,CAAC,EAAG;EACH,OACCC,aAAA,CAACL,YAAY;IACZE,QAAQ,EAAGA,QAAU;IACrBI,qBAAqB;IACrBC,qBAAqB,EAAC,8BAA8B;IACpDC,KAAK,EAAG,KAAO;IAAA,GACVJ;EAAK,GAEVC,aAAA,CAACN,YAAY;IAAA,GAAMI;EAAiB,CAAI,CAC3B,CAAC;AAEjB"}
@@ -125,7 +125,7 @@ export function RichTextWrapper({
125
125
  };
126
126
  };
127
127
  // This selector must run on every render so the right selection state is
128
- // retreived from the store on merge.
128
+ // retrieved from the store on merge.
129
129
  // To do: fix this somehow.
130
130
  const {
131
131
  selectionStart,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useRef","useCallback","forwardRef","createContext","useDispatch","useSelect","children","childrenSource","useInstanceId","useMergeRefs","__unstableUseRichText","useRichText","__unstableCreateElement","removeFormat","deprecated","Popover","useBlockEditorAutocompleteProps","useBlockEditContext","FormatToolbarContainer","store","blockEditorStore","useUndoAutomaticChange","useMarkPersistent","usePasteHandler","useBeforeInputRules","useInputRules","useDelete","useEnter","useFormatTypes","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useInsertReplacementText","useFirefoxCompat","FormatEdit","getAllowedFormats","Content","RichTextMultiline","keyboardShortcutContext","inputEventContext","removeNativeProps","props","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef","disableSuggestions","disableAutocorrection","restProps","RichTextWrapper","tagName","value","adjustedValue","onChange","adjustedOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","__unstableAllowPrefixTransformations","forwardedRef","anchorRef","clientId","selector","select","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","undefined","attributeKey","offset","getBlockRootClientId","selectionChange","adjustedAllowedFormats","hasFormats","length","onSelectionChange","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","name","addInvisibleFormats","getValue","ref","richTextRef","html","__unstableFormats","__unstableText","Object","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","completers","record","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","createElement","Fragment","Provider","__unstableSlotNameProvider","inline","editableContentElement","role","contentEditable","suppressContentEditableWarning","className","tabIndex","ForwardedRichTextWrapper","RichTextSwitcher","Array","isArray","since","version","alternative","link","toHTML","newValue","fromDOM","document","childNodes","Component","instanceId","ForwardedRichTextContainer","isEmpty","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent"],"sources":["@wordpress/block-editor/src/components/rich-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseCallback,\n\tforwardRef,\n\tcreateContext,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { children as childrenSource } from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__unstableUseRichText as useRichText,\n\t__unstableCreateElement,\n\tremoveFormat,\n} from '@wordpress/rich-text';\nimport deprecated from '@wordpress/deprecated';\nimport { Popover } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditorAutocompleteProps } from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport { useUndoAutomaticChange } from './use-undo-automatic-change';\nimport { useMarkPersistent } from './use-mark-persistent';\nimport { usePasteHandler } from './use-paste-handler';\nimport { useBeforeInputRules } from './use-before-input-rules';\nimport { useInputRules } from './use-input-rules';\nimport { useDelete } from './use-delete';\nimport { useEnter } from './use-enter';\nimport { useFormatTypes } from './use-format-types';\nimport { useRemoveBrowserShortcuts } from './use-remove-browser-shortcuts';\nimport { useShortcuts } from './use-shortcuts';\nimport { useInputEvents } from './use-input-events';\nimport { useInsertReplacementText } from './use-insert-replacement-text';\nimport { useFirefoxCompat } from './use-firefox-compat';\nimport FormatEdit from './format-edit';\nimport { getAllowedFormats } from './utils';\nimport { Content } from './content';\nimport RichTextMultiline from './multiline';\n\nexport const keyboardShortcutContext = createContext();\nexport const inputEventContext = createContext();\n\n/**\n * Removes props used for the native version of RichText so that they are not\n * passed to the DOM element and log warnings.\n *\n * @param {Object} props Props to filter.\n *\n * @return {Object} Filtered props.\n */\nfunction removeNativeProps( props ) {\n\tconst {\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\t...restProps\n\t} = props;\n\treturn restProps;\n}\n\nexport function RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName = 'div',\n\t\tvalue: adjustedValue = '',\n\t\tonChange: adjustedOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\t__unstableAllowPrefixTransformations,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tprops = removeNativeProps( props );\n\n\tconst anchorRef = useRef();\n\tconst { clientId } = useBlockEditContext();\n\tconst selector = ( select ) => {\n\t\tconst { getSelectionStart, getSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionEnd.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retreived from the store on merge.\n\t// To do: fix this somehow.\n\tconst { selectionStart, selectionEnd, isSelected } = useSelect( selector );\n\tconst { getSelectionStart, getSelectionEnd, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\n\tconst onSelectionChange = useCallback(\n\t\t( start, end ) => {\n\t\t\tconst selection = {};\n\t\t\tconst unset = start === undefined && end === undefined;\n\n\t\t\tif ( typeof start === 'number' || unset ) {\n\t\t\t\t// If we are only setting the start (or the end below), which\n\t\t\t\t// means a partial selection, and we're not updating a selection\n\t\t\t\t// with the same client ID, abort. This means the selected block\n\t\t\t\t// is a parent block.\n\t\t\t\tif (\n\t\t\t\t\tend === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionEnd().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.start = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: start,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( typeof end === 'number' || unset ) {\n\t\t\t\tif (\n\t\t\t\t\tstart === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionStart().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.end = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: end,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tselectionChange( selection );\n\t\t},\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst {\n\t\tformatTypes,\n\t\tprepareHandlers,\n\t\tvalueHandlers,\n\t\tchangeHandlers,\n\t\tdependencies,\n\t} = useFormatTypes( {\n\t\tclientId,\n\t\tidentifier,\n\t\twithoutInteractiveFormatting,\n\t\tallowedFormats: adjustedAllowedFormats,\n\t} );\n\n\tfunction addEditorOnlyFormats( value ) {\n\t\treturn valueHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tfunction removeEditorOnlyFormats( value ) {\n\t\tformatTypes.forEach( ( formatType ) => {\n\t\t\t// Remove formats created by prepareEditableTree, because they are editor only.\n\t\t\tif ( formatType.__experimentalCreatePrepareEditableTree ) {\n\t\t\t\tvalue = removeFormat(\n\t\t\t\t\tvalue,\n\t\t\t\t\tformatType.name,\n\t\t\t\t\t0,\n\t\t\t\t\tvalue.text.length\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn value.formats;\n\t}\n\n\tfunction addInvisibleFormats( value ) {\n\t\treturn prepareHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tconst {\n\t\tvalue,\n\t\tgetValue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: adjustedValue,\n\t\tonChange( html, { __unstableFormats, __unstableText } ) {\n\t\t\tadjustedOnChange( html );\n\t\t\tObject.values( changeHandlers ).forEach( ( changeHandler ) => {\n\t\t\t\tchangeHandler( __unstableFormats, __unstableText );\n\t\t\t} );\n\t\t},\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tonSelectionChange,\n\t\tplaceholder,\n\t\t__unstableIsSelected: isSelected,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tpreserveWhiteSpace,\n\t\t__unstableDependencies: [ ...dependencies, tagName ],\n\t\t__unstableAfterParse: addEditorOnlyFormats,\n\t\t__unstableBeforeSerialize: removeEditorOnlyFormats,\n\t\t__unstableAddInvisibleFormats: addInvisibleFormats,\n\t} );\n\tconst autocompleteProps = useBlockEditorAutocompleteProps( {\n\t\tonReplace,\n\t\tcompleters: autocompleters,\n\t\trecord: value,\n\t\tonChange,\n\t} );\n\n\tuseMarkPersistent( { html: adjustedValue, value } );\n\n\tconst keyboardShortcuts = useRef( new Set() );\n\tconst inputEvents = useRef( new Set() );\n\n\tfunction onFocus() {\n\t\tanchorRef.current?.focus();\n\t}\n\n\tconst TagName = tagName;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<keyboardShortcutContext.Provider value={ keyboardShortcuts }>\n\t\t\t\t\t<inputEventContext.Provider value={ inputEvents }>\n\t\t\t\t\t\t<Popover.__unstableSlotNameProvider value=\"__unstable-block-tools-after\">\n\t\t\t\t\t\t\t{ children &&\n\t\t\t\t\t\t\t\tchildren( { value, onChange, onFocus } ) }\n\n\t\t\t\t\t\t\t<FormatEdit\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tformatTypes={ formatTypes }\n\t\t\t\t\t\t\t\tforwardedRef={ anchorRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover.__unstableSlotNameProvider>\n\t\t\t\t\t</inputEventContext.Provider>\n\t\t\t\t</keyboardShortcutContext.Provider>\n\t\t\t) }\n\t\t\t{ isSelected && hasFormats && (\n\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\teditableContentElement={ anchorRef.current }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<TagName\n\t\t\t\t// Overridable props.\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline={ ! disableLineBreaks }\n\t\t\t\taria-label={ placeholder }\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...autocompleteProps }\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tforwardedRef,\n\t\t\t\t\tautocompleteProps.ref,\n\t\t\t\t\tprops.ref,\n\t\t\t\t\trichTextRef,\n\t\t\t\t\tuseBeforeInputRules( { value, onChange } ),\n\t\t\t\t\tuseInputRules( {\n\t\t\t\t\t\tgetValue,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\t__unstableAllowPrefixTransformations,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tselectionChange,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseInsertReplacementText(),\n\t\t\t\t\tuseRemoveBrowserShortcuts(),\n\t\t\t\t\tuseShortcuts( keyboardShortcuts ),\n\t\t\t\t\tuseInputEvents( inputEvents ),\n\t\t\t\t\tuseUndoAutomaticChange(),\n\t\t\t\t\tusePasteHandler( {\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tdisableFormats,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\ttagName,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t\t\tpastePlainText,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseDelete( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonMerge,\n\t\t\t\t\t\tonRemove,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseEnter( {\n\t\t\t\t\t\tremoveEditorOnlyFormats,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tdisableLineBreaks,\n\t\t\t\t\t\tonSplitAtEnd,\n\t\t\t\t\t\tonSplitAtDoubleLineEnd,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseFirefoxCompat(),\n\t\t\t\t\tanchorRef,\n\t\t\t\t] ) }\n\t\t\t\tcontentEditable={ true }\n\t\t\t\tsuppressContentEditableWarning={ true }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-rich-text__editable',\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'rich-text'\n\t\t\t\t) }\n\t\t\t\t// Setting tabIndex to 0 is unnecessary, the element is already\n\t\t\t\t// focusable because it's contentEditable. This also fixes a\n\t\t\t\t// Safari bug where it's not possible to Shift+Click multi\n\t\t\t\t// select blocks when Shift Clicking into an element with\n\t\t\t\t// tabIndex because Safari will focus the element. However,\n\t\t\t\t// Safari will correctly ignore nested contentEditable elements.\n\t\t\t\ttabIndex={ props.tabIndex === 0 ? null : props.tabIndex }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst ForwardedRichTextWrapper = forwardRef( RichTextWrapper );\n\nfunction RichTextSwitcher( props, ref ) {\n\tlet value = props.value;\n\tlet onChange = props.onChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( value ) ) {\n\t\tdeprecated( 'wp.blockEditor.RichText value prop as children type', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: 'value prop as string',\n\t\t\tlink: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/',\n\t\t} );\n\n\t\tvalue = childrenSource.toHTML( props.value );\n\t\tonChange = ( newValue ) =>\n\t\t\tprops.onChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst Component = props.multiline\n\t\t? RichTextMultiline\n\t\t: ForwardedRichTextWrapper;\n\tconst instanceId = useInstanceId( RichTextSwitcher );\n\n\treturn (\n\t\t<Component\n\t\t\t{ ...props }\n\t\t\tidentifier={ props.identifier || instanceId }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextSwitcher );\n\nForwardedRichTextContainer.Content = Content;\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useRef","useCallback","forwardRef","createContext","useDispatch","useSelect","children","childrenSource","useInstanceId","useMergeRefs","__unstableUseRichText","useRichText","__unstableCreateElement","removeFormat","deprecated","Popover","useBlockEditorAutocompleteProps","useBlockEditContext","FormatToolbarContainer","store","blockEditorStore","useUndoAutomaticChange","useMarkPersistent","usePasteHandler","useBeforeInputRules","useInputRules","useDelete","useEnter","useFormatTypes","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useInsertReplacementText","useFirefoxCompat","FormatEdit","getAllowedFormats","Content","RichTextMultiline","keyboardShortcutContext","inputEventContext","removeNativeProps","props","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef","disableSuggestions","disableAutocorrection","restProps","RichTextWrapper","tagName","value","adjustedValue","onChange","adjustedOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","__unstableAllowPrefixTransformations","forwardedRef","anchorRef","clientId","selector","select","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","undefined","attributeKey","offset","getBlockRootClientId","selectionChange","adjustedAllowedFormats","hasFormats","length","onSelectionChange","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","name","addInvisibleFormats","getValue","ref","richTextRef","html","__unstableFormats","__unstableText","Object","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","completers","record","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","createElement","Fragment","Provider","__unstableSlotNameProvider","inline","editableContentElement","role","contentEditable","suppressContentEditableWarning","className","tabIndex","ForwardedRichTextWrapper","RichTextSwitcher","Array","isArray","since","version","alternative","link","toHTML","newValue","fromDOM","document","childNodes","Component","instanceId","ForwardedRichTextContainer","isEmpty","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent"],"sources":["@wordpress/block-editor/src/components/rich-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseCallback,\n\tforwardRef,\n\tcreateContext,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { children as childrenSource } from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__unstableUseRichText as useRichText,\n\t__unstableCreateElement,\n\tremoveFormat,\n} from '@wordpress/rich-text';\nimport deprecated from '@wordpress/deprecated';\nimport { Popover } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditorAutocompleteProps } from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport { useUndoAutomaticChange } from './use-undo-automatic-change';\nimport { useMarkPersistent } from './use-mark-persistent';\nimport { usePasteHandler } from './use-paste-handler';\nimport { useBeforeInputRules } from './use-before-input-rules';\nimport { useInputRules } from './use-input-rules';\nimport { useDelete } from './use-delete';\nimport { useEnter } from './use-enter';\nimport { useFormatTypes } from './use-format-types';\nimport { useRemoveBrowserShortcuts } from './use-remove-browser-shortcuts';\nimport { useShortcuts } from './use-shortcuts';\nimport { useInputEvents } from './use-input-events';\nimport { useInsertReplacementText } from './use-insert-replacement-text';\nimport { useFirefoxCompat } from './use-firefox-compat';\nimport FormatEdit from './format-edit';\nimport { getAllowedFormats } from './utils';\nimport { Content } from './content';\nimport RichTextMultiline from './multiline';\n\nexport const keyboardShortcutContext = createContext();\nexport const inputEventContext = createContext();\n\n/**\n * Removes props used for the native version of RichText so that they are not\n * passed to the DOM element and log warnings.\n *\n * @param {Object} props Props to filter.\n *\n * @return {Object} Filtered props.\n */\nfunction removeNativeProps( props ) {\n\tconst {\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\t...restProps\n\t} = props;\n\treturn restProps;\n}\n\nexport function RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName = 'div',\n\t\tvalue: adjustedValue = '',\n\t\tonChange: adjustedOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\t__unstableAllowPrefixTransformations,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tprops = removeNativeProps( props );\n\n\tconst anchorRef = useRef();\n\tconst { clientId } = useBlockEditContext();\n\tconst selector = ( select ) => {\n\t\tconst { getSelectionStart, getSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionEnd.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retrieved from the store on merge.\n\t// To do: fix this somehow.\n\tconst { selectionStart, selectionEnd, isSelected } = useSelect( selector );\n\tconst { getSelectionStart, getSelectionEnd, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\n\tconst onSelectionChange = useCallback(\n\t\t( start, end ) => {\n\t\t\tconst selection = {};\n\t\t\tconst unset = start === undefined && end === undefined;\n\n\t\t\tif ( typeof start === 'number' || unset ) {\n\t\t\t\t// If we are only setting the start (or the end below), which\n\t\t\t\t// means a partial selection, and we're not updating a selection\n\t\t\t\t// with the same client ID, abort. This means the selected block\n\t\t\t\t// is a parent block.\n\t\t\t\tif (\n\t\t\t\t\tend === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionEnd().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.start = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: start,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( typeof end === 'number' || unset ) {\n\t\t\t\tif (\n\t\t\t\t\tstart === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionStart().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.end = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: end,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tselectionChange( selection );\n\t\t},\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst {\n\t\tformatTypes,\n\t\tprepareHandlers,\n\t\tvalueHandlers,\n\t\tchangeHandlers,\n\t\tdependencies,\n\t} = useFormatTypes( {\n\t\tclientId,\n\t\tidentifier,\n\t\twithoutInteractiveFormatting,\n\t\tallowedFormats: adjustedAllowedFormats,\n\t} );\n\n\tfunction addEditorOnlyFormats( value ) {\n\t\treturn valueHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tfunction removeEditorOnlyFormats( value ) {\n\t\tformatTypes.forEach( ( formatType ) => {\n\t\t\t// Remove formats created by prepareEditableTree, because they are editor only.\n\t\t\tif ( formatType.__experimentalCreatePrepareEditableTree ) {\n\t\t\t\tvalue = removeFormat(\n\t\t\t\t\tvalue,\n\t\t\t\t\tformatType.name,\n\t\t\t\t\t0,\n\t\t\t\t\tvalue.text.length\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn value.formats;\n\t}\n\n\tfunction addInvisibleFormats( value ) {\n\t\treturn prepareHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tconst {\n\t\tvalue,\n\t\tgetValue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: adjustedValue,\n\t\tonChange( html, { __unstableFormats, __unstableText } ) {\n\t\t\tadjustedOnChange( html );\n\t\t\tObject.values( changeHandlers ).forEach( ( changeHandler ) => {\n\t\t\t\tchangeHandler( __unstableFormats, __unstableText );\n\t\t\t} );\n\t\t},\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tonSelectionChange,\n\t\tplaceholder,\n\t\t__unstableIsSelected: isSelected,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tpreserveWhiteSpace,\n\t\t__unstableDependencies: [ ...dependencies, tagName ],\n\t\t__unstableAfterParse: addEditorOnlyFormats,\n\t\t__unstableBeforeSerialize: removeEditorOnlyFormats,\n\t\t__unstableAddInvisibleFormats: addInvisibleFormats,\n\t} );\n\tconst autocompleteProps = useBlockEditorAutocompleteProps( {\n\t\tonReplace,\n\t\tcompleters: autocompleters,\n\t\trecord: value,\n\t\tonChange,\n\t} );\n\n\tuseMarkPersistent( { html: adjustedValue, value } );\n\n\tconst keyboardShortcuts = useRef( new Set() );\n\tconst inputEvents = useRef( new Set() );\n\n\tfunction onFocus() {\n\t\tanchorRef.current?.focus();\n\t}\n\n\tconst TagName = tagName;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<keyboardShortcutContext.Provider value={ keyboardShortcuts }>\n\t\t\t\t\t<inputEventContext.Provider value={ inputEvents }>\n\t\t\t\t\t\t<Popover.__unstableSlotNameProvider value=\"__unstable-block-tools-after\">\n\t\t\t\t\t\t\t{ children &&\n\t\t\t\t\t\t\t\tchildren( { value, onChange, onFocus } ) }\n\n\t\t\t\t\t\t\t<FormatEdit\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tformatTypes={ formatTypes }\n\t\t\t\t\t\t\t\tforwardedRef={ anchorRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover.__unstableSlotNameProvider>\n\t\t\t\t\t</inputEventContext.Provider>\n\t\t\t\t</keyboardShortcutContext.Provider>\n\t\t\t) }\n\t\t\t{ isSelected && hasFormats && (\n\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\teditableContentElement={ anchorRef.current }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<TagName\n\t\t\t\t// Overridable props.\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline={ ! disableLineBreaks }\n\t\t\t\taria-label={ placeholder }\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...autocompleteProps }\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tforwardedRef,\n\t\t\t\t\tautocompleteProps.ref,\n\t\t\t\t\tprops.ref,\n\t\t\t\t\trichTextRef,\n\t\t\t\t\tuseBeforeInputRules( { value, onChange } ),\n\t\t\t\t\tuseInputRules( {\n\t\t\t\t\t\tgetValue,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\t__unstableAllowPrefixTransformations,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tselectionChange,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseInsertReplacementText(),\n\t\t\t\t\tuseRemoveBrowserShortcuts(),\n\t\t\t\t\tuseShortcuts( keyboardShortcuts ),\n\t\t\t\t\tuseInputEvents( inputEvents ),\n\t\t\t\t\tuseUndoAutomaticChange(),\n\t\t\t\t\tusePasteHandler( {\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tdisableFormats,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\ttagName,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t\t\tpastePlainText,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseDelete( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonMerge,\n\t\t\t\t\t\tonRemove,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseEnter( {\n\t\t\t\t\t\tremoveEditorOnlyFormats,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tdisableLineBreaks,\n\t\t\t\t\t\tonSplitAtEnd,\n\t\t\t\t\t\tonSplitAtDoubleLineEnd,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseFirefoxCompat(),\n\t\t\t\t\tanchorRef,\n\t\t\t\t] ) }\n\t\t\t\tcontentEditable={ true }\n\t\t\t\tsuppressContentEditableWarning={ true }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-rich-text__editable',\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'rich-text'\n\t\t\t\t) }\n\t\t\t\t// Setting tabIndex to 0 is unnecessary, the element is already\n\t\t\t\t// focusable because it's contentEditable. This also fixes a\n\t\t\t\t// Safari bug where it's not possible to Shift+Click multi\n\t\t\t\t// select blocks when Shift Clicking into an element with\n\t\t\t\t// tabIndex because Safari will focus the element. However,\n\t\t\t\t// Safari will correctly ignore nested contentEditable elements.\n\t\t\t\ttabIndex={ props.tabIndex === 0 ? null : props.tabIndex }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst ForwardedRichTextWrapper = forwardRef( RichTextWrapper );\n\nfunction RichTextSwitcher( props, ref ) {\n\tlet value = props.value;\n\tlet onChange = props.onChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( value ) ) {\n\t\tdeprecated( 'wp.blockEditor.RichText value prop as children type', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: 'value prop as string',\n\t\t\tlink: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/',\n\t\t} );\n\n\t\tvalue = childrenSource.toHTML( props.value );\n\t\tonChange = ( newValue ) =>\n\t\t\tprops.onChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst Component = props.multiline\n\t\t? RichTextMultiline\n\t\t: ForwardedRichTextWrapper;\n\tconst instanceId = useInstanceId( RichTextSwitcher );\n\n\treturn (\n\t\t<Component\n\t\t\t{ ...props }\n\t\t\tidentifier={ props.identifier || instanceId }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextSwitcher );\n\nForwardedRichTextContainer.Content = Content;\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
@@ -6,13 +6,17 @@ import { __ } from '@wordpress/i18n';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
- import useSetting from '../../use-setting';
9
+ import { useSettings } from '../../use-settings';
10
10
  export default function useSpacingSizes() {
11
11
  const spacingSizes = [{
12
12
  name: 0,
13
13
  slug: '0',
14
14
  size: 0
15
- }, ...(useSetting('spacing.spacingSizes') || [])];
15
+ }];
16
+ const [settingsSizes] = useSettings('spacing.spacingSizes');
17
+ if (settingsSizes) {
18
+ spacingSizes.push(...settingsSizes);
19
+ }
16
20
  if (spacingSizes.length > 8) {
17
21
  spacingSizes.unshift({
18
22
  name: __('Default'),
@@ -1 +1 @@
1
- {"version":3,"names":["__","useSetting","useSpacingSizes","spacingSizes","name","slug","size","length","unshift","undefined"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../../use-setting';\n\nexport default function useSpacingSizes() {\n\tconst spacingSizes = [\n\t\t{ name: 0, slug: '0', size: 0 },\n\t\t...( useSetting( 'spacing.spacingSizes' ) || [] ),\n\t];\n\n\tif ( spacingSizes.length > 8 ) {\n\t\tspacingSizes.unshift( {\n\t\t\tname: __( 'Default' ),\n\t\t\tslug: 'default',\n\t\t\tsize: undefined,\n\t\t} );\n\t}\n\n\treturn spacingSizes;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,UAAU,MAAM,mBAAmB;AAE1C,eAAe,SAASC,eAAeA,CAAA,EAAG;EACzC,MAAMC,YAAY,GAAG,CACpB;IAAEC,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE,GAAG;IAAEC,IAAI,EAAE;EAAE,CAAC,EAC/B,IAAKL,UAAU,CAAE,sBAAuB,CAAC,IAAI,EAAE,CAAE,CACjD;EAED,IAAKE,YAAY,CAACI,MAAM,GAAG,CAAC,EAAG;IAC9BJ,YAAY,CAACK,OAAO,CAAE;MACrBJ,IAAI,EAAEJ,EAAE,CAAE,SAAU,CAAC;MACrBK,IAAI,EAAE,SAAS;MACfC,IAAI,EAAEG;IACP,CAAE,CAAC;EACJ;EAEA,OAAON,YAAY;AACpB"}
1
+ {"version":3,"names":["__","useSettings","useSpacingSizes","spacingSizes","name","slug","size","settingsSizes","push","length","unshift","undefined"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\n\nexport default function useSpacingSizes() {\n\tconst spacingSizes = [ { name: 0, slug: '0', size: 0 } ];\n\n\tconst [ settingsSizes ] = useSettings( 'spacing.spacingSizes' );\n\tif ( settingsSizes ) {\n\t\tspacingSizes.push( ...settingsSizes );\n\t}\n\n\tif ( spacingSizes.length > 8 ) {\n\t\tspacingSizes.unshift( {\n\t\t\tname: __( 'Default' ),\n\t\t\tslug: 'default',\n\t\t\tsize: undefined,\n\t\t} );\n\t}\n\n\treturn spacingSizes;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,eAAe,SAASC,eAAeA,CAAA,EAAG;EACzC,MAAMC,YAAY,GAAG,CAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE,GAAG;IAAEC,IAAI,EAAE;EAAE,CAAC,CAAE;EAExD,MAAM,CAAEC,aAAa,CAAE,GAAGN,WAAW,CAAE,sBAAuB,CAAC;EAC/D,IAAKM,aAAa,EAAG;IACpBJ,YAAY,CAACK,IAAI,CAAE,GAAGD,aAAc,CAAC;EACtC;EAEA,IAAKJ,YAAY,CAACM,MAAM,GAAG,CAAC,EAAG;IAC9BN,YAAY,CAACO,OAAO,CAAE;MACrBN,IAAI,EAAEJ,EAAE,CAAE,SAAU,CAAC;MACrBK,IAAI,EAAE,SAAS;MACfC,IAAI,EAAEK;IACP,CAAE,CAAC;EACJ;EAEA,OAAOR,YAAY;AACpB"}