@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
package/src/box-control/index.js
CHANGED
|
@@ -21,7 +21,6 @@ import AxialInputControls from './axial-input-controls';
|
|
|
21
21
|
import BoxControlIcon from './icon';
|
|
22
22
|
import { Text } from '../text';
|
|
23
23
|
import LinkedButton from './linked-button';
|
|
24
|
-
import Visualizer from './visualizer';
|
|
25
24
|
import {
|
|
26
25
|
Root,
|
|
27
26
|
Header,
|
|
@@ -30,7 +29,6 @@ import {
|
|
|
30
29
|
import { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';
|
|
31
30
|
import {
|
|
32
31
|
DEFAULT_VALUES,
|
|
33
|
-
DEFAULT_VISUALIZER_VALUES,
|
|
34
32
|
getInitialSide,
|
|
35
33
|
isValuesMixed,
|
|
36
34
|
isValuesDefined,
|
|
@@ -50,7 +48,6 @@ export default function BoxControl( {
|
|
|
50
48
|
id: idProp,
|
|
51
49
|
inputProps = defaultInputProps,
|
|
52
50
|
onChange = noop,
|
|
53
|
-
onChangeShowVisualizer = noop,
|
|
54
51
|
label = __( 'Box Control' ),
|
|
55
52
|
values: valuesProp,
|
|
56
53
|
units,
|
|
@@ -103,14 +100,6 @@ export default function BoxControl( {
|
|
|
103
100
|
setIsDirty( true );
|
|
104
101
|
};
|
|
105
102
|
|
|
106
|
-
const handleOnHoverOn = ( next = {} ) => {
|
|
107
|
-
onChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
const handleOnHoverOff = ( next = {} ) => {
|
|
111
|
-
onChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );
|
|
112
|
-
};
|
|
113
|
-
|
|
114
103
|
const handleOnReset = () => {
|
|
115
104
|
onChange( resetValues );
|
|
116
105
|
setValues( resetValues );
|
|
@@ -122,8 +111,6 @@ export default function BoxControl( {
|
|
|
122
111
|
...inputProps,
|
|
123
112
|
onChange: handleOnChange,
|
|
124
113
|
onFocus: handleOnFocus,
|
|
125
|
-
onHoverOn: handleOnHoverOn,
|
|
126
|
-
onHoverOff: handleOnHoverOff,
|
|
127
114
|
isLinked,
|
|
128
115
|
units,
|
|
129
116
|
selectedUnits,
|
|
@@ -189,5 +176,3 @@ export default function BoxControl( {
|
|
|
189
176
|
</Root>
|
|
190
177
|
);
|
|
191
178
|
}
|
|
192
|
-
|
|
193
|
-
BoxControl.__Visualizer = Visualizer;
|
|
@@ -11,7 +11,6 @@ import { useState } from '@wordpress/element';
|
|
|
11
11
|
* Internal dependencies
|
|
12
12
|
*/
|
|
13
13
|
import BoxControl from '../';
|
|
14
|
-
import BoxControlVisualizer from '../visualizer';
|
|
15
14
|
import { Flex, FlexBlock } from '../../flex';
|
|
16
15
|
|
|
17
16
|
export default {
|
|
@@ -36,7 +35,6 @@ function DemoExample( {
|
|
|
36
35
|
splitOnAxis = false,
|
|
37
36
|
} ) {
|
|
38
37
|
const [ values, setValues ] = useState( defaultValues );
|
|
39
|
-
const [ showVisualizer, setShowVisualizer ] = useState( {} );
|
|
40
38
|
|
|
41
39
|
return (
|
|
42
40
|
<Container align="top" gap={ 8 }>
|
|
@@ -47,31 +45,14 @@ function DemoExample( {
|
|
|
47
45
|
values={ values }
|
|
48
46
|
sides={ sides }
|
|
49
47
|
onChange={ setValues }
|
|
50
|
-
onChangeShowVisualizer={ setShowVisualizer }
|
|
51
48
|
splitOnAxis={ splitOnAxis }
|
|
52
49
|
/>
|
|
53
50
|
</Content>
|
|
54
51
|
</FlexBlock>
|
|
55
|
-
<FlexBlock>
|
|
56
|
-
<Content>
|
|
57
|
-
<BoxContainer>
|
|
58
|
-
<BoxControlVisualizer
|
|
59
|
-
showValues={ showVisualizer }
|
|
60
|
-
values={ values }
|
|
61
|
-
>
|
|
62
|
-
<Box />
|
|
63
|
-
</BoxControlVisualizer>
|
|
64
|
-
</BoxContainer>
|
|
65
|
-
</Content>
|
|
66
|
-
</FlexBlock>
|
|
67
52
|
</Container>
|
|
68
53
|
);
|
|
69
54
|
}
|
|
70
55
|
|
|
71
|
-
export const visualizer = () => {
|
|
72
|
-
return <DemoExample />;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
56
|
export const arbitrarySides = () => {
|
|
76
57
|
return (
|
|
77
58
|
<DemoExample
|
|
@@ -108,16 +89,6 @@ const Container = styled( Flex )`
|
|
|
108
89
|
max-width: 780px;
|
|
109
90
|
`;
|
|
110
91
|
|
|
111
|
-
const BoxContainer = styled.div`
|
|
112
|
-
width: 300px;
|
|
113
|
-
height: 300px;
|
|
114
|
-
`;
|
|
115
|
-
|
|
116
|
-
const Box = styled.div`
|
|
117
|
-
background: #ddd;
|
|
118
|
-
height: 300px;
|
|
119
|
-
`;
|
|
120
|
-
|
|
121
92
|
const Content = styled.div`
|
|
122
93
|
padding: 20px;
|
|
123
94
|
`;
|
package/src/box-control/utils.js
CHANGED
|
@@ -31,13 +31,6 @@ export const DEFAULT_VALUES = {
|
|
|
31
31
|
left: undefined,
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
export const DEFAULT_VISUALIZER_VALUES = {
|
|
35
|
-
top: false,
|
|
36
|
-
right: false,
|
|
37
|
-
bottom: false,
|
|
38
|
-
left: false,
|
|
39
|
-
};
|
|
40
|
-
|
|
41
34
|
export const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];
|
|
42
35
|
|
|
43
36
|
/**
|
package/src/button/index.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
5
5
|
import classnames from 'classnames';
|
|
6
|
-
import { isArray } from 'lodash';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* WordPress dependencies
|
|
@@ -140,8 +139,7 @@ export function Button( props, ref ) {
|
|
|
140
139
|
// There's a label and...
|
|
141
140
|
( !! label &&
|
|
142
141
|
// The children are empty and...
|
|
143
|
-
|
|
144
|
-
( isArray( children ) && ! children.length ) ) &&
|
|
142
|
+
! children?.length &&
|
|
145
143
|
// The tooltip is not explicitly disabled.
|
|
146
144
|
false !== showTooltip ) );
|
|
147
145
|
|
|
@@ -186,7 +184,7 @@ export function Button( props, ref ) {
|
|
|
186
184
|
return (
|
|
187
185
|
<>
|
|
188
186
|
<Tooltip
|
|
189
|
-
text={ describedBy ? describedBy : label }
|
|
187
|
+
text={ children?.length && describedBy ? describedBy : label }
|
|
190
188
|
shortcut={ shortcut }
|
|
191
189
|
position={ tooltipPosition }
|
|
192
190
|
>
|
|
@@ -9,11 +9,12 @@ import {
|
|
|
9
9
|
Platform,
|
|
10
10
|
} from 'react-native';
|
|
11
11
|
import { isArray } from 'lodash';
|
|
12
|
+
import { LongPressGestureHandler, State } from 'react-native-gesture-handler';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* WordPress dependencies
|
|
15
16
|
*/
|
|
16
|
-
import { Children, cloneElement } from '@wordpress/element';
|
|
17
|
+
import { Children, cloneElement, useCallback } from '@wordpress/element';
|
|
17
18
|
import {
|
|
18
19
|
usePreferredColorScheme,
|
|
19
20
|
usePreferredColorSchemeStyle,
|
|
@@ -163,6 +164,15 @@ export function Button( props ) {
|
|
|
163
164
|
} )
|
|
164
165
|
: null;
|
|
165
166
|
|
|
167
|
+
const longPressHandler = useCallback(
|
|
168
|
+
( { nativeEvent } ) => {
|
|
169
|
+
if ( nativeEvent.state === State.ACTIVE && onLongPress ) {
|
|
170
|
+
onLongPress();
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
[ onLongPress ]
|
|
174
|
+
);
|
|
175
|
+
|
|
166
176
|
const element = (
|
|
167
177
|
<TouchableOpacity
|
|
168
178
|
activeOpacity={ 0.7 }
|
|
@@ -172,28 +182,33 @@ export function Button( props ) {
|
|
|
172
182
|
accessibilityRole={ 'button' }
|
|
173
183
|
accessibilityHint={ hint }
|
|
174
184
|
onPress={ onClick }
|
|
175
|
-
onLongPress={ onLongPress }
|
|
176
185
|
style={ containerStyle }
|
|
177
186
|
disabled={ isDisabled }
|
|
178
187
|
testID={ testID }
|
|
179
188
|
>
|
|
180
|
-
<
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
189
|
+
<LongPressGestureHandler
|
|
190
|
+
minDurationMs={ 500 }
|
|
191
|
+
maxDist={ 150 }
|
|
192
|
+
onHandlerStateChange={ longPressHandler }
|
|
193
|
+
>
|
|
194
|
+
<View style={ buttonViewStyle }>
|
|
195
|
+
<View style={ { flexDirection: 'row' } }>
|
|
196
|
+
{ newIcon }
|
|
197
|
+
{ newChildren }
|
|
198
|
+
{ subscript && (
|
|
199
|
+
<Text
|
|
200
|
+
style={
|
|
201
|
+
isPressed
|
|
202
|
+
? styles.subscriptActive
|
|
203
|
+
: subscriptInactive
|
|
204
|
+
}
|
|
205
|
+
>
|
|
206
|
+
{ subscript }
|
|
207
|
+
</Text>
|
|
208
|
+
) }
|
|
209
|
+
</View>
|
|
195
210
|
</View>
|
|
196
|
-
</
|
|
211
|
+
</LongPressGestureHandler>
|
|
197
212
|
</TouchableOpacity>
|
|
198
213
|
);
|
|
199
214
|
|
package/src/button/test/index.js
CHANGED
|
@@ -164,7 +164,7 @@ describe( 'Button', () => {
|
|
|
164
164
|
expect( buttonDescription ).toBe( 'Description text' );
|
|
165
165
|
} );
|
|
166
166
|
|
|
167
|
-
it( 'should populate tooltip with
|
|
167
|
+
it( 'should populate tooltip with label content for buttons without visible labels (no children)', () => {
|
|
168
168
|
const buttonTooltip = shallow(
|
|
169
169
|
<Button
|
|
170
170
|
describedBy="Description text"
|
|
@@ -173,6 +173,21 @@ describe( 'Button', () => {
|
|
|
173
173
|
/>
|
|
174
174
|
).find( 'Tooltip' );
|
|
175
175
|
|
|
176
|
+
expect( buttonTooltip.prop( 'text' ) ).toBe( 'Label' );
|
|
177
|
+
} );
|
|
178
|
+
|
|
179
|
+
it( 'should populate tooltip with description content for buttons with visible labels (buttons with children)', () => {
|
|
180
|
+
const buttonTooltip = shallow(
|
|
181
|
+
<Button
|
|
182
|
+
label="Label"
|
|
183
|
+
describedBy="Description text"
|
|
184
|
+
icon={ plusCircle }
|
|
185
|
+
showTooltip
|
|
186
|
+
>
|
|
187
|
+
Children
|
|
188
|
+
</Button>
|
|
189
|
+
).find( 'Tooltip' );
|
|
190
|
+
|
|
176
191
|
expect( buttonTooltip.prop( 'text' ) ).toBe( 'Description text' );
|
|
177
192
|
} );
|
|
178
193
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import classnames from 'classnames';
|
|
5
|
+
import type { ForwardedRef } from 'react';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { forwardRef } from '@wordpress/element';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import type { ButtonGroupProps } from './types';
|
|
16
|
+
import type { WordPressComponentProps } from '../ui/context';
|
|
17
|
+
|
|
18
|
+
function UnforwardedButtonGroup(
|
|
19
|
+
props: WordPressComponentProps< ButtonGroupProps, 'div', false >,
|
|
20
|
+
ref: ForwardedRef< HTMLDivElement >
|
|
21
|
+
) {
|
|
22
|
+
const { className, ...restProps } = props;
|
|
23
|
+
const classes = classnames( 'components-button-group', className );
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<div ref={ ref } role="group" className={ classes } { ...restProps } />
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* ButtonGroup can be used to group any related buttons together. To emphasize
|
|
32
|
+
* related buttons, a group should share a common container.
|
|
33
|
+
*
|
|
34
|
+
* ```jsx
|
|
35
|
+
* import { Button, ButtonGroup } from '@wordpress/components';
|
|
36
|
+
*
|
|
37
|
+
* const MyButtonGroup = () => (
|
|
38
|
+
* <ButtonGroup>
|
|
39
|
+
* <Button variant="primary">Button 1</Button>
|
|
40
|
+
* <Button variant="primary">Button 2</Button>
|
|
41
|
+
* </ButtonGroup>
|
|
42
|
+
* );
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export const ButtonGroup = forwardRef( UnforwardedButtonGroup );
|
|
46
|
+
|
|
47
|
+
export default ButtonGroup;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import ButtonGroup from '..';
|
|
10
|
+
import Button from '../../button';
|
|
11
|
+
|
|
12
|
+
const meta: ComponentMeta< typeof ButtonGroup > = {
|
|
13
|
+
title: 'Components/ButtonGroup',
|
|
14
|
+
component: ButtonGroup,
|
|
15
|
+
argTypes: {
|
|
16
|
+
children: { control: { type: null } },
|
|
17
|
+
},
|
|
18
|
+
parameters: {
|
|
19
|
+
controls: { expanded: true },
|
|
20
|
+
docs: { source: { state: 'open' } },
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export default meta;
|
|
24
|
+
|
|
25
|
+
const Template: ComponentStory< typeof ButtonGroup > = ( args ) => {
|
|
26
|
+
const style = { margin: '0 4px' };
|
|
27
|
+
return (
|
|
28
|
+
<ButtonGroup { ...args }>
|
|
29
|
+
<Button variant="primary" style={ style }>
|
|
30
|
+
Button 1
|
|
31
|
+
</Button>
|
|
32
|
+
<Button variant="primary" style={ style }>
|
|
33
|
+
Button 2
|
|
34
|
+
</Button>
|
|
35
|
+
</ButtonGroup>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const Default: ComponentStory< typeof ButtonGroup > = Template.bind(
|
|
40
|
+
{}
|
|
41
|
+
);
|
|
@@ -77,37 +77,39 @@ const MyCheckboxControl = () => {
|
|
|
77
77
|
The set of props accepted by the component will be specified below.
|
|
78
78
|
Props not included in this set will be applied to the input element.
|
|
79
79
|
|
|
80
|
-
#### label
|
|
80
|
+
#### `label`: `string`
|
|
81
81
|
|
|
82
82
|
A label for the input field, that appears at the side of the checkbox.
|
|
83
83
|
The prop will be rendered as content a label element.
|
|
84
84
|
If no prop is passed an empty label is rendered.
|
|
85
85
|
|
|
86
|
-
- Type: `String`
|
|
87
86
|
- Required: No
|
|
88
87
|
|
|
89
|
-
#### help
|
|
88
|
+
#### `help`: `string|WPElement`
|
|
90
89
|
|
|
91
90
|
If this property is added, a help text will be generated using help property as the content.
|
|
92
91
|
|
|
93
|
-
- Type: `String|WPElement`
|
|
94
92
|
- Required: No
|
|
95
93
|
|
|
96
|
-
#### checked
|
|
94
|
+
#### `checked`: `boolean`
|
|
97
95
|
|
|
98
96
|
If checked is true the checkbox will be checked. If checked is false the checkbox will be unchecked.
|
|
99
97
|
If no value is passed the checkbox will be unchecked.
|
|
100
98
|
|
|
101
|
-
- Type: `Boolean`
|
|
102
99
|
- Required: No
|
|
103
100
|
|
|
104
|
-
#### onChange
|
|
101
|
+
#### `onChange`: `function`
|
|
105
102
|
|
|
106
103
|
A function that receives the checked state (boolean) as input.
|
|
107
104
|
|
|
108
|
-
- Type: `function`
|
|
109
105
|
- Required: Yes
|
|
110
106
|
|
|
107
|
+
#### `indeterminate`: `boolean`
|
|
108
|
+
|
|
109
|
+
If indeterminate is true the state of the checkbox will be indeterminate.
|
|
110
|
+
|
|
111
|
+
- Required: No
|
|
112
|
+
|
|
111
113
|
## Related components
|
|
112
114
|
|
|
113
115
|
- To select one option from a set, and you want to show all the available options at once, use the `RadioControl` component.
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
+
import type { ChangeEvent } from 'react';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* WordPress dependencies
|
|
@@ -15,17 +16,48 @@ import { Icon, check, reset } from '@wordpress/icons';
|
|
|
15
16
|
* Internal dependencies
|
|
16
17
|
*/
|
|
17
18
|
import BaseControl from '../base-control';
|
|
19
|
+
import type { CheckboxControlProps } from './types';
|
|
20
|
+
import type { WordPressComponentProps } from '../ui/context';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Checkboxes allow the user to select one or more items from a set.
|
|
24
|
+
*
|
|
25
|
+
* ```jsx
|
|
26
|
+
* import { CheckboxControl } from '@wordpress/components';
|
|
27
|
+
* import { useState } from '@wordpress/element';
|
|
28
|
+
*
|
|
29
|
+
* const MyCheckboxControl = () => {
|
|
30
|
+
* const [ isChecked, setChecked ] = useState( true );
|
|
31
|
+
* return (
|
|
32
|
+
* <CheckboxControl
|
|
33
|
+
* label="Is author"
|
|
34
|
+
* help="Is the user a author or not?"
|
|
35
|
+
* checked={ isChecked }
|
|
36
|
+
* onChange={ setChecked }
|
|
37
|
+
* />
|
|
38
|
+
* );
|
|
39
|
+
* };
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export function CheckboxControl(
|
|
43
|
+
// ref is omitted until we have `WordPressComponentPropsWithoutRef` or add
|
|
44
|
+
// ref forwarding to CheckboxControl.
|
|
45
|
+
props: Omit<
|
|
46
|
+
WordPressComponentProps< CheckboxControlProps, 'input', false >,
|
|
47
|
+
'ref'
|
|
48
|
+
>
|
|
49
|
+
) {
|
|
50
|
+
const {
|
|
51
|
+
label,
|
|
52
|
+
className,
|
|
53
|
+
heading,
|
|
54
|
+
checked,
|
|
55
|
+
indeterminate,
|
|
56
|
+
help,
|
|
57
|
+
onChange,
|
|
58
|
+
...additionalProps
|
|
59
|
+
} = props;
|
|
18
60
|
|
|
19
|
-
export default function CheckboxControl( {
|
|
20
|
-
label,
|
|
21
|
-
className,
|
|
22
|
-
heading,
|
|
23
|
-
checked,
|
|
24
|
-
indeterminate,
|
|
25
|
-
help,
|
|
26
|
-
onChange,
|
|
27
|
-
...props
|
|
28
|
-
} ) {
|
|
29
61
|
if ( heading ) {
|
|
30
62
|
deprecated( '`heading` prop in `CheckboxControl`', {
|
|
31
63
|
alternative: 'a separate element to implement a heading',
|
|
@@ -38,9 +70,9 @@ export default function CheckboxControl( {
|
|
|
38
70
|
false
|
|
39
71
|
);
|
|
40
72
|
|
|
41
|
-
// Run the following callback
|
|
73
|
+
// Run the following callback every time the `ref` (and the additional
|
|
42
74
|
// dependencies) change.
|
|
43
|
-
const ref = useRefEffect(
|
|
75
|
+
const ref = useRefEffect< HTMLInputElement >(
|
|
44
76
|
( node ) => {
|
|
45
77
|
if ( ! node ) {
|
|
46
78
|
return;
|
|
@@ -56,7 +88,8 @@ export default function CheckboxControl( {
|
|
|
56
88
|
);
|
|
57
89
|
const instanceId = useInstanceId( CheckboxControl );
|
|
58
90
|
const id = `inspector-checkbox-control-${ instanceId }`;
|
|
59
|
-
const onChangeValue = ( event
|
|
91
|
+
const onChangeValue = ( event: ChangeEvent< HTMLInputElement > ) =>
|
|
92
|
+
onChange( event.target.checked );
|
|
60
93
|
|
|
61
94
|
return (
|
|
62
95
|
<BaseControl
|
|
@@ -75,7 +108,7 @@ export default function CheckboxControl( {
|
|
|
75
108
|
onChange={ onChangeValue }
|
|
76
109
|
checked={ checked }
|
|
77
110
|
aria-describedby={ !! help ? id + '__help' : undefined }
|
|
78
|
-
{ ...
|
|
111
|
+
{ ...additionalProps }
|
|
79
112
|
/>
|
|
80
113
|
{ showIndeterminateIcon ? (
|
|
81
114
|
<Icon
|
|
@@ -101,3 +134,5 @@ export default function CheckboxControl( {
|
|
|
101
134
|
</BaseControl>
|
|
102
135
|
);
|
|
103
136
|
}
|
|
137
|
+
|
|
138
|
+
export default CheckboxControl;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import type { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
@@ -11,42 +11,60 @@ import { useState } from '@wordpress/element';
|
|
|
11
11
|
/**
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
|
-
import CheckboxControl from '
|
|
14
|
+
import CheckboxControl from '..';
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
title: 'Components/CheckboxControl',
|
|
16
|
+
const meta: ComponentMeta< typeof CheckboxControl > = {
|
|
18
17
|
component: CheckboxControl,
|
|
18
|
+
title: 'Components/CheckboxControl',
|
|
19
|
+
argTypes: {
|
|
20
|
+
onChange: {
|
|
21
|
+
action: 'onChange',
|
|
22
|
+
},
|
|
23
|
+
checked: {
|
|
24
|
+
control: { type: null },
|
|
25
|
+
},
|
|
26
|
+
help: { control: { type: 'text' } },
|
|
27
|
+
},
|
|
19
28
|
parameters: {
|
|
20
|
-
|
|
29
|
+
controls: {
|
|
30
|
+
expanded: true,
|
|
31
|
+
exclude: [ 'heading' ],
|
|
32
|
+
},
|
|
33
|
+
docs: { source: { state: 'open' } },
|
|
21
34
|
},
|
|
22
35
|
};
|
|
36
|
+
export default meta;
|
|
23
37
|
|
|
24
|
-
const
|
|
25
|
-
|
|
38
|
+
const DefaultTemplate: ComponentStory< typeof CheckboxControl > = ( {
|
|
39
|
+
onChange,
|
|
40
|
+
...args
|
|
41
|
+
} ) => {
|
|
42
|
+
const [ isChecked, setChecked ] = useState( true );
|
|
26
43
|
|
|
27
44
|
return (
|
|
28
45
|
<CheckboxControl
|
|
29
|
-
{ ...
|
|
46
|
+
{ ...args }
|
|
30
47
|
checked={ isChecked }
|
|
31
|
-
onChange={
|
|
48
|
+
onChange={ ( v ) => {
|
|
49
|
+
setChecked( v );
|
|
50
|
+
onChange( v );
|
|
51
|
+
} }
|
|
32
52
|
/>
|
|
33
53
|
);
|
|
34
54
|
};
|
|
35
55
|
|
|
36
|
-
export const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
56
|
+
export const Default: ComponentStory<
|
|
57
|
+
typeof CheckboxControl
|
|
58
|
+
> = DefaultTemplate.bind( {} );
|
|
59
|
+
Default.args = {
|
|
60
|
+
label: 'Is author',
|
|
61
|
+
help: 'Is the user an author or not?',
|
|
40
62
|
};
|
|
41
63
|
|
|
42
|
-
export const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return <CheckboxControlWithState label={ label } help={ help } checked />;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const Indeterminate = () => {
|
|
64
|
+
export const Indeterminate: ComponentStory< typeof CheckboxControl > = ( {
|
|
65
|
+
onChange,
|
|
66
|
+
...args
|
|
67
|
+
} ) => {
|
|
50
68
|
const [ fruits, setFruits ] = useState( { apple: false, orange: false } );
|
|
51
69
|
|
|
52
70
|
const isAllChecked = Object.values( fruits ).every( Boolean );
|
|
@@ -56,15 +74,16 @@ export const Indeterminate = () => {
|
|
|
56
74
|
return (
|
|
57
75
|
<>
|
|
58
76
|
<CheckboxControl
|
|
59
|
-
|
|
77
|
+
{ ...args }
|
|
60
78
|
checked={ isAllChecked }
|
|
61
79
|
indeterminate={ isIndeterminate }
|
|
62
|
-
onChange={ (
|
|
80
|
+
onChange={ ( v ) => {
|
|
63
81
|
setFruits( {
|
|
64
|
-
apple:
|
|
65
|
-
orange:
|
|
66
|
-
} )
|
|
67
|
-
|
|
82
|
+
apple: v,
|
|
83
|
+
orange: v,
|
|
84
|
+
} );
|
|
85
|
+
onChange( v );
|
|
86
|
+
} }
|
|
68
87
|
/>
|
|
69
88
|
<CheckboxControl
|
|
70
89
|
label="Apple"
|
|
@@ -89,3 +108,6 @@ export const Indeterminate = () => {
|
|
|
89
108
|
</>
|
|
90
109
|
);
|
|
91
110
|
};
|
|
111
|
+
Indeterminate.args = {
|
|
112
|
+
label: 'Select all',
|
|
113
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { BaseControlProps } from '../base-control/types';
|
|
10
|
+
|
|
11
|
+
export type CheckboxControlProps = Pick< BaseControlProps, 'help' > & {
|
|
12
|
+
/**
|
|
13
|
+
* A function that receives the checked state (boolean) as input.
|
|
14
|
+
*/
|
|
15
|
+
onChange: ( value: boolean ) => void;
|
|
16
|
+
/**
|
|
17
|
+
* A label for the input field, that appears at the side of the checkbox.
|
|
18
|
+
* The prop will be rendered as content a label element. If no prop is
|
|
19
|
+
* passed an empty label is rendered.
|
|
20
|
+
*/
|
|
21
|
+
label?: string;
|
|
22
|
+
/**
|
|
23
|
+
* If checked is true the checkbox will be checked. If checked is false the
|
|
24
|
+
* checkbox will be unchecked. If no value is passed the checkbox will be
|
|
25
|
+
* unchecked.
|
|
26
|
+
*/
|
|
27
|
+
checked?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* If indeterminate is true the state of the checkbox will be indeterminate.
|
|
30
|
+
*/
|
|
31
|
+
indeterminate?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated
|
|
34
|
+
*/
|
|
35
|
+
heading?: ReactNode;
|
|
36
|
+
};
|