@wordpress/block-library 9.27.1-next.46f643fa0.0 → 9.28.1-next.0f6f9d12c.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-header/edit.js +118 -0
- package/build/accordion-header/edit.js.map +1 -0
- package/build/accordion-header/index.js +124 -0
- package/build/accordion-header/index.js.map +1 -0
- package/build/accordion-header/init.js +12 -0
- package/build/accordion-header/init.js.map +1 -0
- package/build/accordion-header/save.js +81 -0
- package/build/accordion-header/save.js.map +1 -0
- package/build/accordion-item/edit.js +129 -0
- package/build/accordion-item/edit.js.map +1 -0
- package/build/accordion-item/icons.js +30 -0
- package/build/accordion-item/icons.js.map +1 -0
- package/build/accordion-item/index.js +79 -0
- package/build/accordion-item/index.js.map +1 -0
- package/build/accordion-item/init.js +12 -0
- package/build/accordion-item/init.js.map +1 -0
- package/build/accordion-item/save.js +37 -0
- package/build/accordion-item/save.js.map +1 -0
- package/build/accordion-panel/edit.js +59 -0
- package/build/accordion-panel/edit.js.map +1 -0
- package/build/accordion-panel/index.js +108 -0
- package/build/accordion-panel/index.js.map +1 -0
- package/build/accordion-panel/init.js +12 -0
- package/build/accordion-panel/init.js.map +1 -0
- package/build/accordion-panel/save.js +46 -0
- package/build/accordion-panel/save.js.map +1 -0
- package/build/accordions/edit.js +123 -0
- package/build/accordions/edit.js.map +1 -0
- package/build/accordions/index.js +103 -0
- package/build/accordions/index.js.map +1 -0
- package/build/accordions/init.js +12 -0
- package/build/accordions/init.js.map +1 -0
- package/build/accordions/save.js +36 -0
- package/build/accordions/save.js.map +1 -0
- package/build/accordions/view.js +49 -0
- package/build/accordions/view.js.map +1 -0
- package/build/cover/edit/index.js +1 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/index.js +2 -1
- package/build/cover/index.js.map +1 -1
- package/build/file/edit.js +4 -2
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/transforms.js +6 -6
- package/build/file/transforms.js.map +1 -1
- package/build/file/utils/index.js +5 -0
- package/build/file/utils/index.js.map +1 -1
- package/build/freeform/edit.js +6 -0
- package/build/freeform/edit.js.map +1 -1
- package/build/gallery/use-get-media.js +3 -3
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +3 -3
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/image/edit.native.js +2 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +1 -1
- package/build/image/image.js.map +1 -1
- package/build/index.js +10 -0
- package/build/index.js.map +1 -1
- package/build/list-item/edit.js +3 -0
- package/build/list-item/edit.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.js +2 -1
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/transforms.js +7 -3
- package/build/media-text/transforms.js.map +1 -1
- package/build/more/edit.js +13 -28
- package/build/more/edit.js.map +1 -1
- package/build/post-comments-count/index.js +3 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-link/index.js +3 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-featured-image/edit.js +2 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/query-title/edit.js +52 -2
- package/build/query-title/edit.js.map +1 -1
- package/build/query-title/index.js +1 -0
- package/build/query-title/index.js.map +1 -1
- package/build/query-title/use-post-type-label.js +42 -0
- package/build/query-title/use-post-type-label.js.map +1 -0
- package/build/query-title/variations.js +10 -0
- package/build/query-title/variations.js.map +1 -1
- package/build/site-logo/edit.js +58 -43
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/edit.js +9 -3
- package/build/site-title/edit.js.map +1 -1
- package/build/social-link/icons/tiktok.js +2 -2
- package/build/social-link/icons/tiktok.js.map +1 -1
- package/build/utils/poster-image.js +54 -6
- package/build/utils/poster-image.js.map +1 -1
- package/build-module/accordion-header/edit.js +108 -0
- package/build-module/accordion-header/edit.js.map +1 -0
- package/build-module/accordion-header/index.js +116 -0
- package/build-module/accordion-header/index.js.map +1 -0
- package/build-module/accordion-header/init.js +6 -0
- package/build-module/accordion-header/init.js.map +1 -0
- package/build-module/accordion-header/save.js +71 -0
- package/build-module/accordion-header/save.js.map +1 -0
- package/build-module/accordion-item/edit.js +120 -0
- package/build-module/accordion-item/edit.js.map +1 -0
- package/build-module/accordion-item/icons.js +22 -0
- package/build-module/accordion-item/icons.js.map +1 -0
- package/build-module/accordion-item/index.js +71 -0
- package/build-module/accordion-item/index.js.map +1 -0
- package/build-module/accordion-item/init.js +6 -0
- package/build-module/accordion-item/init.js.map +1 -0
- package/build-module/accordion-item/save.js +28 -0
- package/build-module/accordion-item/save.js.map +1 -0
- package/build-module/accordion-panel/edit.js +50 -0
- package/build-module/accordion-panel/edit.js.map +1 -0
- package/build-module/accordion-panel/index.js +100 -0
- package/build-module/accordion-panel/index.js.map +1 -0
- package/build-module/accordion-panel/init.js +6 -0
- package/build-module/accordion-panel/init.js.map +1 -0
- package/build-module/accordion-panel/save.js +37 -0
- package/build-module/accordion-panel/save.js.map +1 -0
- package/build-module/accordions/edit.js +116 -0
- package/build-module/accordions/edit.js.map +1 -0
- package/build-module/accordions/index.js +95 -0
- package/build-module/accordions/index.js.map +1 -0
- package/build-module/accordions/init.js +6 -0
- package/build-module/accordions/init.js.map +1 -0
- package/build-module/accordions/save.js +27 -0
- package/build-module/accordions/save.js.map +1 -0
- package/build-module/accordions/view.js +46 -0
- package/build-module/accordions/view.js.map +1 -0
- package/build-module/cover/edit/index.js +1 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/index.js +2 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/file/edit.js +4 -2
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/transforms.js +6 -6
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/file/utils/index.js +5 -0
- package/build-module/file/utils/index.js.map +1 -1
- package/build-module/freeform/edit.js +6 -0
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/gallery/use-get-media.js +3 -3
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +3 -3
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/image/edit.native.js +2 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +1 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +10 -0
- package/build-module/index.js.map +1 -1
- package/build-module/list-item/edit.js +3 -0
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.js +2 -1
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/transforms.js +7 -3
- package/build-module/media-text/transforms.js.map +1 -1
- package/build-module/more/edit.js +15 -29
- package/build-module/more/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +3 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +3 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +2 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/query-title/edit.js +52 -2
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +1 -0
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/query-title/use-post-type-label.js +36 -0
- package/build-module/query-title/use-post-type-label.js.map +1 -0
- package/build-module/query-title/variations.js +10 -0
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/site-logo/edit.js +59 -44
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/edit.js +10 -4
- package/build-module/site-title/edit.js.map +1 -1
- package/build-module/social-link/icons/tiktok.js +2 -2
- package/build-module/social-link/icons/tiktok.js.map +1 -1
- package/build-module/utils/poster-image.js +57 -9
- package/build-module/utils/poster-image.js.map +1 -1
- package/build-style/accordions/style-rtl.css +223 -0
- package/build-style/accordions/style.css +223 -0
- package/build-style/editor-rtl.css +23 -26
- package/build-style/editor.css +23 -26
- package/build-style/gallery/style-rtl.css +1 -2
- package/build-style/gallery/style.css +1 -2
- package/build-style/image/style-rtl.css +1 -2
- package/build-style/image/style.css +1 -2
- package/build-style/more/editor-rtl.css +3 -11
- package/build-style/more/editor.css +3 -11
- package/build-style/post-featured-image/editor-rtl.css +1 -2
- package/build-style/post-featured-image/editor.css +1 -2
- package/build-style/style-rtl.css +90 -4
- package/build-style/style.css +90 -4
- package/package.json +36 -35
- package/src/accordion-header/block.json +93 -0
- package/src/accordion-header/edit.js +128 -0
- package/src/accordion-header/index.js +24 -0
- package/src/accordion-header/init.js +6 -0
- package/src/accordion-header/save.js +79 -0
- package/src/accordion-item/block.json +45 -0
- package/src/accordion-item/edit.js +149 -0
- package/src/accordion-item/icons.js +23 -0
- package/src/accordion-item/index.js +24 -0
- package/src/accordion-item/index.php +73 -0
- package/src/accordion-item/init.js +6 -0
- package/src/accordion-item/save.js +25 -0
- package/src/accordion-panel/block.json +74 -0
- package/src/accordion-panel/edit.js +61 -0
- package/src/accordion-panel/index.js +24 -0
- package/src/accordion-panel/init.js +6 -0
- package/src/accordion-panel/save.js +51 -0
- package/src/accordions/block.json +69 -0
- package/src/accordions/edit.js +133 -0
- package/src/accordions/index.js +24 -0
- package/src/accordions/index.php +61 -0
- package/src/accordions/init.js +6 -0
- package/src/accordions/save.js +23 -0
- package/src/accordions/style.scss +91 -0
- package/src/accordions/view.js +38 -0
- package/src/block/index.php +35 -20
- package/src/cover/block.json +2 -1
- package/src/cover/edit/index.js +8 -3
- package/src/cover/edit/inspector-controls.js +6 -1
- package/src/file/edit.js +9 -4
- package/src/file/edit.native.js +5 -1
- package/src/file/index.php +28 -22
- package/src/file/transforms.js +6 -6
- package/src/file/utils/index.js +5 -0
- package/src/form-input/index.php +4 -2
- package/src/freeform/edit.js +7 -0
- package/src/gallery/use-get-media.js +9 -5
- package/src/gallery/use-get-media.native.js +10 -6
- package/src/image/edit.native.js +4 -2
- package/src/image/image.js +6 -1
- package/src/image/index.php +1 -1
- package/src/image/test/edit.native.js +16 -10
- package/src/index.js +12 -0
- package/src/list-item/edit.js +3 -0
- package/src/loginout/index.php +4 -2
- package/src/media-text/edit.js +16 -6
- package/src/media-text/media-container.js +1 -0
- package/src/media-text/transforms.js +5 -1
- package/src/more/edit.js +27 -33
- package/src/more/editor.scss +3 -12
- package/src/post-comments-count/block.json +3 -0
- package/src/post-comments-link/block.json +3 -0
- package/src/post-date/index.php +28 -32
- package/src/post-excerpt/index.php +16 -12
- package/src/post-featured-image/edit.js +2 -2
- package/src/query-title/block.json +1 -0
- package/src/query-title/edit.js +58 -1
- package/src/query-title/index.php +30 -5
- package/src/query-title/use-post-type-label.js +34 -0
- package/src/query-title/variations.js +13 -0
- package/src/site-logo/edit.js +44 -16
- package/src/site-title/edit.js +24 -16
- package/src/social-link/icons/tiktok.js +2 -2
- package/src/social-link/index.php +1 -1
- package/src/style.scss +1 -0
- package/src/utils/poster-image.js +62 -17
- package/src/utils/poster-image.scss +23 -16
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
/**
|
|
6
|
+
* WordPress dependencies
|
|
7
|
+
*/
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
|
+
import { useEffect } from '@wordpress/element';
|
|
10
|
+
import { useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalGetShadowClassesAndStyles as useShadowProps, BlockControls, HeadingLevelDropdown, RichText } from '@wordpress/block-editor';
|
|
11
|
+
import { ToolbarGroup } from '@wordpress/components';
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import { plus } from '../accordion-item/icons';
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
|
+
const ICONS = {
|
|
18
|
+
plus
|
|
19
|
+
};
|
|
20
|
+
export default function Edit({
|
|
21
|
+
attributes,
|
|
22
|
+
setAttributes,
|
|
23
|
+
context
|
|
24
|
+
}) {
|
|
25
|
+
const {
|
|
26
|
+
level,
|
|
27
|
+
title,
|
|
28
|
+
textAlign,
|
|
29
|
+
levelOptions
|
|
30
|
+
} = attributes;
|
|
31
|
+
const {
|
|
32
|
+
'core/accordion-icon-position': iconPosition,
|
|
33
|
+
'core/accordion-show-icon': showIcon
|
|
34
|
+
} = context;
|
|
35
|
+
const TagName = 'h' + level;
|
|
36
|
+
|
|
37
|
+
// Set icon attributes.
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (iconPosition !== undefined && showIcon !== undefined) {
|
|
40
|
+
setAttributes({
|
|
41
|
+
iconPosition,
|
|
42
|
+
showIcon
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}, [iconPosition, showIcon, setAttributes]);
|
|
46
|
+
const blockProps = useBlockProps();
|
|
47
|
+
const borderProps = useBorderProps(attributes);
|
|
48
|
+
const colorProps = useColorProps(attributes);
|
|
49
|
+
const spacingProps = useSpacingProps(attributes);
|
|
50
|
+
const shadowProps = useShadowProps(attributes);
|
|
51
|
+
const Icon = ICONS.plus;
|
|
52
|
+
const shouldShowIcon = showIcon && Icon;
|
|
53
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
54
|
+
children: [/*#__PURE__*/_jsx(BlockControls, {
|
|
55
|
+
children: /*#__PURE__*/_jsx(ToolbarGroup, {
|
|
56
|
+
children: /*#__PURE__*/_jsx(HeadingLevelDropdown, {
|
|
57
|
+
value: level,
|
|
58
|
+
options: levelOptions,
|
|
59
|
+
onChange: newLevel => setAttributes({
|
|
60
|
+
level: newLevel
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
}), /*#__PURE__*/_jsx(TagName, {
|
|
65
|
+
...blockProps,
|
|
66
|
+
className: clsx(blockProps.className, colorProps.className, borderProps.className, 'accordion-item__heading', {
|
|
67
|
+
[`has-custom-font-size`]: blockProps.style.fontSize,
|
|
68
|
+
[`icon-position-left`]: iconPosition === 'left',
|
|
69
|
+
[`has-text-align-${textAlign}`]: textAlign
|
|
70
|
+
}),
|
|
71
|
+
style: {
|
|
72
|
+
...borderProps.style,
|
|
73
|
+
...colorProps.style,
|
|
74
|
+
...shadowProps.style
|
|
75
|
+
},
|
|
76
|
+
children: /*#__PURE__*/_jsxs("button", {
|
|
77
|
+
className: clsx('accordion-item__toggle'),
|
|
78
|
+
style: {
|
|
79
|
+
...spacingProps.style
|
|
80
|
+
},
|
|
81
|
+
children: [/*#__PURE__*/_jsx(RichText, {
|
|
82
|
+
allowedFormats: ['core/bold', 'core/italic', 'core/image', 'core/strikethrough'],
|
|
83
|
+
disableLineBreaks: true,
|
|
84
|
+
tagName: "span",
|
|
85
|
+
value: title,
|
|
86
|
+
onChange: newTitle => setAttributes({
|
|
87
|
+
title: newTitle
|
|
88
|
+
}),
|
|
89
|
+
placeholder: __('Accordion title')
|
|
90
|
+
}), shouldShowIcon && /*#__PURE__*/_jsx("span", {
|
|
91
|
+
className: clsx(`accordion-item__toggle-icon`, {
|
|
92
|
+
'has-icon-plus': true
|
|
93
|
+
}),
|
|
94
|
+
style: {
|
|
95
|
+
// TO-DO: make this configurable
|
|
96
|
+
width: `1.2em`,
|
|
97
|
+
height: `1.2em`
|
|
98
|
+
},
|
|
99
|
+
children: Icon && /*#__PURE__*/_jsx(Icon, {
|
|
100
|
+
width: "1.2em",
|
|
101
|
+
height: "1.2em"
|
|
102
|
+
})
|
|
103
|
+
})]
|
|
104
|
+
})
|
|
105
|
+
})]
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clsx","__","useEffect","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","BlockControls","HeadingLevelDropdown","RichText","ToolbarGroup","plus","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ICONS","Edit","attributes","setAttributes","context","level","title","textAlign","levelOptions","iconPosition","showIcon","TagName","undefined","blockProps","borderProps","colorProps","spacingProps","shadowProps","Icon","shouldShowIcon","children","value","options","onChange","newLevel","className","style","fontSize","allowedFormats","disableLineBreaks","tagName","newTitle","placeholder","width","height"],"sources":["@wordpress/block-library/src/accordion-header/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\tBlockControls,\n\tHeadingLevelDropdown,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport { plus } from '../accordion-item/icons';\n\nconst ICONS = {\n\tplus,\n};\n\nexport default function Edit( { attributes, setAttributes, context } ) {\n\tconst { level, title, textAlign, levelOptions } = attributes;\n\tconst {\n\t\t'core/accordion-icon-position': iconPosition,\n\t\t'core/accordion-show-icon': showIcon,\n\t} = context;\n\tconst TagName = 'h' + level;\n\n\t// Set icon attributes.\n\tuseEffect( () => {\n\t\tif ( iconPosition !== undefined && showIcon !== undefined ) {\n\t\t\tsetAttributes( {\n\t\t\t\ticonPosition,\n\t\t\t\tshowIcon,\n\t\t\t} );\n\t\t}\n\t}, [ iconPosition, showIcon, setAttributes ] );\n\n\tconst blockProps = useBlockProps();\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\n\tconst Icon = ICONS.plus;\n\tconst shouldShowIcon = showIcon && Icon;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\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</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\tblockProps.className,\n\t\t\t\t\tcolorProps.className,\n\t\t\t\t\tborderProps.className,\n\t\t\t\t\t'accordion-item__heading',\n\t\t\t\t\t{\n\t\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t\t\t[ `icon-position-left` ]: iconPosition === 'left',\n\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tclassName={ clsx( 'accordion-item__toggle' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tdisableLineBreaks\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ ( newTitle ) =>\n\t\t\t\t\t\t\tsetAttributes( { title: newTitle } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ __( 'Accordion title' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowIcon && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={ clsx( `accordion-item__toggle-icon`, {\n\t\t\t\t\t\t\t\t'has-icon-plus': true,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// TO-DO: make this configurable\n\t\t\t\t\t\t\t\twidth: `1.2em`,\n\t\t\t\t\t\t\t\theight: `1.2em`,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Icon && <Icon width=\"1.2em\" height=\"1.2em\" /> }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</TagName>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { accordionHeader } from '@wordpress/icons';
|
|
5
|
+
/**
|
|
6
|
+
* Internal dependencies
|
|
7
|
+
*/
|
|
8
|
+
import edit from './edit';
|
|
9
|
+
import save from './save';
|
|
10
|
+
const metadata = {
|
|
11
|
+
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
12
|
+
apiVersion: 3,
|
|
13
|
+
name: "core/accordion-header",
|
|
14
|
+
version: "0.1.0",
|
|
15
|
+
title: "Accordion Header",
|
|
16
|
+
category: "design",
|
|
17
|
+
description: "Accordion header.",
|
|
18
|
+
example: {},
|
|
19
|
+
__experimental: true,
|
|
20
|
+
parent: ["core/accordion-item"],
|
|
21
|
+
usesContext: ["core/accordion-icon-position", "core/accordion-show-icon"],
|
|
22
|
+
supports: {
|
|
23
|
+
anchor: true,
|
|
24
|
+
color: {
|
|
25
|
+
background: true,
|
|
26
|
+
gradient: true
|
|
27
|
+
},
|
|
28
|
+
align: false,
|
|
29
|
+
border: true,
|
|
30
|
+
interactivity: true,
|
|
31
|
+
spacing: {
|
|
32
|
+
padding: true,
|
|
33
|
+
margin: ["top", "bottom"],
|
|
34
|
+
__experimentalDefaultControls: {
|
|
35
|
+
padding: true,
|
|
36
|
+
margin: true
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
__experimentalBorder: {
|
|
40
|
+
color: true,
|
|
41
|
+
radius: true,
|
|
42
|
+
style: true,
|
|
43
|
+
width: true,
|
|
44
|
+
__experimentalDefaultControls: {
|
|
45
|
+
color: true,
|
|
46
|
+
radius: true,
|
|
47
|
+
style: true,
|
|
48
|
+
width: true
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
typography: {
|
|
52
|
+
textAlign: true,
|
|
53
|
+
fontSize: true,
|
|
54
|
+
__experimentalFontFamily: true,
|
|
55
|
+
__experimentalFontWeight: true,
|
|
56
|
+
__experimentalFontStyle: true,
|
|
57
|
+
__experimentalTextTransform: true,
|
|
58
|
+
__experimentalTextDecoration: true,
|
|
59
|
+
__experimentalLetterSpacing: true,
|
|
60
|
+
__experimentalDefaultControls: {
|
|
61
|
+
fontSize: true,
|
|
62
|
+
fontFamily: true
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
shadow: true
|
|
66
|
+
},
|
|
67
|
+
attributes: {
|
|
68
|
+
openByDefault: {
|
|
69
|
+
type: "boolean",
|
|
70
|
+
"default": false
|
|
71
|
+
},
|
|
72
|
+
title: {
|
|
73
|
+
type: "rich-text",
|
|
74
|
+
source: "rich-text",
|
|
75
|
+
selector: "span"
|
|
76
|
+
},
|
|
77
|
+
level: {
|
|
78
|
+
type: "number",
|
|
79
|
+
"default": 3
|
|
80
|
+
},
|
|
81
|
+
levelOptions: {
|
|
82
|
+
type: "array"
|
|
83
|
+
},
|
|
84
|
+
textAlignment: {
|
|
85
|
+
type: "string",
|
|
86
|
+
"default": "left"
|
|
87
|
+
},
|
|
88
|
+
iconPosition: {
|
|
89
|
+
type: "string",
|
|
90
|
+
"enum": ["left", "right"],
|
|
91
|
+
"default": "right"
|
|
92
|
+
},
|
|
93
|
+
showIcon: {
|
|
94
|
+
type: "boolean",
|
|
95
|
+
"default": true
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
textdomain: "default"
|
|
99
|
+
};
|
|
100
|
+
import initBlock from '../utils/init-block';
|
|
101
|
+
const {
|
|
102
|
+
name
|
|
103
|
+
} = metadata;
|
|
104
|
+
export { metadata, name };
|
|
105
|
+
export const settings = {
|
|
106
|
+
icon: accordionHeader,
|
|
107
|
+
example: {},
|
|
108
|
+
edit,
|
|
109
|
+
save
|
|
110
|
+
};
|
|
111
|
+
export const init = () => initBlock({
|
|
112
|
+
name,
|
|
113
|
+
metadata,
|
|
114
|
+
settings
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["accordionHeader","edit","save","metadata","$schema","apiVersion","name","version","title","category","description","example","__experimental","parent","usesContext","supports","anchor","color","background","gradient","align","border","interactivity","spacing","padding","margin","__experimentalDefaultControls","__experimentalBorder","radius","style","width","typography","textAlign","fontSize","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","fontFamily","shadow","attributes","openByDefault","type","source","selector","level","levelOptions","textAlignment","iconPosition","showIcon","textdomain","initBlock","settings","icon","init"],"sources":["@wordpress/block-library/src/accordion-header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { accordionHeader } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\nimport initBlock from '../utils/init-block';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: accordionHeader,\n\texample: {},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,kBAAkB;AAClD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,OAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,OAAA;EAAAC,cAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,QAAA;IAAAC,MAAA;IAAAC,KAAA;MAAAC,UAAA;MAAAC,QAAA;IAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,aAAA;IAAAC,OAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,6BAAA;QAAAF,OAAA;QAAAC,MAAA;MAAA;IAAA;IAAAE,oBAAA;MAAAV,KAAA;MAAAW,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAJ,6BAAA;QAAAT,KAAA;QAAAW,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;MAAAC,QAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAO,QAAA;QAAAO,UAAA;MAAA;IAAA;IAAAC,MAAA;EAAA;EAAAC,UAAA;IAAAC,aAAA;MAAAC,IAAA;MAAA;IAAA;IAAApC,KAAA;MAAAoC,IAAA;MAAAC,MAAA;MAAAC,QAAA;IAAA;IAAAC,KAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,YAAA;MAAAJ,IAAA;IAAA;IAAAK,aAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,YAAA;MAAAN,IAAA;MAAA;MAAA;IAAA;IAAAO,QAAA;MAAAP,IAAA;MAAA;IAAA;EAAA;EAAAQ,UAAA;AAAA;AAE1B,OAAOC,SAAS,MAAM,qBAAqB;AAE3C,MAAM;EAAE/C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMgD,QAAQ,GAAG;EACvBC,IAAI,EAAEvD,eAAe;EACrBW,OAAO,EAAE,CAAC,CAAC;EACXV,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAMsD,IAAI,GAAGA,CAAA,KAAMH,SAAS,CAAE;EAAE/C,IAAI;EAAEH,QAAQ;EAAEmD;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["init"],"sources":["@wordpress/block-library/src/accordion-header/init.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,IAAI;AAEzB,eAAeA,IAAI,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
/**
|
|
6
|
+
* WordPress dependencies
|
|
7
|
+
*/
|
|
8
|
+
import { useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles, __experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, RichText } from '@wordpress/block-editor';
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { plus } from '../accordion-item/icons';
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
const ICONS = {
|
|
15
|
+
plus
|
|
16
|
+
};
|
|
17
|
+
export default function save({
|
|
18
|
+
attributes
|
|
19
|
+
}) {
|
|
20
|
+
const {
|
|
21
|
+
level,
|
|
22
|
+
title,
|
|
23
|
+
iconPosition,
|
|
24
|
+
textAlign,
|
|
25
|
+
showIcon
|
|
26
|
+
} = attributes;
|
|
27
|
+
const TagName = 'h' + level;
|
|
28
|
+
const blockProps = useBlockProps.save();
|
|
29
|
+
const borderProps = getBorderClassesAndStyles(attributes);
|
|
30
|
+
const colorProps = getColorClassesAndStyles(attributes);
|
|
31
|
+
const spacingProps = getSpacingClassesAndStyles(attributes);
|
|
32
|
+
const shadowProps = getShadowClassesAndStyles(attributes);
|
|
33
|
+
const Icon = ICONS.plus;
|
|
34
|
+
return /*#__PURE__*/_jsx(TagName, {
|
|
35
|
+
...blockProps,
|
|
36
|
+
className: clsx(blockProps.className, colorProps.className, borderProps.className, 'accordion-item__heading', {
|
|
37
|
+
[`has-custom-font-size`]: blockProps?.style?.fontSize,
|
|
38
|
+
[`icon-position-left`]: iconPosition === 'left',
|
|
39
|
+
[`has-text-align-${textAlign}`]: textAlign
|
|
40
|
+
}),
|
|
41
|
+
style: {
|
|
42
|
+
...borderProps.style,
|
|
43
|
+
...colorProps.style,
|
|
44
|
+
...shadowProps.style
|
|
45
|
+
},
|
|
46
|
+
children: /*#__PURE__*/_jsxs("button", {
|
|
47
|
+
className: clsx('accordion-item__toggle'),
|
|
48
|
+
style: {
|
|
49
|
+
...spacingProps.style
|
|
50
|
+
},
|
|
51
|
+
children: [/*#__PURE__*/_jsx(RichText.Content, {
|
|
52
|
+
tagName: "span",
|
|
53
|
+
value: title
|
|
54
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
55
|
+
className: clsx(`accordion-item__toggle-icon`, {
|
|
56
|
+
'has-icon-plus': showIcon
|
|
57
|
+
}),
|
|
58
|
+
style: {
|
|
59
|
+
// TO-DO: make this configurable
|
|
60
|
+
width: `1.2em`,
|
|
61
|
+
height: `1.2em`
|
|
62
|
+
},
|
|
63
|
+
children: showIcon && /*#__PURE__*/_jsx(Icon, {
|
|
64
|
+
width: "1.2em",
|
|
65
|
+
height: "1.2em"
|
|
66
|
+
})
|
|
67
|
+
})]
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clsx","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","RichText","plus","jsx","_jsx","jsxs","_jsxs","ICONS","save","attributes","level","title","iconPosition","textAlign","showIcon","TagName","blockProps","borderProps","colorProps","spacingProps","shadowProps","Icon","className","style","fontSize","children","Content","tagName","value","width","height"],"sources":["@wordpress/block-library/src/accordion-header/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tRichText,\n} from '@wordpress/block-editor';\n/**\n * Internal dependencies\n */\nimport { plus } from '../accordion-item/icons';\n\nconst ICONS = {\n\tplus,\n};\n\nexport default function save( { attributes } ) {\n\tconst { level, title, iconPosition, textAlign, showIcon } = attributes;\n\tconst TagName = 'h' + level;\n\n\tconst blockProps = useBlockProps.save();\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst Icon = ICONS.plus;\n\n\treturn (\n\t\t<TagName\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ clsx(\n\t\t\t\tblockProps.className,\n\t\t\t\tcolorProps.className,\n\t\t\t\tborderProps.className,\n\t\t\t\t'accordion-item__heading',\n\t\t\t\t{\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps?.style?.fontSize,\n\t\t\t\t\t[ `icon-position-left` ]: iconPosition === 'left',\n\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t}\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\t...borderProps.style,\n\t\t\t\t...colorProps.style,\n\t\t\t\t...shadowProps.style,\n\t\t\t} }\n\t\t>\n\t\t\t<button\n\t\t\t\tclassName={ clsx( 'accordion-item__toggle' ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...spacingProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<RichText.Content tagName=\"span\" value={ title } />\n\t\t\t\t<span\n\t\t\t\t\tclassName={ clsx( `accordion-item__toggle-icon`, {\n\t\t\t\t\t\t'has-icon-plus': showIcon,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t// TO-DO: make this configurable\n\t\t\t\t\t\twidth: `1.2em`,\n\t\t\t\t\t\theight: `1.2em`,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ showIcon && <Icon width=\"1.2em\" height=\"1.2em\" /> }\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t</TagName>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;AACvB;AACA;AACA;AACA,SACCC,aAAa,EACbC,uCAAuC,IAAIC,yBAAyB,EACpEC,sCAAsC,IAAIC,wBAAwB,EAClEC,wCAAwC,IAAIC,0BAA0B,EACtEC,uCAAuC,IAAIC,yBAAyB,EACpEC,QAAQ,QACF,yBAAyB;AAChC;AACA;AACA;AACA,SAASC,IAAI,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/C,MAAMC,KAAK,GAAG;EACbL;AACD,CAAC;AAED,eAAe,SAASM,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC,YAAY;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAGL,UAAU;EACtE,MAAMM,OAAO,GAAG,GAAG,GAAGL,KAAK;EAE3B,MAAMM,UAAU,GAAGxB,aAAa,CAACgB,IAAI,CAAC,CAAC;EACvC,MAAMS,WAAW,GAAGvB,yBAAyB,CAAEe,UAAW,CAAC;EAC3D,MAAMS,UAAU,GAAGtB,wBAAwB,CAAEa,UAAW,CAAC;EACzD,MAAMU,YAAY,GAAGrB,0BAA0B,CAAEW,UAAW,CAAC;EAC7D,MAAMW,WAAW,GAAGpB,yBAAyB,CAAES,UAAW,CAAC;EAE3D,MAAMY,IAAI,GAAGd,KAAK,CAACL,IAAI;EAEvB,oBACCE,IAAA,CAACW,OAAO;IAAA,GACFC,UAAU;IACfM,SAAS,EAAG/B,IAAI,CACfyB,UAAU,CAACM,SAAS,EACpBJ,UAAU,CAACI,SAAS,EACpBL,WAAW,CAACK,SAAS,EACrB,yBAAyB,EACzB;MACC,CAAE,sBAAsB,GAAIN,UAAU,EAAEO,KAAK,EAAEC,QAAQ;MACvD,CAAE,oBAAoB,GAAIZ,YAAY,KAAK,MAAM;MACjD,CAAE,kBAAmBC,SAAS,EAAG,GAAIA;IACtC,CACD,CAAG;IACHU,KAAK,EAAG;MACP,GAAGN,WAAW,CAACM,KAAK;MACpB,GAAGL,UAAU,CAACK,KAAK;MACnB,GAAGH,WAAW,CAACG;IAChB,CAAG;IAAAE,QAAA,eAEHnB,KAAA;MACCgB,SAAS,EAAG/B,IAAI,CAAE,wBAAyB,CAAG;MAC9CgC,KAAK,EAAG;QACP,GAAGJ,YAAY,CAACI;MACjB,CAAG;MAAAE,QAAA,gBAEHrB,IAAA,CAACH,QAAQ,CAACyB,OAAO;QAACC,OAAO,EAAC,MAAM;QAACC,KAAK,EAAGjB;MAAO,CAAE,CAAC,eACnDP,IAAA;QACCkB,SAAS,EAAG/B,IAAI,CAAE,6BAA6B,EAAE;UAChD,eAAe,EAAEuB;QAClB,CAAE,CAAG;QACLS,KAAK,EAAG;UACP;UACAM,KAAK,EAAE,OAAO;UACdC,MAAM,EAAE;QACT,CAAG;QAAAL,QAAA,EAEDX,QAAQ,iBAAIV,IAAA,CAACiB,IAAI;UAACQ,KAAK,EAAC,OAAO;UAACC,MAAM,EAAC;QAAO,CAAE;MAAC,CAC9C,CAAC;IAAA,CACA;EAAC,CACD,CAAC;AAEZ","ignoreList":[]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { useBlockProps, useInnerBlocksProps, InspectorControls, store as blockEditorStore } from '@wordpress/block-editor';
|
|
6
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
7
|
+
import { useEffect } from '@wordpress/element';
|
|
8
|
+
import { ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
9
|
+
/**
|
|
10
|
+
* External dependencies
|
|
11
|
+
*/
|
|
12
|
+
import clsx from 'clsx';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
18
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
|
+
export default function Edit({
|
|
20
|
+
attributes: {
|
|
21
|
+
openByDefault
|
|
22
|
+
},
|
|
23
|
+
clientId,
|
|
24
|
+
setAttributes
|
|
25
|
+
}) {
|
|
26
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
27
|
+
const {
|
|
28
|
+
isSelected,
|
|
29
|
+
getBlockOrder
|
|
30
|
+
} = useSelect(select => {
|
|
31
|
+
const {
|
|
32
|
+
isBlockSelected,
|
|
33
|
+
hasSelectedInnerBlock,
|
|
34
|
+
getBlockOrder: getBlockOrderSelector
|
|
35
|
+
} = select(blockEditorStore);
|
|
36
|
+
return {
|
|
37
|
+
isSelected: isBlockSelected(clientId) || hasSelectedInnerBlock(clientId, true),
|
|
38
|
+
getBlockOrder: getBlockOrderSelector
|
|
39
|
+
};
|
|
40
|
+
}, [clientId]);
|
|
41
|
+
const contentBlockClientId = getBlockOrder(clientId)[1];
|
|
42
|
+
const {
|
|
43
|
+
updateBlockAttributes,
|
|
44
|
+
__unstableMarkNextChangeAsNotPersistent
|
|
45
|
+
} = useDispatch(blockEditorStore);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (contentBlockClientId) {
|
|
48
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
49
|
+
updateBlockAttributes(contentBlockClientId, {
|
|
50
|
+
isSelected
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}, [isSelected, contentBlockClientId, __unstableMarkNextChangeAsNotPersistent, updateBlockAttributes]);
|
|
54
|
+
const blockProps = useBlockProps();
|
|
55
|
+
const innerBlocksProps = useInnerBlocksProps({
|
|
56
|
+
...blockProps,
|
|
57
|
+
className: clsx(blockProps.className, {
|
|
58
|
+
'is-open': openByDefault || isSelected
|
|
59
|
+
})
|
|
60
|
+
}, {
|
|
61
|
+
template: [['core/accordion-header', {}], ['core/accordion-panel', {
|
|
62
|
+
openByDefault
|
|
63
|
+
}]],
|
|
64
|
+
templateLock: 'all',
|
|
65
|
+
directInsert: true,
|
|
66
|
+
templateInsertUpdatesSelection: true
|
|
67
|
+
});
|
|
68
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
69
|
+
children: [/*#__PURE__*/_jsx(InspectorControls, {
|
|
70
|
+
children: /*#__PURE__*/_jsx(ToolsPanel, {
|
|
71
|
+
label: __('Settings'),
|
|
72
|
+
resetAll: () => {
|
|
73
|
+
setAttributes({
|
|
74
|
+
openByDefault: false
|
|
75
|
+
});
|
|
76
|
+
if (contentBlockClientId) {
|
|
77
|
+
updateBlockAttributes(contentBlockClientId, {
|
|
78
|
+
openByDefault: false
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
83
|
+
children: /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
84
|
+
label: __('Open by default'),
|
|
85
|
+
isShownByDefault: true,
|
|
86
|
+
hasValue: () => !!openByDefault,
|
|
87
|
+
onDeselect: () => {
|
|
88
|
+
setAttributes({
|
|
89
|
+
openByDefault: false
|
|
90
|
+
});
|
|
91
|
+
if (contentBlockClientId) {
|
|
92
|
+
updateBlockAttributes(contentBlockClientId, {
|
|
93
|
+
openByDefault: false
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
98
|
+
label: __('Open by default'),
|
|
99
|
+
__nextHasNoMarginBottom: true,
|
|
100
|
+
onChange: value => {
|
|
101
|
+
setAttributes({
|
|
102
|
+
openByDefault: value
|
|
103
|
+
});
|
|
104
|
+
if (contentBlockClientId) {
|
|
105
|
+
updateBlockAttributes(contentBlockClientId, {
|
|
106
|
+
openByDefault: value
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
checked: openByDefault,
|
|
111
|
+
help: __('Accordion content will be displayed by default.')
|
|
112
|
+
})
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
}, "setting"), /*#__PURE__*/_jsx("div", {
|
|
116
|
+
...innerBlocksProps
|
|
117
|
+
})]
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","useBlockProps","useInnerBlocksProps","InspectorControls","store","blockEditorStore","useDispatch","useSelect","useEffect","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","clsx","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Edit","attributes","openByDefault","clientId","setAttributes","dropdownMenuProps","isSelected","getBlockOrder","select","isBlockSelected","hasSelectedInnerBlock","getBlockOrderSelector","contentBlockClientId","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","blockProps","innerBlocksProps","className","template","templateLock","directInsert","templateInsertUpdatesSelection","children","label","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","value","checked","help"],"sources":["@wordpress/block-library/src/accordion-item/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function Edit( {\n\tattributes: { openByDefault },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { isSelected, getBlockOrder } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockOrder: getBlockOrderSelector,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tisSelected:\n\t\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( clientId, true ),\n\t\t\t\tgetBlockOrder: getBlockOrderSelector,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst contentBlockClientId = getBlockOrder( clientId )[ 1 ];\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( contentBlockClientId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( contentBlockClientId, {\n\t\t\t\tisSelected,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tcontentBlockClientId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateBlockAttributes,\n\t] );\n\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: clsx( blockProps.className, {\n\t\t\t\t'is-open': openByDefault || isSelected,\n\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttemplate: [\n\t\t\t\t[ 'core/accordion-header', {} ],\n\t\t\t\t[\n\t\t\t\t\t'core/accordion-panel',\n\t\t\t\t\t{\n\t\t\t\t\t\topenByDefault,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t],\n\t\t\ttemplateLock: 'all',\n\t\t\tdirectInsert: true,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls key=\"setting\">\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( { openByDefault: false } );\n\t\t\t\t\t\tif ( contentBlockClientId ) {\n\t\t\t\t\t\t\tupdateBlockAttributes( contentBlockClientId, {\n\t\t\t\t\t\t\t\topenByDefault: false,\n\t\t\t\t\t\t\t} );\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={ __( 'Open by default' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! openByDefault }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( { openByDefault: false } );\n\t\t\t\t\t\t\tif ( contentBlockClientId ) {\n\t\t\t\t\t\t\t\tupdateBlockAttributes( contentBlockClientId, {\n\t\t\t\t\t\t\t\t\topenByDefault: false,\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>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenByDefault: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tif ( contentBlockClientId ) {\n\t\t\t\t\t\t\t\t\tupdateBlockAttributes(\n\t\t\t\t\t\t\t\t\t\tcontentBlockClientId,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\topenByDefault: value,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tchecked={ openByDefault }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Accordion content will be displayed by default.'\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\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { createElement } from '@wordpress/element';
|
|
5
|
+
export const plus = ({
|
|
6
|
+
width,
|
|
7
|
+
height
|
|
8
|
+
}) => {
|
|
9
|
+
return createElement('span', {
|
|
10
|
+
style: {
|
|
11
|
+
display: 'inline-block',
|
|
12
|
+
width: width || 24,
|
|
13
|
+
height: height || 24,
|
|
14
|
+
lineHeight: `${height || 24}px`,
|
|
15
|
+
textAlign: 'center',
|
|
16
|
+
fontSize: `${(height || 24) * 0.6}px`,
|
|
17
|
+
fontWeight: 'bold',
|
|
18
|
+
color: 'currentColor'
|
|
19
|
+
}
|
|
20
|
+
}, '+');
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createElement","plus","width","height","style","display","lineHeight","textAlign","fontSize","fontWeight","color"],"sources":["@wordpress/block-library/src/accordion-item/icons.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createElement } from '@wordpress/element';\n\nexport const plus = ( { width, height } ) => {\n\treturn createElement(\n\t\t'span',\n\t\t{\n\t\t\tstyle: {\n\t\t\t\tdisplay: 'inline-block',\n\t\t\t\twidth: width || 24,\n\t\t\t\theight: height || 24,\n\t\t\t\tlineHeight: `${ height || 24 }px`,\n\t\t\t\ttextAlign: 'center',\n\t\t\t\tfontSize: `${ ( height || 24 ) * 0.6 }px`,\n\t\t\t\tfontWeight: 'bold',\n\t\t\t\tcolor: 'currentColor',\n\t\t\t},\n\t\t},\n\t\t'+'\n\t);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,oBAAoB;AAElD,OAAO,MAAMC,IAAI,GAAGA,CAAE;EAAEC,KAAK;EAAEC;AAAO,CAAC,KAAM;EAC5C,OAAOH,aAAa,CACnB,MAAM,EACN;IACCI,KAAK,EAAE;MACNC,OAAO,EAAE,cAAc;MACvBH,KAAK,EAAEA,KAAK,IAAI,EAAE;MAClBC,MAAM,EAAEA,MAAM,IAAI,EAAE;MACpBG,UAAU,EAAE,GAAIH,MAAM,IAAI,EAAE,IAAK;MACjCI,SAAS,EAAE,QAAQ;MACnBC,QAAQ,EAAE,GAAI,CAAEL,MAAM,IAAI,EAAE,IAAK,GAAG,IAAK;MACzCM,UAAU,EAAE,MAAM;MAClBC,KAAK,EAAE;IACR;EACD,CAAC,EACD,GACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { accordionItem } from '@wordpress/icons';
|
|
5
|
+
/**
|
|
6
|
+
* Internal dependencies
|
|
7
|
+
*/
|
|
8
|
+
import edit from './edit';
|
|
9
|
+
import save from './save';
|
|
10
|
+
const metadata = {
|
|
11
|
+
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
12
|
+
apiVersion: 3,
|
|
13
|
+
name: "core/accordion-item",
|
|
14
|
+
version: "0.1.0",
|
|
15
|
+
title: "Accordion",
|
|
16
|
+
category: "design",
|
|
17
|
+
description: "A single accordion that displays a header and expandable content.",
|
|
18
|
+
example: {},
|
|
19
|
+
__experimental: true,
|
|
20
|
+
parent: ["core/accordions"],
|
|
21
|
+
allowedBlocks: ["core/accordion-header", "core/accordion-panel"],
|
|
22
|
+
supports: {
|
|
23
|
+
align: ["wide", "full"],
|
|
24
|
+
color: {
|
|
25
|
+
background: true,
|
|
26
|
+
gradient: true
|
|
27
|
+
},
|
|
28
|
+
interactivity: true,
|
|
29
|
+
spacing: {
|
|
30
|
+
margin: ["top", "bottom"],
|
|
31
|
+
blockGap: true
|
|
32
|
+
},
|
|
33
|
+
__experimentalBorder: {
|
|
34
|
+
color: true,
|
|
35
|
+
radius: true,
|
|
36
|
+
style: true,
|
|
37
|
+
width: true,
|
|
38
|
+
__experimentalDefaultControls: {
|
|
39
|
+
color: true,
|
|
40
|
+
radius: true,
|
|
41
|
+
style: true,
|
|
42
|
+
width: true
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
shadow: true
|
|
46
|
+
},
|
|
47
|
+
attributes: {
|
|
48
|
+
openByDefault: {
|
|
49
|
+
type: "boolean",
|
|
50
|
+
"default": false
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
textdomain: "default"
|
|
54
|
+
};
|
|
55
|
+
import initBlock from '../utils/init-block';
|
|
56
|
+
const {
|
|
57
|
+
name
|
|
58
|
+
} = metadata;
|
|
59
|
+
export { metadata, name };
|
|
60
|
+
export const settings = {
|
|
61
|
+
icon: accordionItem,
|
|
62
|
+
example: {},
|
|
63
|
+
edit,
|
|
64
|
+
save
|
|
65
|
+
};
|
|
66
|
+
export const init = () => initBlock({
|
|
67
|
+
name,
|
|
68
|
+
metadata,
|
|
69
|
+
settings
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["accordionItem","edit","save","metadata","$schema","apiVersion","name","version","title","category","description","example","__experimental","parent","allowedBlocks","supports","align","color","background","gradient","interactivity","spacing","margin","blockGap","__experimentalBorder","radius","style","width","__experimentalDefaultControls","shadow","attributes","openByDefault","type","textdomain","initBlock","settings","icon","init"],"sources":["@wordpress/block-library/src/accordion-item/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { accordionItem } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\nimport initBlock from '../utils/init-block';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: accordionItem,\n\texample: {},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,kBAAkB;AAChD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,OAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,OAAA;EAAAC,cAAA;EAAAC,MAAA;EAAAC,aAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,UAAA;MAAAC,QAAA;IAAA;IAAAC,aAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,QAAA;IAAA;IAAAC,oBAAA;MAAAP,KAAA;MAAAQ,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAC,6BAAA;QAAAX,KAAA;QAAAQ,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAE,MAAA;EAAA;EAAAC,UAAA;IAAAC,aAAA;MAAAC,IAAA;MAAA;IAAA;EAAA;EAAAC,UAAA;AAAA;AAE1B,OAAOC,SAAS,MAAM,qBAAqB;AAE3C,MAAM;EAAE5B;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM6B,QAAQ,GAAG;EACvBC,IAAI,EAAEpC,aAAa;EACnBW,OAAO,EAAE,CAAC,CAAC;EACXV,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAMmC,IAAI,GAAGA,CAAA,KAAMH,SAAS,CAAE;EAAE5B,IAAI;EAAEH,QAAQ;EAAEgC;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["init"],"sources":["@wordpress/block-library/src/accordion-item/init.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,IAAI;AAEzB,eAAeA,IAAI,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
5
|
+
/**
|
|
6
|
+
* External dependencies
|
|
7
|
+
*/
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
export default function save({
|
|
11
|
+
attributes
|
|
12
|
+
}) {
|
|
13
|
+
const {
|
|
14
|
+
openByDefault
|
|
15
|
+
} = attributes;
|
|
16
|
+
const blockProps = useBlockProps.save();
|
|
17
|
+
const className = clsx({
|
|
18
|
+
'is-open': openByDefault
|
|
19
|
+
}, blockProps.className);
|
|
20
|
+
const innerBlocksProps = useInnerBlocksProps.save({
|
|
21
|
+
...blockProps,
|
|
22
|
+
className
|
|
23
|
+
});
|
|
24
|
+
return /*#__PURE__*/_jsx("div", {
|
|
25
|
+
...innerBlocksProps
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useBlockProps","useInnerBlocksProps","clsx","jsx","_jsx","save","attributes","openByDefault","blockProps","className","innerBlocksProps"],"sources":["@wordpress/block-library/src/accordion-item/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\nexport default function save( { attributes } ) {\n\tconst { openByDefault } = attributes;\n\tconst blockProps = useBlockProps.save();\n\tconst className = clsx(\n\t\t{\n\t\t\t'is-open': openByDefault,\n\t\t},\n\t\tblockProps.className\n\t);\n\tconst innerBlocksProps = useInnerBlocksProps.save( {\n\t\t...blockProps,\n\t\tclassName,\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC5E;AACA;AACA;AACA,OAAOC,IAAI,MAAM,MAAM;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExB,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IAAEC;EAAc,CAAC,GAAGD,UAAU;EACpC,MAAME,UAAU,GAAGR,aAAa,CAACK,IAAI,CAAC,CAAC;EACvC,MAAMI,SAAS,GAAGP,IAAI,CACrB;IACC,SAAS,EAAEK;EACZ,CAAC,EACDC,UAAU,CAACC,SACZ,CAAC;EACD,MAAMC,gBAAgB,GAAGT,mBAAmB,CAACI,IAAI,CAAE;IAClD,GAAGG,UAAU;IACbC;EACD,CAAE,CAAC;EAEH,oBAAOL,IAAA;IAAA,GAAUM;EAAgB,CAAI,CAAC;AACvC","ignoreList":[]}
|