@wordpress/edit-site 3.0.16 → 3.0.19
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.
- package/build/components/global-styles/gradients-palette-panel.js +7 -3
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build/components/global-styles/screen-root.js +8 -2
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/list/added-by.js +9 -3
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/navigation-sidebar/navigation-toggle/index.js +11 -0
- package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
- package/build/plugins/site-export.js +7 -1
- package/build/plugins/site-export.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +5 -4
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +9 -4
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/list/added-by.js +10 -4
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js +12 -0
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
- package/build-module/plugins/site-export.js +7 -1
- package/build-module/plugins/site-export.js.map +1 -1
- package/build-style/style-rtl.css +6 -0
- package/build-style/style.css +6 -0
- package/package.json +17 -17
- package/src/components/global-styles/gradients-palette-panel.js +4 -4
- package/src/components/global-styles/screen-root.js +17 -7
- package/src/components/global-styles/style.scss +6 -0
- package/src/components/global-styles/test/use-global-styles-output.js +7 -1
- package/src/components/list/added-by.js +25 -9
- package/src/components/navigation-sidebar/navigation-toggle/index.js +14 -0
- package/src/plugins/site-export.js +5 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -15,6 +17,8 @@ var _i18n = require("@wordpress/i18n");
|
|
|
15
17
|
|
|
16
18
|
var _hooks = require("./hooks");
|
|
17
19
|
|
|
20
|
+
var _subtitle = _interopRequireDefault(require("./subtitle"));
|
|
21
|
+
|
|
18
22
|
/**
|
|
19
23
|
* External dependencies
|
|
20
24
|
*/
|
|
@@ -58,9 +62,9 @@ function GradientPalettePanel(_ref) {
|
|
|
58
62
|
paletteLabel: (0, _i18n.__)('Custom'),
|
|
59
63
|
emptyMessage: (0, _i18n.__)('Custom gradients are empty! Add some gradients to create your own palette.'),
|
|
60
64
|
slugPrefix: "custom-"
|
|
61
|
-
}), (0, _element.createElement)("div", null, (0, _element.createElement)(_components.
|
|
62
|
-
|
|
63
|
-
}
|
|
65
|
+
}), (0, _element.createElement)("div", null, (0, _element.createElement)(_subtitle.default, null, (0, _i18n.__)('Duotone')), (0, _element.createElement)(_components.__experimentalSpacer, {
|
|
66
|
+
margin: 3
|
|
67
|
+
}), (0, _element.createElement)(_components.DuotonePicker, {
|
|
64
68
|
duotonePalette: duotonePalette,
|
|
65
69
|
disableCustomDuotone: true,
|
|
66
70
|
disableCustomColors: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["GradientPalettePanel","name","themeGradients","setThemeGradients","baseThemeGradients","defaultGradients","setDefaultGradients","baseDefaultGradients","customGradients","setCustomGradients","defaultPaletteEnabled","duotonePalette","length","noop"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["GradientPalettePanel","name","themeGradients","setThemeGradients","baseThemeGradients","defaultGradients","setDefaultGradients","baseDefaultGradients","customGradients","setCustomGradients","defaultPaletteEnabled","duotonePalette","length","noop"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAMA;;AAKA;;AACA;;AApBA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;AAIe,SAASA,oBAAT,OAA0C;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACxD,QAAM,CAAEC,cAAF,EAAkBC,iBAAlB,IAAwC,uBAC7C,uBAD6C,EAE7CF,IAF6C,CAA9C;AAIA,QAAM,CAAEG,kBAAF,IAAyB,uBAC9B,uBAD8B,EAE9BH,IAF8B,EAG9B,MAH8B,CAA/B;AAKA,QAAM,CAAEI,gBAAF,EAAoBC,mBAApB,IAA4C,uBACjD,yBADiD,EAEjDL,IAFiD,CAAlD;AAIA,QAAM,CAAEM,oBAAF,IAA2B,uBAChC,yBADgC,EAEhCN,IAFgC,EAGhC,MAHgC,CAAjC;AAKA,QAAM,CAAEO,eAAF,EAAmBC,kBAAnB,IAA0C,uBAC/C,wBAD+C,EAE/CR,IAF+C,CAAhD;AAKA,QAAM,CAAES,qBAAF,IAA4B,uBACjC,wBADiC,EAEjCT,IAFiC,CAAlC;AAIA,QAAM,CAAEU,cAAF,IAAqB,uBAAY,eAAZ,KAAiC,EAA5D;AACA,SACC,4BAAC,gCAAD;AACC,IAAA,SAAS,EAAC,gDADX;AAEC,IAAA,OAAO,EAAG;AAFX,KAIG,CAAC,CAAET,cAAH,IAAqB,CAAC,CAAEA,cAAc,CAACU,MAAvC,IACD,4BAAC,qCAAD;AACC,IAAA,QAAQ,EAAGV,cAAc,KAAKE,kBAD/B;AAEC,IAAA,mBAAmB,MAFpB;AAGC,IAAA,SAAS,EAAGF,cAHb;AAIC,IAAA,QAAQ,EAAGC,iBAJZ;AAKC,IAAA,YAAY,EAAG,cAAI,OAAJ;AALhB,IALF,EAaG,CAAC,CAAEE,gBAAH,IACD,CAAC,CAAEA,gBAAgB,CAACO,MADnB,IAED,CAAC,CAAEF,qBAFF,IAGA,4BAAC,qCAAD;AACC,IAAA,QAAQ,EAAGL,gBAAgB,KAAKE,oBADjC;AAEC,IAAA,mBAAmB,MAFpB;AAGC,IAAA,SAAS,EAAGF,gBAHb;AAIC,IAAA,QAAQ,EAAGC,mBAJZ;AAKC,IAAA,YAAY,EAAG,cAAI,SAAJ;AALhB,IAhBH,EAwBC,4BAAC,qCAAD;AACC,IAAA,SAAS,EAAGE,eADb;AAEC,IAAA,QAAQ,EAAGC,kBAFZ;AAGC,IAAA,YAAY,EAAG,cAAI,QAAJ,CAHhB;AAIC,IAAA,YAAY,EAAG,cACd,4EADc,CAJhB;AAOC,IAAA,UAAU,EAAC;AAPZ,IAxBD,EAiCC,yCACC,4BAAC,iBAAD,QAAY,cAAI,SAAJ,CAAZ,CADD,EAEC,4BAAC,gCAAD;AAAQ,IAAA,MAAM,EAAG;AAAjB,IAFD,EAGC,4BAAC,yBAAD;AACC,IAAA,cAAc,EAAGE,cADlB;AAEC,IAAA,oBAAoB,EAAG,IAFxB;AAGC,IAAA,mBAAmB,EAAG,IAHvB;AAIC,IAAA,SAAS,EAAG,KAJb;AAKC,IAAA,QAAQ,EAAGE;AALZ,IAHD,CAjCD,CADD;AA+CA","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalSpacer as Spacer,\n\tDuotonePicker,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from './hooks';\nimport Subtitle from './subtitle';\n\nexport default function GradientPalettePanel( { name } ) {\n\tconst [ themeGradients, setThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname\n\t);\n\tconst [ baseThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultGradients, setDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname\n\t);\n\tconst [ baseDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customGradients, setCustomGradients ] = useSetting(\n\t\t'color.gradients.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useSetting(\n\t\t'color.defaultGradients',\n\t\tname\n\t);\n\tconst [ duotonePalette ] = useSetting( 'color.duotone' ) || [];\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-gradient-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeGradients && !! themeGradients.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeGradients !== baseThemeGradients }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tgradients={ themeGradients }\n\t\t\t\t\tonChange={ setThemeGradients }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultGradients &&\n\t\t\t\t!! defaultGradients.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultGradients !== baseDefaultGradients }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tgradients={ defaultGradients }\n\t\t\t\t\t\tonChange={ setDefaultGradients }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tgradients={ customGradients }\n\t\t\t\tonChange={ setCustomGradients }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom gradients are empty! Add some gradients to create your own palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<Subtitle>{ __( 'Duotone' ) }</Subtitle>\n\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t<DuotonePicker\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tdisableCustomDuotone={ true }\n\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\tclearable={ false }\n\t\t\t\t\tonChange={ noop }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</VStack>\n\t);\n}\n"]}
|
|
@@ -13,6 +13,8 @@ var _components = require("@wordpress/components");
|
|
|
13
13
|
|
|
14
14
|
var _i18n = require("@wordpress/i18n");
|
|
15
15
|
|
|
16
|
+
var _icons = require("@wordpress/icons");
|
|
17
|
+
|
|
16
18
|
var _preview = _interopRequireDefault(require("./preview"));
|
|
17
19
|
|
|
18
20
|
var _navigationButton = _interopRequireDefault(require("./navigation-button"));
|
|
@@ -29,9 +31,13 @@ var _contextMenu = _interopRequireDefault(require("./context-menu"));
|
|
|
29
31
|
function ScreenRoot() {
|
|
30
32
|
return (0, _element.createElement)(_components.Card, {
|
|
31
33
|
size: "small"
|
|
32
|
-
}, (0, _element.createElement)(_components.CardBody, null, (0, _element.createElement)(_preview.default, null)), (0, _element.createElement)(_components.CardBody, null, (0, _element.createElement)(_contextMenu.default, null)), (0, _element.createElement)(_components.CardDivider, null), (0, _element.createElement)(_components.CardBody, null, (0, _element.createElement)(_components.__experimentalItemGroup, null, (0, _element.createElement)(_components.__experimentalItem, null, (0,
|
|
34
|
+
}, (0, _element.createElement)(_components.CardBody, null, (0, _element.createElement)(_preview.default, null)), (0, _element.createElement)(_components.CardBody, null, (0, _element.createElement)(_contextMenu.default, null)), (0, _element.createElement)(_components.CardDivider, null), (0, _element.createElement)(_components.CardBody, null, (0, _element.createElement)(_components.__experimentalItemGroup, null, (0, _element.createElement)(_components.__experimentalItem, null, (0, _i18n.__)('Customize the appearance of specific blocks for the whole site.')), (0, _element.createElement)(_navigationButton.default, {
|
|
33
35
|
path: "/blocks"
|
|
34
|
-
}, (0,
|
|
36
|
+
}, (0, _element.createElement)(_components.__experimentalHStack, {
|
|
37
|
+
justify: "space-between"
|
|
38
|
+
}, (0, _element.createElement)(_components.FlexItem, null, (0, _i18n.__)('Blocks')), (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_icons.Icon, {
|
|
39
|
+
icon: (0, _i18n.isRTL)() ? _icons.chevronLeft : _icons.chevronRight
|
|
40
|
+
})))))));
|
|
35
41
|
}
|
|
36
42
|
|
|
37
43
|
var _default = ScreenRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-root.js"],"names":["ScreenRoot"],"mappings":";;;;;;;;;;;AAGA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-root.js"],"names":["ScreenRoot","chevronLeft","chevronRight"],"mappings":";;;;;;;;;;;AAGA;;AASA;;AACA;;AAKA;;AACA;;AACA;;AApBA;AACA;AACA;;AAaA;AACA;AACA;AAKA,SAASA,UAAT,GAAsB;AACrB,SACC,4BAAC,gBAAD;AAAM,IAAA,IAAI,EAAC;AAAX,KACC,4BAAC,oBAAD,QACC,4BAAC,gBAAD,OADD,CADD,EAKC,4BAAC,oBAAD,QACC,4BAAC,oBAAD,OADD,CALD,EASC,4BAAC,uBAAD,OATD,EAWC,4BAAC,oBAAD,QACC,4BAAC,mCAAD,QACC,4BAAC,8BAAD,QACG,cACD,iEADC,CADH,CADD,EAMC,4BAAC,yBAAD;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACC,4BAAC,gCAAD;AAAQ,IAAA,OAAO,EAAC;AAAhB,KACC,4BAAC,oBAAD,QAAY,cAAI,QAAJ,CAAZ,CADD,EAEC,4BAAC,oBAAD,QACC,4BAAC,WAAD;AACC,IAAA,IAAI,EACH,qBAAUC,kBAAV,GAAwBC;AAF1B,IADD,CAFD,CADD,CAND,CADD,CAXD,CADD;AAmCA;;eAEcF,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tCardBody,\n\tCard,\n\tCardDivider,\n} from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport StylesPreview from './preview';\nimport NavigationButton from './navigation-button';\nimport ContextMenu from './context-menu';\n\nfunction ScreenRoot() {\n\treturn (\n\t\t<Card size=\"small\">\n\t\t\t<CardBody>\n\t\t\t\t<StylesPreview />\n\t\t\t</CardBody>\n\n\t\t\t<CardBody>\n\t\t\t\t<ContextMenu />\n\t\t\t</CardBody>\n\n\t\t\t<CardDivider />\n\n\t\t\t<CardBody>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t<Item>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Customize the appearance of specific blocks for the whole site.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Item>\n\t\t\t\t\t<NavigationButton path=\"/blocks\">\n\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t<FlexItem>{ __( 'Blocks' ) }</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\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</FlexItem>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</NavigationButton>\n\t\t\t\t</ItemGroup>\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n}\n\nexport default ScreenRoot;\n"]}
|
|
@@ -84,21 +84,27 @@ function AddedByPlugin(_ref3) {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
function AddedByAuthor(_ref4) {
|
|
87
|
+
var _user$avatar_urls;
|
|
88
|
+
|
|
87
89
|
let {
|
|
88
90
|
id
|
|
89
91
|
} = _ref4;
|
|
90
92
|
const user = (0, _data.useSelect)(select => select(_coreData.store).getUser(id), [id]);
|
|
91
93
|
const [isImageLoaded, setIsImageLoaded] = (0, _element.useState)(false);
|
|
94
|
+
const avatarURL = user === null || user === void 0 ? void 0 : (_user$avatar_urls = user.avatar_urls) === null || _user$avatar_urls === void 0 ? void 0 : _user$avatar_urls[48];
|
|
95
|
+
const hasAvatar = !!avatarURL;
|
|
92
96
|
return (0, _element.createElement)(_components.__experimentalHStack, {
|
|
93
97
|
alignment: "left"
|
|
94
98
|
}, (0, _element.createElement)("div", {
|
|
95
|
-
className: (0, _classnames.default)('edit-site-list-added-by__avatar', {
|
|
99
|
+
className: (0, _classnames.default)(hasAvatar ? 'edit-site-list-added-by__avatar' : 'edit-site-list-added-by__icon', {
|
|
96
100
|
'is-loaded': isImageLoaded
|
|
97
101
|
})
|
|
98
|
-
}, (0, _element.createElement)("img", {
|
|
102
|
+
}, hasAvatar ? (0, _element.createElement)("img", {
|
|
99
103
|
onLoad: () => setIsImageLoaded(true),
|
|
100
104
|
alt: "",
|
|
101
|
-
src:
|
|
105
|
+
src: avatarURL
|
|
106
|
+
}) : (0, _element.createElement)(_components.Icon, {
|
|
107
|
+
icon: _icons.commentAuthorAvatar
|
|
102
108
|
})), (0, _element.createElement)("span", null, user === null || user === void 0 ? void 0 : user.nickname));
|
|
103
109
|
}
|
|
104
110
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"names":["TEMPLATE_POST_TYPE_NAMES","CustomizedTooltip","isCustomized","children","AddedByTheme","slug","theme","select","coreStore","getTheme","themeIcon","name","rendered","AddedByPlugin","plugin","getPlugin","pluginIcon","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":";;;;;;;;;AAeA;;AAZA;;AAKA;;AAKA;;AACA;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"names":["TEMPLATE_POST_TYPE_NAMES","CustomizedTooltip","isCustomized","children","AddedByTheme","slug","theme","select","coreStore","getTheme","themeIcon","name","rendered","AddedByPlugin","plugin","getPlugin","pluginIcon","AddedByAuthor","id","user","getUser","isImageLoaded","setIsImageLoaded","avatarURL","avatar_urls","hasAvatar","authorIcon","nickname","AddedBySite","logoURL","getEntityRecord","getMedia","siteData","site_logo","source_url","undefined","AddedBy","templateType","template","includes","has_theme_file","origin","source","author"],"mappings":"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","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 {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n} 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\tconst avatarURL = user?.avatar_urls?.[ 48 ];\n\tconst hasAvatar = !! avatarURL;\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\thasAvatar\n\t\t\t\t\t\t? 'edit-site-list-added-by__avatar'\n\t\t\t\t\t\t: 'edit-site-list-added-by__icon',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ hasAvatar ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ avatarURL }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Icon icon={ authorIcon } />\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"]}
|
|
@@ -52,6 +52,14 @@ function NavigationToggle(_ref) {
|
|
|
52
52
|
setIsNavigationPanelOpened
|
|
53
53
|
} = (0, _data.useDispatch)(_store.store);
|
|
54
54
|
const disableMotion = (0, _compose.useReducedMotion)();
|
|
55
|
+
const navigationToggleRef = (0, _element.useRef)();
|
|
56
|
+
(0, _element.useEffect)(() => {
|
|
57
|
+
// TODO: Remove this effect when alternative solution is merged.
|
|
58
|
+
// See: https://github.com/WordPress/gutenberg/pull/37314
|
|
59
|
+
if (!isNavigationOpen) {
|
|
60
|
+
navigationToggleRef.current.focus();
|
|
61
|
+
}
|
|
62
|
+
}, [isNavigationOpen]);
|
|
55
63
|
|
|
56
64
|
const toggleNavigationPanel = () => setIsNavigationPanelOpened(!isNavigationOpen);
|
|
57
65
|
|
|
@@ -92,6 +100,9 @@ function NavigationToggle(_ref) {
|
|
|
92
100
|
}, (0, _element.createElement)(_components.Button, {
|
|
93
101
|
className: "edit-site-navigation-toggle__button has-icon",
|
|
94
102
|
label: (0, _i18n.__)('Toggle navigation'),
|
|
103
|
+
ref: navigationToggleRef // isPressed will add unwanted styles.
|
|
104
|
+
,
|
|
105
|
+
"aria-pressed": isNavigationOpen,
|
|
95
106
|
onClick: toggleNavigationPanel,
|
|
96
107
|
showTooltip: true
|
|
97
108
|
}, buttonIcon));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["NavigationToggle","icon","isNavigationOpen","isRequestingSiteIcon","siteIconUrl","select","getEntityRecord","isResolving","coreDataStore","siteData","undefined","editSiteStore","isNavigationOpened","site_icon_url","setIsNavigationPanelOpened","disableMotion","toggleNavigationPanel","buttonIcon","wordpress","effect","expand","scale","borderRadius","transition","type","duration"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["NavigationToggle","icon","isNavigationOpen","isRequestingSiteIcon","siteIconUrl","select","getEntityRecord","isResolving","coreDataStore","siteData","undefined","editSiteStore","isNavigationOpened","site_icon_url","setIsNavigationPanelOpened","disableMotion","navigationToggleRef","current","focus","toggleNavigationPanel","buttonIcon","wordpress","effect","expand","scale","borderRadius","transition","type","duration"],"mappings":";;;;;;;AAIA;;AADA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AAKA;;AAlBA;AACA;AACA;;AAaA;AACA;AACA;AAGA,SAASA,gBAAT,OAAsC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACrC,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA,oBAApB;AAA0CC,IAAAA;AAA1C,MAA0D,qBAC7DC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAmCF,MAAM,CAAEG,eAAF,CAA/C;AACA,UAAMC,QAAQ,GACbH,eAAe,CAAE,MAAF,EAAU,gBAAV,EAA4BI,SAA5B,CAAf,IAA0D,EAD3D;AAGA,WAAO;AACNR,MAAAA,gBAAgB,EAAEG,MAAM,CAAEM,YAAF,CAAN,CAAwBC,kBAAxB,EADZ;AAENT,MAAAA,oBAAoB,EAAEI,WAAW,CAAE,MAAF,EAAU,iBAAV,EAA6B,CAC7D,MAD6D,EAE7D,gBAF6D,EAG7DG,SAH6D,CAA7B,CAF3B;AAONN,MAAAA,WAAW,EAAEK,QAAQ,CAACI;AAPhB,KAAP;AASA,GAf8D,EAgB/D,EAhB+D,CAAhE;AAkBA,QAAM;AAAEC,IAAAA;AAAF,MAAiC,uBAAaH,YAAb,CAAvC;AAEA,QAAMI,aAAa,GAAG,gCAAtB;AAEA,QAAMC,mBAAmB,GAAG,sBAA5B;AAEA,0BAAW,MAAM;AAChB;AACA;AACA,QAAK,CAAEd,gBAAP,EAA0B;AACzBc,MAAAA,mBAAmB,CAACC,OAApB,CAA4BC,KAA5B;AACA;AACD,GAND,EAMG,CAAEhB,gBAAF,CANH;;AAQA,QAAMiB,qBAAqB,GAAG,MAC7BL,0BAA0B,CAAE,CAAEZ,gBAAJ,CAD3B;;AAGA,MAAIkB,UAAU,GAAG,4BAAC,gBAAD;AAAM,IAAA,IAAI,EAAC,MAAX;AAAkB,IAAA,IAAI,EAAGC;AAAzB,IAAjB;AAEA,QAAMC,MAAM,GAAG;AACdC,IAAAA,MAAM,EAAE;AACPC,MAAAA,KAAK,EAAE,GADA;AAEPC,MAAAA,YAAY,EAAE,CAFP;AAGPC,MAAAA,UAAU,EAAE;AAAEC,QAAAA,IAAI,EAAE,OAAR;AAAiBC,QAAAA,QAAQ,EAAE;AAA3B;AAHL;AADM,GAAf;;AAQA,MAAKxB,WAAL,EAAmB;AAClBgB,IAAAA,UAAU,GACT,4BAAC,4BAAD,CAAQ,GAAR;AACC,MAAA,QAAQ,EAAG,CAAEL,aAAF,IAAmBO,MAD/B;AAEC,MAAA,GAAG,EAAG,cAAI,WAAJ,CAFP;AAGC,MAAA,SAAS,EAAC,wCAHX;AAIC,MAAA,GAAG,EAAGlB;AAJP,MADD;AAQA,GATD,MASO,IAAKD,oBAAL,EAA4B;AAClCiB,IAAAA,UAAU,GAAG,IAAb;AACA,GAFM,MAEA,IAAKnB,IAAL,EAAY;AAClBmB,IAAAA,UAAU,GAAG,4BAAC,gBAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,IAAI,EAAGnB;AAAzB,MAAb;AACA;;AAED,SACC,4BAAC,4BAAD,CAAQ,GAAR;AACC,IAAA,SAAS,EACR,iCACEC,gBAAgB,GAAG,UAAH,GAAgB,EADlC,CAFF;AAKC,IAAA,UAAU,EAAC;AALZ,KAOC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,8CADX;AAEC,IAAA,KAAK,EAAG,cAAI,mBAAJ,CAFT;AAGC,IAAA,GAAG,EAAGc,mBAHP,CAIC;AAJD;AAKC,oBAAed,gBALhB;AAMC,IAAA,OAAO,EAAGiB,qBANX;AAOC,IAAA,WAAW;AAPZ,KASGC,UATH,CAPD,CADD;AAqBA;;eAEcpB,gB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tIcon,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { wordpress } from '@wordpress/icons';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction NavigationToggle( { icon } ) {\n\tconst { isNavigationOpen, isRequestingSiteIcon, siteIconUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, isResolving } = select( coreDataStore );\n\t\t\tconst siteData =\n\t\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\t\treturn {\n\t\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t\t\tisRequestingSiteIcon: isResolving( 'core', 'getEntityRecord', [\n\t\t\t\t\t'root',\n\t\t\t\t\t'__unstableBase',\n\t\t\t\t\tundefined,\n\t\t\t\t] ),\n\t\t\t\tsiteIconUrl: siteData.site_icon_url,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tconst disableMotion = useReducedMotion();\n\n\tconst navigationToggleRef = useRef();\n\n\tuseEffect( () => {\n\t\t// TODO: Remove this effect when alternative solution is merged.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/37314\n\t\tif ( ! isNavigationOpen ) {\n\t\t\tnavigationToggleRef.current.focus();\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tconst toggleNavigationPanel = () =>\n\t\tsetIsNavigationPanelOpened( ! isNavigationOpen );\n\n\tlet buttonIcon = <Icon size=\"36px\" icon={ wordpress } />;\n\n\tconst effect = {\n\t\texpand: {\n\t\t\tscale: 1.7,\n\t\t\tborderRadius: 0,\n\t\t\ttransition: { type: 'tween', duration: '0.2' },\n\t\t},\n\t};\n\n\tif ( siteIconUrl ) {\n\t\tbuttonIcon = (\n\t\t\t<motion.img\n\t\t\t\tvariants={ ! disableMotion && effect }\n\t\t\t\talt={ __( 'Site Icon' ) }\n\t\t\t\tclassName=\"edit-site-navigation-toggle__site-icon\"\n\t\t\t\tsrc={ siteIconUrl }\n\t\t\t/>\n\t\t);\n\t} else if ( isRequestingSiteIcon ) {\n\t\tbuttonIcon = null;\n\t} else if ( icon ) {\n\t\tbuttonIcon = <Icon size=\"36px\" icon={ icon } />;\n\t}\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName={\n\t\t\t\t'edit-site-navigation-toggle' +\n\t\t\t\t( isNavigationOpen ? ' is-open' : '' )\n\t\t\t}\n\t\t\twhileHover=\"expand\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-navigation-toggle__button has-icon\"\n\t\t\t\tlabel={ __( 'Toggle navigation' ) }\n\t\t\t\tref={ navigationToggleRef }\n\t\t\t\t// isPressed will add unwanted styles.\n\t\t\t\taria-pressed={ isNavigationOpen }\n\t\t\t\tonClick={ toggleNavigationPanel }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ buttonIcon }\n\t\t\t</Button>\n\t\t</motion.div>\n\t);\n}\n\nexport default NavigationToggle;\n"]}
|
|
@@ -43,7 +43,13 @@ function SiteExport() {
|
|
|
43
43
|
});
|
|
44
44
|
const blob = await response.blob();
|
|
45
45
|
(0, _downloadjs.default)(blob, 'edit-site-export.zip', 'application/zip');
|
|
46
|
-
} catch (
|
|
46
|
+
} catch (errorResponse) {
|
|
47
|
+
let error = {};
|
|
48
|
+
|
|
49
|
+
try {
|
|
50
|
+
error = await errorResponse.json();
|
|
51
|
+
} catch (e) {}
|
|
52
|
+
|
|
47
53
|
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while creating the site export.');
|
|
48
54
|
createErrorNotice(errorMessage, {
|
|
49
55
|
type: 'snackbar'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/plugins/site-export.js"],"names":["SiteExport","createErrorNotice","noticesStore","handleExport","response","path","parse","blob","error","errorMessage","message","code","type","download"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;AAQe,SAASA,UAAT,GAAsB;AACpC,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;;AAEA,iBAAeC,YAAf,GAA8B;AAC7B,QAAI;AACH,YAAMC,QAAQ,GAAG,MAAM,uBAAU;AAChCC,QAAAA,IAAI,EAAE,4BAD0B;AAEhCC,QAAAA,KAAK,EAAE;AAFyB,OAAV,CAAvB;AAIA,YAAMC,IAAI,GAAG,MAAMH,QAAQ,CAACG,IAAT,EAAnB;AAEA,+BAAYA,IAAZ,EAAkB,sBAAlB,EAA0C,iBAA1C;AACA,KARD,CAQE,OAAQC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/plugins/site-export.js"],"names":["SiteExport","createErrorNotice","noticesStore","handleExport","response","path","parse","blob","errorResponse","error","json","e","errorMessage","message","code","type","download"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;AAQe,SAASA,UAAT,GAAsB;AACpC,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;;AAEA,iBAAeC,YAAf,GAA8B;AAC7B,QAAI;AACH,YAAMC,QAAQ,GAAG,MAAM,uBAAU;AAChCC,QAAAA,IAAI,EAAE,4BAD0B;AAEhCC,QAAAA,KAAK,EAAE;AAFyB,OAAV,CAAvB;AAIA,YAAMC,IAAI,GAAG,MAAMH,QAAQ,CAACG,IAAT,EAAnB;AAEA,+BAAYA,IAAZ,EAAkB,sBAAlB,EAA0C,iBAA1C;AACA,KARD,CAQE,OAAQC,aAAR,EAAwB;AACzB,UAAIC,KAAK,GAAG,EAAZ;;AACA,UAAI;AACHA,QAAAA,KAAK,GAAG,MAAMD,aAAa,CAACE,IAAd,EAAd;AACA,OAFD,CAEE,OAAQC,CAAR,EAAY,CAAE;;AAChB,YAAMC,YAAY,GACjBH,KAAK,CAACI,OAAN,IAAiBJ,KAAK,CAACK,IAAN,KAAe,eAAhC,GACGL,KAAK,CAACI,OADT,GAEG,cAAI,mDAAJ,CAHJ;AAKAZ,MAAAA,iBAAiB,CAAEW,YAAF,EAAgB;AAAEG,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACA;AACD;;AAED,SACC,4BAAC,oBAAD;AACC,IAAA,IAAI,EAAC,UADN;AAEC,IAAA,IAAI,EAAGC,eAFR;AAGC,IAAA,OAAO,EAAGb,YAHX;AAIC,IAAA,IAAI,EAAG,cAAI,6CAAJ;AAJR,KAMG,cAAI,QAAJ,CANH,CADD;AAUA","sourcesContent":["/**\n * External dependencies\n */\nimport downloadjs from 'downloadjs';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport apiFetch from '@wordpress/api-fetch';\nimport { download } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function SiteExport() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tasync function handleExport() {\n\t\ttry {\n\t\t\tconst response = await apiFetch( {\n\t\t\t\tpath: '/wp-block-editor/v1/export',\n\t\t\t\tparse: false,\n\t\t\t} );\n\t\t\tconst blob = await response.blob();\n\n\t\t\tdownloadjs( blob, 'edit-site-export.zip', 'application/zip' );\n\t\t} catch ( errorResponse ) {\n\t\t\tlet error = {};\n\t\t\ttry {\n\t\t\t\terror = await errorResponse.json();\n\t\t\t} catch ( e ) {}\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the site export.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\trole=\"menuitem\"\n\t\t\ticon={ download }\n\t\t\tonClick={ handleExport }\n\t\t\tinfo={ __( 'Download your templates and template parts.' ) }\n\t\t>\n\t\t\t{ __( 'Export' ) }\n\t\t</MenuItem>\n\t);\n}\n"]}
|
|
@@ -8,13 +8,14 @@ import { noop } from 'lodash';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { __experimentalVStack as VStack, __experimentalPaletteEdit as PaletteEdit,
|
|
11
|
+
import { __experimentalVStack as VStack, __experimentalPaletteEdit as PaletteEdit, __experimentalSpacer as Spacer, DuotonePicker } from '@wordpress/components';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
/**
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { useSetting } from './hooks';
|
|
18
|
+
import Subtitle from './subtitle';
|
|
18
19
|
export default function GradientPalettePanel(_ref) {
|
|
19
20
|
let {
|
|
20
21
|
name
|
|
@@ -47,9 +48,9 @@ export default function GradientPalettePanel(_ref) {
|
|
|
47
48
|
paletteLabel: __('Custom'),
|
|
48
49
|
emptyMessage: __('Custom gradients are empty! Add some gradients to create your own palette.'),
|
|
49
50
|
slugPrefix: "custom-"
|
|
50
|
-
}), createElement("div", null, createElement(
|
|
51
|
-
|
|
52
|
-
}
|
|
51
|
+
}), createElement("div", null, createElement(Subtitle, null, __('Duotone')), createElement(Spacer, {
|
|
52
|
+
margin: 3
|
|
53
|
+
}), createElement(DuotonePicker, {
|
|
53
54
|
duotonePalette: duotonePalette,
|
|
54
55
|
disableCustomDuotone: true,
|
|
55
56
|
disableCustomColors: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["noop","__experimentalVStack","VStack","__experimentalPaletteEdit","PaletteEdit","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["noop","__experimentalVStack","VStack","__experimentalPaletteEdit","PaletteEdit","__experimentalSpacer","Spacer","DuotonePicker","__","useSetting","Subtitle","GradientPalettePanel","name","themeGradients","setThemeGradients","baseThemeGradients","defaultGradients","setDefaultGradients","baseDefaultGradients","customGradients","setCustomGradients","defaultPaletteEnabled","duotonePalette","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AAEA;AACA;AACA;;AACA,SACCC,oBAAoB,IAAIC,MADzB,EAECC,yBAAyB,IAAIC,WAF9B,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,aAJD,QAKO,uBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,SAA3B;AACA,OAAOC,QAAP,MAAqB,YAArB;AAEA,eAAe,SAASC,oBAAT,OAA0C;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACxD,QAAM,CAAEC,cAAF,EAAkBC,iBAAlB,IAAwCL,UAAU,CACvD,uBADuD,EAEvDG,IAFuD,CAAxD;AAIA,QAAM,CAAEG,kBAAF,IAAyBN,UAAU,CACxC,uBADwC,EAExCG,IAFwC,EAGxC,MAHwC,CAAzC;AAKA,QAAM,CAAEI,gBAAF,EAAoBC,mBAApB,IAA4CR,UAAU,CAC3D,yBAD2D,EAE3DG,IAF2D,CAA5D;AAIA,QAAM,CAAEM,oBAAF,IAA2BT,UAAU,CAC1C,yBAD0C,EAE1CG,IAF0C,EAG1C,MAH0C,CAA3C;AAKA,QAAM,CAAEO,eAAF,EAAmBC,kBAAnB,IAA0CX,UAAU,CACzD,wBADyD,EAEzDG,IAFyD,CAA1D;AAKA,QAAM,CAAES,qBAAF,IAA4BZ,UAAU,CAC3C,wBAD2C,EAE3CG,IAF2C,CAA5C;AAIA,QAAM,CAAEU,cAAF,IAAqBb,UAAU,CAAE,eAAF,CAAV,IAAiC,EAA5D;AACA,SACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,gDADX;AAEC,IAAA,OAAO,EAAG;AAFX,KAIG,CAAC,CAAEI,cAAH,IAAqB,CAAC,CAAEA,cAAc,CAACU,MAAvC,IACD,cAAC,WAAD;AACC,IAAA,QAAQ,EAAGV,cAAc,KAAKE,kBAD/B;AAEC,IAAA,mBAAmB,MAFpB;AAGC,IAAA,SAAS,EAAGF,cAHb;AAIC,IAAA,QAAQ,EAAGC,iBAJZ;AAKC,IAAA,YAAY,EAAGN,EAAE,CAAE,OAAF;AALlB,IALF,EAaG,CAAC,CAAEQ,gBAAH,IACD,CAAC,CAAEA,gBAAgB,CAACO,MADnB,IAED,CAAC,CAAEF,qBAFF,IAGA,cAAC,WAAD;AACC,IAAA,QAAQ,EAAGL,gBAAgB,KAAKE,oBADjC;AAEC,IAAA,mBAAmB,MAFpB;AAGC,IAAA,SAAS,EAAGF,gBAHb;AAIC,IAAA,QAAQ,EAAGC,mBAJZ;AAKC,IAAA,YAAY,EAAGT,EAAE,CAAE,SAAF;AALlB,IAhBH,EAwBC,cAAC,WAAD;AACC,IAAA,SAAS,EAAGW,eADb;AAEC,IAAA,QAAQ,EAAGC,kBAFZ;AAGC,IAAA,YAAY,EAAGZ,EAAE,CAAE,QAAF,CAHlB;AAIC,IAAA,YAAY,EAAGA,EAAE,CAChB,4EADgB,CAJlB;AAOC,IAAA,UAAU,EAAC;AAPZ,IAxBD,EAiCC,2BACC,cAAC,QAAD,QAAYA,EAAE,CAAE,SAAF,CAAd,CADD,EAEC,cAAC,MAAD;AAAQ,IAAA,MAAM,EAAG;AAAjB,IAFD,EAGC,cAAC,aAAD;AACC,IAAA,cAAc,EAAGc,cADlB;AAEC,IAAA,oBAAoB,EAAG,IAFxB;AAGC,IAAA,mBAAmB,EAAG,IAHvB;AAIC,IAAA,SAAS,EAAG,KAJb;AAKC,IAAA,QAAQ,EAAGtB;AALZ,IAHD,CAjCD,CADD;AA+CA","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalSpacer as Spacer,\n\tDuotonePicker,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from './hooks';\nimport Subtitle from './subtitle';\n\nexport default function GradientPalettePanel( { name } ) {\n\tconst [ themeGradients, setThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname\n\t);\n\tconst [ baseThemeGradients ] = useSetting(\n\t\t'color.gradients.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultGradients, setDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname\n\t);\n\tconst [ baseDefaultGradients ] = useSetting(\n\t\t'color.gradients.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customGradients, setCustomGradients ] = useSetting(\n\t\t'color.gradients.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useSetting(\n\t\t'color.defaultGradients',\n\t\tname\n\t);\n\tconst [ duotonePalette ] = useSetting( 'color.duotone' ) || [];\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-gradient-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeGradients && !! themeGradients.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeGradients !== baseThemeGradients }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tgradients={ themeGradients }\n\t\t\t\t\tonChange={ setThemeGradients }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultGradients &&\n\t\t\t\t!! defaultGradients.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultGradients !== baseDefaultGradients }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tgradients={ defaultGradients }\n\t\t\t\t\t\tonChange={ setDefaultGradients }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tgradients={ customGradients }\n\t\t\t\tonChange={ setCustomGradients }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom gradients are empty! Add some gradients to create your own palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<Subtitle>{ __( 'Duotone' ) }</Subtitle>\n\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t<DuotonePicker\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tdisableCustomDuotone={ true }\n\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\tclearable={ false }\n\t\t\t\t\tonChange={ noop }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</VStack>\n\t);\n}\n"]}
|
|
@@ -3,8 +3,9 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { __experimentalItemGroup as ItemGroup, __experimentalItem as Item, CardBody, Card, CardDivider } from '@wordpress/components';
|
|
7
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalHStack as HStack, FlexItem, CardBody, Card, CardDivider } from '@wordpress/components';
|
|
7
|
+
import { isRTL, __ } from '@wordpress/i18n';
|
|
8
|
+
import { chevronLeft, chevronRight, Icon } from '@wordpress/icons';
|
|
8
9
|
/**
|
|
9
10
|
* Internal dependencies
|
|
10
11
|
*/
|
|
@@ -16,9 +17,13 @@ import ContextMenu from './context-menu';
|
|
|
16
17
|
function ScreenRoot() {
|
|
17
18
|
return createElement(Card, {
|
|
18
19
|
size: "small"
|
|
19
|
-
}, createElement(CardBody, null, createElement(StylesPreview, null)), createElement(CardBody, null, createElement(ContextMenu, null)), createElement(CardDivider, null), createElement(CardBody, null, createElement(ItemGroup, null, createElement(Item, null,
|
|
20
|
+
}, createElement(CardBody, null, createElement(StylesPreview, null)), createElement(CardBody, null, createElement(ContextMenu, null)), createElement(CardDivider, null), createElement(CardBody, null, createElement(ItemGroup, null, createElement(Item, null, __('Customize the appearance of specific blocks for the whole site.')), createElement(NavigationButton, {
|
|
20
21
|
path: "/blocks"
|
|
21
|
-
},
|
|
22
|
+
}, createElement(HStack, {
|
|
23
|
+
justify: "space-between"
|
|
24
|
+
}, createElement(FlexItem, null, __('Blocks')), createElement(FlexItem, null, createElement(Icon, {
|
|
25
|
+
icon: isRTL() ? chevronLeft : chevronRight
|
|
26
|
+
})))))));
|
|
22
27
|
}
|
|
23
28
|
|
|
24
29
|
export default ScreenRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-root.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","CardBody","Card","CardDivider","__","StylesPreview","NavigationButton","ContextMenu","ScreenRoot"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,uBAAuB,IAAIC,SAD5B,EAECC,kBAAkB,IAAIC,IAFvB,EAGCC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-root.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","FlexItem","CardBody","Card","CardDivider","isRTL","__","chevronLeft","chevronRight","Icon","StylesPreview","NavigationButton","ContextMenu","ScreenRoot"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,uBAAuB,IAAIC,SAD5B,EAECC,kBAAkB,IAAIC,IAFvB,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,QAJD,EAKCC,QALD,EAMCC,IAND,EAOCC,WAPD,QAQO,uBARP;AASA,SAASC,KAAT,EAAgBC,EAAhB,QAA0B,iBAA1B;AACA,SAASC,WAAT,EAAsBC,YAAtB,EAAoCC,IAApC,QAAgD,kBAAhD;AAEA;AACA;AACA;;AACA,OAAOC,aAAP,MAA0B,WAA1B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,OAAOC,WAAP,MAAwB,gBAAxB;;AAEA,SAASC,UAAT,GAAsB;AACrB,SACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAC;AAAX,KACC,cAAC,QAAD,QACC,cAAC,aAAD,OADD,CADD,EAKC,cAAC,QAAD,QACC,cAAC,WAAD,OADD,CALD,EASC,cAAC,WAAD,OATD,EAWC,cAAC,QAAD,QACC,cAAC,SAAD,QACC,cAAC,IAAD,QACGP,EAAE,CACH,iEADG,CADL,CADD,EAMC,cAAC,gBAAD;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC;AAAhB,KACC,cAAC,QAAD,QAAYA,EAAE,CAAE,QAAF,CAAd,CADD,EAEC,cAAC,QAAD,QACC,cAAC,IAAD;AACC,IAAA,IAAI,EACHD,KAAK,KAAKE,WAAL,GAAmBC;AAF1B,IADD,CAFD,CADD,CAND,CADD,CAXD,CADD;AAmCA;;AAED,eAAeK,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tCardBody,\n\tCard,\n\tCardDivider,\n} from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport StylesPreview from './preview';\nimport NavigationButton from './navigation-button';\nimport ContextMenu from './context-menu';\n\nfunction ScreenRoot() {\n\treturn (\n\t\t<Card size=\"small\">\n\t\t\t<CardBody>\n\t\t\t\t<StylesPreview />\n\t\t\t</CardBody>\n\n\t\t\t<CardBody>\n\t\t\t\t<ContextMenu />\n\t\t\t</CardBody>\n\n\t\t\t<CardDivider />\n\n\t\t\t<CardBody>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t<Item>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Customize the appearance of specific blocks for the whole site.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Item>\n\t\t\t\t\t<NavigationButton path=\"/blocks\">\n\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t<FlexItem>{ __( 'Blocks' ) }</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\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</FlexItem>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</NavigationButton>\n\t\t\t\t</ItemGroup>\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n}\n\nexport default ScreenRoot;\n"]}
|
|
@@ -12,7 +12,7 @@ import { __experimentalHStack as HStack, Icon, Tooltip } from '@wordpress/compon
|
|
|
12
12
|
import { store as coreStore } from '@wordpress/core-data';
|
|
13
13
|
import { useSelect } from '@wordpress/data';
|
|
14
14
|
import { useState } from '@wordpress/element';
|
|
15
|
-
import { layout as themeIcon, plugins as pluginIcon } from '@wordpress/icons';
|
|
15
|
+
import { commentAuthorAvatar as authorIcon, layout as themeIcon, plugins as pluginIcon } from '@wordpress/icons';
|
|
16
16
|
import { __ } from '@wordpress/i18n';
|
|
17
17
|
const TEMPLATE_POST_TYPE_NAMES = ['wp_template', 'wp_template_part'];
|
|
18
18
|
|
|
@@ -70,21 +70,27 @@ function AddedByPlugin(_ref3) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
function AddedByAuthor(_ref4) {
|
|
73
|
+
var _user$avatar_urls;
|
|
74
|
+
|
|
73
75
|
let {
|
|
74
76
|
id
|
|
75
77
|
} = _ref4;
|
|
76
78
|
const user = useSelect(select => select(coreStore).getUser(id), [id]);
|
|
77
79
|
const [isImageLoaded, setIsImageLoaded] = useState(false);
|
|
80
|
+
const avatarURL = user === null || user === void 0 ? void 0 : (_user$avatar_urls = user.avatar_urls) === null || _user$avatar_urls === void 0 ? void 0 : _user$avatar_urls[48];
|
|
81
|
+
const hasAvatar = !!avatarURL;
|
|
78
82
|
return createElement(HStack, {
|
|
79
83
|
alignment: "left"
|
|
80
84
|
}, createElement("div", {
|
|
81
|
-
className: classnames('edit-site-list-added-by__avatar', {
|
|
85
|
+
className: classnames(hasAvatar ? 'edit-site-list-added-by__avatar' : 'edit-site-list-added-by__icon', {
|
|
82
86
|
'is-loaded': isImageLoaded
|
|
83
87
|
})
|
|
84
|
-
}, createElement("img", {
|
|
88
|
+
}, hasAvatar ? createElement("img", {
|
|
85
89
|
onLoad: () => setIsImageLoaded(true),
|
|
86
90
|
alt: "",
|
|
87
|
-
src:
|
|
91
|
+
src: avatarURL
|
|
92
|
+
}) : createElement(Icon, {
|
|
93
|
+
icon: authorIcon
|
|
88
94
|
})), createElement("span", null, user === null || user === void 0 ? void 0 : user.nickname));
|
|
89
95
|
}
|
|
90
96
|
|
|
@@ -1 +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":"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","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
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"names":["classnames","__experimentalHStack","HStack","Icon","Tooltip","store","coreStore","useSelect","useState","commentAuthorAvatar","authorIcon","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","avatarURL","avatar_urls","hasAvatar","nickname","AddedBySite","logoURL","getEntityRecord","getMedia","siteData","site_logo","source_url","undefined","AddedBy","templateType","template","includes","has_theme_file","origin","source","author"],"mappings":"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","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 {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n} 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\tconst avatarURL = user?.avatar_urls?.[ 48 ];\n\tconst hasAvatar = !! avatarURL;\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\thasAvatar\n\t\t\t\t\t\t? 'edit-site-list-added-by__avatar'\n\t\t\t\t\t\t: 'edit-site-list-added-by__icon',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ hasAvatar ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ avatarURL }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Icon icon={ authorIcon } />\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"]}
|
|
@@ -4,6 +4,7 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
7
|
+
import { useEffect, useRef } from '@wordpress/element';
|
|
7
8
|
import { Button, Icon, __unstableMotion as motion } from '@wordpress/components';
|
|
8
9
|
import { __ } from '@wordpress/i18n';
|
|
9
10
|
import { wordpress } from '@wordpress/icons';
|
|
@@ -39,6 +40,14 @@ function NavigationToggle(_ref) {
|
|
|
39
40
|
setIsNavigationPanelOpened
|
|
40
41
|
} = useDispatch(editSiteStore);
|
|
41
42
|
const disableMotion = useReducedMotion();
|
|
43
|
+
const navigationToggleRef = useRef();
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
// TODO: Remove this effect when alternative solution is merged.
|
|
46
|
+
// See: https://github.com/WordPress/gutenberg/pull/37314
|
|
47
|
+
if (!isNavigationOpen) {
|
|
48
|
+
navigationToggleRef.current.focus();
|
|
49
|
+
}
|
|
50
|
+
}, [isNavigationOpen]);
|
|
42
51
|
|
|
43
52
|
const toggleNavigationPanel = () => setIsNavigationPanelOpened(!isNavigationOpen);
|
|
44
53
|
|
|
@@ -79,6 +88,9 @@ function NavigationToggle(_ref) {
|
|
|
79
88
|
}, createElement(Button, {
|
|
80
89
|
className: "edit-site-navigation-toggle__button has-icon",
|
|
81
90
|
label: __('Toggle navigation'),
|
|
91
|
+
ref: navigationToggleRef // isPressed will add unwanted styles.
|
|
92
|
+
,
|
|
93
|
+
"aria-pressed": isNavigationOpen,
|
|
82
94
|
onClick: toggleNavigationPanel,
|
|
83
95
|
showTooltip: true
|
|
84
96
|
}, buttonIcon));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["useSelect","useDispatch","Button","Icon","__unstableMotion","motion","__","wordpress","store","coreDataStore","useReducedMotion","editSiteStore","NavigationToggle","icon","isNavigationOpen","isRequestingSiteIcon","siteIconUrl","select","getEntityRecord","isResolving","siteData","undefined","isNavigationOpened","site_icon_url","setIsNavigationPanelOpened","disableMotion","toggleNavigationPanel","buttonIcon","effect","expand","scale","borderRadius","transition","type","duration"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SACCC,MADD,EAECC,IAFD,EAGCC,gBAAgB,IAAIC,MAHrB,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,sBAAvC;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;;AAEA,SAASC,gBAAT,OAAsC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACrC,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA,oBAApB;AAA0CC,IAAAA;AAA1C,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["useSelect","useDispatch","useEffect","useRef","Button","Icon","__unstableMotion","motion","__","wordpress","store","coreDataStore","useReducedMotion","editSiteStore","NavigationToggle","icon","isNavigationOpen","isRequestingSiteIcon","siteIconUrl","select","getEntityRecord","isResolving","siteData","undefined","isNavigationOpened","site_icon_url","setIsNavigationPanelOpened","disableMotion","navigationToggleRef","current","focus","toggleNavigationPanel","buttonIcon","effect","expand","scale","borderRadius","transition","type","duration"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tIcon,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { wordpress } from '@wordpress/icons';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction NavigationToggle( { icon } ) {\n\tconst { isNavigationOpen, isRequestingSiteIcon, siteIconUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, isResolving } = select( coreDataStore );\n\t\t\tconst siteData =\n\t\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\t\treturn {\n\t\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t\t\tisRequestingSiteIcon: isResolving( 'core', 'getEntityRecord', [\n\t\t\t\t\t'root',\n\t\t\t\t\t'__unstableBase',\n\t\t\t\t\tundefined,\n\t\t\t\t] ),\n\t\t\t\tsiteIconUrl: siteData.site_icon_url,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tconst disableMotion = useReducedMotion();\n\n\tconst navigationToggleRef = useRef();\n\n\tuseEffect( () => {\n\t\t// TODO: Remove this effect when alternative solution is merged.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/37314\n\t\tif ( ! isNavigationOpen ) {\n\t\t\tnavigationToggleRef.current.focus();\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tconst toggleNavigationPanel = () =>\n\t\tsetIsNavigationPanelOpened( ! isNavigationOpen );\n\n\tlet buttonIcon = <Icon size=\"36px\" icon={ wordpress } />;\n\n\tconst effect = {\n\t\texpand: {\n\t\t\tscale: 1.7,\n\t\t\tborderRadius: 0,\n\t\t\ttransition: { type: 'tween', duration: '0.2' },\n\t\t},\n\t};\n\n\tif ( siteIconUrl ) {\n\t\tbuttonIcon = (\n\t\t\t<motion.img\n\t\t\t\tvariants={ ! disableMotion && effect }\n\t\t\t\talt={ __( 'Site Icon' ) }\n\t\t\t\tclassName=\"edit-site-navigation-toggle__site-icon\"\n\t\t\t\tsrc={ siteIconUrl }\n\t\t\t/>\n\t\t);\n\t} else if ( isRequestingSiteIcon ) {\n\t\tbuttonIcon = null;\n\t} else if ( icon ) {\n\t\tbuttonIcon = <Icon size=\"36px\" icon={ icon } />;\n\t}\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName={\n\t\t\t\t'edit-site-navigation-toggle' +\n\t\t\t\t( isNavigationOpen ? ' is-open' : '' )\n\t\t\t}\n\t\t\twhileHover=\"expand\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-navigation-toggle__button has-icon\"\n\t\t\t\tlabel={ __( 'Toggle navigation' ) }\n\t\t\t\tref={ navigationToggleRef }\n\t\t\t\t// isPressed will add unwanted styles.\n\t\t\t\taria-pressed={ isNavigationOpen }\n\t\t\t\tonClick={ toggleNavigationPanel }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ buttonIcon }\n\t\t\t</Button>\n\t\t</motion.div>\n\t);\n}\n\nexport default NavigationToggle;\n"]}
|
|
@@ -27,7 +27,13 @@ export default function SiteExport() {
|
|
|
27
27
|
});
|
|
28
28
|
const blob = await response.blob();
|
|
29
29
|
downloadjs(blob, 'edit-site-export.zip', 'application/zip');
|
|
30
|
-
} catch (
|
|
30
|
+
} catch (errorResponse) {
|
|
31
|
+
let error = {};
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
error = await errorResponse.json();
|
|
35
|
+
} catch (e) {}
|
|
36
|
+
|
|
31
37
|
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while creating the site export.');
|
|
32
38
|
createErrorNotice(errorMessage, {
|
|
33
39
|
type: 'snackbar'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/plugins/site-export.js"],"names":["downloadjs","__","MenuItem","apiFetch","download","useDispatch","store","noticesStore","SiteExport","createErrorNotice","handleExport","response","path","parse","blob","error","errorMessage","message","code","type"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,OAAOC,QAAP,MAAqB,sBAArB;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AAEA,eAAe,SAASC,UAAT,GAAsB;AACpC,QAAM;AAAEC,IAAAA;AAAF,MAAwBJ,WAAW,CAAEE,YAAF,CAAzC;;AAEA,iBAAeG,YAAf,GAA8B;AAC7B,QAAI;AACH,YAAMC,QAAQ,GAAG,MAAMR,QAAQ,CAAE;AAChCS,QAAAA,IAAI,EAAE,4BAD0B;AAEhCC,QAAAA,KAAK,EAAE;AAFyB,OAAF,CAA/B;AAIA,YAAMC,IAAI,GAAG,MAAMH,QAAQ,CAACG,IAAT,EAAnB;AAEAd,MAAAA,UAAU,CAAEc,IAAF,EAAQ,sBAAR,EAAgC,iBAAhC,CAAV;AACA,KARD,CAQE,OAAQC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/plugins/site-export.js"],"names":["downloadjs","__","MenuItem","apiFetch","download","useDispatch","store","noticesStore","SiteExport","createErrorNotice","handleExport","response","path","parse","blob","errorResponse","error","json","e","errorMessage","message","code","type"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,OAAOC,QAAP,MAAqB,sBAArB;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AAEA,eAAe,SAASC,UAAT,GAAsB;AACpC,QAAM;AAAEC,IAAAA;AAAF,MAAwBJ,WAAW,CAAEE,YAAF,CAAzC;;AAEA,iBAAeG,YAAf,GAA8B;AAC7B,QAAI;AACH,YAAMC,QAAQ,GAAG,MAAMR,QAAQ,CAAE;AAChCS,QAAAA,IAAI,EAAE,4BAD0B;AAEhCC,QAAAA,KAAK,EAAE;AAFyB,OAAF,CAA/B;AAIA,YAAMC,IAAI,GAAG,MAAMH,QAAQ,CAACG,IAAT,EAAnB;AAEAd,MAAAA,UAAU,CAAEc,IAAF,EAAQ,sBAAR,EAAgC,iBAAhC,CAAV;AACA,KARD,CAQE,OAAQC,aAAR,EAAwB;AACzB,UAAIC,KAAK,GAAG,EAAZ;;AACA,UAAI;AACHA,QAAAA,KAAK,GAAG,MAAMD,aAAa,CAACE,IAAd,EAAd;AACA,OAFD,CAEE,OAAQC,CAAR,EAAY,CAAE;;AAChB,YAAMC,YAAY,GACjBH,KAAK,CAACI,OAAN,IAAiBJ,KAAK,CAACK,IAAN,KAAe,eAAhC,GACGL,KAAK,CAACI,OADT,GAEGnB,EAAE,CAAE,mDAAF,CAHN;AAKAQ,MAAAA,iBAAiB,CAAEU,YAAF,EAAgB;AAAEG,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACA;AACD;;AAED,SACC,cAAC,QAAD;AACC,IAAA,IAAI,EAAC,UADN;AAEC,IAAA,IAAI,EAAGlB,QAFR;AAGC,IAAA,OAAO,EAAGM,YAHX;AAIC,IAAA,IAAI,EAAGT,EAAE,CAAE,6CAAF;AAJV,KAMGA,EAAE,CAAE,QAAF,CANL,CADD;AAUA","sourcesContent":["/**\n * External dependencies\n */\nimport downloadjs from 'downloadjs';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport apiFetch from '@wordpress/api-fetch';\nimport { download } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function SiteExport() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tasync function handleExport() {\n\t\ttry {\n\t\t\tconst response = await apiFetch( {\n\t\t\t\tpath: '/wp-block-editor/v1/export',\n\t\t\t\tparse: false,\n\t\t\t} );\n\t\t\tconst blob = await response.blob();\n\n\t\t\tdownloadjs( blob, 'edit-site-export.zip', 'application/zip' );\n\t\t} catch ( errorResponse ) {\n\t\t\tlet error = {};\n\t\t\ttry {\n\t\t\t\terror = await errorResponse.json();\n\t\t\t} catch ( e ) {}\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the site export.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\trole=\"menuitem\"\n\t\t\ticon={ download }\n\t\t\tonClick={ handleExport }\n\t\t\tinfo={ __( 'Download your templates and template parts.' ) }\n\t\t>\n\t\t\t{ __( 'Export' ) }\n\t\t</MenuItem>\n\t);\n}\n"]}
|
|
@@ -600,6 +600,12 @@ h2.edit-site-global-styles-gradient-palette-panel__duotone-heading.components-he
|
|
|
600
600
|
margin-bottom: 8px;
|
|
601
601
|
}
|
|
602
602
|
|
|
603
|
+
.edit-site-screen-text-color__control,
|
|
604
|
+
.edit-site-screen-link-color__control,
|
|
605
|
+
.edit-site-screen-background-color__control {
|
|
606
|
+
padding: 16px;
|
|
607
|
+
}
|
|
608
|
+
|
|
603
609
|
.edit-site-header {
|
|
604
610
|
align-items: center;
|
|
605
611
|
background-color: #fff;
|
package/build-style/style.css
CHANGED
|
@@ -600,6 +600,12 @@ h2.edit-site-global-styles-gradient-palette-panel__duotone-heading.components-he
|
|
|
600
600
|
margin-bottom: 8px;
|
|
601
601
|
}
|
|
602
602
|
|
|
603
|
+
.edit-site-screen-text-color__control,
|
|
604
|
+
.edit-site-screen-link-color__control,
|
|
605
|
+
.edit-site-screen-background-color__control {
|
|
606
|
+
padding: 16px;
|
|
607
|
+
}
|
|
608
|
+
|
|
603
609
|
.edit-site-header {
|
|
604
610
|
align-items: center;
|
|
605
611
|
background-color: #fff;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-site",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.19",
|
|
4
4
|
"description": "Edit Site Page module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -29,30 +29,30 @@
|
|
|
29
29
|
"@babel/runtime": "^7.16.0",
|
|
30
30
|
"@wordpress/a11y": "^3.2.4",
|
|
31
31
|
"@wordpress/api-fetch": "^5.2.6",
|
|
32
|
-
"@wordpress/block-editor": "^8.0.
|
|
33
|
-
"@wordpress/block-library": "^6.0.
|
|
34
|
-
"@wordpress/blocks": "^11.1.
|
|
35
|
-
"@wordpress/components": "^19.1.
|
|
36
|
-
"@wordpress/compose": "^5.0.
|
|
37
|
-
"@wordpress/core-data": "^4.0.
|
|
38
|
-
"@wordpress/data": "^6.1.
|
|
39
|
-
"@wordpress/data-controls": "^2.2.
|
|
40
|
-
"@wordpress/editor": "^12.0.
|
|
32
|
+
"@wordpress/block-editor": "^8.0.12",
|
|
33
|
+
"@wordpress/block-library": "^6.0.17",
|
|
34
|
+
"@wordpress/blocks": "^11.1.5",
|
|
35
|
+
"@wordpress/components": "^19.1.6",
|
|
36
|
+
"@wordpress/compose": "^5.0.7",
|
|
37
|
+
"@wordpress/core-data": "^4.0.9",
|
|
38
|
+
"@wordpress/data": "^6.1.5",
|
|
39
|
+
"@wordpress/data-controls": "^2.2.8",
|
|
40
|
+
"@wordpress/editor": "^12.0.15",
|
|
41
41
|
"@wordpress/element": "^4.0.4",
|
|
42
42
|
"@wordpress/hooks": "^3.2.2",
|
|
43
43
|
"@wordpress/html-entities": "^3.2.3",
|
|
44
44
|
"@wordpress/i18n": "^4.2.4",
|
|
45
45
|
"@wordpress/icons": "^6.1.1",
|
|
46
|
-
"@wordpress/interface": "^4.1.
|
|
47
|
-
"@wordpress/keyboard-shortcuts": "^3.0.
|
|
46
|
+
"@wordpress/interface": "^4.1.14",
|
|
47
|
+
"@wordpress/keyboard-shortcuts": "^3.0.7",
|
|
48
48
|
"@wordpress/keycodes": "^3.2.4",
|
|
49
49
|
"@wordpress/media-utils": "^3.0.5",
|
|
50
|
-
"@wordpress/notices": "^3.2.
|
|
51
|
-
"@wordpress/plugins": "^4.0.
|
|
50
|
+
"@wordpress/notices": "^3.2.8",
|
|
51
|
+
"@wordpress/plugins": "^4.0.7",
|
|
52
52
|
"@wordpress/primitives": "^3.0.4",
|
|
53
|
-
"@wordpress/reusable-blocks": "^3.0.
|
|
53
|
+
"@wordpress/reusable-blocks": "^3.0.18",
|
|
54
54
|
"@wordpress/url": "^3.3.1",
|
|
55
|
-
"@wordpress/viewport": "^4.0.
|
|
55
|
+
"@wordpress/viewport": "^4.0.7",
|
|
56
56
|
"classnames": "^2.3.1",
|
|
57
57
|
"downloadjs": "^1.4.7",
|
|
58
58
|
"file-saver": "^2.0.2",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "d0cf6052186273f2738a0a8092025e084d7b8978"
|
|
68
68
|
}
|
|
@@ -9,8 +9,8 @@ import { noop } from 'lodash';
|
|
|
9
9
|
import {
|
|
10
10
|
__experimentalVStack as VStack,
|
|
11
11
|
__experimentalPaletteEdit as PaletteEdit,
|
|
12
|
+
__experimentalSpacer as Spacer,
|
|
12
13
|
DuotonePicker,
|
|
13
|
-
__experimentalHeading as Heading,
|
|
14
14
|
} from '@wordpress/components';
|
|
15
15
|
import { __ } from '@wordpress/i18n';
|
|
16
16
|
|
|
@@ -18,6 +18,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
18
18
|
* Internal dependencies
|
|
19
19
|
*/
|
|
20
20
|
import { useSetting } from './hooks';
|
|
21
|
+
import Subtitle from './subtitle';
|
|
21
22
|
|
|
22
23
|
export default function GradientPalettePanel( { name } ) {
|
|
23
24
|
const [ themeGradients, setThemeGradients ] = useSetting(
|
|
@@ -83,9 +84,8 @@ export default function GradientPalettePanel( { name } ) {
|
|
|
83
84
|
slugPrefix="custom-"
|
|
84
85
|
/>
|
|
85
86
|
<div>
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
</Heading>
|
|
87
|
+
<Subtitle>{ __( 'Duotone' ) }</Subtitle>
|
|
88
|
+
<Spacer margin={ 3 } />
|
|
89
89
|
<DuotonePicker
|
|
90
90
|
duotonePalette={ duotonePalette }
|
|
91
91
|
disableCustomDuotone={ true }
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
import {
|
|
5
5
|
__experimentalItemGroup as ItemGroup,
|
|
6
6
|
__experimentalItem as Item,
|
|
7
|
+
__experimentalHStack as HStack,
|
|
8
|
+
FlexItem,
|
|
7
9
|
CardBody,
|
|
8
10
|
Card,
|
|
9
11
|
CardDivider,
|
|
10
12
|
} from '@wordpress/components';
|
|
11
|
-
import { __ } from '@wordpress/i18n';
|
|
13
|
+
import { isRTL, __ } from '@wordpress/i18n';
|
|
14
|
+
import { chevronLeft, chevronRight, Icon } from '@wordpress/icons';
|
|
12
15
|
|
|
13
16
|
/**
|
|
14
17
|
* Internal dependencies
|
|
@@ -33,14 +36,21 @@ function ScreenRoot() {
|
|
|
33
36
|
<CardBody>
|
|
34
37
|
<ItemGroup>
|
|
35
38
|
<Item>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
) }
|
|
40
|
-
</p>
|
|
39
|
+
{ __(
|
|
40
|
+
'Customize the appearance of specific blocks for the whole site.'
|
|
41
|
+
) }
|
|
41
42
|
</Item>
|
|
42
43
|
<NavigationButton path="/blocks">
|
|
43
|
-
|
|
44
|
+
<HStack justify="space-between">
|
|
45
|
+
<FlexItem>{ __( 'Blocks' ) }</FlexItem>
|
|
46
|
+
<FlexItem>
|
|
47
|
+
<Icon
|
|
48
|
+
icon={
|
|
49
|
+
isRTL() ? chevronLeft : chevronRight
|
|
50
|
+
}
|
|
51
|
+
/>
|
|
52
|
+
</FlexItem>
|
|
53
|
+
</HStack>
|
|
44
54
|
</NavigationButton>
|
|
45
55
|
</ItemGroup>
|
|
46
56
|
</CardBody>
|
|
@@ -83,3 +83,9 @@ h2.edit-site-global-styles-gradient-palette-panel__duotone-heading.components-he
|
|
|
83
83
|
font-size: 11px;
|
|
84
84
|
margin-bottom: $grid-unit-10;
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
.edit-site-screen-text-color__control,
|
|
88
|
+
.edit-site-screen-link-color__control,
|
|
89
|
+
.edit-site-screen-background-color__control {
|
|
90
|
+
padding: $grid-unit-20;
|
|
91
|
+
}
|
|
@@ -217,10 +217,16 @@ describe( 'global styles renderer', () => {
|
|
|
217
217
|
slug: 'black',
|
|
218
218
|
color: 'black',
|
|
219
219
|
},
|
|
220
|
+
{
|
|
221
|
+
name: 'White to Black',
|
|
222
|
+
slug: 'white2black',
|
|
223
|
+
color: 'value',
|
|
224
|
+
},
|
|
220
225
|
],
|
|
221
226
|
},
|
|
222
227
|
},
|
|
223
228
|
custom: {
|
|
229
|
+
white2black: 'value',
|
|
224
230
|
'font-primary': 'value',
|
|
225
231
|
'line-height': {
|
|
226
232
|
body: 1.7,
|
|
@@ -257,7 +263,7 @@ describe( 'global styles renderer', () => {
|
|
|
257
263
|
};
|
|
258
264
|
|
|
259
265
|
expect( toCustomProperties( tree, blockSelectors ) ).toEqual(
|
|
260
|
-
'body{--wp--preset--color--white: white;--wp--preset--color--black: black;--wp--custom--font-primary: value;--wp--custom--line-height--body: 1.7;--wp--custom--line-height--heading: 1.3;}h1,h2,h3,h4,h5,h6{--wp--preset--font-size--small: 12px;--wp--preset--font-size--medium: 23px;}'
|
|
266
|
+
'body{--wp--preset--color--white: white;--wp--preset--color--black: black;--wp--preset--color--white-2-black: value;--wp--custom--white-2-black: value;--wp--custom--font-primary: value;--wp--custom--line-height--body: 1.7;--wp--custom--line-height--heading: 1.3;}h1,h2,h3,h4,h5,h6{--wp--preset--font-size--small: 12px;--wp--preset--font-size--medium: 23px;}'
|
|
261
267
|
);
|
|
262
268
|
} );
|
|
263
269
|
} );
|
|
@@ -14,7 +14,11 @@ import {
|
|
|
14
14
|
import { store as coreStore } from '@wordpress/core-data';
|
|
15
15
|
import { useSelect } from '@wordpress/data';
|
|
16
16
|
import { useState } from '@wordpress/element';
|
|
17
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
commentAuthorAvatar as authorIcon,
|
|
19
|
+
layout as themeIcon,
|
|
20
|
+
plugins as pluginIcon,
|
|
21
|
+
} from '@wordpress/icons';
|
|
18
22
|
import { __ } from '@wordpress/i18n';
|
|
19
23
|
|
|
20
24
|
const TEMPLATE_POST_TYPE_NAMES = [ 'wp_template', 'wp_template_part' ];
|
|
@@ -77,18 +81,30 @@ function AddedByAuthor( { id } ) {
|
|
|
77
81
|
] );
|
|
78
82
|
const [ isImageLoaded, setIsImageLoaded ] = useState( false );
|
|
79
83
|
|
|
84
|
+
const avatarURL = user?.avatar_urls?.[ 48 ];
|
|
85
|
+
const hasAvatar = !! avatarURL;
|
|
86
|
+
|
|
80
87
|
return (
|
|
81
88
|
<HStack alignment="left">
|
|
82
89
|
<div
|
|
83
|
-
className={ classnames(
|
|
84
|
-
|
|
85
|
-
|
|
90
|
+
className={ classnames(
|
|
91
|
+
hasAvatar
|
|
92
|
+
? 'edit-site-list-added-by__avatar'
|
|
93
|
+
: 'edit-site-list-added-by__icon',
|
|
94
|
+
{
|
|
95
|
+
'is-loaded': isImageLoaded,
|
|
96
|
+
}
|
|
97
|
+
) }
|
|
86
98
|
>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
{ hasAvatar ? (
|
|
100
|
+
<img
|
|
101
|
+
onLoad={ () => setIsImageLoaded( true ) }
|
|
102
|
+
alt=""
|
|
103
|
+
src={ avatarURL }
|
|
104
|
+
/>
|
|
105
|
+
) : (
|
|
106
|
+
<Icon icon={ authorIcon } />
|
|
107
|
+
) }
|
|
92
108
|
</div>
|
|
93
109
|
<span>{ user?.nickname }</span>
|
|
94
110
|
</HStack>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
5
|
+
import { useEffect, useRef } from '@wordpress/element';
|
|
5
6
|
import {
|
|
6
7
|
Button,
|
|
7
8
|
Icon,
|
|
@@ -40,6 +41,16 @@ function NavigationToggle( { icon } ) {
|
|
|
40
41
|
|
|
41
42
|
const disableMotion = useReducedMotion();
|
|
42
43
|
|
|
44
|
+
const navigationToggleRef = useRef();
|
|
45
|
+
|
|
46
|
+
useEffect( () => {
|
|
47
|
+
// TODO: Remove this effect when alternative solution is merged.
|
|
48
|
+
// See: https://github.com/WordPress/gutenberg/pull/37314
|
|
49
|
+
if ( ! isNavigationOpen ) {
|
|
50
|
+
navigationToggleRef.current.focus();
|
|
51
|
+
}
|
|
52
|
+
}, [ isNavigationOpen ] );
|
|
53
|
+
|
|
43
54
|
const toggleNavigationPanel = () =>
|
|
44
55
|
setIsNavigationPanelOpened( ! isNavigationOpen );
|
|
45
56
|
|
|
@@ -79,6 +90,9 @@ function NavigationToggle( { icon } ) {
|
|
|
79
90
|
<Button
|
|
80
91
|
className="edit-site-navigation-toggle__button has-icon"
|
|
81
92
|
label={ __( 'Toggle navigation' ) }
|
|
93
|
+
ref={ navigationToggleRef }
|
|
94
|
+
// isPressed will add unwanted styles.
|
|
95
|
+
aria-pressed={ isNavigationOpen }
|
|
82
96
|
onClick={ toggleNavigationPanel }
|
|
83
97
|
showTooltip
|
|
84
98
|
>
|
|
@@ -25,7 +25,11 @@ export default function SiteExport() {
|
|
|
25
25
|
const blob = await response.blob();
|
|
26
26
|
|
|
27
27
|
downloadjs( blob, 'edit-site-export.zip', 'application/zip' );
|
|
28
|
-
} catch (
|
|
28
|
+
} catch ( errorResponse ) {
|
|
29
|
+
let error = {};
|
|
30
|
+
try {
|
|
31
|
+
error = await errorResponse.json();
|
|
32
|
+
} catch ( e ) {}
|
|
29
33
|
const errorMessage =
|
|
30
34
|
error.message && error.code !== 'unknown_error'
|
|
31
35
|
? error.message
|