@wordpress/block-library 8.13.0 → 8.14.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 (366) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/index.js +5 -1
  3. package/build/archives/index.js.map +1 -1
  4. package/build/audio/index.js +5 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/index.js +1 -1
  7. package/build/block/edit.js +1 -1
  8. package/build/block/edit.js.map +1 -1
  9. package/build/block/edit.native.js +6 -9
  10. package/build/block/edit.native.js.map +1 -1
  11. package/build/buttons/edit.js +5 -1
  12. package/build/buttons/edit.js.map +1 -1
  13. package/build/categories/index.js +5 -1
  14. package/build/categories/index.js.map +1 -1
  15. package/build/code/index.js +5 -1
  16. package/build/code/index.js.map +1 -1
  17. package/build/column/index.js +1 -0
  18. package/build/column/index.js.map +1 -1
  19. package/build/comments/index.js +1 -0
  20. package/build/comments/index.js.map +1 -1
  21. package/build/cover/edit/inspector-controls.js +2 -1
  22. package/build/cover/edit/inspector-controls.js.map +1 -1
  23. package/build/cover/index.js +1 -0
  24. package/build/cover/index.js.map +1 -1
  25. package/build/details/index.js +5 -1
  26. package/build/details/index.js.map +1 -1
  27. package/build/embed/util.js +9 -8
  28. package/build/embed/util.js.map +1 -1
  29. package/build/file/index.js +2 -1
  30. package/build/file/index.js.map +1 -1
  31. package/build/file/view.js +15 -1
  32. package/build/file/view.js.map +1 -1
  33. package/build/gallery/index.js +3 -1
  34. package/build/gallery/index.js.map +1 -1
  35. package/build/group/index.js +1 -0
  36. package/build/group/index.js.map +1 -1
  37. package/build/heading/index.js +5 -1
  38. package/build/heading/index.js.map +1 -1
  39. package/build/heading/transforms.js +5 -1
  40. package/build/heading/transforms.js.map +1 -1
  41. package/build/image/deprecated.js +453 -175
  42. package/build/image/deprecated.js.map +1 -1
  43. package/build/image/edit.js +0 -4
  44. package/build/image/edit.js.map +1 -1
  45. package/build/image/image.js +96 -43
  46. package/build/image/image.js.map +1 -1
  47. package/build/image/index.js +6 -0
  48. package/build/image/index.js.map +1 -1
  49. package/build/image/save.js +8 -1
  50. package/build/image/save.js.map +1 -1
  51. package/build/image/utils.js +18 -0
  52. package/build/image/utils.js.map +1 -1
  53. package/build/image/{interactivity.js → view-interactivity.js} +86 -44
  54. package/build/image/view-interactivity.js.map +1 -0
  55. package/build/index.js +12 -3
  56. package/build/index.js.map +1 -1
  57. package/build/list/index.js +5 -1
  58. package/build/list/index.js.map +1 -1
  59. package/build/list-item/utils.js +6 -1
  60. package/build/list-item/utils.js.map +1 -1
  61. package/build/media-text/index.js +1 -0
  62. package/build/media-text/index.js.map +1 -1
  63. package/build/missing/edit.js +22 -8
  64. package/build/missing/edit.js.map +1 -1
  65. package/build/navigation/edit/index.js +1 -1
  66. package/build/navigation/edit/index.js.map +1 -1
  67. package/build/navigation/edit/menu-inspector-controls.js +0 -1
  68. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  69. package/build/navigation/index.js +3 -2
  70. package/build/navigation/index.js.map +1 -1
  71. package/build/navigation/view.js +174 -50
  72. package/build/navigation/view.js.map +1 -1
  73. package/build/navigation-link/edit.js +0 -11
  74. package/build/navigation-link/edit.js.map +1 -1
  75. package/build/navigation-link/link-ui.js +12 -2
  76. package/build/navigation-link/link-ui.js.map +1 -1
  77. package/build/page-list/convert-to-links-modal.js +3 -3
  78. package/build/page-list/convert-to-links-modal.js.map +1 -1
  79. package/build/page-list/edit.js +34 -39
  80. package/build/page-list/edit.js.map +1 -1
  81. package/build/page-list/use-convert-to-navigation-links.js +2 -15
  82. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  83. package/build/paragraph/index.js +1 -0
  84. package/build/paragraph/index.js.map +1 -1
  85. package/build/paragraph/transforms.js +1 -0
  86. package/build/paragraph/transforms.js.map +1 -1
  87. package/build/post-comments-form/index.js +1 -0
  88. package/build/post-comments-form/index.js.map +1 -1
  89. package/build/post-navigation-link/index.js +1 -0
  90. package/build/post-navigation-link/index.js.map +1 -1
  91. package/build/post-time-to-read/index.js +5 -1
  92. package/build/post-time-to-read/index.js.map +1 -1
  93. package/build/query-pagination-numbers/index.js +1 -1
  94. package/build/quote/index.js +1 -0
  95. package/build/quote/index.js.map +1 -1
  96. package/build/site-logo/index.js +5 -1
  97. package/build/site-logo/index.js.map +1 -1
  98. package/build/site-tagline/icon.js +1 -1
  99. package/build/site-tagline/icon.js.map +1 -1
  100. package/build/site-tagline/index.js +5 -1
  101. package/build/site-tagline/index.js.map +1 -1
  102. package/build/site-title/index.js +5 -1
  103. package/build/site-title/index.js.map +1 -1
  104. package/build/social-links/index.js +3 -1
  105. package/build/social-links/index.js.map +1 -1
  106. package/build/table/index.js +5 -1
  107. package/build/table/index.js.map +1 -1
  108. package/build/term-description/index.js +1 -0
  109. package/build/term-description/index.js.map +1 -1
  110. package/build/verse/index.js +5 -1
  111. package/build/verse/index.js.map +1 -1
  112. package/build/video/deprecated.js +5 -1
  113. package/build/video/deprecated.js.map +1 -1
  114. package/build/video/index.js +5 -1
  115. package/build/video/index.js.map +1 -1
  116. package/build-module/archives/index.js +5 -1
  117. package/build-module/archives/index.js.map +1 -1
  118. package/build-module/audio/index.js +5 -1
  119. package/build-module/audio/index.js.map +1 -1
  120. package/build-module/avatar/index.js +1 -1
  121. package/build-module/block/edit.js +1 -1
  122. package/build-module/block/edit.js.map +1 -1
  123. package/build-module/block/edit.native.js +7 -9
  124. package/build-module/block/edit.native.js.map +1 -1
  125. package/build-module/buttons/edit.js +5 -1
  126. package/build-module/buttons/edit.js.map +1 -1
  127. package/build-module/categories/index.js +5 -1
  128. package/build-module/categories/index.js.map +1 -1
  129. package/build-module/code/index.js +5 -1
  130. package/build-module/code/index.js.map +1 -1
  131. package/build-module/column/index.js +1 -0
  132. package/build-module/column/index.js.map +1 -1
  133. package/build-module/comments/index.js +1 -0
  134. package/build-module/comments/index.js.map +1 -1
  135. package/build-module/cover/edit/inspector-controls.js +2 -1
  136. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  137. package/build-module/cover/index.js +1 -0
  138. package/build-module/cover/index.js.map +1 -1
  139. package/build-module/details/index.js +5 -1
  140. package/build-module/details/index.js.map +1 -1
  141. package/build-module/embed/util.js +6 -6
  142. package/build-module/embed/util.js.map +1 -1
  143. package/build-module/file/index.js +2 -1
  144. package/build-module/file/index.js.map +1 -1
  145. package/build-module/file/view.js +15 -2
  146. package/build-module/file/view.js.map +1 -1
  147. package/build-module/gallery/index.js +3 -1
  148. package/build-module/gallery/index.js.map +1 -1
  149. package/build-module/group/index.js +1 -0
  150. package/build-module/group/index.js.map +1 -1
  151. package/build-module/heading/index.js +5 -1
  152. package/build-module/heading/index.js.map +1 -1
  153. package/build-module/heading/transforms.js +5 -1
  154. package/build-module/heading/transforms.js.map +1 -1
  155. package/build-module/image/deprecated.js +454 -176
  156. package/build-module/image/deprecated.js.map +1 -1
  157. package/build-module/image/edit.js +0 -4
  158. package/build-module/image/edit.js.map +1 -1
  159. package/build-module/image/image.js +96 -46
  160. package/build-module/image/image.js.map +1 -1
  161. package/build-module/image/index.js +6 -0
  162. package/build-module/image/index.js.map +1 -1
  163. package/build-module/image/save.js +8 -1
  164. package/build-module/image/save.js.map +1 -1
  165. package/build-module/image/utils.js +16 -0
  166. package/build-module/image/utils.js.map +1 -1
  167. package/build-module/image/{interactivity.js → view-interactivity.js} +86 -44
  168. package/build-module/image/view-interactivity.js.map +1 -0
  169. package/build-module/index.js +12 -3
  170. package/build-module/index.js.map +1 -1
  171. package/build-module/list/index.js +5 -1
  172. package/build-module/list/index.js.map +1 -1
  173. package/build-module/list-item/utils.js +6 -1
  174. package/build-module/list-item/utils.js.map +1 -1
  175. package/build-module/media-text/index.js +1 -0
  176. package/build-module/media-text/index.js.map +1 -1
  177. package/build-module/missing/edit.js +22 -8
  178. package/build-module/missing/edit.js.map +1 -1
  179. package/build-module/navigation/edit/index.js +1 -1
  180. package/build-module/navigation/edit/index.js.map +1 -1
  181. package/build-module/navigation/edit/menu-inspector-controls.js +0 -1
  182. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  183. package/build-module/navigation/index.js +3 -2
  184. package/build-module/navigation/index.js.map +1 -1
  185. package/build-module/navigation/view.js +173 -50
  186. package/build-module/navigation/view.js.map +1 -1
  187. package/build-module/navigation-link/edit.js +1 -12
  188. package/build-module/navigation-link/edit.js.map +1 -1
  189. package/build-module/navigation-link/link-ui.js +13 -3
  190. package/build-module/navigation-link/link-ui.js.map +1 -1
  191. package/build-module/page-list/convert-to-links-modal.js +3 -3
  192. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  193. package/build-module/page-list/edit.js +34 -39
  194. package/build-module/page-list/edit.js.map +1 -1
  195. package/build-module/page-list/use-convert-to-navigation-links.js +3 -16
  196. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  197. package/build-module/paragraph/index.js +1 -0
  198. package/build-module/paragraph/index.js.map +1 -1
  199. package/build-module/paragraph/transforms.js +1 -0
  200. package/build-module/paragraph/transforms.js.map +1 -1
  201. package/build-module/post-comments-form/index.js +1 -0
  202. package/build-module/post-comments-form/index.js.map +1 -1
  203. package/build-module/post-navigation-link/index.js +1 -0
  204. package/build-module/post-navigation-link/index.js.map +1 -1
  205. package/build-module/post-time-to-read/index.js +5 -1
  206. package/build-module/post-time-to-read/index.js.map +1 -1
  207. package/build-module/query-pagination-numbers/index.js +1 -1
  208. package/build-module/quote/index.js +1 -0
  209. package/build-module/quote/index.js.map +1 -1
  210. package/build-module/site-logo/index.js +5 -1
  211. package/build-module/site-logo/index.js.map +1 -1
  212. package/build-module/site-tagline/icon.js +1 -1
  213. package/build-module/site-tagline/icon.js.map +1 -1
  214. package/build-module/site-tagline/index.js +5 -1
  215. package/build-module/site-tagline/index.js.map +1 -1
  216. package/build-module/site-title/index.js +5 -1
  217. package/build-module/site-title/index.js.map +1 -1
  218. package/build-module/social-links/index.js +3 -1
  219. package/build-module/social-links/index.js.map +1 -1
  220. package/build-module/table/index.js +5 -1
  221. package/build-module/table/index.js.map +1 -1
  222. package/build-module/term-description/index.js +1 -0
  223. package/build-module/term-description/index.js.map +1 -1
  224. package/build-module/verse/index.js +5 -1
  225. package/build-module/verse/index.js.map +1 -1
  226. package/build-module/video/deprecated.js +5 -1
  227. package/build-module/video/deprecated.js.map +1 -1
  228. package/build-module/video/index.js +5 -1
  229. package/build-module/video/index.js.map +1 -1
  230. package/build-style/footnotes/style-rtl.css +2 -2
  231. package/build-style/footnotes/style.css +2 -2
  232. package/build-style/image/style-rtl.css +16 -2
  233. package/build-style/image/style.css +16 -2
  234. package/build-style/style-rtl.css +18 -4
  235. package/build-style/style.css +18 -4
  236. package/package.json +33 -38
  237. package/src/archives/block.json +5 -1
  238. package/src/audio/block.json +5 -1
  239. package/src/avatar/block.json +1 -1
  240. package/src/block/edit.js +2 -2
  241. package/src/block/edit.native.js +8 -12
  242. package/src/block/test/edit.native.js +4 -4
  243. package/src/buttons/edit.js +2 -2
  244. package/src/categories/block.json +5 -1
  245. package/src/code/block.json +5 -1
  246. package/src/column/block.json +1 -0
  247. package/src/comments/block.json +1 -0
  248. package/src/cover/block.json +1 -0
  249. package/src/cover/edit/inspector-controls.js +1 -0
  250. package/src/details/block.json +5 -1
  251. package/src/embed/util.js +4 -6
  252. package/src/file/block.json +2 -1
  253. package/src/file/index.php +0 -17
  254. package/src/file/view.js +14 -5
  255. package/src/footnotes/index.php +11 -9
  256. package/src/footnotes/style.scss +2 -2
  257. package/src/gallery/block.json +3 -1
  258. package/src/group/block.json +1 -0
  259. package/src/heading/block.json +5 -1
  260. package/src/heading/test/index.native.js +18 -0
  261. package/src/image/block.json +6 -0
  262. package/src/image/deprecated.js +597 -320
  263. package/src/image/edit.js +0 -4
  264. package/src/image/image.js +131 -62
  265. package/src/image/save.js +9 -1
  266. package/src/image/style.scss +15 -2
  267. package/src/image/utils.js +16 -0
  268. package/src/image/{interactivity.js → view-interactivity.js} +99 -50
  269. package/src/index.js +18 -1
  270. package/src/latest-posts/index.php +1 -1
  271. package/src/list/block.json +5 -1
  272. package/src/media-text/block.json +1 -0
  273. package/src/missing/edit.js +31 -11
  274. package/src/navigation/block.json +3 -2
  275. package/src/navigation/edit/index.js +1 -2
  276. package/src/navigation/edit/menu-inspector-controls.js +0 -1
  277. package/src/navigation/index.php +39 -30
  278. package/src/navigation/view.js +189 -67
  279. package/src/navigation-link/edit.js +1 -15
  280. package/src/navigation-link/link-ui.js +14 -2
  281. package/src/navigation-submenu/index.php +2 -12
  282. package/src/page-list/convert-to-links-modal.js +3 -3
  283. package/src/page-list/edit.js +65 -62
  284. package/src/page-list/use-convert-to-navigation-links.js +3 -20
  285. package/src/paragraph/block.json +1 -0
  286. package/src/post-comments-form/block.json +1 -0
  287. package/src/post-navigation-link/block.json +1 -0
  288. package/src/post-time-to-read/block.json +5 -1
  289. package/src/query-pagination-numbers/block.json +1 -1
  290. package/src/quote/block.json +1 -0
  291. package/src/site-logo/block.json +5 -1
  292. package/src/site-tagline/block.json +5 -1
  293. package/src/site-tagline/icon.js +1 -1
  294. package/src/site-title/block.json +5 -1
  295. package/src/social-links/block.json +3 -1
  296. package/src/table/block.json +5 -1
  297. package/src/term-description/block.json +1 -0
  298. package/src/verse/block.json +5 -1
  299. package/src/video/block.json +5 -1
  300. package/build/file/interactivity.js +0 -19
  301. package/build/file/interactivity.js.map +0 -1
  302. package/build/heading/heading-level-icon.js +0 -61
  303. package/build/heading/heading-level-icon.js.map +0 -1
  304. package/build/image/interactivity.js.map +0 -1
  305. package/build/navigation/interactivity.js +0 -167
  306. package/build/navigation/interactivity.js.map +0 -1
  307. package/build/navigation/view-modal.js +0 -64
  308. package/build/navigation/view-modal.js.map +0 -1
  309. package/build/utils/interactivity/constants.js +0 -9
  310. package/build/utils/interactivity/constants.js.map +0 -1
  311. package/build/utils/interactivity/directives.js +0 -222
  312. package/build/utils/interactivity/directives.js.map +0 -1
  313. package/build/utils/interactivity/hooks.js +0 -159
  314. package/build/utils/interactivity/hooks.js.map +0 -1
  315. package/build/utils/interactivity/hydration.js +0 -34
  316. package/build/utils/interactivity/hydration.js.map +0 -1
  317. package/build/utils/interactivity/index.js +0 -32
  318. package/build/utils/interactivity/index.js.map +0 -1
  319. package/build/utils/interactivity/portals.js +0 -108
  320. package/build/utils/interactivity/portals.js.map +0 -1
  321. package/build/utils/interactivity/store.js +0 -66
  322. package/build/utils/interactivity/store.js.map +0 -1
  323. package/build/utils/interactivity/utils.js +0 -87
  324. package/build/utils/interactivity/utils.js.map +0 -1
  325. package/build/utils/interactivity/vdom.js +0 -119
  326. package/build/utils/interactivity/vdom.js.map +0 -1
  327. package/build-module/file/interactivity.js +0 -15
  328. package/build-module/file/interactivity.js.map +0 -1
  329. package/build-module/heading/heading-level-icon.js +0 -53
  330. package/build-module/heading/heading-level-icon.js.map +0 -1
  331. package/build-module/image/interactivity.js.map +0 -1
  332. package/build-module/navigation/interactivity.js +0 -164
  333. package/build-module/navigation/interactivity.js.map +0 -1
  334. package/build-module/navigation/view-modal.js +0 -58
  335. package/build-module/navigation/view-modal.js.map +0 -1
  336. package/build-module/utils/interactivity/constants.js +0 -2
  337. package/build-module/utils/interactivity/constants.js.map +0 -1
  338. package/build-module/utils/interactivity/directives.js +0 -209
  339. package/build-module/utils/interactivity/directives.js.map +0 -1
  340. package/build-module/utils/interactivity/hooks.js +0 -145
  341. package/build-module/utils/interactivity/hooks.js.map +0 -1
  342. package/build-module/utils/interactivity/hydration.js +0 -21
  343. package/build-module/utils/interactivity/hydration.js.map +0 -1
  344. package/build-module/utils/interactivity/index.js +0 -15
  345. package/build-module/utils/interactivity/index.js.map +0 -1
  346. package/build-module/utils/interactivity/portals.js +0 -100
  347. package/build-module/utils/interactivity/portals.js.map +0 -1
  348. package/build-module/utils/interactivity/store.js +0 -55
  349. package/build-module/utils/interactivity/store.js.map +0 -1
  350. package/build-module/utils/interactivity/utils.js +0 -75
  351. package/build-module/utils/interactivity/utils.js.map +0 -1
  352. package/build-module/utils/interactivity/vdom.js +0 -107
  353. package/build-module/utils/interactivity/vdom.js.map +0 -1
  354. package/src/file/interactivity.js +0 -15
  355. package/src/heading/heading-level-icon.js +0 -48
  356. package/src/navigation/interactivity.js +0 -169
  357. package/src/navigation/view-modal.js +0 -78
  358. package/src/utils/interactivity/constants.js +0 -1
  359. package/src/utils/interactivity/directives.js +0 -200
  360. package/src/utils/interactivity/hooks.js +0 -145
  361. package/src/utils/interactivity/hydration.js +0 -22
  362. package/src/utils/interactivity/index.js +0 -15
  363. package/src/utils/interactivity/portals.js +0 -98
  364. package/src/utils/interactivity/store.js +0 -45
  365. package/src/utils/interactivity/utils.js +0 -66
  366. package/src/utils/interactivity/vdom.js +0 -111
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/utils/interactivity/vdom.js"],"names":["ignoreAttr","p","islandAttr","fullPrefix","directiveParser","RegExp","hydratedIslands","WeakSet","toVdom","root","treeWalker","document","createTreeWalker","walk","node","attributes","nodeType","data","next","nextSibling","replaceWith","window","Text","nodeValue","remove","props","children","directives","hasDirectives","ignore","island","i","length","n","name","slice","val","value","JSON","parse","e","prefix","suffix","exec","localName","innerHTML","__directives","add","child","firstChild","vnode","nextChild","push","parentNode","currentNode"],"mappings":";;;;;;;;AAGA;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;AAGA,MAAMA,UAAU,GAAI,QAAQC,0BAAG,SAA/B;AACA,MAAMC,UAAU,GAAI,QAAQD,0BAAG,cAA/B;AACA,MAAME,UAAU,GAAI,QAAQF,0BAAG,GAA/B,C,CAEA;;AACA,MAAMG,eAAe,GAAG,IAAIC,MAAJ,CACtB,SAASJ,0BAAG,GAAb,GAAkB;AACjB;AACA;AACA;AACA,4BAJD,GAKC;AACA;AACA;AACA,8BATsB,EAUvB,GAVuB,CAUnB;AAVmB,CAAxB;AAaO,MAAMK,eAAe,GAAG,IAAIC,OAAJ,EAAxB,C,CAEP;;;;AACO,SAASC,MAAT,CAAiBC,IAAjB,EAAwB;AAC9B,QAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAClBH,IADkB,EAElB,GAFkB,CAEd;AAFc,GAAnB;;AAKA,WAASI,IAAT,CAAeC,IAAf,EAAsB;AACrB,UAAM;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,QAA2BF,IAAjC;AAEA,QAAKE,QAAQ,KAAK,CAAlB,EAAsB,OAAO,CAAEF,IAAI,CAACG,IAAP,CAAP;;AACtB,QAAKD,QAAQ,KAAK,CAAlB,EAAsB;AACrB,YAAME,IAAI,GAAGR,UAAU,CAACS,WAAX,EAAb;AACAL,MAAAA,IAAI,CAACM,WAAL,CAAkB,IAAIC,MAAM,CAACC,IAAX,CAAiBR,IAAI,CAACS,SAAtB,CAAlB;AACA,aAAO,CAAET,IAAI,CAACS,SAAP,EAAkBL,IAAlB,CAAP;AACA;;AACD,QAAKF,QAAQ,KAAK,CAAb,IAAkBA,QAAQ,KAAK,CAApC,EAAwC;AACvC,YAAME,IAAI,GAAGR,UAAU,CAACS,WAAX,EAAb;AACAL,MAAAA,IAAI,CAACU,MAAL;AACA,aAAO,CAAE,IAAF,EAAQN,IAAR,CAAP;AACA;;AAED,UAAMO,KAAK,GAAG,EAAd;AACA,UAAMC,QAAQ,GAAG,EAAjB;AACA,UAAMC,UAAU,GAAG,EAAnB;AACA,QAAIC,aAAa,GAAG,KAApB;AACA,QAAIC,MAAM,GAAG,KAAb;AACA,QAAIC,MAAM,GAAG,KAAb;;AAEA,SAAM,IAAIC,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGhB,UAAU,CAACiB,MAAhC,EAAwCD,CAAC,EAAzC,EAA8C;AAC7C,YAAME,CAAC,GAAGlB,UAAU,CAAEgB,CAAF,CAAV,CAAgBG,IAA1B;;AACA,UACCD,CAAC,CAAE9B,UAAU,CAAC6B,MAAb,CAAD,IACAC,CAAC,CAACE,KAAF,CAAS,CAAT,EAAYhC,UAAU,CAAC6B,MAAvB,MAAoC7B,UAFrC,EAGE;AACD,YAAK8B,CAAC,KAAKjC,UAAX,EAAwB;AACvB6B,UAAAA,MAAM,GAAG,IAAT;AACA,SAFD,MAEO,IAAKI,CAAC,KAAK/B,UAAX,EAAwB;AAC9B4B,UAAAA,MAAM,GAAG,IAAT;AACA,SAFM,MAEA;AACNF,UAAAA,aAAa,GAAG,IAAhB;AACA,cAAIQ,GAAG,GAAGrB,UAAU,CAAEgB,CAAF,CAAV,CAAgBM,KAA1B;;AACA,cAAI;AACHD,YAAAA,GAAG,GAAGE,IAAI,CAACC,KAAL,CAAYH,GAAZ,CAAN;AACA,WAFD,CAEE,OAAQI,CAAR,EAAY,CAAE;;AAChB,gBAAM,GAAIC,MAAJ,EAAYC,MAAZ,IAAuBtC,eAAe,CAACuC,IAAhB,CAAsBV,CAAtB,CAA7B;AACAN,UAAAA,UAAU,CAAEc,MAAF,CAAV,GAAuBd,UAAU,CAAEc,MAAF,CAAV,IAAwB,EAA/C;AACAd,UAAAA,UAAU,CAAEc,MAAF,CAAV,CAAsBC,MAAM,IAAI,SAAhC,IAA8CN,GAA9C;AACA;AACD,OAlBD,MAkBO,IAAKH,CAAC,KAAK,KAAX,EAAmB;AACzB;AACA;;AACDR,MAAAA,KAAK,CAAEQ,CAAF,CAAL,GAAalB,UAAU,CAAEgB,CAAF,CAAV,CAAgBM,KAA7B;AACA;;AAED,QAAKR,MAAM,IAAI,CAAEC,MAAjB,EACC,OAAO,CACN,eAAGhB,IAAI,CAAC8B,SAAR,EAAmB,EAClB,GAAGnB,KADe;AAElBoB,MAAAA,SAAS,EAAE/B,IAAI,CAAC+B,SAFE;AAGlBC,MAAAA,YAAY,EAAE;AAAEjB,QAAAA,MAAM,EAAE;AAAV;AAHI,KAAnB,CADM,CAAP;AAOD,QAAKC,MAAL,EAAcxB,eAAe,CAACyC,GAAhB,CAAqBjC,IAArB;AAEd,QAAKc,aAAL,EAAqBH,KAAK,CAACqB,YAAN,GAAqBnB,UAArB;AAErB,QAAIqB,KAAK,GAAGtC,UAAU,CAACuC,UAAX,EAAZ;;AACA,QAAKD,KAAL,EAAa;AACZ,aAAQA,KAAR,EAAgB;AACf,cAAM,CAAEE,KAAF,EAASC,SAAT,IAAuBtC,IAAI,CAAEmC,KAAF,CAAjC;AACA,YAAKE,KAAL,EAAaxB,QAAQ,CAAC0B,IAAT,CAAeF,KAAf;AACbF,QAAAA,KAAK,GAAGG,SAAS,IAAIzC,UAAU,CAACS,WAAX,EAArB;AACA;;AACDT,MAAAA,UAAU,CAAC2C,UAAX;AACA;;AAED,WAAO,CAAE,eAAGvC,IAAI,CAAC8B,SAAR,EAAmBnB,KAAnB,EAA0BC,QAA1B,CAAF,CAAP;AACA;;AAED,SAAOb,IAAI,CAAEH,UAAU,CAAC4C,WAAb,CAAX;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { h } from 'preact';\n/**\n * Internal dependencies\n */\nimport { directivePrefix as p } from './constants';\n\nconst ignoreAttr = `data-${ p }-ignore`;\nconst islandAttr = `data-${ p }-interactive`;\nconst fullPrefix = `data-${ p }-`;\n\n// Regular expression for directive parsing.\nconst directiveParser = new RegExp(\n\t`^data-${ p }-` + // ${p} must be a prefix string, like 'wp'.\n\t\t// Match alphanumeric characters including hyphen-separated\n\t\t// segments. It excludes underscore intentionally to prevent confusion.\n\t\t// E.g., \"custom-directive\".\n\t\t'([a-z0-9]+(?:-[a-z0-9]+)*)' +\n\t\t// (Optional) Match '--' followed by any alphanumeric charachters. It\n\t\t// excludes underscore intentionally to prevent confusion, but it can\n\t\t// contain multiple hyphens. E.g., \"--custom-prefix--with-more-info\".\n\t\t'(?:--([a-z0-9][a-z0-9-]+))?$',\n\t'i' // Case insensitive.\n);\n\nexport const hydratedIslands = new WeakSet();\n\n// Recursive function that transforms a DOM tree into vDOM.\nexport function toVdom( root ) {\n\tconst treeWalker = document.createTreeWalker(\n\t\troot,\n\t\t205 // ELEMENT + TEXT + COMMENT + CDATA_SECTION + PROCESSING_INSTRUCTION\n\t);\n\n\tfunction walk( node ) {\n\t\tconst { attributes, nodeType } = node;\n\n\t\tif ( nodeType === 3 ) return [ node.data ];\n\t\tif ( nodeType === 4 ) {\n\t\t\tconst next = treeWalker.nextSibling();\n\t\t\tnode.replaceWith( new window.Text( node.nodeValue ) );\n\t\t\treturn [ node.nodeValue, next ];\n\t\t}\n\t\tif ( nodeType === 8 || nodeType === 7 ) {\n\t\t\tconst next = treeWalker.nextSibling();\n\t\t\tnode.remove();\n\t\t\treturn [ null, next ];\n\t\t}\n\n\t\tconst props = {};\n\t\tconst children = [];\n\t\tconst directives = {};\n\t\tlet hasDirectives = false;\n\t\tlet ignore = false;\n\t\tlet island = false;\n\n\t\tfor ( let i = 0; i < attributes.length; i++ ) {\n\t\t\tconst n = attributes[ i ].name;\n\t\t\tif (\n\t\t\t\tn[ fullPrefix.length ] &&\n\t\t\t\tn.slice( 0, fullPrefix.length ) === fullPrefix\n\t\t\t) {\n\t\t\t\tif ( n === ignoreAttr ) {\n\t\t\t\t\tignore = true;\n\t\t\t\t} else if ( n === islandAttr ) {\n\t\t\t\t\tisland = true;\n\t\t\t\t} else {\n\t\t\t\t\thasDirectives = true;\n\t\t\t\t\tlet val = attributes[ i ].value;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tval = JSON.parse( val );\n\t\t\t\t\t} catch ( e ) {}\n\t\t\t\t\tconst [ , prefix, suffix ] = directiveParser.exec( n );\n\t\t\t\t\tdirectives[ prefix ] = directives[ prefix ] || {};\n\t\t\t\t\tdirectives[ prefix ][ suffix || 'default' ] = val;\n\t\t\t\t}\n\t\t\t} else if ( n === 'ref' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tprops[ n ] = attributes[ i ].value;\n\t\t}\n\n\t\tif ( ignore && ! island )\n\t\t\treturn [\n\t\t\t\th( node.localName, {\n\t\t\t\t\t...props,\n\t\t\t\t\tinnerHTML: node.innerHTML,\n\t\t\t\t\t__directives: { ignore: true },\n\t\t\t\t} ),\n\t\t\t];\n\t\tif ( island ) hydratedIslands.add( node );\n\n\t\tif ( hasDirectives ) props.__directives = directives;\n\n\t\tlet child = treeWalker.firstChild();\n\t\tif ( child ) {\n\t\t\twhile ( child ) {\n\t\t\t\tconst [ vnode, nextChild ] = walk( child );\n\t\t\t\tif ( vnode ) children.push( vnode );\n\t\t\t\tchild = nextChild || treeWalker.nextSibling();\n\t\t\t}\n\t\t\ttreeWalker.parentNode();\n\t\t}\n\n\t\treturn [ h( node.localName, props, children ) ];\n\t}\n\n\treturn walk( treeWalker.currentNode );\n}\n"]}
@@ -1,15 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { store } from '../utils/interactivity';
5
- import { browserSupportsPdfs as hasPdfPreview } from './utils';
6
- store({
7
- selectors: {
8
- core: {
9
- file: {
10
- hasPdfPreview
11
- }
12
- }
13
- }
14
- });
15
- //# sourceMappingURL=interactivity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/file/interactivity.js"],"names":["store","browserSupportsPdfs","hasPdfPreview","selectors","core","file"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,wBAAtB;AACA,SAASC,mBAAmB,IAAIC,aAAhC,QAAqD,SAArD;AAEAF,KAAK,CAAE;AACNG,EAAAA,SAAS,EAAE;AACVC,IAAAA,IAAI,EAAE;AACLC,MAAAA,IAAI,EAAE;AACLH,QAAAA;AADK;AADD;AADI;AADL,CAAF,CAAL","sourcesContent":["/**\n * Internal dependencies\n */\nimport { store } from '../utils/interactivity';\nimport { browserSupportsPdfs as hasPdfPreview } from './utils';\n\nstore( {\n\tselectors: {\n\t\tcore: {\n\t\t\tfile: {\n\t\t\t\thasPdfPreview,\n\t\t\t},\n\t\t},\n\t},\n} );\n"]}
@@ -1,53 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
-
3
- /**
4
- * WordPress dependencies
5
- */
6
- import { Path, SVG } from '@wordpress/components';
7
- /** @typedef {import('@wordpress/element').WPComponent} WPComponent */
8
-
9
- /**
10
- * HeadingLevelIcon props.
11
- *
12
- * @typedef WPHeadingLevelIconProps
13
- *
14
- * @property {number} level The heading level to show an icon for.
15
- * @property {?boolean} isPressed Whether or not the icon should appear pressed; default: false.
16
- */
17
-
18
- /**
19
- * Heading level icon.
20
- *
21
- * @param {WPHeadingLevelIconProps} props Component props.
22
- *
23
- * @return {?WPComponent} The icon.
24
- */
25
-
26
- export default function HeadingLevelIcon({
27
- level,
28
- isPressed = false
29
- }) {
30
- const levelToPath = {
31
- 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',
32
- 2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z',
33
- 3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z',
34
- 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',
35
- 5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z',
36
- 6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z'
37
- };
38
-
39
- if (!levelToPath.hasOwnProperty(level)) {
40
- return null;
41
- }
42
-
43
- return createElement(SVG, {
44
- width: "24",
45
- height: "24",
46
- viewBox: "0 0 20 20",
47
- xmlns: "http://www.w3.org/2000/svg",
48
- isPressed: isPressed
49
- }, createElement(Path, {
50
- d: levelToPath[level]
51
- }));
52
- }
53
- //# sourceMappingURL=heading-level-icon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/heading-level-icon.js"],"names":["Path","SVG","HeadingLevelIcon","level","isPressed","levelToPath","hasOwnProperty"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,GAAf,QAA0B,uBAA1B;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,gBAAT,CAA2B;AAAEC,EAAAA,KAAF;AAASC,EAAAA,SAAS,GAAG;AAArB,CAA3B,EAA0D;AACxE,QAAMC,WAAW,GAAG;AACnB,OAAG,2EADgB;AAEnB,OAAG,sYAFgB;AAGnB,OAAG,+iBAHgB;AAInB,OAAG,uFAJgB;AAKnB,OAAG,0ZALgB;AAMnB,OAAG;AANgB,GAApB;;AAQA,MAAK,CAAEA,WAAW,CAACC,cAAZ,CAA4BH,KAA5B,CAAP,EAA6C;AAC5C,WAAO,IAAP;AACA;;AAED,SACC,cAAC,GAAD;AACC,IAAA,KAAK,EAAC,IADP;AAEC,IAAA,MAAM,EAAC,IAFR;AAGC,IAAA,OAAO,EAAC,WAHT;AAIC,IAAA,KAAK,EAAC,4BAJP;AAKC,IAAA,SAAS,EAAGC;AALb,KAOC,cAAC,IAAD;AAAM,IAAA,CAAC,EAAGC,WAAW,CAAEF,KAAF;AAArB,IAPD,CADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/components';\n\n/** @typedef {import('@wordpress/element').WPComponent} WPComponent */\n\n/**\n * HeadingLevelIcon props.\n *\n * @typedef WPHeadingLevelIconProps\n *\n * @property {number} level The heading level to show an icon for.\n * @property {?boolean} isPressed Whether or not the icon should appear pressed; default: false.\n */\n\n/**\n * Heading level icon.\n *\n * @param {WPHeadingLevelIconProps} props Component props.\n *\n * @return {?WPComponent} The icon.\n */\nexport default function HeadingLevelIcon( { level, isPressed = false } ) {\n\tconst levelToPath = {\n\t\t1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',\n\t\t2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z',\n\t\t3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z',\n\t\t4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',\n\t\t5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z',\n\t\t6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z',\n\t};\n\tif ( ! levelToPath.hasOwnProperty( level ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SVG\n\t\t\twidth=\"24\"\n\t\t\theight=\"24\"\n\t\t\tviewBox=\"0 0 20 20\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tisPressed={ isPressed }\n\t\t>\n\t\t\t<Path d={ levelToPath[ level ] } />\n\t\t</SVG>\n\t);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/interactivity.js"],"names":["store","focusableSelectors","actions","core","image","showLightbox","context","event","initialized","lastFocusedElement","window","document","activeElement","scrollDelta","imgDom","createElement","onload","lightboxEnabled","lightboxAnimation","setZoomStyles","documentElement","classList","add","setAttribute","imageSrc","hideLightbox","hideAnimationEnabled","deltaY","type","Math","abs","scrollY","scrollTop","pageYOffset","scrollLeft","pageXOffset","onscroll","scrollTo","setTimeout","remove","focus","handleKeydown","key","keyCode","shiftKey","firstFocusableElement","preventDefault","lastFocusableElement","selectors","roleAttribute","effects","initLightbox","ref","figureRef","querySelector","imageRef","focusableElements","querySelectorAll","length","targetWidth","naturalWidth","targetHeight","naturalHeight","verticalPadding","containerWidth","clientWidth","horizontalPadding","containerHeight","clientHeight","widthOverflow","min","heightOverflow","x","originLeft","y","originTop","target","nextElementSibling","getBoundingClientRect","scaleWidth","offsetWidth","scaleHeight","offsetHeight","targetLeft","targetTop","root","style","setProperty"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { store } from '../utils/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'area[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'iframe',\n\t'object',\n\t'embed',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\nstore( {\n\tactions: {\n\t\tcore: {\n\t\t\timage: {\n\t\t\t\tshowLightbox: ( { context, event } ) => {\n\t\t\t\t\tcontext.core.image.initialized = true;\n\t\t\t\t\tcontext.core.image.lastFocusedElement =\n\t\t\t\t\t\twindow.document.activeElement;\n\t\t\t\t\tcontext.core.image.scrollDelta = 0;\n\n\t\t\t\t\t// Since the img is hidden and its src not loaded until\n\t\t\t\t\t// the lightbox is opened, let's create an img element on the fly\n\t\t\t\t\t// so we can get the dimensions we need to calculate the styles\n\t\t\t\t\tconst imgDom = document.createElement( 'img' );\n\n\t\t\t\t\timgDom.onload = function () {\n\t\t\t\t\t\t// Enable the lightbox only after the image\n\t\t\t\t\t\t// is loaded to prevent flashing of unstyled content\n\t\t\t\t\t\tcontext.core.image.lightboxEnabled = true;\n\t\t\t\t\t\tif ( context.core.image.lightboxAnimation === 'zoom' ) {\n\t\t\t\t\t\t\tsetZoomStyles( imgDom, context, event );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Hide overflow only when the animation is in progress,\n\t\t\t\t\t\t// otherwise the removal of the scrollbars will draw attention\n\t\t\t\t\t\t// to itself and look like an error\n\t\t\t\t\t\tdocument.documentElement.classList.add(\n\t\t\t\t\t\t\t'has-lightbox-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t};\n\t\t\t\t\timgDom.setAttribute( 'src', context.core.image.imageSrc );\n\t\t\t\t},\n\t\t\t\thideLightbox: async ( { context, event } ) => {\n\t\t\t\t\tcontext.core.image.hideAnimationEnabled = true;\n\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t// If scrolling, wait a moment before closing the lightbox.\n\t\t\t\t\t\tif ( context.core.image.lightboxAnimation === 'fade' ) {\n\t\t\t\t\t\t\tcontext.core.image.scrollDelta += event.deltaY;\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tevent.type === 'mousewheel' &&\n\t\t\t\t\t\t\t\tMath.abs(\n\t\t\t\t\t\t\t\t\twindow.scrollY -\n\t\t\t\t\t\t\t\t\t\tcontext.core.image.scrollDelta\n\t\t\t\t\t\t\t\t) < 10\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tcontext.core.image.lightboxAnimation === 'zoom'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Disable scroll until the zoom animation ends.\n\t\t\t\t\t\t\t// Get the current page scroll position\n\t\t\t\t\t\t\tconst scrollTop =\n\t\t\t\t\t\t\t\twindow.pageYOffset ||\n\t\t\t\t\t\t\t\tdocument.documentElement.scrollTop;\n\t\t\t\t\t\t\tconst scrollLeft =\n\t\t\t\t\t\t\t\twindow.pageXOffset ||\n\t\t\t\t\t\t\t\tdocument.documentElement.scrollLeft;\n\t\t\t\t\t\t\t// if any scroll is attempted, set this to the previous value.\n\t\t\t\t\t\t\twindow.onscroll = function () {\n\t\t\t\t\t\t\t\twindow.scrollTo( scrollLeft, scrollTop );\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t// Enable scrolling after the animation finishes\n\t\t\t\t\t\t\tsetTimeout( function () {\n\t\t\t\t\t\t\t\twindow.onscroll = function () {};\n\t\t\t\t\t\t\t}, 400 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-lightbox-open'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tcontext.core.image.lightboxEnabled = false;\n\t\t\t\t\t\tcontext.core.image.lastFocusedElement.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleKeydown: ( { context, actions, event } ) => {\n\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\tif ( event.key === 'Tab' || event.keyCode === 9 ) {\n\t\t\t\t\t\t\t// If shift + tab it change the direction\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement.focus();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( event.key === 'Escape' || event.keyCode === 27 ) {\n\t\t\t\t\t\t\tactions.core.image.hideLightbox( {\n\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tselectors: {\n\t\tcore: {\n\t\t\timage: {\n\t\t\t\troleAttribute: ( { context } ) => {\n\t\t\t\t\treturn context.core.image.lightboxEnabled ? 'dialog' : '';\n\t\t\t\t},\n\t\t\t\timageSrc: ( { context } ) => {\n\t\t\t\t\treturn context.core.image.initialized\n\t\t\t\t\t\t? context.core.image.imageSrc\n\t\t\t\t\t\t: '';\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\teffects: {\n\t\tcore: {\n\t\t\timage: {\n\t\t\t\tinitLightbox: async ( { context, ref } ) => {\n\t\t\t\t\tcontext.core.image.figureRef =\n\t\t\t\t\t\tref.querySelector( 'figure' );\n\t\t\t\t\tcontext.core.image.imageRef = ref.querySelector( 'img' );\n\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\t\tcontext.core.image.firstFocusableElement =\n\t\t\t\t\t\t\tfocusableElements[ 0 ];\n\t\t\t\t\t\tcontext.core.image.lastFocusableElement =\n\t\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\n\t\t\t\t\t\tref.querySelector( '.close-button' ).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n\nfunction setZoomStyles( imgDom, context, event ) {\n\tlet targetWidth = imgDom.naturalWidth;\n\tlet targetHeight = imgDom.naturalHeight;\n\n\tconst verticalPadding = 40;\n\n\t// As per the design, let's allow the image to stretch\n\t// to the full width of its containing figure, but for the height,\n\t// constrain it with a fixed padding\n\tconst containerWidth = context.core.image.figureRef.clientWidth;\n\n\t// The lightbox image has `positione:absolute` and\n\t// ignores its parent's padding, so let's set the padding here,\n\t// to be used when calculating the image width and positioning\n\tlet horizontalPadding = 0;\n\tif ( containerWidth > 480 ) {\n\t\thorizontalPadding = 40;\n\t} else if ( containerWidth > 1920 ) {\n\t\thorizontalPadding = 80;\n\t}\n\n\tconst containerHeight =\n\t\tcontext.core.image.figureRef.clientHeight - verticalPadding * 2;\n\n\t// Check difference between the image and figure dimensions\n\tconst widthOverflow = Math.abs(\n\t\tMath.min( containerWidth - targetWidth, 0 )\n\t);\n\tconst heightOverflow = Math.abs(\n\t\tMath.min( containerHeight - targetHeight, 0 )\n\t);\n\n\t// If image is larger than its container any dimension, resize along its largest axis.\n\t// For vertically oriented devices, always maximize the width.\n\tif ( widthOverflow > 0 || heightOverflow > 0 ) {\n\t\tif (\n\t\t\twidthOverflow >= heightOverflow ||\n\t\t\tcontainerHeight >= containerWidth\n\t\t) {\n\t\t\ttargetWidth = containerWidth - horizontalPadding * 2;\n\t\t\ttargetHeight =\n\t\t\t\timgDom.naturalHeight * ( targetWidth / imgDom.naturalWidth );\n\t\t} else {\n\t\t\ttargetHeight = containerHeight;\n\t\t\ttargetWidth =\n\t\t\t\timgDom.naturalWidth * ( targetHeight / imgDom.naturalHeight );\n\t\t}\n\t}\n\n\t// The reference img element lies adjacent to the event target button in the DOM\n\tconst { x: originLeft, y: originTop } =\n\t\tevent.target.nextElementSibling.getBoundingClientRect();\n\tconst scaleWidth =\n\t\tevent.target.nextElementSibling.offsetWidth / targetWidth;\n\tconst scaleHeight =\n\t\tevent.target.nextElementSibling.offsetHeight / targetHeight;\n\n\t// Get values used to center the image\n\tlet targetLeft = 0;\n\tif ( targetWidth >= containerWidth ) {\n\t\ttargetLeft = horizontalPadding;\n\t} else {\n\t\ttargetLeft = ( containerWidth - targetWidth ) / 2;\n\t}\n\tlet targetTop = 0;\n\tif ( targetHeight >= containerHeight ) {\n\t\ttargetTop = verticalPadding;\n\t} else {\n\t\ttargetTop = ( containerHeight - targetHeight ) / 2 + verticalPadding;\n\t}\n\n\tconst root = document.documentElement;\n\troot.style.setProperty( '--lightbox-scale-width', scaleWidth );\n\troot.style.setProperty( '--lightbox-scale-height', scaleHeight );\n\troot.style.setProperty( '--lightbox-image-max-width', targetWidth + 'px' );\n\troot.style.setProperty(\n\t\t'--lightbox-image-max-height',\n\t\ttargetHeight + 'px'\n\t);\n\troot.style.setProperty(\n\t\t'--lightbox-initial-left-position',\n\t\toriginLeft + 'px'\n\t);\n\troot.style.setProperty(\n\t\t'--lightbox-initial-top-position',\n\t\toriginTop + 'px'\n\t);\n\troot.style.setProperty(\n\t\t'--lightbox-target-left-position',\n\t\ttargetLeft + 'px'\n\t);\n\troot.style.setProperty(\n\t\t'--lightbox-target-top-position',\n\t\ttargetTop + 'px'\n\t);\n}\n"]}
@@ -1,164 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { store } from '../utils/interactivity';
5
- const focusableSelectors = ['a[href]', 'area[href]', 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', 'select:not([disabled]):not([aria-hidden])', 'textarea:not([disabled]):not([aria-hidden])', 'button:not([disabled]):not([aria-hidden])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^="-"])'];
6
-
7
- const openMenu = ({
8
- context,
9
- ref
10
- }, menuOpenedOn) => {
11
- context.core.navigation.isMenuOpen[menuOpenedOn] = true;
12
- context.core.navigation.previousFocus = ref;
13
-
14
- if (context.core.navigation.overlay) {
15
- // Add a `has-modal-open` class to the <html> root.
16
- document.documentElement.classList.add('has-modal-open');
17
- }
18
- };
19
-
20
- const closeMenu = ({
21
- context,
22
- selectors
23
- }, menuClosedOn) => {
24
- context.core.navigation.isMenuOpen[menuClosedOn] = false; // Check if the menu is still open or not.
25
-
26
- if (!selectors.core.navigation.isMenuOpen({
27
- context
28
- })) {
29
- if (context.core.navigation.modal.contains(window.document.activeElement)) {
30
- context.core.navigation.previousFocus.focus();
31
- }
32
-
33
- context.core.navigation.modal = null;
34
- context.core.navigation.previousFocus = null;
35
-
36
- if (context.core.navigation.overlay) {
37
- document.documentElement.classList.remove('has-modal-open');
38
- }
39
- }
40
- };
41
-
42
- store({
43
- effects: {
44
- core: {
45
- navigation: {
46
- initMenu: ({
47
- context,
48
- selectors,
49
- ref
50
- }) => {
51
- if (selectors.core.navigation.isMenuOpen({
52
- context
53
- })) {
54
- const focusableElements = ref.querySelectorAll(focusableSelectors);
55
- context.core.navigation.modal = ref;
56
- context.core.navigation.firstFocusableElement = focusableElements[0];
57
- context.core.navigation.lastFocusableElement = focusableElements[focusableElements.length - 1];
58
- }
59
- },
60
- focusFirstElement: ({
61
- context,
62
- selectors,
63
- ref
64
- }) => {
65
- if (selectors.core.navigation.isMenuOpen({
66
- context
67
- })) {
68
- ref.querySelector('.wp-block-navigation-item > *:first-child').focus();
69
- }
70
- }
71
- }
72
- }
73
- },
74
- selectors: {
75
- core: {
76
- navigation: {
77
- roleAttribute: ({
78
- context,
79
- selectors
80
- }) => context.core.navigation.overlay && selectors.core.navigation.isMenuOpen({
81
- context
82
- }) ? 'dialog' : '',
83
- isMenuOpen: ({
84
- context
85
- }) => // The menu is opened if either `click` or `hover` is true.
86
- Object.values(context.core.navigation.isMenuOpen).filter(Boolean).length > 0
87
- }
88
- }
89
- },
90
- actions: {
91
- core: {
92
- navigation: {
93
- openMenuOnHover(args) {
94
- openMenu(args, 'hover');
95
- },
96
-
97
- closeMenuOnHover(args) {
98
- closeMenu(args, 'hover');
99
- },
100
-
101
- openMenuOnClick(args) {
102
- openMenu(args, 'click');
103
- },
104
-
105
- closeMenuOnClick(args) {
106
- closeMenu(args, 'click');
107
- },
108
-
109
- toggleMenuOnClick: args => {
110
- const {
111
- context
112
- } = args;
113
-
114
- if (context.core.navigation.isMenuOpen.click) {
115
- closeMenu(args, 'click');
116
- } else {
117
- openMenu(args, 'click');
118
- }
119
- },
120
- handleMenuKeydown: args => {
121
- const {
122
- context,
123
- event
124
- } = args;
125
-
126
- if (context.core.navigation.isMenuOpen.click) {
127
- // If Escape close the menu
128
- if (event?.key === 'Escape' || event?.keyCode === 27) {
129
- closeMenu(args, 'click');
130
- return;
131
- } // Trap focus if it is an overlay (main menu)
132
-
133
-
134
- if (context.core.navigation.overlay && (event.key === 'Tab' || event.keyCode === 9)) {
135
- // If shift + tab it change the direction
136
- if (event.shiftKey && window.document.activeElement === context.core.navigation.firstFocusableElement) {
137
- event.preventDefault();
138
- context.core.navigation.lastFocusableElement.focus();
139
- } else if (!event.shiftKey && window.document.activeElement === context.core.navigation.lastFocusableElement) {
140
- event.preventDefault();
141
- context.core.navigation.firstFocusableElement.focus();
142
- }
143
- }
144
- }
145
- },
146
- handleMenuFocusout: args => {
147
- const {
148
- context,
149
- event
150
- } = args; // If focus is outside modal, and in the document, close menu
151
- // event.target === The element losing focus
152
- // event.relatedTarget === The element receiving focus (if any)
153
- // When focusout is outsite the document,
154
- // `window.document.activeElement` doesn't change
155
-
156
- if (context.core.navigation.isMenuOpen.click && !context.core.navigation.modal.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
157
- closeMenu(args, 'click');
158
- }
159
- }
160
- }
161
- }
162
- }
163
- });
164
- //# sourceMappingURL=interactivity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/interactivity.js"],"names":["store","focusableSelectors","openMenu","context","ref","menuOpenedOn","core","navigation","isMenuOpen","previousFocus","overlay","document","documentElement","classList","add","closeMenu","selectors","menuClosedOn","modal","contains","window","activeElement","focus","remove","effects","initMenu","focusableElements","querySelectorAll","firstFocusableElement","lastFocusableElement","length","focusFirstElement","querySelector","roleAttribute","Object","values","filter","Boolean","actions","openMenuOnHover","args","closeMenuOnHover","openMenuOnClick","closeMenuOnClick","toggleMenuOnClick","click","handleMenuKeydown","event","key","keyCode","shiftKey","preventDefault","handleMenuFocusout","relatedTarget","target"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { store } from '../utils/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'area[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'iframe',\n\t'object',\n\t'embed',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\nconst openMenu = ( { context, ref }, menuOpenedOn ) => {\n\tcontext.core.navigation.isMenuOpen[ menuOpenedOn ] = true;\n\tcontext.core.navigation.previousFocus = ref;\n\tif ( context.core.navigation.overlay ) {\n\t\t// Add a `has-modal-open` class to the <html> root.\n\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t}\n};\n\nconst closeMenu = ( { context, selectors }, menuClosedOn ) => {\n\tcontext.core.navigation.isMenuOpen[ menuClosedOn ] = false;\n\t// Check if the menu is still open or not.\n\tif ( ! selectors.core.navigation.isMenuOpen( { context } ) ) {\n\t\tif (\n\t\t\tcontext.core.navigation.modal.contains(\n\t\t\t\twindow.document.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tcontext.core.navigation.previousFocus.focus();\n\t\t}\n\t\tcontext.core.navigation.modal = null;\n\t\tcontext.core.navigation.previousFocus = null;\n\t\tif ( context.core.navigation.overlay ) {\n\t\t\tdocument.documentElement.classList.remove( 'has-modal-open' );\n\t\t}\n\t}\n};\n\nstore( {\n\teffects: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\tinitMenu: ( { context, selectors, ref } ) => {\n\t\t\t\t\tif ( selectors.core.navigation.isMenuOpen( { context } ) ) {\n\t\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\t\tcontext.core.navigation.modal = ref;\n\t\t\t\t\t\tcontext.core.navigation.firstFocusableElement =\n\t\t\t\t\t\t\tfocusableElements[ 0 ];\n\t\t\t\t\t\tcontext.core.navigation.lastFocusableElement =\n\t\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfocusFirstElement: ( { context, selectors, ref } ) => {\n\t\t\t\t\tif ( selectors.core.navigation.isMenuOpen( { context } ) ) {\n\t\t\t\t\t\tref.querySelector(\n\t\t\t\t\t\t\t'.wp-block-navigation-item > *:first-child'\n\t\t\t\t\t\t).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tselectors: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\troleAttribute: ( { context, selectors } ) =>\n\t\t\t\t\tcontext.core.navigation.overlay &&\n\t\t\t\t\tselectors.core.navigation.isMenuOpen( { context } )\n\t\t\t\t\t\t? 'dialog'\n\t\t\t\t\t\t: '',\n\t\t\t\tisMenuOpen: ( { context } ) =>\n\t\t\t\t\t// The menu is opened if either `click` or `hover` is true.\n\t\t\t\t\tObject.values( context.core.navigation.isMenuOpen ).filter(\n\t\t\t\t\t\tBoolean\n\t\t\t\t\t).length > 0,\n\t\t\t},\n\t\t},\n\t},\n\tactions: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\topenMenuOnHover( args ) {\n\t\t\t\t\topenMenu( args, 'hover' );\n\t\t\t\t},\n\t\t\t\tcloseMenuOnHover( args ) {\n\t\t\t\t\tcloseMenu( args, 'hover' );\n\t\t\t\t},\n\t\t\t\topenMenuOnClick( args ) {\n\t\t\t\t\topenMenu( args, 'click' );\n\t\t\t\t},\n\t\t\t\tcloseMenuOnClick( args ) {\n\t\t\t\t\tcloseMenu( args, 'click' );\n\t\t\t\t},\n\t\t\t\ttoggleMenuOnClick: ( args ) => {\n\t\t\t\t\tconst { context } = args;\n\t\t\t\t\tif ( context.core.navigation.isMenuOpen.click ) {\n\t\t\t\t\t\tcloseMenu( args, 'click' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\topenMenu( args, 'click' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleMenuKeydown: ( args ) => {\n\t\t\t\t\tconst { context, event } = args;\n\t\t\t\t\tif ( context.core.navigation.isMenuOpen.click ) {\n\t\t\t\t\t\t// If Escape close the menu\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent?.key === 'Escape' ||\n\t\t\t\t\t\t\tevent?.keyCode === 27\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcloseMenu( args, 'click' );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Trap focus if it is an overlay (main menu)\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcontext.core.navigation.overlay &&\n\t\t\t\t\t\t\t( event.key === 'Tab' || event.keyCode === 9 )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// If shift + tab it change the direction\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\tcontext.core.navigation\n\t\t\t\t\t\t\t\t\t\t.firstFocusableElement\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcontext.core.navigation.lastFocusableElement.focus();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\tcontext.core.navigation.lastFocusableElement\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcontext.core.navigation.firstFocusableElement.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleMenuFocusout: ( args ) => {\n\t\t\t\t\tconst { context, event } = args;\n\t\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t\t// event.target === The element losing focus\n\t\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t\t// When focusout is outsite the document,\n\t\t\t\t\t// `window.document.activeElement` doesn't change\n\t\t\t\t\tif (\n\t\t\t\t\t\tcontext.core.navigation.isMenuOpen.click &&\n\t\t\t\t\t\t! context.core.navigation.modal.contains(\n\t\t\t\t\t\t\tevent.relatedTarget\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement\n\t\t\t\t\t) {\n\t\t\t\t\t\tcloseMenu( args, 'click' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n"]}
@@ -1,58 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import MicroModal from 'micromodal'; // Responsive navigation toggle.
5
-
6
- function navigationToggleModal(modal) {
7
- const dialogContainer = modal.querySelector(`.wp-block-navigation__responsive-dialog`);
8
- const isHidden = 'true' === modal.getAttribute('aria-hidden');
9
- modal.classList.toggle('has-modal-open', !isHidden);
10
- dialogContainer.toggleAttribute('aria-modal', !isHidden);
11
-
12
- if (isHidden) {
13
- dialogContainer.removeAttribute('role');
14
- dialogContainer.removeAttribute('aria-modal');
15
- } else {
16
- dialogContainer.setAttribute('role', 'dialog');
17
- dialogContainer.setAttribute('aria-modal', 'true');
18
- } // Add a class to indicate the modal is open.
19
-
20
-
21
- const htmlElement = document.documentElement;
22
- htmlElement.classList.toggle('has-modal-open');
23
- }
24
-
25
- function isLinkToAnchorOnCurrentPage(node) {
26
- return node.hash && node.protocol === window.location.protocol && node.host === window.location.host && node.pathname === window.location.pathname && node.search === window.location.search;
27
- }
28
-
29
- window.addEventListener('load', () => {
30
- MicroModal.init({
31
- onShow: navigationToggleModal,
32
- onClose: navigationToggleModal,
33
- openClass: 'is-menu-open'
34
- }); // Close modal automatically on clicking anchor links inside modal.
35
-
36
- const navigationLinks = document.querySelectorAll('.wp-block-navigation-item__content');
37
- navigationLinks.forEach(function (link) {
38
- // Ignore non-anchor links and anchor links which open on a new tab.
39
- if (!isLinkToAnchorOnCurrentPage(link) || link.attributes?.target === '_blank') {
40
- return;
41
- } // Find the specific parent modal for this link
42
- // since .close() won't work without an ID if there are
43
- // multiple navigation menus in a post/page.
44
-
45
-
46
- const modal = link.closest('.wp-block-navigation__responsive-container');
47
- const modalId = modal?.getAttribute('id');
48
- link.addEventListener('click', () => {
49
- // check if modal exists and is open before trying to close it
50
- // otherwise Micromodal will toggle the `has-modal-open` class
51
- // on the html tag which prevents scrolling
52
- if (modalId && modal.classList.contains('has-modal-open')) {
53
- MicroModal.close(modalId);
54
- }
55
- });
56
- });
57
- });
58
- //# sourceMappingURL=view-modal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/view-modal.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","document","documentElement","isLinkToAnchorOnCurrentPage","node","hash","protocol","window","location","host","pathname","search","addEventListener","init","onShow","onClose","openClass","navigationLinks","querySelectorAll","forEach","link","attributes","target","closest","modalId","contains","close"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB,C,CAEA;;AACA,SAASC,qBAAT,CAAgCC,KAAhC,EAAwC;AACvC,QAAMC,eAAe,GAAGD,KAAK,CAACE,aAAN,CACtB,yCADsB,CAAxB;AAIA,QAAMC,QAAQ,GAAG,WAAWH,KAAK,CAACI,YAAN,CAAoB,aAApB,CAA5B;AAEAJ,EAAAA,KAAK,CAACK,SAAN,CAAgBC,MAAhB,CAAwB,gBAAxB,EAA0C,CAAEH,QAA5C;AACAF,EAAAA,eAAe,CAACM,eAAhB,CAAiC,YAAjC,EAA+C,CAAEJ,QAAjD;;AAEA,MAAKA,QAAL,EAAgB;AACfF,IAAAA,eAAe,CAACO,eAAhB,CAAiC,MAAjC;AACAP,IAAAA,eAAe,CAACO,eAAhB,CAAiC,YAAjC;AACA,GAHD,MAGO;AACNP,IAAAA,eAAe,CAACQ,YAAhB,CAA8B,MAA9B,EAAsC,QAAtC;AACAR,IAAAA,eAAe,CAACQ,YAAhB,CAA8B,YAA9B,EAA4C,MAA5C;AACA,GAhBsC,CAkBvC;;;AACA,QAAMC,WAAW,GAAGC,QAAQ,CAACC,eAA7B;AACAF,EAAAA,WAAW,CAACL,SAAZ,CAAsBC,MAAtB,CAA8B,gBAA9B;AACA;;AAED,SAASO,2BAAT,CAAsCC,IAAtC,EAA6C;AAC5C,SACCA,IAAI,CAACC,IAAL,IACAD,IAAI,CAACE,QAAL,KAAkBC,MAAM,CAACC,QAAP,CAAgBF,QADlC,IAEAF,IAAI,CAACK,IAAL,KAAcF,MAAM,CAACC,QAAP,CAAgBC,IAF9B,IAGAL,IAAI,CAACM,QAAL,KAAkBH,MAAM,CAACC,QAAP,CAAgBE,QAHlC,IAIAN,IAAI,CAACO,MAAL,KAAgBJ,MAAM,CAACC,QAAP,CAAgBG,MALjC;AAOA;;AAEDJ,MAAM,CAACK,gBAAP,CAAyB,MAAzB,EAAiC,MAAM;AACtCxB,EAAAA,UAAU,CAACyB,IAAX,CAAiB;AAChBC,IAAAA,MAAM,EAAEzB,qBADQ;AAEhB0B,IAAAA,OAAO,EAAE1B,qBAFO;AAGhB2B,IAAAA,SAAS,EAAE;AAHK,GAAjB,EADsC,CAOtC;;AACA,QAAMC,eAAe,GAAGhB,QAAQ,CAACiB,gBAAT,CACvB,oCADuB,CAAxB;AAIAD,EAAAA,eAAe,CAACE,OAAhB,CAAyB,UAAWC,IAAX,EAAkB;AAC1C;AACA,QACC,CAAEjB,2BAA2B,CAAEiB,IAAF,CAA7B,IACAA,IAAI,CAACC,UAAL,EAAiBC,MAAjB,KAA4B,QAF7B,EAGE;AACD;AACA,KAPyC,CAS1C;AACA;AACA;;;AACA,UAAMhC,KAAK,GAAG8B,IAAI,CAACG,OAAL,CACb,4CADa,CAAd;AAGA,UAAMC,OAAO,GAAGlC,KAAK,EAAEI,YAAP,CAAqB,IAArB,CAAhB;AAEA0B,IAAAA,IAAI,CAACR,gBAAL,CAAuB,OAAvB,EAAgC,MAAM;AACrC;AACA;AACA;AACA,UAAKY,OAAO,IAAIlC,KAAK,CAACK,SAAN,CAAgB8B,QAAhB,CAA0B,gBAA1B,CAAhB,EAA+D;AAC9DrC,QAAAA,UAAU,CAACsC,KAAX,CAAkBF,OAAlB;AACA;AACD,KAPD;AAQA,GAzBD;AA0BA,CAtCD","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = modal.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\nfunction isLinkToAnchorOnCurrentPage( node ) {\n\treturn (\n\t\tnode.hash &&\n\t\tnode.protocol === window.location.protocol &&\n\t\tnode.host === window.location.host &&\n\t\tnode.pathname === window.location.pathname &&\n\t\tnode.search === window.location.search\n\t);\n}\n\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\t// Close modal automatically on clicking anchor links inside modal.\n\tconst navigationLinks = document.querySelectorAll(\n\t\t'.wp-block-navigation-item__content'\n\t);\n\n\tnavigationLinks.forEach( function ( link ) {\n\t\t// Ignore non-anchor links and anchor links which open on a new tab.\n\t\tif (\n\t\t\t! isLinkToAnchorOnCurrentPage( link ) ||\n\t\t\tlink.attributes?.target === '_blank'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find the specific parent modal for this link\n\t\t// since .close() won't work without an ID if there are\n\t\t// multiple navigation menus in a post/page.\n\t\tconst modal = link.closest(\n\t\t\t'.wp-block-navigation__responsive-container'\n\t\t);\n\t\tconst modalId = modal?.getAttribute( 'id' );\n\n\t\tlink.addEventListener( 'click', () => {\n\t\t\t// check if modal exists and is open before trying to close it\n\t\t\t// otherwise Micromodal will toggle the `has-modal-open` class\n\t\t\t// on the html tag which prevents scrolling\n\t\t\tif ( modalId && modal.classList.contains( 'has-modal-open' ) ) {\n\t\t\t\tMicroModal.close( modalId );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
@@ -1,2 +0,0 @@
1
- export const directivePrefix = 'wp';
2
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/utils/interactivity/constants.js"],"names":["directivePrefix"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG,IAAxB","sourcesContent":["export const directivePrefix = 'wp';\n"]}
@@ -1,209 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
-
3
- /**
4
- * External dependencies
5
- */
6
- import { useContext, useMemo, useEffect } from 'preact/hooks';
7
- import { deepSignal, peek } from 'deepsignal';
8
- /**
9
- * Internal dependencies
10
- */
11
-
12
- import { createPortal } from './portals.js';
13
- /**
14
- * Internal dependencies
15
- */
16
-
17
- import { useSignalEffect } from './utils';
18
- import { directive } from './hooks';
19
-
20
- const isObject = item => item && typeof item === 'object' && !Array.isArray(item);
21
-
22
- const mergeDeepSignals = (target, source) => {
23
- for (const k in source) {
24
- if (typeof peek(target, k) === 'undefined') {
25
- target[`$${k}`] = source[`$${k}`];
26
- } else if (isObject(peek(target, k)) && isObject(peek(source, k))) {
27
- mergeDeepSignals(target[`$${k}`].peek(), source[`$${k}`].peek());
28
- }
29
- }
30
- };
31
-
32
- export default (() => {
33
- // data-wp-context
34
- directive('context', ({
35
- directives: {
36
- context: {
37
- default: context
38
- }
39
- },
40
- props: {
41
- children
42
- },
43
- context: inherited
44
- }) => {
45
- const {
46
- Provider
47
- } = inherited;
48
- const inheritedValue = useContext(inherited);
49
- const value = useMemo(() => {
50
- const localValue = deepSignal(context);
51
- mergeDeepSignals(localValue, inheritedValue);
52
- return localValue;
53
- }, [context, inheritedValue]);
54
- return createElement(Provider, {
55
- value: value
56
- }, children);
57
- }, {
58
- priority: 5
59
- }); // data-wp-body
60
-
61
- directive('body', ({
62
- props: {
63
- children
64
- },
65
- context: inherited
66
- }) => {
67
- const {
68
- Provider
69
- } = inherited;
70
- const inheritedValue = useContext(inherited);
71
- return createPortal(createElement(Provider, {
72
- value: inheritedValue
73
- }, children), document.body);
74
- }); // data-wp-effect--[name]
75
-
76
- directive('effect', ({
77
- directives: {
78
- effect
79
- },
80
- context,
81
- evaluate
82
- }) => {
83
- const contextValue = useContext(context);
84
- Object.values(effect).forEach(path => {
85
- useSignalEffect(() => {
86
- return evaluate(path, {
87
- context: contextValue
88
- });
89
- });
90
- });
91
- }); // data-wp-init--[name]
92
-
93
- directive('init', ({
94
- directives: {
95
- init
96
- },
97
- context,
98
- evaluate
99
- }) => {
100
- const contextValue = useContext(context);
101
- Object.values(init).forEach(path => {
102
- useEffect(() => {
103
- return evaluate(path, {
104
- context: contextValue
105
- });
106
- }, []);
107
- });
108
- }); // data-wp-on--[event]
109
-
110
- directive('on', ({
111
- directives: {
112
- on
113
- },
114
- element,
115
- evaluate,
116
- context
117
- }) => {
118
- const contextValue = useContext(context);
119
- Object.entries(on).forEach(([name, path]) => {
120
- element.props[`on${name}`] = event => {
121
- evaluate(path, {
122
- event,
123
- context: contextValue
124
- });
125
- };
126
- });
127
- }); // data-wp-class--[classname]
128
-
129
- directive('class', ({
130
- directives: {
131
- class: className
132
- },
133
- element,
134
- evaluate,
135
- context
136
- }) => {
137
- const contextValue = useContext(context);
138
- Object.keys(className).filter(n => n !== 'default').forEach(name => {
139
- const result = evaluate(className[name], {
140
- className: name,
141
- context: contextValue
142
- });
143
- const currentClass = element.props.class || '';
144
- const classFinder = new RegExp(`(^|\\s)${name}(\\s|$)`, 'g');
145
- if (!result) element.props.class = currentClass.replace(classFinder, ' ').trim();else if (!classFinder.test(currentClass)) element.props.class = currentClass ? `${currentClass} ${name}` : name;
146
- useEffect(() => {
147
- // This seems necessary because Preact doesn't change the class
148
- // names on the hydration, so we have to do it manually. It doesn't
149
- // need deps because it only needs to do it the first time.
150
- if (!result) {
151
- element.ref.current.classList.remove(name);
152
- } else {
153
- element.ref.current.classList.add(name);
154
- }
155
- }, []);
156
- });
157
- }); // data-wp-bind--[attribute]
158
-
159
- directive('bind', ({
160
- directives: {
161
- bind
162
- },
163
- element,
164
- context,
165
- evaluate
166
- }) => {
167
- const contextValue = useContext(context);
168
- Object.entries(bind).filter(n => n !== 'default').forEach(([attribute, path]) => {
169
- const result = evaluate(path, {
170
- context: contextValue
171
- });
172
- element.props[attribute] = result; // This seems necessary because Preact doesn't change the attributes
173
- // on the hydration, so we have to do it manually. It doesn't need
174
- // deps because it only needs to do it the first time.
175
-
176
- useEffect(() => {
177
- // aria- and data- attributes have no boolean representation.
178
- // A `false` value is different from the attribute not being
179
- // present, so we can't remove it.
180
- // We follow Preact's logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L131C24-L136
181
- if (result === false && attribute[4] !== '-') {
182
- element.ref.current.removeAttribute(attribute);
183
- } else {
184
- element.ref.current.setAttribute(attribute, result === true && attribute[4] !== '-' ? '' : result);
185
- }
186
- }, []);
187
- });
188
- }); // data-wp-ignore
189
-
190
- directive('ignore', ({
191
- element: {
192
- type: Type,
193
- props: {
194
- innerHTML,
195
- ...rest
196
- }
197
- }
198
- }) => {
199
- // Preserve the initial inner HTML.
200
- const cached = useMemo(() => innerHTML, []);
201
- return createElement(Type, {
202
- dangerouslySetInnerHTML: {
203
- __html: cached
204
- },
205
- ...rest
206
- });
207
- });
208
- });
209
- //# sourceMappingURL=directives.js.map