@wordpress/edit-site 3.0.10 → 3.0.14

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 (186) hide show
  1. package/build/components/add-new-template/new-template-part.js +34 -18
  2. package/build/components/add-new-template/new-template-part.js.map +1 -1
  3. package/build/components/add-new-template/new-template.js +41 -23
  4. package/build/components/add-new-template/new-template.js.map +1 -1
  5. package/build/components/block-editor/index.js +3 -1
  6. package/build/components/block-editor/index.js.map +1 -1
  7. package/build/components/editor/index.js +12 -6
  8. package/build/components/editor/index.js.map +1 -1
  9. package/build/components/global-styles/color-palette-panel.js +29 -6
  10. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  11. package/build/components/global-styles/global-styles-provider.js +5 -43
  12. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  13. package/build/components/global-styles/gradients-palette-panel.js +71 -0
  14. package/build/components/global-styles/gradients-palette-panel.js.map +1 -0
  15. package/build/components/global-styles/hooks.js +5 -5
  16. package/build/components/global-styles/hooks.js.map +1 -1
  17. package/build/components/global-styles/palette.js +11 -5
  18. package/build/components/global-styles/palette.js.map +1 -1
  19. package/build/components/global-styles/screen-background-color.js +3 -1
  20. package/build/components/global-styles/screen-background-color.js.map +1 -1
  21. package/build/components/global-styles/screen-color-palette.js +23 -3
  22. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  23. package/build/components/global-styles/screen-link-color.js +3 -1
  24. package/build/components/global-styles/screen-link-color.js.map +1 -1
  25. package/build/components/global-styles/screen-text-color.js +3 -1
  26. package/build/components/global-styles/screen-text-color.js.map +1 -1
  27. package/build/components/global-styles/screen-typography-element.js +54 -0
  28. package/build/components/global-styles/screen-typography-element.js.map +1 -0
  29. package/build/components/global-styles/screen-typography.js +74 -6
  30. package/build/components/global-styles/screen-typography.js.map +1 -1
  31. package/build/components/global-styles/typography-panel.js +28 -8
  32. package/build/components/global-styles/typography-panel.js.map +1 -1
  33. package/build/components/global-styles/ui.js +12 -0
  34. package/build/components/global-styles/ui.js.map +1 -1
  35. package/build/components/global-styles/use-global-styles-output.js +2 -2
  36. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  37. package/build/components/global-styles/utils.js +1 -1
  38. package/build/components/global-styles/utils.js.map +1 -1
  39. package/build/components/keyboard-shortcuts/index.js +26 -0
  40. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  41. package/build/components/list/actions/index.js +104 -0
  42. package/build/components/list/actions/index.js.map +1 -0
  43. package/build/components/list/actions/rename-menu-item.js +112 -0
  44. package/build/components/list/actions/rename-menu-item.js.map +1 -0
  45. package/build/components/list/added-by.js +180 -0
  46. package/build/components/list/added-by.js.map +1 -0
  47. package/build/components/list/index.js +54 -7
  48. package/build/components/list/index.js.map +1 -1
  49. package/build/components/list/table.js +58 -68
  50. package/build/components/list/table.js.map +1 -1
  51. package/build/components/list/use-register-shortcuts.js +52 -0
  52. package/build/components/list/use-register-shortcuts.js.map +1 -0
  53. package/build/components/navigation-sidebar/index.js +24 -9
  54. package/build/components/navigation-sidebar/index.js.map +1 -1
  55. package/build/components/navigation-sidebar/navigation-panel/index.js +35 -17
  56. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  57. package/build/components/navigation-sidebar/navigation-toggle/index.js +14 -5
  58. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  59. package/build/components/template-details/edit-template-title.js +33 -0
  60. package/build/components/template-details/edit-template-title.js.map +1 -0
  61. package/build/components/template-details/index.js +8 -4
  62. package/build/components/template-details/index.js.map +1 -1
  63. package/build/components/template-details/template-areas.js +1 -1
  64. package/build/components/template-details/template-areas.js.map +1 -1
  65. package/build/index.js +8 -2
  66. package/build/index.js.map +1 -1
  67. package/build/store/actions.js +47 -18
  68. package/build/store/actions.js.map +1 -1
  69. package/build/store/selectors.js +25 -5
  70. package/build/store/selectors.js.map +1 -1
  71. package/build-module/components/add-new-template/new-template-part.js +30 -17
  72. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  73. package/build-module/components/add-new-template/new-template.js +40 -24
  74. package/build-module/components/add-new-template/new-template.js.map +1 -1
  75. package/build-module/components/block-editor/index.js +2 -1
  76. package/build-module/components/block-editor/index.js.map +1 -1
  77. package/build-module/components/editor/index.js +13 -7
  78. package/build-module/components/editor/index.js.map +1 -1
  79. package/build-module/components/global-styles/color-palette-panel.js +29 -7
  80. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  81. package/build-module/components/global-styles/global-styles-provider.js +6 -39
  82. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  83. package/build-module/components/global-styles/gradients-palette-panel.js +60 -0
  84. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -0
  85. package/build-module/components/global-styles/hooks.js +5 -5
  86. package/build-module/components/global-styles/hooks.js.map +1 -1
  87. package/build-module/components/global-styles/palette.js +12 -5
  88. package/build-module/components/global-styles/palette.js.map +1 -1
  89. package/build-module/components/global-styles/screen-background-color.js +3 -1
  90. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  91. package/build-module/components/global-styles/screen-color-palette.js +22 -3
  92. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  93. package/build-module/components/global-styles/screen-link-color.js +3 -1
  94. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  95. package/build-module/components/global-styles/screen-text-color.js +3 -1
  96. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  97. package/build-module/components/global-styles/screen-typography-element.js +41 -0
  98. package/build-module/components/global-styles/screen-typography-element.js.map +1 -0
  99. package/build-module/components/global-styles/screen-typography.js +70 -6
  100. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  101. package/build-module/components/global-styles/typography-panel.js +28 -8
  102. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  103. package/build-module/components/global-styles/ui.js +11 -0
  104. package/build-module/components/global-styles/ui.js.map +1 -1
  105. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  106. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  107. package/build-module/components/global-styles/utils.js +1 -1
  108. package/build-module/components/global-styles/utils.js.map +1 -1
  109. package/build-module/components/keyboard-shortcuts/index.js +26 -0
  110. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  111. package/build-module/components/list/actions/index.js +85 -0
  112. package/build-module/components/list/actions/index.js.map +1 -0
  113. package/build-module/components/list/actions/rename-menu-item.js +101 -0
  114. package/build-module/components/list/actions/rename-menu-item.js.map +1 -0
  115. package/build-module/components/list/added-by.js +166 -0
  116. package/build-module/components/list/added-by.js.map +1 -0
  117. package/build-module/components/list/index.js +49 -8
  118. package/build-module/components/list/index.js.map +1 -1
  119. package/build-module/components/list/table.js +60 -70
  120. package/build-module/components/list/table.js.map +1 -1
  121. package/build-module/components/list/use-register-shortcuts.js +41 -0
  122. package/build-module/components/list/use-register-shortcuts.js.map +1 -0
  123. package/build-module/components/navigation-sidebar/index.js +22 -10
  124. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  125. package/build-module/components/navigation-sidebar/navigation-panel/index.js +33 -18
  126. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  127. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +14 -6
  128. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  129. package/build-module/components/template-details/edit-template-title.js +23 -0
  130. package/build-module/components/template-details/edit-template-title.js.map +1 -0
  131. package/build-module/components/template-details/index.js +7 -4
  132. package/build-module/components/template-details/index.js.map +1 -1
  133. package/build-module/components/template-details/template-areas.js +1 -1
  134. package/build-module/components/template-details/template-areas.js.map +1 -1
  135. package/build-module/index.js +8 -3
  136. package/build-module/index.js.map +1 -1
  137. package/build-module/store/actions.js +48 -19
  138. package/build-module/store/actions.js.map +1 -1
  139. package/build-module/store/selectors.js +21 -3
  140. package/build-module/store/selectors.js.map +1 -1
  141. package/build-style/style-rtl.css +146 -21
  142. package/build-style/style.css +146 -21
  143. package/package.json +10 -8
  144. package/src/components/add-new-template/new-template-part.js +32 -18
  145. package/src/components/add-new-template/new-template.js +39 -20
  146. package/src/components/block-editor/index.js +2 -0
  147. package/src/components/editor/index.js +17 -6
  148. package/src/components/global-styles/color-palette-panel.js +64 -7
  149. package/src/components/global-styles/global-styles-provider.js +3 -33
  150. package/src/components/global-styles/gradients-palette-panel.js +99 -0
  151. package/src/components/global-styles/hooks.js +4 -4
  152. package/src/components/global-styles/palette.js +30 -10
  153. package/src/components/global-styles/screen-background-color.js +2 -0
  154. package/src/components/global-styles/screen-color-palette.js +30 -3
  155. package/src/components/global-styles/screen-link-color.js +2 -0
  156. package/src/components/global-styles/screen-text-color.js +2 -0
  157. package/src/components/global-styles/screen-typography-element.js +39 -0
  158. package/src/components/global-styles/screen-typography.js +84 -3
  159. package/src/components/global-styles/style.scss +45 -6
  160. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  161. package/src/components/global-styles/test/utils.js +1 -1
  162. package/src/components/global-styles/typography-panel.js +37 -7
  163. package/src/components/global-styles/ui.js +9 -0
  164. package/src/components/global-styles/use-global-styles-output.js +2 -2
  165. package/src/components/global-styles/utils.js +1 -1
  166. package/src/components/keyboard-shortcuts/index.js +32 -0
  167. package/src/components/list/actions/index.js +95 -0
  168. package/src/components/list/actions/rename-menu-item.js +134 -0
  169. package/src/components/list/added-by.js +179 -0
  170. package/src/components/list/index.js +63 -5
  171. package/src/components/list/style.scss +106 -11
  172. package/src/components/list/table.js +65 -76
  173. package/src/components/list/use-register-shortcuts.js +45 -0
  174. package/src/components/navigation-sidebar/index.js +21 -12
  175. package/src/components/navigation-sidebar/navigation-panel/index.js +32 -15
  176. package/src/components/navigation-sidebar/navigation-toggle/index.js +29 -17
  177. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +2 -0
  178. package/src/components/sidebar/style.scss +2 -1
  179. package/src/components/template-details/edit-template-title.js +28 -0
  180. package/src/components/template-details/index.js +15 -10
  181. package/src/components/template-details/template-areas.js +1 -1
  182. package/src/index.js +10 -2
  183. package/src/store/actions.js +82 -34
  184. package/src/store/selectors.js +22 -4
  185. package/src/store/test/actions.js +0 -24
  186. package/src/store/test/selectors.js +24 -0
@@ -0,0 +1,166 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import classnames from 'classnames';
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+
11
+ import { __experimentalHStack as HStack, Icon, Tooltip } from '@wordpress/components';
12
+ import { store as coreStore } from '@wordpress/core-data';
13
+ import { useSelect } from '@wordpress/data';
14
+ import { useState } from '@wordpress/element';
15
+ import { layout as themeIcon, plugins as pluginIcon } from '@wordpress/icons';
16
+ import { __ } from '@wordpress/i18n';
17
+ const TEMPLATE_POST_TYPE_NAMES = ['wp_template', 'wp_template_part'];
18
+
19
+ function CustomizedTooltip(_ref) {
20
+ let {
21
+ isCustomized,
22
+ children
23
+ } = _ref;
24
+
25
+ if (!isCustomized) {
26
+ return children;
27
+ }
28
+
29
+ return createElement(Tooltip, {
30
+ text: __('This template has been customized')
31
+ }, children);
32
+ }
33
+
34
+ function AddedByTheme(_ref2) {
35
+ var _theme$name;
36
+
37
+ let {
38
+ slug,
39
+ isCustomized
40
+ } = _ref2;
41
+ const theme = useSelect(select => select(coreStore).getTheme(slug), [slug]);
42
+ return createElement(HStack, {
43
+ alignment: "left"
44
+ }, createElement(CustomizedTooltip, {
45
+ isCustomized: isCustomized
46
+ }, createElement("div", {
47
+ className: classnames('edit-site-list-added-by__icon', {
48
+ 'is-customized': isCustomized
49
+ })
50
+ }, createElement(Icon, {
51
+ icon: themeIcon
52
+ }))), createElement("span", null, (theme === null || theme === void 0 ? void 0 : (_theme$name = theme.name) === null || _theme$name === void 0 ? void 0 : _theme$name.rendered) || slug));
53
+ }
54
+
55
+ function AddedByPlugin(_ref3) {
56
+ let {
57
+ slug,
58
+ isCustomized
59
+ } = _ref3;
60
+ const plugin = useSelect(select => select(coreStore).getPlugin(slug), [slug]);
61
+ return createElement(HStack, {
62
+ alignment: "left"
63
+ }, createElement(CustomizedTooltip, {
64
+ isCustomized: isCustomized
65
+ }, createElement("div", {
66
+ className: "edit-site-list-added-by__icon"
67
+ }, createElement(Icon, {
68
+ icon: pluginIcon
69
+ }))), createElement("span", null, (plugin === null || plugin === void 0 ? void 0 : plugin.name) || slug));
70
+ }
71
+
72
+ function AddedByAuthor(_ref4) {
73
+ let {
74
+ id
75
+ } = _ref4;
76
+ const user = useSelect(select => select(coreStore).getUser(id), [id]);
77
+ const [isImageLoaded, setIsImageLoaded] = useState(false);
78
+ return createElement(HStack, {
79
+ alignment: "left"
80
+ }, createElement("div", {
81
+ className: classnames('edit-site-list-added-by__avatar', {
82
+ 'is-loaded': isImageLoaded
83
+ })
84
+ }, createElement("img", {
85
+ onLoad: () => setIsImageLoaded(true),
86
+ alt: "",
87
+ src: user === null || user === void 0 ? void 0 : user.avatar_urls[48]
88
+ })), createElement("span", null, user === null || user === void 0 ? void 0 : user.nickname));
89
+ }
90
+
91
+ function AddedBySite() {
92
+ const {
93
+ name,
94
+ logoURL
95
+ } = useSelect(select => {
96
+ var _getMedia;
97
+
98
+ const {
99
+ getEntityRecord,
100
+ getMedia
101
+ } = select(coreStore);
102
+ const siteData = getEntityRecord('root', '__unstableBase');
103
+ return {
104
+ name: siteData.name,
105
+ logoURL: siteData !== null && siteData !== void 0 && siteData.site_logo ? (_getMedia = getMedia(siteData.site_logo)) === null || _getMedia === void 0 ? void 0 : _getMedia.source_url : undefined
106
+ };
107
+ }, []);
108
+ const [isImageLoaded, setIsImageLoaded] = useState(false);
109
+ return createElement(HStack, {
110
+ alignment: "left"
111
+ }, createElement("div", {
112
+ className: classnames('edit-site-list-added-by__avatar', {
113
+ 'is-loaded': isImageLoaded
114
+ })
115
+ }, createElement("img", {
116
+ onLoad: () => setIsImageLoaded(true),
117
+ alt: "",
118
+ src: logoURL
119
+ })), createElement("span", null, name));
120
+ }
121
+
122
+ export default function AddedBy(_ref5) {
123
+ let {
124
+ templateType,
125
+ template
126
+ } = _ref5;
127
+
128
+ if (!template) {
129
+ return;
130
+ }
131
+
132
+ if (TEMPLATE_POST_TYPE_NAMES.includes(templateType)) {
133
+ // Template originally provided by a theme, but customized by a user.
134
+ // Templates originally didn't have the 'origin' field so identify
135
+ // older customized templates by checking for no origin and a 'theme'
136
+ // or 'custom' source.
137
+ if (template.has_theme_file && (template.origin === 'theme' || !template.origin && ['theme', 'custom'].includes(template.source))) {
138
+ return createElement(AddedByTheme, {
139
+ slug: template.theme,
140
+ isCustomized: template.source === 'custom'
141
+ });
142
+ } // Template originally provided by a plugin, but customized by a user.
143
+
144
+
145
+ if (template.has_theme_file && template.origin === 'plugin') {
146
+ return createElement(AddedByPlugin, {
147
+ slug: template.theme,
148
+ isCustomized: template.source === 'custom'
149
+ });
150
+ } // Template was created from scratch, but has no author. Author support
151
+ // was only added to templates in WordPress 5.9. Fallback to showing the
152
+ // site logo and title.
153
+
154
+
155
+ if (!template.has_theme_file && template.source === 'custom' && !template.author) {
156
+ return createElement(AddedBySite, null);
157
+ }
158
+ } // Simply show the author for templates created from scratch that have an
159
+ // author or for any other post type.
160
+
161
+
162
+ return createElement(AddedByAuthor, {
163
+ id: template.author
164
+ });
165
+ }
166
+ //# sourceMappingURL=added-by.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"names":["classnames","__experimentalHStack","HStack","Icon","Tooltip","store","coreStore","useSelect","useState","layout","themeIcon","plugins","pluginIcon","__","TEMPLATE_POST_TYPE_NAMES","CustomizedTooltip","isCustomized","children","AddedByTheme","slug","theme","select","getTheme","name","rendered","AddedByPlugin","plugin","getPlugin","AddedByAuthor","id","user","getUser","isImageLoaded","setIsImageLoaded","avatar_urls","nickname","AddedBySite","logoURL","getEntityRecord","getMedia","siteData","site_logo","source_url","undefined","AddedBy","templateType","template","includes","has_theme_file","origin","source","author"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,oBAAoB,IAAIC,MADzB,EAECC,IAFD,EAGCC,OAHD,QAIO,uBAJP;AAKA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,MAAM,IAAIC,SAAnB,EAA8BC,OAAO,IAAIC,UAAzC,QAA2D,kBAA3D;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,wBAAwB,GAAG,CAAE,aAAF,EAAiB,kBAAjB,CAAjC;;AAEA,SAASC,iBAAT,OAAyD;AAAA,MAA7B;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAA6B;;AACxD,MAAK,CAAED,YAAP,EAAsB;AACrB,WAAOC,QAAP;AACA;;AAED,SACC,cAAC,OAAD;AAAS,IAAA,IAAI,EAAGJ,EAAE,CAAE,mCAAF;AAAlB,KACGI,QADH,CADD;AAKA;;AAED,SAASC,YAAT,QAAgD;AAAA;;AAAA,MAAzB;AAAEC,IAAAA,IAAF;AAAQH,IAAAA;AAAR,GAAyB;AAC/C,QAAMI,KAAK,GAAGb,SAAS,CACpBc,MAAF,IAAcA,MAAM,CAAEf,SAAF,CAAN,CAAoBgB,QAApB,CAA8BH,IAA9B,CADQ,EAEtB,CAAEA,IAAF,CAFsB,CAAvB;AAKA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,cAAC,iBAAD;AAAmB,IAAA,YAAY,EAAGH;AAAlC,KACC;AACC,IAAA,SAAS,EAAGhB,UAAU,CAAE,+BAAF,EAAmC;AACxD,uBAAiBgB;AADuC,KAAnC;AADvB,KAKC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGN;AAAb,IALD,CADD,CADD,EAUC,4BAAQ,CAAAU,KAAK,SAAL,IAAAA,KAAK,WAAL,2BAAAA,KAAK,CAAEG,IAAP,4DAAaC,QAAb,KAAyBL,IAAjC,CAVD,CADD;AAcA;;AAED,SAASM,aAAT,QAAiD;AAAA,MAAzB;AAAEN,IAAAA,IAAF;AAAQH,IAAAA;AAAR,GAAyB;AAChD,QAAMU,MAAM,GAAGnB,SAAS,CACrBc,MAAF,IAAcA,MAAM,CAAEf,SAAF,CAAN,CAAoBqB,SAApB,CAA+BR,IAA/B,CADS,EAEvB,CAAEA,IAAF,CAFuB,CAAxB;AAKA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,cAAC,iBAAD;AAAmB,IAAA,YAAY,EAAGH;AAAlC,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGJ;AAAb,IADD,CADD,CADD,EAMC,4BAAQ,CAAAc,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEH,IAAR,KAAgBJ,IAAxB,CAND,CADD;AAUA;;AAED,SAASS,aAAT,QAAiC;AAAA,MAAT;AAAEC,IAAAA;AAAF,GAAS;AAChC,QAAMC,IAAI,GAAGvB,SAAS,CAAIc,MAAF,IAAcA,MAAM,CAAEf,SAAF,CAAN,CAAoByB,OAApB,CAA6BF,EAA7B,CAAhB,EAAmD,CACxEA,EADwE,CAAnD,CAAtB;AAGA,QAAM,CAAEG,aAAF,EAAiBC,gBAAjB,IAAsCzB,QAAQ,CAAE,KAAF,CAApD;AAEA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC;AACC,IAAA,SAAS,EAAGR,UAAU,CAAE,iCAAF,EAAqC;AAC1D,mBAAagC;AAD6C,KAArC;AADvB,KAKC;AACC,IAAA,MAAM,EAAG,MAAMC,gBAAgB,CAAE,IAAF,CADhC;AAEC,IAAA,GAAG,EAAC,EAFL;AAGC,IAAA,GAAG,EAAGH,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEI,WAAN,CAAmB,EAAnB;AAHP,IALD,CADD,EAYC,4BAAQJ,IAAR,aAAQA,IAAR,uBAAQA,IAAI,CAAEK,QAAd,CAZD,CADD;AAgBA;;AAED,SAASC,WAAT,GAAuB;AACtB,QAAM;AAAEb,IAAAA,IAAF;AAAQc,IAAAA;AAAR,MAAoB9B,SAAS,CAAIc,MAAF,IAAc;AAAA;;AAClD,UAAM;AAAEiB,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAgClB,MAAM,CAAEf,SAAF,CAA5C;AACA,UAAMkC,QAAQ,GAAGF,eAAe,CAAE,MAAF,EAAU,gBAAV,CAAhC;AAEA,WAAO;AACNf,MAAAA,IAAI,EAAEiB,QAAQ,CAACjB,IADT;AAENc,MAAAA,OAAO,EAAEG,QAAQ,SAAR,IAAAA,QAAQ,WAAR,IAAAA,QAAQ,CAAEC,SAAV,gBACNF,QAAQ,CAAEC,QAAQ,CAACC,SAAX,CADF,8CACN,UAAgCC,UAD1B,GAENC;AAJG,KAAP;AAMA,GAVkC,EAUhC,EAVgC,CAAnC;AAWA,QAAM,CAAEX,aAAF,EAAiBC,gBAAjB,IAAsCzB,QAAQ,CAAE,KAAF,CAApD;AAEA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC;AACC,IAAA,SAAS,EAAGR,UAAU,CAAE,iCAAF,EAAqC;AAC1D,mBAAagC;AAD6C,KAArC;AADvB,KAKC;AACC,IAAA,MAAM,EAAG,MAAMC,gBAAgB,CAAE,IAAF,CADhC;AAEC,IAAA,GAAG,EAAC,EAFL;AAGC,IAAA,GAAG,EAAGI;AAHP,IALD,CADD,EAYC,4BAAQd,IAAR,CAZD,CADD;AAgBA;;AAED,eAAe,SAASqB,OAAT,QAA+C;AAAA,MAA7B;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAA6B;;AAC7D,MAAK,CAAEA,QAAP,EAAkB;AACjB;AACA;;AAED,MAAKhC,wBAAwB,CAACiC,QAAzB,CAAmCF,YAAnC,CAAL,EAAyD;AACxD;AACA;AACA;AACA;AACA,QACCC,QAAQ,CAACE,cAAT,KACEF,QAAQ,CAACG,MAAT,KAAoB,OAApB,IACC,CAAEH,QAAQ,CAACG,MAAX,IACD,CAAE,OAAF,EAAW,QAAX,EAAsBF,QAAtB,CAAgCD,QAAQ,CAACI,MAAzC,CAHF,CADD,EAKE;AACD,aACC,cAAC,YAAD;AACC,QAAA,IAAI,EAAGJ,QAAQ,CAAC1B,KADjB;AAEC,QAAA,YAAY,EAAG0B,QAAQ,CAACI,MAAT,KAAoB;AAFpC,QADD;AAMA,KAjBuD,CAmBxD;;;AACA,QAAKJ,QAAQ,CAACE,cAAT,IAA2BF,QAAQ,CAACG,MAAT,KAAoB,QAApD,EAA+D;AAC9D,aACC,cAAC,aAAD;AACC,QAAA,IAAI,EAAGH,QAAQ,CAAC1B,KADjB;AAEC,QAAA,YAAY,EAAG0B,QAAQ,CAACI,MAAT,KAAoB;AAFpC,QADD;AAMA,KA3BuD,CA6BxD;AACA;AACA;;;AACA,QACC,CAAEJ,QAAQ,CAACE,cAAX,IACAF,QAAQ,CAACI,MAAT,KAAoB,QADpB,IAEA,CAAEJ,QAAQ,CAACK,MAHZ,EAIE;AACD,aAAO,cAAC,WAAD,OAAP;AACA;AACD,GA5C4D,CA8C7D;AACA;;;AACA,SAAO,cAAC,aAAD;AAAe,IAAA,EAAE,EAAGL,QAAQ,CAACK;AAA7B,IAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tIcon,\n\tTooltip,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { layout as themeIcon, plugins as pluginIcon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEMPLATE_POST_TYPE_NAMES = [ 'wp_template', 'wp_template_part' ];\n\nfunction CustomizedTooltip( { isCustomized, children } ) {\n\tif ( ! isCustomized ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<Tooltip text={ __( 'This template has been customized' ) }>\n\t\t\t{ children }\n\t\t</Tooltip>\n\t);\n}\n\nfunction AddedByTheme( { slug, isCustomized } ) {\n\tconst theme = useSelect(\n\t\t( select ) => select( coreStore ).getTheme( slug ),\n\t\t[ slug ]\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<CustomizedTooltip isCustomized={ isCustomized }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__icon', {\n\t\t\t\t\t\t'is-customized': isCustomized,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ themeIcon } />\n\t\t\t\t</div>\n\t\t\t</CustomizedTooltip>\n\t\t\t<span>{ theme?.name?.rendered || slug }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedByPlugin( { slug, isCustomized } ) {\n\tconst plugin = useSelect(\n\t\t( select ) => select( coreStore ).getPlugin( slug ),\n\t\t[ slug ]\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<CustomizedTooltip isCustomized={ isCustomized }>\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ pluginIcon } />\n\t\t\t\t</div>\n\t\t\t</CustomizedTooltip>\n\t\t\t<span>{ plugin?.name || slug }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedByAuthor( { id } ) {\n\tconst user = useSelect( ( select ) => select( coreStore ).getUser( id ), [\n\t\tid,\n\t] );\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__avatar', {\n\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tsrc={ user?.avatar_urls[ 48 ] }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<span>{ user?.nickname }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedBySite() {\n\tconst { name, logoURL } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, getMedia } = select( coreStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tname: siteData.name,\n\t\t\tlogoURL: siteData?.site_logo\n\t\t\t\t? getMedia( siteData.site_logo )?.source_url\n\t\t\t\t: undefined,\n\t\t};\n\t}, [] );\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__avatar', {\n\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tsrc={ logoURL }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<span>{ name }</span>\n\t\t</HStack>\n\t);\n}\n\nexport default function AddedBy( { templateType, template } ) {\n\tif ( ! template ) {\n\t\treturn;\n\t}\n\n\tif ( TEMPLATE_POST_TYPE_NAMES.includes( templateType ) ) {\n\t\t// Template originally provided by a theme, but customized by a user.\n\t\t// Templates originally didn't have the 'origin' field so identify\n\t\t// older customized templates by checking for no origin and a 'theme'\n\t\t// or 'custom' source.\n\t\tif (\n\t\t\ttemplate.has_theme_file &&\n\t\t\t( template.origin === 'theme' ||\n\t\t\t\t( ! template.origin &&\n\t\t\t\t\t[ 'theme', 'custom' ].includes( template.source ) ) )\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<AddedByTheme\n\t\t\t\t\tslug={ template.theme }\n\t\t\t\t\tisCustomized={ template.source === 'custom' }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// Template originally provided by a plugin, but customized by a user.\n\t\tif ( template.has_theme_file && template.origin === 'plugin' ) {\n\t\t\treturn (\n\t\t\t\t<AddedByPlugin\n\t\t\t\t\tslug={ template.theme }\n\t\t\t\t\tisCustomized={ template.source === 'custom' }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// Template was created from scratch, but has no author. Author support\n\t\t// was only added to templates in WordPress 5.9. Fallback to showing the\n\t\t// site logo and title.\n\t\tif (\n\t\t\t! template.has_theme_file &&\n\t\t\ttemplate.source === 'custom' &&\n\t\t\t! template.author\n\t\t) {\n\t\t\treturn <AddedBySite />;\n\t\t}\n\t}\n\n\t// Simply show the author for templates created from scratch that have an\n\t// author or for any other post type.\n\treturn <AddedByAuthor id={ template.author } />;\n}\n"]}
@@ -1,40 +1,81 @@
1
1
  import { createElement } from "@wordpress/element";
2
2
 
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import classnames from 'classnames';
3
7
  /**
4
8
  * WordPress dependencies
5
9
  */
10
+
11
+ import { store as coreStore } from '@wordpress/core-data';
12
+ import { useSelect } from '@wordpress/data';
6
13
  import { InterfaceSkeleton } from '@wordpress/interface';
7
- import { __ } from '@wordpress/i18n';
8
- import { useViewportMatch } from '@wordpress/compose';
14
+ import { __, sprintf } from '@wordpress/i18n';
15
+ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
16
+ import { EditorSnackbars } from '@wordpress/editor';
9
17
  /**
10
18
  * Internal dependencies
11
19
  */
12
20
 
21
+ import useRegisterShortcuts from './use-register-shortcuts';
13
22
  import Header from './header';
14
23
  import NavigationSidebar from '../navigation-sidebar';
15
24
  import Table from './table';
25
+ import { store as editSiteStore } from '../../store';
16
26
  export default function List(_ref) {
27
+ var _postType$labels;
28
+
17
29
  let {
18
30
  templateType
19
31
  } = _ref;
20
- const isDesktopViewport = useViewportMatch('medium');
32
+ useRegisterShortcuts();
33
+ const {
34
+ previousShortcut,
35
+ nextShortcut,
36
+ isNavigationOpen
37
+ } = useSelect(select => {
38
+ return {
39
+ previousShortcut: select(keyboardShortcutsStore).getAllShortcutKeyCombinations('core/edit-site/previous-region'),
40
+ nextShortcut: select(keyboardShortcutsStore).getAllShortcutKeyCombinations('core/edit-site/next-region'),
41
+ isNavigationOpen: select(editSiteStore).isNavigationOpened()
42
+ };
43
+ }, []);
44
+ const postType = useSelect(select => select(coreStore).getPostType(templateType), [templateType]); // `postType` could load in asynchronously. Only provide the detailed region labels if
45
+ // the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.
46
+
47
+ const itemsListLabel = postType === null || postType === void 0 ? void 0 : (_postType$labels = postType.labels) === null || _postType$labels === void 0 ? void 0 : _postType$labels.items_list;
48
+ const detailedRegionLabels = postType ? {
49
+ header: sprintf( // translators: %s - the name of the page, 'Header' as in the header area of that page.
50
+ __('%s - Header'), itemsListLabel),
51
+ body: sprintf( // translators: %s - the name of the page, 'Content' as in the content area of that page.
52
+ __('%s - Content'), itemsListLabel)
53
+ } : undefined;
21
54
  return createElement(InterfaceSkeleton, {
22
- className: "edit-site-list",
55
+ className: classnames('edit-site-list', {
56
+ 'is-navigation-open': isNavigationOpen
57
+ }),
23
58
  labels: {
24
- drawer: __('Navigation Sidebar')
59
+ drawer: __('Navigation Sidebar'),
60
+ ...detailedRegionLabels
25
61
  },
26
62
  header: createElement(Header, {
27
63
  templateType: templateType
28
64
  }),
29
65
  drawer: createElement(NavigationSidebar, {
30
- defaultIsOpen: isDesktopViewport,
31
- activeTemplateType: templateType
66
+ activeTemplateType: templateType,
67
+ isDefaultOpen: true
32
68
  }),
69
+ notices: createElement(EditorSnackbars, null),
33
70
  content: createElement("main", {
34
71
  className: "edit-site-list-main"
35
72
  }, createElement(Table, {
36
73
  templateType: templateType
37
- }))
74
+ })),
75
+ shortcuts: {
76
+ previous: previousShortcut,
77
+ next: nextShortcut
78
+ }
38
79
  });
39
80
  }
40
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/list/index.js"],"names":["InterfaceSkeleton","__","useViewportMatch","Header","NavigationSidebar","Table","List","templateType","isDesktopViewport","drawer"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,iBAAT,QAAkC,sBAAlC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,KAAP,MAAkB,SAAlB;AAEA,eAAe,SAASC,IAAT,OAAkC;AAAA,MAAnB;AAAEC,IAAAA;AAAF,GAAmB;AAChD,QAAMC,iBAAiB,GAAGN,gBAAgB,CAAE,QAAF,CAA1C;AAEA,SACC,cAAC,iBAAD;AACC,IAAA,SAAS,EAAC,gBADX;AAEC,IAAA,MAAM,EAAG;AACRO,MAAAA,MAAM,EAAER,EAAE,CAAE,oBAAF;AADF,KAFV;AAKC,IAAA,MAAM,EAAG,cAAC,MAAD;AAAQ,MAAA,YAAY,EAAGM;AAAvB,MALV;AAMC,IAAA,MAAM,EACL,cAAC,iBAAD;AACC,MAAA,aAAa,EAAGC,iBADjB;AAEC,MAAA,kBAAkB,EAAGD;AAFtB,MAPF;AAYC,IAAA,OAAO,EACN;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC,cAAC,KAAD;AAAO,MAAA,YAAY,EAAGA;AAAtB,MADD;AAbF,IADD;AAoBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton } from '@wordpress/interface';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Header from './header';\nimport NavigationSidebar from '../navigation-sidebar';\nimport Table from './table';\n\nexport default function List( { templateType } ) {\n\tconst isDesktopViewport = useViewportMatch( 'medium' );\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tclassName=\"edit-site-list\"\n\t\t\tlabels={ {\n\t\t\t\tdrawer: __( 'Navigation Sidebar' ),\n\t\t\t} }\n\t\t\theader={ <Header templateType={ templateType } /> }\n\t\t\tdrawer={\n\t\t\t\t<NavigationSidebar\n\t\t\t\t\tdefaultIsOpen={ isDesktopViewport }\n\t\t\t\t\tactiveTemplateType={ templateType }\n\t\t\t\t/>\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<main className=\"edit-site-list-main\">\n\t\t\t\t\t<Table templateType={ templateType } />\n\t\t\t\t</main>\n\t\t\t}\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/index.js"],"names":["classnames","store","coreStore","useSelect","InterfaceSkeleton","__","sprintf","keyboardShortcutsStore","EditorSnackbars","useRegisterShortcuts","Header","NavigationSidebar","Table","editSiteStore","List","templateType","previousShortcut","nextShortcut","isNavigationOpen","select","getAllShortcutKeyCombinations","isNavigationOpened","postType","getPostType","itemsListLabel","labels","items_list","detailedRegionLabels","header","body","undefined","drawer","previous","next"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,iBAAT,QAAkC,sBAAlC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASL,KAAK,IAAIM,sBAAlB,QAAgD,+BAAhD;AACA,SAASC,eAAT,QAAgC,mBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,SAASX,KAAK,IAAIY,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,IAAT,OAAkC;AAAA;;AAAA,MAAnB;AAAEC,IAAAA;AAAF,GAAmB;AAChDN,EAAAA,oBAAoB;AAEpB,QAAM;AAAEO,IAAAA,gBAAF;AAAoBC,IAAAA,YAApB;AAAkCC,IAAAA;AAAlC,MAAuDf,SAAS,CACnEgB,MAAF,IAAc;AACb,WAAO;AACNH,MAAAA,gBAAgB,EAAEG,MAAM,CACvBZ,sBADuB,CAAN,CAEhBa,6BAFgB,CAGjB,gCAHiB,CADZ;AAMNH,MAAAA,YAAY,EAAEE,MAAM,CACnBZ,sBADmB,CAAN,CAEZa,6BAFY,CAEmB,4BAFnB,CANR;AASNF,MAAAA,gBAAgB,EAAEC,MAAM,CAAEN,aAAF,CAAN,CAAwBQ,kBAAxB;AATZ,KAAP;AAWA,GAboE,EAcrE,EAdqE,CAAtE;AAiBA,QAAMC,QAAQ,GAAGnB,SAAS,CACvBgB,MAAF,IAAcA,MAAM,CAAEjB,SAAF,CAAN,CAAoBqB,WAApB,CAAiCR,YAAjC,CADW,EAEzB,CAAEA,YAAF,CAFyB,CAA1B,CApBgD,CAyBhD;AACA;;AACA,QAAMS,cAAc,GAAGF,QAAH,aAAGA,QAAH,2CAAGA,QAAQ,CAAEG,MAAb,qDAAG,iBAAkBC,UAAzC;AACA,QAAMC,oBAAoB,GAAGL,QAAQ,GAClC;AACAM,IAAAA,MAAM,EAAEtB,OAAO,EACd;AACAD,IAAAA,EAAE,CAAE,aAAF,CAFY,EAGdmB,cAHc,CADf;AAMAK,IAAAA,IAAI,EAAEvB,OAAO,EACZ;AACAD,IAAAA,EAAE,CAAE,cAAF,CAFU,EAGZmB,cAHY;AANb,GADkC,GAalCM,SAbH;AAeA,SACC,cAAC,iBAAD;AACC,IAAA,SAAS,EAAG9B,UAAU,CAAE,gBAAF,EAAoB;AACzC,4BAAsBkB;AADmB,KAApB,CADvB;AAIC,IAAA,MAAM,EAAG;AACRa,MAAAA,MAAM,EAAE1B,EAAE,CAAE,oBAAF,CADF;AAER,SAAGsB;AAFK,KAJV;AAQC,IAAA,MAAM,EAAG,cAAC,MAAD;AAAQ,MAAA,YAAY,EAAGZ;AAAvB,MARV;AASC,IAAA,MAAM,EACL,cAAC,iBAAD;AACC,MAAA,kBAAkB,EAAGA,YADtB;AAEC,MAAA,aAAa;AAFd,MAVF;AAeC,IAAA,OAAO,EAAG,cAAC,eAAD,OAfX;AAgBC,IAAA,OAAO,EACN;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC,cAAC,KAAD;AAAO,MAAA,YAAY,EAAGA;AAAtB,MADD,CAjBF;AAqBC,IAAA,SAAS,EAAG;AACXiB,MAAAA,QAAQ,EAAEhB,gBADC;AAEXiB,MAAAA,IAAI,EAAEhB;AAFK;AArBb,IADD;AA4BA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { InterfaceSkeleton } from '@wordpress/interface';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { EditorSnackbars } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useRegisterShortcuts from './use-register-shortcuts';\nimport Header from './header';\nimport NavigationSidebar from '../navigation-sidebar';\nimport Table from './table';\nimport { store as editSiteStore } from '../../store';\n\nexport default function List( { templateType } ) {\n\tuseRegisterShortcuts();\n\n\tconst { previousShortcut, nextShortcut, isNavigationOpen } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tpreviousShortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/edit-site/previous-region'\n\t\t\t\t),\n\t\t\t\tnextShortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\t// `postType` could load in asynchronously. Only provide the detailed region labels if\n\t// the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.\n\tconst itemsListLabel = postType?.labels?.items_list;\n\tconst detailedRegionLabels = postType\n\t\t? {\n\t\t\t\theader: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Header' as in the header area of that page.\n\t\t\t\t\t__( '%s - Header' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t\t\tbody: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Content' as in the content area of that page.\n\t\t\t\t\t__( '%s - Content' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t }\n\t\t: undefined;\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tclassName={ classnames( 'edit-site-list', {\n\t\t\t\t'is-navigation-open': isNavigationOpen,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\tdrawer: __( 'Navigation Sidebar' ),\n\t\t\t\t...detailedRegionLabels,\n\t\t\t} }\n\t\t\theader={ <Header templateType={ templateType } /> }\n\t\t\tdrawer={\n\t\t\t\t<NavigationSidebar\n\t\t\t\t\tactiveTemplateType={ templateType }\n\t\t\t\t\tisDefaultOpen\n\t\t\t\t/>\n\t\t\t}\n\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\tcontent={\n\t\t\t\t<main className=\"edit-site-list-main\">\n\t\t\t\t\t<Table templateType={ templateType } />\n\t\t\t\t</main>\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
@@ -3,39 +3,21 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { useSelect, useDispatch } from '@wordpress/data';
6
+ import { useSelect } from '@wordpress/data';
7
7
  import { store as coreStore } from '@wordpress/core-data';
8
8
  import { __, sprintf } from '@wordpress/i18n';
9
- import { VisuallyHidden, FlexItem, __experimentalHStack as HStack, __experimentalHeading as Heading, DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
10
- import { moreVertical } from '@wordpress/icons';
9
+ import { VisuallyHidden, __experimentalHeading as Heading } from '@wordpress/components';
11
10
  import { addQueryArgs } from '@wordpress/url';
12
11
  /**
13
12
  * Internal dependencies
14
13
  */
15
14
 
16
- import { store as editSiteStore } from '../../store';
17
- import isTemplateRemovable from '../../utils/is-template-removable';
18
-
19
- function Actions(_ref) {
20
- let {
21
- template,
22
- onClose
23
- } = _ref;
24
- const {
25
- removeTemplate
26
- } = useDispatch(editSiteStore);
27
- return createElement(MenuGroup, null, createElement(MenuItem, {
28
- onClick: () => {
29
- removeTemplate(template);
30
- onClose();
31
- }
32
- }, __('Remove template')));
33
- }
34
-
35
- export default function Table(_ref2) {
15
+ import Actions from './actions';
16
+ import AddedBy from './added-by';
17
+ export default function Table(_ref) {
36
18
  let {
37
19
  templateType
38
- } = _ref2;
20
+ } = _ref;
39
21
  const {
40
22
  templates,
41
23
  isLoading,
@@ -47,8 +29,12 @@ export default function Table(_ref2) {
47
29
  getPostType
48
30
  } = select(coreStore);
49
31
  return {
50
- templates: getEntityRecords('postType', templateType),
51
- isLoading: !hasFinishedResolution('getEntityRecords', ['postType', templateType]),
32
+ templates: getEntityRecords('postType', templateType, {
33
+ per_page: -1
34
+ }),
35
+ isLoading: !hasFinishedResolution('getEntityRecords', ['postType', templateType, {
36
+ per_page: -1
37
+ }]),
52
38
  postType: getPostType(templateType)
53
39
  };
54
40
  }, [templateType]);
@@ -64,49 +50,53 @@ export default function Table(_ref2) {
64
50
  __('No %s found.'), postType === null || postType === void 0 ? void 0 : (_postType$labels = postType.labels) === null || _postType$labels === void 0 ? void 0 : (_postType$labels$name = _postType$labels.name) === null || _postType$labels$name === void 0 ? void 0 : _postType$labels$name.toLowerCase()));
65
51
  }
66
52
 
67
- return createElement("ul", {
68
- className: "edit-site-list-table"
69
- }, createElement(HStack, {
70
- className: "edit-site-list-table-head",
71
- as: "li"
72
- }, createElement(FlexItem, {
73
- className: "edit-site-list-table-column"
74
- }, createElement(Heading, {
75
- level: 4
76
- }, __('Template'))), createElement(FlexItem, {
77
- className: "edit-site-list-table-column"
78
- }, createElement(Heading, {
79
- level: 4
80
- }, __('Added by'))), createElement(FlexItem, {
81
- className: "edit-site-list-table-column"
82
- }, createElement(VisuallyHidden, null, __('Actions')))), templates.map(template => createElement("li", {
83
- key: template.id
84
- }, createElement(HStack, {
85
- className: "edit-site-list-table-row"
86
- }, createElement(FlexItem, {
87
- className: "edit-site-list-table-column"
88
- }, createElement("a", {
89
- href: addQueryArgs('', {
90
- page: 'gutenberg-edit-site',
91
- postId: template.id,
92
- postType: template.type
93
- })
94
- }, template.title.rendered), template.description), createElement(FlexItem, {
95
- className: "edit-site-list-table-column"
96
- }, template.theme), createElement(FlexItem, {
97
- className: "edit-site-list-table-column"
98
- }, isTemplateRemovable(template) && createElement(DropdownMenu, {
99
- icon: moreVertical,
100
- label: __('Actions'),
101
- className: "edit-site-list-table__actions"
102
- }, _ref3 => {
103
- let {
104
- onClose
105
- } = _ref3;
106
- return createElement(Actions, {
107
- template: template,
108
- onClose: onClose
109
- });
110
- }))))));
53
+ return (// These explicit aria roles are needed for Safari.
54
+ // See https://developer.mozilla.org/en-US/docs/Web/CSS/display#tables
55
+ createElement("table", {
56
+ className: "edit-site-list-table",
57
+ role: "table"
58
+ }, createElement("thead", null, createElement("tr", {
59
+ className: "edit-site-list-table-head",
60
+ role: "row"
61
+ }, createElement("th", {
62
+ className: "edit-site-list-table-column",
63
+ role: "columnheader"
64
+ }, __('Template')), createElement("th", {
65
+ className: "edit-site-list-table-column",
66
+ role: "columnheader"
67
+ }, __('Added by')), createElement("th", {
68
+ className: "edit-site-list-table-column",
69
+ role: "columnheader"
70
+ }, createElement(VisuallyHidden, null, __('Actions'))))), createElement("tbody", null, templates.map(template => {
71
+ var _template$title;
72
+
73
+ return createElement("tr", {
74
+ key: template.id,
75
+ className: "edit-site-list-table-row",
76
+ role: "row"
77
+ }, createElement("td", {
78
+ className: "edit-site-list-table-column",
79
+ role: "cell"
80
+ }, createElement(Heading, {
81
+ level: 4
82
+ }, createElement("a", {
83
+ href: addQueryArgs(window.location.href, {
84
+ postId: template.id,
85
+ postType: template.type
86
+ })
87
+ }, ((_template$title = template.title) === null || _template$title === void 0 ? void 0 : _template$title.rendered) || template.slug)), template.description), createElement("td", {
88
+ className: "edit-site-list-table-column",
89
+ role: "cell"
90
+ }, createElement(AddedBy, {
91
+ templateType: templateType,
92
+ template: template
93
+ })), createElement("td", {
94
+ className: "edit-site-list-table-column",
95
+ role: "cell"
96
+ }, createElement(Actions, {
97
+ template: template
98
+ })));
99
+ })))
100
+ );
111
101
  }
112
102
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/list/table.js"],"names":["useSelect","useDispatch","store","coreStore","__","sprintf","VisuallyHidden","FlexItem","__experimentalHStack","HStack","__experimentalHeading","Heading","DropdownMenu","MenuGroup","MenuItem","moreVertical","addQueryArgs","editSiteStore","isTemplateRemovable","Actions","template","onClose","removeTemplate","Table","templateType","templates","isLoading","postType","select","getEntityRecords","hasFinishedResolution","getPostType","length","labels","name","toLowerCase","map","id","page","postId","type","title","rendered","description","theme"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tVisuallyHidden,\n\tFlexItem,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport isTemplateRemovable from '../../utils/is-template-removable';\n\nfunction Actions( { template, onClose } ) {\n\tconst { removeTemplate } = useDispatch( editSiteStore );\n\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tremoveTemplate( template );\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Remove template' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default function Table( { templateType } ) {\n\tconst { templates, isLoading, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tgetPostType,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\ttemplates: getEntityRecords( 'postType', templateType ),\n\t\t\t\tisLoading: ! hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplateType,\n\t\t\t\t] ),\n\t\t\t\tpostType: getPostType( templateType ),\n\t\t\t};\n\t\t},\n\t\t[ templateType ]\n\t);\n\n\tif ( ! templates || isLoading ) {\n\t\treturn null;\n\t}\n\n\tif ( ! templates.length ) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: The template type name, should be either \"templates\" or \"template parts\".\n\t\t\t\t\t__( 'No %s found.' ),\n\t\t\t\t\tpostType?.labels?.name?.toLowerCase()\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ul className=\"edit-site-list-table\">\n\t\t\t<HStack className=\"edit-site-list-table-head\" as=\"li\">\n\t\t\t\t<FlexItem className=\"edit-site-list-table-column\">\n\t\t\t\t\t<Heading level={ 4 }>{ __( 'Template' ) }</Heading>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem className=\"edit-site-list-table-column\">\n\t\t\t\t\t<Heading level={ 4 }>{ __( 'Added by' ) }</Heading>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem className=\"edit-site-list-table-column\">\n\t\t\t\t\t<VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\n\t\t\t{ templates.map( ( template ) => (\n\t\t\t\t<li key={ template.id }>\n\t\t\t\t\t<HStack className=\"edit-site-list-table-row\">\n\t\t\t\t\t\t<FlexItem className=\"edit-site-list-table-column\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={ addQueryArgs( '', {\n\t\t\t\t\t\t\t\t\tpage: 'gutenberg-edit-site',\n\t\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\t\tpostType: template.type,\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ template.title.rendered }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ template.description }\n\t\t\t\t\t\t</FlexItem>\n\n\t\t\t\t\t\t<FlexItem className=\"edit-site-list-table-column\">\n\t\t\t\t\t\t\t{ template.theme }\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem className=\"edit-site-list-table-column\">\n\t\t\t\t\t\t\t{ isTemplateRemovable( template ) && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-list-table__actions\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t\t<Actions\n\t\t\t\t\t\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</HStack>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/table.js"],"names":["useSelect","store","coreStore","__","sprintf","VisuallyHidden","__experimentalHeading","Heading","addQueryArgs","Actions","AddedBy","Table","templateType","templates","isLoading","postType","select","getEntityRecords","hasFinishedResolution","getPostType","per_page","length","labels","name","toLowerCase","map","template","id","window","location","href","postId","type","title","rendered","slug","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Actions from './actions';\nimport AddedBy from './added-by';\n\nexport default function Table( { templateType } ) {\n\tconst { templates, isLoading, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tgetPostType,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\ttemplates: getEntityRecords( 'postType', templateType, {\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} ),\n\t\t\t\tisLoading: ! hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplateType,\n\t\t\t\t\t{ per_page: -1 },\n\t\t\t\t] ),\n\t\t\t\tpostType: getPostType( templateType ),\n\t\t\t};\n\t\t},\n\t\t[ templateType ]\n\t);\n\n\tif ( ! templates || isLoading ) {\n\t\treturn null;\n\t}\n\n\tif ( ! templates.length ) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: The template type name, should be either \"templates\" or \"template parts\".\n\t\t\t\t\t__( 'No %s found.' ),\n\t\t\t\t\tpostType?.labels?.name?.toLowerCase()\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t// These explicit aria roles are needed for Safari.\n\t\t// See https://developer.mozilla.org/en-US/docs/Web/CSS/display#tables\n\t\t<table className=\"edit-site-list-table\" role=\"table\">\n\t\t\t<thead>\n\t\t\t\t<tr className=\"edit-site-list-table-head\" role=\"row\">\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Template' ) }\n\t\t\t\t\t</th>\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Added by' ) }\n\t\t\t\t\t</th>\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\n\t\t\t<tbody>\n\t\t\t\t{ templates.map( ( template ) => (\n\t\t\t\t\t<tr\n\t\t\t\t\t\tkey={ template.id }\n\t\t\t\t\t\tclassName=\"edit-site-list-table-row\"\n\t\t\t\t\t\trole=\"row\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<Heading level={ 4 }>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\t\t\tpostType: template.type,\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ template.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\ttemplate.slug }\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t{ template.description }\n\t\t\t\t\t\t</td>\n\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<AddedBy\n\t\t\t\t\t\t\t\ttemplateType={ templateType }\n\t\t\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<Actions template={ template } />\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t) ) }\n\t\t\t</tbody>\n\t\t</table>\n\t);\n}\n"]}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useDispatch } from '@wordpress/data';
5
+ import { useEffect } from '@wordpress/element';
6
+ import { __ } from '@wordpress/i18n';
7
+ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
8
+ export default function useRegisterShortcuts() {
9
+ const {
10
+ registerShortcut
11
+ } = useDispatch(keyboardShortcutsStore);
12
+ useEffect(() => {
13
+ registerShortcut({
14
+ name: 'core/edit-site/next-region',
15
+ category: 'global',
16
+ description: __('Navigate to the next part of the editor.'),
17
+ keyCombination: {
18
+ modifier: 'ctrl',
19
+ character: '`'
20
+ },
21
+ aliases: [{
22
+ modifier: 'access',
23
+ character: 'n'
24
+ }]
25
+ });
26
+ registerShortcut({
27
+ name: 'core/edit-site/previous-region',
28
+ category: 'global',
29
+ description: __('Navigate to the previous part of the editor.'),
30
+ keyCombination: {
31
+ modifier: 'ctrlShift',
32
+ character: '`'
33
+ },
34
+ aliases: [{
35
+ modifier: 'access',
36
+ character: 'p'
37
+ }]
38
+ });
39
+ }, []);
40
+ }
41
+ //# sourceMappingURL=use-register-shortcuts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/use-register-shortcuts.js"],"names":["useDispatch","useEffect","__","store","keyboardShortcutsStore","useRegisterShortcuts","registerShortcut","name","category","description","keyCombination","modifier","character","aliases"],"mappings":"AAAA;AACA;AACA;AAEA,SAASA,WAAT,QAA4B,iBAA5B;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,sBAAlB,QAAgD,+BAAhD;AAEA,eAAe,SAASC,oBAAT,GAAgC;AAC9C,QAAM;AAAEC,IAAAA;AAAF,MAAuBN,WAAW,CAAEI,sBAAF,CAAxC;AACAH,EAAAA,SAAS,CAAE,MAAM;AAChBK,IAAAA,gBAAgB,CAAE;AACjBC,MAAAA,IAAI,EAAE,4BADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAEP,EAAE,CAAE,0CAAF,CAHE;AAIjBQ,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,MADK;AAEfC,QAAAA,SAAS,EAAE;AAFI,OAJC;AAQjBC,MAAAA,OAAO,EAAE,CACR;AACCF,QAAAA,QAAQ,EAAE,QADX;AAECC,QAAAA,SAAS,EAAE;AAFZ,OADQ;AARQ,KAAF,CAAhB;AAgBAN,IAAAA,gBAAgB,CAAE;AACjBC,MAAAA,IAAI,EAAE,gCADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAEP,EAAE,CAAE,8CAAF,CAHE;AAIjBQ,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,WADK;AAEfC,QAAAA,SAAS,EAAE;AAFI,OAJC;AAQjBC,MAAAA,OAAO,EAAE,CACR;AACCF,QAAAA,QAAQ,EAAE,QADX;AAECC,QAAAA,SAAS,EAAE;AAFZ,OADQ;AARQ,KAAF,CAAhB;AAeA,GAhCQ,EAgCN,EAhCM,CAAT;AAiCA","sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\nexport default function useRegisterShortcuts() {\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\t}, [] );\n}\n"]}
@@ -3,12 +3,15 @@ import { createElement, Fragment } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { useState } from '@wordpress/element';
6
+ import { useEffect } from '@wordpress/element';
7
7
  import { createSlotFill } from '@wordpress/components';
8
+ import { useViewportMatch } from '@wordpress/compose';
9
+ import { useDispatch } from '@wordpress/data';
8
10
  /**
9
11
  * Internal dependencies
10
12
  */
11
13
 
14
+ import { store as editSiteStore } from '../../store';
12
15
  import NavigationPanel from './navigation-panel';
13
16
  import NavigationToggle from './navigation-toggle';
14
17
  export const {
@@ -17,17 +20,26 @@ export const {
17
20
  } = createSlotFill('EditSiteNavigationPanelPreview');
18
21
  export default function NavigationSidebar(_ref) {
19
22
  let {
20
- defaultIsOpen = false,
23
+ isDefaultOpen = false,
21
24
  activeTemplateType
22
25
  } = _ref;
23
- const [isNavigationOpen, setIsNavigationOpen] = useState(defaultIsOpen);
24
- return createElement(Fragment, null, createElement(NavigationToggle, {
25
- isOpen: isNavigationOpen,
26
- setIsOpen: setIsNavigationOpen
27
- }), createElement(NavigationPanel, {
28
- isOpen: isNavigationOpen,
29
- setIsOpen: setIsNavigationOpen,
30
- activeTemplateType: activeTemplateType
26
+ const isDesktopViewport = useViewportMatch('medium');
27
+ const {
28
+ setIsNavigationPanelOpened
29
+ } = useDispatch(editSiteStore);
30
+ useEffect(() => {
31
+ // When transitioning to desktop open the navigation if `isDefaultOpen` is true.
32
+ if (isDefaultOpen && isDesktopViewport) {
33
+ setIsNavigationPanelOpened(true);
34
+ } // When transitioning to mobile/tablet, close the navigation.
35
+
36
+
37
+ if (!isDesktopViewport) {
38
+ setIsNavigationPanelOpened(false);
39
+ }
40
+ }, [isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened]);
41
+ return createElement(Fragment, null, createElement(NavigationToggle, null), createElement(NavigationPanel, {
42
+ activeItem: activeTemplateType
31
43
  }), createElement(NavigationPanelPreviewSlot, null));
32
44
  }
33
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["useState","createSlotFill","NavigationPanel","NavigationToggle","Fill","NavigationPanelPreviewFill","Slot","NavigationPanelPreviewSlot","NavigationSidebar","defaultIsOpen","activeTemplateType","isNavigationOpen","setIsNavigationOpen"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,oBAAzB;AACA,SAASC,cAAT,QAA+B,uBAA/B;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AAEA,OAAO,MAAM;AACZC,EAAAA,IAAI,EAAEC,0BADM;AAEZC,EAAAA,IAAI,EAAEC;AAFM,IAGTN,cAAc,CAAE,gCAAF,CAHX;AAKP,eAAe,SAASO,iBAAT,OAGX;AAAA,MAHuC;AAC1CC,IAAAA,aAAa,GAAG,KAD0B;AAE1CC,IAAAA;AAF0C,GAGvC;AACH,QAAM,CAAEC,gBAAF,EAAoBC,mBAApB,IAA4CZ,QAAQ,CAAES,aAAF,CAA1D;AAEA,SACC,8BACC,cAAC,gBAAD;AACC,IAAA,MAAM,EAAGE,gBADV;AAEC,IAAA,SAAS,EAAGC;AAFb,IADD,EAKC,cAAC,eAAD;AACC,IAAA,MAAM,EAAGD,gBADV;AAEC,IAAA,SAAS,EAAGC,mBAFb;AAGC,IAAA,kBAAkB,EAAGF;AAHtB,IALD,EAUC,cAAC,0BAAD,OAVD,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { createSlotFill } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport NavigationPanel from './navigation-panel';\nimport NavigationToggle from './navigation-toggle';\n\nexport const {\n\tFill: NavigationPanelPreviewFill,\n\tSlot: NavigationPanelPreviewSlot,\n} = createSlotFill( 'EditSiteNavigationPanelPreview' );\n\nexport default function NavigationSidebar( {\n\tdefaultIsOpen = false,\n\tactiveTemplateType,\n} ) {\n\tconst [ isNavigationOpen, setIsNavigationOpen ] = useState( defaultIsOpen );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigationToggle\n\t\t\t\tisOpen={ isNavigationOpen }\n\t\t\t\tsetIsOpen={ setIsNavigationOpen }\n\t\t\t/>\n\t\t\t<NavigationPanel\n\t\t\t\tisOpen={ isNavigationOpen }\n\t\t\t\tsetIsOpen={ setIsNavigationOpen }\n\t\t\t\tactiveTemplateType={ activeTemplateType }\n\t\t\t/>\n\t\t\t<NavigationPanelPreviewSlot />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["useEffect","createSlotFill","useViewportMatch","useDispatch","store","editSiteStore","NavigationPanel","NavigationToggle","Fill","NavigationPanelPreviewFill","Slot","NavigationPanelPreviewSlot","NavigationSidebar","isDefaultOpen","activeTemplateType","isDesktopViewport","setIsNavigationPanelOpened"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AAEA,OAAO,MAAM;AACZC,EAAAA,IAAI,EAAEC,0BADM;AAEZC,EAAAA,IAAI,EAAEC;AAFM,IAGTV,cAAc,CAAE,gCAAF,CAHX;AAKP,eAAe,SAASW,iBAAT,OAGX;AAAA,MAHuC;AAC1CC,IAAAA,aAAa,GAAG,KAD0B;AAE1CC,IAAAA;AAF0C,GAGvC;AACH,QAAMC,iBAAiB,GAAGb,gBAAgB,CAAE,QAAF,CAA1C;AACA,QAAM;AAAEc,IAAAA;AAAF,MAAiCb,WAAW,CAAEE,aAAF,CAAlD;AAEAL,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA,QAAKa,aAAa,IAAIE,iBAAtB,EAA0C;AACzCC,MAAAA,0BAA0B,CAAE,IAAF,CAA1B;AACA,KAJe,CAMhB;;;AACA,QAAK,CAAED,iBAAP,EAA2B;AAC1BC,MAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA;AACD,GAVQ,EAUN,CAAEH,aAAF,EAAiBE,iBAAjB,EAAoCC,0BAApC,CAVM,CAAT;AAYA,SACC,8BACC,cAAC,gBAAD,OADD,EAEC,cAAC,eAAD;AAAiB,IAAA,UAAU,EAAGF;AAA9B,IAFD,EAGC,cAAC,0BAAD,OAHD,CADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { createSlotFill } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport NavigationPanel from './navigation-panel';\nimport NavigationToggle from './navigation-toggle';\n\nexport const {\n\tFill: NavigationPanelPreviewFill,\n\tSlot: NavigationPanelPreviewSlot,\n} = createSlotFill( 'EditSiteNavigationPanelPreview' );\n\nexport default function NavigationSidebar( {\n\tisDefaultOpen = false,\n\tactiveTemplateType,\n} ) {\n\tconst isDesktopViewport = useViewportMatch( 'medium' );\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\t// When transitioning to desktop open the navigation if `isDefaultOpen` is true.\n\t\tif ( isDefaultOpen && isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( true );\n\t\t}\n\n\t\t// When transitioning to mobile/tablet, close the navigation.\n\t\tif ( ! isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t}\n\t}, [ isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened ] );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigationToggle />\n\t\t\t<NavigationPanel activeItem={ activeTemplateType } />\n\t\t\t<NavigationPanelPreviewSlot />\n\t\t</>\n\t);\n}\n"]}