@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.
Files changed (271) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/accordion-header/edit.js +118 -0
  3. package/build/accordion-header/edit.js.map +1 -0
  4. package/build/accordion-header/index.js +124 -0
  5. package/build/accordion-header/index.js.map +1 -0
  6. package/build/accordion-header/init.js +12 -0
  7. package/build/accordion-header/init.js.map +1 -0
  8. package/build/accordion-header/save.js +81 -0
  9. package/build/accordion-header/save.js.map +1 -0
  10. package/build/accordion-item/edit.js +129 -0
  11. package/build/accordion-item/edit.js.map +1 -0
  12. package/build/accordion-item/icons.js +30 -0
  13. package/build/accordion-item/icons.js.map +1 -0
  14. package/build/accordion-item/index.js +79 -0
  15. package/build/accordion-item/index.js.map +1 -0
  16. package/build/accordion-item/init.js +12 -0
  17. package/build/accordion-item/init.js.map +1 -0
  18. package/build/accordion-item/save.js +37 -0
  19. package/build/accordion-item/save.js.map +1 -0
  20. package/build/accordion-panel/edit.js +59 -0
  21. package/build/accordion-panel/edit.js.map +1 -0
  22. package/build/accordion-panel/index.js +108 -0
  23. package/build/accordion-panel/index.js.map +1 -0
  24. package/build/accordion-panel/init.js +12 -0
  25. package/build/accordion-panel/init.js.map +1 -0
  26. package/build/accordion-panel/save.js +46 -0
  27. package/build/accordion-panel/save.js.map +1 -0
  28. package/build/accordions/edit.js +123 -0
  29. package/build/accordions/edit.js.map +1 -0
  30. package/build/accordions/index.js +103 -0
  31. package/build/accordions/index.js.map +1 -0
  32. package/build/accordions/init.js +12 -0
  33. package/build/accordions/init.js.map +1 -0
  34. package/build/accordions/save.js +36 -0
  35. package/build/accordions/save.js.map +1 -0
  36. package/build/accordions/view.js +49 -0
  37. package/build/accordions/view.js.map +1 -0
  38. package/build/cover/edit/index.js +1 -1
  39. package/build/cover/edit/index.js.map +1 -1
  40. package/build/cover/edit/inspector-controls.js +1 -1
  41. package/build/cover/edit/inspector-controls.js.map +1 -1
  42. package/build/cover/index.js +2 -1
  43. package/build/cover/index.js.map +1 -1
  44. package/build/file/edit.js +4 -2
  45. package/build/file/edit.js.map +1 -1
  46. package/build/file/edit.native.js +1 -1
  47. package/build/file/edit.native.js.map +1 -1
  48. package/build/file/transforms.js +6 -6
  49. package/build/file/transforms.js.map +1 -1
  50. package/build/file/utils/index.js +5 -0
  51. package/build/file/utils/index.js.map +1 -1
  52. package/build/freeform/edit.js +6 -0
  53. package/build/freeform/edit.js.map +1 -1
  54. package/build/gallery/use-get-media.js +3 -3
  55. package/build/gallery/use-get-media.js.map +1 -1
  56. package/build/gallery/use-get-media.native.js +3 -3
  57. package/build/gallery/use-get-media.native.js.map +1 -1
  58. package/build/image/edit.native.js +2 -2
  59. package/build/image/edit.native.js.map +1 -1
  60. package/build/image/image.js +1 -1
  61. package/build/image/image.js.map +1 -1
  62. package/build/index.js +10 -0
  63. package/build/index.js.map +1 -1
  64. package/build/list-item/edit.js +3 -0
  65. package/build/list-item/edit.js.map +1 -1
  66. package/build/media-text/edit.js +2 -2
  67. package/build/media-text/edit.js.map +1 -1
  68. package/build/media-text/media-container.js +2 -1
  69. package/build/media-text/media-container.js.map +1 -1
  70. package/build/media-text/transforms.js +7 -3
  71. package/build/media-text/transforms.js.map +1 -1
  72. package/build/more/edit.js +13 -28
  73. package/build/more/edit.js.map +1 -1
  74. package/build/post-comments-count/index.js +3 -0
  75. package/build/post-comments-count/index.js.map +1 -1
  76. package/build/post-comments-link/index.js +3 -0
  77. package/build/post-comments-link/index.js.map +1 -1
  78. package/build/post-featured-image/edit.js +2 -2
  79. package/build/post-featured-image/edit.js.map +1 -1
  80. package/build/query-title/edit.js +52 -2
  81. package/build/query-title/edit.js.map +1 -1
  82. package/build/query-title/index.js +1 -0
  83. package/build/query-title/index.js.map +1 -1
  84. package/build/query-title/use-post-type-label.js +42 -0
  85. package/build/query-title/use-post-type-label.js.map +1 -0
  86. package/build/query-title/variations.js +10 -0
  87. package/build/query-title/variations.js.map +1 -1
  88. package/build/site-logo/edit.js +58 -43
  89. package/build/site-logo/edit.js.map +1 -1
  90. package/build/site-title/edit.js +9 -3
  91. package/build/site-title/edit.js.map +1 -1
  92. package/build/social-link/icons/tiktok.js +2 -2
  93. package/build/social-link/icons/tiktok.js.map +1 -1
  94. package/build/utils/poster-image.js +54 -6
  95. package/build/utils/poster-image.js.map +1 -1
  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/index.js +116 -0
  99. package/build-module/accordion-header/index.js.map +1 -0
  100. package/build-module/accordion-header/init.js +6 -0
  101. package/build-module/accordion-header/init.js.map +1 -0
  102. package/build-module/accordion-header/save.js +71 -0
  103. package/build-module/accordion-header/save.js.map +1 -0
  104. package/build-module/accordion-item/edit.js +120 -0
  105. package/build-module/accordion-item/edit.js.map +1 -0
  106. package/build-module/accordion-item/icons.js +22 -0
  107. package/build-module/accordion-item/icons.js.map +1 -0
  108. package/build-module/accordion-item/index.js +71 -0
  109. package/build-module/accordion-item/index.js.map +1 -0
  110. package/build-module/accordion-item/init.js +6 -0
  111. package/build-module/accordion-item/init.js.map +1 -0
  112. package/build-module/accordion-item/save.js +28 -0
  113. package/build-module/accordion-item/save.js.map +1 -0
  114. package/build-module/accordion-panel/edit.js +50 -0
  115. package/build-module/accordion-panel/edit.js.map +1 -0
  116. package/build-module/accordion-panel/index.js +100 -0
  117. package/build-module/accordion-panel/index.js.map +1 -0
  118. package/build-module/accordion-panel/init.js +6 -0
  119. package/build-module/accordion-panel/init.js.map +1 -0
  120. package/build-module/accordion-panel/save.js +37 -0
  121. package/build-module/accordion-panel/save.js.map +1 -0
  122. package/build-module/accordions/edit.js +116 -0
  123. package/build-module/accordions/edit.js.map +1 -0
  124. package/build-module/accordions/index.js +95 -0
  125. package/build-module/accordions/index.js.map +1 -0
  126. package/build-module/accordions/init.js +6 -0
  127. package/build-module/accordions/init.js.map +1 -0
  128. package/build-module/accordions/save.js +27 -0
  129. package/build-module/accordions/save.js.map +1 -0
  130. package/build-module/accordions/view.js +46 -0
  131. package/build-module/accordions/view.js.map +1 -0
  132. package/build-module/cover/edit/index.js +1 -1
  133. package/build-module/cover/edit/index.js.map +1 -1
  134. package/build-module/cover/edit/inspector-controls.js +1 -1
  135. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  136. package/build-module/cover/index.js +2 -1
  137. package/build-module/cover/index.js.map +1 -1
  138. package/build-module/file/edit.js +4 -2
  139. package/build-module/file/edit.js.map +1 -1
  140. package/build-module/file/edit.native.js +1 -1
  141. package/build-module/file/edit.native.js.map +1 -1
  142. package/build-module/file/transforms.js +6 -6
  143. package/build-module/file/transforms.js.map +1 -1
  144. package/build-module/file/utils/index.js +5 -0
  145. package/build-module/file/utils/index.js.map +1 -1
  146. package/build-module/freeform/edit.js +6 -0
  147. package/build-module/freeform/edit.js.map +1 -1
  148. package/build-module/gallery/use-get-media.js +3 -3
  149. package/build-module/gallery/use-get-media.js.map +1 -1
  150. package/build-module/gallery/use-get-media.native.js +3 -3
  151. package/build-module/gallery/use-get-media.native.js.map +1 -1
  152. package/build-module/image/edit.native.js +2 -2
  153. package/build-module/image/edit.native.js.map +1 -1
  154. package/build-module/image/image.js +1 -1
  155. package/build-module/image/image.js.map +1 -1
  156. package/build-module/index.js +10 -0
  157. package/build-module/index.js.map +1 -1
  158. package/build-module/list-item/edit.js +3 -0
  159. package/build-module/list-item/edit.js.map +1 -1
  160. package/build-module/media-text/edit.js +2 -2
  161. package/build-module/media-text/edit.js.map +1 -1
  162. package/build-module/media-text/media-container.js +2 -1
  163. package/build-module/media-text/media-container.js.map +1 -1
  164. package/build-module/media-text/transforms.js +7 -3
  165. package/build-module/media-text/transforms.js.map +1 -1
  166. package/build-module/more/edit.js +15 -29
  167. package/build-module/more/edit.js.map +1 -1
  168. package/build-module/post-comments-count/index.js +3 -0
  169. package/build-module/post-comments-count/index.js.map +1 -1
  170. package/build-module/post-comments-link/index.js +3 -0
  171. package/build-module/post-comments-link/index.js.map +1 -1
  172. package/build-module/post-featured-image/edit.js +2 -2
  173. package/build-module/post-featured-image/edit.js.map +1 -1
  174. package/build-module/query-title/edit.js +52 -2
  175. package/build-module/query-title/edit.js.map +1 -1
  176. package/build-module/query-title/index.js +1 -0
  177. package/build-module/query-title/index.js.map +1 -1
  178. package/build-module/query-title/use-post-type-label.js +36 -0
  179. package/build-module/query-title/use-post-type-label.js.map +1 -0
  180. package/build-module/query-title/variations.js +10 -0
  181. package/build-module/query-title/variations.js.map +1 -1
  182. package/build-module/site-logo/edit.js +59 -44
  183. package/build-module/site-logo/edit.js.map +1 -1
  184. package/build-module/site-title/edit.js +10 -4
  185. package/build-module/site-title/edit.js.map +1 -1
  186. package/build-module/social-link/icons/tiktok.js +2 -2
  187. package/build-module/social-link/icons/tiktok.js.map +1 -1
  188. package/build-module/utils/poster-image.js +57 -9
  189. package/build-module/utils/poster-image.js.map +1 -1
  190. package/build-style/accordions/style-rtl.css +223 -0
  191. package/build-style/accordions/style.css +223 -0
  192. package/build-style/editor-rtl.css +23 -26
  193. package/build-style/editor.css +23 -26
  194. package/build-style/gallery/style-rtl.css +1 -2
  195. package/build-style/gallery/style.css +1 -2
  196. package/build-style/image/style-rtl.css +1 -2
  197. package/build-style/image/style.css +1 -2
  198. package/build-style/more/editor-rtl.css +3 -11
  199. package/build-style/more/editor.css +3 -11
  200. package/build-style/post-featured-image/editor-rtl.css +1 -2
  201. package/build-style/post-featured-image/editor.css +1 -2
  202. package/build-style/style-rtl.css +90 -4
  203. package/build-style/style.css +90 -4
  204. package/package.json +36 -35
  205. package/src/accordion-header/block.json +93 -0
  206. package/src/accordion-header/edit.js +128 -0
  207. package/src/accordion-header/index.js +24 -0
  208. package/src/accordion-header/init.js +6 -0
  209. package/src/accordion-header/save.js +79 -0
  210. package/src/accordion-item/block.json +45 -0
  211. package/src/accordion-item/edit.js +149 -0
  212. package/src/accordion-item/icons.js +23 -0
  213. package/src/accordion-item/index.js +24 -0
  214. package/src/accordion-item/index.php +73 -0
  215. package/src/accordion-item/init.js +6 -0
  216. package/src/accordion-item/save.js +25 -0
  217. package/src/accordion-panel/block.json +74 -0
  218. package/src/accordion-panel/edit.js +61 -0
  219. package/src/accordion-panel/index.js +24 -0
  220. package/src/accordion-panel/init.js +6 -0
  221. package/src/accordion-panel/save.js +51 -0
  222. package/src/accordions/block.json +69 -0
  223. package/src/accordions/edit.js +133 -0
  224. package/src/accordions/index.js +24 -0
  225. package/src/accordions/index.php +61 -0
  226. package/src/accordions/init.js +6 -0
  227. package/src/accordions/save.js +23 -0
  228. package/src/accordions/style.scss +91 -0
  229. package/src/accordions/view.js +38 -0
  230. package/src/block/index.php +35 -20
  231. package/src/cover/block.json +2 -1
  232. package/src/cover/edit/index.js +8 -3
  233. package/src/cover/edit/inspector-controls.js +6 -1
  234. package/src/file/edit.js +9 -4
  235. package/src/file/edit.native.js +5 -1
  236. package/src/file/index.php +28 -22
  237. package/src/file/transforms.js +6 -6
  238. package/src/file/utils/index.js +5 -0
  239. package/src/form-input/index.php +4 -2
  240. package/src/freeform/edit.js +7 -0
  241. package/src/gallery/use-get-media.js +9 -5
  242. package/src/gallery/use-get-media.native.js +10 -6
  243. package/src/image/edit.native.js +4 -2
  244. package/src/image/image.js +6 -1
  245. package/src/image/index.php +1 -1
  246. package/src/image/test/edit.native.js +16 -10
  247. package/src/index.js +12 -0
  248. package/src/list-item/edit.js +3 -0
  249. package/src/loginout/index.php +4 -2
  250. package/src/media-text/edit.js +16 -6
  251. package/src/media-text/media-container.js +1 -0
  252. package/src/media-text/transforms.js +5 -1
  253. package/src/more/edit.js +27 -33
  254. package/src/more/editor.scss +3 -12
  255. package/src/post-comments-count/block.json +3 -0
  256. package/src/post-comments-link/block.json +3 -0
  257. package/src/post-date/index.php +28 -32
  258. package/src/post-excerpt/index.php +16 -12
  259. package/src/post-featured-image/edit.js +2 -2
  260. package/src/query-title/block.json +1 -0
  261. package/src/query-title/edit.js +58 -1
  262. package/src/query-title/index.php +30 -5
  263. package/src/query-title/use-post-type-label.js +34 -0
  264. package/src/query-title/variations.js +13 -0
  265. package/src/site-logo/edit.js +44 -16
  266. package/src/site-title/edit.js +24 -16
  267. package/src/social-link/icons/tiktok.js +2 -2
  268. package/src/social-link/index.php +1 -1
  269. package/src/style.scss +1 -0
  270. package/src/utils/poster-image.js +62 -17
  271. package/src/utils/poster-image.scss +23 -16
@@ -146,26 +146,18 @@
146
146
  text-align: center;
147
147
  white-space: nowrap;
148
148
  }
149
- .wp-block-more input[type=text] {
149
+ .wp-block-more .rich-text {
150
150
  position: relative;
151
151
  font-size: 13px;
152
152
  text-transform: uppercase;
153
153
  font-weight: 600;
154
154
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
155
155
  color: #757575;
156
- border: none;
157
- box-shadow: none;
156
+ display: inline-flex;
158
157
  white-space: nowrap;
159
158
  text-align: center;
160
- margin: 0;
161
- border-radius: 4px;
162
159
  background: #fff;
163
- padding: 6px 8px;
164
- height: 24px;
165
- max-width: 100%;
166
- }
167
- .wp-block-more input[type=text]:focus {
168
- box-shadow: none;
160
+ padding: 10px 36px;
169
161
  }
170
162
  .wp-block-more::before {
171
163
  content: "";
@@ -146,26 +146,18 @@
146
146
  text-align: center;
147
147
  white-space: nowrap;
148
148
  }
149
- .wp-block-more input[type=text] {
149
+ .wp-block-more .rich-text {
150
150
  position: relative;
151
151
  font-size: 13px;
152
152
  text-transform: uppercase;
153
153
  font-weight: 600;
154
154
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
155
155
  color: #757575;
156
- border: none;
157
- box-shadow: none;
156
+ display: inline-flex;
158
157
  white-space: nowrap;
159
158
  text-align: center;
160
- margin: 0;
161
- border-radius: 4px;
162
159
  background: #fff;
163
- padding: 6px 8px;
164
- height: 24px;
165
- max-width: 100%;
166
- }
167
- .wp-block-more input[type=text]:focus {
168
- box-shadow: none;
160
+ padding: 10px 36px;
169
161
  }
170
162
  .wp-block-more::before {
171
163
  content: "";
@@ -136,8 +136,7 @@
136
136
  */
137
137
  .wp-block-post-featured-image .block-editor-media-placeholder {
138
138
  z-index: 1;
139
- -webkit-backdrop-filter: none;
140
- backdrop-filter: none;
139
+ backdrop-filter: none;
141
140
  }
142
141
  .wp-block-post-featured-image .wp-block-post-featured-image__placeholder,
143
142
  .wp-block-post-featured-image .components-placeholder {
@@ -136,8 +136,7 @@
136
136
  */
137
137
  .wp-block-post-featured-image .block-editor-media-placeholder {
138
138
  z-index: 1;
139
- -webkit-backdrop-filter: none;
140
- backdrop-filter: none;
139
+ backdrop-filter: none;
141
140
  }
142
141
  .wp-block-post-featured-image .wp-block-post-featured-image__placeholder,
143
142
  .wp-block-post-featured-image .components-placeholder {
@@ -135,6 +135,94 @@
135
135
  /**
136
136
  * Reset the WP Admin page styles for Gutenberg-like pages.
137
137
  */
138
+ .wp-block-accordion-item {
139
+ display: grid;
140
+ grid-template-rows: max-content 0fr;
141
+ }
142
+
143
+ .wp-block-accordion-item.is-open {
144
+ grid-template-rows: max-content 1fr;
145
+ }
146
+
147
+ .accordion-item__heading {
148
+ margin-block-start: 0;
149
+ margin-block-end: 0;
150
+ }
151
+
152
+ .accordion-item__toggle {
153
+ font-family: inherit;
154
+ font-size: inherit;
155
+ font-weight: inherit;
156
+ line-height: inherit;
157
+ letter-spacing: inherit;
158
+ text-transform: inherit;
159
+ text-decoration: inherit;
160
+ word-spacing: inherit;
161
+ background: none;
162
+ border: none;
163
+ color: inherit;
164
+ padding: var(--wp--preset--spacing--20, 1em) 0;
165
+ cursor: pointer;
166
+ outline: none;
167
+ display: flex;
168
+ align-items: center;
169
+ text-align: inherit;
170
+ position: relative;
171
+ width: 100%;
172
+ }
173
+
174
+ .accordion-item__toggle > span {
175
+ width: 100%;
176
+ }
177
+
178
+ .is-layout-flow > .wp-block-accordion-panel,
179
+ .wp-block-accordion-panel {
180
+ overflow: hidden;
181
+ margin: 0;
182
+ }
183
+
184
+ .accordion-panel__wrapper {
185
+ padding-bottom: var(--wp--preset--spacing--20, 1em);
186
+ }
187
+
188
+ /* No icon block style */
189
+ .is-style-no-icon .accordion-item__toggle-icon {
190
+ background-color: unset;
191
+ }
192
+
193
+ .wp-block-accordion-header.icon-position-left .accordion-item__toggle {
194
+ /* stylelint-disable-next-line declaration-property-value-allowed-list -- This should be refactored to not use the row-reverse value. */
195
+ flex-direction: row-reverse;
196
+ }
197
+
198
+ /* RTL language support */
199
+ [dir=rtl] .wp-block-accordion-header:not(.icon-position-left) .accordion-item__toggle {
200
+ /* stylelint-disable-next-line declaration-property-value-allowed-list -- Automatically adjust icon position for RTL languages. */
201
+ flex-direction: row-reverse;
202
+ }
203
+
204
+ [dir=rtl] .wp-block-accordion-header.icon-position-left .accordion-item__toggle {
205
+ flex-direction: row;
206
+ }
207
+
208
+ .accordion-item__toggle:focus-visible {
209
+ outline: 2px solid -webkit-focus-ring-color;
210
+ outline-offset: 2px;
211
+ }
212
+
213
+ /* Add transitions only for users who do not prefer reduced motion */
214
+ @media (prefers-reduced-motion: no-preference) {
215
+ .wp-block-accordion-item .accordion-item__toggle-icon {
216
+ transition: transform 0.2s ease-in-out;
217
+ }
218
+ .wp-block-accordion-item {
219
+ transition: grid-template-rows 0.3s ease-out;
220
+ }
221
+ }
222
+ .is-open .accordion-item__toggle-icon.has-icon-plus {
223
+ transform: rotate(-45deg);
224
+ }
225
+
138
226
  .wp-block-archives {
139
227
  box-sizing: border-box;
140
228
  }
@@ -1465,8 +1553,7 @@ figure.wp-block-gallery.has-nested-images {
1465
1553
  height: 100%;
1466
1554
  max-height: 40%;
1467
1555
  pointer-events: none;
1468
- -webkit-backdrop-filter: blur(3px);
1469
- backdrop-filter: blur(3px);
1556
+ backdrop-filter: blur(3px);
1470
1557
  -webkit-mask-image: linear-gradient(0deg, #000 20%, transparent 100%);
1471
1558
  mask-image: linear-gradient(0deg, #000 20%, transparent 100%);
1472
1559
  }
@@ -1741,8 +1828,7 @@ h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]) {
1741
1828
  opacity: 0;
1742
1829
  border: none;
1743
1830
  background-color: rgba(90, 90, 90, 0.25);
1744
- -webkit-backdrop-filter: blur(16px) saturate(180%);
1745
- backdrop-filter: blur(16px) saturate(180%);
1831
+ backdrop-filter: blur(16px) saturate(180%);
1746
1832
  cursor: zoom-in;
1747
1833
  display: flex;
1748
1834
  justify-content: center;
@@ -135,6 +135,94 @@
135
135
  /**
136
136
  * Reset the WP Admin page styles for Gutenberg-like pages.
137
137
  */
138
+ .wp-block-accordion-item {
139
+ display: grid;
140
+ grid-template-rows: max-content 0fr;
141
+ }
142
+
143
+ .wp-block-accordion-item.is-open {
144
+ grid-template-rows: max-content 1fr;
145
+ }
146
+
147
+ .accordion-item__heading {
148
+ margin-block-start: 0;
149
+ margin-block-end: 0;
150
+ }
151
+
152
+ .accordion-item__toggle {
153
+ font-family: inherit;
154
+ font-size: inherit;
155
+ font-weight: inherit;
156
+ line-height: inherit;
157
+ letter-spacing: inherit;
158
+ text-transform: inherit;
159
+ text-decoration: inherit;
160
+ word-spacing: inherit;
161
+ background: none;
162
+ border: none;
163
+ color: inherit;
164
+ padding: var(--wp--preset--spacing--20, 1em) 0;
165
+ cursor: pointer;
166
+ outline: none;
167
+ display: flex;
168
+ align-items: center;
169
+ text-align: inherit;
170
+ position: relative;
171
+ width: 100%;
172
+ }
173
+
174
+ .accordion-item__toggle > span {
175
+ width: 100%;
176
+ }
177
+
178
+ .is-layout-flow > .wp-block-accordion-panel,
179
+ .wp-block-accordion-panel {
180
+ overflow: hidden;
181
+ margin: 0;
182
+ }
183
+
184
+ .accordion-panel__wrapper {
185
+ padding-bottom: var(--wp--preset--spacing--20, 1em);
186
+ }
187
+
188
+ /* No icon block style */
189
+ .is-style-no-icon .accordion-item__toggle-icon {
190
+ background-color: unset;
191
+ }
192
+
193
+ .wp-block-accordion-header.icon-position-left .accordion-item__toggle {
194
+ /* stylelint-disable-next-line declaration-property-value-allowed-list -- This should be refactored to not use the row-reverse value. */
195
+ flex-direction: row-reverse;
196
+ }
197
+
198
+ /* RTL language support */
199
+ [dir=rtl] .wp-block-accordion-header:not(.icon-position-left) .accordion-item__toggle {
200
+ /* stylelint-disable-next-line declaration-property-value-allowed-list -- Automatically adjust icon position for RTL languages. */
201
+ flex-direction: row-reverse;
202
+ }
203
+
204
+ [dir=rtl] .wp-block-accordion-header.icon-position-left .accordion-item__toggle {
205
+ flex-direction: row;
206
+ }
207
+
208
+ .accordion-item__toggle:focus-visible {
209
+ outline: 2px solid -webkit-focus-ring-color;
210
+ outline-offset: 2px;
211
+ }
212
+
213
+ /* Add transitions only for users who do not prefer reduced motion */
214
+ @media (prefers-reduced-motion: no-preference) {
215
+ .wp-block-accordion-item .accordion-item__toggle-icon {
216
+ transition: transform 0.2s ease-in-out;
217
+ }
218
+ .wp-block-accordion-item {
219
+ transition: grid-template-rows 0.3s ease-out;
220
+ }
221
+ }
222
+ .is-open .accordion-item__toggle-icon.has-icon-plus {
223
+ transform: rotate(45deg);
224
+ }
225
+
138
226
  .wp-block-archives {
139
227
  box-sizing: border-box;
140
228
  }
@@ -1473,8 +1561,7 @@ figure.wp-block-gallery.has-nested-images {
1473
1561
  height: 100%;
1474
1562
  max-height: 40%;
1475
1563
  pointer-events: none;
1476
- -webkit-backdrop-filter: blur(3px);
1477
- backdrop-filter: blur(3px);
1564
+ backdrop-filter: blur(3px);
1478
1565
  -webkit-mask-image: linear-gradient(0deg, #000 20%, transparent 100%);
1479
1566
  mask-image: linear-gradient(0deg, #000 20%, transparent 100%);
1480
1567
  }
@@ -1755,8 +1842,7 @@ h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]) {
1755
1842
  opacity: 0;
1756
1843
  border: none;
1757
1844
  background-color: rgba(90, 90, 90, 0.25);
1758
- -webkit-backdrop-filter: blur(16px) saturate(180%);
1759
- backdrop-filter: blur(16px) saturate(180%);
1845
+ backdrop-filter: blur(16px) saturate(180%);
1760
1846
  cursor: zoom-in;
1761
1847
  display: flex;
1762
1848
  justify-content: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-library",
3
- "version": "9.27.1-next.46f643fa0.0",
3
+ "version": "9.28.1-next.0f6f9d12c.0",
4
4
  "description": "Block library for the WordPress editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,6 +27,7 @@
27
27
  "react-native": "src/index",
28
28
  "wpScript": true,
29
29
  "wpScriptModuleExports": {
30
+ "./accordions/view": "./build-module/accordions/view.js",
30
31
  "./file/view": "./build-module/file/view.js",
31
32
  "./form/view": "./build-module/form/view.js",
32
33
  "./image/view": "./build-module/image/view.js",
@@ -41,39 +42,39 @@
41
42
  ],
42
43
  "dependencies": {
43
44
  "@babel/runtime": "7.25.7",
44
- "@wordpress/a11y": "^4.27.1-next.46f643fa0.0",
45
- "@wordpress/api-fetch": "^7.27.1-next.46f643fa0.0",
46
- "@wordpress/autop": "^4.27.1-next.46f643fa0.0",
47
- "@wordpress/blob": "^4.27.1-next.46f643fa0.0",
48
- "@wordpress/block-editor": "^15.0.1-next.46f643fa0.0",
49
- "@wordpress/blocks": "^15.0.1-next.46f643fa0.0",
50
- "@wordpress/components": "^30.1.1-next.46f643fa0.0",
51
- "@wordpress/compose": "^7.27.1-next.46f643fa0.0",
52
- "@wordpress/core-data": "^7.27.1-next.46f643fa0.0",
53
- "@wordpress/data": "^10.27.1-next.46f643fa0.0",
54
- "@wordpress/date": "^5.27.1-next.46f643fa0.0",
55
- "@wordpress/deprecated": "^4.27.1-next.46f643fa0.0",
56
- "@wordpress/dom": "^4.27.1-next.46f643fa0.0",
57
- "@wordpress/element": "^6.27.1-next.46f643fa0.0",
58
- "@wordpress/escape-html": "^3.27.1-next.46f643fa0.0",
59
- "@wordpress/hooks": "^4.27.1-next.46f643fa0.0",
60
- "@wordpress/html-entities": "^4.27.1-next.46f643fa0.0",
61
- "@wordpress/i18n": "^6.0.1-next.46f643fa0.0",
62
- "@wordpress/icons": "^10.27.2-next.46f643fa0.0",
63
- "@wordpress/interactivity": "^6.28.1-next.46f643fa0.0",
64
- "@wordpress/interactivity-router": "^2.27.1-next.46f643fa0.0",
65
- "@wordpress/keyboard-shortcuts": "^5.27.1-next.46f643fa0.0",
66
- "@wordpress/keycodes": "^4.27.1-next.46f643fa0.0",
67
- "@wordpress/notices": "^5.27.1-next.46f643fa0.0",
68
- "@wordpress/patterns": "^2.27.1-next.46f643fa0.0",
69
- "@wordpress/primitives": "^4.27.1-next.46f643fa0.0",
70
- "@wordpress/private-apis": "^1.27.1-next.46f643fa0.0",
71
- "@wordpress/reusable-blocks": "^5.27.1-next.46f643fa0.0",
72
- "@wordpress/rich-text": "^7.27.1-next.46f643fa0.0",
73
- "@wordpress/server-side-render": "^6.4.1-next.46f643fa0.0",
74
- "@wordpress/url": "^4.27.1-next.46f643fa0.0",
75
- "@wordpress/viewport": "^6.27.1-next.46f643fa0.0",
76
- "@wordpress/wordcount": "^4.27.1-next.46f643fa0.0",
45
+ "@wordpress/a11y": "^4.28.1-next.0f6f9d12c.0",
46
+ "@wordpress/api-fetch": "^7.28.1-next.0f6f9d12c.0",
47
+ "@wordpress/autop": "^4.28.1-next.0f6f9d12c.0",
48
+ "@wordpress/blob": "^4.28.1-next.0f6f9d12c.0",
49
+ "@wordpress/block-editor": "^15.1.1-next.0f6f9d12c.0",
50
+ "@wordpress/blocks": "^15.1.1-next.0f6f9d12c.0",
51
+ "@wordpress/components": "^30.2.1-next.0f6f9d12c.0",
52
+ "@wordpress/compose": "^7.28.1-next.0f6f9d12c.0",
53
+ "@wordpress/core-data": "^7.28.1-next.0f6f9d12c.0",
54
+ "@wordpress/data": "^10.28.1-next.0f6f9d12c.0",
55
+ "@wordpress/date": "^5.28.1-next.0f6f9d12c.0",
56
+ "@wordpress/deprecated": "^4.28.1-next.0f6f9d12c.0",
57
+ "@wordpress/dom": "^4.28.1-next.0f6f9d12c.0",
58
+ "@wordpress/element": "^6.28.1-next.0f6f9d12c.0",
59
+ "@wordpress/escape-html": "^3.28.1-next.0f6f9d12c.0",
60
+ "@wordpress/hooks": "^4.28.1-next.0f6f9d12c.0",
61
+ "@wordpress/html-entities": "^4.28.1-next.0f6f9d12c.0",
62
+ "@wordpress/i18n": "^6.1.1-next.0f6f9d12c.0",
63
+ "@wordpress/icons": "^10.28.2-next.0f6f9d12c.0",
64
+ "@wordpress/interactivity": "^6.28.1-next.0f6f9d12c.0",
65
+ "@wordpress/interactivity-router": "^2.28.1-next.0f6f9d12c.0",
66
+ "@wordpress/keyboard-shortcuts": "^5.28.1-next.0f6f9d12c.0",
67
+ "@wordpress/keycodes": "^4.28.1-next.0f6f9d12c.0",
68
+ "@wordpress/notices": "^5.28.1-next.0f6f9d12c.0",
69
+ "@wordpress/patterns": "^2.28.1-next.0f6f9d12c.0",
70
+ "@wordpress/primitives": "^4.28.1-next.0f6f9d12c.0",
71
+ "@wordpress/private-apis": "^1.28.1-next.0f6f9d12c.0",
72
+ "@wordpress/reusable-blocks": "^5.28.1-next.0f6f9d12c.0",
73
+ "@wordpress/rich-text": "^7.28.1-next.0f6f9d12c.0",
74
+ "@wordpress/server-side-render": "^6.4.1-next.0f6f9d12c.0",
75
+ "@wordpress/url": "^4.28.1-next.0f6f9d12c.0",
76
+ "@wordpress/viewport": "^6.28.1-next.0f6f9d12c.0",
77
+ "@wordpress/wordcount": "^4.28.1-next.0f6f9d12c.0",
77
78
  "change-case": "^4.1.2",
78
79
  "clsx": "^2.1.1",
79
80
  "colord": "^2.7.0",
@@ -91,5 +92,5 @@
91
92
  "publishConfig": {
92
93
  "access": "public"
93
94
  },
94
- "gitHead": "17e600e091675c5e3d809adfea23ac456bbeae19"
95
+ "gitHead": "7d4f4367e2f76deddf4a09b540e6b2f9f4c3fe9f"
95
96
  }
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
3
+ "apiVersion": 3,
4
+ "name": "core/accordion-header",
5
+ "version": "0.1.0",
6
+ "title": "Accordion Header",
7
+ "category": "design",
8
+ "description": "Accordion header.",
9
+ "example": {},
10
+ "__experimental": true,
11
+ "parent": [ "core/accordion-item" ],
12
+ "usesContext": [
13
+ "core/accordion-icon-position",
14
+ "core/accordion-show-icon"
15
+ ],
16
+ "supports": {
17
+ "anchor": true,
18
+ "color": {
19
+ "background": true,
20
+ "gradient": true
21
+ },
22
+ "align": false,
23
+ "border": true,
24
+ "interactivity": true,
25
+ "spacing": {
26
+ "padding": true,
27
+ "margin": [ "top", "bottom" ],
28
+ "__experimentalDefaultControls": {
29
+ "padding": true,
30
+ "margin": 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
+ "textAlign": true,
47
+ "fontSize": 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
+ "fontFamily": true
57
+ }
58
+ },
59
+ "shadow": true
60
+ },
61
+ "attributes": {
62
+ "openByDefault": {
63
+ "type": "boolean",
64
+ "default": false
65
+ },
66
+ "title": {
67
+ "type": "rich-text",
68
+ "source": "rich-text",
69
+ "selector": "span"
70
+ },
71
+ "level": {
72
+ "type": "number",
73
+ "default": 3
74
+ },
75
+ "levelOptions": {
76
+ "type": "array"
77
+ },
78
+ "textAlignment": {
79
+ "type": "string",
80
+ "default": "left"
81
+ },
82
+ "iconPosition": {
83
+ "type": "string",
84
+ "enum": [ "left", "right" ],
85
+ "default": "right"
86
+ },
87
+ "showIcon": {
88
+ "type": "boolean",
89
+ "default": true
90
+ }
91
+ },
92
+ "textdomain": "default"
93
+ }
@@ -0,0 +1,128 @@
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 {
11
+ useBlockProps,
12
+ __experimentalUseBorderProps as useBorderProps,
13
+ __experimentalUseColorProps as useColorProps,
14
+ __experimentalGetSpacingClassesAndStyles as useSpacingProps,
15
+ __experimentalGetShadowClassesAndStyles as useShadowProps,
16
+ BlockControls,
17
+ HeadingLevelDropdown,
18
+ RichText,
19
+ } from '@wordpress/block-editor';
20
+ import { ToolbarGroup } from '@wordpress/components';
21
+ /**
22
+ * Internal dependencies
23
+ */
24
+ import { plus } from '../accordion-item/icons';
25
+
26
+ const ICONS = {
27
+ plus,
28
+ };
29
+
30
+ export default function Edit( { attributes, setAttributes, context } ) {
31
+ const { level, title, textAlign, levelOptions } = attributes;
32
+ const {
33
+ 'core/accordion-icon-position': iconPosition,
34
+ 'core/accordion-show-icon': showIcon,
35
+ } = context;
36
+ const TagName = 'h' + level;
37
+
38
+ // Set icon attributes.
39
+ useEffect( () => {
40
+ if ( iconPosition !== undefined && showIcon !== undefined ) {
41
+ setAttributes( {
42
+ iconPosition,
43
+ showIcon,
44
+ } );
45
+ }
46
+ }, [ iconPosition, showIcon, setAttributes ] );
47
+
48
+ const blockProps = useBlockProps();
49
+ const borderProps = useBorderProps( attributes );
50
+ const colorProps = useColorProps( attributes );
51
+ const spacingProps = useSpacingProps( attributes );
52
+ const shadowProps = useShadowProps( attributes );
53
+
54
+ const Icon = ICONS.plus;
55
+ const shouldShowIcon = showIcon && Icon;
56
+
57
+ return (
58
+ <>
59
+ <BlockControls>
60
+ <ToolbarGroup>
61
+ <HeadingLevelDropdown
62
+ value={ level }
63
+ options={ levelOptions }
64
+ onChange={ ( newLevel ) =>
65
+ setAttributes( { level: newLevel } )
66
+ }
67
+ />
68
+ </ToolbarGroup>
69
+ </BlockControls>
70
+ <TagName
71
+ { ...blockProps }
72
+ className={ clsx(
73
+ blockProps.className,
74
+ colorProps.className,
75
+ borderProps.className,
76
+ 'accordion-item__heading',
77
+ {
78
+ [ `has-custom-font-size` ]: blockProps.style.fontSize,
79
+ [ `icon-position-left` ]: iconPosition === 'left',
80
+ [ `has-text-align-${ textAlign }` ]: textAlign,
81
+ }
82
+ ) }
83
+ style={ {
84
+ ...borderProps.style,
85
+ ...colorProps.style,
86
+ ...shadowProps.style,
87
+ } }
88
+ >
89
+ <button
90
+ className={ clsx( 'accordion-item__toggle' ) }
91
+ style={ {
92
+ ...spacingProps.style,
93
+ } }
94
+ >
95
+ <RichText
96
+ allowedFormats={ [
97
+ 'core/bold',
98
+ 'core/italic',
99
+ 'core/image',
100
+ 'core/strikethrough',
101
+ ] }
102
+ disableLineBreaks
103
+ tagName="span"
104
+ value={ title }
105
+ onChange={ ( newTitle ) =>
106
+ setAttributes( { title: newTitle } )
107
+ }
108
+ placeholder={ __( 'Accordion title' ) }
109
+ />
110
+ { shouldShowIcon && (
111
+ <span
112
+ className={ clsx( `accordion-item__toggle-icon`, {
113
+ 'has-icon-plus': true,
114
+ } ) }
115
+ style={ {
116
+ // TO-DO: make this configurable
117
+ width: `1.2em`,
118
+ height: `1.2em`,
119
+ } }
120
+ >
121
+ { Icon && <Icon width="1.2em" height="1.2em" /> }
122
+ </span>
123
+ ) }
124
+ </button>
125
+ </TagName>
126
+ </>
127
+ );
128
+ }
@@ -0,0 +1,24 @@
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
+ import metadata from './block.json';
11
+ import initBlock from '../utils/init-block';
12
+
13
+ const { name } = metadata;
14
+
15
+ export { metadata, name };
16
+
17
+ export const settings = {
18
+ icon: accordionHeader,
19
+ example: {},
20
+ edit,
21
+ save,
22
+ };
23
+
24
+ export const init = () => initBlock( { name, metadata, settings } );
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { init } from './';
5
+
6
+ export default init();