@wordpress/components 23.6.0 → 23.8.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 +43 -4
- package/build/angle-picker-control/angle-circle.js +1 -4
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/angle-picker-control/index.js +10 -22
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +24 -15
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/animate/index.js +27 -19
- package/build/animate/index.js.map +1 -1
- package/build/animate/types.js.map +1 -0
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/color-picker/color-input.js +0 -4
- package/build/color-picker/color-input.js.map +1 -1
- package/build/color-picker/component.js +5 -4
- package/build/color-picker/component.js.map +1 -1
- package/build/color-picker/hex-input.js.map +1 -1
- package/build/color-picker/hsl-input.js.map +1 -1
- package/build/color-picker/input-with-slider.js.map +1 -1
- package/build/color-picker/legacy-adapter.js.map +1 -1
- package/build/color-picker/picker.js.map +1 -1
- package/build/color-picker/rgb-input.js.map +1 -1
- package/build/color-picker/use-deprecated-props.js.map +1 -1
- package/build/custom-gradient-picker/constants.js +1 -1
- package/build/custom-gradient-picker/constants.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/constants.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/control-points.js +9 -5
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/index.js +14 -9
- package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/utils.js +34 -54
- package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build/custom-gradient-picker/index.js +45 -16
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-gradient-picker/serializer.js +10 -4
- package/build/custom-gradient-picker/serializer.js.map +1 -1
- package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
- package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
- package/build/custom-gradient-picker/types.js +6 -0
- package/build/custom-gradient-picker/types.js.map +1 -0
- package/build/custom-gradient-picker/utils.js +17 -12
- package/build/custom-gradient-picker/utils.js.map +1 -1
- package/build/drop-zone/index.js +8 -8
- package/build/drop-zone/index.js.map +1 -1
- package/build/{color-list-picker → duotone-picker/color-list-picker}/index.js +5 -5
- package/build/duotone-picker/color-list-picker/index.js.map +1 -0
- package/build/duotone-picker/color-list-picker/types.js +6 -0
- package/build/duotone-picker/color-list-picker/types.js.map +1 -0
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +39 -2
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/duotone-swatch.js.map +1 -1
- package/build/duotone-picker/index.js.map +1 -1
- package/build/duotone-picker/types.js +6 -0
- package/build/duotone-picker/types.js.map +1 -0
- package/build/duotone-picker/utils.js +13 -11
- package/build/duotone-picker/utils.js.map +1 -1
- package/build/form-token-field/index.js +9 -3
- package/build/form-token-field/index.js.map +1 -1
- package/build/gradient-picker/index.js +61 -9
- package/build/gradient-picker/index.js.map +1 -1
- package/build/gradient-picker/types.js +6 -0
- package/build/gradient-picker/types.js.map +1 -0
- package/build/index.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.android.js +0 -4
- package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.ios.js +100 -55
- package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +82 -0
- package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -0
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js +85 -0
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +1 -0
- package/build/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js +44 -0
- package/build/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js.map +1 -0
- package/build/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js +53 -0
- package/build/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js.map +1 -0
- package/build/navigator/navigator-provider/component.js +4 -2
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +4 -3
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/palette-edit/index.js +1 -2
- package/build/palette-edit/index.js.map +1 -1
- package/build/private-apis.js.map +1 -1
- package/build/query-controls/author-select.js +2 -1
- package/build/query-controls/author-select.js.map +1 -1
- package/build/query-controls/category-select.js +3 -1
- package/build/query-controls/category-select.js.map +1 -1
- package/build/query-controls/index.js +7 -1
- package/build/query-controls/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/sandbox/index.native.js +129 -93
- package/build/sandbox/index.native.js.map +1 -1
- package/build/tab-panel/index.js +1 -1
- package/build/tab-panel/index.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +45 -6
- package/build/tools-panel/tools-panel/hook.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-module/angle-picker-control/angle-circle.js +1 -4
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/angle-picker-control/index.js +12 -21
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +20 -13
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/animate/index.js +25 -17
- package/build-module/animate/index.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/color-picker/color-input.js +0 -4
- package/build-module/color-picker/color-input.js.map +1 -1
- package/build-module/color-picker/component.js +3 -3
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/hex-input.js.map +1 -1
- package/build-module/color-picker/hsl-input.js.map +1 -1
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/color-picker/legacy-adapter.js.map +1 -1
- package/build-module/color-picker/picker.js +4 -0
- package/build-module/color-picker/picker.js.map +1 -1
- package/build-module/color-picker/rgb-input.js.map +1 -1
- package/build-module/color-picker/use-deprecated-props.js.map +1 -1
- package/build-module/custom-gradient-picker/constants.js +1 -1
- package/build-module/custom-gradient-picker/constants.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/constants.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js +9 -4
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/index.js +14 -8
- package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/utils.js +34 -54
- package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +44 -17
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-gradient-picker/serializer.js +10 -4
- package/build-module/custom-gradient-picker/serializer.js.map +1 -1
- package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
- package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
- package/build-module/custom-gradient-picker/types.js +2 -0
- package/build-module/custom-gradient-picker/utils.js +17 -12
- package/build-module/custom-gradient-picker/utils.js.map +1 -1
- package/build-module/drop-zone/index.js +8 -8
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/{color-list-picker → duotone-picker/color-list-picker}/index.js +5 -5
- package/build-module/duotone-picker/color-list-picker/index.js.map +1 -0
- package/build-module/duotone-picker/color-list-picker/types.js +2 -0
- package/build-module/duotone-picker/color-list-picker/types.js.map +1 -0
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +38 -2
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
- package/build-module/duotone-picker/index.js.map +1 -1
- package/build-module/duotone-picker/types.js +2 -0
- package/build-module/duotone-picker/types.js.map +1 -0
- package/build-module/duotone-picker/utils.js +17 -11
- package/build-module/duotone-picker/utils.js.map +1 -1
- package/build-module/form-token-field/index.js +9 -4
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/gradient-picker/index.js +61 -10
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/gradient-picker/types.js +2 -0
- package/build-module/gradient-picker/types.js.map +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js +0 -4
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +97 -54
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +73 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js +76 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +1 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js +33 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js.map +1 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js +40 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js.map +1 -0
- package/build-module/navigator/navigator-provider/component.js +4 -2
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +4 -3
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/palette-edit/index.js +1 -2
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/query-controls/author-select.js +2 -1
- package/build-module/query-controls/author-select.js.map +1 -1
- package/build-module/query-controls/category-select.js +3 -1
- package/build-module/query-controls/category-select.js.map +1 -1
- package/build-module/query-controls/index.js +7 -2
- package/build-module/query-controls/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/sandbox/index.native.js +121 -87
- package/build-module/sandbox/index.native.js.map +1 -1
- package/build-module/tab-panel/index.js +2 -2
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +45 -6
- package/build-module/tools-panel/tools-panel/hook.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-style/style-rtl.css +41 -29
- package/build-style/style.css +43 -29
- package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
- package/build-types/angle-picker-control/index.d.ts.map +1 -1
- package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts +6 -1
- package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
- package/build-types/animate/index.d.ts +27 -22
- package/build-types/animate/index.d.ts.map +1 -1
- package/build-types/animate/stories/index.d.ts +18 -0
- package/build-types/animate/stories/index.d.ts.map +1 -0
- package/build-types/animate/types.d.ts +30 -0
- package/build-types/animate/types.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control/hook.d.ts +2 -2
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +2 -2
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +2 -2
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +2 -2
- package/build-types/border-control/border-control/hook.d.ts +2 -2
- package/build-types/border-control/border-control-dropdown/hook.d.ts +2 -2
- package/build-types/border-control/border-control-style-picker/hook.d.ts +2 -2
- package/build-types/box-control/styles/box-control-styles.d.ts +5 -5
- package/build-types/button/deprecated.d.ts +2 -2
- package/build-types/card/card/hook.d.ts +2 -2
- package/build-types/card/card-body/hook.d.ts +2 -2
- package/build-types/card/card-divider/hook.d.ts +2 -2
- package/build-types/card/card-footer/hook.d.ts +2 -2
- package/build-types/card/card-header/hook.d.ts +2 -2
- package/build-types/card/card-media/hook.d.ts +2 -2
- package/build-types/color-palette/styles.d.ts +1 -1
- package/build-types/color-picker/color-input.d.ts +1 -11
- package/build-types/color-picker/color-input.d.ts.map +1 -1
- package/build-types/color-picker/component.d.ts +8 -9
- package/build-types/color-picker/component.d.ts.map +1 -1
- package/build-types/color-picker/hex-input.d.ts +1 -10
- package/build-types/color-picker/hex-input.d.ts.map +1 -1
- package/build-types/color-picker/hsl-input.d.ts +1 -10
- package/build-types/color-picker/hsl-input.d.ts.map +1 -1
- package/build-types/color-picker/input-with-slider.d.ts +1 -9
- package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
- package/build-types/color-picker/legacy-adapter.d.ts +1 -3
- package/build-types/color-picker/legacy-adapter.d.ts.map +1 -1
- package/build-types/color-picker/picker.d.ts +4 -7
- package/build-types/color-picker/picker.d.ts.map +1 -1
- package/build-types/color-picker/rgb-input.d.ts +1 -10
- package/build-types/color-picker/rgb-input.d.ts.map +1 -1
- package/build-types/color-picker/stories/index.d.ts +19 -0
- package/build-types/color-picker/stories/index.d.ts.map +1 -0
- package/build-types/color-picker/styles.d.ts +5 -5
- package/build-types/color-picker/test/index.d.ts +2 -0
- package/build-types/color-picker/test/index.d.ts.map +1 -0
- package/build-types/color-picker/types.d.ts +105 -1
- package/build-types/color-picker/types.d.ts.map +1 -1
- package/build-types/color-picker/use-deprecated-props.d.ts +1 -44
- package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
- package/build-types/combobox-control/styles.d.ts +1 -1
- package/build-types/custom-gradient-picker/constants.d.ts +8 -8
- package/build-types/custom-gradient-picker/constants.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts +7 -7
- package/build-types/custom-gradient-picker/gradient-bar/constants.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +5 -22
- package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +3 -9
- package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/gradient-bar/test/utils.d.ts +2 -0
- package/build-types/custom-gradient-picker/gradient-bar/test/utils.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts +44 -92
- package/build-types/custom-gradient-picker/gradient-bar/utils.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/index.d.ts +27 -6
- package/build-types/custom-gradient-picker/index.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/serializer.d.ts +9 -16
- package/build-types/custom-gradient-picker/serializer.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/stories/index.d.ts +12 -0
- package/build-types/custom-gradient-picker/stories/index.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +3 -2
- package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/test/serializer.d.ts +2 -0
- package/build-types/custom-gradient-picker/test/serializer.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/types.d.ts +118 -0
- package/build-types/custom-gradient-picker/types.d.ts.map +1 -0
- package/build-types/custom-gradient-picker/utils.d.ts +12 -4
- package/build-types/custom-gradient-picker/utils.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +2 -2
- package/build-types/date-time/date-time/styles.d.ts +1 -1
- package/build-types/date-time/time/styles.d.ts +8 -8
- package/build-types/drop-zone/index.d.ts.map +1 -1
- package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -0
- package/build-types/{color-list-picker → duotone-picker/color-list-picker}/types.d.ts +2 -2
- package/build-types/duotone-picker/color-list-picker/types.d.ts.map +1 -0
- package/build-types/duotone-picker/custom-duotone-bar.d.ts +6 -0
- package/build-types/duotone-picker/custom-duotone-bar.d.ts.map +1 -0
- package/build-types/duotone-picker/duotone-picker.d.ts +38 -0
- package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -0
- package/build-types/duotone-picker/duotone-swatch.d.ts +5 -0
- package/build-types/duotone-picker/duotone-swatch.d.ts.map +1 -0
- package/build-types/duotone-picker/index.d.ts +3 -0
- package/build-types/duotone-picker/index.d.ts.map +1 -0
- package/build-types/duotone-picker/stories/duotone-picker.d.ts +12 -0
- package/build-types/duotone-picker/stories/duotone-picker.d.ts.map +1 -0
- package/build-types/duotone-picker/stories/duotone-swatch.d.ts +14 -0
- package/build-types/duotone-picker/stories/duotone-swatch.d.ts.map +1 -0
- package/build-types/duotone-picker/types.d.ts +60 -0
- package/build-types/duotone-picker/types.d.ts.map +1 -0
- package/build-types/duotone-picker/utils.d.ts +52 -0
- package/build-types/duotone-picker/utils.d.ts.map +1 -0
- package/build-types/elevation/hook.d.ts +2 -2
- package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
- package/build-types/flex/flex/hook.d.ts +2 -2
- package/build-types/flex/flex-block/hook.d.ts +2 -2
- package/build-types/flex/flex-item/hook.d.ts +2 -2
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -2
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/styles.d.ts +1 -1
- package/build-types/form-token-field/types.d.ts +6 -0
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/gradient-picker/index.d.ts +49 -11
- package/build-types/gradient-picker/index.d.ts.map +1 -1
- package/build-types/gradient-picker/stories/index.d.ts +14 -0
- package/build-types/gradient-picker/stories/index.d.ts.map +1 -0
- package/build-types/gradient-picker/types.d.ts +87 -0
- package/build-types/gradient-picker/types.d.ts.map +1 -0
- package/build-types/grid/hook.d.ts +2 -2
- package/build-types/h-stack/hook.d.ts +2 -2
- package/build-types/heading/hook.d.ts +2 -2
- package/build-types/index.d.ts +128 -0
- package/build-types/index.d.ts.map +1 -0
- package/build-types/input-control/styles/input-control-styles.d.ts +2 -2
- package/build-types/item-group/item/hook.d.ts +2 -2
- package/build-types/item-group/item-group/hook.d.ts +2 -2
- package/build-types/navigation/styles/navigation-styles.d.ts +2 -2
- package/build-types/navigator/navigator-back-button/hook.d.ts +2 -2
- package/build-types/navigator/navigator-button/hook.d.ts +2 -2
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
- package/build-types/navigator/stories/index.d.ts +1 -0
- package/build-types/navigator/stories/index.d.ts.map +1 -1
- package/build-types/navigator/types.d.ts +2 -2
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts +2 -2
- package/build-types/number-control/stories/index.d.ts +2 -2
- package/build-types/palette-edit/index.d.ts.map +1 -1
- package/build-types/palette-edit/styles.d.ts +3 -3
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/stories/e2e/index.d.ts +1 -1
- package/build-types/private-apis.d.ts +2 -3
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/query-controls/author-select.d.ts.map +1 -1
- package/build-types/query-controls/category-select.d.ts.map +1 -1
- package/build-types/query-controls/index.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +2 -2
- package/build-types/resizable-box/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/utils.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
- package/build-types/resizable-box/stories/index.d.ts +2 -2
- package/build-types/scrollable/hook.d.ts +2 -2
- package/build-types/search-control/index.d.ts +1 -1
- package/build-types/search-control/stories/index.d.ts +2 -2
- package/build-types/spacer/hook.d.ts +2 -2
- package/build-types/spinner/index.d.ts +1 -1
- package/build-types/surface/hook.d.ts +2 -2
- package/build-types/tab-panel/index.d.ts.map +1 -1
- package/build-types/text/hook.d.ts +2 -2
- package/build-types/text-control/index.d.ts +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +2 -2
- package/build-types/tools-panel/tools-panel/hook.d.ts +2 -2
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -2
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -2
- package/build-types/tools-panel/types.d.ts +1 -0
- package/build-types/tools-panel/types.d.ts.map +1 -1
- package/build-types/truncate/hook.d.ts +2 -2
- package/build-types/ui/control-group/hook.d.ts +2 -2
- package/build-types/ui/control-label/hook.d.ts +2 -2
- package/build-types/ui/form-group/form-group.d.ts +2 -2
- package/build-types/ui/form-group/use-form-group.d.ts +2 -2
- package/build-types/unit-control/index.d.ts +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts +2 -2
- package/build-types/utils/input/input-control.d.ts.map +1 -1
- package/build-types/v-stack/hook.d.ts +2 -2
- package/package.json +20 -19
- package/src/angle-picker-control/angle-circle.tsx +0 -1
- package/src/angle-picker-control/index.tsx +14 -27
- package/src/angle-picker-control/styles/angle-picker-control-styles.tsx +16 -9
- package/src/animate/index.tsx +75 -0
- package/src/animate/stories/index.tsx +102 -0
- package/src/animate/types.ts +32 -0
- package/src/border-box-control/stories/index.tsx +1 -1
- package/src/box-control/axial-input-controls.tsx +1 -1
- package/src/circular-option-picker/style.scss +10 -0
- package/src/color-indicator/style.scss +1 -0
- package/src/color-picker/README.md +2 -2
- package/src/color-picker/color-input.tsx +1 -12
- package/src/color-picker/component.tsx +9 -18
- package/src/color-picker/hex-input.tsx +2 -7
- package/src/color-picker/hsl-input.tsx +2 -7
- package/src/color-picker/input-with-slider.tsx +1 -9
- package/src/color-picker/legacy-adapter.tsx +1 -2
- package/src/color-picker/picker.tsx +5 -6
- package/src/color-picker/rgb-input.tsx +2 -7
- package/src/color-picker/stories/index.tsx +51 -0
- package/src/color-picker/test/{index.js → index.tsx} +36 -18
- package/src/color-picker/types.ts +128 -1
- package/src/color-picker/use-deprecated-props.ts +2 -53
- package/src/combobox-control/stories/index.tsx +1 -1
- package/src/custom-gradient-picker/{constants.js → constants.ts} +2 -2
- package/src/custom-gradient-picker/gradient-bar/{control-points.js → control-points.tsx} +171 -134
- package/src/custom-gradient-picker/gradient-bar/{index.js → index.tsx} +32 -10
- package/src/custom-gradient-picker/gradient-bar/test/{utils.js → utils.ts} +58 -31
- package/src/custom-gradient-picker/gradient-bar/utils.ts +193 -0
- package/src/custom-gradient-picker/{index.js → index.tsx} +63 -22
- package/src/custom-gradient-picker/serializer.ts +78 -0
- package/src/custom-gradient-picker/stories/index.tsx +45 -0
- package/src/custom-gradient-picker/style.scss +25 -4
- package/src/custom-gradient-picker/test/{serializer.js → serializer.ts} +39 -33
- package/src/custom-gradient-picker/types.ts +119 -0
- package/src/custom-gradient-picker/{utils.js → utils.ts} +37 -22
- package/src/custom-select-control/test/index.js +6 -4
- package/src/drop-zone/index.tsx +12 -8
- package/src/drop-zone/style.scss +1 -1
- package/src/{color-list-picker → duotone-picker/color-list-picker}/index.tsx +7 -6
- package/src/{color-list-picker → duotone-picker/color-list-picker}/types.ts +2 -2
- package/src/duotone-picker/{custom-duotone-bar.js → custom-duotone-bar.tsx} +7 -1
- package/src/duotone-picker/{duotone-picker.js → duotone-picker.tsx} +39 -2
- package/src/duotone-picker/{duotone-swatch.js → duotone-swatch.tsx} +2 -1
- package/src/duotone-picker/stories/{duotone-picker.js → duotone-picker.tsx} +15 -8
- package/src/duotone-picker/stories/{duotone-swatch.js → duotone-swatch.tsx} +9 -3
- package/src/duotone-picker/types.ts +61 -0
- package/src/duotone-picker/{utils.js → utils.ts} +29 -14
- package/src/flex/flex-item/README.md +1 -1
- package/src/form-token-field/README.md +1 -0
- package/src/form-token-field/index.tsx +10 -3
- package/src/form-token-field/style.scss +0 -7
- package/src/form-token-field/test/index.tsx +1 -0
- package/src/form-token-field/types.ts +6 -0
- package/src/gradient-picker/README.md +16 -23
- package/src/gradient-picker/{index.js → index.tsx} +70 -16
- package/src/gradient-picker/stories/{index.js → index.tsx} +19 -8
- package/src/gradient-picker/types.ts +89 -0
- package/src/item-group/test/index.js +5 -3
- package/src/mobile/keyboard-aware-flat-list/index.android.js +0 -4
- package/src/mobile/keyboard-aware-flat-list/index.ios.js +118 -67
- package/src/mobile/keyboard-aware-flat-list/test/use-keyboard-offset.native.js +203 -0
- package/src/mobile/keyboard-aware-flat-list/test/use-scroll-to-text-input.native.js +140 -0
- package/src/mobile/keyboard-aware-flat-list/test/use-text-input-caret-position.native.js +82 -0
- package/src/mobile/keyboard-aware-flat-list/test/use-text-input-offset.native.js +147 -0
- package/src/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +87 -0
- package/src/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js +105 -0
- package/src/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js +36 -0
- package/src/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js +54 -0
- package/src/navigator/navigator-provider/component.tsx +2 -0
- package/src/navigator/navigator-screen/component.tsx +5 -2
- package/src/navigator/stories/index.tsx +68 -0
- package/src/navigator/test/index.tsx +52 -0
- package/src/navigator/types.ts +2 -1
- package/src/palette-edit/index.tsx +4 -5
- package/src/query-controls/author-select.tsx +1 -0
- package/src/query-controls/category-select.tsx +1 -0
- package/src/query-controls/index.tsx +4 -2
- package/src/resizable-box/resize-tooltip/utils.ts +1 -1
- package/src/sandbox/index.native.js +139 -112
- package/src/slot-fill/test/slot.js +8 -6
- package/src/style.scss +1 -1
- package/src/tab-panel/index.tsx +7 -2
- package/src/tools-panel/test/index.tsx +86 -0
- package/src/tools-panel/tools-panel/hook.ts +44 -4
- package/src/tools-panel/types.ts +1 -0
- package/src/tooltip/test/index.js +251 -301
- package/src/utils/input/input-control.js +1 -0
- package/tsconfig.json +1 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/color-list-picker/index.js.map +0 -1
- package/build-module/color-list-picker/index.js.map +0 -1
- package/build-types/color-list-picker/index.d.ts.map +0 -1
- package/build-types/color-list-picker/types.d.ts.map +0 -1
- package/src/animate/index.js +0 -60
- package/src/animate/stories/index.js +0 -53
- package/src/color-picker/stories/index.js +0 -41
- package/src/custom-gradient-picker/gradient-bar/utils.js +0 -189
- package/src/custom-gradient-picker/serializer.js +0 -48
- package/src/custom-gradient-picker/stories/index.js +0 -33
- /package/build/{color-list-picker → animate}/types.js +0 -0
- /package/build-module/{color-list-picker → animate}/types.js +0 -0
- /package/build-module/{color-list-picker → animate}/types.js.map +0 -0
- /package/{build/color-list-picker → build-module/custom-gradient-picker}/types.js.map +0 -0
- /package/build-types/{color-list-picker → duotone-picker/color-list-picker}/index.d.ts +0 -0
- /package/src/custom-gradient-picker/gradient-bar/{constants.js → constants.ts} +0 -0
- /package/src/custom-gradient-picker/styles/{custom-gradient-picker-styles.js → custom-gradient-picker-styles.tsx} +0 -0
- /package/src/{color-list-picker → duotone-picker/color-list-picker}/style.scss +0 -0
- /package/src/duotone-picker/{index.js → index.ts} +0 -0
- /package/src/{index.js → index.ts} +0 -0
- /package/src/{private-apis.js → private-apis.ts} +0 -0
|
@@ -12,24 +12,30 @@ import {
|
|
|
12
12
|
describe( 'It should serialize a gradient', () => {
|
|
13
13
|
test( 'serializeGradientColor', () => {
|
|
14
14
|
expect(
|
|
15
|
-
serializeGradientColor( {
|
|
15
|
+
serializeGradientColor( {
|
|
16
|
+
type: 'rgba',
|
|
17
|
+
value: [ '1', '2', '3', '0.5' ],
|
|
18
|
+
} )
|
|
16
19
|
).toBe( 'rgba(1,2,3,0.5)' );
|
|
17
20
|
|
|
18
21
|
expect(
|
|
19
|
-
serializeGradientColor( {
|
|
22
|
+
serializeGradientColor( {
|
|
23
|
+
type: 'rgb',
|
|
24
|
+
value: [ '255', '0', '0' ],
|
|
25
|
+
} )
|
|
20
26
|
).toBe( 'rgb(255,0,0)' );
|
|
21
27
|
} );
|
|
22
28
|
|
|
23
29
|
test( 'serializeGradientPosition', () => {
|
|
24
|
-
expect( serializeGradientPosition( { type: '%', value: 70 } ) ).toBe(
|
|
30
|
+
expect( serializeGradientPosition( { type: '%', value: '70' } ) ).toBe(
|
|
25
31
|
'70%'
|
|
26
32
|
);
|
|
27
33
|
|
|
28
|
-
expect( serializeGradientPosition( { type: '%', value: 0 } ) ).toBe(
|
|
34
|
+
expect( serializeGradientPosition( { type: '%', value: '0' } ) ).toBe(
|
|
29
35
|
'0%'
|
|
30
36
|
);
|
|
31
37
|
|
|
32
|
-
expect( serializeGradientPosition( { type: 'px', value: 4 } ) ).toBe(
|
|
38
|
+
expect( serializeGradientPosition( { type: 'px', value: '4' } ) ).toBe(
|
|
33
39
|
'4px'
|
|
34
40
|
);
|
|
35
41
|
} );
|
|
@@ -38,35 +44,35 @@ describe( 'It should serialize a gradient', () => {
|
|
|
38
44
|
expect(
|
|
39
45
|
serializeGradientColorStop( {
|
|
40
46
|
type: 'rgba',
|
|
41
|
-
value: [ 1, 2, 3, 0.5 ],
|
|
42
|
-
length: { type: '%', value: 70 },
|
|
47
|
+
value: [ '1', '2', '3', '0.5' ],
|
|
48
|
+
length: { type: '%', value: '70' },
|
|
43
49
|
} )
|
|
44
50
|
).toBe( 'rgba(1,2,3,0.5) 70%' );
|
|
45
51
|
|
|
46
52
|
expect(
|
|
47
53
|
serializeGradientColorStop( {
|
|
48
54
|
type: 'rgb',
|
|
49
|
-
value: [ 255, 0, 0 ],
|
|
50
|
-
length: { type: '%', value: 0 },
|
|
55
|
+
value: [ '255', '0', '0' ],
|
|
56
|
+
length: { type: '%', value: '0' },
|
|
51
57
|
} )
|
|
52
58
|
).toBe( 'rgb(255,0,0) 0%' );
|
|
53
59
|
|
|
54
60
|
expect(
|
|
55
61
|
serializeGradientColorStop( {
|
|
56
62
|
type: 'rgba',
|
|
57
|
-
value: [ 1, 2, 3, 0.5 ],
|
|
58
|
-
length: { type: 'px', value: 100 },
|
|
63
|
+
value: [ '1', '2', '3', '0.5' ],
|
|
64
|
+
length: { type: 'px', value: '100' },
|
|
59
65
|
} )
|
|
60
66
|
).toBe( 'rgba(1,2,3,0.5) 100px' );
|
|
61
67
|
} );
|
|
62
68
|
|
|
63
69
|
test( 'serializeGradientOrientation', () => {
|
|
64
70
|
expect(
|
|
65
|
-
serializeGradientOrientation( { type: 'angular', value: 40 } )
|
|
71
|
+
serializeGradientOrientation( { type: 'angular', value: '40' } )
|
|
66
72
|
).toBe( '40deg' );
|
|
67
73
|
|
|
68
74
|
expect(
|
|
69
|
-
serializeGradientOrientation( { type: 'angular', value: 0 } )
|
|
75
|
+
serializeGradientOrientation( { type: 'angular', value: '0' } )
|
|
70
76
|
).toBe( '0deg' );
|
|
71
77
|
} );
|
|
72
78
|
|
|
@@ -74,17 +80,17 @@ describe( 'It should serialize a gradient', () => {
|
|
|
74
80
|
expect(
|
|
75
81
|
serializeGradient( {
|
|
76
82
|
type: 'linear-gradient',
|
|
77
|
-
orientation: { type: 'angular', value: 40 },
|
|
83
|
+
orientation: { type: 'angular', value: '40' },
|
|
78
84
|
colorStops: [
|
|
79
85
|
{
|
|
80
86
|
type: 'rgba',
|
|
81
|
-
value: [ 1, 2, 3, 0.5 ],
|
|
82
|
-
length: { type: '%', value: 70 },
|
|
87
|
+
value: [ '1', '2', '3', '0.5' ],
|
|
88
|
+
length: { type: '%', value: '70' },
|
|
83
89
|
},
|
|
84
90
|
{
|
|
85
91
|
type: 'rgba',
|
|
86
|
-
value: [ 255, 1, 1, 0.9 ],
|
|
87
|
-
length: { type: '%', value: 40 },
|
|
92
|
+
value: [ '255', '1', '1', '0.9' ],
|
|
93
|
+
length: { type: '%', value: '40' },
|
|
88
94
|
},
|
|
89
95
|
],
|
|
90
96
|
} )
|
|
@@ -98,13 +104,13 @@ describe( 'It should serialize a gradient', () => {
|
|
|
98
104
|
colorStops: [
|
|
99
105
|
{
|
|
100
106
|
type: 'rgba',
|
|
101
|
-
value: [ 1, 2, 3, 0.5 ],
|
|
102
|
-
length: { type: '%', value: 70 },
|
|
107
|
+
value: [ '1', '2', '3', '0.5' ],
|
|
108
|
+
length: { type: '%', value: '70' },
|
|
103
109
|
},
|
|
104
110
|
{
|
|
105
111
|
type: 'rgba',
|
|
106
|
-
value: [ 255, 1, 1, 0.9 ],
|
|
107
|
-
length: { type: '%', value: 40 },
|
|
112
|
+
value: [ '255', '1', '1', '0.9' ],
|
|
113
|
+
length: { type: '%', value: '40' },
|
|
108
114
|
},
|
|
109
115
|
],
|
|
110
116
|
} )
|
|
@@ -117,12 +123,12 @@ describe( 'It should serialize a gradient', () => {
|
|
|
117
123
|
{
|
|
118
124
|
type: 'hex',
|
|
119
125
|
value: '000',
|
|
120
|
-
length: { type: '%', value: 70 },
|
|
126
|
+
length: { type: '%', value: '70' },
|
|
121
127
|
},
|
|
122
128
|
{
|
|
123
129
|
type: 'hex',
|
|
124
130
|
value: 'fff',
|
|
125
|
-
length: { type: '%', value: 40 },
|
|
131
|
+
length: { type: '%', value: '40' },
|
|
126
132
|
},
|
|
127
133
|
],
|
|
128
134
|
} )
|
|
@@ -131,27 +137,27 @@ describe( 'It should serialize a gradient', () => {
|
|
|
131
137
|
expect(
|
|
132
138
|
serializeGradient( {
|
|
133
139
|
type: 'linear-gradient',
|
|
134
|
-
orientation: { type: 'angular', value: 0 },
|
|
140
|
+
orientation: { type: 'angular', value: '0' },
|
|
135
141
|
colorStops: [
|
|
136
142
|
{
|
|
137
143
|
type: 'rgba',
|
|
138
|
-
value: [ 1, 2, 3, 0.5 ],
|
|
139
|
-
length: { type: '%', value: 0 },
|
|
144
|
+
value: [ '1', '2', '3', '0.5' ],
|
|
145
|
+
length: { type: '%', value: '0' },
|
|
140
146
|
},
|
|
141
147
|
{
|
|
142
148
|
type: 'rgba',
|
|
143
|
-
value: [ 255, 1, 1, 0.9 ],
|
|
144
|
-
length: { type: '%', value: 40 },
|
|
149
|
+
value: [ '255', '1', '1', '0.9' ],
|
|
150
|
+
length: { type: '%', value: '40' },
|
|
145
151
|
},
|
|
146
152
|
{
|
|
147
153
|
type: 'rgba',
|
|
148
|
-
value: [ 1, 2, 3, 0.5 ],
|
|
149
|
-
length: { type: '%', value: 100 },
|
|
154
|
+
value: [ '1', '2', '3', '0.5' ],
|
|
155
|
+
length: { type: '%', value: '100' },
|
|
150
156
|
},
|
|
151
157
|
{
|
|
152
158
|
type: 'rgba',
|
|
153
|
-
value: [ 10, 20, 30, 0.5 ],
|
|
154
|
-
length: { type: '%', value: 20 },
|
|
159
|
+
value: [ '10', '20', '30', '0.5' ],
|
|
160
|
+
length: { type: '%', value: '20' },
|
|
155
161
|
},
|
|
156
162
|
],
|
|
157
163
|
} )
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type gradientParser from 'gradient-parser';
|
|
5
|
+
|
|
6
|
+
export type CustomGradientPickerProps = {
|
|
7
|
+
/**
|
|
8
|
+
* Start opting in to the new margin-free styles that will become the default
|
|
9
|
+
* in a future version, currently scheduled to be WordPress 6.4. (The prop
|
|
10
|
+
* can be safely removed once this happens.)
|
|
11
|
+
*
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
__nextHasNoMargin?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The current value of the gradient. Pass a css gradient string (See default value for example).
|
|
17
|
+
* Optionally pass in a `null` value to specify no gradient is currently selected.
|
|
18
|
+
*
|
|
19
|
+
* @default 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)'
|
|
20
|
+
*/
|
|
21
|
+
value?: string | null;
|
|
22
|
+
/**
|
|
23
|
+
* The function called when a new gradient has been defined. It is passed to
|
|
24
|
+
* the `currentGradient` as an argument.
|
|
25
|
+
*/
|
|
26
|
+
onChange: ( currentGradient: string ) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Whether this is rendered in the sidebar.
|
|
29
|
+
*
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
__experimentalIsRenderedInSidebar?: boolean;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type GradientAnglePickerProps = {
|
|
36
|
+
gradientAST:
|
|
37
|
+
| gradientParser.LinearGradientNode
|
|
38
|
+
| gradientParser.RepeatingLinearGradientNode;
|
|
39
|
+
hasGradient: boolean;
|
|
40
|
+
onChange: ( gradient: string ) => void;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export type GradientTypePickerProps = {
|
|
44
|
+
gradientAST: gradientParser.GradientNode;
|
|
45
|
+
hasGradient: boolean;
|
|
46
|
+
onChange: ( gradient: string ) => void;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export type ControlPoint = { color: string; position: number };
|
|
50
|
+
|
|
51
|
+
export type CustomGradientBarProps = {
|
|
52
|
+
background: React.CSSProperties[ 'background' ];
|
|
53
|
+
hasGradient: boolean;
|
|
54
|
+
value: ControlPoint[];
|
|
55
|
+
onChange: ( newControlPoints: ControlPoint[] ) => void;
|
|
56
|
+
disableInserter?: boolean;
|
|
57
|
+
disableAlpha?: boolean;
|
|
58
|
+
__experimentalIsRenderedInSidebar?: boolean;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export type CustomGradientBarIdleState = { id: 'IDLE' };
|
|
62
|
+
type CustomGradientBarMovingInserterState = {
|
|
63
|
+
id: 'MOVING_INSERTER';
|
|
64
|
+
insertPosition: number;
|
|
65
|
+
};
|
|
66
|
+
type CustomGradientBarInsertingControlPointState = {
|
|
67
|
+
id: 'INSERTING_CONTROL_POINT';
|
|
68
|
+
insertPosition: number;
|
|
69
|
+
};
|
|
70
|
+
type CustomGradientBarMovingControlPointState = { id: 'MOVING_CONTROL_POINT' };
|
|
71
|
+
|
|
72
|
+
export type CustomGradientBarReducerState =
|
|
73
|
+
| CustomGradientBarIdleState
|
|
74
|
+
| CustomGradientBarMovingInserterState
|
|
75
|
+
| CustomGradientBarInsertingControlPointState
|
|
76
|
+
| CustomGradientBarMovingControlPointState;
|
|
77
|
+
|
|
78
|
+
export type CustomGradientBarReducerAction =
|
|
79
|
+
| { type: 'MOVE_INSERTER'; insertPosition: number }
|
|
80
|
+
| { type: 'STOP_INSERTER_MOVE' }
|
|
81
|
+
| { type: 'OPEN_INSERTER' }
|
|
82
|
+
| { type: 'CLOSE_INSERTER' }
|
|
83
|
+
| { type: 'START_CONTROL_CHANGE' }
|
|
84
|
+
| { type: 'STOP_CONTROL_CHANGE' };
|
|
85
|
+
|
|
86
|
+
export type ControlPointButtonProps = {
|
|
87
|
+
isOpen: boolean;
|
|
88
|
+
position: ControlPoint[ 'position' ];
|
|
89
|
+
color: string;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export type ControlPointsProps = {
|
|
93
|
+
disableRemove: boolean;
|
|
94
|
+
disableAlpha: boolean;
|
|
95
|
+
gradientPickerDomRef: React.RefObject< HTMLDivElement >;
|
|
96
|
+
ignoreMarkerPosition?: number;
|
|
97
|
+
value: ControlPoint[];
|
|
98
|
+
onChange: ( controlPoints: ControlPoint[] ) => void;
|
|
99
|
+
onStartControlPointChange: () => void;
|
|
100
|
+
onStopControlPointChange: () => void;
|
|
101
|
+
__experimentalIsRenderedInSidebar: boolean;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export type ControlPointMoveState = {
|
|
105
|
+
initialPosition: number;
|
|
106
|
+
index: number;
|
|
107
|
+
significantMoveHappened: boolean;
|
|
108
|
+
listenersActivated: boolean;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export type InsertPointProps = {
|
|
112
|
+
value: ControlPoint[];
|
|
113
|
+
onChange: ( controlPoints: ControlPoint[] ) => void;
|
|
114
|
+
onOpenInserter: () => void;
|
|
115
|
+
onCloseInserter: () => void;
|
|
116
|
+
insertPosition: number;
|
|
117
|
+
disableAlpha: boolean;
|
|
118
|
+
__experimentalIsRenderedInSidebar: boolean;
|
|
119
|
+
};
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* External dependencies
|
|
5
3
|
*/
|
|
@@ -16,10 +14,13 @@ import {
|
|
|
16
14
|
DIRECTIONAL_ORIENTATION_ANGLE_MAP,
|
|
17
15
|
} from './constants';
|
|
18
16
|
import { serializeGradient } from './serializer';
|
|
17
|
+
import type { ControlPoint } from './types';
|
|
19
18
|
|
|
20
19
|
extend( [ namesPlugin ] );
|
|
21
20
|
|
|
22
|
-
export function getLinearGradientRepresentation(
|
|
21
|
+
export function getLinearGradientRepresentation(
|
|
22
|
+
gradientAST: gradientParser.GradientNode
|
|
23
|
+
) {
|
|
23
24
|
return serializeGradient( {
|
|
24
25
|
type: 'linear-gradient',
|
|
25
26
|
orientation: HORIZONTAL_GRADIENT_ORIENTATION,
|
|
@@ -27,29 +28,41 @@ export function getLinearGradientRepresentation( gradientAST ) {
|
|
|
27
28
|
} );
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
function hasUnsupportedLength( item ) {
|
|
31
|
+
function hasUnsupportedLength( item: gradientParser.ColorStop ) {
|
|
31
32
|
return item.length === undefined || item.length.type !== '%';
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
export function getGradientAstWithDefault( value ) {
|
|
35
|
+
export function getGradientAstWithDefault( value?: string | null ) {
|
|
35
36
|
// gradientAST will contain the gradient AST as parsed by gradient-parser npm module.
|
|
36
37
|
// More information of its structure available at https://www.npmjs.com/package/gradient-parser#ast.
|
|
37
|
-
let gradientAST;
|
|
38
|
+
let gradientAST: gradientParser.GradientNode | undefined;
|
|
39
|
+
let hasGradient = !! value;
|
|
40
|
+
|
|
41
|
+
const valueToParse = value ?? DEFAULT_GRADIENT;
|
|
38
42
|
|
|
39
43
|
try {
|
|
40
|
-
gradientAST = gradientParser.parse(
|
|
41
|
-
gradientAST.value = value;
|
|
44
|
+
gradientAST = gradientParser.parse( valueToParse )[ 0 ];
|
|
42
45
|
} catch ( error ) {
|
|
46
|
+
// eslint-disable-next-line no-console
|
|
47
|
+
console.warn(
|
|
48
|
+
'wp.components.CustomGradientPicker failed to parse the gradient with error',
|
|
49
|
+
error
|
|
50
|
+
);
|
|
51
|
+
|
|
43
52
|
gradientAST = gradientParser.parse( DEFAULT_GRADIENT )[ 0 ];
|
|
44
|
-
|
|
53
|
+
hasGradient = false;
|
|
45
54
|
}
|
|
46
55
|
|
|
47
|
-
if (
|
|
48
|
-
gradientAST.orientation
|
|
49
|
-
gradientAST.orientation
|
|
50
|
-
|
|
56
|
+
if (
|
|
57
|
+
! Array.isArray( gradientAST.orientation ) &&
|
|
58
|
+
gradientAST.orientation?.type === 'directional'
|
|
59
|
+
) {
|
|
60
|
+
gradientAST.orientation = {
|
|
61
|
+
type: 'angular',
|
|
62
|
+
value: DIRECTIONAL_ORIENTATION_ANGLE_MAP[
|
|
51
63
|
gradientAST.orientation.value
|
|
52
|
-
].toString()
|
|
64
|
+
].toString(),
|
|
65
|
+
};
|
|
53
66
|
}
|
|
54
67
|
|
|
55
68
|
if ( gradientAST.colorStops.some( hasUnsupportedLength ) ) {
|
|
@@ -57,19 +70,18 @@ export function getGradientAstWithDefault( value ) {
|
|
|
57
70
|
const step = 100 / ( colorStops.length - 1 );
|
|
58
71
|
colorStops.forEach( ( stop, index ) => {
|
|
59
72
|
stop.length = {
|
|
60
|
-
value: step * index
|
|
73
|
+
value: `${ step * index }`,
|
|
61
74
|
type: '%',
|
|
62
75
|
};
|
|
63
76
|
} );
|
|
64
|
-
gradientAST.value = serializeGradient( gradientAST );
|
|
65
77
|
}
|
|
66
78
|
|
|
67
|
-
return gradientAST;
|
|
79
|
+
return { gradientAST, hasGradient };
|
|
68
80
|
}
|
|
69
81
|
|
|
70
82
|
export function getGradientAstWithControlPoints(
|
|
71
|
-
gradientAST,
|
|
72
|
-
newControlPoints
|
|
83
|
+
gradientAST: gradientParser.GradientNode,
|
|
84
|
+
newControlPoints: ControlPoint[]
|
|
73
85
|
) {
|
|
74
86
|
return {
|
|
75
87
|
...gradientAST,
|
|
@@ -81,13 +93,16 @@ export function getGradientAstWithControlPoints(
|
|
|
81
93
|
value: position?.toString(),
|
|
82
94
|
},
|
|
83
95
|
type: a < 1 ? 'rgba' : 'rgb',
|
|
84
|
-
value:
|
|
96
|
+
value:
|
|
97
|
+
a < 1
|
|
98
|
+
? [ `${ r }`, `${ g }`, `${ b }`, `${ a }` ]
|
|
99
|
+
: [ `${ r }`, `${ g }`, `${ b }` ],
|
|
85
100
|
};
|
|
86
101
|
} ),
|
|
87
|
-
};
|
|
102
|
+
} as gradientParser.GradientNode;
|
|
88
103
|
}
|
|
89
104
|
|
|
90
|
-
export function getStopCssColor( colorStop ) {
|
|
105
|
+
export function getStopCssColor( colorStop: gradientParser.ColorStop ) {
|
|
91
106
|
switch ( colorStop.type ) {
|
|
92
107
|
case 'hex':
|
|
93
108
|
return `#${ colorStop.value }`;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { render,
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
import userEvent from '@testing-library/user-event';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Internal dependencies
|
|
@@ -9,7 +10,8 @@ import { render, fireEvent, screen } from '@testing-library/react';
|
|
|
9
10
|
import CustomSelectControl from '..';
|
|
10
11
|
|
|
11
12
|
describe( 'CustomSelectControl', () => {
|
|
12
|
-
it( 'Captures the keypress event and does not let it propagate', () => {
|
|
13
|
+
it( 'Captures the keypress event and does not let it propagate', async () => {
|
|
14
|
+
const user = userEvent.setup();
|
|
13
15
|
const onKeyDown = jest.fn();
|
|
14
16
|
const options = [
|
|
15
17
|
{
|
|
@@ -39,10 +41,10 @@ describe( 'CustomSelectControl', () => {
|
|
|
39
41
|
</div>
|
|
40
42
|
);
|
|
41
43
|
const toggleButton = screen.getByRole( 'button' );
|
|
42
|
-
|
|
44
|
+
await user.click( toggleButton );
|
|
43
45
|
|
|
44
46
|
const customSelect = screen.getByRole( 'listbox' );
|
|
45
|
-
|
|
47
|
+
await user.type( customSelect, '{enter}' );
|
|
46
48
|
|
|
47
49
|
expect( onKeyDown ).toHaveBeenCalledTimes( 0 );
|
|
48
50
|
} );
|
package/src/drop-zone/index.tsx
CHANGED
|
@@ -120,30 +120,34 @@ export function DropZoneComponent( {
|
|
|
120
120
|
|
|
121
121
|
let children;
|
|
122
122
|
const backdrop = {
|
|
123
|
-
hidden: {
|
|
123
|
+
hidden: { opacity: 0 },
|
|
124
124
|
show: {
|
|
125
|
-
scaleY: 1,
|
|
126
125
|
opacity: 1,
|
|
127
126
|
transition: {
|
|
128
127
|
type: 'tween',
|
|
129
128
|
duration: 0.2,
|
|
130
|
-
delay: 0
|
|
131
|
-
delayChildren: 0.
|
|
129
|
+
delay: 0,
|
|
130
|
+
delayChildren: 0.1,
|
|
132
131
|
},
|
|
133
132
|
},
|
|
134
133
|
exit: {
|
|
135
|
-
scaleY: 1,
|
|
136
134
|
opacity: 0,
|
|
137
135
|
transition: {
|
|
138
|
-
duration: 0.
|
|
136
|
+
duration: 0.2,
|
|
139
137
|
delayChildren: 0,
|
|
140
138
|
},
|
|
141
139
|
},
|
|
142
140
|
};
|
|
143
141
|
|
|
144
142
|
const foreground = {
|
|
145
|
-
hidden: { opacity: 0, scale: 0.
|
|
146
|
-
show: {
|
|
143
|
+
hidden: { opacity: 0, scale: 0.9 },
|
|
144
|
+
show: {
|
|
145
|
+
opacity: 1,
|
|
146
|
+
scale: 1,
|
|
147
|
+
transition: {
|
|
148
|
+
duration: 0.1,
|
|
149
|
+
},
|
|
150
|
+
},
|
|
147
151
|
exit: { opacity: 0, scale: 0.9 },
|
|
148
152
|
};
|
|
149
153
|
|
package/src/drop-zone/style.scss
CHANGED
|
@@ -7,11 +7,11 @@ import { swatch } from '@wordpress/icons';
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
|
-
import Button from '
|
|
11
|
-
import ColorPalette from '
|
|
12
|
-
import ColorIndicator from '
|
|
13
|
-
import Icon from '
|
|
14
|
-
import { HStack } from '
|
|
10
|
+
import Button from '../../button';
|
|
11
|
+
import ColorPalette from '../../color-palette';
|
|
12
|
+
import ColorIndicator from '../../color-indicator';
|
|
13
|
+
import Icon from '../../icon';
|
|
14
|
+
import { HStack } from '../../h-stack';
|
|
15
15
|
import type { ColorListPickerProps, ColorOptionProps } from './types';
|
|
16
16
|
|
|
17
17
|
function ColorOption( {
|
|
@@ -75,7 +75,8 @@ function ColorListPicker( {
|
|
|
75
75
|
disableCustomColors={ disableCustomColors }
|
|
76
76
|
enableAlpha={ enableAlpha }
|
|
77
77
|
onChange={ ( newColor ) => {
|
|
78
|
-
const newColors
|
|
78
|
+
const newColors: ( string | undefined )[] =
|
|
79
|
+
value.slice();
|
|
79
80
|
newColors[ index ] = newColor;
|
|
80
81
|
onChange( newColors );
|
|
81
82
|
} }
|
|
@@ -5,7 +5,7 @@ import type { CSSProperties } from 'react';
|
|
|
5
5
|
|
|
6
6
|
export type ColorListPickerProps = {
|
|
7
7
|
/**
|
|
8
|
-
* A list of
|
|
8
|
+
* A list of predefined colors. Each color is an object with a `name` and a
|
|
9
9
|
* `color` value.
|
|
10
10
|
* The `name` is a string used to identify the color in the UI.
|
|
11
11
|
* The `color` is a valid CSS color string.
|
|
@@ -21,7 +21,7 @@ export type ColorListPickerProps = {
|
|
|
21
21
|
/**
|
|
22
22
|
* An array containing the currently selected colors.
|
|
23
23
|
*/
|
|
24
|
-
value?: Array< string
|
|
24
|
+
value?: Array< string >;
|
|
25
25
|
/**
|
|
26
26
|
* Controls whether the custom color picker is displayed.
|
|
27
27
|
*/
|
|
@@ -11,7 +11,13 @@ import {
|
|
|
11
11
|
|
|
12
12
|
const PLACEHOLDER_VALUES = [ '#333', '#CCC' ];
|
|
13
13
|
|
|
14
|
-
export default function CustomDuotoneBar( {
|
|
14
|
+
export default function CustomDuotoneBar( {
|
|
15
|
+
value,
|
|
16
|
+
onChange,
|
|
17
|
+
}: {
|
|
18
|
+
value?: string[];
|
|
19
|
+
onChange: ( value?: string[] ) => void;
|
|
20
|
+
} ) {
|
|
15
21
|
const hasGradient = !! value;
|
|
16
22
|
const values = hasGradient ? value : PLACEHOLDER_VALUES;
|
|
17
23
|
const background = getGradientFromCSSColors( values );
|
|
@@ -12,14 +12,48 @@ import { __, sprintf } from '@wordpress/i18n';
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
14
14
|
*/
|
|
15
|
-
import ColorListPicker from '
|
|
15
|
+
import ColorListPicker from './color-list-picker';
|
|
16
16
|
import CircularOptionPicker from '../circular-option-picker';
|
|
17
17
|
import { VStack } from '../v-stack';
|
|
18
18
|
|
|
19
19
|
import CustomDuotoneBar from './custom-duotone-bar';
|
|
20
20
|
import { getDefaultColors, getGradientFromCSSColors } from './utils';
|
|
21
21
|
import { Spacer } from '../spacer';
|
|
22
|
+
import type { DuotonePickerProps } from './types';
|
|
22
23
|
|
|
24
|
+
/**
|
|
25
|
+
* ```jsx
|
|
26
|
+
* import { DuotonePicker, DuotoneSwatch } from '@wordpress/components';
|
|
27
|
+
* import { useState } from '@wordpress/element';
|
|
28
|
+
*
|
|
29
|
+
* const DUOTONE_PALETTE = [
|
|
30
|
+
* { colors: [ '#8c00b7', '#fcff41' ], name: 'Purple and yellow', slug: 'purple-yellow' },
|
|
31
|
+
* { colors: [ '#000097', '#ff4747' ], name: 'Blue and red', slug: 'blue-red' },
|
|
32
|
+
* ];
|
|
33
|
+
*
|
|
34
|
+
* const COLOR_PALETTE = [
|
|
35
|
+
* { color: '#ff4747', name: 'Red', slug: 'red' },
|
|
36
|
+
* { color: '#fcff41', name: 'Yellow', slug: 'yellow' },
|
|
37
|
+
* { color: '#000097', name: 'Blue', slug: 'blue' },
|
|
38
|
+
* { color: '#8c00b7', name: 'Purple', slug: 'purple' },
|
|
39
|
+
* ];
|
|
40
|
+
*
|
|
41
|
+
* const Example = () => {
|
|
42
|
+
* const [ duotone, setDuotone ] = useState( [ '#000000', '#ffffff' ] );
|
|
43
|
+
* return (
|
|
44
|
+
* <>
|
|
45
|
+
* <DuotonePicker
|
|
46
|
+
* duotonePalette={ DUOTONE_PALETTE }
|
|
47
|
+
* colorPalette={ COLOR_PALETTE }
|
|
48
|
+
* value={ duotone }
|
|
49
|
+
* onChange={ setDuotone }
|
|
50
|
+
* />
|
|
51
|
+
* <DuotoneSwatch values={ duotone } />
|
|
52
|
+
* </>
|
|
53
|
+
* );
|
|
54
|
+
* };
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
23
57
|
function DuotonePicker( {
|
|
24
58
|
clearable = true,
|
|
25
59
|
unsetable = true,
|
|
@@ -29,7 +63,7 @@ function DuotonePicker( {
|
|
|
29
63
|
disableCustomDuotone,
|
|
30
64
|
value,
|
|
31
65
|
onChange,
|
|
32
|
-
} ) {
|
|
66
|
+
}: DuotonePickerProps ) {
|
|
33
67
|
const [ defaultDark, defaultLight ] = useMemo(
|
|
34
68
|
() => getDefaultColors( colorPalette ),
|
|
35
69
|
[ colorPalette ]
|
|
@@ -125,6 +159,9 @@ function DuotonePicker( {
|
|
|
125
159
|
newColors.length >= 2
|
|
126
160
|
? newColors
|
|
127
161
|
: undefined;
|
|
162
|
+
// @ts-expect-error TODO: The color arrays for a DuotonePicker should be a tuple of two colors,
|
|
163
|
+
// but it's currently typed as a string[].
|
|
164
|
+
// See also https://github.com/WordPress/gutenberg/pull/49060#discussion_r1136951035
|
|
128
165
|
onChange( newValue );
|
|
129
166
|
} }
|
|
130
167
|
/>
|
|
@@ -9,8 +9,9 @@ import { swatch } from '@wordpress/icons';
|
|
|
9
9
|
import ColorIndicator from '../color-indicator';
|
|
10
10
|
import Icon from '../icon';
|
|
11
11
|
import { getGradientFromCSSColors } from './utils';
|
|
12
|
+
import type { DuotoneSwatchProps } from './types';
|
|
12
13
|
|
|
13
|
-
function DuotoneSwatch( { values } ) {
|
|
14
|
+
function DuotoneSwatch( { values }: DuotoneSwatchProps ) {
|
|
14
15
|
return values ? (
|
|
15
16
|
<ColorIndicator
|
|
16
17
|
colorValue={ getGradientFromCSSColors( values, '135deg' ) }
|