@wordpress/block-editor 15.6.1 → 15.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/background-image-control/index.js +2 -2
- package/build/components/background-image-control/index.js.map +2 -2
- package/build/components/block-quick-navigation/index.js +1 -0
- package/build/components/block-quick-navigation/index.js.map +2 -2
- package/build/components/block-toolbar/switch-section-style.js +2 -5
- package/build/components/block-toolbar/switch-section-style.js.map +2 -2
- package/build/components/global-styles/border-panel.js +2 -1
- package/build/components/global-styles/border-panel.js.map +2 -2
- package/build/components/global-styles/color-panel.js +2 -1
- package/build/components/global-styles/color-panel.js.map +2 -2
- package/build/components/global-styles/dimensions-panel.js +3 -2
- package/build/components/global-styles/dimensions-panel.js.map +2 -2
- package/build/components/global-styles/filters-panel.js +2 -1
- package/build/components/global-styles/filters-panel.js.map +2 -2
- package/build/components/global-styles/hooks.js +0 -179
- package/build/components/global-styles/hooks.js.map +3 -3
- package/build/components/global-styles/index.js +0 -29
- package/build/components/global-styles/index.js.map +2 -2
- package/build/components/global-styles/typography-panel.js +2 -1
- package/build/components/global-styles/typography-panel.js.map +2 -2
- package/build/components/global-styles/typography-utils.js +2 -49
- package/build/components/global-styles/typography-utils.js.map +2 -2
- package/build/components/global-styles/utils.js +0 -396
- package/build/components/global-styles/utils.js.map +3 -3
- package/build/components/inserter/media-tab/media-tab.js +33 -1
- package/build/components/inserter/media-tab/media-tab.js.map +3 -3
- package/build/components/inserter/tips.js +0 -2
- package/build/components/inserter/tips.js.map +2 -2
- package/build/components/media-placeholder/index.js +31 -1
- package/build/components/media-placeholder/index.js.map +3 -3
- package/build/components/media-replace-flow/index.js +29 -1
- package/build/components/media-replace-flow/index.js.map +3 -3
- package/build/components/{global-styles/context.js → media-upload-modal/index.js} +8 -23
- package/build/components/media-upload-modal/index.js.map +7 -0
- package/build/hooks/allowed-blocks.js +3 -8
- package/build/hooks/allowed-blocks.js.map +3 -3
- package/build/hooks/block-style-variation.js +10 -23
- package/build/hooks/block-style-variation.js.map +2 -2
- package/build/hooks/duotone.js +3 -3
- package/build/hooks/duotone.js.map +2 -2
- package/build/hooks/fit-text.js +2 -2
- package/build/hooks/fit-text.js.map +2 -2
- package/build/hooks/font-size.js +2 -2
- package/build/hooks/font-size.js.map +2 -2
- package/build/hooks/use-typography-props.js +2 -2
- package/build/hooks/use-typography-props.js.map +2 -2
- package/build/private-apis.js +3 -1
- package/build/private-apis.js.map +3 -3
- package/build-module/components/background-image-control/index.js +1 -1
- package/build-module/components/background-image-control/index.js.map +2 -2
- package/build-module/components/block-quick-navigation/index.js +1 -0
- package/build-module/components/block-quick-navigation/index.js.map +2 -2
- package/build-module/components/block-toolbar/switch-section-style.js +2 -5
- package/build-module/components/block-toolbar/switch-section-style.js.map +2 -2
- package/build-module/components/global-styles/border-panel.js +2 -1
- package/build-module/components/global-styles/border-panel.js.map +2 -2
- package/build-module/components/global-styles/color-panel.js +2 -1
- package/build-module/components/global-styles/color-panel.js.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.js +2 -1
- package/build-module/components/global-styles/dimensions-panel.js.map +2 -2
- package/build-module/components/global-styles/filters-panel.js +2 -1
- package/build-module/components/global-styles/filters-panel.js.map +2 -2
- package/build-module/components/global-styles/hooks.js +1 -167
- package/build-module/components/global-styles/hooks.js.map +2 -2
- package/build-module/components/global-styles/index.js +1 -29
- package/build-module/components/global-styles/index.js.map +2 -2
- package/build-module/components/global-styles/typography-panel.js +2 -1
- package/build-module/components/global-styles/typography-panel.js.map +2 -2
- package/build-module/components/global-styles/typography-utils.js +1 -49
- package/build-module/components/global-styles/typography-utils.js.map +2 -2
- package/build-module/components/global-styles/utils.js +0 -372
- package/build-module/components/global-styles/utils.js.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.js +34 -2
- package/build-module/components/inserter/media-tab/media-tab.js.map +2 -2
- package/build-module/components/inserter/tips.js +0 -2
- package/build-module/components/inserter/tips.js.map +2 -2
- package/build-module/components/media-placeholder/index.js +31 -1
- package/build-module/components/media-placeholder/index.js.map +2 -2
- package/build-module/components/media-replace-flow/index.js +29 -1
- package/build-module/components/media-replace-flow/index.js.map +2 -2
- package/build-module/components/media-upload-modal/index.js +7 -0
- package/build-module/components/media-upload-modal/index.js.map +7 -0
- package/build-module/hooks/allowed-blocks.js +3 -8
- package/build-module/hooks/allowed-blocks.js.map +2 -2
- package/build-module/hooks/block-style-variation.js +8 -25
- package/build-module/hooks/block-style-variation.js.map +2 -2
- package/build-module/hooks/duotone.js +3 -3
- package/build-module/hooks/duotone.js.map +2 -2
- package/build-module/hooks/fit-text.js +2 -2
- package/build-module/hooks/fit-text.js.map +2 -2
- package/build-module/hooks/font-size.js +1 -1
- package/build-module/hooks/font-size.js.map +2 -2
- package/build-module/hooks/use-typography-props.js +1 -1
- package/build-module/hooks/use-typography-props.js.map +2 -2
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +2 -2
- package/build-style/style-rtl.css +10 -6
- package/build-style/style.css +10 -6
- package/package.json +36 -35
- package/src/components/background-image-control/index.js +1 -1
- package/src/components/block-card/style.scss +1 -1
- package/src/components/block-navigation/style.scss +1 -1
- package/src/components/block-quick-navigation/index.js +1 -0
- package/src/components/block-quick-navigation/style.scss +5 -0
- package/src/components/block-switcher/style.scss +1 -1
- package/src/components/block-toolbar/switch-section-style.js +2 -5
- package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
- package/src/components/global-styles/border-panel.js +2 -1
- package/src/components/global-styles/color-panel.js +2 -1
- package/src/components/global-styles/color-panel.native.js +1 -1
- package/src/components/global-styles/dimensions-panel.js +2 -1
- package/src/components/global-styles/filters-panel.js +2 -1
- package/src/components/global-styles/hooks.js +1 -200
- package/src/components/global-styles/index.js +1 -17
- package/src/components/global-styles/test/typography-utils.js +0 -806
- package/src/components/global-styles/typography-panel.js +2 -1
- package/src/components/global-styles/typography-utils.js +0 -133
- package/src/components/global-styles/utils.js +0 -568
- package/src/components/inserter/media-tab/media-tab.js +44 -2
- package/src/components/inserter/style.scss +2 -2
- package/src/components/inserter/tips.js +0 -2
- package/src/components/media-placeholder/index.js +41 -1
- package/src/components/media-replace-flow/index.js +39 -1
- package/src/components/media-upload-modal/index.js +18 -0
- package/src/components/multi-selection-inspector/style.scss +1 -1
- package/src/hooks/allowed-blocks.js +3 -11
- package/src/hooks/block-style-variation.js +8 -28
- package/src/hooks/duotone.js +3 -3
- package/src/hooks/fit-text.js +2 -2
- package/src/hooks/font-size.js +1 -1
- package/src/hooks/use-typography-props.js +1 -1
- package/src/private-apis.js +2 -0
- package/src/style.scss +1 -0
- package/tsconfig.json +2 -0
- package/build/components/global-styles/context.js.map +0 -7
- package/build/components/global-styles/get-block-css-selector.js +0 -78
- package/build/components/global-styles/get-block-css-selector.js.map +0 -7
- package/build/components/global-styles/get-global-styles-changes.js +0 -216
- package/build/components/global-styles/get-global-styles-changes.js.map +0 -7
- package/build/components/global-styles/use-global-styles-output.js +0 -998
- package/build/components/global-styles/use-global-styles-output.js.map +0 -7
- package/build-module/components/global-styles/context.js +0 -17
- package/build-module/components/global-styles/context.js.map +0 -7
- package/build-module/components/global-styles/get-block-css-selector.js +0 -54
- package/build-module/components/global-styles/get-block-css-selector.js.map +0 -7
- package/build-module/components/global-styles/get-global-styles-changes.js +0 -182
- package/build-module/components/global-styles/get-global-styles-changes.js.map +0 -7
- package/build-module/components/global-styles/use-global-styles-output.js +0 -979
- package/build-module/components/global-styles/use-global-styles-output.js.map +0 -7
- package/src/components/global-styles/README.md +0 -190
- package/src/components/global-styles/context.js +0 -16
- package/src/components/global-styles/get-block-css-selector.js +0 -114
- package/src/components/global-styles/get-global-styles-changes.js +0 -252
- package/src/components/global-styles/test/get-global-styles-changes.js +0 -290
- package/src/components/global-styles/test/use-global-styles-output.js +0 -1131
- package/src/components/global-styles/test/utils.js +0 -499
- package/src/components/global-styles/use-global-styles-output.js +0 -1487
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@wordpress/components';
|
|
10
10
|
import { __ } from '@wordpress/i18n';
|
|
11
11
|
import { useCallback, useMemo, useEffect } from '@wordpress/element';
|
|
12
|
+
import { getValueFromVariable } from '@wordpress/global-styles-engine';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Internal dependencies
|
|
@@ -21,7 +22,7 @@ import TextAlignmentControl from '../text-alignment-control';
|
|
|
21
22
|
import TextTransformControl from '../text-transform-control';
|
|
22
23
|
import TextDecorationControl from '../text-decoration-control';
|
|
23
24
|
import WritingModeControl from '../writing-mode-control';
|
|
24
|
-
import {
|
|
25
|
+
import { useToolsPanelDropdownMenuProps } from './utils';
|
|
25
26
|
import { setImmutably } from '../../utils/object';
|
|
26
27
|
import {
|
|
27
28
|
getMergedFontFamiliesAndFontFamilyFaces,
|
|
@@ -1,141 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The fluid utilities must match the backend equivalent.
|
|
3
|
-
* See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php
|
|
4
|
-
* ---------------------------------------------------------------
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
1
|
/**
|
|
8
2
|
* Internal dependencies
|
|
9
3
|
*/
|
|
10
|
-
import {
|
|
11
|
-
getComputedFluidTypographyValue,
|
|
12
|
-
getTypographyValueAndUnit,
|
|
13
|
-
} from '../font-sizes/fluid-utils';
|
|
14
4
|
import { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';
|
|
15
5
|
|
|
16
|
-
/**
|
|
17
|
-
* @typedef {Object} FluidPreset
|
|
18
|
-
* @property {string|undefined} max A maximum font size value.
|
|
19
|
-
* @property {?string|undefined} min A minimum font size value.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @typedef {Object} Preset
|
|
24
|
-
* @property {?string|?number} size A default font size.
|
|
25
|
-
* @property {string} name A font size name, displayed in the UI.
|
|
26
|
-
* @property {string} slug A font size slug
|
|
27
|
-
* @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size.
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @typedef {Object} TypographySettings
|
|
32
|
-
* @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified.
|
|
33
|
-
* @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified.
|
|
34
|
-
* @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.
|
|
35
|
-
* @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.
|
|
36
|
-
* @property {?string} minFontSize The smallest a calculated font size may be. Optional.
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Returns a font-size value based on a given font-size preset.
|
|
41
|
-
* Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.
|
|
42
|
-
*
|
|
43
|
-
* The Core PHP equivalent is wp_get_typography_font_size_value().
|
|
44
|
-
*
|
|
45
|
-
* @param {Preset} preset
|
|
46
|
-
* @param {Object} settings
|
|
47
|
-
* @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.
|
|
48
|
-
* @param {?Object} settings.typography.layout Layout options.
|
|
49
|
-
*
|
|
50
|
-
* @return {string|*} A font-size value or the value of preset.size.
|
|
51
|
-
*/
|
|
52
|
-
export function getTypographyFontSizeValue( preset, settings ) {
|
|
53
|
-
const { size: defaultSize } = preset;
|
|
54
|
-
|
|
55
|
-
/*
|
|
56
|
-
* Catch falsy values and 0/'0'. Fluid calculations cannot be performed on `0`.
|
|
57
|
-
* Also return early when a preset font size explicitly disables fluid typography with `false`.
|
|
58
|
-
*/
|
|
59
|
-
if ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {
|
|
60
|
-
return defaultSize;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/*
|
|
64
|
-
* Return early when fluid typography is disabled in the settings, and there
|
|
65
|
-
* are no local settings to enable it for the individual preset.
|
|
66
|
-
*
|
|
67
|
-
* If this condition isn't met, either the settings or individual preset settings
|
|
68
|
-
* have enabled fluid typography.
|
|
69
|
-
*/
|
|
70
|
-
if (
|
|
71
|
-
! isFluidTypographyEnabled( settings?.typography ) &&
|
|
72
|
-
! isFluidTypographyEnabled( preset )
|
|
73
|
-
) {
|
|
74
|
-
return defaultSize;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
let fluidTypographySettings =
|
|
78
|
-
getFluidTypographyOptionsFromSettings( settings );
|
|
79
|
-
fluidTypographySettings =
|
|
80
|
-
typeof fluidTypographySettings?.fluid === 'object'
|
|
81
|
-
? fluidTypographySettings?.fluid
|
|
82
|
-
: {};
|
|
83
|
-
|
|
84
|
-
const fluidFontSizeValue = getComputedFluidTypographyValue( {
|
|
85
|
-
minimumFontSize: preset?.fluid?.min,
|
|
86
|
-
maximumFontSize: preset?.fluid?.max,
|
|
87
|
-
fontSize: defaultSize,
|
|
88
|
-
minimumFontSizeLimit: fluidTypographySettings?.minFontSize,
|
|
89
|
-
maximumViewportWidth: fluidTypographySettings?.maxViewportWidth,
|
|
90
|
-
minimumViewportWidth: fluidTypographySettings?.minViewportWidth,
|
|
91
|
-
} );
|
|
92
|
-
|
|
93
|
-
if ( !! fluidFontSizeValue ) {
|
|
94
|
-
return fluidFontSizeValue;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return defaultSize;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function isFluidTypographyEnabled( typographySettings ) {
|
|
101
|
-
const fluidSettings = typographySettings?.fluid;
|
|
102
|
-
return (
|
|
103
|
-
true === fluidSettings ||
|
|
104
|
-
( fluidSettings &&
|
|
105
|
-
typeof fluidSettings === 'object' &&
|
|
106
|
-
Object.keys( fluidSettings ).length > 0 )
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Returns fluid typography settings from theme.json setting object.
|
|
112
|
-
*
|
|
113
|
-
* @param {Object} settings Theme.json settings
|
|
114
|
-
* @param {Object} settings.typography Theme.json typography settings
|
|
115
|
-
* @param {Object} settings.layout Theme.json layout settings
|
|
116
|
-
* @return {TypographySettings} Fluid typography settings
|
|
117
|
-
*/
|
|
118
|
-
export function getFluidTypographyOptionsFromSettings( settings ) {
|
|
119
|
-
const typographySettings = settings?.typography;
|
|
120
|
-
const layoutSettings = settings?.layout;
|
|
121
|
-
const defaultMaxViewportWidth = getTypographyValueAndUnit(
|
|
122
|
-
layoutSettings?.wideSize
|
|
123
|
-
)
|
|
124
|
-
? layoutSettings?.wideSize
|
|
125
|
-
: null;
|
|
126
|
-
return isFluidTypographyEnabled( typographySettings ) &&
|
|
127
|
-
defaultMaxViewportWidth
|
|
128
|
-
? {
|
|
129
|
-
fluid: {
|
|
130
|
-
maxViewportWidth: defaultMaxViewportWidth,
|
|
131
|
-
...typographySettings.fluid,
|
|
132
|
-
},
|
|
133
|
-
}
|
|
134
|
-
: {
|
|
135
|
-
fluid: typographySettings?.fluid,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
|
|
139
6
|
/**
|
|
140
7
|
* Returns an object of merged font families and the font faces from the selected font family
|
|
141
8
|
* based on the theme.json settings object and the currently selected font family.
|