@wordpress/components 26.0.2 → 27.0.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/.stylelintrc.js +2 -2
- package/CHANGELOG.md +23 -0
- package/CONTRIBUTING.md +72 -0
- package/build/autocomplete/index.js +3 -8
- package/build/autocomplete/index.js.map +1 -1
- package/build/color-picker/component.js +10 -1
- package/build/color-picker/component.js.map +1 -1
- package/build/color-picker/styles.js +8 -9
- package/build/color-picker/styles.js.map +1 -1
- package/build/combobox-control/index.js +4 -9
- package/build/combobox-control/index.js.map +1 -1
- package/build/custom-select-control/index.js +2 -15
- package/build/custom-select-control/index.js.map +1 -1
- package/build/custom-select-control-v2/custom-select-item.js +32 -0
- package/build/custom-select-control-v2/custom-select-item.js.map +1 -0
- package/build/custom-select-control-v2/custom-select.js +91 -0
- package/build/custom-select-control-v2/custom-select.js.map +1 -0
- package/build/custom-select-control-v2/default-component/index.js +41 -0
- package/build/custom-select-control-v2/default-component/index.js.map +1 -0
- package/build/custom-select-control-v2/index.js +13 -82
- package/build/custom-select-control-v2/index.js.map +1 -1
- package/build/custom-select-control-v2/legacy-adapter.js +29 -0
- package/build/custom-select-control-v2/legacy-adapter.js.map +1 -0
- package/build/custom-select-control-v2/legacy-component/index.js +123 -0
- package/build/custom-select-control-v2/legacy-component/index.js.map +1 -0
- package/build/custom-select-control-v2/styles.js +73 -50
- package/build/custom-select-control-v2/styles.js.map +1 -1
- package/build/custom-select-control-v2/types.js.map +1 -1
- package/build/font-size-picker/font-size-picker-select.js +0 -1
- package/build/font-size-picker/font-size-picker-select.js.map +1 -1
- package/build/form-token-field/index.js +3 -8
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/suggestions-list.js +5 -12
- package/build/form-token-field/suggestions-list.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js +1 -1
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -1
- package/build/modal/index.js +2 -10
- package/build/modal/index.js.map +1 -1
- package/build/progress-bar/styles.js +5 -5
- package/build/progress-bar/styles.js.map +1 -1
- package/build/utils/with-ignore-ime-events.js +34 -0
- package/build/utils/with-ignore-ime-events.js.map +1 -0
- package/build-module/autocomplete/index.js +3 -8
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/color-picker/component.js +11 -2
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/styles.js +8 -9
- package/build-module/color-picker/styles.js.map +1 -1
- package/build-module/combobox-control/index.js +4 -9
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/custom-select-control/index.js +2 -15
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/custom-select-control-v2/custom-select-item.js +26 -0
- package/build-module/custom-select-control-v2/custom-select-item.js.map +1 -0
- package/build-module/custom-select-control-v2/custom-select.js +82 -0
- package/build-module/custom-select-control-v2/custom-select.js.map +1 -0
- package/build-module/custom-select-control-v2/default-component/index.js +30 -0
- package/build-module/custom-select-control-v2/default-component/index.js.map +1 -0
- package/build-module/custom-select-control-v2/index.js +2 -74
- package/build-module/custom-select-control-v2/index.js.map +1 -1
- package/build-module/custom-select-control-v2/legacy-adapter.js +21 -0
- package/build-module/custom-select-control-v2/legacy-adapter.js.map +1 -0
- package/build-module/custom-select-control-v2/legacy-component/index.js +111 -0
- package/build-module/custom-select-control-v2/legacy-component/index.js.map +1 -0
- package/build-module/custom-select-control-v2/styles.js +73 -42
- package/build-module/custom-select-control-v2/styles.js.map +1 -1
- package/build-module/custom-select-control-v2/types.js.map +1 -1
- package/build-module/font-size-picker/font-size-picker-select.js +0 -1
- package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
- package/build-module/form-token-field/index.js +3 -8
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/suggestions-list.js +5 -12
- package/build-module/form-token-field/suggestions-list.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -1
- package/build-module/modal/index.js +3 -10
- package/build-module/modal/index.js.map +1 -1
- package/build-module/progress-bar/styles.js +5 -5
- package/build-module/progress-bar/styles.js.map +1 -1
- package/build-module/utils/with-ignore-ime-events.js +28 -0
- package/build-module/utils/with-ignore-ime-events.js.map +1 -0
- package/build-style/style-rtl.css +8 -1
- package/build-style/style.css +8 -1
- package/build-types/alignment-matrix-control/stories/index.story.d.ts +1 -1
- package/build-types/angle-picker-control/stories/index.story.d.ts +1 -1
- package/build-types/animate/stories/index.story.d.ts +7 -7
- package/build-types/autocomplete/index.d.ts.map +1 -1
- package/build-types/base-control/stories/index.story.d.ts +1 -1
- package/build-types/border-box-control/stories/index.story.d.ts +1 -1
- package/build-types/border-control/stories/index.story.d.ts +6 -6
- package/build-types/box-control/stories/index.story.d.ts +6 -6
- package/build-types/button/stories/e2e/index.story.d.ts +1 -1
- package/build-types/button/stories/index.story.d.ts +7 -7
- package/build-types/card/stories/index.story.d.ts +2 -2
- package/build-types/circular-option-picker/stories/index.story.d.ts +5 -5
- package/build-types/color-palette/stories/index.story.d.ts +3 -3
- package/build-types/color-picker/component.d.ts.map +1 -1
- package/build-types/color-picker/stories/index.story.d.ts +1 -1
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/combobox-control/index.d.ts.map +1 -1
- package/build-types/combobox-control/stories/index.story.d.ts +2 -2
- package/build-types/confirm-dialog/stories/index.story.d.ts +2 -2
- package/build-types/custom-gradient-picker/stories/index.story.d.ts +1 -1
- package/build-types/custom-select-control/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/custom-select-item.d.ts +9 -0
- package/build-types/custom-select-control-v2/custom-select-item.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/custom-select.d.ts +6 -0
- package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/default-component/index.d.ts +5 -0
- package/build-types/custom-select-control-v2/default-component/index.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/index.d.ts +5 -6
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts +6 -0
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/legacy-component/index.d.ts +5 -0
- package/build-types/custom-select-control-v2/legacy-component/index.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/stories/default.story.d.ts +29 -0
- package/build-types/custom-select-control-v2/stories/default.story.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts +12 -0
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/styles.d.ts +31 -6
- package/build-types/custom-select-control-v2/styles.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/types.d.ts +137 -14
- package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
- package/build-types/dimension-control/stories/index.story.d.ts +2 -2
- package/build-types/drop-zone/stories/index.story.d.ts +1 -1
- package/build-types/dropdown/stories/index.story.d.ts +3 -3
- package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
- package/build-types/duotone-picker/stories/duotone-picker.story.d.ts +1 -1
- package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts +3 -3
- package/build-types/focal-point-picker/stories/index.story.d.ts +4 -4
- package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
- package/build-types/form-file-upload/stories/index.story.d.ts +5 -5
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
- package/build-types/gradient-picker/stories/index.story.d.ts +3 -3
- package/build-types/guide/stories/index.story.d.ts +1 -1
- package/build-types/icon/stories/index.story.d.ts +4 -4
- package/build-types/input-control/stories/index.story.d.ts +6 -6
- package/build-types/keyboard-shortcuts/stories/index.story.d.ts +1 -1
- package/build-types/menu-group/stories/index.story.d.ts +1 -1
- package/build-types/menu-item/stories/index.story.d.ts +4 -4
- package/build-types/modal/index.d.ts.map +1 -1
- package/build-types/navigation/stories/index.story.d.ts +6 -6
- package/build-types/notice/stories/index.story.d.ts +4 -4
- package/build-types/number-control/stories/index.story.d.ts +1 -1
- package/build-types/palette-edit/stories/index.story.d.ts +2 -2
- package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
- package/build-types/query-controls/stories/index.story.d.ts +1 -1
- package/build-types/resizable-box/stories/index.story.d.ts +2 -2
- package/build-types/responsive-wrapper/stories/index.story.d.ts +1 -1
- package/build-types/sandbox/stories/index.story.d.ts +1 -1
- package/build-types/search-control/stories/index.story.d.ts +2 -2
- package/build-types/select-control/stories/index.story.d.ts +2 -2
- package/build-types/shortcut/stories/index.story.d.ts +1 -1
- package/build-types/tab-panel/stories/index.story.d.ts +4 -4
- package/build-types/tabs/stories/index.story.d.ts +9 -9
- package/build-types/tabs/stories/index.story.d.ts.map +1 -1
- package/build-types/text/stories/index.story.d.ts +3 -3
- package/build-types/theme/stories/index.story.d.ts +1 -1
- package/build-types/theme/stories/index.story.d.ts.map +1 -1
- package/build-types/toggle-control/stories/index.story.d.ts +2 -2
- package/build-types/toolbar/stories/index.story.d.ts +3 -3
- package/build-types/tooltip/stories/index.story.d.ts +1 -1
- package/build-types/tree-grid/stories/index.story.d.ts +1 -1
- package/build-types/tree-select/stories/index.story.d.ts +1 -1
- package/build-types/utils/with-ignore-ime-events.d.ts +15 -0
- package/build-types/utils/with-ignore-ime-events.d.ts.map +1 -0
- package/build-types/v-stack/stories/index.story.d.ts +1 -1
- package/package.json +19 -20
- package/src/alignment-matrix-control/test/index.tsx +3 -1
- package/src/autocomplete/index.tsx +3 -10
- package/src/circular-option-picker/test/index.tsx +4 -1
- package/src/color-picker/component.tsx +22 -11
- package/src/color-picker/styles.ts +1 -15
- package/src/combobox-control/index.tsx +33 -41
- package/src/composite/legacy/test/index.tsx +18 -2
- package/src/custom-select-control/README.md +0 -10
- package/src/custom-select-control/index.js +3 -22
- package/src/custom-select-control/stories/index.story.js +0 -1
- package/src/custom-select-control/test/index.js +17 -17
- package/src/custom-select-control-v2/README.md +97 -7
- package/src/custom-select-control-v2/custom-select-item.tsx +29 -0
- package/src/custom-select-control-v2/custom-select.tsx +122 -0
- package/src/custom-select-control-v2/default-component/index.tsx +24 -0
- package/src/custom-select-control-v2/index.tsx +2 -102
- package/src/custom-select-control-v2/legacy-adapter.tsx +25 -0
- package/src/custom-select-control-v2/legacy-component/index.tsx +133 -0
- package/src/custom-select-control-v2/stories/{index.story.tsx → default.story.tsx} +27 -33
- package/src/custom-select-control-v2/stories/legacy.story.tsx +88 -0
- package/src/custom-select-control-v2/styles.ts +82 -38
- package/src/custom-select-control-v2/test/index.tsx +808 -148
- package/src/custom-select-control-v2/types.ts +148 -20
- package/src/dropdown-menu-v2/stories/index.story.tsx +1 -0
- package/src/dropdown-menu-v2/test/index.tsx +4 -1
- package/src/font-size-picker/font-size-picker-select.tsx +0 -1
- package/src/form-token-field/index.tsx +3 -10
- package/src/form-token-field/suggestions-list.tsx +5 -17
- package/src/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js +1 -1
- package/src/modal/index.tsx +2 -12
- package/src/modal/style.scss +1 -0
- package/src/progress-bar/stories/index.story.tsx +1 -0
- package/src/progress-bar/styles.ts +2 -2
- package/src/tab-panel/test/index.tsx +8 -1
- package/src/tabs/stories/index.story.tsx +1 -0
- package/src/tabs/test/index.tsx +36 -6
- package/src/theme/stories/index.story.tsx +1 -0
- package/src/toggle-group-control/test/index.tsx +4 -0
- package/src/toolbar/toolbar-group/style.scss +1 -0
- package/src/tooltip/test/index.tsx +5 -0
- package/src/utils/with-ignore-ime-events.ts +32 -0
- package/tsconfig.json +0 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/custom-select-control/styles.js +0 -27
- package/build/custom-select-control/styles.js.map +0 -1
- package/build-module/custom-select-control/styles.js +0 -18
- package/build-module/custom-select-control/styles.js.map +0 -1
- package/build-types/custom-select-control/styles.d.ts +0 -11
- package/build-types/custom-select-control/styles.d.ts.map +0 -1
- package/build-types/custom-select-control-v2/stories/index.story.d.ts +0 -20
- package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +0 -1
- package/src/custom-select-control/styles.ts +0 -28
|
@@ -334,9 +334,11 @@ describe.each( [
|
|
|
334
334
|
name: 'R',
|
|
335
335
|
} );
|
|
336
336
|
|
|
337
|
+
await sleep();
|
|
337
338
|
await press.Tab();
|
|
338
339
|
expect( rigas ).toHaveFocus();
|
|
339
340
|
|
|
341
|
+
await sleep();
|
|
340
342
|
await press.Tab();
|
|
341
343
|
|
|
342
344
|
// When in controlled mode, there is an additional "Reset" button.
|
|
@@ -392,6 +394,7 @@ describe.each( [
|
|
|
392
394
|
</Component>
|
|
393
395
|
);
|
|
394
396
|
|
|
397
|
+
await sleep();
|
|
395
398
|
await press.Tab();
|
|
396
399
|
expect(
|
|
397
400
|
screen.getByRole( 'button', {
|
|
@@ -400,6 +403,7 @@ describe.each( [
|
|
|
400
403
|
} )
|
|
401
404
|
).toHaveFocus();
|
|
402
405
|
|
|
406
|
+
await sleep();
|
|
403
407
|
await press.Tab();
|
|
404
408
|
expect(
|
|
405
409
|
screen.getByRole( 'button', {
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
// Icons are 36px, as set by a 24px icon and 12px padding.
|
|
21
21
|
.components-button.components-button, // This needs specificity to override padding values inherited from the button component.
|
|
22
22
|
.components-button.has-icon.has-icon {
|
|
23
|
+
justify-content: center;
|
|
23
24
|
min-width: $block-toolbar-height - $grid-unit-15;
|
|
24
25
|
padding-left: $grid-unit-15 * 0.5; // 6px.
|
|
25
26
|
padding-right: $grid-unit-15 * 0.5;
|
|
@@ -67,6 +67,7 @@ describe( 'Tooltip', () => {
|
|
|
67
67
|
screen.getByRole( 'button', { name: 'Second button' } )
|
|
68
68
|
).toBeVisible();
|
|
69
69
|
|
|
70
|
+
await sleep();
|
|
70
71
|
await press.Tab();
|
|
71
72
|
|
|
72
73
|
expectTooltipToBeHidden();
|
|
@@ -134,6 +135,7 @@ describe( 'Tooltip', () => {
|
|
|
134
135
|
);
|
|
135
136
|
|
|
136
137
|
// Focus the anchor, tooltip should show
|
|
138
|
+
await sleep();
|
|
137
139
|
await press.Tab();
|
|
138
140
|
expect(
|
|
139
141
|
screen.getByRole( 'button', { name: 'Tooltip anchor' } )
|
|
@@ -141,6 +143,7 @@ describe( 'Tooltip', () => {
|
|
|
141
143
|
await waitExpectTooltipToShow();
|
|
142
144
|
|
|
143
145
|
// Focus the other button, tooltip should hide
|
|
146
|
+
await sleep();
|
|
144
147
|
await press.Tab();
|
|
145
148
|
expect(
|
|
146
149
|
screen.getByRole( 'button', { name: 'Focus me' } )
|
|
@@ -166,11 +169,13 @@ describe( 'Tooltip', () => {
|
|
|
166
169
|
expect( anchor ).toHaveAttribute( 'aria-disabled', 'true' );
|
|
167
170
|
|
|
168
171
|
// Focus anchor, tooltip should show
|
|
172
|
+
await sleep();
|
|
169
173
|
await press.Tab();
|
|
170
174
|
expect( anchor ).toHaveFocus();
|
|
171
175
|
await waitExpectTooltipToShow();
|
|
172
176
|
|
|
173
177
|
// Focus another button, tooltip should hide
|
|
178
|
+
await sleep();
|
|
174
179
|
await press.Tab();
|
|
175
180
|
expect(
|
|
176
181
|
screen.getByRole( 'button', {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A higher-order function that wraps a keydown event handler to ensure it is not an IME event.
|
|
3
|
+
*
|
|
4
|
+
* In CJK languages, an IME (Input Method Editor) is used to input complex characters.
|
|
5
|
+
* During an IME composition, keydown events (e.g. Enter or Escape) can be fired
|
|
6
|
+
* which are intended to control the IME and not the application.
|
|
7
|
+
* These events should be ignored by any application logic.
|
|
8
|
+
*
|
|
9
|
+
* @param keydownHandler The keydown event handler to execute after ensuring it was not an IME event.
|
|
10
|
+
*
|
|
11
|
+
* @return A wrapped version of the given event handler that ignores IME events.
|
|
12
|
+
*/
|
|
13
|
+
export function withIgnoreIMEEvents<
|
|
14
|
+
E extends React.KeyboardEvent | KeyboardEvent,
|
|
15
|
+
>( keydownHandler: ( event: E ) => void ) {
|
|
16
|
+
return ( event: E ) => {
|
|
17
|
+
const { isComposing } =
|
|
18
|
+
'nativeEvent' in event ? event.nativeEvent : event;
|
|
19
|
+
|
|
20
|
+
if (
|
|
21
|
+
isComposing ||
|
|
22
|
+
// Workaround for Mac Safari where the final Enter/Backspace of an IME composition
|
|
23
|
+
// is `isComposing=false`, even though it's technically still part of the composition.
|
|
24
|
+
// These can only be detected by keyCode.
|
|
25
|
+
event.keyCode === 229
|
|
26
|
+
) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
keydownHandler( event );
|
|
31
|
+
};
|
|
32
|
+
}
|