@wordpress/components 23.2.0 → 23.3.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 +35 -1
- package/CONTRIBUTING.md +1 -1
- package/build/alignment-matrix-control/utils.js +2 -2
- package/build/alignment-matrix-control/utils.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.js +1 -3
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js +8 -4
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/button/deprecated.js +8 -6
- package/build/button/deprecated.js.map +1 -1
- package/build/button/index.js +52 -23
- package/build/button/index.js.map +1 -1
- package/build/button/types.js +6 -0
- package/build/button/types.js.map +1 -0
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-list-picker/types.js +6 -0
- package/build/color-list-picker/types.js.map +1 -0
- package/build/color-palette/index.js +9 -61
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/index.native.js +24 -9
- package/build/color-palette/index.native.js.map +1 -1
- package/build/color-palette/utils.js +103 -0
- package/build/color-palette/utils.js.map +1 -0
- package/build/custom-gradient-picker/gradient-bar/utils.js +1 -1
- package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build/date-time/date/index.js.map +1 -1
- package/build/dropdown/index.js +20 -8
- package/build/dropdown/index.js.map +1 -1
- package/build/form-token-field/token.js +1 -1
- package/build/form-token-field/token.js.map +1 -1
- package/build/gradient-picker/index.js +9 -1
- package/build/gradient-picker/index.js.map +1 -1
- package/build/h-stack/component.js +0 -1
- package/build/h-stack/component.js.map +1 -1
- package/build/input-control/input-field.js +4 -2
- package/build/input-control/input-field.js.map +1 -1
- package/build/keyboard-shortcuts/index.js +44 -16
- package/build/keyboard-shortcuts/index.js.map +1 -1
- package/build/keyboard-shortcuts/types.js +6 -0
- package/build/keyboard-shortcuts/types.js.map +1 -0
- package/build/modal/index.js +1 -1
- package/build/modal/index.js.map +1 -1
- package/build/notice/index.js +16 -18
- package/build/notice/index.js.map +1 -1
- package/build/notice/list.js +23 -8
- package/build/notice/list.js.map +1 -1
- package/build/notice/types.js +6 -0
- package/build/notice/types.js.map +1 -0
- package/build/number-control/index.js +1 -1
- package/build/number-control/index.js.map +1 -1
- package/build/query-controls/author-select.js +7 -3
- package/build/query-controls/author-select.js.map +1 -1
- package/build/query-controls/category-select.js +7 -3
- package/build/query-controls/category-select.js.map +1 -1
- package/build/query-controls/index.js +68 -20
- package/build/query-controls/index.js.map +1 -1
- package/build/query-controls/terms.js +4 -3
- package/build/query-controls/terms.js.map +1 -1
- package/build/query-controls/types.js +6 -0
- package/build/query-controls/types.js.map +1 -0
- package/build/slot-fill/bubbles-virtually/fill.js +1 -0
- package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build/slot-fill/slot.js +1 -0
- package/build/slot-fill/slot.js.map +1 -1
- package/build/slot-fill/use-slot.js +1 -11
- package/build/slot-fill/use-slot.js.map +1 -1
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js.map +1 -1
- package/build/tab-panel/index.js +36 -8
- package/build/tab-panel/index.js.map +1 -1
- package/build/tree-grid/index.js +1 -1
- package/build/tree-grid/index.js.map +1 -1
- package/build/tree-select/index.js +2 -6
- package/build/tree-select/index.js.map +1 -1
- package/build-module/alignment-matrix-control/utils.js +2 -2
- package/build-module/alignment-matrix-control/utils.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +1 -2
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +7 -4
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/button/deprecated.js +8 -5
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/index.js +51 -22
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/types.js +2 -0
- package/build-module/button/types.js.map +1 -0
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-list-picker/types.js +2 -0
- package/build-module/color-list-picker/types.js.map +1 -0
- package/build-module/color-palette/index.js +7 -54
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +24 -8
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/color-palette/utils.js +79 -0
- package/build-module/color-palette/utils.js.map +1 -0
- package/build-module/custom-gradient-picker/gradient-bar/utils.js +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
- package/build-module/date-time/date/index.js +1 -1
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/dropdown/index.js +19 -8
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/form-token-field/token.js +1 -1
- package/build-module/form-token-field/token.js.map +1 -1
- package/build-module/gradient-picker/index.js +9 -2
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/h-stack/component.js +0 -1
- package/build-module/h-stack/component.js.map +1 -1
- package/build-module/input-control/input-field.js +4 -2
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/keyboard-shortcuts/index.js +48 -16
- package/build-module/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/keyboard-shortcuts/types.js +2 -0
- package/build-module/keyboard-shortcuts/types.js.map +1 -0
- package/build-module/modal/index.js +1 -1
- package/build-module/modal/index.js.map +1 -1
- package/build-module/notice/index.js +14 -15
- package/build-module/notice/index.js.map +1 -1
- package/build-module/notice/list.js +23 -8
- package/build-module/notice/list.js.map +1 -1
- package/build-module/notice/types.js +2 -0
- package/build-module/notice/types.js.map +1 -0
- package/build-module/number-control/index.js +1 -1
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/query-controls/author-select.js +7 -3
- package/build-module/query-controls/author-select.js.map +1 -1
- package/build-module/query-controls/category-select.js +8 -4
- package/build-module/query-controls/category-select.js.map +1 -1
- package/build-module/query-controls/index.js +64 -20
- package/build-module/query-controls/index.js.map +1 -1
- package/build-module/query-controls/terms.js +8 -4
- package/build-module/query-controls/terms.js.map +1 -1
- package/build-module/query-controls/types.js +2 -0
- package/build-module/query-controls/types.js.map +1 -0
- package/build-module/slot-fill/bubbles-virtually/fill.js +1 -0
- package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build-module/slot-fill/slot.js +1 -0
- package/build-module/slot-fill/slot.js.map +1 -1
- package/build-module/slot-fill/use-slot.js +2 -12
- package/build-module/slot-fill/use-slot.js.map +1 -1
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/tab-panel/index.js +36 -8
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/tree-grid/index.js +1 -1
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/tree-select/index.js +2 -6
- package/build-module/tree-select/index.js.map +1 -1
- package/build-style/style-rtl.css +5 -0
- package/build-style/style.css +5 -0
- package/build-types/border-box-control/border-box-control/hook.d.ts +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +171 -160
- 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/hook.d.ts +1 -1
- package/build-types/border-control/border-control/hook.d.ts +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 -1
- package/build-types/button/deprecated.d.ts +143 -7
- package/build-types/button/deprecated.d.ts.map +1 -1
- package/build-types/button/index.d.ts +20 -3
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/button/stories/index.d.ts +20 -0
- package/build-types/button/stories/index.d.ts.map +1 -0
- package/build-types/button/test/index.d.ts +2 -0
- package/build-types/button/test/index.d.ts.map +1 -0
- package/build-types/button/types.d.ts +134 -0
- package/build-types/button/types.d.ts.map +1 -0
- package/build-types/color-list-picker/index.d.ts +5 -0
- package/build-types/color-list-picker/index.d.ts.map +1 -0
- package/build-types/color-list-picker/types.d.ts +42 -0
- package/build-types/color-list-picker/types.d.ts.map +1 -0
- package/build-types/color-palette/index.d.ts +2 -4
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-palette/stories/index.d.ts +2 -2
- package/build-types/color-palette/styles.d.ts +1 -1
- package/build-types/color-palette/types.d.ts +1 -1
- package/build-types/color-palette/types.d.ts.map +1 -1
- package/build-types/color-palette/utils.d.ts +14 -0
- package/build-types/color-palette/utils.d.ts.map +1 -0
- package/build-types/color-picker/styles.d.ts +2 -2
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +3 -3
- package/build-types/dropdown/index.d.ts +4 -4
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/dropdown/stories/index.d.ts.map +1 -1
- package/build-types/dropdown/types.d.ts +9 -10
- package/build-types/dropdown/types.d.ts.map +1 -1
- package/build-types/font-size-picker/styles.d.ts +2 -2
- package/build-types/h-stack/component.d.ts +0 -1
- package/build-types/h-stack/component.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/keyboard-shortcuts/index.d.ts +38 -0
- package/build-types/keyboard-shortcuts/index.d.ts.map +1 -0
- package/build-types/keyboard-shortcuts/stories/index.d.ts +12 -0
- package/build-types/keyboard-shortcuts/stories/index.d.ts.map +1 -0
- package/build-types/keyboard-shortcuts/test/index.d.ts +2 -0
- package/build-types/keyboard-shortcuts/test/index.d.ts.map +1 -0
- package/build-types/keyboard-shortcuts/types.d.ts +48 -0
- package/build-types/keyboard-shortcuts/types.d.ts.map +1 -0
- package/build-types/modal/index.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +2 -2
- package/build-types/navigator/navigator-button/component.d.ts +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +2 -2
- package/build-types/notice/index.d.ts +16 -0
- package/build-types/notice/index.d.ts.map +1 -0
- package/build-types/notice/list.d.ts +32 -0
- package/build-types/notice/list.d.ts.map +1 -0
- package/build-types/notice/stories/index.d.ts +17 -0
- package/build-types/notice/stories/index.d.ts.map +1 -0
- package/build-types/notice/test/index.d.ts +2 -0
- package/build-types/notice/test/index.d.ts.map +1 -0
- package/build-types/notice/test/list.d.ts +2 -0
- package/build-types/notice/test/list.d.ts.map +1 -0
- package/build-types/notice/types.d.ts +128 -0
- package/build-types/notice/types.d.ts.map +1 -0
- package/build-types/number-control/styles/number-control-styles.d.ts +2 -2
- package/build-types/number-control/styles/number-control-styles.d.ts.map +1 -1
- package/build-types/placeholder/stories/index.d.ts.map +1 -1
- package/build-types/query-controls/author-select.d.ts +4 -0
- package/build-types/query-controls/author-select.d.ts.map +1 -0
- package/build-types/query-controls/category-select.d.ts +4 -0
- package/build-types/query-controls/category-select.d.ts.map +1 -0
- package/build-types/query-controls/index.d.ts +30 -0
- package/build-types/query-controls/index.d.ts.map +1 -0
- package/build-types/query-controls/stories/index.d.ts +13 -0
- package/build-types/query-controls/stories/index.d.ts.map +1 -0
- package/build-types/query-controls/terms.d.ts +13 -0
- package/build-types/query-controls/terms.d.ts.map +1 -0
- package/build-types/query-controls/test/terms.d.ts +2 -0
- package/build-types/query-controls/test/terms.d.ts.map +1 -0
- package/build-types/query-controls/types.d.ts +131 -0
- package/build-types/query-controls/types.d.ts.map +1 -0
- package/build-types/range-control/index.d.ts +1 -1
- package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -1
- package/build-types/slot-fill/use-slot.d.ts.map +1 -1
- package/build-types/snackbar/index.d.ts +9 -2
- package/build-types/snackbar/index.d.ts.map +1 -1
- package/build-types/snackbar/list.d.ts.map +1 -1
- package/build-types/snackbar/types.d.ts +15 -88
- package/build-types/snackbar/types.d.ts.map +1 -1
- package/build-types/tab-panel/index.d.ts.map +1 -1
- package/build-types/tab-panel/types.d.ts +1 -1
- package/build-types/tab-panel/types.d.ts.map +1 -1
- package/build-types/toggle-group-control/stories/index.d.ts.map +1 -1
- package/build-types/tree-select/index.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group.d.ts +2 -2
- package/package.json +18 -17
- package/src/alignment-matrix-control/utils.tsx +2 -2
- package/src/autocomplete/autocompleter-ui.js +1 -2
- package/src/autocomplete/test/index.js +1 -5
- package/src/border-box-control/border-box-control-linked-button/component.tsx +1 -1
- package/src/border-box-control/border-box-control-linked-button/hook.ts +1 -1
- package/src/border-control/border-control-dropdown/component.tsx +9 -8
- package/src/box-control/test/index.js +11 -35
- package/src/button/README.md +49 -55
- package/src/button/{deprecated.js → deprecated.tsx} +19 -4
- package/src/button/{index.js → index.tsx} +95 -34
- package/src/button/stories/index.tsx +106 -0
- package/src/button/style.scss +3 -2
- package/src/button/test/{index.js → index.tsx} +30 -7
- package/src/button/types.ts +138 -0
- package/src/checkbox-control/test/index.tsx +1 -5
- package/src/color-list-picker/{index.js → index.tsx} +3 -2
- package/src/color-list-picker/types.ts +46 -0
- package/src/color-palette/README.md +1 -1
- package/src/color-palette/index.native.js +11 -4
- package/src/color-palette/index.tsx +11 -67
- package/src/color-palette/test/index.tsx +4 -14
- package/src/color-palette/test/utils.ts +1 -1
- package/src/color-palette/types.ts +1 -1
- package/src/color-palette/utils.ts +98 -0
- package/src/color-picker/test/index.js +6 -15
- package/src/combobox-control/test/index.js +1 -6
- package/src/confirm-dialog/test/index.js +9 -29
- package/src/custom-gradient-picker/gradient-bar/utils.js +1 -1
- package/src/date-time/date/index.tsx +2 -1
- package/src/date-time/date/test/index.tsx +2 -8
- package/src/date-time/time/test/index.tsx +9 -29
- package/src/dimension-control/test/index.test.js +2 -8
- package/src/disabled/test/index.tsx +1 -5
- package/src/draggable/test/index.native.js +4 -4
- package/src/dropdown/README.md +1 -8
- package/src/dropdown/index.tsx +17 -6
- package/src/dropdown/stories/index.tsx +3 -3
- package/src/dropdown/test/index.tsx +2 -8
- package/src/dropdown/types.ts +9 -10
- package/src/dropdown-menu/README.md +1 -1
- package/src/dropdown-menu/stories/index.js +96 -27
- package/src/dropdown-menu/test/index.js +2 -8
- package/src/external-link/test/index.tsx +1 -6
- package/src/focal-point-picker/test/index.js +3 -11
- package/src/font-size-picker/test/index.tsx +14 -44
- package/src/form-file-upload/test/index.tsx +2 -17
- package/src/form-toggle/test/index.tsx +1 -5
- package/src/form-token-field/test/index.tsx +80 -163
- package/src/form-token-field/token.tsx +1 -1
- package/src/gradient-picker/index.js +15 -4
- package/src/guide/test/index.js +5 -17
- package/src/h-stack/component.tsx +0 -1
- package/src/higher-order/with-filters/test/index.js +24 -24
- package/src/higher-order/with-focus-outside/test/index.js +11 -25
- package/src/higher-order/with-focus-return/test/index.js +1 -5
- package/src/input-control/input-field.tsx +3 -1
- package/src/input-control/test/index.js +1 -6
- package/src/isolated-event-container/test/index.js +2 -8
- package/src/keyboard-shortcuts/README.md +1 -1
- package/src/keyboard-shortcuts/index.tsx +93 -0
- package/src/keyboard-shortcuts/stories/index.tsx +60 -0
- package/src/keyboard-shortcuts/test/{index.js → index.tsx} +16 -6
- package/src/keyboard-shortcuts/types.ts +51 -0
- package/src/modal/index.tsx +1 -2
- package/src/navigable-container/test/navigable-menu.js +5 -17
- package/src/navigable-container/test/tababble-container.js +3 -11
- package/src/navigation/test/index.js +3 -11
- package/src/navigator/test/index.tsx +6 -20
- package/src/notice/README.md +89 -42
- package/src/notice/{index.js → index.tsx} +28 -20
- package/src/notice/list.tsx +72 -0
- package/src/notice/stories/index.tsx +119 -0
- package/src/notice/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
- package/src/notice/test/{index.js → index.tsx} +7 -4
- package/src/notice/test/{list.js → list.tsx} +0 -0
- package/src/notice/types.ts +136 -0
- package/src/number-control/index.tsx +1 -1
- package/src/number-control/test/index.tsx +28 -86
- package/src/panel/test/body.js +2 -8
- package/src/placeholder/stories/index.tsx +1 -0
- package/src/query-controls/README.md +56 -56
- package/src/query-controls/author-select.tsx +37 -0
- package/src/query-controls/category-select.tsx +46 -0
- package/src/query-controls/index.tsx +192 -0
- package/src/query-controls/stories/index.tsx +205 -0
- package/src/query-controls/terms.ts +57 -0
- package/src/query-controls/test/{terms.js → terms.ts} +36 -20
- package/src/query-controls/types.ts +150 -0
- package/src/select-control/test/select-control.tsx +1 -6
- package/src/slot-fill/bubbles-virtually/fill.js +1 -0
- package/src/slot-fill/slot.js +1 -1
- package/src/slot-fill/use-slot.js +6 -16
- package/src/snackbar/index.tsx +6 -5
- package/src/snackbar/list.tsx +4 -2
- package/src/snackbar/types.ts +18 -92
- package/src/tab-panel/index.tsx +38 -16
- package/src/tab-panel/style.scss +8 -0
- package/src/tab-panel/test/index.tsx +35 -7
- package/src/tab-panel/types.ts +1 -1
- package/src/theme/test/index.tsx +4 -4
- package/src/toggle-group-control/stories/index.tsx +1 -0
- package/src/toggle-group-control/test/index.tsx +7 -23
- package/src/toolbar/stories/index.js +75 -72
- package/src/tools-panel/stories/index.js +3 -0
- package/src/tools-panel/test/index.js +1 -1
- package/src/tree-grid/index.js +1 -1
- package/src/tree-select/index.tsx +3 -6
- package/src/ui/context/test/context-connect.tsx +2 -0
- package/src/ui/context/test/wordpress-component.tsx +2 -0
- package/src/unit-control/test/index.tsx +21 -74
- package/src/utils/hooks/test/use-latest-ref.js +15 -18
- package/tsconfig.json +1 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/build-types/radio-context/index.d.ts +0 -6
- package/build-types/radio-context/index.d.ts.map +0 -1
- package/src/button/stories/index.js +0 -179
- package/src/keyboard-shortcuts/index.js +0 -56
- package/src/notice/list.js +0 -48
- package/src/notice/stories/index.js +0 -46
- package/src/query-controls/author-select.js +0 -23
- package/src/query-controls/category-select.js +0 -31
- package/src/query-controls/index.js +0 -122
- package/src/query-controls/terms.js +0 -40
- package/src/toolbar/stories/toolbar-button.js +0 -32
- package/src/toolbar/stories/toolbar-group.js +0 -33
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { MouseEventHandler, ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
type CommonNoticeActionProps = {
|
|
7
|
+
label: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
noDefaultClasses?: boolean;
|
|
10
|
+
variant?: 'primary' | 'secondary' | 'link';
|
|
11
|
+
};
|
|
12
|
+
// `url` and `onClick` can both be provided, but `url` takes precedence. If
|
|
13
|
+
// `url` is provided, the action's button will be rendered as an anchor and
|
|
14
|
+
// `onClick` will be ignored.
|
|
15
|
+
type NoticeActionWithURL = CommonNoticeActionProps & {
|
|
16
|
+
url: string;
|
|
17
|
+
onClick?: never;
|
|
18
|
+
};
|
|
19
|
+
type NoticeActionWithOnClick = CommonNoticeActionProps & {
|
|
20
|
+
url?: never;
|
|
21
|
+
onClick: MouseEventHandler< HTMLButtonElement >;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export type NoticeAction = NoticeActionWithURL | NoticeActionWithOnClick;
|
|
25
|
+
|
|
26
|
+
export type NoticeChildren = string | JSX.Element;
|
|
27
|
+
|
|
28
|
+
export type NoticeProps = {
|
|
29
|
+
/**
|
|
30
|
+
* A CSS `class` to give to the wrapper element.
|
|
31
|
+
*/
|
|
32
|
+
className?: string;
|
|
33
|
+
/**
|
|
34
|
+
* The displayed message of a notice. Also used as the spoken message for
|
|
35
|
+
* assistive technology, unless `spokenMessage` is provided as an alternative message.
|
|
36
|
+
*/
|
|
37
|
+
children: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Used to provide a custom spoken message in place of the `children` default.
|
|
40
|
+
*
|
|
41
|
+
* @default `children`
|
|
42
|
+
*/
|
|
43
|
+
spokenMessage?: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Determines the color of the notice: `warning` (yellow),
|
|
46
|
+
* `success` (green), `error` (red), or `'info'`.
|
|
47
|
+
* By default `'info'` will be blue, but if there is a parent Theme component
|
|
48
|
+
* with an accent color prop, the notice will take on that color instead.
|
|
49
|
+
*
|
|
50
|
+
* @default 'info'
|
|
51
|
+
*/
|
|
52
|
+
status?: 'warning' | 'success' | 'error' | 'info';
|
|
53
|
+
/**
|
|
54
|
+
* Function called when dismissing the notice
|
|
55
|
+
*
|
|
56
|
+
* @default noop
|
|
57
|
+
*/
|
|
58
|
+
onRemove?: () => void;
|
|
59
|
+
/**
|
|
60
|
+
* A politeness level for the notice's spoken message. Should be provided as
|
|
61
|
+
* one of the valid options for an `aria-live` attribute value.
|
|
62
|
+
*
|
|
63
|
+
* A value of `'assertive'` is to be used for important, and usually
|
|
64
|
+
* time-sensitive, information. It will interrupt anything else the screen
|
|
65
|
+
* reader is announcing in that moment.
|
|
66
|
+
* A value of `'polite'` is to be used for advisory information. It should
|
|
67
|
+
* not interrupt what the screen reader is announcing in that moment
|
|
68
|
+
* (the "speech queue") or interrupt the current task.
|
|
69
|
+
*
|
|
70
|
+
* Note that this value should be considered a suggestion; assistive
|
|
71
|
+
* technologies may override it based on internal heuristics.
|
|
72
|
+
*
|
|
73
|
+
* @see https://www.w3.org/TR/wai-aria-1.1/#aria-live
|
|
74
|
+
*
|
|
75
|
+
* @default 'assertive' for 'error' status, 'polite' for all other statuses
|
|
76
|
+
*/
|
|
77
|
+
politeness?: 'polite' | 'assertive';
|
|
78
|
+
/**
|
|
79
|
+
* Whether the notice should be dismissible or not
|
|
80
|
+
*
|
|
81
|
+
* @default true
|
|
82
|
+
*/
|
|
83
|
+
isDismissible?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* A deprecated alternative to `onRemove`. This prop is kept for
|
|
86
|
+
* compatibilty reasons but should be avoided.
|
|
87
|
+
*
|
|
88
|
+
* @default noop
|
|
89
|
+
*/
|
|
90
|
+
onDismiss?: () => void;
|
|
91
|
+
/**
|
|
92
|
+
* An array of action objects. Each member object should contain:
|
|
93
|
+
*
|
|
94
|
+
* - `label`: `string` containing the text of the button/link
|
|
95
|
+
* - `url`: `string` OR `onClick`: `( event: SyntheticEvent ) => void` to specify
|
|
96
|
+
* what the action does.
|
|
97
|
+
* - `className`: `string` (optional) to add custom classes to the button styles.
|
|
98
|
+
* - `noDefaultClasses`: `boolean` (optional) A value of `true` will remove all
|
|
99
|
+
* default styling.
|
|
100
|
+
* - `variant`: `'primary' | 'secondary' | 'link'` (optional) You can denote a
|
|
101
|
+
* primary button action for a notice by passing a value of `primary`.
|
|
102
|
+
*
|
|
103
|
+
* The default appearance of an action button is inferred based on whether
|
|
104
|
+
* `url` or `onClick` are provided, rendering the button as a link if
|
|
105
|
+
* appropriate. If both props are provided, `url` takes precedence, and the
|
|
106
|
+
* action button will render as an anchor tag.
|
|
107
|
+
*
|
|
108
|
+
* @default []
|
|
109
|
+
*/
|
|
110
|
+
actions?: Array< NoticeAction >;
|
|
111
|
+
/**
|
|
112
|
+
* Determines whether or not the message should be parsed as custom HTML
|
|
113
|
+
* instead of a string.
|
|
114
|
+
*/
|
|
115
|
+
__unstableHTML?: boolean;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export type NoticeListProps = {
|
|
119
|
+
/**
|
|
120
|
+
* Array of notices to render.
|
|
121
|
+
*/
|
|
122
|
+
notices: Array<
|
|
123
|
+
Omit< NoticeProps, 'children' > & {
|
|
124
|
+
id: string;
|
|
125
|
+
content: string;
|
|
126
|
+
}
|
|
127
|
+
>;
|
|
128
|
+
/**
|
|
129
|
+
* Function called when a notice should be removed / dismissed.
|
|
130
|
+
*/
|
|
131
|
+
onRemove?: ( id: string ) => void;
|
|
132
|
+
/**
|
|
133
|
+
* Children to be rendered inside the notice list.
|
|
134
|
+
*/
|
|
135
|
+
children?: ReactNode;
|
|
136
|
+
};
|
|
@@ -52,7 +52,7 @@ function UnforwardedNumberControl(
|
|
|
52
52
|
forwardedRef: ForwardedRef< any >
|
|
53
53
|
) {
|
|
54
54
|
if ( hideHTMLArrows ) {
|
|
55
|
-
deprecated( 'hideHTMLArrows', {
|
|
55
|
+
deprecated( 'wp.components.NumberControl hideHTMLArrows prop ', {
|
|
56
56
|
alternative: 'spinControls="none"',
|
|
57
57
|
since: '6.2',
|
|
58
58
|
version: '6.3',
|
|
@@ -15,8 +15,6 @@ import { useState } from '@wordpress/element';
|
|
|
15
15
|
import NumberControl from '..';
|
|
16
16
|
import type { NumberControlProps } from '../types';
|
|
17
17
|
|
|
18
|
-
jest.useFakeTimers();
|
|
19
|
-
|
|
20
18
|
function StatefulNumberControl( props: NumberControlProps ) {
|
|
21
19
|
const [ value, setValue ] = useState( props.value );
|
|
22
20
|
const handleOnChange = ( v: string | undefined ) => setValue( v );
|
|
@@ -45,9 +43,7 @@ describe( 'NumberControl', () => {
|
|
|
45
43
|
|
|
46
44
|
describe( 'onChange handling', () => {
|
|
47
45
|
it( 'should provide onChange callback with number value', async () => {
|
|
48
|
-
const user = userEvent.setup(
|
|
49
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
50
|
-
} );
|
|
46
|
+
const user = userEvent.setup();
|
|
51
47
|
const spy = jest.fn();
|
|
52
48
|
|
|
53
49
|
render(
|
|
@@ -62,9 +58,7 @@ describe( 'NumberControl', () => {
|
|
|
62
58
|
} );
|
|
63
59
|
|
|
64
60
|
it( 'should call onChange callback when value is clamped on blur', async () => {
|
|
65
|
-
const user = userEvent.setup(
|
|
66
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
67
|
-
} );
|
|
61
|
+
const user = userEvent.setup();
|
|
68
62
|
const onChangeSpy = jest.fn();
|
|
69
63
|
|
|
70
64
|
render(
|
|
@@ -107,9 +101,7 @@ describe( 'NumberControl', () => {
|
|
|
107
101
|
} );
|
|
108
102
|
|
|
109
103
|
it( 'should call onChange callback when value is not valid', async () => {
|
|
110
|
-
const user = userEvent.setup(
|
|
111
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
112
|
-
} );
|
|
104
|
+
const user = userEvent.setup();
|
|
113
105
|
const onChangeSpy = jest.fn();
|
|
114
106
|
|
|
115
107
|
render(
|
|
@@ -153,9 +145,7 @@ describe( 'NumberControl', () => {
|
|
|
153
145
|
|
|
154
146
|
describe( 'Validation', () => {
|
|
155
147
|
it( 'should clamp value within range on ENTER keypress', async () => {
|
|
156
|
-
const user = userEvent.setup(
|
|
157
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
158
|
-
} );
|
|
148
|
+
const user = userEvent.setup();
|
|
159
149
|
|
|
160
150
|
render( <NumberControl value={ 5 } min={ 0 } max={ 10 } /> );
|
|
161
151
|
|
|
@@ -173,9 +163,7 @@ describe( 'NumberControl', () => {
|
|
|
173
163
|
} );
|
|
174
164
|
|
|
175
165
|
it( 'should clamp value within range on blur', async () => {
|
|
176
|
-
const user = userEvent.setup(
|
|
177
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
178
|
-
} );
|
|
166
|
+
const user = userEvent.setup();
|
|
179
167
|
|
|
180
168
|
render( <NumberControl value={ 5 } min={ 0 } max={ 10 } /> );
|
|
181
169
|
|
|
@@ -194,9 +182,7 @@ describe( 'NumberControl', () => {
|
|
|
194
182
|
} );
|
|
195
183
|
|
|
196
184
|
it( 'should parse non-numeric values to a number on ENTER keypress when required', async () => {
|
|
197
|
-
const user = userEvent.setup(
|
|
198
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
199
|
-
} );
|
|
185
|
+
const user = userEvent.setup();
|
|
200
186
|
|
|
201
187
|
render( <NumberControl value={ 5 } required /> );
|
|
202
188
|
|
|
@@ -209,9 +195,7 @@ describe( 'NumberControl', () => {
|
|
|
209
195
|
} );
|
|
210
196
|
|
|
211
197
|
it( 'should parse non-numeric values to empty string on ENTER keypress when not required', async () => {
|
|
212
|
-
const user = userEvent.setup(
|
|
213
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
214
|
-
} );
|
|
198
|
+
const user = userEvent.setup();
|
|
215
199
|
|
|
216
200
|
render( <NumberControl value={ 5 } required={ false } /> );
|
|
217
201
|
|
|
@@ -230,9 +214,7 @@ describe( 'NumberControl', () => {
|
|
|
230
214
|
} );
|
|
231
215
|
|
|
232
216
|
it( 'should not enforce numerical value for empty string when required is omitted', async () => {
|
|
233
|
-
const user = userEvent.setup(
|
|
234
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
235
|
-
} );
|
|
217
|
+
const user = userEvent.setup();
|
|
236
218
|
|
|
237
219
|
render( <NumberControl value={ 5 } /> );
|
|
238
220
|
|
|
@@ -247,9 +229,7 @@ describe( 'NumberControl', () => {
|
|
|
247
229
|
} );
|
|
248
230
|
|
|
249
231
|
it( 'should enforce numerical value for empty string when required', async () => {
|
|
250
|
-
const user = userEvent.setup(
|
|
251
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
252
|
-
} );
|
|
232
|
+
const user = userEvent.setup();
|
|
253
233
|
|
|
254
234
|
render( <NumberControl value={ 5 } required /> );
|
|
255
235
|
|
|
@@ -263,9 +243,7 @@ describe( 'NumberControl', () => {
|
|
|
263
243
|
|
|
264
244
|
describe( 'Key UP interactions', () => {
|
|
265
245
|
it( 'should fire onKeyDown callback', async () => {
|
|
266
|
-
const user = userEvent.setup(
|
|
267
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
268
|
-
} );
|
|
246
|
+
const user = userEvent.setup();
|
|
269
247
|
|
|
270
248
|
const spy = jest.fn();
|
|
271
249
|
|
|
@@ -279,9 +257,7 @@ describe( 'NumberControl', () => {
|
|
|
279
257
|
} );
|
|
280
258
|
|
|
281
259
|
it( 'should increment by step on key UP press', async () => {
|
|
282
|
-
const user = userEvent.setup(
|
|
283
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
284
|
-
} );
|
|
260
|
+
const user = userEvent.setup();
|
|
285
261
|
|
|
286
262
|
render( <StatefulNumberControl value={ 5 } /> );
|
|
287
263
|
|
|
@@ -293,9 +269,7 @@ describe( 'NumberControl', () => {
|
|
|
293
269
|
} );
|
|
294
270
|
|
|
295
271
|
it( 'should increment from a negative value', async () => {
|
|
296
|
-
const user = userEvent.setup(
|
|
297
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
298
|
-
} );
|
|
272
|
+
const user = userEvent.setup();
|
|
299
273
|
|
|
300
274
|
render( <StatefulNumberControl value={ -5 } /> );
|
|
301
275
|
|
|
@@ -307,9 +281,7 @@ describe( 'NumberControl', () => {
|
|
|
307
281
|
} );
|
|
308
282
|
|
|
309
283
|
it( 'should increment while preserving the decimal value when `step` is “any”', async () => {
|
|
310
|
-
const user = userEvent.setup(
|
|
311
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
312
|
-
} );
|
|
284
|
+
const user = userEvent.setup();
|
|
313
285
|
|
|
314
286
|
render( <StatefulNumberControl value={ 866.5309 } step="any" /> );
|
|
315
287
|
|
|
@@ -321,9 +293,7 @@ describe( 'NumberControl', () => {
|
|
|
321
293
|
} );
|
|
322
294
|
|
|
323
295
|
it( 'should increment by shiftStep on key UP + shift press', async () => {
|
|
324
|
-
const user = userEvent.setup(
|
|
325
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
326
|
-
} );
|
|
296
|
+
const user = userEvent.setup();
|
|
327
297
|
|
|
328
298
|
render( <StatefulNumberControl value={ 5 } shiftStep={ 10 } /> );
|
|
329
299
|
|
|
@@ -335,9 +305,7 @@ describe( 'NumberControl', () => {
|
|
|
335
305
|
} );
|
|
336
306
|
|
|
337
307
|
it( 'should increment by shiftStep while preserving the decimal value when `step` is “any”', async () => {
|
|
338
|
-
const user = userEvent.setup(
|
|
339
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
340
|
-
} );
|
|
308
|
+
const user = userEvent.setup();
|
|
341
309
|
|
|
342
310
|
render( <StatefulNumberControl value={ 857.5309 } step="any" /> );
|
|
343
311
|
|
|
@@ -349,9 +317,7 @@ describe( 'NumberControl', () => {
|
|
|
349
317
|
} );
|
|
350
318
|
|
|
351
319
|
it( 'should increment by custom shiftStep on key UP + shift press', async () => {
|
|
352
|
-
const user = userEvent.setup(
|
|
353
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
354
|
-
} );
|
|
320
|
+
const user = userEvent.setup();
|
|
355
321
|
|
|
356
322
|
render( <StatefulNumberControl value={ 5 } shiftStep={ 100 } /> );
|
|
357
323
|
|
|
@@ -363,9 +329,7 @@ describe( 'NumberControl', () => {
|
|
|
363
329
|
} );
|
|
364
330
|
|
|
365
331
|
it( 'should increment but be limited by max on shiftStep', async () => {
|
|
366
|
-
const user = userEvent.setup(
|
|
367
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
368
|
-
} );
|
|
332
|
+
const user = userEvent.setup();
|
|
369
333
|
|
|
370
334
|
render(
|
|
371
335
|
<StatefulNumberControl
|
|
@@ -383,9 +347,7 @@ describe( 'NumberControl', () => {
|
|
|
383
347
|
} );
|
|
384
348
|
|
|
385
349
|
it( 'should not increment by shiftStep if disabled', async () => {
|
|
386
|
-
const user = userEvent.setup(
|
|
387
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
388
|
-
} );
|
|
350
|
+
const user = userEvent.setup();
|
|
389
351
|
|
|
390
352
|
render(
|
|
391
353
|
<StatefulNumberControl
|
|
@@ -405,9 +367,7 @@ describe( 'NumberControl', () => {
|
|
|
405
367
|
|
|
406
368
|
describe( 'Key DOWN interactions', () => {
|
|
407
369
|
it( 'should fire onKeyDown callback', async () => {
|
|
408
|
-
const user = userEvent.setup(
|
|
409
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
410
|
-
} );
|
|
370
|
+
const user = userEvent.setup();
|
|
411
371
|
const spy = jest.fn();
|
|
412
372
|
|
|
413
373
|
render( <StatefulNumberControl value={ 5 } onKeyDown={ spy } /> );
|
|
@@ -420,9 +380,7 @@ describe( 'NumberControl', () => {
|
|
|
420
380
|
} );
|
|
421
381
|
|
|
422
382
|
it( 'should decrement by step on key DOWN press', async () => {
|
|
423
|
-
const user = userEvent.setup(
|
|
424
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
425
|
-
} );
|
|
383
|
+
const user = userEvent.setup();
|
|
426
384
|
|
|
427
385
|
render( <StatefulNumberControl value={ 5 } /> );
|
|
428
386
|
|
|
@@ -434,9 +392,7 @@ describe( 'NumberControl', () => {
|
|
|
434
392
|
} );
|
|
435
393
|
|
|
436
394
|
it( 'should decrement from a negative value', async () => {
|
|
437
|
-
const user = userEvent.setup(
|
|
438
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
439
|
-
} );
|
|
395
|
+
const user = userEvent.setup();
|
|
440
396
|
|
|
441
397
|
render( <StatefulNumberControl value={ -5 } /> );
|
|
442
398
|
|
|
@@ -448,9 +404,7 @@ describe( 'NumberControl', () => {
|
|
|
448
404
|
} );
|
|
449
405
|
|
|
450
406
|
it( 'should decrement while preserving the decimal value when `step` is “any”', async () => {
|
|
451
|
-
const user = userEvent.setup(
|
|
452
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
453
|
-
} );
|
|
407
|
+
const user = userEvent.setup();
|
|
454
408
|
|
|
455
409
|
render( <StatefulNumberControl value={ 868.5309 } step="any" /> );
|
|
456
410
|
|
|
@@ -462,9 +416,7 @@ describe( 'NumberControl', () => {
|
|
|
462
416
|
} );
|
|
463
417
|
|
|
464
418
|
it( 'should decrement by shiftStep on key DOWN + shift press', async () => {
|
|
465
|
-
const user = userEvent.setup(
|
|
466
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
467
|
-
} );
|
|
419
|
+
const user = userEvent.setup();
|
|
468
420
|
|
|
469
421
|
render( <StatefulNumberControl value={ 5 } /> );
|
|
470
422
|
|
|
@@ -476,9 +428,7 @@ describe( 'NumberControl', () => {
|
|
|
476
428
|
} );
|
|
477
429
|
|
|
478
430
|
it( 'should decrement by shiftStep while preserving the decimal value when `step` is “any”', async () => {
|
|
479
|
-
const user = userEvent.setup(
|
|
480
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
481
|
-
} );
|
|
431
|
+
const user = userEvent.setup();
|
|
482
432
|
|
|
483
433
|
render( <StatefulNumberControl value={ 877.5309 } step="any" /> );
|
|
484
434
|
|
|
@@ -490,9 +440,7 @@ describe( 'NumberControl', () => {
|
|
|
490
440
|
} );
|
|
491
441
|
|
|
492
442
|
it( 'should decrement by custom shiftStep on key DOWN + shift press', async () => {
|
|
493
|
-
const user = userEvent.setup(
|
|
494
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
495
|
-
} );
|
|
443
|
+
const user = userEvent.setup();
|
|
496
444
|
|
|
497
445
|
render( <StatefulNumberControl value={ 5 } shiftStep={ 100 } /> );
|
|
498
446
|
|
|
@@ -504,9 +452,7 @@ describe( 'NumberControl', () => {
|
|
|
504
452
|
} );
|
|
505
453
|
|
|
506
454
|
it( 'should decrement but be limited by min on shiftStep', async () => {
|
|
507
|
-
const user = userEvent.setup(
|
|
508
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
509
|
-
} );
|
|
455
|
+
const user = userEvent.setup();
|
|
510
456
|
|
|
511
457
|
render(
|
|
512
458
|
<StatefulNumberControl
|
|
@@ -524,9 +470,7 @@ describe( 'NumberControl', () => {
|
|
|
524
470
|
} );
|
|
525
471
|
|
|
526
472
|
it( 'should not decrement by shiftStep if disabled', async () => {
|
|
527
|
-
const user = userEvent.setup(
|
|
528
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
529
|
-
} );
|
|
473
|
+
const user = userEvent.setup();
|
|
530
474
|
|
|
531
475
|
render(
|
|
532
476
|
<StatefulNumberControl
|
|
@@ -574,9 +518,7 @@ describe( 'NumberControl', () => {
|
|
|
574
518
|
] )(
|
|
575
519
|
'should spin %s to %s when props = %o',
|
|
576
520
|
async ( direction, expectedValue, props ) => {
|
|
577
|
-
const user = userEvent.setup(
|
|
578
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
579
|
-
} );
|
|
521
|
+
const user = userEvent.setup();
|
|
580
522
|
const onChange = jest.fn();
|
|
581
523
|
render(
|
|
582
524
|
<NumberControl
|
package/src/panel/test/body.js
CHANGED
|
@@ -9,8 +9,6 @@ import userEvent from '@testing-library/user-event';
|
|
|
9
9
|
*/
|
|
10
10
|
import { PanelBody } from '../body';
|
|
11
11
|
|
|
12
|
-
jest.useFakeTimers();
|
|
13
|
-
|
|
14
12
|
describe( 'PanelBody', () => {
|
|
15
13
|
describe( 'basic rendering', () => {
|
|
16
14
|
it( 'should render an empty div with the matching className', () => {
|
|
@@ -117,9 +115,7 @@ describe( 'PanelBody', () => {
|
|
|
117
115
|
} );
|
|
118
116
|
|
|
119
117
|
it( 'should toggle when clicking header', async () => {
|
|
120
|
-
const user = userEvent.setup(
|
|
121
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
122
|
-
} );
|
|
118
|
+
const user = userEvent.setup();
|
|
123
119
|
|
|
124
120
|
render(
|
|
125
121
|
<PanelBody title="Panel" initialOpen={ false }>
|
|
@@ -146,9 +142,7 @@ describe( 'PanelBody', () => {
|
|
|
146
142
|
} );
|
|
147
143
|
|
|
148
144
|
it( 'should pass button props to panel title', async () => {
|
|
149
|
-
const user = userEvent.setup(
|
|
150
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
151
|
-
} );
|
|
145
|
+
const user = userEvent.setup();
|
|
152
146
|
const mock = jest.fn();
|
|
153
147
|
|
|
154
148
|
render(
|