@wordpress/edit-site 5.34.0 → 6.0.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 +16 -3
- package/build/components/add-new-page/index.js +33 -27
- package/build/components/add-new-page/index.js.map +1 -1
- package/build/components/add-new-pattern/index.js +95 -78
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js +35 -30
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/add-custom-template-modal-content.js +119 -95
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/index.js +89 -73
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/utils.js +36 -17
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/app/index.js +13 -5
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/block-inspector-button.js +5 -4
- package/build/components/block-editor/block-inspector-button.js.map +1 -1
- package/build/components/block-editor/use-editor-iframe-props.js +88 -0
- package/build/components/block-editor/use-editor-iframe-props.js.map +1 -0
- package/build/components/canvas-loader/index.js +13 -12
- package/build/components/canvas-loader/index.js.map +1 -1
- package/build/components/dataviews-actions/index.js +49 -0
- package/build/components/dataviews-actions/index.js.map +1 -0
- package/build/components/editor/index.js +107 -140
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +27 -29
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/error-boundary/index.js +2 -2
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/error-boundary/warning.js +13 -11
- package/build/components/error-boundary/warning.js.map +1 -1
- package/build/components/global-styles/background-panel.js +19 -6
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +19 -17
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/color-indicator-wrapper.js +4 -4
- package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
- package/build/components/global-styles/color-palette-panel.js +32 -28
- package/build/components/global-styles/color-palette-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +2 -2
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +55 -39
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-family-item.js +17 -13
- package/build/components/global-styles/font-family-item.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-variant.js +25 -22
- 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 +7 -30
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-card.js +24 -16
- 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 +195 -152
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-demo.js +14 -12
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +29 -20
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +41 -36
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +153 -109
- 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 +16 -14
- 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 +25 -22
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +40 -34
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +3 -3
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js +41 -38
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build/components/global-styles/header.js +37 -28
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/highlighted-colors.js +3 -4
- package/build/components/global-styles/highlighted-colors.js.map +1 -1
- package/build/components/global-styles/hooks.js +11 -20
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/icon-with-current-color.js +4 -4
- package/build/components/global-styles/icon-with-current-color.js.map +1 -1
- package/build/components/global-styles/navigation-button.js +15 -11
- package/build/components/global-styles/navigation-button.js.map +1 -1
- package/build/components/global-styles/palette.js +39 -32
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preset-colors.js +28 -0
- package/build/components/global-styles/preset-colors.js.map +1 -0
- package/build/components/global-styles/preview-colors.js +23 -25
- package/build/components/global-styles/preview-colors.js.map +1 -1
- package/build/components/global-styles/preview-iframe.js +34 -29
- package/build/components/global-styles/preview-iframe.js.map +1 -1
- package/build/components/global-styles/preview-styles.js +95 -90
- package/build/components/global-styles/preview-styles.js.map +1 -1
- package/build/components/global-styles/root-menu.js +28 -21
- package/build/components/global-styles/root-menu.js.map +1 -1
- package/build/components/global-styles/screen-background.js +6 -4
- package/build/components/global-styles/screen-background.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +33 -27
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +62 -53
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-color-palette.js +29 -19
- package/build/components/global-styles/screen-color-palette.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +18 -17
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-css.js +20 -14
- package/build/components/global-styles/screen-css.js.map +1 -1
- package/build/components/global-styles/screen-layout.js +9 -4
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +52 -42
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +82 -71
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/screen-root.js +76 -42
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-shadows.js +22 -0
- package/build/components/global-styles/screen-shadows.js.map +1 -0
- package/build/components/global-styles/screen-style-variations.js +14 -9
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-typography-element.js +50 -45
- package/build/components/global-styles/screen-typography-element.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +15 -11
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/shadow-utils.js +230 -0
- package/build/components/global-styles/shadow-utils.js.map +1 -0
- package/build/components/global-styles/shadows-edit-panel.js +458 -0
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -0
- package/build/components/global-styles/shadows-panel.js +128 -0
- package/build/components/global-styles/shadows-panel.js.map +1 -0
- package/build/components/global-styles/style-variations-container.js +67 -18
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/subtitle.js +5 -4
- package/build/components/global-styles/subtitle.js.map +1 -1
- package/build/components/global-styles/typography-elements.js +53 -45
- package/build/components/global-styles/typography-elements.js.map +1 -1
- package/build/components/global-styles/typography-example.js +16 -10
- package/build/components/global-styles/typography-example.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +2 -2
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-preview.js +5 -4
- package/build/components/global-styles/typography-preview.js.map +1 -1
- package/build/components/global-styles/ui.js +124 -89
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/utils.js +28 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/global-styles/variations/variation.js +36 -25
- package/build/components/global-styles/variations/variation.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +19 -14
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-panel.js +27 -17
- package/build/components/global-styles/variations/variations-panel.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +37 -31
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +5 -1
- package/build/components/global-styles-renderer/index.js.map +1 -1
- package/build/components/global-styles-sidebar/default-sidebar.js +56 -0
- package/build/components/global-styles-sidebar/default-sidebar.js.map +1 -0
- package/build/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +37 -26
- package/build/components/global-styles-sidebar/index.js.map +1 -0
- package/build/components/layout/index.js +113 -99
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +110 -75
- package/build/components/layout/router.js.map +1 -1
- package/build/components/media/index.js +2 -2
- package/build/components/media/index.js.map +1 -1
- package/build/components/{header-edit-mode/more-menu → more-menu}/index.js +7 -3
- package/build/components/more-menu/index.js.map +1 -0
- package/build/components/{header-edit-mode/more-menu → more-menu}/site-export.js +5 -4
- package/build/components/more-menu/site-export.js.map +1 -0
- package/build/components/{header-edit-mode/more-menu → more-menu}/welcome-guide-menu-item.js +5 -4
- package/build/components/more-menu/welcome-guide-menu-item.js.map +1 -0
- package/build/components/page/header.js +24 -20
- package/build/components/page/header.js.map +1 -1
- package/build/components/page/index.js +14 -12
- package/build/components/page/index.js.map +1 -1
- package/build/components/page-pages/index.js +136 -66
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/delete-category-menu-item.js +23 -20
- package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
- package/build/components/page-patterns/header.js +47 -32
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +120 -125
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/rename-category-menu-item.js +14 -11
- package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +7 -6
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/index.js +83 -72
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/pagination/index.js +51 -42
- package/build/components/pagination/index.js.map +1 -1
- package/build/components/plugin-template-setting-panel/index.js +4 -2
- package/build/components/plugin-template-setting-panel/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +48 -34
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/revisions/index.js +31 -22
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/routes/link.js +5 -4
- package/build/components/routes/link.js.map +1 -1
- package/build/components/save-button/index.js +5 -4
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +12 -11
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/save-panel/index.js +36 -30
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +68 -35
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-button/index.js +4 -4
- package/build/components/sidebar-button/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +56 -48
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +106 -89
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/dataview-item.js +14 -12
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +48 -0
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +21 -22
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-item/index.js +32 -28
- package/build/components/sidebar-navigation-item/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +56 -70
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +24 -17
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-panel/index.js +9 -7
- package/build/components/sidebar-navigation-screen-details-panel/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +5 -4
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +7 -7
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +5 -4
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +57 -45
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +45 -22
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +5 -4
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js +20 -12
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +61 -35
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +10 -8
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +42 -36
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +18 -12
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +36 -22
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +48 -40
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +12 -9
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/category-item.js +12 -10
- package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +62 -77
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/content.js +17 -17
- package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +8 -5
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/site-hub/index.js +83 -74
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/site-icon/index.js +9 -8
- package/build/components/site-icon/index.js.map +1 -1
- package/build/components/style-book/index.js +122 -103
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -30
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/table/index.js +23 -15
- package/build/components/table/index.js.map +1 -1
- package/build/components/template-part-converter/convert-to-regular.js +5 -4
- package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build/components/template-part-converter/convert-to-template-part.js +23 -17
- package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build/components/template-part-converter/index.js +30 -11
- package/build/components/template-part-converter/index.js.map +1 -1
- package/build/components/welcome-guide/editor.js +20 -15
- package/build/components/welcome-guide/editor.js.map +1 -1
- package/build/components/welcome-guide/image.js +13 -12
- package/build/components/welcome-guide/image.js.map +1 -1
- package/build/components/welcome-guide/index.js +4 -2
- package/build/components/welcome-guide/index.js.map +1 -1
- package/build/components/welcome-guide/page.js +18 -13
- package/build/components/welcome-guide/page.js.map +1 -1
- package/build/components/welcome-guide/styles.js +45 -28
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/components/welcome-guide/template.js +18 -13
- package/build/components/welcome-guide/template.js.map +1 -1
- package/build/deprecated.js +4 -4
- package/build/deprecated.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +12 -24
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +2 -116
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +25 -16
- 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 +7 -3
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build/index.js +3 -3
- package/build/index.js.map +1 -1
- package/build/store/private-actions.js +7 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +2 -2
- package/build/store/selectors.js.map +1 -1
- package/build/utils/template-part-create.js +0 -62
- package/build/utils/template-part-create.js.map +1 -1
- package/build/utils/use-activate-theme.js +9 -7
- package/build/utils/use-activate-theme.js.map +1 -1
- package/build-module/components/add-new-page/index.js +34 -27
- package/build-module/components/add-new-page/index.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +98 -78
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +36 -30
- 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 +121 -95
- 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 +91 -73
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +36 -17
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/app/index.js +15 -6
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/block-inspector-button.js +5 -4
- package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
- package/build-module/components/block-editor/use-editor-iframe-props.js +80 -0
- package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -0
- package/build-module/components/canvas-loader/index.js +14 -13
- package/build-module/components/canvas-loader/index.js.map +1 -1
- package/build-module/components/dataviews-actions/index.js +41 -0
- package/build-module/components/dataviews-actions/index.js.map +1 -0
- package/build-module/components/editor/index.js +113 -144
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +29 -30
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/error-boundary/index.js +2 -2
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/error-boundary/warning.js +13 -11
- package/build-module/components/error-boundary/warning.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +18 -6
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +19 -17
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
- package/build-module/components/global-styles/color-indicator-wrapper.js +4 -4
- package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +32 -28
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +2 -2
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +58 -40
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-family-item.js +18 -13
- 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 +26 -22
- 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 +7 -30
- 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 +25 -16
- 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 +198 -153
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-demo.js +14 -12
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +30 -20
- 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 +42 -36
- 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 +157 -111
- 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 +18 -14
- 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 +26 -22
- 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/upload-fonts.js +42 -35
- 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/index.js +3 -3
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +42 -38
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/header.js +38 -28
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/highlighted-colors.js +3 -4
- package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +11 -20
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/icon-with-current-color.js +4 -4
- package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
- package/build-module/components/global-styles/navigation-button.js +16 -11
- package/build-module/components/global-styles/navigation-button.js.map +1 -1
- package/build-module/components/global-styles/palette.js +42 -34
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preset-colors.js +21 -0
- package/build-module/components/global-styles/preset-colors.js.map +1 -0
- package/build-module/components/global-styles/preview-colors.js +23 -25
- package/build-module/components/global-styles/preview-colors.js.map +1 -1
- package/build-module/components/global-styles/preview-iframe.js +36 -29
- package/build-module/components/global-styles/preview-iframe.js.map +1 -1
- package/build-module/components/global-styles/preview-styles.js +96 -90
- package/build-module/components/global-styles/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/root-menu.js +31 -22
- package/build-module/components/global-styles/root-menu.js.map +1 -1
- package/build-module/components/global-styles/screen-background.js +8 -4
- package/build-module/components/global-styles/screen-background.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +35 -27
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +64 -53
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-color-palette.js +31 -19
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +20 -17
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +22 -14
- package/build-module/components/global-styles/screen-css.js.map +1 -1
- package/build-module/components/global-styles/screen-layout.js +11 -4
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +54 -42
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +83 -71
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +78 -42
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-shadows.js +13 -0
- package/build-module/components/global-styles/screen-shadows.js.map +1 -0
- package/build-module/components/global-styles/screen-style-variations.js +16 -9
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-typography-element.js +52 -45
- package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +17 -11
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/shadow-utils.js +221 -0
- package/build-module/components/global-styles/shadow-utils.js.map +1 -0
- package/build-module/components/global-styles/shadows-edit-panel.js +452 -0
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -0
- package/build-module/components/global-styles/shadows-panel.js +121 -0
- package/build-module/components/global-styles/shadows-panel.js.map +1 -0
- package/build-module/components/global-styles/style-variations-container.js +68 -19
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/subtitle.js +5 -4
- package/build-module/components/global-styles/subtitle.js.map +1 -1
- package/build-module/components/global-styles/typography-elements.js +54 -45
- package/build-module/components/global-styles/typography-elements.js.map +1 -1
- package/build-module/components/global-styles/typography-example.js +16 -9
- package/build-module/components/global-styles/typography-example.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +2 -2
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-preview.js +5 -4
- package/build-module/components/global-styles/typography-preview.js.map +1 -1
- package/build-module/components/global-styles/ui.js +126 -89
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/utils.js +27 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/global-styles/variations/variation.js +35 -24
- package/build-module/components/global-styles/variations/variation.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +21 -15
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-panel.js +28 -18
- package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +38 -31
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +5 -1
- package/build-module/components/global-styles-renderer/index.js.map +1 -1
- package/build-module/components/global-styles-sidebar/default-sidebar.js +51 -0
- package/build-module/components/global-styles-sidebar/default-sidebar.js.map +1 -0
- package/build-module/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +38 -26
- package/build-module/components/global-styles-sidebar/index.js.map +1 -0
- package/build-module/components/layout/index.js +116 -100
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +110 -76
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/media/index.js +2 -2
- package/build-module/components/media/index.js.map +1 -1
- package/build-module/components/{header-edit-mode/more-menu → more-menu}/index.js +9 -3
- package/build-module/components/more-menu/index.js.map +1 -0
- package/build-module/components/{header-edit-mode/more-menu → more-menu}/site-export.js +5 -4
- package/build-module/components/more-menu/site-export.js.map +1 -0
- package/build-module/components/{header-edit-mode/more-menu → more-menu}/welcome-guide-menu-item.js +5 -4
- package/build-module/components/more-menu/welcome-guide-menu-item.js.map +1 -0
- package/build-module/components/page/header.js +25 -19
- package/build-module/components/page/header.js.map +1 -1
- package/build-module/components/page/index.js +16 -13
- package/build-module/components/page/index.js.map +1 -1
- package/build-module/components/page-pages/index.js +141 -69
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/delete-category-menu-item.js +25 -20
- package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/header.js +48 -32
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +121 -125
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/rename-category-menu-item.js +16 -11
- package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +7 -6
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/index.js +85 -72
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/pagination/index.js +52 -42
- package/build-module/components/pagination/index.js.map +1 -1
- package/build-module/components/plugin-template-setting-panel/index.js +4 -2
- package/build-module/components/plugin-template-setting-panel/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +51 -35
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/revisions/index.js +31 -21
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/routes/link.js +5 -4
- package/build-module/components/routes/link.js.map +1 -1
- package/build-module/components/save-button/index.js +5 -4
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +12 -11
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +37 -30
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +69 -36
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-button/index.js +4 -4
- package/build-module/components/sidebar-button/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +58 -48
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +108 -89
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +15 -12
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +49 -1
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +23 -22
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-item/index.js +33 -28
- package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +58 -70
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +25 -17
- 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 +10 -7
- package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +5 -4
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +7 -7
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +5 -4
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +59 -45
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +47 -22
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +5 -4
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +20 -12
- 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 +63 -35
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +10 -8
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +43 -36
- 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 +19 -12
- 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 +1 -1
- 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/index.js +36 -22
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +50 -40
- 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 +14 -9
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +12 -10
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +64 -77
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +18 -17
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +8 -5
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +85 -75
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/site-icon/index.js +9 -8
- package/build-module/components/site-icon/index.js.map +1 -1
- package/build-module/components/style-book/index.js +122 -102
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -30
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/table/index.js +24 -15
- package/build-module/components/table/index.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.js +5 -4
- package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js +25 -16
- package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build-module/components/template-part-converter/index.js +30 -11
- package/build-module/components/template-part-converter/index.js.map +1 -1
- package/build-module/components/welcome-guide/editor.js +22 -15
- package/build-module/components/welcome-guide/editor.js.map +1 -1
- package/build-module/components/welcome-guide/image.js +14 -12
- package/build-module/components/welcome-guide/image.js.map +1 -1
- package/build-module/components/welcome-guide/index.js +6 -2
- package/build-module/components/welcome-guide/index.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +20 -13
- package/build-module/components/welcome-guide/page.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +47 -28
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +20 -13
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/deprecated.js +4 -4
- package/build-module/deprecated.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +12 -23
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +4 -118
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +27 -16
- 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 +6 -2
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/index.js +3 -3
- package/build-module/index.js.map +1 -1
- package/build-module/store/private-actions.js +7 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +2 -2
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/template-part-create.js +0 -52
- package/build-module/utils/template-part-create.js.map +1 -1
- package/build-module/utils/use-activate-theme.js +9 -7
- package/build-module/utils/use-activate-theme.js.map +1 -1
- package/build-style/style-rtl.css +486 -981
- package/build-style/style.css +486 -981
- package/package.json +44 -47
- package/src/components/add-new-pattern/index.js +46 -37
- package/src/components/add-new-template/index.js +4 -2
- package/src/components/add-new-template/utils.js +77 -39
- package/src/components/app/index.js +5 -2
- package/src/components/block-editor/style.scss +4 -139
- package/src/components/block-editor/use-editor-iframe-props.js +79 -0
- package/src/components/canvas-loader/index.js +5 -2
- package/src/components/dataviews-actions/index.js +43 -0
- package/src/components/editor/index.js +129 -215
- package/src/components/editor/style.scss +2 -17
- package/src/components/editor-canvas-container/index.js +30 -35
- package/src/components/editor-canvas-container/style.scss +16 -0
- package/src/components/global-styles/background-panel.js +20 -4
- package/src/components/global-styles/color-indicator-wrapper.js +2 -2
- package/src/components/global-styles/color-palette-panel.js +3 -4
- package/src/components/global-styles/font-families.js +25 -18
- package/src/components/global-styles/font-family-item.js +2 -2
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +2 -1
- package/src/components/global-styles/font-library-modal/context.js +6 -44
- package/src/components/global-styles/font-library-modal/font-collection.js +3 -5
- package/src/components/global-styles/font-library-modal/installed-fonts.js +42 -12
- package/src/components/global-styles/font-library-modal/library-font-variant.js +2 -1
- package/src/components/global-styles/font-library-modal/upload-fonts.js +1 -4
- package/src/components/global-styles/font-library-modal/utils/index.js +1 -1
- package/src/components/global-styles/gradients-palette-panel.js +1 -4
- package/src/components/global-styles/hooks.js +10 -36
- package/src/components/global-styles/icon-with-current-color.js +2 -2
- package/src/components/global-styles/palette.js +9 -18
- package/src/components/global-styles/preset-colors.js +18 -0
- package/src/components/global-styles/preview-colors.js +4 -7
- package/src/components/global-styles/root-menu.js +16 -12
- package/src/components/global-styles/screen-block.js +1 -1
- package/src/components/global-styles/screen-color-palette.js +4 -4
- package/src/components/global-styles/screen-colors.js +0 -2
- package/src/components/global-styles/screen-layout.js +9 -2
- package/src/components/global-styles/screen-revisions/index.js +6 -0
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
- package/src/components/global-styles/screen-shadows.js +13 -0
- package/src/components/global-styles/screen-typography.js +1 -1
- package/src/components/global-styles/shadow-utils.js +158 -0
- package/src/components/global-styles/shadows-edit-panel.js +555 -0
- package/src/components/global-styles/shadows-panel.js +147 -0
- package/src/components/global-styles/stories/index.story.js +2 -1
- package/src/components/global-styles/style-variations-container.js +73 -10
- package/src/components/global-styles/style.scss +54 -5
- package/src/components/global-styles/test/shadow-utils.spec.js +251 -0
- package/src/components/global-styles/test/utils.spec.js +59 -0
- package/src/components/global-styles/typography-example.js +2 -1
- package/src/components/global-styles/ui.js +15 -7
- package/src/components/global-styles/utils.js +27 -0
- package/src/components/global-styles/variations/style.scss +17 -30
- package/src/components/global-styles/variations/variation.js +15 -10
- package/src/components/global-styles/variations/variations-color.js +7 -9
- package/src/components/global-styles/variations/variations-panel.js +16 -5
- package/src/components/global-styles/variations/variations-typography.js +2 -1
- package/src/components/global-styles-renderer/index.js +7 -1
- package/src/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +7 -2
- package/src/components/{sidebar-edit-mode → global-styles-sidebar}/style.scss +0 -11
- package/src/components/layout/index.js +10 -10
- package/src/components/layout/router.js +96 -61
- package/src/components/layout/style.scss +10 -6
- package/src/components/{header-edit-mode/more-menu → more-menu}/index.js +1 -1
- package/src/components/page/header.js +17 -13
- package/src/components/page/index.js +3 -7
- package/src/components/page/style.scss +21 -7
- package/src/components/page-pages/index.js +162 -68
- package/src/components/page-pages/style.scss +14 -10
- package/src/components/page-patterns/delete-category-menu-item.js +1 -2
- package/src/components/page-patterns/header.js +45 -33
- package/src/components/page-patterns/index.js +25 -81
- package/src/components/page-patterns/style.scss +21 -14
- package/src/components/page-patterns/use-patterns.js +13 -6
- package/src/components/page-templates/index.js +10 -29
- package/src/components/pagination/index.js +2 -2
- package/src/components/resizable-frame/index.js +17 -5
- package/src/components/revisions/index.js +2 -1
- package/src/components/save-panel/index.js +5 -7
- package/src/components/sidebar/index.js +61 -37
- package/src/components/sidebar-button/index.js +2 -5
- package/src/components/sidebar-dataviews/add-new-view.js +5 -5
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +5 -7
- package/src/components/sidebar-dataviews/dataview-item.js +6 -9
- package/src/components/sidebar-dataviews/default-views.js +61 -1
- package/src/components/sidebar-dataviews/index.js +4 -9
- package/src/components/sidebar-navigation-item/index.js +10 -10
- package/src/components/sidebar-navigation-screen/index.js +7 -31
- package/src/components/sidebar-navigation-screen/style.scss +11 -9
- package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -2
- package/src/components/sidebar-navigation-screen-global-styles/index.js +10 -3
- package/src/components/sidebar-navigation-screen-main/index.js +14 -4
- package/src/components/sidebar-navigation-screen-navigation-menu/index.js +6 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +18 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +8 -4
- package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +6 -13
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -61
- package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -3
- package/src/components/sidebar-navigation-screen-patterns/index.js +8 -29
- package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
- package/src/components/site-hub/index.js +14 -15
- package/src/components/site-hub/style.scss +46 -9
- package/src/components/site-icon/index.js +2 -2
- package/src/components/style-book/index.js +8 -7
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +18 -23
- package/src/components/template-part-converter/convert-to-template-part.js +4 -1
- package/src/components/template-part-converter/index.js +16 -3
- package/src/hooks/commands/use-common-commands.js +12 -23
- package/src/hooks/commands/use-edit-mode-commands.js +4 -118
- package/src/hooks/index.js +0 -1
- package/src/hooks/push-changes-to-global-styles/index.js +2 -1
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +7 -2
- package/src/index.js +1 -1
- package/src/store/private-actions.js +9 -1
- package/src/store/selectors.js +2 -2
- package/src/style.scss +1 -17
- package/src/utils/template-part-create.js +0 -67
- package/src/utils/use-activate-theme.js +5 -5
- package/build/components/block-editor/editor-canvas.js +0 -153
- package/build/components/block-editor/editor-canvas.js.map +0 -1
- package/build/components/block-editor/resizable-editor.js +0 -86
- package/build/components/block-editor/resizable-editor.js.map +0 -1
- package/build/components/block-editor/resize-handle.js +0 -57
- package/build/components/block-editor/resize-handle.js.map +0 -1
- package/build/components/block-editor/site-editor-canvas.js +0 -95
- package/build/components/block-editor/site-editor-canvas.js.map +0 -1
- package/build/components/code-editor/index.js +0 -111
- package/build/components/code-editor/index.js.map +0 -1
- package/build/components/create-template-part-modal/index.js +0 -151
- package/build/components/create-template-part-modal/index.js.map +0 -1
- package/build/components/global-styles/global-styles-provider.js +0 -129
- package/build/components/global-styles/global-styles-provider.js.map +0 -1
- package/build/components/header-edit-mode/document-tools/index.js +0 -68
- package/build/components/header-edit-mode/document-tools/index.js.map +0 -1
- package/build/components/header-edit-mode/index.js +0 -150
- package/build/components/header-edit-mode/index.js.map +0 -1
- package/build/components/header-edit-mode/more-menu/index.js.map +0 -1
- package/build/components/header-edit-mode/more-menu/site-export.js.map +0 -1
- package/build/components/header-edit-mode/more-menu/welcome-guide-menu-item.js.map +0 -1
- package/build/components/page-patterns/dataviews-pattern-actions.js +0 -387
- package/build/components/page-patterns/dataviews-pattern-actions.js.map +0 -1
- package/build/components/pattern-modal/duplicate.js +0 -70
- package/build/components/pattern-modal/duplicate.js.map +0 -1
- package/build/components/pattern-modal/index.js +0 -23
- package/build/components/pattern-modal/index.js.map +0 -1
- package/build/components/pattern-modal/rename.js +0 -45
- package/build/components/pattern-modal/rename.js.map +0 -1
- package/build/components/rename-post-menu-item/index.js +0 -109
- package/build/components/rename-post-menu-item/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/default-sidebar.js +0 -52
- package/build/components/sidebar-edit-mode/default-sidebar.js.map +0 -1
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +0 -1
- package/build/components/sidebar-edit-mode/index.js +0 -147
- package/build/components/sidebar-edit-mode/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/index.js +0 -129
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/page-content.js +0 -34
- package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +0 -46
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +0 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +0 -42
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-panel/hooks.js +0 -86
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-panel/index.js +0 -127
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +0 -1
- package/build/components/sidebar-navigation-screen-page/index.js +0 -163
- package/build/components/sidebar-navigation-screen-page/index.js.map +0 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +0 -127
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +0 -1
- package/build/components/sidebar-navigation-screen-page/status-label.js +0 -65
- package/build/components/sidebar-navigation-screen-page/status-label.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +0 -72
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +0 -38
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +0 -29
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +0 -37
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +0 -45
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +0 -88
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +0 -29
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +0 -138
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +0 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +0 -110
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +0 -1
- package/build/components/sidebar-navigation-screen-template/index.js +0 -118
- package/build/components/sidebar-navigation-screen-template/index.js.map +0 -1
- package/build/components/sidebar-navigation-screen-template/template-areas.js +0 -117
- package/build/components/sidebar-navigation-screen-template/template-areas.js.map +0 -1
- package/build/components/start-template-options/index.js +0 -191
- package/build/components/start-template-options/index.js.map +0 -1
- package/build/components/template-actions/index.js +0 -131
- package/build/components/template-actions/index.js.map +0 -1
- package/build/hooks/components.js +0 -10
- package/build/hooks/components.js.map +0 -1
- package/build/utils/get-is-list-page.js +0 -28
- package/build/utils/get-is-list-page.js.map +0 -1
- package/build/utils/math.js +0 -98
- package/build/utils/math.js.map +0 -1
- package/build-module/components/block-editor/editor-canvas.js +0 -145
- package/build-module/components/block-editor/editor-canvas.js.map +0 -1
- package/build-module/components/block-editor/resizable-editor.js +0 -79
- package/build-module/components/block-editor/resizable-editor.js.map +0 -1
- package/build-module/components/block-editor/resize-handle.js +0 -50
- package/build-module/components/block-editor/resize-handle.js.map +0 -1
- package/build-module/components/block-editor/site-editor-canvas.js +0 -86
- package/build-module/components/block-editor/site-editor-canvas.js.map +0 -1
- package/build-module/components/code-editor/index.js +0 -103
- package/build-module/components/code-editor/index.js.map +0 -1
- package/build-module/components/create-template-part-modal/index.js +0 -143
- package/build-module/components/create-template-part-modal/index.js.map +0 -1
- package/build-module/components/global-styles/global-styles-provider.js +0 -120
- package/build-module/components/global-styles/global-styles-provider.js.map +0 -1
- package/build-module/components/header-edit-mode/document-tools/index.js +0 -61
- package/build-module/components/header-edit-mode/document-tools/index.js.map +0 -1
- package/build-module/components/header-edit-mode/index.js +0 -142
- package/build-module/components/header-edit-mode/index.js.map +0 -1
- package/build-module/components/header-edit-mode/more-menu/index.js.map +0 -1
- package/build-module/components/header-edit-mode/more-menu/site-export.js.map +0 -1
- package/build-module/components/header-edit-mode/more-menu/welcome-guide-menu-item.js.map +0 -1
- package/build-module/components/page-patterns/dataviews-pattern-actions.js +0 -380
- package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +0 -1
- package/build-module/components/pattern-modal/duplicate.js +0 -62
- package/build-module/components/pattern-modal/duplicate.js.map +0 -1
- package/build-module/components/pattern-modal/index.js +0 -14
- package/build-module/components/pattern-modal/index.js.map +0 -1
- package/build-module/components/pattern-modal/rename.js +0 -37
- package/build-module/components/pattern-modal/rename.js.map +0 -1
- package/build-module/components/rename-post-menu-item/index.js +0 -102
- package/build-module/components/rename-post-menu-item/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/default-sidebar.js +0 -45
- package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/index.js +0 -138
- package/build-module/components/sidebar-edit-mode/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +0 -121
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +0 -27
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +0 -39
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +0 -35
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +0 -79
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +0 -119
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +0 -155
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +0 -120
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-page/status-label.js +0 -57
- package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +0 -64
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +0 -30
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +0 -20
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +0 -29
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +0 -36
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +0 -80
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +0 -22
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +0 -130
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +0 -103
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js +0 -110
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-template/template-areas.js +0 -109
- package/build-module/components/sidebar-navigation-screen-template/template-areas.js.map +0 -1
- package/build-module/components/start-template-options/index.js +0 -184
- package/build-module/components/start-template-options/index.js.map +0 -1
- package/build-module/components/template-actions/index.js +0 -123
- package/build-module/components/template-actions/index.js.map +0 -1
- package/build-module/hooks/components.js +0 -7
- package/build-module/hooks/components.js.map +0 -1
- package/build-module/utils/get-is-list-page.js +0 -22
- package/build-module/utils/get-is-list-page.js.map +0 -1
- package/build-module/utils/math.js +0 -92
- package/build-module/utils/math.js.map +0 -1
- package/src/components/block-editor/editor-canvas.js +0 -178
- package/src/components/block-editor/resizable-editor.js +0 -82
- package/src/components/block-editor/resize-handle.js +0 -66
- package/src/components/block-editor/site-editor-canvas.js +0 -107
- package/src/components/code-editor/index.js +0 -94
- package/src/components/code-editor/style.scss +0 -95
- package/src/components/create-template-part-modal/index.js +0 -199
- package/src/components/create-template-part-modal/style.scss +0 -69
- package/src/components/global-styles/global-styles-provider.js +0 -162
- package/src/components/header-edit-mode/document-tools/index.js +0 -68
- package/src/components/header-edit-mode/index.js +0 -190
- package/src/components/header-edit-mode/style.scss +0 -201
- package/src/components/page-patterns/dataviews-pattern-actions.js +0 -439
- package/src/components/pattern-modal/duplicate.js +0 -55
- package/src/components/pattern-modal/index.js +0 -19
- package/src/components/pattern-modal/rename.js +0 -30
- package/src/components/rename-post-menu-item/index.js +0 -138
- package/src/components/sidebar-edit-mode/index.js +0 -173
- package/src/components/sidebar-edit-mode/page-panels/index.js +0 -133
- package/src/components/sidebar-edit-mode/page-panels/page-content.js +0 -29
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +0 -61
- package/src/components/sidebar-edit-mode/settings-header/index.js +0 -43
- package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -14
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +0 -114
- package/src/components/sidebar-edit-mode/template-panel/index.js +0 -134
- package/src/components/sidebar-edit-mode/template-panel/style.scss +0 -16
- package/src/components/sidebar-navigation-screen-page/index.js +0 -204
- package/src/components/sidebar-navigation-screen-page/page-details.js +0 -161
- package/src/components/sidebar-navigation-screen-page/status-label.js +0 -71
- package/src/components/sidebar-navigation-screen-page/style.scss +0 -69
- package/src/components/sidebar-navigation-screen-pattern/index.js +0 -63
- package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -26
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +0 -31
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +0 -21
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +0 -33
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +0 -36
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +0 -98
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +0 -32
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +0 -205
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +0 -144
- package/src/components/sidebar-navigation-screen-template/index.js +0 -133
- package/src/components/sidebar-navigation-screen-template/style.scss +0 -53
- package/src/components/sidebar-navigation-screen-template/template-areas.js +0 -135
- package/src/components/start-template-options/index.js +0 -231
- package/src/components/start-template-options/style.scss +0 -55
- package/src/components/template-actions/index.js +0 -165
- package/src/hooks/components.js +0 -11
- package/src/utils/get-is-list-page.js +0 -25
- package/src/utils/math.js +0 -93
- package/src/utils/test/template-part-create.js +0 -63
- /package/src/components/{sidebar-edit-mode → global-styles-sidebar}/default-sidebar.js +0 -0
- /package/src/components/{header-edit-mode/more-menu → more-menu}/site-export.js +0 -0
- /package/src/components/{header-edit-mode/more-menu → more-menu}/welcome-guide-menu-item.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","__experimentalConfirmDialog","ConfirmDialog","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalNavigatorToParentButton","NavigatorToParentButton","__experimentalUseNavigator","useNavigator","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalVStack","VStack","Flex","Notice","privateApis","componentsPrivateApis","store","coreStore","useSelect","useContext","useEffect","useState","__","sprintf","chevronLeft","unlock","FontLibraryContext","FontCard","LibraryFontVariant","sortFontFaces","ProgressBar","InstalledFonts","baseCustomFonts","libraryFontSelected","baseThemeFonts","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","isInstalling","saveFontFamilies","getFontFacesActivated","fontFamiliesHasChanges","notice","setNotice","fontFamilies","isConfirmDeleteOpen","setIsConfirmDeleteOpen","customFontFamilyId","source","id","canUserDelete","select","canUser","shouldDisplayDeleteButton","handleUninstallClick","getFontFacesToDisplay","font","fontFace","length","fontFamily","fontStyle","fontWeight","getFontCardVariantsText","variantsInstalled","variantsActive","slug","createElement","className","Fragment","initialPath","path","spacing","status","type","onRemove","message","role","map","key","navigatorPath","variantsText","onClick","ConfirmDeleteDialog","isOpen","setIsOpen","justify","icon","size","label","level","name","margin","face","i","isDestructive","variant","disabled","__experimentalIsFocusable","navigator","handleConfirmUninstall","goBack","error","handleCancelUninstall","cancelButtonText","confirmButtonText","onCancel","onConfirm"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorToParentButton as NavigatorToParentButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tNotice,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { chevronLeft } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\tbaseThemeFonts,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tisInstalling,\n\t\tsaveFontFamilies,\n\t\tgetFontFacesActivated,\n\t\tfontFamiliesHasChanges,\n\t\tnotice,\n\t\tsetNotice,\n\t\tfontFamilies,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\tconst customFontFamilyId =\n\t\tlibraryFontSelected?.source === 'custom' && libraryFontSelected?.id;\n\n\tconst canUserDelete = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\treturn (\n\t\t\t\tcustomFontFamilyId &&\n\t\t\t\tcanUser( 'delete', 'font-families', customFontFamilyId )\n\t\t\t);\n\t\t},\n\t\t[ customFontFamilyId ]\n\t);\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected &&\n\t\tlibraryFontSelected?.source !== 'theme' &&\n\t\tcanUserDelete;\n\n\tconst handleUninstallClick = () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst getFontFacesToDisplay = ( font ) => {\n\t\tif ( ! font ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! font.fontFace || ! font.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( font.fontFace );\n\t};\n\n\tconst getFontCardVariantsText = ( font ) => {\n\t\tconst variantsInstalled =\n\t\t\tfont?.fontFace?.length > 0 ? font.fontFace.length : 1;\n\t\tconst variantsActive = getFontFacesActivated(\n\t\t\tfont.slug,\n\t\t\tfont.source\n\t\t).length;\n\t\treturn sprintf(\n\t\t\t/* translators: 1: Active font variants, 2: Total font variants. */\n\t\t\t__( '%1$s/%2$s variants active' ),\n\t\t\tvariantsActive,\n\t\t\tvariantsInstalled\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\thandleSetLibraryFontSelected( libraryFontSelected );\n\t\trefreshLibrary();\n\t}, [] );\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isResolvingLibrary && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isResolvingLibrary && (\n\t\t\t\t<>\n\t\t\t\t\t<NavigatorProvider\n\t\t\t\t\t\tinitialPath={\n\t\t\t\t\t\t\tlibraryFontSelected ? '/fontFamily' : '/'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Installed Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'/fontFamily'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Theme Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'/fontFamily'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\n\t\t\t\t\t\t<NavigatorScreen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<ConfirmDeleteDialog\n\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetIsOpen={ setIsConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetNotice={ setNotice }\n\t\t\t\t\t\t\t\tuninstallFontFamily={ uninstallFontFamily }\n\t\t\t\t\t\t\t\thandleSetLibraryFontSelected={\n\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected\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<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<NavigatorToParentButton\n\t\t\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ libraryFontSelected?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t\t\t{ getFontFacesToDisplay(\n\t\t\t\t\t\t\t\t\tlibraryFontSelected\n\t\t\t\t\t\t\t\t).map( ( face, i ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\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</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\t\t\t\t\t</NavigatorProvider>\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"font-library-modal__tabpanel-layout__footer\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsaveFontFamilies( fontFamilies );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ConfirmDeleteDialog( {\n\tfont,\n\tisOpen,\n\tsetIsOpen,\n\tsetNotice,\n\tuninstallFontFamily,\n\thandleSetLibraryFontSelected,\n} ) {\n\tconst navigator = useNavigator();\n\n\tconst handleConfirmUninstall = async () => {\n\t\tsetNotice( null );\n\t\tsetIsOpen( false );\n\t\ttry {\n\t\t\tawait uninstallFontFamily( font );\n\t\t\tnavigator.goBack();\n\t\t\thandleSetLibraryFontSelected( null );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Font family uninstalled 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:\n\t\t\t\t\t__( 'There was an error uninstalling the font family. ' ) +\n\t\t\t\t\terror.message,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsOpen( false );\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={ handleCancelUninstall }\n\t\t\tonConfirm={ handleConfirmUninstall }\n\t\t>\n\t\t\t{ font &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font and all its variants and assets?'\n\t\t\t\t\t),\n\t\t\t\t\tfont.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default InstalledFonts;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Button","__experimentalConfirmDialog","ConfirmDialog","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalNavigatorToParentButton","NavigatorToParentButton","__experimentalUseNavigator","useNavigator","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalVStack","VStack","Flex","Notice","ProgressBar","useEntityRecord","store","coreStore","useSelect","useContext","useEffect","useState","__","sprintf","chevronLeft","privateApis","blockEditorPrivateApis","FontLibraryContext","FontCard","LibraryFontVariant","sortFontFaces","setUIValuesNeeded","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","InstalledFonts","baseCustomFonts","libraryFontSelected","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","isInstalling","saveFontFamilies","getFontFacesActivated","notice","setNotice","fontFamilies","isConfirmDeleteOpen","setIsConfirmDeleteOpen","baseFontFamilies","undefined","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","fontFamiliesHasChanges","edits","settings","typography","themeFonts","theme","map","f","source","sort","a","b","name","localeCompare","themeFontsSlugs","Set","slug","baseThemeFonts","concat","filter","has","customFontFamilyId","id","canUserDelete","canUser","shouldDisplayDeleteButton","handleUninstallClick","getFontFacesToDisplay","font","fontFace","length","fontFamily","fontStyle","fontWeight","getFontCardVariantsText","variantsInstalled","variantsActive","className","children","initialPath","path","spacing","status","type","onRemove","message","role","navigatorPath","variantsText","onClick","ConfirmDeleteDialog","isOpen","setIsOpen","justify","icon","size","label","level","margin","face","i","isDestructive","variant","disabled","__experimentalIsFocusable","navigator","handleConfirmUninstall","goBack","error","handleCancelUninstall","cancelButtonText","confirmButtonText","onCancel","onConfirm"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorToParentButton as NavigatorToParentButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tNotice,\n\tProgressBar,\n} from '@wordpress/components';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { chevronLeft } from '@wordpress/icons';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport { setUIValuesNeeded } from './utils';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tisInstalling,\n\t\tsaveFontFamilies,\n\t\tgetFontFacesActivated,\n\t\tnotice,\n\t\tsetNotice,\n\t\tfontFamilies,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst globalStylesId = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn __experimentalGetCurrentGlobalStylesId();\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\tconst themeFontsSlugs = new Set( themeFonts.map( ( f ) => f.slug ) );\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? themeFonts.concat(\n\t\t\t\tbaseFontFamilies.theme\n\t\t\t\t\t.filter( ( f ) => ! themeFontsSlugs.has( f.slug ) )\n\t\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t )\n\t\t: [];\n\n\tconst customFontFamilyId =\n\t\tlibraryFontSelected?.source === 'custom' && libraryFontSelected?.id;\n\n\tconst canUserDelete = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\treturn (\n\t\t\t\tcustomFontFamilyId &&\n\t\t\t\tcanUser( 'delete', 'font-families', customFontFamilyId )\n\t\t\t);\n\t\t},\n\t\t[ customFontFamilyId ]\n\t);\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected &&\n\t\tlibraryFontSelected?.source !== 'theme' &&\n\t\tcanUserDelete;\n\n\tconst handleUninstallClick = () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst getFontFacesToDisplay = ( font ) => {\n\t\tif ( ! font ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! font.fontFace || ! font.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( font.fontFace );\n\t};\n\n\tconst getFontCardVariantsText = ( font ) => {\n\t\tconst variantsInstalled =\n\t\t\tfont?.fontFace?.length > 0 ? font.fontFace.length : 1;\n\t\tconst variantsActive = getFontFacesActivated(\n\t\t\tfont.slug,\n\t\t\tfont.source\n\t\t).length;\n\t\treturn sprintf(\n\t\t\t/* translators: 1: Active font variants, 2: Total font variants. */\n\t\t\t__( '%1$s/%2$s variants active' ),\n\t\t\tvariantsActive,\n\t\t\tvariantsInstalled\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\thandleSetLibraryFontSelected( libraryFontSelected );\n\t\trefreshLibrary();\n\t}, [] );\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isResolvingLibrary && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isResolvingLibrary && (\n\t\t\t\t<>\n\t\t\t\t\t<NavigatorProvider\n\t\t\t\t\t\tinitialPath={\n\t\t\t\t\t\t\tlibraryFontSelected ? '/fontFamily' : '/'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Installed Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Theme Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\n\t\t\t\t\t\t<NavigatorScreen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<ConfirmDeleteDialog\n\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetIsOpen={ setIsConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetNotice={ setNotice }\n\t\t\t\t\t\t\t\tuninstallFontFamily={ uninstallFontFamily }\n\t\t\t\t\t\t\t\thandleSetLibraryFontSelected={\n\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected\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<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<NavigatorToParentButton\n\t\t\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ libraryFontSelected?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t\t\t{ getFontFacesToDisplay(\n\t\t\t\t\t\t\t\t\tlibraryFontSelected\n\t\t\t\t\t\t\t\t).map( ( face, i ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\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</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\t\t\t\t\t</NavigatorProvider>\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"font-library-modal__tabpanel-layout__footer\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsaveFontFamilies( fontFamilies );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ConfirmDeleteDialog( {\n\tfont,\n\tisOpen,\n\tsetIsOpen,\n\tsetNotice,\n\tuninstallFontFamily,\n\thandleSetLibraryFontSelected,\n} ) {\n\tconst navigator = useNavigator();\n\n\tconst handleConfirmUninstall = async () => {\n\t\tsetNotice( null );\n\t\tsetIsOpen( false );\n\t\ttry {\n\t\t\tawait uninstallFontFamily( font );\n\t\t\tnavigator.goBack();\n\t\t\thandleSetLibraryFontSelected( null );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Font family uninstalled 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:\n\t\t\t\t\t__( 'There was an error uninstalling the font family. ' ) +\n\t\t\t\t\terror.message,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsOpen( false );\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={ handleCancelUninstall }\n\t\t\tonConfirm={ handleConfirmUninstall }\n\t\t>\n\t\t\t{ font &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font and all its variants and assets?'\n\t\t\t\t\t),\n\t\t\t\t\tfont.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default InstalledFonts;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* WordPress dependencies
|
|
4
3
|
*/
|
|
@@ -9,6 +8,9 @@ import { __experimentalVStack as VStack, __experimentalSpacer as Spacer } from '
|
|
|
9
8
|
*/
|
|
10
9
|
import LibraryFontVariant from './library-font-variant';
|
|
11
10
|
import { sortFontFaces } from './utils/sort-font-faces';
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
12
14
|
function LibraryFontDetails({
|
|
13
15
|
font
|
|
14
16
|
}) {
|
|
@@ -17,19 +19,21 @@ function LibraryFontDetails({
|
|
|
17
19
|
fontStyle: 'normal',
|
|
18
20
|
fontWeight: '400'
|
|
19
21
|
}];
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
23
|
+
children: [/*#__PURE__*/_jsx(Spacer, {
|
|
24
|
+
margin: 4
|
|
25
|
+
}), /*#__PURE__*/_jsxs(VStack, {
|
|
26
|
+
spacing: 0,
|
|
27
|
+
children: [/*#__PURE__*/_jsx(Spacer, {
|
|
28
|
+
margin: 8
|
|
29
|
+
}), fontFaces.map((face, i) => /*#__PURE__*/_jsx(LibraryFontVariant, {
|
|
30
|
+
font: font,
|
|
31
|
+
face: face
|
|
32
|
+
}, `face${i}`))]
|
|
33
|
+
}), /*#__PURE__*/_jsx(Spacer, {
|
|
34
|
+
margin: 8
|
|
35
|
+
})]
|
|
36
|
+
});
|
|
33
37
|
}
|
|
34
38
|
export default LibraryFontDetails;
|
|
35
39
|
//# sourceMappingURL=library-font-details.js.map
|
package/build-module/components/global-styles/font-library-modal/library-font-details.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","__experimentalSpacer","Spacer","LibraryFontVariant","sortFontFaces","LibraryFontDetails","font","fontFaces","fontFace","length","fontFamily","fontStyle","fontWeight","
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","__experimentalSpacer","Spacer","LibraryFontVariant","sortFontFaces","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","LibraryFontDetails","font","fontFaces","fontFace","length","fontFamily","fontStyle","fontWeight","children","margin","spacing","map","face","i"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/library-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction LibraryFontDetails( { font } ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 8 } />\n\t\t</>\n\t);\n}\n\nexport default LibraryFontDetails;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,aAAa,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAExD,SAASC,kBAAkBA,CAAE;EAAEC;AAAK,CAAC,EAAG;EACvC,MAAMC,SAAS,GACdD,IAAI,CAACE,QAAQ,IAAIF,IAAI,CAACE,QAAQ,CAACC,MAAM,GAClCX,aAAa,CAAEQ,IAAI,CAACE,QAAS,CAAC,GAC9B,CACA;IACCE,UAAU,EAAEJ,IAAI,CAACI,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,oBACCV,KAAA,CAAAE,SAAA;IAAAS,QAAA,gBACCb,IAAA,CAACJ,MAAM;MAACkB,MAAM,EAAG;IAAG,CAAE,CAAC,eACvBZ,KAAA,CAACR,MAAM;MAACqB,OAAO,EAAG,CAAG;MAAAF,QAAA,gBACpBb,IAAA,CAACJ,MAAM;QAACkB,MAAM,EAAG;MAAG,CAAE,CAAC,EACrBP,SAAS,CAACS,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,kBACzBlB,IAAA,CAACH,kBAAkB;QAClBS,IAAI,EAAGA,IAAM;QACbW,IAAI,EAAGA;MAAM,GACN,OAAOC,CAAG,EACjB,CACA,CAAC;IAAA,CACI,CAAC,eACTlB,IAAA,CAACJ,MAAM;MAACkB,MAAM,EAAG;IAAG,CAAE,CAAC;EAAA,CACtB,CAAC;AAEL;AAEA,eAAeT,kBAAkB","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* WordPress dependencies
|
|
4
3
|
*/
|
|
@@ -12,6 +11,11 @@ import { getFontFaceVariantName } from './utils';
|
|
|
12
11
|
import { FontLibraryContext } from './context';
|
|
13
12
|
import FontDemo from './font-demo';
|
|
14
13
|
import { unlock } from '../../../lock-unlock';
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
const {
|
|
17
|
+
kebabCase
|
|
18
|
+
} = unlock(componentsPrivateApis);
|
|
15
19
|
function LibraryFontVariant({
|
|
16
20
|
face,
|
|
17
21
|
font
|
|
@@ -29,28 +33,28 @@ function LibraryFontVariant({
|
|
|
29
33
|
toggleActivateFont(font);
|
|
30
34
|
};
|
|
31
35
|
const displayName = font.name + ' ' + getFontFaceVariantName(face);
|
|
32
|
-
const {
|
|
33
|
-
kebabCase
|
|
34
|
-
} = unlock(componentsPrivateApis);
|
|
35
36
|
const checkboxId = kebabCase(`${font.slug}-${getFontFaceVariantName(face)}`);
|
|
36
|
-
return
|
|
37
|
-
className: "font-library-modal__font-card"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
37
|
+
return /*#__PURE__*/_jsx("div", {
|
|
38
|
+
className: "font-library-modal__font-card",
|
|
39
|
+
children: /*#__PURE__*/_jsxs(Flex, {
|
|
40
|
+
justify: "flex-start",
|
|
41
|
+
align: "center",
|
|
42
|
+
gap: "1rem",
|
|
43
|
+
children: [/*#__PURE__*/_jsx(CheckboxControl, {
|
|
44
|
+
checked: isInstalled,
|
|
45
|
+
onChange: handleToggleActivation,
|
|
46
|
+
__nextHasNoMarginBottom: true,
|
|
47
|
+
id: checkboxId
|
|
48
|
+
}), /*#__PURE__*/_jsx("label", {
|
|
49
|
+
htmlFor: checkboxId,
|
|
50
|
+
children: /*#__PURE__*/_jsx(FontDemo, {
|
|
51
|
+
font: face,
|
|
52
|
+
text: displayName,
|
|
53
|
+
onClick: handleToggleActivation
|
|
54
|
+
})
|
|
55
|
+
})]
|
|
56
|
+
})
|
|
57
|
+
});
|
|
54
58
|
}
|
|
55
59
|
export default LibraryFontVariant;
|
|
56
60
|
//# sourceMappingURL=library-font-variant.js.map
|
package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useContext","CheckboxControl","Flex","privateApis","componentsPrivateApis","getFontFaceVariantName","FontLibraryContext","FontDemo","unlock","LibraryFontVariant","face","font","isFontActivated","toggleActivateFont","isInstalled","fontFace","length","slug","fontStyle","fontWeight","source","handleToggleActivation","displayName","name","
|
|
1
|
+
{"version":3,"names":["useContext","CheckboxControl","Flex","privateApis","componentsPrivateApis","getFontFaceVariantName","FontLibraryContext","FontDemo","unlock","jsx","_jsx","jsxs","_jsxs","kebabCase","LibraryFontVariant","face","font","isFontActivated","toggleActivateFont","isInstalled","fontFace","length","slug","fontStyle","fontWeight","source","handleToggleActivation","displayName","name","checkboxId","className","children","justify","align","gap","checked","onChange","__nextHasNoMarginBottom","id","htmlFor","text","onClick"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/library-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\tCheckboxControl,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\nimport { FontLibraryContext } from './context';\nimport FontDemo from './font-demo';\nimport { unlock } from '../../../lock-unlock';\n\nconst { kebabCase } = unlock( componentsPrivateApis );\n\nfunction LibraryFontVariant( { face, font } ) {\n\tconst { isFontActivated, toggleActivateFont } =\n\t\tuseContext( FontLibraryContext );\n\n\tconst isInstalled =\n\t\tfont?.fontFace?.length > 0\n\t\t\t? isFontActivated(\n\t\t\t\t\tfont.slug,\n\t\t\t\t\tface.fontStyle,\n\t\t\t\t\tface.fontWeight,\n\t\t\t\t\tfont.source\n\t\t\t )\n\t\t\t: isFontActivated( font.slug, null, null, font.source );\n\n\tconst handleToggleActivation = () => {\n\t\tif ( font?.fontFace?.length > 0 ) {\n\t\t\ttoggleActivateFont( font, face );\n\t\t\treturn;\n\t\t}\n\t\ttoggleActivateFont( font );\n\t};\n\n\tconst displayName = font.name + ' ' + getFontFaceVariantName( face );\n\tconst checkboxId = kebabCase(\n\t\t`${ font.slug }-${ getFontFaceVariantName( face ) }`\n\t);\n\n\treturn (\n\t\t<div className=\"font-library-modal__font-card\">\n\t\t\t<Flex justify=\"flex-start\" align=\"center\" gap=\"1rem\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tchecked={ isInstalled }\n\t\t\t\t\tonChange={ handleToggleActivation }\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ checkboxId }\n\t\t\t\t/>\n\t\t\t\t<label htmlFor={ checkboxId }>\n\t\t\t\t\t<FontDemo\n\t\t\t\t\t\tfont={ face }\n\t\t\t\t\t\ttext={ displayName }\n\t\t\t\t\t\tonClick={ handleToggleActivation }\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default LibraryFontVariant;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;AAC/C,SACCC,eAAe,EACfC,IAAI,EACJC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;;AAE9B;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,SAAS;AAChD,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,MAAM,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,MAAM,CAAEJ,qBAAsB,CAAC;AAErD,SAASU,kBAAkBA,CAAE;EAAEC,IAAI;EAAEC;AAAK,CAAC,EAAG;EAC7C,MAAM;IAAEC,eAAe;IAAEC;EAAmB,CAAC,GAC5ClB,UAAU,CAAEM,kBAAmB,CAAC;EAEjC,MAAMa,WAAW,GAChBH,IAAI,EAAEI,QAAQ,EAAEC,MAAM,GAAG,CAAC,GACvBJ,eAAe,CACfD,IAAI,CAACM,IAAI,EACTP,IAAI,CAACQ,SAAS,EACdR,IAAI,CAACS,UAAU,EACfR,IAAI,CAACS,MACL,CAAC,GACDR,eAAe,CAAED,IAAI,CAACM,IAAI,EAAE,IAAI,EAAE,IAAI,EAAEN,IAAI,CAACS,MAAO,CAAC;EAEzD,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACpC,IAAKV,IAAI,EAAEI,QAAQ,EAAEC,MAAM,GAAG,CAAC,EAAG;MACjCH,kBAAkB,CAAEF,IAAI,EAAED,IAAK,CAAC;MAChC;IACD;IACAG,kBAAkB,CAAEF,IAAK,CAAC;EAC3B,CAAC;EAED,MAAMW,WAAW,GAAGX,IAAI,CAACY,IAAI,GAAG,GAAG,GAAGvB,sBAAsB,CAAEU,IAAK,CAAC;EACpE,MAAMc,UAAU,GAAGhB,SAAS,CAC1B,GAAGG,IAAI,CAACM,IAAM,IAAIjB,sBAAsB,CAAEU,IAAK,CAAG,EACpD,CAAC;EAED,oBACCL,IAAA;IAAKoB,SAAS,EAAC,+BAA+B;IAAAC,QAAA,eAC7CnB,KAAA,CAACV,IAAI;MAAC8B,OAAO,EAAC,YAAY;MAACC,KAAK,EAAC,QAAQ;MAACC,GAAG,EAAC,MAAM;MAAAH,QAAA,gBACnDrB,IAAA,CAACT,eAAe;QACfkC,OAAO,EAAGhB,WAAa;QACvBiB,QAAQ,EAAGV,sBAAwB;QACnCW,uBAAuB;QACvBC,EAAE,EAAGT;MAAY,CACjB,CAAC,eACFnB,IAAA;QAAO6B,OAAO,EAAGV,UAAY;QAAAE,QAAA,eAC5BrB,IAAA,CAACH,QAAQ;UACRS,IAAI,EAAGD,IAAM;UACbyB,IAAI,EAAGb,WAAa;UACpBc,OAAO,EAAGf;QAAwB,CAClC;MAAC,CACI,CAAC;IAAA,CACH;EAAC,CACH,CAAC;AAER;AAEA,eAAeZ,kBAAkB","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* WordPress dependencies
|
|
4
3
|
*/
|
|
5
4
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { __experimentalSpacer as Spacer, __experimentalText as Text, __experimentalVStack as VStack, Button, DropZone, Notice, FormFileUpload, FlexItem,
|
|
5
|
+
import { __experimentalSpacer as Spacer, __experimentalText as Text, __experimentalVStack as VStack, Button, DropZone, Notice, FormFileUpload, FlexItem, ProgressBar } from '@wordpress/components';
|
|
7
6
|
import { useContext, useState } from '@wordpress/element';
|
|
8
7
|
|
|
9
8
|
/**
|
|
@@ -14,10 +13,8 @@ import { FontLibraryContext } from './context';
|
|
|
14
13
|
import { Font } from '../../../../lib/lib-font.browser';
|
|
15
14
|
import makeFamiliesFromFaces from './utils/make-families-from-faces';
|
|
16
15
|
import { loadFontFaceInBrowser } from './utils';
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
ProgressBar
|
|
20
|
-
} = unlock(componentsPrivateApis);
|
|
16
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
18
|
function UploadFonts() {
|
|
22
19
|
const {
|
|
23
20
|
installFonts,
|
|
@@ -169,35 +166,45 @@ function UploadFonts() {
|
|
|
169
166
|
}
|
|
170
167
|
setIsUploading(false);
|
|
171
168
|
};
|
|
172
|
-
return
|
|
173
|
-
className: "font-library-modal__tabpanel-layout"
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
169
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
170
|
+
className: "font-library-modal__tabpanel-layout",
|
|
171
|
+
children: [/*#__PURE__*/_jsx(DropZone, {
|
|
172
|
+
onFilesDrop: handleDropZone
|
|
173
|
+
}), /*#__PURE__*/_jsxs(VStack, {
|
|
174
|
+
className: "font-library-modal__local-fonts",
|
|
175
|
+
children: [notice && /*#__PURE__*/_jsxs(Notice, {
|
|
176
|
+
status: notice.type,
|
|
177
|
+
__unstableHTML: true,
|
|
178
|
+
onRemove: () => setNotice(null),
|
|
179
|
+
children: [notice.message, notice.errors && /*#__PURE__*/_jsx("ul", {
|
|
180
|
+
children: notice.errors.map((error, index) => /*#__PURE__*/_jsx("li", {
|
|
181
|
+
children: error
|
|
182
|
+
}, index))
|
|
183
|
+
})]
|
|
184
|
+
}), isUploading && /*#__PURE__*/_jsx(FlexItem, {
|
|
185
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
186
|
+
className: "font-library-modal__upload-area",
|
|
187
|
+
children: /*#__PURE__*/_jsx(ProgressBar, {})
|
|
188
|
+
})
|
|
189
|
+
}), !isUploading && /*#__PURE__*/_jsx(FormFileUpload, {
|
|
190
|
+
accept: ALLOWED_FILE_EXTENSIONS.map(ext => `.${ext}`).join(','),
|
|
191
|
+
multiple: true,
|
|
192
|
+
onChange: onFilesUpload,
|
|
193
|
+
render: ({
|
|
194
|
+
openFileDialog
|
|
195
|
+
}) => /*#__PURE__*/_jsx(Button, {
|
|
196
|
+
className: "font-library-modal__upload-area",
|
|
197
|
+
onClick: openFileDialog,
|
|
198
|
+
children: __('Upload font')
|
|
199
|
+
})
|
|
200
|
+
}), /*#__PURE__*/_jsx(Spacer, {
|
|
201
|
+
margin: 2
|
|
202
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
203
|
+
className: "font-library-modal__upload-area__text",
|
|
204
|
+
children: __('Uploaded fonts appear in your library and can be used in your theme. Supported formats: .ttf, .otf, .woff, and .woff2.')
|
|
205
|
+
})]
|
|
206
|
+
})]
|
|
207
|
+
});
|
|
201
208
|
}
|
|
202
209
|
export default UploadFonts;
|
|
203
210
|
//# sourceMappingURL=upload-fonts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalVStack","VStack","Button","DropZone","Notice","FormFileUpload","FlexItem","privateApis","componentsPrivateApis","useContext","useState","ALLOWED_FILE_EXTENSIONS","FontLibraryContext","Font","makeFamiliesFromFaces","loadFontFaceInBrowser","unlock","ProgressBar","UploadFonts","installFonts","notice","setNotice","isUploading","setIsUploading","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","createElement","className","onFilesDrop","status","__unstableHTML","onRemove","index","key","accept","ext","join","multiple","onChange","render","openFileDialog","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\tprivateApis as componentsPrivateApis,\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';\nimport { unlock } from '../../../lock-unlock';\n\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction UploadFonts() {\n\tconst { installFonts, notice, setNotice } =\n\t\tuseContext( FontLibraryContext );\n\tconst [ isUploading, setIsUploading ] = 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\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","notice","setNotice","isUploading","setIsUploading","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","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, notice, setNotice } =\n\t\tuseContext( FontLibraryContext );\n\tconst [ isUploading, setIsUploading ] = 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\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":[]}
|
|
@@ -17,6 +17,9 @@ import { formatFontFaceName } from './preview-styles';
|
|
|
17
17
|
const {
|
|
18
18
|
File
|
|
19
19
|
} = window;
|
|
20
|
+
const {
|
|
21
|
+
kebabCase
|
|
22
|
+
} = unlock(componentsPrivateApis);
|
|
20
23
|
export function setUIValuesNeeded(font, extraValues = {}) {
|
|
21
24
|
if (!font.name && (font.fontFamily || font.slug)) {
|
|
22
25
|
font.name = font.fontFamily || font.slug;
|
|
@@ -161,9 +164,6 @@ export function getDisplaySrcFromFontFace(input) {
|
|
|
161
164
|
}
|
|
162
165
|
export function makeFontFamilyFormData(fontFamily) {
|
|
163
166
|
const formData = new FormData();
|
|
164
|
-
const {
|
|
165
|
-
kebabCase
|
|
166
|
-
} = unlock(componentsPrivateApis);
|
|
167
167
|
const {
|
|
168
168
|
fontFace,
|
|
169
169
|
category,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","componentsPrivateApis","FONT_WEIGHTS","FONT_STYLES","unlock","fetchInstallFontFace","formatFontFaceName","File","window","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","kebabCase","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;\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\tconst { kebabCase } = unlock( componentsPrivateApis );\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":[]}
|