@wordpress/block-editor 15.22.1-next.v.202606191442.0 → 15.23.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 +3 -1
- package/README.md +2 -2
- package/build/components/block-editing-mode/index.cjs +13 -7
- package/build/components/block-editing-mode/index.cjs.map +2 -2
- package/build/components/block-inspector/index.cjs +50 -51
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-rename/modal.cjs +0 -1
- package/build/components/block-rename/modal.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs +14 -6
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/colors-gradients/control.cjs +25 -14
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/colors-gradients/dropdown.cjs +4 -1
- package/build/components/colors-gradients/dropdown.cjs.map +3 -3
- package/build/components/contrast-checker/index.cjs +22 -4
- package/build/components/contrast-checker/index.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs +0 -1
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/global-styles/background-panel.cjs +153 -25
- package/build/components/global-styles/background-panel.cjs.map +3 -3
- package/build/components/global-styles/color-gradient-dropdown-item.cjs +227 -0
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +7 -0
- package/build/components/global-styles/color-panel.cjs +98 -375
- package/build/components/global-styles/color-panel.cjs.map +3 -3
- package/build/components/global-styles/dimensions-panel.cjs +0 -3
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/hooks.cjs +34 -0
- package/build/components/global-styles/hooks.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +82 -10
- package/build/components/global-styles/typography-panel.cjs.map +3 -3
- package/build/components/inspector-controls/groups.cjs +2 -0
- package/build/components/inspector-controls/groups.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/styles-tab.cjs +75 -31
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
- package/build/components/link-control/index.cjs +1 -2
- package/build/components/link-control/index.cjs.map +2 -2
- package/build/components/list-view/block-select-button.cjs +1 -10
- package/build/components/list-view/block-select-button.cjs.map +3 -3
- package/build/components/provider/use-block-sync.cjs +3 -1
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/url-popover/image-url-input-ui.cjs +0 -2
- package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +10 -3
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-resize-canvas/index.cjs +16 -53
- package/build/components/use-resize-canvas/index.cjs.map +3 -3
- package/build/hooks/anchor.cjs +0 -1
- package/build/hooks/anchor.cjs.map +2 -2
- package/build/hooks/background.cjs +124 -75
- package/build/hooks/background.cjs.map +3 -3
- package/build/hooks/color.cjs +0 -162
- package/build/hooks/color.cjs.map +3 -3
- package/build/hooks/contrast-checker.cjs +31 -28
- package/build/hooks/contrast-checker.cjs.map +3 -3
- package/build/hooks/custom-class-name.cjs +0 -1
- package/build/hooks/custom-class-name.cjs.map +2 -2
- package/build/hooks/elements.cjs +142 -0
- package/build/hooks/elements.cjs.map +7 -0
- package/build/hooks/grid-visualizer.cjs +21 -11
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +38 -8
- package/build/hooks/layout-child.cjs.map +2 -2
- package/build/hooks/layout.cjs +6 -3
- package/build/hooks/layout.cjs.map +2 -2
- package/build/hooks/states.cjs +15 -23
- package/build/hooks/states.cjs.map +2 -2
- package/build/hooks/style.cjs +8 -4
- package/build/hooks/style.cjs.map +2 -2
- package/build/hooks/typography.cjs +62 -10
- package/build/hooks/typography.cjs.map +3 -3
- package/build/layouts/flex.cjs +99 -6
- package/build/layouts/flex.cjs.map +2 -2
- package/build/private-apis.cjs +0 -1
- package/build/private-apis.cjs.map +2 -2
- package/build/store/private-actions.cjs +16 -0
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +0 -3
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +24 -6
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +19 -3
- package/build/store/reducer.cjs.map +2 -2
- package/build/utils/block-bindings.cjs +9 -9
- package/build/utils/block-bindings.cjs.map +3 -3
- package/build/utils/color-values.cjs +10 -1
- package/build/utils/color-values.cjs.map +3 -3
- package/build/utils/dom.cjs +2 -5
- package/build/utils/dom.cjs.map +3 -3
- package/build/utils/fit-text-frontend.cjs +6 -2
- package/build/utils/fit-text-frontend.cjs.map +3 -3
- package/build/utils/fit-text-utils.cjs +1 -1
- package/build/utils/fit-text-utils.cjs.map +3 -3
- package/build/utils/format-font-style.cjs +1 -1
- package/build/utils/format-font-style.cjs.map +3 -3
- package/build/utils/format-font-weight.cjs +1 -1
- package/build/utils/format-font-weight.cjs.map +3 -3
- package/build/utils/get-editor-region.cjs +4 -2
- package/build/utils/get-editor-region.cjs.map +3 -3
- package/build/utils/get-font-styles-and-weights.cjs +8 -12
- package/build/utils/get-font-styles-and-weights.cjs.map +3 -3
- package/build/utils/get-px-from-css-unit.cjs +1 -1
- package/build/utils/get-px-from-css-unit.cjs.map +1 -1
- package/build/utils/index.cjs +1 -1
- package/build/utils/index.cjs.map +1 -1
- package/build/utils/math.cjs +1 -1
- package/build/utils/math.cjs.map +3 -3
- package/build/utils/object.cjs +8 -8
- package/build/utils/object.cjs.map +3 -3
- package/build/utils/order-inserter-block-items.cjs +1 -1
- package/build/utils/order-inserter-block-items.cjs.map +3 -3
- package/build/utils/pasting.cjs +4 -2
- package/build/utils/pasting.cjs.map +3 -3
- package/build/utils/selection.cjs +2 -1
- package/build/utils/selection.cjs.map +3 -3
- package/build/utils/sorting.cjs +9 -3
- package/build/utils/sorting.cjs.map +3 -3
- package/build/utils/transform-styles/index.cjs +3 -2
- package/build/utils/transform-styles/index.cjs.map +3 -3
- package/build/utils/transform-styles/postcss-urlrebase.d.cjs +2 -0
- package/build/utils/transform-styles/postcss-urlrebase.d.cjs.map +7 -0
- package/build/utils/transform-styles/types.cjs +19 -0
- package/build/utils/transform-styles/types.cjs.map +7 -0
- package/build/utils/types.cjs +19 -0
- package/build/utils/types.cjs.map +7 -0
- package/build-module/components/block-editing-mode/index.mjs +14 -8
- package/build-module/components/block-editing-mode/index.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +50 -51
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-rename/modal.mjs +0 -1
- package/build-module/components/block-rename/modal.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs +14 -6
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +27 -15
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/colors-gradients/dropdown.mjs +4 -1
- package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
- package/build-module/components/contrast-checker/index.mjs +18 -4
- package/build-module/components/contrast-checker/index.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs +0 -1
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/global-styles/background-panel.mjs +155 -27
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +207 -0
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +7 -0
- package/build-module/components/global-styles/color-panel.mjs +106 -387
- package/build-module/components/global-styles/color-panel.mjs.map +3 -3
- package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/hooks.mjs +33 -0
- package/build-module/components/global-styles/hooks.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +84 -10
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/groups.mjs +2 -0
- package/build-module/components/inspector-controls/groups.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +75 -31
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
- package/build-module/components/link-control/index.mjs +1 -2
- package/build-module/components/link-control/index.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +2 -17
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/provider/use-block-sync.mjs +3 -1
- package/build-module/components/provider/use-block-sync.mjs.map +2 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs +0 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +10 -3
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-resize-canvas/index.mjs +6 -53
- package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
- package/build-module/hooks/anchor.mjs +0 -1
- package/build-module/hooks/anchor.mjs.map +2 -2
- package/build-module/hooks/background.mjs +123 -75
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/color.mjs +2 -175
- package/build-module/hooks/color.mjs.map +2 -2
- package/build-module/hooks/contrast-checker.mjs +32 -19
- package/build-module/hooks/contrast-checker.mjs.map +2 -2
- package/build-module/hooks/custom-class-name.mjs +0 -1
- package/build-module/hooks/custom-class-name.mjs.map +2 -2
- package/build-module/hooks/elements.mjs +115 -0
- package/build-module/hooks/elements.mjs.map +7 -0
- package/build-module/hooks/grid-visualizer.mjs +21 -11
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +41 -8
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +6 -3
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/states.mjs +15 -23
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs +9 -5
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +62 -10
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +105 -7
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/private-apis.mjs +0 -2
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +14 -0
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +0 -2
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +22 -6
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +17 -3
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/utils/block-bindings.mjs +9 -9
- package/build-module/utils/block-bindings.mjs.map +3 -3
- package/build-module/utils/color-values.mjs +9 -1
- package/build-module/utils/color-values.mjs.map +3 -3
- package/build-module/utils/dom.mjs +2 -5
- package/build-module/utils/dom.mjs.map +3 -3
- package/build-module/utils/fit-text-frontend.mjs +6 -2
- package/build-module/utils/fit-text-frontend.mjs.map +3 -3
- package/build-module/utils/fit-text-utils.mjs +1 -1
- package/build-module/utils/fit-text-utils.mjs.map +3 -3
- package/build-module/utils/format-font-style.mjs +1 -1
- package/build-module/utils/format-font-style.mjs.map +3 -3
- package/build-module/utils/format-font-weight.mjs +1 -1
- package/build-module/utils/format-font-weight.mjs.map +3 -3
- package/build-module/utils/get-editor-region.mjs +4 -2
- package/build-module/utils/get-editor-region.mjs.map +3 -3
- package/build-module/utils/get-font-styles-and-weights.mjs +8 -12
- package/build-module/utils/get-font-styles-and-weights.mjs.map +3 -3
- package/build-module/utils/get-px-from-css-unit.mjs +1 -1
- package/build-module/utils/get-px-from-css-unit.mjs.map +1 -1
- package/build-module/utils/index.mjs +1 -1
- package/build-module/utils/index.mjs.map +1 -1
- package/build-module/utils/math.mjs +1 -1
- package/build-module/utils/math.mjs.map +3 -3
- package/build-module/utils/object.mjs +8 -8
- package/build-module/utils/object.mjs.map +3 -3
- package/build-module/utils/order-inserter-block-items.mjs +1 -1
- package/build-module/utils/order-inserter-block-items.mjs.map +3 -3
- package/build-module/utils/pasting.mjs +4 -2
- package/build-module/utils/pasting.mjs.map +3 -3
- package/build-module/utils/selection.mjs +2 -1
- package/build-module/utils/selection.mjs.map +3 -3
- package/build-module/utils/sorting.mjs +9 -3
- package/build-module/utils/sorting.mjs.map +3 -3
- package/build-module/utils/transform-styles/index.mjs +3 -2
- package/build-module/utils/transform-styles/index.mjs.map +3 -3
- package/build-module/utils/transform-styles/postcss-urlrebase.d.mjs +1 -0
- package/build-module/utils/transform-styles/postcss-urlrebase.d.mjs.map +7 -0
- package/build-module/utils/transform-styles/types.mjs +1 -0
- package/build-module/utils/transform-styles/types.mjs.map +7 -0
- package/build-module/utils/types.mjs +1 -0
- package/build-module/utils/types.mjs.map +7 -0
- package/build-style/content-rtl.css +2 -0
- package/build-style/content.css +2 -0
- package/build-style/style-rtl.css +34 -41
- package/build-style/style.css +34 -41
- package/build-types/utils/block-bindings.d.ts +27 -0
- package/build-types/utils/block-bindings.d.ts.map +1 -0
- package/build-types/utils/color-values.d.ts +40 -0
- package/build-types/utils/color-values.d.ts.map +1 -0
- package/build-types/utils/dom.d.ts +19 -19
- package/build-types/utils/dom.d.ts.map +1 -1
- package/build-types/utils/fit-text-frontend.d.ts +7 -0
- package/build-types/utils/fit-text-frontend.d.ts.map +1 -0
- package/build-types/utils/fit-text-utils.d.ts +15 -0
- package/build-types/utils/fit-text-utils.d.ts.map +1 -0
- package/build-types/utils/format-font-style.d.ts +12 -0
- package/build-types/utils/format-font-style.d.ts.map +1 -0
- package/build-types/utils/format-font-weight.d.ts +12 -0
- package/build-types/utils/format-font-weight.d.ts.map +1 -0
- package/build-types/utils/get-editor-region.d.ts +9 -0
- package/build-types/utils/get-editor-region.d.ts.map +1 -0
- package/build-types/utils/get-font-styles-and-weights.d.ts +16 -0
- package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -0
- package/build-types/utils/get-px-from-css-unit.d.ts +10 -0
- package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -0
- package/build-types/utils/index.d.ts +3 -0
- package/build-types/utils/index.d.ts.map +1 -0
- package/build-types/utils/math.d.ts +61 -0
- package/build-types/utils/math.d.ts.map +1 -0
- package/build-types/utils/object.d.ts +39 -0
- package/build-types/utils/object.d.ts.map +1 -0
- package/build-types/utils/order-inserter-block-items.d.ts +13 -0
- package/build-types/utils/order-inserter-block-items.d.ts.map +1 -0
- package/build-types/utils/pasting.d.ts +28 -0
- package/build-types/utils/pasting.d.ts.map +1 -0
- package/build-types/utils/selection.d.ts +21 -0
- package/build-types/utils/selection.d.ts.map +1 -0
- package/build-types/utils/sorting.d.ts +17 -0
- package/build-types/utils/sorting.d.ts.map +1 -0
- package/build-types/utils/transform-styles/index.d.ts +15 -0
- package/build-types/utils/transform-styles/index.d.ts.map +1 -0
- package/build-types/utils/transform-styles/types.d.ts +13 -0
- package/build-types/utils/transform-styles/types.d.ts.map +1 -0
- package/build-types/utils/types.d.ts +28 -0
- package/build-types/utils/types.d.ts.map +1 -0
- package/package.json +40 -39
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -0
- package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -0
- package/src/components/block-editing-mode/index.js +17 -9
- package/src/components/block-icon/test/__snapshots__/index.js.snap +1 -0
- package/src/components/block-inspector/index.js +43 -53
- package/src/components/block-rename/modal.js +0 -1
- package/src/components/block-toolbar/block-toolbar-icon.js +22 -6
- package/src/components/block-toolbar/test/block-toolbar-icon.js +99 -0
- package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +4 -0
- package/src/components/colors-gradients/control.js +29 -12
- package/src/components/colors-gradients/dropdown.js +4 -1
- package/src/components/colors-gradients/style.scss +39 -2
- package/src/components/contrast-checker/README.md +9 -0
- package/src/components/contrast-checker/index.js +42 -3
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/default-block-appender/content.scss +3 -0
- package/src/components/global-styles/background-panel.js +201 -34
- package/src/components/global-styles/color-gradient-dropdown-item.js +258 -0
- package/src/components/global-styles/color-panel.js +125 -487
- package/src/components/global-styles/dimensions-panel.js +0 -3
- package/src/components/global-styles/hooks.js +45 -0
- package/src/components/global-styles/test/background-panel.js +56 -0
- package/src/components/global-styles/test/color-panel.js +172 -118
- package/src/components/global-styles/test/typography-panel.js +167 -0
- package/src/components/global-styles/typography-panel.js +100 -11
- package/src/components/inspector-controls/README.md +0 -2
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/styles-tab.js +74 -28
- package/src/components/link-control/index.js +0 -1
- package/src/components/link-control/test/index.js +2 -3
- package/src/components/list-view/block-select-button.js +2 -17
- package/src/components/provider/use-block-sync.js +3 -1
- package/src/components/rich-text/content.scss +2 -0
- package/src/components/url-popover/image-url-input-ui.js +0 -2
- package/src/components/use-block-display-information/index.js +15 -2
- package/src/components/use-block-display-information/test/index.js +140 -0
- package/src/components/use-resize-canvas/index.js +10 -71
- package/src/hooks/anchor.js +0 -1
- package/src/hooks/background.js +210 -133
- package/src/hooks/background.scss +0 -35
- package/src/hooks/color.js +2 -205
- package/src/hooks/color.scss +3 -9
- package/src/hooks/contrast-checker.js +60 -17
- package/src/hooks/custom-class-name.js +0 -1
- package/src/hooks/elements.js +140 -0
- package/src/hooks/elements.scss +8 -0
- package/src/hooks/grid-visualizer.js +59 -45
- package/src/hooks/layout-child.js +51 -12
- package/src/hooks/layout.js +6 -3
- package/src/hooks/states.js +32 -28
- package/src/hooks/style.js +11 -7
- package/src/hooks/test/background.js +59 -0
- package/src/hooks/test/block-style-state.js +14 -14
- package/src/hooks/test/layout.js +6 -6
- package/src/hooks/test/style.js +8 -8
- package/src/hooks/typography.js +70 -6
- package/src/layouts/flex.js +118 -15
- package/src/private-apis.js +0 -2
- package/src/store/private-actions.js +31 -0
- package/src/store/private-keys.js +0 -1
- package/src/store/private-selectors.js +43 -7
- package/src/store/reducer.js +37 -2
- package/src/store/test/private-selectors.js +39 -14
- package/src/store/test/reducer.js +91 -12
- package/src/style.scss +1 -0
- package/src/utils/block-bindings.ts +51 -0
- package/src/utils/color-values.ts +63 -0
- package/src/utils/{dom.js → dom.ts} +27 -27
- package/src/utils/{fit-text-frontend.js → fit-text-frontend.ts} +12 -4
- package/src/utils/{fit-text-utils.js → fit-text-utils.ts} +15 -7
- package/src/utils/{format-font-style.js → format-font-style.ts} +10 -3
- package/src/utils/{format-font-weight.js → format-font-weight.ts} +10 -3
- package/src/utils/{get-editor-region.js → get-editor-region.ts} +10 -6
- package/src/utils/{get-font-styles-and-weights.js → get-font-styles-and-weights.ts} +21 -17
- package/src/utils/{math.js → math.ts} +37 -30
- package/src/utils/object.ts +89 -0
- package/src/utils/{order-inserter-block-items.js → order-inserter-block-items.ts} +8 -5
- package/src/utils/{pasting.js → pasting.ts} +18 -11
- package/src/utils/{selection.js → selection.ts} +11 -4
- package/src/utils/sorting.ts +81 -0
- package/src/utils/test/color-values.js +44 -1
- package/src/utils/transform-styles/{index.js → index.ts} +25 -25
- package/src/utils/transform-styles/postcss-urlrebase.d.ts +15 -0
- package/src/utils/transform-styles/types.ts +13 -0
- package/src/utils/types.ts +29 -0
- package/src/components/use-resize-canvas/README.md +0 -37
- package/src/utils/block-bindings.js +0 -46
- package/src/utils/color-values.js +0 -28
- package/src/utils/object.js +0 -67
- package/src/utils/sorting.js +0 -54
- /package/src/utils/{get-px-from-css-unit.js → get-px-from-css-unit.ts} +0 -0
- /package/src/utils/{index.js → index.ts} +0 -0
|
@@ -9,6 +9,7 @@ import { useState } from '@wordpress/element';
|
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
11
|
import { store as blockEditorStore } from '../store';
|
|
12
|
+
import { unlock } from '../lock-unlock';
|
|
12
13
|
import { useStyleOverride } from './utils';
|
|
13
14
|
import { useLayout } from '../components/block-list/layout';
|
|
14
15
|
import {
|
|
@@ -16,16 +17,21 @@ import {
|
|
|
16
17
|
GridItemResizer,
|
|
17
18
|
GridItemMovers,
|
|
18
19
|
} from '../components/grid';
|
|
20
|
+
import { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';
|
|
19
21
|
import useBlockVisibility from '../components/block-visibility/use-block-visibility';
|
|
20
22
|
import { deviceTypeKey } from '../store/private-keys';
|
|
21
23
|
import { BLOCK_VISIBILITY_VIEWPORTS } from '../components/block-visibility/constants';
|
|
24
|
+
import {
|
|
25
|
+
DEFAULT_BLOCK_STYLE_STATE,
|
|
26
|
+
getStyleForState,
|
|
27
|
+
} from './block-style-state';
|
|
22
28
|
|
|
23
29
|
// Used for generating the instance ID
|
|
24
30
|
const LAYOUT_CHILD_BLOCK_PROPS_REFERENCE = {};
|
|
25
31
|
// Keep in sync with WP_Theme_JSON_Gutenberg::RESPONSIVE_BREAKPOINTS.
|
|
26
32
|
const RESPONSIVE_BREAKPOINTS = {
|
|
27
|
-
mobile: '@media (width <= 480px)',
|
|
28
|
-
tablet: '@media (480px < width <= 782px)',
|
|
33
|
+
'@mobile': '@media (width <= 480px)',
|
|
34
|
+
'@tablet': '@media (480px < width <= 782px)',
|
|
29
35
|
};
|
|
30
36
|
|
|
31
37
|
// These are the serialized `selfStretch` values. `max` used to be called
|
|
@@ -252,7 +258,10 @@ export function getResponsiveChildLayoutStyles( {
|
|
|
252
258
|
|
|
253
259
|
return Object.entries( RESPONSIVE_BREAKPOINTS )
|
|
254
260
|
.map( ( [ viewport, mediaQuery ] ) => {
|
|
255
|
-
const viewportLayout = style
|
|
261
|
+
const viewportLayout = getStyleForState( style, {
|
|
262
|
+
viewport,
|
|
263
|
+
pseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,
|
|
264
|
+
} )?.layout;
|
|
256
265
|
if ( ! viewportLayout || ! Object.keys( viewportLayout ).length ) {
|
|
257
266
|
return '';
|
|
258
267
|
}
|
|
@@ -390,6 +399,9 @@ function GridTools( {
|
|
|
390
399
|
const parentAttributes = getBlockAttributes( _rootClientId );
|
|
391
400
|
const blockAttributes = getBlockAttributes( clientId );
|
|
392
401
|
const settings = getSettings();
|
|
402
|
+
const currentDeviceType =
|
|
403
|
+
settings?.[ deviceTypeKey ]?.toLowerCase() ||
|
|
404
|
+
BLOCK_VISIBILITY_VIEWPORTS.desktop.key;
|
|
393
405
|
|
|
394
406
|
return {
|
|
395
407
|
rootClientId: _rootClientId,
|
|
@@ -398,9 +410,7 @@ function GridTools( {
|
|
|
398
410
|
parentAttributes?.metadata?.blockVisibility,
|
|
399
411
|
blockBlockVisibility:
|
|
400
412
|
blockAttributes?.metadata?.blockVisibility,
|
|
401
|
-
deviceType:
|
|
402
|
-
settings?.[ deviceTypeKey ]?.toLowerCase() ||
|
|
403
|
-
BLOCK_VISIBILITY_VIEWPORTS.desktop.key,
|
|
413
|
+
deviceType: currentDeviceType,
|
|
404
414
|
// Check if the selected child block is itself a grid.
|
|
405
415
|
isChildBlockAGrid: blockAttributes?.layout?.type === 'grid',
|
|
406
416
|
};
|
|
@@ -408,16 +418,45 @@ function GridTools( {
|
|
|
408
418
|
[ clientId ]
|
|
409
419
|
);
|
|
410
420
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
421
|
+
// Get the block's DOM element to derive the canvas iframe window,
|
|
422
|
+
// so viewport detection matches the actual block rendering context
|
|
423
|
+
const blockElement = useBlockElement( clientId );
|
|
424
|
+
const rawCanvasView = blockElement?.ownerDocument?.defaultView;
|
|
425
|
+
const canvasView = rawCanvasView === null ? undefined : rawCanvasView;
|
|
426
|
+
|
|
427
|
+
const {
|
|
428
|
+
isBlockCurrentlyHidden: isParentBlockCurrentlyHidden,
|
|
429
|
+
currentViewport,
|
|
430
|
+
} = useBlockVisibility( {
|
|
431
|
+
blockVisibility: parentBlockVisibility,
|
|
432
|
+
deviceType,
|
|
433
|
+
view: canvasView,
|
|
434
|
+
} );
|
|
435
|
+
|
|
436
|
+
// Check whether any ancestor of the parent grid is hidden at the viewport
|
|
437
|
+
// actually detected from the canvas, so it stays consistent with how
|
|
438
|
+
// blocks are hidden.
|
|
439
|
+
const isAnyAncestorHidden = useSelect(
|
|
440
|
+
( select ) => {
|
|
441
|
+
if ( ! rootClientId ) {
|
|
442
|
+
return false;
|
|
443
|
+
}
|
|
444
|
+
const { isBlockParentHiddenAtViewport } = unlock(
|
|
445
|
+
select( blockEditorStore )
|
|
446
|
+
);
|
|
447
|
+
return isBlockParentHiddenAtViewport(
|
|
448
|
+
rootClientId,
|
|
449
|
+
currentViewport
|
|
450
|
+
);
|
|
451
|
+
},
|
|
452
|
+
[ rootClientId, currentViewport ]
|
|
453
|
+
);
|
|
416
454
|
|
|
417
455
|
const { isBlockCurrentlyHidden: isBlockItselfCurrentlyHidden } =
|
|
418
456
|
useBlockVisibility( {
|
|
419
457
|
blockVisibility: blockBlockVisibility,
|
|
420
458
|
deviceType,
|
|
459
|
+
view: canvasView,
|
|
421
460
|
} );
|
|
422
461
|
|
|
423
462
|
// Use useState() instead of useRef() so that GridItemResizer updates when ref is set.
|
|
@@ -425,7 +464,7 @@ function GridTools( {
|
|
|
425
464
|
|
|
426
465
|
const childGridClientId = isChildBlockAGrid ? clientId : undefined;
|
|
427
466
|
|
|
428
|
-
if ( ! isVisible || isParentBlockCurrentlyHidden ) {
|
|
467
|
+
if ( ! isVisible || isParentBlockCurrentlyHidden || isAnyAncestorHidden ) {
|
|
429
468
|
return null;
|
|
430
469
|
}
|
|
431
470
|
|
package/src/hooks/layout.js
CHANGED
|
@@ -52,8 +52,8 @@ const layoutBlockSupportKey = 'layout';
|
|
|
52
52
|
// Keep in sync with WP_Theme_JSON_Gutenberg::RESPONSIVE_BREAKPOINTS and
|
|
53
53
|
// packages/global-styles-engine/src/core/render.tsx.
|
|
54
54
|
const RESPONSIVE_BREAKPOINTS = {
|
|
55
|
-
mobile: '@media (width <= 480px)',
|
|
56
|
-
tablet: '@media (480px < width <= 782px)',
|
|
55
|
+
'@mobile': '@media (width <= 480px)',
|
|
56
|
+
'@tablet': '@media (480px < width <= 782px)',
|
|
57
57
|
};
|
|
58
58
|
const CHILD_LAYOUT_KEYS = [
|
|
59
59
|
'selfStretch',
|
|
@@ -252,7 +252,10 @@ export function getResponsiveLayoutStyles( {
|
|
|
252
252
|
} ) {
|
|
253
253
|
return Object.entries( RESPONSIVE_BREAKPOINTS )
|
|
254
254
|
.map( ( [ viewport, mediaQuery ] ) => {
|
|
255
|
-
const viewportStyle = attributes?.style
|
|
255
|
+
const viewportStyle = getStyleForState( attributes?.style, {
|
|
256
|
+
viewport,
|
|
257
|
+
pseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,
|
|
258
|
+
} );
|
|
256
259
|
const viewportLayout = getLayoutContainerValues(
|
|
257
260
|
viewportStyle?.layout
|
|
258
261
|
);
|
package/src/hooks/states.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { getBlockType } from '@wordpress/blocks';
|
|
5
4
|
import { __ } from '@wordpress/i18n';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -19,10 +18,23 @@ export const PSEUDO_STATE_LABELS = {
|
|
|
19
18
|
};
|
|
20
19
|
|
|
21
20
|
export const RESPONSIVE_STATE_LABELS = {
|
|
22
|
-
tablet: __( 'Tablet' ),
|
|
23
|
-
mobile: __( 'Mobile' ),
|
|
21
|
+
'@tablet': __( 'Tablet' ),
|
|
22
|
+
'@mobile': __( 'Mobile' ),
|
|
24
23
|
};
|
|
25
24
|
|
|
25
|
+
// Viewport states are selected globally via the editor's device preview
|
|
26
|
+
// (Responsive editing). 'default' maps to the Desktop device, the remaining
|
|
27
|
+
// options are derived from the shared responsive-state labels.
|
|
28
|
+
const DEVICE_STATE_OPTIONS = [
|
|
29
|
+
{ value: 'default', label: __( 'Desktop' ) },
|
|
30
|
+
...Object.entries( RESPONSIVE_STATE_LABELS ).map(
|
|
31
|
+
( [ value, label ] ) => ( {
|
|
32
|
+
value,
|
|
33
|
+
label,
|
|
34
|
+
} )
|
|
35
|
+
),
|
|
36
|
+
];
|
|
37
|
+
|
|
26
38
|
// Keep in sync with WP_Theme_JSON_Gutenberg::VALID_BLOCK_PSEUDO_SELECTORS
|
|
27
39
|
// and packages/global-styles-engine/src/core/render.tsx.
|
|
28
40
|
export const VALID_BLOCK_PSEUDO_STATES = {
|
|
@@ -43,23 +55,11 @@ function getPseudoStateOptions( name ) {
|
|
|
43
55
|
|
|
44
56
|
const DEFAULT_STATE_VALUE = 'default';
|
|
45
57
|
|
|
46
|
-
function getViewportStateOptions( name ) {
|
|
47
|
-
if ( ! getBlockType( name )?.attributes?.style ) {
|
|
48
|
-
return [];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return Object.entries( RESPONSIVE_STATE_LABELS ).map(
|
|
52
|
-
( [ value, label ] ) => ( {
|
|
53
|
-
value,
|
|
54
|
-
label,
|
|
55
|
-
} )
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
58
|
/**
|
|
60
|
-
* Renders a
|
|
61
|
-
*
|
|
62
|
-
*
|
|
59
|
+
* Renders a pseudo-state selector in the block card header.
|
|
60
|
+
*
|
|
61
|
+
* Viewport states are selected globally via the editor's device preview
|
|
62
|
+
* (Responsive editing), so only pseudo-states are exposed here.
|
|
63
63
|
*
|
|
64
64
|
* @param {Object} props Component props.
|
|
65
65
|
* @param {string} props.name Block name.
|
|
@@ -68,21 +68,17 @@ function getViewportStateOptions( name ) {
|
|
|
68
68
|
* @return {Element|null} State control component, or null if not applicable.
|
|
69
69
|
*/
|
|
70
70
|
export function BlockStatesControl( { name, value, onChange } ) {
|
|
71
|
-
const viewportStateOptions = getViewportStateOptions( name );
|
|
72
71
|
const pseudoStateOptions = getPseudoStateOptions( name );
|
|
73
72
|
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
74
73
|
|
|
75
|
-
if ( !
|
|
74
|
+
if ( ! pseudoStateOptions.length ) {
|
|
76
75
|
return null;
|
|
77
76
|
}
|
|
78
77
|
|
|
79
78
|
return (
|
|
80
79
|
<StateControl
|
|
81
|
-
viewportStates={ viewportStateOptions }
|
|
82
80
|
pseudoStates={ pseudoStateOptions }
|
|
83
|
-
viewportValue={ value?.viewport ?? DEFAULT_STATE_VALUE }
|
|
84
81
|
pseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }
|
|
85
|
-
onChangeViewport={ ( viewport ) => onChange( { viewport } ) }
|
|
86
82
|
onChangePseudoState={ ( pseudo ) => onChange( { pseudo } ) }
|
|
87
83
|
popoverProps={ dropdownMenuProps.popoverProps }
|
|
88
84
|
showText={ false }
|
|
@@ -90,17 +86,25 @@ export function BlockStatesControl( { name, value, onChange } ) {
|
|
|
90
86
|
);
|
|
91
87
|
}
|
|
92
88
|
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Renders badges for the active style states of a block.
|
|
91
|
+
*
|
|
92
|
+
* @param {Object} props Component props.
|
|
93
|
+
* @param {string} props.name Block name.
|
|
94
|
+
* @param {Object} props.value Currently selected style-state value.
|
|
95
|
+
* @param {boolean} props.isResponsiveEditing Whether Responsive editing is enabled.
|
|
96
|
+
* @return {Element|null} Badges component, or null if there is nothing to show.
|
|
97
|
+
*/
|
|
98
|
+
export function BlockStateBadges( { name, value, isResponsiveEditing } ) {
|
|
95
99
|
const pseudoStateOptions = getPseudoStateOptions( name );
|
|
96
100
|
|
|
97
|
-
if ( !
|
|
101
|
+
if ( ! pseudoStateOptions.length && ! isResponsiveEditing ) {
|
|
98
102
|
return null;
|
|
99
103
|
}
|
|
100
104
|
|
|
101
105
|
return (
|
|
102
106
|
<StateControlBadges
|
|
103
|
-
viewportStates={
|
|
107
|
+
viewportStates={ isResponsiveEditing ? DEVICE_STATE_OPTIONS : [] }
|
|
104
108
|
pseudoStates={ pseudoStateOptions }
|
|
105
109
|
viewportValue={ value?.viewport ?? DEFAULT_STATE_VALUE }
|
|
106
110
|
pseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }
|
package/src/hooks/style.js
CHANGED
|
@@ -19,7 +19,8 @@ import { getCSSRules, compileCSS } from '@wordpress/style-engine';
|
|
|
19
19
|
*/
|
|
20
20
|
import { BACKGROUND_SUPPORT_KEY, BackgroundImagePanel } from './background';
|
|
21
21
|
import { BORDER_SUPPORT_KEY, BorderPanel, SHADOW_SUPPORT_KEY } from './border';
|
|
22
|
-
import { COLOR_SUPPORT_KEY
|
|
22
|
+
import { COLOR_SUPPORT_KEY } from './color';
|
|
23
|
+
import { ElementsEdit } from './elements';
|
|
23
24
|
import {
|
|
24
25
|
TypographyPanel,
|
|
25
26
|
TYPOGRAPHY_SUPPORT_KEY,
|
|
@@ -57,8 +58,8 @@ const BORDER_SIDES = [ 'Top', 'Right', 'Bottom', 'Left' ];
|
|
|
57
58
|
// Keep in sync with WP_Theme_JSON_Gutenberg::RESPONSIVE_BREAKPOINTS and
|
|
58
59
|
// packages/global-styles-engine/src/core/render.tsx.
|
|
59
60
|
const RESPONSIVE_BREAKPOINTS = {
|
|
60
|
-
mobile: '@media (width <= 480px)',
|
|
61
|
-
tablet: '@media (480px < width <= 782px)',
|
|
61
|
+
'@mobile': '@media (width <= 480px)',
|
|
62
|
+
'@tablet': '@media (480px < width <= 782px)',
|
|
62
63
|
};
|
|
63
64
|
|
|
64
65
|
const styleSupportKeys = [
|
|
@@ -419,7 +420,10 @@ export function getResponsiveStateCSSRules( style, name, baseSelector ) {
|
|
|
419
420
|
|
|
420
421
|
Object.entries( RESPONSIVE_BREAKPOINTS ).forEach(
|
|
421
422
|
( [ viewport, mediaQuery ] ) => {
|
|
422
|
-
const viewportStyles = style
|
|
423
|
+
const viewportStyles = getStyleForState( style, {
|
|
424
|
+
viewport,
|
|
425
|
+
pseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,
|
|
426
|
+
} );
|
|
423
427
|
if ( ! viewportStyles ) {
|
|
424
428
|
return;
|
|
425
429
|
}
|
|
@@ -464,8 +468,8 @@ export function getResponsiveStateCSSRules( style, name, baseSelector ) {
|
|
|
464
468
|
* Returns the style value used to force-preview a selected state on canvas.
|
|
465
469
|
*
|
|
466
470
|
* Responsive pseudo states inherit from their default-viewport pseudo state.
|
|
467
|
-
* For example, selecting
|
|
468
|
-
* `:hover`, with
|
|
471
|
+
* For example, selecting `@mobile + :hover` should preview styles from
|
|
472
|
+
* `:hover`, with `@mobile.:hover` values layered on top when present.
|
|
469
473
|
*
|
|
470
474
|
* @param {Object} style Block style object.
|
|
471
475
|
* @param {Object} selectedState Selected block style state.
|
|
@@ -848,7 +852,7 @@ function BlockStyleControls( {
|
|
|
848
852
|
|
|
849
853
|
return (
|
|
850
854
|
<BlockStyleStateProvider value={ selectedState }>
|
|
851
|
-
<
|
|
855
|
+
<ElementsEdit { ...passedProps } />
|
|
852
856
|
<BackgroundImagePanel { ...passedProps } />
|
|
853
857
|
<TypographyPanel { ...passedProps } />
|
|
854
858
|
<BorderPanel { ...passedProps } />
|
|
@@ -3,10 +3,69 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
5
|
setBackgroundStyleDefaults,
|
|
6
|
+
backgroundResetAllFilter,
|
|
6
7
|
BACKGROUND_BLOCK_DEFAULT_VALUES,
|
|
7
8
|
} from '../background';
|
|
8
9
|
|
|
9
10
|
describe( 'background', () => {
|
|
11
|
+
describe( 'backgroundResetAllFilter', () => {
|
|
12
|
+
it( 'clears every background-owned value, including a custom legacy color.gradient', () => {
|
|
13
|
+
const result = backgroundResetAllFilter( {
|
|
14
|
+
backgroundColor: 'primary',
|
|
15
|
+
gradient: 'vivid-cyan-blue',
|
|
16
|
+
className: 'is-style-fancy has-background',
|
|
17
|
+
style: {
|
|
18
|
+
color: {
|
|
19
|
+
text: 'var:preset|color|contrast',
|
|
20
|
+
background: 'var:preset|color|base',
|
|
21
|
+
gradient:
|
|
22
|
+
'linear-gradient(135deg,rgb(100,100,200) 0%,rgb(200,100,100) 100%)',
|
|
23
|
+
},
|
|
24
|
+
spacing: { padding: '10px' },
|
|
25
|
+
background: { backgroundImage: { url: 'image.png' } },
|
|
26
|
+
},
|
|
27
|
+
} );
|
|
28
|
+
|
|
29
|
+
// Background color and gradient attributes are cleared.
|
|
30
|
+
expect( result.backgroundColor ).toBeUndefined();
|
|
31
|
+
expect( result.gradient ).toBeUndefined();
|
|
32
|
+
|
|
33
|
+
// The legacy `color.gradient` (a raw/custom value) is cleared. This
|
|
34
|
+
// is the regression guard: it was previously kept for blocks
|
|
35
|
+
// without `background.gradient` support.
|
|
36
|
+
expect( result.style?.color?.gradient ).toBeUndefined();
|
|
37
|
+
expect( result.style?.color?.background ).toBeUndefined();
|
|
38
|
+
expect( result.style?.background ).toBeUndefined();
|
|
39
|
+
|
|
40
|
+
// Unrelated styles are preserved.
|
|
41
|
+
expect( result.style?.color?.text ).toBe(
|
|
42
|
+
'var:preset|color|contrast'
|
|
43
|
+
);
|
|
44
|
+
expect( result.style?.spacing ).toEqual( { padding: '10px' } );
|
|
45
|
+
|
|
46
|
+
// The `has-background` class is removed, other classes remain.
|
|
47
|
+
expect( result.className ).toBe( 'is-style-fancy' );
|
|
48
|
+
} );
|
|
49
|
+
|
|
50
|
+
it( 'drops className entirely when has-background was its only value', () => {
|
|
51
|
+
const result = backgroundResetAllFilter( {
|
|
52
|
+
className: 'has-background',
|
|
53
|
+
style: {
|
|
54
|
+
color: { gradient: 'linear-gradient(0deg,#000,#fff)' },
|
|
55
|
+
},
|
|
56
|
+
} );
|
|
57
|
+
expect( result.className ).toBeUndefined();
|
|
58
|
+
} );
|
|
59
|
+
|
|
60
|
+
it( 'leaves className untouched when has-background is not present', () => {
|
|
61
|
+
const result = backgroundResetAllFilter( {
|
|
62
|
+
className: 'is-style-fancy',
|
|
63
|
+
style: {},
|
|
64
|
+
} );
|
|
65
|
+
expect( result.className ).toBe( 'is-style-fancy' );
|
|
66
|
+
} );
|
|
67
|
+
} );
|
|
68
|
+
|
|
10
69
|
describe( 'setBackgroundStyleDefaults', () => {
|
|
11
70
|
const backgroundStyles = {
|
|
12
71
|
backgroundImage: { id: 123, url: 'image.png' },
|
|
@@ -38,12 +38,12 @@ describe( 'getStyleForState', () => {
|
|
|
38
38
|
it( 'returns the selected viewport state style', () => {
|
|
39
39
|
const style = {
|
|
40
40
|
color: { text: '#000000' },
|
|
41
|
-
mobile: { color: { text: '#ff0000' } },
|
|
41
|
+
'@mobile': { color: { text: '#ff0000' } },
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
expect(
|
|
45
45
|
getStyleForState( style, {
|
|
46
|
-
viewport: 'mobile',
|
|
46
|
+
viewport: '@mobile',
|
|
47
47
|
pseudo: 'default',
|
|
48
48
|
} )
|
|
49
49
|
).toEqual( {
|
|
@@ -53,14 +53,14 @@ describe( 'getStyleForState', () => {
|
|
|
53
53
|
|
|
54
54
|
it( 'returns the selected viewport pseudo state style', () => {
|
|
55
55
|
const style = {
|
|
56
|
-
mobile: {
|
|
56
|
+
'@mobile': {
|
|
57
57
|
':hover': { color: { text: '#ff0000' } },
|
|
58
58
|
},
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
expect(
|
|
62
62
|
getStyleForState( style, {
|
|
63
|
-
viewport: 'mobile',
|
|
63
|
+
viewport: '@mobile',
|
|
64
64
|
pseudo: ':hover',
|
|
65
65
|
} )
|
|
66
66
|
).toEqual( {
|
|
@@ -105,14 +105,14 @@ describe( 'setStyleForState', () => {
|
|
|
105
105
|
setStyleForState(
|
|
106
106
|
{
|
|
107
107
|
color: { text: '#000000' },
|
|
108
|
-
mobile: { color: { text: '#ff0000' } },
|
|
108
|
+
'@mobile': { color: { text: '#ff0000' } },
|
|
109
109
|
},
|
|
110
|
-
{ viewport: 'mobile', pseudo: 'default' },
|
|
110
|
+
{ viewport: '@mobile', pseudo: 'default' },
|
|
111
111
|
{ typography: { fontSize: '32px' } }
|
|
112
112
|
)
|
|
113
113
|
).toEqual( {
|
|
114
114
|
color: { text: '#000000' },
|
|
115
|
-
mobile: { typography: { fontSize: '32px' } },
|
|
115
|
+
'@mobile': { typography: { fontSize: '32px' } },
|
|
116
116
|
} );
|
|
117
117
|
} );
|
|
118
118
|
|
|
@@ -121,17 +121,17 @@ describe( 'setStyleForState', () => {
|
|
|
121
121
|
setStyleForState(
|
|
122
122
|
{
|
|
123
123
|
color: { text: '#000000' },
|
|
124
|
-
mobile: {
|
|
124
|
+
'@mobile': {
|
|
125
125
|
color: { text: '#ff0000' },
|
|
126
126
|
':hover': { color: { text: '#00ff00' } },
|
|
127
127
|
},
|
|
128
128
|
},
|
|
129
|
-
{ viewport: 'mobile', pseudo: ':hover' },
|
|
129
|
+
{ viewport: '@mobile', pseudo: ':hover' },
|
|
130
130
|
{ typography: { fontSize: '32px' } }
|
|
131
131
|
)
|
|
132
132
|
).toEqual( {
|
|
133
133
|
color: { text: '#000000' },
|
|
134
|
-
mobile: {
|
|
134
|
+
'@mobile': {
|
|
135
135
|
color: { text: '#ff0000' },
|
|
136
136
|
':hover': { typography: { fontSize: '32px' } },
|
|
137
137
|
},
|
|
@@ -234,7 +234,7 @@ describe( 'scopeResetAllFilterToState', () => {
|
|
|
234
234
|
const attributes = {
|
|
235
235
|
style: {
|
|
236
236
|
color: { text: '#000000' },
|
|
237
|
-
mobile: {
|
|
237
|
+
'@mobile': {
|
|
238
238
|
color: { text: '#ff0000' },
|
|
239
239
|
':hover': { color: { text: '#00ff00' } },
|
|
240
240
|
},
|
|
@@ -242,17 +242,17 @@ describe( 'scopeResetAllFilterToState', () => {
|
|
|
242
242
|
};
|
|
243
243
|
|
|
244
244
|
const result = scopeResetAllFilterToState(
|
|
245
|
-
{ viewport: 'mobile', pseudo: ':hover' },
|
|
245
|
+
{ viewport: '@mobile', pseudo: ':hover' },
|
|
246
246
|
innerReset
|
|
247
247
|
)( attributes );
|
|
248
248
|
|
|
249
249
|
expect( innerReset ).toHaveBeenCalledWith( {
|
|
250
|
-
style: attributes.style
|
|
250
|
+
style: attributes.style[ '@mobile' ][ ':hover' ],
|
|
251
251
|
} );
|
|
252
252
|
expect( result ).toEqual( {
|
|
253
253
|
style: {
|
|
254
254
|
color: { text: '#000000' },
|
|
255
|
-
mobile: { color: { text: '#ff0000' } },
|
|
255
|
+
'@mobile': { color: { text: '#ff0000' } },
|
|
256
256
|
},
|
|
257
257
|
} );
|
|
258
258
|
} );
|
package/src/hooks/test/layout.js
CHANGED
|
@@ -52,7 +52,7 @@ describe( 'layout', () => {
|
|
|
52
52
|
getResponsiveLayoutStyles( {
|
|
53
53
|
attributes: {
|
|
54
54
|
style: {
|
|
55
|
-
mobile: {
|
|
55
|
+
'@mobile': {
|
|
56
56
|
spacing: {
|
|
57
57
|
blockGap: '12px',
|
|
58
58
|
},
|
|
@@ -74,7 +74,7 @@ describe( 'layout', () => {
|
|
|
74
74
|
getResponsiveLayoutStyles( {
|
|
75
75
|
attributes: {
|
|
76
76
|
style: {
|
|
77
|
-
mobile: {
|
|
77
|
+
'@mobile': {
|
|
78
78
|
spacing: {
|
|
79
79
|
blockGap: '12px',
|
|
80
80
|
},
|
|
@@ -96,7 +96,7 @@ describe( 'layout', () => {
|
|
|
96
96
|
getResponsiveLayoutStyles( {
|
|
97
97
|
attributes: {
|
|
98
98
|
style: {
|
|
99
|
-
mobile: {
|
|
99
|
+
'@mobile': {
|
|
100
100
|
layout: {
|
|
101
101
|
minimumColumnWidth: '8rem',
|
|
102
102
|
},
|
|
@@ -118,7 +118,7 @@ describe( 'layout', () => {
|
|
|
118
118
|
getResponsiveLayoutStyles( {
|
|
119
119
|
attributes: {
|
|
120
120
|
style: {
|
|
121
|
-
mobile: {
|
|
121
|
+
'@mobile': {
|
|
122
122
|
layout: {
|
|
123
123
|
columnCount: 3,
|
|
124
124
|
},
|
|
@@ -140,7 +140,7 @@ describe( 'layout', () => {
|
|
|
140
140
|
getResponsiveLayoutStyles( {
|
|
141
141
|
attributes: {
|
|
142
142
|
style: {
|
|
143
|
-
mobile: {
|
|
143
|
+
'@mobile': {
|
|
144
144
|
layout: {
|
|
145
145
|
columnCount: 3,
|
|
146
146
|
},
|
|
@@ -165,7 +165,7 @@ describe( 'layout', () => {
|
|
|
165
165
|
getResponsiveLayoutStyles( {
|
|
166
166
|
attributes: {
|
|
167
167
|
style: {
|
|
168
|
-
tablet: {
|
|
168
|
+
'@tablet': {
|
|
169
169
|
spacing: {
|
|
170
170
|
blockGap: '12px',
|
|
171
171
|
},
|
package/src/hooks/test/style.js
CHANGED
|
@@ -402,7 +402,7 @@ describe( 'getResponsiveStateCSSRules', () => {
|
|
|
402
402
|
expect(
|
|
403
403
|
getResponsiveStateCSSRules(
|
|
404
404
|
{
|
|
405
|
-
mobile: {
|
|
405
|
+
'@mobile': {
|
|
406
406
|
color: { text: 'red' },
|
|
407
407
|
},
|
|
408
408
|
},
|
|
@@ -418,7 +418,7 @@ describe( 'getResponsiveStateCSSRules', () => {
|
|
|
418
418
|
expect(
|
|
419
419
|
getResponsiveStateCSSRules(
|
|
420
420
|
{
|
|
421
|
-
mobile: {
|
|
421
|
+
'@mobile': {
|
|
422
422
|
color: { background: '#ff00d0' },
|
|
423
423
|
dimensions: { width: '50%' },
|
|
424
424
|
},
|
|
@@ -435,7 +435,7 @@ describe( 'getResponsiveStateCSSRules', () => {
|
|
|
435
435
|
expect(
|
|
436
436
|
getResponsiveStateCSSRules(
|
|
437
437
|
{
|
|
438
|
-
mobile: {
|
|
438
|
+
'@mobile': {
|
|
439
439
|
dimensions: { objectFit: 'fill' },
|
|
440
440
|
},
|
|
441
441
|
},
|
|
@@ -451,7 +451,7 @@ describe( 'getResponsiveStateCSSRules', () => {
|
|
|
451
451
|
expect(
|
|
452
452
|
getResponsiveStateCSSRules(
|
|
453
453
|
{
|
|
454
|
-
mobile: {
|
|
454
|
+
'@mobile': {
|
|
455
455
|
':hover': {
|
|
456
456
|
color: { background: 'black' },
|
|
457
457
|
},
|
|
@@ -469,7 +469,7 @@ describe( 'getResponsiveStateCSSRules', () => {
|
|
|
469
469
|
expect(
|
|
470
470
|
getResponsiveStateCSSRules(
|
|
471
471
|
{
|
|
472
|
-
mobile: {
|
|
472
|
+
'@mobile': {
|
|
473
473
|
elements: {
|
|
474
474
|
link: {
|
|
475
475
|
color: { text: 'blue' },
|
|
@@ -510,7 +510,7 @@ describe( 'getCanvasStateStyleValue', () => {
|
|
|
510
510
|
color: { text: 'red' },
|
|
511
511
|
},
|
|
512
512
|
},
|
|
513
|
-
{ viewport: 'mobile', pseudo: ':hover' }
|
|
513
|
+
{ viewport: '@mobile', pseudo: ':hover' }
|
|
514
514
|
)
|
|
515
515
|
).toEqual( {
|
|
516
516
|
color: { text: 'red' },
|
|
@@ -524,13 +524,13 @@ describe( 'getCanvasStateStyleValue', () => {
|
|
|
524
524
|
':hover': {
|
|
525
525
|
color: { background: 'blue', text: 'red' },
|
|
526
526
|
},
|
|
527
|
-
mobile: {
|
|
527
|
+
'@mobile': {
|
|
528
528
|
':hover': {
|
|
529
529
|
color: { text: 'yellow' },
|
|
530
530
|
},
|
|
531
531
|
},
|
|
532
532
|
},
|
|
533
|
-
{ viewport: 'mobile', pseudo: ':hover' }
|
|
533
|
+
{ viewport: '@mobile', pseudo: ':hover' }
|
|
534
534
|
)
|
|
535
535
|
).toEqual( {
|
|
536
536
|
color: { background: 'blue', text: 'yellow' },
|