@wordpress/components 23.2.0 → 23.3.1
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
|
@@ -9,12 +9,7 @@ import userEvent from '@testing-library/user-event';
|
|
|
9
9
|
*/
|
|
10
10
|
import TabPanel from '..';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const setupUser = () =>
|
|
15
|
-
userEvent.setup( {
|
|
16
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
17
|
-
} );
|
|
12
|
+
const setupUser = () => userEvent.setup();
|
|
18
13
|
|
|
19
14
|
const TABS = [
|
|
20
15
|
{
|
|
@@ -147,7 +142,7 @@ describe( 'TabPanel', () => {
|
|
|
147
142
|
);
|
|
148
143
|
} );
|
|
149
144
|
|
|
150
|
-
it( 'should select `
|
|
145
|
+
it( 'should select `initialTabName` if defined', () => {
|
|
151
146
|
const mockOnSelect = jest.fn();
|
|
152
147
|
|
|
153
148
|
render(
|
|
@@ -162,6 +157,39 @@ describe( 'TabPanel', () => {
|
|
|
162
157
|
expect( mockOnSelect ).toHaveBeenLastCalledWith( 'beta' );
|
|
163
158
|
} );
|
|
164
159
|
|
|
160
|
+
it( 'waits for the tab with the `initialTabName` to become present in the `tabs` array before selecting it', () => {
|
|
161
|
+
const mockOnSelect = jest.fn();
|
|
162
|
+
|
|
163
|
+
const { rerender } = render(
|
|
164
|
+
<TabPanel
|
|
165
|
+
tabs={ TABS }
|
|
166
|
+
initialTabName="delta"
|
|
167
|
+
children={ () => undefined }
|
|
168
|
+
onSelect={ mockOnSelect }
|
|
169
|
+
/>
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
// There should be no selected tab.
|
|
173
|
+
expect(
|
|
174
|
+
screen.queryByRole( 'tab', { selected: true } )
|
|
175
|
+
).not.toBeInTheDocument();
|
|
176
|
+
|
|
177
|
+
rerender(
|
|
178
|
+
<TabPanel
|
|
179
|
+
tabs={ [
|
|
180
|
+
{ name: 'delta', title: 'Delta', className: 'delta-class' },
|
|
181
|
+
...TABS,
|
|
182
|
+
] }
|
|
183
|
+
initialTabName="delta"
|
|
184
|
+
children={ () => undefined }
|
|
185
|
+
onSelect={ mockOnSelect }
|
|
186
|
+
/>
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
expect( getSelectedTab() ).toHaveTextContent( 'Delta' );
|
|
190
|
+
expect( mockOnSelect ).toHaveBeenLastCalledWith( 'delta' );
|
|
191
|
+
} );
|
|
192
|
+
|
|
165
193
|
it( 'should disable the tab when `disabled` is true', async () => {
|
|
166
194
|
const user = setupUser();
|
|
167
195
|
const mockOnSelect = jest.fn();
|
package/src/tab-panel/types.ts
CHANGED
package/src/theme/test/index.tsx
CHANGED
|
@@ -26,7 +26,7 @@ const MyThemableComponent = ( props: MyThemableComponentProps ) => {
|
|
|
26
26
|
|
|
27
27
|
describe( 'Theme', () => {
|
|
28
28
|
describe( 'accent color', () => {
|
|
29
|
-
it( '
|
|
29
|
+
it( 'does not define the accent color (and its variations) as a CSS variable when the `accent` prop is undefined', () => {
|
|
30
30
|
render(
|
|
31
31
|
<Theme data-testid="theme">
|
|
32
32
|
<MyThemableComponent>Inner</MyThemableComponent>
|
|
@@ -49,7 +49,7 @@ describe( 'Theme', () => {
|
|
|
49
49
|
} );
|
|
50
50
|
} );
|
|
51
51
|
|
|
52
|
-
it( '
|
|
52
|
+
it( 'defines the accent color (and its variations) as a CSS variable', () => {
|
|
53
53
|
render(
|
|
54
54
|
<Theme accent="#123abc" data-testid="theme">
|
|
55
55
|
<MyThemableComponent>Inner</MyThemableComponent>
|
|
@@ -66,7 +66,7 @@ describe( 'Theme', () => {
|
|
|
66
66
|
} );
|
|
67
67
|
|
|
68
68
|
describe( 'background color', () => {
|
|
69
|
-
it( '
|
|
69
|
+
it( 'does not define the background color (and its dependent colors) as a CSS variable when the `background` prop is undefined', () => {
|
|
70
70
|
render(
|
|
71
71
|
<Theme data-testid="theme">
|
|
72
72
|
<MyThemableComponent>Inner</MyThemableComponent>
|
|
@@ -91,7 +91,7 @@ describe( 'Theme', () => {
|
|
|
91
91
|
} );
|
|
92
92
|
} );
|
|
93
93
|
|
|
94
|
-
it( '
|
|
94
|
+
it( 'defines the background color (and its dependent colors) as a CSS variable', () => {
|
|
95
95
|
render(
|
|
96
96
|
<Theme background="#ffffff" data-testid="theme">
|
|
97
97
|
<MyThemableComponent>Inner</MyThemableComponent>
|
|
@@ -18,8 +18,6 @@ import {
|
|
|
18
18
|
ToggleGroupControlOptionIcon,
|
|
19
19
|
} from '../index';
|
|
20
20
|
|
|
21
|
-
jest.useFakeTimers();
|
|
22
|
-
|
|
23
21
|
function getWrappingPopoverElement( element: HTMLElement ) {
|
|
24
22
|
return element.closest( '.components-popover' );
|
|
25
23
|
}
|
|
@@ -81,9 +79,7 @@ describe( 'ToggleGroupControl', () => {
|
|
|
81
79
|
} );
|
|
82
80
|
} );
|
|
83
81
|
it( 'should call onChange with proper value', async () => {
|
|
84
|
-
const user = userEvent.setup(
|
|
85
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
86
|
-
} );
|
|
82
|
+
const user = userEvent.setup();
|
|
87
83
|
const mockOnChange = jest.fn();
|
|
88
84
|
|
|
89
85
|
render(
|
|
@@ -102,9 +98,7 @@ describe( 'ToggleGroupControl', () => {
|
|
|
102
98
|
} );
|
|
103
99
|
|
|
104
100
|
it( 'should render tooltip where `showTooltip` === `true`', async () => {
|
|
105
|
-
const user = userEvent.setup(
|
|
106
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
107
|
-
} );
|
|
101
|
+
const user = userEvent.setup();
|
|
108
102
|
render(
|
|
109
103
|
<ToggleGroupControl label="Test Toggle Group Control">
|
|
110
104
|
{ optionsWithTooltip }
|
|
@@ -131,9 +125,7 @@ describe( 'ToggleGroupControl', () => {
|
|
|
131
125
|
} );
|
|
132
126
|
|
|
133
127
|
it( 'should not render tooltip', async () => {
|
|
134
|
-
const user = userEvent.setup(
|
|
135
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
136
|
-
} );
|
|
128
|
+
const user = userEvent.setup();
|
|
137
129
|
render(
|
|
138
130
|
<ToggleGroupControl label="Test Toggle Group Control">
|
|
139
131
|
{ optionsWithTooltip }
|
|
@@ -157,9 +149,7 @@ describe( 'ToggleGroupControl', () => {
|
|
|
157
149
|
describe( 'isDeselectable = false', () => {
|
|
158
150
|
it( 'should not be deselectable', async () => {
|
|
159
151
|
const mockOnChange = jest.fn();
|
|
160
|
-
const user = userEvent.setup(
|
|
161
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
162
|
-
} );
|
|
152
|
+
const user = userEvent.setup();
|
|
163
153
|
|
|
164
154
|
render(
|
|
165
155
|
<ToggleGroupControl
|
|
@@ -180,9 +170,7 @@ describe( 'ToggleGroupControl', () => {
|
|
|
180
170
|
} );
|
|
181
171
|
|
|
182
172
|
it( 'should not tab to next radio option', async () => {
|
|
183
|
-
const user = userEvent.setup(
|
|
184
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
185
|
-
} );
|
|
173
|
+
const user = userEvent.setup();
|
|
186
174
|
|
|
187
175
|
render(
|
|
188
176
|
<ToggleGroupControl value="rigas" label="Test">
|
|
@@ -205,9 +193,7 @@ describe( 'ToggleGroupControl', () => {
|
|
|
205
193
|
describe( 'isDeselectable = true', () => {
|
|
206
194
|
it( 'should be deselectable', async () => {
|
|
207
195
|
const mockOnChange = jest.fn();
|
|
208
|
-
const user = userEvent.setup(
|
|
209
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
210
|
-
} );
|
|
196
|
+
const user = userEvent.setup();
|
|
211
197
|
|
|
212
198
|
render(
|
|
213
199
|
<ToggleGroupControl
|
|
@@ -237,9 +223,7 @@ describe( 'ToggleGroupControl', () => {
|
|
|
237
223
|
} );
|
|
238
224
|
|
|
239
225
|
it( 'should tab to the next option button', async () => {
|
|
240
|
-
const user = userEvent.setup(
|
|
241
|
-
advanceTimers: jest.advanceTimersByTime,
|
|
242
|
-
} );
|
|
226
|
+
const user = userEvent.setup();
|
|
243
227
|
|
|
244
228
|
render(
|
|
245
229
|
<ToggleGroupControl
|
|
@@ -12,15 +12,42 @@ import {
|
|
|
12
12
|
link,
|
|
13
13
|
more,
|
|
14
14
|
paragraph,
|
|
15
|
+
arrowUp,
|
|
16
|
+
arrowDown,
|
|
17
|
+
arrowLeft,
|
|
18
|
+
arrowRight,
|
|
19
|
+
chevronDown,
|
|
15
20
|
} from '@wordpress/icons';
|
|
16
21
|
|
|
17
22
|
/**
|
|
18
23
|
* Internal dependencies
|
|
19
24
|
*/
|
|
20
|
-
import {
|
|
21
|
-
|
|
25
|
+
import {
|
|
26
|
+
Toolbar,
|
|
27
|
+
ToolbarButton,
|
|
28
|
+
ToolbarGroup,
|
|
29
|
+
ToolbarItem,
|
|
30
|
+
ToolbarDropdownMenu,
|
|
31
|
+
} from '..';
|
|
32
|
+
import { SVG, Path, DropdownMenu } from '../../';
|
|
22
33
|
|
|
23
|
-
export default {
|
|
34
|
+
export default {
|
|
35
|
+
title: 'Components/Toolbar',
|
|
36
|
+
component: Toolbar,
|
|
37
|
+
subcomponents: {
|
|
38
|
+
ToolbarButton,
|
|
39
|
+
ToolbarGroup,
|
|
40
|
+
ToolbarItem,
|
|
41
|
+
ToolbarDropdownMenu,
|
|
42
|
+
},
|
|
43
|
+
argTypes: {
|
|
44
|
+
children: { control: { type: null } },
|
|
45
|
+
},
|
|
46
|
+
parameters: {
|
|
47
|
+
controls: { expanded: true },
|
|
48
|
+
docs: { source: { state: 'open' } },
|
|
49
|
+
},
|
|
50
|
+
};
|
|
24
51
|
|
|
25
52
|
function InlineImageIcon() {
|
|
26
53
|
return (
|
|
@@ -30,13 +57,20 @@ function InlineImageIcon() {
|
|
|
30
57
|
);
|
|
31
58
|
}
|
|
32
59
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
60
|
+
const Template = ( props ) => (
|
|
61
|
+
<div style={ { height: 280 } }>
|
|
62
|
+
<Toolbar { ...props } />
|
|
63
|
+
</div>
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
export const Default = Template.bind( {} );
|
|
67
|
+
Default.args = {
|
|
68
|
+
label: 'Options',
|
|
69
|
+
id: 'options-toolbar',
|
|
70
|
+
children: (
|
|
71
|
+
<>
|
|
38
72
|
<ToolbarGroup>
|
|
39
|
-
<ToolbarButton icon={ paragraph }
|
|
73
|
+
<ToolbarButton icon={ paragraph } text="Paragraph" />
|
|
40
74
|
</ToolbarGroup>
|
|
41
75
|
<ToolbarGroup>
|
|
42
76
|
<ToolbarItem>
|
|
@@ -98,72 +132,41 @@ export const _default = () => {
|
|
|
98
132
|
{ icon: alignRight, title: 'Align right' },
|
|
99
133
|
] }
|
|
100
134
|
/>
|
|
101
|
-
|
|
102
|
-
|
|
135
|
+
<ToolbarDropdownMenu
|
|
136
|
+
icon={ chevronDown }
|
|
137
|
+
label="Select a direction"
|
|
138
|
+
controls={ [
|
|
139
|
+
{
|
|
140
|
+
title: 'Up',
|
|
141
|
+
icon: arrowUp,
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
title: 'Right',
|
|
145
|
+
icon: arrowRight,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
title: 'Down',
|
|
149
|
+
icon: arrowDown,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
title: 'Left',
|
|
153
|
+
icon: arrowLeft,
|
|
154
|
+
},
|
|
155
|
+
] }
|
|
156
|
+
/>
|
|
157
|
+
</>
|
|
158
|
+
),
|
|
103
159
|
};
|
|
104
160
|
|
|
105
|
-
export const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
161
|
+
export const WithoutGroup = Template.bind( {} );
|
|
162
|
+
WithoutGroup.args = {
|
|
163
|
+
label: 'Options',
|
|
164
|
+
id: 'options-toolbar-without-group',
|
|
165
|
+
children: (
|
|
166
|
+
<>
|
|
109
167
|
<ToolbarButton icon={ formatBold } label="Bold" isPressed />
|
|
110
168
|
<ToolbarButton icon={ formatItalic } label="Italic" />
|
|
111
169
|
<ToolbarButton icon={ link } label="Link" />
|
|
112
|
-
|
|
113
|
-
)
|
|
114
|
-
};
|
|
115
|
-
/* eslint-enable no-restricted-syntax */
|
|
116
|
-
|
|
117
|
-
export const toolbars = () => {
|
|
118
|
-
return (
|
|
119
|
-
<div>
|
|
120
|
-
<div style={ { padding: '20px' } }>
|
|
121
|
-
<h2>Icon-only Toolbar</h2>
|
|
122
|
-
<Toolbar>
|
|
123
|
-
<ToolbarButton icon={ formatBold } title="Bold" />
|
|
124
|
-
<ToolbarButton
|
|
125
|
-
icon={ formatItalic }
|
|
126
|
-
title="Italic"
|
|
127
|
-
isActive
|
|
128
|
-
/>
|
|
129
|
-
<ToolbarButton icon={ link } title="Link" />
|
|
130
|
-
</Toolbar>
|
|
131
|
-
</div>
|
|
132
|
-
|
|
133
|
-
<div style={ { padding: '20px' } }>
|
|
134
|
-
<h2>Text-only Toolbar</h2>
|
|
135
|
-
<Toolbar>
|
|
136
|
-
<ToolbarButton>Bold Format</ToolbarButton>
|
|
137
|
-
<ToolbarButton isActive>Italic Format</ToolbarButton>
|
|
138
|
-
<ToolbarButton>Link Format</ToolbarButton>
|
|
139
|
-
</Toolbar>
|
|
140
|
-
</div>
|
|
141
|
-
|
|
142
|
-
<div style={ { padding: '20px' } }>
|
|
143
|
-
<h2>Text and Icon Toolbar</h2>
|
|
144
|
-
<Toolbar>
|
|
145
|
-
<ToolbarButton icon={ formatBold } title="Bold" />
|
|
146
|
-
<ToolbarButton isActive>Bold Format</ToolbarButton>
|
|
147
|
-
<ToolbarButton icon={ formatItalic } title="Italic" />
|
|
148
|
-
<ToolbarButton>Italic Format</ToolbarButton>
|
|
149
|
-
<ToolbarButton icon={ link } title="Link" />
|
|
150
|
-
<ToolbarButton>Link Format</ToolbarButton>
|
|
151
|
-
</Toolbar>
|
|
152
|
-
</div>
|
|
153
|
-
|
|
154
|
-
<div style={ { padding: '20px' } }>
|
|
155
|
-
<h2>Single Icon Button Toolbar</h2>
|
|
156
|
-
<Toolbar>
|
|
157
|
-
<ToolbarButton icon={ formatBold } title="Bold" />
|
|
158
|
-
</Toolbar>
|
|
159
|
-
</div>
|
|
160
|
-
|
|
161
|
-
<div style={ { padding: '20px' } }>
|
|
162
|
-
<h2>Single Text Button toolbar</h2>
|
|
163
|
-
<Toolbar>
|
|
164
|
-
<ToolbarButton>Bold Toolbar</ToolbarButton>
|
|
165
|
-
</Toolbar>
|
|
166
|
-
</div>
|
|
167
|
-
</div>
|
|
168
|
-
);
|
|
170
|
+
</>
|
|
171
|
+
),
|
|
169
172
|
};
|
|
@@ -87,6 +87,7 @@ export const _default = () => {
|
|
|
87
87
|
onDeselect={ () => setScale( undefined ) }
|
|
88
88
|
>
|
|
89
89
|
<ToggleGroupControl
|
|
90
|
+
__nextHasNoMarginBottom
|
|
90
91
|
label="Scale"
|
|
91
92
|
value={ scale }
|
|
92
93
|
onChange={ ( next ) => setScale( next ) }
|
|
@@ -367,6 +368,7 @@ export const WithConditionalDefaultControl = () => {
|
|
|
367
368
|
isShownByDefault={ !! height }
|
|
368
369
|
>
|
|
369
370
|
<ToggleGroupControl
|
|
371
|
+
__nextHasNoMarginBottom
|
|
370
372
|
label="Scale"
|
|
371
373
|
value={ scale }
|
|
372
374
|
onChange={ ( next ) =>
|
|
@@ -456,6 +458,7 @@ export const WithConditionallyRenderedControl = () => {
|
|
|
456
458
|
isShownByDefault={ true }
|
|
457
459
|
>
|
|
458
460
|
<ToggleGroupControl
|
|
461
|
+
__nextHasNoMarginBottom
|
|
459
462
|
label="Scale"
|
|
460
463
|
value={ scale }
|
|
461
464
|
onChange={ ( next ) =>
|
|
@@ -582,7 +582,7 @@ describe( 'ToolsPanel', () => {
|
|
|
582
582
|
// registerPanelItem has still only been called once.
|
|
583
583
|
expect( context.registerPanelItem ).toHaveBeenCalledTimes( 1 );
|
|
584
584
|
// deregisterPanelItem is called, given that we have switched panels.
|
|
585
|
-
expect( context.deregisterPanelItem ).
|
|
585
|
+
expect( context.deregisterPanelItem ).toHaveBeenCalledWith(
|
|
586
586
|
altControlProps.label
|
|
587
587
|
);
|
|
588
588
|
|
package/src/tree-grid/index.js
CHANGED
|
@@ -16,7 +16,7 @@ import RovingTabIndexContainer from './roving-tab-index';
|
|
|
16
16
|
*
|
|
17
17
|
* @param {Element} rowElement The DOM element representing the row.
|
|
18
18
|
*
|
|
19
|
-
* @return {
|
|
19
|
+
* @return {Array | undefined} The array of focusables in the row.
|
|
20
20
|
*/
|
|
21
21
|
function getRowFocusables( rowElement ) {
|
|
22
22
|
const focusablesInRow = focus.focusable.find( rowElement, {
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { unescape as unescapeString } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
9
4
|
import { useMemo } from '@wordpress/element';
|
|
5
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
6
|
+
|
|
10
7
|
/**
|
|
11
8
|
* Internal dependencies
|
|
12
9
|
*/
|
|
@@ -18,7 +15,7 @@ function getSelectOptions( tree: Tree[], level = 0 ): SelectOptions {
|
|
|
18
15
|
{
|
|
19
16
|
value: treeNode.id,
|
|
20
17
|
label:
|
|
21
|
-
'\u00A0'.repeat( level * 3 ) +
|
|
18
|
+
'\u00A0'.repeat( level * 3 ) + decodeEntities( treeNode.name ),
|
|
22
19
|
},
|
|
23
20
|
...getSelectOptions( treeNode.children || [], level + 1 ),
|
|
24
21
|
] );
|
|
@@ -10,6 +10,7 @@ import { contextConnect, contextConnectWithoutRef } from '../context-connect';
|
|
|
10
10
|
import type { WordPressComponentProps } from '../wordpress-component';
|
|
11
11
|
|
|
12
12
|
// Static TypeScript tests
|
|
13
|
+
/* eslint-disable jest/expect-expect */
|
|
13
14
|
describe( 'ref forwarding', () => {
|
|
14
15
|
const ComponentWithRef = (
|
|
15
16
|
props: WordPressComponentProps< {}, 'div' >,
|
|
@@ -53,3 +54,4 @@ describe( 'ref forwarding', () => {
|
|
|
53
54
|
<NoRef foo={ null } />;
|
|
54
55
|
} );
|
|
55
56
|
} );
|
|
57
|
+
/* eslint-enable jest/expect-expect */
|
|
@@ -14,6 +14,7 @@ import { forwardRef } from '@wordpress/element';
|
|
|
14
14
|
import type { WordPressComponentProps } from '../wordpress-component';
|
|
15
15
|
|
|
16
16
|
// Static TypeScript checks
|
|
17
|
+
/* eslint-disable jest/expect-expect */
|
|
17
18
|
describe( 'WordPressComponentProps', () => {
|
|
18
19
|
it( 'should not accept a ref', () => {
|
|
19
20
|
const Foo = ( props: WordPressComponentProps< {}, 'div' > ) => (
|
|
@@ -34,3 +35,4 @@ describe( 'WordPressComponentProps', () => {
|
|
|
34
35
|
<ForwardedFoo ref={ null } />;
|
|
35
36
|
} );
|
|
36
37
|
} );
|
|
38
|
+
/* eslint-enable jest/expect-expect */
|