@wordpress/components 27.0.0 → 27.2.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 +50 -2
- package/build/base-control/index.native.js.map +1 -1
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/button/index.js +4 -5
- package/build/button/index.js.map +1 -1
- package/build/button/index.native.js.map +1 -1
- package/build/button/types.js.map +1 -1
- package/build/confirm-dialog/component.js.map +1 -1
- package/build/custom-select-control-v2/default-component/index.js.map +1 -1
- package/build/custom-select-control-v2/index.js +2 -2
- package/build/custom-select-control-v2/index.js.map +1 -1
- package/build/custom-select-control-v2/types.js.map +1 -1
- package/build/date-time/date/styles.js +7 -7
- package/build/date-time/date/styles.js.map +1 -1
- package/build/draggable/index.native.js +2 -2
- package/build/draggable/index.native.js.map +1 -1
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/flex/flex/hook.js +1 -1
- package/build/flex/flex/hook.js.map +1 -1
- package/build/font-size-picker/index.native.js.map +1 -1
- package/build/form-token-field/index.js +1 -1
- package/build/form-token-field/index.js.map +1 -1
- package/build/h-stack/hook.js +6 -1
- package/build/h-stack/hook.js.map +1 -1
- package/build/input-control/index.js +1 -1
- package/build/input-control/index.js.map +1 -1
- package/build/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/image/index.native.js +4 -13
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/media-edit/index.native.js.map +1 -1
- package/build/palette-edit/index.js +18 -12
- package/build/palette-edit/index.js.map +1 -1
- package/build/query-controls/index.native.js.map +1 -1
- package/build/range-control/index.js.map +1 -1
- package/build/search-control/index.native.js.map +1 -1
- package/build/snackbar/index.js +3 -2
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +2 -1
- package/build/snackbar/list.js.map +1 -1
- package/build/snackbar/types.js.map +1 -1
- package/build/tabs/index.js +7 -7
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/types.js.map +1 -1
- package/build/text-control/types.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +4 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +1 -1
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/utils/config-values.js +1 -1
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/hooks/index.js +0 -7
- package/build/utils/hooks/index.js.map +1 -1
- package/build/utils/input/base.js +2 -2
- package/build/utils/input/base.js.map +1 -1
- package/build-module/base-control/index.native.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/button/index.js +4 -5
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/button/types.js.map +1 -1
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/custom-select-control-v2/default-component/index.js.map +1 -1
- package/build-module/custom-select-control-v2/index.js +1 -1
- package/build-module/custom-select-control-v2/index.js.map +1 -1
- package/build-module/custom-select-control-v2/types.js.map +1 -1
- package/build-module/date-time/date/styles.js +7 -7
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/draggable/index.native.js +2 -2
- package/build-module/draggable/index.native.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/flex/flex/hook.js +1 -1
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/font-size-picker/index.native.js.map +1 -1
- package/build-module/form-token-field/index.js +1 -1
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/h-stack/hook.js +6 -1
- package/build-module/h-stack/hook.js.map +1 -1
- package/build-module/input-control/index.js +1 -1
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +6 -15
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/media-edit/index.native.js.map +1 -1
- package/build-module/palette-edit/index.js +17 -11
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/snackbar/index.js +3 -2
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +2 -1
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/snackbar/types.js.map +1 -1
- package/build-module/tabs/index.js +7 -7
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/types.js.map +1 -1
- package/build-module/text-control/types.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +4 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/utils/config-values.js +1 -1
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/hooks/index.js +0 -1
- package/build-module/utils/hooks/index.js.map +1 -1
- package/build-module/utils/input/base.js +2 -2
- package/build-module/utils/input/base.js.map +1 -1
- package/build-style/style-rtl.css +33 -23
- package/build-style/style.css +33 -23
- package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
- package/build-types/button/deprecated.d.ts +4 -10
- package/build-types/button/deprecated.d.ts.map +1 -1
- package/build-types/button/index.d.ts +3 -3
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/button/stories/index.story.d.ts +7 -7
- package/build-types/button/stories/index.story.d.ts.map +1 -1
- package/build-types/button/types.d.ts +37 -8
- package/build-types/button/types.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +1 -1
- package/build-types/custom-select-control-v2/default-component/index.d.ts +2 -1
- package/build-types/custom-select-control-v2/default-component/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/index.d.ts +1 -1
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts +2 -0
- package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/stories/default.story.d.ts +4 -3
- package/build-types/custom-select-control-v2/stories/default.story.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts +2 -2
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/types.d.ts +0 -1
- package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +1 -1
- package/build-types/dropdown/stories/index.story.d.ts +1 -0
- package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
- package/build-types/flex/flex/hook.d.ts +2 -3
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/font-size-picker/styles.d.ts +1 -1
- package/build-types/form-token-field/index.d.ts +1 -1
- package/build-types/h-stack/hook.d.ts +2 -4
- package/build-types/h-stack/hook.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +1 -1
- package/build-types/input-control/stories/index.story.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +0 -1
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +1 -2
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/component.d.ts +0 -1
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +1 -2
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts +0 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/palette-edit/index.d.ts +6 -3
- package/build-types/palette-edit/index.d.ts.map +1 -1
- package/build-types/palette-edit/styles.d.ts +2 -2
- package/build-types/radio-group/stories/index.story.d.ts.map +1 -1
- package/build-types/snackbar/index.d.ts +5 -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/test/index.d.ts +2 -0
- package/build-types/snackbar/test/index.d.ts.map +1 -0
- package/build-types/snackbar/test/list.d.ts +2 -0
- package/build-types/snackbar/test/list.d.ts.map +1 -0
- package/build-types/snackbar/types.d.ts +18 -2
- package/build-types/snackbar/types.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts +1 -1
- package/build-types/tabs/types.d.ts +1 -1
- package/build-types/text-control/index.d.ts +1 -1
- package/build-types/text-control/types.d.ts +1 -1
- package/build-types/text-control/types.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +4 -10
- package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
- package/build-types/utils/hooks/index.d.ts +0 -1
- package/build-types/v-stack/hook.d.ts +2 -4
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/base-control/index.native.js +1 -1
- package/src/base-control/test/index.tsx +1 -1
- package/src/border-box-control/border-box-control/component.tsx +1 -1
- package/src/border-box-control/border-box-control-split-controls/component.tsx +4 -4
- package/src/border-control/border-control-dropdown/component.tsx +1 -1
- package/src/button/index.native.js +1 -1
- package/src/button/index.tsx +3 -4
- package/src/button/style.scss +1 -3
- package/src/button/test/index.tsx +6 -6
- package/src/button/types.ts +37 -9
- package/src/circular-option-picker/test/index.tsx +2 -4
- package/src/combobox-control/test/index.tsx +1 -1
- package/src/confirm-dialog/README.md +7 -0
- package/src/confirm-dialog/component.tsx +1 -1
- package/src/confirm-dialog/test/index.tsx +5 -21
- package/src/custom-select-control-v2/default-component/index.tsx +4 -1
- package/src/custom-select-control-v2/index.tsx +1 -1
- package/src/custom-select-control-v2/legacy-component/test/index.tsx +457 -0
- package/src/custom-select-control-v2/stories/legacy.story.tsx +5 -6
- package/src/custom-select-control-v2/test/index.tsx +279 -749
- package/src/custom-select-control-v2/types.ts +0 -1
- package/src/date-time/date/styles.ts +2 -2
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
- package/src/disabled/test/index.tsx +1 -1
- package/src/draggable/index.native.js +2 -2
- package/src/draggable/test/index.native.js +6 -2
- package/src/dropdown/stories/index.story.tsx +19 -0
- package/src/dropdown/style.scss +26 -0
- package/src/dropdown-menu/index.native.js +2 -2
- package/src/dropdown-menu/style.scss +0 -25
- package/src/flex/flex/README.md +2 -2
- package/src/flex/flex/hook.ts +1 -1
- package/src/font-size-picker/index.native.js +2 -2
- package/src/form-token-field/README.md +1 -1
- package/src/form-token-field/index.tsx +2 -2
- package/src/grid/README.md +11 -11
- package/src/h-stack/README.md +6 -6
- package/src/h-stack/hook.tsx +2 -1
- package/src/h-stack/test/index.tsx +10 -0
- package/src/heading/README.md +1 -1
- package/src/heading/test/__snapshots__/index.tsx.snap +3 -3
- package/src/input-control/README.md +1 -1
- package/src/input-control/index.tsx +1 -1
- package/src/input-control/stories/index.story.tsx +1 -0
- package/src/item-group/test/__snapshots__/index.js.snap +11 -11
- package/src/item-group/test/index.js +2 -2
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +10 -15
- package/src/mobile/bottom-sheet/button.native.js +1 -5
- package/src/mobile/bottom-sheet/index.native.js +2 -2
- package/src/mobile/bottom-sheet/range-cell.native.js +1 -1
- package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -2
- package/src/mobile/bottom-sheet-select-control/README.md +1 -1
- package/src/mobile/bottom-sheet-select-control/index.native.js +1 -1
- package/src/mobile/bottom-sheet-text-control/index.native.js +1 -1
- package/src/mobile/gradient/index.native.js +1 -1
- package/src/mobile/image/index.native.js +8 -23
- package/src/mobile/media-edit/index.native.js +1 -1
- package/src/modal/test/index.tsx +1 -1
- package/src/navigation/stories/utils/hide-if-empty.tsx +2 -6
- package/src/palette-edit/index.tsx +23 -23
- package/src/palette-edit/test/index.tsx +21 -17
- package/src/placeholder/style.scss +5 -1
- package/src/popover/test/index.tsx +1 -4
- package/src/progress-bar/README.md +1 -1
- package/src/query-controls/index.native.js +2 -2
- package/src/radio-control/README.md +3 -3
- package/src/radio-group/stories/index.story.tsx +1 -0
- package/src/range-control/index.tsx +3 -3
- package/src/range-control/test/index.tsx +2 -2
- package/src/resizable-box/resize-tooltip/README.md +2 -2
- package/src/search-control/index.native.js +1 -1
- package/src/snackbar/index.tsx +5 -2
- package/src/snackbar/list.tsx +6 -1
- package/src/snackbar/stories/list.story.tsx +0 -3
- package/src/snackbar/test/index.tsx +267 -0
- package/src/snackbar/test/list.tsx +46 -0
- package/src/snackbar/types.ts +31 -3
- package/src/tabs/README.md +18 -18
- package/src/tabs/index.tsx +7 -7
- package/src/tabs/stories/index.story.tsx +1 -1
- package/src/tabs/test/index.tsx +30 -30
- package/src/tabs/types.ts +1 -1
- package/src/text/test/__snapshots__/index.tsx.snap +3 -3
- package/src/text-control/types.ts +12 -1
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +14 -10
- package/src/toggle-group-control/test/index.tsx +1 -1
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +12 -10
- package/src/tools-panel/stories/index.story.tsx +8 -8
- package/src/tools-panel/test/index.tsx +10 -28
- package/src/tools-panel/tools-panel-header/component.tsx +1 -1
- package/src/tooltip/style.scss +2 -1
- package/src/tooltip/test/index.native.js +3 -3
- package/src/tree-grid/test/index.tsx +1 -1
- package/src/truncate/README.md +5 -5
- package/src/utils/config-values.js +1 -1
- package/src/utils/hooks/index.js +0 -1
- package/src/utils/input/base.js +1 -1
- package/src/v-stack/README.md +6 -6
- package/src/v-stack/test/index.tsx +10 -0
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/custom-select-control-v2/legacy-adapter.js +0 -29
- package/build/custom-select-control-v2/legacy-adapter.js.map +0 -1
- package/build/utils/hooks/use-latest-ref.js +0 -33
- package/build/utils/hooks/use-latest-ref.js.map +0 -1
- package/build-module/custom-select-control-v2/legacy-adapter.js +0 -21
- package/build-module/custom-select-control-v2/legacy-adapter.js.map +0 -1
- package/build-module/utils/hooks/use-latest-ref.js +0 -27
- package/build-module/utils/hooks/use-latest-ref.js.map +0 -1
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts +0 -6
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts.map +0 -1
- package/build-types/utils/hooks/use-latest-ref.d.ts +0 -15
- package/build-types/utils/hooks/use-latest-ref.d.ts.map +0 -1
- package/src/custom-select-control-v2/legacy-adapter.tsx +0 -25
- package/src/utils/hooks/test/use-latest-ref.js +0 -119
- package/src/utils/hooks/use-latest-ref.ts +0 -29
|
@@ -59,7 +59,7 @@ exports[`DimensionControl rendering renders with custom sizes 1`] = `
|
|
|
59
59
|
|
|
60
60
|
.emotion-11 {
|
|
61
61
|
color: #1e1e1e;
|
|
62
|
-
line-height: 1.
|
|
62
|
+
line-height: 1.4;
|
|
63
63
|
margin: 0;
|
|
64
64
|
font-size: calc((13 / 13) * 13px);
|
|
65
65
|
font-weight: normal;
|
|
@@ -330,7 +330,7 @@ exports[`DimensionControl rendering renders with defaults 1`] = `
|
|
|
330
330
|
|
|
331
331
|
.emotion-11 {
|
|
332
332
|
color: #1e1e1e;
|
|
333
|
-
line-height: 1.
|
|
333
|
+
line-height: 1.4;
|
|
334
334
|
margin: 0;
|
|
335
335
|
font-size: calc((13 / 13) * 13px);
|
|
336
336
|
font-weight: normal;
|
|
@@ -611,7 +611,7 @@ exports[`DimensionControl rendering renders with icon and custom icon label 1`]
|
|
|
611
611
|
|
|
612
612
|
.emotion-11 {
|
|
613
613
|
color: #1e1e1e;
|
|
614
|
-
line-height: 1.
|
|
614
|
+
line-height: 1.4;
|
|
615
615
|
margin: 0;
|
|
616
616
|
font-size: calc((13 / 13) * 13px);
|
|
617
617
|
font-weight: normal;
|
|
@@ -904,7 +904,7 @@ exports[`DimensionControl rendering renders with icon and default icon label 1`]
|
|
|
904
904
|
|
|
905
905
|
.emotion-11 {
|
|
906
906
|
color: #1e1e1e;
|
|
907
|
-
line-height: 1.
|
|
907
|
+
line-height: 1.4;
|
|
908
908
|
margin: 0;
|
|
909
909
|
font-size: calc((13 / 13) * 13px);
|
|
910
910
|
font-weight: normal;
|
|
@@ -94,7 +94,7 @@ describe( 'Disabled', () => {
|
|
|
94
94
|
'This is contentEditable.'
|
|
95
95
|
);
|
|
96
96
|
|
|
97
|
-
rerender( <MaybeDisable isDisabled
|
|
97
|
+
rerender( <MaybeDisable isDisabled /> );
|
|
98
98
|
expect( getInput() ).toHaveValue( 'This is input.' );
|
|
99
99
|
expect( getContentEditable() ).toHaveTextContent(
|
|
100
100
|
'This is contentEditable.'
|
|
@@ -63,7 +63,7 @@ const Draggable = ( {
|
|
|
63
63
|
useAnimatedReaction(
|
|
64
64
|
() => isDragging.value,
|
|
65
65
|
( result, previous ) => {
|
|
66
|
-
if ( result === previous
|
|
66
|
+
if ( result === previous ) {
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
|
|
@@ -75,7 +75,7 @@ const Draggable = ( {
|
|
|
75
75
|
id: draggingId.value,
|
|
76
76
|
} );
|
|
77
77
|
}
|
|
78
|
-
} else if ( onDragEnd ) {
|
|
78
|
+
} else if ( previous !== null && onDragEnd ) {
|
|
79
79
|
onDragEnd( {
|
|
80
80
|
x: lastPosition.x.value,
|
|
81
81
|
y: lastPosition.y.value,
|
|
@@ -28,10 +28,12 @@ const TouchEventType = {
|
|
|
28
28
|
// For testing, we mock the "requestAnimationFrame" so it calls the callback passed instantly.
|
|
29
29
|
let requestAnimationFrameCopy;
|
|
30
30
|
beforeEach( () => {
|
|
31
|
+
jest.useFakeTimers();
|
|
31
32
|
requestAnimationFrameCopy = global.requestAnimationFrame;
|
|
32
33
|
global.requestAnimationFrame = ( callback ) => callback();
|
|
33
34
|
} );
|
|
34
35
|
afterEach( () => {
|
|
36
|
+
jest.useRealTimers();
|
|
35
37
|
global.requestAnimationFrame = requestAnimationFrameCopy;
|
|
36
38
|
} );
|
|
37
39
|
|
|
@@ -43,7 +45,7 @@ describe( 'Draggable', () => {
|
|
|
43
45
|
<Draggable>
|
|
44
46
|
<DraggableTrigger
|
|
45
47
|
id={ triggerId }
|
|
46
|
-
enabled
|
|
48
|
+
enabled
|
|
47
49
|
minDuration={ 500 }
|
|
48
50
|
onLongPress={ onLongPress }
|
|
49
51
|
testID="draggableTrigger"
|
|
@@ -58,6 +60,7 @@ describe( 'Draggable', () => {
|
|
|
58
60
|
{ oldState: State.BEGAN, state: State.ACTIVE },
|
|
59
61
|
{ state: State.ACTIVE },
|
|
60
62
|
] );
|
|
63
|
+
jest.runOnlyPendingTimers();
|
|
61
64
|
|
|
62
65
|
expect( onLongPress ).toHaveBeenCalledTimes( 1 );
|
|
63
66
|
expect( onLongPress ).toHaveBeenCalledWith( triggerId );
|
|
@@ -93,6 +96,7 @@ describe( 'Draggable', () => {
|
|
|
93
96
|
{ oldState: State.BEGAN, state: State.ACTIVE },
|
|
94
97
|
{ state: State.ACTIVE },
|
|
95
98
|
] );
|
|
99
|
+
jest.runOnlyPendingTimers();
|
|
96
100
|
fireGestureHandler( draggable, [
|
|
97
101
|
// TOUCHES_DOWN event is only received on ACTIVE state, so we have to fire it manually.
|
|
98
102
|
{ oldState: State.BEGAN, state: State.ACTIVE },
|
|
@@ -112,7 +116,7 @@ describe( 'Draggable', () => {
|
|
|
112
116
|
] );
|
|
113
117
|
// TODO(jest-console): Fix the warning and remove the expect below.
|
|
114
118
|
expect( console ).toHaveWarnedWith(
|
|
115
|
-
'[Reanimated]
|
|
119
|
+
'[Reanimated] setGestureState() cannot be used with Jest.'
|
|
116
120
|
);
|
|
117
121
|
|
|
118
122
|
expect( onDragStart ).toHaveBeenCalledTimes( 1 );
|
|
@@ -8,6 +8,8 @@ import type { Meta, StoryFn } from '@storybook/react';
|
|
|
8
8
|
*/
|
|
9
9
|
import Dropdown from '..';
|
|
10
10
|
import Button from '../../button';
|
|
11
|
+
import MenuGroup from '../../menu-group';
|
|
12
|
+
import MenuItem from '../../menu-item';
|
|
11
13
|
import { DropdownContentWrapper } from '../dropdown-content-wrapper';
|
|
12
14
|
|
|
13
15
|
const meta: Meta< typeof Dropdown > = {
|
|
@@ -83,3 +85,20 @@ WithNoPadding.args = {
|
|
|
83
85
|
</DropdownContentWrapper>
|
|
84
86
|
),
|
|
85
87
|
};
|
|
88
|
+
|
|
89
|
+
export const WithMenuItems = Template.bind( {} );
|
|
90
|
+
WithMenuItems.args = {
|
|
91
|
+
...Default.args,
|
|
92
|
+
renderContent: () => (
|
|
93
|
+
<>
|
|
94
|
+
<MenuGroup label="Group 1">
|
|
95
|
+
<MenuItem>Item 1</MenuItem>
|
|
96
|
+
<MenuItem>Item 2</MenuItem>
|
|
97
|
+
</MenuGroup>
|
|
98
|
+
<MenuGroup label="Group 2">
|
|
99
|
+
<MenuItem>Item 1</MenuItem>
|
|
100
|
+
<MenuItem>Item 2</MenuItem>
|
|
101
|
+
</MenuGroup>
|
|
102
|
+
</>
|
|
103
|
+
),
|
|
104
|
+
};
|
package/src/dropdown/style.scss
CHANGED
|
@@ -10,4 +10,30 @@
|
|
|
10
10
|
[role="menuitem"] {
|
|
11
11
|
white-space: nowrap;
|
|
12
12
|
}
|
|
13
|
+
|
|
14
|
+
.components-menu-group {
|
|
15
|
+
padding: $grid-unit-10;
|
|
16
|
+
margin-top: 0;
|
|
17
|
+
margin-bottom: 0;
|
|
18
|
+
margin-left: -$grid-unit-10;
|
|
19
|
+
margin-right: -$grid-unit-10;
|
|
20
|
+
|
|
21
|
+
&:first-child {
|
|
22
|
+
margin-top: -$grid-unit-10;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&:last-child {
|
|
26
|
+
margin-bottom: -$grid-unit-10;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.components-menu-group + .components-menu-group {
|
|
31
|
+
margin-top: 0;
|
|
32
|
+
border-top: $border-width solid $gray-400;
|
|
33
|
+
padding: $grid-unit-10;
|
|
34
|
+
|
|
35
|
+
.is-alternate & {
|
|
36
|
+
border-color: $gray-900;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
13
39
|
}
|
|
@@ -108,7 +108,7 @@ function DropdownMenu( {
|
|
|
108
108
|
renderContent={ ( { isOpen, onClose, ...props } ) => {
|
|
109
109
|
return (
|
|
110
110
|
<BottomSheet
|
|
111
|
-
hideHeader
|
|
111
|
+
hideHeader
|
|
112
112
|
isVisible={ isOpen }
|
|
113
113
|
onClose={ onClose }
|
|
114
114
|
>
|
|
@@ -135,7 +135,7 @@ function DropdownMenu( {
|
|
|
135
135
|
} }
|
|
136
136
|
editable={ false }
|
|
137
137
|
icon={ control.icon }
|
|
138
|
-
leftAlign
|
|
138
|
+
leftAlign
|
|
139
139
|
isSelected={ control.isActive }
|
|
140
140
|
separatorType={
|
|
141
141
|
Platform.OS === 'android'
|
|
@@ -60,29 +60,4 @@
|
|
|
60
60
|
padding-right: $grid-unit-10;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
.components-menu-group {
|
|
64
|
-
padding: $grid-unit-10;
|
|
65
|
-
margin-top: 0;
|
|
66
|
-
margin-bottom: 0;
|
|
67
|
-
margin-left: -$grid-unit-10;
|
|
68
|
-
margin-right: -$grid-unit-10;
|
|
69
|
-
|
|
70
|
-
&:first-child {
|
|
71
|
-
margin-top: -$grid-unit-10;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
&:last-child {
|
|
75
|
-
margin-bottom: -$grid-unit-10;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.components-menu-group + .components-menu-group {
|
|
80
|
-
margin-top: 0;
|
|
81
|
-
border-top: $border-width solid $gray-400;
|
|
82
|
-
padding: $grid-unit-10;
|
|
83
|
-
|
|
84
|
-
.is-alternate & {
|
|
85
|
-
border-color: $gray-900;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
63
|
}
|
package/src/flex/flex/README.md
CHANGED
|
@@ -53,14 +53,14 @@ Spacing in between each child can be adjusted by using `gap`. The value of `gap`
|
|
|
53
53
|
- Required: No
|
|
54
54
|
- Default: `2`
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
### `justify`: `CSSProperties['justifyContent']`
|
|
57
57
|
|
|
58
58
|
Horizontally aligns content if the `direction` is `row`, or vertically aligns content if the `direction` is `column`.
|
|
59
59
|
|
|
60
60
|
- Required: No
|
|
61
61
|
- Default: `space-between`
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
### `wrap`: `boolean`
|
|
64
64
|
|
|
65
65
|
Determines if children should wrap.
|
|
66
66
|
|
package/src/flex/flex/hook.ts
CHANGED
|
@@ -22,7 +22,7 @@ import type { FlexProps } from '../types';
|
|
|
22
22
|
|
|
23
23
|
function useDeprecatedProps(
|
|
24
24
|
props: WordPressComponentProps< FlexProps, 'div' >
|
|
25
|
-
):
|
|
25
|
+
): Omit< typeof props, 'isReversed' > {
|
|
26
26
|
const { isReversed, ...otherProps } = props;
|
|
27
27
|
|
|
28
28
|
if ( typeof isReversed !== 'undefined' ) {
|
|
@@ -111,7 +111,7 @@ function FontSizePicker( {
|
|
|
111
111
|
separatorType="none"
|
|
112
112
|
label={ __( 'Default' ) }
|
|
113
113
|
onPress={ onChangeValue( undefined ) }
|
|
114
|
-
leftAlign
|
|
114
|
+
leftAlign
|
|
115
115
|
key={ 'default' }
|
|
116
116
|
accessibilityRole={ 'button' }
|
|
117
117
|
accessibilityLabel={ __( 'Selected: Default' ) }
|
|
@@ -137,7 +137,7 @@ function FontSizePicker( {
|
|
|
137
137
|
label={ item.name }
|
|
138
138
|
subLabel={ item.sizePx }
|
|
139
139
|
onPress={ onChangeValue( item.sizePx ) }
|
|
140
|
-
leftAlign
|
|
140
|
+
leftAlign
|
|
141
141
|
key={ index }
|
|
142
142
|
accessibilityRole={ 'button' }
|
|
143
143
|
accessibilityLabel={
|
|
@@ -4,7 +4,7 @@ A `FormTokenField` is a field similar to the tags and categories fields in the i
|
|
|
4
4
|
|
|
5
5
|
Up to one hundred suggestions that match what the user has typed so far will be shown from which the user can pick from (auto-complete). Tokens are separated by the "," character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.
|
|
6
6
|
|
|
7
|
-
The `value` property is handled in a manner similar to controlled form components. See [Forms](
|
|
7
|
+
The `value` property is handled in a manner similar to controlled form components. See [Forms](https://react.dev/reference/react-dom/components#form-components) in the React Documentation for more information.
|
|
8
8
|
|
|
9
9
|
## Keyboard Accessibility
|
|
10
10
|
|
|
@@ -40,7 +40,7 @@ const identity = ( value: string ) => value;
|
|
|
40
40
|
* Tokens are separated by the "," character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.
|
|
41
41
|
*
|
|
42
42
|
* The `value` property is handled in a manner similar to controlled form components.
|
|
43
|
-
* See [Forms](
|
|
43
|
+
* See [Forms](https://react.dev/reference/react-dom/components#form-components) in the React Documentation for more information.
|
|
44
44
|
*/
|
|
45
45
|
export function FormTokenField( props: FormTokenFieldProps ) {
|
|
46
46
|
const {
|
|
@@ -711,7 +711,7 @@ export function FormTokenField( props: FormTokenFieldProps ) {
|
|
|
711
711
|
justify="flex-start"
|
|
712
712
|
align="center"
|
|
713
713
|
gap={ 1 }
|
|
714
|
-
wrap
|
|
714
|
+
wrap
|
|
715
715
|
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
716
716
|
hasTokens={ !! value.length }
|
|
717
717
|
>
|
package/src/grid/README.md
CHANGED
|
@@ -27,69 +27,69 @@ function Example() {
|
|
|
27
27
|
|
|
28
28
|
## Props
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
### `align`: `CSS['alignItems']`
|
|
31
31
|
|
|
32
32
|
Adjusts the block alignment of children.
|
|
33
33
|
|
|
34
34
|
- Required: No
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
### `alignment`: `GridAlignment`
|
|
37
37
|
|
|
38
38
|
Adjusts the horizontal and vertical alignment of children.
|
|
39
39
|
|
|
40
40
|
- Required: No
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
### `columnGap`: `CSSProperties['gridColumnGap']`
|
|
43
43
|
|
|
44
44
|
Adjusts the `grid-column-gap`.
|
|
45
45
|
|
|
46
46
|
- Required: No
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
### `columns`: `number`
|
|
49
49
|
|
|
50
50
|
Adjusts the number of columns of the `Grid`.
|
|
51
51
|
|
|
52
52
|
- Required: No
|
|
53
53
|
- Default: `2`
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
### `gap`: `number`
|
|
56
56
|
|
|
57
57
|
Gap between each child.
|
|
58
58
|
|
|
59
59
|
- Required: No
|
|
60
60
|
- Default: `3`
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
### `isInline`: `boolean`
|
|
63
63
|
|
|
64
64
|
Changes the CSS display from `grid` to `inline-grid`.
|
|
65
65
|
|
|
66
66
|
- Required: No
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
### `justify`: `CSS['justifyContent']`
|
|
69
69
|
|
|
70
70
|
Adjusts the inline alignment of children.
|
|
71
71
|
|
|
72
72
|
- Required: No
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
### `rowGap`: `CSSProperties['gridRowGap']`
|
|
75
75
|
|
|
76
76
|
Adjusts the `grid-row-gap`.
|
|
77
77
|
|
|
78
78
|
- Required: No
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
### `rows`: `number`
|
|
81
81
|
|
|
82
82
|
Adjusts the number of rows of the `Grid`.
|
|
83
83
|
|
|
84
84
|
- Required: No
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
### `templateColumns`: `CSS['gridTemplateColumns']`
|
|
87
87
|
|
|
88
88
|
Adjusts the CSS grid `template-columns`.
|
|
89
89
|
|
|
90
90
|
- Required: No
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
### `templateRows`: `CSS['gridTemplateRows']`
|
|
93
93
|
|
|
94
94
|
Adjusts the CSS grid `template-rows`.
|
|
95
95
|
|
package/src/h-stack/README.md
CHANGED
|
@@ -29,7 +29,7 @@ function Example() {
|
|
|
29
29
|
|
|
30
30
|
## Props
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
### alignment
|
|
33
33
|
|
|
34
34
|
**Type**: `HStackAlignment` | `CSS[ 'alignItems' ]`
|
|
35
35
|
|
|
@@ -47,33 +47,33 @@ Determines how the child elements are aligned.
|
|
|
47
47
|
- `edge`: Justifies content to be evenly spread out up to the main axis edges of the container.
|
|
48
48
|
- `stretch`: Stretches content to the cross axis edges of the container.
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
### direction
|
|
51
51
|
|
|
52
52
|
**Type**: `FlexDirection`
|
|
53
53
|
|
|
54
54
|
The direction flow of the children content can be adjusted with `direction`. `column` will align children vertically and `row` will align children horizontally.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
### expanded
|
|
57
57
|
|
|
58
58
|
**Type**: `boolean`
|
|
59
59
|
|
|
60
60
|
Expands to the maximum available width (if horizontal) or height (if vertical).
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
### justify
|
|
63
63
|
|
|
64
64
|
**Type**: `CSS['justifyContent']`
|
|
65
65
|
|
|
66
66
|
Horizontally aligns content if the `direction` is `row`, or vertically aligns content if the `direction` is `column`.
|
|
67
67
|
In the example below, `flex-start` will align the children content to the left.
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
### spacing
|
|
70
70
|
|
|
71
71
|
**Type**: `CSS['width']`
|
|
72
72
|
|
|
73
73
|
The amount of space between each child element. Spacing in between each child can be adjusted by using `spacing`.
|
|
74
74
|
The value of `spacing` works as a multiplier to the library's grid system (base of `4px`).
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
### wrap
|
|
77
77
|
|
|
78
78
|
**Type**: `boolean`
|
|
79
79
|
|
package/src/h-stack/hook.tsx
CHANGED
|
@@ -47,7 +47,8 @@ export function useHStack( props: WordPressComponentProps< Props, 'div' > ) {
|
|
|
47
47
|
gap: spacing,
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
// Omit `isColumn` because it's not used in HStack.
|
|
51
|
+
const { isColumn, ...flexProps } = useFlex( propsForFlex );
|
|
51
52
|
|
|
52
53
|
return flexProps;
|
|
53
54
|
}
|
|
@@ -39,4 +39,14 @@ describe( 'props', () => {
|
|
|
39
39
|
);
|
|
40
40
|
expect( container ).toMatchSnapshot();
|
|
41
41
|
} );
|
|
42
|
+
|
|
43
|
+
test( 'should not pass through invalid props to the `as` component', () => {
|
|
44
|
+
const AsComponent = ( props: JSX.IntrinsicElements[ 'div' ] ) => {
|
|
45
|
+
return <div { ...props } />;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
render( <HStack as={ AsComponent }>foobar</HStack> );
|
|
49
|
+
|
|
50
|
+
expect( console ).not.toHaveErrored();
|
|
51
|
+
} );
|
|
42
52
|
} );
|
package/src/heading/README.md
CHANGED
|
@@ -25,7 +25,7 @@ function Example() {
|
|
|
25
25
|
|
|
26
26
|
For a complete list of those props, check out [`Text`](/packages/components/src/text/README.md#props).
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
### `level`: `1 | 2 | 3 | 4 | 5 | 6 | '1' | '2' | '3' | '4' | '5' | '6'`
|
|
29
29
|
|
|
30
30
|
Passing any of the heading levels to `level` will both render the correct typographic text size as well as the semantic element corresponding to the level (`h1` for `1` for example).
|
|
31
31
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports[`props should render correctly 1`] = `
|
|
4
4
|
.emotion-0 {
|
|
5
5
|
color: #1e1e1e;
|
|
6
|
-
line-height: 1.
|
|
6
|
+
line-height: 1.4;
|
|
7
7
|
margin: 0;
|
|
8
8
|
color: #1e1e1e;
|
|
9
9
|
font-size: calc(1.95 * 13px);
|
|
@@ -32,7 +32,7 @@ Snapshot Diff:
|
|
|
32
32
|
- "font-size": "calc(1.25 * 13px)",
|
|
33
33
|
+ "font-size": "calc(1.95 * 13px)",
|
|
34
34
|
"font-weight": "600",
|
|
35
|
-
"line-height": "1.
|
|
35
|
+
"line-height": "1.4",
|
|
36
36
|
"margin": "0",
|
|
37
37
|
},
|
|
38
38
|
]
|
|
@@ -50,7 +50,7 @@ Snapshot Diff:
|
|
|
50
50
|
- "font-size": "calc(1.25 * 13px)",
|
|
51
51
|
+ "font-size": "calc(1.95 * 13px)",
|
|
52
52
|
"font-weight": "600",
|
|
53
|
-
"line-height": "1.
|
|
53
|
+
"line-height": "1.4",
|
|
54
54
|
"margin": "0",
|
|
55
55
|
},
|
|
56
56
|
]
|
|
@@ -10,7 +10,7 @@ InputControl components let users enter and edit text. This is an experimental c
|
|
|
10
10
|
|
|
11
11
|
```js
|
|
12
12
|
import { __experimentalInputControl as InputControl } from '@wordpress/components';
|
|
13
|
-
import { useState } from '
|
|
13
|
+
import { useState } from 'react';
|
|
14
14
|
|
|
15
15
|
const Example = () => {
|
|
16
16
|
const [ value, setValue ] = useState( '' );
|
|
@@ -126,7 +126,7 @@ export function UnforwardedInputControl(
|
|
|
126
126
|
*
|
|
127
127
|
* ```jsx
|
|
128
128
|
* import { __experimentalInputControl as InputControl } from '@wordpress/components';
|
|
129
|
-
* import { useState } from '
|
|
129
|
+
* import { useState } from 'react';
|
|
130
130
|
*
|
|
131
131
|
* const Example = () => {
|
|
132
132
|
* const [ value, setValue ] = useState( '' );
|
|
@@ -11,8 +11,8 @@ Snapshot Diff:
|
|
|
11
11
|
role="listitem"
|
|
12
12
|
>
|
|
13
13
|
<div
|
|
14
|
-
- class="components-item css-
|
|
15
|
-
+ class="components-item css-
|
|
14
|
+
- class="components-item css-1n28wmo-View-medium-item-spacedAround e19lxcc00"
|
|
15
|
+
+ class="components-item css-gg7ygh-View-large-item-spacedAround e19lxcc00"
|
|
16
16
|
data-wp-c16t="true"
|
|
17
17
|
data-wp-component="Item"
|
|
18
18
|
>
|
|
@@ -24,8 +24,8 @@ Snapshot Diff:
|
|
|
24
24
|
role="listitem"
|
|
25
25
|
>
|
|
26
26
|
<div
|
|
27
|
-
- class="components-item css-
|
|
28
|
-
+ class="components-item css-
|
|
27
|
+
- class="components-item css-1n28wmo-View-medium-item-spacedAround e19lxcc00"
|
|
28
|
+
+ class="components-item css-gg7ygh-View-large-item-spacedAround e19lxcc00"
|
|
29
29
|
data-wp-c16t="true"
|
|
30
30
|
data-wp-component="Item"
|
|
31
31
|
>
|
|
@@ -44,8 +44,8 @@ Snapshot Diff:
|
|
|
44
44
|
role="listitem"
|
|
45
45
|
>
|
|
46
46
|
<div
|
|
47
|
-
- class="components-item css-
|
|
48
|
-
+ class="components-item css-
|
|
47
|
+
- class="components-item css-1lf4kzd-View-medium-item e19lxcc00"
|
|
48
|
+
+ class="components-item css-1vv4aem-View-large-item e19lxcc00"
|
|
49
49
|
data-wp-c16t="true"
|
|
50
50
|
data-wp-component="Item"
|
|
51
51
|
>
|
|
@@ -74,7 +74,7 @@ exports[`ItemGroup ItemGroup component should render correctly 1`] = `
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
.emotion-3 {
|
|
77
|
-
padding: calc((36px - calc(13px * 1.
|
|
77
|
+
padding: calc((36px - calc(13px * 1.4) - 2px) / 2) 12px;
|
|
78
78
|
box-sizing: border-box;
|
|
79
79
|
width: 100%;
|
|
80
80
|
display: block;
|
|
@@ -125,8 +125,8 @@ Snapshot Diff:
|
|
|
125
125
|
role="listitem"
|
|
126
126
|
>
|
|
127
127
|
<div
|
|
128
|
-
- class="components-item css-
|
|
129
|
-
+ class="components-item css-
|
|
128
|
+
- class="components-item css-1n28wmo-View-medium-item-spacedAround e19lxcc00"
|
|
129
|
+
+ class="components-item css-1lf4kzd-View-medium-item e19lxcc00"
|
|
130
130
|
data-wp-c16t="true"
|
|
131
131
|
data-wp-component="Item"
|
|
132
132
|
>
|
|
@@ -153,8 +153,8 @@ Snapshot Diff:
|
|
|
153
153
|
role="listitem"
|
|
154
154
|
>
|
|
155
155
|
<div
|
|
156
|
-
- class="components-item css-
|
|
157
|
-
+ class="components-item css-
|
|
156
|
+
- class="components-item css-1n28wmo-View-medium-item-spacedAround e19lxcc00"
|
|
157
|
+
+ class="components-item css-1lf4kzd-View-medium-item e19lxcc00"
|
|
158
158
|
data-wp-c16t="true"
|
|
159
159
|
data-wp-component="Item"
|
|
160
160
|
>
|
|
@@ -29,7 +29,7 @@ describe( 'ItemGroup', () => {
|
|
|
29
29
|
);
|
|
30
30
|
|
|
31
31
|
const { container: withBorders } = render(
|
|
32
|
-
<ItemGroup isBordered
|
|
32
|
+
<ItemGroup isBordered>
|
|
33
33
|
<Item>Code is poetry</Item>
|
|
34
34
|
</ItemGroup>
|
|
35
35
|
);
|
|
@@ -63,7 +63,7 @@ describe( 'ItemGroup', () => {
|
|
|
63
63
|
);
|
|
64
64
|
|
|
65
65
|
const { container: separatedItems } = render(
|
|
66
|
-
<ItemGroup isSeparated
|
|
66
|
+
<ItemGroup isSeparated>
|
|
67
67
|
<Item>Code is poetry</Item>
|
|
68
68
|
</ItemGroup>
|
|
69
69
|
);
|