@wordpress/block-library 9.13.1-next.a9f418477.0 → 9.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 +2 -0
- package/build/avatar/user-control.js +1 -0
- package/build/avatar/user-control.js.map +1 -1
- package/build/block/deprecated.js +1 -0
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +1 -0
- package/build/block/edit.js.map +1 -1
- package/build/button/deprecated.js +1 -0
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +2 -2
- package/build/button/edit.js.map +1 -1
- package/build/buttons/transforms.js +1 -0
- package/build/buttons/transforms.js.map +1 -1
- package/build/categories/edit.js +1 -0
- package/build/categories/edit.js.map +1 -1
- package/build/column/column-preview.native.js +1 -0
- package/build/column/column-preview.native.js.map +1 -1
- package/build/columns/columnCalculations.native.js +1 -0
- package/build/columns/columnCalculations.native.js.map +1 -1
- package/build/columns/deprecated.js +1 -0
- package/build/columns/deprecated.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -0
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/transforms.js +1 -0
- package/build/columns/transforms.js.map +1 -1
- package/build/columns/utils.js +1 -0
- package/build/columns/utils.js.map +1 -1
- package/build/comment-template/edit.js +1 -0
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/hooks.js +1 -0
- package/build/comment-template/hooks.js.map +1 -1
- package/build/comment-template/util.js +1 -0
- package/build/comment-template/util.js.map +1 -1
- package/build/details/transforms.js +1 -0
- package/build/details/transforms.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +1 -0
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/util.js +1 -0
- package/build/embed/util.js.map +1 -1
- package/build/embed/variations.js +1 -0
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +1 -0
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/file/transforms.js +1 -0
- package/build/file/transforms.js.map +1 -1
- package/build/footnotes/edit.js +1 -0
- package/build/footnotes/edit.js.map +1 -1
- package/build/freeform/modal.js +1 -0
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/deprecated.js +1 -0
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +1 -0
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/shared.js +1 -0
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +1 -0
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +1 -0
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +1 -0
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/gallery/use-get-new-images.js +1 -0
- package/build/gallery/use-get-new-images.js.map +1 -1
- package/build/gallery/use-image-sizes.js +1 -0
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/group/placeholder.js +1 -0
- package/build/group/placeholder.js.map +1 -1
- package/build/group/transforms.js +1 -0
- package/build/group/transforms.js.map +1 -1
- package/build/heading/transforms.js +1 -0
- package/build/heading/transforms.js.map +1 -1
- package/build/html/preview.js +1 -0
- package/build/html/preview.js.map +1 -1
- package/build/image/edit.js +1 -0
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -0
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +2 -1
- package/build/image/image.js.map +1 -1
- package/build/image/transforms.js +1 -0
- package/build/image/transforms.js.map +1 -1
- package/build/image/utils.js +1 -0
- package/build/image/utils.js.map +1 -1
- package/build/image/view.js +1 -3
- package/build/image/view.js.map +1 -1
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/index.native.js +1 -0
- package/build/index.native.js.map +1 -1
- package/build/latest-posts/edit.js +1 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/transforms.js +1 -0
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +1 -0
- package/build/list/utils.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +1 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/transforms.js +1 -0
- package/build/list-item/transforms.js.map +1 -1
- package/build/media-text/edit.js +1 -0
- package/build/media-text/edit.js.map +1 -1
- package/build/more/save.js +1 -0
- package/build/more/save.js.map +1 -1
- package/build/navigation/deprecated.js +1 -0
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +1 -0
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js +1 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +1 -0
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/use-template-part-area-label.js +1 -0
- package/build/navigation/use-template-part-area-label.js.map +1 -1
- package/build/navigation/view.js +1 -0
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/hooks.js +1 -0
- package/build/navigation-link/hooks.js.map +1 -1
- package/build/navigation-link/link-ui.js +3 -3
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/page-list/edit.js +1 -0
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/use-convert-to-navigation-links.js +1 -0
- package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build/paragraph/edit.js +8 -2
- package/build/paragraph/edit.js.map +1 -1
- package/build/pattern/edit.js +1 -0
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +1 -0
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/variations.js +1 -0
- package/build/post-navigation-link/variations.js.map +1 -1
- package/build/post-template/edit.js +1 -0
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +1 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/hooks.js +1 -0
- package/build/post-terms/hooks.js.map +1 -1
- package/build/pullquote/blockquote.native.js +1 -0
- package/build/pullquote/blockquote.native.js.map +1 -1
- package/build/pullquote/transforms.js +1 -0
- package/build/pullquote/transforms.js.map +1 -1
- package/build/query/deprecated.js +1 -0
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +1 -0
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/format-controls.js +1 -0
- package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +1 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +1 -0
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/utils.js +1 -0
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/index.js +1 -1
- package/build/query-no-results/index.js.map +1 -1
- package/build/query-title/variations.js +1 -0
- package/build/query-title/variations.js.map +1 -1
- package/build/query-total/edit.js +92 -0
- package/build/query-total/edit.js.map +1 -0
- package/build/query-total/icons.js +46 -0
- package/build/query-total/icons.js.map +1 -0
- package/build/query-total/index.js +74 -0
- package/build/query-total/index.js.map +1 -0
- package/build/query-total/init.js +12 -0
- package/build/query-total/init.js.map +1 -0
- package/build/quote/deprecated.js +1 -0
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/transforms.js +1 -0
- package/build/quote/transforms.js.map +1 -1
- package/build/social-link/social-list.js +1 -0
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-link/variations.js +1 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/social-links/edit.js +1 -0
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/edit.native.js +1 -0
- package/build/social-links/edit.native.js.map +1 -1
- package/build/spacer/controls.js +1 -0
- package/build/spacer/controls.js.map +1 -1
- package/build/table/deprecated.js +1 -0
- package/build/table/deprecated.js.map +1 -1
- package/build/table/edit.js +1 -0
- package/build/table/edit.js.map +1 -1
- package/build/table/save.js +1 -0
- package/build/table/save.js.map +1 -1
- package/build/table/state.js +1 -0
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +1 -0
- package/build/table/transforms.js.map +1 -1
- package/build/table-of-contents/list.js +1 -0
- package/build/table-of-contents/list.js.map +1 -1
- package/build/table-of-contents/utils.js +1 -0
- package/build/table-of-contents/utils.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +1 -0
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +1 -0
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +1 -0
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +1 -0
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +1 -0
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build/template-part/variations.js +1 -0
- package/build/template-part/variations.js.map +1 -1
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +1 -0
- package/build/text-columns/save.js.map +1 -1
- package/build/text-columns/transforms.js +1 -0
- package/build/text-columns/transforms.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +1 -0
- package/build/utils/get-transformed-metadata.js.map +1 -1
- package/build/utils/search-patterns.js +1 -0
- package/build/utils/search-patterns.js.map +1 -1
- package/build/utils/transformation-categories.native.js +1 -0
- package/build/utils/transformation-categories.native.js.map +1 -1
- package/build/video/tracks-editor.js +1 -0
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +1 -0
- package/build/video/tracks.js.map +1 -1
- package/build-module/avatar/user-control.js +1 -0
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/block/deprecated.js +1 -0
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +1 -0
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/deprecated.js +1 -0
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +1 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/transforms.js +1 -0
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/categories/edit.js +1 -0
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/column/column-preview.native.js +1 -0
- package/build-module/column/column-preview.native.js.map +1 -1
- package/build-module/columns/columnCalculations.native.js +1 -0
- package/build-module/columns/columnCalculations.native.js.map +1 -1
- package/build-module/columns/deprecated.js +1 -0
- package/build-module/columns/deprecated.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +1 -0
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/transforms.js +1 -0
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/columns/utils.js +1 -0
- package/build-module/columns/utils.js.map +1 -1
- package/build-module/comment-template/edit.js +1 -0
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/hooks.js +1 -0
- package/build-module/comment-template/hooks.js.map +1 -1
- package/build-module/comment-template/util.js +1 -0
- package/build-module/comment-template/util.js.map +1 -1
- package/build-module/details/transforms.js +1 -0
- package/build-module/details/transforms.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +1 -0
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/util.js +1 -0
- package/build-module/embed/util.js.map +1 -1
- package/build-module/embed/variations.js +1 -0
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +1 -0
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/file/transforms.js +1 -0
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/footnotes/edit.js +1 -0
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/freeform/modal.js +1 -0
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/deprecated.js +1 -0
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +1 -0
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/shared.js +1 -0
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +1 -0
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +1 -0
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +1 -0
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/gallery/use-get-new-images.js +1 -0
- package/build-module/gallery/use-get-new-images.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +1 -0
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/group/placeholder.js +1 -0
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/group/transforms.js +1 -0
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/heading/transforms.js +1 -0
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/html/preview.js +1 -0
- package/build-module/html/preview.js.map +1 -1
- package/build-module/image/edit.js +1 -0
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -0
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +2 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/transforms.js +1 -0
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/image/utils.js +1 -0
- package/build-module/image/utils.js.map +1 -1
- package/build-module/image/view.js +1 -3
- package/build-module/image/view.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +1 -0
- package/build-module/index.native.js.map +1 -1
- package/build-module/latest-posts/edit.js +1 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/transforms.js +1 -0
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +1 -0
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/transforms.js +1 -0
- package/build-module/list-item/transforms.js.map +1 -1
- package/build-module/media-text/edit.js +1 -0
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/more/save.js +1 -0
- package/build-module/more/save.js.map +1 -1
- package/build-module/navigation/deprecated.js +1 -0
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +1 -0
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +1 -0
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/use-template-part-area-label.js +1 -0
- package/build-module/navigation/use-template-part-area-label.js.map +1 -1
- package/build-module/navigation/view.js +1 -0
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/hooks.js +1 -0
- package/build-module/navigation-link/hooks.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +1 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/page-list/edit.js +1 -0
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/use-convert-to-navigation-links.js +1 -0
- package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build-module/paragraph/edit.js +8 -2
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/pattern/edit.js +1 -0
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +1 -0
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/variations.js +1 -0
- package/build-module/post-navigation-link/variations.js.map +1 -1
- package/build-module/post-template/edit.js +1 -0
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +1 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/hooks.js +1 -0
- package/build-module/post-terms/hooks.js.map +1 -1
- package/build-module/pullquote/blockquote.native.js +1 -0
- package/build-module/pullquote/blockquote.native.js.map +1 -1
- package/build-module/pullquote/transforms.js +1 -0
- package/build-module/pullquote/transforms.js.map +1 -1
- package/build-module/query/deprecated.js +1 -0
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +1 -0
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/format-controls.js +1 -0
- package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +1 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +1 -0
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/utils.js +1 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/index.js +1 -1
- package/build-module/query-no-results/index.js.map +1 -1
- package/build-module/query-title/variations.js +1 -0
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/query-total/edit.js +85 -0
- package/build-module/query-total/edit.js.map +1 -0
- package/build-module/query-total/icons.js +39 -0
- package/build-module/query-total/icons.js.map +1 -0
- package/build-module/query-total/index.js +67 -0
- package/build-module/query-total/index.js.map +1 -0
- package/build-module/query-total/init.js +6 -0
- package/build-module/query-total/init.js.map +1 -0
- package/build-module/quote/deprecated.js +1 -0
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/transforms.js +1 -0
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/social-link/social-list.js +1 -0
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-link/variations.js +1 -0
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/social-links/edit.js +1 -0
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/edit.native.js +1 -0
- package/build-module/social-links/edit.native.js.map +1 -1
- package/build-module/spacer/controls.js +1 -0
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/deprecated.js +1 -0
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/edit.js +1 -0
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/save.js +1 -0
- package/build-module/table/save.js.map +1 -1
- package/build-module/table/state.js +1 -0
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +1 -0
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table-of-contents/list.js +1 -0
- package/build-module/table-of-contents/list.js.map +1 -1
- package/build-module/table-of-contents/utils.js +1 -0
- package/build-module/table-of-contents/utils.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -0
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +1 -0
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +1 -0
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +1 -0
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +1 -0
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/template-part/variations.js +1 -0
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +1 -0
- package/build-module/text-columns/save.js.map +1 -1
- package/build-module/text-columns/transforms.js +1 -0
- package/build-module/text-columns/transforms.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +1 -0
- package/build-module/utils/get-transformed-metadata.js.map +1 -1
- package/build-module/utils/search-patterns.js +1 -0
- package/build-module/utils/search-patterns.js.map +1 -1
- package/build-module/utils/transformation-categories.native.js +1 -0
- package/build-module/utils/transformation-categories.native.js.map +1 -1
- package/build-module/video/tracks-editor.js +1 -0
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +1 -0
- package/build-module/video/tracks.js.map +1 -1
- package/package.json +34 -34
- package/src/button/edit.js +1 -1
- package/src/image/image.js +1 -1
- package/src/image/index.php +1 -1
- package/src/image/view.js +1 -3
- package/src/index.js +2 -0
- package/src/navigation-link/link-ui.js +1 -1
- package/src/paragraph/edit.js +11 -1
- package/src/post-template/block.json +1 -1
- package/src/query-no-results/block.json +1 -1
- package/src/query-total/block.json +45 -0
- package/src/query-total/edit.js +83 -0
- package/src/query-total/icons.js +43 -0
- package/src/query-total/index.js +18 -0
- package/src/query-total/index.php +92 -0
- package/src/query-total/init.js +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","useRef","useEffect","getFilename","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","map","track","index","className","children","__next40pxDefaultSize","variant","onClick","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","newLabel","help","newSrcLang","options","newKind","isDestructive","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","current","focus","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","renderContent","newTrack","newTracks","filter","_track","length","onSelect","url","trackIndex","allowedTypes","render","open","icon","event","files","target","filesList","onFileChange","accept","openFileDialog"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ index }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\ttrack.label\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"8\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\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\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","_x","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","useRef","useEffect","getFilename","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","map","track","index","className","children","__next40pxDefaultSize","variant","onClick","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","spacing","columns","gap","__nextHasNoMarginBottom","newLabel","help","newSrcLang","options","newKind","isDestructive","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","dropdownPopoverRef","current","focus","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","renderContent","newTrack","newTracks","filter","_track","length","onSelect","url","trackIndex","allowedTypes","render","open","icon","event","files","target","filesList","onFileChange","accept","openFileDialog"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ index }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\ttrack.label\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"8\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\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\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\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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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Tracks","tracks","map","track","_jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["Tracks","tracks","map","track","_jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":";;AAAA,eAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,oBAAOC,IAAA;MAAA,GAA8BD;IAAK,GAAtBA,KAAK,CAACE,GAAoB,CAAC;EAChD,CAAE,CAAC;AACJ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-library",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.14.0",
|
|
4
4
|
"description": "Block library for the WordPress editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -41,39 +41,39 @@
|
|
|
41
41
|
],
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@babel/runtime": "7.25.7",
|
|
44
|
-
"@wordpress/a11y": "
|
|
45
|
-
"@wordpress/api-fetch": "
|
|
46
|
-
"@wordpress/autop": "
|
|
47
|
-
"@wordpress/blob": "
|
|
48
|
-
"@wordpress/block-editor": "
|
|
49
|
-
"@wordpress/blocks": "
|
|
44
|
+
"@wordpress/a11y": "*",
|
|
45
|
+
"@wordpress/api-fetch": "*",
|
|
46
|
+
"@wordpress/autop": "*",
|
|
47
|
+
"@wordpress/blob": "*",
|
|
48
|
+
"@wordpress/block-editor": "*",
|
|
49
|
+
"@wordpress/blocks": "*",
|
|
50
50
|
"@wordpress/components": "*",
|
|
51
|
-
"@wordpress/compose": "
|
|
52
|
-
"@wordpress/core-data": "
|
|
53
|
-
"@wordpress/data": "
|
|
54
|
-
"@wordpress/date": "
|
|
55
|
-
"@wordpress/deprecated": "
|
|
56
|
-
"@wordpress/dom": "
|
|
57
|
-
"@wordpress/element": "
|
|
58
|
-
"@wordpress/escape-html": "
|
|
59
|
-
"@wordpress/hooks": "
|
|
60
|
-
"@wordpress/html-entities": "
|
|
61
|
-
"@wordpress/i18n": "
|
|
62
|
-
"@wordpress/icons": "
|
|
63
|
-
"@wordpress/interactivity": "
|
|
64
|
-
"@wordpress/interactivity-router": "
|
|
65
|
-
"@wordpress/keyboard-shortcuts": "
|
|
66
|
-
"@wordpress/keycodes": "
|
|
67
|
-
"@wordpress/notices": "
|
|
68
|
-
"@wordpress/patterns": "
|
|
69
|
-
"@wordpress/primitives": "
|
|
70
|
-
"@wordpress/private-apis": "
|
|
71
|
-
"@wordpress/reusable-blocks": "
|
|
72
|
-
"@wordpress/rich-text": "
|
|
73
|
-
"@wordpress/server-side-render": "
|
|
74
|
-
"@wordpress/url": "
|
|
75
|
-
"@wordpress/viewport": "
|
|
76
|
-
"@wordpress/wordcount": "
|
|
51
|
+
"@wordpress/compose": "*",
|
|
52
|
+
"@wordpress/core-data": "*",
|
|
53
|
+
"@wordpress/data": "*",
|
|
54
|
+
"@wordpress/date": "*",
|
|
55
|
+
"@wordpress/deprecated": "*",
|
|
56
|
+
"@wordpress/dom": "*",
|
|
57
|
+
"@wordpress/element": "*",
|
|
58
|
+
"@wordpress/escape-html": "*",
|
|
59
|
+
"@wordpress/hooks": "*",
|
|
60
|
+
"@wordpress/html-entities": "*",
|
|
61
|
+
"@wordpress/i18n": "*",
|
|
62
|
+
"@wordpress/icons": "*",
|
|
63
|
+
"@wordpress/interactivity": "*",
|
|
64
|
+
"@wordpress/interactivity-router": "*",
|
|
65
|
+
"@wordpress/keyboard-shortcuts": "*",
|
|
66
|
+
"@wordpress/keycodes": "*",
|
|
67
|
+
"@wordpress/notices": "*",
|
|
68
|
+
"@wordpress/patterns": "*",
|
|
69
|
+
"@wordpress/primitives": "*",
|
|
70
|
+
"@wordpress/private-apis": "*",
|
|
71
|
+
"@wordpress/reusable-blocks": "*",
|
|
72
|
+
"@wordpress/rich-text": "*",
|
|
73
|
+
"@wordpress/server-side-render": "*",
|
|
74
|
+
"@wordpress/url": "*",
|
|
75
|
+
"@wordpress/viewport": "*",
|
|
76
|
+
"@wordpress/wordcount": "*",
|
|
77
77
|
"change-case": "^4.1.2",
|
|
78
78
|
"clsx": "^2.1.1",
|
|
79
79
|
"colord": "^2.7.0",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"publishConfig": {
|
|
92
92
|
"access": "public"
|
|
93
93
|
},
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "b432c18934c9db866b6dba7d37517a4e97d642e3"
|
|
95
95
|
}
|
package/src/button/edit.js
CHANGED
|
@@ -29,11 +29,11 @@ import {
|
|
|
29
29
|
InspectorControls,
|
|
30
30
|
RichText,
|
|
31
31
|
useBlockProps,
|
|
32
|
+
LinkControl,
|
|
32
33
|
__experimentalUseBorderProps as useBorderProps,
|
|
33
34
|
__experimentalUseColorProps as useColorProps,
|
|
34
35
|
__experimentalGetSpacingClassesAndStyles as useSpacingProps,
|
|
35
36
|
__experimentalGetShadowClassesAndStyles as useShadowProps,
|
|
36
|
-
__experimentalLinkControl as LinkControl,
|
|
37
37
|
__experimentalGetElementClassName,
|
|
38
38
|
store as blockEditorStore,
|
|
39
39
|
useBlockEditingMode,
|
package/src/image/image.js
CHANGED
package/src/image/index.php
CHANGED
|
@@ -290,6 +290,7 @@ function block_core_image_print_lightbox_overlay() {
|
|
|
290
290
|
data-wp-on-async--click="actions.hideLightbox"
|
|
291
291
|
data-wp-on-async-window--resize="callbacks.setOverlayStyles"
|
|
292
292
|
data-wp-on-async-window--scroll="actions.handleScroll"
|
|
293
|
+
data-wp-bind--style="state.overlayStyles"
|
|
293
294
|
tabindex="-1"
|
|
294
295
|
>
|
|
295
296
|
<button type="button" aria-label="$close_button_label" style="fill: $close_button_color" class="close-button">
|
|
@@ -306,7 +307,6 @@ function block_core_image_print_lightbox_overlay() {
|
|
|
306
307
|
</figure>
|
|
307
308
|
</div>
|
|
308
309
|
<div class="scrim" style="background-color: $background_color" aria-hidden="true"></div>
|
|
309
|
-
<style data-wp-text="state.overlayStyles"></style>
|
|
310
310
|
</div>
|
|
311
311
|
HTML;
|
|
312
312
|
}
|
package/src/image/view.js
CHANGED
|
@@ -341,7 +341,6 @@ const { state, actions, callbacks } = store(
|
|
|
341
341
|
// adding 1 pixel to the container width and height solves the problem,
|
|
342
342
|
// though this can be removed if the issue is fixed in the future.
|
|
343
343
|
state.overlayStyles = `
|
|
344
|
-
:root {
|
|
345
344
|
--wp--lightbox-initial-top-position: ${ screenPosY }px;
|
|
346
345
|
--wp--lightbox-initial-left-position: ${ screenPosX }px;
|
|
347
346
|
--wp--lightbox-container-width: ${ containerWidth + 1 }px;
|
|
@@ -352,8 +351,7 @@ const { state, actions, callbacks } = store(
|
|
|
352
351
|
--wp--lightbox-scrollbar-width: ${
|
|
353
352
|
window.innerWidth - document.documentElement.clientWidth
|
|
354
353
|
}px;
|
|
355
|
-
|
|
356
|
-
`;
|
|
354
|
+
`;
|
|
357
355
|
},
|
|
358
356
|
setButtonStyles() {
|
|
359
357
|
const { imageId } = getContext();
|
package/src/index.js
CHANGED
|
@@ -99,6 +99,7 @@ import * as queryPaginationNext from './query-pagination-next';
|
|
|
99
99
|
import * as queryPaginationNumbers from './query-pagination-numbers';
|
|
100
100
|
import * as queryPaginationPrevious from './query-pagination-previous';
|
|
101
101
|
import * as queryTitle from './query-title';
|
|
102
|
+
import * as queryTotal from './query-total';
|
|
102
103
|
import * as quote from './quote';
|
|
103
104
|
import * as reusableBlock from './block';
|
|
104
105
|
import * as readMore from './read-more';
|
|
@@ -211,6 +212,7 @@ const getAllBlocks = () => {
|
|
|
211
212
|
queryPaginationNumbers,
|
|
212
213
|
queryPaginationPrevious,
|
|
213
214
|
queryNoResults,
|
|
215
|
+
queryTotal,
|
|
214
216
|
readMore,
|
|
215
217
|
comments,
|
|
216
218
|
commentAuthorName,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from '@wordpress/components';
|
|
11
11
|
import { __, sprintf, isRTL } from '@wordpress/i18n';
|
|
12
12
|
import {
|
|
13
|
-
|
|
13
|
+
LinkControl,
|
|
14
14
|
store as blockEditorStore,
|
|
15
15
|
privateApis as blockEditorPrivateApis,
|
|
16
16
|
} from '@wordpress/block-editor';
|
package/src/paragraph/edit.js
CHANGED
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
useSettings,
|
|
22
22
|
useBlockEditingMode,
|
|
23
23
|
} from '@wordpress/block-editor';
|
|
24
|
+
import { getBlockSupport } from '@wordpress/blocks';
|
|
24
25
|
import { formatLtr } from '@wordpress/icons';
|
|
25
26
|
|
|
26
27
|
/**
|
|
@@ -47,7 +48,7 @@ function hasDropCapDisabled( align ) {
|
|
|
47
48
|
return align === ( isRTL() ? 'left' : 'right' ) || align === 'center';
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
function DropCapControl( { clientId, attributes, setAttributes } ) {
|
|
51
|
+
function DropCapControl( { clientId, attributes, setAttributes, name } ) {
|
|
51
52
|
// Please do not add a useSelect call to the paragraph block unconditionally.
|
|
52
53
|
// Every useSelect added to a (frequently used) block will degrade load
|
|
53
54
|
// and type performance. By moving it within InspectorControls, the subscription is
|
|
@@ -69,11 +70,18 @@ function DropCapControl( { clientId, attributes, setAttributes } ) {
|
|
|
69
70
|
helpText = __( 'Show a large initial letter.' );
|
|
70
71
|
}
|
|
71
72
|
|
|
73
|
+
const isDropCapControlEnabledByDefault = getBlockSupport(
|
|
74
|
+
name,
|
|
75
|
+
'typography.defaultControls.dropCap',
|
|
76
|
+
false
|
|
77
|
+
);
|
|
78
|
+
|
|
72
79
|
return (
|
|
73
80
|
<InspectorControls group="typography">
|
|
74
81
|
<ToolsPanelItem
|
|
75
82
|
hasValue={ () => !! dropCap }
|
|
76
83
|
label={ __( 'Drop cap' ) }
|
|
84
|
+
isShownByDefault={ isDropCapControlEnabledByDefault }
|
|
77
85
|
onDeselect={ () => setAttributes( { dropCap: undefined } ) }
|
|
78
86
|
resetAllFilter={ () => ( { dropCap: undefined } ) }
|
|
79
87
|
panelId={ clientId }
|
|
@@ -99,6 +107,7 @@ function ParagraphBlock( {
|
|
|
99
107
|
setAttributes,
|
|
100
108
|
clientId,
|
|
101
109
|
isSelected: isSingleSelected,
|
|
110
|
+
name,
|
|
102
111
|
} ) {
|
|
103
112
|
const { align, content, direction, dropCap, placeholder } = attributes;
|
|
104
113
|
const blockProps = useBlockProps( {
|
|
@@ -136,6 +145,7 @@ function ParagraphBlock( {
|
|
|
136
145
|
) }
|
|
137
146
|
{ isSingleSelected && (
|
|
138
147
|
<DropCapControl
|
|
148
|
+
name={ name }
|
|
139
149
|
clientId={ clientId }
|
|
140
150
|
attributes={ attributes }
|
|
141
151
|
setAttributes={ setAttributes }
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"name": "core/post-template",
|
|
5
5
|
"title": "Post Template",
|
|
6
6
|
"category": "theme",
|
|
7
|
-
"
|
|
7
|
+
"ancestor": [ "core/query" ],
|
|
8
8
|
"description": "Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.",
|
|
9
9
|
"textdomain": "default",
|
|
10
10
|
"usesContext": [
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"title": "No results",
|
|
6
6
|
"category": "theme",
|
|
7
7
|
"description": "Contains the block elements used to render content when no query results are found.",
|
|
8
|
-
"
|
|
8
|
+
"ancestor": [ "core/query" ],
|
|
9
9
|
"textdomain": "default",
|
|
10
10
|
"usesContext": [ "queryId", "query" ],
|
|
11
11
|
"example": {
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schemas.wp.org/trunk/block.json",
|
|
3
|
+
"apiVersion": 3,
|
|
4
|
+
"name": "core/query-total",
|
|
5
|
+
"title": "Query Total",
|
|
6
|
+
"category": "theme",
|
|
7
|
+
"ancestor": [ "core/query" ],
|
|
8
|
+
"description": "Display the total number of results in a query.",
|
|
9
|
+
"textdomain": "default",
|
|
10
|
+
"attributes": {
|
|
11
|
+
"displayType": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"default": "total-results"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"usesContext": [ "queryId", "query" ],
|
|
17
|
+
"supports": {
|
|
18
|
+
"align": [ "wide", "full" ],
|
|
19
|
+
"html": false,
|
|
20
|
+
"spacing": {
|
|
21
|
+
"margin": true,
|
|
22
|
+
"padding": true
|
|
23
|
+
},
|
|
24
|
+
"color": {
|
|
25
|
+
"gradients": true,
|
|
26
|
+
"text": true,
|
|
27
|
+
"__experimentalDefaultControls": {
|
|
28
|
+
"background": true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"typography": {
|
|
32
|
+
"fontSize": true,
|
|
33
|
+
"lineHeight": true,
|
|
34
|
+
"__experimentalFontFamily": true,
|
|
35
|
+
"__experimentalFontWeight": true,
|
|
36
|
+
"__experimentalFontStyle": true,
|
|
37
|
+
"__experimentalTextTransform": true,
|
|
38
|
+
"__experimentalTextDecoration": true,
|
|
39
|
+
"__experimentalLetterSpacing": true,
|
|
40
|
+
"__experimentalDefaultControls": {
|
|
41
|
+
"fontSize": true
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useBlockProps, BlockControls } from '@wordpress/block-editor';
|
|
5
|
+
import { ToolbarGroup, ToolbarDropdownMenu } from '@wordpress/components';
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { resultsFound, displayingResults } from './icons';
|
|
12
|
+
|
|
13
|
+
export default function QueryTotalEdit( { attributes, setAttributes } ) {
|
|
14
|
+
const { displayType } = attributes;
|
|
15
|
+
|
|
16
|
+
// Block properties and classes.
|
|
17
|
+
const blockProps = useBlockProps();
|
|
18
|
+
|
|
19
|
+
const getButtonPositionIcon = () => {
|
|
20
|
+
switch ( displayType ) {
|
|
21
|
+
case 'total-results':
|
|
22
|
+
return resultsFound;
|
|
23
|
+
case 'range-display':
|
|
24
|
+
return displayingResults;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const buttonPositionControls = [
|
|
29
|
+
{
|
|
30
|
+
role: 'menuitemradio',
|
|
31
|
+
title: __( 'Total results' ),
|
|
32
|
+
isActive: displayType === 'total-results',
|
|
33
|
+
icon: resultsFound,
|
|
34
|
+
onClick: () => {
|
|
35
|
+
setAttributes( { displayType: 'total-results' } );
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
role: 'menuitemradio',
|
|
40
|
+
title: __( 'Range display' ),
|
|
41
|
+
isActive: displayType === 'range-display',
|
|
42
|
+
icon: displayingResults,
|
|
43
|
+
onClick: () => {
|
|
44
|
+
setAttributes( { displayType: 'range-display' } );
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
// Controls for the block.
|
|
50
|
+
const controls = (
|
|
51
|
+
<>
|
|
52
|
+
<BlockControls>
|
|
53
|
+
<ToolbarGroup>
|
|
54
|
+
<ToolbarDropdownMenu
|
|
55
|
+
icon={ getButtonPositionIcon() }
|
|
56
|
+
label={ __( 'Change display type' ) }
|
|
57
|
+
controls={ buttonPositionControls }
|
|
58
|
+
/>
|
|
59
|
+
</ToolbarGroup>
|
|
60
|
+
</BlockControls>
|
|
61
|
+
</>
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
// Render output based on the selected display type.
|
|
65
|
+
const renderDisplay = () => {
|
|
66
|
+
if ( displayType === 'total-results' ) {
|
|
67
|
+
return <div>{ __( '12 results found' ) }</div>;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if ( displayType === 'range-display' ) {
|
|
71
|
+
return <div>{ __( 'Displaying 1 – 10 of 12' ) }</div>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return null;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
return (
|
|
78
|
+
<div { ...blockProps }>
|
|
79
|
+
{ controls }
|
|
80
|
+
{ renderDisplay() }
|
|
81
|
+
</div>
|
|
82
|
+
);
|
|
83
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { SVG, Path } from '@wordpress/components';
|
|
5
|
+
|
|
6
|
+
export const resultsFound = (
|
|
7
|
+
<SVG
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
viewBox="0 0 24 24"
|
|
10
|
+
width="24"
|
|
11
|
+
height="24"
|
|
12
|
+
aria-hidden="true"
|
|
13
|
+
focusable="false"
|
|
14
|
+
>
|
|
15
|
+
<Path d="M4 11h4v2H4v-2zm6 0h6v2h-6v-2zm8 0h2v2h-2v-2z" />
|
|
16
|
+
</SVG>
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
export const displayingResults = (
|
|
20
|
+
<SVG
|
|
21
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
22
|
+
viewBox="0 0 24 24"
|
|
23
|
+
width="24"
|
|
24
|
+
height="24"
|
|
25
|
+
aria-hidden="true"
|
|
26
|
+
focusable="false"
|
|
27
|
+
>
|
|
28
|
+
<Path d="M4 13h2v-2H4v2zm4 0h10v-2H8v2zm12 0h2v-2h-2v2z" />
|
|
29
|
+
</SVG>
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export const queryTotal = (
|
|
33
|
+
<SVG
|
|
34
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
35
|
+
viewBox="0 0 24 24"
|
|
36
|
+
width="24"
|
|
37
|
+
height="24"
|
|
38
|
+
aria-hidden="true"
|
|
39
|
+
focusable="false"
|
|
40
|
+
>
|
|
41
|
+
<Path d="M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12Zm-7-6-4.1 5h8.8v-3h-1.5v1.5h-4.2l2.9-3.5-2.9-3.5h4.2V10h1.5V7H7.4l4.1 5Z" />
|
|
42
|
+
</SVG>
|
|
43
|
+
);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import metadata from './block.json';
|
|
5
|
+
import edit from './edit';
|
|
6
|
+
import initBlock from '../utils/init-block';
|
|
7
|
+
import { queryTotal } from './icons';
|
|
8
|
+
|
|
9
|
+
/* Block settings */
|
|
10
|
+
const { name } = metadata;
|
|
11
|
+
export { metadata, name };
|
|
12
|
+
|
|
13
|
+
export const settings = {
|
|
14
|
+
icon: queryTotal,
|
|
15
|
+
edit,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const init = () => initBlock( { name, metadata, settings } );
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Server-side rendering of the `core/query-total` block.
|
|
4
|
+
*
|
|
5
|
+
* @package WordPress
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Renders the `query-total` block on the server.
|
|
10
|
+
*
|
|
11
|
+
* @since 6.8.0
|
|
12
|
+
*
|
|
13
|
+
* @param array $attributes Block attributes.
|
|
14
|
+
* @param string $content Block default content.
|
|
15
|
+
* @param WP_Block $block Block instance.
|
|
16
|
+
*
|
|
17
|
+
* @return string The rendered block content.
|
|
18
|
+
*/
|
|
19
|
+
function render_block_core_query_total( $attributes, $content, $block ) {
|
|
20
|
+
global $wp_query;
|
|
21
|
+
$wrapper_attributes = get_block_wrapper_attributes();
|
|
22
|
+
if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) {
|
|
23
|
+
$query_to_use = $wp_query;
|
|
24
|
+
$current_page = max( 1, get_query_var( 'paged', 1 ) );
|
|
25
|
+
} else {
|
|
26
|
+
$page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page';
|
|
27
|
+
$current_page = isset( $_GET[ $page_key ] ) ? (int) $_GET[ $page_key ] : 1;
|
|
28
|
+
$query_to_use = new WP_Query( build_query_vars_from_query_block( $block, $current_page ) );
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
$max_rows = $query_to_use->found_posts;
|
|
32
|
+
$posts_per_page = $query_to_use->get( 'posts_per_page' );
|
|
33
|
+
|
|
34
|
+
// Calculate the range of posts being displayed.
|
|
35
|
+
$start = ( $current_page - 1 ) * $posts_per_page + 1;
|
|
36
|
+
$end = min( $start + $posts_per_page - 1, $max_rows );
|
|
37
|
+
|
|
38
|
+
// Prepare the display based on the `displayType` attribute.
|
|
39
|
+
$output = '';
|
|
40
|
+
switch ( $attributes['displayType'] ) {
|
|
41
|
+
case 'range-display':
|
|
42
|
+
if ( $start === $end ) {
|
|
43
|
+
$range_text = sprintf(
|
|
44
|
+
/* translators: 1: Start index of posts, 2: Total number of posts */
|
|
45
|
+
__( 'Displaying %1$s of %2$s' ),
|
|
46
|
+
'<strong>' . $start . '</strong>',
|
|
47
|
+
'<strong>' . $max_rows . '</strong>'
|
|
48
|
+
);
|
|
49
|
+
} else {
|
|
50
|
+
$range_text = sprintf(
|
|
51
|
+
/* translators: 1: Start index of posts, 2: End index of posts, 3: Total number of posts */
|
|
52
|
+
__( 'Displaying %1$s – %2$s of %3$s' ),
|
|
53
|
+
'<strong>' . $start . '</strong>',
|
|
54
|
+
'<strong>' . $end . '</strong>',
|
|
55
|
+
'<strong>' . $max_rows . '</strong>'
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
$output = sprintf( '<p>%s</p>', $range_text );
|
|
60
|
+
break;
|
|
61
|
+
|
|
62
|
+
case 'total-results':
|
|
63
|
+
default:
|
|
64
|
+
$output = sprintf(
|
|
65
|
+
'<p><strong>%d</strong> %s</p>',
|
|
66
|
+
$max_rows,
|
|
67
|
+
_n( 'result found', 'results found', $max_rows )
|
|
68
|
+
);
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return sprintf(
|
|
73
|
+
'<div %1$s>%2$s</div>',
|
|
74
|
+
$wrapper_attributes,
|
|
75
|
+
$output
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Registers the `query-total` block.
|
|
81
|
+
*
|
|
82
|
+
* @since 6.8.0
|
|
83
|
+
*/
|
|
84
|
+
function register_block_core_query_total() {
|
|
85
|
+
register_block_type_from_metadata(
|
|
86
|
+
__DIR__ . '/query-total',
|
|
87
|
+
array(
|
|
88
|
+
'render_callback' => 'render_block_core_query_total',
|
|
89
|
+
)
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
add_action( 'init', 'register_block_core_query_total' );
|