@wordpress/components 19.17.0 → 20.0.1-next.d6164808d3.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 +68 -1
- package/build/alignment-matrix-control/index.js +1 -1
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/angle-picker-control/index.js +3 -0
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +14 -4
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/autocomplete/index.js +9 -11
- package/build/autocomplete/index.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +8 -8
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/base-field/styles.js +5 -5
- package/build/base-field/styles.js.map +1 -1
- package/build/box-control/styles/box-control-visualizer-styles.js +8 -8
- package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build/color-list-picker/index.js +16 -5
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-palette/index.js +22 -12
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/index.native.js +3 -3
- package/build/color-palette/index.native.js.map +1 -1
- package/build/combobox-control/index.js +7 -4
- package/build/combobox-control/index.js.map +1 -1
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/build/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
- package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
- package/build/custom-gradient-picker/index.js +19 -4
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-select-control/index.js +21 -11
- package/build/custom-select-control/index.js.map +1 -1
- package/build/custom-select-control/styles.js +34 -0
- package/build/custom-select-control/styles.js.map +1 -0
- package/build/date-time/constants.js +9 -0
- package/build/date-time/constants.js.map +1 -0
- package/build/date-time/date/index.js +175 -186
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/date/styles.js +59 -40
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/date-time/index.js +5 -2
- package/build/date-time/date-time/index.js.map +1 -1
- package/build/date-time/time/index.js +22 -17
- package/build/date-time/time/index.js.map +1 -1
- package/build/date-time/utils.js +27 -0
- package/build/date-time/utils.js.map +1 -0
- package/build/dimension-control/index.js +2 -6
- package/build/dimension-control/index.js.map +1 -1
- package/build/disabled/index.js +28 -11
- package/build/disabled/index.js.map +1 -1
- package/build/disabled/styles/disabled-styles.js +3 -3
- package/build/disabled/styles/disabled-styles.js.map +1 -1
- package/build/{swatch → disabled}/types.js +0 -0
- package/build/{swatch → disabled}/types.js.map +0 -0
- package/build/dropdown/index.js +5 -6
- package/build/dropdown/index.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +2 -2
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +9 -1
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/duotone-swatch.js +13 -3
- package/build/duotone-picker/duotone-swatch.js.map +1 -1
- package/build/focal-point-picker/index.js +4 -6
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js +4 -4
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/font-size-picker/index.js +43 -14
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/utils.js +32 -22
- package/build/font-size-picker/utils.js.map +1 -1
- package/build/form-token-field/index.js +11 -5
- package/build/form-token-field/index.js.map +1 -1
- package/build/gradient-picker/index.js +15 -3
- package/build/gradient-picker/index.js.map +1 -1
- package/build/guide/index.js +5 -3
- package/build/guide/index.js.map +1 -1
- package/build/guide/page-control.js +3 -7
- package/build/guide/page-control.js.map +1 -1
- package/build/item-group/styles.js +10 -10
- package/build/item-group/styles.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +3 -6
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +3 -1
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/image/index.native.js +6 -26
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/picker/index.android.js +3 -3
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/modal/index.js +1 -3
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/container.js +9 -8
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +0 -4
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +0 -4
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/notice/list.js +10 -6
- package/build/notice/list.js.map +1 -1
- package/build/palette-edit/index.js +1 -0
- package/build/palette-edit/index.js.map +1 -1
- package/build/palette-edit/styles.js +10 -10
- package/build/palette-edit/styles.js.map +1 -1
- package/build/popover/index.js +100 -97
- package/build/popover/index.js.map +1 -1
- package/build/popover/utils.js +178 -0
- package/build/popover/utils.js.map +1 -0
- package/build/range-control/index.js +3 -0
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +43 -37
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/select-control/chevron-down.js +30 -0
- package/build/select-control/chevron-down.js.map +1 -0
- package/build/select-control/index.js +7 -7
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +30 -15
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/snackbar/list.js +5 -3
- package/build/snackbar/list.js.map +1 -1
- package/build/spinner/index.js +2 -0
- package/build/spinner/index.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +16 -8
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +7 -5
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js +15 -5
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +20 -7
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +26 -7
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build/tools-panel/styles.js +11 -11
- package/build/tools-panel/styles.js.map +1 -1
- package/build/ui/context/context-connect.js +1 -3
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/unit-control/index.js +2 -3
- package/build/unit-control/index.js.map +1 -1
- package/build/utils/colors-values.js +52 -142
- package/build/utils/colors-values.js.map +1 -1
- package/build/utils/config-values.js +1 -1
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/input/input-control.js +1 -1
- package/build/utils/input/input-control.js.map +1 -1
- package/build/utils/rtl.js +6 -5
- package/build/utils/rtl.js.map +1 -1
- package/build/utils/strings.js +50 -0
- package/build/utils/strings.js.map +1 -0
- package/build-module/alignment-matrix-control/index.js +1 -1
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/angle-picker-control/index.js +3 -0
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/autocomplete/index.js +9 -10
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +8 -8
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/base-field/styles.js +5 -5
- package/build-module/base-field/styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-visualizer-styles.js +8 -8
- package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build-module/color-list-picker/index.js +13 -5
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +22 -11
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +4 -4
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/combobox-control/index.js +6 -3
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/build-module/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
- package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
- package/build-module/custom-gradient-picker/index.js +16 -3
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-select-control/index.js +20 -12
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/custom-select-control/styles.js +22 -0
- package/build-module/custom-select-control/styles.js.map +1 -0
- package/build-module/date-time/constants.js +2 -0
- package/build-module/date-time/constants.js.map +1 -0
- package/build-module/date-time/date/index.js +178 -184
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date/styles.js +47 -38
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/date-time/index.js +4 -2
- package/build-module/date-time/date-time/index.js.map +1 -1
- package/build-module/date-time/time/index.js +20 -16
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/date-time/utils.js +19 -0
- package/build-module/date-time/utils.js.map +1 -0
- package/build-module/dimension-control/index.js +1 -5
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/disabled/index.js +28 -11
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/disabled/styles/disabled-styles.js +3 -3
- package/build-module/disabled/styles/disabled-styles.js.map +1 -1
- package/build-module/{swatch → disabled}/types.js +0 -0
- package/build-module/{swatch → disabled}/types.js.map +0 -0
- package/build-module/dropdown/index.js +5 -6
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +7 -1
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/duotone-swatch.js +11 -3
- package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
- package/build-module/focal-point-picker/index.js +4 -5
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js +4 -4
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/font-size-picker/index.js +39 -14
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/utils.js +31 -23
- package/build-module/font-size-picker/utils.js.map +1 -1
- package/build-module/form-token-field/index.js +12 -6
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/gradient-picker/index.js +14 -3
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/guide/index.js +5 -3
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/page-control.js +3 -6
- package/build-module/guide/page-control.js.map +1 -1
- package/build-module/item-group/styles.js +10 -10
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +3 -5
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +2 -1
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +8 -28
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +3 -3
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/modal/index.js +1 -2
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/container.js +9 -7
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +0 -4
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +0 -4
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/notice/list.js +10 -5
- package/build-module/notice/list.js.map +1 -1
- package/build-module/palette-edit/index.js +1 -0
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/palette-edit/styles.js +10 -10
- package/build-module/palette-edit/styles.js.map +1 -1
- package/build-module/popover/index.js +100 -98
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/utils.js +164 -0
- package/build-module/popover/utils.js.map +1 -0
- package/build-module/range-control/index.js +3 -0
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +43 -37
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/select-control/chevron-down.js +21 -0
- package/build-module/select-control/chevron-down.js.map +1 -0
- package/build-module/select-control/index.js +7 -7
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +24 -13
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/snackbar/list.js +5 -2
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spinner/index.js +2 -0
- package/build-module/spinner/index.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +14 -7
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +5 -4
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js +17 -3
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +16 -6
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +27 -5
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build-module/tools-panel/styles.js +11 -11
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/ui/context/context-connect.js +1 -2
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/unit-control/index.js +2 -2
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/utils/colors-values.js +52 -141
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/utils/config-values.js +1 -1
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/input/input-control.js +1 -1
- package/build-module/utils/input/input-control.js.map +1 -1
- package/build-module/utils/rtl.js +6 -4
- package/build-module/utils/rtl.js.map +1 -1
- package/build-module/utils/strings.js +37 -0
- package/build-module/utils/strings.js.map +1 -0
- package/build-style/style-rtl.css +176 -1227
- package/build-style/style.css +171 -1225
- package/build-types/color-palette/index.d.ts +2 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +2 -2
- package/build-types/date-time/constants.d.ts +2 -0
- package/build-types/date-time/constants.d.ts.map +1 -0
- package/build-types/date-time/date/index.d.ts +3 -1
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +22 -8
- package/build-types/date-time/date/styles.d.ts.map +1 -1
- package/build-types/date-time/date/test/index.d.ts +1 -1
- package/build-types/date-time/date/test/index.d.ts.map +1 -1
- package/build-types/date-time/date-time/index.d.ts.map +1 -1
- package/build-types/date-time/time/index.d.ts.map +1 -1
- package/build-types/date-time/utils.d.ts +8 -0
- package/build-types/date-time/utils.d.ts.map +1 -0
- package/build-types/disabled/index.d.ts +35 -28
- package/build-types/disabled/index.d.ts.map +1 -1
- package/build-types/disabled/stories/index.d.ts +13 -0
- package/build-types/disabled/stories/index.d.ts.map +1 -0
- package/build-types/disabled/styles/disabled-styles.d.ts +2 -1
- package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
- package/build-types/disabled/test/index.d.ts +2 -0
- package/build-types/{flyout/flyout → disabled/test}/index.d.ts.map +1 -1
- package/build-types/disabled/types.d.ts +14 -0
- package/build-types/disabled/types.d.ts.map +1 -0
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/stories/index.d.ts +1 -0
- package/build-types/form-token-field/stories/index.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +7 -0
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +0 -3
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +0 -3
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/placeholder/test/index.d.ts +2 -0
- package/build-types/{flyout → placeholder/test}/index.d.ts.map +1 -1
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +26 -69
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +2 -2
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +5 -2
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/range-control/types.d.ts +2 -2
- package/build-types/range-control/types.d.ts.map +1 -1
- package/build-types/select-control/chevron-down.d.ts +4 -0
- package/build-types/select-control/chevron-down.d.ts.map +1 -0
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts +8 -0
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/spinner/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/stories/index.d.ts +25 -0
- package/build-types/toggle-group-control/stories/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/test/index.d.ts +2 -0
- package/build-types/toggle-group-control/test/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -3
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -0
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -7
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +11 -9
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +23 -10
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/ui/context/context-connect.d.ts +3 -0
- package/build-types/ui/context/context-connect.d.ts.map +1 -1
- package/build-types/ui/form-group/use-form-group.d.ts +2 -2
- package/build-types/unit-control/index.d.ts +2 -1
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +5 -1
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/utils/colors-values.d.ts +18 -97
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/build-types/utils/rtl.d.ts.map +1 -1
- package/build-types/utils/strings.d.ts +2 -0
- package/build-types/utils/strings.d.ts.map +1 -0
- package/package.json +22 -21
- package/src/alignment-matrix-control/index.js +1 -1
- package/src/alignment-matrix-control/stories/index.js +49 -24
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -3
- package/src/angle-picker-control/index.js +7 -1
- package/src/angle-picker-control/stories/index.js +8 -5
- package/src/angle-picker-control/styles/angle-picker-control-styles.js +12 -3
- package/src/autocomplete/index.js +9 -18
- package/src/base-control/styles/base-control-styles.ts +1 -1
- package/src/base-field/styles.js +1 -1
- package/src/base-field/test/__snapshots__/index.js.snap +2 -2
- package/src/box-control/styles/box-control-visualizer-styles.js +0 -1
- package/src/box-control/test/index.js +8 -8
- package/src/button/test/index.js +188 -146
- package/src/color-list-picker/index.js +15 -3
- package/src/color-list-picker/style.scss +11 -0
- package/src/color-palette/index.js +32 -16
- package/src/color-palette/index.native.js +10 -6
- package/src/color-palette/stories/index.js +1 -1
- package/src/color-palette/test/__snapshots__/index.js.snap +17 -3
- package/src/combobox-control/index.js +6 -5
- package/src/combobox-control/stories/index.js +9 -3
- package/src/combobox-control/style.scss +0 -1
- package/src/confirm-dialog/test/index.js +85 -62
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +54 -50
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -3
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/test/utils.js +0 -0
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/src/custom-gradient-picker/index.js +18 -3
- package/src/custom-gradient-picker/stories/index.js +4 -3
- package/src/custom-gradient-picker/style.scss +30 -27
- package/src/custom-select-control/README.md +10 -0
- package/src/custom-select-control/index.js +22 -16
- package/src/custom-select-control/stories/index.js +1 -1
- package/src/custom-select-control/style.scss +0 -12
- package/src/custom-select-control/styles.ts +28 -0
- package/src/custom-select-control/test/index.js +4 -1
- package/src/date-time/constants.ts +1 -0
- package/src/date-time/date/index.tsx +289 -184
- package/src/date-time/date/styles.ts +86 -27
- package/src/date-time/date/test/index.tsx +18 -28
- package/src/date-time/date-time/index.tsx +3 -2
- package/src/date-time/time/index.tsx +23 -19
- package/src/date-time/utils.ts +17 -0
- package/src/dimension-control/index.js +1 -5
- package/src/disabled/index.tsx +80 -0
- package/src/disabled/stories/index.tsx +87 -0
- package/src/disabled/styles/{disabled-styles.js → disabled-styles.tsx} +0 -0
- package/src/disabled/test/index.tsx +174 -0
- package/src/disabled/types.ts +13 -0
- package/src/dropdown/index.js +3 -5
- package/src/dropdown-menu/stories/index.js +13 -2
- package/src/duotone-picker/custom-duotone-bar.js +1 -1
- package/src/duotone-picker/duotone-picker.js +34 -26
- package/src/duotone-picker/duotone-swatch.js +12 -5
- package/src/duotone-picker/stories/duotone-picker.js +66 -0
- package/src/duotone-picker/stories/duotone-swatch.js +32 -0
- package/src/focal-point-picker/index.js +10 -5
- package/src/focal-point-picker/styles/focal-point-style.js +0 -1
- package/src/focal-point-picker/test/index.js +78 -45
- package/src/font-size-picker/index.js +161 -144
- package/src/font-size-picker/stories/index.js +1 -0
- package/src/font-size-picker/style.scss +8 -5
- package/src/font-size-picker/test/index.js +13 -6
- package/src/font-size-picker/test/{util.js → utils.js} +77 -1
- package/src/font-size-picker/utils.js +38 -23
- package/src/form-token-field/README.md +1 -0
- package/src/form-token-field/index.tsx +24 -10
- package/src/form-token-field/stories/index.tsx +8 -0
- package/src/form-token-field/test/index.js +31 -0
- package/src/form-token-field/types.ts +7 -0
- package/src/gradient-picker/index.js +22 -7
- package/src/gradient-picker/stories/index.js +56 -81
- package/src/guide/index.js +3 -1
- package/src/guide/page-control.js +1 -6
- package/src/guide/stories/index.js +12 -11
- package/src/guide/test/index.js +54 -37
- package/src/guide/test/page-control.js +14 -17
- package/src/higher-order/with-notices/test/index.js +4 -2
- package/src/higher-order/with-spoken-messages/test/index.js +1 -1
- package/src/item-group/styles.ts +3 -3
- package/src/menu-group/test/index.js +18 -7
- package/src/mobile/bottom-sheet/index.native.js +2 -4
- package/src/mobile/global-styles-context/utils.native.js +2 -1
- package/src/mobile/image/index.native.js +9 -30
- package/src/mobile/picker/index.android.js +10 -4
- package/src/mobile/picker/styles.native.scss +4 -4
- package/src/modal/index.js +1 -2
- package/src/modal/test/index.js +11 -9
- package/src/navigable-container/container.js +12 -18
- package/src/navigable-container/test/menu.js +14 -11
- package/src/navigator/navigator-back-button/hook.ts +0 -3
- package/src/navigator/navigator-button/hook.ts +0 -3
- package/src/notice/list.js +12 -10
- package/src/palette-edit/index.js +1 -0
- package/src/palette-edit/styles.js +6 -5
- package/src/placeholder/README.md +1 -1
- package/src/placeholder/style.scss +65 -20
- package/src/placeholder/test/index.tsx +174 -0
- package/src/popover/index.js +133 -112
- package/src/popover/stories/index.js +17 -3
- package/src/popover/test/__snapshots__/index.js.snap +6 -6
- package/src/popover/test/index.js +129 -36
- package/src/popover/utils.js +107 -0
- package/src/range-control/index.tsx +3 -0
- package/src/range-control/styles/range-control-styles.ts +9 -4
- package/src/range-control/types.ts +5 -2
- package/src/select-control/chevron-down.tsx +25 -0
- package/src/select-control/index.tsx +6 -9
- package/src/select-control/styles/select-control-styles.ts +23 -14
- package/src/slot-fill/test/slot.js +5 -5
- package/src/snackbar/list.js +3 -2
- package/src/spinner/index.tsx +2 -0
- package/src/style.scss +0 -2
- package/src/text/styles.js +1 -1
- package/src/text/test/index.tsx +1 -1
- package/src/toggle-group-control/stories/index.tsx +127 -0
- package/src/toggle-group-control/test/__snapshots__/{index.js.snap → index.tsx.snap} +28 -22
- package/src/toggle-group-control/test/{index.js → index.tsx} +2 -4
- package/src/toggle-group-control/toggle-group-control/README.md +2 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +18 -9
- package/src/toggle-group-control/toggle-group-control/styles.ts +9 -6
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +19 -3
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -0
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +18 -0
- package/src/toggle-group-control/toggle-group-control-option-icon/README.md +6 -8
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +30 -7
- package/src/toggle-group-control/types.ts +74 -59
- package/src/toolbar/test/index.js +4 -4
- package/src/toolbar-group/test/index.js +9 -15
- package/src/tools-panel/styles.ts +2 -2
- package/src/tools-panel/test/index.js +3 -2
- package/src/tooltip/test/index.js +188 -172
- package/src/ui/context/context-connect.ts +3 -2
- package/src/unit-control/index.tsx +2 -2
- package/src/unit-control/types.ts +10 -1
- package/src/utils/colors-values.js +42 -137
- package/src/utils/config-values.js +1 -1
- package/src/utils/input/input-control.js +6 -6
- package/src/utils/rtl.js +6 -2
- package/src/utils/strings.ts +72 -0
- package/src/utils/test/strings.js +15 -0
- package/tsconfig.json +0 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/custom-gradient-bar/constants.js.map +0 -1
- package/build/custom-gradient-bar/control-points.js.map +0 -1
- package/build/custom-gradient-bar/index.js.map +0 -1
- package/build/custom-gradient-bar/utils.js.map +0 -1
- package/build/date-time/date/utils.js +0 -34
- package/build/date-time/date/utils.js.map +0 -1
- package/build/swatch/index.js +0 -41
- package/build/swatch/index.js.map +0 -1
- package/build-module/custom-gradient-bar/constants.js.map +0 -1
- package/build-module/custom-gradient-bar/control-points.js.map +0 -1
- package/build-module/custom-gradient-bar/index.js.map +0 -1
- package/build-module/custom-gradient-bar/utils.js.map +0 -1
- package/build-module/date-time/date/utils.js +0 -22
- package/build-module/date-time/date/utils.js.map +0 -1
- package/build-module/swatch/index.js +0 -30
- package/build-module/swatch/index.js.map +0 -1
- package/build-types/color-picker/color-display.d.ts +0 -13
- package/build-types/color-picker/color-display.d.ts.map +0 -1
- package/build-types/date-time/date/test/utils.d.ts +0 -2
- package/build-types/date-time/date/test/utils.d.ts.map +0 -1
- package/build-types/date-time/date/utils.d.ts +0 -15
- package/build-types/date-time/date/utils.d.ts.map +0 -1
- package/build-types/flyout/context.d.ts +0 -6
- package/build-types/flyout/context.d.ts.map +0 -1
- package/build-types/flyout/flyout/component.d.ts +0 -21
- package/build-types/flyout/flyout/component.d.ts.map +0 -1
- package/build-types/flyout/flyout/hook.d.ts +0 -270
- package/build-types/flyout/flyout/hook.d.ts.map +0 -1
- package/build-types/flyout/flyout/index.d.ts +0 -3
- package/build-types/flyout/flyout-content/component.d.ts +0 -3
- package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
- package/build-types/flyout/flyout-content/index.d.ts +0 -2
- package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
- package/build-types/flyout/index.d.ts +0 -2
- package/build-types/flyout/styles.d.ts +0 -22
- package/build-types/flyout/styles.d.ts.map +0 -1
- package/build-types/flyout/types.d.ts +0 -80
- package/build-types/flyout/types.d.ts.map +0 -1
- package/build-types/flyout/utils.d.ts +0 -8
- package/build-types/flyout/utils.d.ts.map +0 -1
- package/build-types/swatch/index.d.ts +0 -5
- package/build-types/swatch/index.d.ts.map +0 -1
- package/build-types/swatch/types.d.ts +0 -11
- package/build-types/swatch/types.d.ts.map +0 -1
- package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
- package/src/date-time/date/datepicker.scss +0 -863
- package/src/date-time/date/style.scss +0 -85
- package/src/date-time/date/test/utils.ts +0 -32
- package/src/date-time/date/utils.ts +0 -20
- package/src/date-time/style.scss +0 -1
- package/src/disabled/index.js +0 -55
- package/src/disabled/stories/index.js +0 -61
- package/src/disabled/test/index.js +0 -240
- package/src/menu-group/test/__snapshots__/index.js.snap +0 -23
- package/src/placeholder/test/index.js +0 -163
- package/src/swatch/index.tsx +0 -22
- package/src/swatch/style.scss +0 -21
- package/src/swatch/types.ts +0 -11
- package/src/toggle-group-control/stories/index.js +0 -203
- package/src/tools-panel/test/__snapshots__/index.js.snap +0 -210
|
@@ -357,6 +357,13 @@ exports[`ColorPalette Dropdown should render it correctly 1`] = `
|
|
|
357
357
|
|
|
358
358
|
<Dropdown
|
|
359
359
|
contentClassName="components-color-palette__custom-color-dropdown-content"
|
|
360
|
+
popoverProps={
|
|
361
|
+
Object {
|
|
362
|
+
"__unstableShift": true,
|
|
363
|
+
"offset": 8,
|
|
364
|
+
"placement": "bottom",
|
|
365
|
+
}
|
|
366
|
+
}
|
|
360
367
|
renderContent={[Function]}
|
|
361
368
|
renderToggle={[Function]}
|
|
362
369
|
>
|
|
@@ -728,6 +735,13 @@ exports[`ColorPalette should render a dynamic toolbar of colors 1`] = `
|
|
|
728
735
|
>
|
|
729
736
|
<Dropdown
|
|
730
737
|
contentClassName="components-color-palette__custom-color-dropdown-content"
|
|
738
|
+
popoverProps={
|
|
739
|
+
Object {
|
|
740
|
+
"__unstableShift": true,
|
|
741
|
+
"offset": 8,
|
|
742
|
+
"placement": "bottom",
|
|
743
|
+
}
|
|
744
|
+
}
|
|
731
745
|
renderContent={[Function]}
|
|
732
746
|
renderToggle={[Function]}
|
|
733
747
|
>
|
|
@@ -957,7 +971,7 @@ exports[`ColorPalette should render a dynamic toolbar of colors 1`] = `
|
|
|
957
971
|
<Option
|
|
958
972
|
aria-label="Color: red"
|
|
959
973
|
isSelected={true}
|
|
960
|
-
key="#f00"
|
|
974
|
+
key="#f00-0"
|
|
961
975
|
onClick={[Function]}
|
|
962
976
|
selectedIconProps={
|
|
963
977
|
Object {
|
|
@@ -1060,7 +1074,7 @@ exports[`ColorPalette should render a dynamic toolbar of colors 1`] = `
|
|
|
1060
1074
|
<Option
|
|
1061
1075
|
aria-label="Color: white"
|
|
1062
1076
|
isSelected={false}
|
|
1063
|
-
key="#fff"
|
|
1077
|
+
key="#fff-1"
|
|
1064
1078
|
onClick={[Function]}
|
|
1065
1079
|
selectedIconProps={Object {}}
|
|
1066
1080
|
style={
|
|
@@ -1120,7 +1134,7 @@ exports[`ColorPalette should render a dynamic toolbar of colors 1`] = `
|
|
|
1120
1134
|
<Option
|
|
1121
1135
|
aria-label="Color: blue"
|
|
1122
1136
|
isSelected={false}
|
|
1123
|
-
key="#00f"
|
|
1137
|
+
key="#00f-2"
|
|
1124
1138
|
onClick={[Function]}
|
|
1125
1139
|
selectedIconProps={Object {}}
|
|
1126
1140
|
style={
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import removeAccents from 'remove-accents';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* WordPress dependencies
|
|
@@ -30,6 +29,7 @@ import Button from '../button';
|
|
|
30
29
|
import { FlexBlock, FlexItem } from '../flex';
|
|
31
30
|
import withFocusOutside from '../higher-order/with-focus-outside';
|
|
32
31
|
import { useControlledValue } from '../utils/hooks';
|
|
32
|
+
import { normalizeTextString } from '../utils/strings';
|
|
33
33
|
|
|
34
34
|
const noop = () => {};
|
|
35
35
|
|
|
@@ -46,6 +46,8 @@ const DetectOutside = withFocusOutside(
|
|
|
46
46
|
);
|
|
47
47
|
|
|
48
48
|
function ComboboxControl( {
|
|
49
|
+
/** Start opting into the new margin-free styles that will become the default in a future version. */
|
|
50
|
+
__nextHasNoMarginBottom = false,
|
|
49
51
|
__next36pxDefaultSize,
|
|
50
52
|
value: valueProp,
|
|
51
53
|
label,
|
|
@@ -83,11 +85,9 @@ function ComboboxControl( {
|
|
|
83
85
|
const matchingSuggestions = useMemo( () => {
|
|
84
86
|
const startsWithMatch = [];
|
|
85
87
|
const containsMatch = [];
|
|
86
|
-
const match =
|
|
88
|
+
const match = normalizeTextString( inputValue );
|
|
87
89
|
options.forEach( ( option ) => {
|
|
88
|
-
const index =
|
|
89
|
-
.toLocaleLowerCase()
|
|
90
|
-
.indexOf( match );
|
|
90
|
+
const index = normalizeTextString( option.label ).indexOf( match );
|
|
91
91
|
if ( index === 0 ) {
|
|
92
92
|
startsWithMatch.push( option );
|
|
93
93
|
} else if ( index > 0 ) {
|
|
@@ -222,6 +222,7 @@ function ComboboxControl( {
|
|
|
222
222
|
return (
|
|
223
223
|
<DetectOutside onFocusOutside={ onFocusOutside }>
|
|
224
224
|
<BaseControl
|
|
225
|
+
__nextHasNoMarginBottom={ __nextHasNoMarginBottom }
|
|
225
226
|
className={ classnames(
|
|
226
227
|
className,
|
|
227
228
|
'components-combobox-control'
|
|
@@ -257,6 +257,10 @@ const countries = [
|
|
|
257
257
|
export default {
|
|
258
258
|
title: 'Components/ComboboxControl',
|
|
259
259
|
component: ComboboxControl,
|
|
260
|
+
argTypes: {
|
|
261
|
+
__nextHasNoMarginBottom: { control: { type: 'boolean' } },
|
|
262
|
+
onChange: { action: 'onChange' },
|
|
263
|
+
},
|
|
260
264
|
};
|
|
261
265
|
|
|
262
266
|
const mapCountryOption = ( country ) => ( {
|
|
@@ -266,7 +270,7 @@ const mapCountryOption = ( country ) => ( {
|
|
|
266
270
|
|
|
267
271
|
const countryOptions = countries.map( mapCountryOption );
|
|
268
272
|
|
|
269
|
-
function Template( args ) {
|
|
273
|
+
function Template( { onChange, ...args } ) {
|
|
270
274
|
const [ value, setValue ] = useState( null );
|
|
271
275
|
|
|
272
276
|
return (
|
|
@@ -274,9 +278,11 @@ function Template( args ) {
|
|
|
274
278
|
<ComboboxControl
|
|
275
279
|
{ ...args }
|
|
276
280
|
value={ value }
|
|
277
|
-
onChange={
|
|
281
|
+
onChange={ ( ...changeArgs ) => {
|
|
282
|
+
setValue( ...changeArgs );
|
|
283
|
+
onChange?.( ...changeArgs );
|
|
284
|
+
} }
|
|
278
285
|
/>
|
|
279
|
-
<p>Value: { value }</p>
|
|
280
286
|
</>
|
|
281
287
|
);
|
|
282
288
|
}
|
|
@@ -6,7 +6,9 @@ import {
|
|
|
6
6
|
screen,
|
|
7
7
|
fireEvent,
|
|
8
8
|
waitForElementToBeRemoved,
|
|
9
|
+
waitFor,
|
|
9
10
|
} from '@testing-library/react';
|
|
11
|
+
import userEvent from '@testing-library/user-event';
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Internal dependencies
|
|
@@ -19,19 +21,19 @@ describe( 'Confirm', () => {
|
|
|
19
21
|
describe( 'Confirm component', () => {
|
|
20
22
|
describe( 'Structure', () => {
|
|
21
23
|
it( 'should render correctly', () => {
|
|
22
|
-
|
|
24
|
+
render(
|
|
23
25
|
<ConfirmDialog onConfirm={ noop } onCancel={ noop }>
|
|
24
26
|
Are you sure?
|
|
25
27
|
</ConfirmDialog>
|
|
26
28
|
);
|
|
27
29
|
|
|
28
|
-
const dialog =
|
|
30
|
+
const dialog = screen.getByRole( 'dialog' );
|
|
29
31
|
const elementsTexts = [ 'Are you sure?', 'OK', 'Cancel' ];
|
|
30
32
|
|
|
31
33
|
expect( dialog ).toBeInTheDocument();
|
|
32
34
|
|
|
33
35
|
elementsTexts.forEach( ( txt ) => {
|
|
34
|
-
const el =
|
|
36
|
+
const el = screen.getByText( txt );
|
|
35
37
|
expect( el ).toBeInTheDocument();
|
|
36
38
|
} );
|
|
37
39
|
} );
|
|
@@ -66,64 +68,76 @@ describe( 'Confirm', () => {
|
|
|
66
68
|
|
|
67
69
|
describe( 'When uncontrolled', () => {
|
|
68
70
|
it( 'should render', () => {
|
|
69
|
-
|
|
71
|
+
render(
|
|
70
72
|
<ConfirmDialog onConfirm={ noop } onCancel={ noop }>
|
|
71
73
|
Are you sure?
|
|
72
74
|
</ConfirmDialog>
|
|
73
75
|
);
|
|
74
76
|
|
|
75
|
-
const confirmDialog =
|
|
77
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
76
78
|
|
|
77
79
|
expect( confirmDialog ).toBeInTheDocument();
|
|
78
80
|
} );
|
|
79
81
|
|
|
80
82
|
it( 'should not render if closed by clicking `OK`, and the `onConfirm` callback should be called', async () => {
|
|
83
|
+
const user = userEvent.setup( {
|
|
84
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
85
|
+
} );
|
|
86
|
+
|
|
81
87
|
const onConfirm = jest.fn().mockName( 'onConfirm()' );
|
|
82
88
|
|
|
83
|
-
|
|
89
|
+
render(
|
|
84
90
|
<ConfirmDialog onConfirm={ onConfirm }>
|
|
85
91
|
Are you sure?
|
|
86
92
|
</ConfirmDialog>
|
|
87
93
|
);
|
|
88
94
|
|
|
89
|
-
const confirmDialog =
|
|
90
|
-
const button =
|
|
95
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
96
|
+
const button = screen.getByText( 'OK' );
|
|
91
97
|
|
|
92
|
-
|
|
98
|
+
await user.click( button );
|
|
93
99
|
|
|
94
100
|
expect( confirmDialog ).not.toBeInTheDocument();
|
|
95
101
|
expect( onConfirm ).toHaveBeenCalled();
|
|
96
102
|
} );
|
|
97
103
|
|
|
98
104
|
it( 'should not render if closed by clicking `Cancel`, and the `onCancel` callback should be called', async () => {
|
|
105
|
+
const user = userEvent.setup( {
|
|
106
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
107
|
+
} );
|
|
108
|
+
|
|
99
109
|
const onCancel = jest.fn().mockName( 'onCancel()' );
|
|
100
110
|
|
|
101
|
-
|
|
111
|
+
render(
|
|
102
112
|
<ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
|
|
103
113
|
Are you sure?
|
|
104
114
|
</ConfirmDialog>
|
|
105
115
|
);
|
|
106
116
|
|
|
107
|
-
const confirmDialog =
|
|
108
|
-
const button =
|
|
117
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
118
|
+
const button = screen.getByText( 'Cancel' );
|
|
109
119
|
|
|
110
|
-
|
|
120
|
+
await user.click( button );
|
|
111
121
|
|
|
112
122
|
expect( confirmDialog ).not.toBeInTheDocument();
|
|
113
123
|
expect( onCancel ).toHaveBeenCalled();
|
|
114
124
|
} );
|
|
115
125
|
|
|
116
126
|
it( 'should be dismissable even if an `onCancel` callback is not provided', async () => {
|
|
117
|
-
const
|
|
127
|
+
const user = userEvent.setup( {
|
|
128
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
129
|
+
} );
|
|
130
|
+
|
|
131
|
+
render(
|
|
118
132
|
<ConfirmDialog onConfirm={ noop }>
|
|
119
133
|
Are you sure?
|
|
120
134
|
</ConfirmDialog>
|
|
121
135
|
);
|
|
122
136
|
|
|
123
|
-
const confirmDialog =
|
|
124
|
-
const button =
|
|
137
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
138
|
+
const button = screen.getByText( 'Cancel' );
|
|
125
139
|
|
|
126
|
-
|
|
140
|
+
await user.click( button );
|
|
127
141
|
|
|
128
142
|
expect( confirmDialog ).not.toBeInTheDocument();
|
|
129
143
|
} );
|
|
@@ -131,15 +145,16 @@ describe( 'Confirm', () => {
|
|
|
131
145
|
it( 'should not render if dialog is closed by clicking the overlay, and the `onCancel` callback should be called', async () => {
|
|
132
146
|
const onCancel = jest.fn().mockName( 'onCancel()' );
|
|
133
147
|
|
|
134
|
-
|
|
148
|
+
render(
|
|
135
149
|
<ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
|
|
136
150
|
Are you sure?
|
|
137
151
|
</ConfirmDialog>
|
|
138
152
|
);
|
|
139
153
|
|
|
140
|
-
const confirmDialog =
|
|
154
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
141
155
|
|
|
142
156
|
//The overlay click is handled by detecting an onBlur from the modal frame.
|
|
157
|
+
// TODO: replace with `@testing-library/user-event`
|
|
143
158
|
fireEvent.blur( confirmDialog );
|
|
144
159
|
|
|
145
160
|
await waitForElementToBeRemoved( confirmDialog );
|
|
@@ -149,34 +164,42 @@ describe( 'Confirm', () => {
|
|
|
149
164
|
} );
|
|
150
165
|
|
|
151
166
|
it( 'should not render if dialog is closed by pressing `Escape`, and the `onCancel` callback should be called', async () => {
|
|
167
|
+
const user = userEvent.setup( {
|
|
168
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
169
|
+
} );
|
|
170
|
+
|
|
152
171
|
const onCancel = jest.fn().mockName( 'onCancel()' );
|
|
153
172
|
|
|
154
|
-
|
|
173
|
+
render(
|
|
155
174
|
<ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
|
|
156
175
|
Are you sure?
|
|
157
176
|
</ConfirmDialog>
|
|
158
177
|
);
|
|
159
178
|
|
|
160
|
-
const confirmDialog =
|
|
179
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
161
180
|
|
|
162
|
-
|
|
181
|
+
await user.keyboard( '[Escape]' );
|
|
163
182
|
|
|
164
183
|
expect( confirmDialog ).not.toBeInTheDocument();
|
|
165
184
|
expect( onCancel ).toHaveBeenCalled();
|
|
166
185
|
} );
|
|
167
186
|
|
|
168
187
|
it( 'should not render if dialog is closed by pressing `Enter`, and the `onConfirm` callback should be called', async () => {
|
|
188
|
+
const user = userEvent.setup( {
|
|
189
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
190
|
+
} );
|
|
191
|
+
|
|
169
192
|
const onConfirm = jest.fn().mockName( 'onConfirm()' );
|
|
170
193
|
|
|
171
|
-
|
|
194
|
+
render(
|
|
172
195
|
<ConfirmDialog onConfirm={ onConfirm }>
|
|
173
196
|
Are you sure?
|
|
174
197
|
</ConfirmDialog>
|
|
175
198
|
);
|
|
176
199
|
|
|
177
|
-
const confirmDialog =
|
|
200
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
178
201
|
|
|
179
|
-
|
|
202
|
+
await user.keyboard( '[Enter]' );
|
|
180
203
|
|
|
181
204
|
expect( confirmDialog ).not.toBeInTheDocument();
|
|
182
205
|
expect( onConfirm ).toHaveBeenCalled();
|
|
@@ -186,7 +209,7 @@ describe( 'Confirm', () => {
|
|
|
186
209
|
|
|
187
210
|
describe( 'When controlled (isOpen is not `undefined`)', () => {
|
|
188
211
|
it( 'should render when `isOpen` is set to `true`', async () => {
|
|
189
|
-
|
|
212
|
+
render(
|
|
190
213
|
<ConfirmDialog
|
|
191
214
|
isOpen={ true }
|
|
192
215
|
onConfirm={ noop }
|
|
@@ -196,13 +219,13 @@ describe( 'Confirm', () => {
|
|
|
196
219
|
</ConfirmDialog>
|
|
197
220
|
);
|
|
198
221
|
|
|
199
|
-
const confirmDialog =
|
|
222
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
200
223
|
|
|
201
224
|
expect( confirmDialog ).toBeInTheDocument();
|
|
202
225
|
} );
|
|
203
226
|
|
|
204
227
|
it( 'should not render if `isOpen` is set to false', async () => {
|
|
205
|
-
|
|
228
|
+
render(
|
|
206
229
|
<ConfirmDialog
|
|
207
230
|
isOpen={ false }
|
|
208
231
|
onConfirm={ noop }
|
|
@@ -214,31 +237,39 @@ describe( 'Confirm', () => {
|
|
|
214
237
|
|
|
215
238
|
// `queryByRole` needs to be used here because in this scenario the
|
|
216
239
|
// dialog is never rendered.
|
|
217
|
-
const confirmDialog =
|
|
240
|
+
const confirmDialog = screen.queryByRole( 'dialog' );
|
|
218
241
|
|
|
219
242
|
expect( confirmDialog ).not.toBeInTheDocument();
|
|
220
243
|
} );
|
|
221
244
|
|
|
222
245
|
it( 'should call the `onConfirm` callback if `OK`', async () => {
|
|
246
|
+
const user = userEvent.setup( {
|
|
247
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
248
|
+
} );
|
|
249
|
+
|
|
223
250
|
const onConfirm = jest.fn().mockName( 'onConfirm()' );
|
|
224
251
|
|
|
225
|
-
|
|
252
|
+
render(
|
|
226
253
|
<ConfirmDialog isOpen={ true } onConfirm={ onConfirm }>
|
|
227
254
|
Are you sure?
|
|
228
255
|
</ConfirmDialog>
|
|
229
256
|
);
|
|
230
257
|
|
|
231
|
-
const button =
|
|
258
|
+
const button = screen.getByText( 'OK' );
|
|
232
259
|
|
|
233
|
-
|
|
260
|
+
await user.click( button );
|
|
234
261
|
|
|
235
262
|
expect( onConfirm ).toHaveBeenCalled();
|
|
236
263
|
} );
|
|
237
264
|
|
|
238
265
|
it( 'should call the `onCancel` callback if `Cancel` is clicked', async () => {
|
|
266
|
+
const user = userEvent.setup( {
|
|
267
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
268
|
+
} );
|
|
269
|
+
|
|
239
270
|
const onCancel = jest.fn().mockName( 'onCancel()' );
|
|
240
271
|
|
|
241
|
-
|
|
272
|
+
render(
|
|
242
273
|
<ConfirmDialog
|
|
243
274
|
isOpen={ true }
|
|
244
275
|
onConfirm={ noop }
|
|
@@ -248,19 +279,17 @@ describe( 'Confirm', () => {
|
|
|
248
279
|
</ConfirmDialog>
|
|
249
280
|
);
|
|
250
281
|
|
|
251
|
-
const button =
|
|
282
|
+
const button = screen.getByText( 'Cancel' );
|
|
252
283
|
|
|
253
|
-
|
|
284
|
+
await user.click( button );
|
|
254
285
|
|
|
255
286
|
expect( onCancel ).toHaveBeenCalled();
|
|
256
287
|
} );
|
|
257
288
|
|
|
258
289
|
it( 'should call the `onCancel` callback if the overlay is clicked', async () => {
|
|
259
|
-
jest.useFakeTimers();
|
|
260
|
-
|
|
261
290
|
const onCancel = jest.fn().mockName( 'onCancel()' );
|
|
262
291
|
|
|
263
|
-
|
|
292
|
+
render(
|
|
264
293
|
<ConfirmDialog
|
|
265
294
|
isOpen={ true }
|
|
266
295
|
onConfirm={ noop }
|
|
@@ -270,45 +299,43 @@ describe( 'Confirm', () => {
|
|
|
270
299
|
</ConfirmDialog>
|
|
271
300
|
);
|
|
272
301
|
|
|
273
|
-
const
|
|
274
|
-
'.components-modal__frame'
|
|
275
|
-
);
|
|
302
|
+
const confirmDialog = screen.getByRole( 'dialog' );
|
|
276
303
|
|
|
277
304
|
//The overlay click is handled by detecting an onBlur from the modal frame.
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
// We don't wait for a DOM side effect here, so we need to fake the timers
|
|
281
|
-
// and "advance" it so that the `queueBlurCheck` in the `useFocusOutside` hook
|
|
282
|
-
// properly executes its timeout task.
|
|
283
|
-
jest.advanceTimersByTime( 0 );
|
|
284
|
-
|
|
285
|
-
expect( onCancel ).toHaveBeenCalled();
|
|
305
|
+
// TODO: replace with `@testing-library/user-event`
|
|
306
|
+
fireEvent.blur( confirmDialog );
|
|
286
307
|
|
|
287
|
-
|
|
308
|
+
// Wait for a DOM side effect here, so that the `queueBlurCheck` in the
|
|
309
|
+
// `useFocusOutside` hook properly executes its timeout task.
|
|
310
|
+
await waitFor( () => expect( onCancel ).toHaveBeenCalled() );
|
|
288
311
|
} );
|
|
289
312
|
|
|
290
313
|
it( 'should call the `onCancel` callback if the `Escape` key is pressed', async () => {
|
|
314
|
+
const user = userEvent.setup( {
|
|
315
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
316
|
+
} );
|
|
317
|
+
|
|
291
318
|
const onCancel = jest.fn().mockName( 'onCancel()' );
|
|
292
319
|
|
|
293
|
-
|
|
320
|
+
render(
|
|
294
321
|
<ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
|
|
295
322
|
Are you sure?
|
|
296
323
|
</ConfirmDialog>
|
|
297
324
|
);
|
|
298
325
|
|
|
299
|
-
|
|
300
|
-
'.components-modal__frame'
|
|
301
|
-
);
|
|
302
|
-
|
|
303
|
-
fireEvent.keyDown( frame, { keyCode: 27 } );
|
|
326
|
+
await user.keyboard( '[Escape]' );
|
|
304
327
|
|
|
305
328
|
expect( onCancel ).toHaveBeenCalled();
|
|
306
329
|
} );
|
|
307
330
|
|
|
308
331
|
it( 'should call the `onConfirm` callback if the `Enter` key is pressed', async () => {
|
|
332
|
+
const user = userEvent.setup( {
|
|
333
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
334
|
+
} );
|
|
335
|
+
|
|
309
336
|
const onConfirm = jest.fn().mockName( 'onConfirm()' );
|
|
310
337
|
|
|
311
|
-
|
|
338
|
+
render(
|
|
312
339
|
<ConfirmDialog
|
|
313
340
|
isOpen={ true }
|
|
314
341
|
onConfirm={ onConfirm }
|
|
@@ -318,11 +345,7 @@ describe( 'Confirm', () => {
|
|
|
318
345
|
</ConfirmDialog>
|
|
319
346
|
);
|
|
320
347
|
|
|
321
|
-
|
|
322
|
-
'.components-modal__frame'
|
|
323
|
-
);
|
|
324
|
-
|
|
325
|
-
fireEvent.keyDown( frame, { keyCode: 13 } );
|
|
348
|
+
await user.keyboard( '[Enter]' );
|
|
326
349
|
|
|
327
350
|
expect( onConfirm ).toHaveBeenCalled();
|
|
328
351
|
} );
|
|
File without changes
|
|
@@ -11,15 +11,15 @@ import { useInstanceId } from '@wordpress/compose';
|
|
|
11
11
|
import { useEffect, useRef, useState, useMemo } from '@wordpress/element';
|
|
12
12
|
import { __, sprintf } from '@wordpress/i18n';
|
|
13
13
|
import { plus } from '@wordpress/icons';
|
|
14
|
-
import { LEFT, RIGHT } from '@wordpress/keycodes';
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* Internal dependencies
|
|
18
17
|
*/
|
|
19
|
-
import Button from '
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
18
|
+
import Button from '../../button';
|
|
19
|
+
import { HStack } from '../../h-stack';
|
|
20
|
+
import { ColorPicker } from '../../color-picker';
|
|
21
|
+
import { VisuallyHidden } from '../../visually-hidden';
|
|
22
|
+
import { CustomColorPickerDropdown } from '../../color-palette';
|
|
23
23
|
|
|
24
24
|
import {
|
|
25
25
|
addControlPoint,
|
|
@@ -58,10 +58,6 @@ function ControlPointButton( { isOpen, position, color, ...additionalProps } ) {
|
|
|
58
58
|
'is-active': isOpen,
|
|
59
59
|
}
|
|
60
60
|
) }
|
|
61
|
-
style={ {
|
|
62
|
-
left: `${ position }%`,
|
|
63
|
-
transform: 'translateX( -50% )',
|
|
64
|
-
} }
|
|
65
61
|
{ ...additionalProps }
|
|
66
62
|
/>
|
|
67
63
|
<VisuallyHidden id={ descriptionId }>
|
|
@@ -75,25 +71,28 @@ function ControlPointButton( { isOpen, position, color, ...additionalProps } ) {
|
|
|
75
71
|
|
|
76
72
|
function GradientColorPickerDropdown( {
|
|
77
73
|
isRenderedInSidebar,
|
|
78
|
-
|
|
74
|
+
className,
|
|
79
75
|
...props
|
|
80
76
|
} ) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
77
|
+
// Open the popover below the gradient control/insertion point
|
|
78
|
+
const popoverProps = useMemo(
|
|
79
|
+
() => ( {
|
|
80
|
+
placement: 'bottom',
|
|
81
|
+
offset: 8,
|
|
82
|
+
} ),
|
|
83
|
+
[]
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
const mergedClassName = classnames(
|
|
87
|
+
'components-custom-gradient-picker__control-point-dropdown',
|
|
88
|
+
className
|
|
89
|
+
);
|
|
90
|
+
|
|
93
91
|
return (
|
|
94
92
|
<CustomColorPickerDropdown
|
|
95
93
|
isRenderedInSidebar={ isRenderedInSidebar }
|
|
96
94
|
popoverProps={ popoverProps }
|
|
95
|
+
className={ mergedClassName }
|
|
97
96
|
{ ...props }
|
|
98
97
|
/>
|
|
99
98
|
);
|
|
@@ -163,7 +162,6 @@ function ControlPoints( {
|
|
|
163
162
|
return (
|
|
164
163
|
ignoreMarkerPosition !== initialPosition && (
|
|
165
164
|
<GradientColorPickerDropdown
|
|
166
|
-
gradientPickerDomRef={ gradientPickerDomRef }
|
|
167
165
|
isRenderedInSidebar={ __experimentalIsRenderedInSidebar }
|
|
168
166
|
key={ index }
|
|
169
167
|
onClose={ onStopControlPointChange }
|
|
@@ -205,7 +203,7 @@ function ControlPoints( {
|
|
|
205
203
|
}
|
|
206
204
|
} }
|
|
207
205
|
onKeyDown={ ( event ) => {
|
|
208
|
-
if ( event.
|
|
206
|
+
if ( event.code === 'ArrowLeft' ) {
|
|
209
207
|
// Stop propagation of the key press event to avoid focus moving
|
|
210
208
|
// to another editor area.
|
|
211
209
|
event.stopPropagation();
|
|
@@ -219,7 +217,7 @@ function ControlPoints( {
|
|
|
219
217
|
)
|
|
220
218
|
)
|
|
221
219
|
);
|
|
222
|
-
} else if ( event.
|
|
220
|
+
} else if ( event.code === 'ArrowRight' ) {
|
|
223
221
|
// Stop propagation of the key press event to avoid focus moving
|
|
224
222
|
// to another editor area.
|
|
225
223
|
event.stopPropagation();
|
|
@@ -256,24 +254,32 @@ function ControlPoints( {
|
|
|
256
254
|
} }
|
|
257
255
|
/>
|
|
258
256
|
{ ! disableRemove && controlPoints.length > 2 && (
|
|
259
|
-
<
|
|
260
|
-
className="components-custom-gradient-picker__remove-control-point"
|
|
261
|
-
|
|
262
|
-
onChange(
|
|
263
|
-
removeControlPoint(
|
|
264
|
-
controlPoints,
|
|
265
|
-
index
|
|
266
|
-
)
|
|
267
|
-
);
|
|
268
|
-
onClose();
|
|
269
|
-
} }
|
|
270
|
-
variant="link"
|
|
257
|
+
<HStack
|
|
258
|
+
className="components-custom-gradient-picker__remove-control-point-wrapper"
|
|
259
|
+
alignment="center"
|
|
271
260
|
>
|
|
272
|
-
|
|
273
|
-
|
|
261
|
+
<Button
|
|
262
|
+
onClick={ () => {
|
|
263
|
+
onChange(
|
|
264
|
+
removeControlPoint(
|
|
265
|
+
controlPoints,
|
|
266
|
+
index
|
|
267
|
+
)
|
|
268
|
+
);
|
|
269
|
+
onClose();
|
|
270
|
+
} }
|
|
271
|
+
variant="link"
|
|
272
|
+
>
|
|
273
|
+
{ __( 'Remove Control Point' ) }
|
|
274
|
+
</Button>
|
|
275
|
+
</HStack>
|
|
274
276
|
) }
|
|
275
277
|
</>
|
|
276
278
|
) }
|
|
279
|
+
style={ {
|
|
280
|
+
left: `${ point.position }%`,
|
|
281
|
+
transform: 'translateX( -50% )',
|
|
282
|
+
} }
|
|
277
283
|
/>
|
|
278
284
|
)
|
|
279
285
|
);
|
|
@@ -288,12 +294,10 @@ function InsertPoint( {
|
|
|
288
294
|
insertPosition,
|
|
289
295
|
disableAlpha,
|
|
290
296
|
__experimentalIsRenderedInSidebar,
|
|
291
|
-
gradientPickerDomRef,
|
|
292
297
|
} ) {
|
|
293
298
|
const [ alreadyInsertedPoint, setAlreadyInsertedPoint ] = useState( false );
|
|
294
299
|
return (
|
|
295
300
|
<GradientColorPickerDropdown
|
|
296
|
-
gradientPickerDomRef={ gradientPickerDomRef }
|
|
297
301
|
isRenderedInSidebar={ __experimentalIsRenderedInSidebar }
|
|
298
302
|
className="components-custom-gradient-picker__inserter"
|
|
299
303
|
onClose={ () => {
|
|
@@ -312,16 +316,8 @@ function InsertPoint( {
|
|
|
312
316
|
}
|
|
313
317
|
onToggle();
|
|
314
318
|
} }
|
|
315
|
-
className="components-custom-gradient-picker__insert-point"
|
|
319
|
+
className="components-custom-gradient-picker__insert-point-dropdown"
|
|
316
320
|
icon={ plus }
|
|
317
|
-
style={
|
|
318
|
-
insertPosition !== null
|
|
319
|
-
? {
|
|
320
|
-
left: `${ insertPosition }%`,
|
|
321
|
-
transform: 'translateX( -50% )',
|
|
322
|
-
}
|
|
323
|
-
: undefined
|
|
324
|
-
}
|
|
325
321
|
/>
|
|
326
322
|
) }
|
|
327
323
|
renderContent={ () => (
|
|
@@ -349,6 +345,14 @@ function InsertPoint( {
|
|
|
349
345
|
} }
|
|
350
346
|
/>
|
|
351
347
|
) }
|
|
348
|
+
style={
|
|
349
|
+
insertPosition !== null
|
|
350
|
+
? {
|
|
351
|
+
left: `${ insertPosition }%`,
|
|
352
|
+
transform: 'translateX( -50% )',
|
|
353
|
+
}
|
|
354
|
+
: undefined
|
|
355
|
+
}
|
|
352
356
|
/>
|
|
353
357
|
);
|
|
354
358
|
}
|