@wordpress/components 19.12.0 → 19.13.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 +37 -0
- package/CONTRIBUTING.md +94 -12
- package/build/alignment-matrix-control/index.js +3 -3
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/angle-picker-control/index.js +2 -2
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build/border-box-control/utils.js.map +1 -1
- package/build/border-control/border-control/hook.js.map +1 -1
- package/build/box-control/all-input-control.js +6 -10
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/index.js +3 -7
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/input-controls.js +6 -10
- package/build/box-control/input-controls.js.map +1 -1
- package/build/box-control/unit-control.js +4 -4
- package/build/box-control/unit-control.js.map +1 -1
- package/build/button/index.native.js +1 -3
- package/build/button/index.native.js.map +1 -1
- package/build/checkbox-control/index.js.map +1 -1
- package/build/color-picker/index.native.js.map +1 -1
- package/build/combobox-control/index.js +4 -2
- package/build/combobox-control/index.js.map +1 -1
- package/build/confirm-dialog/component.js.map +1 -1
- package/build/custom-gradient-bar/constants.js +1 -3
- package/build/custom-gradient-bar/constants.js.map +1 -1
- package/build/custom-gradient-bar/control-points.js +15 -8
- package/build/custom-gradient-bar/control-points.js.map +1 -1
- package/build/custom-gradient-bar/index.js +5 -5
- package/build/custom-gradient-bar/index.js.map +1 -1
- package/build/custom-gradient-bar/utils.js +5 -7
- package/build/custom-gradient-bar/utils.js.map +1 -1
- package/build/custom-gradient-picker/utils.js.map +1 -1
- package/build/custom-select-control/index.js.map +1 -1
- package/build/date-time/date/index.js +4 -4
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/date-time/index.js +3 -3
- package/build/date-time/date-time/index.js.map +1 -1
- package/build/dimension-control/index.js +1 -3
- package/build/dimension-control/index.js.map +1 -1
- package/build/divider/styles.js +5 -5
- package/build/divider/styles.js.map +1 -1
- package/build/draggable/index.js.map +1 -1
- package/build/draggable/index.native.js +6 -1
- package/build/draggable/index.native.js.map +1 -1
- package/build/drop-zone/provider.js.map +1 -1
- package/build/dropdown/index.js +2 -2
- package/build/dropdown/index.js.map +1 -1
- package/build/dropdown-menu/index.js +13 -2
- package/build/dropdown-menu/index.js.map +1 -1
- package/build/dropdown-menu/index.native.js +13 -2
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/external-link/index.js +20 -8
- package/build/external-link/index.js.map +1 -1
- package/build/external-link/styles/external-link-styles.js +3 -3
- package/build/external-link/styles/external-link-styles.js.map +1 -1
- package/build/external-link/types.js +6 -0
- package/build/external-link/types.js.map +1 -0
- package/build/flex/flex/hook.js +9 -5
- package/build/flex/flex/hook.js.map +1 -1
- package/build/focal-point-picker/controls.js +3 -7
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/media.js +4 -8
- package/build/focal-point-picker/media.js.map +1 -1
- package/build/font-size-picker/index.js +1 -1
- package/build/font-size-picker/index.js.map +1 -1
- package/build/form-toggle/index.js +6 -4
- package/build/form-toggle/index.js.map +1 -1
- package/build/form-token-field/index.js +328 -359
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/suggestions-list.js +26 -20
- package/build/form-token-field/suggestions-list.js.map +1 -1
- package/build/form-token-field/token-input.js +39 -53
- package/build/form-token-field/token-input.js.map +1 -1
- package/build/form-token-field/token.js +3 -3
- package/build/form-token-field/token.js.map +1 -1
- package/build/form-token-field/types.js +6 -0
- package/build/form-token-field/types.js.map +1 -0
- package/build/gradient-picker/index.js.map +1 -1
- package/build/heading/hook.js.map +1 -1
- package/build/higher-order/navigate-regions/index.js.map +1 -1
- package/build/higher-order/with-focus-return/index.js.map +1 -1
- package/build/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build/icon/index.js.map +1 -1
- package/build/input-control/index.js +5 -5
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-field.js +10 -10
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/utils.js +1 -1
- package/build/input-control/utils.js.map +1 -1
- package/build/menu-items-choice/index.js +3 -7
- package/build/menu-items-choice/index.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cycle-picker-cell.native.js +1 -7
- package/build/mobile/bottom-sheet/cycle-picker-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build/mobile/color-settings/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/index.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/html-text-input/index.native.js.map +1 -1
- package/build/mobile/inserter-button/index.native.js.map +1 -1
- package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
- package/build/mobile/media-edit/index.native.js.map +1 -1
- package/build/mobile/segmented-control/index.native.js +1 -1
- package/build/mobile/segmented-control/index.native.js.map +1 -1
- package/build/modal/index.js +1 -1
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/container.js +4 -2
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigation/context.js +12 -16
- package/build/navigation/context.js.map +1 -1
- package/build/navigation/index.js +3 -3
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/item/index.js +3 -3
- package/build/navigation/item/index.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/navigator/navigator-provider/component.js +1 -1
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +1 -1
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/notice/index.js +5 -5
- package/build/notice/index.js.map +1 -1
- package/build/notice/list.js +4 -2
- package/build/notice/list.js.map +1 -1
- package/build/panel/body.js +3 -3
- package/build/panel/body.js.map +1 -1
- package/build/placeholder/index.js +26 -12
- package/build/placeholder/index.js.map +1 -1
- package/build/radio-control/index.js +43 -7
- package/build/radio-control/index.js.map +1 -1
- package/build/radio-control/types.js +6 -0
- package/build/radio-control/types.js.map +1 -0
- package/build/range-control/index.js +8 -6
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/input-range.js +6 -10
- package/build/range-control/input-range.js.map +1 -1
- package/build/range-control/utils.js +7 -5
- package/build/range-control/utils.js.map +1 -1
- package/build/resizable-box/resize-tooltip/index.js +3 -3
- package/build/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/utils.js +4 -7
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/responsive-wrapper/index.js.map +1 -1
- package/build/select-control/index.js +5 -3
- package/build/select-control/index.js.map +1 -1
- package/build/slot-fill/fill.js +1 -7
- package/build/slot-fill/fill.js.map +1 -1
- package/build/slot-fill/slot.js +14 -3
- package/build/slot-fill/slot.js.map +1 -1
- package/build/snackbar/index.js +7 -7
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +3 -1
- package/build/snackbar/list.js.map +1 -1
- package/build/tab-panel/index.js +3 -1
- package/build/tab-panel/index.js.map +1 -1
- package/build/text/hook.js +4 -4
- package/build/text/hook.js.map +1 -1
- package/build/text/utils.js.map +1 -1
- package/build/toggle-control/index.js +1 -3
- package/build/toggle-control/index.js.map +1 -1
- package/build/toggle-control/index.native.js +1 -7
- package/build/toggle-control/index.native.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
- package/build/toolbar/index.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
- package/build/tooltip/index.js +2 -1
- package/build/tooltip/index.js.map +1 -1
- package/build/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build/tree-select/index.js +57 -4
- package/build/tree-select/index.js.map +1 -1
- package/build/tree-select/types.js +6 -0
- package/build/tree-select/types.js.map +1 -0
- package/build/ui/form-group/form-group-content.js.map +1 -1
- package/build/unit-control/index.js.map +1 -1
- package/build/utils/unit-values.js.map +1 -1
- package/build/utils/values.js.map +1 -1
- package/build/z-stack/component.js +22 -3
- package/build/z-stack/component.js.map +1 -1
- package/build/z-stack/types.js +6 -0
- package/build/z-stack/types.js.map +1 -0
- package/build-module/alignment-matrix-control/index.js +2 -1
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/angle-picker-control/index.js +1 -1
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build-module/border-box-control/utils.js.map +1 -1
- package/build-module/border-control/border-control/hook.js.map +1 -1
- package/build-module/box-control/all-input-control.js +3 -5
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/index.js +2 -5
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/input-controls.js +3 -5
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/box-control/unit-control.js +3 -1
- package/build-module/box-control/unit-control.js.map +1 -1
- package/build-module/button/index.native.js +1 -2
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/checkbox-control/index.js.map +1 -1
- package/build-module/color-picker/index.native.js.map +1 -1
- package/build-module/combobox-control/index.js +5 -2
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/custom-gradient-bar/constants.js +0 -1
- package/build-module/custom-gradient-bar/constants.js.map +1 -1
- package/build-module/custom-gradient-bar/control-points.js +16 -9
- package/build-module/custom-gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-gradient-bar/index.js +6 -6
- package/build-module/custom-gradient-bar/index.js.map +1 -1
- package/build-module/custom-gradient-bar/utils.js +6 -8
- package/build-module/custom-gradient-bar/utils.js.map +1 -1
- package/build-module/custom-gradient-picker/utils.js.map +1 -1
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/date-time/date/index.js +4 -3
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date-time/index.js +2 -1
- package/build-module/date-time/date-time/index.js.map +1 -1
- package/build-module/dimension-control/index.js +1 -2
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/divider/styles.js +5 -5
- package/build-module/divider/styles.js.map +1 -1
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/draggable/index.native.js +6 -1
- package/build-module/draggable/index.native.js.map +1 -1
- package/build-module/drop-zone/provider.js.map +1 -1
- package/build-module/dropdown/index.js +2 -2
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/dropdown-menu/index.js +12 -1
- package/build-module/dropdown-menu/index.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js +12 -1
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/external-link/index.js +22 -7
- package/build-module/external-link/index.js.map +1 -1
- package/build-module/external-link/styles/external-link-styles.js +3 -3
- package/build-module/external-link/styles/external-link-styles.js.map +1 -1
- package/build-module/external-link/types.js +2 -0
- package/build-module/external-link/types.js.map +1 -0
- package/build-module/flex/flex/hook.js +7 -5
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +3 -5
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/media.js +3 -5
- package/build-module/focal-point-picker/media.js.map +1 -1
- package/build-module/font-size-picker/index.js +1 -1
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/form-toggle/index.js +1 -1
- package/build-module/form-toggle/index.js.map +1 -1
- package/build-module/form-token-field/index.js +329 -361
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/suggestions-list.js +32 -23
- package/build-module/form-token-field/suggestions-list.js.map +1 -1
- package/build-module/form-token-field/token-input.js +43 -58
- package/build-module/form-token-field/token-input.js.map +1 -1
- package/build-module/form-token-field/token.js +3 -1
- package/build-module/form-token-field/token.js.map +1 -1
- package/build-module/form-token-field/types.js +2 -0
- package/build-module/form-token-field/types.js.map +1 -0
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/higher-order/navigate-regions/index.js.map +1 -1
- package/build-module/higher-order/with-focus-return/index.js.map +1 -1
- package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build-module/icon/index.js.map +1 -1
- package/build-module/input-control/index.js +2 -1
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-field.js +2 -1
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/utils.js +1 -1
- package/build-module/input-control/utils.js.map +1 -1
- package/build-module/menu-items-choice/index.js +3 -5
- package/build-module/menu-items-choice/index.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cycle-picker-cell.native.js +1 -6
- package/build-module/mobile/bottom-sheet/cycle-picker-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/html-text-input/index.native.js.map +1 -1
- package/build-module/mobile/inserter-button/index.native.js.map +1 -1
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
- package/build-module/mobile/media-edit/index.native.js.map +1 -1
- package/build-module/mobile/segmented-control/index.native.js +2 -2
- package/build-module/mobile/segmented-control/index.native.js.map +1 -1
- package/build-module/modal/index.js +1 -1
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/container.js +5 -2
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigation/context.js +3 -5
- package/build-module/navigation/context.js.map +1 -1
- package/build-module/navigation/index.js +3 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/item/index.js +3 -1
- package/build-module/navigation/item/index.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-provider/component.js +1 -1
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +1 -1
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/notice/index.js +2 -1
- package/build-module/notice/index.js.map +1 -1
- package/build-module/notice/list.js +4 -1
- package/build-module/notice/list.js.map +1 -1
- package/build-module/panel/body.js +3 -1
- package/build-module/panel/body.js.map +1 -1
- package/build-module/placeholder/index.js +24 -11
- package/build-module/placeholder/index.js.map +1 -1
- package/build-module/radio-control/index.js +40 -7
- package/build-module/radio-control/index.js.map +1 -1
- package/build-module/radio-control/types.js +2 -0
- package/build-module/radio-control/types.js.map +1 -0
- package/build-module/range-control/index.js +4 -2
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/input-range.js +2 -5
- package/build-module/range-control/input-range.js.map +1 -1
- package/build-module/range-control/utils.js +4 -1
- package/build-module/range-control/utils.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/index.js +2 -1
- package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/utils.js +3 -5
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/responsive-wrapper/index.js.map +1 -1
- package/build-module/select-control/index.js +3 -1
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/slot-fill/fill.js +1 -6
- package/build-module/slot-fill/fill.js.map +1 -1
- package/build-module/slot-fill/slot.js +12 -2
- package/build-module/slot-fill/slot.js.map +1 -1
- package/build-module/snackbar/index.js +3 -1
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +4 -1
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/tab-panel/index.js +3 -1
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/text/hook.js +4 -4
- package/build-module/text/hook.js.map +1 -1
- package/build-module/text/utils.js.map +1 -1
- package/build-module/toggle-control/index.js +1 -2
- package/build-module/toggle-control/index.js.map +1 -1
- package/build-module/toggle-control/index.native.js +1 -6
- package/build-module/toggle-control/index.native.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
- package/build-module/toolbar/index.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
- package/build-module/tooltip/index.js +2 -1
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build-module/tree-select/index.js +53 -3
- package/build-module/tree-select/index.js.map +1 -1
- package/build-module/tree-select/types.js +2 -0
- package/build-module/tree-select/types.js.map +1 -0
- package/build-module/ui/form-group/form-group-content.js.map +1 -1
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/utils/unit-values.js.map +1 -1
- package/build-module/utils/values.js.map +1 -1
- package/build-module/z-stack/component.js +21 -2
- package/build-module/z-stack/component.js.map +1 -1
- package/build-module/z-stack/types.js +2 -0
- package/build-module/z-stack/types.js.map +1 -0
- package/build-style/style-rtl.css +32 -3
- package/build-style/style.css +32 -4
- package/build-types/base-control/stories/index.d.ts.map +1 -1
- package/build-types/base-field/hook.d.ts +0 -1
- package/build-types/base-field/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +0 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +0 -1
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +0 -1
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +0 -1
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
- package/build-types/border-box-control/utils.d.ts.map +1 -1
- package/build-types/border-control/border-control/hook.d.ts +0 -1
- package/build-types/border-control/border-control/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
- package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-style-picker/hook.d.ts +0 -1
- package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -1
- package/build-types/button-group/index.d.ts +1 -1
- package/build-types/button-group/index.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +0 -1
- package/build-types/card/card/hook.d.ts.map +1 -1
- package/build-types/card/card-body/hook.d.ts +0 -1
- package/build-types/card/card-body/hook.d.ts.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +0 -1
- package/build-types/card/card-divider/hook.d.ts.map +1 -1
- package/build-types/card/card-footer/hook.d.ts +0 -1
- package/build-types/card/card-footer/hook.d.ts.map +1 -1
- package/build-types/card/card-header/hook.d.ts +0 -1
- package/build-types/card/card-header/hook.d.ts.map +1 -1
- package/build-types/card/card-media/hook.d.ts +0 -1
- package/build-types/card/card-media/hook.d.ts.map +1 -1
- package/build-types/checkbox-control/index.d.ts.map +1 -1
- package/build-types/checkbox-control/stories/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +7 -7
- package/build-types/confirm-dialog/component.d.ts.map +1 -1
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/date-time/index.d.ts.map +1 -1
- package/build-types/date-time/stories/date-time.d.ts.map +1 -1
- package/build-types/date-time/stories/date.d.ts.map +1 -1
- package/build-types/date-time/time/styles.d.ts +1 -1
- package/build-types/divider/styles.d.ts.map +1 -1
- package/build-types/dropdown-menu/index.d.ts.map +1 -1
- package/build-types/elevation/hook.d.ts +0 -1
- package/build-types/elevation/hook.d.ts.map +1 -1
- package/build-types/external-link/index.d.ts +17 -0
- package/build-types/external-link/index.d.ts.map +1 -0
- package/build-types/external-link/stories/index.d.ts +12 -0
- package/build-types/external-link/stories/index.d.ts.map +1 -0
- package/build-types/external-link/styles/external-link-styles.d.ts +10 -0
- package/build-types/external-link/styles/external-link-styles.d.ts.map +1 -0
- package/build-types/external-link/types.d.ts +15 -0
- package/build-types/external-link/types.d.ts.map +1 -0
- package/build-types/flex/flex/hook.d.ts +0 -1
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/flex/flex-block/hook.d.ts +0 -1
- package/build-types/flex/flex-block/hook.d.ts.map +1 -1
- package/build-types/flex/flex-item/hook.d.ts +0 -1
- package/build-types/flex/flex-item/hook.d.ts.map +1 -1
- package/build-types/form-token-field/index.d.ts +15 -0
- package/build-types/form-token-field/index.d.ts.map +1 -0
- package/build-types/form-token-field/stories/index.d.ts +13 -0
- package/build-types/form-token-field/stories/index.d.ts.map +1 -0
- package/build-types/form-token-field/suggestions-list.d.ts +10 -0
- package/build-types/form-token-field/suggestions-list.d.ts.map +1 -0
- package/build-types/form-token-field/test/lib/fixtures.d.ts +26 -0
- package/build-types/form-token-field/test/lib/fixtures.d.ts.map +1 -0
- package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +18 -0
- package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +1 -0
- package/build-types/form-token-field/token-input.d.ts +12 -0
- package/build-types/form-token-field/token-input.d.ts.map +1 -0
- package/build-types/form-token-field/token.d.ts +4 -0
- package/build-types/form-token-field/token.d.ts.map +1 -0
- package/build-types/form-token-field/types.d.ts +176 -0
- package/build-types/form-token-field/types.d.ts.map +1 -0
- package/build-types/grid/hook.d.ts +0 -1
- package/build-types/grid/hook.d.ts.map +1 -1
- package/build-types/h-stack/hook.d.ts +0 -1
- package/build-types/h-stack/hook.d.ts.map +1 -1
- package/build-types/heading/hook.d.ts +0 -1
- package/build-types/heading/hook.d.ts.map +1 -1
- package/build-types/higher-order/with-focus-outside/index.d.ts +1 -1
- package/build-types/input-control/index.d.ts +1 -1
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts +1 -1
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/stories/index.d.ts +5 -5
- package/build-types/input-control/stories/index.d.ts.map +1 -1
- package/build-types/item-group/item/hook.d.ts +0 -1
- package/build-types/item-group/item/hook.d.ts.map +1 -1
- package/build-types/item-group/item-group/hook.d.ts +0 -1
- package/build-types/item-group/item-group/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +0 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +0 -1
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/radio-control/index.d.ts +31 -0
- package/build-types/radio-control/index.d.ts.map +1 -0
- package/build-types/radio-control/stories/index.d.ts +12 -0
- package/build-types/radio-control/stories/index.d.ts.map +1 -0
- package/build-types/radio-control/types.d.ts +29 -0
- package/build-types/radio-control/types.d.ts.map +1 -0
- package/build-types/range-control/index.d.ts +5 -5
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/input-range.d.ts +4 -4
- package/build-types/range-control/input-range.d.ts.map +1 -1
- package/build-types/range-control/utils.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
- package/build-types/scrollable/hook.d.ts +0 -1
- package/build-types/scrollable/hook.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +1 -1
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/stories/index.d.ts +3 -3
- package/build-types/select-control/stories/index.d.ts.map +1 -1
- package/build-types/slot-fill/fill.d.ts.map +1 -1
- package/build-types/slot-fill/slot.d.ts.map +1 -1
- package/build-types/spacer/hook.d.ts +0 -1
- package/build-types/spacer/hook.d.ts.map +1 -1
- package/build-types/surface/hook.d.ts +0 -1
- package/build-types/surface/hook.d.ts.map +1 -1
- package/build-types/text/hook.d.ts +0 -1
- package/build-types/text/hook.d.ts.map +1 -1
- package/build-types/text/utils.d.ts.map +1 -1
- package/build-types/text-control/index.d.ts +1 -1
- package/build-types/text-control/index.d.ts.map +1 -1
- package/build-types/text-control/stories/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts +0 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +0 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +0 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/tree-select/index.d.ts +53 -0
- package/build-types/tree-select/index.d.ts.map +1 -0
- package/build-types/tree-select/stories/index.d.ts +12 -0
- package/build-types/tree-select/stories/index.d.ts.map +1 -0
- package/build-types/tree-select/types.d.ts +30 -0
- package/build-types/tree-select/types.d.ts.map +1 -0
- package/build-types/truncate/hook.d.ts +0 -1
- package/build-types/truncate/hook.d.ts.map +1 -1
- package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
- package/build-types/ui/control-group/hook.d.ts +0 -1
- package/build-types/ui/control-group/hook.d.ts.map +1 -1
- package/build-types/ui/control-label/hook.d.ts +0 -1
- package/build-types/ui/control-label/hook.d.ts.map +1 -1
- package/build-types/ui/form-group/use-form-group.d.ts +0 -2
- package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +1 -1
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/stories/index.d.ts.map +1 -1
- package/build-types/utils/unit-values.d.ts.map +1 -1
- package/build-types/utils/values.d.ts.map +1 -1
- package/build-types/v-stack/hook.d.ts +0 -1
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/build-types/z-stack/component.d.ts +18 -28
- package/build-types/z-stack/component.d.ts.map +1 -1
- package/build-types/z-stack/stories/index.d.ts +6 -0
- package/build-types/z-stack/stories/index.d.ts.map +1 -0
- package/build-types/z-stack/types.d.ts +33 -0
- package/build-types/z-stack/types.d.ts.map +1 -0
- package/package.json +17 -17
- package/src/alignment-matrix-control/index.js +2 -1
- package/src/angle-picker-control/index.js +1 -1
- package/src/base-control/stories/index.tsx +2 -3
- package/src/border-box-control/border-box-control-linked-button/component.tsx +2 -5
- package/src/border-box-control/utils.ts +5 -2
- package/src/border-control/border-control/hook.ts +2 -3
- package/src/box-control/all-input-control.js +2 -4
- package/src/box-control/axial-input-controls.js +4 -6
- package/src/box-control/index.js +2 -5
- package/src/box-control/input-controls.js +33 -36
- package/src/box-control/unit-control.js +2 -1
- package/src/button/index.native.js +1 -2
- package/src/card/stories/index.js +10 -5
- package/src/checkbox-control/index.tsx +2 -3
- package/src/checkbox-control/stories/index.tsx +2 -3
- package/src/checkbox-control/test/index.tsx +2 -1
- package/src/color-picker/index.native.js +7 -4
- package/src/combobox-control/index.js +4 -2
- package/src/confirm-dialog/component.tsx +7 -8
- package/src/custom-gradient-bar/constants.js +2 -2
- package/src/custom-gradient-bar/control-points.js +20 -16
- package/src/custom-gradient-bar/index.js +11 -11
- package/src/custom-gradient-bar/test/utils.js +79 -0
- package/src/custom-gradient-bar/utils.js +6 -18
- package/src/custom-gradient-picker/style.scss +1 -3
- package/src/custom-gradient-picker/utils.js +4 -3
- package/src/custom-select-control/index.js +2 -1
- package/src/custom-select-control/stories/index.js +1 -2
- package/src/date-time/date/index.tsx +2 -2
- package/src/date-time/date/style.scss +10 -0
- package/src/date-time/date/test/index.tsx +1 -1
- package/src/date-time/date-time/index.tsx +6 -8
- package/src/date-time/stories/date-time.tsx +4 -6
- package/src/date-time/stories/date.tsx +2 -3
- package/src/date-time/time/test/index.tsx +12 -12
- package/src/dimension-control/index.js +1 -2
- package/src/divider/styles.ts +2 -3
- package/src/draggable/index.js +3 -3
- package/src/draggable/index.native.js +12 -4
- package/src/drop-zone/provider.js +1 -2
- package/src/dropdown/index.js +2 -2
- package/src/dropdown-menu/index.js +11 -1
- package/src/dropdown-menu/index.native.js +11 -1
- package/src/external-link/README.md +18 -0
- package/src/external-link/{index.js → index.tsx} +26 -6
- package/src/external-link/stories/index.tsx +36 -0
- package/src/external-link/styles/{external-link-styles.js → external-link-styles.ts} +0 -0
- package/src/external-link/types.ts +15 -0
- package/src/flex/flex/hook.js +4 -1
- package/src/focal-point-picker/controls.js +1 -5
- package/src/focal-point-picker/index.js +2 -8
- package/src/focal-point-picker/media.js +2 -5
- package/src/font-size-picker/index.js +3 -1
- package/src/form-toggle/index.js +2 -1
- package/src/form-toggle/test/index.js +1 -2
- package/src/form-token-field/index.tsx +694 -0
- package/src/form-token-field/stories/index.tsx +103 -0
- package/src/form-token-field/style.scss +2 -1
- package/src/form-token-field/{suggestions-list.js → suggestions-list.tsx} +45 -29
- package/src/form-token-field/test/index.js +64 -31
- package/src/form-token-field/test/lib/{token-field-wrapper.js → token-field-wrapper.tsx} +24 -9
- package/src/form-token-field/token-input.tsx +76 -0
- package/src/form-token-field/{token.js → token.tsx} +4 -2
- package/src/form-token-field/types.ts +178 -0
- package/src/gradient-picker/index.js +4 -3
- package/src/heading/hook.ts +5 -4
- package/src/higher-order/navigate-regions/index.js +7 -5
- package/src/higher-order/with-filters/test/index.js +43 -36
- package/src/higher-order/with-focus-return/index.js +14 -13
- package/src/higher-order/with-spoken-messages/index.js +8 -7
- package/src/higher-order/with-spoken-messages/test/index.js +1 -1
- package/src/icon/index.tsx +2 -2
- package/src/input-control/index.tsx +2 -1
- package/src/input-control/input-field.tsx +2 -1
- package/src/input-control/reducer/reducer.ts +23 -21
- package/src/input-control/utils.ts +1 -1
- package/src/item-group/stories/index.js +2 -1
- package/src/menu-item/test/index.js +2 -1
- package/src/menu-items-choice/index.js +2 -5
- package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +2 -4
- package/src/mobile/bottom-sheet/cell.native.js +2 -3
- package/src/mobile/bottom-sheet/cycle-picker-cell.native.js +3 -5
- package/src/mobile/bottom-sheet/index.native.js +14 -17
- package/src/mobile/bottom-sheet/picker-cell.native.js +2 -7
- package/src/mobile/bottom-sheet/stepper-cell/index.native.js +4 -6
- package/src/mobile/color-settings/index.native.js +2 -4
- package/src/mobile/global-styles-context/index.native.js +8 -7
- package/src/mobile/gradient/index.native.js +12 -9
- package/src/mobile/gradient/test/index.native.js +1 -3
- package/src/mobile/html-text-input/index.native.js +2 -3
- package/src/mobile/inserter-button/index.native.js +2 -6
- package/src/mobile/link-settings/image-link-destinations-screen.native.js +6 -2
- package/src/mobile/media-edit/index.native.js +2 -3
- package/src/mobile/segmented-control/index.native.js +4 -5
- package/src/mobile/utils/test/index.native.js +3 -12
- package/src/modal/index.js +1 -1
- package/src/navigable-container/container.js +3 -2
- package/src/navigable-container/test/menu.js +1 -2
- package/src/navigable-container/test/tabbable.js +1 -2
- package/src/navigation/context.js +2 -5
- package/src/navigation/index.js +2 -1
- package/src/navigation/item/index.js +2 -1
- package/src/navigation/stories/controlled-state.js +1 -1
- package/src/navigation/stories/more-examples.js +2 -3
- package/src/navigation/test/index.js +252 -52
- package/src/navigator/navigator-back-button/hook.ts +14 -12
- package/src/navigator/navigator-button/hook.ts +14 -13
- package/src/navigator/navigator-provider/component.tsx +2 -6
- package/src/navigator/navigator-screen/component.tsx +3 -3
- package/src/notice/index.js +2 -1
- package/src/notice/list.js +3 -1
- package/src/panel/body.js +2 -1
- package/src/placeholder/README.md +7 -6
- package/src/placeholder/index.js +27 -10
- package/src/placeholder/style.scss +23 -0
- package/src/radio-control/README.md +17 -23
- package/src/radio-control/index.tsx +107 -0
- package/src/radio-control/stories/index.tsx +72 -0
- package/src/radio-control/types.ts +32 -0
- package/src/range-control/index.js +4 -2
- package/src/range-control/input-range.js +2 -5
- package/src/range-control/utils.js +3 -1
- package/src/resizable-box/resize-tooltip/index.tsx +2 -1
- package/src/resizable-box/resize-tooltip/utils.ts +1 -5
- package/src/responsive-wrapper/index.js +2 -4
- package/src/sandbox/test/index.js +4 -6
- package/src/select-control/index.tsx +3 -1
- package/src/select-control/stories/index.tsx +3 -4
- package/src/slot-fill/fill.js +1 -5
- package/src/slot-fill/slot.js +12 -2
- package/src/snackbar/index.js +1 -1
- package/src/snackbar/list.js +2 -1
- package/src/tab-panel/index.js +3 -1
- package/src/text/hook.js +4 -1
- package/src/text/utils.js +2 -3
- package/src/text-control/stories/index.tsx +4 -6
- package/src/toggle-control/index.js +1 -2
- package/src/toggle-control/index.native.js +2 -6
- package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +2 -4
- package/src/toolbar/index.js +1 -2
- package/src/tools-panel/tools-panel/hook.ts +2 -4
- package/src/tools-panel/tools-panel-header/hook.ts +2 -5
- package/src/tooltip/index.js +1 -0
- package/src/tree-grid/roving-tab-index-item.js +2 -4
- package/src/tree-grid/test/index.js +2 -3
- package/src/tree-select/README.md +2 -2
- package/src/tree-select/index.tsx +99 -0
- package/src/tree-select/stories/index.tsx +80 -0
- package/src/tree-select/types.ts +35 -0
- package/src/ui/context/wordpress-component.ts +4 -5
- package/src/ui/form-group/form-group-content.js +4 -4
- package/src/unit-control/index.tsx +7 -9
- package/src/unit-control/stories/index.tsx +8 -12
- package/src/unit-control/test/index.tsx +4 -7
- package/src/utils/hooks/stories/use-cx.js +8 -7
- package/src/utils/hooks/test/use-controlled-state.js +2 -1
- package/src/utils/unit-values.ts +2 -1
- package/src/utils/values.js +2 -3
- package/src/z-stack/README.md +14 -3
- package/src/z-stack/component.tsx +24 -29
- package/src/z-stack/stories/index.tsx +76 -0
- package/src/z-stack/types.ts +33 -0
- package/tsconfig.json +5 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/src/external-link/stories/index.js +0 -23
- package/src/form-token-field/index.js +0 -725
- package/src/form-token-field/stories/index.js +0 -102
- package/src/form-token-field/token-input.js +0 -81
- package/src/radio-control/index.js +0 -69
- package/src/radio-control/stories/index.js +0 -41
- package/src/tree-select/index.js +0 -48
- package/src/tree-select/stories/index.js +0 -80
- package/src/z-stack/stories/index.js +0 -70
|
@@ -31,7 +31,6 @@ import {
|
|
|
31
31
|
getHorizontalRelativeGradientPosition,
|
|
32
32
|
} from './utils';
|
|
33
33
|
import {
|
|
34
|
-
GRADIENT_MARKERS_WIDTH,
|
|
35
34
|
MINIMUM_SIGNIFICANT_MOVE,
|
|
36
35
|
KEYBOARD_CONTROL_POINT_VARIATION,
|
|
37
36
|
} from './constants';
|
|
@@ -61,6 +60,7 @@ function ControlPointButton( { isOpen, position, color, ...additionalProps } ) {
|
|
|
61
60
|
) }
|
|
62
61
|
style={ {
|
|
63
62
|
left: `${ position }%`,
|
|
63
|
+
transform: 'translateX( -50% )',
|
|
64
64
|
} }
|
|
65
65
|
{ ...additionalProps }
|
|
66
66
|
/>
|
|
@@ -89,7 +89,7 @@ function GradientColorPickerDropdown( {
|
|
|
89
89
|
result.position = 'bottom left';
|
|
90
90
|
}
|
|
91
91
|
return result;
|
|
92
|
-
}, [ gradientPickerDomRef
|
|
92
|
+
}, [ gradientPickerDomRef, isRenderedInSidebar ] );
|
|
93
93
|
return (
|
|
94
94
|
<CustomColorPickerDropdown
|
|
95
95
|
isRenderedInSidebar={ isRenderedInSidebar }
|
|
@@ -115,14 +115,10 @@ function ControlPoints( {
|
|
|
115
115
|
const onMouseMove = ( event ) => {
|
|
116
116
|
const relativePosition = getHorizontalRelativeGradientPosition(
|
|
117
117
|
event.clientX,
|
|
118
|
-
gradientPickerDomRef.current
|
|
119
|
-
GRADIENT_MARKERS_WIDTH
|
|
118
|
+
gradientPickerDomRef.current
|
|
120
119
|
);
|
|
121
|
-
const {
|
|
122
|
-
|
|
123
|
-
index,
|
|
124
|
-
significantMoveHappened,
|
|
125
|
-
} = controlPointMoveState.current;
|
|
120
|
+
const { initialPosition, index, significantMoveHappened } =
|
|
121
|
+
controlPointMoveState.current;
|
|
126
122
|
if (
|
|
127
123
|
! significantMoveHappened &&
|
|
128
124
|
Math.abs( initialPosition - relativePosition ) >=
|
|
@@ -150,9 +146,15 @@ function ControlPoints( {
|
|
|
150
146
|
}
|
|
151
147
|
};
|
|
152
148
|
|
|
149
|
+
// Adding `cleanEventListeners` to the dependency array below requires the function itself to be wrapped in a `useCallback`
|
|
150
|
+
// This memoization would prevent the event listeners from being properly cleaned.
|
|
151
|
+
// Instead, we'll pass a ref to the function in our `useEffect` so `cleanEventListeners` itself is no longer a dependency.
|
|
152
|
+
const cleanEventListenersRef = useRef();
|
|
153
|
+
cleanEventListenersRef.current = cleanEventListeners;
|
|
154
|
+
|
|
153
155
|
useEffect( () => {
|
|
154
156
|
return () => {
|
|
155
|
-
|
|
157
|
+
cleanEventListenersRef.current();
|
|
156
158
|
};
|
|
157
159
|
}, [] );
|
|
158
160
|
|
|
@@ -312,12 +314,14 @@ function InsertPoint( {
|
|
|
312
314
|
} }
|
|
313
315
|
className="components-custom-gradient-picker__insert-point"
|
|
314
316
|
icon={ plus }
|
|
315
|
-
style={
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
317
|
+
style={
|
|
318
|
+
insertPosition !== null
|
|
319
|
+
? {
|
|
320
|
+
left: `${ insertPosition }%`,
|
|
321
|
+
transform: 'translateX( -50% )',
|
|
322
|
+
}
|
|
323
|
+
: undefined
|
|
324
|
+
}
|
|
321
325
|
/>
|
|
322
326
|
) }
|
|
323
327
|
renderContent={ () => (
|
|
@@ -15,10 +15,7 @@ import { useRef, useReducer } from '@wordpress/element';
|
|
|
15
15
|
*/
|
|
16
16
|
import ControlPoints from './control-points';
|
|
17
17
|
import { getHorizontalRelativeGradientPosition } from './utils';
|
|
18
|
-
import {
|
|
19
|
-
INSERT_POINT_WIDTH,
|
|
20
|
-
MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT,
|
|
21
|
-
} from './constants';
|
|
18
|
+
import { MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT } from './constants';
|
|
22
19
|
|
|
23
20
|
function customGradientBarReducer( state, action ) {
|
|
24
21
|
switch ( action.type ) {
|
|
@@ -80,7 +77,7 @@ export default function CustomGradientBar( {
|
|
|
80
77
|
disableAlpha = false,
|
|
81
78
|
__experimentalIsRenderedInSidebar,
|
|
82
79
|
} ) {
|
|
83
|
-
const
|
|
80
|
+
const gradientMarkersContainerDomRef = useRef();
|
|
84
81
|
|
|
85
82
|
const [ gradientBarState, gradientBarStateDispatch ] = useReducer(
|
|
86
83
|
customGradientBarReducer,
|
|
@@ -89,8 +86,7 @@ export default function CustomGradientBar( {
|
|
|
89
86
|
const onMouseEnterAndMove = ( event ) => {
|
|
90
87
|
const insertPosition = getHorizontalRelativeGradientPosition(
|
|
91
88
|
event.clientX,
|
|
92
|
-
|
|
93
|
-
INSERT_POINT_WIDTH
|
|
89
|
+
gradientMarkersContainerDomRef.current
|
|
94
90
|
);
|
|
95
91
|
|
|
96
92
|
// If the insert point is close to an existing control point don't show it.
|
|
@@ -121,7 +117,6 @@ export default function CustomGradientBar( {
|
|
|
121
117
|
|
|
122
118
|
return (
|
|
123
119
|
<div
|
|
124
|
-
ref={ gradientPickerDomRef }
|
|
125
120
|
className={ classnames(
|
|
126
121
|
'components-custom-gradient-picker__gradient-bar',
|
|
127
122
|
{ 'has-gradient': hasGradient }
|
|
@@ -131,14 +126,19 @@ export default function CustomGradientBar( {
|
|
|
131
126
|
style={ { background } }
|
|
132
127
|
onMouseLeave={ onMouseLeave }
|
|
133
128
|
>
|
|
134
|
-
<div
|
|
129
|
+
<div
|
|
130
|
+
ref={ gradientMarkersContainerDomRef }
|
|
131
|
+
className="components-custom-gradient-picker__markers-container"
|
|
132
|
+
>
|
|
135
133
|
{ ! disableInserter &&
|
|
136
134
|
( isMovingInserter || isInsertingControlPoint ) && (
|
|
137
135
|
<ControlPoints.InsertPoint
|
|
138
136
|
__experimentalIsRenderedInSidebar={
|
|
139
137
|
__experimentalIsRenderedInSidebar
|
|
140
138
|
}
|
|
141
|
-
gradientPickerDomRef={
|
|
139
|
+
gradientPickerDomRef={
|
|
140
|
+
gradientMarkersContainerDomRef
|
|
141
|
+
}
|
|
142
142
|
disableAlpha={ disableAlpha }
|
|
143
143
|
insertPosition={ gradientBarState.insertPosition }
|
|
144
144
|
value={ controlPoints }
|
|
@@ -161,7 +161,7 @@ export default function CustomGradientBar( {
|
|
|
161
161
|
}
|
|
162
162
|
disableAlpha={ disableAlpha }
|
|
163
163
|
disableRemove={ disableInserter }
|
|
164
|
-
gradientPickerDomRef={
|
|
164
|
+
gradientPickerDomRef={ gradientMarkersContainerDomRef }
|
|
165
165
|
ignoreMarkerPosition={
|
|
166
166
|
isInsertingControlPoint
|
|
167
167
|
? gradientBarState.insertPosition
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { getHorizontalRelativeGradientPosition } from '../utils';
|
|
5
|
+
|
|
6
|
+
describe( 'getHorizontalRelativeGradientPosition', () => {
|
|
7
|
+
it( 'should return relative percentage position', () => {
|
|
8
|
+
const containerElement = {
|
|
9
|
+
getBoundingClientRect: () => ( {
|
|
10
|
+
x: 0,
|
|
11
|
+
width: 1000,
|
|
12
|
+
} ),
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
expect(
|
|
16
|
+
getHorizontalRelativeGradientPosition( 500, containerElement )
|
|
17
|
+
).toBe( 50 );
|
|
18
|
+
} );
|
|
19
|
+
|
|
20
|
+
it( 'should subtract the x position of the container from the mouse position', () => {
|
|
21
|
+
const containerElement = {
|
|
22
|
+
getBoundingClientRect: () => ( {
|
|
23
|
+
x: 50,
|
|
24
|
+
width: 1000,
|
|
25
|
+
} ),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
expect(
|
|
29
|
+
getHorizontalRelativeGradientPosition( 550, containerElement )
|
|
30
|
+
).toBe( 50 );
|
|
31
|
+
} );
|
|
32
|
+
|
|
33
|
+
it( 'should clamp to a whole percentage number', () => {
|
|
34
|
+
const containerElement = {
|
|
35
|
+
getBoundingClientRect: () => ( {
|
|
36
|
+
x: 0,
|
|
37
|
+
width: 1000,
|
|
38
|
+
} ),
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
expect(
|
|
42
|
+
getHorizontalRelativeGradientPosition( 333, containerElement )
|
|
43
|
+
).toBe( 33 );
|
|
44
|
+
} );
|
|
45
|
+
|
|
46
|
+
it( 'should clamp to zero when mouse position is less the x position', () => {
|
|
47
|
+
const containerElement = {
|
|
48
|
+
getBoundingClientRect: () => ( {
|
|
49
|
+
x: 50,
|
|
50
|
+
width: 1000,
|
|
51
|
+
} ),
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
expect(
|
|
55
|
+
getHorizontalRelativeGradientPosition( 2, containerElement )
|
|
56
|
+
).toBe( 0 );
|
|
57
|
+
} );
|
|
58
|
+
|
|
59
|
+
it( 'should clamp to 100 when mouse position is greater than width', () => {
|
|
60
|
+
const containerElement = {
|
|
61
|
+
getBoundingClientRect: () => ( {
|
|
62
|
+
x: 0,
|
|
63
|
+
width: 1000,
|
|
64
|
+
} ),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
expect(
|
|
68
|
+
getHorizontalRelativeGradientPosition( 1500, containerElement )
|
|
69
|
+
).toBe( 100 );
|
|
70
|
+
} );
|
|
71
|
+
|
|
72
|
+
it( 'should return undefined if no containerElement is provided', () => {
|
|
73
|
+
const containerElement = undefined;
|
|
74
|
+
|
|
75
|
+
expect(
|
|
76
|
+
getHorizontalRelativeGradientPosition( 1500, containerElement )
|
|
77
|
+
).toBeUndefined();
|
|
78
|
+
} );
|
|
79
|
+
} );
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Internal dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
MINIMUM_DISTANCE_BETWEEN_POINTS,
|
|
6
|
-
MINIMUM_ABSOLUTE_LEFT_POSITION,
|
|
7
|
-
INSERT_POINT_WIDTH,
|
|
8
|
-
} from './constants';
|
|
4
|
+
import { MINIMUM_DISTANCE_BETWEEN_POINTS } from './constants';
|
|
9
5
|
|
|
10
6
|
/**
|
|
11
7
|
* Control point for the gradient bar.
|
|
@@ -171,29 +167,21 @@ export function updateControlPointColorByPosition(
|
|
|
171
167
|
/**
|
|
172
168
|
* Gets the horizontal coordinate when dragging a control point with the mouse.
|
|
173
169
|
*
|
|
174
|
-
* @param {number} mouseXCoordinate
|
|
175
|
-
* @param {Element} containerElement
|
|
176
|
-
* @param {number} positionedElementWidth Width of the positioned element.
|
|
170
|
+
* @param {number} mouseXCoordinate Horizontal coordinate of the mouse position.
|
|
171
|
+
* @param {Element} containerElement Container for the gradient picker.
|
|
177
172
|
*
|
|
178
173
|
* @return {number} Whole number percentage from the left.
|
|
179
174
|
*/
|
|
180
175
|
export function getHorizontalRelativeGradientPosition(
|
|
181
176
|
mouseXCoordinate,
|
|
182
|
-
containerElement
|
|
183
|
-
positionedElementWidth
|
|
177
|
+
containerElement
|
|
184
178
|
) {
|
|
185
179
|
if ( ! containerElement ) {
|
|
186
180
|
return;
|
|
187
181
|
}
|
|
188
182
|
const { x, width } = containerElement.getBoundingClientRect();
|
|
189
|
-
const absolutePositionValue =
|
|
190
|
-
mouseXCoordinate -
|
|
191
|
-
x -
|
|
192
|
-
MINIMUM_ABSOLUTE_LEFT_POSITION -
|
|
193
|
-
positionedElementWidth / 2;
|
|
194
|
-
const availableWidth =
|
|
195
|
-
width - MINIMUM_ABSOLUTE_LEFT_POSITION - INSERT_POINT_WIDTH;
|
|
183
|
+
const absolutePositionValue = mouseXCoordinate - x;
|
|
196
184
|
return Math.round(
|
|
197
|
-
clampPercent( ( absolutePositionValue * 100 ) /
|
|
185
|
+
clampPercent( ( absolutePositionValue * 100 ) / width )
|
|
198
186
|
);
|
|
199
187
|
}
|
|
@@ -10,12 +10,10 @@ $components-custom-gradient-picker__padding: $grid-unit-20; // 48px container, 1
|
|
|
10
10
|
width: 100%;
|
|
11
11
|
height: $grid-unit-60;
|
|
12
12
|
margin-bottom: $grid-unit-20+$grid-unit-05;
|
|
13
|
-
/*rtl:ignore*/
|
|
14
|
-
padding-right: $components-custom-gradient-picker__padding;
|
|
15
13
|
|
|
16
14
|
.components-custom-gradient-picker__markers-container {
|
|
17
15
|
position: relative;
|
|
18
|
-
width: calc(100% - #{ $grid-unit-
|
|
16
|
+
width: calc(100% - #{ $grid-unit-60 });
|
|
19
17
|
margin-left: auto;
|
|
20
18
|
margin-right: auto;
|
|
21
19
|
}
|
|
@@ -44,9 +44,10 @@ export function getGradientAstWithDefault( value ) {
|
|
|
44
44
|
|
|
45
45
|
if ( gradientAST.orientation?.type === 'directional' ) {
|
|
46
46
|
gradientAST.orientation.type = 'angular';
|
|
47
|
-
gradientAST.orientation.value =
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
gradientAST.orientation.value =
|
|
48
|
+
DIRECTIONAL_ORIENTATION_ANGLE_MAP[
|
|
49
|
+
gradientAST.orientation.value
|
|
50
|
+
].toString();
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
if ( gradientAST.colorStops.some( hasUnsupportedLength ) ) {
|
|
@@ -180,7 +180,8 @@ export default function CustomSelectControl( {
|
|
|
180
180
|
'is-highlighted':
|
|
181
181
|
index === highlightedIndex,
|
|
182
182
|
'has-hint': !! item.__experimentalHint,
|
|
183
|
-
'is-next-36px-default-size':
|
|
183
|
+
'is-next-36px-default-size':
|
|
184
|
+
__next36pxDefaultSize,
|
|
184
185
|
}
|
|
185
186
|
),
|
|
186
187
|
style: item.style,
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import moment from 'moment';
|
|
5
5
|
import type { Moment } from 'moment';
|
|
6
|
-
import { noop } from 'lodash';
|
|
7
6
|
// Needed to initialise the default datepicker styles.
|
|
8
7
|
// See: https://github.com/airbnb/react-dates#initialize
|
|
9
8
|
import 'react-dates/initialize';
|
|
@@ -27,6 +26,7 @@ import { Day, NavPrevButton, NavNextButton } from './styles';
|
|
|
27
26
|
|
|
28
27
|
const TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';
|
|
29
28
|
const ARIAL_LABEL_TIME_FORMAT = 'dddd, LL';
|
|
29
|
+
const noop = () => {};
|
|
30
30
|
|
|
31
31
|
function DatePickerDay( { day, events = [] }: DatePickerDayProps ) {
|
|
32
32
|
const ref = useRef< HTMLDivElement >( null );
|
|
@@ -64,7 +64,7 @@ function DatePickerDay( { day, events = [] }: DatePickerDayProps ) {
|
|
|
64
64
|
);
|
|
65
65
|
|
|
66
66
|
parentNode.setAttribute( 'aria-label', dayWithEventsDescription );
|
|
67
|
-
}, [ events.length ] );
|
|
67
|
+
}, [ day, events.length ] );
|
|
68
68
|
|
|
69
69
|
return (
|
|
70
70
|
<Day
|
|
@@ -53,6 +53,11 @@
|
|
|
53
53
|
border: none;
|
|
54
54
|
font-size: $default-font-size;
|
|
55
55
|
border-radius: $radius-round;
|
|
56
|
+
background: $white;
|
|
57
|
+
|
|
58
|
+
&:hover {
|
|
59
|
+
color: var(--wp-admin-theme-color);
|
|
60
|
+
}
|
|
56
61
|
|
|
57
62
|
&:focus {
|
|
58
63
|
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color), inset 0 0 0 #{ $border-width-focus + $border-width } $white;
|
|
@@ -60,12 +65,17 @@
|
|
|
60
65
|
}
|
|
61
66
|
}
|
|
62
67
|
|
|
68
|
+
.CalendarDay__today {
|
|
69
|
+
background: $gray-100;
|
|
70
|
+
}
|
|
71
|
+
|
|
63
72
|
.CalendarDay__selected {
|
|
64
73
|
background: var(--wp-admin-theme-color);
|
|
65
74
|
border: 2px solid transparent; // This indicates selection in Windows 10 high contrast mode.
|
|
66
75
|
|
|
67
76
|
&:hover {
|
|
68
77
|
background: var(--wp-admin-theme-color-darker-20);
|
|
78
|
+
color: $white;
|
|
69
79
|
}
|
|
70
80
|
|
|
71
81
|
&:focus {
|
|
@@ -28,7 +28,7 @@ describe( 'DatePicker', () => {
|
|
|
28
28
|
it( "should highlight today's date when not provided a currentDate", () => {
|
|
29
29
|
render( <DatePicker /> );
|
|
30
30
|
|
|
31
|
-
const todayDescription = moment().format( 'dddd,
|
|
31
|
+
const todayDescription = moment().format( 'dddd, MMMM D, YYYY' );
|
|
32
32
|
expect(
|
|
33
33
|
screen.getByRole( 'button', { name: todayDescription } )
|
|
34
34
|
).toHaveClass( 'CalendarDay__selected' );
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { noop } from 'lodash';
|
|
5
4
|
import type { ForwardedRef } from 'react';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -25,6 +24,8 @@ import { Spacer } from '../../spacer';
|
|
|
25
24
|
|
|
26
25
|
export { DatePicker, TimePicker };
|
|
27
26
|
|
|
27
|
+
const noop = () => {};
|
|
28
|
+
|
|
28
29
|
function UnforwardedDateTimePicker(
|
|
29
30
|
{
|
|
30
31
|
currentDate,
|
|
@@ -42,22 +43,19 @@ function UnforwardedDateTimePicker(
|
|
|
42
43
|
deprecated( 'Help button in wp.components.DateTimePicker', {
|
|
43
44
|
since: '13.4',
|
|
44
45
|
version: '14.6', // Six months of plugin releases.
|
|
45
|
-
hint:
|
|
46
|
-
'Set the `__nextRemoveHelpButton` prop to `true` to remove this warning and opt in to the new behaviour, which will become the default in a future version.',
|
|
46
|
+
hint: 'Set the `__nextRemoveHelpButton` prop to `true` to remove this warning and opt in to the new behaviour, which will become the default in a future version.',
|
|
47
47
|
} );
|
|
48
48
|
}
|
|
49
49
|
if ( ! __nextRemoveResetButton ) {
|
|
50
50
|
deprecated( 'Reset button in wp.components.DateTimePicker', {
|
|
51
51
|
since: '13.4',
|
|
52
52
|
version: '14.6', // Six months of plugin releases.
|
|
53
|
-
hint:
|
|
54
|
-
'Set the `__nextRemoveResetButton` prop to `true` to remove this warning and opt in to the new behaviour, which will become the default in a future version.',
|
|
53
|
+
hint: 'Set the `__nextRemoveResetButton` prop to `true` to remove this warning and opt in to the new behaviour, which will become the default in a future version.',
|
|
55
54
|
} );
|
|
56
55
|
}
|
|
57
56
|
|
|
58
|
-
const [ calendarHelpIsVisible, setCalendarHelpIsVisible ] =
|
|
59
|
-
false
|
|
60
|
-
);
|
|
57
|
+
const [ calendarHelpIsVisible, setCalendarHelpIsVisible ] =
|
|
58
|
+
useState( false );
|
|
61
59
|
|
|
62
60
|
function onClickDescriptionToggle() {
|
|
63
61
|
setCalendarHelpIsVisible( ! calendarHelpIsVisible );
|
|
@@ -53,9 +53,8 @@ export const Default: ComponentStory< typeof DateTimePicker > = Template.bind(
|
|
|
53
53
|
{}
|
|
54
54
|
);
|
|
55
55
|
|
|
56
|
-
export const WithEvents: ComponentStory<
|
|
57
|
-
|
|
58
|
-
> = Template.bind( {} );
|
|
56
|
+
export const WithEvents: ComponentStory< typeof DateTimePicker > =
|
|
57
|
+
Template.bind( {} );
|
|
59
58
|
WithEvents.args = {
|
|
60
59
|
currentDate: new Date(),
|
|
61
60
|
events: [
|
|
@@ -66,9 +65,8 @@ WithEvents.args = {
|
|
|
66
65
|
],
|
|
67
66
|
};
|
|
68
67
|
|
|
69
|
-
export const WithInvalidDates: ComponentStory<
|
|
70
|
-
|
|
71
|
-
> = Template.bind( {} );
|
|
68
|
+
export const WithInvalidDates: ComponentStory< typeof DateTimePicker > =
|
|
69
|
+
Template.bind( {} );
|
|
72
70
|
WithInvalidDates.args = {
|
|
73
71
|
currentDate: new Date(),
|
|
74
72
|
isInvalidDate: isWeekend,
|
|
@@ -64,9 +64,8 @@ WithEvents.args = {
|
|
|
64
64
|
],
|
|
65
65
|
};
|
|
66
66
|
|
|
67
|
-
export const WithInvalidDates: ComponentStory<
|
|
68
|
-
|
|
69
|
-
> = Template.bind( {} );
|
|
67
|
+
export const WithInvalidDates: ComponentStory< typeof DatePicker > =
|
|
68
|
+
Template.bind( {} );
|
|
70
69
|
WithInvalidDates.args = {
|
|
71
70
|
currentDate: new Date(),
|
|
72
71
|
isInvalidDate: isWeekend,
|
|
@@ -366,20 +366,20 @@ describe( 'TimePicker', () => {
|
|
|
366
366
|
/>
|
|
367
367
|
);
|
|
368
368
|
|
|
369
|
-
const monthInput = (
|
|
370
|
-
'Month'
|
|
371
|
-
|
|
369
|
+
const monthInput = (
|
|
370
|
+
screen.getByLabelText( 'Month' ) as HTMLInputElement
|
|
371
|
+
).value;
|
|
372
372
|
const dayInput = ( screen.getByLabelText( 'Day' ) as HTMLInputElement )
|
|
373
373
|
.value;
|
|
374
|
-
const yearInput = (
|
|
375
|
-
'Year'
|
|
376
|
-
|
|
377
|
-
const hoursInput = (
|
|
378
|
-
'Hours'
|
|
379
|
-
|
|
380
|
-
const minutesInput = (
|
|
381
|
-
'Minutes'
|
|
382
|
-
|
|
374
|
+
const yearInput = (
|
|
375
|
+
screen.getByLabelText( 'Year' ) as HTMLInputElement
|
|
376
|
+
).value;
|
|
377
|
+
const hoursInput = (
|
|
378
|
+
screen.getByLabelText( 'Hours' ) as HTMLInputElement
|
|
379
|
+
).value;
|
|
380
|
+
const minutesInput = (
|
|
381
|
+
screen.getByLabelText( 'Minutes' ) as HTMLInputElement
|
|
382
|
+
).value;
|
|
383
383
|
|
|
384
384
|
expect( Number.isNaN( parseInt( monthInput, 10 ) ) ).toBe( false );
|
|
385
385
|
expect( Number.isNaN( parseInt( dayInput, 10 ) ) ).toBe( false );
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { isFunction } from 'lodash';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* WordPress dependencies
|
|
@@ -35,7 +34,7 @@ export function DimensionControl( props ) {
|
|
|
35
34
|
|
|
36
35
|
if ( ! theSize || value === theSize.slug ) {
|
|
37
36
|
onChange( undefined );
|
|
38
|
-
} else if (
|
|
37
|
+
} else if ( typeof onChange === 'function' ) {
|
|
39
38
|
onChange( theSize.slug );
|
|
40
39
|
}
|
|
41
40
|
};
|
package/src/divider/styles.ts
CHANGED
|
@@ -57,9 +57,8 @@ const renderBorder = ( {
|
|
|
57
57
|
'aria-orientation': orientation = 'horizontal',
|
|
58
58
|
}: Props ) => {
|
|
59
59
|
return css( {
|
|
60
|
-
[ orientation === 'vertical'
|
|
61
|
-
|
|
62
|
-
: 'borderBottom' ]: '1px solid currentColor',
|
|
60
|
+
[ orientation === 'vertical' ? 'borderRight' : 'borderBottom' ]:
|
|
61
|
+
'1px solid currentColor',
|
|
63
62
|
} );
|
|
64
63
|
};
|
|
65
64
|
|
package/src/draggable/index.js
CHANGED
|
@@ -144,9 +144,9 @@ export default function Draggable( {
|
|
|
144
144
|
cloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;
|
|
145
145
|
|
|
146
146
|
// Hack: Remove iFrames as it's causing the embeds drag clone to freeze.
|
|
147
|
-
Array.from(
|
|
148
|
-
|
|
149
|
-
)
|
|
147
|
+
Array.from( clone.querySelectorAll( 'iframe' ) ).forEach(
|
|
148
|
+
( child ) => child.parentNode.removeChild( child )
|
|
149
|
+
);
|
|
150
150
|
|
|
151
151
|
cloneWrapper.appendChild( clone );
|
|
152
152
|
|
|
@@ -142,7 +142,16 @@ const Draggable = ( {
|
|
|
142
142
|
|
|
143
143
|
const providerValue = useMemo( () => {
|
|
144
144
|
return { panGestureRef, isDragging, isPanActive, draggingId };
|
|
145
|
-
}, [
|
|
145
|
+
}, [
|
|
146
|
+
// `isDragging`, `isPanActive` and `draggingId` are created using the
|
|
147
|
+
// `useSharedValue` hook provided by the `react-native-reanimated`, which in
|
|
148
|
+
// theory should guarantee that the value of these variables remains stable.
|
|
149
|
+
// ESLint can't pick this up, and that's why they have to be specified as
|
|
150
|
+
// dependencies for this hook call.
|
|
151
|
+
isDragging,
|
|
152
|
+
isPanActive,
|
|
153
|
+
draggingId,
|
|
154
|
+
] );
|
|
146
155
|
|
|
147
156
|
return (
|
|
148
157
|
<GestureDetector gesture={ panGesture }>
|
|
@@ -180,9 +189,8 @@ const DraggableTrigger = ( {
|
|
|
180
189
|
onLongPressEnd,
|
|
181
190
|
testID,
|
|
182
191
|
} ) => {
|
|
183
|
-
const { panGestureRef, isDragging, isPanActive, draggingId } =
|
|
184
|
-
Context
|
|
185
|
-
);
|
|
192
|
+
const { panGestureRef, isDragging, isPanActive, draggingId } =
|
|
193
|
+
useContext( Context );
|
|
186
194
|
|
|
187
195
|
const gestureHandler = useAnimatedGestureHandler( {
|
|
188
196
|
onActive: () => {
|
|
@@ -6,8 +6,7 @@ import deprecated from '@wordpress/deprecated';
|
|
|
6
6
|
export default function DropZoneProvider( { children } ) {
|
|
7
7
|
deprecated( 'wp.components.DropZoneProvider', {
|
|
8
8
|
since: '5.8',
|
|
9
|
-
hint:
|
|
10
|
-
'wp.component.DropZone no longer needs a provider. wp.components.DropZoneProvider is safe to remove from your code.',
|
|
9
|
+
hint: 'wp.component.DropZone no longer needs a provider. wp.components.DropZoneProvider is safe to remove from your code.',
|
|
11
10
|
} );
|
|
12
11
|
return children;
|
|
13
12
|
}
|
package/src/dropdown/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
5
5
|
import classnames from 'classnames';
|
|
6
|
-
import { flatMap, isEmpty
|
|
6
|
+
import { flatMap, isEmpty } from 'lodash';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* WordPress dependencies
|
|
@@ -34,6 +34,16 @@ function mergeProps( defaultProps = {}, props = {} ) {
|
|
|
34
34
|
return mergedProps;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Whether the argument is a function.
|
|
39
|
+
*
|
|
40
|
+
* @param {*} maybeFunc The argument to check.
|
|
41
|
+
* @return {boolean} True if the argument is a function, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
function isFunction( maybeFunc ) {
|
|
44
|
+
return typeof maybeFunc === 'function';
|
|
45
|
+
}
|
|
46
|
+
|
|
37
47
|
function DropdownMenu( dropdownMenuProps ) {
|
|
38
48
|
const {
|
|
39
49
|
children,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { flatMap, isEmpty
|
|
5
|
+
import { flatMap, isEmpty } from 'lodash';
|
|
6
6
|
import { Platform } from 'react-native';
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
@@ -34,6 +34,16 @@ function mergeProps( defaultProps = {}, props = {} ) {
|
|
|
34
34
|
return mergedProps;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Whether the argument is a function.
|
|
39
|
+
*
|
|
40
|
+
* @param {*} maybeFunc The argument to check.
|
|
41
|
+
* @return {boolean} True if the argument is a function, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
function isFunction( maybeFunc ) {
|
|
44
|
+
return typeof maybeFunc === 'function';
|
|
45
|
+
}
|
|
46
|
+
|
|
37
47
|
function DropdownMenu( {
|
|
38
48
|
children,
|
|
39
49
|
className,
|