@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
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { Moment } from 'moment';
|
|
5
|
+
import type { ReactNode } from 'react';
|
|
6
|
+
|
|
7
|
+
export type UpdateOnBlurAsIntegerFieldProps = {
|
|
8
|
+
/**
|
|
9
|
+
* The value of the integer field.
|
|
10
|
+
*/
|
|
11
|
+
value: number | string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Called when the field is changed.
|
|
15
|
+
*/
|
|
16
|
+
onUpdate: ( value: number ) => void;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Children to render inside the field.
|
|
20
|
+
*/
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export type TimePickerProps = {
|
|
25
|
+
/**
|
|
26
|
+
* The initial current time the time picker should render.
|
|
27
|
+
*/
|
|
28
|
+
currentTime?: Date | string | number | null;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Whether we use a 12-hour clock. With a 12-hour clock, an AM/PM widget is
|
|
32
|
+
* displayed and the time format is assumed to be `MM-DD-YYYY` (as opposed
|
|
33
|
+
* to the default format `DD-MM-YYYY`).
|
|
34
|
+
*/
|
|
35
|
+
is12Hour?: boolean;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The function called when a new time has been selected. It is passed the
|
|
39
|
+
* time as an argument.
|
|
40
|
+
*/
|
|
41
|
+
onChange?: ( time: string ) => void;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type DatePickerEvent = {
|
|
45
|
+
/**
|
|
46
|
+
* The date of the event.
|
|
47
|
+
*/
|
|
48
|
+
date: Date;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export type DatePickerDayProps = {
|
|
52
|
+
/**
|
|
53
|
+
* The day to display.
|
|
54
|
+
*/
|
|
55
|
+
day: Moment;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* List of events to show on this day.
|
|
59
|
+
*
|
|
60
|
+
* @default []
|
|
61
|
+
*/
|
|
62
|
+
events?: DatePickerEvent[];
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export type DatePickerProps = {
|
|
66
|
+
/**
|
|
67
|
+
* The current date and time at initialization. Optionally pass in a `null`
|
|
68
|
+
* value to specify no date is currently selected.
|
|
69
|
+
*/
|
|
70
|
+
currentDate?: Date | string | number | null;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* The function called when a new date has been selected. It is passed the
|
|
74
|
+
* date as an argument.
|
|
75
|
+
*/
|
|
76
|
+
onChange?: ( date: string ) => void;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* A callback function which receives a Date object representing a day as an
|
|
80
|
+
* argument, and should return a Boolean to signify if the day is valid or
|
|
81
|
+
* not.
|
|
82
|
+
*/
|
|
83
|
+
isInvalidDate?: ( date: Date ) => boolean;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* A callback invoked when selecting the previous/next month in the date
|
|
87
|
+
* picker. The callback receives the new month date in the ISO format as an
|
|
88
|
+
* argument.
|
|
89
|
+
*/
|
|
90
|
+
onMonthPreviewed?: ( date: string ) => void;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* List of events to show in the date picker. Each event will appear as a
|
|
94
|
+
* dot on the day of the event.
|
|
95
|
+
*/
|
|
96
|
+
events?: DatePickerEvent[];
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export type DateTimePickerProps = Omit< DatePickerProps, 'onChange' > &
|
|
100
|
+
Omit< TimePickerProps, 'currentTime' | 'onChange' > & {
|
|
101
|
+
/**
|
|
102
|
+
* The function called when a new date or time has been selected. It is
|
|
103
|
+
* passed the date and time as an argument.
|
|
104
|
+
*/
|
|
105
|
+
onChange?: ( date: string | null ) => void;
|
|
106
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import moment from 'moment';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Create a Moment object from a date string. With no date supplied, default to
|
|
8
|
+
* a Moment object representing now. If a null value is passed, return a null
|
|
9
|
+
* value.
|
|
10
|
+
*
|
|
11
|
+
* @param [date] Date representing the currently selected
|
|
12
|
+
* date or null to signify no selection.
|
|
13
|
+
* @return Moment object for selected date or null.
|
|
14
|
+
*/
|
|
15
|
+
export const getMomentDate = ( date?: Date | string | number | null ) => {
|
|
16
|
+
if ( null === date ) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return date ? moment( date ) : moment();
|
|
20
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
3
|
exports[`DimensionControl rendering renders with custom sizes 1`] = `
|
|
4
|
-
<ForwardRef(
|
|
4
|
+
<ForwardRef(UnforwardedSelectControl)
|
|
5
5
|
className="block-editor-dimension-control"
|
|
6
6
|
hideLabelFromVision={false}
|
|
7
7
|
label={
|
|
@@ -34,7 +34,7 @@ exports[`DimensionControl rendering renders with custom sizes 1`] = `
|
|
|
34
34
|
`;
|
|
35
35
|
|
|
36
36
|
exports[`DimensionControl rendering renders with defaults 1`] = `
|
|
37
|
-
<ForwardRef(
|
|
37
|
+
<ForwardRef(UnforwardedSelectControl)
|
|
38
38
|
className="block-editor-dimension-control"
|
|
39
39
|
hideLabelFromVision={false}
|
|
40
40
|
label={
|
|
@@ -75,7 +75,7 @@ exports[`DimensionControl rendering renders with defaults 1`] = `
|
|
|
75
75
|
`;
|
|
76
76
|
|
|
77
77
|
exports[`DimensionControl rendering renders with icon and custom icon label 1`] = `
|
|
78
|
-
<ForwardRef(
|
|
78
|
+
<ForwardRef(UnforwardedSelectControl)
|
|
79
79
|
className="block-editor-dimension-control"
|
|
80
80
|
hideLabelFromVision={false}
|
|
81
81
|
label={
|
|
@@ -128,7 +128,7 @@ exports[`DimensionControl rendering renders with icon and custom icon label 1`]
|
|
|
128
128
|
`;
|
|
129
129
|
|
|
130
130
|
exports[`DimensionControl rendering renders with icon and default icon label 1`] = `
|
|
131
|
-
<ForwardRef(
|
|
131
|
+
<ForwardRef(UnforwardedSelectControl)
|
|
132
132
|
className="block-editor-dimension-control"
|
|
133
133
|
hideLabelFromVision={false}
|
|
134
134
|
label={
|
package/src/disabled/index.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { includes, debounce } from 'lodash';
|
|
5
4
|
import classnames from 'classnames';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* WordPress dependencies
|
|
9
8
|
*/
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
useCallback,
|
|
13
|
-
useLayoutEffect,
|
|
14
|
-
useRef,
|
|
15
|
-
} from '@wordpress/element';
|
|
16
|
-
import { focus } from '@wordpress/dom';
|
|
9
|
+
import { useDisabled } from '@wordpress/compose';
|
|
10
|
+
import { createContext } from '@wordpress/element';
|
|
17
11
|
|
|
18
12
|
/**
|
|
19
13
|
* Internal dependencies
|
|
@@ -23,25 +17,6 @@ import { StyledWrapper } from './styles/disabled-styles';
|
|
|
23
17
|
const Context = createContext( false );
|
|
24
18
|
const { Consumer, Provider } = Context;
|
|
25
19
|
|
|
26
|
-
/**
|
|
27
|
-
* Names of control nodes which qualify for disabled behavior.
|
|
28
|
-
*
|
|
29
|
-
* See WHATWG HTML Standard: 4.10.18.5: "Enabling and disabling form controls: the disabled attribute".
|
|
30
|
-
*
|
|
31
|
-
* @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#enabling-and-disabling-form-controls:-the-disabled-attribute
|
|
32
|
-
*
|
|
33
|
-
* @type {string[]}
|
|
34
|
-
*/
|
|
35
|
-
const DISABLED_ELIGIBLE_NODE_NAMES = [
|
|
36
|
-
'BUTTON',
|
|
37
|
-
'FIELDSET',
|
|
38
|
-
'INPUT',
|
|
39
|
-
'OPTGROUP',
|
|
40
|
-
'OPTION',
|
|
41
|
-
'SELECT',
|
|
42
|
-
'TEXTAREA',
|
|
43
|
-
];
|
|
44
|
-
|
|
45
20
|
/**
|
|
46
21
|
* @typedef OwnProps
|
|
47
22
|
* @property {string} [className] Classname for the disabled element.
|
|
@@ -54,68 +29,8 @@ const DISABLED_ELIGIBLE_NODE_NAMES = [
|
|
|
54
29
|
* @return {JSX.Element} Element wrapping the children to disable them when isDisabled is true.
|
|
55
30
|
*/
|
|
56
31
|
function Disabled( { className, children, isDisabled = true, ...props } ) {
|
|
57
|
-
/** @type {import('react').
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
const disable = () => {
|
|
61
|
-
if ( ! node.current ) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
focus.focusable.find( node.current ).forEach( ( focusable ) => {
|
|
66
|
-
if (
|
|
67
|
-
includes( DISABLED_ELIGIBLE_NODE_NAMES, focusable.nodeName )
|
|
68
|
-
) {
|
|
69
|
-
focusable.setAttribute( 'disabled', '' );
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if ( focusable.nodeName === 'A' ) {
|
|
73
|
-
focusable.setAttribute( 'tabindex', '-1' );
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const tabIndex = focusable.getAttribute( 'tabindex' );
|
|
77
|
-
if ( tabIndex !== null && tabIndex !== '-1' ) {
|
|
78
|
-
focusable.removeAttribute( 'tabindex' );
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if ( focusable.hasAttribute( 'contenteditable' ) ) {
|
|
82
|
-
focusable.setAttribute( 'contenteditable', 'false' );
|
|
83
|
-
}
|
|
84
|
-
} );
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
// Debounce re-disable since disabling process itself will incur
|
|
88
|
-
// additional mutations which should be ignored.
|
|
89
|
-
const debouncedDisable = useCallback(
|
|
90
|
-
debounce( disable, undefined, { leading: true } ),
|
|
91
|
-
[]
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
useLayoutEffect( () => {
|
|
95
|
-
if ( ! isDisabled ) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
disable();
|
|
100
|
-
|
|
101
|
-
/** @type {MutationObserver | undefined} */
|
|
102
|
-
let observer;
|
|
103
|
-
if ( node.current ) {
|
|
104
|
-
observer = new window.MutationObserver( debouncedDisable );
|
|
105
|
-
observer.observe( node.current, {
|
|
106
|
-
childList: true,
|
|
107
|
-
attributes: true,
|
|
108
|
-
subtree: true,
|
|
109
|
-
} );
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return () => {
|
|
113
|
-
if ( observer ) {
|
|
114
|
-
observer.disconnect();
|
|
115
|
-
}
|
|
116
|
-
debouncedDisable.cancel();
|
|
117
|
-
};
|
|
118
|
-
}, [] );
|
|
32
|
+
/** @type {import('react').RefCallback<HTMLDivElement>} */
|
|
33
|
+
const ref = useDisabled();
|
|
119
34
|
|
|
120
35
|
if ( ! isDisabled ) {
|
|
121
36
|
return <Provider value={ false }>{ children }</Provider>;
|
|
@@ -124,7 +39,7 @@ function Disabled( { className, children, isDisabled = true, ...props } ) {
|
|
|
124
39
|
return (
|
|
125
40
|
<Provider value={ true }>
|
|
126
41
|
<StyledWrapper
|
|
127
|
-
ref={
|
|
42
|
+
ref={ ref }
|
|
128
43
|
className={ classnames( className, 'components-disabled' ) }
|
|
129
44
|
{ ...props }
|
|
130
45
|
>
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
Gesture,
|
|
6
|
+
GestureDetector,
|
|
7
|
+
LongPressGestureHandler,
|
|
8
|
+
} from 'react-native-gesture-handler';
|
|
9
|
+
import Animated, {
|
|
10
|
+
useSharedValue,
|
|
11
|
+
runOnJS,
|
|
12
|
+
useAnimatedReaction,
|
|
13
|
+
useAnimatedGestureHandler,
|
|
14
|
+
} from 'react-native-reanimated';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* WordPress dependencies
|
|
18
|
+
*/
|
|
19
|
+
import { createContext, useContext, useRef, useMemo } from '@wordpress/element';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Internal dependencies
|
|
23
|
+
*/
|
|
24
|
+
import styles from './style.scss';
|
|
25
|
+
|
|
26
|
+
const Context = createContext( {} );
|
|
27
|
+
const { Provider } = Context;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Draggable component.
|
|
31
|
+
*
|
|
32
|
+
* @param {Object} props Component props.
|
|
33
|
+
* @param {JSX.Element} props.children Children to be rendered.
|
|
34
|
+
* @param {Function} [props.onDragEnd] Callback when dragging ends.
|
|
35
|
+
* @param {Function} [props.onDragOver] Callback when dragging happens over an element.
|
|
36
|
+
* @param {Function} [props.onDragStart] Callback when dragging starts.
|
|
37
|
+
*
|
|
38
|
+
* @return {JSX.Element} The component to be rendered.
|
|
39
|
+
*/
|
|
40
|
+
const Draggable = ( { children, onDragEnd, onDragOver, onDragStart } ) => {
|
|
41
|
+
const isDragging = useSharedValue( false );
|
|
42
|
+
const isPanActive = useSharedValue( false );
|
|
43
|
+
const draggingId = useSharedValue( '' );
|
|
44
|
+
const panGestureRef = useRef();
|
|
45
|
+
const currentFirstTouchId = useSharedValue( null );
|
|
46
|
+
|
|
47
|
+
const initialPosition = {
|
|
48
|
+
x: useSharedValue( 0 ),
|
|
49
|
+
y: useSharedValue( 0 ),
|
|
50
|
+
};
|
|
51
|
+
const lastPosition = {
|
|
52
|
+
x: useSharedValue( 0 ),
|
|
53
|
+
y: useSharedValue( 0 ),
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
useAnimatedReaction(
|
|
57
|
+
() => isDragging.value,
|
|
58
|
+
( result, previous ) => {
|
|
59
|
+
if ( result === previous || previous === null ) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if ( result ) {
|
|
64
|
+
if ( onDragStart ) {
|
|
65
|
+
onDragStart( {
|
|
66
|
+
x: initialPosition.x.value,
|
|
67
|
+
y: initialPosition.y.value,
|
|
68
|
+
id: draggingId.value,
|
|
69
|
+
} );
|
|
70
|
+
}
|
|
71
|
+
} else if ( onDragEnd ) {
|
|
72
|
+
onDragEnd( {
|
|
73
|
+
x: lastPosition.x.value,
|
|
74
|
+
y: lastPosition.y.value,
|
|
75
|
+
id: draggingId.value,
|
|
76
|
+
} );
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
function getFirstTouchEvent( event ) {
|
|
82
|
+
'worklet';
|
|
83
|
+
|
|
84
|
+
return event.allTouches.find(
|
|
85
|
+
( touch ) => touch.id === currentFirstTouchId.value
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const panGesture = Gesture.Pan()
|
|
90
|
+
.manualActivation( true )
|
|
91
|
+
.onTouchesDown( ( event ) => {
|
|
92
|
+
if ( ! currentFirstTouchId.value ) {
|
|
93
|
+
const firstEvent = event.allTouches[ 0 ];
|
|
94
|
+
const { x = 0, y = 0 } = firstEvent;
|
|
95
|
+
|
|
96
|
+
currentFirstTouchId.value = firstEvent.id;
|
|
97
|
+
|
|
98
|
+
initialPosition.x.value = x;
|
|
99
|
+
initialPosition.y.value = y;
|
|
100
|
+
}
|
|
101
|
+
} )
|
|
102
|
+
.onTouchesMove( ( event, state ) => {
|
|
103
|
+
if ( ! isPanActive.value && isDragging.value ) {
|
|
104
|
+
isPanActive.value = true;
|
|
105
|
+
state.activate();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if ( isPanActive.value && isDragging.value ) {
|
|
109
|
+
const firstEvent = getFirstTouchEvent( event );
|
|
110
|
+
|
|
111
|
+
if ( ! firstEvent ) {
|
|
112
|
+
state.end();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
lastPosition.x.value = firstEvent.x;
|
|
117
|
+
lastPosition.y.value = firstEvent.y;
|
|
118
|
+
|
|
119
|
+
if ( onDragOver ) {
|
|
120
|
+
onDragOver( firstEvent );
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
} )
|
|
124
|
+
.onTouchesCancelled( ( _event, state ) => {
|
|
125
|
+
state.end();
|
|
126
|
+
} )
|
|
127
|
+
.onEnd( () => {
|
|
128
|
+
currentFirstTouchId.value = null;
|
|
129
|
+
isPanActive.value = false;
|
|
130
|
+
isDragging.value = false;
|
|
131
|
+
} )
|
|
132
|
+
.withRef( panGestureRef )
|
|
133
|
+
.shouldCancelWhenOutside( false );
|
|
134
|
+
|
|
135
|
+
const providerValue = useMemo( () => {
|
|
136
|
+
return { panGestureRef, isDragging, isPanActive, draggingId };
|
|
137
|
+
}, [] );
|
|
138
|
+
|
|
139
|
+
return (
|
|
140
|
+
<GestureDetector gesture={ panGesture }>
|
|
141
|
+
<Animated.View style={ styles.draggable__container }>
|
|
142
|
+
<Provider value={ providerValue }>{ children }</Provider>
|
|
143
|
+
</Animated.View>
|
|
144
|
+
</GestureDetector>
|
|
145
|
+
);
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Draggable trigger component.
|
|
150
|
+
*
|
|
151
|
+
* This component acts as the trigger for the dragging functionality.
|
|
152
|
+
*
|
|
153
|
+
* @param {Object} props Component props.
|
|
154
|
+
* @param {JSX.Element} props.children Children to be rendered.
|
|
155
|
+
* @param {*} props.id Identifier passed within the event callbacks.
|
|
156
|
+
* @param {boolean} [props.enabled] Enables the long-press gesture.
|
|
157
|
+
* @param {number} [props.maxDistance] Maximum distance, that defines how far the finger is allowed to travel during a long press gesture.
|
|
158
|
+
* @param {number} [props.minDuration] Minimum time, that a finger must remain pressed on the corresponding view.
|
|
159
|
+
* @param {Function} [props.onLongPress] Callback when long-press gesture is triggered over an element.
|
|
160
|
+
* @param {Function} [props.onLongPressEnd] Callback when long-press gesture ends.
|
|
161
|
+
*
|
|
162
|
+
* @return {JSX.Element} The component to be rendered.
|
|
163
|
+
*/
|
|
164
|
+
const DraggableTrigger = ( {
|
|
165
|
+
children,
|
|
166
|
+
enabled = true,
|
|
167
|
+
id,
|
|
168
|
+
maxDistance = 1000,
|
|
169
|
+
minDuration = 500,
|
|
170
|
+
onLongPress,
|
|
171
|
+
onLongPressEnd,
|
|
172
|
+
} ) => {
|
|
173
|
+
const { panGestureRef, isDragging, isPanActive, draggingId } = useContext(
|
|
174
|
+
Context
|
|
175
|
+
);
|
|
176
|
+
|
|
177
|
+
const gestureHandler = useAnimatedGestureHandler( {
|
|
178
|
+
onActive: () => {
|
|
179
|
+
if ( isDragging.value ) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
isDragging.value = true;
|
|
184
|
+
draggingId.value = id;
|
|
185
|
+
if ( onLongPress ) {
|
|
186
|
+
runOnJS( onLongPress )( id );
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
onEnd: () => {
|
|
190
|
+
if ( ! isPanActive.value ) {
|
|
191
|
+
isDragging.value = false;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if ( onLongPressEnd ) {
|
|
195
|
+
runOnJS( onLongPressEnd )( id );
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
} );
|
|
199
|
+
|
|
200
|
+
return (
|
|
201
|
+
<LongPressGestureHandler
|
|
202
|
+
enabled={ enabled }
|
|
203
|
+
minDurationMs={ minDuration }
|
|
204
|
+
maxDist={ maxDistance }
|
|
205
|
+
simultaneousHandlers={ panGestureRef }
|
|
206
|
+
shouldCancelWhenOutside={ false }
|
|
207
|
+
onGestureEvent={ gestureHandler }
|
|
208
|
+
>
|
|
209
|
+
{ children }
|
|
210
|
+
</LongPressGestureHandler>
|
|
211
|
+
);
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export { DraggableTrigger };
|
|
215
|
+
export default Draggable;
|
package/src/dropdown/index.js
CHANGED
|
@@ -31,12 +31,12 @@ export default function Dropdown( props ) {
|
|
|
31
31
|
const {
|
|
32
32
|
renderContent,
|
|
33
33
|
renderToggle,
|
|
34
|
-
position = 'bottom right',
|
|
35
34
|
className,
|
|
36
35
|
contentClassName,
|
|
37
36
|
expandOnMobile,
|
|
38
37
|
headerTitle,
|
|
39
38
|
focusOnMount,
|
|
39
|
+
position,
|
|
40
40
|
popoverProps,
|
|
41
41
|
onClose,
|
|
42
42
|
onToggle,
|
|
@@ -82,6 +82,10 @@ export default function Dropdown( props ) {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
const args = { isOpen, onToggle: toggle, onClose: close };
|
|
85
|
+
const hasAnchorRef =
|
|
86
|
+
!! popoverProps?.anchorRef ||
|
|
87
|
+
!! popoverProps?.getAnchorRect ||
|
|
88
|
+
!! popoverProps?.anchorRect;
|
|
85
89
|
|
|
86
90
|
return (
|
|
87
91
|
<div
|
|
@@ -101,10 +105,11 @@ export default function Dropdown( props ) {
|
|
|
101
105
|
expandOnMobile={ expandOnMobile }
|
|
102
106
|
headerTitle={ headerTitle }
|
|
103
107
|
focusOnMount={ focusOnMount }
|
|
108
|
+
// This value is used to ensure that the dropdowns
|
|
109
|
+
// align with the editor header by default.
|
|
110
|
+
offset={ 13 }
|
|
111
|
+
anchorRef={ ! hasAnchorRef ? containerRef : undefined }
|
|
104
112
|
{ ...popoverProps }
|
|
105
|
-
anchorRef={
|
|
106
|
-
popoverProps?.anchorRef ?? containerRef.current
|
|
107
|
-
}
|
|
108
113
|
className={ classnames(
|
|
109
114
|
'components-dropdown__content',
|
|
110
115
|
popoverProps ? popoverProps.className : undefined,
|
package/src/dropdown/style.scss
CHANGED
|
@@ -105,7 +105,7 @@ function FocalPointPicker( props ) {
|
|
|
105
105
|
// coordinates to workaround a bug affecting Android's PanResponder.
|
|
106
106
|
// Specifically, dragging the handle outside the bounds of the image
|
|
107
107
|
// results in inaccurate locationX and locationY coordinates to be
|
|
108
|
-
// reported. https://
|
|
108
|
+
// reported. https://github.com/facebook/react-native/issues/15290#issuecomment-435494944
|
|
109
109
|
const x = pageX - locationPageOffsetX;
|
|
110
110
|
const y = pageY - locationPageOffsetY;
|
|
111
111
|
onChange( {
|
|
@@ -116,7 +116,7 @@ function FocalPointPicker( props ) {
|
|
|
116
116
|
} );
|
|
117
117
|
// Slider (child of RangeCell) is uncontrolled, so we must increment a
|
|
118
118
|
// key to re-mount and sync the pan gesture values to the sliders
|
|
119
|
-
// https://
|
|
119
|
+
// https://github.com/callstack/react-native-slider/tree/v3.0.3#value
|
|
120
120
|
setSliderKey( ( prevState ) => prevState + 1 );
|
|
121
121
|
},
|
|
122
122
|
} ),
|
|
@@ -193,7 +193,7 @@ function FocalPointPicker( props ) {
|
|
|
193
193
|
setVideoNaturalSize( { height, width } );
|
|
194
194
|
setDisplayPlaceholder( false );
|
|
195
195
|
// Avoid invisible, paused video on Android, presumably related to
|
|
196
|
-
// https://
|
|
196
|
+
// https://github.com/react-native-video/react-native-video/issues/1979
|
|
197
197
|
videoRef?.current.seek( 0 );
|
|
198
198
|
};
|
|
199
199
|
const onXCoordinateChange = ( x ) =>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { render
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
5
|
import userEvent from '@testing-library/user-event';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -14,16 +14,6 @@ import FormFileUpload from '../';
|
|
|
14
14
|
*/
|
|
15
15
|
const { File } = window;
|
|
16
16
|
|
|
17
|
-
function render( jsx ) {
|
|
18
|
-
return {
|
|
19
|
-
user: userEvent.setup( {
|
|
20
|
-
// Avoids timeout errors (https://github.com/testing-library/user-event/issues/565#issuecomment-1064579531).
|
|
21
|
-
delay: null,
|
|
22
|
-
} ),
|
|
23
|
-
...RTLrender( jsx ),
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
17
|
// @testing-library/user-event considers changing <input type="file"> to a string as a change, but it do not occur on real browsers, so the comparisons will be against this result
|
|
28
18
|
const fakePath = expect.objectContaining( {
|
|
29
19
|
target: expect.objectContaining( {
|
|
@@ -32,6 +22,15 @@ const fakePath = expect.objectContaining( {
|
|
|
32
22
|
} );
|
|
33
23
|
|
|
34
24
|
describe( 'FormFileUpload', () => {
|
|
25
|
+
beforeEach( () => {
|
|
26
|
+
jest.useFakeTimers();
|
|
27
|
+
} );
|
|
28
|
+
|
|
29
|
+
afterEach( () => {
|
|
30
|
+
jest.runOnlyPendingTimers();
|
|
31
|
+
jest.useRealTimers();
|
|
32
|
+
} );
|
|
33
|
+
|
|
35
34
|
it( 'should show an Icon Button and a hidden input', () => {
|
|
36
35
|
render( <FormFileUpload>My Upload Button</FormFileUpload> );
|
|
37
36
|
|
|
@@ -42,9 +41,13 @@ describe( 'FormFileUpload', () => {
|
|
|
42
41
|
} );
|
|
43
42
|
|
|
44
43
|
it( 'should not fire a change event after selecting the same file', async () => {
|
|
44
|
+
const user = userEvent.setup( {
|
|
45
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
46
|
+
} );
|
|
47
|
+
|
|
45
48
|
const onChange = jest.fn();
|
|
46
49
|
|
|
47
|
-
|
|
50
|
+
render(
|
|
48
51
|
<FormFileUpload onChange={ onChange }>
|
|
49
52
|
My Upload Button
|
|
50
53
|
</FormFileUpload>
|
|
@@ -65,9 +68,13 @@ describe( 'FormFileUpload', () => {
|
|
|
65
68
|
} );
|
|
66
69
|
|
|
67
70
|
it( 'should fire a change event after selecting the same file if the value was reset in between', async () => {
|
|
71
|
+
const user = userEvent.setup( {
|
|
72
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
73
|
+
} );
|
|
74
|
+
|
|
68
75
|
const onChange = jest.fn();
|
|
69
76
|
|
|
70
|
-
|
|
77
|
+
render(
|
|
71
78
|
<FormFileUpload
|
|
72
79
|
onClick={ jest.fn( ( e ) => ( e.target.value = '' ) ) }
|
|
73
80
|
onChange={ onChange }
|
package/src/heading/hook.ts
CHANGED
|
@@ -70,7 +70,7 @@ export function useHeading(
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
const textProps = useText( {
|
|
73
|
-
color: COLORS.
|
|
73
|
+
color: COLORS.gray[ 900 ],
|
|
74
74
|
size: getHeadingFontSize( level ),
|
|
75
75
|
isBlock: true,
|
|
76
76
|
weight: CONFIG.fontWeightHeading as import('react').CSSProperties[ 'fontWeight' ],
|
|
@@ -5,7 +5,7 @@ exports[`props should render correctly 1`] = `
|
|
|
5
5
|
color: #1e1e1e;
|
|
6
6
|
line-height: 1.2;
|
|
7
7
|
margin: 0;
|
|
8
|
-
color: #
|
|
8
|
+
color: #1e1e1e;
|
|
9
9
|
font-size: calc(1.95 * 13px);
|
|
10
10
|
font-weight: 600;
|
|
11
11
|
display: block;
|
|
@@ -27,7 +27,7 @@ Snapshot Diff:
|
|
|
27
27
|
|
|
28
28
|
Array [
|
|
29
29
|
Object {
|
|
30
|
-
"color": "#
|
|
30
|
+
"color": "#1e1e1e",
|
|
31
31
|
"display": "block",
|
|
32
32
|
- "font-size": "calc(1.25 * 13px)",
|
|
33
33
|
+ "font-size": "calc(1.95 * 13px)",
|
|
@@ -45,7 +45,7 @@ Snapshot Diff:
|
|
|
45
45
|
|
|
46
46
|
Array [
|
|
47
47
|
Object {
|
|
48
|
-
"color": "#
|
|
48
|
+
"color": "#1e1e1e",
|
|
49
49
|
"display": "block",
|
|
50
50
|
- "font-size": "calc(1.25 * 13px)",
|
|
51
51
|
+ "font-size": "calc(1.95 * 13px)",
|
package/src/index.js
CHANGED
|
@@ -71,7 +71,6 @@ export { DuotoneSwatch, DuotonePicker } from './duotone-picker';
|
|
|
71
71
|
export { Elevation as __experimentalElevation } from './elevation';
|
|
72
72
|
export { default as ExternalLink } from './external-link';
|
|
73
73
|
export { Flex, FlexBlock, FlexItem } from './flex';
|
|
74
|
-
export { Flyout as __experimentalFlyout } from './flyout';
|
|
75
74
|
export { default as FocalPointPicker } from './focal-point-picker';
|
|
76
75
|
export { default as FocusableIframe } from './focusable-iframe';
|
|
77
76
|
export { default as FontSizePicker } from './font-size-picker';
|