@wordpress/dataviews 12.1.1-next.v.202602271551.0 → 13.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/CHANGELOG.md +13 -1
- package/build/components/dataform-layouts/card/index.cjs +12 -7
- package/build/components/dataform-layouts/card/index.cjs.map +2 -2
- package/build/components/dataviews-filters/toggle.cjs +6 -2
- package/build/components/dataviews-filters/toggle.cjs.map +2 -2
- package/build/components/dataviews-layouts/list/index.cjs +4 -2
- package/build/components/dataviews-layouts/list/index.cjs.map +2 -2
- package/build/components/dataviews-layouts/table/index.cjs +20 -2
- package/build/components/dataviews-layouts/table/index.cjs.map +2 -2
- package/build-module/components/dataform-layouts/card/index.mjs +12 -7
- package/build-module/components/dataform-layouts/card/index.mjs.map +2 -2
- package/build-module/components/dataviews-filters/toggle.mjs +6 -2
- package/build-module/components/dataviews-filters/toggle.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/list/index.mjs +4 -2
- package/build-module/components/dataviews-layouts/list/index.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/table/index.mjs +20 -2
- package/build-module/components/dataviews-layouts/table/index.mjs.map +2 -2
- package/build-style/style-rtl.css +2 -7
- package/build-style/style.css +2 -7
- package/build-types/components/dataform-layouts/card/index.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/toggle.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/list/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/table/index.d.ts.map +1 -1
- package/build-types/dataform/stories/layout-panel.d.ts.map +1 -1
- package/build-types/dataviews/stories/empty.d.ts.map +1 -1
- package/build-types/dataviews/stories/free-composition.d.ts.map +1 -1
- package/build-types/dataviews/stories/layout-table.d.ts.map +1 -1
- package/build-types/dataviews/stories/minimal-ui.d.ts.map +1 -1
- package/build-types/dataviews/stories/with-card.d.ts.map +1 -1
- package/build-wp/index.js +44 -17
- package/package.json +16 -19
- package/src/components/dataform-layouts/card/index.tsx +8 -9
- package/src/components/dataform-layouts/panel/style.scss +1 -0
- package/src/components/dataviews-filters/toggle.tsx +9 -2
- package/src/components/dataviews-layouts/list/index.tsx +6 -2
- package/src/components/dataviews-layouts/list/style.scss +0 -9
- package/src/components/dataviews-layouts/table/index.tsx +24 -2
- package/src/components/dataviews-layouts/table/style.scss +1 -0
- package/src/dataform/stories/layout-panel.tsx +5 -1
- package/src/dataviews/stories/empty.tsx +1 -7
- package/src/dataviews/stories/free-composition.tsx +0 -5
- package/src/dataviews/stories/layout-table.tsx +1 -7
- package/src/dataviews/stories/minimal-ui.tsx +0 -5
- package/src/dataviews/stories/with-card.tsx +1 -7
|
@@ -217,6 +217,10 @@ function ListItem< Item >( {
|
|
|
217
217
|
<titleField.render item={ item } field={ titleField } />
|
|
218
218
|
) : null;
|
|
219
219
|
|
|
220
|
+
const renderDescription = showDescription && descriptionField?.render;
|
|
221
|
+
// When we have only the media and title fields, we want to center them vertically in the list item.
|
|
222
|
+
const hasOnlyMediaAndTitle =
|
|
223
|
+
!! renderedMediaField && ! renderDescription && ! otherFields.length;
|
|
220
224
|
const usedActions = eligibleActions?.length > 0 && (
|
|
221
225
|
<Stack
|
|
222
226
|
direction="row"
|
|
@@ -315,7 +319,7 @@ function ListItem< Item >( {
|
|
|
315
319
|
direction="row"
|
|
316
320
|
gap="md"
|
|
317
321
|
justify="start"
|
|
318
|
-
align=
|
|
322
|
+
align={ hasOnlyMediaAndTitle ? 'center' : 'flex-start' }
|
|
319
323
|
style={ { flex: 1, minWidth: 0 } }
|
|
320
324
|
>
|
|
321
325
|
{ renderedMediaField }
|
|
@@ -333,7 +337,7 @@ function ListItem< Item >( {
|
|
|
333
337
|
</div>
|
|
334
338
|
{ usedActions }
|
|
335
339
|
</Stack>
|
|
336
|
-
{
|
|
340
|
+
{ renderDescription && (
|
|
337
341
|
<div className="dataviews-view-list__field">
|
|
338
342
|
<descriptionField.render
|
|
339
343
|
item={ item }
|
|
@@ -170,7 +170,6 @@ div.dataviews-view-list {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
.dataviews-view-list__field-wrapper {
|
|
173
|
-
min-height: $grid-unit-05 * 13; // Ensures title is centrally aligned when all fields are hidden
|
|
174
173
|
flex-grow: 1;
|
|
175
174
|
min-width: 0;
|
|
176
175
|
}
|
|
@@ -225,10 +224,6 @@ div.dataviews-view-list {
|
|
|
225
224
|
height: $grid-unit-05 * 8;
|
|
226
225
|
}
|
|
227
226
|
|
|
228
|
-
.dataviews-view-list__field-wrapper {
|
|
229
|
-
min-height: $grid-unit-05 * 8;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
227
|
.dataviews-view-list__fields {
|
|
233
228
|
gap: $grid-unit-10;
|
|
234
229
|
row-gap: $grid-unit-05;
|
|
@@ -257,10 +252,6 @@ div.dataviews-view-list {
|
|
|
257
252
|
height: $grid-unit-05 * 16;
|
|
258
253
|
}
|
|
259
254
|
|
|
260
|
-
.dataviews-view-list__field-wrapper {
|
|
261
|
-
min-height: $grid-unit-05 * 16;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
255
|
.dataviews-view-list__fields {
|
|
265
256
|
gap: $grid-unit-20;
|
|
266
257
|
row-gap: $grid-unit-10;
|
|
@@ -44,6 +44,19 @@ import getDataByGroup from '../utils/get-data-by-group';
|
|
|
44
44
|
import { PropertiesSection } from '../../dataviews-view-config/properties-section';
|
|
45
45
|
import { useDelayedLoading } from '../../../hooks/use-delayed-loading';
|
|
46
46
|
|
|
47
|
+
function getEffectiveAlign(
|
|
48
|
+
explicitAlign: 'start' | 'center' | 'end' | undefined,
|
|
49
|
+
fieldType: string | undefined
|
|
50
|
+
): 'start' | 'center' | 'end' | undefined {
|
|
51
|
+
if ( explicitAlign ) {
|
|
52
|
+
return explicitAlign;
|
|
53
|
+
}
|
|
54
|
+
if ( fieldType === 'integer' || fieldType === 'number' ) {
|
|
55
|
+
return 'end';
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
|
|
47
60
|
interface TableColumnFieldProps< Item > {
|
|
48
61
|
fields: NormalizedField< Item >[];
|
|
49
62
|
column: string;
|
|
@@ -226,6 +239,8 @@ function TableRow< Item >( {
|
|
|
226
239
|
// Explicit picks the supported styles.
|
|
227
240
|
const { width, maxWidth, minWidth, align } =
|
|
228
241
|
view.layout?.styles?.[ column ] ?? {};
|
|
242
|
+
const field = fields.find( ( f ) => f.id === column );
|
|
243
|
+
const effectiveAlign = getEffectiveAlign( align, field?.type );
|
|
229
244
|
|
|
230
245
|
return (
|
|
231
246
|
<td
|
|
@@ -240,7 +255,7 @@ function TableRow< Item >( {
|
|
|
240
255
|
fields={ fields }
|
|
241
256
|
item={ item }
|
|
242
257
|
column={ column }
|
|
243
|
-
align={
|
|
258
|
+
align={ effectiveAlign }
|
|
244
259
|
/>
|
|
245
260
|
</td>
|
|
246
261
|
);
|
|
@@ -501,6 +516,13 @@ function ViewTable< Item >( {
|
|
|
501
516
|
// Explicit picks the supported styles.
|
|
502
517
|
const { width, maxWidth, minWidth, align } =
|
|
503
518
|
view.layout?.styles?.[ column ] ?? {};
|
|
519
|
+
const field = fields.find(
|
|
520
|
+
( f ) => f.id === column
|
|
521
|
+
);
|
|
522
|
+
const effectiveAlign = getEffectiveAlign(
|
|
523
|
+
align,
|
|
524
|
+
field?.type
|
|
525
|
+
);
|
|
504
526
|
const canInsertOrMove =
|
|
505
527
|
view.layout?.enableMoving ?? true;
|
|
506
528
|
return (
|
|
@@ -510,7 +532,7 @@ function ViewTable< Item >( {
|
|
|
510
532
|
width,
|
|
511
533
|
maxWidth,
|
|
512
534
|
minWidth,
|
|
513
|
-
textAlign:
|
|
535
|
+
textAlign: effectiveAlign,
|
|
514
536
|
} }
|
|
515
537
|
aria-sort={
|
|
516
538
|
view.sort?.direction &&
|
|
@@ -75,6 +75,10 @@ const fields: Field< SamplePost >[] = [
|
|
|
75
75
|
{ value: 2, label: 'John' },
|
|
76
76
|
{ value: 3, label: 'Alice' },
|
|
77
77
|
{ value: 4, label: 'Bob' },
|
|
78
|
+
{
|
|
79
|
+
value: 5,
|
|
80
|
+
label: 'Superadministratoraccountwithalongunhyphenatedusername',
|
|
81
|
+
},
|
|
78
82
|
],
|
|
79
83
|
setValue: ( { value } ) => ( {
|
|
80
84
|
author: Number( value ),
|
|
@@ -310,7 +314,7 @@ const LayoutPanelComponent = ( {
|
|
|
310
314
|
const [ post, setPost ] = useState< SamplePost >( {
|
|
311
315
|
title: 'Hello, World!',
|
|
312
316
|
order: 2,
|
|
313
|
-
author:
|
|
317
|
+
author: 5,
|
|
314
318
|
status: 'draft',
|
|
315
319
|
reviewer: 'fulano',
|
|
316
320
|
date: '2021-01-01T12:00:00',
|
|
@@ -59,13 +59,7 @@ const EmptyComponent = ( {
|
|
|
59
59
|
search: '',
|
|
60
60
|
page: 1,
|
|
61
61
|
perPage: 10,
|
|
62
|
-
layout: {
|
|
63
|
-
styles: {
|
|
64
|
-
satellites: {
|
|
65
|
-
align: 'end' as const,
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
},
|
|
62
|
+
layout: {},
|
|
69
63
|
filters: [],
|
|
70
64
|
fields: [ 'title', 'description', 'categories' ],
|
|
71
65
|
} );
|
|
@@ -32,13 +32,7 @@ export const LayoutTableComponent = ( {
|
|
|
32
32
|
search: '',
|
|
33
33
|
page: 1,
|
|
34
34
|
perPage: 10,
|
|
35
|
-
layout: {
|
|
36
|
-
styles: {
|
|
37
|
-
satellites: {
|
|
38
|
-
align: 'end' as const,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
},
|
|
35
|
+
layout: {},
|
|
42
36
|
filters: [],
|
|
43
37
|
fields: [ 'categories' ],
|
|
44
38
|
titleField: 'title',
|
|
@@ -24,13 +24,7 @@ const WithCardComponent = () => {
|
|
|
24
24
|
search: '',
|
|
25
25
|
page: 1,
|
|
26
26
|
perPage: 10,
|
|
27
|
-
layout: {
|
|
28
|
-
styles: {
|
|
29
|
-
satellites: {
|
|
30
|
-
align: 'end' as const,
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
},
|
|
27
|
+
layout: {},
|
|
34
28
|
filters: [],
|
|
35
29
|
fields: [ 'categories' ],
|
|
36
30
|
titleField: 'title',
|