@wordpress/block-editor 15.21.1 → 15.22.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 +2 -2
- package/build/components/block-card/index.cjs +4 -5
- package/build/components/block-card/index.cjs.map +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 +35 -20
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-mover/mover-description.cjs +6 -6
- package/build/components/block-mover/mover-description.cjs.map +1 -1
- package/build/components/block-patterns-list/index.cjs.map +2 -2
- package/build/components/block-patterns-paging/index.cjs +4 -4
- package/build/components/block-patterns-paging/index.cjs.map +2 -2
- package/build/components/block-popover/use-popover-scroll.cjs.map +1 -1
- package/build/components/block-quick-navigation/index.cjs +7 -5
- package/build/components/block-quick-navigation/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/block-toolbar/edit-section-button.cjs.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.cjs +10 -4
- package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +51 -19
- package/build/components/child-layout-control/index.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/dimensions-tool/index.cjs +4 -5
- package/build/components/dimensions-tool/index.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs +1 -1
- package/build/components/dimensions-tool/scale-tool.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 +1 -4
- 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/shadow-panel-components.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/grid/grid-item-resizer.cjs.map +1 -1
- package/build/components/grid/grid-visualizer.cjs.map +1 -1
- package/build/components/iframe/index.cjs +6 -3
- package/build/components/iframe/index.cjs.map +3 -3
- package/build/components/image-editor/use-transform-image.cjs.map +1 -1
- package/build/components/inserter/get-appender-label.cjs.map +1 -1
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/search-items.cjs.map +1 -1
- package/build/components/inspector-controls/fill.cjs +1 -3
- package/build/components/inspector-controls/fill.cjs.map +2 -2
- 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/index.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/styles-tab.cjs +76 -32
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
- package/build/components/keyboard-shortcuts/index.cjs.map +1 -1
- package/build/components/line-height-control/index.cjs.map +1 -1
- package/build/components/link-control/index.cjs +2 -3
- package/build/components/link-control/index.cjs.map +2 -2
- package/build/components/link-control/normalize-url.cjs.map +1 -1
- 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/list-view/utils.cjs.map +1 -1
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/provider/index.cjs.map +1 -1
- package/build/components/provider/use-block-sync.cjs +3 -1
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/before-input-rules.cjs +1 -1
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +1 -1
- package/build/components/rich-text/prevent-event-discovery.cjs +1 -1
- package/build/components/rich-text/prevent-event-discovery.cjs.map +1 -1
- 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/writing-flow/use-tab-nav.cjs.map +1 -1
- package/build/hooks/anchor.cjs +1 -2
- 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/block-fields/index.cjs +13 -2
- package/build/hooks/block-fields/index.cjs.map +2 -2
- 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/dimensions.cjs +13 -2
- package/build/hooks/dimensions.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 +65 -10
- 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/list-view.cjs +10 -7
- package/build/hooks/list-view.cjs.map +2 -2
- package/build/hooks/spacing-visualizer.cjs.map +1 -1
- package/build/hooks/state-utils.cjs.map +1 -1
- package/build/hooks/states.cjs +2 -2
- package/build/hooks/states.cjs.map +2 -2
- package/build/hooks/style.cjs +50 -6
- 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 +4 -0
- package/build/private-apis.cjs.map +2 -2
- package/build/store/actions.cjs.map +1 -1
- package/build/store/private-selectors.cjs +19 -2
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs.map +1 -1
- package/build/store/selectors.cjs.map +1 -1
- 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 +3 -2
- 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-card/index.mjs +5 -6
- package/build-module/components/block-card/index.mjs.map +2 -2
- 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 +35 -21
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-mover/mover-description.mjs +6 -6
- package/build-module/components/block-mover/mover-description.mjs.map +1 -1
- package/build-module/components/block-patterns-list/index.mjs.map +2 -2
- package/build-module/components/block-patterns-paging/index.mjs +4 -4
- package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
- package/build-module/components/block-popover/use-popover-scroll.mjs.map +1 -1
- package/build-module/components/block-quick-navigation/index.mjs +8 -6
- package/build-module/components/block-quick-navigation/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/block-toolbar/edit-section-button.mjs.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs +10 -4
- package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +51 -19
- package/build-module/components/child-layout-control/index.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/dimensions-tool/index.mjs +4 -5
- package/build-module/components/dimensions-tool/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs +1 -1
- package/build-module/components/dimensions-tool/scale-tool.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 +1 -5
- 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/shadow-panel-components.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/grid/grid-item-resizer.mjs.map +1 -1
- package/build-module/components/grid/grid-visualizer.mjs.map +1 -1
- package/build-module/components/iframe/index.mjs +6 -3
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/image-editor/use-transform-image.mjs.map +1 -1
- package/build-module/components/inserter/get-appender-label.mjs.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/search-items.mjs.map +1 -1
- package/build-module/components/inspector-controls/fill.mjs +1 -3
- package/build-module/components/inspector-controls/fill.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/index.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +76 -32
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
- package/build-module/components/keyboard-shortcuts/index.mjs.map +1 -1
- package/build-module/components/line-height-control/index.mjs.map +1 -1
- package/build-module/components/link-control/index.mjs +2 -3
- package/build-module/components/link-control/index.mjs.map +2 -2
- package/build-module/components/link-control/normalize-url.mjs.map +1 -1
- 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/list-view/utils.mjs.map +1 -1
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/provider/index.mjs.map +1 -1
- 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/rich-text/event-listeners/before-input-rules.mjs +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +1 -1
- package/build-module/components/rich-text/prevent-event-discovery.mjs +1 -1
- package/build-module/components/rich-text/prevent-event-discovery.mjs.map +1 -1
- 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/writing-flow/use-tab-nav.mjs.map +1 -1
- package/build-module/hooks/anchor.mjs +1 -2
- 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/block-fields/index.mjs +13 -2
- package/build-module/hooks/block-fields/index.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/dimensions.mjs +12 -2
- package/build-module/hooks/dimensions.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 +68 -10
- 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/list-view.mjs +10 -7
- package/build-module/hooks/list-view.mjs.map +2 -2
- package/build-module/hooks/spacing-visualizer.mjs.map +1 -1
- package/build-module/hooks/state-utils.mjs.map +1 -1
- package/build-module/hooks/states.mjs +2 -2
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs +53 -8
- 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 +8 -0
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs.map +1 -1
- package/build-module/store/private-selectors.mjs +18 -1
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs.map +1 -1
- package/build-module/store/selectors.mjs.map +1 -1
- 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 +3 -2
- 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 +46 -40
- 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-card/index.js +7 -13
- 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 +22 -20
- package/src/components/block-patterns-list/index.js +0 -1
- package/src/components/block-quick-navigation/index.js +7 -7
- 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-tools/use-block-toolbar-popover-props.js +10 -4
- package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +4 -0
- package/src/components/child-layout-control/index.js +65 -20
- package/src/components/child-layout-control/test/index.js +64 -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/dimensions-tool/index.js +4 -9
- package/src/components/dimensions-tool/scale-tool.js +1 -2
- package/src/components/dimensions-tool/test/index.js +89 -11
- 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 +1 -5
- package/src/components/global-styles/hooks.js +45 -0
- package/src/components/global-styles/shadow-panel-components.js +0 -1
- 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/iframe/index.js +8 -3
- package/src/components/inserter/media-tab/media-preview.js +0 -1
- package/src/components/inspector-controls/README.md +0 -2
- package/src/components/inspector-controls/fill.js +6 -8
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/index.js +0 -1
- package/src/components/inspector-controls-tabs/styles-tab.js +78 -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 -18
- package/src/components/preset-input-control/custom-value-controls.js +0 -1
- 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/hooks/anchor.js +0 -1
- package/src/hooks/background.js +210 -133
- package/src/hooks/background.scss +0 -35
- package/src/hooks/block-fields/index.js +27 -2
- 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/dimensions.js +14 -3
- 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 +92 -14
- package/src/hooks/layout.js +6 -3
- package/src/hooks/list-view.js +10 -11
- package/src/hooks/states.js +2 -2
- package/src/hooks/style.js +91 -9
- package/src/hooks/test/background.js +59 -0
- package/src/hooks/test/block-style-state.js +14 -14
- package/src/hooks/test/dimensions.js +71 -0
- package/src/hooks/test/layout-child.js +165 -0
- package/src/hooks/test/layout.js +6 -6
- package/src/hooks/test/style.js +133 -11
- package/src/hooks/typography.js +70 -6
- package/src/layouts/flex.js +118 -15
- package/src/private-apis.js +8 -0
- package/src/store/private-selectors.js +47 -0
- package/src/store/test/private-selectors.js +166 -7
- package/src/store/test/reducer.js +61 -10
- 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/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
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Returns true if two elements are contained within the same block.
|
|
3
3
|
*
|
|
4
|
-
* @param
|
|
5
|
-
* @param
|
|
4
|
+
* @param a First element.
|
|
5
|
+
* @param b Second element.
|
|
6
6
|
*
|
|
7
|
-
* @return
|
|
7
|
+
* @return Whether elements are in the same block.
|
|
8
8
|
*/
|
|
9
9
|
export declare function isInSameBlock(a: Element, b: Element): boolean;
|
|
10
10
|
/**
|
|
11
11
|
* Returns true if an element is considered part of the block and not its inner
|
|
12
12
|
* blocks or appender.
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
14
|
+
* @param blockElement Block container element.
|
|
15
|
+
* @param element Element.
|
|
16
16
|
*
|
|
17
|
-
* @return
|
|
18
|
-
*
|
|
17
|
+
* @return Whether an element is considered part of the block and not
|
|
18
|
+
* its inner blocks or appender.
|
|
19
19
|
*/
|
|
20
20
|
export declare function isInsideRootBlock(blockElement: Element, element: Element): boolean;
|
|
21
21
|
/**
|
|
22
22
|
* Finds the block client ID given any DOM node inside the block.
|
|
23
23
|
*
|
|
24
|
-
* @param
|
|
24
|
+
* @param node DOM node.
|
|
25
25
|
*
|
|
26
|
-
* @return
|
|
27
|
-
*
|
|
26
|
+
* @return Client ID or undefined if the node is not part of
|
|
27
|
+
* a block.
|
|
28
28
|
*/
|
|
29
29
|
export declare function getBlockClientId(node: Node | null): string | undefined;
|
|
30
30
|
/**
|
|
31
31
|
* Calculates the union of two rectangles.
|
|
32
32
|
*
|
|
33
|
-
* @param
|
|
34
|
-
* @param
|
|
35
|
-
* @return
|
|
33
|
+
* @param rect1 First rectangle.
|
|
34
|
+
* @param rect2 Second rectangle.
|
|
35
|
+
* @return Union of the two rectangles.
|
|
36
36
|
*/
|
|
37
|
-
export declare function rectUnion(rect1: DOMRect, rect2: DOMRect):
|
|
37
|
+
export declare function rectUnion(rect1: DOMRect, rect2: DOMRect): DOMRectReadOnly;
|
|
38
38
|
/**
|
|
39
39
|
* Returns whether an element is visible.
|
|
40
40
|
*
|
|
41
|
-
* @param
|
|
42
|
-
* @return
|
|
41
|
+
* @param element Element.
|
|
42
|
+
* @return Whether the element is visible.
|
|
43
43
|
*/
|
|
44
44
|
export declare function isElementVisible(element: Element): boolean;
|
|
45
45
|
export declare const WITH_OVERFLOW_ELEMENT_BLOCKS: string[];
|
|
@@ -53,8 +53,8 @@ export declare const WITH_OVERFLOW_ELEMENT_BLOCKS: string[];
|
|
|
53
53
|
* The returned rect represents the full extent of the element and its visible
|
|
54
54
|
* children, which may extend beyond the viewport.
|
|
55
55
|
*
|
|
56
|
-
* @param
|
|
57
|
-
* @return
|
|
56
|
+
* @param element Element.
|
|
57
|
+
* @return Bounding client rect of the element and its visible children.
|
|
58
58
|
*/
|
|
59
|
-
export declare function getElementBounds(element: Element):
|
|
59
|
+
export declare function getElementBounds(element: Element): DOMRectReadOnly;
|
|
60
60
|
//# sourceMappingURL=dom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/utils/dom.
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,WAEpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,WAKzE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,IAAI,GAAG,IAAI,sBAiBlD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,mBAOxD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAE,OAAO,EAAE,OAAO,WAoCjD;AAkBD,eAAO,MAAM,4BAA4B,UAAwB,CAAC;AAClE;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAE,OAAO,EAAE,OAAO,mBAkDjD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frontend fit text functionality.
|
|
3
|
+
* Automatically detects and initializes fit text on blocks with the has-fit-text class.
|
|
4
|
+
* Supports both initial page load and Interactivity API client-side navigation.
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=fit-text-frontend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fit-text-frontend.d.ts","sourceRoot":"","sources":["../../src/utils/fit-text-frontend.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utility functions for fit text functionality.
|
|
3
|
+
* Uses callback-based approach for maximum code reuse between editor and frontend.
|
|
4
|
+
*/
|
|
5
|
+
type ApplyFontSize = (size: number) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Complete fit text optimization for a single text element.
|
|
8
|
+
* Handles the full flow using callbacks for font size application.
|
|
9
|
+
*
|
|
10
|
+
* @param textElement The text element (paragraph, heading, etc.)
|
|
11
|
+
* @param applyFontSize Function that receives font size in pixels (0 to clear, >0 to apply)
|
|
12
|
+
*/
|
|
13
|
+
export declare function optimizeFitText(textElement: HTMLElement | null, applyFontSize: ApplyFontSize): number | undefined;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=fit-text-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fit-text-utils.d.ts","sourceRoot":"","sources":["../../src/utils/fit-text-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,aAAa,GAAG,CAAE,IAAI,EAAE,MAAM,KAAM,IAAI,CAAC;AAmF9C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,aAAa,EAAE,aAAa,sBAY5B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { FormattedFont } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* Formats font styles to human readable names.
|
|
7
|
+
*
|
|
8
|
+
* @param fontStyle font style string
|
|
9
|
+
* @return new object with formatted font style
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatFontStyle(fontStyle: FormattedFont | string | undefined): FormattedFont;
|
|
12
|
+
//# sourceMappingURL=format-font-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-font-style.d.ts","sourceRoot":"","sources":["../../src/utils/format-font-style.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,SAAS,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,GAC3C,aAAa,CA4Bf"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { FormattedFont } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* Formats font weights to human readable names.
|
|
7
|
+
*
|
|
8
|
+
* @param fontWeight font weight string
|
|
9
|
+
* @return new object with formatted font weight
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatFontWeight(fontWeight: FormattedFont | string | undefined): FormattedFont;
|
|
12
|
+
//# sourceMappingURL=format-font-weight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-font-weight.d.ts","sourceRoot":"","sources":["../../src/utils/format-font-weight.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,GAC5C,aAAa,CAmDf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets the editor region for a given editor canvas element or
|
|
3
|
+
* returns the passed element if no region is found
|
|
4
|
+
*
|
|
5
|
+
* @param editor The editor canvas element.
|
|
6
|
+
* @return The editor region or given editor element
|
|
7
|
+
*/
|
|
8
|
+
export default function getEditorRegion(editor: Element | null | undefined): Element | null;
|
|
9
|
+
//# sourceMappingURL=get-editor-region.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-editor-region.d.ts","sourceRoot":"","sources":["../../src/utils/get-editor-region.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,kBA2B1E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FontFamilyFace, FormattedFont, CombinedStyleAndWeightOption } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Builds a list of font style and weight options based on font family faces.
|
|
4
|
+
* Defaults to the standard font styles and weights if no font family faces are provided.
|
|
5
|
+
*
|
|
6
|
+
* @param fontFamilyFaces font family faces array
|
|
7
|
+
* @return new object with combined and separated font style and weight properties
|
|
8
|
+
*/
|
|
9
|
+
export declare function getFontStylesAndWeights(fontFamilyFaces: FontFamilyFace[] | undefined): {
|
|
10
|
+
fontStyles: FormattedFont[];
|
|
11
|
+
fontWeights: FormattedFont[];
|
|
12
|
+
combinedStyleAndWeightOptions: CombinedStyleAndWeightOption[];
|
|
13
|
+
isSystemFont: boolean;
|
|
14
|
+
isVariableFont: boolean;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=get-font-styles-and-weights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-font-styles-and-weights.d.ts","sourceRoot":"","sources":["../../src/utils/get-font-styles-and-weights.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,4BAA4B,EAC5B,MAAM,SAAS,CAAC;AAwDjB;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,cAAc,EAAE,GAAG,SAAS;;;;;;EA4H7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-px-from-css-unit.d.ts","sourceRoot":"","sources":["../../src/utils/get-px-from-css-unit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A string representing the name of an edge.
|
|
3
|
+
*/
|
|
4
|
+
type EdgeName = 'top' | 'right' | 'bottom' | 'left';
|
|
5
|
+
interface Point {
|
|
6
|
+
/** The horizontal position. */
|
|
7
|
+
x: number;
|
|
8
|
+
/** The vertical position. */
|
|
9
|
+
y: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Given a point, a DOMRect and the name of an edge, returns the distance to
|
|
13
|
+
* that edge of the rect.
|
|
14
|
+
*
|
|
15
|
+
* This function works for edges that are horizontal or vertical (e.g. not
|
|
16
|
+
* rotated), the following terms are used so that the function works in both
|
|
17
|
+
* orientations:
|
|
18
|
+
*
|
|
19
|
+
* - Forward, meaning the axis running horizontally when an edge is vertical
|
|
20
|
+
* and vertically when an edge is horizontal.
|
|
21
|
+
* - Lateral, meaning the axis running vertically when an edge is vertical
|
|
22
|
+
* and horizontally when an edge is horizontal.
|
|
23
|
+
*
|
|
24
|
+
* @param point The point to measure distance from.
|
|
25
|
+
* @param rect A DOM Rect containing edge positions.
|
|
26
|
+
* @param edge The edge to measure to.
|
|
27
|
+
*/
|
|
28
|
+
export declare function getDistanceFromPointToEdge(point: Point, rect: DOMRect, edge: EdgeName): number;
|
|
29
|
+
/**
|
|
30
|
+
* Given a point, a DOMRect and a list of allowed edges returns the name of and
|
|
31
|
+
* distance to the nearest edge.
|
|
32
|
+
*
|
|
33
|
+
* @param point The point to measure distance from.
|
|
34
|
+
* @param rect A DOM Rect containing edge positions.
|
|
35
|
+
* @param allowedEdges A list of the edges included in the
|
|
36
|
+
* calculation. Defaults to all edges.
|
|
37
|
+
*
|
|
38
|
+
* @return An array where the first value is the distance
|
|
39
|
+
* and a second is the edge name.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getDistanceToNearestEdge(point: Point, rect: DOMRect, allowedEdges?: EdgeName[]): (number | EdgeName | undefined)[];
|
|
42
|
+
/**
|
|
43
|
+
* Is the point contained by the rectangle.
|
|
44
|
+
*
|
|
45
|
+
* @param point The point.
|
|
46
|
+
* @param rect The rectangle.
|
|
47
|
+
*
|
|
48
|
+
* @return True if the point is contained by the rectangle, false otherwise.
|
|
49
|
+
*/
|
|
50
|
+
export declare function isPointContainedByRect(point: Point, rect: DOMRect): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Is the point within the top and bottom boundaries of the rectangle.
|
|
53
|
+
*
|
|
54
|
+
* @param point The point.
|
|
55
|
+
* @param rect The rectangle.
|
|
56
|
+
*
|
|
57
|
+
* @return True if the point is within top and bottom of rectangle, false otherwise.
|
|
58
|
+
*/
|
|
59
|
+
export declare function isPointWithinTopAndBottomBoundariesOfRect(point: Point, rect: DOMRect): boolean;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,UAAU,KAAK;IACd,+BAA+B;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,6BAA6B;IAC7B,CAAC,EAAE,MAAM,CAAC;CACV;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,QAAQ,UA8Bd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,EACb,YAAY,GAAE,QAAQ,EAAyC,qCAe/D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,WAOlE;AAED;;;;;;;GAOG;AACH,wBAAgB,yCAAyC,CACxD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,WAGb"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
type AnyObject = Record<string, unknown>;
|
|
2
|
+
type ObjectOrArray = AnyObject | unknown[];
|
|
3
|
+
type ObjectPathKey = number | string;
|
|
4
|
+
type ObjectPath = ObjectPathKey | ObjectPathKey[];
|
|
5
|
+
/**
|
|
6
|
+
* Immutably sets a value inside an object. Like `lodash#set`, but returning a
|
|
7
|
+
* new object. Treats nullish initial values as empty objects. Clones any
|
|
8
|
+
* nested objects. Supports arrays, too.
|
|
9
|
+
*
|
|
10
|
+
* @param object Object to set a value in.
|
|
11
|
+
* @param path Path in the object to modify.
|
|
12
|
+
* @param value New value to set.
|
|
13
|
+
* @return Cloned object with the new value set.
|
|
14
|
+
*/
|
|
15
|
+
export declare function setImmutably(object: ObjectOrArray | null | undefined, path: ObjectPath, value: unknown): ObjectOrArray;
|
|
16
|
+
/**
|
|
17
|
+
* Helper util to return a value from a certain path of the object.
|
|
18
|
+
* Path is specified as either:
|
|
19
|
+
* - a string of properties, separated by dots, for example: "x.y".
|
|
20
|
+
* - an array of properties, for example `[ 'x', 'y' ]`.
|
|
21
|
+
* You can also specify a default value in case the result is nullish.
|
|
22
|
+
*
|
|
23
|
+
* @param object Input object.
|
|
24
|
+
* @param path Path to the object property.
|
|
25
|
+
* @param defaultValue Default value if the value at the specified path is nullish.
|
|
26
|
+
* @return Value of the object property at the specified path.
|
|
27
|
+
*/
|
|
28
|
+
export declare const getValueFromObjectPath: (object: AnyObject | undefined | null, path: string | string[], defaultValue?: unknown) => unknown;
|
|
29
|
+
/**
|
|
30
|
+
* Helper util to filter out objects with duplicate values for a given property.
|
|
31
|
+
*
|
|
32
|
+
* @param array Array of objects to filter.
|
|
33
|
+
* @param property Property to filter unique values by.
|
|
34
|
+
*
|
|
35
|
+
* @return Array of objects with unique values for the specified property.
|
|
36
|
+
*/
|
|
37
|
+
export declare function uniqByProperty<T extends AnyObject>(array: T[], property: string): T[];
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;AAC3C,KAAK,aAAa,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;AAC3C,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AACrC,KAAK,UAAU,GAAG,aAAa,GAAG,aAAa,EAAE,CAAC;AAElD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,EACxC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,OAAO,GACZ,aAAa,CAyBf;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,WAC1B,SAAS,GAAG,SAAS,GAAG,IAAI,QAC9B,MAAM,GAAG,MAAM,EAAE,iBACR,OAAO,YAQtB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAE,CAAC,SAAS,SAAS,EAClD,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,MAAM,OAOhB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type EditorInserterItem = {
|
|
2
|
+
id: string;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* Helper function to order inserter block items according to a provided array of prioritized blocks.
|
|
6
|
+
*
|
|
7
|
+
* @param items The array of editor inserter block items to be sorted.
|
|
8
|
+
* @param priority The array of block names to be prioritized.
|
|
9
|
+
* @return The sorted array of editor inserter block items.
|
|
10
|
+
*/
|
|
11
|
+
export declare const orderInserterBlockItems: (items: EditorInserterItem[], priority: string[] | undefined) => EditorInserterItem[];
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=order-inserter-block-items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-inserter-block-items.d.ts","sourceRoot":"","sources":["../../src/utils/order-inserter-block-items.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,UAC5B,kBAAkB,EAAE,YACjB,MAAM,EAAE,GAAG,SAAS,yBAqB9B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare function getPasteEventData({ clipboardData }: {
|
|
2
|
+
clipboardData: DataTransfer;
|
|
3
|
+
}): {
|
|
4
|
+
files: File[];
|
|
5
|
+
html?: undefined;
|
|
6
|
+
plainText?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
html: string;
|
|
9
|
+
plainText: string;
|
|
10
|
+
files: never[];
|
|
11
|
+
} | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Given a collection of DataTransfer files and HTML and plain text strings,
|
|
14
|
+
* determine whether the files are to be dismissed in favor of the HTML.
|
|
15
|
+
*
|
|
16
|
+
* Certain office-type programs, like Microsoft Word or Apple Numbers,
|
|
17
|
+
* will, upon copy, generate a screenshot of the content being copied and
|
|
18
|
+
* attach it to the clipboard alongside the actual rich text that the user
|
|
19
|
+
* sought to copy. In those cases, we should let Gutenberg handle the rich text
|
|
20
|
+
* content and not the screenshot, since this allows Gutenberg to insert
|
|
21
|
+
* meaningful blocks, like paragraphs, lists or even tables.
|
|
22
|
+
*
|
|
23
|
+
* @param files File objects obtained from a paste event
|
|
24
|
+
* @param html HTML content obtained from a paste event
|
|
25
|
+
* @return True if the files should be dismissed
|
|
26
|
+
*/
|
|
27
|
+
export declare function shouldDismissPastedFiles(files: File[], html: string): boolean;
|
|
28
|
+
//# sourceMappingURL=pasting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pasting.d.ts","sourceRoot":"","sources":["../../src/utils/pasting.ts"],"names":[],"mappings":"AAkDA,wBAAgB,iBAAiB,CAAE,EAClC,aAAa,EACb,EAAE;IACF,aAAa,EAAE,YAAY,CAAC;CAC5B;;;;;;;;cA2BA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,IAAI,EAAE,EACb,IAAI,EAAE,MAAM,WA+BZ"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A robust way to retain selection position through various
|
|
3
|
+
* transforms is to insert a special character at the position and
|
|
4
|
+
* then recover it.
|
|
5
|
+
*/
|
|
6
|
+
export declare const START_OF_SELECTED_AREA = "\u0086";
|
|
7
|
+
/**
|
|
8
|
+
* Retrieve the block attribute that contains the selection position.
|
|
9
|
+
*
|
|
10
|
+
* @param blockAttributes Block attributes.
|
|
11
|
+
* @return The name of the block attribute that was previously selected.
|
|
12
|
+
*/
|
|
13
|
+
export declare function retrieveSelectedAttribute(blockAttributes: Record<string, unknown> | undefined): string | undefined;
|
|
14
|
+
type BlockTypeWithAttributes = {
|
|
15
|
+
attributes: Record<string, {
|
|
16
|
+
source?: string;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
export declare function findRichTextAttributeKey(blockType: BlockTypeWithAttributes): string | undefined;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/utils/selection.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAE/C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,eAAe,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,GAAG,SAAS,sBAetD;AAED,KAAK,uBAAuB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAE,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAE,CAAC;CAClD,CAAC;AAEF,wBAAgB,wBAAwB,CAAE,SAAS,EAAE,uBAAuB,sBAO3E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Comparable = string | number | undefined;
|
|
2
|
+
type SortItem = Record<string, Comparable>;
|
|
3
|
+
type SortField<T> = string | ((item: T) => Comparable);
|
|
4
|
+
/**
|
|
5
|
+
* Order items by a certain key.
|
|
6
|
+
* Supports decorator functions that allow complex picking of a comparison field.
|
|
7
|
+
* Sorts in ascending order by default, but supports descending as well.
|
|
8
|
+
* Stable sort - maintains original order of equal items.
|
|
9
|
+
*
|
|
10
|
+
* @param items Items to order.
|
|
11
|
+
* @param field Field to order by.
|
|
12
|
+
* @param order Sorting order, `asc` or `desc`.
|
|
13
|
+
* @return Sorted items.
|
|
14
|
+
*/
|
|
15
|
+
export declare function orderBy<T extends SortItem>(items: T[], field: SortField<T>, order?: string): T[];
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=sorting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/utils/sorting.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAC9C,KAAK,QAAQ,GAAG,MAAM,CAAE,MAAM,EAAE,UAAU,CAAE,CAAC;AAC7C,KAAK,SAAS,CAAE,CAAC,IAAK,MAAM,GAAG,CAAE,CAAE,IAAI,EAAE,CAAC,KAAM,UAAU,CAAE,CAAC;AA6D7D;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAE,CAAC,SAAS,QAAQ,EAC1C,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,SAAS,CAAE,CAAC,CAAE,EACrB,KAAK,SAAQ,OAGb"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { EditorStyle, TransformOptions } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* Applies a series of CSS rule transforms to wrap selectors inside a given class and/or rewrite URLs depending on the parameters passed.
|
|
7
|
+
*
|
|
8
|
+
* @param styles CSS rules.
|
|
9
|
+
* @param wrapperSelector Wrapper selector.
|
|
10
|
+
* @param transformOptions Additional options for style transformation.
|
|
11
|
+
* @return converted rules.
|
|
12
|
+
*/
|
|
13
|
+
declare const transformStyles: (styles: EditorStyle[], wrapperSelector?: string, transformOptions?: TransformOptions) => any[];
|
|
14
|
+
export default transformStyles;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/transform-styles/index.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAyJ7D;;;;;;;GAOG;AACH,QAAA,MAAM,eAAe,WACZ,WAAW,EAAE,+CAEF,gBAAgB,UAenC,CAAC;eAEa,eAAe"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface EditorStyle {
|
|
2
|
+
/** The CSS block(s), as a single string. */
|
|
3
|
+
css: string;
|
|
4
|
+
/** The base URL to be used as the reference when rewriting urls. */
|
|
5
|
+
baseURL?: string;
|
|
6
|
+
/** The selectors not to wrap. */
|
|
7
|
+
ignoredSelectors?: (string | RegExp)[];
|
|
8
|
+
}
|
|
9
|
+
export interface TransformOptions {
|
|
10
|
+
/** The selectors not to wrap. */
|
|
11
|
+
ignoredSelectors?: (string | RegExp)[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/transform-styles/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC3B,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,CAAE,MAAM,GAAG,MAAM,CAAE,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAChC,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,CAAE,MAAM,GAAG,MAAM,CAAE,EAAE,CAAC;CACzC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result of formatting a font style or weight.
|
|
3
|
+
*/
|
|
4
|
+
export interface FormattedFont {
|
|
5
|
+
/** Human readable name. */
|
|
6
|
+
name?: string;
|
|
7
|
+
/** Original CSS value. */
|
|
8
|
+
value?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A font family face from theme.json.
|
|
12
|
+
*/
|
|
13
|
+
export interface FontFamilyFace {
|
|
14
|
+
fontStyle?: string;
|
|
15
|
+
fontWeight?: string | number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Combined font style and weight option for a font picker.
|
|
19
|
+
*/
|
|
20
|
+
export interface CombinedStyleAndWeightOption {
|
|
21
|
+
key: string;
|
|
22
|
+
name: string;
|
|
23
|
+
style: {
|
|
24
|
+
fontStyle?: string;
|
|
25
|
+
fontWeight?: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-editor",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.22.0",
|
|
4
4
|
"description": "Generic block editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -60,44 +60,43 @@
|
|
|
60
60
|
],
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@react-spring/web": "^9.4.5",
|
|
63
|
-
"@
|
|
64
|
-
"@wordpress/
|
|
65
|
-
"@wordpress/
|
|
66
|
-
"@wordpress/
|
|
67
|
-
"@wordpress/
|
|
68
|
-
"@wordpress/
|
|
69
|
-
"@wordpress/
|
|
70
|
-
"@wordpress/
|
|
71
|
-
"@wordpress/
|
|
72
|
-
"@wordpress/
|
|
73
|
-
"@wordpress/
|
|
74
|
-
"@wordpress/
|
|
75
|
-
"@wordpress/
|
|
76
|
-
"@wordpress/
|
|
77
|
-
"@wordpress/
|
|
78
|
-
"@wordpress/
|
|
79
|
-
"@wordpress/
|
|
80
|
-
"@wordpress/
|
|
81
|
-
"@wordpress/
|
|
82
|
-
"@wordpress/
|
|
83
|
-
"@wordpress/
|
|
84
|
-
"@wordpress/
|
|
85
|
-
"@wordpress/
|
|
86
|
-
"@wordpress/
|
|
87
|
-
"@wordpress/
|
|
88
|
-
"@wordpress/
|
|
89
|
-
"@wordpress/
|
|
90
|
-
"@wordpress/
|
|
91
|
-
"@wordpress/
|
|
92
|
-
"@wordpress/
|
|
93
|
-
"@wordpress/
|
|
94
|
-
"@wordpress/
|
|
95
|
-
"@wordpress/
|
|
96
|
-
"@wordpress/
|
|
97
|
-
"@wordpress/
|
|
98
|
-
"@wordpress/
|
|
99
|
-
"@wordpress/
|
|
100
|
-
"@wordpress/wordcount": "^4.48.1",
|
|
63
|
+
"@wordpress/a11y": "^4.49.0",
|
|
64
|
+
"@wordpress/base-styles": "^10.1.0",
|
|
65
|
+
"@wordpress/blob": "^4.49.0",
|
|
66
|
+
"@wordpress/block-serialization-default-parser": "^5.49.0",
|
|
67
|
+
"@wordpress/blocks": "^15.22.0",
|
|
68
|
+
"@wordpress/commands": "^1.49.0",
|
|
69
|
+
"@wordpress/components": "^36.0.0",
|
|
70
|
+
"@wordpress/compose": "^8.2.0",
|
|
71
|
+
"@wordpress/data": "^10.49.0",
|
|
72
|
+
"@wordpress/dataviews": "^17.0.0",
|
|
73
|
+
"@wordpress/date": "^5.49.0",
|
|
74
|
+
"@wordpress/deprecated": "^4.49.0",
|
|
75
|
+
"@wordpress/dom": "^4.49.0",
|
|
76
|
+
"@wordpress/element": "^8.1.0",
|
|
77
|
+
"@wordpress/escape-html": "^3.49.0",
|
|
78
|
+
"@wordpress/global-styles-engine": "^1.16.0",
|
|
79
|
+
"@wordpress/hooks": "^4.49.0",
|
|
80
|
+
"@wordpress/html-entities": "^4.49.0",
|
|
81
|
+
"@wordpress/i18n": "^6.22.0",
|
|
82
|
+
"@wordpress/icons": "^15.0.0",
|
|
83
|
+
"@wordpress/image-cropper": "^1.13.0",
|
|
84
|
+
"@wordpress/interactivity": "^6.49.0",
|
|
85
|
+
"@wordpress/is-shallow-equal": "^5.49.0",
|
|
86
|
+
"@wordpress/keyboard-shortcuts": "^5.49.0",
|
|
87
|
+
"@wordpress/keycodes": "^4.49.0",
|
|
88
|
+
"@wordpress/notices": "^5.49.0",
|
|
89
|
+
"@wordpress/preferences": "^4.49.0",
|
|
90
|
+
"@wordpress/priority-queue": "^3.49.0",
|
|
91
|
+
"@wordpress/private-apis": "^1.49.0",
|
|
92
|
+
"@wordpress/rich-text": "^7.49.0",
|
|
93
|
+
"@wordpress/style-engine": "^2.49.0",
|
|
94
|
+
"@wordpress/token-list": "^3.49.0",
|
|
95
|
+
"@wordpress/ui": "^0.16.0",
|
|
96
|
+
"@wordpress/upload-media": "^0.34.0",
|
|
97
|
+
"@wordpress/url": "^4.49.0",
|
|
98
|
+
"@wordpress/warning": "^3.49.0",
|
|
99
|
+
"@wordpress/wordcount": "^4.49.0",
|
|
101
100
|
"change-case": "^4.1.2",
|
|
102
101
|
"clsx": "^2.1.1",
|
|
103
102
|
"colord": "^2.9.3",
|
|
@@ -118,14 +117,21 @@
|
|
|
118
117
|
"@testing-library/dom": "^10.4.1",
|
|
119
118
|
"@testing-library/react": "^16.3.2",
|
|
120
119
|
"@testing-library/user-event": "^14.6.1",
|
|
120
|
+
"@types/postcss-prefix-selector": "^1.16.3",
|
|
121
121
|
"deep-freeze": "^0.0.1"
|
|
122
122
|
},
|
|
123
123
|
"peerDependencies": {
|
|
124
|
+
"@types/react": "^18.3.27",
|
|
124
125
|
"react": "^18.0.0",
|
|
125
126
|
"react-dom": "^18.0.0"
|
|
126
127
|
},
|
|
128
|
+
"peerDependenciesMeta": {
|
|
129
|
+
"@types/react": {
|
|
130
|
+
"optional": true
|
|
131
|
+
}
|
|
132
|
+
},
|
|
127
133
|
"publishConfig": {
|
|
128
134
|
"access": "public"
|
|
129
135
|
},
|
|
130
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "0e7112a4f4fde4ea15bd9060489b8f6fe11eb6ca"
|
|
131
137
|
}
|