@wordpress/block-editor 11.5.0 → 11.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 +6 -0
- package/README.md +4 -0
- package/build/components/block-list/block-html.js +1 -3
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +63 -80
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-preview/auto.js +6 -23
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -1
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/editor-styles/index.js +20 -2
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +306 -0
- package/build/components/global-styles/border-panel.js.map +1 -0
- package/build/components/global-styles/color-panel.js +583 -0
- package/build/components/global-styles/color-panel.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +8 -30
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js +129 -0
- package/build/components/global-styles/get-block-css-selector.js.map +1 -0
- package/build/components/global-styles/hooks.js +109 -3
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +36 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +66 -45
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +180 -99
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +2 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/image-size-control/index.js +8 -5
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inserter/index.js +29 -17
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/menu.js +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-results.js +10 -3
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +1 -1
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +43 -7
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/line-height-control/index.js +15 -1
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +1 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-item.js +5 -2
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/list-view/appender.js +105 -0
- package/build/components/list-view/appender.js.map +1 -0
- package/build/components/list-view/block.js +5 -5
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +25 -5
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +37 -13
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -2
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/media-replace-flow/index.js +13 -4
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +28 -3
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/branch.js +5 -3
- package/build/components/off-canvas-editor/branch.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +9 -7
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/link-ui.js +0 -1
- package/build/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build/components/provider/use-block-sync.js +17 -3
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/format-edit.js +2 -30
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +0 -3
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/writing-flow/use-input.js +4 -8
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/hooks/border.js +90 -240
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +92 -229
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +4 -2
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/{color-panel.js → contrast-checker.js} +11 -49
- package/build/hooks/contrast-checker.js.map +1 -0
- package/build/hooks/custom-class-name.js +4 -4
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +3 -4
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +0 -1
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout.js +19 -22
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +2 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +23 -26
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +7 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +2 -2
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +50 -75
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +6 -2
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +165 -0
- package/build/layouts/grid.js.map +1 -0
- package/build/layouts/index.js +3 -1
- package/build/layouts/index.js.map +1 -1
- package/build/private-apis.js +7 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +10 -8
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +19 -3
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +76 -0
- package/build/utils/object.js.map +1 -0
- package/build/utils/parse-css-unit-to-px.js +15 -9
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/components/block-list/block-html.js +1 -3
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +66 -78
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-preview/auto.js +6 -22
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +1 -1
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/editor-styles/index.js +19 -2
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +291 -0
- package/build-module/components/global-styles/border-panel.js.map +1 -0
- package/build-module/components/global-styles/color-panel.js +554 -0
- package/build-module/components/global-styles/color-panel.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +7 -30
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js +120 -0
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +104 -3
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +3 -0
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +65 -46
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +181 -100
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +2 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/image-size-control/index.js +8 -5
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inserter/index.js +28 -16
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +4 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-results.js +10 -3
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +1 -1
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +42 -7
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/line-height-control/index.js +15 -1
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +1 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-item.js +4 -2
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/list-view/appender.js +88 -0
- package/build-module/components/list-view/appender.js.map +1 -0
- package/build-module/components/list-view/block.js +5 -4
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +22 -5
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +32 -12
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -2
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +12 -4
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +28 -4
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/branch.js +5 -3
- package/build-module/components/off-canvas-editor/branch.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +9 -7
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/link-ui.js +0 -1
- package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +17 -3
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +3 -31
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +0 -3
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +4 -8
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/hooks/border.js +92 -240
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +90 -232
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +4 -2
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/{color-panel.js → contrast-checker.js} +10 -44
- package/build-module/hooks/contrast-checker.js.map +1 -0
- package/build-module/hooks/custom-class-name.js +4 -4
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +3 -4
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +0 -1
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +4 -2
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout.js +19 -22
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +3 -3
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +23 -26
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +7 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +2 -2
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +48 -72
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +6 -2
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +151 -0
- package/build-module/layouts/grid.js.map +1 -0
- package/build-module/layouts/index.js +2 -1
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/private-apis.js +5 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +10 -8
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +17 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +69 -0
- package/build-module/utils/object.js.map +1 -0
- package/build-module/utils/parse-css-unit-to-px.js +15 -9
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-style/style-rtl.css +32 -12
- package/build-style/style.css +32 -12
- package/package.json +31 -31
- package/src/components/block-draggable/content.scss +1 -1
- package/src/components/block-inspector/style.scss +3 -0
- package/src/components/block-list/block-html.js +1 -1
- package/src/components/block-list/block-invalid-warning.js +72 -64
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +20 -2
- package/src/components/block-preview/auto.js +2 -17
- package/src/components/block-preview/test/index.js +0 -2
- package/src/components/block-settings-menu-controls/index.js +2 -1
- package/src/components/block-styles/style.scss +2 -2
- package/src/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +16 -14
- package/src/components/colors-gradients/style.scss +8 -8
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +48 -38
- package/src/components/editor-styles/index.js +29 -1
- package/src/components/global-styles/border-panel.js +285 -0
- package/src/components/global-styles/color-panel.js +706 -0
- package/src/components/global-styles/dimensions-panel.js +13 -42
- package/src/components/global-styles/get-block-css-selector.js +129 -0
- package/src/components/global-styles/hooks.js +154 -1
- package/src/components/global-styles/index.js +3 -0
- package/src/components/global-styles/test/use-global-styles-output.js +31 -2
- package/src/components/global-styles/typography-panel.js +67 -45
- package/src/components/global-styles/use-global-styles-output.js +176 -93
- package/src/components/global-styles/utils.js +3 -0
- package/src/components/image-size-control/index.js +4 -3
- package/src/components/image-size-control/test/index.js +2 -2
- package/src/components/inner-blocks/README.md +1 -1
- package/src/components/inserter/index.js +30 -11
- package/src/components/inserter/menu.js +0 -1
- package/src/components/inserter/quick-inserter.js +2 -0
- package/src/components/inserter/search-results.js +7 -1
- package/src/components/inserter/style.scss +3 -0
- package/src/components/inserter/tabs.js +1 -9
- package/src/components/inspector-controls-tabs/position-controls-panel.js +40 -9
- package/src/components/line-height-control/index.js +10 -1
- package/src/components/link-control/index.js +1 -1
- package/src/components/link-control/search-item.js +3 -1
- package/src/components/link-control/style.scss +0 -4
- package/src/components/link-control/test/index.js +0 -2
- package/src/components/list-view/appender.js +101 -0
- package/src/components/list-view/block.js +5 -4
- package/src/components/list-view/branch.js +30 -1
- package/src/components/list-view/index.js +43 -10
- package/src/components/list-view/style.scss +19 -0
- package/src/components/list-view/use-block-selection.js +0 -2
- package/src/components/media-replace-flow/index.js +36 -24
- package/src/components/media-replace-flow/style.scss +5 -2
- package/src/components/off-canvas-editor/appender.js +31 -5
- package/src/components/off-canvas-editor/branch.js +3 -1
- package/src/components/off-canvas-editor/index.js +7 -7
- package/src/components/off-canvas-editor/link-ui.js +0 -1
- package/src/components/provider/use-block-sync.js +21 -4
- package/src/components/rich-text/format-edit.js +2 -32
- package/src/components/rich-text/format-toolbar-container.js +1 -7
- package/src/components/url-popover/test/index.js +0 -2
- package/src/components/writing-flow/use-input.js +4 -5
- package/src/hooks/border.js +93 -225
- package/src/hooks/color.js +120 -296
- package/src/hooks/content-lock-ui.js +6 -2
- package/src/hooks/{color-panel.js → contrast-checker.js} +10 -46
- package/src/hooks/custom-class-name.js +4 -4
- package/src/hooks/custom-class-name.native.js +3 -4
- package/src/hooks/dimensions.js +0 -1
- package/src/hooks/duotone.js +8 -5
- package/src/hooks/layout.js +19 -16
- package/src/hooks/position.js +3 -3
- package/src/hooks/style.js +29 -28
- package/src/hooks/supports.js +6 -0
- package/src/hooks/test/style.js +2 -1
- package/src/hooks/test/use-typography-props.js +2 -0
- package/src/hooks/test/utils.js +0 -104
- package/src/hooks/typography.js +2 -1
- package/src/hooks/utils.js +63 -70
- package/src/layouts/constrained.js +23 -17
- package/src/layouts/grid.js +172 -0
- package/src/layouts/index.js +2 -1
- package/src/layouts/test/grid.js +21 -0
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +10 -8
- package/src/store/selectors.js +20 -3
- package/src/utils/object.js +69 -0
- package/src/utils/parse-css-unit-to-px.js +14 -9
- package/src/utils/test/object.js +107 -0
- package/src/utils/test/parse-css-unit-to-px.js +1 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/hooks/border-radius.js +0 -100
- package/build/hooks/border-radius.js.map +0 -1
- package/build/hooks/color-panel.js.map +0 -1
- package/build-module/hooks/border-radius.js +0 -84
- package/build-module/hooks/border-radius.js.map +0 -1
- package/build-module/hooks/color-panel.js.map +0 -1
- package/src/hooks/border-radius.js +0 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","slug","find","f","resetFontFamily","undefined","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontFamily: slug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontSize: actualValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\tfontWeight: newFontWeight,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tlineHeight: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasLineHeight = () => !! value?.typography?.lineHeight;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tletterSpacing: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\ttextTransform: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\ttextDecoration: newValue,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","textColumns","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","slug","find","f","resetFontFamily","undefined","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\nimport { immutableSet } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies =\n\t\tfontFamiliesPerOrigin?.custom ??\n\t\tfontFamiliesPerOrigin?.theme ??\n\t\tfontFamiliesPerOrigin?.default;\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\timmutableSet(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug ? `var:preset|font-family|${ slug }` : newValue\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes =\n\t\tfontSizesPerOrigin?.custom ??\n\t\tfontSizesPerOrigin?.theme ??\n\t\tfontSizesPerOrigin.default;\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\timmutableSet( value, [ 'typography', 'fontSize' ], actualValue )\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle,\n\t\t\t\tfontWeight: newFontWeight,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\timmutableSet( value, [ 'typography', 'lineHeight' ], newValue )\n\t\t);\n\t};\n\tconst hasLineHeight = () => !! value?.typography?.lineHeight;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\timmutableSet( value, [ 'typography', 'letterSpacing' ], newValue )\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\timmutableSet( value, [ 'typography', 'textColumns' ], newValue )\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\timmutableSet( value, [ 'typography', 'textTransform' ], newValue )\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\timmutableSet( value, [ 'typography', 'textDecoration' ], newValue )\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
|