@wordpress/block-library 9.40.1 → 9.40.2-next.v.202602271551.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/accordion/view.cjs +0 -34
- package/build/accordion/view.cjs.map +2 -2
- 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/edit/index.cjs +4 -2
- package/build/navigation/edit/index.cjs.map +3 -3
- package/build/navigation/edit/leaf-more-menu.cjs +68 -6
- package/build/navigation/edit/leaf-more-menu.cjs.map +3 -3
- package/build/navigation/edit/menu-inspector-controls.cjs +20 -91
- package/build/navigation/edit/menu-inspector-controls.cjs.map +3 -3
- package/build/navigation/edit/navigation-link-ui.cjs +97 -0
- package/build/navigation/edit/navigation-link-ui.cjs.map +7 -0
- package/build/navigation/edit/navigation-list-view-header.cjs +86 -0
- package/build/navigation/edit/navigation-list-view-header.cjs.map +7 -0
- package/build/navigation/edit/navigation-menu-selector.cjs +4 -2
- package/build/navigation/edit/navigation-menu-selector.cjs.map +3 -3
- package/build/navigation/edit/placeholder/index.cjs +2 -2
- package/build/navigation/edit/placeholder/index.cjs.map +3 -3
- package/build/navigation-link/shared/controls.cjs +29 -52
- package/build/navigation-link/shared/controls.cjs.map +3 -3
- package/build/navigation-link/shared/use-link-preview.cjs +7 -8
- package/build/navigation-link/shared/use-link-preview.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/page-list-item/edit.cjs +6 -3
- package/build/page-list-item/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/accordion/view.mjs +1 -35
- package/build-module/accordion/view.mjs.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/edit/index.mjs +4 -2
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation/edit/leaf-more-menu.mjs +73 -7
- package/build-module/navigation/edit/leaf-more-menu.mjs.map +2 -2
- package/build-module/navigation/edit/menu-inspector-controls.mjs +21 -101
- package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
- package/build-module/navigation/edit/navigation-link-ui.mjs +76 -0
- package/build-module/navigation/edit/navigation-link-ui.mjs.map +7 -0
- package/build-module/navigation/edit/navigation-list-view-header.mjs +58 -0
- package/build-module/navigation/edit/navigation-list-view-header.mjs.map +7 -0
- package/build-module/navigation/edit/navigation-menu-selector.mjs +5 -3
- package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
- package/build-module/navigation/edit/placeholder/index.mjs +2 -2
- package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
- package/build-module/navigation-link/shared/controls.mjs +29 -53
- package/build-module/navigation-link/shared/controls.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-link-preview.mjs +7 -8
- package/build-module/navigation-link/shared/use-link-preview.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/page-list-item/edit.mjs +6 -3
- package/build-module/page-list-item/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 +10 -5
- package/build-style/editor.css +10 -5
- package/build-style/navigation-link/editor-rtl.css +10 -0
- package/build-style/navigation-link/editor.css +10 -0
- 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/accordion/view.js +1 -44
- package/src/accordion-item/index.php +0 -1
- package/src/cover/index.php +4 -4
- 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/edit/index.js +4 -2
- package/src/navigation/edit/leaf-more-menu.js +86 -11
- package/src/navigation/edit/menu-inspector-controls.js +23 -142
- package/src/navigation/edit/navigation-link-ui.js +115 -0
- package/src/navigation/edit/navigation-list-view-header.js +62 -0
- package/src/navigation/edit/navigation-menu-selector.js +5 -3
- package/src/navigation/edit/placeholder/index.js +3 -2
- package/src/navigation/edit/test/navigation-menu-selector.js +23 -20
- package/src/navigation-link/editor.scss +18 -0
- package/src/navigation-link/shared/controls.js +35 -62
- package/src/navigation-link/shared/test/controls.js +5 -5
- package/src/navigation-link/shared/test/use-link-preview.test.js +10 -1
- package/src/navigation-link/shared/use-link-preview.js +13 -11
- package/src/navigation-overlay-close/edit.js +4 -3
- package/src/page-list/index.php +1 -1
- package/src/page-list-item/edit.js +8 -7
- 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/query-title/index.php +1 -1
- 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
- package/build/navigation/use-navigation-entities.cjs +0 -67
- package/build/navigation/use-navigation-entities.cjs.map +0 -7
- package/build-module/navigation/use-navigation-entities.mjs +0 -46
- package/build-module/navigation/use-navigation-entities.mjs.map +0 -7
- package/src/navigation/use-navigation-entities.js +0 -72
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
// packages/block-library/src/site-title/edit.js
|
|
2
|
-
import clsx from "clsx";
|
|
3
2
|
import { useDispatch, useSelect } from "@wordpress/data";
|
|
4
3
|
import { store as coreStore } from "@wordpress/core-data";
|
|
5
4
|
import { __ } from "@wordpress/i18n";
|
|
6
5
|
import {
|
|
7
6
|
RichText,
|
|
8
|
-
AlignmentControl,
|
|
9
7
|
InspectorControls,
|
|
10
8
|
BlockControls,
|
|
11
9
|
useBlockProps,
|
|
@@ -20,13 +18,12 @@ import {
|
|
|
20
18
|
import { createBlock, getDefaultBlockName } from "@wordpress/blocks";
|
|
21
19
|
import { decodeEntities } from "@wordpress/html-entities";
|
|
22
20
|
import { useToolsPanelDropdownMenuProps } from "../utils/hooks.mjs";
|
|
21
|
+
import useDeprecatedTextAlign from "../utils/deprecated-text-align-attributes.mjs";
|
|
23
22
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
24
|
-
function SiteTitleEdit({
|
|
25
|
-
|
|
26
|
-
setAttributes,
|
|
27
|
-
|
|
28
|
-
}) {
|
|
29
|
-
const { level, levelOptions, textAlign, isLink, linkTarget } = attributes;
|
|
23
|
+
function SiteTitleEdit(props) {
|
|
24
|
+
useDeprecatedTextAlign(props);
|
|
25
|
+
const { attributes, setAttributes, insertBlocksAfter } = props;
|
|
26
|
+
const { level, levelOptions, isLink, linkTarget } = attributes;
|
|
30
27
|
const { canUserEdit, title } = useSelect((select) => {
|
|
31
28
|
const { canUser, getEntityRecord, getEditedEntityRecord } = select(coreStore);
|
|
32
29
|
const canEdit = canUser("update", {
|
|
@@ -50,10 +47,7 @@ function SiteTitleEdit({
|
|
|
50
47
|
}
|
|
51
48
|
const TagName = level === 0 ? "p" : `h${level}`;
|
|
52
49
|
const blockProps = useBlockProps({
|
|
53
|
-
className:
|
|
54
|
-
[`has-text-align-${textAlign}`]: textAlign,
|
|
55
|
-
"wp-block-site-title__placeholder": !canUserEdit && !title
|
|
56
|
-
})
|
|
50
|
+
className: !canUserEdit && !title && "wp-block-site-title__placeholder"
|
|
57
51
|
});
|
|
58
52
|
const siteTitleContent = canUserEdit ? /* @__PURE__ */ jsx(TagName, { ...blockProps, children: /* @__PURE__ */ jsx(
|
|
59
53
|
RichText,
|
|
@@ -77,25 +71,14 @@ function SiteTitleEdit({
|
|
|
77
71
|
}
|
|
78
72
|
) : /* @__PURE__ */ jsx("span", { children: decodeEntities(title) || __("Site Title placeholder") }) });
|
|
79
73
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
80
|
-
blockEditingMode === "default" && /* @__PURE__ */
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
),
|
|
89
|
-
/* @__PURE__ */ jsx(
|
|
90
|
-
AlignmentControl,
|
|
91
|
-
{
|
|
92
|
-
value: textAlign,
|
|
93
|
-
onChange: (nextAlign) => {
|
|
94
|
-
setAttributes({ textAlign: nextAlign });
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
)
|
|
98
|
-
] }),
|
|
74
|
+
blockEditingMode === "default" && /* @__PURE__ */ jsx(BlockControls, { group: "block", children: /* @__PURE__ */ jsx(
|
|
75
|
+
HeadingLevelDropdown,
|
|
76
|
+
{
|
|
77
|
+
value: level,
|
|
78
|
+
options: levelOptions,
|
|
79
|
+
onChange: (newLevel) => setAttributes({ level: newLevel })
|
|
80
|
+
}
|
|
81
|
+
) }),
|
|
99
82
|
/* @__PURE__ */ jsx(InspectorControls, { children: /* @__PURE__ */ jsxs(
|
|
100
83
|
ToolsPanel,
|
|
101
84
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/site-title/edit.js"],
|
|
4
|
-
"sourcesContent": ["/**\n *
|
|
5
|
-
"mappings": ";AAGA,
|
|
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
6
|
"names": []
|
|
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,
|
|
@@ -3,10 +3,7 @@ import clsx from "clsx";
|
|
|
3
3
|
import { __, isRTL } from "@wordpress/i18n";
|
|
4
4
|
import {
|
|
5
5
|
BlockControls,
|
|
6
|
-
|
|
7
|
-
store as blockEditorStore,
|
|
8
|
-
__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,
|
|
9
|
-
__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients
|
|
6
|
+
store as blockEditorStore
|
|
10
7
|
} from "@wordpress/block-editor";
|
|
11
8
|
import { ToolbarGroup, ToolbarItem, Button } from "@wordpress/components";
|
|
12
9
|
import {
|
|
@@ -130,30 +127,12 @@ function TabBlockMover({
|
|
|
130
127
|
) });
|
|
131
128
|
}
|
|
132
129
|
function Controls({
|
|
133
|
-
attributes,
|
|
134
|
-
setAttributes,
|
|
135
|
-
clientId,
|
|
136
130
|
tabsClientId,
|
|
137
131
|
tabClientId,
|
|
138
132
|
tabIndex,
|
|
139
133
|
tabsCount,
|
|
140
|
-
tabsMenuClientId
|
|
141
|
-
activeBackgroundColor,
|
|
142
|
-
setActiveBackgroundColor,
|
|
143
|
-
activeTextColor,
|
|
144
|
-
setActiveTextColor,
|
|
145
|
-
hoverBackgroundColor,
|
|
146
|
-
setHoverBackgroundColor,
|
|
147
|
-
hoverTextColor,
|
|
148
|
-
setHoverTextColor
|
|
134
|
+
tabsMenuClientId
|
|
149
135
|
}) {
|
|
150
|
-
const {
|
|
151
|
-
customActiveBackgroundColor,
|
|
152
|
-
customActiveTextColor,
|
|
153
|
-
customHoverBackgroundColor,
|
|
154
|
-
customHoverTextColor
|
|
155
|
-
} = attributes;
|
|
156
|
-
const colorSettings = useMultipleOriginColorsAndGradients();
|
|
157
136
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
158
137
|
/* @__PURE__ */ jsx(
|
|
159
138
|
TabBlockMover,
|
|
@@ -166,87 +145,7 @@ function Controls({
|
|
|
166
145
|
}
|
|
167
146
|
),
|
|
168
147
|
/* @__PURE__ */ jsx(AddTabToolbarControl, { tabsClientId }),
|
|
169
|
-
/* @__PURE__ */ jsx(RemoveTabToolbarControl, { tabsClientId })
|
|
170
|
-
/* @__PURE__ */ jsx(InspectorControls, { group: "color", children: /* @__PURE__ */ jsx(
|
|
171
|
-
ColorGradientSettingsDropdown,
|
|
172
|
-
{
|
|
173
|
-
settings: [
|
|
174
|
-
{
|
|
175
|
-
label: __("Active background"),
|
|
176
|
-
colorValue: activeBackgroundColor?.color ?? customActiveBackgroundColor,
|
|
177
|
-
onColorChange: (value) => {
|
|
178
|
-
setActiveBackgroundColor(value);
|
|
179
|
-
setAttributes({
|
|
180
|
-
customActiveBackgroundColor: value
|
|
181
|
-
});
|
|
182
|
-
},
|
|
183
|
-
resetAllFilter: () => {
|
|
184
|
-
setActiveBackgroundColor(void 0);
|
|
185
|
-
setAttributes({
|
|
186
|
-
customActiveBackgroundColor: void 0
|
|
187
|
-
});
|
|
188
|
-
},
|
|
189
|
-
clearable: true
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
label: __("Active text"),
|
|
193
|
-
colorValue: activeTextColor?.color ?? customActiveTextColor,
|
|
194
|
-
onColorChange: (value) => {
|
|
195
|
-
setActiveTextColor(value);
|
|
196
|
-
setAttributes({
|
|
197
|
-
customActiveTextColor: value
|
|
198
|
-
});
|
|
199
|
-
},
|
|
200
|
-
resetAllFilter: () => {
|
|
201
|
-
setActiveTextColor(void 0);
|
|
202
|
-
setAttributes({
|
|
203
|
-
customActiveTextColor: void 0
|
|
204
|
-
});
|
|
205
|
-
},
|
|
206
|
-
clearable: true
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
label: __("Hover background"),
|
|
210
|
-
colorValue: hoverBackgroundColor?.color ?? customHoverBackgroundColor,
|
|
211
|
-
onColorChange: (value) => {
|
|
212
|
-
setHoverBackgroundColor(value);
|
|
213
|
-
setAttributes({
|
|
214
|
-
customHoverBackgroundColor: value
|
|
215
|
-
});
|
|
216
|
-
},
|
|
217
|
-
resetAllFilter: () => {
|
|
218
|
-
setHoverBackgroundColor(void 0);
|
|
219
|
-
setAttributes({
|
|
220
|
-
customHoverBackgroundColor: void 0
|
|
221
|
-
});
|
|
222
|
-
},
|
|
223
|
-
clearable: true
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
label: __("Hover text"),
|
|
227
|
-
colorValue: hoverTextColor?.color ?? customHoverTextColor,
|
|
228
|
-
onColorChange: (value) => {
|
|
229
|
-
setHoverTextColor(value);
|
|
230
|
-
setAttributes({
|
|
231
|
-
customHoverTextColor: value
|
|
232
|
-
});
|
|
233
|
-
},
|
|
234
|
-
resetAllFilter: () => {
|
|
235
|
-
setHoverTextColor(void 0);
|
|
236
|
-
setAttributes({
|
|
237
|
-
customHoverTextColor: void 0
|
|
238
|
-
});
|
|
239
|
-
},
|
|
240
|
-
clearable: true
|
|
241
|
-
}
|
|
242
|
-
],
|
|
243
|
-
panelId: clientId,
|
|
244
|
-
disableCustomColors: false,
|
|
245
|
-
__experimentalIsRenderedInSidebar: true,
|
|
246
|
-
__next40pxDefaultSize: true,
|
|
247
|
-
...colorSettings
|
|
248
|
-
}
|
|
249
|
-
) })
|
|
148
|
+
/* @__PURE__ */ jsx(RemoveTabToolbarControl, { tabsClientId })
|
|
250
149
|
] });
|
|
251
150
|
}
|
|
252
151
|
export {
|
|
@@ -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": ";AAGA,OAAO,UAAU;AAKjB,SAAS,IAAI,aAAa;AAC1B;AAAA,EACC;AAAA,EACA
|
|
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
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,7 +3,6 @@ import clsx from "clsx";
|
|
|
3
3
|
import { __, sprintf } from "@wordpress/i18n";
|
|
4
4
|
import {
|
|
5
5
|
useBlockProps,
|
|
6
|
-
withColors,
|
|
7
6
|
store as blockEditorStore,
|
|
8
7
|
RichText
|
|
9
8
|
} from "@wordpress/block-editor";
|
|
@@ -13,18 +12,8 @@ import slugFromLabel from "../tab/slug-from-label.mjs";
|
|
|
13
12
|
import Controls from "./controls.mjs";
|
|
14
13
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
14
|
function Edit({
|
|
16
|
-
attributes,
|
|
17
|
-
setAttributes,
|
|
18
15
|
context,
|
|
19
16
|
clientId,
|
|
20
|
-
activeBackgroundColor,
|
|
21
|
-
setActiveBackgroundColor,
|
|
22
|
-
activeTextColor,
|
|
23
|
-
setActiveTextColor,
|
|
24
|
-
hoverBackgroundColor,
|
|
25
|
-
setHoverBackgroundColor,
|
|
26
|
-
hoverTextColor,
|
|
27
|
-
setHoverTextColor,
|
|
28
17
|
__unstableLayoutClassNames: layoutClassNames
|
|
29
18
|
}) {
|
|
30
19
|
const tabIndex = context["core/tabs-menu-item-index"] ?? 0;
|
|
@@ -99,35 +88,6 @@ function Edit({
|
|
|
99
88
|
__unstableMarkNextChangeAsNotPersistent
|
|
100
89
|
]
|
|
101
90
|
);
|
|
102
|
-
const customColorStyles = useMemo(() => {
|
|
103
|
-
const styles = {};
|
|
104
|
-
const activeBg = activeBackgroundColor?.color || attributes.customActiveBackgroundColor;
|
|
105
|
-
const activeText = activeTextColor?.color || attributes.customActiveTextColor;
|
|
106
|
-
const hoverBg = hoverBackgroundColor?.color || attributes.customHoverBackgroundColor;
|
|
107
|
-
const hoverText = hoverTextColor?.color || attributes.customHoverTextColor;
|
|
108
|
-
if (activeBg) {
|
|
109
|
-
styles["--custom-tab-active-color"] = activeBg;
|
|
110
|
-
}
|
|
111
|
-
if (activeText) {
|
|
112
|
-
styles["--custom-tab-active-text-color"] = activeText;
|
|
113
|
-
}
|
|
114
|
-
if (hoverBg) {
|
|
115
|
-
styles["--custom-tab-hover-color"] = hoverBg;
|
|
116
|
-
}
|
|
117
|
-
if (hoverText) {
|
|
118
|
-
styles["--custom-tab-hover-text-color"] = hoverText;
|
|
119
|
-
}
|
|
120
|
-
return styles;
|
|
121
|
-
}, [
|
|
122
|
-
activeBackgroundColor?.color,
|
|
123
|
-
attributes.customActiveBackgroundColor,
|
|
124
|
-
activeTextColor?.color,
|
|
125
|
-
attributes.customActiveTextColor,
|
|
126
|
-
hoverBackgroundColor?.color,
|
|
127
|
-
attributes.customHoverBackgroundColor,
|
|
128
|
-
hoverTextColor?.color,
|
|
129
|
-
attributes.customHoverTextColor
|
|
130
|
-
]);
|
|
131
91
|
const tabPanelId = tabId || `tab-${tabIndex}`;
|
|
132
92
|
const tabLabelId = `${tabPanelId}--tab`;
|
|
133
93
|
const blockProps = useBlockProps({
|
|
@@ -135,7 +95,6 @@ function Edit({
|
|
|
135
95
|
"is-active": isActiveTab,
|
|
136
96
|
"is-selected": isSelectedTab
|
|
137
97
|
}),
|
|
138
|
-
style: customColorStyles,
|
|
139
98
|
"aria-controls": tabPanelId,
|
|
140
99
|
"aria-selected": isActiveTab,
|
|
141
100
|
id: tabLabelId,
|
|
@@ -147,24 +106,11 @@ function Edit({
|
|
|
147
106
|
/* @__PURE__ */ jsx(
|
|
148
107
|
Controls,
|
|
149
108
|
{
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
tabClientId,
|
|
156
|
-
tabIndex,
|
|
157
|
-
tabsCount: tabsList.length,
|
|
158
|
-
tabsMenuClientId,
|
|
159
|
-
activeBackgroundColor,
|
|
160
|
-
setActiveBackgroundColor,
|
|
161
|
-
activeTextColor,
|
|
162
|
-
setActiveTextColor,
|
|
163
|
-
hoverBackgroundColor,
|
|
164
|
-
setHoverBackgroundColor,
|
|
165
|
-
hoverTextColor,
|
|
166
|
-
setHoverTextColor
|
|
167
|
-
}
|
|
109
|
+
tabsClientId,
|
|
110
|
+
tabClientId,
|
|
111
|
+
tabIndex,
|
|
112
|
+
tabsCount: tabsList.length,
|
|
113
|
+
tabsMenuClientId
|
|
168
114
|
}
|
|
169
115
|
),
|
|
170
116
|
/* @__PURE__ */ jsx("div", { ...blockProps, children: /* @__PURE__ */ jsx(
|
|
@@ -183,13 +129,7 @@ function Edit({
|
|
|
183
129
|
) })
|
|
184
130
|
] });
|
|
185
131
|
}
|
|
186
|
-
var edit_default = withColors(
|
|
187
|
-
"activeBackgroundColor",
|
|
188
|
-
"activeTextColor",
|
|
189
|
-
"hoverBackgroundColor",
|
|
190
|
-
"hoverTextColor"
|
|
191
|
-
)(Edit);
|
|
192
132
|
export {
|
|
193
|
-
|
|
133
|
+
Edit as default
|
|
194
134
|
};
|
|
195
135
|
//# sourceMappingURL=edit.mjs.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": ";AAGA,OAAO,UAAU;AAKjB,SAAS,IAAI,eAAe;AAC5B;AAAA,EACC;AAAA,EACA
|
|
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": []
|
|
7
7
|
}
|
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
// packages/block-library/src/tabs-menu-item/save.js
|
|
2
2
|
import { useBlockProps } from "@wordpress/block-editor";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
function save(
|
|
5
|
-
const customColorStyles = {};
|
|
6
|
-
if (attributes.customActiveBackgroundColor) {
|
|
7
|
-
customColorStyles["--custom-tab-active-color"] = attributes.customActiveBackgroundColor;
|
|
8
|
-
}
|
|
9
|
-
if (attributes.customActiveTextColor) {
|
|
10
|
-
customColorStyles["--custom-tab-active-text-color"] = attributes.customActiveTextColor;
|
|
11
|
-
}
|
|
12
|
-
if (attributes.customHoverBackgroundColor) {
|
|
13
|
-
customColorStyles["--custom-tab-hover-color"] = attributes.customHoverBackgroundColor;
|
|
14
|
-
}
|
|
15
|
-
if (attributes.customHoverTextColor) {
|
|
16
|
-
customColorStyles["--custom-tab-hover-text-color"] = attributes.customHoverTextColor;
|
|
17
|
-
}
|
|
4
|
+
function save() {
|
|
18
5
|
const blockProps = useBlockProps.save({
|
|
19
6
|
className: "wp-block-tabs-menu-item__template",
|
|
20
|
-
style: customColorStyles,
|
|
21
7
|
type: "button",
|
|
22
8
|
role: "tab"
|
|
23
9
|
});
|
|
@@ -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": ";AAGA,SAAS,qBAAqB;
|
|
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": ";AAGA,SAAS,qBAAqB;AAStB;AAPO,SAAR,OAAwB;AAC9B,QAAM,aAAa,cAAc,KAAM;AAAA,IACtC,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACP,CAAE;AAEF,SAAO,oBAAC,YAAS,GAAG,YAAa;AAClC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1814,6 +1814,16 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
1814
1814
|
color: #cc1818;
|
|
1815
1815
|
}
|
|
1816
1816
|
|
|
1817
|
+
.navigation-link-to__action-button {
|
|
1818
|
+
grid-column: auto;
|
|
1819
|
+
}
|
|
1820
|
+
.navigation-link-to__action-button:nth-last-child(1 of .navigation-link-to__action-button):nth-child(odd of .navigation-link-to__action-button) {
|
|
1821
|
+
grid-column: 1/-1;
|
|
1822
|
+
}
|
|
1823
|
+
.navigation-link-to__action-button.navigation-link-to__action-button.navigation-link-to__action-button {
|
|
1824
|
+
justify-content: center;
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1817
1827
|
.wp-block-navigation-submenu {
|
|
1818
1828
|
display: block;
|
|
1819
1829
|
}
|
|
@@ -2325,7 +2335,6 @@ html[dir=rtl] .has-drop-cap:not(:focus)::first-letter {
|
|
|
2325
2335
|
}
|
|
2326
2336
|
|
|
2327
2337
|
.wp-block-tabs-menu-item.is-selected {
|
|
2328
|
-
outline: 2px solid var(--wp-admin-theme-color, #007cba);
|
|
2329
2338
|
outline-offset: 2px;
|
|
2330
2339
|
}
|
|
2331
2340
|
|
|
@@ -2336,10 +2345,6 @@ html[dir=rtl] .has-drop-cap:not(:focus)::first-letter {
|
|
|
2336
2345
|
.block-editor-block-preview__live-content:has(.wp-block-tabs-menu-item) .wp-block-tabs-menu-item {
|
|
2337
2346
|
flex-basis: 100% !important;
|
|
2338
2347
|
}
|
|
2339
|
-
.block-editor-block-preview__live-content:has(.wp-block-tabs-menu-item):hover > .wp-block-tabs-menu-item {
|
|
2340
|
-
background-color: var(--custom-tab-hover-color, #eaeaea) !important;
|
|
2341
|
-
color: var(--custom-tab-hover-text-color, #000) !important;
|
|
2342
|
-
}
|
|
2343
2348
|
|
|
2344
2349
|
.block-editor-template-part__selection-modal {
|
|
2345
2350
|
z-index: 1000001;
|
package/build-style/editor.css
CHANGED
|
@@ -1818,6 +1818,16 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
1818
1818
|
color: #cc1818;
|
|
1819
1819
|
}
|
|
1820
1820
|
|
|
1821
|
+
.navigation-link-to__action-button {
|
|
1822
|
+
grid-column: auto;
|
|
1823
|
+
}
|
|
1824
|
+
.navigation-link-to__action-button:nth-last-child(1 of .navigation-link-to__action-button):nth-child(odd of .navigation-link-to__action-button) {
|
|
1825
|
+
grid-column: 1/-1;
|
|
1826
|
+
}
|
|
1827
|
+
.navigation-link-to__action-button.navigation-link-to__action-button.navigation-link-to__action-button {
|
|
1828
|
+
justify-content: center;
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1821
1831
|
.wp-block-navigation-submenu {
|
|
1822
1832
|
display: block;
|
|
1823
1833
|
}
|
|
@@ -2329,7 +2339,6 @@ html[dir=rtl] .has-drop-cap:not(:focus)::first-letter {
|
|
|
2329
2339
|
}
|
|
2330
2340
|
|
|
2331
2341
|
.wp-block-tabs-menu-item.is-selected {
|
|
2332
|
-
outline: 2px solid var(--wp-admin-theme-color, #007cba);
|
|
2333
2342
|
outline-offset: 2px;
|
|
2334
2343
|
}
|
|
2335
2344
|
|
|
@@ -2340,10 +2349,6 @@ html[dir=rtl] .has-drop-cap:not(:focus)::first-letter {
|
|
|
2340
2349
|
.block-editor-block-preview__live-content:has(.wp-block-tabs-menu-item) .wp-block-tabs-menu-item {
|
|
2341
2350
|
flex-basis: 100% !important;
|
|
2342
2351
|
}
|
|
2343
|
-
.block-editor-block-preview__live-content:has(.wp-block-tabs-menu-item):hover > .wp-block-tabs-menu-item {
|
|
2344
|
-
background-color: var(--custom-tab-hover-color, #eaeaea) !important;
|
|
2345
|
-
color: var(--custom-tab-hover-text-color, #000) !important;
|
|
2346
|
-
}
|
|
2347
2352
|
|
|
2348
2353
|
.block-editor-template-part__selection-modal {
|
|
2349
2354
|
z-index: 1000001;
|
|
@@ -158,4 +158,14 @@
|
|
|
158
158
|
*/
|
|
159
159
|
.navigation-link-control__error-text {
|
|
160
160
|
color: #cc1818;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.navigation-link-to__action-button {
|
|
164
|
+
grid-column: auto;
|
|
165
|
+
}
|
|
166
|
+
.navigation-link-to__action-button:nth-last-child(1 of .navigation-link-to__action-button):nth-child(odd of .navigation-link-to__action-button) {
|
|
167
|
+
grid-column: 1/-1;
|
|
168
|
+
}
|
|
169
|
+
.navigation-link-to__action-button.navigation-link-to__action-button.navigation-link-to__action-button {
|
|
170
|
+
justify-content: center;
|
|
161
171
|
}
|