@wordpress/edit-site 6.8.8 → 6.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/app/index.js +1 -1
- package/build/components/app/index.js.map +1 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -1
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +23 -17
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-family-item.js +1 -1
- package/build/components/global-styles/font-family-item.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +1 -0
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-card.js +2 -2
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +4 -4
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +1 -1
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +9 -8
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +1 -0
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +1 -1
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-size.js +16 -19
- package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-sizes-count.js +1 -1
- package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build/components/global-styles/header.js +1 -1
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/highlighted-colors.js.map +1 -1
- package/build/components/global-styles/navigation-button.js +2 -2
- package/build/components/global-styles/navigation-button.js.map +1 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preset-colors.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +2 -2
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +3 -9
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/shadow-utils.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +4 -1
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/shadows-panel.js +1 -1
- package/build/components/global-styles/shadows-panel.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +1 -5
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typography-elements.js.map +1 -1
- package/build/components/global-styles/typography-preview.js.map +1 -1
- package/build/components/global-styles/ui.js +25 -19
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/global-styles/variations/variation.js +1 -1
- package/build/components/global-styles/variations/variation.js.map +1 -1
- package/build/components/global-styles-sidebar/index.js +0 -6
- package/build/components/global-styles-sidebar/index.js.map +1 -1
- package/build/components/layout/animation.js.map +1 -1
- package/build/components/page-patterns/delete-category-menu-item.js +1 -1
- package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
- package/build/components/page-patterns/fields.js.map +1 -1
- package/build/components/page-patterns/header.js +1 -1
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +1 -0
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-templates/index.js +1 -0
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/post-fields/index.js +4 -4
- package/build/components/post-fields/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +25 -7
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/routes/link.js +6 -3
- package/build/components/routes/link.js.map +1 -1
- package/build/components/routes/use-title.js +1 -1
- package/build/components/routes/use-title.js.map +1 -1
- package/build/components/save-button/index.js +3 -3
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-panel/index.js +1 -1
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar-button/index.js +1 -1
- package/build/components/sidebar-button/index.js.map +1 -1
- package/build/components/sidebar-navigation-item/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -4
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +2 -2
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/style-book/categories.js +70 -0
- package/build/components/style-book/categories.js.map +1 -0
- package/build/components/style-book/constants.js +151 -0
- package/build/components/style-book/constants.js.map +1 -0
- package/build/components/style-book/examples.js +58 -0
- package/build/components/style-book/examples.js.map +1 -0
- package/build/components/style-book/index.js +52 -133
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/style-book/types.js +6 -0
- package/build/components/style-book/types.js.map +1 -0
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/deprecated.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +5 -5
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build/index.js +2 -4
- package/build/index.js.map +1 -1
- package/build/posts.js +1 -1
- package/build/posts.js.map +1 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +0 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-filtered-template-parts.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +1 -3
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-post/index.js +1 -2
- package/build-module/components/add-new-post/index.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +1 -2
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -3
- package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/index.js +1 -3
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/app/index.js +2 -3
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/editor/index.js +1 -3
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +2 -3
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +1 -2
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +27 -23
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-family-item.js +2 -3
- package/build-module/components/global-styles/font-family-item.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +1 -2
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-card.js +3 -4
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +6 -8
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -2
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +2 -3
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +10 -11
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +1 -3
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js +1 -2
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -2
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +1 -1
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-size.js +17 -22
- package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js +2 -3
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-sizes.js +1 -3
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +1 -2
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +1 -2
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/header.js +3 -4
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
- package/build-module/components/global-styles/navigation-button.js +4 -5
- package/build-module/components/global-styles/navigation-button.js.map +1 -1
- package/build-module/components/global-styles/palette.js +1 -2
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preset-colors.js.map +1 -1
- package/build-module/components/global-styles/preview-iframe.js +1 -3
- package/build-module/components/global-styles/preview-iframe.js.map +1 -1
- package/build-module/components/global-styles/preview-styles.js +1 -2
- package/build-module/components/global-styles/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/root-menu.js +1 -3
- package/build-module/components/global-styles/root-menu.js.map +1 -1
- package/build-module/components/global-styles/screen-background.js +1 -3
- package/build-module/components/global-styles/screen-background.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +3 -5
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +1 -3
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-color-palette.js +1 -3
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +1 -3
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +1 -3
- package/build-module/components/global-styles/screen-css.js.map +1 -1
- package/build-module/components/global-styles/screen-layout.js +1 -3
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +5 -13
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +2 -3
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +1 -3
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +1 -3
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-typography-element.js +1 -3
- package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +1 -3
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/shadow-utils.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +5 -4
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/shadows-panel.js +2 -4
- package/build-module/components/global-styles/shadows-panel.js.map +1 -1
- package/build-module/components/global-styles/size-control/index.js +1 -2
- package/build-module/components/global-styles/size-control/index.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +2 -6
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typeset.js +3 -5
- package/build-module/components/global-styles/typeset.js.map +1 -1
- package/build-module/components/global-styles/typography-elements.js +1 -2
- package/build-module/components/global-styles/typography-elements.js.map +1 -1
- package/build-module/components/global-styles/typography-example.js +1 -2
- package/build-module/components/global-styles/typography-example.js.map +1 -1
- package/build-module/components/global-styles/typography-preview.js.map +1 -1
- package/build-module/components/global-styles/ui.js +24 -20
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/global-styles/variations/variation.js +1 -1
- package/build-module/components/global-styles/variations/variation.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +1 -2
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +1 -2
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/global-styles-sidebar/default-sidebar.js +1 -3
- package/build-module/components/global-styles-sidebar/default-sidebar.js.map +1 -1
- package/build-module/components/global-styles-sidebar/index.js +2 -9
- package/build-module/components/global-styles-sidebar/index.js.map +1 -1
- package/build-module/components/layout/animation.js.map +1 -1
- package/build-module/components/layout/index.js +1 -3
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/more-menu/index.js +1 -3
- package/build-module/components/more-menu/index.js.map +1 -1
- package/build-module/components/page/header.js +1 -2
- package/build-module/components/page/header.js.map +1 -1
- package/build-module/components/page/index.js +1 -2
- package/build-module/components/page/index.js.map +1 -1
- package/build-module/components/page-patterns/delete-category-menu-item.js +2 -4
- package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/fields.js +1 -2
- package/build-module/components/page-patterns/fields.js.map +1 -1
- package/build-module/components/page-patterns/header.js +2 -3
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +2 -2
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/rename-category-menu-item.js +1 -3
- package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
- package/build-module/components/page-templates/fields.js +1 -2
- package/build-module/components/page-templates/fields.js.map +1 -1
- package/build-module/components/page-templates/index.js +1 -0
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/pagination/index.js +1 -2
- package/build-module/components/pagination/index.js.map +1 -1
- package/build-module/components/post-edit/index.js +1 -2
- package/build-module/components/post-edit/index.js.map +1 -1
- package/build-module/components/post-fields/index.js +5 -6
- package/build-module/components/post-fields/index.js.map +1 -1
- package/build-module/components/post-list/index.js +1 -3
- package/build-module/components/post-list/index.js.map +1 -1
- package/build-module/components/posts-app/index.js +1 -2
- package/build-module/components/posts-app/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +27 -11
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/revisions/index.js +1 -2
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/routes/link.js +6 -3
- package/build-module/components/routes/link.js.map +1 -1
- package/build-module/components/routes/use-title.js +1 -1
- package/build-module/components/routes/use-title.js.map +1 -1
- package/build-module/components/save-button/index.js +3 -3
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +2 -3
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar-button/index.js +1 -1
- package/build-module/components/sidebar-button/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +1 -3
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +1 -3
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +1 -2
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +1 -3
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-item/index.js +1 -2
- package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +1 -3
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +2 -3
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-panel/index.js +1 -2
- package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js +1 -2
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -3
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +1 -3
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +1 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -4
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +3 -5
- package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -3
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +1 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build-module/components/site-hub/index.js +1 -2
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/style-book/categories.js +64 -0
- package/build-module/components/style-book/categories.js.map +1 -0
- package/build-module/components/style-book/constants.js +145 -0
- package/build-module/components/style-book/constants.js.map +1 -0
- package/build-module/components/style-book/examples.js +52 -0
- package/build-module/components/style-book/examples.js.map +1 -0
- package/build-module/components/style-book/index.js +52 -134
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/style-book/types.js +2 -0
- package/build-module/components/style-book/types.js.map +1 -0
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/welcome-guide/editor.js +1 -3
- package/build-module/components/welcome-guide/editor.js.map +1 -1
- package/build-module/components/welcome-guide/image.js +1 -2
- package/build-module/components/welcome-guide/image.js.map +1 -1
- package/build-module/components/welcome-guide/index.js +1 -3
- package/build-module/components/welcome-guide/index.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +1 -3
- package/build-module/components/welcome-guide/page.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +1 -3
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +1 -3
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/deprecated.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +5 -5
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/index.js +2 -4
- package/build-module/index.js.map +1 -1
- package/build-module/posts.js +1 -1
- package/build-module/posts.js.map +1 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +0 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +1 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-filtered-template-parts.js.map +1 -1
- package/build-style/posts-rtl.css +62 -45
- package/build-style/posts.css +62 -45
- package/build-style/style-rtl.css +78 -56
- package/build-style/style.css +78 -56
- package/package.json +42 -42
- package/src/components/editor-canvas-container/index.js +1 -1
- package/src/components/editor-canvas-container/style.scss +2 -2
- package/src/components/global-styles/font-families.js +30 -21
- package/src/components/global-styles/font-library-modal/font-card.js +1 -1
- package/src/components/global-styles/font-library-modal/font-collection.js +8 -10
- package/src/components/global-styles/font-library-modal/index.js +1 -1
- package/src/components/global-styles/font-library-modal/installed-fonts.js +9 -11
- package/src/components/global-styles/font-library-modal/style.scss +5 -1
- package/src/components/global-styles/font-sizes/font-size.js +18 -16
- package/src/components/global-styles/font-sizes/font-sizes-count.js +1 -1
- package/src/components/global-styles/header.js +2 -2
- package/src/components/global-styles/navigation-button.js +3 -4
- package/src/components/global-styles/screen-block-list.js +1 -1
- package/src/components/global-styles/screen-revisions/index.js +2 -12
- package/src/components/global-styles/shadows-edit-panel.js +5 -1
- package/src/components/global-styles/style-variations-container.js +2 -7
- package/src/components/global-styles/ui.js +23 -18
- package/src/components/global-styles-sidebar/index.js +1 -11
- package/src/components/global-styles-sidebar/style.scss +1 -8
- package/src/components/layout/style.scss +7 -2
- package/src/components/resizable-frame/index.js +14 -8
- package/src/components/routes/link.js +6 -3
- package/src/components/sidebar-button/index.js +1 -1
- package/src/components/sidebar-button/style.scss +2 -2
- package/src/components/sidebar-navigation-screen/style.scss +5 -1
- package/src/components/style-book/categories.ts +91 -0
- package/src/components/style-book/constants.ts +191 -0
- package/src/components/style-book/examples.ts +63 -0
- package/src/components/style-book/index.js +76 -163
- package/src/components/style-book/style.scss +9 -5
- package/src/components/style-book/test/categories.js +171 -0
- package/src/components/style-book/types.ts +27 -0
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -1
- package/src/index.js +1 -5
- package/src/store/private-actions.js +0 -3
- package/src/store/selectors.js +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
/**
|
|
2
3
|
* WordPress dependencies
|
|
3
4
|
*/
|
|
@@ -13,8 +14,7 @@ import { FontLibraryContext } from './context';
|
|
|
13
14
|
import { Font } from '../../../../lib/lib-font.browser';
|
|
14
15
|
import makeFamiliesFromFaces from './utils/make-families-from-faces';
|
|
15
16
|
import { loadFontFaceInBrowser } from './utils';
|
|
16
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
18
|
function UploadFonts() {
|
|
19
19
|
const {
|
|
20
20
|
installFonts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalVStack","VStack","Button","DropZone","Notice","FormFileUpload","FlexItem","ProgressBar","useContext","useState","ALLOWED_FILE_EXTENSIONS","FontLibraryContext","Font","makeFamiliesFromFaces","loadFontFaceInBrowser","jsx","_jsx","jsxs","_jsxs","UploadFonts","installFonts","isUploading","setIsUploading","notice","setNotice","handleDropZone","files","handleFilesUpload","onFilesUpload","event","target","uniqueFilenames","Set","selectedFiles","hasInvalidFiles","checkFilesPromises","map","file","isFont","isFontFile","has","name","fileExtension","split","pop","toLowerCase","includes","add","allowedFiles","Promise","all","filter","length","loadFiles","message","type","fontFacesLoaded","fontFile","fontFaceData","getFontFaceMetadata","handleInstall","font","buffer","readFileAsArrayBuffer","fromDataBuffer","error","resolve","reject","reader","window","FileReader","readAsArrayBuffer","onload","result","onerror","fontObj","onloadEvent","detail","opentype","tables","fontName","get","isItalic","fontWeight","usWeightClass","isVariable","fvar","weightAxis","axes","find","tag","weightRange","minValue","maxValue","fontFamily","fontStyle","fontFaces","fontFamilies","errors","installationErrors","className","children","onFilesDrop","status","__unstableHTML","onRemove","index","accept","ext","join","multiple","onChange","render","openFileDialog","__next40pxDefaultSize","onClick","margin"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tButton,\n\tDropZone,\n\tNotice,\n\tFormFileUpload,\n\tFlexItem,\n\tProgressBar,\n} from '@wordpress/components';\nimport { useContext, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_FILE_EXTENSIONS } from './utils/constants';\nimport { FontLibraryContext } from './context';\nimport { Font } from '../../../../lib/lib-font.browser';\nimport makeFamiliesFromFaces from './utils/make-families-from-faces';\nimport { loadFontFaceInBrowser } from './utils';\n\nfunction UploadFonts() {\n\tconst { installFonts } = useContext( FontLibraryContext );\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst [ notice, setNotice ] = useState( false );\n\n\tconst handleDropZone = ( files ) => {\n\t\thandleFilesUpload( files );\n\t};\n\tconst onFilesUpload = ( event ) => {\n\t\thandleFilesUpload( event.target.files );\n\t};\n\n\t/**\n\t * Filters the selected files to only allow the ones with the allowed extensions\n\t *\n\t * @param {Array} files The files to be filtered\n\t * @return {void}\n\t */\n\tconst handleFilesUpload = async ( files ) => {\n\t\tsetNotice( null );\n\t\tsetIsUploading( true );\n\t\tconst uniqueFilenames = new Set();\n\t\tconst selectedFiles = [ ...files ];\n\t\tlet hasInvalidFiles = false;\n\n\t\t// Use map to create a promise for each file check, then filter with Promise.all.\n\t\tconst checkFilesPromises = selectedFiles.map( async ( file ) => {\n\t\t\tconst isFont = await isFontFile( file );\n\t\t\tif ( ! isFont ) {\n\t\t\t\thasInvalidFiles = true;\n\t\t\t\treturn null; // Return null for invalid files.\n\t\t\t}\n\t\t\t// Check for duplicates\n\t\t\tif ( uniqueFilenames.has( file.name ) ) {\n\t\t\t\treturn null; // Return null for duplicates.\n\t\t\t}\n\t\t\t// Check if the file extension is allowed.\n\t\t\tconst fileExtension = file.name.split( '.' ).pop().toLowerCase();\n\t\t\tif ( ALLOWED_FILE_EXTENSIONS.includes( fileExtension ) ) {\n\t\t\t\tuniqueFilenames.add( file.name );\n\t\t\t\treturn file; // Return the file if it passes all checks.\n\t\t\t}\n\t\t\treturn null; // Return null for disallowed file extensions.\n\t\t} );\n\n\t\t// Filter out the nulls after all promises have resolved.\n\t\tconst allowedFiles = ( await Promise.all( checkFilesPromises ) ).filter(\n\t\t\t( file ) => null !== file\n\t\t);\n\n\t\tif ( allowedFiles.length > 0 ) {\n\t\t\tloadFiles( allowedFiles );\n\t\t} else {\n\t\t\tconst message = hasInvalidFiles\n\t\t\t\t? __( 'Sorry, you are not allowed to upload this file type.' )\n\t\t\t\t: __( 'No fonts found to install.' );\n\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage,\n\t\t\t} );\n\t\t\tsetIsUploading( false );\n\t\t}\n\t};\n\n\t/**\n\t * Loads the selected files and reads the font metadata\n\t *\n\t * @param {Array} files The files to be loaded\n\t * @return {void}\n\t */\n\tconst loadFiles = async ( files ) => {\n\t\tconst fontFacesLoaded = await Promise.all(\n\t\t\tfiles.map( async ( fontFile ) => {\n\t\t\t\tconst fontFaceData = await getFontFaceMetadata( fontFile );\n\t\t\t\tawait loadFontFaceInBrowser(\n\t\t\t\t\tfontFaceData,\n\t\t\t\t\tfontFaceData.file,\n\t\t\t\t\t'all'\n\t\t\t\t);\n\t\t\t\treturn fontFaceData;\n\t\t\t} )\n\t\t);\n\t\thandleInstall( fontFacesLoaded );\n\t};\n\n\t/**\n\t * Checks if a file is a valid Font file.\n\t *\n\t * @param {File} file The file to be checked.\n\t * @return {boolean} Whether the file is a valid font file.\n\t */\n\tasync function isFontFile( file ) {\n\t\tconst font = new Font( 'Uploaded Font' );\n\t\ttry {\n\t\t\tconst buffer = await readFileAsArrayBuffer( file );\n\t\t\tawait font.fromDataBuffer( buffer, 'font' );\n\t\t\treturn true;\n\t\t} catch ( error ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// Create a function to read the file as array buffer\n\tasync function readFileAsArrayBuffer( file ) {\n\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\tconst reader = new window.FileReader();\n\t\t\treader.readAsArrayBuffer( file );\n\t\t\treader.onload = () => resolve( reader.result );\n\t\t\treader.onerror = reject;\n\t\t} );\n\t}\n\n\tconst getFontFaceMetadata = async ( fontFile ) => {\n\t\tconst buffer = await readFileAsArrayBuffer( fontFile );\n\t\tconst fontObj = new Font( 'Uploaded Font' );\n\t\tfontObj.fromDataBuffer( buffer, fontFile.name );\n\t\t// Assuming that fromDataBuffer triggers onload event and returning a Promise\n\t\tconst onloadEvent = await new Promise(\n\t\t\t( resolve ) => ( fontObj.onload = resolve )\n\t\t);\n\t\tconst font = onloadEvent.detail.font;\n\t\tconst { name } = font.opentype.tables;\n\t\tconst fontName = name.get( 16 ) || name.get( 1 );\n\t\tconst isItalic = name.get( 2 ).toLowerCase().includes( 'italic' );\n\t\tconst fontWeight =\n\t\t\tfont.opentype.tables[ 'OS/2' ].usWeightClass || 'normal';\n\t\tconst isVariable = !! font.opentype.tables.fvar;\n\t\tconst weightAxis =\n\t\t\tisVariable &&\n\t\t\tfont.opentype.tables.fvar.axes.find(\n\t\t\t\t( { tag } ) => tag === 'wght'\n\t\t\t);\n\t\tconst weightRange = weightAxis\n\t\t\t? `${ weightAxis.minValue } ${ weightAxis.maxValue }`\n\t\t\t: null;\n\t\treturn {\n\t\t\tfile: fontFile,\n\t\t\tfontFamily: fontName,\n\t\t\tfontStyle: isItalic ? 'italic' : 'normal',\n\t\t\tfontWeight: weightRange || fontWeight,\n\t\t};\n\t};\n\n\t/**\n\t * Creates the font family definition and sends it to the server\n\t *\n\t * @param {Array} fontFaces The font faces to be installed\n\t * @return {void}\n\t */\n\tconst handleInstall = async ( fontFaces ) => {\n\t\tconst fontFamilies = makeFamiliesFromFaces( fontFaces );\n\n\t\ttry {\n\t\t\tawait installFonts( fontFamilies );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t\terrors: error?.installationErrors,\n\t\t\t} );\n\t\t}\n\n\t\tsetIsUploading( false );\n\t};\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t<DropZone onFilesDrop={ handleDropZone } />\n\t\t\t<VStack className=\"font-library-modal__local-fonts\">\n\t\t\t\t{ notice && (\n\t\t\t\t\t<Notice\n\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t__unstableHTML\n\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t{ notice.errors && (\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{ notice.errors.map( ( error, index ) => (\n\t\t\t\t\t\t\t\t\t<li key={ index }>{ error }</li>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t{ isUploading && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<div className=\"font-library-modal__upload-area\">\n\t\t\t\t\t\t\t<ProgressBar />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t\t{ ! isUploading && (\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\taccept={ ALLOWED_FILE_EXTENSIONS.map(\n\t\t\t\t\t\t\t( ext ) => `.${ ext }`\n\t\t\t\t\t\t).join( ',' ) }\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\tonChange={ onFilesUpload }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__upload-area\"\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload font' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t<Text className=\"font-library-modal__upload-area__text\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Uploaded fonts appear in your library and can be used in your theme. Supported formats: .ttf, .otf, .woff, and .woff2.'\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport default UploadFonts;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalVStack","VStack","Button","DropZone","Notice","FormFileUpload","FlexItem","ProgressBar","useContext","useState","ALLOWED_FILE_EXTENSIONS","FontLibraryContext","Font","makeFamiliesFromFaces","loadFontFaceInBrowser","jsx","_jsx","jsxs","_jsxs","UploadFonts","installFonts","isUploading","setIsUploading","notice","setNotice","handleDropZone","files","handleFilesUpload","onFilesUpload","event","target","uniqueFilenames","Set","selectedFiles","hasInvalidFiles","checkFilesPromises","map","file","isFont","isFontFile","has","name","fileExtension","split","pop","toLowerCase","includes","add","allowedFiles","Promise","all","filter","length","loadFiles","message","type","fontFacesLoaded","fontFile","fontFaceData","getFontFaceMetadata","handleInstall","font","buffer","readFileAsArrayBuffer","fromDataBuffer","error","resolve","reject","reader","window","FileReader","readAsArrayBuffer","onload","result","onerror","fontObj","onloadEvent","detail","opentype","tables","fontName","get","isItalic","fontWeight","usWeightClass","isVariable","fvar","weightAxis","axes","find","tag","weightRange","minValue","maxValue","fontFamily","fontStyle","fontFaces","fontFamilies","errors","installationErrors","className","children","onFilesDrop","status","__unstableHTML","onRemove","index","accept","ext","join","multiple","onChange","render","openFileDialog","__next40pxDefaultSize","onClick","margin"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tButton,\n\tDropZone,\n\tNotice,\n\tFormFileUpload,\n\tFlexItem,\n\tProgressBar,\n} from '@wordpress/components';\nimport { useContext, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_FILE_EXTENSIONS } from './utils/constants';\nimport { FontLibraryContext } from './context';\nimport { Font } from '../../../../lib/lib-font.browser';\nimport makeFamiliesFromFaces from './utils/make-families-from-faces';\nimport { loadFontFaceInBrowser } from './utils';\n\nfunction UploadFonts() {\n\tconst { installFonts } = useContext( FontLibraryContext );\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst [ notice, setNotice ] = useState( false );\n\n\tconst handleDropZone = ( files ) => {\n\t\thandleFilesUpload( files );\n\t};\n\tconst onFilesUpload = ( event ) => {\n\t\thandleFilesUpload( event.target.files );\n\t};\n\n\t/**\n\t * Filters the selected files to only allow the ones with the allowed extensions\n\t *\n\t * @param {Array} files The files to be filtered\n\t * @return {void}\n\t */\n\tconst handleFilesUpload = async ( files ) => {\n\t\tsetNotice( null );\n\t\tsetIsUploading( true );\n\t\tconst uniqueFilenames = new Set();\n\t\tconst selectedFiles = [ ...files ];\n\t\tlet hasInvalidFiles = false;\n\n\t\t// Use map to create a promise for each file check, then filter with Promise.all.\n\t\tconst checkFilesPromises = selectedFiles.map( async ( file ) => {\n\t\t\tconst isFont = await isFontFile( file );\n\t\t\tif ( ! isFont ) {\n\t\t\t\thasInvalidFiles = true;\n\t\t\t\treturn null; // Return null for invalid files.\n\t\t\t}\n\t\t\t// Check for duplicates\n\t\t\tif ( uniqueFilenames.has( file.name ) ) {\n\t\t\t\treturn null; // Return null for duplicates.\n\t\t\t}\n\t\t\t// Check if the file extension is allowed.\n\t\t\tconst fileExtension = file.name.split( '.' ).pop().toLowerCase();\n\t\t\tif ( ALLOWED_FILE_EXTENSIONS.includes( fileExtension ) ) {\n\t\t\t\tuniqueFilenames.add( file.name );\n\t\t\t\treturn file; // Return the file if it passes all checks.\n\t\t\t}\n\t\t\treturn null; // Return null for disallowed file extensions.\n\t\t} );\n\n\t\t// Filter out the nulls after all promises have resolved.\n\t\tconst allowedFiles = ( await Promise.all( checkFilesPromises ) ).filter(\n\t\t\t( file ) => null !== file\n\t\t);\n\n\t\tif ( allowedFiles.length > 0 ) {\n\t\t\tloadFiles( allowedFiles );\n\t\t} else {\n\t\t\tconst message = hasInvalidFiles\n\t\t\t\t? __( 'Sorry, you are not allowed to upload this file type.' )\n\t\t\t\t: __( 'No fonts found to install.' );\n\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage,\n\t\t\t} );\n\t\t\tsetIsUploading( false );\n\t\t}\n\t};\n\n\t/**\n\t * Loads the selected files and reads the font metadata\n\t *\n\t * @param {Array} files The files to be loaded\n\t * @return {void}\n\t */\n\tconst loadFiles = async ( files ) => {\n\t\tconst fontFacesLoaded = await Promise.all(\n\t\t\tfiles.map( async ( fontFile ) => {\n\t\t\t\tconst fontFaceData = await getFontFaceMetadata( fontFile );\n\t\t\t\tawait loadFontFaceInBrowser(\n\t\t\t\t\tfontFaceData,\n\t\t\t\t\tfontFaceData.file,\n\t\t\t\t\t'all'\n\t\t\t\t);\n\t\t\t\treturn fontFaceData;\n\t\t\t} )\n\t\t);\n\t\thandleInstall( fontFacesLoaded );\n\t};\n\n\t/**\n\t * Checks if a file is a valid Font file.\n\t *\n\t * @param {File} file The file to be checked.\n\t * @return {boolean} Whether the file is a valid font file.\n\t */\n\tasync function isFontFile( file ) {\n\t\tconst font = new Font( 'Uploaded Font' );\n\t\ttry {\n\t\t\tconst buffer = await readFileAsArrayBuffer( file );\n\t\t\tawait font.fromDataBuffer( buffer, 'font' );\n\t\t\treturn true;\n\t\t} catch ( error ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// Create a function to read the file as array buffer\n\tasync function readFileAsArrayBuffer( file ) {\n\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\tconst reader = new window.FileReader();\n\t\t\treader.readAsArrayBuffer( file );\n\t\t\treader.onload = () => resolve( reader.result );\n\t\t\treader.onerror = reject;\n\t\t} );\n\t}\n\n\tconst getFontFaceMetadata = async ( fontFile ) => {\n\t\tconst buffer = await readFileAsArrayBuffer( fontFile );\n\t\tconst fontObj = new Font( 'Uploaded Font' );\n\t\tfontObj.fromDataBuffer( buffer, fontFile.name );\n\t\t// Assuming that fromDataBuffer triggers onload event and returning a Promise\n\t\tconst onloadEvent = await new Promise(\n\t\t\t( resolve ) => ( fontObj.onload = resolve )\n\t\t);\n\t\tconst font = onloadEvent.detail.font;\n\t\tconst { name } = font.opentype.tables;\n\t\tconst fontName = name.get( 16 ) || name.get( 1 );\n\t\tconst isItalic = name.get( 2 ).toLowerCase().includes( 'italic' );\n\t\tconst fontWeight =\n\t\t\tfont.opentype.tables[ 'OS/2' ].usWeightClass || 'normal';\n\t\tconst isVariable = !! font.opentype.tables.fvar;\n\t\tconst weightAxis =\n\t\t\tisVariable &&\n\t\t\tfont.opentype.tables.fvar.axes.find(\n\t\t\t\t( { tag } ) => tag === 'wght'\n\t\t\t);\n\t\tconst weightRange = weightAxis\n\t\t\t? `${ weightAxis.minValue } ${ weightAxis.maxValue }`\n\t\t\t: null;\n\t\treturn {\n\t\t\tfile: fontFile,\n\t\t\tfontFamily: fontName,\n\t\t\tfontStyle: isItalic ? 'italic' : 'normal',\n\t\t\tfontWeight: weightRange || fontWeight,\n\t\t};\n\t};\n\n\t/**\n\t * Creates the font family definition and sends it to the server\n\t *\n\t * @param {Array} fontFaces The font faces to be installed\n\t * @return {void}\n\t */\n\tconst handleInstall = async ( fontFaces ) => {\n\t\tconst fontFamilies = makeFamiliesFromFaces( fontFaces );\n\n\t\ttry {\n\t\t\tawait installFonts( fontFamilies );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t\terrors: error?.installationErrors,\n\t\t\t} );\n\t\t}\n\n\t\tsetIsUploading( false );\n\t};\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t<DropZone onFilesDrop={ handleDropZone } />\n\t\t\t<VStack className=\"font-library-modal__local-fonts\">\n\t\t\t\t{ notice && (\n\t\t\t\t\t<Notice\n\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t__unstableHTML\n\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t{ notice.errors && (\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{ notice.errors.map( ( error, index ) => (\n\t\t\t\t\t\t\t\t\t<li key={ index }>{ error }</li>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t{ isUploading && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<div className=\"font-library-modal__upload-area\">\n\t\t\t\t\t\t\t<ProgressBar />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t\t{ ! isUploading && (\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\taccept={ ALLOWED_FILE_EXTENSIONS.map(\n\t\t\t\t\t\t\t( ext ) => `.${ ext }`\n\t\t\t\t\t\t).join( ',' ) }\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\tonChange={ onFilesUpload }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__upload-area\"\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload font' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t<Text className=\"font-library-modal__upload-area__text\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Uploaded fonts appear in your library and can be used in your theme. Supported formats: .ttf, .otf, .woff, and .woff2.'\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport default UploadFonts;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,oBAAoB,IAAIC,MAAM,EAC9BC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,MAAM,EACNC,QAAQ,EACRC,MAAM,EACNC,cAAc,EACdC,QAAQ,EACRC,WAAW,QACL,uBAAuB;AAC9B,SAASC,UAAU,EAAEC,QAAQ,QAAQ,oBAAoB;;AAEzD;AACA;AACA;AACA,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,SAASC,IAAI,QAAQ,kCAAkC;AACvD,OAAOC,qBAAqB,MAAM,kCAAkC;AACpE,SAASC,qBAAqB,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEhD,SAASC,WAAWA,CAAA,EAAG;EACtB,MAAM;IAAEC;EAAa,CAAC,GAAGZ,UAAU,CAAEG,kBAAmB,CAAC;EACzD,MAAM,CAAEU,WAAW,EAAEC,cAAc,CAAE,GAAGb,QAAQ,CAAE,KAAM,CAAC;EACzD,MAAM,CAAEc,MAAM,EAAEC,SAAS,CAAE,GAAGf,QAAQ,CAAE,KAAM,CAAC;EAE/C,MAAMgB,cAAc,GAAKC,KAAK,IAAM;IACnCC,iBAAiB,CAAED,KAAM,CAAC;EAC3B,CAAC;EACD,MAAME,aAAa,GAAKC,KAAK,IAAM;IAClCF,iBAAiB,CAAEE,KAAK,CAACC,MAAM,CAACJ,KAAM,CAAC;EACxC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACC,MAAMC,iBAAiB,GAAG,MAAQD,KAAK,IAAM;IAC5CF,SAAS,CAAE,IAAK,CAAC;IACjBF,cAAc,CAAE,IAAK,CAAC;IACtB,MAAMS,eAAe,GAAG,IAAIC,GAAG,CAAC,CAAC;IACjC,MAAMC,aAAa,GAAG,CAAE,GAAGP,KAAK,CAAE;IAClC,IAAIQ,eAAe,GAAG,KAAK;;IAE3B;IACA,MAAMC,kBAAkB,GAAGF,aAAa,CAACG,GAAG,CAAE,MAAQC,IAAI,IAAM;MAC/D,MAAMC,MAAM,GAAG,MAAMC,UAAU,CAAEF,IAAK,CAAC;MACvC,IAAK,CAAEC,MAAM,EAAG;QACfJ,eAAe,GAAG,IAAI;QACtB,OAAO,IAAI,CAAC,CAAC;MACd;MACA;MACA,IAAKH,eAAe,CAACS,GAAG,CAAEH,IAAI,CAACI,IAAK,CAAC,EAAG;QACvC,OAAO,IAAI,CAAC,CAAC;MACd;MACA;MACA,MAAMC,aAAa,GAAGL,IAAI,CAACI,IAAI,CAACE,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MAChE,IAAKnC,uBAAuB,CAACoC,QAAQ,CAAEJ,aAAc,CAAC,EAAG;QACxDX,eAAe,CAACgB,GAAG,CAAEV,IAAI,CAACI,IAAK,CAAC;QAChC,OAAOJ,IAAI,CAAC,CAAC;MACd;MACA,OAAO,IAAI,CAAC,CAAC;IACd,CAAE,CAAC;;IAEH;IACA,MAAMW,YAAY,GAAG,CAAE,MAAMC,OAAO,CAACC,GAAG,CAAEf,kBAAmB,CAAC,EAAGgB,MAAM,CACpEd,IAAI,IAAM,IAAI,KAAKA,IACtB,CAAC;IAED,IAAKW,YAAY,CAACI,MAAM,GAAG,CAAC,EAAG;MAC9BC,SAAS,CAAEL,YAAa,CAAC;IAC1B,CAAC,MAAM;MACN,MAAMM,OAAO,GAAGpB,eAAe,GAC5BvC,EAAE,CAAE,sDAAuD,CAAC,GAC5DA,EAAE,CAAE,4BAA6B,CAAC;MAErC6B,SAAS,CAAE;QACV+B,IAAI,EAAE,OAAO;QACbD;MACD,CAAE,CAAC;MACHhC,cAAc,CAAE,KAAM,CAAC;IACxB;EACD,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACC,MAAM+B,SAAS,GAAG,MAAQ3B,KAAK,IAAM;IACpC,MAAM8B,eAAe,GAAG,MAAMP,OAAO,CAACC,GAAG,CACxCxB,KAAK,CAACU,GAAG,CAAE,MAAQqB,QAAQ,IAAM;MAChC,MAAMC,YAAY,GAAG,MAAMC,mBAAmB,CAAEF,QAAS,CAAC;MAC1D,MAAM3C,qBAAqB,CAC1B4C,YAAY,EACZA,YAAY,CAACrB,IAAI,EACjB,KACD,CAAC;MACD,OAAOqB,YAAY;IACpB,CAAE,CACH,CAAC;IACDE,aAAa,CAAEJ,eAAgB,CAAC;EACjC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACC,eAAejB,UAAUA,CAAEF,IAAI,EAAG;IACjC,MAAMwB,IAAI,GAAG,IAAIjD,IAAI,CAAE,eAAgB,CAAC;IACxC,IAAI;MACH,MAAMkD,MAAM,GAAG,MAAMC,qBAAqB,CAAE1B,IAAK,CAAC;MAClD,MAAMwB,IAAI,CAACG,cAAc,CAAEF,MAAM,EAAE,MAAO,CAAC;MAC3C,OAAO,IAAI;IACZ,CAAC,CAAC,OAAQG,KAAK,EAAG;MACjB,OAAO,KAAK;IACb;EACD;;EAEA;EACA,eAAeF,qBAAqBA,CAAE1B,IAAI,EAAG;IAC5C,OAAO,IAAIY,OAAO,CAAE,CAAEiB,OAAO,EAAEC,MAAM,KAAM;MAC1C,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAACC,UAAU,CAAC,CAAC;MACtCF,MAAM,CAACG,iBAAiB,CAAElC,IAAK,CAAC;MAChC+B,MAAM,CAACI,MAAM,GAAG,MAAMN,OAAO,CAAEE,MAAM,CAACK,MAAO,CAAC;MAC9CL,MAAM,CAACM,OAAO,GAAGP,MAAM;IACxB,CAAE,CAAC;EACJ;EAEA,MAAMR,mBAAmB,GAAG,MAAQF,QAAQ,IAAM;IACjD,MAAMK,MAAM,GAAG,MAAMC,qBAAqB,CAAEN,QAAS,CAAC;IACtD,MAAMkB,OAAO,GAAG,IAAI/D,IAAI,CAAE,eAAgB,CAAC;IAC3C+D,OAAO,CAACX,cAAc,CAAEF,MAAM,EAAEL,QAAQ,CAAChB,IAAK,CAAC;IAC/C;IACA,MAAMmC,WAAW,GAAG,MAAM,IAAI3B,OAAO,CAClCiB,OAAO,IAAQS,OAAO,CAACH,MAAM,GAAGN,OACnC,CAAC;IACD,MAAML,IAAI,GAAGe,WAAW,CAACC,MAAM,CAAChB,IAAI;IACpC,MAAM;MAAEpB;IAAK,CAAC,GAAGoB,IAAI,CAACiB,QAAQ,CAACC,MAAM;IACrC,MAAMC,QAAQ,GAAGvC,IAAI,CAACwC,GAAG,CAAE,EAAG,CAAC,IAAIxC,IAAI,CAACwC,GAAG,CAAE,CAAE,CAAC;IAChD,MAAMC,QAAQ,GAAGzC,IAAI,CAACwC,GAAG,CAAE,CAAE,CAAC,CAACpC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAE,QAAS,CAAC;IACjE,MAAMqC,UAAU,GACftB,IAAI,CAACiB,QAAQ,CAACC,MAAM,CAAE,MAAM,CAAE,CAACK,aAAa,IAAI,QAAQ;IACzD,MAAMC,UAAU,GAAG,CAAC,CAAExB,IAAI,CAACiB,QAAQ,CAACC,MAAM,CAACO,IAAI;IAC/C,MAAMC,UAAU,GACfF,UAAU,IACVxB,IAAI,CAACiB,QAAQ,CAACC,MAAM,CAACO,IAAI,CAACE,IAAI,CAACC,IAAI,CAClC,CAAE;MAAEC;IAAI,CAAC,KAAMA,GAAG,KAAK,MACxB,CAAC;IACF,MAAMC,WAAW,GAAGJ,UAAU,GAC3B,GAAIA,UAAU,CAACK,QAAQ,IAAML,UAAU,CAACM,QAAQ,EAAG,GACnD,IAAI;IACP,OAAO;MACNxD,IAAI,EAAEoB,QAAQ;MACdqC,UAAU,EAAEd,QAAQ;MACpBe,SAAS,EAAEb,QAAQ,GAAG,QAAQ,GAAG,QAAQ;MACzCC,UAAU,EAAEQ,WAAW,IAAIR;IAC5B,CAAC;EACF,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACC,MAAMvB,aAAa,GAAG,MAAQoC,SAAS,IAAM;IAC5C,MAAMC,YAAY,GAAGpF,qBAAqB,CAAEmF,SAAU,CAAC;IAEvD,IAAI;MACH,MAAM5E,YAAY,CAAE6E,YAAa,CAAC;MAClCzE,SAAS,CAAE;QACV+B,IAAI,EAAE,SAAS;QACfD,OAAO,EAAE3D,EAAE,CAAE,oCAAqC;MACnD,CAAE,CAAC;IACJ,CAAC,CAAC,OAAQsE,KAAK,EAAG;MACjBzC,SAAS,CAAE;QACV+B,IAAI,EAAE,OAAO;QACbD,OAAO,EAAEW,KAAK,CAACX,OAAO;QACtB4C,MAAM,EAAEjC,KAAK,EAAEkC;MAChB,CAAE,CAAC;IACJ;IAEA7E,cAAc,CAAE,KAAM,CAAC;EACxB,CAAC;EAED,oBACCJ,KAAA;IAAKkF,SAAS,EAAC,qCAAqC;IAAAC,QAAA,gBACnDrF,IAAA,CAACb,QAAQ;MAACmG,WAAW,EAAG7E;IAAgB,CAAE,CAAC,eAC3CP,KAAA,CAACjB,MAAM;MAACmG,SAAS,EAAC,iCAAiC;MAAAC,QAAA,GAChD9E,MAAM,iBACPL,KAAA,CAACd,MAAM;QACNmG,MAAM,EAAGhF,MAAM,CAACgC,IAAM;QACtBiD,cAAc;QACdC,QAAQ,EAAGA,CAAA,KAAMjF,SAAS,CAAE,IAAK,CAAG;QAAA6E,QAAA,GAElC9E,MAAM,CAAC+B,OAAO,EACd/B,MAAM,CAAC2E,MAAM,iBACdlF,IAAA;UAAAqF,QAAA,EACG9E,MAAM,CAAC2E,MAAM,CAAC9D,GAAG,CAAE,CAAE6B,KAAK,EAAEyC,KAAK,kBAClC1F,IAAA;YAAAqF,QAAA,EAAoBpC;UAAK,GAAfyC,KAAqB,CAC9B;QAAC,CACA,CACJ;MAAA,CACM,CACR,EACCrF,WAAW,iBACZL,IAAA,CAACV,QAAQ;QAAA+F,QAAA,eACRrF,IAAA;UAAKoF,SAAS,EAAC,iCAAiC;UAAAC,QAAA,eAC/CrF,IAAA,CAACT,WAAW,IAAE;QAAC,CACX;MAAC,CACG,CACV,EACC,CAAEc,WAAW,iBACdL,IAAA,CAACX,cAAc;QACdsG,MAAM,EAAGjG,uBAAuB,CAAC0B,GAAG,CACjCwE,GAAG,IAAM,IAAKA,GAAG,EACpB,CAAC,CAACC,IAAI,CAAE,GAAI,CAAG;QACfC,QAAQ;QACRC,QAAQ,EAAGnF,aAAe;QAC1BoF,MAAM,EAAGA,CAAE;UAAEC;QAAe,CAAC,kBAC5BjG,IAAA,CAACd,MAAM;UACNgH,qBAAqB;UACrBd,SAAS,EAAC,iCAAiC;UAC3Ce,OAAO,EAAGF,cAAgB;UAAAZ,QAAA,EAExB1G,EAAE,CAAE,aAAc;QAAC,CACd;MACN,CACH,CACD,eACDqB,IAAA,CAACnB,MAAM;QAACuH,MAAM,EAAG;MAAG,CAAE,CAAC,eACvBpG,IAAA,CAACjB,IAAI;QAACqG,SAAS,EAAC,uCAAuC;QAAAC,QAAA,EACpD1G,EAAE,CACH,wHACD;MAAC,CACI,CAAC;IAAA,CACA,CAAC;EAAA,CACL,CAAC;AAER;AAEA,eAAewB,WAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getFontsOutline","fonts","reduce","acc","font","slug","fontFace","faces","face","fontStyle","fontWeight","isFontFontFaceInOutline","outline"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/fonts-outline.js"],"sourcesContent":["export function getFontsOutline( fonts ) {\n\treturn fonts.reduce(\n\t\t( acc, font ) => ( {\n\t\t\t...acc,\n\t\t\t[ font.slug ]: ( font?.fontFace || [] ).reduce(\n\t\t\t\t( faces, face ) => ( {\n\t\t\t\t\t...faces,\n\t\t\t\t\t[ `${ face.fontStyle }-${ face.fontWeight }` ]: true,\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t} ),\n\t\t{}\n\t);\n}\n\nexport function isFontFontFaceInOutline( slug, face, outline ) {\n\tif ( ! face ) {\n\t\treturn !! outline[ slug ];\n\t}\n\treturn !! outline[ slug ]?.[ `${ face.fontStyle }-${ face.fontWeight }` ];\n}\n"],"mappings":"AAAA,OAAO,SAASA,eAAeA,CAAEC,KAAK,EAAG;EACxC,OAAOA,KAAK,CAACC,MAAM,CAClB,CAAEC,GAAG,EAAEC,IAAI,MAAQ;IAClB,GAAGD,GAAG;IACN,CAAEC,IAAI,CAACC,IAAI,GAAI,CAAED,IAAI,EAAEE,QAAQ,IAAI,EAAE,EAAGJ,MAAM,CAC7C,CAAEK,KAAK,EAAEC,IAAI,MAAQ;MACpB,GAAGD,KAAK;MACR,
|
|
1
|
+
{"version":3,"names":["getFontsOutline","fonts","reduce","acc","font","slug","fontFace","faces","face","fontStyle","fontWeight","isFontFontFaceInOutline","outline"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/fonts-outline.js"],"sourcesContent":["export function getFontsOutline( fonts ) {\n\treturn fonts.reduce(\n\t\t( acc, font ) => ( {\n\t\t\t...acc,\n\t\t\t[ font.slug ]: ( font?.fontFace || [] ).reduce(\n\t\t\t\t( faces, face ) => ( {\n\t\t\t\t\t...faces,\n\t\t\t\t\t[ `${ face.fontStyle }-${ face.fontWeight }` ]: true,\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t} ),\n\t\t{}\n\t);\n}\n\nexport function isFontFontFaceInOutline( slug, face, outline ) {\n\tif ( ! face ) {\n\t\treturn !! outline[ slug ];\n\t}\n\treturn !! outline[ slug ]?.[ `${ face.fontStyle }-${ face.fontWeight }` ];\n}\n"],"mappings":"AAAA,OAAO,SAASA,eAAeA,CAAEC,KAAK,EAAG;EACxC,OAAOA,KAAK,CAACC,MAAM,CAClB,CAAEC,GAAG,EAAEC,IAAI,MAAQ;IAClB,GAAGD,GAAG;IACN,CAAEC,IAAI,CAACC,IAAI,GAAI,CAAED,IAAI,EAAEE,QAAQ,IAAI,EAAE,EAAGJ,MAAM,CAC7C,CAAEK,KAAK,EAAEC,IAAI,MAAQ;MACpB,GAAGD,KAAK;MACR,CAAE,GAAIC,IAAI,CAACC,SAAS,IAAMD,IAAI,CAACE,UAAU,EAAG,GAAI;IACjD,CAAC,CAAE,EACH,CAAC,CACF;EACD,CAAC,CAAE,EACH,CAAC,CACF,CAAC;AACF;AAEA,OAAO,SAASC,uBAAuBA,CAAEN,IAAI,EAAEG,IAAI,EAAEI,OAAO,EAAG;EAC9D,IAAK,CAAEJ,IAAI,EAAG;IACb,OAAO,CAAC,CAAEI,OAAO,CAAEP,IAAI,CAAE;EAC1B;EACA,OAAO,CAAC,CAAEO,OAAO,CAAEP,IAAI,CAAE,GAAI,GAAIG,IAAI,CAACC,SAAS,IAAMD,IAAI,CAACE,UAAU,EAAG,CAAE;AAC1E","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","componentsPrivateApis","FONT_WEIGHTS","FONT_STYLES","unlock","fetchInstallFontFace","formatFontFaceName","File","window","kebabCase","setUIValuesNeeded","font","extraValues","name","fontFamily","slug","isUrlEncoded","url","decodeURIComponent","getFontFaceVariantName","face","weightName","fontWeight","styleName","fontStyle","mergeFontFaces","existing","incoming","map","Map","set","Array","from","values","mergeFontFamilies","has","fontFace","incomingFontFaces","restIncoming","existingFont","get","mergedFontFaces","loadFontFaceInBrowser","source","addTo","dataSource","arrayBuffer","newFont","FontFace","style","weight","loadedFace","load","document","fonts","add","iframeDocument","querySelector","contentDocument","unloadFontFaceInBrowser","removeFrom","unloadFontFace","forEach","f","family","delete","getDisplaySrcFromFontFace","input","src","isArray","startsWith","encodeURI","makeFontFamilyFormData","formData","FormData","category","familyWithValidParameters","fontFamilySettings","append","JSON","stringify","makeFontFacesFormData","fontFacesFormData","item","faceIndex","file","files","key","fileId","push","length","batchInstallFontFaces","fontFamilyId","fontFacesData","responses","faceData","response","status","value","error","reason","results","errors","successes","result","index","id","data","message","downloadFontFaceAssets","Promise","all","fetch","Request","then","ok","Error","blob","filename","split","pop","type","checkFontFaceInstalled","collection","findIndex","collectionFontFace"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { FONT_WEIGHTS, FONT_STYLES } from './constants';\nimport { unlock } from '../../../../lock-unlock';\nimport { fetchInstallFontFace } from '../resolvers';\nimport { formatFontFaceName } from './preview-styles';\n\n/**\n * Browser dependencies\n */\nconst { File } = window;\nconst { kebabCase } = unlock( componentsPrivateApis );\n\nexport function setUIValuesNeeded( font, extraValues = {} ) {\n\tif ( ! font.name && ( font.fontFamily || font.slug ) ) {\n\t\tfont.name = font.fontFamily || font.slug;\n\t}\n\treturn {\n\t\t...font,\n\t\t...extraValues,\n\t};\n}\n\nexport function isUrlEncoded( url ) {\n\tif ( typeof url !== 'string' ) {\n\t\treturn false;\n\t}\n\treturn url !== decodeURIComponent( url );\n}\n\nexport function getFontFaceVariantName( face ) {\n\tconst weightName = FONT_WEIGHTS[ face.fontWeight ] || face.fontWeight;\n\tconst styleName =\n\t\tface.fontStyle === 'normal'\n\t\t\t? ''\n\t\t\t: FONT_STYLES[ face.fontStyle ] || face.fontStyle;\n\treturn `${ weightName } ${ styleName }`;\n}\n\nexport function mergeFontFaces( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\tfor ( const face of existing ) {\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\tfor ( const face of incoming ) {\n\t\t// This will overwrite if the src already exists, keeping it unique.\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\treturn Array.from( map.values() );\n}\n\nexport function mergeFontFamilies( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\t// Add the existing array to the map.\n\tfor ( const font of existing ) {\n\t\tmap.set( font.slug, { ...font } );\n\t}\n\t// Add the incoming array to the map, overwriting existing values excepting fontFace that need to be merged.\n\tfor ( const font of incoming ) {\n\t\tif ( map.has( font.slug ) ) {\n\t\t\tconst { fontFace: incomingFontFaces, ...restIncoming } = font;\n\t\t\tconst existingFont = map.get( font.slug );\n\t\t\t// Merge the fontFaces existing with the incoming fontFaces.\n\t\t\tconst mergedFontFaces = mergeFontFaces(\n\t\t\t\texistingFont.fontFace,\n\t\t\t\tincomingFontFaces\n\t\t\t);\n\t\t\t// Except for the fontFace key all the other keys are overwritten with the incoming values.\n\t\t\tmap.set( font.slug, {\n\t\t\t\t...restIncoming,\n\t\t\t\tfontFace: mergedFontFaces,\n\t\t\t} );\n\t\t} else {\n\t\t\tmap.set( font.slug, { ...font } );\n\t\t}\n\t}\n\treturn Array.from( map.values() );\n}\n\n/*\n * Loads the font face from a URL and adds it to the browser.\n * It also adds it to the iframe document.\n */\nexport async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {\n\tlet dataSource;\n\n\tif ( typeof source === 'string' ) {\n\t\tdataSource = `url(${ source })`;\n\t\t// eslint-disable-next-line no-undef\n\t} else if ( source instanceof File ) {\n\t\tdataSource = await source.arrayBuffer();\n\t} else {\n\t\treturn;\n\t}\n\n\tconst newFont = new window.FontFace(\n\t\tformatFontFaceName( fontFace.fontFamily ),\n\t\tdataSource,\n\t\t{\n\t\t\tstyle: fontFace.fontStyle,\n\t\t\tweight: fontFace.fontWeight,\n\t\t}\n\t);\n\n\tconst loadedFace = await newFont.load();\n\n\tif ( addTo === 'document' || addTo === 'all' ) {\n\t\tdocument.fonts.add( loadedFace );\n\t}\n\n\tif ( addTo === 'iframe' || addTo === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tiframeDocument.fonts.add( loadedFace );\n\t}\n}\n\n/*\n * Unloads the font face and remove it from the browser.\n * It also removes it from the iframe document.\n *\n * Note that Font faces that were added to the set using the CSS @font-face rule\n * remain connected to the corresponding CSS, and cannot be deleted.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/delete.\n */\nexport function unloadFontFaceInBrowser( fontFace, removeFrom = 'all' ) {\n\tconst unloadFontFace = ( fonts ) => {\n\t\tfonts.forEach( ( f ) => {\n\t\t\tif (\n\t\t\t\tf.family === formatFontFaceName( fontFace?.fontFamily ) &&\n\t\t\t\tf.weight === fontFace?.fontWeight &&\n\t\t\t\tf.style === fontFace?.fontStyle\n\t\t\t) {\n\t\t\t\tfonts.delete( f );\n\t\t\t}\n\t\t} );\n\t};\n\n\tif ( removeFrom === 'document' || removeFrom === 'all' ) {\n\t\tunloadFontFace( document.fonts );\n\t}\n\n\tif ( removeFrom === 'iframe' || removeFrom === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tunloadFontFace( iframeDocument.fonts );\n\t}\n}\n\n/**\n * Retrieves the display source from a font face src.\n *\n * @param {string|string[]} input - The font face src.\n * @return {string|undefined} The display source or undefined if the input is invalid.\n */\nexport function getDisplaySrcFromFontFace( input ) {\n\tif ( ! input ) {\n\t\treturn;\n\t}\n\n\tlet src;\n\tif ( Array.isArray( input ) ) {\n\t\tsrc = input[ 0 ];\n\t} else {\n\t\tsrc = input;\n\t}\n\t// It's expected theme fonts will already be loaded in the browser.\n\tif ( src.startsWith( 'file:.' ) ) {\n\t\treturn;\n\t}\n\tif ( ! isUrlEncoded( src ) ) {\n\t\tsrc = encodeURI( src );\n\t}\n\treturn src;\n}\n\nexport function makeFontFamilyFormData( fontFamily ) {\n\tconst formData = new FormData();\n\n\tconst { fontFace, category, ...familyWithValidParameters } = fontFamily;\n\tconst fontFamilySettings = {\n\t\t...familyWithValidParameters,\n\t\tslug: kebabCase( fontFamily.slug ),\n\t};\n\n\tformData.append(\n\t\t'font_family_settings',\n\t\tJSON.stringify( fontFamilySettings )\n\t);\n\treturn formData;\n}\n\nexport function makeFontFacesFormData( font ) {\n\tif ( font?.fontFace ) {\n\t\tconst fontFacesFormData = font.fontFace.map( ( item, faceIndex ) => {\n\t\t\tconst face = { ...item };\n\t\t\tconst formData = new FormData();\n\t\t\tif ( face.file ) {\n\t\t\t\t// Normalize to an array, since face.file may be a single file or an array of files.\n\t\t\t\tconst files = Array.isArray( face.file )\n\t\t\t\t\t? face.file\n\t\t\t\t\t: [ face.file ];\n\t\t\t\tconst src = [];\n\n\t\t\t\tfiles.forEach( ( file, key ) => {\n\t\t\t\t\t// Slugified file name because the it might contain spaces or characters treated differently on the server.\n\t\t\t\t\tconst fileId = `file-${ faceIndex }-${ key }`;\n\t\t\t\t\t// Add the files to the formData\n\t\t\t\t\tformData.append( fileId, file, file.name );\n\t\t\t\t\tsrc.push( fileId );\n\t\t\t\t} );\n\n\t\t\t\tface.src = src.length === 1 ? src[ 0 ] : src;\n\t\t\t\tdelete face.file;\n\n\t\t\t\tformData.append( 'font_face_settings', JSON.stringify( face ) );\n\t\t\t} else {\n\t\t\t\tformData.append( 'font_face_settings', JSON.stringify( face ) );\n\t\t\t}\n\t\t\treturn formData;\n\t\t} );\n\n\t\treturn fontFacesFormData;\n\t}\n}\n\nexport async function batchInstallFontFaces( fontFamilyId, fontFacesData ) {\n\tconst responses = [];\n\n\t/*\n\t * Uses the same response format as Promise.allSettled, but executes requests in sequence to work\n\t * around a race condition that can cause an error when the fonts directory doesn't exist yet.\n\t */\n\tfor ( const faceData of fontFacesData ) {\n\t\ttry {\n\t\t\tconst response = await fetchInstallFontFace(\n\t\t\t\tfontFamilyId,\n\t\t\t\tfaceData\n\t\t\t);\n\t\t\tresponses.push( { status: 'fulfilled', value: response } );\n\t\t} catch ( error ) {\n\t\t\tresponses.push( { status: 'rejected', reason: error } );\n\t\t}\n\t}\n\n\tconst results = {\n\t\terrors: [],\n\t\tsuccesses: [],\n\t};\n\n\tresponses.forEach( ( result, index ) => {\n\t\tif ( result.status === 'fulfilled' ) {\n\t\t\tconst response = result.value;\n\t\t\tif ( response.id ) {\n\t\t\t\tresults.successes.push( response );\n\t\t\t} else {\n\t\t\t\tresults.errors.push( {\n\t\t\t\t\tdata: fontFacesData[ index ],\n\t\t\t\t\tmessage: `Error: ${ response.message }`,\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\t// Handle network errors or other fetch-related errors\n\t\t\tresults.errors.push( {\n\t\t\t\tdata: fontFacesData[ index ],\n\t\t\t\tmessage: result.reason.message,\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn results;\n}\n\n/*\n * Downloads a font face asset from a URL to the client and returns a File object.\n */\nexport async function downloadFontFaceAssets( src ) {\n\t// Normalize to an array, since `src` could be a string or array.\n\tsrc = Array.isArray( src ) ? src : [ src ];\n\n\tconst files = await Promise.all(\n\t\tsrc.map( async ( url ) => {\n\t\t\treturn fetch( new Request( url ) )\n\t\t\t\t.then( ( response ) => {\n\t\t\t\t\tif ( ! response.ok ) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Error downloading font face asset from ${ url }. Server responded with status: ${ response.status }`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn response.blob();\n\t\t\t\t} )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tconst filename = url.split( '/' ).pop();\n\t\t\t\t\tconst file = new File( [ blob ], filename, {\n\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t} );\n\t\t\t\t\treturn file;\n\t\t\t\t} );\n\t\t} )\n\t);\n\n\t// If we only have one file return it (not the array). Otherwise return all of them in the array.\n\treturn files.length === 1 ? files[ 0 ] : files;\n}\n\n/*\n * Determine if a given Font Face is present in a given collection.\n * We determine that a font face has been installed by comparing the fontWeight and fontStyle\n *\n * @param {Object} fontFace The Font Face to seek\n * @param {Array} collection The Collection to seek in\n * @returns True if the font face is found in the collection. Otherwise False.\n */\nexport function checkFontFaceInstalled( fontFace, collection ) {\n\treturn (\n\t\t-1 !==\n\t\tcollection.findIndex( ( collectionFontFace ) => {\n\t\t\treturn (\n\t\t\t\tcollectionFontFace.fontWeight === fontFace.fontWeight &&\n\t\t\t\tcollectionFontFace.fontStyle === fontFace.fontStyle\n\t\t\t);\n\t\t} )\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["privateApis","componentsPrivateApis","FONT_WEIGHTS","FONT_STYLES","unlock","fetchInstallFontFace","formatFontFaceName","File","window","kebabCase","setUIValuesNeeded","font","extraValues","name","fontFamily","slug","isUrlEncoded","url","decodeURIComponent","getFontFaceVariantName","face","weightName","fontWeight","styleName","fontStyle","mergeFontFaces","existing","incoming","map","Map","set","Array","from","values","mergeFontFamilies","has","fontFace","incomingFontFaces","restIncoming","existingFont","get","mergedFontFaces","loadFontFaceInBrowser","source","addTo","dataSource","arrayBuffer","newFont","FontFace","style","weight","loadedFace","load","document","fonts","add","iframeDocument","querySelector","contentDocument","unloadFontFaceInBrowser","removeFrom","unloadFontFace","forEach","f","family","delete","getDisplaySrcFromFontFace","input","src","isArray","startsWith","encodeURI","makeFontFamilyFormData","formData","FormData","category","familyWithValidParameters","fontFamilySettings","append","JSON","stringify","makeFontFacesFormData","fontFacesFormData","item","faceIndex","file","files","key","fileId","push","length","batchInstallFontFaces","fontFamilyId","fontFacesData","responses","faceData","response","status","value","error","reason","results","errors","successes","result","index","id","data","message","downloadFontFaceAssets","Promise","all","fetch","Request","then","ok","Error","blob","filename","split","pop","type","checkFontFaceInstalled","collection","findIndex","collectionFontFace"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { FONT_WEIGHTS, FONT_STYLES } from './constants';\nimport { unlock } from '../../../../lock-unlock';\nimport { fetchInstallFontFace } from '../resolvers';\nimport { formatFontFaceName } from './preview-styles';\n\n/**\n * Browser dependencies\n */\nconst { File } = window;\nconst { kebabCase } = unlock( componentsPrivateApis );\n\nexport function setUIValuesNeeded( font, extraValues = {} ) {\n\tif ( ! font.name && ( font.fontFamily || font.slug ) ) {\n\t\tfont.name = font.fontFamily || font.slug;\n\t}\n\treturn {\n\t\t...font,\n\t\t...extraValues,\n\t};\n}\n\nexport function isUrlEncoded( url ) {\n\tif ( typeof url !== 'string' ) {\n\t\treturn false;\n\t}\n\treturn url !== decodeURIComponent( url );\n}\n\nexport function getFontFaceVariantName( face ) {\n\tconst weightName = FONT_WEIGHTS[ face.fontWeight ] || face.fontWeight;\n\tconst styleName =\n\t\tface.fontStyle === 'normal'\n\t\t\t? ''\n\t\t\t: FONT_STYLES[ face.fontStyle ] || face.fontStyle;\n\treturn `${ weightName } ${ styleName }`;\n}\n\nexport function mergeFontFaces( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\tfor ( const face of existing ) {\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\tfor ( const face of incoming ) {\n\t\t// This will overwrite if the src already exists, keeping it unique.\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\treturn Array.from( map.values() );\n}\n\nexport function mergeFontFamilies( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\t// Add the existing array to the map.\n\tfor ( const font of existing ) {\n\t\tmap.set( font.slug, { ...font } );\n\t}\n\t// Add the incoming array to the map, overwriting existing values excepting fontFace that need to be merged.\n\tfor ( const font of incoming ) {\n\t\tif ( map.has( font.slug ) ) {\n\t\t\tconst { fontFace: incomingFontFaces, ...restIncoming } = font;\n\t\t\tconst existingFont = map.get( font.slug );\n\t\t\t// Merge the fontFaces existing with the incoming fontFaces.\n\t\t\tconst mergedFontFaces = mergeFontFaces(\n\t\t\t\texistingFont.fontFace,\n\t\t\t\tincomingFontFaces\n\t\t\t);\n\t\t\t// Except for the fontFace key all the other keys are overwritten with the incoming values.\n\t\t\tmap.set( font.slug, {\n\t\t\t\t...restIncoming,\n\t\t\t\tfontFace: mergedFontFaces,\n\t\t\t} );\n\t\t} else {\n\t\t\tmap.set( font.slug, { ...font } );\n\t\t}\n\t}\n\treturn Array.from( map.values() );\n}\n\n/*\n * Loads the font face from a URL and adds it to the browser.\n * It also adds it to the iframe document.\n */\nexport async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {\n\tlet dataSource;\n\n\tif ( typeof source === 'string' ) {\n\t\tdataSource = `url(${ source })`;\n\t\t// eslint-disable-next-line no-undef\n\t} else if ( source instanceof File ) {\n\t\tdataSource = await source.arrayBuffer();\n\t} else {\n\t\treturn;\n\t}\n\n\tconst newFont = new window.FontFace(\n\t\tformatFontFaceName( fontFace.fontFamily ),\n\t\tdataSource,\n\t\t{\n\t\t\tstyle: fontFace.fontStyle,\n\t\t\tweight: fontFace.fontWeight,\n\t\t}\n\t);\n\n\tconst loadedFace = await newFont.load();\n\n\tif ( addTo === 'document' || addTo === 'all' ) {\n\t\tdocument.fonts.add( loadedFace );\n\t}\n\n\tif ( addTo === 'iframe' || addTo === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tiframeDocument.fonts.add( loadedFace );\n\t}\n}\n\n/*\n * Unloads the font face and remove it from the browser.\n * It also removes it from the iframe document.\n *\n * Note that Font faces that were added to the set using the CSS @font-face rule\n * remain connected to the corresponding CSS, and cannot be deleted.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/delete.\n */\nexport function unloadFontFaceInBrowser( fontFace, removeFrom = 'all' ) {\n\tconst unloadFontFace = ( fonts ) => {\n\t\tfonts.forEach( ( f ) => {\n\t\t\tif (\n\t\t\t\tf.family === formatFontFaceName( fontFace?.fontFamily ) &&\n\t\t\t\tf.weight === fontFace?.fontWeight &&\n\t\t\t\tf.style === fontFace?.fontStyle\n\t\t\t) {\n\t\t\t\tfonts.delete( f );\n\t\t\t}\n\t\t} );\n\t};\n\n\tif ( removeFrom === 'document' || removeFrom === 'all' ) {\n\t\tunloadFontFace( document.fonts );\n\t}\n\n\tif ( removeFrom === 'iframe' || removeFrom === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tunloadFontFace( iframeDocument.fonts );\n\t}\n}\n\n/**\n * Retrieves the display source from a font face src.\n *\n * @param {string|string[]} input - The font face src.\n * @return {string|undefined} The display source or undefined if the input is invalid.\n */\nexport function getDisplaySrcFromFontFace( input ) {\n\tif ( ! input ) {\n\t\treturn;\n\t}\n\n\tlet src;\n\tif ( Array.isArray( input ) ) {\n\t\tsrc = input[ 0 ];\n\t} else {\n\t\tsrc = input;\n\t}\n\t// It's expected theme fonts will already be loaded in the browser.\n\tif ( src.startsWith( 'file:.' ) ) {\n\t\treturn;\n\t}\n\tif ( ! isUrlEncoded( src ) ) {\n\t\tsrc = encodeURI( src );\n\t}\n\treturn src;\n}\n\nexport function makeFontFamilyFormData( fontFamily ) {\n\tconst formData = new FormData();\n\n\tconst { fontFace, category, ...familyWithValidParameters } = fontFamily;\n\tconst fontFamilySettings = {\n\t\t...familyWithValidParameters,\n\t\tslug: kebabCase( fontFamily.slug ),\n\t};\n\n\tformData.append(\n\t\t'font_family_settings',\n\t\tJSON.stringify( fontFamilySettings )\n\t);\n\treturn formData;\n}\n\nexport function makeFontFacesFormData( font ) {\n\tif ( font?.fontFace ) {\n\t\tconst fontFacesFormData = font.fontFace.map( ( item, faceIndex ) => {\n\t\t\tconst face = { ...item };\n\t\t\tconst formData = new FormData();\n\t\t\tif ( face.file ) {\n\t\t\t\t// Normalize to an array, since face.file may be a single file or an array of files.\n\t\t\t\tconst files = Array.isArray( face.file )\n\t\t\t\t\t? face.file\n\t\t\t\t\t: [ face.file ];\n\t\t\t\tconst src = [];\n\n\t\t\t\tfiles.forEach( ( file, key ) => {\n\t\t\t\t\t// Slugified file name because the it might contain spaces or characters treated differently on the server.\n\t\t\t\t\tconst fileId = `file-${ faceIndex }-${ key }`;\n\t\t\t\t\t// Add the files to the formData\n\t\t\t\t\tformData.append( fileId, file, file.name );\n\t\t\t\t\tsrc.push( fileId );\n\t\t\t\t} );\n\n\t\t\t\tface.src = src.length === 1 ? src[ 0 ] : src;\n\t\t\t\tdelete face.file;\n\n\t\t\t\tformData.append( 'font_face_settings', JSON.stringify( face ) );\n\t\t\t} else {\n\t\t\t\tformData.append( 'font_face_settings', JSON.stringify( face ) );\n\t\t\t}\n\t\t\treturn formData;\n\t\t} );\n\n\t\treturn fontFacesFormData;\n\t}\n}\n\nexport async function batchInstallFontFaces( fontFamilyId, fontFacesData ) {\n\tconst responses = [];\n\n\t/*\n\t * Uses the same response format as Promise.allSettled, but executes requests in sequence to work\n\t * around a race condition that can cause an error when the fonts directory doesn't exist yet.\n\t */\n\tfor ( const faceData of fontFacesData ) {\n\t\ttry {\n\t\t\tconst response = await fetchInstallFontFace(\n\t\t\t\tfontFamilyId,\n\t\t\t\tfaceData\n\t\t\t);\n\t\t\tresponses.push( { status: 'fulfilled', value: response } );\n\t\t} catch ( error ) {\n\t\t\tresponses.push( { status: 'rejected', reason: error } );\n\t\t}\n\t}\n\n\tconst results = {\n\t\terrors: [],\n\t\tsuccesses: [],\n\t};\n\n\tresponses.forEach( ( result, index ) => {\n\t\tif ( result.status === 'fulfilled' ) {\n\t\t\tconst response = result.value;\n\t\t\tif ( response.id ) {\n\t\t\t\tresults.successes.push( response );\n\t\t\t} else {\n\t\t\t\tresults.errors.push( {\n\t\t\t\t\tdata: fontFacesData[ index ],\n\t\t\t\t\tmessage: `Error: ${ response.message }`,\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\t// Handle network errors or other fetch-related errors\n\t\t\tresults.errors.push( {\n\t\t\t\tdata: fontFacesData[ index ],\n\t\t\t\tmessage: result.reason.message,\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn results;\n}\n\n/*\n * Downloads a font face asset from a URL to the client and returns a File object.\n */\nexport async function downloadFontFaceAssets( src ) {\n\t// Normalize to an array, since `src` could be a string or array.\n\tsrc = Array.isArray( src ) ? src : [ src ];\n\n\tconst files = await Promise.all(\n\t\tsrc.map( async ( url ) => {\n\t\t\treturn fetch( new Request( url ) )\n\t\t\t\t.then( ( response ) => {\n\t\t\t\t\tif ( ! response.ok ) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Error downloading font face asset from ${ url }. Server responded with status: ${ response.status }`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn response.blob();\n\t\t\t\t} )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tconst filename = url.split( '/' ).pop();\n\t\t\t\t\tconst file = new File( [ blob ], filename, {\n\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t} );\n\t\t\t\t\treturn file;\n\t\t\t\t} );\n\t\t} )\n\t);\n\n\t// If we only have one file return it (not the array). Otherwise return all of them in the array.\n\treturn files.length === 1 ? files[ 0 ] : files;\n}\n\n/*\n * Determine if a given Font Face is present in a given collection.\n * We determine that a font face has been installed by comparing the fontWeight and fontStyle\n *\n * @param {Object} fontFace The Font Face to seek\n * @param {Array} collection The Collection to seek in\n * @returns True if the font face is found in the collection. Otherwise False.\n */\nexport function checkFontFaceInstalled( fontFace, collection ) {\n\treturn (\n\t\t-1 !==\n\t\tcollection.findIndex( ( collectionFontFace ) => {\n\t\t\treturn (\n\t\t\t\tcollectionFontFace.fontWeight === fontFace.fontWeight &&\n\t\t\t\tcollectionFontFace.fontStyle === fontFace.fontStyle\n\t\t\t);\n\t\t} )\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["findNearest","input","numbers","length","sort","a","b","Math","abs","extractFontWeights","fontFaces","result","forEach","face","weights","String","fontWeight","split","start","parseInt","end","i","push","formatFontFamily","regex","output","trim","formatItem","item","match","replace","includes","map","filter","join","formatFontFaceName","find","window","navigator","userAgent","toLowerCase","getFamilyPreviewStyle","family","style","fontFamily","Array","isArray","fontFace","fontStyle","normalFaces","normalWeights","nearestWeight","getFacePreviewStyle"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/preview-styles.js"],"sourcesContent":["function findNearest( input, numbers ) {\n\t// If the numbers array is empty, return null\n\tif ( numbers.length === 0 ) {\n\t\treturn null;\n\t}\n\t// Sort the array based on the absolute difference with the input\n\tnumbers.sort( ( a, b ) => Math.abs( input - a ) - Math.abs( input - b ) );\n\t// Return the first element (which will be the nearest) from the sorted array\n\treturn numbers[ 0 ];\n}\n\nfunction extractFontWeights( fontFaces ) {\n\tconst result = [];\n\n\tfontFaces.forEach( ( face ) => {\n\t\tconst weights = String( face.fontWeight ).split( ' ' );\n\n\t\tif ( weights.length === 2 ) {\n\t\t\tconst start = parseInt( weights[ 0 ] );\n\t\t\tconst end = parseInt( weights[ 1 ] );\n\n\t\t\tfor ( let i = start; i <= end; i += 100 ) {\n\t\t\t\tresult.push( i );\n\t\t\t}\n\t\t} else if ( weights.length === 1 ) {\n\t\t\tresult.push( parseInt( weights[ 0 ] ) );\n\t\t}\n\t} );\n\n\treturn result;\n}\n\n/*\n * Format the font family to use in the CSS font-family property of a CSS rule.\n *\n * The input can be a string with the font family name or a string with multiple font family names separated by commas.\n * It follows the recommendations from the CSS Fonts Module Level 4.\n * https://www.w3.org/TR/css-fonts-4/#font-family-prop\n *\n * @param {string} input - The font family.\n * @return {string} The formatted font family.\n *\n * Example:\n * formatFontFamily( \"Open Sans, Font+Name, sans-serif\" ) => '\"Open Sans\", \"Font+Name\", sans-serif'\n * formatFontFamily( \"'Open Sans', generic(kai), sans-serif\" ) => '\"Open Sans\", sans-serif'\n * formatFontFamily( \"DotGothic16, Slabo 27px, serif\" ) => '\"DotGothic16\",\"Slabo 27px\",serif'\n * formatFontFamily( \"Mine's, Moe's Typography\" ) => `\"mine's\",\"Moe's Typography\"`\n */\nexport function formatFontFamily( input ) {\n\t// Matches strings that are not exclusively alphabetic characters or hyphens, and do not exactly follow the pattern generic(alphabetic characters or hyphens).\n\tconst regex = /^(?!generic\\([ a-zA-Z\\-]+\\)$)(?!^[a-zA-Z\\-]+$).+/;\n\tconst output = input.trim();\n\n\tconst formatItem = ( item ) => {\n\t\titem = item.trim();\n\t\tif ( item.match( regex ) ) {\n\t\t\t// removes leading and trailing quotes.\n\t\t\titem = item.replace( /^[\"']|[\"']$/g, '' );\n\t\t\treturn `\"${ item }\"`;\n\t\t}\n\t\treturn item;\n\t};\n\n\tif ( output.includes( ',' ) ) {\n\t\treturn output\n\t\t\t.split( ',' )\n\t\t\t.map( formatItem )\n\t\t\t.filter( ( item ) => item !== '' )\n\t\t\t.join( ', ' );\n\t}\n\n\treturn formatItem( output );\n}\n\n/*\n * Format the font face name to use in the font-family property of a font face.\n *\n * The input can be a string with the font face name or a string with multiple font face names separated by commas.\n * It removes the leading and trailing quotes from the font face name.\n *\n * @param {string} input - The font face name.\n * @return {string} The formatted font face name.\n *\n * Example:\n * formatFontFaceName(\"Open Sans\") => \"Open Sans\"\n * formatFontFaceName(\"'Open Sans', sans-serif\") => \"Open Sans\"\n * formatFontFaceName(\", 'Open Sans', 'Helvetica Neue', sans-serif\") => \"Open Sans\"\n */\nexport function formatFontFaceName( input ) {\n\tif ( ! input ) {\n\t\treturn '';\n\t}\n\n\tlet output = input.trim();\n\tif ( output.includes( ',' ) ) {\n\t\toutput = output\n\t\t\t.split( ',' )\n\t\t\t// finds the first item that is not an empty string.\n\t\t\t.find( ( item ) => item.trim() !== '' )\n\t\t\t.trim();\n\t}\n\t// removes leading and trailing quotes.\n\toutput = output.replace( /^[\"']|[\"']$/g, '' );\n\n\t// Firefox needs the font name to be wrapped in double quotes meanwhile other browsers don't.\n\tif ( window.navigator.userAgent.toLowerCase().includes( 'firefox' ) ) {\n\t\toutput = `\"${ output }\"`;\n\t}\n\treturn output;\n}\n\nexport function getFamilyPreviewStyle( family ) {\n\tconst style = { fontFamily: formatFontFamily( family.fontFamily ) };\n\n\tif ( ! Array.isArray( family.fontFace ) ) {\n\t\tstyle.fontWeight = '400';\n\t\tstyle.fontStyle = 'normal';\n\t\treturn style;\n\t}\n\n\tif ( family.fontFace ) {\n\t\t//get all the font faces with normal style\n\t\tconst normalFaces = family.fontFace.filter(\n\t\t\t( face ) =>\n\t\t\t\tface?.fontStyle && face.fontStyle.toLowerCase() === 'normal'\n\t\t);\n\t\tif ( normalFaces.length > 0 ) {\n\t\t\tstyle.fontStyle = 'normal';\n\t\t\tconst normalWeights = extractFontWeights( normalFaces );\n\t\t\tconst nearestWeight = findNearest( 400, normalWeights );\n\t\t\tstyle.fontWeight = String( nearestWeight ) || '400';\n\t\t} else {\n\t\t\tstyle.fontStyle =\n\t\t\t\t( family.fontFace.length && family.fontFace[ 0 ].fontStyle ) ||\n\t\t\t\t'normal';\n\t\t\tstyle.fontWeight =\n\t\t\t\t( family.fontFace.length &&\n\t\t\t\t\tString( family.fontFace[ 0 ].fontWeight ) ) ||\n\t\t\t\t'400';\n\t\t}\n\t}\n\n\treturn style;\n}\n\nexport function getFacePreviewStyle( face ) {\n\treturn {\n\t\tfontFamily: formatFontFamily( face.fontFamily ),\n\t\tfontStyle: face.fontStyle || 'normal',\n\t\tfontWeight: face.fontWeight || '400',\n\t};\n}\n"],"mappings":"AAAA,SAASA,WAAWA,CAAEC,KAAK,EAAEC,OAAO,EAAG;EACtC;EACA,IAAKA,OAAO,CAACC,MAAM,KAAK,CAAC,EAAG;IAC3B,OAAO,IAAI;EACZ;EACA;EACAD,OAAO,CAACE,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMC,IAAI,CAACC,GAAG,CAAEP,KAAK,GAAGI,CAAE,CAAC,GAAGE,IAAI,CAACC,GAAG,CAAEP,KAAK,GAAGK,CAAE,CAAE,CAAC;EACzE;EACA,OAAOJ,OAAO,CAAE,CAAC,CAAE;AACpB;AAEA,SAASO,kBAAkBA,CAAEC,SAAS,EAAG;EACxC,MAAMC,MAAM,GAAG,EAAE;EAEjBD,SAAS,CAACE,OAAO,CAAIC,IAAI,IAAM;IAC9B,MAAMC,OAAO,GAAGC,MAAM,CAAEF,IAAI,CAACG,UAAW,CAAC,CAACC,KAAK,CAAE,GAAI,CAAC;IAEtD,IAAKH,OAAO,CAACX,MAAM,KAAK,CAAC,EAAG;MAC3B,MAAMe,KAAK,GAAGC,QAAQ,CAAEL,OAAO,CAAE,CAAC,CAAG,CAAC;MACtC,MAAMM,GAAG,GAAGD,QAAQ,CAAEL,OAAO,CAAE,CAAC,CAAG,CAAC;MAEpC,KAAM,IAAIO,CAAC,GAAGH,KAAK,EAAEG,CAAC,IAAID,GAAG,EAAEC,CAAC,IAAI,GAAG,EAAG;QACzCV,MAAM,CAACW,IAAI,CAAED,CAAE,CAAC;MACjB;IACD,CAAC,MAAM,IAAKP,OAAO,CAACX,MAAM,KAAK,CAAC,EAAG;MAClCQ,MAAM,CAACW,IAAI,CAAEH,QAAQ,CAAEL,OAAO,CAAE,CAAC,CAAG,CAAE,CAAC;IACxC;EACD,CAAE,CAAC;EAEH,OAAOH,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASY,gBAAgBA,CAAEtB,KAAK,EAAG;EACzC;EACA,MAAMuB,KAAK,GAAG,kDAAkD;EAChE,MAAMC,MAAM,GAAGxB,KAAK,CAACyB,IAAI,CAAC,CAAC;EAE3B,MAAMC,UAAU,GAAKC,IAAI,IAAM;IAC9BA,IAAI,GAAGA,IAAI,CAACF,IAAI,CAAC,CAAC;IAClB,IAAKE,IAAI,CAACC,KAAK,CAAEL,KAAM,CAAC,EAAG;MAC1B;MACAI,IAAI,GAAGA,IAAI,CAACE,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;MACzC,
|
|
1
|
+
{"version":3,"names":["findNearest","input","numbers","length","sort","a","b","Math","abs","extractFontWeights","fontFaces","result","forEach","face","weights","String","fontWeight","split","start","parseInt","end","i","push","formatFontFamily","regex","output","trim","formatItem","item","match","replace","includes","map","filter","join","formatFontFaceName","find","window","navigator","userAgent","toLowerCase","getFamilyPreviewStyle","family","style","fontFamily","Array","isArray","fontFace","fontStyle","normalFaces","normalWeights","nearestWeight","getFacePreviewStyle"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/preview-styles.js"],"sourcesContent":["function findNearest( input, numbers ) {\n\t// If the numbers array is empty, return null\n\tif ( numbers.length === 0 ) {\n\t\treturn null;\n\t}\n\t// Sort the array based on the absolute difference with the input\n\tnumbers.sort( ( a, b ) => Math.abs( input - a ) - Math.abs( input - b ) );\n\t// Return the first element (which will be the nearest) from the sorted array\n\treturn numbers[ 0 ];\n}\n\nfunction extractFontWeights( fontFaces ) {\n\tconst result = [];\n\n\tfontFaces.forEach( ( face ) => {\n\t\tconst weights = String( face.fontWeight ).split( ' ' );\n\n\t\tif ( weights.length === 2 ) {\n\t\t\tconst start = parseInt( weights[ 0 ] );\n\t\t\tconst end = parseInt( weights[ 1 ] );\n\n\t\t\tfor ( let i = start; i <= end; i += 100 ) {\n\t\t\t\tresult.push( i );\n\t\t\t}\n\t\t} else if ( weights.length === 1 ) {\n\t\t\tresult.push( parseInt( weights[ 0 ] ) );\n\t\t}\n\t} );\n\n\treturn result;\n}\n\n/*\n * Format the font family to use in the CSS font-family property of a CSS rule.\n *\n * The input can be a string with the font family name or a string with multiple font family names separated by commas.\n * It follows the recommendations from the CSS Fonts Module Level 4.\n * https://www.w3.org/TR/css-fonts-4/#font-family-prop\n *\n * @param {string} input - The font family.\n * @return {string} The formatted font family.\n *\n * Example:\n * formatFontFamily( \"Open Sans, Font+Name, sans-serif\" ) => '\"Open Sans\", \"Font+Name\", sans-serif'\n * formatFontFamily( \"'Open Sans', generic(kai), sans-serif\" ) => '\"Open Sans\", sans-serif'\n * formatFontFamily( \"DotGothic16, Slabo 27px, serif\" ) => '\"DotGothic16\",\"Slabo 27px\",serif'\n * formatFontFamily( \"Mine's, Moe's Typography\" ) => `\"mine's\",\"Moe's Typography\"`\n */\nexport function formatFontFamily( input ) {\n\t// Matches strings that are not exclusively alphabetic characters or hyphens, and do not exactly follow the pattern generic(alphabetic characters or hyphens).\n\tconst regex = /^(?!generic\\([ a-zA-Z\\-]+\\)$)(?!^[a-zA-Z\\-]+$).+/;\n\tconst output = input.trim();\n\n\tconst formatItem = ( item ) => {\n\t\titem = item.trim();\n\t\tif ( item.match( regex ) ) {\n\t\t\t// removes leading and trailing quotes.\n\t\t\titem = item.replace( /^[\"']|[\"']$/g, '' );\n\t\t\treturn `\"${ item }\"`;\n\t\t}\n\t\treturn item;\n\t};\n\n\tif ( output.includes( ',' ) ) {\n\t\treturn output\n\t\t\t.split( ',' )\n\t\t\t.map( formatItem )\n\t\t\t.filter( ( item ) => item !== '' )\n\t\t\t.join( ', ' );\n\t}\n\n\treturn formatItem( output );\n}\n\n/*\n * Format the font face name to use in the font-family property of a font face.\n *\n * The input can be a string with the font face name or a string with multiple font face names separated by commas.\n * It removes the leading and trailing quotes from the font face name.\n *\n * @param {string} input - The font face name.\n * @return {string} The formatted font face name.\n *\n * Example:\n * formatFontFaceName(\"Open Sans\") => \"Open Sans\"\n * formatFontFaceName(\"'Open Sans', sans-serif\") => \"Open Sans\"\n * formatFontFaceName(\", 'Open Sans', 'Helvetica Neue', sans-serif\") => \"Open Sans\"\n */\nexport function formatFontFaceName( input ) {\n\tif ( ! input ) {\n\t\treturn '';\n\t}\n\n\tlet output = input.trim();\n\tif ( output.includes( ',' ) ) {\n\t\toutput = output\n\t\t\t.split( ',' )\n\t\t\t// finds the first item that is not an empty string.\n\t\t\t.find( ( item ) => item.trim() !== '' )\n\t\t\t.trim();\n\t}\n\t// removes leading and trailing quotes.\n\toutput = output.replace( /^[\"']|[\"']$/g, '' );\n\n\t// Firefox needs the font name to be wrapped in double quotes meanwhile other browsers don't.\n\tif ( window.navigator.userAgent.toLowerCase().includes( 'firefox' ) ) {\n\t\toutput = `\"${ output }\"`;\n\t}\n\treturn output;\n}\n\nexport function getFamilyPreviewStyle( family ) {\n\tconst style = { fontFamily: formatFontFamily( family.fontFamily ) };\n\n\tif ( ! Array.isArray( family.fontFace ) ) {\n\t\tstyle.fontWeight = '400';\n\t\tstyle.fontStyle = 'normal';\n\t\treturn style;\n\t}\n\n\tif ( family.fontFace ) {\n\t\t//get all the font faces with normal style\n\t\tconst normalFaces = family.fontFace.filter(\n\t\t\t( face ) =>\n\t\t\t\tface?.fontStyle && face.fontStyle.toLowerCase() === 'normal'\n\t\t);\n\t\tif ( normalFaces.length > 0 ) {\n\t\t\tstyle.fontStyle = 'normal';\n\t\t\tconst normalWeights = extractFontWeights( normalFaces );\n\t\t\tconst nearestWeight = findNearest( 400, normalWeights );\n\t\t\tstyle.fontWeight = String( nearestWeight ) || '400';\n\t\t} else {\n\t\t\tstyle.fontStyle =\n\t\t\t\t( family.fontFace.length && family.fontFace[ 0 ].fontStyle ) ||\n\t\t\t\t'normal';\n\t\t\tstyle.fontWeight =\n\t\t\t\t( family.fontFace.length &&\n\t\t\t\t\tString( family.fontFace[ 0 ].fontWeight ) ) ||\n\t\t\t\t'400';\n\t\t}\n\t}\n\n\treturn style;\n}\n\nexport function getFacePreviewStyle( face ) {\n\treturn {\n\t\tfontFamily: formatFontFamily( face.fontFamily ),\n\t\tfontStyle: face.fontStyle || 'normal',\n\t\tfontWeight: face.fontWeight || '400',\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,7 @@ function ConfirmDeleteFontSizeDialog({
|
|
|
24
24
|
onCancel: handleCancel,
|
|
25
25
|
onConfirm: handleConfirm,
|
|
26
26
|
size: "medium",
|
|
27
|
-
children: fontSize && sprintf(
|
|
27
|
+
children: fontSize && sprintf(/* translators: %s: Name of the font size preset. */
|
|
28
28
|
__('Are you sure you want to delete "%s" font size preset?'), fontSize.name)
|
|
29
29
|
});
|
|
30
30
|
}
|
package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalConfirmDialog","ConfirmDialog","__","sprintf","jsx","_jsx","ConfirmDeleteFontSizeDialog","fontSize","isOpen","toggleOpen","handleRemoveFontSize","handleConfirm","handleCancel","cancelButtonText","confirmButtonText","onCancel","onConfirm","size","children","name"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nfunction ConfirmDeleteFontSizeDialog( {\n\tfontSize,\n\tisOpen,\n\ttoggleOpen,\n\thandleRemoveFontSize,\n} ) {\n\tconst handleConfirm = async () => {\n\t\ttoggleOpen();\n\t\thandleRemoveFontSize( fontSize );\n\t};\n\n\tconst handleCancel = () => {\n\t\ttoggleOpen();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\tonCancel={ handleCancel }\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ fontSize &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font size preset. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font size preset?'\n\t\t\t\t\t),\n\t\t\t\t\tfontSize.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default ConfirmDeleteFontSizeDialog;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;AACpF,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9C,SAASC,2BAA2BA,CAAE;EACrCC,QAAQ;EACRC,MAAM;EACNC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCF,UAAU,CAAC,CAAC;IACZC,oBAAoB,CAAEH,QAAS,CAAC;EACjC,CAAC;EAED,MAAMK,YAAY,GAAGA,CAAA,KAAM;IAC1BH,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACCJ,IAAA,CAACJ,aAAa;IACbO,MAAM,EAAGA,MAAQ;IACjBK,gBAAgB,EAAGX,EAAE,CAAE,QAAS,CAAG;IACnCY,iBAAiB,EAAGZ,EAAE,CAAE,QAAS,CAAG;IACpCa,QAAQ,EAAGH,YAAc;IACzBI,SAAS,EAAGL,aAAe;IAC3BM,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXX,QAAQ,IACTJ,OAAO,
|
|
1
|
+
{"version":3,"names":["__experimentalConfirmDialog","ConfirmDialog","__","sprintf","jsx","_jsx","ConfirmDeleteFontSizeDialog","fontSize","isOpen","toggleOpen","handleRemoveFontSize","handleConfirm","handleCancel","cancelButtonText","confirmButtonText","onCancel","onConfirm","size","children","name"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nfunction ConfirmDeleteFontSizeDialog( {\n\tfontSize,\n\tisOpen,\n\ttoggleOpen,\n\thandleRemoveFontSize,\n} ) {\n\tconst handleConfirm = async () => {\n\t\ttoggleOpen();\n\t\thandleRemoveFontSize( fontSize );\n\t};\n\n\tconst handleCancel = () => {\n\t\ttoggleOpen();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\tonCancel={ handleCancel }\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ fontSize &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font size preset. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font size preset?'\n\t\t\t\t\t),\n\t\t\t\t\tfontSize.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default ConfirmDeleteFontSizeDialog;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;AACpF,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9C,SAASC,2BAA2BA,CAAE;EACrCC,QAAQ;EACRC,MAAM;EACNC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCF,UAAU,CAAC,CAAC;IACZC,oBAAoB,CAAEH,QAAS,CAAC;EACjC,CAAC;EAED,MAAMK,YAAY,GAAGA,CAAA,KAAM;IAC1BH,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACCJ,IAAA,CAACJ,aAAa;IACbO,MAAM,EAAGA,MAAQ;IACjBK,gBAAgB,EAAGX,EAAE,CAAE,QAAS,CAAG;IACnCY,iBAAiB,EAAGZ,EAAE,CAAE,QAAS,CAAG;IACpCa,QAAQ,EAAGH,YAAc;IACzBI,SAAS,EAAGL,aAAe;IAC3BM,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXX,QAAQ,IACTJ,OAAO,CACN;IACAD,EAAE,CACD,wDACD,CAAC,EACDK,QAAQ,CAACY,IACV;EAAC,CACY,CAAC;AAElB;AAEA,eAAeb,2BAA2B","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
5
5
|
import { __, sprintf } from '@wordpress/i18n';
|
|
6
|
-
import { __experimentalSpacer as Spacer,
|
|
6
|
+
import { __experimentalSpacer as Spacer, useNavigator, __experimentalView as View, __experimentalHStack as HStack, __experimentalVStack as VStack, privateApis as componentsPrivateApis, Button, FlexItem, ToggleControl } from '@wordpress/components';
|
|
7
7
|
import { moreVertical } from '@wordpress/icons';
|
|
8
8
|
import { useState, useEffect } from '@wordpress/element';
|
|
9
9
|
|
|
@@ -16,9 +16,7 @@ import FontSizePreview from './font-size-preview';
|
|
|
16
16
|
import ConfirmDeleteFontSizeDialog from './confirm-delete-font-size-dialog';
|
|
17
17
|
import RenameFontSizeDialog from './rename-font-size-dialog';
|
|
18
18
|
import SizeControl from '../size-control';
|
|
19
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
19
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
22
20
|
const {
|
|
23
21
|
DropdownMenuV2
|
|
24
22
|
} = unlock(componentsPrivateApis);
|
|
@@ -34,7 +32,7 @@ function FontSize() {
|
|
|
34
32
|
origin,
|
|
35
33
|
slug
|
|
36
34
|
},
|
|
37
|
-
|
|
35
|
+
goBack
|
|
38
36
|
} = useNavigator();
|
|
39
37
|
const [fontSizes, setFontSizes] = useGlobalSetting('typography.fontSizes');
|
|
40
38
|
const [globalFluid] = useGlobalSetting('typography.fluid');
|
|
@@ -45,6 +43,16 @@ function FontSize() {
|
|
|
45
43
|
// Get the font size by slug.
|
|
46
44
|
const fontSize = sizes.find(size => size.slug === slug);
|
|
47
45
|
|
|
46
|
+
// Navigate to the font sizes list if the font size is not available.
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (!!slug && !fontSize) {
|
|
49
|
+
goBack();
|
|
50
|
+
}
|
|
51
|
+
}, [slug, fontSize, goBack]);
|
|
52
|
+
if (!origin || !slug || !fontSize) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
48
56
|
// Whether the font size is fluid. If not defined, use the global fluid value of the theme.
|
|
49
57
|
const isFluid = fontSize?.fluid !== undefined ? !!fontSize.fluid : !!globalFluid;
|
|
50
58
|
|
|
@@ -111,20 +119,6 @@ function FontSize() {
|
|
|
111
119
|
const toggleRenameDialog = () => {
|
|
112
120
|
setIsRenameDialogOpen(!isRenameDialogOpen);
|
|
113
121
|
};
|
|
114
|
-
|
|
115
|
-
// Navigate to the font sizes list if the font size is not available.
|
|
116
|
-
useEffect(() => {
|
|
117
|
-
if (!fontSize) {
|
|
118
|
-
goTo('/typography/font-sizes/', {
|
|
119
|
-
isBack: true
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}, [fontSize, goTo]);
|
|
123
|
-
|
|
124
|
-
// Avoid rendering if the font size is not available.
|
|
125
|
-
if (!fontSize) {
|
|
126
|
-
return null;
|
|
127
|
-
}
|
|
128
122
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
129
123
|
children: [/*#__PURE__*/_jsx(ConfirmDeleteFontSizeDialog, {
|
|
130
124
|
fontSize: fontSize,
|
|
@@ -142,9 +136,8 @@ function FontSize() {
|
|
|
142
136
|
align: "flex-start",
|
|
143
137
|
children: [/*#__PURE__*/_jsx(ScreenHeader, {
|
|
144
138
|
title: fontSize.name,
|
|
145
|
-
description: sprintf(
|
|
146
|
-
__('Manage the font size %s.'), fontSize.name)
|
|
147
|
-
onBack: () => goTo('/typography/font-sizes/')
|
|
139
|
+
description: sprintf(/* translators: %s: font size preset name. */
|
|
140
|
+
__('Manage the font size %s.'), fontSize.name)
|
|
148
141
|
}), origin === 'custom' && /*#__PURE__*/_jsx(FlexItem, {
|
|
149
142
|
children: /*#__PURE__*/_jsx(Spacer, {
|
|
150
143
|
marginTop: 3,
|
|
@@ -173,6 +166,8 @@ function FontSize() {
|
|
|
173
166
|
}), /*#__PURE__*/_jsx(View, {
|
|
174
167
|
children: /*#__PURE__*/_jsx(Spacer, {
|
|
175
168
|
paddingX: 4,
|
|
169
|
+
marginBottom: 0,
|
|
170
|
+
paddingBottom: 6,
|
|
176
171
|
children: /*#__PURE__*/_jsxs(VStack, {
|
|
177
172
|
spacing: 4,
|
|
178
173
|
children: [/*#__PURE__*/_jsx(FlexItem, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","blockEditorPrivateApis","__","sprintf","__experimentalSpacer","Spacer","__experimentalUseNavigator","useNavigator","__experimentalView","View","__experimentalHStack","HStack","__experimentalVStack","VStack","componentsPrivateApis","Button","FlexItem","ToggleControl","moreVertical","useState","useEffect","unlock","ScreenHeader","FontSizePreview","ConfirmDeleteFontSizeDialog","RenameFontSizeDialog","SizeControl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownMenuV2","useGlobalSetting","FontSize","_fontSizes$origin","isDeleteConfirmOpen","setIsDeleteConfirmOpen","isRenameDialogOpen","setIsRenameDialogOpen","params","origin","slug","goTo","fontSizes","setFontSizes","globalFluid","sizes","fontSize","find","size","isFluid","fluid","undefined","isCustomFluid","handleNameChange","value","updateFontSize","handleFontSizeChange","handleFluidChange","handleCustomFluidValues","min","max","handleMinChange","handleMaxChange","key","newFontSizes","map","handleRemoveFontSize","filter","toggleDeleteConfirm","toggleRenameDialog","isBack","children","isOpen","toggleOpen","handleRename","spacing","justify","align","title","name","description","onBack","marginTop","marginBottom","paddingX","trigger","icon","label","Item","onClick","ItemLabel","onChange","disabled","help","checked","__nextHasNoMarginBottom"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-size.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalView as View,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tFlexItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport ScreenHeader from '../header';\nimport FontSizePreview from './font-size-preview';\nimport ConfirmDeleteFontSizeDialog from './confirm-delete-font-size-dialog';\nimport RenameFontSizeDialog from './rename-font-size-dialog';\nimport SizeControl from '../size-control';\n\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nfunction FontSize() {\n\tconst [ isDeleteConfirmOpen, setIsDeleteConfirmOpen ] = useState( false );\n\tconst [ isRenameDialogOpen, setIsRenameDialogOpen ] = useState( false );\n\n\tconst {\n\t\tparams: { origin, slug },\n\t\tgoTo,\n\t} = useNavigator();\n\n\tconst [ fontSizes, setFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes'\n\t);\n\n\tconst [ globalFluid ] = useGlobalSetting( 'typography.fluid' );\n\n\t// Get the font sizes from the origin, default to empty array.\n\tconst sizes = fontSizes[ origin ] ?? [];\n\n\t// Get the font size by slug.\n\tconst fontSize = sizes.find( ( size ) => size.slug === slug );\n\n\t// Whether the font size is fluid. If not defined, use the global fluid value of the theme.\n\tconst isFluid =\n\t\tfontSize?.fluid !== undefined ? !! fontSize.fluid : !! globalFluid;\n\n\t// Whether custom fluid values are used.\n\tconst isCustomFluid = typeof fontSize?.fluid === 'object';\n\n\tconst handleNameChange = ( value ) => {\n\t\tupdateFontSize( 'name', value );\n\t};\n\n\tconst handleFontSizeChange = ( value ) => {\n\t\tupdateFontSize( 'size', value );\n\t};\n\n\tconst handleFluidChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', value );\n\t};\n\n\tconst handleCustomFluidValues = ( value ) => {\n\t\tif ( value ) {\n\t\t\t// If custom values are used, init the values with the current ones.\n\t\t\tupdateFontSize( 'fluid', {\n\t\t\t\tmin: fontSize.size,\n\t\t\t\tmax: fontSize.size,\n\t\t\t} );\n\t\t} else {\n\t\t\t// If custom fluid values are disabled, set fluid to true.\n\t\t\tupdateFontSize( 'fluid', true );\n\t\t}\n\t};\n\n\tconst handleMinChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', { ...fontSize.fluid, min: value } );\n\t};\n\n\tconst handleMaxChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', { ...fontSize.fluid, max: value } );\n\t};\n\n\tconst updateFontSize = ( key, value ) => {\n\t\tconst newFontSizes = sizes.map( ( size ) => {\n\t\t\tif ( size.slug === slug ) {\n\t\t\t\treturn { ...size, [ key ]: value }; // Create a new object with updated key\n\t\t\t}\n\t\t\treturn size;\n\t\t} );\n\n\t\tsetFontSizes( {\n\t\t\t...fontSizes,\n\t\t\t[ origin ]: newFontSizes,\n\t\t} );\n\t};\n\n\tconst handleRemoveFontSize = () => {\n\t\tconst newFontSizes = sizes.filter( ( size ) => size.slug !== slug );\n\t\tsetFontSizes( {\n\t\t\t...fontSizes,\n\t\t\t[ origin ]: newFontSizes,\n\t\t} );\n\t};\n\n\tconst toggleDeleteConfirm = () => {\n\t\tsetIsDeleteConfirmOpen( ! isDeleteConfirmOpen );\n\t};\n\n\tconst toggleRenameDialog = () => {\n\t\tsetIsRenameDialogOpen( ! isRenameDialogOpen );\n\t};\n\n\t// Navigate to the font sizes list if the font size is not available.\n\tuseEffect( () => {\n\t\tif ( ! fontSize ) {\n\t\t\tgoTo( '/typography/font-sizes/', { isBack: true } );\n\t\t}\n\t}, [ fontSize, goTo ] );\n\n\t// Avoid rendering if the font size is not available.\n\tif ( ! fontSize ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ConfirmDeleteFontSizeDialog\n\t\t\t\tfontSize={ fontSize }\n\t\t\t\tisOpen={ isDeleteConfirmOpen }\n\t\t\t\ttoggleOpen={ toggleDeleteConfirm }\n\t\t\t\thandleRemoveFontSize={ handleRemoveFontSize }\n\t\t\t/>\n\n\t\t\t{ isRenameDialogOpen && (\n\t\t\t\t<RenameFontSizeDialog\n\t\t\t\t\tfontSize={ fontSize }\n\t\t\t\t\ttoggleOpen={ toggleRenameDialog }\n\t\t\t\t\thandleRename={ handleNameChange }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack justify=\"space-between\" align=\"flex-start\">\n\t\t\t\t\t<ScreenHeader\n\t\t\t\t\t\ttitle={ fontSize.name }\n\t\t\t\t\t\tdescription={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: font size preset name. */\n\t\t\t\t\t\t\t__( 'Manage the font size %s.' ),\n\t\t\t\t\t\t\tfontSize.name\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonBack={ () => goTo( '/typography/font-sizes/' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ origin === 'custom' && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Spacer\n\t\t\t\t\t\t\t\tmarginTop={ 3 }\n\t\t\t\t\t\t\t\tmarginBottom={ 0 }\n\t\t\t\t\t\t\t\tpaddingX={ 4 }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Font size options' ) }\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>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleRenameDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleDeleteConfirm }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\n\t\t\t\t<View>\n\t\t\t\t\t<Spacer paddingX={ 4 }>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<FontSizePreview fontSize={ fontSize } />\n\t\t\t\t\t\t\t</FlexItem>\n\n\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\t\t\t\tvalue={ ! isCustomFluid ? fontSize.size : '' }\n\t\t\t\t\t\t\t\tonChange={ handleFontSizeChange }\n\t\t\t\t\t\t\t\tdisabled={ isCustomFluid }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Fluid typography' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Scale the font size dynamically to fit the screen or viewport.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ isFluid }\n\t\t\t\t\t\t\t\tonChange={ handleFluidChange }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{ isFluid && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom fluid values' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Set custom min and max values for the fluid font size.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tchecked={ isCustomFluid }\n\t\t\t\t\t\t\t\t\tonChange={ handleCustomFluidValues }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomFluid && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Minimum' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ fontSize.fluid?.min }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleMinChange }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Maximum' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ fontSize.fluid?.max }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleMaxChange }\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) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</View>\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nexport default FontSize;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","__","sprintf","__experimentalSpacer","Spacer","useNavigator","__experimentalView","View","__experimentalHStack","HStack","__experimentalVStack","VStack","componentsPrivateApis","Button","FlexItem","ToggleControl","moreVertical","useState","useEffect","unlock","ScreenHeader","FontSizePreview","ConfirmDeleteFontSizeDialog","RenameFontSizeDialog","SizeControl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownMenuV2","useGlobalSetting","FontSize","_fontSizes$origin","isDeleteConfirmOpen","setIsDeleteConfirmOpen","isRenameDialogOpen","setIsRenameDialogOpen","params","origin","slug","goBack","fontSizes","setFontSizes","globalFluid","sizes","fontSize","find","size","isFluid","fluid","undefined","isCustomFluid","handleNameChange","value","updateFontSize","handleFontSizeChange","handleFluidChange","handleCustomFluidValues","min","max","handleMinChange","handleMaxChange","key","newFontSizes","map","handleRemoveFontSize","filter","toggleDeleteConfirm","toggleRenameDialog","children","isOpen","toggleOpen","handleRename","spacing","justify","align","title","name","description","marginTop","marginBottom","paddingX","trigger","icon","label","Item","onClick","ItemLabel","paddingBottom","onChange","disabled","help","checked","__nextHasNoMarginBottom"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-size.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalSpacer as Spacer,\n\tuseNavigator,\n\t__experimentalView as View,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tFlexItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport ScreenHeader from '../header';\nimport FontSizePreview from './font-size-preview';\nimport ConfirmDeleteFontSizeDialog from './confirm-delete-font-size-dialog';\nimport RenameFontSizeDialog from './rename-font-size-dialog';\nimport SizeControl from '../size-control';\n\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nfunction FontSize() {\n\tconst [ isDeleteConfirmOpen, setIsDeleteConfirmOpen ] = useState( false );\n\tconst [ isRenameDialogOpen, setIsRenameDialogOpen ] = useState( false );\n\n\tconst {\n\t\tparams: { origin, slug },\n\t\tgoBack,\n\t} = useNavigator();\n\n\tconst [ fontSizes, setFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes'\n\t);\n\n\tconst [ globalFluid ] = useGlobalSetting( 'typography.fluid' );\n\n\t// Get the font sizes from the origin, default to empty array.\n\tconst sizes = fontSizes[ origin ] ?? [];\n\n\t// Get the font size by slug.\n\tconst fontSize = sizes.find( ( size ) => size.slug === slug );\n\n\t// Navigate to the font sizes list if the font size is not available.\n\tuseEffect( () => {\n\t\tif ( !! slug && ! fontSize ) {\n\t\t\tgoBack();\n\t\t}\n\t}, [ slug, fontSize, goBack ] );\n\n\tif ( ! origin || ! slug || ! fontSize ) {\n\t\treturn null;\n\t}\n\n\t// Whether the font size is fluid. If not defined, use the global fluid value of the theme.\n\tconst isFluid =\n\t\tfontSize?.fluid !== undefined ? !! fontSize.fluid : !! globalFluid;\n\n\t// Whether custom fluid values are used.\n\tconst isCustomFluid = typeof fontSize?.fluid === 'object';\n\n\tconst handleNameChange = ( value ) => {\n\t\tupdateFontSize( 'name', value );\n\t};\n\n\tconst handleFontSizeChange = ( value ) => {\n\t\tupdateFontSize( 'size', value );\n\t};\n\n\tconst handleFluidChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', value );\n\t};\n\n\tconst handleCustomFluidValues = ( value ) => {\n\t\tif ( value ) {\n\t\t\t// If custom values are used, init the values with the current ones.\n\t\t\tupdateFontSize( 'fluid', {\n\t\t\t\tmin: fontSize.size,\n\t\t\t\tmax: fontSize.size,\n\t\t\t} );\n\t\t} else {\n\t\t\t// If custom fluid values are disabled, set fluid to true.\n\t\t\tupdateFontSize( 'fluid', true );\n\t\t}\n\t};\n\n\tconst handleMinChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', { ...fontSize.fluid, min: value } );\n\t};\n\n\tconst handleMaxChange = ( value ) => {\n\t\tupdateFontSize( 'fluid', { ...fontSize.fluid, max: value } );\n\t};\n\n\tconst updateFontSize = ( key, value ) => {\n\t\tconst newFontSizes = sizes.map( ( size ) => {\n\t\t\tif ( size.slug === slug ) {\n\t\t\t\treturn { ...size, [ key ]: value }; // Create a new object with updated key\n\t\t\t}\n\t\t\treturn size;\n\t\t} );\n\n\t\tsetFontSizes( {\n\t\t\t...fontSizes,\n\t\t\t[ origin ]: newFontSizes,\n\t\t} );\n\t};\n\n\tconst handleRemoveFontSize = () => {\n\t\tconst newFontSizes = sizes.filter( ( size ) => size.slug !== slug );\n\t\tsetFontSizes( {\n\t\t\t...fontSizes,\n\t\t\t[ origin ]: newFontSizes,\n\t\t} );\n\t};\n\n\tconst toggleDeleteConfirm = () => {\n\t\tsetIsDeleteConfirmOpen( ! isDeleteConfirmOpen );\n\t};\n\n\tconst toggleRenameDialog = () => {\n\t\tsetIsRenameDialogOpen( ! isRenameDialogOpen );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ConfirmDeleteFontSizeDialog\n\t\t\t\tfontSize={ fontSize }\n\t\t\t\tisOpen={ isDeleteConfirmOpen }\n\t\t\t\ttoggleOpen={ toggleDeleteConfirm }\n\t\t\t\thandleRemoveFontSize={ handleRemoveFontSize }\n\t\t\t/>\n\n\t\t\t{ isRenameDialogOpen && (\n\t\t\t\t<RenameFontSizeDialog\n\t\t\t\t\tfontSize={ fontSize }\n\t\t\t\t\ttoggleOpen={ toggleRenameDialog }\n\t\t\t\t\thandleRename={ handleNameChange }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack justify=\"space-between\" align=\"flex-start\">\n\t\t\t\t\t<ScreenHeader\n\t\t\t\t\t\ttitle={ fontSize.name }\n\t\t\t\t\t\tdescription={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: font size preset name. */\n\t\t\t\t\t\t\t__( 'Manage the font size %s.' ),\n\t\t\t\t\t\t\tfontSize.name\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ origin === 'custom' && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Spacer\n\t\t\t\t\t\t\t\tmarginTop={ 3 }\n\t\t\t\t\t\t\t\tmarginBottom={ 0 }\n\t\t\t\t\t\t\t\tpaddingX={ 4 }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Font size options' ) }\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>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleRenameDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleDeleteConfirm }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\n\t\t\t\t<View>\n\t\t\t\t\t<Spacer\n\t\t\t\t\t\tpaddingX={ 4 }\n\t\t\t\t\t\tmarginBottom={ 0 }\n\t\t\t\t\t\tpaddingBottom={ 6 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<FontSizePreview fontSize={ fontSize } />\n\t\t\t\t\t\t\t</FlexItem>\n\n\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\t\t\t\tvalue={ ! isCustomFluid ? fontSize.size : '' }\n\t\t\t\t\t\t\t\tonChange={ handleFontSizeChange }\n\t\t\t\t\t\t\t\tdisabled={ isCustomFluid }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Fluid typography' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Scale the font size dynamically to fit the screen or viewport.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ isFluid }\n\t\t\t\t\t\t\t\tonChange={ handleFluidChange }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{ isFluid && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom fluid values' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Set custom min and max values for the fluid font size.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tchecked={ isCustomFluid }\n\t\t\t\t\t\t\t\t\tonChange={ handleCustomFluidValues }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomFluid && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Minimum' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ fontSize.fluid?.min }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleMinChange }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<SizeControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Maximum' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ fontSize.fluid?.max }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleMaxChange }\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) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</View>\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nexport default FontSize;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,8 +10,7 @@ import { Icon, chevronLeft, chevronRight } from '@wordpress/icons';
|
|
|
10
10
|
*/
|
|
11
11
|
import Subtitle from '../subtitle';
|
|
12
12
|
import { NavigationButtonAsItem } from '../navigation-button';
|
|
13
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
14
|
function FontSizes() {
|
|
16
15
|
return /*#__PURE__*/_jsxs(VStack, {
|
|
17
16
|
spacing: 2,
|
|
@@ -25,7 +24,7 @@ function FontSizes() {
|
|
|
25
24
|
isBordered: true,
|
|
26
25
|
isSeparated: true,
|
|
27
26
|
children: /*#__PURE__*/_jsx(NavigationButtonAsItem, {
|
|
28
|
-
path: "/typography/font-sizes
|
|
27
|
+
path: "/typography/font-sizes",
|
|
29
28
|
"aria-label": __('Edit font size presets'),
|
|
30
29
|
children: /*#__PURE__*/_jsxs(HStack, {
|
|
31
30
|
direction: "row",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","isRTL","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","Icon","chevronLeft","chevronRight","Subtitle","NavigationButtonAsItem","jsx","_jsx","jsxs","_jsxs","FontSizes","spacing","children","justify","level","isBordered","isSeparated","path","direction","icon"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-sizes-count.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { Icon, chevronLeft, chevronRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Subtitle from '../subtitle';\nimport { NavigationButtonAsItem } from '../navigation-button';\n\nfunction FontSizes() {\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Subtitle level={ 3 }>{ __( 'Font Sizes' ) }</Subtitle>\n\t\t\t</HStack>\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\tpath=\"/typography/font-sizes
|
|
1
|
+
{"version":3,"names":["__","isRTL","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","Icon","chevronLeft","chevronRight","Subtitle","NavigationButtonAsItem","jsx","_jsx","jsxs","_jsxs","FontSizes","spacing","children","justify","level","isBordered","isSeparated","path","direction","icon"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-sizes-count.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { Icon, chevronLeft, chevronRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Subtitle from '../subtitle';\nimport { NavigationButtonAsItem } from '../navigation-button';\n\nfunction FontSizes() {\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Subtitle level={ 3 }>{ __( 'Font Sizes' ) }</Subtitle>\n\t\t\t</HStack>\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\tpath=\"/typography/font-sizes\"\n\t\t\t\t\taria-label={ __( 'Edit font size presets' ) }\n\t\t\t\t>\n\t\t\t\t\t<HStack direction=\"row\">\n\t\t\t\t\t\t<FlexItem>{ __( 'Font size presets' ) }</FlexItem>\n\t\t\t\t\t\t<Icon icon={ isRTL() ? chevronLeft : chevronRight } />\n\t\t\t\t\t</HStack>\n\t\t\t\t</NavigationButtonAsItem>\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nexport default FontSizes;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,QAAQ,QACF,uBAAuB;AAC9B,SAASC,IAAI,EAAEC,WAAW,EAAEC,YAAY,QAAQ,kBAAkB;;AAElE;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,sBAAsB,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9D,SAASC,SAASA,CAAA,EAAG;EACpB,oBACCD,KAAA,CAACZ,MAAM;IAACc,OAAO,EAAG,CAAG;IAAAC,QAAA,gBACpBL,IAAA,CAACR,MAAM;MAACc,OAAO,EAAC,eAAe;MAAAD,QAAA,eAC9BL,IAAA,CAACH,QAAQ;QAACU,KAAK,EAAG,CAAG;QAAAF,QAAA,EAAGpB,EAAE,CAAE,YAAa;MAAC,CAAY;IAAC,CAChD,CAAC,eACTe,IAAA,CAACZ,SAAS;MAACoB,UAAU;MAACC,WAAW;MAAAJ,QAAA,eAChCL,IAAA,CAACF,sBAAsB;QACtBY,IAAI,EAAC,wBAAwB;QAC7B,cAAazB,EAAE,CAAE,wBAAyB,CAAG;QAAAoB,QAAA,eAE7CH,KAAA,CAACV,MAAM;UAACmB,SAAS,EAAC,KAAK;UAAAN,QAAA,gBACtBL,IAAA,CAACP,QAAQ;YAAAY,QAAA,EAAGpB,EAAE,CAAE,mBAAoB;UAAC,CAAY,CAAC,eAClDe,IAAA,CAACN,IAAI;YAACkB,IAAI,EAAG1B,KAAK,CAAC,CAAC,GAAGS,WAAW,GAAGC;UAAc,CAAE,CAAC;QAAA,CAC/C;MAAC,CACc;IAAC,CACf,CAAC;EAAA,CACL,CAAC;AAEX;AAEA,eAAeO,SAAS","ignoreList":[]}
|
|
@@ -22,9 +22,7 @@ import { NavigationButtonAsItem } from '../navigation-button';
|
|
|
22
22
|
import { getNewIndexFromPresets } from '../utils';
|
|
23
23
|
import ScreenHeader from '../header';
|
|
24
24
|
import ConfirmResetFontSizesDialog from './confirm-reset-font-sizes-dialog';
|
|
25
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
26
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
27
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
25
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
28
26
|
function FontSizeGroup({
|
|
29
27
|
label,
|
|
30
28
|
origin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","blockEditorPrivateApis","__","sprintf","isRTL","componentsPrivateApis","__experimentalSpacer","Spacer","__experimentalView","View","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","FlexBlock","Button","Icon","plus","moreVertical","chevronLeft","chevronRight","useState","unlock","DropdownMenuV2","useGlobalSetting","Subtitle","NavigationButtonAsItem","getNewIndexFromPresets","ScreenHeader","ConfirmResetFontSizesDialog","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FontSizeGroup","label","origin","sizes","handleAddFontSize","handleResetFontSizes","isResetDialogOpen","setIsResetDialogOpen","toggleResetDialog","resetDialogText","children","text","confirmButtonText","isOpen","toggleOpen","onConfirm","spacing","justify","align","level","icon","size","onClick","trigger","Item","ItemLabel","length","isBordered","isSeparated","map","path","slug","direction","className","name","FontSizes","themeFontSizes","setThemeFontSizes","baseThemeFontSizes","defaultFontSizes","setDefaultFontSizes","baseDefaultFontSizes","customFontSizes","setCustomFontSizes","defaultFontSizesEnabled","index","newFontSize","hasSameSizeValues","arr1","arr2","item","join","title","description","paddingX","baseSizes"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__experimentalSpacer as Spacer,\n\t__experimentalView as View,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tIcon,\n\tplus,\n\tmoreVertical,\n\tchevronLeft,\n\tchevronRight,\n} from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport Subtitle from '../subtitle';\nimport { NavigationButtonAsItem } from '../navigation-button';\nimport { getNewIndexFromPresets } from '../utils';\nimport ScreenHeader from '../header';\nimport ConfirmResetFontSizesDialog from './confirm-reset-font-sizes-dialog';\n\nfunction FontSizeGroup( {\n\tlabel,\n\torigin,\n\tsizes,\n\thandleAddFontSize,\n\thandleResetFontSizes,\n} ) {\n\tconst [ isResetDialogOpen, setIsResetDialogOpen ] = useState( false );\n\n\tconst toggleResetDialog = () => setIsResetDialogOpen( ! isResetDialogOpen );\n\n\tconst resetDialogText =\n\t\torigin === 'custom'\n\t\t\t? __(\n\t\t\t\t\t'Are you sure you want to remove all custom font size presets?'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Are you sure you want to reset all font size presets to their default values?'\n\t\t\t );\n\n\treturn (\n\t\t<>\n\t\t\t{ isResetDialogOpen && (\n\t\t\t\t<ConfirmResetFontSizesDialog\n\t\t\t\t\ttext={ resetDialogText }\n\t\t\t\t\tconfirmButtonText={\n\t\t\t\t\t\torigin === 'custom' ? __( 'Remove' ) : __( 'Reset' )\n\t\t\t\t\t}\n\t\t\t\t\tisOpen={ isResetDialogOpen }\n\t\t\t\t\ttoggleOpen={ toggleResetDialog }\n\t\t\t\t\tonConfirm={ handleResetFontSizes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack justify=\"space-between\" align=\"center\">\n\t\t\t\t\t<Subtitle level={ 3 }>{ label }</Subtitle>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ origin === 'custom' && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Add font size' ) }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={ handleAddFontSize }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! handleResetFontSizes && (\n\t\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Font size presets options'\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}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\tonClick={ toggleResetDialog }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ origin === 'custom'\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Remove font size presets' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset font size presets' ) }\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\n\t\t\t\t{ !! sizes.length && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ sizes.map( ( size ) => (\n\t\t\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\t\t\tkey={ size.slug }\n\t\t\t\t\t\t\t\tpath={ `/typography/font-sizes/${ origin }/${ size.slug }` }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack direction=\"row\">\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-font-size__item\">\n\t\t\t\t\t\t\t\t\t\t{ size.name }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-font-size__item edit-site-font-size__item-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ size.size }\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisRTL()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? chevronLeft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: chevronRight\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</HStack>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nfunction FontSizes() {\n\tconst [ themeFontSizes, setThemeFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.theme'\n\t);\n\n\tconst [ baseThemeFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.theme',\n\t\tnull,\n\t\t'base'\n\t);\n\tconst [ defaultFontSizes, setDefaultFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.default'\n\t);\n\n\tconst [ baseDefaultFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.default',\n\t\tnull,\n\t\t'base'\n\t);\n\n\tconst [ customFontSizes = [], setCustomFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.custom'\n\t);\n\n\tconst [ defaultFontSizesEnabled ] = useGlobalSetting(\n\t\t'typography.defaultFontSizes'\n\t);\n\n\tconst handleAddFontSize = () => {\n\t\tconst index = getNewIndexFromPresets( customFontSizes, 'custom-' );\n\t\tconst newFontSize = {\n\t\t\t/* translators: %d: font size index */\n\t\t\tname: sprintf( __( 'New Font Size %d' ), index ),\n\t\t\tsize: '16px',\n\t\t\tslug: `custom-${ index }`,\n\t\t};\n\n\t\tsetCustomFontSizes( [ ...customFontSizes, newFontSize ] );\n\t};\n\n\tconst hasSameSizeValues = ( arr1, arr2 ) =>\n\t\tarr1.map( ( item ) => item.size ).join( '' ) ===\n\t\tarr2.map( ( item ) => item.size ).join( '' );\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Font size presets' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Create and edit the presets used for font sizes across the site.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<View>\n\t\t\t\t<Spacer paddingX={ 4 }>\n\t\t\t\t\t<VStack spacing={ 8 }>\n\t\t\t\t\t\t{ !! themeFontSizes?.length && (\n\t\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\t\torigin=\"theme\"\n\t\t\t\t\t\t\t\tsizes={ themeFontSizes }\n\t\t\t\t\t\t\t\tbaseSizes={ baseThemeFontSizes }\n\t\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\t\thasSameSizeValues(\n\t\t\t\t\t\t\t\t\t\tthemeFontSizes,\n\t\t\t\t\t\t\t\t\t\tbaseThemeFontSizes\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetThemeFontSizes(\n\t\t\t\t\t\t\t\t\t\t\t\t\tbaseThemeFontSizes\n\t\t\t\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/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ defaultFontSizesEnabled &&\n\t\t\t\t\t\t\t!! defaultFontSizes?.length && (\n\t\t\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\t\t\t\torigin=\"default\"\n\t\t\t\t\t\t\t\t\tsizes={ defaultFontSizes }\n\t\t\t\t\t\t\t\t\tbaseSizes={ baseDefaultFontSizes }\n\t\t\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\t\t\thasSameSizeValues(\n\t\t\t\t\t\t\t\t\t\t\tdefaultFontSizes,\n\t\t\t\t\t\t\t\t\t\t\tbaseDefaultFontSizes\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetDefaultFontSizes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbaseDefaultFontSizes\n\t\t\t\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/>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\torigin=\"custom\"\n\t\t\t\t\t\t\tsizes={ customFontSizes }\n\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\tcustomFontSizes.length > 0\n\t\t\t\t\t\t\t\t\t? () => setCustomFontSizes( [] )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default FontSizes;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","__","sprintf","isRTL","componentsPrivateApis","__experimentalSpacer","Spacer","__experimentalView","View","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","FlexBlock","Button","Icon","plus","moreVertical","chevronLeft","chevronRight","useState","unlock","DropdownMenuV2","useGlobalSetting","Subtitle","NavigationButtonAsItem","getNewIndexFromPresets","ScreenHeader","ConfirmResetFontSizesDialog","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FontSizeGroup","label","origin","sizes","handleAddFontSize","handleResetFontSizes","isResetDialogOpen","setIsResetDialogOpen","toggleResetDialog","resetDialogText","children","text","confirmButtonText","isOpen","toggleOpen","onConfirm","spacing","justify","align","level","icon","size","onClick","trigger","Item","ItemLabel","length","isBordered","isSeparated","map","path","slug","direction","className","name","FontSizes","themeFontSizes","setThemeFontSizes","baseThemeFontSizes","defaultFontSizes","setDefaultFontSizes","baseDefaultFontSizes","customFontSizes","setCustomFontSizes","defaultFontSizesEnabled","index","newFontSize","hasSameSizeValues","arr1","arr2","item","join","title","description","paddingX","baseSizes"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-sizes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__experimentalSpacer as Spacer,\n\t__experimentalView as View,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tIcon,\n\tplus,\n\tmoreVertical,\n\tchevronLeft,\n\tchevronRight,\n} from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport Subtitle from '../subtitle';\nimport { NavigationButtonAsItem } from '../navigation-button';\nimport { getNewIndexFromPresets } from '../utils';\nimport ScreenHeader from '../header';\nimport ConfirmResetFontSizesDialog from './confirm-reset-font-sizes-dialog';\n\nfunction FontSizeGroup( {\n\tlabel,\n\torigin,\n\tsizes,\n\thandleAddFontSize,\n\thandleResetFontSizes,\n} ) {\n\tconst [ isResetDialogOpen, setIsResetDialogOpen ] = useState( false );\n\n\tconst toggleResetDialog = () => setIsResetDialogOpen( ! isResetDialogOpen );\n\n\tconst resetDialogText =\n\t\torigin === 'custom'\n\t\t\t? __(\n\t\t\t\t\t'Are you sure you want to remove all custom font size presets?'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Are you sure you want to reset all font size presets to their default values?'\n\t\t\t );\n\n\treturn (\n\t\t<>\n\t\t\t{ isResetDialogOpen && (\n\t\t\t\t<ConfirmResetFontSizesDialog\n\t\t\t\t\ttext={ resetDialogText }\n\t\t\t\t\tconfirmButtonText={\n\t\t\t\t\t\torigin === 'custom' ? __( 'Remove' ) : __( 'Reset' )\n\t\t\t\t\t}\n\t\t\t\t\tisOpen={ isResetDialogOpen }\n\t\t\t\t\ttoggleOpen={ toggleResetDialog }\n\t\t\t\t\tonConfirm={ handleResetFontSizes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack justify=\"space-between\" align=\"center\">\n\t\t\t\t\t<Subtitle level={ 3 }>{ label }</Subtitle>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ origin === 'custom' && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Add font size' ) }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={ handleAddFontSize }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! handleResetFontSizes && (\n\t\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Font size presets options'\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}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\tonClick={ toggleResetDialog }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ origin === 'custom'\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Remove font size presets' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset font size presets' ) }\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\n\t\t\t\t{ !! sizes.length && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ sizes.map( ( size ) => (\n\t\t\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\t\t\tkey={ size.slug }\n\t\t\t\t\t\t\t\tpath={ `/typography/font-sizes/${ origin }/${ size.slug }` }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack direction=\"row\">\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-font-size__item\">\n\t\t\t\t\t\t\t\t\t\t{ size.name }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-font-size__item edit-site-font-size__item-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ size.size }\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisRTL()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? chevronLeft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: chevronRight\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</HStack>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nfunction FontSizes() {\n\tconst [ themeFontSizes, setThemeFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.theme'\n\t);\n\n\tconst [ baseThemeFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.theme',\n\t\tnull,\n\t\t'base'\n\t);\n\tconst [ defaultFontSizes, setDefaultFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.default'\n\t);\n\n\tconst [ baseDefaultFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.default',\n\t\tnull,\n\t\t'base'\n\t);\n\n\tconst [ customFontSizes = [], setCustomFontSizes ] = useGlobalSetting(\n\t\t'typography.fontSizes.custom'\n\t);\n\n\tconst [ defaultFontSizesEnabled ] = useGlobalSetting(\n\t\t'typography.defaultFontSizes'\n\t);\n\n\tconst handleAddFontSize = () => {\n\t\tconst index = getNewIndexFromPresets( customFontSizes, 'custom-' );\n\t\tconst newFontSize = {\n\t\t\t/* translators: %d: font size index */\n\t\t\tname: sprintf( __( 'New Font Size %d' ), index ),\n\t\t\tsize: '16px',\n\t\t\tslug: `custom-${ index }`,\n\t\t};\n\n\t\tsetCustomFontSizes( [ ...customFontSizes, newFontSize ] );\n\t};\n\n\tconst hasSameSizeValues = ( arr1, arr2 ) =>\n\t\tarr1.map( ( item ) => item.size ).join( '' ) ===\n\t\tarr2.map( ( item ) => item.size ).join( '' );\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Font size presets' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Create and edit the presets used for font sizes across the site.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<View>\n\t\t\t\t<Spacer paddingX={ 4 }>\n\t\t\t\t\t<VStack spacing={ 8 }>\n\t\t\t\t\t\t{ !! themeFontSizes?.length && (\n\t\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\t\torigin=\"theme\"\n\t\t\t\t\t\t\t\tsizes={ themeFontSizes }\n\t\t\t\t\t\t\t\tbaseSizes={ baseThemeFontSizes }\n\t\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\t\thasSameSizeValues(\n\t\t\t\t\t\t\t\t\t\tthemeFontSizes,\n\t\t\t\t\t\t\t\t\t\tbaseThemeFontSizes\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetThemeFontSizes(\n\t\t\t\t\t\t\t\t\t\t\t\t\tbaseThemeFontSizes\n\t\t\t\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/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ defaultFontSizesEnabled &&\n\t\t\t\t\t\t\t!! defaultFontSizes?.length && (\n\t\t\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\t\t\t\torigin=\"default\"\n\t\t\t\t\t\t\t\t\tsizes={ defaultFontSizes }\n\t\t\t\t\t\t\t\t\tbaseSizes={ baseDefaultFontSizes }\n\t\t\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\t\t\thasSameSizeValues(\n\t\t\t\t\t\t\t\t\t\t\tdefaultFontSizes,\n\t\t\t\t\t\t\t\t\t\t\tbaseDefaultFontSizes\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetDefaultFontSizes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbaseDefaultFontSizes\n\t\t\t\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/>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<FontSizeGroup\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\torigin=\"custom\"\n\t\t\t\t\t\t\tsizes={ customFontSizes }\n\t\t\t\t\t\t\thandleAddFontSize={ handleAddFontSize }\n\t\t\t\t\t\t\thandleResetFontSizes={\n\t\t\t\t\t\t\t\tcustomFontSizes.length > 0\n\t\t\t\t\t\t\t\t\t? () => setCustomFontSizes( [] )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default FontSizes;\n"],"mappings":"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","ignoreList":[]}
|