@wordpress/block-library 9.40.1 → 9.40.2-next.v.202602241322.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/icon/block.json +9 -1
- package/build/icon/components/custom-inserter/icon-grid.cjs +1 -1
- package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
- package/build/icon/components/custom-inserter/index.cjs +1 -1
- package/build/icon/components/custom-inserter/index.cjs.map +2 -2
- package/build/icon/edit.cjs +15 -7
- package/build/icon/edit.cjs.map +2 -2
- package/build/image/edit.cjs +1 -1
- package/build/image/edit.cjs.map +2 -2
- package/build/navigation-overlay-close/edit.cjs +2 -3
- package/build/navigation-overlay-close/edit.cjs.map +2 -2
- package/build/post-navigation-link/block.json +1 -3
- package/build/post-navigation-link/deprecated.cjs +100 -0
- package/build/post-navigation-link/deprecated.cjs.map +7 -0
- package/build/post-navigation-link/edit.cjs +2 -36
- package/build/post-navigation-link/edit.cjs.map +3 -3
- package/build/post-navigation-link/index.cjs +2 -0
- package/build/post-navigation-link/index.cjs.map +3 -3
- package/build/post-title/block.json +1 -3
- package/build/post-title/deprecated.cjs +82 -1
- package/build/post-title/deprecated.cjs.map +3 -3
- package/build/post-title/edit.cjs +10 -36
- package/build/post-title/edit.cjs.map +3 -3
- package/build/pullquote/deprecated.cjs +6 -6
- package/build/pullquote/deprecated.cjs.map +2 -2
- package/build/query/block.json +1 -2
- package/build/query-title/block.json +1 -3
- package/build/query-title/deprecated.cjs +70 -1
- package/build/query-title/deprecated.cjs.map +3 -3
- package/build/query-title/edit.cjs +17 -35
- package/build/query-title/edit.cjs.map +3 -3
- package/build/site-tagline/block.json +6 -4
- package/build/site-tagline/deprecated.cjs +66 -1
- package/build/site-tagline/deprecated.cjs.map +3 -3
- package/build/site-tagline/edit.cjs +14 -28
- package/build/site-tagline/edit.cjs.map +3 -3
- package/build/site-title/block.json +1 -3
- package/build/site-title/deprecated.cjs +79 -1
- package/build/site-title/deprecated.cjs.map +3 -3
- package/build/site-title/edit.cjs +14 -30
- package/build/site-title/edit.cjs.map +3 -3
- package/build/tabs-menu-item/block.json +1 -26
- package/build/tabs-menu-item/controls.cjs +2 -100
- package/build/tabs-menu-item/controls.cjs.map +3 -3
- package/build/tabs-menu-item/edit.cjs +6 -65
- package/build/tabs-menu-item/edit.cjs.map +2 -2
- package/build/tabs-menu-item/save.cjs +1 -15
- package/build/tabs-menu-item/save.cjs.map +2 -2
- package/build-module/icon/block.json +9 -1
- package/build-module/icon/components/custom-inserter/icon-grid.mjs +1 -1
- package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
- package/build-module/icon/components/custom-inserter/index.mjs +1 -1
- package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
- package/build-module/icon/edit.mjs +15 -7
- package/build-module/icon/edit.mjs.map +2 -2
- package/build-module/image/edit.mjs +1 -1
- package/build-module/image/edit.mjs.map +2 -2
- package/build-module/navigation-overlay-close/edit.mjs +2 -3
- package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/block.json +1 -3
- package/build-module/post-navigation-link/deprecated.mjs +69 -0
- package/build-module/post-navigation-link/deprecated.mjs.map +7 -0
- package/build-module/post-navigation-link/edit.mjs +3 -30
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/index.mjs +2 -0
- package/build-module/post-navigation-link/index.mjs.map +2 -2
- package/build-module/post-title/block.json +1 -3
- package/build-module/post-title/deprecated.mjs +82 -1
- package/build-module/post-title/deprecated.mjs.map +2 -2
- package/build-module/post-title/edit.mjs +10 -27
- package/build-module/post-title/edit.mjs.map +2 -2
- package/build-module/pullquote/deprecated.mjs +6 -6
- package/build-module/pullquote/deprecated.mjs.map +2 -2
- package/build-module/query/block.json +1 -2
- package/build-module/query-title/block.json +1 -3
- package/build-module/query-title/deprecated.mjs +70 -1
- package/build-module/query-title/deprecated.mjs.map +2 -2
- package/build-module/query-title/edit.mjs +17 -36
- package/build-module/query-title/edit.mjs.map +2 -2
- package/build-module/site-tagline/block.json +6 -4
- package/build-module/site-tagline/deprecated.mjs +66 -1
- package/build-module/site-tagline/deprecated.mjs.map +2 -2
- package/build-module/site-tagline/edit.mjs +14 -29
- package/build-module/site-tagline/edit.mjs.map +2 -2
- package/build-module/site-title/block.json +1 -3
- package/build-module/site-title/deprecated.mjs +79 -1
- package/build-module/site-title/deprecated.mjs.map +2 -2
- package/build-module/site-title/edit.mjs +14 -31
- package/build-module/site-title/edit.mjs.map +2 -2
- package/build-module/tabs-menu-item/block.json +1 -26
- package/build-module/tabs-menu-item/controls.mjs +3 -104
- package/build-module/tabs-menu-item/controls.mjs.map +2 -2
- package/build-module/tabs-menu-item/edit.mjs +6 -66
- package/build-module/tabs-menu-item/edit.mjs.map +2 -2
- package/build-module/tabs-menu-item/save.mjs +1 -15
- package/build-module/tabs-menu-item/save.mjs.map +2 -2
- package/build-style/editor-rtl.css +0 -5
- package/build-style/editor.css +0 -5
- package/build-style/style-rtl.css +3 -12
- package/build-style/style.css +3 -12
- package/build-style/tabs-menu-item/editor-rtl.css +0 -5
- package/build-style/tabs-menu-item/editor.css +0 -5
- package/build-style/tabs-menu-item/style-rtl.css +3 -12
- package/build-style/tabs-menu-item/style.css +3 -12
- package/package.json +38 -38
- package/src/icon/block.json +9 -1
- package/src/icon/components/custom-inserter/icon-grid.js +1 -1
- package/src/icon/components/custom-inserter/index.js +1 -1
- package/src/icon/edit.js +20 -10
- package/src/icon/index.php +1 -3
- package/src/image/edit.js +1 -1
- package/src/image/index.php +1 -4
- package/src/navigation-overlay-close/edit.js +4 -3
- package/src/post-featured-image/index.php +2 -4
- package/src/post-navigation-link/block.json +1 -3
- package/src/post-navigation-link/deprecated.js +72 -0
- package/src/post-navigation-link/edit.js +2 -35
- package/src/post-navigation-link/index.js +2 -0
- package/src/post-title/block.json +1 -3
- package/src/post-title/deprecated.js +86 -1
- package/src/post-title/edit.js +2 -18
- package/src/pullquote/deprecated.js +3 -3
- package/src/query/block.json +1 -2
- package/src/query-title/block.json +1 -3
- package/src/query-title/deprecated.js +74 -1
- package/src/query-title/edit.js +11 -27
- package/src/site-tagline/block.json +6 -4
- package/src/site-tagline/deprecated.js +70 -1
- package/src/site-tagline/edit.js +9 -22
- package/src/site-title/block.json +1 -3
- package/src/site-title/deprecated.js +83 -1
- package/src/site-title/edit.js +9 -22
- package/src/tabs-menu-item/block.json +1 -26
- package/src/tabs-menu-item/controls.js +0 -108
- package/src/tabs-menu-item/edit.js +6 -79
- package/src/tabs-menu-item/editor.scss +0 -6
- package/src/tabs-menu-item/save.js +1 -26
- package/src/tabs-menu-item/style.scss +3 -14
|
@@ -33,7 +33,6 @@ __export(edit_exports, {
|
|
|
33
33
|
default: () => SiteTitleEdit
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(edit_exports);
|
|
36
|
-
var import_clsx = __toESM(require("clsx"));
|
|
37
36
|
var import_data = require("@wordpress/data");
|
|
38
37
|
var import_core_data = require("@wordpress/core-data");
|
|
39
38
|
var import_i18n = require("@wordpress/i18n");
|
|
@@ -42,13 +41,12 @@ var import_components = require("@wordpress/components");
|
|
|
42
41
|
var import_blocks = require("@wordpress/blocks");
|
|
43
42
|
var import_html_entities = require("@wordpress/html-entities");
|
|
44
43
|
var import_hooks = require("../utils/hooks.cjs");
|
|
44
|
+
var import_deprecated_text_align_attributes = __toESM(require("../utils/deprecated-text-align-attributes.cjs"));
|
|
45
45
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
46
|
-
function SiteTitleEdit({
|
|
47
|
-
|
|
48
|
-
setAttributes,
|
|
49
|
-
|
|
50
|
-
}) {
|
|
51
|
-
const { level, levelOptions, textAlign, isLink, linkTarget } = attributes;
|
|
46
|
+
function SiteTitleEdit(props) {
|
|
47
|
+
(0, import_deprecated_text_align_attributes.default)(props);
|
|
48
|
+
const { attributes, setAttributes, insertBlocksAfter } = props;
|
|
49
|
+
const { level, levelOptions, isLink, linkTarget } = attributes;
|
|
52
50
|
const { canUserEdit, title } = (0, import_data.useSelect)((select) => {
|
|
53
51
|
const { canUser, getEntityRecord, getEditedEntityRecord } = select(import_core_data.store);
|
|
54
52
|
const canEdit = canUser("update", {
|
|
@@ -72,10 +70,7 @@ function SiteTitleEdit({
|
|
|
72
70
|
}
|
|
73
71
|
const TagName = level === 0 ? "p" : `h${level}`;
|
|
74
72
|
const blockProps = (0, import_block_editor.useBlockProps)({
|
|
75
|
-
className:
|
|
76
|
-
[`has-text-align-${textAlign}`]: textAlign,
|
|
77
|
-
"wp-block-site-title__placeholder": !canUserEdit && !title
|
|
78
|
-
})
|
|
73
|
+
className: !canUserEdit && !title && "wp-block-site-title__placeholder"
|
|
79
74
|
});
|
|
80
75
|
const siteTitleContent = canUserEdit ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
81
76
|
import_block_editor.RichText,
|
|
@@ -99,25 +94,14 @@ function SiteTitleEdit({
|
|
|
99
94
|
}
|
|
100
95
|
) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: (0, import_html_entities.decodeEntities)(title) || (0, import_i18n.__)("Site Title placeholder") }) });
|
|
101
96
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
102
|
-
blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
),
|
|
111
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
112
|
-
import_block_editor.AlignmentControl,
|
|
113
|
-
{
|
|
114
|
-
value: textAlign,
|
|
115
|
-
onChange: (nextAlign) => {
|
|
116
|
-
setAttributes({ textAlign: nextAlign });
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
)
|
|
120
|
-
] }),
|
|
97
|
+
blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
98
|
+
import_block_editor.HeadingLevelDropdown,
|
|
99
|
+
{
|
|
100
|
+
value: level,
|
|
101
|
+
options: levelOptions,
|
|
102
|
+
onChange: (newLevel) => setAttributes({ level: newLevel })
|
|
103
|
+
}
|
|
104
|
+
) }),
|
|
121
105
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
122
106
|
import_components.__experimentalToolsPanel,
|
|
123
107
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/site-title/edit.js"],
|
|
4
|
-
"sourcesContent": ["/**\n *
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nexport default function SiteTitleEdit( props ) {\n\tuseDeprecatedTextAlign( props );\n\n\tconst { attributes, setAttributes, insertBlocksAfter } = props;\n\n\tconst { level, levelOptions, isLink, linkTarget } = attributes;\n\tconst { canUserEdit, title } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst canEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canEdit,\n\t\t\ttitle: canEdit ? settings?.title : readOnlySettings?.name,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tfunction setTitle( newTitle ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\ttitle: newTitle.trim(),\n\t\t} );\n\t}\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName:\n\t\t\t! canUserEdit && ! title && 'wp-block-site-title__placeholder',\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title\u2026' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useDeprecatedTextAlign", "coreStore", "ToolsPanel", "ToolsPanelItem"]
|
|
7
7
|
}
|
|
@@ -18,32 +18,7 @@
|
|
|
18
18
|
"core/tabs-activeTabIndex",
|
|
19
19
|
"core/tabs-editorActiveTabIndex"
|
|
20
20
|
],
|
|
21
|
-
"attributes": {
|
|
22
|
-
"activeBackgroundColor": {
|
|
23
|
-
"type": "string"
|
|
24
|
-
},
|
|
25
|
-
"customActiveBackgroundColor": {
|
|
26
|
-
"type": "string"
|
|
27
|
-
},
|
|
28
|
-
"activeTextColor": {
|
|
29
|
-
"type": "string"
|
|
30
|
-
},
|
|
31
|
-
"customActiveTextColor": {
|
|
32
|
-
"type": "string"
|
|
33
|
-
},
|
|
34
|
-
"hoverBackgroundColor": {
|
|
35
|
-
"type": "string"
|
|
36
|
-
},
|
|
37
|
-
"customHoverBackgroundColor": {
|
|
38
|
-
"type": "string"
|
|
39
|
-
},
|
|
40
|
-
"hoverTextColor": {
|
|
41
|
-
"type": "string"
|
|
42
|
-
},
|
|
43
|
-
"customHoverTextColor": {
|
|
44
|
-
"type": "string"
|
|
45
|
-
}
|
|
46
|
-
},
|
|
21
|
+
"attributes": {},
|
|
47
22
|
"supports": {
|
|
48
23
|
"html": false,
|
|
49
24
|
"reusable": false,
|
|
@@ -153,30 +153,12 @@ function TabBlockMover({
|
|
|
153
153
|
) });
|
|
154
154
|
}
|
|
155
155
|
function Controls({
|
|
156
|
-
attributes,
|
|
157
|
-
setAttributes,
|
|
158
|
-
clientId,
|
|
159
156
|
tabsClientId,
|
|
160
157
|
tabClientId,
|
|
161
158
|
tabIndex,
|
|
162
159
|
tabsCount,
|
|
163
|
-
tabsMenuClientId
|
|
164
|
-
activeBackgroundColor,
|
|
165
|
-
setActiveBackgroundColor,
|
|
166
|
-
activeTextColor,
|
|
167
|
-
setActiveTextColor,
|
|
168
|
-
hoverBackgroundColor,
|
|
169
|
-
setHoverBackgroundColor,
|
|
170
|
-
hoverTextColor,
|
|
171
|
-
setHoverTextColor
|
|
160
|
+
tabsMenuClientId
|
|
172
161
|
}) {
|
|
173
|
-
const {
|
|
174
|
-
customActiveBackgroundColor,
|
|
175
|
-
customActiveTextColor,
|
|
176
|
-
customHoverBackgroundColor,
|
|
177
|
-
customHoverTextColor
|
|
178
|
-
} = attributes;
|
|
179
|
-
const colorSettings = (0, import_block_editor.__experimentalUseMultipleOriginColorsAndGradients)();
|
|
180
162
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
181
163
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
182
164
|
TabBlockMover,
|
|
@@ -189,87 +171,7 @@ function Controls({
|
|
|
189
171
|
}
|
|
190
172
|
),
|
|
191
173
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_add_tab_toolbar_control.default, { tabsClientId }),
|
|
192
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId })
|
|
193
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { group: "color", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
194
|
-
import_block_editor.__experimentalColorGradientSettingsDropdown,
|
|
195
|
-
{
|
|
196
|
-
settings: [
|
|
197
|
-
{
|
|
198
|
-
label: (0, import_i18n.__)("Active background"),
|
|
199
|
-
colorValue: activeBackgroundColor?.color ?? customActiveBackgroundColor,
|
|
200
|
-
onColorChange: (value) => {
|
|
201
|
-
setActiveBackgroundColor(value);
|
|
202
|
-
setAttributes({
|
|
203
|
-
customActiveBackgroundColor: value
|
|
204
|
-
});
|
|
205
|
-
},
|
|
206
|
-
resetAllFilter: () => {
|
|
207
|
-
setActiveBackgroundColor(void 0);
|
|
208
|
-
setAttributes({
|
|
209
|
-
customActiveBackgroundColor: void 0
|
|
210
|
-
});
|
|
211
|
-
},
|
|
212
|
-
clearable: true
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
label: (0, import_i18n.__)("Active text"),
|
|
216
|
-
colorValue: activeTextColor?.color ?? customActiveTextColor,
|
|
217
|
-
onColorChange: (value) => {
|
|
218
|
-
setActiveTextColor(value);
|
|
219
|
-
setAttributes({
|
|
220
|
-
customActiveTextColor: value
|
|
221
|
-
});
|
|
222
|
-
},
|
|
223
|
-
resetAllFilter: () => {
|
|
224
|
-
setActiveTextColor(void 0);
|
|
225
|
-
setAttributes({
|
|
226
|
-
customActiveTextColor: void 0
|
|
227
|
-
});
|
|
228
|
-
},
|
|
229
|
-
clearable: true
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
label: (0, import_i18n.__)("Hover background"),
|
|
233
|
-
colorValue: hoverBackgroundColor?.color ?? customHoverBackgroundColor,
|
|
234
|
-
onColorChange: (value) => {
|
|
235
|
-
setHoverBackgroundColor(value);
|
|
236
|
-
setAttributes({
|
|
237
|
-
customHoverBackgroundColor: value
|
|
238
|
-
});
|
|
239
|
-
},
|
|
240
|
-
resetAllFilter: () => {
|
|
241
|
-
setHoverBackgroundColor(void 0);
|
|
242
|
-
setAttributes({
|
|
243
|
-
customHoverBackgroundColor: void 0
|
|
244
|
-
});
|
|
245
|
-
},
|
|
246
|
-
clearable: true
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
label: (0, import_i18n.__)("Hover text"),
|
|
250
|
-
colorValue: hoverTextColor?.color ?? customHoverTextColor,
|
|
251
|
-
onColorChange: (value) => {
|
|
252
|
-
setHoverTextColor(value);
|
|
253
|
-
setAttributes({
|
|
254
|
-
customHoverTextColor: value
|
|
255
|
-
});
|
|
256
|
-
},
|
|
257
|
-
resetAllFilter: () => {
|
|
258
|
-
setHoverTextColor(void 0);
|
|
259
|
-
setAttributes({
|
|
260
|
-
customHoverTextColor: void 0
|
|
261
|
-
});
|
|
262
|
-
},
|
|
263
|
-
clearable: true
|
|
264
|
-
}
|
|
265
|
-
],
|
|
266
|
-
panelId: clientId,
|
|
267
|
-
disableCustomColors: false,
|
|
268
|
-
__experimentalIsRenderedInSidebar: true,
|
|
269
|
-
__next40pxDefaultSize: true,
|
|
270
|
-
...colorSettings
|
|
271
|
-
}
|
|
272
|
-
) })
|
|
174
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId })
|
|
273
175
|
] });
|
|
274
176
|
}
|
|
275
177
|
//# sourceMappingURL=controls.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tabs-menu-item/controls.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,kBAA0B;AAC1B,
|
|
6
|
-
"names": ["blockEditorStore", "clsx", "
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';\nimport {\n\tchevronLeft,\n\tchevronRight,\n\tchevronUp,\n\tchevronDown,\n} from '@wordpress/icons';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport AddTabToolbarControl from '../tab/add-tab-toolbar-control';\nimport RemoveTabToolbarControl from '../tab/remove-tab-toolbar-control';\n\nfunction TabBlockMover( {\n\ttabClientId,\n\ttabIndex,\n\ttabsCount,\n\ttabsMenuClientId,\n\ttabsClientId,\n} ) {\n\tconst {\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t\tupdateBlockAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst { tabPanelClientId, orientation } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\t// Get orientation directly from the tabs-menu block's layout attribute.\n\t\t\t// This is more reliable than getBlockListSettings which is set asynchronously.\n\t\t\tconst tabsMenuAttributes = tabsMenuClientId\n\t\t\t\t? getBlockAttributes( tabsMenuClientId )\n\t\t\t\t: null;\n\t\t\treturn {\n\t\t\t\ttabPanelClientId: getBlockRootClientId( tabClientId ),\n\t\t\t\torientation:\n\t\t\t\t\ttabsMenuAttributes?.layout?.orientation || 'horizontal',\n\t\t\t};\n\t\t},\n\t\t[ tabClientId, tabsMenuClientId ]\n\t);\n\n\tconst isFirst = tabIndex === 0;\n\tconst isLast = tabIndex === tabsCount - 1;\n\tconst isHorizontal = orientation === 'horizontal';\n\n\t// Icons and labels based on orientation (respects RTL for horizontal)\n\tlet upIcon, downIcon, upLabel, downLabel;\n\tif ( isHorizontal ) {\n\t\tif ( isRTL() ) {\n\t\t\tupIcon = chevronRight;\n\t\t\tdownIcon = chevronLeft;\n\t\t\tupLabel = __( 'Move tab right' );\n\t\t\tdownLabel = __( 'Move tab left' );\n\t\t} else {\n\t\t\tupIcon = chevronLeft;\n\t\t\tdownIcon = chevronRight;\n\t\t\tupLabel = __( 'Move tab left' );\n\t\t\tdownLabel = __( 'Move tab right' );\n\t\t}\n\t} else {\n\t\tupIcon = chevronUp;\n\t\tdownIcon = chevronDown;\n\t\tupLabel = __( 'Move tab up' );\n\t\tdownLabel = __( 'Move tab down' );\n\t}\n\n\t// Handle moving tab and updating active index to follow the moved tab\n\tconst handleMoveUp = () => {\n\t\tmoveBlocksUp( [ tabClientId ], tabPanelClientId );\n\t\t// Update editorActiveTabIndex to follow the moved tab\n\t\tif ( tabsClientId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\teditorActiveTabIndex: tabIndex - 1,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleMoveDown = () => {\n\t\tmoveBlocksDown( [ tabClientId ], tabPanelClientId );\n\t\t// Update editorActiveTabIndex to follow the moved tab\n\t\tif ( tabsClientId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\teditorActiveTabIndex: tabIndex + 1,\n\t\t\t} );\n\t\t}\n\t};\n\n\t// Don't render if only one tab\n\tif ( tabsCount <= 1 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockControls group=\"parent\">\n\t\t\t<ToolbarGroup\n\t\t\t\tclassName={ clsx( 'block-editor-block-mover', {\n\t\t\t\t\t'is-horizontal': isHorizontal,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-mover__move-button-container\">\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-block-mover-button',\n\t\t\t\t\t\t\t\t\t'is-up-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ upIcon }\n\t\t\t\t\t\t\t\tlabel={ upLabel }\n\t\t\t\t\t\t\t\tdisabled={ isFirst }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tonClick={ handleMoveUp }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-block-mover-button',\n\t\t\t\t\t\t\t\t\t'is-down-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ downIcon }\n\t\t\t\t\t\t\t\tlabel={ downLabel }\n\t\t\t\t\t\t\t\tdisabled={ isLast }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tonClick={ handleMoveDown }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t</div>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n\nexport default function Controls( {\n\ttabsClientId,\n\ttabClientId,\n\ttabIndex,\n\ttabsCount,\n\ttabsMenuClientId,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<TabBlockMover\n\t\t\t\ttabClientId={ tabClientId }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\ttabsCount={ tabsCount }\n\t\t\t\ttabsMenuClientId={ tabsMenuClientId }\n\t\t\t\ttabsClientId={ tabsClientId }\n\t\t\t/>\n\t\t\t<AddTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<RemoveTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["blockEditorStore", "clsx", "AddTabToolbarControl", "RemoveTabToolbarControl"]
|
|
7
7
|
}
|
|
@@ -30,7 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// packages/block-library/src/tabs-menu-item/edit.js
|
|
31
31
|
var edit_exports = {};
|
|
32
32
|
__export(edit_exports, {
|
|
33
|
-
default: () =>
|
|
33
|
+
default: () => Edit
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(edit_exports);
|
|
36
36
|
var import_clsx = __toESM(require("clsx"));
|
|
@@ -42,18 +42,8 @@ var import_slug_from_label = __toESM(require("../tab/slug-from-label.cjs"));
|
|
|
42
42
|
var import_controls = __toESM(require("./controls.cjs"));
|
|
43
43
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
44
44
|
function Edit({
|
|
45
|
-
attributes,
|
|
46
|
-
setAttributes,
|
|
47
45
|
context,
|
|
48
46
|
clientId,
|
|
49
|
-
activeBackgroundColor,
|
|
50
|
-
setActiveBackgroundColor,
|
|
51
|
-
activeTextColor,
|
|
52
|
-
setActiveTextColor,
|
|
53
|
-
hoverBackgroundColor,
|
|
54
|
-
setHoverBackgroundColor,
|
|
55
|
-
hoverTextColor,
|
|
56
|
-
setHoverTextColor,
|
|
57
47
|
__unstableLayoutClassNames: layoutClassNames
|
|
58
48
|
}) {
|
|
59
49
|
const tabIndex = context["core/tabs-menu-item-index"] ?? 0;
|
|
@@ -128,35 +118,6 @@ function Edit({
|
|
|
128
118
|
__unstableMarkNextChangeAsNotPersistent
|
|
129
119
|
]
|
|
130
120
|
);
|
|
131
|
-
const customColorStyles = (0, import_element.useMemo)(() => {
|
|
132
|
-
const styles = {};
|
|
133
|
-
const activeBg = activeBackgroundColor?.color || attributes.customActiveBackgroundColor;
|
|
134
|
-
const activeText = activeTextColor?.color || attributes.customActiveTextColor;
|
|
135
|
-
const hoverBg = hoverBackgroundColor?.color || attributes.customHoverBackgroundColor;
|
|
136
|
-
const hoverText = hoverTextColor?.color || attributes.customHoverTextColor;
|
|
137
|
-
if (activeBg) {
|
|
138
|
-
styles["--custom-tab-active-color"] = activeBg;
|
|
139
|
-
}
|
|
140
|
-
if (activeText) {
|
|
141
|
-
styles["--custom-tab-active-text-color"] = activeText;
|
|
142
|
-
}
|
|
143
|
-
if (hoverBg) {
|
|
144
|
-
styles["--custom-tab-hover-color"] = hoverBg;
|
|
145
|
-
}
|
|
146
|
-
if (hoverText) {
|
|
147
|
-
styles["--custom-tab-hover-text-color"] = hoverText;
|
|
148
|
-
}
|
|
149
|
-
return styles;
|
|
150
|
-
}, [
|
|
151
|
-
activeBackgroundColor?.color,
|
|
152
|
-
attributes.customActiveBackgroundColor,
|
|
153
|
-
activeTextColor?.color,
|
|
154
|
-
attributes.customActiveTextColor,
|
|
155
|
-
hoverBackgroundColor?.color,
|
|
156
|
-
attributes.customHoverBackgroundColor,
|
|
157
|
-
hoverTextColor?.color,
|
|
158
|
-
attributes.customHoverTextColor
|
|
159
|
-
]);
|
|
160
121
|
const tabPanelId = tabId || `tab-${tabIndex}`;
|
|
161
122
|
const tabLabelId = `${tabPanelId}--tab`;
|
|
162
123
|
const blockProps = (0, import_block_editor.useBlockProps)({
|
|
@@ -164,7 +125,6 @@ function Edit({
|
|
|
164
125
|
"is-active": isActiveTab,
|
|
165
126
|
"is-selected": isSelectedTab
|
|
166
127
|
}),
|
|
167
|
-
style: customColorStyles,
|
|
168
128
|
"aria-controls": tabPanelId,
|
|
169
129
|
"aria-selected": isActiveTab,
|
|
170
130
|
id: tabLabelId,
|
|
@@ -176,24 +136,11 @@ function Edit({
|
|
|
176
136
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
177
137
|
import_controls.default,
|
|
178
138
|
{
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
tabClientId,
|
|
185
|
-
tabIndex,
|
|
186
|
-
tabsCount: tabsList.length,
|
|
187
|
-
tabsMenuClientId,
|
|
188
|
-
activeBackgroundColor,
|
|
189
|
-
setActiveBackgroundColor,
|
|
190
|
-
activeTextColor,
|
|
191
|
-
setActiveTextColor,
|
|
192
|
-
hoverBackgroundColor,
|
|
193
|
-
setHoverBackgroundColor,
|
|
194
|
-
hoverTextColor,
|
|
195
|
-
setHoverTextColor
|
|
196
|
-
}
|
|
139
|
+
tabsClientId,
|
|
140
|
+
tabClientId,
|
|
141
|
+
tabIndex,
|
|
142
|
+
tabsCount: tabsList.length,
|
|
143
|
+
tabsMenuClientId
|
|
197
144
|
}
|
|
198
145
|
),
|
|
199
146
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -212,10 +159,4 @@ function Edit({
|
|
|
212
159
|
) })
|
|
213
160
|
] });
|
|
214
161
|
}
|
|
215
|
-
var edit_default = (0, import_block_editor.withColors)(
|
|
216
|
-
"activeBackgroundColor",
|
|
217
|
-
"activeTextColor",
|
|
218
|
-
"hoverBackgroundColor",
|
|
219
|
-
"hoverTextColor"
|
|
220
|
-
)(Edit);
|
|
221
162
|
//# sourceMappingURL=edit.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tabs-menu-item/edit.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,kBAA4B;AAC5B,
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport slugFromLabel from '../tab/slug-from-label';\nimport Controls from './controls';\n\nexport default function Edit( {\n\tcontext,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\t// Context from tabs-menu (per-item context via BlockContextProvider)\n\tconst tabIndex = context[ 'core/tabs-menu-item-index' ] ?? 0;\n\tconst tabId = context[ 'core/tabs-menu-item-id' ] ?? '';\n\tconst tabLabel = context[ 'core/tabs-menu-item-label' ] ?? '';\n\tconst tabClientId = context[ 'core/tabs-menu-item-clientId' ] ?? '';\n\n\t// Context from parent tabs block, memoized to prevent unnecessary re-renders.\n\tconst contextTabsList = context[ 'core/tabs-list' ];\n\tconst tabsList = useMemo(\n\t\t() => contextTabsList || [],\n\t\t[ contextTabsList ]\n\t);\n\tconst activeTabIndex = context[ 'core/tabs-activeTabIndex' ] ?? 0;\n\tconst editorActiveTabIndex = context[ 'core/tabs-editorActiveTabIndex' ];\n\n\t// Memoize effectiveActiveIndex to ensure it updates when context changes\n\tconst effectiveActiveIndex = useMemo( () => {\n\t\treturn editorActiveTabIndex ?? activeTabIndex;\n\t}, [ editorActiveTabIndex, activeTabIndex ] );\n\n\tconst isActiveTab = tabIndex === effectiveActiveIndex;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Get parent tabs clientId for updating editorActiveTabIndex\n\tconst { tabsClientId, tabsMenuClientId, selectedTabClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\t// tabs-menu-item -> tabs-menu -> tabs\n\t\t\tconst _tabsMenuClientId = getBlockRootClientId( clientId );\n\t\t\tconst _tabsClientId = _tabsMenuClientId\n\t\t\t\t? getBlockRootClientId( _tabsMenuClientId )\n\t\t\t\t: null;\n\n\t\t\tconst selectedIds = getSelectedBlockClientIds();\n\n\t\t\t// Find if any tab is selected\n\t\t\tlet selectedTab = null;\n\t\t\tfor ( const tab of tabsList ) {\n\t\t\t\tif (\n\t\t\t\t\tselectedIds.includes( tab.clientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( tab.clientId, true )\n\t\t\t\t) {\n\t\t\t\t\tselectedTab = tab.clientId;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttabsClientId: _tabsClientId,\n\t\t\t\ttabsMenuClientId: _tabsMenuClientId,\n\t\t\t\tselectedTabClientId: selectedTab,\n\t\t\t};\n\t\t},\n\t\t[ clientId, tabsList ]\n\t);\n\n\tconst isSelectedTab = tabClientId === selectedTabClientId;\n\n\t// Update tab label in the tab block\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst handleLabelChange = useCallback(\n\t\t( newLabel ) => {\n\t\t\tif ( tabClientId ) {\n\t\t\t\tupdateBlockAttributes( tabClientId, {\n\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\tanchor: slugFromLabel( newLabel, tabIndex ),\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ updateBlockAttributes, tabClientId, tabIndex ]\n\t);\n\n\t// Update editor active tab index on parent tabs block when tab is clicked\n\tconst handleTabClick = useCallback(\n\t\t( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\t// Update the parent tabs block's editorActiveTabIndex (ephemeral, not persisted)\n\t\t\tif ( tabsClientId && tabIndex !== effectiveActiveIndex ) {\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\t\teditorActiveTabIndex: tabIndex,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttabsClientId,\n\t\t\ttabIndex,\n\t\t\teffectiveActiveIndex,\n\t\t\tupdateBlockAttributes,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t]\n\t);\n\n\tconst tabPanelId = tabId || `tab-${ tabIndex }`;\n\tconst tabLabelId = `${ tabPanelId }--tab`;\n\n\t// Use blockProps for core style engine support\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( layoutClassNames, {\n\t\t\t'is-active': isActiveTab,\n\t\t\t'is-selected': isSelectedTab,\n\t\t} ),\n\t\t'aria-controls': tabPanelId,\n\t\t'aria-selected': isActiveTab,\n\t\tid: tabLabelId,\n\t\trole: 'tab',\n\t\ttabIndex: -1,\n\t\tonClick: handleTabClick,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<Controls\n\t\t\t\ttabsClientId={ tabsClientId }\n\t\t\t\ttabClientId={ tabClientId }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\ttabsCount={ tabsList.length }\n\t\t\t\ttabsMenuClientId={ tabsMenuClientId }\n\t\t\t/>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tplaceholder={ sprintf(\n\t\t\t\t\t\t/* translators: %d is the tab index + 1 */\n\t\t\t\t\t\t__( 'Tab title %d' ),\n\t\t\t\t\t\ttabIndex + 1\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ tabLabel || '' }\n\t\t\t\t\tonChange={ handleLabelChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorStore", "slugFromLabel", "clsx", "Controls"]
|
|
7
7
|
}
|
|
@@ -25,23 +25,9 @@ __export(save_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(save_exports);
|
|
26
26
|
var import_block_editor = require("@wordpress/block-editor");
|
|
27
27
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
-
function save(
|
|
29
|
-
const customColorStyles = {};
|
|
30
|
-
if (attributes.customActiveBackgroundColor) {
|
|
31
|
-
customColorStyles["--custom-tab-active-color"] = attributes.customActiveBackgroundColor;
|
|
32
|
-
}
|
|
33
|
-
if (attributes.customActiveTextColor) {
|
|
34
|
-
customColorStyles["--custom-tab-active-text-color"] = attributes.customActiveTextColor;
|
|
35
|
-
}
|
|
36
|
-
if (attributes.customHoverBackgroundColor) {
|
|
37
|
-
customColorStyles["--custom-tab-hover-color"] = attributes.customHoverBackgroundColor;
|
|
38
|
-
}
|
|
39
|
-
if (attributes.customHoverTextColor) {
|
|
40
|
-
customColorStyles["--custom-tab-hover-text-color"] = attributes.customHoverTextColor;
|
|
41
|
-
}
|
|
28
|
+
function save() {
|
|
42
29
|
const blockProps = import_block_editor.useBlockProps.save({
|
|
43
30
|
className: "wp-block-tabs-menu-item__template",
|
|
44
|
-
style: customColorStyles,
|
|
45
31
|
type: "button",
|
|
46
32
|
role: "tab"
|
|
47
33
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tabs-menu-item/save.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\n\nexport default function save(
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA8B;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\n\nexport default function save() {\n\tconst blockProps = useBlockProps.save( {\n\t\tclassName: 'wp-block-tabs-menu-item__template',\n\t\ttype: 'button',\n\t\trole: 'tab',\n\t} );\n\n\treturn <button { ...blockProps } />;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA8B;AAStB;AAPO,SAAR,OAAwB;AAC9B,QAAM,aAAa,kCAAc,KAAM;AAAA,IACtC,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACP,CAAE;AAEF,SAAO,4CAAC,YAAS,GAAG,YAAa;AAClC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"$schema": "https://schemas.wp.org/trunk/block.json",
|
|
4
4
|
"name": "core/icon",
|
|
5
5
|
"title": "Icon",
|
|
6
|
-
"__experimental": true,
|
|
7
6
|
"category": "media",
|
|
8
7
|
"description": "Insert an SVG icon.",
|
|
9
8
|
"keywords": [ "icon", "svg" ],
|
|
@@ -61,6 +60,15 @@
|
|
|
61
60
|
},
|
|
62
61
|
"selectors": {
|
|
63
62
|
"root": ".wp-block-icon",
|
|
63
|
+
"color": {
|
|
64
|
+
"root": ".wp-block-icon svg"
|
|
65
|
+
},
|
|
66
|
+
"border": {
|
|
67
|
+
"root": ".wp-block-icon svg"
|
|
68
|
+
},
|
|
69
|
+
"spacing": {
|
|
70
|
+
"padding": ".wp-block-icon svg"
|
|
71
|
+
},
|
|
64
72
|
"dimensions": {
|
|
65
73
|
"root": ".wp-block-icon svg",
|
|
66
74
|
"width": ".wp-block-icon svg"
|
|
@@ -4,7 +4,7 @@ import { Button } from "@wordpress/components";
|
|
|
4
4
|
import HtmlRenderer from "../../../utils/html-renderer.mjs";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
function IconGrid({ icons, onChange, attributes }) {
|
|
7
|
-
return /* @__PURE__ */ jsx("div", { className: "wp-block-icon__inserter-grid", children: icons
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: "wp-block-icon__inserter-grid", children: !icons?.length ? /* @__PURE__ */ jsx("div", { className: "wp-block-icon__inserter-grid-no-results", children: /* @__PURE__ */ jsx("p", { children: __("No results found.") }) }) : /* @__PURE__ */ jsx(
|
|
8
8
|
"div",
|
|
9
9
|
{
|
|
10
10
|
className: "wp-block-icon__inserter-grid-icons-list",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/icon/components/custom-inserter/icon-grid.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport HtmlRenderer from '../../../utils/html-renderer';\n\nexport default function IconGrid( { icons, onChange, attributes } ) {\n\treturn (\n\t\t<div className=\"wp-block-icon__inserter-grid\">\n\t\t\t{ icons
|
|
5
|
-
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,cAAc;AAKvB,OAAO,kBAAkB;AAOpB,cASE,YATF;AALU,SAAR,SAA2B,EAAE,OAAO,UAAU,WAAW,GAAI;AACnE,SACC,oBAAC,SAAI,WAAU,gCACZ,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport HtmlRenderer from '../../../utils/html-renderer';\n\nexport default function IconGrid( { icons, onChange, attributes } ) {\n\treturn (\n\t\t<div className=\"wp-block-icon__inserter-grid\">\n\t\t\t{ ! icons?.length ? (\n\t\t\t\t<div className=\"wp-block-icon__inserter-grid-no-results\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-icon__inserter-grid-icons-list\"\n\t\t\t\t\taria-label={ __( 'Icon library' ) }\n\t\t\t\t>\n\t\t\t\t\t{ icons.map( ( icon ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tkey={ icon.name }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-icon__inserter-grid-icons-list-item\"\n\t\t\t\t\t\t\t\tonClick={ () => onChange( icon.name ) }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\ticon.name === attributes?.icon\n\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"wp-block-icon__inserter-grid-icons-list-item-icon\">\n\t\t\t\t\t\t\t\t\t<HtmlRenderer\n\t\t\t\t\t\t\t\t\t\thtml={ icon.content }\n\t\t\t\t\t\t\t\t\t\twrapperProps={ {\n\t\t\t\t\t\t\t\t\t\t\tstyle: { width: '24px' },\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</span>\n\t\t\t\t\t\t\t\t<span className=\"wp-block-icon__inserter-grid-icons-list-item-title\">\n\t\t\t\t\t\t\t\t\t{ icon.label }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,cAAc;AAKvB,OAAO,kBAAkB;AAOpB,cASE,YATF;AALU,SAAR,SAA2B,EAAE,OAAO,UAAU,WAAW,GAAI;AACnE,SACC,oBAAC,SAAI,WAAU,gCACZ,WAAE,OAAO,SACV,oBAAC,SAAI,WAAU,2CACd,8BAAC,OAAI,aAAI,mBAAoB,GAAG,GACjC,IAEA;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,cAAa,GAAI,cAAe;AAAA,MAE9B,gBAAM,IAAK,CAAE,SAAU;AACxB,eACC;AAAA,UAAC;AAAA;AAAA,YAEA,WAAU;AAAA,YACV,SAAU,MAAM,SAAU,KAAK,IAAK;AAAA,YACpC,SACC,KAAK,SAAS,YAAY,OACvB,YACA;AAAA,YAEJ,uBAAqB;AAAA,YAErB;AAAA,kCAAC,UAAK,WAAU,qDACf;AAAA,gBAAC;AAAA;AAAA,kBACA,MAAO,KAAK;AAAA,kBACZ,cAAe;AAAA,oBACd,OAAO,EAAE,OAAO,OAAO;AAAA,kBACxB;AAAA;AAAA,cACD,GACD;AAAA,cACA,oBAAC,UAAK,WAAU,sDACb,eAAK,OACR;AAAA;AAAA;AAAA,UApBM,KAAK;AAAA,QAqBZ;AAAA,MAEF,CAAE;AAAA;AAAA,EACH,GAEF;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -7,7 +7,7 @@ import IconGrid from "./icon-grid.mjs";
|
|
|
7
7
|
import { normalizeSearchInput } from "../../../utils/search-patterns.mjs";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
function CustomInserterModal({
|
|
10
|
-
icons,
|
|
10
|
+
icons = [],
|
|
11
11
|
setInserterOpen,
|
|
12
12
|
attributes,
|
|
13
13
|
setAttributes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/icon/components/custom-inserter/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Modal, SearchControl } from '@wordpress/components';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport IconGrid from './icon-grid';\nimport { normalizeSearchInput } from '../../../utils/search-patterns';\n\nexport default function CustomInserterModal( {\n\ticons,\n\tsetInserterOpen,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst [ searchInput, setSearchInput ] = useState( '' );\n\n\tconst debouncedSetSearchInput = useDebounce( setSearchInput, 300 );\n\n\tconst setIcon = useCallback(\n\t\t( name ) => {\n\t\t\tsetAttributes( {\n\t\t\t\ticon: name,\n\t\t\t} );\n\t\t\tsetInserterOpen( false );\n\t\t},\n\t\t[ setAttributes, setInserterOpen ]\n\t);\n\n\tconst filteredIcons = useMemo( () => {\n\t\tif ( searchInput ) {\n\t\t\tconst input = normalizeSearchInput( searchInput );\n\t\t\treturn icons.filter( ( icon ) => {\n\t\t\t\tconst iconName = normalizeSearchInput( icon.name );\n\t\t\t\tconst iconLabel = normalizeSearchInput( icon.label );\n\n\t\t\t\treturn (\n\t\t\t\t\ticonName.includes( input ) || iconLabel.includes( input )\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn icons;\n\t}, [ searchInput, icons ] );\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"wp-block-icon__inserter-modal\"\n\t\t\ttitle={ __( 'Icon library' ) }\n\t\t\tonRequestClose={ () => setInserterOpen( false ) }\n\t\t\tisFullScreen\n\t\t>\n\t\t\t<div className=\"wp-block-icon__inserter\">\n\t\t\t\t<div className=\"wp-block-icon__inserter-header\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tvalue={ searchInput }\n\t\t\t\t\t\tonChange={ debouncedSetSearchInput }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<IconGrid\n\t\t\t\t\ticons={ filteredIcons }\n\t\t\t\t\tonChange={ setIcon }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],
|
|
5
|
-
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,OAAO,qBAAqB;AACrC,SAAS,UAAU,SAAS,mBAAmB;AAC/C,SAAS,mBAAmB;AAK5B,OAAO,cAAc;AACrB,SAAS,4BAA4B;AA6ClC,SAEE,KAFF;AA3CY,SAAR,oBAAsC;AAAA,EAC5C;AAAA,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Modal, SearchControl } from '@wordpress/components';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport IconGrid from './icon-grid';\nimport { normalizeSearchInput } from '../../../utils/search-patterns';\n\nexport default function CustomInserterModal( {\n\ticons = [],\n\tsetInserterOpen,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst [ searchInput, setSearchInput ] = useState( '' );\n\n\tconst debouncedSetSearchInput = useDebounce( setSearchInput, 300 );\n\n\tconst setIcon = useCallback(\n\t\t( name ) => {\n\t\t\tsetAttributes( {\n\t\t\t\ticon: name,\n\t\t\t} );\n\t\t\tsetInserterOpen( false );\n\t\t},\n\t\t[ setAttributes, setInserterOpen ]\n\t);\n\n\tconst filteredIcons = useMemo( () => {\n\t\tif ( searchInput ) {\n\t\t\tconst input = normalizeSearchInput( searchInput );\n\t\t\treturn icons.filter( ( icon ) => {\n\t\t\t\tconst iconName = normalizeSearchInput( icon.name );\n\t\t\t\tconst iconLabel = normalizeSearchInput( icon.label );\n\n\t\t\t\treturn (\n\t\t\t\t\ticonName.includes( input ) || iconLabel.includes( input )\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn icons;\n\t}, [ searchInput, icons ] );\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"wp-block-icon__inserter-modal\"\n\t\t\ttitle={ __( 'Icon library' ) }\n\t\t\tonRequestClose={ () => setInserterOpen( false ) }\n\t\t\tisFullScreen\n\t\t>\n\t\t\t<div className=\"wp-block-icon__inserter\">\n\t\t\t\t<div className=\"wp-block-icon__inserter-header\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tvalue={ searchInput }\n\t\t\t\t\t\tonChange={ debouncedSetSearchInput }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<IconGrid\n\t\t\t\t\ticons={ filteredIcons }\n\t\t\t\t\tonChange={ setIcon }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,OAAO,qBAAqB;AACrC,SAAS,UAAU,SAAS,mBAAmB;AAC/C,SAAS,mBAAmB;AAK5B,OAAO,cAAc;AACrB,SAAS,4BAA4B;AA6ClC,SAEE,KAFF;AA3CY,SAAR,oBAAsC;AAAA,EAC5C,QAAQ,CAAC;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,aAAa,cAAe,IAAI,SAAU,EAAG;AAErD,QAAM,0BAA0B,YAAa,gBAAgB,GAAI;AAEjE,QAAM,UAAU;AAAA,IACf,CAAE,SAAU;AACX,oBAAe;AAAA,QACd,MAAM;AAAA,MACP,CAAE;AACF,sBAAiB,KAAM;AAAA,IACxB;AAAA,IACA,CAAE,eAAe,eAAgB;AAAA,EAClC;AAEA,QAAM,gBAAgB,QAAS,MAAM;AACpC,QAAK,aAAc;AAClB,YAAM,QAAQ,qBAAsB,WAAY;AAChD,aAAO,MAAM,OAAQ,CAAE,SAAU;AAChC,cAAM,WAAW,qBAAsB,KAAK,IAAK;AACjD,cAAM,YAAY,qBAAsB,KAAK,KAAM;AAEnD,eACC,SAAS,SAAU,KAAM,KAAK,UAAU,SAAU,KAAM;AAAA,MAE1D,CAAE;AAAA,IACH;AAEA,WAAO;AAAA,EACR,GAAG,CAAE,aAAa,KAAM,CAAE;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,GAAI,cAAe;AAAA,MAC3B,gBAAiB,MAAM,gBAAiB,KAAM;AAAA,MAC9C,cAAY;AAAA,MAEZ,+BAAC,SAAI,WAAU,2BACd;AAAA,4BAAC,SAAI,WAAU,kCACd;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ;AAAA,YACR,UAAW;AAAA;AAAA,QACZ,GACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ;AAAA,YACR,UAAW;AAAA,YACX;AAAA;AAAA,QACD;AAAA,SACD;AAAA;AAAA,EACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|