@wordpress/components 19.8.4 → 19.11.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 +60 -0
- package/CONTRIBUTING.md +80 -7
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/border-box-control/border-box-control/component.js +22 -7
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-box-control/border-box-control-linked-button/hook.js +3 -2
- package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
- package/build/border-box-control/border-box-control-split-controls/component.js +21 -8
- package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build/border-box-control/border-box-control-visualizer/hook.js +3 -2
- package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
- package/build/border-box-control/styles.js +11 -15
- package/build/border-box-control/styles.js.map +1 -1
- package/build/border-control/border-control/component.js +5 -3
- package/build/border-control/border-control/component.js.map +1 -1
- package/build/border-control/border-control/hook.js +6 -3
- package/build/border-control/border-control/hook.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js +6 -2
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/border-control/border-control-dropdown/hook.js +5 -5
- package/build/border-control/border-control-dropdown/hook.js.map +1 -1
- package/build/border-control/styles.js +58 -29
- package/build/border-control/styles.js.map +1 -1
- package/build/box-control/index.js +0 -21
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/utils.js +1 -8
- package/build/box-control/utils.js.map +1 -1
- package/build/button/index.js +3 -5
- package/build/button/index.js.map +1 -1
- package/build/button/index.native.js +16 -2
- package/build/button/index.native.js.map +1 -1
- package/build/button-group/index.js +24 -7
- package/build/button-group/index.js.map +1 -1
- package/build/{flyout → button-group}/types.js +0 -0
- package/build/button-group/types.js.map +1 -0
- package/build/checkbox-control/index.js +34 -7
- package/build/checkbox-control/index.js.map +1 -1
- package/build/checkbox-control/types.js +6 -0
- package/build/checkbox-control/types.js.map +1 -0
- package/build/circular-option-picker/index.js +1 -2
- package/build/circular-option-picker/index.js.map +1 -1
- package/build/color-palette/index.js +5 -12
- package/build/color-palette/index.js.map +1 -1
- package/build/date-time/date.js +43 -19
- package/build/date-time/date.js.map +1 -1
- package/build/date-time/index.js +28 -3
- package/build/date-time/index.js.map +1 -1
- package/build/date-time/time.js +42 -40
- package/build/date-time/time.js.map +1 -1
- package/build/date-time/timezone.js +4 -3
- package/build/date-time/timezone.js.map +1 -1
- package/build/date-time/types.js +6 -0
- package/build/date-time/types.js.map +1 -0
- package/build/date-time/utils.js +6 -4
- package/build/date-time/utils.js.map +1 -1
- package/build/disabled/index.js +4 -76
- package/build/disabled/index.js.map +1 -1
- package/build/draggable/index.native.js +223 -0
- package/build/draggable/index.native.js.map +1 -0
- package/build/dropdown/index.js +7 -5
- package/build/dropdown/index.js.map +1 -1
- package/build/focal-point-picker/index.native.js +3 -3
- package/build/focal-point-picker/index.native.js.map +1 -1
- package/build/heading/hook.js +1 -1
- package/build/heading/hook.js.map +1 -1
- package/build/index.js +0 -8
- package/build/index.js.map +1 -1
- package/build/index.native.js +16 -0
- package/build/index.native.js.map +1 -1
- package/build/input-control/index.js +27 -4
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +42 -30
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +1 -1
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js +4 -2
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/mobile/html-text-input/index.native.js +19 -8
- package/build/mobile/html-text-input/index.native.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.android.js +28 -5
- package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.ios.js +47 -24
- package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +12 -12
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/notice/index.native.js +44 -40
- package/build/notice/index.native.js.map +1 -1
- package/build/notice/list.native.js +27 -45
- package/build/notice/list.native.js.map +1 -1
- package/build/palette-edit/index.js +38 -7
- package/build/palette-edit/index.js.map +1 -1
- package/build/popover/index.js +223 -323
- package/build/popover/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/utils.js +5 -8
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/sandbox/index.js +2 -2
- package/build/sandbox/index.js.map +1 -1
- package/build/sandbox/index.native.js +1 -1
- package/build/sandbox/index.native.js.map +1 -1
- package/build/select-control/index.js +31 -4
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +17 -14
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/surface/styles.js +8 -8
- package/build/surface/styles.js.map +1 -1
- package/build/text/hook.js +5 -5
- package/build/text/hook.js.map +1 -1
- package/build/text/styles/text-mixins.native.js +1 -1
- package/build/text/styles/text-mixins.native.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/text-control/index.js +35 -28
- package/build/text-control/index.js.map +1 -1
- package/build/text-control/types.js +6 -0
- package/build/text-control/types.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control/component.js +1 -3
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +6 -4
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +52 -36
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tooltip/index.js +2 -2
- package/build/tooltip/index.js.map +1 -1
- package/build/ui/spinner/component.js +1 -1
- package/build/ui/spinner/component.js.map +1 -1
- package/build/unit-control/index.js +3 -3
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +11 -20
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/colors-values.js +9 -24
- package/build/utils/colors-values.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js +22 -7
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-linked-button/hook.js +3 -2
- package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js +21 -8
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-visualizer/hook.js +3 -2
- package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
- package/build-module/border-box-control/styles.js +9 -15
- package/build-module/border-box-control/styles.js.map +1 -1
- package/build-module/border-control/border-control/component.js +5 -3
- package/build-module/border-control/border-control/component.js.map +1 -1
- package/build-module/border-control/border-control/hook.js +6 -3
- package/build-module/border-control/border-control/hook.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +6 -2
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/hook.js +5 -5
- package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
- package/build-module/border-control/styles.js +56 -29
- package/build-module/border-control/styles.js.map +1 -1
- package/build-module/box-control/index.js +1 -20
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/utils.js +0 -6
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/button/index.js +3 -4
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/index.native.js +16 -3
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/button-group/index.js +27 -7
- package/build-module/button-group/index.js.map +1 -1
- package/build-module/{flyout → button-group}/types.js +0 -0
- package/build-module/{flyout → button-group}/types.js.map +0 -0
- package/build-module/checkbox-control/index.js +31 -7
- package/build-module/checkbox-control/index.js.map +1 -1
- package/build-module/checkbox-control/types.js +2 -0
- package/{build/flyout → build-module/checkbox-control}/types.js.map +0 -0
- package/build-module/circular-option-picker/index.js +1 -2
- package/build-module/circular-option-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +5 -11
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/date-time/date.js +44 -19
- package/build-module/date-time/date.js.map +1 -1
- package/build-module/date-time/index.js +28 -4
- package/build-module/date-time/index.js.map +1 -1
- package/build-module/date-time/time.js +43 -41
- package/build-module/date-time/time.js.map +1 -1
- package/build-module/date-time/timezone.js +4 -3
- package/build-module/date-time/timezone.js.map +1 -1
- package/build-module/date-time/types.js +2 -0
- package/build-module/date-time/types.js.map +1 -0
- package/build-module/date-time/utils.js +6 -4
- package/build-module/date-time/utils.js.map +1 -1
- package/build-module/disabled/index.js +5 -76
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/draggable/index.native.js +206 -0
- package/build-module/draggable/index.native.js.map +1 -0
- package/build-module/dropdown/index.js +7 -5
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/focal-point-picker/index.native.js +3 -3
- package/build-module/focal-point-picker/index.native.js.map +1 -1
- package/build-module/heading/hook.js +1 -1
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/index.js +0 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +2 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/input-control/index.js +24 -3
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +42 -30
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js +4 -2
- package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build-module/mobile/html-text-input/index.native.js +20 -9
- package/build-module/mobile/html-text-input/index.native.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js +21 -5
- 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 +42 -25
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +13 -13
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/notice/index.native.js +45 -41
- package/build-module/notice/index.native.js.map +1 -1
- package/build-module/notice/list.native.js +28 -46
- package/build-module/notice/list.native.js.map +1 -1
- package/build-module/palette-edit/index.js +37 -7
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/popover/index.js +225 -325
- package/build-module/popover/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/utils.js +4 -5
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/sandbox/index.js +2 -2
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/sandbox/index.native.js +1 -1
- package/build-module/sandbox/index.native.js.map +1 -1
- package/build-module/select-control/index.js +29 -3
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +17 -14
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/surface/styles.js +8 -8
- package/build-module/surface/styles.js.map +1 -1
- package/build-module/text/hook.js +5 -5
- package/build-module/text/hook.js.map +1 -1
- package/build-module/text/styles/text-mixins.native.js +2 -2
- package/build-module/text/styles/text-mixins.native.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/text-control/index.js +35 -27
- package/build-module/text-control/index.js.map +1 -1
- package/build-module/text-control/types.js +2 -0
- package/build-module/text-control/types.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control/component.js +2 -3
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -5
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +51 -36
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tooltip/index.js +2 -2
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/ui/spinner/component.js +1 -1
- package/build-module/ui/spinner/component.js.map +1 -1
- package/build-module/unit-control/index.js +3 -3
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +11 -20
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/colors-values.js +19 -23
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-style/style-rtl.css +55 -170
- package/build-style/style.css +51 -170
- package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +3 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +3 -1
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
- package/build-types/border-box-control/styles.d.ts +2 -2
- package/build-types/border-box-control/styles.d.ts.map +1 -1
- package/build-types/border-box-control/types.d.ts +40 -13
- package/build-types/border-box-control/types.d.ts.map +1 -1
- package/build-types/border-control/border-control/component.d.ts.map +1 -1
- package/build-types/border-control/border-control/hook.d.ts +2 -1
- package/build-types/border-control/border-control/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -0
- package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
- package/build-types/border-control/styles.d.ts +2 -1
- package/build-types/border-control/styles.d.ts.map +1 -1
- package/build-types/border-control/types.d.ts +18 -6
- package/build-types/border-control/types.d.ts.map +1 -1
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/button-group/index.d.ts +25 -0
- package/build-types/button-group/index.d.ts.map +1 -0
- package/build-types/button-group/stories/index.d.ts +12 -0
- package/build-types/button-group/stories/index.d.ts.map +1 -0
- package/build-types/button-group/types.d.ts +11 -0
- package/build-types/button-group/types.d.ts.map +1 -0
- package/build-types/checkbox-control/index.d.ts +26 -0
- package/build-types/checkbox-control/index.d.ts.map +1 -0
- package/build-types/checkbox-control/stories/index.d.ts +13 -0
- package/build-types/checkbox-control/stories/index.d.ts.map +1 -0
- package/build-types/checkbox-control/types.d.ts +35 -0
- package/build-types/checkbox-control/types.d.ts.map +1 -0
- package/build-types/circular-option-picker/index.d.ts.map +1 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +3 -3
- package/build-types/date-time/date.d.ts +24 -0
- package/build-types/date-time/date.d.ts.map +1 -0
- package/build-types/date-time/index.d.ts +35 -0
- package/build-types/date-time/index.d.ts.map +1 -0
- package/build-types/date-time/stories/date.d.ts +14 -0
- package/build-types/date-time/stories/date.d.ts.map +1 -0
- package/build-types/date-time/stories/index.d.ts +14 -0
- package/build-types/date-time/stories/index.d.ts.map +1 -0
- package/build-types/date-time/stories/time.d.ts +12 -0
- package/build-types/date-time/stories/time.d.ts.map +1 -0
- package/build-types/date-time/stories/utils.d.ts +3 -0
- package/build-types/date-time/stories/utils.d.ts.map +1 -0
- package/build-types/date-time/test/date.d.ts +2 -0
- package/build-types/date-time/test/date.d.ts.map +1 -0
- package/build-types/date-time/test/time.d.ts +2 -0
- package/build-types/date-time/test/time.d.ts.map +1 -0
- package/build-types/date-time/test/utils.d.ts +2 -0
- package/build-types/date-time/test/utils.d.ts.map +1 -0
- package/build-types/date-time/time.d.ts +25 -0
- package/build-types/date-time/time.d.ts.map +1 -0
- package/build-types/date-time/timezone.d.ts +8 -0
- package/build-types/date-time/timezone.d.ts.map +1 -0
- package/build-types/date-time/types.d.ts +91 -0
- package/build-types/date-time/types.d.ts.map +1 -0
- package/build-types/date-time/utils.d.ts +15 -0
- package/build-types/date-time/utils.d.ts.map +1 -0
- package/build-types/disabled/index.d.ts.map +1 -1
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +23 -3
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts +1 -1
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/stories/index.d.ts +5 -5
- package/build-types/input-control/stories/index.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts +1 -0
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +79 -3
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/popover/index.d.ts +5 -8
- package/build-types/popover/index.d.ts.map +1 -1
- 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.map +1 -1
- package/build-types/select-control/index.d.ts +30 -26
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/stories/index.d.ts +23 -0
- package/build-types/select-control/stories/index.d.ts.map +1 -0
- package/build-types/select-control/styles/select-control-styles.d.ts +3 -4
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/select-control/test/select-control.d.ts +2 -0
- package/build-types/select-control/test/select-control.d.ts.map +1 -0
- package/build-types/select-control/types.d.ts +52 -1
- package/build-types/select-control/types.d.ts.map +1 -1
- package/build-types/text-control/index.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/tools-panel/types.d.ts +0 -1
- package/build-types/tools-panel/types.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +2 -2
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/test/index.d.ts +2 -0
- package/build-types/unit-control/test/index.d.ts.map +1 -0
- package/build-types/unit-control/test/utils.d.ts +2 -0
- package/build-types/unit-control/test/utils.d.ts.map +1 -0
- package/build-types/unit-control/types.d.ts +1 -1
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/unit-control/utils.d.ts +3 -3
- package/build-types/unit-control/utils.d.ts.map +1 -1
- package/build-types/utils/colors-values.d.ts +6 -146
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +5 -3
- package/src/autocomplete/style.scss +1 -1
- package/src/border-box-control/border-box-control/README.md +10 -14
- package/src/border-box-control/border-box-control/component.tsx +21 -4
- package/src/border-box-control/border-box-control-linked-button/hook.ts +10 -6
- package/src/border-box-control/border-box-control-split-controls/component.tsx +24 -7
- package/src/border-box-control/border-box-control-visualizer/hook.ts +11 -6
- package/src/border-box-control/stories/index.js +1 -0
- package/src/border-box-control/styles.ts +15 -8
- package/src/border-box-control/types.ts +40 -14
- package/src/border-control/border-control/README.md +0 -7
- package/src/border-control/border-control/component.tsx +4 -2
- package/src/border-control/border-control/hook.ts +5 -2
- package/src/border-control/border-control-dropdown/component.tsx +18 -11
- package/src/border-control/border-control-dropdown/hook.ts +7 -5
- package/src/border-control/stories/index.js +1 -0
- package/src/border-control/styles.ts +82 -22
- package/src/border-control/types.ts +18 -6
- package/src/box-control/README.md +0 -74
- package/src/box-control/index.js +0 -15
- package/src/box-control/stories/index.js +0 -29
- package/src/box-control/utils.js +0 -7
- package/src/button/index.js +2 -4
- package/src/button/index.native.js +33 -18
- package/src/button/test/index.js +16 -1
- package/src/button-group/index.tsx +47 -0
- package/src/button-group/stories/index.tsx +41 -0
- package/src/button-group/types.ts +11 -0
- package/src/checkbox-control/README.md +10 -8
- package/src/checkbox-control/{index.js → index.tsx} +49 -14
- package/src/checkbox-control/stories/{index.js → index.tsx} +49 -27
- package/src/checkbox-control/types.ts +36 -0
- package/src/circular-option-picker/index.js +1 -2
- package/src/circular-option-picker/style.scss +1 -0
- package/src/color-palette/README.md +0 -1
- package/src/color-palette/index.js +6 -13
- package/src/color-palette/style.scss +3 -18
- package/src/color-palette/test/__snapshots__/index.js.snap +2 -3
- package/src/confirm-dialog/stories/index.js +87 -99
- package/src/date-time/README.md +13 -10
- package/src/date-time/{date.js → date.tsx} +49 -20
- package/src/date-time/{index.js → index.tsx} +31 -5
- package/src/date-time/stories/date.tsx +73 -0
- package/src/date-time/stories/index.tsx +75 -0
- package/src/date-time/stories/time.tsx +51 -0
- package/src/date-time/stories/utils.ts +9 -0
- package/src/date-time/test/date.tsx +127 -0
- package/src/date-time/test/{time.js → time.tsx} +34 -19
- package/src/date-time/test/{utils.js → utils.ts} +1 -1
- package/src/date-time/{time.js → time.tsx} +57 -46
- package/src/date-time/{timezone.js → timezone.tsx} +4 -3
- package/src/date-time/types.ts +106 -0
- package/src/date-time/utils.ts +20 -0
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
- package/src/disabled/index.js +5 -90
- package/src/draggable/index.native.js +215 -0
- package/src/draggable/style.native.scss +3 -0
- package/src/dropdown/index.js +9 -4
- package/src/dropdown/style.scss +1 -1
- package/src/focal-point-picker/index.native.js +3 -3
- package/src/form-file-upload/test/index.js +20 -13
- package/src/heading/hook.ts +1 -1
- package/src/heading/test/__snapshots__/index.js.snap +3 -3
- package/src/index.js +0 -1
- package/src/index.native.js +1 -0
- package/src/input-control/README.md +3 -3
- package/src/input-control/index.tsx +23 -3
- package/src/input-control/stories/index.tsx +63 -0
- package/src/input-control/styles/input-control-styles.tsx +20 -7
- package/src/input-control/types.ts +79 -2
- package/src/item-group/stories/index.js +22 -18
- package/src/menu-item/style.scss +10 -0
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +9 -2
- package/src/mobile/bottom-sheet/index.native.js +1 -1
- package/src/mobile/bottom-sheet-select-control/index.native.js +8 -2
- package/src/mobile/html-text-input/index.native.js +45 -29
- package/src/mobile/html-text-input/style.android.scss +2 -15
- package/src/mobile/html-text-input/style.ios.scss +2 -15
- package/src/mobile/html-text-input/{style-common.native.scss → style.scss} +16 -0
- package/src/mobile/keyboard-aware-flat-list/index.android.js +15 -5
- package/src/mobile/keyboard-aware-flat-list/index.ios.js +75 -46
- package/src/mobile/link-settings/test/link-settings-navigation.native.js +9 -1
- package/src/navigation/styles/navigation-styles.js +5 -5
- package/src/navigator/stories/index.js +16 -10
- package/src/notice/index.native.js +44 -54
- package/src/notice/list.native.js +27 -51
- package/src/notice/style.native.scss +1 -0
- package/src/palette-edit/index.js +37 -9
- package/src/palette-edit/style.scss +0 -7
- package/src/palette-edit/test/index.js +63 -0
- package/src/panel/README.md +1 -1
- package/src/placeholder/test/index.js +7 -0
- package/src/popover/README.md +7 -9
- package/src/popover/index.js +242 -417
- package/src/popover/style.scss +20 -190
- package/src/popover/test/__snapshots__/index.js.snap +6 -18
- package/src/query-controls/README.md +2 -2
- package/src/resizable-box/resize-tooltip/utils.ts +4 -5
- package/src/sandbox/index.js +2 -2
- package/src/sandbox/index.native.js +1 -1
- package/src/select-control/README.md +2 -2
- package/src/select-control/index.tsx +30 -29
- package/src/select-control/stories/index.tsx +90 -0
- package/src/select-control/styles/select-control-styles.ts +16 -12
- package/src/select-control/test/{select-control.js → select-control.tsx} +2 -2
- package/src/select-control/types.ts +66 -1
- package/src/surface/styles.js +1 -1
- package/src/tab-panel/style.scss +1 -1
- package/src/text/hook.js +1 -1
- package/src/text/styles/text-mixins.native.js +2 -2
- package/src/text/styles.js +1 -1
- package/src/text/test/__snapshots__/{index.js.snap → index.tsx.snap} +16 -0
- package/src/text/test/{index.js → index.tsx} +12 -6
- package/src/text-control/index.tsx +84 -0
- package/src/text-control/stories/index.tsx +66 -0
- package/src/text-control/types.ts +29 -0
- package/src/toggle-group-control/test/__snapshots__/index.js.snap +4 -10
- package/src/toggle-group-control/toggle-group-control/component.tsx +7 -3
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -5
- package/src/toolbar-group/style.scss +20 -0
- package/src/tools-panel/test/__snapshots__/index.js.snap +2 -2
- package/src/tools-panel/test/index.js +71 -18
- package/src/tools-panel/tools-panel-header/component.tsx +75 -33
- package/src/tools-panel/types.ts +0 -1
- package/src/tooltip/index.js +8 -2
- package/src/tooltip/style.scss +2 -4
- package/src/tooltip/test/index.js +6 -0
- package/src/tooltip/test/index.native.js +1 -1
- package/src/ui/spinner/component.js +1 -1
- package/src/ui/spinner/test/__snapshots__/index.js.snap +3 -3
- package/src/unit-control/index.tsx +2 -5
- package/src/unit-control/styles/unit-control-styles.ts +3 -13
- package/src/unit-control/test/__snapshots__/index.tsx.snap +33 -0
- package/src/unit-control/test/{index.js → index.tsx} +295 -166
- package/src/unit-control/test/{utils.js → utils.ts} +38 -19
- package/src/unit-control/types.ts +4 -1
- package/src/unit-control/utils.ts +5 -3
- package/src/utils/colors-values.js +18 -22
- package/tsconfig.json +14 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/box-control/visualizer.js +0 -165
- package/build/box-control/visualizer.js.map +0 -1
- package/build/flyout/context.js +0 -23
- package/build/flyout/context.js.map +0 -1
- package/build/flyout/flyout/component.js +0 -106
- package/build/flyout/flyout/component.js.map +0 -1
- package/build/flyout/flyout/hook.js +0 -53
- package/build/flyout/flyout/hook.js.map +0 -1
- package/build/flyout/flyout/index.js +0 -24
- package/build/flyout/flyout/index.js.map +0 -1
- package/build/flyout/flyout-content/component.js +0 -65
- package/build/flyout/flyout-content/component.js.map +0 -1
- package/build/flyout/flyout-content/index.js +0 -16
- package/build/flyout/flyout-content/index.js.map +0 -1
- package/build/flyout/index.js +0 -16
- package/build/flyout/index.js.map +0 -1
- package/build/flyout/styles.js +0 -46
- package/build/flyout/styles.js.map +0 -1
- package/build/flyout/utils.js +0 -36
- package/build/flyout/utils.js.map +0 -1
- package/build/mobile/html-text-input/container.android.js +0 -41
- package/build/mobile/html-text-input/container.android.js.map +0 -1
- package/build/mobile/html-text-input/container.ios.js +0 -60
- package/build/mobile/html-text-input/container.ios.js.map +0 -1
- package/build/popover/utils.js +0 -322
- package/build/popover/utils.js.map +0 -1
- package/build-module/box-control/visualizer.js +0 -154
- package/build-module/box-control/visualizer.js.map +0 -1
- package/build-module/flyout/context.js +0 -11
- package/build-module/flyout/context.js.map +0 -1
- package/build-module/flyout/flyout/component.js +0 -89
- package/build-module/flyout/flyout/component.js.map +0 -1
- package/build-module/flyout/flyout/hook.js +0 -44
- package/build-module/flyout/flyout/hook.js.map +0 -1
- package/build-module/flyout/flyout/index.js +0 -3
- package/build-module/flyout/flyout/index.js.map +0 -1
- package/build-module/flyout/flyout-content/component.js +0 -51
- package/build-module/flyout/flyout-content/component.js.map +0 -1
- package/build-module/flyout/flyout-content/index.js +0 -2
- package/build-module/flyout/flyout-content/index.js.map +0 -1
- package/build-module/flyout/index.js +0 -2
- package/build-module/flyout/index.js.map +0 -1
- package/build-module/flyout/styles.js +0 -27
- package/build-module/flyout/styles.js.map +0 -1
- package/build-module/flyout/utils.js +0 -25
- package/build-module/flyout/utils.js.map +0 -1
- package/build-module/mobile/html-text-input/container.android.js +0 -29
- package/build-module/mobile/html-text-input/container.android.js.map +0 -1
- package/build-module/mobile/html-text-input/container.ios.js +0 -48
- package/build-module/mobile/html-text-input/container.ios.js.map +0 -1
- package/build-module/popover/utils.js +0 -308
- package/build-module/popover/utils.js.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/index.d.ts.map +0 -1
- 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/index.d.ts.map +0 -1
- 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/popover/utils.d.ts +0 -70
- package/build-types/popover/utils.d.ts.map +0 -1
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -19
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +0 -1
- package/src/box-control/visualizer.js +0 -116
- package/src/button-group/index.js +0 -17
- package/src/button-group/stories/index.js +0 -21
- package/src/date-time/stories/date.js +0 -17
- package/src/date-time/stories/index.js +0 -72
- package/src/date-time/stories/time.js +0 -32
- package/src/date-time/test/date.js +0 -97
- package/src/date-time/utils.js +0 -18
- package/src/flyout/context.js +0 -10
- package/src/flyout/flyout/README.md +0 -98
- package/src/flyout/flyout/component.js +0 -111
- package/src/flyout/flyout/hook.js +0 -45
- package/src/flyout/flyout/index.js +0 -2
- package/src/flyout/flyout-content/component.js +0 -53
- package/src/flyout/flyout-content/index.js +0 -1
- package/src/flyout/index.js +0 -1
- package/src/flyout/stories/index.js +0 -24
- package/src/flyout/styles.ts +0 -41
- package/src/flyout/test/__snapshots__/index.js.snap +0 -186
- package/src/flyout/test/index.js +0 -103
- package/src/flyout/types.ts +0 -84
- package/src/flyout/utils.js +0 -23
- package/src/input-control/stories/index.js +0 -71
- package/src/mobile/html-text-input/container.android.js +0 -23
- package/src/mobile/html-text-input/container.ios.js +0 -50
- package/src/popover/test/utils.js +0 -304
- package/src/popover/utils.js +0 -396
- package/src/select-control/stories/index.js +0 -104
- package/src/text-control/index.js +0 -72
- package/src/text-control/stories/index.js +0 -46
|
@@ -4,13 +4,20 @@
|
|
|
4
4
|
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
|
|
5
5
|
import { FlatList } from 'react-native';
|
|
6
6
|
import { isEqual } from 'lodash';
|
|
7
|
+
import Animated, {
|
|
8
|
+
useAnimatedScrollHandler,
|
|
9
|
+
useSharedValue,
|
|
10
|
+
} from 'react-native-reanimated';
|
|
7
11
|
|
|
8
12
|
/**
|
|
9
13
|
* WordPress dependencies
|
|
10
14
|
*/
|
|
11
|
-
import { memo } from '@wordpress/element';
|
|
15
|
+
import { memo, useCallback, useRef } from '@wordpress/element';
|
|
12
16
|
|
|
13
17
|
const List = memo( FlatList, isEqual );
|
|
18
|
+
const AnimatedKeyboardAwareScrollView = Animated.createAnimatedComponent(
|
|
19
|
+
KeyboardAwareScrollView
|
|
20
|
+
);
|
|
14
21
|
|
|
15
22
|
export const KeyboardAwareFlatList = ( {
|
|
16
23
|
extraScrollHeight,
|
|
@@ -19,53 +26,75 @@ export const KeyboardAwareFlatList = ( {
|
|
|
19
26
|
autoScroll,
|
|
20
27
|
scrollViewStyle,
|
|
21
28
|
inputAccessoryViewHeight,
|
|
29
|
+
onScroll,
|
|
22
30
|
...listProps
|
|
23
|
-
} ) =>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
} ) => {
|
|
32
|
+
const scrollViewRef = useRef();
|
|
33
|
+
const keyboardWillShowIndicator = useRef();
|
|
34
|
+
|
|
35
|
+
const latestContentOffsetY = useSharedValue( -1 );
|
|
36
|
+
|
|
37
|
+
const scrollHandler = useAnimatedScrollHandler( {
|
|
38
|
+
onScroll: ( event ) => {
|
|
39
|
+
const { contentOffset } = event;
|
|
40
|
+
latestContentOffsetY.value = contentOffset.y;
|
|
41
|
+
onScroll( event );
|
|
42
|
+
},
|
|
43
|
+
} );
|
|
44
|
+
|
|
45
|
+
const getRef = useCallback(
|
|
46
|
+
( ref ) => {
|
|
47
|
+
scrollViewRef.current = ref;
|
|
35
48
|
innerRef( ref );
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
49
|
+
},
|
|
50
|
+
[ innerRef ]
|
|
51
|
+
);
|
|
52
|
+
const onKeyboardWillHide = useCallback( () => {
|
|
53
|
+
keyboardWillShowIndicator.current = false;
|
|
54
|
+
}, [] );
|
|
55
|
+
const onKeyboardDidHide = useCallback( () => {
|
|
56
|
+
setTimeout( () => {
|
|
57
|
+
if (
|
|
58
|
+
! keyboardWillShowIndicator.current &&
|
|
59
|
+
latestContentOffsetY.value !== -1 &&
|
|
60
|
+
! shouldPreventAutomaticScroll()
|
|
61
|
+
) {
|
|
62
|
+
// Reset the content position if keyboard is still closed.
|
|
63
|
+
scrollViewRef.current?.scrollToPosition(
|
|
64
|
+
0,
|
|
65
|
+
latestContentOffsetY.value,
|
|
66
|
+
true
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}, 50 );
|
|
70
|
+
}, [ latestContentOffsetY, shouldPreventAutomaticScroll ] );
|
|
71
|
+
const onKeyboardWillShow = useCallback( () => {
|
|
72
|
+
keyboardWillShowIndicator.current = true;
|
|
73
|
+
}, [] );
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<AnimatedKeyboardAwareScrollView
|
|
77
|
+
style={ [ { flex: 1 }, scrollViewStyle ] }
|
|
78
|
+
keyboardDismissMode="none"
|
|
79
|
+
enableResetScrollToCoords={ false }
|
|
80
|
+
keyboardShouldPersistTaps="handled"
|
|
81
|
+
extraScrollHeight={ extraScrollHeight }
|
|
82
|
+
extraHeight={ 0 }
|
|
83
|
+
inputAccessoryViewHeight={ inputAccessoryViewHeight }
|
|
84
|
+
enableAutomaticScroll={
|
|
85
|
+
autoScroll === undefined ? false : autoScroll
|
|
86
|
+
}
|
|
87
|
+
ref={ getRef }
|
|
88
|
+
onKeyboardWillHide={ onKeyboardWillHide }
|
|
89
|
+
onKeyboardDidHide={ onKeyboardDidHide }
|
|
90
|
+
onKeyboardWillShow={ onKeyboardWillShow }
|
|
91
|
+
scrollEnabled={ listProps.scrollEnabled }
|
|
92
|
+
onScroll={ scrollHandler }
|
|
93
|
+
>
|
|
94
|
+
<List { ...listProps } />
|
|
95
|
+
</AnimatedKeyboardAwareScrollView>
|
|
96
|
+
);
|
|
97
|
+
};
|
|
69
98
|
|
|
70
99
|
KeyboardAwareFlatList.handleCaretVerticalPositionChange = (
|
|
71
100
|
scrollView,
|
|
@@ -9,7 +9,15 @@ import { render, fireEvent, waitFor } from 'test/helpers';
|
|
|
9
9
|
*/
|
|
10
10
|
import LinkSettingsNavigation from '../link-settings-navigation';
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
beforeAll( () => {
|
|
13
|
+
jest.useFakeTimers( 'legacy' );
|
|
14
|
+
} );
|
|
15
|
+
|
|
16
|
+
afterAll( () => {
|
|
17
|
+
jest.runOnlyPendingTimers();
|
|
18
|
+
jest.useRealTimers();
|
|
19
|
+
} );
|
|
20
|
+
|
|
13
21
|
jest.spyOn( Keyboard, 'dismiss' );
|
|
14
22
|
|
|
15
23
|
const subject = (
|
|
@@ -11,7 +11,7 @@ import { isRTL } from '@wordpress/i18n';
|
|
|
11
11
|
/**
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { COLORS } from '../../utils/colors-values';
|
|
15
15
|
import Button from '../../button';
|
|
16
16
|
import { Text } from '../../text';
|
|
17
17
|
import { Heading } from '../../heading';
|
|
@@ -155,18 +155,18 @@ export const ItemBaseUI = styled.li`
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
&.is-active {
|
|
158
|
-
background-color: ${
|
|
159
|
-
color: ${
|
|
158
|
+
background-color: ${ COLORS.ui.theme };
|
|
159
|
+
color: ${ COLORS.white };
|
|
160
160
|
|
|
161
161
|
> button,
|
|
162
162
|
> a {
|
|
163
|
-
color: ${
|
|
163
|
+
color: ${ COLORS.white };
|
|
164
164
|
opacity: 1;
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
> svg path {
|
|
169
|
-
color: ${
|
|
169
|
+
color: ${ COLORS.gray[ 600 ] };
|
|
170
170
|
}
|
|
171
171
|
`;
|
|
172
172
|
|
|
@@ -9,7 +9,7 @@ import { css } from '@emotion/react';
|
|
|
9
9
|
import Button from '../../button';
|
|
10
10
|
import { Card, CardBody, CardFooter, CardHeader } from '../../card';
|
|
11
11
|
import { HStack } from '../../h-stack';
|
|
12
|
-
import
|
|
12
|
+
import Dropdown from '../../dropdown';
|
|
13
13
|
import { useCx } from '../../utils/hooks/use-cx';
|
|
14
14
|
import {
|
|
15
15
|
NavigatorProvider,
|
|
@@ -54,17 +54,23 @@ const MyNavigation = () => {
|
|
|
54
54
|
Navigate to screen with sticky content.
|
|
55
55
|
</NavigatorButton>
|
|
56
56
|
|
|
57
|
-
<
|
|
58
|
-
|
|
59
|
-
<Button
|
|
57
|
+
<Dropdown
|
|
58
|
+
renderToggle={ ( { isOpen, onToggle } ) => (
|
|
59
|
+
<Button
|
|
60
|
+
onClick={ onToggle }
|
|
61
|
+
aria-expanded={ isOpen }
|
|
62
|
+
variant="primary"
|
|
63
|
+
>
|
|
60
64
|
Open test dialog
|
|
61
65
|
</Button>
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
) }
|
|
67
|
+
renderContent={ () => (
|
|
68
|
+
<Card>
|
|
69
|
+
<CardHeader>Go</CardHeader>
|
|
70
|
+
<CardBody>Stuff</CardBody>
|
|
71
|
+
</Card>
|
|
72
|
+
) }
|
|
73
|
+
/>
|
|
68
74
|
</HStack>
|
|
69
75
|
</CardBody>
|
|
70
76
|
</Card>
|
|
@@ -7,15 +7,14 @@ import {
|
|
|
7
7
|
Text,
|
|
8
8
|
TouchableWithoutFeedback,
|
|
9
9
|
View,
|
|
10
|
-
|
|
11
|
-
Platform,
|
|
10
|
+
useWindowDimensions,
|
|
12
11
|
} from 'react-native';
|
|
13
12
|
import { BlurView } from '@react-native-community/blur';
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* WordPress dependencies
|
|
17
16
|
*/
|
|
18
|
-
import { useEffect, useRef,
|
|
17
|
+
import { useEffect, useRef, Platform } from '@wordpress/element';
|
|
19
18
|
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
20
19
|
|
|
21
20
|
/**
|
|
@@ -23,57 +22,48 @@ import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
|
23
22
|
*/
|
|
24
23
|
import styles from './style.scss';
|
|
25
24
|
|
|
26
|
-
const
|
|
27
|
-
const [ width, setWidth ] = useState( Dimensions.get( 'window' ).width );
|
|
28
|
-
const [ visible, setVisible ] = useState( true );
|
|
25
|
+
const HIDE_TIMER = 3000;
|
|
29
26
|
|
|
27
|
+
const Notice = ( { onNoticeHidden, content, id, status } ) => {
|
|
28
|
+
const { width } = useWindowDimensions();
|
|
30
29
|
const animationValue = useRef( new Animated.Value( 0 ) ).current;
|
|
31
30
|
const timer = useRef( null );
|
|
32
|
-
const isIOS = Platform.OS === 'ios';
|
|
33
|
-
|
|
34
|
-
const onDimensionsChange = () => {
|
|
35
|
-
setWidth( Dimensions.get( 'window' ).width );
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
useEffect( () => {
|
|
39
|
-
const dimensionsChangeSubscription = Dimensions.addEventListener(
|
|
40
|
-
'change',
|
|
41
|
-
onDimensionsChange
|
|
42
|
-
);
|
|
43
|
-
return () => {
|
|
44
|
-
dimensionsChangeSubscription.remove();
|
|
45
|
-
};
|
|
46
|
-
}, [] );
|
|
47
31
|
|
|
48
32
|
useEffect( () => {
|
|
49
33
|
startAnimation();
|
|
34
|
+
|
|
50
35
|
return () => {
|
|
51
36
|
clearTimeout( timer?.current );
|
|
52
37
|
};
|
|
53
|
-
}, [
|
|
38
|
+
}, [] );
|
|
54
39
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
40
|
+
function onHide() {
|
|
41
|
+
Animated.timing( animationValue, {
|
|
42
|
+
toValue: 0,
|
|
43
|
+
duration: 150,
|
|
44
|
+
useNativeDriver: true,
|
|
45
|
+
easing: Easing.out( Easing.quad ),
|
|
46
|
+
} ).start( ( { finished } ) => {
|
|
47
|
+
if ( finished && onNoticeHidden ) {
|
|
48
|
+
onNoticeHidden( id );
|
|
49
|
+
}
|
|
50
|
+
} );
|
|
51
|
+
}
|
|
58
52
|
|
|
59
|
-
|
|
53
|
+
function startAnimation() {
|
|
60
54
|
Animated.timing( animationValue, {
|
|
61
|
-
toValue:
|
|
62
|
-
duration:
|
|
55
|
+
toValue: 1,
|
|
56
|
+
duration: 300,
|
|
63
57
|
useNativeDriver: true,
|
|
64
58
|
easing: Easing.out( Easing.quad ),
|
|
65
|
-
} ).start( () => {
|
|
66
|
-
if (
|
|
59
|
+
} ).start( ( { finished } ) => {
|
|
60
|
+
if ( finished && onNoticeHidden ) {
|
|
67
61
|
timer.current = setTimeout( () => {
|
|
68
62
|
onHide();
|
|
69
|
-
},
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if ( ! visible && onNoticeHidden ) {
|
|
73
|
-
onNoticeHidden( id );
|
|
63
|
+
}, HIDE_TIMER );
|
|
74
64
|
}
|
|
75
65
|
} );
|
|
76
|
-
}
|
|
66
|
+
}
|
|
77
67
|
|
|
78
68
|
const noticeSolidStyles = usePreferredColorSchemeStyle(
|
|
79
69
|
styles.noticeSolid,
|
|
@@ -95,25 +85,25 @@ const Notice = ( { onNoticeHidden, content, id, status } ) => {
|
|
|
95
85
|
status === 'error' && errorTextStyles,
|
|
96
86
|
];
|
|
97
87
|
|
|
88
|
+
const containerStyles = [
|
|
89
|
+
styles.notice,
|
|
90
|
+
! Platform.isIOS && noticeSolidStyles,
|
|
91
|
+
{
|
|
92
|
+
width,
|
|
93
|
+
transform: [
|
|
94
|
+
{
|
|
95
|
+
translateY: animationValue.interpolate( {
|
|
96
|
+
inputRange: [ 0, 1 ],
|
|
97
|
+
outputRange: [ -24, 0 ],
|
|
98
|
+
} ),
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
];
|
|
103
|
+
|
|
98
104
|
return (
|
|
99
105
|
<>
|
|
100
|
-
<Animated.View
|
|
101
|
-
style={ [
|
|
102
|
-
styles.notice,
|
|
103
|
-
! isIOS && noticeSolidStyles,
|
|
104
|
-
{
|
|
105
|
-
width,
|
|
106
|
-
transform: [
|
|
107
|
-
{
|
|
108
|
-
translateY: animationValue.interpolate( {
|
|
109
|
-
inputRange: [ 0, 1 ],
|
|
110
|
-
outputRange: [ -24, 0 ],
|
|
111
|
-
} ),
|
|
112
|
-
},
|
|
113
|
-
],
|
|
114
|
-
},
|
|
115
|
-
] }
|
|
116
|
-
>
|
|
106
|
+
<Animated.View style={ containerStyles }>
|
|
117
107
|
<TouchableWithoutFeedback onPress={ onHide }>
|
|
118
108
|
<View style={ styles.noticeContent }>
|
|
119
109
|
<Text numberOfLines={ 3 } style={ textStyles }>
|
|
@@ -121,7 +111,7 @@ const Notice = ( { onNoticeHidden, content, id, status } ) => {
|
|
|
121
111
|
</Text>
|
|
122
112
|
</View>
|
|
123
113
|
</TouchableWithoutFeedback>
|
|
124
|
-
{ isIOS && (
|
|
114
|
+
{ Platform.isIOS && (
|
|
125
115
|
<BlurView
|
|
126
116
|
style={ styles.blurBackground }
|
|
127
117
|
blurType="prominent"
|
|
@@ -6,9 +6,8 @@ import { View } from 'react-native';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { compose } from '@wordpress/compose';
|
|
9
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
10
|
+
import { store as noticesStore } from '@wordpress/notices';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Internal dependencies
|
|
@@ -16,60 +15,37 @@ import { compose } from '@wordpress/compose';
|
|
|
16
15
|
import Notice from './';
|
|
17
16
|
import styles from './style.scss';
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
function NoticeList() {
|
|
19
|
+
const { notices } = useSelect( ( select ) => {
|
|
20
|
+
const { getNotices } = select( noticesStore );
|
|
21
|
+
return {
|
|
22
|
+
notices: getNotices(),
|
|
23
|
+
};
|
|
24
|
+
}, [] );
|
|
24
25
|
|
|
25
|
-
removeNotice(
|
|
26
|
-
|
|
26
|
+
const { removeNotice } = useDispatch( noticesStore );
|
|
27
|
+
|
|
28
|
+
function onRemoveNotice( id ) {
|
|
27
29
|
removeNotice( id );
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if ( ! notices.length ) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
32
|
+
if ( ! notices.length ) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
.reverse()
|
|
42
|
-
.map( ( notice ) => (
|
|
43
|
-
<Notice
|
|
44
|
-
{ ...notice }
|
|
45
|
-
key={ notice.id }
|
|
46
|
-
onNoticeHidden={ this.removeNotice }
|
|
47
|
-
></Notice>
|
|
48
|
-
) )
|
|
49
|
-
) : (
|
|
36
|
+
return (
|
|
37
|
+
<View style={ styles.list }>
|
|
38
|
+
{ notices.map( ( notice ) => {
|
|
39
|
+
return (
|
|
50
40
|
<Notice
|
|
51
|
-
{ ...
|
|
52
|
-
|
|
41
|
+
{ ...notice }
|
|
42
|
+
key={ notice.id }
|
|
43
|
+
onNoticeHidden={ onRemoveNotice }
|
|
53
44
|
></Notice>
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
45
|
+
);
|
|
46
|
+
} ) }
|
|
47
|
+
</View>
|
|
48
|
+
);
|
|
58
49
|
}
|
|
59
50
|
|
|
60
|
-
export default
|
|
61
|
-
withSelect( ( select ) => {
|
|
62
|
-
const { getNotices } = select( 'core/notices' );
|
|
63
|
-
|
|
64
|
-
return {
|
|
65
|
-
notices: getNotices(),
|
|
66
|
-
};
|
|
67
|
-
} ),
|
|
68
|
-
withDispatch( ( dispatch ) => {
|
|
69
|
-
const { removeNotice } = dispatch( 'core/notices' );
|
|
70
|
-
|
|
71
|
-
return {
|
|
72
|
-
removeNotice,
|
|
73
|
-
};
|
|
74
|
-
} ),
|
|
75
|
-
] )( NoticeList );
|
|
51
|
+
export default NoticeList;
|
|
@@ -56,11 +56,36 @@ function NameInput( { value, onChange, label } ) {
|
|
|
56
56
|
);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Returns a temporary name for a palette item in the format "Color + id".
|
|
61
|
+
* To ensure there are no duplicate ids, this function checks all slugs for temporary names.
|
|
62
|
+
* It expects slugs to be in the format: slugPrefix + color- + number.
|
|
63
|
+
* It then sets the id component of the new name based on the incremented id of the highest existing slug id.
|
|
64
|
+
*
|
|
65
|
+
* @param {string} elements An array of color palette items.
|
|
66
|
+
* @param {string} slugPrefix The slug prefix used to match the element slug.
|
|
67
|
+
*
|
|
68
|
+
* @return {string} A unique name for a palette item.
|
|
69
|
+
*/
|
|
70
|
+
export function getNameForPosition( elements, slugPrefix ) {
|
|
71
|
+
const temporaryNameRegex = new RegExp( `^${ slugPrefix }color-([\\d]+)$` );
|
|
72
|
+
const position = elements.reduce( ( previousValue, currentValue ) => {
|
|
73
|
+
if ( typeof currentValue?.slug === 'string' ) {
|
|
74
|
+
const matches = currentValue?.slug.match( temporaryNameRegex );
|
|
75
|
+
if ( matches ) {
|
|
76
|
+
const id = parseInt( matches[ 1 ], 10 );
|
|
77
|
+
if ( id >= previousValue ) {
|
|
78
|
+
return id + 1;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return previousValue;
|
|
83
|
+
}, 1 );
|
|
84
|
+
|
|
60
85
|
return sprintf(
|
|
61
86
|
/* translators: %s: is a temporary id for a custom color */
|
|
62
|
-
__( 'Color %s
|
|
63
|
-
position
|
|
87
|
+
__( 'Color %s' ),
|
|
88
|
+
position
|
|
64
89
|
);
|
|
65
90
|
}
|
|
66
91
|
|
|
@@ -131,7 +156,8 @@ function Option( {
|
|
|
131
156
|
</HStack>
|
|
132
157
|
{ isEditing && (
|
|
133
158
|
<Popover
|
|
134
|
-
|
|
159
|
+
placement="left-start"
|
|
160
|
+
offset={ 20 }
|
|
135
161
|
className="components-palette-edit__popover"
|
|
136
162
|
>
|
|
137
163
|
{ ! isGradient && (
|
|
@@ -163,9 +189,10 @@ function Option( {
|
|
|
163
189
|
);
|
|
164
190
|
}
|
|
165
191
|
|
|
166
|
-
function isTemporaryElement( slugPrefix, { slug, color, gradient }
|
|
192
|
+
function isTemporaryElement( slugPrefix, { slug, color, gradient } ) {
|
|
193
|
+
const regex = new RegExp( `^${ slugPrefix }color-([\\d]+)$` );
|
|
167
194
|
return (
|
|
168
|
-
|
|
195
|
+
regex.test( slug ) &&
|
|
169
196
|
( ( !! color && color === DEFAULT_COLOR ) ||
|
|
170
197
|
( !! gradient && gradient === DEFAULT_GRADIENT ) )
|
|
171
198
|
);
|
|
@@ -193,8 +220,7 @@ function PaletteEditListView( {
|
|
|
193
220
|
)
|
|
194
221
|
) {
|
|
195
222
|
const newElements = elementsReference.current.filter(
|
|
196
|
-
( element,
|
|
197
|
-
! isTemporaryElement( slugPrefix, element, index )
|
|
223
|
+
( element ) => ! isTemporaryElement( slugPrefix, element )
|
|
198
224
|
);
|
|
199
225
|
onChange( newElements.length ? newElements : undefined );
|
|
200
226
|
}
|
|
@@ -309,8 +335,10 @@ export default function PaletteEdit( {
|
|
|
309
335
|
}
|
|
310
336
|
onClick={ () => {
|
|
311
337
|
const tempOptionName = getNameForPosition(
|
|
312
|
-
|
|
338
|
+
elements,
|
|
339
|
+
slugPrefix
|
|
313
340
|
);
|
|
341
|
+
|
|
314
342
|
onChange( [
|
|
315
343
|
...elements,
|
|
316
344
|
{
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
@include break-medium() {
|
|
2
|
-
.components-palette-edit__popover.components-popover .components-popover__content.components-popover__content.components-popover__content {
|
|
3
|
-
margin-right: #{ math.div($sidebar-width, 2) + $grid-unit-20 };
|
|
4
|
-
margin-top: #{ -($grid-unit-60 + $border-width) };
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
|
|
8
1
|
.components-palette-edit__popover {
|
|
9
2
|
.components-custom-gradient-picker__gradient-bar {
|
|
10
3
|
margin-top: 0;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { getNameForPosition } from '../';
|
|
5
|
+
|
|
6
|
+
describe( 'getNameForPosition', () => {
|
|
7
|
+
test( 'should return 1 by default', () => {
|
|
8
|
+
const slugPrefix = 'test-';
|
|
9
|
+
const elements = [];
|
|
10
|
+
|
|
11
|
+
expect( getNameForPosition( elements, slugPrefix ) ).toEqual(
|
|
12
|
+
'Color 1'
|
|
13
|
+
);
|
|
14
|
+
} );
|
|
15
|
+
|
|
16
|
+
test( 'should return a new color name with an incremented slug id', () => {
|
|
17
|
+
const slugPrefix = 'test-';
|
|
18
|
+
const elements = [
|
|
19
|
+
{
|
|
20
|
+
slug: 'test-color-1',
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
expect( getNameForPosition( elements, slugPrefix ) ).toEqual(
|
|
25
|
+
'Color 2'
|
|
26
|
+
);
|
|
27
|
+
} );
|
|
28
|
+
|
|
29
|
+
test( 'should ignore user-defined color names', () => {
|
|
30
|
+
const slugPrefix = 'test-';
|
|
31
|
+
const elements = [
|
|
32
|
+
{
|
|
33
|
+
slug: 'a-sweet-color-2',
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
expect( getNameForPosition( elements, slugPrefix ) ).toEqual(
|
|
38
|
+
'Color 1'
|
|
39
|
+
);
|
|
40
|
+
} );
|
|
41
|
+
|
|
42
|
+
test( 'should return a new color name with an incremented slug id one higher than the current highest', () => {
|
|
43
|
+
const slugPrefix = 'test-';
|
|
44
|
+
const elements = [
|
|
45
|
+
{
|
|
46
|
+
slug: 'test-color-1',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
slug: 'test-color-2',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
slug: 'test-color-150',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
slug: 'a-sweet-color-100',
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
expect( getNameForPosition( elements, slugPrefix ) ).toEqual(
|
|
60
|
+
'Color 151'
|
|
61
|
+
);
|
|
62
|
+
} );
|
|
63
|
+
} );
|
package/src/panel/README.md
CHANGED
|
@@ -161,7 +161,7 @@ Props that are passed to the `Button` component in the `PanelBodyTitle` within t
|
|
|
161
161
|
|
|
162
162
|
#### PanelRow
|
|
163
163
|
|
|
164
|
-
The is a generic container for panel content. Default styles add a top margin and arrange items in a flex row.
|
|
164
|
+
The `PanelRow` is a generic container for panel content. Default styles add a top margin and arrange items in a flex row.
|
|
165
165
|
|
|
166
166
|
##### Props
|
|
167
167
|
|
|
@@ -14,6 +14,13 @@ import { useResizeObserver } from '@wordpress/compose';
|
|
|
14
14
|
*/
|
|
15
15
|
import Placeholder from '../';
|
|
16
16
|
|
|
17
|
+
jest.mock( '@wordpress/compose', () => {
|
|
18
|
+
return {
|
|
19
|
+
...jest.requireActual( '@wordpress/compose' ),
|
|
20
|
+
useResizeObserver: jest.fn( () => [] ),
|
|
21
|
+
};
|
|
22
|
+
} );
|
|
23
|
+
|
|
17
24
|
describe( 'Placeholder', () => {
|
|
18
25
|
beforeEach( () => {
|
|
19
26
|
useResizeObserver.mockReturnValue( [
|