@wordpress/block-editor 8.3.1 → 8.5.1
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 +4 -0
- package/README.md +56 -18
- package/build/components/alignment-control/index.js +13 -6
- package/build/components/alignment-control/index.js.map +1 -1
- package/build/components/block-alignment-control/index.js +13 -6
- package/build/components/block-alignment-control/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js +13 -4
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-draggable/index.js +2 -3
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-icon/index.js +4 -0
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-inspector/index.js +6 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-html.js +4 -1
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block.js +4 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +1 -6
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +22 -6
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-handler.js +7 -1
- package/build/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
- package/build/components/block-list-appender/index.js +6 -1
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-lock/index.js +40 -0
- package/build/components/block-lock/index.js.map +1 -0
- package/build/components/block-lock/menu-item.js +52 -0
- package/build/components/block-lock/menu-item.js.map +1 -0
- package/build/components/block-lock/modal.js +155 -0
- package/build/components/block-lock/modal.js.map +1 -0
- package/build/components/block-lock/toolbar.js +65 -0
- package/build/components/block-lock/toolbar.js.map +1 -0
- package/build/components/block-lock/use-block-lock.js +53 -0
- package/build/components/block-lock/use-block-lock.js.map +1 -0
- package/build/components/block-mover/index.js +4 -0
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +37 -22
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-preview/auto.js +6 -3
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +4 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +75 -10
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +19 -9
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/index.js +8 -3
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-title/index.js +2 -2
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-title/use-block-display-title.js +8 -6
- package/build/components/block-title/use-block-display-title.js.map +1 -1
- package/build/components/block-toolbar/block-name-context.js +17 -0
- package/build/components/block-toolbar/block-name-context.js.map +1 -0
- package/build/components/block-toolbar/block-toolbar-last-item.js +20 -0
- package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -0
- package/build/components/block-toolbar/index.js +24 -5
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/index.js +0 -16
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +92 -47
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/index.js +13 -6
- package/build/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build/components/border-radius-control/index.js +0 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/utils.js +1 -1
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/colors-gradients/control.js +3 -1
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/contrast-checker/index.js +4 -0
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +8 -0
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +105 -0
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -0
- package/build/components/copy-handler/index.js +4 -0
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +132 -0
- package/build/components/date-format-picker/index.js.map +1 -0
- package/build/components/font-sizes/font-size-picker.js +4 -0
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/iframe/index.js +6 -9
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/index.js +27 -0
- package/build/components/index.js.map +1 -1
- package/build/components/justify-content-control/index.js +13 -6
- package/build/components/justify-content-control/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -1
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/line-height-control/index.js +15 -6
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +18 -23
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +38 -13
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +16 -13
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +7 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +9 -2
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/media-replace-flow/index.js +4 -0
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +1 -1
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/rich-text/index.js +27 -5
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +13 -9
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/split-value.js +12 -2
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/use-firefox-compat.js +49 -0
- package/build/components/rich-text/use-firefox-compat.js.map +1 -0
- package/build/components/rich-text/use-input-rules.js +34 -2
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +4 -0
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +11 -27
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/writing-flow/index.js +9 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +3 -44
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-click-selection.js +68 -0
- package/build/components/writing-flow/use-click-selection.js.map +1 -0
- package/build/components/writing-flow/use-drag-selection.js +134 -0
- package/build/components/writing-flow/use-drag-selection.js.map +1 -0
- package/build/components/writing-flow/use-input.js +116 -0
- package/build/components/writing-flow/use-input.js.map +1 -0
- package/build/components/writing-flow/use-multi-selection.js +18 -38
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +161 -0
- package/build/components/writing-flow/use-selection-observer.js.map +1 -0
- package/build/components/writing-flow/use-tab-nav.js +1 -8
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/anchor.js +7 -6
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border-color.js +3 -3
- package/build/hooks/border-color.js.map +1 -1
- package/build/hooks/border.js +0 -14
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +20 -17
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/font-family.js +5 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +4 -2
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +77 -5
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/layout.js +7 -2
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/style.js +34 -3
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/utils.js +29 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/flex.js +82 -15
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +22 -13
- package/build/layouts/flow.js.map +1 -1
- package/build/store/actions.js +297 -51
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +5 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/reducer.js +25 -13
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +197 -23
- package/build/store/selectors.js.map +1 -1
- package/build/utils/dom.js +2 -1
- package/build/utils/dom.js.map +1 -1
- package/build-module/components/alignment-control/index.js +12 -4
- package/build-module/components/alignment-control/index.js.map +1 -1
- package/build-module/components/block-alignment-control/index.js +12 -4
- package/build-module/components/block-alignment-control/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +13 -4
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-draggable/index.js +2 -3
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-icon/index.js +4 -0
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +6 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-html.js +5 -2
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block.js +5 -2
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -4
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +22 -6
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-handler.js +7 -1
- package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +6 -1
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-lock/index.js +5 -0
- package/build-module/components/block-lock/index.js.map +1 -0
- package/build-module/components/block-lock/menu-item.js +39 -0
- package/build-module/components/block-lock/menu-item.js.map +1 -0
- package/build-module/components/block-lock/modal.js +138 -0
- package/build-module/components/block-lock/modal.js.map +1 -0
- package/build-module/components/block-lock/toolbar.js +51 -0
- package/build-module/components/block-lock/toolbar.js.map +1 -0
- package/build-module/components/block-lock/use-block-lock.js +44 -0
- package/build-module/components/block-lock/use-block-lock.js.map +1 -0
- package/build-module/components/block-mover/index.js +4 -0
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +39 -24
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-preview/auto.js +6 -3
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +4 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +75 -12
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +18 -9
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +9 -4
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-title/index.js +2 -2
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-title/use-block-display-title.js +8 -6
- package/build-module/components/block-title/use-block-display-title.js.map +1 -1
- package/build-module/components/block-toolbar/block-name-context.js +9 -0
- package/build-module/components/block-toolbar/block-name-context.js.map +1 -0
- package/build-module/components/block-toolbar/block-toolbar-last-item.js +11 -0
- package/build-module/components/block-toolbar/block-toolbar-last-item.js.map +1 -0
- package/build-module/components/block-toolbar/index.js +19 -4
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/index.js +0 -16
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +95 -49
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/index.js +12 -4
- package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +0 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +1 -1
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -1
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +4 -0
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +2 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +90 -0
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -0
- package/build-module/components/copy-handler/index.js +4 -0
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +122 -0
- package/build-module/components/date-format-picker/index.js.map +1 -0
- package/build-module/components/font-sizes/font-size-picker.js +4 -0
- package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
- package/build-module/components/iframe/index.js +6 -9
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/index.js +3 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/justify-content-control/index.js +12 -4
- package/build-module/components/justify-content-control/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -1
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +14 -5
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +19 -23
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +36 -13
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +16 -13
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +7 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +10 -3
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +4 -0
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +2 -2
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +26 -5
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +13 -9
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/split-value.js +12 -2
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/use-firefox-compat.js +39 -0
- package/build-module/components/rich-text/use-firefox-compat.js.map +1 -0
- package/build-module/components/rich-text/use-input-rules.js +35 -4
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +4 -0
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +12 -28
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/writing-flow/index.js +5 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js +4 -45
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-click-selection.js +57 -0
- package/build-module/components/writing-flow/use-click-selection.js.map +1 -0
- package/build-module/components/writing-flow/use-drag-selection.js +124 -0
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -0
- package/build-module/components/writing-flow/use-input.js +104 -0
- package/build-module/components/writing-flow/use-input.js.map +1 -0
- package/build-module/components/writing-flow/use-multi-selection.js +18 -37
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +150 -0
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -0
- package/build-module/components/writing-flow/use-tab-nav.js +1 -9
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/anchor.js +7 -6
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border-color.js +5 -5
- package/build-module/hooks/border-color.js.map +1 -1
- package/build-module/hooks/border.js +0 -12
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +19 -18
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/font-family.js +3 -1
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +4 -3
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +75 -7
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/layout.js +7 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/style.js +33 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/utils.js +26 -0
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/flex.js +81 -16
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +20 -13
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/actions.js +286 -49
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +5 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/reducer.js +25 -13
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +186 -22
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/dom.js +2 -1
- package/build-module/utils/dom.js.map +1 -1
- package/build-style/style-rtl.css +248 -49
- package/build-style/style.css +248 -49
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +28 -27
- package/src/components/alignment-control/index.js +9 -4
- package/src/components/block-alignment-control/index.js +9 -4
- package/src/components/block-content-overlay/index.js +19 -2
- package/src/components/block-draggable/index.js +2 -5
- package/src/components/block-icon/index.js +3 -0
- package/src/components/block-inspector/index.js +4 -0
- package/src/components/block-list/block-html.js +8 -4
- package/src/components/block-list/block.js +5 -1
- package/src/components/block-list/style.scss +4 -5
- package/src/components/block-list/use-block-props/index.js +0 -5
- package/src/components/block-list/use-block-props/use-focus-first-element.js +27 -6
- package/src/components/block-list/use-block-props/use-focus-handler.js +8 -0
- package/src/components/block-list-appender/index.js +5 -0
- package/src/components/block-lock/index.js +4 -0
- package/src/components/block-lock/menu-item.js +39 -0
- package/src/components/block-lock/modal.js +194 -0
- package/src/components/block-lock/style.scss +70 -0
- package/src/components/block-lock/toolbar.js +51 -0
- package/src/components/block-lock/use-block-lock.js +49 -0
- package/src/components/block-mover/index.js +3 -0
- package/src/components/block-mover/style.scss +4 -0
- package/src/components/block-pattern-setup/index.js +84 -59
- package/src/components/block-pattern-setup/setup-toolbar.js +3 -1
- package/src/components/block-pattern-setup/style.scss +32 -26
- package/src/components/block-preview/auto.js +10 -1
- package/src/components/block-preview/index.js +2 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +109 -9
- package/src/components/block-settings-menu-controls/index.js +33 -12
- package/src/components/block-switcher/index.js +15 -3
- package/src/components/block-switcher/style.scss +15 -4
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +15 -13
- package/src/components/block-switcher/test/index.js +2 -2
- package/src/components/block-title/README.md +6 -1
- package/src/components/block-title/index.js +2 -2
- package/src/components/block-title/test/index.js +43 -1
- package/src/components/block-title/use-block-display-title.js +10 -7
- package/src/components/block-toolbar/block-name-context.js +8 -0
- package/src/components/block-toolbar/block-toolbar-last-item.js +12 -0
- package/src/components/block-toolbar/index.js +24 -2
- package/src/components/block-toolbar/style.scss +10 -0
- package/src/components/block-tools/index.js +0 -19
- package/src/components/block-tools/style.scss +27 -0
- package/src/components/block-variation-transforms/index.js +105 -36
- package/src/components/block-variation-transforms/style.scss +1 -1
- package/src/components/block-vertical-alignment-control/index.js +9 -4
- package/src/components/border-radius-control/index.js +0 -1
- package/src/components/border-radius-control/test/utils.js +4 -0
- package/src/components/border-radius-control/utils.js +2 -1
- package/src/components/button-block-appender/style.scss +5 -1
- package/src/components/color-palette/test/__snapshots__/control.js.snap +70 -4
- package/src/components/colors-gradients/control.js +1 -1
- package/src/components/colors-gradients/style.scss +6 -0
- package/src/components/contrast-checker/index.js +3 -0
- package/src/components/convert-to-group-buttons/index.js +6 -1
- package/src/components/convert-to-group-buttons/toolbar.js +87 -0
- package/src/components/copy-handler/index.js +3 -0
- package/src/components/date-format-picker/README.md +58 -0
- package/src/components/date-format-picker/index.js +161 -0
- package/src/components/date-format-picker/style.scss +31 -0
- package/src/components/font-sizes/font-size-picker.js +3 -0
- package/src/components/iframe/index.js +5 -7
- package/src/components/index.js +3 -0
- package/src/components/justify-content-control/index.js +9 -4
- package/src/components/keyboard-shortcuts/index.js +1 -1
- package/src/components/line-height-control/index.js +11 -6
- package/src/components/link-control/README.md +1 -1
- package/src/components/list-view/block-select-button.js +14 -31
- package/src/components/list-view/block.js +55 -13
- package/src/components/list-view/branch.js +37 -15
- package/src/components/list-view/index.js +6 -0
- package/src/components/list-view/style.scss +56 -14
- package/src/components/list-view/use-block-selection.js +15 -2
- package/src/components/media-placeholder/README.md +8 -0
- package/src/components/media-replace-flow/index.js +3 -0
- package/src/components/multi-selection-inspector/index.js +2 -2
- package/src/components/rich-text/index.js +25 -2
- package/src/components/rich-text/index.native.js +24 -8
- package/src/components/rich-text/split-value.js +5 -1
- package/src/components/rich-text/use-firefox-compat.js +39 -0
- package/src/components/rich-text/use-input-rules.js +40 -3
- package/src/components/skip-to-selected-block/index.js +3 -0
- package/src/components/url-input/style.scss +3 -2
- package/src/components/url-popover/image-url-input-ui.js +16 -29
- package/src/components/writing-flow/index.js +8 -0
- package/src/components/writing-flow/readme.md +28 -0
- package/src/components/writing-flow/use-arrow-nav.js +4 -53
- package/src/components/writing-flow/use-click-selection.js +65 -0
- package/src/components/writing-flow/use-drag-selection.js +126 -0
- package/src/components/writing-flow/use-input.js +112 -0
- package/src/components/writing-flow/use-multi-selection.js +13 -36
- package/src/components/writing-flow/use-selection-observer.js +153 -0
- package/src/components/writing-flow/use-tab-nav.js +1 -11
- package/src/hooks/anchor.js +8 -6
- package/src/hooks/border-color.js +5 -5
- package/src/hooks/border.js +0 -13
- package/src/hooks/color.js +51 -24
- package/src/hooks/font-family.js +5 -2
- package/src/hooks/font-size.js +10 -7
- package/src/hooks/gap.js +91 -12
- package/src/hooks/layout.js +11 -1
- package/src/hooks/style.js +40 -4
- package/src/hooks/test/gap.js +66 -0
- package/src/hooks/test/style.js +94 -0
- package/src/hooks/test/utils.js +1 -1
- package/src/hooks/utils.js +26 -0
- package/src/layouts/flex.js +93 -6
- package/src/layouts/flow.js +28 -12
- package/src/store/actions.js +349 -32
- package/src/store/defaults.js +7 -1
- package/src/store/reducer.js +25 -10
- package/src/store/selectors.js +229 -27
- package/src/store/test/selectors.js +305 -5
- package/src/style.scss +2 -0
- package/src/utils/dom.js +2 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-multi-selection.js +0 -205
- package/build/components/block-list/use-block-props/use-multi-selection.js.map +0 -1
- package/build/components/block-list/use-block-props/use-scroll-into-view.js +0 -77
- package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-multi-selection.js +0 -192
- package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +0 -63
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +0 -1
- package/src/components/block-list/use-block-props/use-multi-selection.js +0 -227
- package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -73
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { castArray,
|
|
4
|
+
import { castArray, first, isArray, isBoolean, last, map, reduce, some, find, filter, mapKeys, orderBy } from 'lodash';
|
|
5
5
|
import createSelector from 'rememo';
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { getBlockType, getBlockTypes, getBlockVariations, hasBlockSupport, getPossibleBlockTransformations, parse } from '@wordpress/blocks';
|
|
10
|
+
import { getBlockType, getBlockTypes, getBlockVariations, hasBlockSupport, getPossibleBlockTransformations, parse, switchToBlockType } from '@wordpress/blocks';
|
|
11
11
|
import { Platform } from '@wordpress/element';
|
|
12
12
|
import { applyFilters } from '@wordpress/hooks';
|
|
13
13
|
import { symbol } from '@wordpress/icons';
|
|
14
|
+
import { __ } from '@wordpress/i18n';
|
|
14
15
|
/**
|
|
15
16
|
* A block selection object.
|
|
16
17
|
*
|
|
@@ -182,8 +183,9 @@ export const __unstableGetClientIdsTree = createSelector(function (state) {
|
|
|
182
183
|
return map(getBlockOrder(state, rootClientId), clientId => __unstableGetClientIdWithClientIdsTree(state, clientId));
|
|
183
184
|
}, state => [state.blocks.order]);
|
|
184
185
|
/**
|
|
185
|
-
* Returns an array containing the clientIds of all descendants
|
|
186
|
-
* of the
|
|
186
|
+
* Returns an array containing the clientIds of all descendants of the blocks
|
|
187
|
+
* given. Returned ids are ordered first by the order of the ids given, then
|
|
188
|
+
* by the order that they appear in the editor.
|
|
187
189
|
*
|
|
188
190
|
* @param {Object} state Global application state.
|
|
189
191
|
* @param {Array} clientIds Array of blocks to inspect.
|
|
@@ -191,13 +193,21 @@ export const __unstableGetClientIdsTree = createSelector(function (state) {
|
|
|
191
193
|
* @return {Array} ids of descendants.
|
|
192
194
|
*/
|
|
193
195
|
|
|
194
|
-
export const getClientIdsOfDescendants = (state, clientIds) =>
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
export const getClientIdsOfDescendants = createSelector((state, clientIds) => {
|
|
197
|
+
const collectedIds = [];
|
|
198
|
+
|
|
199
|
+
for (const givenId of clientIds) {
|
|
200
|
+
for (const descendantId of getBlockOrder(state, givenId)) {
|
|
201
|
+
collectedIds.push(descendantId, ...getClientIdsOfDescendants(state, [descendantId]));
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return collectedIds;
|
|
206
|
+
}, state => [state.blocks.order]);
|
|
198
207
|
/**
|
|
199
|
-
* Returns an array containing the clientIds of the top-level blocks
|
|
200
|
-
*
|
|
208
|
+
* Returns an array containing the clientIds of the top-level blocks and
|
|
209
|
+
* their descendants of any depth (for nested blocks). Ids are returned
|
|
210
|
+
* in the same order that they appear in the editor.
|
|
201
211
|
*
|
|
202
212
|
* @param {Object} state Global application state.
|
|
203
213
|
*
|
|
@@ -205,8 +215,13 @@ export const getClientIdsOfDescendants = (state, clientIds) => flatMap(clientIds
|
|
|
205
215
|
*/
|
|
206
216
|
|
|
207
217
|
export const getClientIdsWithDescendants = createSelector(state => {
|
|
208
|
-
const
|
|
209
|
-
|
|
218
|
+
const collectedIds = [];
|
|
219
|
+
|
|
220
|
+
for (const topLevelId of getBlockOrder(state)) {
|
|
221
|
+
collectedIds.push(topLevelId, ...getClientIdsOfDescendants(state, [topLevelId]));
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
return collectedIds;
|
|
210
225
|
}, state => [state.blocks.order]);
|
|
211
226
|
/**
|
|
212
227
|
* Returns the total number of blocks, or the total number of blocks with a specific name in a post.
|
|
@@ -230,6 +245,27 @@ export const getGlobalBlockCount = createSelector((state, blockName) => {
|
|
|
230
245
|
return block.name === blockName ? accumulator + 1 : accumulator;
|
|
231
246
|
}, 0);
|
|
232
247
|
}, state => [state.blocks.order, state.blocks.byClientId]);
|
|
248
|
+
/**
|
|
249
|
+
* Returns all global blocks that match a blockName. Results include nested blocks.
|
|
250
|
+
*
|
|
251
|
+
* @param {Object} state Global application state.
|
|
252
|
+
* @param {?string} blockName Optional block name, if not specified, returns an empty array.
|
|
253
|
+
*
|
|
254
|
+
* @return {Array} Array of clientIds of blocks with name equal to blockName.
|
|
255
|
+
*/
|
|
256
|
+
|
|
257
|
+
export const __experimentalGetGlobalBlocksByName = createSelector((state, blockName) => {
|
|
258
|
+
if (!blockName) {
|
|
259
|
+
return EMPTY_ARRAY;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
const clientIds = getClientIdsWithDescendants(state);
|
|
263
|
+
const foundBlocks = clientIds.filter(clientId => {
|
|
264
|
+
const block = state.blocks.byClientId[clientId];
|
|
265
|
+
return block.name === blockName;
|
|
266
|
+
});
|
|
267
|
+
return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
|
|
268
|
+
}, state => [state.blocks.order, state.blocks.byClientId]);
|
|
233
269
|
/**
|
|
234
270
|
* Given an array of block client IDs, returns the corresponding array of block
|
|
235
271
|
* objects.
|
|
@@ -804,6 +840,70 @@ export function getMultiSelectedBlocksEndClientId(state) {
|
|
|
804
840
|
|
|
805
841
|
return selectionEnd.clientId || null;
|
|
806
842
|
}
|
|
843
|
+
/**
|
|
844
|
+
* Returns true if the selection is not partial.
|
|
845
|
+
*
|
|
846
|
+
* @param {Object} state Editor state.
|
|
847
|
+
*
|
|
848
|
+
* @return {boolean} Whether the selection is mergeable.
|
|
849
|
+
*/
|
|
850
|
+
|
|
851
|
+
export function __unstableIsFullySelected(state) {
|
|
852
|
+
const selectionAnchor = getSelectionStart(state);
|
|
853
|
+
const selectionFocus = getSelectionEnd(state);
|
|
854
|
+
return !selectionAnchor.attributeKey && !selectionFocus.attributeKey && typeof selectionAnchor.offset === 'undefined' && typeof selectionFocus.offset === 'undefined';
|
|
855
|
+
}
|
|
856
|
+
/**
|
|
857
|
+
* Check whether the selection is mergeable.
|
|
858
|
+
*
|
|
859
|
+
* @param {Object} state Editor state.
|
|
860
|
+
* @param {boolean} isForward Whether to merge forwards.
|
|
861
|
+
*
|
|
862
|
+
* @return {boolean} Whether the selection is mergeable.
|
|
863
|
+
*/
|
|
864
|
+
|
|
865
|
+
export function __unstableIsSelectionMergeable(state, isForward) {
|
|
866
|
+
const selectionAnchor = getSelectionStart(state);
|
|
867
|
+
const selectionFocus = getSelectionEnd(state); // It's not mergeable if the start and end are within the same block.
|
|
868
|
+
|
|
869
|
+
if (selectionAnchor.clientId === selectionFocus.clientId) return false; // It's not mergeable if there's no rich text selection.
|
|
870
|
+
|
|
871
|
+
if (!selectionAnchor.attributeKey || !selectionFocus.attributeKey || typeof selectionAnchor.offset === 'undefined' || typeof selectionFocus.offset === 'undefined') return false;
|
|
872
|
+
const anchorRootClientId = getBlockRootClientId(state, selectionAnchor.clientId);
|
|
873
|
+
const focusRootClientId = getBlockRootClientId(state, selectionFocus.clientId); // It's not mergeable if the selection doesn't start and end in the same
|
|
874
|
+
// block list. Maybe in the future it should be allowed.
|
|
875
|
+
|
|
876
|
+
if (anchorRootClientId !== focusRootClientId) {
|
|
877
|
+
return false;
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
const blockOrder = getBlockOrder(state, anchorRootClientId);
|
|
881
|
+
const anchorIndex = blockOrder.indexOf(selectionAnchor.clientId);
|
|
882
|
+
const focusIndex = blockOrder.indexOf(selectionFocus.clientId); // Reassign selection start and end based on order.
|
|
883
|
+
|
|
884
|
+
let selectionStart, selectionEnd;
|
|
885
|
+
|
|
886
|
+
if (anchorIndex > focusIndex) {
|
|
887
|
+
selectionStart = selectionFocus;
|
|
888
|
+
selectionEnd = selectionAnchor;
|
|
889
|
+
} else {
|
|
890
|
+
selectionStart = selectionAnchor;
|
|
891
|
+
selectionEnd = selectionFocus;
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
const targetBlockClientId = isForward ? selectionEnd.clientId : selectionStart.clientId;
|
|
895
|
+
const blockToMergeClientId = isForward ? selectionStart.clientId : selectionEnd.clientId;
|
|
896
|
+
const targetBlock = getBlock(state, targetBlockClientId);
|
|
897
|
+
const targetBlockType = getBlockType(targetBlock.name);
|
|
898
|
+
if (!targetBlockType.merge) return false;
|
|
899
|
+
const blockToMerge = getBlock(state, blockToMergeClientId); // It's mergeable if the blocks are of the same type.
|
|
900
|
+
|
|
901
|
+
if (blockToMerge.name === targetBlock.name) return true; // If the blocks are of a different type, try to transform the block being
|
|
902
|
+
// merged into the same type of block.
|
|
903
|
+
|
|
904
|
+
const blocksToMerge = switchToBlockType(blockToMerge, targetBlock.name);
|
|
905
|
+
return blocksToMerge && blocksToMerge.length;
|
|
906
|
+
}
|
|
807
907
|
/**
|
|
808
908
|
* Returns an array containing all block client IDs in the editor in the order
|
|
809
909
|
* they appear. Optionally accepts a root client ID of the block list for which
|
|
@@ -1196,7 +1296,15 @@ const canInsertBlockTypeUnmemoized = function (state, blockName) {
|
|
|
1196
1296
|
const blockAllowedParentBlocks = blockType.parent;
|
|
1197
1297
|
const parentName = getBlockName(state, rootClientId);
|
|
1198
1298
|
const hasBlockAllowedParent = checkAllowList(blockAllowedParentBlocks, parentName);
|
|
1199
|
-
|
|
1299
|
+
let hasBlockAllowedAncestor = true;
|
|
1300
|
+
const blockAllowedAncestorBlocks = blockType.ancestor;
|
|
1301
|
+
|
|
1302
|
+
if (blockAllowedAncestorBlocks) {
|
|
1303
|
+
const ancestors = [rootClientId, ...getBlockParents(state, rootClientId)];
|
|
1304
|
+
hasBlockAllowedAncestor = some(ancestors, ancestorClientId => checkAllowList(blockAllowedAncestorBlocks, getBlockName(state, ancestorClientId)));
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
const canInsert = hasBlockAllowedAncestor && (hasParentAllowedBlock === null && hasBlockAllowedParent === null || hasParentAllowedBlock === true || hasBlockAllowedParent === true);
|
|
1200
1308
|
|
|
1201
1309
|
if (!canInsert) {
|
|
1202
1310
|
return canInsert;
|
|
@@ -1271,7 +1379,7 @@ export function canRemoveBlock(state, clientId) {
|
|
|
1271
1379
|
const {
|
|
1272
1380
|
lock
|
|
1273
1381
|
} = attributes;
|
|
1274
|
-
const parentIsLocked = !!getTemplateLock(state, rootClientId); // If we don't have a lock on the blockType level, we
|
|
1382
|
+
const parentIsLocked = !!getTemplateLock(state, rootClientId); // If we don't have a lock on the blockType level, we defer to the parent templateLock.
|
|
1275
1383
|
|
|
1276
1384
|
if (lock === undefined || (lock === null || lock === void 0 ? void 0 : lock.remove) === undefined) {
|
|
1277
1385
|
return !parentIsLocked;
|
|
@@ -1315,7 +1423,7 @@ export function canMoveBlock(state, clientId) {
|
|
|
1315
1423
|
const {
|
|
1316
1424
|
lock
|
|
1317
1425
|
} = attributes;
|
|
1318
|
-
const parentIsLocked = getTemplateLock(state, rootClientId) === 'all'; // If we don't have a lock on the blockType level, we
|
|
1426
|
+
const parentIsLocked = getTemplateLock(state, rootClientId) === 'all'; // If we don't have a lock on the blockType level, we defer to the parent templateLock.
|
|
1319
1427
|
|
|
1320
1428
|
if (lock === undefined || (lock === null || lock === void 0 ? void 0 : lock.move) === undefined) {
|
|
1321
1429
|
return !parentIsLocked;
|
|
@@ -1338,6 +1446,47 @@ export function canMoveBlocks(state, clientIds) {
|
|
|
1338
1446
|
let rootClientId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1339
1447
|
return clientIds.every(clientId => canMoveBlock(state, clientId, rootClientId));
|
|
1340
1448
|
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Determines if the given block is allowed to be edited.
|
|
1451
|
+
*
|
|
1452
|
+
* @param {Object} state Editor state.
|
|
1453
|
+
* @param {string} clientId The block client Id.
|
|
1454
|
+
*
|
|
1455
|
+
* @return {boolean} Whether the given block is allowed to be edited.
|
|
1456
|
+
*/
|
|
1457
|
+
|
|
1458
|
+
export function canEditBlock(state, clientId) {
|
|
1459
|
+
const attributes = getBlockAttributes(state, clientId);
|
|
1460
|
+
|
|
1461
|
+
if (attributes === null) {
|
|
1462
|
+
return true;
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
const {
|
|
1466
|
+
lock
|
|
1467
|
+
} = attributes; // When the edit is true, we cannot edit the block.
|
|
1468
|
+
|
|
1469
|
+
return !(lock !== null && lock !== void 0 && lock.edit);
|
|
1470
|
+
}
|
|
1471
|
+
/**
|
|
1472
|
+
* Determines if the given block type can be locked/unlocked by a user.
|
|
1473
|
+
*
|
|
1474
|
+
* @param {Object} state Editor state.
|
|
1475
|
+
* @param {(string|Object)} nameOrType Block name or type object.
|
|
1476
|
+
*
|
|
1477
|
+
* @return {boolean} Whether a given block type can be locked/unlocked.
|
|
1478
|
+
*/
|
|
1479
|
+
|
|
1480
|
+
export function canLockBlockType(state, nameOrType) {
|
|
1481
|
+
var _state$settings;
|
|
1482
|
+
|
|
1483
|
+
if (!hasBlockSupport(nameOrType, 'lock', true)) {
|
|
1484
|
+
return false;
|
|
1485
|
+
} // Use block editor settings as the default value.
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
return !!((_state$settings = state.settings) !== null && _state$settings !== void 0 && _state$settings.canLockBlocks);
|
|
1489
|
+
}
|
|
1341
1490
|
/**
|
|
1342
1491
|
* Returns information about how recently and frequently a block has been inserted.
|
|
1343
1492
|
*
|
|
@@ -1666,7 +1815,10 @@ export const getInserterItems = createSelector(function (state) {
|
|
|
1666
1815
|
*/
|
|
1667
1816
|
|
|
1668
1817
|
export const getBlockTransformItems = createSelector(function (state, blocks) {
|
|
1818
|
+
var _itemsByName$sourceBl;
|
|
1819
|
+
|
|
1669
1820
|
let rootClientId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1821
|
+
const [sourceBlock] = blocks;
|
|
1670
1822
|
const buildBlockTypeTransformItem = buildBlockTypeItem(state, {
|
|
1671
1823
|
buildScope: 'transform'
|
|
1672
1824
|
});
|
|
@@ -1676,16 +1828,26 @@ export const getBlockTransformItems = createSelector(function (state, blocks) {
|
|
|
1676
1828
|
name
|
|
1677
1829
|
} = _ref5;
|
|
1678
1830
|
return name;
|
|
1679
|
-
});
|
|
1831
|
+
}); // Consider unwraping the highest priority.
|
|
1832
|
+
|
|
1833
|
+
itemsByName['*'] = {
|
|
1834
|
+
frecency: +Infinity,
|
|
1835
|
+
id: '*',
|
|
1836
|
+
isDisabled: false,
|
|
1837
|
+
name: '*',
|
|
1838
|
+
title: __('Unwrap'),
|
|
1839
|
+
icon: (_itemsByName$sourceBl = itemsByName[sourceBlock.name]) === null || _itemsByName$sourceBl === void 0 ? void 0 : _itemsByName$sourceBl.icon
|
|
1840
|
+
};
|
|
1680
1841
|
const possibleTransforms = getPossibleBlockTransformations(blocks).reduce((accumulator, block) => {
|
|
1681
|
-
if (
|
|
1842
|
+
if (block === '*') {
|
|
1843
|
+
accumulator.push(itemsByName['*']);
|
|
1844
|
+
} else if (itemsByName[block === null || block === void 0 ? void 0 : block.name]) {
|
|
1682
1845
|
accumulator.push(itemsByName[block.name]);
|
|
1683
1846
|
}
|
|
1684
1847
|
|
|
1685
1848
|
return accumulator;
|
|
1686
1849
|
}, []);
|
|
1687
|
-
|
|
1688
|
-
return possibleBlockTransformations;
|
|
1850
|
+
return orderBy(possibleTransforms, block => itemsByName[block.name].frecency, 'desc');
|
|
1689
1851
|
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getBlockTypes()]);
|
|
1690
1852
|
/**
|
|
1691
1853
|
* Determines whether there are items to show in the inserter.
|
|
@@ -1801,7 +1963,9 @@ export const __experimentalGetParsedPattern = createSelector((state, patternName
|
|
|
1801
1963
|
}
|
|
1802
1964
|
|
|
1803
1965
|
return { ...pattern,
|
|
1804
|
-
blocks: parse(pattern.content
|
|
1966
|
+
blocks: parse(pattern.content, {
|
|
1967
|
+
__unstableSkipMigrationLogs: true
|
|
1968
|
+
})
|
|
1805
1969
|
};
|
|
1806
1970
|
}, state => [state.settings.__experimentalBlockPatterns]);
|
|
1807
1971
|
const getAllAllowedPatterns = createSelector(state => {
|
|
@@ -2053,9 +2217,9 @@ export function __experimentalGetLastBlockAttributeChanges(state) {
|
|
|
2053
2217
|
*/
|
|
2054
2218
|
|
|
2055
2219
|
function getReusableBlocks(state) {
|
|
2056
|
-
var _state$settings$__exp, _state$
|
|
2220
|
+
var _state$settings$__exp, _state$settings2;
|
|
2057
2221
|
|
|
2058
|
-
return (_state$settings$__exp = state === null || state === void 0 ? void 0 : (_state$
|
|
2222
|
+
return (_state$settings$__exp = state === null || state === void 0 ? void 0 : (_state$settings2 = state.settings) === null || _state$settings2 === void 0 ? void 0 : _state$settings2.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY;
|
|
2059
2223
|
}
|
|
2060
2224
|
/**
|
|
2061
2225
|
* Returns whether the navigation mode is enabled.
|