@wordpress/editor 14.47.0 → 14.48.1

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 (213) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/build/components/block-removal-warnings/index.cjs +0 -3
  3. package/build/components/block-removal-warnings/index.cjs.map +2 -2
  4. package/build/components/collab-sidebar/note-indicator-toolbar.cjs +49 -43
  5. package/build/components/collab-sidebar/note-indicator-toolbar.cjs.map +3 -3
  6. package/build/components/collaborators-overlay/use-block-highlighting.cjs +1 -8
  7. package/build/components/collaborators-overlay/use-block-highlighting.cjs.map +3 -3
  8. package/build/components/collaborators-overlay/use-render-cursors.cjs +1 -7
  9. package/build/components/collaborators-overlay/use-render-cursors.cjs.map +3 -3
  10. package/build/components/more-menu/view-more-menu-group.cjs +1 -2
  11. package/build/components/more-menu/view-more-menu-group.cjs.map +2 -2
  12. package/build/components/page-attributes/parent.cjs +1 -0
  13. package/build/components/page-attributes/parent.cjs.map +2 -2
  14. package/build/components/post-publish-button/index.cjs +114 -157
  15. package/build/components/post-publish-button/index.cjs.map +3 -3
  16. package/build/components/post-revisions-preview/block-diff.cjs +21 -9
  17. package/build/components/post-revisions-preview/block-diff.cjs.map +2 -2
  18. package/build/components/post-revisions-preview/preserve-client-ids.cjs +2 -2
  19. package/build/components/post-revisions-preview/preserve-client-ids.cjs.map +2 -2
  20. package/build/components/provider/index.cjs +2 -0
  21. package/build/components/provider/index.cjs.map +3 -3
  22. package/build/components/provider/use-block-editor-settings.cjs +1 -1
  23. package/build/components/provider/use-block-editor-settings.cjs.map +2 -2
  24. package/build/components/provider/use-network-reconnect.cjs +51 -0
  25. package/build/components/provider/use-network-reconnect.cjs.map +7 -0
  26. package/build/components/revision-fields-diff/index.cjs +2 -2
  27. package/build/components/revision-fields-diff/index.cjs.map +2 -2
  28. package/build/components/sidebar/index.cjs +1 -4
  29. package/build/components/sidebar/index.cjs.map +2 -2
  30. package/build/components/template-actions-panel/block-theme-content.cjs +7 -1
  31. package/build/components/template-actions-panel/block-theme-content.cjs.map +2 -2
  32. package/build/components/upload-progress-snackbar/index.cjs +161 -0
  33. package/build/components/upload-progress-snackbar/index.cjs.map +7 -0
  34. package/build/components/upload-progress-snackbar/tracker.cjs +90 -0
  35. package/build/components/upload-progress-snackbar/tracker.cjs.map +7 -0
  36. package/build/private-apis.cjs +2 -0
  37. package/build/private-apis.cjs.map +3 -3
  38. package/build/store/selectors.cjs +1 -2
  39. package/build/store/selectors.cjs.map +2 -2
  40. package/build/utils/media-upload/index.cjs +16 -0
  41. package/build/utils/media-upload/index.cjs.map +3 -3
  42. package/build-module/components/block-removal-warnings/index.mjs +0 -3
  43. package/build-module/components/block-removal-warnings/index.mjs.map +2 -2
  44. package/build-module/components/collab-sidebar/note-indicator-toolbar.mjs +53 -44
  45. package/build-module/components/collab-sidebar/note-indicator-toolbar.mjs.map +2 -2
  46. package/build-module/components/collaborators-overlay/use-block-highlighting.mjs +1 -8
  47. package/build-module/components/collaborators-overlay/use-block-highlighting.mjs.map +2 -2
  48. package/build-module/components/collaborators-overlay/use-render-cursors.mjs +1 -7
  49. package/build-module/components/collaborators-overlay/use-render-cursors.mjs.map +2 -2
  50. package/build-module/components/more-menu/view-more-menu-group.mjs +1 -2
  51. package/build-module/components/more-menu/view-more-menu-group.mjs.map +2 -2
  52. package/build-module/components/page-attributes/parent.mjs +1 -0
  53. package/build-module/components/page-attributes/parent.mjs.map +2 -2
  54. package/build-module/components/post-publish-button/index.mjs +116 -159
  55. package/build-module/components/post-publish-button/index.mjs.map +2 -2
  56. package/build-module/components/post-revisions-preview/block-diff.mjs +20 -8
  57. package/build-module/components/post-revisions-preview/block-diff.mjs.map +2 -2
  58. package/build-module/components/post-revisions-preview/preserve-client-ids.mjs +1 -1
  59. package/build-module/components/post-revisions-preview/preserve-client-ids.mjs.map +1 -1
  60. package/build-module/components/provider/index.mjs +2 -0
  61. package/build-module/components/provider/index.mjs.map +2 -2
  62. package/build-module/components/provider/use-block-editor-settings.mjs +1 -1
  63. package/build-module/components/provider/use-block-editor-settings.mjs.map +2 -2
  64. package/build-module/components/provider/use-network-reconnect.mjs +30 -0
  65. package/build-module/components/provider/use-network-reconnect.mjs.map +7 -0
  66. package/build-module/components/revision-fields-diff/index.mjs +2 -2
  67. package/build-module/components/revision-fields-diff/index.mjs.map +2 -2
  68. package/build-module/components/sidebar/index.mjs +2 -11
  69. package/build-module/components/sidebar/index.mjs.map +2 -2
  70. package/build-module/components/template-actions-panel/block-theme-content.mjs +7 -1
  71. package/build-module/components/template-actions-panel/block-theme-content.mjs.map +2 -2
  72. package/build-module/components/upload-progress-snackbar/index.mjs +135 -0
  73. package/build-module/components/upload-progress-snackbar/index.mjs.map +7 -0
  74. package/build-module/components/upload-progress-snackbar/tracker.mjs +61 -0
  75. package/build-module/components/upload-progress-snackbar/tracker.mjs.map +7 -0
  76. package/build-module/private-apis.mjs +2 -0
  77. package/build-module/private-apis.mjs.map +2 -2
  78. package/build-module/store/selectors.mjs +1 -2
  79. package/build-module/store/selectors.mjs.map +2 -2
  80. package/build-module/utils/media-upload/index.mjs +19 -0
  81. package/build-module/utils/media-upload/index.mjs.map +2 -2
  82. package/build-style/style-rtl.css +479 -84
  83. package/build-style/style.css +479 -84
  84. package/build-types/components/block-removal-warnings/index.d.ts.map +1 -1
  85. package/build-types/components/collab-sidebar/add-comment.d.ts +6 -0
  86. package/build-types/components/collab-sidebar/add-comment.d.ts.map +1 -0
  87. package/build-types/components/collab-sidebar/comment-author-info.d.ts +8 -0
  88. package/build-types/components/collab-sidebar/comment-author-info.d.ts.map +1 -0
  89. package/build-types/components/collab-sidebar/comment-form.d.ts +9 -0
  90. package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -0
  91. package/build-types/components/collab-sidebar/comment-indicator-toolbar.d.ts +6 -0
  92. package/build-types/components/collab-sidebar/comment-indicator-toolbar.d.ts.map +1 -0
  93. package/build-types/components/collab-sidebar/comment-menu-item.d.ts +6 -0
  94. package/build-types/components/collab-sidebar/comment-menu-item.d.ts.map +1 -0
  95. package/build-types/components/collab-sidebar/comments.d.ts +10 -0
  96. package/build-types/components/collab-sidebar/comments.d.ts.map +1 -0
  97. package/build-types/components/collab-sidebar/note-indicator-toolbar.d.ts.map +1 -1
  98. package/build-types/components/collaborators-overlay/use-block-highlighting.d.ts +0 -3
  99. package/build-types/components/collaborators-overlay/use-block-highlighting.d.ts.map +1 -1
  100. package/build-types/components/collaborators-overlay/use-render-cursors.d.ts.map +1 -1
  101. package/build-types/components/document-bar/index.d.ts +2 -2
  102. package/build-types/components/document-bar/index.d.ts.map +1 -1
  103. package/build-types/components/global-styles-provider/index.d.ts +16 -0
  104. package/build-types/components/global-styles-provider/index.d.ts.map +1 -0
  105. package/build-types/components/media/index.d.ts +3 -0
  106. package/build-types/components/media/index.d.ts.map +1 -0
  107. package/build-types/components/media/metadata-panel.d.ts +12 -0
  108. package/build-types/components/media/metadata-panel.d.ts.map +1 -0
  109. package/build-types/components/media/preview.d.ts +9 -0
  110. package/build-types/components/media/preview.d.ts.map +1 -0
  111. package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -1
  112. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  113. package/build-types/components/post-locked-modal/index.d.ts +6 -1
  114. package/build-types/components/post-publish-button/index.d.ts +9 -9
  115. package/build-types/components/post-publish-button/index.d.ts.map +1 -1
  116. package/build-types/components/post-revisions-preview/block-diff.d.ts +3 -0
  117. package/build-types/components/post-revisions-preview/block-diff.d.ts.map +1 -1
  118. package/build-types/components/post-taxonomies/flat-term-selector.d.ts +6 -1
  119. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +6 -1
  120. package/build-types/components/post-text-editor/index.d.ts +1 -1
  121. package/build-types/components/post-text-editor/index.d.ts.map +1 -1
  122. package/build-types/components/post-text-editor/utils.d.ts +29 -0
  123. package/build-types/components/post-text-editor/utils.d.ts.map +1 -0
  124. package/build-types/components/provider/index.d.ts.map +1 -1
  125. package/build-types/components/provider/use-network-reconnect.d.ts +8 -0
  126. package/build-types/components/provider/use-network-reconnect.d.ts.map +1 -0
  127. package/build-types/components/revision-fields-diff/index.d.ts +3 -0
  128. package/build-types/components/revision-fields-diff/index.d.ts.map +1 -1
  129. package/build-types/components/sidebar/index.d.ts.map +1 -1
  130. package/build-types/components/template-actions-panel/block-theme-content.d.ts.map +1 -1
  131. package/build-types/components/upload-progress-snackbar/index.d.ts +19 -0
  132. package/build-types/components/upload-progress-snackbar/index.d.ts.map +1 -0
  133. package/build-types/components/upload-progress-snackbar/stories/index.story.d.ts +28 -0
  134. package/build-types/components/upload-progress-snackbar/stories/index.story.d.ts.map +1 -0
  135. package/build-types/components/upload-progress-snackbar/tracker.d.ts +41 -0
  136. package/build-types/components/upload-progress-snackbar/tracker.d.ts.map +1 -0
  137. package/build-types/private-apis.d.ts.map +1 -1
  138. package/build-types/store/selectors.d.ts.map +1 -1
  139. package/build-types/utils/get-template-part-icon.d.ts.map +1 -1
  140. package/build-types/utils/media-upload/index.d.ts.map +1 -1
  141. package/package.json +55 -52
  142. package/src/components/README.md +1 -1
  143. package/src/components/block-removal-warnings/index.js +0 -7
  144. package/src/components/collab-sidebar/note-indicator-toolbar.js +73 -60
  145. package/src/components/collaborators-overlay/use-block-highlighting.ts +0 -9
  146. package/src/components/collaborators-overlay/use-render-cursors.ts +0 -8
  147. package/src/components/collaborators-presence/avatar/test/index.tsx +8 -3
  148. package/src/components/more-menu/view-more-menu-group.js +1 -2
  149. package/src/components/page-attributes/parent.js +1 -0
  150. package/src/components/post-publish-button/index.js +143 -192
  151. package/src/components/post-publish-button/test/index.js +137 -114
  152. package/src/components/post-revisions-preview/block-diff.js +63 -19
  153. package/src/components/post-revisions-preview/preserve-client-ids.js +1 -1
  154. package/src/components/post-revisions-preview/test/block-diff.js +109 -6
  155. package/src/components/provider/index.js +4 -0
  156. package/src/components/provider/test/use-network-reconnect.js +137 -0
  157. package/src/components/provider/use-block-editor-settings.js +2 -2
  158. package/src/components/provider/use-network-reconnect.js +44 -0
  159. package/src/components/revision-fields-diff/index.js +7 -2
  160. package/src/components/sidebar/index.js +2 -11
  161. package/src/components/template-actions-panel/block-theme-content.js +10 -1
  162. package/src/components/upload-progress-snackbar/README.md +26 -0
  163. package/src/components/upload-progress-snackbar/index.js +216 -0
  164. package/src/components/upload-progress-snackbar/stories/index.story.tsx +85 -0
  165. package/src/components/upload-progress-snackbar/style.scss +30 -0
  166. package/src/components/upload-progress-snackbar/test/index.js +199 -0
  167. package/src/components/upload-progress-snackbar/tracker.js +105 -0
  168. package/src/private-apis.js +2 -0
  169. package/src/store/selectors.js +1 -3
  170. package/src/style.scss +1 -0
  171. package/src/utils/media-upload/index.js +27 -0
  172. package/src/components/commands/index.native.js +0 -2
  173. package/src/components/deprecated.native.js +0 -47
  174. package/src/components/editor-help/add-blocks.native.js +0 -40
  175. package/src/components/editor-help/customize-blocks.native.js +0 -40
  176. package/src/components/editor-help/help-detail-navigation-screen.native.js +0 -67
  177. package/src/components/editor-help/help-get-support-button.native.js +0 -38
  178. package/src/components/editor-help/help-section-title.native.js +0 -29
  179. package/src/components/editor-help/help-topic-row.native.js +0 -33
  180. package/src/components/editor-help/icon-move-blocks.native.js +0 -10
  181. package/src/components/editor-help/index.native.js +0 -208
  182. package/src/components/editor-help/intro-to-blocks.native.js +0 -91
  183. package/src/components/editor-help/move-blocks.native.js +0 -55
  184. package/src/components/editor-help/remove-blocks.native.js +0 -35
  185. package/src/components/editor-help/style.android.scss +0 -6
  186. package/src/components/editor-help/style.ios.scss +0 -6
  187. package/src/components/editor-help/test/index.native.js +0 -81
  188. package/src/components/editor-help/view-sections.native.js +0 -79
  189. package/src/components/error-boundary/index.native.js +0 -192
  190. package/src/components/error-boundary/style.native.scss +0 -116
  191. package/src/components/index.native.js +0 -15
  192. package/src/components/offline-status/index.native.js +0 -99
  193. package/src/components/offline-status/style.native.scss +0 -28
  194. package/src/components/offline-status/test/index.native.js +0 -108
  195. package/src/components/post-title/index.native.js +0 -282
  196. package/src/components/post-title/style.native.scss +0 -13
  197. package/src/components/post-title/test/__snapshots__/index.native.js.snap +0 -25
  198. package/src/components/post-title/test/index.native.js +0 -78
  199. package/src/components/provider/index.native.js +0 -497
  200. package/src/components/provider/use-block-editor-settings.native.js +0 -48
  201. package/src/components/template-part-menu-items/index.native.js +0 -3
  202. package/src/hooks/index.native.js +0 -0
  203. package/src/index.native.js +0 -16
  204. package/src/private-apis.native.js +0 -33
  205. package/src/store/actions.native.js +0 -27
  206. package/src/store/reducer.native.js +0 -94
  207. package/src/store/selectors.native.js +0 -57
  208. package/src/store/test/actions.native.js +0 -16
  209. package/src/store/test/reducer.native.js +0 -36
  210. package/src/store/test/selectors.native.js +0 -28
  211. package/src/utils/index.native.js +0 -6
  212. package/src/utils/media-sideload/index.native.js +0 -1
  213. package/src/utils/media-upload/index.native.js +0 -1
@@ -1,33 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { useNavigation } from '@react-navigation/native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { TextControl, Icon as WCIcon } from '@wordpress/components';
10
- import { chevronRight } from '@wordpress/icons';
11
-
12
- const HelpTopicRow = ( { label, icon, screenName, isLastItem } ) => {
13
- const navigation = useNavigation();
14
-
15
- const openSubSheet = () => {
16
- navigation.navigate( screenName );
17
- };
18
-
19
- return (
20
- <TextControl
21
- separatorType={ isLastItem ? 'none' : 'leftMargin' }
22
- customActionButton
23
- leftAlign
24
- onPress={ openSubSheet }
25
- label={ label }
26
- icon={ icon }
27
- >
28
- <WCIcon icon={ chevronRight } />
29
- </TextControl>
30
- );
31
- };
32
-
33
- export default HelpTopicRow;
@@ -1,10 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { SVG, Path } from '@wordpress/primitives';
5
-
6
- export default (
7
- <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
- <Path d="M9.53 17.47 9 16.94 7.94 18l.53.53 2 2 .53.53.53-.53 2-2 .53-.53L13 16.94l-.53.53-.72.72v-4.94h-1.5v4.94l-.72-.72Zm-1.06-14L7.94 4 9 5.06l.53-.53.72-.72v4.94h1.5V3.81l.72.72.53.53L14.06 4l-.53-.53-2-2L11 .94l-.53.53-2 2ZM4.53 9.53 5.06 9 4 7.94l-.53.53-2 2-.53.53.53.53 2 2 .53.53L5.06 13l-.53-.53-.72-.72h4.94v-1.5H3.81l.72-.72Zm14-1.06L18 7.94 16.94 9l.53.53.72.72h-4.94v1.5h4.94l-.72.72-.53.53L18 14.06l.53-.53 2-2 .53-.53-.53-.53-2-2Z" />
9
- </SVG>
10
- );
@@ -1,208 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { SafeAreaView, ScrollView, StyleSheet, View } from 'react-native';
5
- import { TransitionPresets } from '@react-navigation/stack';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import {
11
- BottomSheet,
12
- BottomSheetConsumer,
13
- PanelBody,
14
- } from '@wordpress/components';
15
- import { __ } from '@wordpress/i18n';
16
- import { helpFilled, plusCircleFilled, trash, cog } from '@wordpress/icons';
17
- import { useSelect } from '@wordpress/data';
18
- import { store as editorStore } from '@wordpress/editor';
19
- import {
20
- requestContactCustomerSupport,
21
- requestGotoCustomerSupportOptions,
22
- } from '@wordpress/react-native-bridge';
23
-
24
- /**
25
- * Internal dependencies
26
- */
27
- import styles from './style.scss';
28
- import HelpDetailNavigationScreen from './help-detail-navigation-screen';
29
- import HelpTopicRow from './help-topic-row';
30
- import HelpGetSupportButton from './help-get-support-button';
31
- import IntroToBlocks from './intro-to-blocks';
32
- import AddBlocks from './add-blocks';
33
- import MoveBlocks from './move-blocks';
34
- import RemoveBlocks from './remove-blocks';
35
- import CustomizeBlocks from './customize-blocks';
36
- import moveBlocksIcon from './icon-move-blocks';
37
- import HelpSectionTitle from './help-section-title';
38
-
39
- const HELP_TOPICS = [
40
- {
41
- label: __( 'What is a block?' ),
42
- slug: 'what-is-a-block',
43
- icon: helpFilled,
44
- view: <IntroToBlocks />,
45
- },
46
- {
47
- label: __( 'Add blocks' ),
48
- slug: 'add-blocks',
49
- icon: plusCircleFilled,
50
- view: <AddBlocks />,
51
- },
52
- {
53
- label: __( 'Move blocks' ),
54
- slug: 'move-blocks',
55
- icon: moveBlocksIcon,
56
- view: <MoveBlocks />,
57
- },
58
- {
59
- label: __( 'Remove blocks' ),
60
- slug: 'remove-blocks',
61
- icon: trash,
62
- view: <RemoveBlocks />,
63
- },
64
- {
65
- label: __( 'Customize blocks' ),
66
- slug: 'customize-blocks',
67
- icon: cog,
68
- view: <CustomizeBlocks />,
69
- },
70
- ];
71
-
72
- function EditorHelpTopics( { close, isVisible, onClose, showSupport } ) {
73
- const { postType } = useSelect( ( select ) => ( {
74
- postType: select( editorStore ).getEditedPostAttribute( 'type' ),
75
- } ) );
76
-
77
- const title =
78
- postType === 'page'
79
- ? __( 'How to edit your page' )
80
- : __( 'How to edit your post' );
81
-
82
- const supportSection = (
83
- <>
84
- <HelpSectionTitle>{ __( 'Get support' ) }</HelpSectionTitle>
85
- <HelpGetSupportButton
86
- title={ __( 'Contact support' ) }
87
- onPress={ requestContactCustomerSupport }
88
- />
89
- <HelpGetSupportButton
90
- title={ __( 'More support options' ) }
91
- onPress={ requestGotoCustomerSupportOptions }
92
- />
93
- </>
94
- );
95
-
96
- return (
97
- <BottomSheet
98
- isVisible={ isVisible }
99
- onClose={ onClose }
100
- hideHeader
101
- hasNavigation
102
- contentStyle={ styles.contentContainer }
103
- testID="editor-help-modal"
104
- >
105
- <SafeAreaView style={ styles.safeAreaContainer }>
106
- <BottomSheet.NavigationContainer
107
- animate
108
- main
109
- style={ styles.navigationContainer }
110
- >
111
- <BottomSheet.NavigationScreen
112
- isScrollable
113
- fullScreen
114
- name="help-topics"
115
- >
116
- <View style={ styles.container }>
117
- <BottomSheet.NavBar>
118
- <BottomSheet.NavBar.DismissButton
119
- onPress={ close }
120
- iosText={ __( 'Close' ) }
121
- />
122
- <BottomSheet.NavBar.Heading>
123
- { title }
124
- </BottomSheet.NavBar.Heading>
125
- </BottomSheet.NavBar>
126
- <BottomSheetConsumer>
127
- { ( { listProps } ) => {
128
- const contentContainerStyle =
129
- StyleSheet.flatten(
130
- listProps.contentContainerStyle
131
- );
132
- return (
133
- <ScrollView
134
- { ...listProps }
135
- contentContainerStyle={ {
136
- ...contentContainerStyle,
137
- paddingBottom: Math.max(
138
- listProps.safeAreaBottomInset,
139
- contentContainerStyle.paddingBottom
140
- ),
141
- /**
142
- * Remove margin set via `hideHeader`. Combining a header
143
- * and navigation in this bottom sheet is at odds with the
144
- * current `BottomSheet` implementation.
145
- */
146
- marginTop: 0,
147
- } }
148
- >
149
- <PanelBody>
150
- <HelpSectionTitle>
151
- { __( 'The basics' ) }
152
- </HelpSectionTitle>
153
- { /* Print out help topics. */ }
154
- { HELP_TOPICS.map(
155
- (
156
- { label, icon, slug },
157
- index
158
- ) => {
159
- const isLastItem =
160
- index ===
161
- HELP_TOPICS.length -
162
- 1;
163
- return (
164
- <HelpTopicRow
165
- key={ slug }
166
- label={ label }
167
- icon={ icon }
168
- screenName={
169
- slug
170
- }
171
- isLastItem={
172
- isLastItem
173
- }
174
- />
175
- );
176
- }
177
- ) }
178
- { showSupport &&
179
- supportSection }
180
- </PanelBody>
181
- </ScrollView>
182
- );
183
- } }
184
- </BottomSheetConsumer>
185
- </View>
186
- </BottomSheet.NavigationScreen>
187
- { /* Print out help detail screens. */ }
188
- { HELP_TOPICS.map( ( { view, label, slug } ) => {
189
- return (
190
- <HelpDetailNavigationScreen
191
- key={ slug }
192
- name={ slug }
193
- content={ view }
194
- label={ label }
195
- options={ {
196
- gestureEnabled: false,
197
- ...TransitionPresets.DefaultTransition,
198
- } }
199
- />
200
- );
201
- } ) }
202
- </BottomSheet.NavigationContainer>
203
- </SafeAreaView>
204
- </BottomSheet>
205
- );
206
- }
207
-
208
- export default EditorHelpTopics;
@@ -1,91 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View, Text } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { __ } from '@wordpress/i18n';
10
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import styles from './style.scss';
16
- import {
17
- HelpDetailBodyText,
18
- HelpDetailSectionHeadingText,
19
- HelpDetailImage,
20
- } from './view-sections';
21
-
22
- const IntroToBlocks = () => {
23
- const titleStyle = usePreferredColorSchemeStyle(
24
- styles.helpDetailTitle,
25
- styles.helpDetailTitleDark
26
- );
27
- return (
28
- <>
29
- <HelpDetailImage
30
- source={ require( './images/block-layout-collage.png' ) }
31
- />
32
- <View style={ styles.helpDetailContainer }>
33
- <Text
34
- accessibilityRole="header"
35
- selectable
36
- style={ titleStyle }
37
- >
38
- { __( 'Welcome to the world of blocks' ) }
39
- </Text>
40
- <HelpDetailBodyText
41
- text={ __(
42
- 'Blocks are pieces of content that you can insert, rearrange, and style without needing to know how to code. Blocks are an easy and modern way for you to create beautiful layouts.'
43
- ) }
44
- />
45
- <HelpDetailSectionHeadingText
46
- text={ __( 'Rich text editing' ) }
47
- />
48
- <HelpDetailBodyText
49
- text={ __(
50
- 'Blocks allow you to focus on writing your content, knowing that all the formatting tools you need are there to help you get your message across.'
51
- ) }
52
- />
53
- <HelpDetailImage
54
- accessible
55
- accessibilityLabel={ __(
56
- 'Text formatting controls are located within the toolbar positioned above the keyboard while editing a text block'
57
- ) }
58
- source={ require( './images/rich-text-light.png' ) }
59
- sourceDarkMode={ require( './images/rich-text-dark.png' ) }
60
- />
61
- <HelpDetailSectionHeadingText text={ __( 'Embed media' ) } />
62
- <HelpDetailBodyText
63
- text={ __(
64
- 'Make your content stand out by adding images, gifs, videos, and embedded media to your pages.'
65
- ) }
66
- />
67
- <HelpDetailImage
68
- source={ require( './images/embed-media-light.png' ) }
69
- sourceDarkMode={ require( './images/embed-media-dark.png' ) }
70
- />
71
- <HelpDetailSectionHeadingText text={ __( 'Build layouts' ) } />
72
- <HelpDetailBodyText
73
- text={ __(
74
- 'Arrange your content into columns, add Call to action buttons, and overlay images with text.'
75
- ) }
76
- />
77
- <HelpDetailImage
78
- source={ require( './images/build-layouts-light.png' ) }
79
- sourceDarkMode={ require( './images/build-layouts-dark.png' ) }
80
- />
81
- <HelpDetailBodyText
82
- text={ __(
83
- 'Give it a try by adding a few blocks to your post or page!'
84
- ) }
85
- />
86
- </View>
87
- </>
88
- );
89
- };
90
-
91
- export default IntroToBlocks;
@@ -1,55 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { __ } from '@wordpress/i18n';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import styles from './style.scss';
15
- import {
16
- HelpDetailBodyText,
17
- HelpDetailImage,
18
- HelpDetailSectionHeadingText,
19
- } from './view-sections';
20
-
21
- const MoveBlocks = () => {
22
- return (
23
- <>
24
- <HelpDetailImage
25
- source={ require( './images/drag-and-drop-light.png' ) }
26
- sourceDarkMode={ require( './images/drag-and-drop-dark.png' ) }
27
- />
28
- <View style={ styles.helpDetailContainer }>
29
- <HelpDetailSectionHeadingText
30
- text={ __( 'Drag & drop' ) }
31
- badge={ __( 'NEW' ) }
32
- />
33
- <HelpDetailBodyText
34
- text={ __(
35
- 'Drag & drop makes rearranging blocks a breeze. Press and hold on a block, then drag it to its new location and release.'
36
- ) }
37
- />
38
- </View>
39
- <HelpDetailImage
40
- source={ require( './images/move-light.png' ) }
41
- sourceDarkMode={ require( './images/move-dark.png' ) }
42
- />
43
- <View style={ styles.helpDetailContainer }>
44
- <HelpDetailSectionHeadingText text={ __( 'Arrow buttons' ) } />
45
- <HelpDetailBodyText
46
- text={ __(
47
- 'You can also rearrange blocks by tapping a block and then tapping the up and down arrows that appear on the bottom left side of the block to move it up or down.'
48
- ) }
49
- />
50
- </View>
51
- </>
52
- );
53
- };
54
-
55
- export default MoveBlocks;
@@ -1,35 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { __ } from '@wordpress/i18n';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import styles from './style.scss';
15
- import { HelpDetailBodyText, HelpDetailImage } from './view-sections';
16
-
17
- const RemoveBlocks = () => {
18
- return (
19
- <>
20
- <HelpDetailImage
21
- source={ require( './images/options-light.png' ) }
22
- sourceDarkMode={ require( './images/options-dark.png' ) }
23
- />
24
- <View style={ styles.helpDetailContainer }>
25
- <HelpDetailBodyText
26
- text={ __(
27
- 'To remove a block, select the block and click the three dots in the bottom right of the block to view the settings. From there, choose the option to remove the block.'
28
- ) }
29
- />
30
- </View>
31
- </>
32
- );
33
- };
34
-
35
- export default RemoveBlocks;
@@ -1,6 +0,0 @@
1
- @import "./style.scss";
2
-
3
- .button {
4
- border-radius: $border-width * 4;
5
- padding: $grid-unit-10;
6
- }
@@ -1,6 +0,0 @@
1
- @import "./style.scss";
2
-
3
- .button {
4
- border-radius: $border-width * 8;
5
- padding: $grid-unit-15;
6
- }
@@ -1,81 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { fireEvent, render, waitForElementToBeRemoved } from 'test/helpers';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import EditorHelp from '../index';
10
-
11
- it( 'lists help topics', async () => {
12
- const screen = render( <EditorHelp isVisible /> );
13
- const helpTopic = await screen.findByText( 'Customize blocks' );
14
-
15
- expect( helpTopic ).toBeTruthy();
16
- } );
17
-
18
- it( 'navigates to help topic detail screen', async () => {
19
- const screen = render( <EditorHelp isVisible /> );
20
- const helpTopic = await screen.findByText( 'Customize blocks' );
21
- fireEvent.press( helpTopic );
22
-
23
- expect(
24
- screen.getByText(
25
- 'Each block has its own settings. To find them, tap on a block. Its settings will appear on the toolbar at the bottom of the screen.'
26
- )
27
- ).toBeTruthy();
28
- } );
29
-
30
- it( 'navigates back from help topic detail screen', async () => {
31
- const screen = render( <EditorHelp isVisible /> );
32
- const helpTopic = await screen.findByText( 'Customize blocks' );
33
- fireEvent.press( helpTopic );
34
-
35
- const backButton = screen.getAllByLabelText( 'Go back' );
36
- fireEvent.press( backButton[ backButton.length - 1 ] );
37
-
38
- const text =
39
- 'Each block has its own settings. To find them, tap on a block. Its settings will appear on the toolbar at the bottom of the screen.';
40
- await waitForElementToBeRemoved( () =>
41
- screen.getByText( text, { hidden: true } )
42
- );
43
-
44
- expect( screen.queryByText( text ) ).toBeNull();
45
- } );
46
-
47
- it( 'dismisses when close button is pressed', async () => {
48
- const closeMock = jest.fn();
49
- const screen = render( <EditorHelp isVisible close={ closeMock } /> );
50
- const closeButton = await screen.findByLabelText( 'Go back' );
51
- fireEvent.press( closeButton );
52
-
53
- expect( closeMock ).toHaveBeenCalled();
54
- } );
55
-
56
- it( 'dismisses when parent modal backdrop is pressed', async () => {
57
- const onCloseMock = jest.fn();
58
- const screen = render( <EditorHelp isVisible onClose={ onCloseMock } /> );
59
- const modal = await screen.findByTestId( 'editor-help-modal' );
60
- fireEvent( modal, 'backdropPress' );
61
-
62
- expect( onCloseMock ).toHaveBeenCalled();
63
- } );
64
-
65
- it( 'dismisses when parent modal backdrop is swiped', async () => {
66
- const onCloseMock = jest.fn();
67
- const screen = render( <EditorHelp isVisible onClose={ onCloseMock } /> );
68
- const modal = await screen.findByTestId( 'editor-help-modal' );
69
- fireEvent( modal, 'swipeComplete' );
70
-
71
- expect( onCloseMock ).toHaveBeenCalled();
72
- } );
73
-
74
- it( 'dismisses when hardware back button is pressed', async () => {
75
- const onCloseMock = jest.fn();
76
- const screen = render( <EditorHelp isVisible onClose={ onCloseMock } /> );
77
- const modal = await screen.findByTestId( 'editor-help-modal' );
78
- fireEvent( modal, 'backButtonPress' );
79
-
80
- expect( onCloseMock ).toHaveBeenCalled();
81
- } );
@@ -1,79 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { Text, Image, View } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import {
10
- usePreferredColorScheme,
11
- usePreferredColorSchemeStyle,
12
- } from '@wordpress/compose';
13
-
14
- /**
15
- * Internal dependencies
16
- */
17
- import styles from './style.scss';
18
-
19
- export const HelpDetailBodyText = ( { text } ) => {
20
- const bodyStyle = usePreferredColorSchemeStyle(
21
- styles.helpDetailBody,
22
- styles.helpDetailBodyDark
23
- );
24
- return (
25
- <Text selectable style={ bodyStyle }>
26
- { text }
27
- </Text>
28
- );
29
- };
30
-
31
- export const HelpDetailSectionHeadingText = ( { text, badge } ) => {
32
- const headingTextStyle = usePreferredColorSchemeStyle(
33
- styles.helpDetailSectionHeadingText,
34
- styles.helpDetailSectionHeadingTextDark
35
- );
36
- return (
37
- <View style={ styles.helpDetailSectionHeading }>
38
- { badge && <HelpDetailBadge text={ badge } /> }
39
- <Text
40
- accessibilityRole="header"
41
- selectable
42
- style={ headingTextStyle }
43
- >
44
- { text }
45
- </Text>
46
- </View>
47
- );
48
- };
49
-
50
- export const HelpDetailImage = ( {
51
- accessible,
52
- accessibilityLabel,
53
- source,
54
- sourceDarkMode,
55
- } ) => {
56
- const imageStyle = usePreferredColorSchemeStyle(
57
- styles.helpDetailImage,
58
- styles.helpDetailImageDark
59
- );
60
- const darkModeEnabled = usePreferredColorScheme() === 'dark';
61
- return (
62
- <Image
63
- accessible={ accessible }
64
- accessibilityLabel={ accessibilityLabel }
65
- source={
66
- darkModeEnabled && sourceDarkMode ? sourceDarkMode : source
67
- }
68
- style={ imageStyle }
69
- />
70
- );
71
- };
72
-
73
- const HelpDetailBadge = ( { text } ) => {
74
- return (
75
- <View style={ styles.helpDetailBadgeContainer }>
76
- <Text style={ styles.helpDetailBadgeText }>{ text }</Text>
77
- </View>
78
- );
79
- };