@wordpress/block-library 9.28.0 → 9.29.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.
Files changed (196) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/accordion/edit.js +123 -0
  3. package/build/accordion/edit.js.map +1 -0
  4. package/build/accordion/icon.js +33 -0
  5. package/build/accordion/icon.js.map +1 -0
  6. package/build/accordion/index.js +100 -0
  7. package/build/accordion/index.js.map +1 -0
  8. package/build/accordion/init.js +12 -0
  9. package/build/accordion/init.js.map +1 -0
  10. package/build/accordion/save.js +36 -0
  11. package/build/accordion/save.js.map +1 -0
  12. package/build/accordion/view.js +49 -0
  13. package/build/accordion/view.js.map +1 -0
  14. package/build/accordion-content/edit.js +129 -0
  15. package/build/accordion-content/edit.js.map +1 -0
  16. package/build/accordion-content/icon.js +35 -0
  17. package/build/accordion-content/icon.js.map +1 -0
  18. package/build/accordion-content/icons.js +30 -0
  19. package/build/accordion-content/icons.js.map +1 -0
  20. package/build/accordion-content/index.js +76 -0
  21. package/build/accordion-content/index.js.map +1 -0
  22. package/build/accordion-content/init.js +12 -0
  23. package/build/accordion-content/init.js.map +1 -0
  24. package/build/accordion-content/save.js +37 -0
  25. package/build/accordion-content/save.js.map +1 -0
  26. package/build/accordion-header/edit.js +118 -0
  27. package/build/accordion-header/edit.js.map +1 -0
  28. package/build/accordion-header/icon.js +25 -0
  29. package/build/accordion-header/icon.js.map +1 -0
  30. package/build/accordion-header/index.js +121 -0
  31. package/build/accordion-header/index.js.map +1 -0
  32. package/build/accordion-header/init.js +12 -0
  33. package/build/accordion-header/init.js.map +1 -0
  34. package/build/accordion-header/save.js +81 -0
  35. package/build/accordion-header/save.js.map +1 -0
  36. package/build/accordion-panel/edit.js +59 -0
  37. package/build/accordion-panel/edit.js.map +1 -0
  38. package/build/accordion-panel/icon.js +22 -0
  39. package/build/accordion-panel/icon.js.map +1 -0
  40. package/build/accordion-panel/index.js +105 -0
  41. package/build/accordion-panel/index.js.map +1 -0
  42. package/build/accordion-panel/init.js +12 -0
  43. package/build/accordion-panel/init.js.map +1 -0
  44. package/build/accordion-panel/save.js +46 -0
  45. package/build/accordion-panel/save.js.map +1 -0
  46. package/build/cover/index.js +2 -1
  47. package/build/cover/index.js.map +1 -1
  48. package/build/freeform/edit.js +6 -0
  49. package/build/freeform/edit.js.map +1 -1
  50. package/build/index.js +10 -0
  51. package/build/index.js.map +1 -1
  52. package/build/media-text/media-container.js +2 -1
  53. package/build/media-text/media-container.js.map +1 -1
  54. package/build/media-text/transforms.js +7 -3
  55. package/build/media-text/transforms.js.map +1 -1
  56. package/build/post-comments-link/edit.js +6 -1
  57. package/build/post-comments-link/edit.js.map +1 -1
  58. package/build/query-title/edit.js +52 -2
  59. package/build/query-title/edit.js.map +1 -1
  60. package/build/query-title/index.js +1 -0
  61. package/build/query-title/index.js.map +1 -1
  62. package/build/query-title/use-post-type-label.js +42 -0
  63. package/build/query-title/use-post-type-label.js.map +1 -0
  64. package/build/query-title/variations.js +10 -0
  65. package/build/query-title/variations.js.map +1 -1
  66. package/build/site-logo/edit.js +56 -41
  67. package/build/site-logo/edit.js.map +1 -1
  68. package/build/site-title/edit.js +9 -3
  69. package/build/site-title/edit.js.map +1 -1
  70. package/build/video/edit-common-settings.js +6 -3
  71. package/build/video/edit-common-settings.js.map +1 -1
  72. package/build-module/accordion/edit.js +116 -0
  73. package/build-module/accordion/edit.js.map +1 -0
  74. package/build-module/accordion/icon.js +27 -0
  75. package/build-module/accordion/icon.js.map +1 -0
  76. package/build-module/accordion/index.js +92 -0
  77. package/build-module/accordion/index.js.map +1 -0
  78. package/build-module/accordion/init.js +6 -0
  79. package/build-module/accordion/init.js.map +1 -0
  80. package/build-module/accordion/save.js +27 -0
  81. package/build-module/accordion/save.js.map +1 -0
  82. package/build-module/accordion/view.js +46 -0
  83. package/build-module/accordion/view.js.map +1 -0
  84. package/build-module/accordion-content/edit.js +120 -0
  85. package/build-module/accordion-content/edit.js.map +1 -0
  86. package/build-module/accordion-content/icon.js +29 -0
  87. package/build-module/accordion-content/icon.js.map +1 -0
  88. package/build-module/accordion-content/icons.js +22 -0
  89. package/build-module/accordion-content/icons.js.map +1 -0
  90. package/build-module/accordion-content/index.js +68 -0
  91. package/build-module/accordion-content/index.js.map +1 -0
  92. package/build-module/accordion-content/init.js +6 -0
  93. package/build-module/accordion-content/init.js.map +1 -0
  94. package/build-module/accordion-content/save.js +28 -0
  95. package/build-module/accordion-content/save.js.map +1 -0
  96. package/build-module/accordion-header/edit.js +108 -0
  97. package/build-module/accordion-header/edit.js.map +1 -0
  98. package/build-module/accordion-header/icon.js +19 -0
  99. package/build-module/accordion-header/icon.js.map +1 -0
  100. package/build-module/accordion-header/index.js +113 -0
  101. package/build-module/accordion-header/index.js.map +1 -0
  102. package/build-module/accordion-header/init.js +6 -0
  103. package/build-module/accordion-header/init.js.map +1 -0
  104. package/build-module/accordion-header/save.js +71 -0
  105. package/build-module/accordion-header/save.js.map +1 -0
  106. package/build-module/accordion-panel/edit.js +50 -0
  107. package/build-module/accordion-panel/edit.js.map +1 -0
  108. package/build-module/accordion-panel/icon.js +16 -0
  109. package/build-module/accordion-panel/icon.js.map +1 -0
  110. package/build-module/accordion-panel/index.js +97 -0
  111. package/build-module/accordion-panel/index.js.map +1 -0
  112. package/build-module/accordion-panel/init.js +6 -0
  113. package/build-module/accordion-panel/init.js.map +1 -0
  114. package/build-module/accordion-panel/save.js +37 -0
  115. package/build-module/accordion-panel/save.js.map +1 -0
  116. package/build-module/cover/index.js +2 -1
  117. package/build-module/cover/index.js.map +1 -1
  118. package/build-module/freeform/edit.js +6 -0
  119. package/build-module/freeform/edit.js.map +1 -1
  120. package/build-module/index.js +10 -0
  121. package/build-module/index.js.map +1 -1
  122. package/build-module/media-text/media-container.js +2 -1
  123. package/build-module/media-text/media-container.js.map +1 -1
  124. package/build-module/media-text/transforms.js +7 -3
  125. package/build-module/media-text/transforms.js.map +1 -1
  126. package/build-module/post-comments-link/edit.js +6 -1
  127. package/build-module/post-comments-link/edit.js.map +1 -1
  128. package/build-module/query-title/edit.js +52 -2
  129. package/build-module/query-title/edit.js.map +1 -1
  130. package/build-module/query-title/index.js +1 -0
  131. package/build-module/query-title/index.js.map +1 -1
  132. package/build-module/query-title/use-post-type-label.js +36 -0
  133. package/build-module/query-title/use-post-type-label.js.map +1 -0
  134. package/build-module/query-title/variations.js +10 -0
  135. package/build-module/query-title/variations.js.map +1 -1
  136. package/build-module/site-logo/edit.js +57 -42
  137. package/build-module/site-logo/edit.js.map +1 -1
  138. package/build-module/site-title/edit.js +10 -4
  139. package/build-module/site-title/edit.js.map +1 -1
  140. package/build-module/video/edit-common-settings.js +6 -3
  141. package/build-module/video/edit-common-settings.js.map +1 -1
  142. package/build-style/accordion/style-rtl.css +223 -0
  143. package/build-style/accordion/style.css +223 -0
  144. package/build-style/style-rtl.css +88 -0
  145. package/build-style/style.css +88 -0
  146. package/package.json +36 -35
  147. package/src/accordion/block.json +69 -0
  148. package/src/accordion/edit.js +133 -0
  149. package/src/accordion/icon.js +23 -0
  150. package/src/accordion/index.js +21 -0
  151. package/src/accordion/index.php +61 -0
  152. package/src/accordion/init.js +6 -0
  153. package/src/accordion/save.js +23 -0
  154. package/src/accordion/style.scss +91 -0
  155. package/src/accordion/view.js +38 -0
  156. package/src/accordion-content/block.json +45 -0
  157. package/src/accordion-content/edit.js +149 -0
  158. package/src/accordion-content/icon.js +28 -0
  159. package/src/accordion-content/icons.js +23 -0
  160. package/src/accordion-content/index.js +21 -0
  161. package/src/accordion-content/index.php +73 -0
  162. package/src/accordion-content/init.js +6 -0
  163. package/src/accordion-content/save.js +25 -0
  164. package/src/accordion-header/block.json +93 -0
  165. package/src/accordion-header/edit.js +131 -0
  166. package/src/accordion-header/icon.js +16 -0
  167. package/src/accordion-header/index.js +21 -0
  168. package/src/accordion-header/init.js +6 -0
  169. package/src/accordion-header/save.js +79 -0
  170. package/src/accordion-panel/block.json +74 -0
  171. package/src/accordion-panel/edit.js +61 -0
  172. package/src/accordion-panel/icon.js +15 -0
  173. package/src/accordion-panel/index.js +21 -0
  174. package/src/accordion-panel/init.js +6 -0
  175. package/src/accordion-panel/save.js +51 -0
  176. package/src/block/index.php +16 -14
  177. package/src/cover/block.json +2 -1
  178. package/src/file/index.php +28 -22
  179. package/src/freeform/edit.js +7 -0
  180. package/src/index.js +12 -0
  181. package/src/media-text/media-container.js +1 -0
  182. package/src/media-text/transforms.js +5 -1
  183. package/src/navigation/edit/test/navigation-menu-selector.js +2 -2
  184. package/src/post-comments-link/edit.js +7 -1
  185. package/src/post-excerpt/index.php +16 -12
  186. package/src/query-title/block.json +1 -0
  187. package/src/query-title/edit.js +58 -1
  188. package/src/query-title/index.php +30 -5
  189. package/src/query-title/use-post-type-label.js +34 -0
  190. package/src/query-title/variations.js +13 -0
  191. package/src/site-logo/edit.js +33 -12
  192. package/src/site-title/edit.js +24 -16
  193. package/src/social-link/README.md +4 -1
  194. package/src/social-link/index.php +1 -1
  195. package/src/style.scss +1 -0
  196. package/src/video/edit-common-settings.js +14 -5
@@ -0,0 +1,19 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/primitives';
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ export default /*#__PURE__*/_jsxs(SVG, {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ viewBox: "0 0 24 24",
9
+ children: [/*#__PURE__*/_jsx(Path, {
10
+ fillRule: "evenodd",
11
+ clipRule: "evenodd",
12
+ d: "M19.5 12.75L9.5 12.75L9.5 11.25L19.5 11.25L19.5 12.75Z",
13
+ fill: "currentColor"
14
+ }), /*#__PURE__*/_jsx(Path, {
15
+ d: "M4.5 9.5L8.5 12L4.5 14.5L4.5 9.5Z",
16
+ fill: "currentColor"
17
+ })]
18
+ });
19
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SVG","Path","jsx","_jsx","jsxs","_jsxs","xmlns","viewBox","children","fillRule","clipRule","d","fill"],"sources":["@wordpress/block-library/src/accordion-header/icon.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nexport default (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M19.5 12.75L9.5 12.75L9.5 11.25L19.5 11.25L19.5 12.75Z\"\n\t\t\tfill=\"currentColor\"\n\t\t/>\n\t\t<Path d=\"M4.5 9.5L8.5 12L4.5 14.5L4.5 9.5Z\" fill=\"currentColor\" />\n\t</SVG>\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAG,EAAEC,IAAI,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,4BACCA,KAAA,CAACL,GAAG;EAACM,KAAK,EAAC,4BAA4B;EAACC,OAAO,EAAC,WAAW;EAAAC,QAAA,gBAC1DL,IAAA,CAACF,IAAI;IACJQ,QAAQ,EAAC,SAAS;IAClBC,QAAQ,EAAC,SAAS;IAClBC,CAAC,EAAC,wDAAwD;IAC1DC,IAAI,EAAC;EAAc,CACnB,CAAC,eACFT,IAAA,CAACF,IAAI;IAACU,CAAC,EAAC,mCAAmC;IAACC,IAAI,EAAC;EAAc,CAAE,CAAC;AAAA,CAC9D,CAAC","ignoreList":[]}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import edit from './edit';
5
+ import save from './save';
6
+ const metadata = {
7
+ $schema: "https://schemas.wp.org/trunk/block.json",
8
+ apiVersion: 3,
9
+ name: "core/accordion-header",
10
+ version: "0.1.0",
11
+ title: "Accordion Header",
12
+ category: "design",
13
+ description: "Displays an accordion header.",
14
+ example: {},
15
+ __experimental: true,
16
+ parent: ["core/accordion-content"],
17
+ usesContext: ["core/accordion-icon-position", "core/accordion-show-icon"],
18
+ supports: {
19
+ anchor: true,
20
+ color: {
21
+ background: true,
22
+ gradient: true
23
+ },
24
+ align: false,
25
+ border: true,
26
+ interactivity: true,
27
+ spacing: {
28
+ padding: true,
29
+ margin: ["top", "bottom"],
30
+ __experimentalDefaultControls: {
31
+ padding: true,
32
+ margin: true
33
+ }
34
+ },
35
+ __experimentalBorder: {
36
+ color: true,
37
+ radius: true,
38
+ style: true,
39
+ width: true,
40
+ __experimentalDefaultControls: {
41
+ color: true,
42
+ radius: true,
43
+ style: true,
44
+ width: true
45
+ }
46
+ },
47
+ typography: {
48
+ textAlign: true,
49
+ fontSize: true,
50
+ __experimentalFontFamily: true,
51
+ __experimentalFontWeight: true,
52
+ __experimentalFontStyle: true,
53
+ __experimentalTextTransform: true,
54
+ __experimentalTextDecoration: true,
55
+ __experimentalLetterSpacing: true,
56
+ __experimentalDefaultControls: {
57
+ fontSize: true,
58
+ fontFamily: true
59
+ }
60
+ },
61
+ shadow: true
62
+ },
63
+ attributes: {
64
+ openByDefault: {
65
+ type: "boolean",
66
+ "default": false
67
+ },
68
+ title: {
69
+ type: "rich-text",
70
+ source: "rich-text",
71
+ selector: "span"
72
+ },
73
+ level: {
74
+ type: "number",
75
+ "default": 3
76
+ },
77
+ levelOptions: {
78
+ type: "array"
79
+ },
80
+ textAlignment: {
81
+ type: "string",
82
+ "default": "left"
83
+ },
84
+ iconPosition: {
85
+ type: "string",
86
+ "enum": ["left", "right"],
87
+ "default": "right"
88
+ },
89
+ showIcon: {
90
+ type: "boolean",
91
+ "default": true
92
+ }
93
+ },
94
+ textdomain: "default"
95
+ };
96
+ import initBlock from '../utils/init-block';
97
+ import icon from './icon';
98
+ const {
99
+ name
100
+ } = metadata;
101
+ export { metadata, name };
102
+ export const settings = {
103
+ icon,
104
+ example: {},
105
+ edit,
106
+ save
107
+ };
108
+ export const init = () => initBlock({
109
+ name,
110
+ metadata,
111
+ settings
112
+ });
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["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","icon","settings","init"],"sources":["@wordpress/block-library/src/accordion-header/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\nimport initBlock from '../utils/init-block';\nimport icon from './icon';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,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;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEhD;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMiD,QAAQ,GAAG;EACvBD,IAAI;EACJ3C,OAAO,EAAE,CAAC,CAAC;EACXV,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAMsD,IAAI,GAAGA,CAAA,KAAMH,SAAS,CAAE;EAAE/C,IAAI;EAAEH,QAAQ;EAAEoD;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { init } from './';
5
+ export default init();
6
+ //# sourceMappingURL=init.js.map
@@ -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-content/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-content__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-content__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-content__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-content/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-content__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-content__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-content__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,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,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,4BAA4B,EAC5B;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,2BAA4B,CAAG;MACjDgC,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,gCAAgC,EAAE;UACnD,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,50 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useBlockProps, useInnerBlocksProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalGetShadowClassesAndStyles as useShadowProps } 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 Edit({
11
+ attributes
12
+ }) {
13
+ const {
14
+ allowedBlocks,
15
+ templateLock,
16
+ openByDefault,
17
+ isSelected
18
+ } = attributes;
19
+ const borderProps = useBorderProps(attributes);
20
+ const colorProps = useColorProps(attributes);
21
+ const spacingProps = useSpacingProps(attributes);
22
+ const shadowProps = useShadowProps(attributes);
23
+ const blockProps = useBlockProps();
24
+ const innerBlocksProps = useInnerBlocksProps({
25
+ className: 'accordion-content__wrapper',
26
+ style: {
27
+ ...spacingProps.style
28
+ }
29
+ }, {
30
+ allowedBlocks,
31
+ template: [['core/paragraph', {}]],
32
+ templateLock
33
+ });
34
+ return /*#__PURE__*/_jsx("div", {
35
+ ...blockProps,
36
+ className: clsx(blockProps.className, colorProps.className, borderProps.className, {
37
+ [`has-custom-font-size`]: blockProps?.style?.fontSize
38
+ }),
39
+ style: {
40
+ ...borderProps.style,
41
+ ...colorProps.style,
42
+ ...shadowProps.style
43
+ },
44
+ "aria-hidden": !isSelected && !openByDefault,
45
+ children: /*#__PURE__*/_jsx("div", {
46
+ ...innerBlocksProps
47
+ })
48
+ });
49
+ }
50
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useBlockProps","useInnerBlocksProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","clsx","jsx","_jsx","Edit","attributes","allowedBlocks","templateLock","openByDefault","isSelected","borderProps","colorProps","spacingProps","shadowProps","blockProps","innerBlocksProps","className","style","template","fontSize","children"],"sources":["@wordpress/block-library/src/accordion-panel/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n} from '@wordpress/block-editor';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\nexport default function Edit( { attributes } ) {\n\tconst { allowedBlocks, templateLock, openByDefault, isSelected } =\n\t\tattributes;\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'accordion-content__wrapper',\n\t\t\tstyle: {\n\t\t\t\t...spacingProps.style,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tallowedBlocks,\n\t\t\ttemplate: [ [ 'core/paragraph', {} ] ],\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\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{\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps?.style?.fontSize,\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\taria-hidden={ ! isSelected && ! openByDefault }\n\t\t>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,aAAa,EACbC,mBAAmB,EACnBC,4BAA4B,IAAIC,cAAc,EAC9CC,2BAA2B,IAAIC,aAAa,EAC5CC,wCAAwC,IAAIC,eAAe,EAC3DC,uCAAuC,IAAIC,cAAc,QACnD,yBAAyB;AAChC;AACA;AACA;AACA,OAAOC,IAAI,MAAM,MAAM;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExB,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IAAEC,aAAa;IAAEC,YAAY;IAAEC,aAAa;IAAEC;EAAW,CAAC,GAC/DJ,UAAU;EACX,MAAMK,WAAW,GAAGhB,cAAc,CAAEW,UAAW,CAAC;EAChD,MAAMM,UAAU,GAAGf,aAAa,CAAES,UAAW,CAAC;EAC9C,MAAMO,YAAY,GAAGd,eAAe,CAAEO,UAAW,CAAC;EAClD,MAAMQ,WAAW,GAAGb,cAAc,CAAEK,UAAW,CAAC;EAEhD,MAAMS,UAAU,GAAGvB,aAAa,CAAC,CAAC;EAClC,MAAMwB,gBAAgB,GAAGvB,mBAAmB,CAC3C;IACCwB,SAAS,EAAE,4BAA4B;IACvCC,KAAK,EAAE;MACN,GAAGL,YAAY,CAACK;IACjB;EACD,CAAC,EACD;IACCX,aAAa;IACbY,QAAQ,EAAE,CAAE,CAAE,gBAAgB,EAAE,CAAC,CAAC,CAAE,CAAE;IACtCX;EACD,CACD,CAAC;EAED,oBACCJ,IAAA;IAAA,GACMW,UAAU;IACfE,SAAS,EAAGf,IAAI,CACfa,UAAU,CAACE,SAAS,EACpBL,UAAU,CAACK,SAAS,EACpBN,WAAW,CAACM,SAAS,EACrB;MACC,CAAE,sBAAsB,GAAIF,UAAU,EAAEG,KAAK,EAAEE;IAChD,CACD,CAAG;IACHF,KAAK,EAAG;MACP,GAAGP,WAAW,CAACO,KAAK;MACpB,GAAGN,UAAU,CAACM,KAAK;MACnB,GAAGJ,WAAW,CAACI;IAChB,CAAG;IACH,eAAc,CAAER,UAAU,IAAI,CAAED,aAAe;IAAAY,QAAA,eAE/CjB,IAAA;MAAA,GAAUY;IAAgB,CAAI;EAAC,CAC3B,CAAC;AAER","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/primitives';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export default /*#__PURE__*/_jsx(SVG, {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ viewBox: "0 0 24 24",
9
+ children: /*#__PURE__*/_jsx(Path, {
10
+ fillRule: "evenodd",
11
+ clipRule: "evenodd",
12
+ d: "M8.10417 6.00024H6.5C5.39543 6.00024 4.5 6.89567 4.5 8.00024V10.3336H6V8.00024C6 7.7241 6.22386 7.50024 6.5 7.50024H8.10417V6.00024ZM4.5 13.6669V16.0002C4.5 17.1048 5.39543 18.0002 6.5 18.0002H8.10417V16.5002H6.5C6.22386 16.5002 6 16.2764 6 16.0002V13.6669H4.5ZM10.3958 6.00024V7.50024H13.6042V6.00024H10.3958ZM15.8958 6.00024V7.50024H17.5C17.7761 7.50024 18 7.7241 18 8.00024V10.3336H19.5V8.00024C19.5 6.89567 18.6046 6.00024 17.5 6.00024H15.8958ZM19.5 13.6669H18V16.0002C18 16.2764 17.7761 16.5002 17.5 16.5002H15.8958V18.0002H17.5C18.6046 18.0002 19.5 17.1048 19.5 16.0002V13.6669ZM13.6042 18.0002V16.5002H10.3958V18.0002H13.6042Z",
13
+ fill: "currentColor"
14
+ })
15
+ });
16
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SVG","Path","jsx","_jsx","xmlns","viewBox","children","fillRule","clipRule","d","fill"],"sources":["@wordpress/block-library/src/accordion-panel/icon.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nexport default (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M8.10417 6.00024H6.5C5.39543 6.00024 4.5 6.89567 4.5 8.00024V10.3336H6V8.00024C6 7.7241 6.22386 7.50024 6.5 7.50024H8.10417V6.00024ZM4.5 13.6669V16.0002C4.5 17.1048 5.39543 18.0002 6.5 18.0002H8.10417V16.5002H6.5C6.22386 16.5002 6 16.2764 6 16.0002V13.6669H4.5ZM10.3958 6.00024V7.50024H13.6042V6.00024H10.3958ZM15.8958 6.00024V7.50024H17.5C17.7761 7.50024 18 7.7241 18 8.00024V10.3336H19.5V8.00024C19.5 6.89567 18.6046 6.00024 17.5 6.00024H15.8958ZM19.5 13.6669H18V16.0002C18 16.2764 17.7761 16.5002 17.5 16.5002H15.8958V18.0002H17.5C18.6046 18.0002 19.5 17.1048 19.5 16.0002V13.6669ZM13.6042 18.0002V16.5002H10.3958V18.0002H13.6042Z\"\n\t\t\tfill=\"currentColor\"\n\t\t/>\n\t</SVG>\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAG,EAAEC,IAAI,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElD,4BACCA,IAAA,CAACH,GAAG;EAACI,KAAK,EAAC,4BAA4B;EAACC,OAAO,EAAC,WAAW;EAAAC,QAAA,eAC1DH,IAAA,CAACF,IAAI;IACJM,QAAQ,EAAC,SAAS;IAClBC,QAAQ,EAAC,SAAS;IAClBC,CAAC,EAAC,2nBAA2nB;IAC7nBC,IAAI,EAAC;EAAc,CACnB;AAAC,CACE,CAAC","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import edit from './edit';
5
+ import save from './save';
6
+ const metadata = {
7
+ $schema: "https://schemas.wp.org/trunk/block.json",
8
+ apiVersion: 3,
9
+ name: "core/accordion-panel",
10
+ version: "0.1.0",
11
+ title: "Accordion Panel",
12
+ category: "design",
13
+ description: "Displays an accordion panel.",
14
+ example: {},
15
+ __experimental: true,
16
+ parent: ["core/accordion-content"],
17
+ supports: {
18
+ color: {
19
+ background: true,
20
+ gradient: true
21
+ },
22
+ border: true,
23
+ interactivity: true,
24
+ spacing: {
25
+ padding: true,
26
+ margin: ["top", "bottom"],
27
+ blockGap: true,
28
+ __experimentalDefaultControls: {
29
+ padding: true,
30
+ blockGap: true
31
+ }
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
+ typography: {
46
+ fontSize: true,
47
+ lineHeight: true,
48
+ __experimentalFontFamily: true,
49
+ __experimentalFontWeight: true,
50
+ __experimentalFontStyle: true,
51
+ __experimentalTextTransform: true,
52
+ __experimentalTextDecoration: true,
53
+ __experimentalLetterSpacing: true,
54
+ __experimentalDefaultControls: {
55
+ fontSize: true
56
+ }
57
+ },
58
+ shadow: true
59
+ },
60
+ attributes: {
61
+ allowedBlocks: {
62
+ type: "array"
63
+ },
64
+ templateLock: {
65
+ type: ["string", "boolean"],
66
+ "enum": ["all", "insert", "contentOnly", false],
67
+ "default": false
68
+ },
69
+ openByDefault: {
70
+ type: "boolean",
71
+ "default": false
72
+ },
73
+ isSelected: {
74
+ type: "boolean",
75
+ "default": false
76
+ }
77
+ },
78
+ textdomain: "default"
79
+ };
80
+ import initBlock from '../utils/init-block';
81
+ import icon from './icon';
82
+ const {
83
+ name
84
+ } = metadata;
85
+ export { metadata, name };
86
+ export const settings = {
87
+ icon,
88
+ example: {},
89
+ edit,
90
+ save
91
+ };
92
+ export const init = () => initBlock({
93
+ name,
94
+ metadata,
95
+ settings
96
+ });
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["edit","save","metadata","$schema","apiVersion","name","version","title","category","description","example","__experimental","parent","supports","color","background","gradient","border","interactivity","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","radius","style","width","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","shadow","attributes","allowedBlocks","type","templateLock","openByDefault","isSelected","textdomain","initBlock","icon","settings","init"],"sources":["@wordpress/block-library/src/accordion-panel/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\nimport initBlock from '../utils/init-block';\nimport icon from './icon';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,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,QAAA;IAAAC,KAAA;MAAAC,UAAA;MAAAC,QAAA;IAAA;IAAAC,MAAA;IAAAC,aAAA;IAAAC,OAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,6BAAA;QAAAH,OAAA;QAAAE,QAAA;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,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAM,QAAA;MAAA;IAAA;IAAAQ,MAAA;EAAA;EAAAC,UAAA;IAAAC,aAAA;MAAAC,IAAA;IAAA;IAAAC,YAAA;MAAAD,IAAA;MAAA;MAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,UAAA;MAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,UAAA;AAAA;AAE1B,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEzC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM0C,QAAQ,GAAG;EACvBD,IAAI;EACJpC,OAAO,EAAE,CAAC,CAAC;EACXV,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAM+C,IAAI,GAAGA,CAAA,KAAMH,SAAS,CAAE;EAAExC,IAAI;EAAEH,QAAQ;EAAE6C;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { init } from './';
5
+ export default init();
6
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["init"],"sources":["@wordpress/block-library/src/accordion-panel/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,37 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { InnerBlocks, useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles, __experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles } 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 blockProps = useBlockProps.save();
14
+ const borderProps = getBorderClassesAndStyles(attributes);
15
+ const colorProps = getColorClassesAndStyles(attributes);
16
+ const spacingProps = getSpacingClassesAndStyles(attributes);
17
+ const shadowProps = getShadowClassesAndStyles(attributes);
18
+ return /*#__PURE__*/_jsx("div", {
19
+ ...blockProps,
20
+ className: clsx(blockProps.className, colorProps.className, borderProps.className, {
21
+ [`has-custom-font-size`]: blockProps?.style?.fontSize
22
+ }),
23
+ style: {
24
+ ...borderProps.style,
25
+ ...colorProps.style,
26
+ ...shadowProps.style
27
+ },
28
+ children: /*#__PURE__*/_jsx("div", {
29
+ className: "accordion-content__wrapper",
30
+ style: {
31
+ ...spacingProps.style
32
+ },
33
+ children: /*#__PURE__*/_jsx(InnerBlocks.Content, {})
34
+ })
35
+ });
36
+ }
37
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["InnerBlocks","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","clsx","jsx","_jsx","save","attributes","blockProps","borderProps","colorProps","spacingProps","shadowProps","className","style","fontSize","children","Content"],"sources":["@wordpress/block-library/src/accordion-panel/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n} from '@wordpress/block-editor';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\nexport default function save( { attributes } ) {\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\treturn (\n\t\t<div\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{\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps?.style?.fontSize,\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<div\n\t\t\t\tclassName=\"accordion-content__wrapper\"\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<InnerBlocks.Content />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,WAAW,EACXC,aAAa,EACbC,uCAAuC,IAAIC,yBAAyB,EACpEC,sCAAsC,IAAIC,wBAAwB,EAClEC,wCAAwC,IAAIC,0BAA0B,EACtEC,uCAAuC,IAAIC,yBAAyB,QAC9D,yBAAyB;AAChC;AACA;AACA;AACA,OAAOC,IAAI,MAAM,MAAM;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExB,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAMC,UAAU,GAAGd,aAAa,CAACY,IAAI,CAAC,CAAC;EACvC,MAAMG,WAAW,GAAGb,yBAAyB,CAAEW,UAAW,CAAC;EAC3D,MAAMG,UAAU,GAAGZ,wBAAwB,CAAES,UAAW,CAAC;EACzD,MAAMI,YAAY,GAAGX,0BAA0B,CAAEO,UAAW,CAAC;EAC7D,MAAMK,WAAW,GAAGV,yBAAyB,CAAEK,UAAW,CAAC;EAE3D,oBACCF,IAAA;IAAA,GACMG,UAAU;IACfK,SAAS,EAAGV,IAAI,CACfK,UAAU,CAACK,SAAS,EACpBH,UAAU,CAACG,SAAS,EACpBJ,WAAW,CAACI,SAAS,EACrB;MACC,CAAE,sBAAsB,GAAIL,UAAU,EAAEM,KAAK,EAAEC;IAChD,CACD,CAAG;IACHD,KAAK,EAAG;MACP,GAAGL,WAAW,CAACK,KAAK;MACpB,GAAGJ,UAAU,CAACI,KAAK;MACnB,GAAGF,WAAW,CAACE;IAChB,CAAG;IAAAE,QAAA,eAEHX,IAAA;MACCQ,SAAS,EAAC,4BAA4B;MACtCC,KAAK,EAAG;QACP,GAAGH,YAAY,CAACG;MACjB,CAAG;MAAAE,QAAA,eAEHX,IAAA,CAACZ,WAAW,CAACwB,OAAO,IAAE;IAAC,CACnB;EAAC,CACF,CAAC;AAER","ignoreList":[]}
@@ -20,7 +20,8 @@ const metadata = {
20
20
  textdomain: "default",
21
21
  attributes: {
22
22
  url: {
23
- type: "string"
23
+ type: "string",
24
+ role: "content"
24
25
  },
25
26
  useFeaturedImage: {
26
27
  type: "boolean",
@@ -1 +1 @@
1
- {"version":3,"names":["__","cover","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","useFeaturedImage","id","alt","hasParallax","isRepeated","dimRatio","overlayColor","customOverlayColor","isUserOverlayColor","backgroundType","focalPoint","minHeight","minHeightUnit","gradient","customGradient","contentPosition","isDark","allowedBlocks","templateLock","tagName","sizeSlug","poster","source","selector","attribute","usesContext","supports","anchor","align","html","shadow","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","dimensions","aspectRatio","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","interactivity","clientNavigation","filter","duotone","selectors","editorStyle","save","transforms","variations","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/cover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\tstyle: {\n\t\t\t\ttypography: {\n\t\t\t\t\tfontSize: 48,\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: 'white',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: `<strong>${ __( 'Snow Patrol' ) }</strong>`,\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;IAAAC,gBAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,EAAA;MAAAF,IAAA;IAAA;IAAAG,GAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,WAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,UAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,QAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,YAAA;MAAAP,IAAA;IAAA;IAAAQ,kBAAA;MAAAR,IAAA;IAAA;IAAAS,kBAAA;MAAAT,IAAA;IAAA;IAAAU,cAAA;MAAAV,IAAA;MAAA;IAAA;IAAAW,UAAA;MAAAX,IAAA;IAAA;IAAAY,SAAA;MAAAZ,IAAA;IAAA;IAAAa,aAAA;MAAAb,IAAA;IAAA;IAAAc,QAAA;MAAAd,IAAA;IAAA;IAAAe,cAAA;MAAAf,IAAA;IAAA;IAAAgB,eAAA;MAAAhB,IAAA;IAAA;IAAAiB,MAAA;MAAAjB,IAAA;MAAA;IAAA;IAAAkB,aAAA;MAAAlB,IAAA;IAAA;IAAAmB,YAAA;MAAAnB,IAAA;MAAA;IAAA;IAAAoB,OAAA;MAAApB,IAAA;MAAA;IAAA;IAAAqB,QAAA;MAAArB,IAAA;IAAA;IAAAsB,MAAA;MAAAtB,IAAA;MAAAuB,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,OAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,6BAAA;QAAAH,OAAA;QAAAE,QAAA;MAAA;IAAA;IAAAE,oBAAA;MAAAC,KAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAL,6BAAA;QAAAE,KAAA;QAAAC,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAH,KAAA;MAAAI,OAAA;MAAAC,IAAA;MAAAC,UAAA;MAAAC,+BAAA;MAAAC,qBAAA;IAAA;IAAAC,UAAA;MAAAC,WAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAArB,6BAAA;QAAAc,QAAA;MAAA;IAAA;IAAAQ,MAAA;MAAAC,kBAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;IAAAC,MAAA;MAAAC,OAAA;IAAA;EAAA;EAAAC,SAAA;IAAAF,MAAA;MAAAC,OAAA;IAAA;EAAA;EAAAE,WAAA;EAAAzB,KAAA;AAAA;AAE1B,OAAO0B,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE3E;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM4E,QAAQ,GAAG;EACvBnF,IAAI;EACJoF,OAAO,EAAE;IACRxE,UAAU,EAAE;MACXU,kBAAkB,EAAE,SAAS;MAC7BF,QAAQ,EAAE,EAAE;MACZP,GAAG,EAAE,mDAAmD;MACxDyC,KAAK,EAAE;QACNS,UAAU,EAAE;UACXC,QAAQ,EAAE;QACX,CAAC;QACDZ,KAAK,EAAE;UACNK,IAAI,EAAE;QACP;MACD;IACD,CAAC;IACD4B,WAAW,EAAE,CACZ;MACC9E,IAAI,EAAE,gBAAgB;MACtBK,UAAU,EAAE;QACX0E,OAAO,EAAE,WAAYxF,EAAE,CAAE,aAAc,CAAC,WAAY;QACpD6C,KAAK,EAAE;MACR;IACD,CAAC;EAEH,CAAC;EACDsC,UAAU;EACVD,IAAI;EACJ7E,IAAI;EACJD,UAAU;EACVgF;AACD,CAAC;AAED,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAMtF,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE+E;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__","cover","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","role","useFeaturedImage","id","alt","hasParallax","isRepeated","dimRatio","overlayColor","customOverlayColor","isUserOverlayColor","backgroundType","focalPoint","minHeight","minHeightUnit","gradient","customGradient","contentPosition","isDark","allowedBlocks","templateLock","tagName","sizeSlug","poster","source","selector","attribute","usesContext","supports","anchor","align","html","shadow","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","dimensions","aspectRatio","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","interactivity","clientNavigation","filter","duotone","selectors","editorStyle","save","transforms","variations","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/cover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\tstyle: {\n\t\t\t\ttypography: {\n\t\t\t\t\tfontSize: 48,\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: 'white',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: `<strong>${ __( 'Snow Patrol' ) }</strong>`,\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
@@ -166,6 +166,12 @@ function ClassicEdit({
166
166
  event.stopPropagation();
167
167
  }
168
168
  });
169
+ editor.on('paste', event => {
170
+ // TinyMCE selection isn’t synced with the block editor selection store.
171
+ // This event handler prevents paste from bubbling so the useClipboardHandler
172
+ // won’t replace the block.
173
+ event.stopPropagation();
174
+ });
169
175
  editor.on('init', () => {
170
176
  const rootNode = editor.getBody();
171
177
 
@@ -1 +1 @@
1
- {"version":3,"names":["BlockControls","useBlockProps","store","blockEditorStore","debounce","useRefEffect","useSelect","ToolbarGroup","useEffect","useRef","useState","__","BACKSPACE","DELETE","F10","isKeyboardEvent","ConvertToBlocksButton","ModalEdit","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","select","canRemoveBlock","isIframed","setIsIframed","ref","element","ownerDocument","document","children","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMountRef","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","primary","stopPropagation","keyCode","preventDefault","stopImmediatePropagation","altKey","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent","id","className","onClick","onKeyDown"],"sources":["@wordpress/block-library/src/freeform/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMountRef = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMountRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( ! editor ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentContent = editor.getContent();\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ clientId, content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMountRef.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t\tdidMountRef.current = false;\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BlockControls","useBlockProps","store","blockEditorStore","debounce","useRefEffect","useSelect","ToolbarGroup","useEffect","useRef","useState","__","BACKSPACE","DELETE","F10","isKeyboardEvent","ConvertToBlocksButton","ModalEdit","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","select","canRemoveBlock","isIframed","setIsIframed","ref","element","ownerDocument","document","children","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMountRef","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","primary","stopPropagation","keyCode","preventDefault","stopImmediatePropagation","altKey","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent","id","className","onClick","onKeyDown"],"sources":["@wordpress/block-library/src/freeform/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMountRef = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMountRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( ! editor ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentContent = editor.getContent();\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ clientId, content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMountRef.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'paste', ( event ) => {\n\t\t\t\t// TinyMCE selection isn’t synced with the block editor selection store.\n\t\t\t\t// This event handler prevents paste from bubbling so the useClipboardHandler\n\t\t\t\t// won’t replace the block.\n\t\t\t\tevent.stopPropagation();\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t\tdidMountRef.current = false;\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"],"mappings":"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","ignoreList":[]}