@wordpress/block-library 9.44.1-next.v.202604201441.0 → 9.45.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/CHANGELOG.md +2 -0
- package/build/accordion/edit.cjs +0 -2
- package/build/accordion/edit.cjs.map +2 -2
- package/build/accordion-item/block.json +1 -0
- package/build/categories/edit.cjs +5 -1
- package/build/categories/edit.cjs.map +2 -2
- package/build/embed/edit.cjs +38 -34
- package/build/embed/edit.cjs.map +3 -3
- package/build/embed/transforms.cjs +3 -1
- package/build/embed/transforms.cjs.map +2 -2
- package/build/embed/util.cjs +13 -2
- package/build/embed/util.cjs.map +2 -2
- package/build/form/block.json +1 -1
- package/build/form-input/block.json +1 -1
- package/build/form-submission-notification/block.json +1 -1
- package/build/form-submit-button/block.json +1 -1
- package/build/image/edit.cjs +1 -1
- package/build/image/edit.cjs.map +2 -2
- package/build/image/image.cjs +29 -10
- package/build/image/image.cjs.map +3 -3
- package/build/index.cjs +4 -4
- package/build/index.cjs.map +2 -2
- package/build/math/edit.cjs +2 -2
- package/build/math/edit.cjs.map +2 -2
- package/build/navigation/edit/accessible-description.cjs +2 -2
- package/build/navigation/edit/accessible-description.cjs.map +2 -2
- package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
- package/build/navigation-link/edit.cjs +2 -1
- package/build/navigation-link/edit.cjs.map +2 -2
- package/build/navigation-link/link-ui/dialog-wrapper.cjs +2 -1
- package/build/navigation-link/link-ui/dialog-wrapper.cjs.map +2 -2
- package/build/navigation-link/link-ui/index.cjs +2 -1
- package/build/navigation-link/link-ui/index.cjs.map +2 -2
- package/build/post-author/edit.cjs.map +3 -3
- package/build/post-comments-form/edit.cjs +2 -2
- package/build/post-comments-form/edit.cjs.map +2 -2
- package/build/query/edit/inspector-controls/author-control.cjs +1 -1
- package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/format-controls.cjs +1 -1
- package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
- package/build/query/edit/inspector-controls/parent-control.cjs +1 -1
- package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.cjs +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
- package/build/site-logo/edit.cjs +32 -18
- package/build/site-logo/edit.cjs.map +2 -2
- package/build/tab/block.json +23 -23
- package/build/tab/controls.cjs +5 -48
- package/build/tab/controls.cjs.map +3 -3
- package/build/tab/edit.cjs +77 -75
- package/build/tab/edit.cjs.map +3 -3
- package/build/tab/save.cjs +3 -3
- package/build/tab/save.cjs.map +2 -2
- package/{src/tabs-menu → build/tab-list}/block.json +3 -3
- package/build/{tabs-menu → tab-list}/edit.cjs +4 -4
- package/build/tab-list/edit.cjs.map +7 -0
- package/build/{tabs-menu → tab-list}/index.cjs +5 -5
- package/build/tab-list/index.cjs.map +7 -0
- package/build/{tabs-menu → tab-list}/save.cjs +1 -1
- package/build/{tabs-menu → tab-list}/save.cjs.map +1 -1
- package/build/{tab → tab-panel}/add-tab-toolbar-control.cjs +16 -16
- package/build/tab-panel/add-tab-toolbar-control.cjs.map +7 -0
- package/build/tab-panel/block.json +27 -37
- package/build/tab-panel/controls.cjs +89 -0
- package/build/tab-panel/controls.cjs.map +7 -0
- package/build/tab-panel/edit.cjs +90 -17
- package/build/tab-panel/edit.cjs.map +3 -3
- package/build/tab-panel/index.cjs +1 -1
- package/build/tab-panel/index.cjs.map +1 -1
- package/build/{tab → tab-panel}/init.cjs +1 -1
- package/build/{tab → tab-panel}/init.cjs.map +1 -1
- package/build/{tab → tab-panel}/remove-tab-toolbar-control.cjs +16 -16
- package/build/tab-panel/remove-tab-toolbar-control.cjs.map +7 -0
- package/build/tab-panel/save.cjs +4 -2
- package/build/tab-panel/save.cjs.map +2 -2
- package/build/tab-panels/block.json +66 -0
- package/build/{tabs-menu-item/controls.cjs → tab-panels/edit.cjs} +25 -11
- package/build/tab-panels/edit.cjs.map +7 -0
- package/build/{tabs-menu-item → tab-panels}/index.cjs +5 -5
- package/build/{tabs-menu → tab-panels}/index.cjs.map +2 -2
- package/build/{tabs-menu-item → tab-panels}/save.cjs +4 -6
- package/build/tab-panels/save.cjs.map +7 -0
- package/build/tabs/block.json +1 -1
- package/build/tabs/controls.cjs +2 -2
- package/build/tabs/controls.cjs.map +1 -1
- package/build/tabs/edit.cjs +24 -19
- package/build/tabs/edit.cjs.map +3 -3
- package/build/tabs/index.cjs +5 -5
- package/build/tabs/index.cjs.map +1 -1
- package/build/tabs/{use-tab-menu-sync.cjs → use-tab-list-sync.cjs} +78 -80
- package/build/tabs/use-tab-list-sync.cjs.map +7 -0
- package/build/terms-query/edit/inspector-controls/include-control.cjs +1 -1
- package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
- package/build/video/tracks-editor.cjs +2 -2
- package/build/video/tracks-editor.cjs.map +2 -2
- package/build-module/accordion/edit.mjs +0 -2
- package/build-module/accordion/edit.mjs.map +2 -2
- package/build-module/accordion-item/block.json +1 -0
- package/build-module/categories/edit.mjs +5 -2
- package/build-module/categories/edit.mjs.map +2 -2
- package/build-module/embed/edit.mjs +45 -36
- package/build-module/embed/edit.mjs.map +2 -2
- package/build-module/embed/transforms.mjs +8 -2
- package/build-module/embed/transforms.mjs.map +2 -2
- package/build-module/embed/util.mjs +11 -1
- package/build-module/embed/util.mjs.map +2 -2
- package/build-module/form/block.json +1 -1
- package/build-module/form-input/block.json +1 -1
- package/build-module/form-submission-notification/block.json +1 -1
- package/build-module/form-submit-button/block.json +1 -1
- package/build-module/image/edit.mjs +1 -1
- package/build-module/image/edit.mjs.map +2 -2
- package/build-module/image/image.mjs +29 -10
- package/build-module/image/image.mjs.map +3 -3
- package/build-module/index.mjs +4 -4
- package/build-module/index.mjs.map +2 -2
- package/build-module/math/edit.mjs +2 -2
- package/build-module/math/edit.mjs.map +2 -2
- package/build-module/navigation/edit/accessible-description.mjs +1 -1
- package/build-module/navigation/edit/accessible-description.mjs.map +1 -1
- package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +1 -1
- package/build-module/navigation-link/edit.mjs +2 -5
- package/build-module/navigation-link/edit.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/dialog-wrapper.mjs +2 -1
- package/build-module/navigation-link/link-ui/dialog-wrapper.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/index.mjs +1 -1
- package/build-module/navigation-link/link-ui/index.mjs.map +2 -2
- package/build-module/post-author/edit.mjs +2 -2
- package/build-module/post-author/edit.mjs.map +2 -2
- package/build-module/post-comments-form/edit.mjs +1 -1
- package/build-module/post-comments-form/edit.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/author-control.mjs +1 -1
- package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/format-controls.mjs +1 -1
- package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/parent-control.mjs +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
- package/build-module/site-logo/edit.mjs +32 -18
- package/build-module/site-logo/edit.mjs.map +2 -2
- package/build-module/tab/block.json +23 -23
- package/build-module/tab/controls.mjs +7 -57
- package/build-module/tab/controls.mjs.map +2 -2
- package/build-module/tab/edit.mjs +81 -79
- package/build-module/tab/edit.mjs.map +3 -3
- package/build-module/tab/save.mjs +4 -4
- package/build-module/tab/save.mjs.map +2 -2
- package/build-module/{tabs-menu → tab-list}/block.json +3 -3
- package/build-module/{tabs-menu → tab-list}/edit.mjs +4 -4
- package/build-module/tab-list/edit.mjs.map +7 -0
- package/build-module/{tabs-menu → tab-list}/index.mjs +2 -2
- package/build-module/tab-list/index.mjs.map +7 -0
- package/build-module/{tabs-menu → tab-list}/save.mjs +1 -1
- package/build-module/{tabs-menu → tab-list}/save.mjs.map +1 -1
- package/build-module/{tab → tab-panel}/add-tab-toolbar-control.mjs +16 -16
- package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +7 -0
- package/build-module/tab-panel/block.json +27 -37
- package/build-module/tab-panel/controls.mjs +65 -0
- package/build-module/tab-panel/controls.mjs.map +7 -0
- package/build-module/tab-panel/edit.mjs +92 -19
- package/build-module/tab-panel/edit.mjs.map +2 -2
- package/build-module/tab-panel/index.mjs +1 -1
- package/build-module/tab-panel/index.mjs.map +1 -1
- package/build-module/{tab → tab-panel}/init.mjs +1 -1
- package/build-module/{tab → tab-panel}/init.mjs.map +1 -1
- package/build-module/{tab → tab-panel}/remove-tab-toolbar-control.mjs +16 -16
- package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +7 -0
- package/build-module/tab-panel/save.mjs +4 -2
- package/build-module/tab-panel/save.mjs.map +2 -2
- package/build-module/tab-panels/block.json +66 -0
- package/build-module/tab-panels/edit.mjs +33 -0
- package/build-module/tab-panels/edit.mjs.map +7 -0
- package/build-module/{tabs-menu-item → tab-panels}/index.mjs +2 -2
- package/build-module/{tabs-menu → tab-panels}/index.mjs.map +2 -2
- package/build-module/tab-panels/save.mjs +12 -0
- package/build-module/tab-panels/save.mjs.map +7 -0
- package/build-module/tabs/block.json +1 -1
- package/build-module/tabs/controls.mjs +2 -2
- package/build-module/tabs/controls.mjs.map +1 -1
- package/build-module/tabs/edit.mjs +24 -19
- package/build-module/tabs/edit.mjs.map +2 -2
- package/build-module/tabs/index.mjs +5 -5
- package/build-module/tabs/index.mjs.map +1 -1
- package/build-module/tabs/use-tab-list-sync.mjs +169 -0
- package/build-module/tabs/use-tab-list-sync.mjs.map +7 -0
- package/build-module/terms-query/edit/inspector-controls/include-control.mjs +1 -1
- package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
- package/build-module/video/tracks-editor.mjs +2 -2
- package/build-module/video/tracks-editor.mjs.map +2 -2
- package/build-style/classic-rtl.css +14 -0
- package/build-style/classic.css +14 -0
- package/build-style/editor-rtl.css +9 -5
- package/build-style/editor.css +9 -5
- package/build-style/style-rtl.css +40 -40
- package/build-style/style.css +40 -40
- package/build-style/tab/editor-rtl.css +11 -0
- package/build-style/tab/editor.css +11 -0
- package/build-style/tab/style-rtl.css +29 -16
- package/build-style/tab/style.css +29 -16
- package/build-style/tab-list/editor-rtl.css +6 -0
- package/build-style/tab-list/editor.css +6 -0
- package/build-style/tab-panel/style-rtl.css +17 -1
- package/build-style/tab-panel/style.css +17 -1
- package/build-style/tab-panels/style-rtl.css +4 -0
- package/build-style/tab-panels/style.css +4 -0
- package/build-style/video/editor-rtl.css +4 -0
- package/build-style/video/editor.css +4 -0
- package/package.json +39 -38
- package/src/accordion/edit.js +0 -2
- package/src/accordion-item/block.json +1 -0
- package/src/categories/edit.js +3 -2
- package/src/classic.scss +25 -0
- package/src/editor.scss +2 -2
- package/src/embed/edit.js +61 -52
- package/src/embed/edit.native.js +71 -57
- package/src/embed/transforms.js +8 -2
- package/src/embed/util.js +17 -0
- package/src/form/block.json +1 -1
- package/src/form-input/block.json +1 -1
- package/src/form-submission-notification/block.json +1 -1
- package/src/form-submit-button/block.json +1 -1
- package/src/image/edit.js +5 -1
- package/src/image/edit.native.js +3 -3
- package/src/image/image.js +30 -5
- package/src/index.js +4 -4
- package/src/math/edit.js +3 -3
- package/src/navigation/edit/accessible-description.js +1 -1
- package/src/navigation/edit/overlay-template-part-selector.js +3 -3
- package/src/navigation-link/edit.js +2 -5
- package/src/navigation-link/link-ui/dialog-wrapper.js +2 -1
- package/src/navigation-link/link-ui/index.js +1 -1
- package/src/post-author/edit.js +3 -5
- package/src/post-comments-form/edit.js +1 -1
- package/src/query/edit/inspector-controls/author-control.js +1 -1
- package/src/query/edit/inspector-controls/format-controls.js +1 -1
- package/src/query/edit/inspector-controls/parent-control.js +1 -1
- package/src/query/edit/inspector-controls/taxonomy-controls.js +1 -1
- package/src/site-logo/edit.js +38 -18
- package/src/style.scss +1 -1
- package/src/tab/block.json +23 -23
- package/src/tab/controls.js +6 -52
- package/src/tab/edit.js +99 -103
- package/src/{tabs-menu-item → tab}/editor.scss +3 -3
- package/src/tab/index.php +32 -51
- package/src/tab/save.js +4 -4
- package/src/tab/style.scss +34 -17
- package/{build/tabs-menu → src/tab-list}/block.json +3 -3
- package/src/{tabs-menu → tab-list}/edit.js +3 -3
- package/src/{tabs-menu → tab-list}/editor.scss +2 -2
- package/src/{tabs-menu → tab-list}/index.js +1 -1
- package/src/tab-list/index.php +80 -0
- package/src/{tab → tab-panel}/add-tab-toolbar-control.js +19 -19
- package/src/tab-panel/block.json +27 -37
- package/src/tab-panel/controls.js +65 -0
- package/src/tab-panel/edit.js +123 -20
- package/src/tab-panel/index.js +1 -1
- package/src/tab-panel/index.php +88 -0
- package/src/{tab → tab-panel}/remove-tab-toolbar-control.js +20 -19
- package/src/tab-panel/save.js +4 -2
- package/src/tab-panel/style.scss +20 -1
- package/src/tab-panels/block.json +66 -0
- package/src/tab-panels/edit.js +42 -0
- package/src/{tabs-menu-item → tab-panels}/index.js +1 -1
- package/src/tab-panels/save.js +11 -0
- package/src/tab-panels/style.scss +4 -0
- package/src/tabs/block.json +1 -1
- package/src/tabs/controls.js +2 -2
- package/src/tabs/edit.js +25 -20
- package/src/tabs/index.js +5 -5
- package/src/tabs/index.php +5 -5
- package/src/tabs/use-tab-list-sync.js +237 -0
- package/src/terms-query/edit/inspector-controls/include-control.js +1 -1
- package/src/video/editor.scss +5 -0
- package/src/video/tracks-editor.js +2 -2
- package/build/tab/add-tab-toolbar-control.cjs.map +0 -7
- package/build/tab/remove-tab-toolbar-control.cjs.map +0 -7
- package/build/tabs/use-tab-menu-sync.cjs.map +0 -7
- package/build/tabs-menu/edit.cjs.map +0 -7
- package/build/tabs-menu-item/block.json +0 -56
- package/build/tabs-menu-item/controls.cjs.map +0 -7
- package/build/tabs-menu-item/edit.cjs +0 -135
- package/build/tabs-menu-item/edit.cjs.map +0 -7
- package/build/tabs-menu-item/index.cjs.map +0 -7
- package/build/tabs-menu-item/save.cjs.map +0 -7
- package/build-module/tab/add-tab-toolbar-control.mjs.map +0 -7
- package/build-module/tab/remove-tab-toolbar-control.mjs.map +0 -7
- package/build-module/tabs/use-tab-menu-sync.mjs +0 -171
- package/build-module/tabs/use-tab-menu-sync.mjs.map +0 -7
- package/build-module/tabs-menu/edit.mjs.map +0 -7
- package/build-module/tabs-menu-item/block.json +0 -56
- package/build-module/tabs-menu-item/controls.mjs +0 -15
- package/build-module/tabs-menu-item/controls.mjs.map +0 -7
- package/build-module/tabs-menu-item/edit.mjs +0 -108
- package/build-module/tabs-menu-item/edit.mjs.map +0 -7
- package/build-module/tabs-menu-item/index.mjs.map +0 -7
- package/build-module/tabs-menu-item/save.mjs +0 -14
- package/build-module/tabs-menu-item/save.mjs.map +0 -7
- package/build-style/tabs-menu/editor-rtl.css +0 -6
- package/build-style/tabs-menu/editor.css +0 -6
- package/build-style/tabs-menu-item/editor-rtl.css +0 -11
- package/build-style/tabs-menu-item/editor.css +0 -11
- package/build-style/tabs-menu-item/style-rtl.css +0 -33
- package/build-style/tabs-menu-item/style.css +0 -33
- package/src/tabs/use-tab-menu-sync.js +0 -239
- package/src/tabs-menu/index.php +0 -80
- package/src/tabs-menu-item/block.json +0 -56
- package/src/tabs-menu-item/controls.js +0 -19
- package/src/tabs-menu-item/edit.js +0 -141
- package/src/tabs-menu-item/index.php +0 -70
- package/src/tabs-menu-item/save.js +0 -13
- package/src/tabs-menu-item/style.scss +0 -40
- /package/src/{tabs-menu → tab-list}/save.js +0 -0
- /package/src/{tab → tab-panel}/init.js +0 -0
|
@@ -4,62 +4,52 @@
|
|
|
4
4
|
"apiVersion": 3,
|
|
5
5
|
"name": "core/tab-panel",
|
|
6
6
|
"title": "Tab Panel",
|
|
7
|
-
"description": "
|
|
7
|
+
"description": "Content for a tab in a tabbed interface.",
|
|
8
8
|
"category": "design",
|
|
9
9
|
"textdomain": "default",
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
"attributes": {
|
|
11
|
+
"label": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"default": ""
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"parent": [ "core/tab-panels" ],
|
|
17
|
+
"usesContext": [
|
|
18
|
+
"core/tabs-activeTabIndex",
|
|
19
|
+
"core/tabs-editorActiveTabIndex",
|
|
20
|
+
"core/tabs-id"
|
|
21
|
+
],
|
|
13
22
|
"supports": {
|
|
14
|
-
"anchor":
|
|
23
|
+
"anchor": true,
|
|
15
24
|
"html": false,
|
|
16
25
|
"reusable": false,
|
|
17
|
-
"visibility": false,
|
|
18
|
-
"lock": false,
|
|
19
|
-
"dimensions": {
|
|
20
|
-
"aspectRatio": false,
|
|
21
|
-
"height": false,
|
|
22
|
-
"minHeight": false,
|
|
23
|
-
"width": false
|
|
24
|
-
},
|
|
25
26
|
"color": {
|
|
26
27
|
"background": true,
|
|
27
28
|
"text": true,
|
|
28
|
-
"heading": true,
|
|
29
|
-
"link": true,
|
|
30
29
|
"__experimentalDefaultControls": {
|
|
31
30
|
"background": true,
|
|
32
31
|
"text": true
|
|
33
32
|
}
|
|
34
33
|
},
|
|
34
|
+
"layout": true,
|
|
35
35
|
"spacing": {
|
|
36
|
-
"blockGap":
|
|
36
|
+
"blockGap": true,
|
|
37
37
|
"padding": true,
|
|
38
|
-
"margin":
|
|
38
|
+
"margin": false
|
|
39
39
|
},
|
|
40
40
|
"typography": {
|
|
41
41
|
"fontSize": true,
|
|
42
|
-
"__experimentalFontFamily": true
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"flexWrap": "nowrap",
|
|
48
|
-
"justifyContent": "stretch",
|
|
49
|
-
"orientation": "vertical"
|
|
50
|
-
},
|
|
51
|
-
"allowSwitching": false,
|
|
52
|
-
"allowVerticalAlignment": false,
|
|
53
|
-
"allowOrientation": false,
|
|
54
|
-
"allowJustification": true,
|
|
55
|
-
"allowSizingOnChildren": false
|
|
42
|
+
"__experimentalFontFamily": true,
|
|
43
|
+
"__experimentalDefaultControls": {
|
|
44
|
+
"fontSize": true,
|
|
45
|
+
"__experimentalFontFamily": true
|
|
46
|
+
}
|
|
56
47
|
},
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
48
|
+
"renaming": true,
|
|
49
|
+
"visibility": false
|
|
50
|
+
},
|
|
51
|
+
"providesContext": {
|
|
52
|
+
"core/tab-label": "label"
|
|
63
53
|
},
|
|
64
54
|
"editorScript": "file:./index.js",
|
|
65
55
|
"style": "file:./style-index.css"
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// packages/block-library/src/tab-panel/controls.js
|
|
31
|
+
var controls_exports = {};
|
|
32
|
+
__export(controls_exports, {
|
|
33
|
+
default: () => Controls
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(controls_exports);
|
|
36
|
+
var import_block_editor = require("@wordpress/block-editor");
|
|
37
|
+
var import_components = require("@wordpress/components");
|
|
38
|
+
var import_i18n = require("@wordpress/i18n");
|
|
39
|
+
var import_data = require("@wordpress/data");
|
|
40
|
+
var import_add_tab_toolbar_control = __toESM(require("./add-tab-toolbar-control.cjs"));
|
|
41
|
+
var import_remove_tab_toolbar_control = __toESM(require("./remove-tab-toolbar-control.cjs"));
|
|
42
|
+
var import_hooks = require("../utils/hooks.cjs");
|
|
43
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
44
|
+
function Controls({ tabsClientId, blockIndex, isDefaultTab }) {
|
|
45
|
+
const { updateBlockAttributes } = (0, import_data.useDispatch)(import_block_editor.store);
|
|
46
|
+
const dropdownMenuProps = (0, import_hooks.useToolsPanelDropdownMenuProps)();
|
|
47
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
48
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_add_tab_toolbar_control.default, { tabsClientId }),
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId }),
|
|
50
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
51
|
+
import_components.__experimentalToolsPanel,
|
|
52
|
+
{
|
|
53
|
+
label: (0, import_i18n.__)("Settings"),
|
|
54
|
+
resetAll: () => {
|
|
55
|
+
updateBlockAttributes(tabsClientId, {
|
|
56
|
+
activeTabIndex: 0
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
dropdownMenuProps,
|
|
60
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
61
|
+
import_components.__experimentalToolsPanelItem,
|
|
62
|
+
{
|
|
63
|
+
label: (0, import_i18n.__)("Default tab"),
|
|
64
|
+
hasValue: () => isDefaultTab && blockIndex !== 0,
|
|
65
|
+
onDeselect: () => {
|
|
66
|
+
updateBlockAttributes(tabsClientId, {
|
|
67
|
+
activeTabIndex: 0
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
isShownByDefault: true,
|
|
71
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
72
|
+
import_components.CheckboxControl,
|
|
73
|
+
{
|
|
74
|
+
label: (0, import_i18n.__)("Default tab"),
|
|
75
|
+
checked: isDefaultTab,
|
|
76
|
+
onChange: (value) => {
|
|
77
|
+
updateBlockAttributes(tabsClientId, {
|
|
78
|
+
activeTabIndex: value ? blockIndex : 0
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
) })
|
|
87
|
+
] });
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=controls.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/tab-panel/controls.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport AddTabToolbarControl from './add-tab-toolbar-control';\nimport RemoveTabToolbarControl from './remove-tab-toolbar-control';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function Controls( { tabsClientId, blockIndex, isDefaultTab } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t<AddTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<RemoveTabToolbarControl tabsClientId={ tabsClientId } />\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\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\t\t\t\tactiveTabIndex: 0,\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\tlabel={ __( 'Default tab' ) }\n\t\t\t\t\t\thasValue={ () => isDefaultTab && blockIndex !== 0 }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\t\t\t\t\tactiveTabIndex: 0,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Default tab' ) }\n\t\t\t\t\t\t\tchecked={ isDefaultTab }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\t\t\t\t\t\tactiveTabIndex: value ? blockIndex : 0,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAGO;AACP,wBAIO;AACP,kBAAmB;AACnB,kBAA4B;AAK5B,qCAAiC;AACjC,wCAAoC;AACpC,mBAA+C;AAO7C;AALa,SAAR,SAA2B,EAAE,cAAc,YAAY,aAAa,GAAI;AAC9E,QAAM,EAAE,sBAAsB,QAAI,yBAAa,oBAAAA,KAAiB;AAChE,QAAM,wBAAoB,6CAA+B;AAEzD,SACC,4EACC;AAAA,gDAAC,+BAAAC,SAAA,EAAqB,cAA8B;AAAA,IACpD,4CAAC,kCAAAC,SAAA,EAAwB,cAA8B;AAAA,IACvD,4CAAC,yCACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,UAAW;AAAA,QACvB,UAAW,MAAM;AAChB,gCAAuB,cAAc;AAAA,YACpC,gBAAgB;AAAA,UACjB,CAAE;AAAA,QACH;AAAA,QACA;AAAA,QAEA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,aAAc;AAAA,YAC1B,UAAW,MAAM,gBAAgB,eAAe;AAAA,YAChD,YAAa,MAAM;AAClB,oCAAuB,cAAc;AAAA,gBACpC,gBAAgB;AAAA,cACjB,CAAE;AAAA,YACH;AAAA,YACA,kBAAgB;AAAA,YAEhB;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,aAAc;AAAA,gBAC1B,SAAU;AAAA,gBACV,UAAW,CAAE,UAAW;AACvB,wCAAuB,cAAc;AAAA,oBACpC,gBAAgB,QAAQ,aAAa;AAAA,kBACtC,CAAE;AAAA,gBACH;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,KACD;AAEF;",
|
|
6
|
+
"names": ["blockEditorStore", "AddTabToolbarControl", "RemoveTabToolbarControl", "ToolsPanel", "ToolsPanelItem"]
|
|
7
|
+
}
|
package/build/tab-panel/edit.cjs
CHANGED
|
@@ -33,28 +33,101 @@ __export(edit_exports, {
|
|
|
33
33
|
default: () => Edit
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(edit_exports);
|
|
36
|
+
var import_i18n = require("@wordpress/i18n");
|
|
36
37
|
var import_block_editor = require("@wordpress/block-editor");
|
|
37
38
|
var import_data = require("@wordpress/data");
|
|
38
|
-
var
|
|
39
|
-
var
|
|
39
|
+
var import_element = require("@wordpress/element");
|
|
40
|
+
var import_controls = __toESM(require("./controls.cjs"));
|
|
40
41
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
42
|
+
var TEMPLATE = [
|
|
43
|
+
[
|
|
44
|
+
"core/paragraph",
|
|
45
|
+
{
|
|
46
|
+
placeholder: (0, import_i18n.__)("Type / to choose a block")
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
];
|
|
50
|
+
var { cancelAnimationFrame } = window;
|
|
51
|
+
function Edit({ clientId, context, isSelected }) {
|
|
52
|
+
const focusRef = (0, import_element.useRef)();
|
|
53
|
+
const activeTabIndex = context["core/tabs-activeTabIndex"];
|
|
54
|
+
const editorActiveTabIndex = context["core/tabs-editorActiveTabIndex"];
|
|
55
|
+
const effectiveActiveIndex = editorActiveTabIndex ?? activeTabIndex;
|
|
56
|
+
(0, import_element.useEffect)(() => {
|
|
57
|
+
return () => {
|
|
58
|
+
if (focusRef.current) {
|
|
59
|
+
cancelAnimationFrame(focusRef.current);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}, []);
|
|
63
|
+
const { blockIndex, hasInnerBlocksSelected, tabsClientId } = (0, import_data.useSelect)(
|
|
64
|
+
(select) => {
|
|
65
|
+
const {
|
|
66
|
+
getBlockRootClientId,
|
|
67
|
+
getBlockIndex,
|
|
68
|
+
hasSelectedInnerBlock
|
|
69
|
+
} = select(import_block_editor.store);
|
|
70
|
+
const tabPanelsClientId = getBlockRootClientId(clientId);
|
|
71
|
+
const _tabsClientId = getBlockRootClientId(tabPanelsClientId);
|
|
72
|
+
const _blockIndex = getBlockIndex(clientId);
|
|
73
|
+
const _hasInnerBlocksSelected = hasSelectedInnerBlock(
|
|
74
|
+
clientId,
|
|
75
|
+
true
|
|
76
|
+
);
|
|
77
|
+
return {
|
|
78
|
+
blockIndex: _blockIndex,
|
|
79
|
+
hasInnerBlocksSelected: _hasInnerBlocksSelected,
|
|
80
|
+
tabsClientId: _tabsClientId
|
|
81
|
+
};
|
|
82
|
+
},
|
|
52
83
|
[clientId]
|
|
53
84
|
);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
85
|
+
const { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } = (0, import_data.useDispatch)(import_block_editor.store);
|
|
86
|
+
(0, import_element.useEffect)(() => {
|
|
87
|
+
const isTabSelected = isSelected || hasInnerBlocksSelected;
|
|
88
|
+
if (isTabSelected && tabsClientId && effectiveActiveIndex !== blockIndex) {
|
|
89
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
90
|
+
updateBlockAttributes(tabsClientId, {
|
|
91
|
+
editorActiveTabIndex: blockIndex
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}, [
|
|
95
|
+
isSelected,
|
|
96
|
+
hasInnerBlocksSelected,
|
|
97
|
+
tabsClientId,
|
|
98
|
+
effectiveActiveIndex,
|
|
99
|
+
blockIndex,
|
|
100
|
+
updateBlockAttributes,
|
|
101
|
+
__unstableMarkNextChangeAsNotPersistent
|
|
102
|
+
]);
|
|
103
|
+
const isActiveTab = effectiveActiveIndex === blockIndex;
|
|
104
|
+
const isDefaultTab = activeTabIndex === blockIndex;
|
|
105
|
+
const isSelectedTab = (0, import_element.useMemo)(() => {
|
|
106
|
+
if (isSelected || hasInnerBlocksSelected) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
if (isActiveTab) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
}, [isSelected, hasInnerBlocksSelected, isActiveTab]);
|
|
114
|
+
const blockProps = (0, import_block_editor.useBlockProps)({
|
|
115
|
+
hidden: !isSelectedTab,
|
|
116
|
+
tabIndex: isSelectedTab ? 0 : -1
|
|
117
|
+
});
|
|
118
|
+
const innerBlocksProps = (0, import_block_editor.useInnerBlocksProps)(blockProps, {
|
|
119
|
+
template: TEMPLATE
|
|
120
|
+
});
|
|
121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { ...innerBlocksProps, children: [
|
|
122
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
123
|
+
import_controls.default,
|
|
124
|
+
{
|
|
125
|
+
tabsClientId,
|
|
126
|
+
blockIndex,
|
|
127
|
+
isDefaultTab
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
isSelectedTab && innerBlocksProps.children
|
|
58
131
|
] });
|
|
59
132
|
}
|
|
60
133
|
//# sourceMappingURL=edit.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tab-panel/edit.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAIO;AACP,
|
|
6
|
-
"names": ["blockEditorStore", "
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useRef, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Controls from './controls';\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to choose a block' ),\n\t\t},\n\t],\n];\n\nconst { cancelAnimationFrame } = window;\n\nexport default function Edit( { clientId, context, isSelected } ) {\n\tconst focusRef = useRef();\n\n\t// Consume tab indices from context\n\tconst activeTabIndex = context[ 'core/tabs-activeTabIndex' ];\n\tconst editorActiveTabIndex = context[ 'core/tabs-editorActiveTabIndex' ];\n\tconst effectiveActiveIndex = editorActiveTabIndex ?? activeTabIndex;\n\n\t// Clean up animation frames on unmount.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( focusRef.current ) {\n\t\t\t\tcancelAnimationFrame( focusRef.current );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst { blockIndex, hasInnerBlocksSelected, tabsClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\t// Get the tab-panel parent first\n\t\t\tconst tabPanelsClientId = getBlockRootClientId( clientId );\n\t\t\t// Then get the tabs parent\n\t\t\tconst _tabsClientId = getBlockRootClientId( tabPanelsClientId );\n\n\t\t\t// Get data about this instance of core/tab.\n\t\t\tconst _blockIndex = getBlockIndex( clientId );\n\t\t\tconst _hasInnerBlocksSelected = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tblockIndex: _blockIndex,\n\t\t\t\thasInnerBlocksSelected: _hasInnerBlocksSelected,\n\t\t\t\ttabsClientId: _tabsClientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Sync editorActiveTabIndex when this tab is selected directly\n\tuseEffect( () => {\n\t\t// Only update if this tab is selected and not already the active index\n\t\tconst isTabSelected = isSelected || hasInnerBlocksSelected;\n\t\tif (\n\t\t\tisTabSelected &&\n\t\t\ttabsClientId &&\n\t\t\teffectiveActiveIndex !== blockIndex\n\t\t) {\n\t\t\t// Mark as non-persistent so it doesn't add to undo history\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\teditorActiveTabIndex: blockIndex,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\thasInnerBlocksSelected,\n\t\ttabsClientId,\n\t\teffectiveActiveIndex,\n\t\tblockIndex,\n\t\tupdateBlockAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\t// Determine if this is the currently active tab (for editor visibility)\n\tconst isActiveTab = effectiveActiveIndex === blockIndex;\n\n\t// Determine if this is the default tab (for the \"Default Tab\" toggle in controls)\n\tconst isDefaultTab = activeTabIndex === blockIndex;\n\n\t/**\n\t * This hook determines if the current tab panel should be visible.\n\t * This is true if it is the editor active tab, or if it is selected directly.\n\t */\n\tconst isSelectedTab = useMemo( () => {\n\t\t// Show if this tab is directly selected or has selected inner blocks\n\t\tif ( isSelected || hasInnerBlocksSelected ) {\n\t\t\treturn true;\n\t\t}\n\t\t// Always show the active tab (at effectiveActiveIndex) regardless of other selection state.\n\t\t// This ensures the tab panel remains visible when editing labels in tab-list.\n\t\tif ( isActiveTab ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}, [ isSelected, hasInnerBlocksSelected, isActiveTab ] );\n\n\tconst blockProps = useBlockProps( {\n\t\thidden: ! isSelectedTab,\n\t\ttabIndex: isSelectedTab ? 0 : -1,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\treturn (\n\t\t<section { ...innerBlocksProps }>\n\t\t\t<Controls\n\t\t\t\ttabsClientId={ tabsClientId }\n\t\t\t\tblockIndex={ blockIndex }\n\t\t\t\tisDefaultTab={ isDefaultTab }\n\t\t\t/>\n\t\t\t{ isSelectedTab && innerBlocksProps.children }\n\t\t</section>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,0BAIO;AACP,kBAAuC;AACvC,qBAA2C;AAK3C,sBAAqB;AAwHnB;AAtHF,IAAM,WAAW;AAAA,EAChB;AAAA,IACC;AAAA,IACA;AAAA,MACC,iBAAa,gBAAI,0BAA2B;AAAA,IAC7C;AAAA,EACD;AACD;AAEA,IAAM,EAAE,qBAAqB,IAAI;AAElB,SAAR,KAAuB,EAAE,UAAU,SAAS,WAAW,GAAI;AACjE,QAAM,eAAW,uBAAO;AAGxB,QAAM,iBAAiB,QAAS,0BAA2B;AAC3D,QAAM,uBAAuB,QAAS,gCAAiC;AACvE,QAAM,uBAAuB,wBAAwB;AAGrD,gCAAW,MAAM;AAChB,WAAO,MAAM;AACZ,UAAK,SAAS,SAAU;AACvB,6BAAsB,SAAS,OAAQ;AAAA,MACxC;AAAA,IACD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,EAAE,YAAY,wBAAwB,aAAa,QAAI;AAAA,IAC5D,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,oBAAAA,KAAiB;AAG7B,YAAM,oBAAoB,qBAAsB,QAAS;AAEzD,YAAM,gBAAgB,qBAAsB,iBAAkB;AAG9D,YAAM,cAAc,cAAe,QAAS;AAC5C,YAAM,0BAA0B;AAAA,QAC/B;AAAA,QACA;AAAA,MACD;AAEA,aAAO;AAAA,QACN,YAAY;AAAA,QACZ,wBAAwB;AAAA,QACxB,cAAc;AAAA,MACf;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,QAAM,EAAE,uBAAuB,wCAAwC,QACtE,yBAAa,oBAAAA,KAAiB;AAG/B,gCAAW,MAAM;AAEhB,UAAM,gBAAgB,cAAc;AACpC,QACC,iBACA,gBACA,yBAAyB,YACxB;AAED,8CAAwC;AACxC,4BAAuB,cAAc;AAAA,QACpC,sBAAsB;AAAA,MACvB,CAAE;AAAA,IACH;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAGF,QAAM,cAAc,yBAAyB;AAG7C,QAAM,eAAe,mBAAmB;AAMxC,QAAM,oBAAgB,wBAAS,MAAM;AAEpC,QAAK,cAAc,wBAAyB;AAC3C,aAAO;AAAA,IACR;AAGA,QAAK,aAAc;AAClB,aAAO;AAAA,IACR;AACA,WAAO;AAAA,EACR,GAAG,CAAE,YAAY,wBAAwB,WAAY,CAAE;AAEvD,QAAM,iBAAa,mCAAe;AAAA,IACjC,QAAQ,CAAE;AAAA,IACV,UAAU,gBAAgB,IAAI;AAAA,EAC/B,CAAE;AAEF,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD,UAAU;AAAA,EACX,CAAE;AAEF,SACC,6CAAC,aAAU,GAAG,kBACb;AAAA;AAAA,MAAC,gBAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IACE,iBAAiB,iBAAiB;AAAA,KACrC;AAEF;",
|
|
6
|
+
"names": ["blockEditorStore", "Controls"]
|
|
7
7
|
}
|
|
@@ -43,7 +43,7 @@ var import_save = __toESM(require("./save.cjs"));
|
|
|
43
43
|
var import_block = __toESM(require("./block.json"));
|
|
44
44
|
var { name } = import_block.default;
|
|
45
45
|
var settings = {
|
|
46
|
-
icon: import_icons.
|
|
46
|
+
icon: import_icons.tabPanel,
|
|
47
47
|
edit: import_edit.default,
|
|
48
48
|
save: import_save.default
|
|
49
49
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tab-panel/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { tabPanel as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAAiC;AAKjC,wBAAsB;AACtB,kBAAiB;AACjB,kBAAiB;AACjB,mBAAqB;AAErB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
|
|
6
6
|
"names": ["metadata", "icon", "edit", "save", "initBlock", "metadata"]
|
|
7
7
|
}
|
|
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
|
-
// packages/block-library/src/tab/init.js
|
|
20
|
+
// packages/block-library/src/tab-panel/init.js
|
|
21
21
|
var init_exports = {};
|
|
22
22
|
__export(init_exports, {
|
|
23
23
|
default: () => init_default
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/tab/init.js"],
|
|
3
|
+
"sources": ["../../src/tab-panel/init.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,eAAqB;AAErB,IAAO,mBAAQ,eAAK;",
|
|
6
6
|
"names": []
|
|
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
|
-
// packages/block-library/src/tab/remove-tab-toolbar-control.js
|
|
20
|
+
// packages/block-library/src/tab-panel/remove-tab-toolbar-control.js
|
|
21
21
|
var remove_tab_toolbar_control_exports = {};
|
|
22
22
|
__export(remove_tab_toolbar_control_exports, {
|
|
23
23
|
default: () => RemoveTabToolbarControl
|
|
@@ -36,16 +36,16 @@ function RemoveTabToolbarControl({ tabsClientId }) {
|
|
|
36
36
|
__unstableMarkNextChangeAsNotPersistent
|
|
37
37
|
} = (0, import_data.useDispatch)(import_block_editor.store);
|
|
38
38
|
const {
|
|
39
|
+
activeTabPanelClientId,
|
|
39
40
|
activeTabClientId,
|
|
40
|
-
activeMenuItemClientId,
|
|
41
41
|
tabCount,
|
|
42
42
|
editorActiveTabIndex
|
|
43
43
|
} = (0, import_data.useSelect)(
|
|
44
44
|
(select) => {
|
|
45
45
|
if (!tabsClientId) {
|
|
46
46
|
return {
|
|
47
|
+
activeTabPanelClientId: null,
|
|
47
48
|
activeTabClientId: null,
|
|
48
|
-
activeMenuItemClientId: null,
|
|
49
49
|
tabCount: 0,
|
|
50
50
|
editorActiveTabIndex: 0
|
|
51
51
|
};
|
|
@@ -54,19 +54,19 @@ function RemoveTabToolbarControl({ tabsClientId }) {
|
|
|
54
54
|
const tabsAttributes = getBlockAttributes(tabsClientId);
|
|
55
55
|
const activeIndex = tabsAttributes?.editorActiveTabIndex ?? tabsAttributes?.activeTabIndex ?? 0;
|
|
56
56
|
const innerBlocks = getBlocks(tabsClientId);
|
|
57
|
-
const
|
|
58
|
-
(block) => block.name === "core/tab-
|
|
57
|
+
const tabPanels = innerBlocks.find(
|
|
58
|
+
(block) => block.name === "core/tab-panels"
|
|
59
59
|
);
|
|
60
|
-
const
|
|
61
|
-
(block) => block.name === "core/
|
|
60
|
+
const tabList = innerBlocks.find(
|
|
61
|
+
(block) => block.name === "core/tab-list"
|
|
62
62
|
);
|
|
63
|
-
const
|
|
64
|
-
const
|
|
63
|
+
const tabPanelBlocks = tabPanels?.innerBlocks || [];
|
|
64
|
+
const tabs = tabList?.innerBlocks || [];
|
|
65
|
+
const activeTabPanel = tabPanelBlocks[activeIndex];
|
|
65
66
|
const activeTab = tabs[activeIndex];
|
|
66
|
-
const activeMenuItem = menuItems[activeIndex];
|
|
67
67
|
return {
|
|
68
|
+
activeTabPanelClientId: activeTabPanel?.clientId || null,
|
|
68
69
|
activeTabClientId: activeTab?.clientId || null,
|
|
69
|
-
activeMenuItemClientId: activeMenuItem?.clientId || null,
|
|
70
70
|
tabCount: tabs.length,
|
|
71
71
|
editorActiveTabIndex: activeIndex
|
|
72
72
|
};
|
|
@@ -74,7 +74,7 @@ function RemoveTabToolbarControl({ tabsClientId }) {
|
|
|
74
74
|
[tabsClientId]
|
|
75
75
|
);
|
|
76
76
|
const removeTab = () => {
|
|
77
|
-
if (!
|
|
77
|
+
if (!activeTabPanelClientId || tabCount <= 1) {
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
const newActiveIndex = editorActiveTabIndex >= tabCount - 1 ? tabCount - 2 : editorActiveTabIndex;
|
|
@@ -82,15 +82,15 @@ function RemoveTabToolbarControl({ tabsClientId }) {
|
|
|
82
82
|
updateBlockAttributes(tabsClientId, {
|
|
83
83
|
editorActiveTabIndex: newActiveIndex
|
|
84
84
|
});
|
|
85
|
-
removeBlock(
|
|
86
|
-
if (
|
|
87
|
-
removeBlock(
|
|
85
|
+
removeBlock(activeTabPanelClientId, false);
|
|
86
|
+
if (activeTabClientId) {
|
|
87
|
+
removeBlock(activeTabClientId, false);
|
|
88
88
|
}
|
|
89
89
|
if (tabsClientId) {
|
|
90
90
|
selectBlock(tabsClientId);
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
-
const isDisabled = tabCount <= 1 || !
|
|
93
|
+
const isDisabled = tabCount <= 1 || !activeTabPanelClientId;
|
|
94
94
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
95
95
|
import_components.ToolbarButton,
|
|
96
96
|
{
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/tab-panel/remove-tab-toolbar-control.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * \"Remove Tab\" button in the block toolbar for the tabs block.\n * Removes the currently active core/tab-panel and its corresponding\n * core/tab, keeping both in sync.\n *\n * @param {Object} props\n * @param {string} props.tabsClientId The client ID of the parent tabs block.\n * @return {React.JSX.Element} The toolbar control element.\n */\nexport default function RemoveTabToolbarControl( { tabsClientId } ) {\n\tconst {\n\t\tremoveBlock,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst {\n\t\tactiveTabPanelClientId,\n\t\tactiveTabClientId,\n\t\ttabCount,\n\t\teditorActiveTabIndex,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! tabsClientId ) {\n\t\t\t\treturn {\n\t\t\t\t\tactiveTabPanelClientId: null,\n\t\t\t\t\tactiveTabClientId: null,\n\t\t\t\t\ttabCount: 0,\n\t\t\t\t\teditorActiveTabIndex: 0,\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst tabsAttributes = getBlockAttributes( tabsClientId );\n\t\t\tconst activeIndex =\n\t\t\t\ttabsAttributes?.editorActiveTabIndex ??\n\t\t\t\ttabsAttributes?.activeTabIndex ??\n\t\t\t\t0;\n\t\t\tconst innerBlocks = getBlocks( tabsClientId );\n\t\t\tconst tabPanels = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-panels'\n\t\t\t);\n\t\t\tconst tabList = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-list'\n\t\t\t);\n\t\t\tconst tabPanelBlocks = tabPanels?.innerBlocks || [];\n\t\t\tconst tabs = tabList?.innerBlocks || [];\n\t\t\tconst activeTabPanel = tabPanelBlocks[ activeIndex ];\n\t\t\tconst activeTab = tabs[ activeIndex ];\n\n\t\t\treturn {\n\t\t\t\tactiveTabPanelClientId: activeTabPanel?.clientId || null,\n\t\t\t\tactiveTabClientId: activeTab?.clientId || null,\n\t\t\t\ttabCount: tabs.length,\n\t\t\t\teditorActiveTabIndex: activeIndex,\n\t\t\t};\n\t\t},\n\t\t[ tabsClientId ]\n\t);\n\n\tconst removeTab = () => {\n\t\tif ( ! activeTabPanelClientId || tabCount <= 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate new active index after removal.\n\t\tconst newActiveIndex =\n\t\t\teditorActiveTabIndex >= tabCount - 1\n\t\t\t\t? tabCount - 2\n\t\t\t\t: editorActiveTabIndex;\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\teditorActiveTabIndex: newActiveIndex,\n\t\t} );\n\n\t\t// Remove the tab panel and corresponding tab\n\t\tremoveBlock( activeTabPanelClientId, false );\n\t\tif ( activeTabClientId ) {\n\t\t\tremoveBlock( activeTabClientId, false );\n\t\t}\n\n\t\tif ( tabsClientId ) {\n\t\t\tselectBlock( tabsClientId );\n\t\t}\n\t};\n\n\tconst isDisabled = tabCount <= 1 || ! activeTabPanelClientId;\n\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\tonClick={ removeTab }\n\t\t\t\t\ttext={ __( 'Remove tab' ) }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAGO;AACP,wBAA4C;AAC5C,kBAAmB;AACnB,kBAAuC;AA+FnC;AApFW,SAAR,wBAA0C,EAAE,aAAa,GAAI;AACnE,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,yBAAa,oBAAAA,KAAiB;AAElC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI;AAAA,IACH,CAAE,WAAY;AACb,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,UACN,wBAAwB;AAAA,UACxB,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,sBAAsB;AAAA,QACvB;AAAA,MACD;AACA,YAAM,EAAE,WAAW,mBAAmB,IACrC,OAAQ,oBAAAA,KAAiB;AAC1B,YAAM,iBAAiB,mBAAoB,YAAa;AACxD,YAAM,cACL,gBAAgB,wBAChB,gBAAgB,kBAChB;AACD,YAAM,cAAc,UAAW,YAAa;AAC5C,YAAM,YAAY,YAAY;AAAA,QAC7B,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AACA,YAAM,UAAU,YAAY;AAAA,QAC3B,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AACA,YAAM,iBAAiB,WAAW,eAAe,CAAC;AAClD,YAAM,OAAO,SAAS,eAAe,CAAC;AACtC,YAAM,iBAAiB,eAAgB,WAAY;AACnD,YAAM,YAAY,KAAM,WAAY;AAEpC,aAAO;AAAA,QACN,wBAAwB,gBAAgB,YAAY;AAAA,QACpD,mBAAmB,WAAW,YAAY;AAAA,QAC1C,UAAU,KAAK;AAAA,QACf,sBAAsB;AAAA,MACvB;AAAA,IACD;AAAA,IACA,CAAE,YAAa;AAAA,EAChB;AAEA,QAAM,YAAY,MAAM;AACvB,QAAK,CAAE,0BAA0B,YAAY,GAAI;AAChD;AAAA,IACD;AAGA,UAAM,iBACL,wBAAwB,WAAW,IAChC,WAAW,IACX;AAEJ,4CAAwC;AACxC,0BAAuB,cAAc;AAAA,MACpC,sBAAsB;AAAA,IACvB,CAAE;AAGF,gBAAa,wBAAwB,KAAM;AAC3C,QAAK,mBAAoB;AACxB,kBAAa,mBAAmB,KAAM;AAAA,IACvC;AAEA,QAAK,cAAe;AACnB,kBAAa,YAAa;AAAA,IAC3B;AAAA,EACD;AAEA,QAAM,aAAa,YAAY,KAAK,CAAE;AAEtC,SACC,4CAAC,qCAAc,OAAM,SACpB,sDAAC,kCACA;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,SAAU;AAAA,MACV,UAAO,gBAAI,YAAa;AAAA,MACxB,UAAW;AAAA;AAAA,EACZ,GACD,GACD;AAEF;",
|
|
6
|
+
"names": ["blockEditorStore"]
|
|
7
|
+
}
|
package/build/tab-panel/save.cjs
CHANGED
|
@@ -26,8 +26,10 @@ 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
28
|
function save() {
|
|
29
|
-
const blockProps = import_block_editor.useBlockProps.save(
|
|
29
|
+
const blockProps = import_block_editor.useBlockProps.save({
|
|
30
|
+
role: "tabpanel"
|
|
31
|
+
});
|
|
30
32
|
const innerBlocksProps = import_block_editor.useInnerBlocksProps.save(blockProps);
|
|
31
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
33
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", { ...innerBlocksProps });
|
|
32
34
|
}
|
|
33
35
|
//# sourceMappingURL=save.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tab-panel/save.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function save() {\n\tconst blockProps = useBlockProps.save();\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn <
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function save() {\n\tconst blockProps = useBlockProps.save( {\n\t\trole: 'tabpanel',\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn <section { ...innerBlocksProps } />;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;AAQ3C;AANO,SAAR,OAAwB;AAC9B,QAAM,aAAa,kCAAc,KAAM;AAAA,IACtC,MAAM;AAAA,EACP,CAAE;AACF,QAAM,mBAAmB,wCAAoB,KAAM,UAAW;AAE9D,SAAO,4CAAC,aAAU,GAAG,kBAAmB;AACzC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schemas.wp.org/trunk/block.json",
|
|
3
|
+
"__experimental": true,
|
|
4
|
+
"apiVersion": 3,
|
|
5
|
+
"name": "core/tab-panels",
|
|
6
|
+
"title": "Tab Panels",
|
|
7
|
+
"description": "Container for tab panel content in a tabbed interface.",
|
|
8
|
+
"category": "design",
|
|
9
|
+
"textdomain": "default",
|
|
10
|
+
"parent": [ "core/tabs" ],
|
|
11
|
+
"allowedBlocks": [ "core/tab-panel" ],
|
|
12
|
+
"attributes": {},
|
|
13
|
+
"supports": {
|
|
14
|
+
"anchor": false,
|
|
15
|
+
"html": false,
|
|
16
|
+
"reusable": false,
|
|
17
|
+
"visibility": false,
|
|
18
|
+
"lock": false,
|
|
19
|
+
"dimensions": {
|
|
20
|
+
"aspectRatio": false,
|
|
21
|
+
"height": false,
|
|
22
|
+
"minHeight": false,
|
|
23
|
+
"width": false
|
|
24
|
+
},
|
|
25
|
+
"color": {
|
|
26
|
+
"background": true,
|
|
27
|
+
"text": true,
|
|
28
|
+
"heading": true,
|
|
29
|
+
"link": true,
|
|
30
|
+
"__experimentalDefaultControls": {
|
|
31
|
+
"background": true,
|
|
32
|
+
"text": true
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"spacing": {
|
|
36
|
+
"blockGap": false,
|
|
37
|
+
"padding": true,
|
|
38
|
+
"margin": true
|
|
39
|
+
},
|
|
40
|
+
"typography": {
|
|
41
|
+
"fontSize": true,
|
|
42
|
+
"__experimentalFontFamily": true
|
|
43
|
+
},
|
|
44
|
+
"layout": {
|
|
45
|
+
"default": {
|
|
46
|
+
"type": "flex",
|
|
47
|
+
"flexWrap": "nowrap",
|
|
48
|
+
"justifyContent": "stretch",
|
|
49
|
+
"orientation": "vertical"
|
|
50
|
+
},
|
|
51
|
+
"allowSwitching": false,
|
|
52
|
+
"allowVerticalAlignment": false,
|
|
53
|
+
"allowOrientation": false,
|
|
54
|
+
"allowJustification": true,
|
|
55
|
+
"allowSizingOnChildren": false
|
|
56
|
+
},
|
|
57
|
+
"__experimentalBorder": {
|
|
58
|
+
"radius": true,
|
|
59
|
+
"color": true,
|
|
60
|
+
"width": true,
|
|
61
|
+
"style": true
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"editorScript": "file:./index.js",
|
|
65
|
+
"style": "file:./style-index.css"
|
|
66
|
+
}
|
|
@@ -27,20 +27,34 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// packages/block-library/src/
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
33
|
-
default: () =>
|
|
30
|
+
// packages/block-library/src/tab-panels/edit.js
|
|
31
|
+
var edit_exports = {};
|
|
32
|
+
__export(edit_exports, {
|
|
33
|
+
default: () => Edit
|
|
34
34
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(edit_exports);
|
|
36
36
|
var import_block_editor = require("@wordpress/block-editor");
|
|
37
|
-
var
|
|
38
|
-
var
|
|
37
|
+
var import_data = require("@wordpress/data");
|
|
38
|
+
var import_add_tab_toolbar_control = __toESM(require("../tab-panel/add-tab-toolbar-control.cjs"));
|
|
39
|
+
var import_remove_tab_toolbar_control = __toESM(require("../tab-panel/remove-tab-toolbar-control.cjs"));
|
|
39
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
var TAB_PANELS_TEMPLATE = [["core/tab-panel", {}]];
|
|
42
|
+
function Edit({ clientId }) {
|
|
43
|
+
const blockProps = (0, import_block_editor.useBlockProps)();
|
|
44
|
+
const innerBlocksProps = (0, import_block_editor.useInnerBlocksProps)(blockProps, {
|
|
45
|
+
template: TAB_PANELS_TEMPLATE,
|
|
46
|
+
templateLock: false,
|
|
47
|
+
renderAppender: false
|
|
48
|
+
// Appender handled by individual tab blocks
|
|
49
|
+
});
|
|
50
|
+
const tabsClientId = (0, import_data.useSelect)(
|
|
51
|
+
(select) => select(import_block_editor.store).getBlockRootClientId(clientId),
|
|
52
|
+
[clientId]
|
|
53
|
+
);
|
|
54
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
42
55
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_add_tab_toolbar_control.default, { tabsClientId }),
|
|
43
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId })
|
|
56
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId }),
|
|
57
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...innerBlocksProps })
|
|
44
58
|
] });
|
|
45
59
|
}
|
|
46
|
-
//# sourceMappingURL=
|
|
60
|
+
//# sourceMappingURL=edit.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/tab-panels/edit.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport AddTabToolbarControl from '../tab-panel/add-tab-toolbar-control';\nimport RemoveTabToolbarControl from '../tab-panel/remove-tab-toolbar-control';\n\nconst TAB_PANELS_TEMPLATE = [ [ 'core/tab-panel', {} ] ];\n\nexport default function Edit( { clientId } ) {\n\tconst blockProps = useBlockProps();\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TAB_PANELS_TEMPLATE,\n\t\ttemplateLock: false,\n\t\trenderAppender: false, // Appender handled by individual tab blocks\n\t} );\n\n\t// Get the parent tabs block clientId\n\tconst tabsClientId = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockRootClientId( clientId ),\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<AddTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<RemoveTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAIO;AACP,kBAA0B;AAK1B,qCAAiC;AACjC,wCAAoC;AAqBlC;AAnBF,IAAM,sBAAsB,CAAE,CAAE,kBAAkB,CAAC,CAAE,CAAE;AAExC,SAAR,KAAuB,EAAE,SAAS,GAAI;AAC5C,QAAM,iBAAa,mCAAc;AAEjC,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD,UAAU;AAAA,IACV,cAAc;AAAA,IACd,gBAAgB;AAAA;AAAA,EACjB,CAAE;AAGF,QAAM,mBAAe;AAAA,IACpB,CAAE,WACD,OAAQ,oBAAAA,KAAiB,EAAE,qBAAsB,QAAS;AAAA,IAC3D,CAAE,QAAS;AAAA,EACZ;AAEA,SACC,4EACC;AAAA,gDAAC,+BAAAC,SAAA,EAAqB,cAA8B;AAAA,IACpD,4CAAC,kCAAAC,SAAA,EAAwB,cAA8B;AAAA,IACvD,4CAAC,SAAM,GAAG,kBAAmB;AAAA,KAC9B;AAEF;",
|
|
6
|
+
"names": ["blockEditorStore", "AddTabToolbarControl", "RemoveTabToolbarControl"]
|
|
7
|
+
}
|