@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
|
@@ -99,6 +99,7 @@ $color-palette-circle-spacing: 12px;
|
|
|
99
99
|
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
|
|
100
100
|
// Show a thin circular outline in Windows high contrast mode, otherwise the button is invisible.
|
|
101
101
|
border: 1px solid transparent;
|
|
102
|
+
box-sizing: inherit;
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
&:focus {
|
|
@@ -6,7 +6,6 @@ import { map } from 'lodash';
|
|
|
6
6
|
import { colord, extend } from 'colord';
|
|
7
7
|
import namesPlugin from 'colord/plugins/names';
|
|
8
8
|
import a11yPlugin from 'colord/plugins/a11y';
|
|
9
|
-
import classnames from 'classnames';
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* WordPress dependencies
|
|
@@ -116,12 +115,12 @@ function MultiplePalettes( {
|
|
|
116
115
|
export function CustomColorPickerDropdown( { isRenderedInSidebar, ...props } ) {
|
|
117
116
|
return (
|
|
118
117
|
<Dropdown
|
|
119
|
-
contentClassName=
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
'
|
|
123
|
-
|
|
124
|
-
|
|
118
|
+
contentClassName="components-color-palette__custom-color-dropdown-content"
|
|
119
|
+
popoverProps={
|
|
120
|
+
isRenderedInSidebar
|
|
121
|
+
? { placement: 'left-start', offset: 20 }
|
|
122
|
+
: undefined
|
|
123
|
+
}
|
|
125
124
|
{ ...props }
|
|
126
125
|
/>
|
|
127
126
|
);
|
|
@@ -176,11 +175,6 @@ export default function ColorPalette( {
|
|
|
176
175
|
/>
|
|
177
176
|
);
|
|
178
177
|
|
|
179
|
-
let dropdownPosition;
|
|
180
|
-
if ( __experimentalIsRenderedInSidebar ) {
|
|
181
|
-
dropdownPosition = 'bottom left';
|
|
182
|
-
}
|
|
183
|
-
|
|
184
178
|
const colordColor = colord( value );
|
|
185
179
|
|
|
186
180
|
const valueWithoutLeadingHash = value?.startsWith( '#' )
|
|
@@ -211,7 +205,6 @@ export default function ColorPalette( {
|
|
|
211
205
|
<VStack spacing={ 3 } className={ className }>
|
|
212
206
|
{ ! disableCustomColors && (
|
|
213
207
|
<CustomColorPickerDropdown
|
|
214
|
-
position={ dropdownPosition }
|
|
215
208
|
isRenderedInSidebar={ __experimentalIsRenderedInSidebar }
|
|
216
209
|
renderContent={ renderCustomColorPicker }
|
|
217
210
|
renderToggle={ ( { isOpen, onToggle } ) => (
|
|
@@ -30,31 +30,16 @@
|
|
|
30
30
|
overflow: visible;
|
|
31
31
|
box-shadow: 0 4px 4px rgba(0, 0, 0, 0.05);
|
|
32
32
|
border: none;
|
|
33
|
+
outline: none;
|
|
33
34
|
border-radius: $radius-block-ui;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
padding: 0;
|
|
37
|
-
}
|
|
35
|
+
padding: 0;
|
|
36
|
+
|
|
38
37
|
.react-colorful__saturation {
|
|
39
38
|
border-top-right-radius: $radius-block-ui;
|
|
40
39
|
border-top-left-radius: $radius-block-ui;
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
|
|
44
|
-
@include break-medium() {
|
|
45
|
-
.components-dropdown__content.components-color-palette__custom-color-dropdown-content.is-rendered-in-sidebar {
|
|
46
|
-
.components-popover__content.components-popover__content {
|
|
47
|
-
margin-right: #{ math.div($sidebar-width, 2) + $grid-unit-20 };
|
|
48
|
-
}
|
|
49
|
-
&.is-from-top .components-popover__content {
|
|
50
|
-
margin-top: #{ -($grid-unit-60 + $grid-unit-15) };
|
|
51
|
-
}
|
|
52
|
-
&.is-from-bottom .components-popover__content {
|
|
53
|
-
margin-bottom: #{ -($grid-unit-60 + $grid-unit-15) };
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
43
|
.components-color-palette__custom-color-name {
|
|
59
44
|
text-align: left;
|
|
60
45
|
}
|
|
@@ -1186,13 +1186,12 @@ exports[`ColorPalette should render a dynamic toolbar of colors 1`] = `
|
|
|
1186
1186
|
>
|
|
1187
1187
|
<ForwardRef(Button)
|
|
1188
1188
|
className="components-circular-option-picker__clear"
|
|
1189
|
-
isSmall={true}
|
|
1190
1189
|
onClick={[Function]}
|
|
1191
|
-
variant="
|
|
1190
|
+
variant="tertiary"
|
|
1192
1191
|
>
|
|
1193
1192
|
<button
|
|
1194
1193
|
aria-describedby={null}
|
|
1195
|
-
className="components-button components-circular-option-picker__clear is-
|
|
1194
|
+
className="components-button components-circular-option-picker__clear is-tertiary"
|
|
1196
1195
|
onClick={[Function]}
|
|
1197
1196
|
type="button"
|
|
1198
1197
|
>
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { text } from '@storybook/addon-knobs';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -15,102 +10,42 @@ import Button from '../../button';
|
|
|
15
10
|
import { Heading } from '../../heading';
|
|
16
11
|
import { ConfirmDialog } from '..';
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
const meta = {
|
|
19
14
|
component: ConfirmDialog,
|
|
20
15
|
title: 'Components (Experimental)/ConfirmDialog',
|
|
16
|
+
argTypes: {
|
|
17
|
+
children: {
|
|
18
|
+
control: { type: 'text' },
|
|
19
|
+
},
|
|
20
|
+
confirmButtonText: {
|
|
21
|
+
control: { type: 'text' },
|
|
22
|
+
},
|
|
23
|
+
cancelButtonText: {
|
|
24
|
+
control: { type: 'text' },
|
|
25
|
+
},
|
|
26
|
+
isOpen: {
|
|
27
|
+
control: { type: null },
|
|
28
|
+
},
|
|
29
|
+
onConfirm: {
|
|
30
|
+
control: { type: null },
|
|
31
|
+
},
|
|
32
|
+
onCancel: {
|
|
33
|
+
control: { type: null },
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
args: {
|
|
37
|
+
children: 'Would you like to privately publish the post now?',
|
|
38
|
+
},
|
|
21
39
|
parameters: {
|
|
22
|
-
|
|
40
|
+
docs: { source: { state: 'open' } },
|
|
23
41
|
},
|
|
24
42
|
};
|
|
25
43
|
|
|
26
|
-
|
|
27
|
-
text( 'message', 'Would you like to privately publish the post now?' );
|
|
28
|
-
const daCancelText = () => text( 'cancel button', 'No thanks' );
|
|
29
|
-
const daConfirmText = () => text( 'confirm button', 'Yes please!' );
|
|
30
|
-
|
|
31
|
-
// Simplest usage: just declare the component with the required `onConfirm` prop.
|
|
32
|
-
export const _default = () => {
|
|
33
|
-
const [ confirmVal, setConfirmVal ] = useState( "Hasn't confirmed yet" );
|
|
34
|
-
|
|
35
|
-
return (
|
|
36
|
-
<>
|
|
37
|
-
<ConfirmDialog onConfirm={ () => setConfirmVal( 'Confirmed!' ) }>
|
|
38
|
-
{ daText() }
|
|
39
|
-
</ConfirmDialog>
|
|
40
|
-
<Heading level={ 1 }>{ confirmVal }</Heading>
|
|
41
|
-
</>
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export const WithCustomButtonLabels = () => {
|
|
46
|
-
const [ confirmVal, setConfirmVal ] = useState( "Hasn't confirmed yet" );
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
<>
|
|
50
|
-
<ConfirmDialog
|
|
51
|
-
onConfirm={ () => setConfirmVal( 'Confirmed!' ) }
|
|
52
|
-
cancelButtonText={ daCancelText() }
|
|
53
|
-
confirmButtonText={ daConfirmText() }
|
|
54
|
-
>
|
|
55
|
-
{ daText() }
|
|
56
|
-
</ConfirmDialog>
|
|
57
|
-
<Heading level={ 1 }>{ confirmVal }</Heading>
|
|
58
|
-
</>
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export const WithJSXMessage = () => {
|
|
63
|
-
const [ confirmVal, setConfirmVal ] = useState( "Hasn't confirmed yet" );
|
|
64
|
-
|
|
65
|
-
return (
|
|
66
|
-
<>
|
|
67
|
-
<ConfirmDialog onConfirm={ () => setConfirmVal( 'Confirmed!' ) }>
|
|
68
|
-
<Heading level={ 2 }>{ daText() }</Heading>
|
|
69
|
-
</ConfirmDialog>
|
|
70
|
-
<Heading level={ 1 }>{ confirmVal }</Heading>
|
|
71
|
-
</>
|
|
72
|
-
);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export const VeeeryLongMessage = () => {
|
|
76
|
-
const [ confirmVal, setConfirmVal ] = useState( "Hasn't confirmed yet" );
|
|
44
|
+
export default meta;
|
|
77
45
|
|
|
78
|
-
|
|
79
|
-
<>
|
|
80
|
-
<ConfirmDialog onConfirm={ () => setConfirmVal( 'Confirmed!' ) }>
|
|
81
|
-
{ daText().repeat( 20 ) }
|
|
82
|
-
</ConfirmDialog>
|
|
83
|
-
<Heading level={ 1 }>{ confirmVal }</Heading>
|
|
84
|
-
</>
|
|
85
|
-
);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
export const UncontrolledAndWithExplicitOnCancel = () => {
|
|
89
|
-
const [ confirmVal, setConfirmVal ] = useState(
|
|
90
|
-
"Hasn't confirmed or cancelled yet"
|
|
91
|
-
);
|
|
92
|
-
|
|
93
|
-
return (
|
|
94
|
-
<>
|
|
95
|
-
<ConfirmDialog
|
|
96
|
-
onConfirm={ () => setConfirmVal( 'Confirmed!' ) }
|
|
97
|
-
onCancel={ () => setConfirmVal( 'Cancelled' ) }
|
|
98
|
-
>
|
|
99
|
-
{ daText() }
|
|
100
|
-
</ConfirmDialog>
|
|
101
|
-
<Heading level={ 1 }>{ confirmVal }</Heading>
|
|
102
|
-
</>
|
|
103
|
-
);
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// Controlled `ConfirmDialog`s require both `onConfirm` *and* `onCancel to be passed
|
|
107
|
-
// It's expected that the user will then use it to hide the dialog, too (see the
|
|
108
|
-
// `setIsOpen` calls below).
|
|
109
|
-
export const Controlled = () => {
|
|
46
|
+
const Template = ( args ) => {
|
|
110
47
|
const [ isOpen, setIsOpen ] = useState( false );
|
|
111
|
-
const [ confirmVal, setConfirmVal ] = useState(
|
|
112
|
-
"Hasn't confirmed or cancelled yet"
|
|
113
|
-
);
|
|
48
|
+
const [ confirmVal, setConfirmVal ] = useState( '' );
|
|
114
49
|
|
|
115
50
|
const handleConfirm = () => {
|
|
116
51
|
setConfirmVal( 'Confirmed!' );
|
|
@@ -121,22 +56,75 @@ export const Controlled = () => {
|
|
|
121
56
|
setConfirmVal( 'Cancelled' );
|
|
122
57
|
setIsOpen( false );
|
|
123
58
|
};
|
|
124
|
-
|
|
125
59
|
return (
|
|
126
60
|
<>
|
|
61
|
+
<Button variant="primary" onClick={ () => setIsOpen( true ) }>
|
|
62
|
+
Open ConfirmDialog
|
|
63
|
+
</Button>
|
|
64
|
+
|
|
127
65
|
<ConfirmDialog
|
|
66
|
+
{ ...args }
|
|
128
67
|
isOpen={ isOpen }
|
|
129
68
|
onConfirm={ handleConfirm }
|
|
130
69
|
onCancel={ handleCancel }
|
|
131
70
|
>
|
|
132
|
-
{
|
|
71
|
+
{ args.children }
|
|
133
72
|
</ConfirmDialog>
|
|
134
73
|
|
|
135
74
|
<Heading level={ 1 }>{ confirmVal }</Heading>
|
|
136
|
-
|
|
137
|
-
<Button variant="primary" onClick={ () => setIsOpen( true ) }>
|
|
138
|
-
Open ConfirmDialog
|
|
139
|
-
</Button>
|
|
140
75
|
</>
|
|
141
76
|
);
|
|
142
77
|
};
|
|
78
|
+
|
|
79
|
+
// Simplest usage: just declare the component with the required `onConfirm` prop. Note: the `onCancel` prop is optional here, unless you'd like to render the component in Controlled mode (see below)
|
|
80
|
+
export const _default = Template.bind( {} );
|
|
81
|
+
const _defaultSnippet = `() => {
|
|
82
|
+
const [ isOpen, setIsOpen ] = useState( false );
|
|
83
|
+
const [ confirmVal, setConfirmVal ] = useState('');
|
|
84
|
+
|
|
85
|
+
const handleConfirm = () => {
|
|
86
|
+
setConfirmVal( 'Confirmed!' );
|
|
87
|
+
setIsOpen( false );
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
const handleCancel = () => {
|
|
91
|
+
setConfirmVal( 'Cancelled' );
|
|
92
|
+
setIsOpen( false );
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
return (
|
|
96
|
+
<>
|
|
97
|
+
<ConfirmDialog
|
|
98
|
+
isOpen={ isOpen }
|
|
99
|
+
onConfirm={ handleConfirm }
|
|
100
|
+
onCancel={ handleCancel }
|
|
101
|
+
>
|
|
102
|
+
Would you like to privately publish the post now?
|
|
103
|
+
</ConfirmDialog>
|
|
104
|
+
|
|
105
|
+
<Heading level={ 1 }>{ confirmVal }</Heading>
|
|
106
|
+
|
|
107
|
+
<Button variant="primary" onClick={ () => setIsOpen( true ) }>
|
|
108
|
+
Open ConfirmDialog
|
|
109
|
+
</Button>
|
|
110
|
+
</>
|
|
111
|
+
);
|
|
112
|
+
};`;
|
|
113
|
+
_default.args = {};
|
|
114
|
+
_default.parameters = {
|
|
115
|
+
docs: {
|
|
116
|
+
source: {
|
|
117
|
+
code: _defaultSnippet,
|
|
118
|
+
language: 'jsx',
|
|
119
|
+
type: 'auto',
|
|
120
|
+
format: 'true',
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
// To customize button text, pass the `cancelButtonText` and/or `confirmButtonText` props.
|
|
126
|
+
export const withCustomButtonLabels = Template.bind( {} );
|
|
127
|
+
withCustomButtonLabels.args = {
|
|
128
|
+
cancelButtonText: 'No thanks',
|
|
129
|
+
confirmButtonText: 'Yes please!',
|
|
130
|
+
};
|
package/src/date-time/README.md
CHANGED
|
@@ -35,22 +35,20 @@ const MyDateTimePicker = () => {
|
|
|
35
35
|
|
|
36
36
|
The component accepts the following props:
|
|
37
37
|
|
|
38
|
-
### currentDate
|
|
38
|
+
### `currentDate`: `Date | string | number | null`
|
|
39
39
|
|
|
40
40
|
The current date and time at initialization. Optionally pass in a `null` value to specify no date is currently selected.
|
|
41
41
|
|
|
42
|
-
- Type: `string`
|
|
43
42
|
- Required: No
|
|
44
43
|
- Default: today's date
|
|
45
44
|
|
|
46
|
-
### onChange
|
|
45
|
+
### `onChange`: `( date: string | null ) => void`
|
|
47
46
|
|
|
48
47
|
The function called when a new date or time has been selected. It is passed the `currentDate` as an argument.
|
|
49
48
|
|
|
50
|
-
-
|
|
51
|
-
- Required: Yes
|
|
49
|
+
- Required: No
|
|
52
50
|
|
|
53
|
-
### is12Hour
|
|
51
|
+
### `is12Hour`: `boolean`
|
|
54
52
|
|
|
55
53
|
Whether we use a 12-hour clock. With a 12-hour clock, an AM/PM widget is displayed and the time format is assumed to be `MM-DD-YYYY` (as opposed to the default format `DD-MM-YYYY`).
|
|
56
54
|
|
|
@@ -58,16 +56,21 @@ Whether we use a 12-hour clock. With a 12-hour clock, an AM/PM widget is display
|
|
|
58
56
|
- Required: No
|
|
59
57
|
- Default: false
|
|
60
58
|
|
|
61
|
-
### isInvalidDate
|
|
59
|
+
### `isInvalidDate`: `( date: Date ) => boolean`
|
|
62
60
|
|
|
63
61
|
A callback function which receives a Date object representing a day as an argument, and should return a Boolean to signify if the day is valid or not.
|
|
64
62
|
|
|
65
|
-
- Type: `Function`
|
|
66
63
|
- Required: No
|
|
67
64
|
|
|
68
|
-
### onMonthPreviewed
|
|
65
|
+
### `onMonthPreviewed`: `( date: Date ) => void`
|
|
69
66
|
|
|
70
67
|
A callback invoked when selecting the previous/next month in the date picker. The callback receives the new month date in the ISO format as an argument.
|
|
71
68
|
|
|
72
|
-
-
|
|
69
|
+
- Required: No
|
|
70
|
+
|
|
71
|
+
### `events`: `{ date: Date }[]`
|
|
72
|
+
|
|
73
|
+
List of events to show in the date picker. Each event will appear as a dot on the day of the event.
|
|
74
|
+
|
|
75
|
+
- Type: `Array`
|
|
73
76
|
- Required: No
|
|
@@ -3,10 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import moment from 'moment';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
import type { Moment } from 'moment';
|
|
7
|
+
import { noop } from 'lodash';
|
|
8
|
+
|
|
9
|
+
// `react-dates` doesn't tree-shake correctly, so we import from the individual
|
|
10
|
+
// component here.
|
|
11
|
+
// @ts-expect-error TypeScript won't find any type declarations at
|
|
12
|
+
// `react-dates/lib/components/DayPickerSingleDateController` as they're located
|
|
13
|
+
// at `react-dates`.
|
|
14
|
+
import UntypedDayPickerSingleDateController from 'react-dates/lib/components/DayPickerSingleDateController';
|
|
15
|
+
import type { DayPickerSingleDateController } from 'react-dates';
|
|
16
|
+
const TypedDayPickerSingleDateController = UntypedDayPickerSingleDateController as DayPickerSingleDateController;
|
|
10
17
|
|
|
11
18
|
/**
|
|
12
19
|
* WordPress dependencies
|
|
@@ -18,15 +25,13 @@ import { isRTL, _n, sprintf } from '@wordpress/i18n';
|
|
|
18
25
|
* Internal dependencies
|
|
19
26
|
*/
|
|
20
27
|
import { getMomentDate } from './utils';
|
|
28
|
+
import type { DatePickerDayProps, DatePickerProps } from './types';
|
|
21
29
|
|
|
22
|
-
/**
|
|
23
|
-
* Module Constants
|
|
24
|
-
*/
|
|
25
30
|
const TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';
|
|
26
31
|
const ARIAL_LABEL_TIME_FORMAT = 'dddd, LL';
|
|
27
32
|
|
|
28
|
-
function DatePickerDay( { day, events = [] } ) {
|
|
29
|
-
const ref = useRef();
|
|
33
|
+
function DatePickerDay( { day, events = [] }: DatePickerDayProps ) {
|
|
34
|
+
const ref = useRef< HTMLDivElement >( null );
|
|
30
35
|
|
|
31
36
|
/*
|
|
32
37
|
* a11y hack to make the `There is/are n events` string
|
|
@@ -36,7 +41,7 @@ function DatePickerDay( { day, events = [] } ) {
|
|
|
36
41
|
*/
|
|
37
42
|
useEffect( () => {
|
|
38
43
|
// Bail when no parent node.
|
|
39
|
-
if ( ! ref?.current?.parentNode ) {
|
|
44
|
+
if ( ! ( ref?.current?.parentNode instanceof Element ) ) {
|
|
40
45
|
return;
|
|
41
46
|
}
|
|
42
47
|
|
|
@@ -75,15 +80,34 @@ function DatePickerDay( { day, events = [] } ) {
|
|
|
75
80
|
);
|
|
76
81
|
}
|
|
77
82
|
|
|
78
|
-
|
|
83
|
+
/**
|
|
84
|
+
* DatePicker is a React component that renders a calendar for date selection.
|
|
85
|
+
*
|
|
86
|
+
* ```jsx
|
|
87
|
+
* import { DatePicker } from '@wordpress/components';
|
|
88
|
+
* import { useState } from '@wordpress/element';
|
|
89
|
+
*
|
|
90
|
+
* const MyDatePicker = () => {
|
|
91
|
+
* const [ date, setDate ] = useState( new Date() );
|
|
92
|
+
*
|
|
93
|
+
* return (
|
|
94
|
+
* <DatePicker
|
|
95
|
+
* currentDate={ date }
|
|
96
|
+
* onChange={ ( newDate ) => setDate( newDate ) }
|
|
97
|
+
* />
|
|
98
|
+
* );
|
|
99
|
+
* };
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export function DatePicker( {
|
|
79
103
|
currentDate,
|
|
80
104
|
onChange,
|
|
81
105
|
events,
|
|
82
106
|
isInvalidDate,
|
|
83
107
|
onMonthPreviewed,
|
|
84
|
-
} ) {
|
|
85
|
-
const nodeRef = useRef();
|
|
86
|
-
const onMonthPreviewedHandler = ( newMonthDate ) => {
|
|
108
|
+
}: DatePickerProps ) {
|
|
109
|
+
const nodeRef = useRef< HTMLDivElement >( null );
|
|
110
|
+
const onMonthPreviewedHandler = ( newMonthDate: Moment ) => {
|
|
87
111
|
onMonthPreviewed?.( newMonthDate.toISOString() );
|
|
88
112
|
keepFocusInside();
|
|
89
113
|
};
|
|
@@ -111,7 +135,7 @@ function DatePicker( {
|
|
|
111
135
|
const focusRegion = nodeRef.current.querySelector(
|
|
112
136
|
'.DayPicker_focusRegion'
|
|
113
137
|
);
|
|
114
|
-
if ( ! focusRegion ) {
|
|
138
|
+
if ( ! ( focusRegion instanceof HTMLElement ) ) {
|
|
115
139
|
return;
|
|
116
140
|
}
|
|
117
141
|
// Keep the focus on focus region.
|
|
@@ -119,7 +143,11 @@ function DatePicker( {
|
|
|
119
143
|
}
|
|
120
144
|
};
|
|
121
145
|
|
|
122
|
-
const onChangeMoment = ( newDate ) => {
|
|
146
|
+
const onChangeMoment = ( newDate: Moment | null ) => {
|
|
147
|
+
if ( ! newDate ) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
|
|
123
151
|
// If currentDate is null, use now as momentTime to designate hours, minutes, seconds.
|
|
124
152
|
const momentDate = currentDate ? moment( currentDate ) : moment();
|
|
125
153
|
const momentTime = {
|
|
@@ -128,13 +156,13 @@ function DatePicker( {
|
|
|
128
156
|
seconds: 0,
|
|
129
157
|
};
|
|
130
158
|
|
|
131
|
-
onChange( newDate.set( momentTime ).format( TIMEZONELESS_FORMAT ) );
|
|
159
|
+
onChange?.( newDate.set( momentTime ).format( TIMEZONELESS_FORMAT ) );
|
|
132
160
|
|
|
133
161
|
// Keep focus on the date picker.
|
|
134
162
|
keepFocusInside();
|
|
135
163
|
};
|
|
136
164
|
|
|
137
|
-
const getEventsPerDay = ( day ) => {
|
|
165
|
+
const getEventsPerDay = ( day: Moment ) => {
|
|
138
166
|
if ( ! events?.length ) {
|
|
139
167
|
return [];
|
|
140
168
|
}
|
|
@@ -148,7 +176,7 @@ function DatePicker( {
|
|
|
148
176
|
|
|
149
177
|
return (
|
|
150
178
|
<div className="components-datetime__date" ref={ nodeRef }>
|
|
151
|
-
<
|
|
179
|
+
<TypedDayPickerSingleDateController
|
|
152
180
|
date={ momentDate }
|
|
153
181
|
daySize={ 30 }
|
|
154
182
|
focused
|
|
@@ -166,7 +194,7 @@ function DatePicker( {
|
|
|
166
194
|
dayAriaLabelFormat={ ARIAL_LABEL_TIME_FORMAT }
|
|
167
195
|
isRTL={ isRTL() }
|
|
168
196
|
isOutsideRange={ ( date ) => {
|
|
169
|
-
return isInvalidDate && isInvalidDate( date.toDate() );
|
|
197
|
+
return !! isInvalidDate && isInvalidDate( date.toDate() );
|
|
170
198
|
} }
|
|
171
199
|
onPrevMonthClick={ onMonthPreviewedHandler }
|
|
172
200
|
onNextMonthClick={ onMonthPreviewedHandler }
|
|
@@ -176,6 +204,7 @@ function DatePicker( {
|
|
|
176
204
|
events={ getEventsPerDay( day ) }
|
|
177
205
|
/>
|
|
178
206
|
) }
|
|
207
|
+
onFocusChange={ noop }
|
|
179
208
|
/>
|
|
180
209
|
</div>
|
|
181
210
|
);
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
// See: https://github.com/airbnb/react-dates#initialize
|
|
6
6
|
import 'react-dates/initialize';
|
|
7
7
|
import { noop } from 'lodash';
|
|
8
|
+
import type { ForwardedRef } from 'react';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* WordPress dependencies
|
|
@@ -18,10 +19,11 @@ import { __, _x } from '@wordpress/i18n';
|
|
|
18
19
|
import Button from '../button';
|
|
19
20
|
import { default as DatePicker } from './date';
|
|
20
21
|
import { default as TimePicker } from './time';
|
|
22
|
+
import type { DateTimePickerProps } from './types';
|
|
21
23
|
|
|
22
24
|
export { DatePicker, TimePicker };
|
|
23
25
|
|
|
24
|
-
function
|
|
26
|
+
function UnforwardedDateTimePicker(
|
|
25
27
|
{
|
|
26
28
|
currentDate,
|
|
27
29
|
is12Hour,
|
|
@@ -29,8 +31,8 @@ function DateTimePicker(
|
|
|
29
31
|
onMonthPreviewed = noop,
|
|
30
32
|
onChange,
|
|
31
33
|
events,
|
|
32
|
-
},
|
|
33
|
-
ref
|
|
34
|
+
}: DateTimePickerProps,
|
|
35
|
+
ref: ForwardedRef< any >
|
|
34
36
|
) {
|
|
35
37
|
const [ calendarHelpIsVisible, setCalendarHelpIsVisible ] = useState(
|
|
36
38
|
false
|
|
@@ -148,7 +150,7 @@ function DateTimePicker(
|
|
|
148
150
|
<Button
|
|
149
151
|
className="components-datetime__date-reset-button"
|
|
150
152
|
variant="link"
|
|
151
|
-
onClick={ () => onChange( null ) }
|
|
153
|
+
onClick={ () => onChange?.( null ) }
|
|
152
154
|
>
|
|
153
155
|
{ __( 'Reset' ) }
|
|
154
156
|
</Button>
|
|
@@ -167,4 +169,28 @@ function DateTimePicker(
|
|
|
167
169
|
);
|
|
168
170
|
}
|
|
169
171
|
|
|
170
|
-
|
|
172
|
+
/**
|
|
173
|
+
* DateTimePicker is a React component that renders a calendar and clock for
|
|
174
|
+
* date and time selection. The calendar and clock components can be accessed
|
|
175
|
+
* individually using the `DatePicker` and `TimePicker` components respectively.
|
|
176
|
+
*
|
|
177
|
+
* ```jsx
|
|
178
|
+
* import { DateTimePicker } from '@wordpress/components';
|
|
179
|
+
* import { useState } from '@wordpress/element';
|
|
180
|
+
*
|
|
181
|
+
* const MyDateTimePicker = () => {
|
|
182
|
+
* const [ date, setDate ] = useState( new Date() );
|
|
183
|
+
*
|
|
184
|
+
* return (
|
|
185
|
+
* <DateTimePicker
|
|
186
|
+
* currentDate={ date }
|
|
187
|
+
* onChange={ ( newDate ) => setDate( newDate ) }
|
|
188
|
+
* is12Hour
|
|
189
|
+
* />
|
|
190
|
+
* );
|
|
191
|
+
* };
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
export const DateTimePicker = forwardRef( UnforwardedDateTimePicker );
|
|
195
|
+
|
|
196
|
+
export default DateTimePicker;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useState, useEffect } from '@wordpress/element';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import DatePicker from '../date';
|
|
15
|
+
import { daysFromNow, isWeekend } from './utils';
|
|
16
|
+
|
|
17
|
+
const meta: ComponentMeta< typeof DatePicker > = {
|
|
18
|
+
title: 'Components/DatePicker',
|
|
19
|
+
component: DatePicker,
|
|
20
|
+
argTypes: {
|
|
21
|
+
currentDate: { control: 'date' },
|
|
22
|
+
onChange: { action: 'onChange', control: { type: null } },
|
|
23
|
+
},
|
|
24
|
+
parameters: {
|
|
25
|
+
controls: { expanded: true },
|
|
26
|
+
docs: { source: { state: 'open' } },
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export default meta;
|
|
30
|
+
|
|
31
|
+
const Template: ComponentStory< typeof DatePicker > = ( {
|
|
32
|
+
currentDate,
|
|
33
|
+
onChange,
|
|
34
|
+
...args
|
|
35
|
+
} ) => {
|
|
36
|
+
const [ date, setDate ] = useState( currentDate );
|
|
37
|
+
useEffect( () => {
|
|
38
|
+
setDate( currentDate );
|
|
39
|
+
}, [ currentDate ] );
|
|
40
|
+
return (
|
|
41
|
+
<DatePicker
|
|
42
|
+
{ ...args }
|
|
43
|
+
currentDate={ date }
|
|
44
|
+
onChange={ ( newDate ) => {
|
|
45
|
+
setDate( newDate );
|
|
46
|
+
onChange?.( newDate );
|
|
47
|
+
} }
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const Default: ComponentStory< typeof DatePicker > = Template.bind( {} );
|
|
53
|
+
|
|
54
|
+
export const WithEvents: ComponentStory< typeof DatePicker > = Template.bind(
|
|
55
|
+
{}
|
|
56
|
+
);
|
|
57
|
+
WithEvents.args = {
|
|
58
|
+
currentDate: new Date(),
|
|
59
|
+
events: [
|
|
60
|
+
{ date: daysFromNow( 2 ) },
|
|
61
|
+
{ date: daysFromNow( 4 ) },
|
|
62
|
+
{ date: daysFromNow( 6 ) },
|
|
63
|
+
{ date: daysFromNow( 8 ) },
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export const WithInvalidDates: ComponentStory<
|
|
68
|
+
typeof DatePicker
|
|
69
|
+
> = Template.bind( {} );
|
|
70
|
+
WithInvalidDates.args = {
|
|
71
|
+
currentDate: new Date(),
|
|
72
|
+
isInvalidDate: isWeekend,
|
|
73
|
+
};
|