@wordpress/block-editor 11.6.0 → 11.8.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 +46 -55
- 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.native.js +4 -3
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +11 -21
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +3 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -9
- package/build/components/block-popover/inbetween.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/block-settings-dropdown.js +1 -10
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/caption/index.native.js +0 -1
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/date-format-picker/index.js +1 -1
- package/build/components/date-format-picker/index.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 +15 -29
- package/build/components/global-styles/border-panel.js.map +1 -1
- 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 +23 -44
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +244 -0
- package/build/components/global-styles/effects-panel.js.map +1 -0
- package/build/components/global-styles/filters-panel.js +151 -0
- package/build/components/global-styles/filters-panel.js.map +1 -0
- package/build/components/global-styles/get-block-css-selector.js +118 -0
- package/build/components/global-styles/get-block-css-selector.js.map +1 -0
- package/build/components/global-styles/hooks.js +60 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +46 -2
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +9 -35
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +173 -91
- 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/iframe/index.js +1 -1
- package/build/components/iframe/index.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/image-size-control/use-dimension-handler.js +5 -3
- package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build/components/index.js +16 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +4 -2
- package/build/components/inserter/block-patterns-tab.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/inspector-controls-tabs/utils.js +5 -3
- package/build/components/inspector-controls-tabs/utils.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/list-view/appender.js +105 -0
- package/build/components/list-view/appender.js.map +1 -0
- package/build/components/list-view/block.js +6 -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 +56 -14
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +7 -3
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +8 -2
- package/build/components/list-view/use-list-view-drop-zone.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/block-contents.js +6 -1
- package/build/components/off-canvas-editor/block-contents.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +17 -14
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +38 -0
- package/build/components/resizable-box-popover/index.js.map +1 -0
- 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/index.js +0 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +7 -11
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +8 -0
- package/build/components/spacing-sizes-control/spacing-input-control.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/anchor.js +1 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +1 -2
- 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/dimensions.js +0 -1
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +92 -64
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/margin.js +27 -17
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +19 -9
- package/build/hooks/padding.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/typography.js +0 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +28 -76
- package/build/hooks/utils.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/layouts/utils.js +3 -2
- package/build/layouts/utils.js.map +1 -1
- package/build/private-apis.js +7 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +1 -1
- package/build/store/actions.js.map +1 -1
- package/build/utils/object.js +76 -0
- package/build/utils/object.js.map +1 -0
- 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.native.js +4 -3
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +11 -19
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +2 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -9
- package/build-module/components/block-popover/inbetween.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/block-settings-dropdown.js +1 -9
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/caption/index.native.js +0 -1
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +1 -1
- package/build-module/components/date-format-picker/index.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 +15 -29
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- 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 +22 -44
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +228 -0
- package/build-module/components/global-styles/effects-panel.js.map +1 -0
- package/build-module/components/global-styles/filters-panel.js +139 -0
- package/build-module/components/global-styles/filters-panel.js.map +1 -0
- package/build-module/components/global-styles/get-block-css-selector.js +109 -0
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +58 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +5 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +8 -35
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +175 -93
- 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/iframe/index.js +1 -1
- package/build-module/components/iframe/index.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/image-size-control/use-dimension-handler.js +5 -3
- package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +5 -2
- package/build-module/components/inserter/block-patterns-tab.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/inspector-controls-tabs/utils.js +4 -3
- package/build-module/components/inspector-controls-tabs/utils.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/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 +6 -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 +50 -13
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +7 -3
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +8 -4
- package/build-module/components/list-view/use-list-view-drop-zone.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/block-contents.js +5 -1
- package/build-module/components/off-canvas-editor/block-contents.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +17 -14
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +26 -0
- package/build-module/components/resizable-box-popover/index.js.map +1 -0
- 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/index.js +0 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +7 -10
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +7 -0
- package/build-module/components/spacing-sizes-control/spacing-input-control.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/anchor.js +1 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +1 -2
- 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/dimensions.js +0 -1
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +91 -65
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/margin.js +29 -18
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +21 -10
- package/build-module/hooks/padding.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/typography.js +0 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +27 -74
- package/build-module/hooks/utils.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/layouts/utils.js +3 -2
- package/build-module/layouts/utils.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 +1 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/object.js +69 -0
- package/build-module/utils/object.js.map +1 -0
- package/build-style/style-rtl.css +77 -16
- package/build-style/style.css +77 -16
- package/package.json +31 -31
- package/src/components/block-draggable/content.scss +1 -1
- package/src/components/block-inspector/style.scss +6 -4
- package/src/components/block-list/block-html.js +1 -1
- package/src/components/block-list/block.native.js +3 -2
- package/src/components/block-list/index.native.js +19 -38
- package/src/components/block-list/use-in-between-inserter.js +4 -1
- package/src/components/block-popover/inbetween.js +2 -13
- package/src/components/block-preview/auto.js +2 -17
- package/src/components/block-settings-menu/block-settings-dropdown.js +2 -12
- package/src/components/caption/index.native.js +0 -1
- package/src/components/colors-gradients/style.scss +8 -8
- package/src/components/date-format-picker/index.js +1 -1
- package/src/components/editor-styles/index.js +29 -1
- package/src/components/global-styles/README.md +129 -16
- package/src/components/global-styles/border-panel.js +13 -32
- package/src/components/global-styles/color-panel.js +706 -0
- package/src/components/global-styles/dimensions-panel.js +43 -55
- package/src/components/global-styles/effects-panel.js +228 -0
- package/src/components/global-styles/filters-panel.js +157 -0
- package/src/components/global-styles/get-block-css-selector.js +118 -0
- package/src/components/global-styles/hooks.js +90 -0
- package/src/components/global-styles/index.js +4 -1
- package/src/components/global-styles/style.scss +42 -0
- package/src/components/global-styles/test/use-global-styles-output.js +34 -5
- package/src/components/global-styles/typography-panel.js +26 -51
- package/src/components/global-styles/use-global-styles-output.js +188 -89
- package/src/components/global-styles/utils.js +3 -0
- package/src/components/iframe/index.js +1 -1
- package/src/components/image-size-control/index.js +4 -3
- package/src/components/image-size-control/test/index.js +2 -2
- package/src/components/image-size-control/use-dimension-handler.js +4 -3
- package/src/components/index.js +4 -1
- package/src/components/inner-blocks/README.md +1 -1
- package/src/components/inserter/block-patterns-tab.js +3 -1
- package/src/components/inspector-controls-tabs/position-controls-panel.js +40 -9
- package/src/components/inspector-controls-tabs/utils.js +4 -3
- package/src/components/line-height-control/index.js +10 -1
- package/src/components/list-view/README.md +2 -0
- package/src/components/list-view/appender.js +101 -0
- package/src/components/list-view/block.js +6 -4
- package/src/components/list-view/branch.js +30 -1
- package/src/components/list-view/index.js +60 -11
- package/src/components/list-view/style.scss +22 -1
- package/src/components/list-view/test/use-list-view-drop-zone.js +188 -0
- package/src/components/list-view/use-list-view-client-ids.js +5 -3
- package/src/components/list-view/use-list-view-drop-zone.js +9 -3
- 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/block-contents.js +4 -0
- package/src/components/off-canvas-editor/index.js +15 -11
- package/src/components/resizable-box-popover/index.js +27 -0
- package/src/components/rich-text/format-edit.js +2 -32
- package/src/components/rich-text/index.js +0 -1
- package/src/components/rich-text/index.native.js +2 -5
- package/src/components/spacing-sizes-control/spacing-input-control.js +10 -0
- package/src/components/spacing-sizes-control/style.scss +7 -7
- package/src/components/writing-flow/use-input.js +4 -5
- package/src/hooks/anchor.js +1 -1
- package/src/hooks/border.js +1 -2
- 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/dimensions.js +0 -1
- package/src/hooks/duotone.js +121 -76
- package/src/hooks/margin.js +31 -26
- package/src/hooks/padding.js +24 -18
- package/src/hooks/position.js +3 -3
- package/src/hooks/style.js +29 -28
- package/src/hooks/test/utils.js +0 -104
- package/src/hooks/typography.js +0 -1
- package/src/hooks/utils.js +31 -74
- package/src/layouts/grid.js +172 -0
- package/src/layouts/index.js +2 -1
- package/src/layouts/test/grid.js +21 -0
- package/src/layouts/utils.js +2 -2
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +1 -1
- package/src/style.scss +1 -0
- package/src/utils/object.js +69 -0
- package/src/utils/test/object.js +145 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/rich-text/use-native-props.js +0 -11
- package/build/components/rich-text/use-native-props.js.map +0 -1
- package/build/components/rich-text/use-native-props.native.js +0 -24
- package/build/components/rich-text/use-native-props.native.js.map +0 -1
- package/build/hooks/color-panel.js.map +0 -1
- package/build-module/components/rich-text/use-native-props.js +0 -4
- package/build-module/components/rich-text/use-native-props.js.map +0 -1
- package/build-module/components/rich-text/use-native-props.native.js +0 -15
- package/build-module/components/rich-text/use-native-props.native.js.map +0 -1
- package/build-module/hooks/color-panel.js.map +0 -1
- package/src/components/rich-text/use-native-props.js +0 -3
- package/src/components/rich-text/use-native-props.native.js +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"names":["EXAMPLE_DATE","Date","DateFormatPicker","format","defaultFormat","onChange","checked","NonDefaultControls","suggestedFormats","Set","suggestedOptions","map","suggestedFormat","index","key","name","customOption","className","__experimentalHint","isCustom","setIsCustom","includes","find","option","selectedItem","Link","value"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"names":["EXAMPLE_DATE","Date","DateFormatPicker","format","defaultFormat","onChange","checked","NonDefaultControls","suggestedFormats","Set","suggestedOptions","map","suggestedFormat","index","key","name","customOption","className","__experimentalHint","isCustom","setIsCustom","includes","find","option","selectedItem","Link","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tCustomSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n// So that we can illustrate the different formats in the dropdown properly,\n// show a date that has a day greater than 12 and a month with more than three\n// letters. Here we're using 2022-01-25 which is when WordPress 5.9 was\n// released.\nconst EXAMPLE_DATE = new Date( 2022, 0, 25 );\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\tEXAMPLE_DATE\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t'Y-m-d',\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = suggestedFormats.map(\n\t\t( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, EXAMPLE_DATE ),\n\t\t\tformat: suggestedFormat,\n\t\t} )\n\t);\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\t__experimentalHint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() => !! format && ! suggestedFormats.includes( format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"]}
|
|
@@ -15,6 +15,8 @@ var _names = _interopRequireDefault(require("colord/plugins/names"));
|
|
|
15
15
|
|
|
16
16
|
var _a11y = _interopRequireDefault(require("colord/plugins/a11y"));
|
|
17
17
|
|
|
18
|
+
var _components = require("@wordpress/components");
|
|
19
|
+
|
|
18
20
|
var _transformStyles = _interopRequireDefault(require("../../utils/transform-styles"));
|
|
19
21
|
|
|
20
22
|
/**
|
|
@@ -74,11 +76,27 @@ function EditorStyles(_ref) {
|
|
|
74
76
|
let {
|
|
75
77
|
styles
|
|
76
78
|
} = _ref;
|
|
77
|
-
const transformedStyles = (0, _element.useMemo)(() => (0, _transformStyles.default)(styles, EDITOR_STYLES_SELECTOR), [styles]);
|
|
79
|
+
const transformedStyles = (0, _element.useMemo)(() => (0, _transformStyles.default)(styles.filter(style => style === null || style === void 0 ? void 0 : style.css), EDITOR_STYLES_SELECTOR), [styles]);
|
|
80
|
+
const transformedSvgs = (0, _element.useMemo)(() => styles.filter(style => style.__unstableType === 'svgs').map(style => style.assets).join(''), [styles]);
|
|
78
81
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("style", {
|
|
79
82
|
ref: useDarkThemeBodyClassName(styles)
|
|
80
83
|
}), transformedStyles.map((css, index) => (0, _element.createElement)("style", {
|
|
81
84
|
key: index
|
|
82
|
-
}, css)))
|
|
85
|
+
}, css)), (0, _element.createElement)(_components.SVG, {
|
|
86
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
87
|
+
viewBox: "0 0 0 0",
|
|
88
|
+
width: "0",
|
|
89
|
+
height: "0",
|
|
90
|
+
role: "none",
|
|
91
|
+
style: {
|
|
92
|
+
visibility: 'hidden',
|
|
93
|
+
position: 'absolute',
|
|
94
|
+
left: '-9999px',
|
|
95
|
+
overflow: 'hidden'
|
|
96
|
+
},
|
|
97
|
+
dangerouslySetInnerHTML: {
|
|
98
|
+
__html: transformedSvgs
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
83
101
|
}
|
|
84
102
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/editor-styles/index.js"],"names":["EDITOR_STYLES_SELECTOR","namesPlugin","a11yPlugin","useDarkThemeBodyClassName","styles","node","ownerDocument","defaultView","body","canvas","querySelector","backgroundColor","tempCanvas","createElement","classList","add","appendChild","getComputedStyle","getPropertyValue","removeChild","colordBackgroundColor","luminance","alpha","remove","EditorStyles","transformedStyles","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/editor-styles/index.js"],"names":["EDITOR_STYLES_SELECTOR","namesPlugin","a11yPlugin","useDarkThemeBodyClassName","styles","node","ownerDocument","defaultView","body","canvas","querySelector","backgroundColor","tempCanvas","createElement","classList","add","appendChild","getComputedStyle","getPropertyValue","removeChild","colordBackgroundColor","luminance","alpha","remove","EditorStyles","transformedStyles","filter","style","css","transformedSvgs","__unstableType","map","assets","join","index","visibility","position","left","overflow","__html"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\n\n/**\n * WordPress dependencies\n */\nimport { SVG } from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport transformStyles from '../../utils/transform-styles';\n\nconst EDITOR_STYLES_SELECTOR = '.editor-styles-wrapper';\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction useDarkThemeBodyClassName( styles ) {\n\treturn useCallback(\n\t\t( node ) => {\n\t\t\tif ( ! node ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView, body } = ownerDocument;\n\t\t\tconst canvas = ownerDocument.querySelector(\n\t\t\t\tEDITOR_STYLES_SELECTOR\n\t\t\t);\n\n\t\t\tlet backgroundColor;\n\n\t\t\tif ( ! canvas ) {\n\t\t\t\t// The real .editor-styles-wrapper element might not exist in the\n\t\t\t\t// DOM, so calculate the background color by creating a fake\n\t\t\t\t// wrapper.\n\t\t\t\tconst tempCanvas = ownerDocument.createElement( 'div' );\n\t\t\t\ttempCanvas.classList.add( 'editor-styles-wrapper' );\n\t\t\t\tbody.appendChild( tempCanvas );\n\n\t\t\t\tbackgroundColor = defaultView\n\t\t\t\t\t.getComputedStyle( tempCanvas, null )\n\t\t\t\t\t.getPropertyValue( 'background-color' );\n\n\t\t\t\tbody.removeChild( tempCanvas );\n\t\t\t} else {\n\t\t\t\tbackgroundColor = defaultView\n\t\t\t\t\t.getComputedStyle( canvas, null )\n\t\t\t\t\t.getPropertyValue( 'background-color' );\n\t\t\t}\n\t\t\tconst colordBackgroundColor = colord( backgroundColor );\n\t\t\t// If background is transparent, it should be treated as light color.\n\t\t\tif (\n\t\t\t\tcolordBackgroundColor.luminance() > 0.5 ||\n\t\t\t\tcolordBackgroundColor.alpha() === 0\n\t\t\t) {\n\t\t\t\tbody.classList.remove( 'is-dark-theme' );\n\t\t\t} else {\n\t\t\t\tbody.classList.add( 'is-dark-theme' );\n\t\t\t}\n\t\t},\n\t\t[ styles ]\n\t);\n}\n\nexport default function EditorStyles( { styles } ) {\n\tconst transformedStyles = useMemo(\n\t\t() =>\n\t\t\ttransformStyles(\n\t\t\t\tstyles.filter( ( style ) => style?.css ),\n\t\t\t\tEDITOR_STYLES_SELECTOR\n\t\t\t),\n\t\t[ styles ]\n\t);\n\n\tconst transformedSvgs = useMemo(\n\t\t() =>\n\t\t\tstyles\n\t\t\t\t.filter( ( style ) => style.__unstableType === 'svgs' )\n\t\t\t\t.map( ( style ) => style.assets )\n\t\t\t\t.join( '' ),\n\t\t[ styles ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ /* Use an empty style element to have a document reference,\n\t\t\t but this could be any element. */ }\n\t\t\t<style ref={ useDarkThemeBodyClassName( styles ) } />\n\t\t\t{ transformedStyles.map( ( css, index ) => (\n\t\t\t\t<style key={ index }>{ css }</style>\n\t\t\t) ) }\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tviewBox=\"0 0 0 0\"\n\t\t\t\twidth=\"0\"\n\t\t\t\theight=\"0\"\n\t\t\t\trole=\"none\"\n\t\t\t\tstyle={ {\n\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tleft: '-9999px',\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t} }\n\t\t\t\tdangerouslySetInnerHTML={ { __html: transformedSvgs } }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -224,39 +224,25 @@ function BorderPanel(_ref2) {
|
|
|
224
224
|
const onBorderChange = newBorder => {
|
|
225
225
|
// Ensure we have a visible border style when a border width or
|
|
226
226
|
// color is being selected.
|
|
227
|
-
const
|
|
228
|
-
// style properties have been set we need to force split border
|
|
229
|
-
// definitions for user set border styles. Border radius is derived
|
|
230
|
-
// from the same property i.e. `border.radius` if it is a string
|
|
231
|
-
// that is used. The longhand border radii styles are only generated
|
|
232
|
-
// if that property is an object.
|
|
233
|
-
//
|
|
234
|
-
// For borders (color, style, and width) those are all properties on
|
|
235
|
-
// the `border` style property. This means if the theme.json defined
|
|
236
|
-
// split borders and the user condenses them into a flat border or
|
|
237
|
-
// vice-versa we'd get both sets of styles which would conflict.
|
|
238
|
-
|
|
239
|
-
const updatedBorder = !(0, _components.__experimentalHasSplitBorders)(newBorderWithStyle) ? {
|
|
240
|
-
top: newBorderWithStyle,
|
|
241
|
-
right: newBorderWithStyle,
|
|
242
|
-
bottom: newBorderWithStyle,
|
|
243
|
-
left: newBorderWithStyle
|
|
244
|
-
} : {
|
|
245
|
-
color: null,
|
|
246
|
-
style: null,
|
|
247
|
-
width: null,
|
|
248
|
-
...newBorderWithStyle
|
|
249
|
-
};
|
|
250
|
-
['top', 'right', 'bottom', 'left'].forEach(side => {
|
|
251
|
-
var _updatedBorder$side;
|
|
227
|
+
const updatedBorder = applyAllFallbackStyles(newBorder);
|
|
252
228
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
229
|
+
if ((0, _components.__experimentalHasSplitBorders)(updatedBorder)) {
|
|
230
|
+
['top', 'right', 'bottom', 'left'].forEach(side => {
|
|
231
|
+
if (updatedBorder[side]) {
|
|
232
|
+
var _updatedBorder$side;
|
|
233
|
+
|
|
234
|
+
updatedBorder[side] = { ...updatedBorder[side],
|
|
235
|
+
color: encodeColorValue((_updatedBorder$side = updatedBorder[side]) === null || _updatedBorder$side === void 0 ? void 0 : _updatedBorder$side.color)
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
} else if (updatedBorder) {
|
|
240
|
+
updatedBorder.color = encodeColorValue(updatedBorder.color);
|
|
241
|
+
} // As radius is maintained separately to color, style, and width
|
|
257
242
|
// maintain its value. Undefined values here will be cleaned when
|
|
258
243
|
// global styles are saved.
|
|
259
244
|
|
|
245
|
+
|
|
260
246
|
setBorder({
|
|
261
247
|
radius: border === null || border === void 0 ? void 0 : border.radius,
|
|
262
248
|
...updatedBorder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"names":["useHasBorderPanel","settings","controls","useHasBorderColorControl","useHasBorderRadiusControl","useHasBorderStyleControl","useHasBorderWidthControl","some","Boolean","border","color","radius","style","width","applyFallbackStyle","applyAllFallbackStyles","top","right","bottom","left","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","defaultControls","colors","decodeValue","rawValue","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","decodeColorValue","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","hasBorderRadius","borderValues","Object","entries","resetBorder","onBorderChange","newBorderWithStyle","updatedBorder","previousValue","showBorderByDefault","newValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable } from './utils';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = [\n\t\tuseHasBorderColorControl( settings ),\n\t\tuseHasBorderRadiusControl( settings ),\n\t\tuseHasBorderStyleControl( settings ),\n\t\tuseHasBorderWidthControl( settings ),\n\t];\n\n\treturn controls.some( Boolean );\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( ! border.style && ( border.color || border.width ) ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nfunction BorderToolsPanel( {\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={ __( 'Border' ) }\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\tradius: true,\n\tcolor: true,\n\twidth: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst decodeColorValue = useCallback(\n\t\t( colorValue ) => {\n\t\t\tconst allColors = colors.flatMap(\n\t\t\t\t( { colors: originColors } ) => originColors\n\t\t\t);\n\t\t\tconst colorObject = allColors.find(\n\t\t\t\t( { slug } ) => colorValue === 'var:preset|color|' + slug\n\t\t\t);\n\t\t\treturn colorObject ? colorObject.color : colorValue;\n\t\t},\n\t\t[ colors ]\n\t);\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeColorValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeColorValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeColorValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst newBorderWithStyle = applyAllFallbackStyles( newBorder );\n\n\t\t// As we can't conditionally generate styles based on if other\n\t\t// style properties have been set we need to force split border\n\t\t// definitions for user set border styles. Border radius is derived\n\t\t// from the same property i.e. `border.radius` if it is a string\n\t\t// that is used. The longhand border radii styles are only generated\n\t\t// if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst updatedBorder = ! hasSplitBorders( newBorderWithStyle )\n\t\t\t? {\n\t\t\t\t\ttop: newBorderWithStyle,\n\t\t\t\t\tright: newBorderWithStyle,\n\t\t\t\t\tbottom: newBorderWithStyle,\n\t\t\t\t\tleft: newBorderWithStyle,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...newBorderWithStyle,\n\t\t\t };\n\n\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t...updatedBorder[ side ],\n\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t};\n\t\t} );\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\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{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha={ true }\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={ true }\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{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\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/border-panel.js"],"names":["useHasBorderPanel","settings","controls","useHasBorderColorControl","useHasBorderRadiusControl","useHasBorderStyleControl","useHasBorderWidthControl","some","Boolean","border","color","radius","style","width","applyFallbackStyle","applyAllFallbackStyles","top","right","bottom","left","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","defaultControls","colors","decodeValue","rawValue","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","decodeColorValue","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","hasBorderRadius","borderValues","Object","entries","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","newValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable } from './utils';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = [\n\t\tuseHasBorderColorControl( settings ),\n\t\tuseHasBorderRadiusControl( settings ),\n\t\tuseHasBorderStyleControl( settings ),\n\t\tuseHasBorderWidthControl( settings ),\n\t];\n\n\treturn controls.some( Boolean );\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( ! border.style && ( border.color || border.width ) ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nfunction BorderToolsPanel( {\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={ __( 'Border' ) }\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\tradius: true,\n\tcolor: true,\n\twidth: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst decodeColorValue = useCallback(\n\t\t( colorValue ) => {\n\t\t\tconst allColors = colors.flatMap(\n\t\t\t\t( { colors: originColors } ) => originColors\n\t\t\t);\n\t\t\tconst colorObject = allColors.find(\n\t\t\t\t( { slug } ) => colorValue === 'var:preset|color|' + slug\n\t\t\t);\n\t\t\treturn colorObject ? colorObject.color : colorValue;\n\t\t},\n\t\t[ colors ]\n\t);\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeColorValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeColorValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeColorValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = applyAllFallbackStyles( newBorder );\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\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{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha={ true }\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={ true }\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{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
|