@wordpress/block-library 8.18.1-next.5a1d1283.0 → 8.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +1 -1
- package/build/block/edit.js +53 -2
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +7 -4
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +11 -2
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +10 -4
- package/build/button/save.js.map +1 -1
- package/build/buttons/edit.js +12 -3
- package/build/buttons/edit.js.map +1 -1
- package/build/code/edit.js +8 -2
- package/build/code/edit.js.map +1 -1
- package/build/code/index.js +7 -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/columns/index.js +2 -0
- package/build/columns/index.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/index.js +2 -1
- package/build/file/index.js.map +1 -1
- package/build/file/utils/index.js +1 -15
- package/build/file/utils/index.js.map +1 -1
- package/build/file/view.js +14 -1
- package/build/file/view.js.map +1 -1
- package/build/footnotes/edit.js +12 -2
- package/build/footnotes/edit.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/group/edit.js +0 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +4 -0
- package/build/group/index.js.map +1 -1
- package/build/heading/edit.js +0 -1
- package/build/heading/edit.js.map +1 -1
- package/build/heading/index.js +2 -0
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +3 -6
- package/build/heading/transforms.js.map +1 -1
- package/build/image/deprecated.js +191 -7
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +27 -12
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +75 -40
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +7 -4
- package/build/image/index.js.map +1 -1
- package/build/image/{view-interactivity.js → view.js} +1 -1
- package/build/image/view.js.map +1 -0
- package/build/list/deprecated.js +93 -1
- package/build/list/deprecated.js.map +1 -1
- package/build/list/edit.js +10 -10
- package/build/list/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +10 -10
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list/save.js +4 -2
- package/build/list/save.js.map +1 -1
- package/build/list/utils.js +21 -2
- package/build/list/utils.js.map +1 -1
- package/build/navigation/constants.js +1 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/index.js +4 -2
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/view.js +168 -82
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +3 -9
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/transforms.js +24 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/page-list/edit.js +2 -1
- package/build/page-list/edit.js.map +1 -1
- package/build/post-comments-form/edit.js +10 -2
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +5 -3
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-content/edit.js +8 -7
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +3 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-featured-image/overlay.js +2 -1
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/preformatted/edit.js +4 -1
- package/build/preformatted/edit.js.map +1 -1
- package/build/preformatted/index.js +1 -1
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/deprecated.js +6 -7
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +56 -0
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -0
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +42 -0
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
- package/build/query/edit/inspector-controls/index.js +8 -25
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-content.js +8 -2
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/utils.js +19 -0
- package/build/query/utils.js.map +1 -1
- package/build/query/view.js +4 -5
- package/build/query/view.js.map +1 -1
- package/build/search/index.js +1 -0
- package/build/search/index.js.map +1 -1
- package/build/search/view.js +81 -150
- package/build/search/view.js.map +1 -1
- package/build/social-link/edit.native.js +3 -1
- package/build/social-link/edit.native.js.map +1 -1
- package/build/table/edit.js +7 -7
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -130
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/hooks.js +145 -0
- package/build/table-of-contents/hooks.js.map +1 -0
- package/build/table-of-contents/index.js +2 -1
- package/build/table-of-contents/index.js.map +1 -1
- package/build/verse/edit.js +4 -1
- package/build/verse/edit.js.map +1 -1
- package/build/verse/index.js +1 -1
- package/build/verse/index.js.map +1 -1
- package/build-module/block/edit.js +54 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +7 -4
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +11 -2
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +10 -4
- package/build-module/button/save.js.map +1 -1
- package/build-module/buttons/edit.js +12 -3
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/code/edit.js +8 -2
- package/build-module/code/edit.js.map +1 -1
- package/build-module/code/index.js +7 -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/columns/index.js +2 -0
- package/build-module/columns/index.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/index.js +2 -1
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/utils/index.js +0 -13
- package/build-module/file/utils/index.js.map +1 -1
- package/build-module/file/view.js +14 -2
- package/build-module/file/view.js.map +1 -1
- package/build-module/footnotes/edit.js +12 -2
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/group/edit.js +0 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +4 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/edit.js +0 -1
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/heading/index.js +2 -0
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +3 -6
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/deprecated.js +191 -7
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.js +27 -12
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +77 -42
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +7 -4
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/{view-interactivity.js → view.js} +1 -1
- package/build-module/image/view.js.map +1 -0
- package/build-module/list/deprecated.js +95 -3
- package/build-module/list/deprecated.js.map +1 -1
- package/build-module/list/edit.js +10 -10
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +10 -10
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list/save.js +4 -2
- package/build-module/list/save.js.map +1 -1
- package/build-module/list/utils.js +20 -2
- package/build-module/list/utils.js.map +1 -1
- package/build-module/navigation/constants.js +1 -1
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/index.js +4 -2
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/view.js +168 -83
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +3 -9
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/transforms.js +24 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/page-list/edit.js +2 -1
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/post-comments-form/edit.js +10 -2
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +5 -3
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-content/edit.js +8 -7
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +3 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +2 -1
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/preformatted/edit.js +4 -1
- package/build-module/preformatted/edit.js.map +1 -1
- package/build-module/preformatted/index.js +1 -1
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/deprecated.js +6 -7
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +50 -0
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -0
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +35 -0
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
- package/build-module/query/edit/inspector-controls/index.js +9 -26
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +8 -2
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/utils.js +17 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query/view.js +4 -5
- package/build-module/query/view.js.map +1 -1
- package/build-module/search/index.js +1 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/search/view.js +81 -151
- package/build-module/search/view.js.map +1 -1
- package/build-module/social-link/edit.native.js +3 -1
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/table/edit.js +7 -7
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +3 -131
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/hooks.js +137 -0
- package/build-module/table-of-contents/hooks.js.map +1 -0
- package/build-module/table-of-contents/index.js +2 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/verse/edit.js +4 -1
- package/build-module/verse/edit.js.map +1 -1
- package/build-module/verse/index.js +1 -1
- package/build-module/verse/index.js.map +1 -1
- package/build-style/cover/style-rtl.css +9 -0
- package/build-style/cover/style.css +9 -0
- package/build-style/editor-rtl.css +15 -9
- package/build-style/editor.css +15 -9
- package/build-style/file/style-rtl.css +5 -0
- package/build-style/file/style.css +5 -0
- package/build-style/heading/style-rtl.css +13 -0
- package/build-style/heading/style.css +13 -0
- package/build-style/navigation-link/editor-rtl.css +0 -9
- package/build-style/navigation-link/editor.css +0 -9
- package/build-style/paragraph/editor-rtl.css +5 -0
- package/build-style/paragraph/editor.css +5 -0
- package/build-style/paragraph/style-rtl.css +5 -0
- package/build-style/paragraph/style.css +5 -0
- package/build-style/post-navigation-link/style-rtl.css +3 -0
- package/build-style/post-navigation-link/style.css +3 -0
- package/build-style/query/editor-rtl.css +10 -0
- package/build-style/query/editor.css +10 -0
- package/build-style/query/style-rtl.css +1 -1
- package/build-style/query/style.css +1 -1
- package/build-style/reset-rtl.css +27 -27
- package/build-style/reset.css +27 -27
- package/build-style/style-rtl.css +35 -0
- package/build-style/style.css +35 -0
- package/package.json +32 -33
- package/src/audio/test/__snapshots__/edit.native.js.snap +78 -106
- package/src/avatar/index.php +2 -2
- package/src/block/edit.js +58 -2
- package/src/block/test/edit.native.js +2 -3
- package/src/button/block.json +11 -2
- package/src/button/edit.js +27 -11
- package/src/button/save.js +10 -4
- package/src/buttons/edit.js +13 -3
- package/src/buttons/test/edit.native.js +28 -24
- package/src/calendar/index.php +2 -2
- package/src/code/block.json +2 -1
- package/src/code/edit.js +13 -1
- package/src/code/index.js +5 -0
- package/src/column/block.json +1 -0
- package/src/columns/block.json +2 -0
- package/src/comment-template/index.php +1 -1
- package/src/comments-pagination-next/index.php +1 -1
- package/src/comments-pagination-previous/index.php +1 -1
- package/src/cover/style.scss +12 -1
- package/src/cover/test/edit.js +7 -7
- package/src/cover/test/edit.native.js +18 -27
- package/src/embed/test/index.native.js +30 -45
- package/src/file/block.json +2 -1
- package/src/file/edit.native.js +1 -1
- package/src/file/index.php +19 -21
- package/src/file/style.scss +6 -1
- package/src/file/test/__snapshots__/edit.native.js.snap +162 -218
- package/src/file/utils/index.js +0 -15
- package/src/file/view.js +14 -5
- package/src/footnotes/edit.js +13 -1
- package/src/gallery/edit.js +1 -1
- package/src/gallery/index.php +1 -1
- package/src/group/block.json +4 -0
- package/src/group/edit.js +0 -1
- package/src/heading/block.json +2 -0
- package/src/heading/edit.js +0 -1
- package/src/heading/style.scss +4 -0
- package/src/heading/transforms.js +1 -6
- package/src/image/block.json +7 -4
- package/src/image/deprecated.js +210 -7
- package/src/image/edit.js +43 -29
- package/src/image/image.js +86 -43
- package/src/image/index.php +251 -28
- package/src/latest-posts/index.php +1 -1
- package/src/list/deprecated.js +84 -3
- package/src/list/edit.js +6 -3
- package/src/list/ordered-list-settings.js +20 -5
- package/src/list/save.js +10 -1
- package/src/list/test/edit.native.js +2 -4
- package/src/list/utils.js +22 -1
- package/src/navigation/block.json +4 -2
- package/src/navigation/constants.js +1 -0
- package/src/navigation/index.php +85 -123
- package/src/navigation/view.js +192 -96
- package/src/navigation-link/edit.js +21 -36
- package/src/navigation-link/editor.scss +0 -8
- package/src/navigation-link/transforms.js +22 -0
- package/src/page-list/edit.js +2 -1
- package/src/paragraph/editor.scss +5 -0
- package/src/paragraph/style.scss +5 -0
- package/src/pattern/index.php +2 -2
- package/src/post-comments-form/edit.js +10 -0
- package/src/post-comments-form/form.js +7 -1
- package/src/post-content/block.json +3 -0
- package/src/post-content/edit.js +14 -6
- package/src/post-excerpt/index.php +2 -2
- package/src/post-featured-image/index.php +2 -2
- package/src/post-featured-image/overlay.js +1 -0
- package/src/post-navigation-link/index.php +0 -5
- package/src/post-navigation-link/style.scss +4 -0
- package/src/post-template/index.php +1 -1
- package/src/post-terms/index.php +5 -2
- package/src/preformatted/edit.js +5 -0
- package/src/preformatted/index.js +1 -1
- package/src/pullquote/deprecated.js +8 -13
- package/src/query/edit/enhanced-pagination-modal.js +65 -0
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +49 -0
- package/src/query/edit/inspector-controls/index.js +9 -45
- package/src/query/edit/query-content.js +8 -0
- package/src/query/editor.scss +10 -0
- package/src/query/index.php +29 -16
- package/src/query/style.scss +2 -2
- package/src/query/utils.js +22 -0
- package/src/query/view.js +5 -5
- package/src/query-pagination-next/index.php +1 -1
- package/src/query-pagination-previous/index.php +1 -1
- package/src/reset.scss +1 -1
- package/src/search/block.json +1 -0
- package/src/search/index.php +45 -4
- package/src/search/test/__snapshots__/edit.native.js.snap +265 -363
- package/src/search/view.js +70 -169
- package/src/social-link/edit.native.js +1 -1
- package/src/social-link/editor.native.scss +4 -0
- package/src/table/edit.js +21 -19
- package/src/table-of-contents/block.json +2 -1
- package/src/table-of-contents/edit.js +5 -162
- package/src/table-of-contents/hooks.js +156 -0
- package/src/verse/edit.js +5 -0
- package/src/verse/index.js +1 -1
- package/src/verse/test/edit.native.js +2 -3
- package/build/file/view-interactivity.js +0 -22
- package/build/file/view-interactivity.js.map +0 -1
- package/build/image/view-interactivity.js.map +0 -1
- package/build/navigation/view-interactivity.js +0 -172
- package/build/navigation/view-interactivity.js.map +0 -1
- package/build/navigation/view-modal.js +0 -115
- package/build/navigation/view-modal.js.map +0 -1
- package/build-module/file/view-interactivity.js +0 -18
- package/build-module/file/view-interactivity.js.map +0 -1
- package/build-module/image/view-interactivity.js.map +0 -1
- package/build-module/navigation/view-interactivity.js +0 -169
- package/build-module/navigation/view-interactivity.js.map +0 -1
- package/build-module/navigation/view-modal.js +0 -112
- package/build-module/navigation/view-modal.js.map +0 -1
- package/src/file/view-interactivity.js +0 -18
- package/src/navigation/view-interactivity.js +0 -196
- package/src/navigation/view-modal.js +0 -127
- /package/src/image/{view-interactivity.js → view.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockControls","useBlockProps","useInnerBlocksProps","store","blockEditorStore","ToolbarButton","useDispatch","useSelect","useRegistry","isRTL","__","formatListBullets","formatListBulletsRTL","formatListNumbered","formatListNumberedRTL","formatOutdent","formatOutdentRTL","createBlock","useCallback","useEffect","Platform","deprecated","OrderedListSettings","migrateToListV2","TagName","TEMPLATE","NATIVE_MARGIN_SPACING","useMigrateOnLoad","attributes","clientId","registry","updateBlockAttributes","replaceInnerBlocks","values","newAttributes","newInnerBlocks","since","version","alternative","batch","useOutdentList","canOutdent","innerSelect","getBlockRootClientId","getBlock","parentId","name","replaceBlocks","selectionChange","getBlockAttributes","parentBlockId","parentBlockAttributes","newParentBlock","innerBlocks","length","IndentUI","outdentList","createElement","Fragment","icon","title","describedBy","disabled","onClick","Edit","setAttributes","style","blockProps","isNative","innerBlocksProps","allowedBlocks","template","templateLock","templateInsertUpdatesSelection","marginVertical","marginHorizontal","renderAppender","__experimentalCaptureToolbars","ordered","type","reversed","start","controls","group","isActive"],"sources":["@wordpress/block-library/src/list/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tformatListBullets,\n\tformatListBulletsRTL,\n\tformatListNumbered,\n\tformatListNumberedRTL,\n\tformatOutdent,\n\tformatOutdentRTL,\n} from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useCallback, useEffect, Platform } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport OrderedListSettings from './ordered-list-settings';\nimport { migrateToListV2 } from './utils';\nimport TagName from './tag-name';\n\nconst TEMPLATE = [ [ 'core/list-item' ] ];\nconst NATIVE_MARGIN_SPACING = 8;\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old list block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nfunction useMigrateOnLoad( attributes, clientId ) {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.values ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] = migrateToListV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the list block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.values ] );\n}\n\nfunction useOutdentList( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId, getBlock } =\n\t\t\t\tinnerSelect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\treturn {\n\t\t\t\tcanOutdent:\n\t\t\t\t\t!! parentId &&\n\t\t\t\t\tgetBlock( parentId ).name === 'core/list-item',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockAttributes, getBlock } =\n\t\tuseSelect( blockEditorStore );\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst parentBlockId = getBlockRootClientId( clientId );\n\t\t\tconst parentBlockAttributes = getBlockAttributes( parentBlockId );\n\t\t\t// Create a new parent block without the inner blocks.\n\t\t\tconst newParentBlock = createBlock(\n\t\t\t\t'core/list-item',\n\t\t\t\tparentBlockAttributes\n\t\t\t);\n\t\t\tconst { innerBlocks } = getBlock( clientId );\n\t\t\t// Replace the parent block with a new parent block without inner blocks,\n\t\t\t// and make the inner blocks siblings of the parent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ parentBlockId ],\n\t\t\t\t[ newParentBlock, ...innerBlocks ]\n\t\t\t);\n\t\t\t// Select the last child of the list being outdent.\n\t\t\tselectionChange( innerBlocks[ innerBlocks.length - 1 ].clientId );\n\t\t}, [ clientId ] ),\n\t];\n}\n\nfunction IndentUI( { clientId } ) {\n\tconst [ canOutdent, outdentList ] = useOutdentList( clientId );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ outdentList }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function Edit( { attributes, setAttributes, clientId, style } ) {\n\tconst blockProps = useBlockProps( {\n\t\t...( Platform.isNative && { style } ),\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list-item' ],\n\t\ttemplate: TEMPLATE,\n\t\ttemplateLock: false,\n\t\ttemplateInsertUpdatesSelection: true,\n\t\t...( Platform.isNative && {\n\t\t\tmarginVertical: NATIVE_MARGIN_SPACING,\n\t\t\tmarginHorizontal: NATIVE_MARGIN_SPACING,\n\t\t\trenderAppender: false,\n\t\t} ),\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\tuseMigrateOnLoad( attributes, clientId );\n\tconst { ordered, type, reversed, start } = attributes;\n\n\tconst controls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListBulletsRTL : formatListBullets }\n\t\t\t\ttitle={ __( 'Unordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to unordered list' ) }\n\t\t\t\tisActive={ ordered === false }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: false } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListNumberedRTL : formatListNumbered }\n\t\t\t\ttitle={ __( 'Ordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to ordered list' ) }\n\t\t\t\tisActive={ ordered === true }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: true } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<IndentUI clientId={ clientId } />\n\t\t</BlockControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<TagName\n\t\t\t\tordered={ ordered }\n\t\t\t\treversed={ reversed }\n\t\t\t\tstart={ start }\n\t\t\t\ttype={ type }\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t/>\n\t\t\t{ controls }\n\t\t\t{ ordered && (\n\t\t\t\t<OrderedListSettings\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\treversed,\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BlockControls","useBlockProps","useInnerBlocksProps","store","blockEditorStore","ToolbarButton","useDispatch","useSelect","useRegistry","isRTL","__","formatListBullets","formatListBulletsRTL","formatListNumbered","formatListNumberedRTL","formatOutdent","formatOutdentRTL","createBlock","useCallback","useEffect","Platform","deprecated","OrderedListSettings","migrateToListV2","TagName","TEMPLATE","NATIVE_MARGIN_SPACING","useMigrateOnLoad","attributes","clientId","registry","updateBlockAttributes","replaceInnerBlocks","values","newAttributes","newInnerBlocks","since","version","alternative","batch","useOutdentList","canOutdent","innerSelect","getBlockRootClientId","getBlock","parentId","name","replaceBlocks","selectionChange","getBlockAttributes","parentBlockId","parentBlockAttributes","newParentBlock","innerBlocks","length","IndentUI","outdentList","createElement","Fragment","icon","title","describedBy","disabled","onClick","Edit","setAttributes","style","ordered","type","reversed","start","blockProps","isNative","listStyleType","undefined","innerBlocksProps","allowedBlocks","template","templateLock","templateInsertUpdatesSelection","marginVertical","marginHorizontal","renderAppender","__experimentalCaptureToolbars","controls","group","isActive"],"sources":["@wordpress/block-library/src/list/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tformatListBullets,\n\tformatListBulletsRTL,\n\tformatListNumbered,\n\tformatListNumberedRTL,\n\tformatOutdent,\n\tformatOutdentRTL,\n} from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useCallback, useEffect, Platform } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport OrderedListSettings from './ordered-list-settings';\nimport { migrateToListV2 } from './utils';\nimport TagName from './tag-name';\n\nconst TEMPLATE = [ [ 'core/list-item' ] ];\nconst NATIVE_MARGIN_SPACING = 8;\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old list block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nfunction useMigrateOnLoad( attributes, clientId ) {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.values ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] = migrateToListV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the list block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.values ] );\n}\n\nfunction useOutdentList( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId, getBlock } =\n\t\t\t\tinnerSelect( blockEditorStore );\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\treturn {\n\t\t\t\tcanOutdent:\n\t\t\t\t\t!! parentId &&\n\t\t\t\t\tgetBlock( parentId ).name === 'core/list-item',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockAttributes, getBlock } =\n\t\tuseSelect( blockEditorStore );\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst parentBlockId = getBlockRootClientId( clientId );\n\t\t\tconst parentBlockAttributes = getBlockAttributes( parentBlockId );\n\t\t\t// Create a new parent block without the inner blocks.\n\t\t\tconst newParentBlock = createBlock(\n\t\t\t\t'core/list-item',\n\t\t\t\tparentBlockAttributes\n\t\t\t);\n\t\t\tconst { innerBlocks } = getBlock( clientId );\n\t\t\t// Replace the parent block with a new parent block without inner blocks,\n\t\t\t// and make the inner blocks siblings of the parent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ parentBlockId ],\n\t\t\t\t[ newParentBlock, ...innerBlocks ]\n\t\t\t);\n\t\t\t// Select the last child of the list being outdent.\n\t\t\tselectionChange( innerBlocks[ innerBlocks.length - 1 ].clientId );\n\t\t}, [ clientId ] ),\n\t];\n}\n\nfunction IndentUI( { clientId } ) {\n\tconst [ canOutdent, outdentList ] = useOutdentList( clientId );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ outdentList }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function Edit( { attributes, setAttributes, clientId, style } ) {\n\tconst { ordered, type, reversed, start } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tstyle: {\n\t\t\t...( Platform.isNative && style ),\n\t\t\tlistStyleType: ordered && type !== 'decimal' ? type : undefined,\n\t\t},\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list-item' ],\n\t\ttemplate: TEMPLATE,\n\t\ttemplateLock: false,\n\t\ttemplateInsertUpdatesSelection: true,\n\t\t...( Platform.isNative && {\n\t\t\tmarginVertical: NATIVE_MARGIN_SPACING,\n\t\t\tmarginHorizontal: NATIVE_MARGIN_SPACING,\n\t\t\trenderAppender: false,\n\t\t} ),\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\tuseMigrateOnLoad( attributes, clientId );\n\n\tconst controls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListBulletsRTL : formatListBullets }\n\t\t\t\ttitle={ __( 'Unordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to unordered list' ) }\n\t\t\t\tisActive={ ordered === false }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: false } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListNumberedRTL : formatListNumbered }\n\t\t\t\ttitle={ __( 'Ordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to ordered list' ) }\n\t\t\t\tisActive={ ordered === true }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: true } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<IndentUI clientId={ clientId } />\n\t\t</BlockControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<TagName\n\t\t\t\tordered={ ordered }\n\t\t\t\treversed={ reversed }\n\t\t\t\tstart={ start }\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t/>\n\t\t\t{ controls }\n\t\t\t{ ordered && (\n\t\t\t\t<OrderedListSettings\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\treversed,\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -30,20 +30,20 @@ const OrderedListSettings = ({
|
|
|
30
30
|
__nextHasNoMarginBottom: true,
|
|
31
31
|
label: __('Numbering style'),
|
|
32
32
|
options: [{
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
label: __('Numbers'),
|
|
34
|
+
value: 'decimal'
|
|
35
35
|
}, {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
label: __('Uppercase letters'),
|
|
37
|
+
value: 'upper-alpha'
|
|
38
38
|
}, {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
label: __('Lowercase letters'),
|
|
40
|
+
value: 'lower-alpha'
|
|
41
41
|
}, {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
label: __('Uppercase Roman numerals'),
|
|
43
|
+
value: 'upper-roman'
|
|
44
44
|
}, {
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
label: __('Lowercase Roman numerals'),
|
|
46
|
+
value: 'lower-roman'
|
|
47
47
|
}],
|
|
48
48
|
value: type,
|
|
49
49
|
onChange: newValue => setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","InspectorControls","TextControl","PanelBody","ToggleControl","SelectControl","OrderedListSettings","setAttributes","reversed","start","type","createElement","title","__nextHasNoMarginBottom","label","onChange","value","int","parseInt","isNaN","undefined","Number","isInteger","toString","step","options","newValue","checked"],"sources":["@wordpress/block-library/src/list/ordered-list-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n} from '@wordpress/components';\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Ordered list settings' ) }>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\ttype=\"number\"\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tvalue={ Number.isInteger( start ) ? start.toString( 10 ) : '' }\n\t\t\t\tstep=\"1\"\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Numbering style' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{
|
|
1
|
+
{"version":3,"names":["__","InspectorControls","TextControl","PanelBody","ToggleControl","SelectControl","OrderedListSettings","setAttributes","reversed","start","type","createElement","title","__nextHasNoMarginBottom","label","onChange","value","int","parseInt","isNaN","undefined","Number","isInteger","toString","step","options","newValue","checked"],"sources":["@wordpress/block-library/src/list/ordered-list-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n} from '@wordpress/components';\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Ordered list settings' ) }>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\ttype=\"number\"\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tvalue={ Number.isInteger( start ) ? start.toString( 10 ) : '' }\n\t\t\t\tstep=\"1\"\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Numbering style' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Numbers' ),\n\t\t\t\t\t\tvalue: 'decimal',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Uppercase letters' ),\n\t\t\t\t\t\tvalue: 'upper-alpha',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Lowercase letters' ),\n\t\t\t\t\t\tvalue: 'lower-alpha',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Uppercase Roman numerals' ),\n\t\t\t\t\t\tvalue: 'upper-roman',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Lowercase Roman numerals' ),\n\t\t\t\t\t\tvalue: 'lower-roman',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tvalue={ type }\n\t\t\t\tonChange={ ( newValue ) => setAttributes( { type: newValue } ) }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Reverse list numbering' ) }\n\t\t\t\tchecked={ reversed || false }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\treversed: value || undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nexport default OrderedListSettings;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,iBAAiB,QAAQ,yBAAyB;AAC3D,SACCC,WAAW,EACXC,SAAS,EACTC,aAAa,EACbC,aAAa,QACP,uBAAuB;AAE9B,MAAMC,mBAAmB,GAAGA,CAAE;EAAEC,aAAa;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAK,CAAC,KACrEC,aAAA,CAACV,iBAAiB,QACjBU,aAAA,CAACR,SAAS;EAACS,KAAK,EAAGZ,EAAE,CAAE,uBAAwB;AAAG,GACjDW,aAAA,CAACT,WAAW;EACXW,uBAAuB;EACvBC,KAAK,EAAGd,EAAE,CAAE,aAAc,CAAG;EAC7BU,IAAI,EAAC,QAAQ;EACbK,QAAQ,EAAKC,KAAK,IAAM;IACvB,MAAMC,GAAG,GAAGC,QAAQ,CAAEF,KAAK,EAAE,EAAG,CAAC;IAEjCT,aAAa,CAAE;MACd;MACA;MACAE,KAAK,EAAEU,KAAK,CAAEF,GAAI,CAAC,GAAGG,SAAS,GAAGH;IACnC,CAAE,CAAC;EACJ,CAAG;EACHD,KAAK,EAAGK,MAAM,CAACC,SAAS,CAAEb,KAAM,CAAC,GAAGA,KAAK,CAACc,QAAQ,CAAE,EAAG,CAAC,GAAG,EAAI;EAC/DC,IAAI,EAAC;AAAG,CACR,CAAC,EACFb,aAAA,CAACN,aAAa;EACbQ,uBAAuB;EACvBC,KAAK,EAAGd,EAAE,CAAE,iBAAkB,CAAG;EACjCyB,OAAO,EAAG,CACT;IACCX,KAAK,EAAEd,EAAE,CAAE,SAAU,CAAC;IACtBgB,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAEd,EAAE,CAAE,mBAAoB,CAAC;IAChCgB,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAEd,EAAE,CAAE,mBAAoB,CAAC;IAChCgB,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAEd,EAAE,CAAE,0BAA2B,CAAC;IACvCgB,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAEd,EAAE,CAAE,0BAA2B,CAAC;IACvCgB,KAAK,EAAE;EACR,CAAC,CACC;EACHA,KAAK,EAAGN,IAAM;EACdK,QAAQ,EAAKW,QAAQ,IAAMnB,aAAa,CAAE;IAAEG,IAAI,EAAEgB;EAAS,CAAE;AAAG,CAChE,CAAC,EACFf,aAAA,CAACP,aAAa;EACbS,uBAAuB;EACvBC,KAAK,EAAGd,EAAE,CAAE,wBAAyB,CAAG;EACxC2B,OAAO,EAAGnB,QAAQ,IAAI,KAAO;EAC7BO,QAAQ,EAAKC,KAAK,IAAM;IACvBT,aAAa,CAAE;MACd;MACAC,QAAQ,EAAEQ,KAAK,IAAII;IACpB,CAAE,CAAC;EACJ;AAAG,CACH,CACS,CACO,CACnB;AAED,eAAed,mBAAmB"}
|
|
@@ -15,9 +15,11 @@ export default function save({
|
|
|
15
15
|
const TagName = ordered ? 'ol' : 'ul';
|
|
16
16
|
return createElement(TagName, {
|
|
17
17
|
...useBlockProps.save({
|
|
18
|
-
type,
|
|
19
18
|
reversed,
|
|
20
|
-
start
|
|
19
|
+
start,
|
|
20
|
+
style: {
|
|
21
|
+
listStyleType: ordered && type !== 'decimal' ? type : undefined
|
|
22
|
+
}
|
|
21
23
|
})
|
|
22
24
|
}, createElement(InnerBlocks.Content, null));
|
|
23
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InnerBlocks","useBlockProps","save","attributes","ordered","type","reversed","start","TagName","createElement","Content"],"sources":["@wordpress/block-library/src/list/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { ordered, type, reversed, start } = attributes;\n\tconst TagName = ordered ? 'ol' : 'ul';\n\treturn (\n\t\t<TagName
|
|
1
|
+
{"version":3,"names":["InnerBlocks","useBlockProps","save","attributes","ordered","type","reversed","start","TagName","createElement","style","listStyleType","undefined","Content"],"sources":["@wordpress/block-library/src/list/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { ordered, type, reversed, start } = attributes;\n\tconst TagName = ordered ? 'ol' : 'ul';\n\treturn (\n\t\t<TagName\n\t\t\t{ ...useBlockProps.save( {\n\t\t\t\treversed,\n\t\t\t\tstart,\n\t\t\t\tstyle: {\n\t\t\t\t\tlistStyleType:\n\t\t\t\t\t\tordered && type !== 'decimal' ? type : undefined,\n\t\t\t\t},\n\t\t\t} ) }\n\t\t>\n\t\t\t<InnerBlocks.Content />\n\t\t</TagName>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,yBAAyB;AAEpE,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGJ,UAAU;EACrD,MAAMK,OAAO,GAAGJ,OAAO,GAAG,IAAI,GAAG,IAAI;EACrC,OACCK,aAAA,CAACD,OAAO;IAAA,GACFP,aAAa,CAACC,IAAI,CAAE;MACxBI,QAAQ;MACRC,KAAK;MACLG,KAAK,EAAE;QACNC,aAAa,EACZP,OAAO,IAAIC,IAAI,KAAK,SAAS,GAAGA,IAAI,GAAGO;MACzC;IACD,CAAE;EAAC,GAEHH,aAAA,CAACT,WAAW,CAACa,OAAO,MAAE,CACd,CAAC;AAEZ"}
|
|
@@ -2,14 +2,20 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { createBlock, rawHandler } from '@wordpress/blocks';
|
|
5
|
+
const LIST_STYLES = {
|
|
6
|
+
A: 'upper-alpha',
|
|
7
|
+
a: 'lower-alpha',
|
|
8
|
+
I: 'upper-roman',
|
|
9
|
+
i: 'lower-roman'
|
|
10
|
+
};
|
|
5
11
|
export function createListBlockFromDOMElement(listElement) {
|
|
6
|
-
|
|
12
|
+
const type = listElement.getAttribute('type');
|
|
7
13
|
const listAttributes = {
|
|
8
14
|
ordered: 'OL' === listElement.tagName,
|
|
9
15
|
anchor: listElement.id === '' ? undefined : listElement.id,
|
|
10
16
|
start: listElement.getAttribute('start') ? parseInt(listElement.getAttribute('start'), 10) : undefined,
|
|
11
17
|
reversed: listElement.hasAttribute('reversed') ? true : undefined,
|
|
12
|
-
type:
|
|
18
|
+
type: type && LIST_STYLES[type] ? LIST_STYLES[type] : undefined
|
|
13
19
|
};
|
|
14
20
|
const innerBlocks = Array.from(listElement.children).map(listItem => {
|
|
15
21
|
const children = Array.from(listItem.childNodes).filter(node => node.nodeType !== node.TEXT_NODE || node.textContent.trim().length !== 0);
|
|
@@ -64,4 +70,16 @@ export function migrateToListV2(attributes) {
|
|
|
64
70
|
...listBlock.attributes
|
|
65
71
|
}, listBlock.innerBlocks];
|
|
66
72
|
}
|
|
73
|
+
export function migrateTypeToInlineStyle(attributes) {
|
|
74
|
+
const {
|
|
75
|
+
type
|
|
76
|
+
} = attributes;
|
|
77
|
+
if (type && LIST_STYLES[type]) {
|
|
78
|
+
return {
|
|
79
|
+
...attributes,
|
|
80
|
+
type: LIST_STYLES[type]
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return attributes;
|
|
84
|
+
}
|
|
67
85
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","rawHandler","createListBlockFromDOMElement","listElement","
|
|
1
|
+
{"version":3,"names":["createBlock","rawHandler","LIST_STYLES","A","a","I","i","createListBlockFromDOMElement","listElement","type","getAttribute","listAttributes","ordered","tagName","anchor","id","undefined","start","parseInt","reversed","hasAttribute","innerBlocks","Array","from","children","map","listItem","childNodes","filter","node","nodeType","TEXT_NODE","textContent","trim","length","reverse","nestedList","nodes","hasNestedList","content","innerHTML","htmlNodes","outerHTML","childAttributes","join","childInnerBlocks","migrateToListV2","attributes","values","otherAttributes","list","document","createElement","setAttribute","listBlock","HTML","migrateTypeToInlineStyle"],"sources":["@wordpress/block-library/src/list/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, rawHandler } from '@wordpress/blocks';\n\nconst LIST_STYLES = {\n\tA: 'upper-alpha',\n\ta: 'lower-alpha',\n\tI: 'upper-roman',\n\ti: 'lower-roman',\n};\n\nexport function createListBlockFromDOMElement( listElement ) {\n\tconst type = listElement.getAttribute( 'type' );\n\tconst listAttributes = {\n\t\tordered: 'OL' === listElement.tagName,\n\t\tanchor: listElement.id === '' ? undefined : listElement.id,\n\t\tstart: listElement.getAttribute( 'start' )\n\t\t\t? parseInt( listElement.getAttribute( 'start' ), 10 )\n\t\t\t: undefined,\n\t\treversed: listElement.hasAttribute( 'reversed' ) ? true : undefined,\n\t\ttype: type && LIST_STYLES[ type ] ? LIST_STYLES[ type ] : undefined,\n\t};\n\n\tconst innerBlocks = Array.from( listElement.children ).map(\n\t\t( listItem ) => {\n\t\t\tconst children = Array.from( listItem.childNodes ).filter(\n\t\t\t\t( node ) =>\n\t\t\t\t\tnode.nodeType !== node.TEXT_NODE ||\n\t\t\t\t\tnode.textContent.trim().length !== 0\n\t\t\t);\n\t\t\tchildren.reverse();\n\t\t\tconst [ nestedList, ...nodes ] = children;\n\n\t\t\tconst hasNestedList =\n\t\t\t\tnestedList?.tagName === 'UL' || nestedList?.tagName === 'OL';\n\t\t\tif ( ! hasNestedList ) {\n\t\t\t\treturn createBlock( 'core/list-item', {\n\t\t\t\t\tcontent: listItem.innerHTML,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tconst htmlNodes = nodes.map( ( node ) => {\n\t\t\t\tif ( node.nodeType === node.TEXT_NODE ) {\n\t\t\t\t\treturn node.textContent;\n\t\t\t\t}\n\t\t\t\treturn node.outerHTML;\n\t\t\t} );\n\t\t\thtmlNodes.reverse();\n\t\t\tconst childAttributes = {\n\t\t\t\tcontent: htmlNodes.join( '' ).trim(),\n\t\t\t};\n\t\t\tconst childInnerBlocks = [\n\t\t\t\tcreateListBlockFromDOMElement( nestedList ),\n\t\t\t];\n\t\t\treturn createBlock(\n\t\t\t\t'core/list-item',\n\t\t\t\tchildAttributes,\n\t\t\t\tchildInnerBlocks\n\t\t\t);\n\t\t}\n\t);\n\n\treturn createBlock( 'core/list', listAttributes, innerBlocks );\n}\n\nexport function migrateToListV2( attributes ) {\n\tconst { values, start, reversed, ordered, type, ...otherAttributes } =\n\t\tattributes;\n\n\tconst list = document.createElement( ordered ? 'ol' : 'ul' );\n\tlist.innerHTML = values;\n\tif ( start ) {\n\t\tlist.setAttribute( 'start', start );\n\t}\n\tif ( reversed ) {\n\t\tlist.setAttribute( 'reversed', true );\n\t}\n\tif ( type ) {\n\t\tlist.setAttribute( 'type', type );\n\t}\n\n\tconst [ listBlock ] = rawHandler( { HTML: list.outerHTML } );\n\n\treturn [\n\t\t{ ...otherAttributes, ...listBlock.attributes },\n\t\tlistBlock.innerBlocks,\n\t];\n}\n\nexport function migrateTypeToInlineStyle( attributes ) {\n\tconst { type } = attributes;\n\n\tif ( type && LIST_STYLES[ type ] ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\ttype: LIST_STYLES[ type ],\n\t\t};\n\t}\n\n\treturn attributes;\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const DEFAULT_BLOCK = {
|
|
2
2
|
name: 'core/navigation-link'
|
|
3
3
|
};
|
|
4
|
-
export const ALLOWED_BLOCKS = ['core/navigation-link', 'core/search', 'core/social-links', 'core/page-list', 'core/spacer', 'core/home-link', 'core/site-title', 'core/site-logo', 'core/navigation-submenu', 'core/loginout'];
|
|
4
|
+
export const ALLOWED_BLOCKS = ['core/navigation-link', 'core/search', 'core/social-links', 'core/page-list', 'core/spacer', 'core/home-link', 'core/site-title', 'core/site-logo', 'core/navigation-submenu', 'core/loginout', 'core/buttons'];
|
|
5
5
|
export const PRIORITIZED_INSERTER_BLOCKS = ['core/navigation-link/page', 'core/navigation-link'];
|
|
6
6
|
|
|
7
7
|
// These parameters must be kept aligned with those in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_BLOCK","name","ALLOWED_BLOCKS","PRIORITIZED_INSERTER_BLOCKS","PRELOADED_NAVIGATION_MENUS_QUERY","per_page","status","order","orderby","SELECT_NAVIGATION_MENUS_ARGS"],"sources":["@wordpress/block-library/src/navigation/constants.js"],"sourcesContent":["export const DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nexport const ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n\t'core/loginout',\n];\n\nexport const PRIORITIZED_INSERTER_BLOCKS = [\n\t'core/navigation-link/page',\n\t'core/navigation-link',\n];\n\n// These parameters must be kept aligned with those in\n// lib/compat/wordpress-6.3/navigation-block-preloading.php\n// and\n// edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js\nexport const PRELOADED_NAVIGATION_MENUS_QUERY = {\n\tper_page: 100,\n\tstatus: [ 'publish', 'draft' ],\n\torder: 'desc',\n\torderby: 'date',\n};\n\nexport const SELECT_NAVIGATION_MENUS_ARGS = [\n\t'postType',\n\t'wp_navigation',\n\tPRELOADED_NAVIGATION_MENUS_QUERY,\n];\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC5BC,IAAI,EAAE;AACP,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,CAC7B,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,
|
|
1
|
+
{"version":3,"names":["DEFAULT_BLOCK","name","ALLOWED_BLOCKS","PRIORITIZED_INSERTER_BLOCKS","PRELOADED_NAVIGATION_MENUS_QUERY","per_page","status","order","orderby","SELECT_NAVIGATION_MENUS_ARGS"],"sources":["@wordpress/block-library/src/navigation/constants.js"],"sourcesContent":["export const DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nexport const ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n\t'core/loginout',\n\t'core/buttons',\n];\n\nexport const PRIORITIZED_INSERTER_BLOCKS = [\n\t'core/navigation-link/page',\n\t'core/navigation-link',\n];\n\n// These parameters must be kept aligned with those in\n// lib/compat/wordpress-6.3/navigation-block-preloading.php\n// and\n// edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js\nexport const PRELOADED_NAVIGATION_MENUS_QUERY = {\n\tper_page: 100,\n\tstatus: [ 'publish', 'draft' ],\n\torder: 'desc',\n\torderby: 'date',\n};\n\nexport const SELECT_NAVIGATION_MENUS_ARGS = [\n\t'postType',\n\t'wp_navigation',\n\tPRELOADED_NAVIGATION_MENUS_QUERY,\n];\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC5BC,IAAI,EAAE;AACP,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,CAC7B,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,cAAc,CACd;AAED,OAAO,MAAMC,2BAA2B,GAAG,CAC1C,2BAA2B,EAC3B,sBAAsB,CACtB;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,gCAAgC,GAAG;EAC/CC,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAE,CAAE,SAAS,EAAE,OAAO,CAAE;EAC9BC,KAAK,EAAE,MAAM;EACbC,OAAO,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,4BAA4B,GAAG,CAC3C,UAAU,EACV,eAAe,EACfL,gCAAgC,CAChC"}
|
|
@@ -101,6 +101,7 @@ const metadata = {
|
|
|
101
101
|
},
|
|
102
102
|
supports: {
|
|
103
103
|
align: ["wide", "full"],
|
|
104
|
+
ariaLabel: true,
|
|
104
105
|
html: false,
|
|
105
106
|
inserter: true,
|
|
106
107
|
typography: {
|
|
@@ -141,9 +142,10 @@ const metadata = {
|
|
|
141
142
|
}
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
|
-
}
|
|
145
|
+
},
|
|
146
|
+
interactivity: true
|
|
145
147
|
},
|
|
146
|
-
viewScript:
|
|
148
|
+
viewScript: "file:./view.min.js",
|
|
147
149
|
editorStyle: "wp-block-navigation-editor",
|
|
148
150
|
style: "wp-block-navigation"
|
|
149
151
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","navigation","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","ref","type","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","openSubmenusOnClick","overlayMenu","hasIcon","__unstableLocation","overlayBackgroundColor","customOverlayBackgroundColor","overlayTextColor","customOverlayTextColor","maxNestingLevel","templateLock","providesContext","fontSize","customFontSize","style","supports","align","html","inserter","typography","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalTextTransform","__experimentalFontFamily","__experimentalLetterSpacing","__experimentalTextDecoration","__experimentalSkipSerialization","__experimentalDefaultControls","spacing","blockGap","units","layout","allowSwitching","allowInheriting","allowVerticalAlignment","allowSizingOnChildren","__experimentalStyle","elements","link","color","text","viewScript","editorStyle","edit","save","deprecated","settings","example","innerBlocks","label","url","init"],"sources":["@wordpress/block-library/src/navigation/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\toverlayMenu: 'never',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,IAAIC,IAAI,QAAQ,kBAAkB;;AAErD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;IAAA;IAAAE,eAAA;MAAAF,IAAA;IAAA;IAAAG,YAAA;MAAAH,IAAA;IAAA;IAAAI,eAAA;MAAAJ,IAAA;IAAA;IAAAK,qBAAA;MAAAL,IAAA;IAAA;IAAAM,kBAAA;MAAAN,IAAA;IAAA;IAAAO,eAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,mBAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,WAAA;MAAAT,IAAA;MAAA;IAAA;IAAAb,IAAA;MAAAa,IAAA;MAAA;IAAA;IAAAU,OAAA;MAAAV,IAAA;MAAA;IAAA;IAAAW,kBAAA;MAAAX,IAAA;IAAA;IAAAY,sBAAA;MAAAZ,IAAA;IAAA;IAAAa,4BAAA;MAAAb,IAAA;IAAA;IAAAc,gBAAA;MAAAd,IAAA;IAAA;IAAAe,sBAAA;MAAAf,IAAA;IAAA;IAAAgB,eAAA;MAAAhB,IAAA;MAAA;IAAA;IAAAiB,YAAA;MAAAjB,IAAA;MAAA;IAAA;EAAA;EAAAkB,eAAA;IAAAjB,SAAA;IAAAC,eAAA;IAAAE,eAAA;IAAAC,qBAAA;IAAAS,gBAAA;IAAAC,sBAAA;IAAAH,sBAAA;IAAAC,4BAAA;IAAAM,QAAA;IAAAC,cAAA;IAAAb,eAAA;IAAAC,mBAAA;IAAAa,KAAA;IAAAL,eAAA;EAAA;EAAAM,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,UAAA;
|
|
1
|
+
{"version":3,"names":["__","navigation","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","ref","type","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","openSubmenusOnClick","overlayMenu","hasIcon","__unstableLocation","overlayBackgroundColor","customOverlayBackgroundColor","overlayTextColor","customOverlayTextColor","maxNestingLevel","templateLock","providesContext","fontSize","customFontSize","style","supports","align","ariaLabel","html","inserter","typography","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalTextTransform","__experimentalFontFamily","__experimentalLetterSpacing","__experimentalTextDecoration","__experimentalSkipSerialization","__experimentalDefaultControls","spacing","blockGap","units","layout","allowSwitching","allowInheriting","allowVerticalAlignment","allowSizingOnChildren","__experimentalStyle","elements","link","color","text","interactivity","viewScript","editorStyle","edit","save","deprecated","settings","example","innerBlocks","label","url","init"],"sources":["@wordpress/block-library/src/navigation/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\toverlayMenu: 'never',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
|
|
@@ -1,91 +1,176 @@
|
|
|
1
|
-
/*eslint-env browser*/
|
|
2
|
-
// Open on click functionality.
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Keep track of whether a submenu is open to short-circuit delegated event listeners.
|
|
6
|
-
*
|
|
7
|
-
* @type {boolean}
|
|
8
|
-
*/
|
|
9
|
-
let hasOpenSubmenu = false;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Close submenu items for a navigation item.
|
|
13
|
-
*
|
|
14
|
-
* @param {HTMLElement} navigationItem - Either a NAV or LI element.
|
|
15
|
-
*/
|
|
16
|
-
function closeSubmenus(navigationItem) {
|
|
17
|
-
navigationItem.querySelectorAll('[aria-expanded="true"]').forEach(function (toggle) {
|
|
18
|
-
toggle.setAttribute('aria-expanded', 'false');
|
|
19
|
-
});
|
|
20
|
-
hasOpenSubmenu = false;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
1
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* @param {HTMLButtonElement} buttonToggle
|
|
2
|
+
* WordPress dependencies
|
|
27
3
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// Open submenu.
|
|
43
|
-
buttonToggle.setAttribute('aria-expanded', 'true');
|
|
44
|
-
hasOpenSubmenu = true;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Open on button click or close on click outside.
|
|
49
|
-
document.addEventListener('click', function (event) {
|
|
50
|
-
const target = event.target;
|
|
51
|
-
const button = target.closest('.wp-block-navigation-submenu__toggle');
|
|
52
|
-
|
|
53
|
-
// Close any other open submenus.
|
|
54
|
-
if (hasOpenSubmenu) {
|
|
55
|
-
const navigationBlocks = document.querySelectorAll('.wp-block-navigation');
|
|
56
|
-
navigationBlocks.forEach(function (block) {
|
|
57
|
-
if (!block.contains(target)) {
|
|
58
|
-
closeSubmenus(block);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
4
|
+
import { store as wpStore } from '@wordpress/interactivity';
|
|
5
|
+
const focusableSelectors = ['a[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])', '[contenteditable]', '[tabindex]:not([tabindex^="-"])'];
|
|
6
|
+
const openMenu = (store, menuOpenedOn) => {
|
|
7
|
+
const {
|
|
8
|
+
context,
|
|
9
|
+
ref,
|
|
10
|
+
selectors
|
|
11
|
+
} = store;
|
|
12
|
+
selectors.core.navigation.menuOpenedBy(store)[menuOpenedOn] = true;
|
|
13
|
+
context.core.navigation.previousFocus = ref;
|
|
14
|
+
if (context.core.navigation.type === 'overlay') {
|
|
15
|
+
// Add a `has-modal-open` class to the <html> root.
|
|
16
|
+
document.documentElement.classList.add('has-modal-open');
|
|
61
17
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
18
|
+
};
|
|
19
|
+
const closeMenu = (store, menuClosedOn) => {
|
|
20
|
+
const {
|
|
21
|
+
context,
|
|
22
|
+
selectors
|
|
23
|
+
} = store;
|
|
24
|
+
selectors.core.navigation.menuOpenedBy(store)[menuClosedOn] = false;
|
|
25
|
+
// Check if the menu is still open or not.
|
|
26
|
+
if (!selectors.core.navigation.isMenuOpen(store)) {
|
|
27
|
+
if (context.core.navigation.modal?.contains(window.document.activeElement)) {
|
|
28
|
+
context.core.navigation.previousFocus.focus();
|
|
29
|
+
}
|
|
30
|
+
context.core.navigation.modal = null;
|
|
31
|
+
context.core.navigation.previousFocus = null;
|
|
32
|
+
if (context.core.navigation.type === 'overlay') {
|
|
33
|
+
document.documentElement.classList.remove('has-modal-open');
|
|
34
|
+
}
|
|
66
35
|
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
36
|
+
};
|
|
37
|
+
wpStore({
|
|
38
|
+
effects: {
|
|
39
|
+
core: {
|
|
40
|
+
navigation: {
|
|
41
|
+
initMenu: store => {
|
|
42
|
+
const {
|
|
43
|
+
context,
|
|
44
|
+
selectors,
|
|
45
|
+
ref
|
|
46
|
+
} = store;
|
|
47
|
+
if (selectors.core.navigation.isMenuOpen(store)) {
|
|
48
|
+
const focusableElements = ref.querySelectorAll(focusableSelectors);
|
|
49
|
+
context.core.navigation.modal = ref;
|
|
50
|
+
context.core.navigation.firstFocusableElement = focusableElements[0];
|
|
51
|
+
context.core.navigation.lastFocusableElement = focusableElements[focusableElements.length - 1];
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
focusFirstElement: store => {
|
|
55
|
+
const {
|
|
56
|
+
selectors,
|
|
57
|
+
ref
|
|
58
|
+
} = store;
|
|
59
|
+
if (selectors.core.navigation.isMenuOpen(store)) {
|
|
60
|
+
ref.querySelector('.wp-block-navigation-item > *:first-child').focus();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
selectors: {
|
|
67
|
+
core: {
|
|
68
|
+
navigation: {
|
|
69
|
+
roleAttribute: store => {
|
|
70
|
+
const {
|
|
71
|
+
context,
|
|
72
|
+
selectors
|
|
73
|
+
} = store;
|
|
74
|
+
return context.core.navigation.type === 'overlay' && selectors.core.navigation.isMenuOpen(store) ? 'dialog' : null;
|
|
75
|
+
},
|
|
76
|
+
ariaModal: store => {
|
|
77
|
+
const {
|
|
78
|
+
context,
|
|
79
|
+
selectors
|
|
80
|
+
} = store;
|
|
81
|
+
return context.core.navigation.type === 'overlay' && selectors.core.navigation.isMenuOpen(store) ? 'true' : null;
|
|
82
|
+
},
|
|
83
|
+
isMenuOpen: ({
|
|
84
|
+
context
|
|
85
|
+
}) =>
|
|
86
|
+
// The menu is opened if either `click`, `hover` or `focus` is true.
|
|
87
|
+
Object.values(context.core.navigation[context.core.navigation.type === 'overlay' ? 'overlayOpenedBy' : 'submenuOpenedBy']).filter(Boolean).length > 0,
|
|
88
|
+
menuOpenedBy: ({
|
|
89
|
+
context
|
|
90
|
+
}) => context.core.navigation[context.core.navigation.type === 'overlay' ? 'overlayOpenedBy' : 'submenuOpenedBy']
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
actions: {
|
|
95
|
+
core: {
|
|
96
|
+
navigation: {
|
|
97
|
+
openMenuOnHover(store) {
|
|
98
|
+
const {
|
|
99
|
+
navigation
|
|
100
|
+
} = store.context.core;
|
|
101
|
+
if (navigation.type === 'submenu' &&
|
|
102
|
+
// Only open on hover if the overlay is closed.
|
|
103
|
+
Object.values(navigation.overlayOpenedBy || {}).filter(Boolean).length === 0) openMenu(store, 'hover');
|
|
104
|
+
},
|
|
105
|
+
closeMenuOnHover(store) {
|
|
106
|
+
closeMenu(store, 'hover');
|
|
107
|
+
},
|
|
108
|
+
openMenuOnClick(store) {
|
|
109
|
+
openMenu(store, 'click');
|
|
110
|
+
},
|
|
111
|
+
closeMenuOnClick(store) {
|
|
112
|
+
closeMenu(store, 'click');
|
|
113
|
+
closeMenu(store, 'focus');
|
|
114
|
+
},
|
|
115
|
+
openMenuOnFocus(store) {
|
|
116
|
+
openMenu(store, 'focus');
|
|
117
|
+
},
|
|
118
|
+
toggleMenuOnClick: store => {
|
|
119
|
+
const {
|
|
120
|
+
selectors
|
|
121
|
+
} = store;
|
|
122
|
+
const menuOpenedBy = selectors.core.navigation.menuOpenedBy(store);
|
|
123
|
+
if (menuOpenedBy.click || menuOpenedBy.focus) {
|
|
124
|
+
closeMenu(store, 'click');
|
|
125
|
+
closeMenu(store, 'focus');
|
|
126
|
+
} else {
|
|
127
|
+
openMenu(store, 'click');
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
handleMenuKeydown: store => {
|
|
131
|
+
const {
|
|
132
|
+
context,
|
|
133
|
+
selectors,
|
|
134
|
+
event
|
|
135
|
+
} = store;
|
|
136
|
+
if (selectors.core.navigation.menuOpenedBy(store).click) {
|
|
137
|
+
// If Escape close the menu.
|
|
138
|
+
if (event?.key === 'Escape') {
|
|
139
|
+
closeMenu(store, 'click');
|
|
140
|
+
closeMenu(store, 'focus');
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
70
143
|
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
144
|
+
// Trap focus if it is an overlay (main menu).
|
|
145
|
+
if (context.core.navigation.type === 'overlay' && event.key === 'Tab') {
|
|
146
|
+
// If shift + tab it change the direction.
|
|
147
|
+
if (event.shiftKey && window.document.activeElement === context.core.navigation.firstFocusableElement) {
|
|
148
|
+
event.preventDefault();
|
|
149
|
+
context.core.navigation.lastFocusableElement.focus();
|
|
150
|
+
} else if (!event.shiftKey && window.document.activeElement === context.core.navigation.lastFocusableElement) {
|
|
151
|
+
event.preventDefault();
|
|
152
|
+
context.core.navigation.firstFocusableElement.focus();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
handleMenuFocusout: store => {
|
|
158
|
+
const {
|
|
159
|
+
context,
|
|
160
|
+
event
|
|
161
|
+
} = store;
|
|
162
|
+
// If focus is outside modal, and in the document, close menu
|
|
163
|
+
// event.target === The element losing focus
|
|
164
|
+
// event.relatedTarget === The element receiving focus (if any)
|
|
165
|
+
// When focusout is outsite the document,
|
|
166
|
+
// `window.document.activeElement` doesn't change.
|
|
167
|
+
if (!context.core.navigation.modal?.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
|
|
168
|
+
closeMenu(store, 'click');
|
|
169
|
+
closeMenu(store, 'focus');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
86
173
|
}
|
|
87
|
-
}
|
|
88
|
-
}, {
|
|
89
|
-
passive: true
|
|
174
|
+
}
|
|
90
175
|
});
|
|
91
176
|
//# sourceMappingURL=view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hasOpenSubmenu","closeSubmenus","navigationItem","querySelectorAll","forEach","toggle","setAttribute","toggleSubmenuOnClick","buttonToggle","isSubmenuOpen","getAttribute","closest","navigationParent","child","document","addEventListener","event","target","button","navigationBlocks","block","contains","HTMLButtonElement","passive","submenuBlocks","key","querySelector","focus"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/*eslint-env browser*/\n// Open on click functionality.\n\n/**\n * Keep track of whether a submenu is open to short-circuit delegated event listeners.\n *\n * @type {boolean}\n */\nlet hasOpenSubmenu = false;\n\n/**\n * Close submenu items for a navigation item.\n *\n * @param {HTMLElement} navigationItem - Either a NAV or LI element.\n */\nfunction closeSubmenus( navigationItem ) {\n\tnavigationItem\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n\thasOpenSubmenu = false;\n}\n\n/**\n * Toggle submenu on click.\n *\n * @param {HTMLButtonElement} buttonToggle\n */\nfunction toggleSubmenuOnClick( buttonToggle ) {\n\tconst isSubmenuOpen =\n\t\tbuttonToggle.getAttribute( 'aria-expanded' ) === 'true';\n\tconst navigationItem = buttonToggle.closest( '.wp-block-navigation-item' );\n\n\tif ( isSubmenuOpen ) {\n\t\tcloseSubmenus( navigationItem );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( ( child ) => {\n\t\t\t\tif ( child !== navigationItem ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t\thasOpenSubmenu = true;\n\t}\n}\n\n// Open on button click or close on click outside.\ndocument.addEventListener(\n\t'click',\n\tfunction ( event ) {\n\t\tconst target = event.target;\n\t\tconst button = target.closest( '.wp-block-navigation-submenu__toggle' );\n\n\t\t// Close any other open submenus.\n\t\tif ( hasOpenSubmenu ) {\n\t\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t\t'.wp-block-navigation'\n\t\t\t);\n\t\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\t\tif ( ! block.contains( target ) ) {\n\t\t\t\t\tcloseSubmenus( block );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Now open the submenu if one was clicked.\n\t\tif ( button instanceof HTMLButtonElement ) {\n\t\t\ttoggleSubmenuOnClick( button );\n\t\t}\n\t},\n\t{ passive: true }\n);\n\n// Close on focus outside or escape key.\ndocument.addEventListener(\n\t'keyup',\n\tfunction ( event ) {\n\t\t// Abort if there aren't any submenus open anyway.\n\t\tif ( ! hasOpenSubmenu ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t} else if ( event.key === 'Escape' ) {\n\t\t\t\tconst toggle = block.querySelector( '[aria-expanded=\"true\"]' );\n\t\t\t\tcloseSubmenus( block );\n\t\t\t\t// Focus the submenu trigger so focus does not get trapped in the closed submenu.\n\t\t\t\ttoggle?.focus();\n\t\t\t}\n\t\t} );\n\t},\n\t{ passive: true }\n);\n"],"mappings":"AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAIA,cAAc,GAAG,KAAK;;AAE1B;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAAEC,cAAc,EAAG;EACxCA,cAAc,CACZC,gBAAgB,CAAE,wBAAyB,CAAC,CAC5CC,OAAO,CAAE,UAAWC,MAAM,EAAG;IAC7BA,MAAM,CAACC,YAAY,CAAE,eAAe,EAAE,OAAQ,CAAC;EAChD,CAAE,CAAC;EACJN,cAAc,GAAG,KAAK;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASO,oBAAoBA,CAAEC,YAAY,EAAG;EAC7C,MAAMC,aAAa,GAClBD,YAAY,CAACE,YAAY,CAAE,eAAgB,CAAC,KAAK,MAAM;EACxD,MAAMR,cAAc,GAAGM,YAAY,CAACG,OAAO,CAAE,2BAA4B,CAAC;EAE1E,IAAKF,aAAa,EAAG;IACpBR,aAAa,CAAEC,cAAe,CAAC;EAChC,CAAC,MAAM;IACN;IACA,MAAMU,gBAAgB,GAAGJ,YAAY,CAACG,OAAO,CAC5C,+FACD,CAAC;IACDC,gBAAgB,CACdT,gBAAgB,CAAE,2BAA4B,CAAC,CAC/CC,OAAO,CAAIS,KAAK,IAAM;MACtB,IAAKA,KAAK,KAAKX,cAAc,EAAG;QAC/BD,aAAa,CAAEY,KAAM,CAAC;MACvB;IACD,CAAE,CAAC;;IAEJ;IACAL,YAAY,CAACF,YAAY,CAAE,eAAe,EAAE,MAAO,CAAC;IACpDN,cAAc,GAAG,IAAI;EACtB;AACD;;AAEA;AACAc,QAAQ,CAACC,gBAAgB,CACxB,OAAO,EACP,UAAWC,KAAK,EAAG;EAClB,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAM;EAC3B,MAAMC,MAAM,GAAGD,MAAM,CAACN,OAAO,CAAE,sCAAuC,CAAC;;EAEvE;EACA,IAAKX,cAAc,EAAG;IACrB,MAAMmB,gBAAgB,GAAGL,QAAQ,CAACX,gBAAgB,CACjD,sBACD,CAAC;IACDgB,gBAAgB,CAACf,OAAO,CAAE,UAAWgB,KAAK,EAAG;MAC5C,IAAK,CAAEA,KAAK,CAACC,QAAQ,CAAEJ,MAAO,CAAC,EAAG;QACjChB,aAAa,CAAEmB,KAAM,CAAC;MACvB;IACD,CAAE,CAAC;EACJ;;EAEA;EACA,IAAKF,MAAM,YAAYI,iBAAiB,EAAG;IAC1Cf,oBAAoB,CAAEW,MAAO,CAAC;EAC/B;AACD,CAAC,EACD;EAAEK,OAAO,EAAE;AAAK,CACjB,CAAC;;AAED;AACAT,QAAQ,CAACC,gBAAgB,CACxB,OAAO,EACP,UAAWC,KAAK,EAAG;EAClB;EACA,IAAK,CAAEhB,cAAc,EAAG;IACvB;EACD;EAEA,MAAMwB,aAAa,GAAGV,QAAQ,CAACX,gBAAgB,CAC9C,qCACD,CAAC;EACDqB,aAAa,CAACpB,OAAO,CAAE,UAAWgB,KAAK,EAAG;IACzC,IAAK,CAAEA,KAAK,CAACC,QAAQ,CAAEL,KAAK,CAACC,MAAO,CAAC,EAAG;MACvChB,aAAa,CAAEmB,KAAM,CAAC;IACvB,CAAC,MAAM,IAAKJ,KAAK,CAACS,GAAG,KAAK,QAAQ,EAAG;MACpC,MAAMpB,MAAM,GAAGe,KAAK,CAACM,aAAa,CAAE,wBAAyB,CAAC;MAC9DzB,aAAa,CAAEmB,KAAM,CAAC;MACtB;MACAf,MAAM,EAAEsB,KAAK,CAAC,CAAC;IAChB;EACD,CAAE,CAAC;AACJ,CAAC,EACD;EAAEJ,OAAO,EAAE;AAAK,CACjB,CAAC"}
|
|
1
|
+
{"version":3,"names":["store","wpStore","focusableSelectors","openMenu","menuOpenedOn","context","ref","selectors","core","navigation","menuOpenedBy","previousFocus","type","document","documentElement","classList","add","closeMenu","menuClosedOn","isMenuOpen","modal","contains","window","activeElement","focus","remove","effects","initMenu","focusableElements","querySelectorAll","firstFocusableElement","lastFocusableElement","length","focusFirstElement","querySelector","roleAttribute","ariaModal","Object","values","filter","Boolean","actions","openMenuOnHover","overlayOpenedBy","closeMenuOnHover","openMenuOnClick","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","click","handleMenuKeydown","event","key","shiftKey","preventDefault","handleMenuFocusout","relatedTarget","target"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as wpStore } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[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'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\nconst openMenu = ( store, menuOpenedOn ) => {\n\tconst { context, ref, selectors } = store;\n\tselectors.core.navigation.menuOpenedBy( store )[ menuOpenedOn ] = true;\n\tcontext.core.navigation.previousFocus = ref;\n\tif ( context.core.navigation.type === '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 = ( store, menuClosedOn ) => {\n\tconst { context, selectors } = store;\n\tselectors.core.navigation.menuOpenedBy( store )[ menuClosedOn ] = false;\n\t// Check if the menu is still open or not.\n\tif ( ! selectors.core.navigation.isMenuOpen( store ) ) {\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.type === 'overlay' ) {\n\t\t\tdocument.documentElement.classList.remove( 'has-modal-open' );\n\t\t}\n\t}\n};\n\nwpStore( {\n\teffects: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\tinitMenu: ( store ) => {\n\t\t\t\t\tconst { context, selectors, ref } = store;\n\t\t\t\t\tif ( selectors.core.navigation.isMenuOpen( store ) ) {\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: ( store ) => {\n\t\t\t\t\tconst { selectors, ref } = store;\n\t\t\t\t\tif ( selectors.core.navigation.isMenuOpen( store ) ) {\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: ( store ) => {\n\t\t\t\t\tconst { context, selectors } = store;\n\t\t\t\t\treturn context.core.navigation.type === 'overlay' &&\n\t\t\t\t\t\tselectors.core.navigation.isMenuOpen( store )\n\t\t\t\t\t\t? 'dialog'\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tariaModal: ( store ) => {\n\t\t\t\t\tconst { context, selectors } = store;\n\t\t\t\t\treturn context.core.navigation.type === 'overlay' &&\n\t\t\t\t\t\tselectors.core.navigation.isMenuOpen( store )\n\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tisMenuOpen: ( { context } ) =>\n\t\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\t\tObject.values(\n\t\t\t\t\t\tcontext.core.navigation[\n\t\t\t\t\t\t\tcontext.core.navigation.type === 'overlay'\n\t\t\t\t\t\t\t\t? 'overlayOpenedBy'\n\t\t\t\t\t\t\t\t: 'submenuOpenedBy'\n\t\t\t\t\t\t]\n\t\t\t\t\t).filter( Boolean ).length > 0,\n\t\t\t\tmenuOpenedBy: ( { context } ) =>\n\t\t\t\t\tcontext.core.navigation[\n\t\t\t\t\t\tcontext.core.navigation.type === 'overlay'\n\t\t\t\t\t\t\t? 'overlayOpenedBy'\n\t\t\t\t\t\t\t: 'submenuOpenedBy'\n\t\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tactions: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\topenMenuOnHover( store ) {\n\t\t\t\t\tconst { navigation } = store.context.core;\n\t\t\t\t\tif (\n\t\t\t\t\t\tnavigation.type === 'submenu' &&\n\t\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\tnavigation.overlayOpenedBy || {}\n\t\t\t\t\t\t).filter( Boolean ).length === 0\n\t\t\t\t\t)\n\t\t\t\t\t\topenMenu( store, 'hover' );\n\t\t\t\t},\n\t\t\t\tcloseMenuOnHover( store ) {\n\t\t\t\t\tcloseMenu( store, 'hover' );\n\t\t\t\t},\n\t\t\t\topenMenuOnClick( store ) {\n\t\t\t\t\topenMenu( store, 'click' );\n\t\t\t\t},\n\t\t\t\tcloseMenuOnClick( store ) {\n\t\t\t\t\tcloseMenu( store, 'click' );\n\t\t\t\t\tcloseMenu( store, 'focus' );\n\t\t\t\t},\n\t\t\t\topenMenuOnFocus( store ) {\n\t\t\t\t\topenMenu( store, 'focus' );\n\t\t\t\t},\n\t\t\t\ttoggleMenuOnClick: ( store ) => {\n\t\t\t\t\tconst { selectors } = store;\n\t\t\t\t\tconst menuOpenedBy =\n\t\t\t\t\t\tselectors.core.navigation.menuOpenedBy( store );\n\t\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\t\tcloseMenu( store, 'click' );\n\t\t\t\t\t\tcloseMenu( store, 'focus' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\topenMenu( store, 'click' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleMenuKeydown: ( store ) => {\n\t\t\t\t\tconst { context, selectors, event } = store;\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectors.core.navigation.menuOpenedBy( store ).click\n\t\t\t\t\t) {\n\t\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\t\tcloseMenu( store, 'click' );\n\t\t\t\t\t\t\tcloseMenu( store, 'focus' );\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.type === 'overlay' &&\n\t\t\t\t\t\t\tevent.key === 'Tab'\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: ( store ) => {\n\t\t\t\t\tconst { context, event } = store;\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\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( store, 'click' );\n\t\t\t\t\t\tcloseMenu( store, 'focus' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n"],"mappings":"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"}
|