@wordpress/block-library 8.12.6 → 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.
- package/CHANGELOG.md +4 -0
- package/build/archives/index.js +5 -1
- package/build/archives/index.js.map +1 -1
- package/build/audio/index.js +5 -1
- package/build/audio/index.js.map +1 -1
- package/build/block/edit.native.js +2 -2
- package/build/block/edit.native.js.map +1 -1
- package/build/categories/index.js +5 -1
- package/build/categories/index.js.map +1 -1
- package/build/code/index.js +5 -1
- package/build/code/index.js.map +1 -1
- package/build/column/index.js +1 -0
- package/build/column/index.js.map +1 -1
- package/build/comments/index.js +1 -0
- package/build/comments/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/index.js +1 -0
- package/build/cover/index.js.map +1 -1
- package/build/details/index.js +5 -1
- package/build/details/index.js.map +1 -1
- package/build/embed/util.js +9 -8
- package/build/embed/util.js.map +1 -1
- package/build/file/index.js +2 -1
- package/build/file/index.js.map +1 -1
- package/build/file/view.js +15 -1
- package/build/file/view.js.map +1 -1
- package/build/gallery/index.js +3 -1
- package/build/gallery/index.js.map +1 -1
- package/build/group/index.js +1 -0
- package/build/group/index.js.map +1 -1
- package/build/heading/index.js +5 -1
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +5 -1
- package/build/heading/transforms.js.map +1 -1
- package/build/image/deprecated.js +453 -175
- package/build/image/deprecated.js.map +1 -1
- package/build/image/image.js +1 -1
- package/build/image/image.js.map +1 -1
- package/build/image/save.js +3 -1
- package/build/image/save.js.map +1 -1
- package/build/image/{interactivity.js → view-interactivity.js} +86 -44
- package/build/image/view-interactivity.js.map +1 -0
- package/build/index.js +12 -3
- package/build/index.js.map +1 -1
- package/build/list/index.js +5 -1
- package/build/list/index.js.map +1 -1
- package/build/list-item/utils.js +6 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/media-text/index.js +1 -0
- package/build/media-text/index.js.map +1 -1
- package/build/missing/edit.js +22 -8
- package/build/missing/edit.js.map +1 -1
- package/build/navigation/index.js +3 -2
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/view.js +174 -50
- package/build/navigation/view.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +3 -3
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +34 -39
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/use-convert-to-navigation-links.js +2 -15
- package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build/paragraph/index.js +1 -0
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +1 -0
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-comments-form/index.js +1 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-navigation-link/index.js +1 -0
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-time-to-read/index.js +5 -1
- package/build/post-time-to-read/index.js.map +1 -1
- package/build/quote/index.js +1 -0
- package/build/quote/index.js.map +1 -1
- package/build/site-logo/index.js +5 -1
- package/build/site-logo/index.js.map +1 -1
- package/build/site-tagline/index.js +5 -1
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/index.js +5 -1
- package/build/site-title/index.js.map +1 -1
- package/build/social-links/index.js +3 -1
- package/build/social-links/index.js.map +1 -1
- package/build/table/index.js +5 -1
- package/build/table/index.js.map +1 -1
- package/build/term-description/index.js +1 -0
- package/build/term-description/index.js.map +1 -1
- package/build/verse/index.js +5 -1
- package/build/verse/index.js.map +1 -1
- package/build/video/deprecated.js +5 -1
- package/build/video/deprecated.js.map +1 -1
- package/build/video/index.js +5 -1
- package/build/video/index.js.map +1 -1
- package/build-module/archives/index.js +5 -1
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/index.js +5 -1
- package/build-module/audio/index.js.map +1 -1
- package/build-module/block/edit.native.js +2 -2
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/categories/index.js +5 -1
- package/build-module/categories/index.js.map +1 -1
- package/build-module/code/index.js +5 -1
- package/build-module/code/index.js.map +1 -1
- package/build-module/column/index.js +1 -0
- package/build-module/column/index.js.map +1 -1
- package/build-module/comments/index.js +1 -0
- package/build-module/comments/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +2 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/index.js +1 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/details/index.js +5 -1
- package/build-module/details/index.js.map +1 -1
- package/build-module/embed/util.js +6 -6
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/index.js +2 -1
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/view.js +15 -2
- package/build-module/file/view.js.map +1 -1
- package/build-module/gallery/index.js +3 -1
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/group/index.js +1 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/index.js +5 -1
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +5 -1
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/deprecated.js +454 -176
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/image.js +1 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/save.js +3 -1
- package/build-module/image/save.js.map +1 -1
- package/build-module/image/{interactivity.js → view-interactivity.js} +86 -44
- package/build-module/image/view-interactivity.js.map +1 -0
- package/build-module/index.js +12 -3
- package/build-module/index.js.map +1 -1
- package/build-module/list/index.js +5 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/list-item/utils.js +6 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/media-text/index.js +1 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/missing/edit.js +22 -8
- package/build-module/missing/edit.js.map +1 -1
- package/build-module/navigation/index.js +3 -2
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/view.js +173 -50
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +3 -3
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +34 -39
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/use-convert-to-navigation-links.js +3 -16
- package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build-module/paragraph/index.js +1 -0
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +1 -0
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-comments-form/index.js +1 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-navigation-link/index.js +1 -0
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-time-to-read/index.js +5 -1
- package/build-module/post-time-to-read/index.js.map +1 -1
- package/build-module/quote/index.js +1 -0
- package/build-module/quote/index.js.map +1 -1
- package/build-module/site-logo/index.js +5 -1
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-tagline/index.js +5 -1
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/index.js +5 -1
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-links/index.js +3 -1
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/table/index.js +5 -1
- package/build-module/table/index.js.map +1 -1
- package/build-module/term-description/index.js +1 -0
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/verse/index.js +5 -1
- package/build-module/verse/index.js.map +1 -1
- package/build-module/video/deprecated.js +5 -1
- package/build-module/video/deprecated.js.map +1 -1
- package/build-module/video/index.js +5 -1
- package/build-module/video/index.js.map +1 -1
- package/build-style/image/style-rtl.css +16 -2
- package/build-style/image/style.css +16 -2
- package/build-style/style-rtl.css +16 -2
- package/build-style/style.css +16 -2
- package/package.json +33 -38
- package/src/archives/block.json +5 -1
- package/src/audio/block.json +5 -1
- package/src/block/edit.native.js +2 -2
- package/src/block/test/edit.native.js +4 -4
- package/src/categories/block.json +5 -1
- package/src/code/block.json +5 -1
- package/src/column/block.json +1 -0
- package/src/comments/block.json +1 -0
- package/src/cover/block.json +1 -0
- package/src/cover/edit/inspector-controls.js +1 -0
- package/src/details/block.json +5 -1
- package/src/embed/util.js +4 -6
- package/src/file/block.json +2 -1
- package/src/file/index.php +0 -17
- package/src/file/view.js +14 -5
- package/src/gallery/block.json +3 -1
- package/src/group/block.json +1 -0
- package/src/heading/block.json +5 -1
- package/src/heading/test/index.native.js +18 -0
- package/src/image/deprecated.js +597 -320
- package/src/image/image.js +2 -1
- package/src/image/save.js +2 -0
- package/src/image/style.scss +15 -2
- package/src/image/{interactivity.js → view-interactivity.js} +99 -50
- package/src/index.js +18 -1
- package/src/list/block.json +5 -1
- package/src/media-text/block.json +1 -0
- package/src/missing/edit.js +31 -11
- package/src/navigation/block.json +3 -2
- package/src/navigation/index.php +15 -20
- package/src/navigation/view.js +189 -67
- package/src/navigation-submenu/index.php +0 -10
- package/src/page-list/convert-to-links-modal.js +3 -3
- package/src/page-list/edit.js +65 -62
- package/src/page-list/use-convert-to-navigation-links.js +3 -20
- package/src/paragraph/block.json +1 -0
- package/src/post-comments-form/block.json +1 -0
- package/src/post-navigation-link/block.json +1 -0
- package/src/post-time-to-read/block.json +5 -1
- package/src/quote/block.json +1 -0
- package/src/site-logo/block.json +5 -1
- package/src/site-tagline/block.json +5 -1
- package/src/site-title/block.json +5 -1
- package/src/social-links/block.json +3 -1
- package/src/table/block.json +5 -1
- package/src/term-description/block.json +1 -0
- package/src/verse/block.json +5 -1
- package/src/video/block.json +5 -1
- package/build/file/interactivity.js +0 -19
- package/build/file/interactivity.js.map +0 -1
- package/build/heading/heading-level-icon.js +0 -61
- package/build/heading/heading-level-icon.js.map +0 -1
- package/build/image/interactivity.js.map +0 -1
- package/build/navigation/interactivity.js +0 -167
- package/build/navigation/interactivity.js.map +0 -1
- package/build/navigation/view-modal.js +0 -64
- package/build/navigation/view-modal.js.map +0 -1
- package/build/utils/interactivity/constants.js +0 -9
- package/build/utils/interactivity/constants.js.map +0 -1
- package/build/utils/interactivity/directives.js +0 -222
- package/build/utils/interactivity/directives.js.map +0 -1
- package/build/utils/interactivity/hooks.js +0 -159
- package/build/utils/interactivity/hooks.js.map +0 -1
- package/build/utils/interactivity/hydration.js +0 -34
- package/build/utils/interactivity/hydration.js.map +0 -1
- package/build/utils/interactivity/index.js +0 -32
- package/build/utils/interactivity/index.js.map +0 -1
- package/build/utils/interactivity/portals.js +0 -108
- package/build/utils/interactivity/portals.js.map +0 -1
- package/build/utils/interactivity/store.js +0 -66
- package/build/utils/interactivity/store.js.map +0 -1
- package/build/utils/interactivity/utils.js +0 -87
- package/build/utils/interactivity/utils.js.map +0 -1
- package/build/utils/interactivity/vdom.js +0 -119
- package/build/utils/interactivity/vdom.js.map +0 -1
- package/build-module/file/interactivity.js +0 -15
- package/build-module/file/interactivity.js.map +0 -1
- package/build-module/heading/heading-level-icon.js +0 -53
- package/build-module/heading/heading-level-icon.js.map +0 -1
- package/build-module/image/interactivity.js.map +0 -1
- package/build-module/navigation/interactivity.js +0 -164
- package/build-module/navigation/interactivity.js.map +0 -1
- package/build-module/navigation/view-modal.js +0 -58
- package/build-module/navigation/view-modal.js.map +0 -1
- package/build-module/utils/interactivity/constants.js +0 -2
- package/build-module/utils/interactivity/constants.js.map +0 -1
- package/build-module/utils/interactivity/directives.js +0 -209
- package/build-module/utils/interactivity/directives.js.map +0 -1
- package/build-module/utils/interactivity/hooks.js +0 -145
- package/build-module/utils/interactivity/hooks.js.map +0 -1
- package/build-module/utils/interactivity/hydration.js +0 -21
- package/build-module/utils/interactivity/hydration.js.map +0 -1
- package/build-module/utils/interactivity/index.js +0 -15
- package/build-module/utils/interactivity/index.js.map +0 -1
- package/build-module/utils/interactivity/portals.js +0 -100
- package/build-module/utils/interactivity/portals.js.map +0 -1
- package/build-module/utils/interactivity/store.js +0 -55
- package/build-module/utils/interactivity/store.js.map +0 -1
- package/build-module/utils/interactivity/utils.js +0 -75
- package/build-module/utils/interactivity/utils.js.map +0 -1
- package/build-module/utils/interactivity/vdom.js +0 -107
- package/build-module/utils/interactivity/vdom.js.map +0 -1
- package/src/file/interactivity.js +0 -15
- package/src/heading/heading-level-icon.js +0 -48
- package/src/navigation/interactivity.js +0 -169
- package/src/navigation/view-modal.js +0 -78
- package/src/utils/interactivity/constants.js +0 -1
- package/src/utils/interactivity/directives.js +0 -200
- package/src/utils/interactivity/hooks.js +0 -145
- package/src/utils/interactivity/hydration.js +0 -22
- package/src/utils/interactivity/index.js +0 -15
- package/src/utils/interactivity/portals.js +0 -98
- package/src/utils/interactivity/store.js +0 -45
- package/src/utils/interactivity/utils.js +0 -66
- package/src/utils/interactivity/vdom.js +0 -111
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.hydratedIslands = void 0;
|
|
7
|
-
exports.toVdom = toVdom;
|
|
8
|
-
|
|
9
|
-
var _preact = require("preact");
|
|
10
|
-
|
|
11
|
-
var _constants = require("./constants");
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* External dependencies
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Internal dependencies
|
|
19
|
-
*/
|
|
20
|
-
const ignoreAttr = `data-${_constants.directivePrefix}-ignore`;
|
|
21
|
-
const islandAttr = `data-${_constants.directivePrefix}-interactive`;
|
|
22
|
-
const fullPrefix = `data-${_constants.directivePrefix}-`; // Regular expression for directive parsing.
|
|
23
|
-
|
|
24
|
-
const directiveParser = new RegExp(`^data-${_constants.directivePrefix}-` + // ${p} must be a prefix string, like 'wp'.
|
|
25
|
-
// Match alphanumeric characters including hyphen-separated
|
|
26
|
-
// segments. It excludes underscore intentionally to prevent confusion.
|
|
27
|
-
// E.g., "custom-directive".
|
|
28
|
-
'([a-z0-9]+(?:-[a-z0-9]+)*)' + // (Optional) Match '--' followed by any alphanumeric charachters. It
|
|
29
|
-
// excludes underscore intentionally to prevent confusion, but it can
|
|
30
|
-
// contain multiple hyphens. E.g., "--custom-prefix--with-more-info".
|
|
31
|
-
'(?:--([a-z0-9][a-z0-9-]+))?$', 'i' // Case insensitive.
|
|
32
|
-
);
|
|
33
|
-
const hydratedIslands = new WeakSet(); // Recursive function that transforms a DOM tree into vDOM.
|
|
34
|
-
|
|
35
|
-
exports.hydratedIslands = hydratedIslands;
|
|
36
|
-
|
|
37
|
-
function toVdom(root) {
|
|
38
|
-
const treeWalker = document.createTreeWalker(root, 205 // ELEMENT + TEXT + COMMENT + CDATA_SECTION + PROCESSING_INSTRUCTION
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
function walk(node) {
|
|
42
|
-
const {
|
|
43
|
-
attributes,
|
|
44
|
-
nodeType
|
|
45
|
-
} = node;
|
|
46
|
-
if (nodeType === 3) return [node.data];
|
|
47
|
-
|
|
48
|
-
if (nodeType === 4) {
|
|
49
|
-
const next = treeWalker.nextSibling();
|
|
50
|
-
node.replaceWith(new window.Text(node.nodeValue));
|
|
51
|
-
return [node.nodeValue, next];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (nodeType === 8 || nodeType === 7) {
|
|
55
|
-
const next = treeWalker.nextSibling();
|
|
56
|
-
node.remove();
|
|
57
|
-
return [null, next];
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const props = {};
|
|
61
|
-
const children = [];
|
|
62
|
-
const directives = {};
|
|
63
|
-
let hasDirectives = false;
|
|
64
|
-
let ignore = false;
|
|
65
|
-
let island = false;
|
|
66
|
-
|
|
67
|
-
for (let i = 0; i < attributes.length; i++) {
|
|
68
|
-
const n = attributes[i].name;
|
|
69
|
-
|
|
70
|
-
if (n[fullPrefix.length] && n.slice(0, fullPrefix.length) === fullPrefix) {
|
|
71
|
-
if (n === ignoreAttr) {
|
|
72
|
-
ignore = true;
|
|
73
|
-
} else if (n === islandAttr) {
|
|
74
|
-
island = true;
|
|
75
|
-
} else {
|
|
76
|
-
hasDirectives = true;
|
|
77
|
-
let val = attributes[i].value;
|
|
78
|
-
|
|
79
|
-
try {
|
|
80
|
-
val = JSON.parse(val);
|
|
81
|
-
} catch (e) {}
|
|
82
|
-
|
|
83
|
-
const [, prefix, suffix] = directiveParser.exec(n);
|
|
84
|
-
directives[prefix] = directives[prefix] || {};
|
|
85
|
-
directives[prefix][suffix || 'default'] = val;
|
|
86
|
-
}
|
|
87
|
-
} else if (n === 'ref') {
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
props[n] = attributes[i].value;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (ignore && !island) return [(0, _preact.h)(node.localName, { ...props,
|
|
95
|
-
innerHTML: node.innerHTML,
|
|
96
|
-
__directives: {
|
|
97
|
-
ignore: true
|
|
98
|
-
}
|
|
99
|
-
})];
|
|
100
|
-
if (island) hydratedIslands.add(node);
|
|
101
|
-
if (hasDirectives) props.__directives = directives;
|
|
102
|
-
let child = treeWalker.firstChild();
|
|
103
|
-
|
|
104
|
-
if (child) {
|
|
105
|
-
while (child) {
|
|
106
|
-
const [vnode, nextChild] = walk(child);
|
|
107
|
-
if (vnode) children.push(vnode);
|
|
108
|
-
child = nextChild || treeWalker.nextSibling();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
treeWalker.parentNode();
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return [(0, _preact.h)(node.localName, props, children)];
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return walk(treeWalker.currentNode);
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=vdom.js.map
|
|
@@ -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":"AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,wBAAtB;AAEA,MAAMC,kBAAkB,GAAG,CAC1B,SAD0B,EAE1B,YAF0B,EAG1B,+DAH0B,EAI1B,2CAJ0B,EAK1B,6CAL0B,EAM1B,2CAN0B,EAO1B,QAP0B,EAQ1B,QAR0B,EAS1B,OAT0B,EAU1B,mBAV0B,EAW1B,iCAX0B,CAA3B;;AAcA,MAAMC,QAAQ,GAAG,CAAE;AAAEC,EAAAA,OAAF;AAAWC,EAAAA;AAAX,CAAF,EAAoBC,YAApB,KAAsC;AACtDF,EAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBC,UAAxB,CAAoCH,YAApC,IAAqD,IAArD;AACAF,EAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBE,aAAxB,GAAwCL,GAAxC;;AACA,MAAKD,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBG,OAA7B,EAAuC;AACtC;AACAC,IAAAA,QAAQ,CAACC,eAAT,CAAyBC,SAAzB,CAAmCC,GAAnC,CAAwC,gBAAxC;AACA;AACD,CAPD;;AASA,MAAMC,SAAS,GAAG,CAAE;AAAEZ,EAAAA,OAAF;AAAWa,EAAAA;AAAX,CAAF,EAA0BC,YAA1B,KAA4C;AAC7Dd,EAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBC,UAAxB,CAAoCS,YAApC,IAAqD,KAArD,CAD6D,CAE7D;;AACA,MAAK,CAAED,SAAS,CAACV,IAAV,CAAeC,UAAf,CAA0BC,UAA1B,CAAsC;AAAEL,IAAAA;AAAF,GAAtC,CAAP,EAA6D;AAC5D,QACCA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBW,KAAxB,CAA8BC,QAA9B,CACCC,MAAM,CAACT,QAAP,CAAgBU,aADjB,CADD,EAIE;AACDlB,MAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBE,aAAxB,CAAsCa,KAAtC;AACA;;AACDnB,IAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBW,KAAxB,GAAgC,IAAhC;AACAf,IAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBE,aAAxB,GAAwC,IAAxC;;AACA,QAAKN,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBG,OAA7B,EAAuC;AACtCC,MAAAA,QAAQ,CAACC,eAAT,CAAyBC,SAAzB,CAAmCU,MAAnC,CAA2C,gBAA3C;AACA;AACD;AACD,CAjBD;;AAmBAvB,KAAK,CAAE;AACNwB,EAAAA,OAAO,EAAE;AACRlB,IAAAA,IAAI,EAAE;AACLC,MAAAA,UAAU,EAAE;AACXkB,QAAAA,QAAQ,EAAE,CAAE;AAAEtB,UAAAA,OAAF;AAAWa,UAAAA,SAAX;AAAsBZ,UAAAA;AAAtB,SAAF,KAAmC;AAC5C,cAAKY,SAAS,CAACV,IAAV,CAAeC,UAAf,CAA0BC,UAA1B,CAAsC;AAAEL,YAAAA;AAAF,WAAtC,CAAL,EAA2D;AAC1D,kBAAMuB,iBAAiB,GACtBtB,GAAG,CAACuB,gBAAJ,CAAsB1B,kBAAtB,CADD;AAEAE,YAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBW,KAAxB,GAAgCd,GAAhC;AACAD,YAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBqB,qBAAxB,GACCF,iBAAiB,CAAE,CAAF,CADlB;AAEAvB,YAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBsB,oBAAxB,GACCH,iBAAiB,CAAEA,iBAAiB,CAACI,MAAlB,GAA2B,CAA7B,CADlB;AAEA;AACD,SAXU;AAYXC,QAAAA,iBAAiB,EAAE,CAAE;AAAE5B,UAAAA,OAAF;AAAWa,UAAAA,SAAX;AAAsBZ,UAAAA;AAAtB,SAAF,KAAmC;AACrD,cAAKY,SAAS,CAACV,IAAV,CAAeC,UAAf,CAA0BC,UAA1B,CAAsC;AAAEL,YAAAA;AAAF,WAAtC,CAAL,EAA2D;AAC1DC,YAAAA,GAAG,CAAC4B,aAAJ,CACC,2CADD,EAEEV,KAFF;AAGA;AACD;AAlBU;AADP;AADE,GADH;AAyBNN,EAAAA,SAAS,EAAE;AACVV,IAAAA,IAAI,EAAE;AACLC,MAAAA,UAAU,EAAE;AACX0B,QAAAA,aAAa,EAAE,CAAE;AAAE9B,UAAAA,OAAF;AAAWa,UAAAA;AAAX,SAAF,KACdb,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBG,OAAxB,IACAM,SAAS,CAACV,IAAV,CAAeC,UAAf,CAA0BC,UAA1B,CAAsC;AAAEL,UAAAA;AAAF,SAAtC,CADA,GAEG,QAFH,GAGG,EALO;AAMXK,QAAAA,UAAU,EAAE,CAAE;AAAEL,UAAAA;AAAF,SAAF,KACX;AACA+B,QAAAA,MAAM,CAACC,MAAP,CAAehC,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBC,UAAvC,EAAoD4B,MAApD,CACCC,OADD,EAEEP,MAFF,GAEW;AAVD;AADP;AADI,GAzBL;AAyCNQ,EAAAA,OAAO,EAAE;AACRhC,IAAAA,IAAI,EAAE;AACLC,MAAAA,UAAU,EAAE;AACXgC,QAAAA,eAAe,CAAEC,IAAF,EAAS;AACvBtC,UAAAA,QAAQ,CAAEsC,IAAF,EAAQ,OAAR,CAAR;AACA,SAHU;;AAIXC,QAAAA,gBAAgB,CAAED,IAAF,EAAS;AACxBzB,UAAAA,SAAS,CAAEyB,IAAF,EAAQ,OAAR,CAAT;AACA,SANU;;AAOXE,QAAAA,eAAe,CAAEF,IAAF,EAAS;AACvBtC,UAAAA,QAAQ,CAAEsC,IAAF,EAAQ,OAAR,CAAR;AACA,SATU;;AAUXG,QAAAA,gBAAgB,CAAEH,IAAF,EAAS;AACxBzB,UAAAA,SAAS,CAAEyB,IAAF,EAAQ,OAAR,CAAT;AACA,SAZU;;AAaXI,QAAAA,iBAAiB,EAAIJ,IAAF,IAAY;AAC9B,gBAAM;AAAErC,YAAAA;AAAF,cAAcqC,IAApB;;AACA,cAAKrC,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBC,UAAxB,CAAmCqC,KAAxC,EAAgD;AAC/C9B,YAAAA,SAAS,CAAEyB,IAAF,EAAQ,OAAR,CAAT;AACA,WAFD,MAEO;AACNtC,YAAAA,QAAQ,CAAEsC,IAAF,EAAQ,OAAR,CAAR;AACA;AACD,SApBU;AAqBXM,QAAAA,iBAAiB,EAAIN,IAAF,IAAY;AAC9B,gBAAM;AAAErC,YAAAA,OAAF;AAAW4C,YAAAA;AAAX,cAAqBP,IAA3B;;AACA,cAAKrC,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBC,UAAxB,CAAmCqC,KAAxC,EAAgD;AAC/C;AACA,gBACCE,KAAK,EAAEC,GAAP,KAAe,QAAf,IACAD,KAAK,EAAEE,OAAP,KAAmB,EAFpB,EAGE;AACDlC,cAAAA,SAAS,CAAEyB,IAAF,EAAQ,OAAR,CAAT;AACA;AACA,aAR8C,CAU/C;;;AACA,gBACCrC,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBG,OAAxB,KACEqC,KAAK,CAACC,GAAN,KAAc,KAAd,IAAuBD,KAAK,CAACE,OAAN,KAAkB,CAD3C,CADD,EAGE;AACD;AACA,kBACCF,KAAK,CAACG,QAAN,IACA9B,MAAM,CAACT,QAAP,CAAgBU,aAAhB,KACClB,OAAO,CAACG,IAAR,CAAaC,UAAb,CACEqB,qBAJJ,EAKE;AACDmB,gBAAAA,KAAK,CAACI,cAAN;AACAhD,gBAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBsB,oBAAxB,CAA6CP,KAA7C;AACA,eARD,MAQO,IACN,CAAEyB,KAAK,CAACG,QAAR,IACA9B,MAAM,CAACT,QAAP,CAAgBU,aAAhB,KACClB,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBsB,oBAHnB,EAIL;AACDkB,gBAAAA,KAAK,CAACI,cAAN;AACAhD,gBAAAA,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBqB,qBAAxB,CAA8CN,KAA9C;AACA;AACD;AACD;AACD,SAzDU;AA0DX8B,QAAAA,kBAAkB,EAAIZ,IAAF,IAAY;AAC/B,gBAAM;AAAErC,YAAAA,OAAF;AAAW4C,YAAAA;AAAX,cAAqBP,IAA3B,CAD+B,CAE/B;AACA;AACA;AACA;AACA;;AACA,cACCrC,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBC,UAAxB,CAAmCqC,KAAnC,IACA,CAAE1C,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwBW,KAAxB,CAA8BC,QAA9B,CACD4B,KAAK,CAACM,aADL,CADF,IAIAN,KAAK,CAACO,MAAN,KAAiBlC,MAAM,CAACT,QAAP,CAAgBU,aALlC,EAME;AACDN,YAAAA,SAAS,CAAEyB,IAAF,EAAQ,OAAR,CAAT;AACA;AACD;AA1EU;AADP;AADE;AAzCH,CAAF,CAAL","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 +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"]}
|