@wordpress/dataviews 14.0.0 → 14.1.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 +21 -0
- package/README.md +16 -5
- package/build/components/dataform-controls/array.cjs +2 -0
- package/build/components/dataform-controls/array.cjs.map +2 -2
- package/build/components/dataform-controls/checkbox.cjs +3 -1
- package/build/components/dataform-controls/checkbox.cjs.map +2 -2
- package/build/components/dataform-controls/color.cjs +8 -2
- package/build/components/dataform-controls/color.cjs.map +2 -2
- package/build/components/dataform-controls/date.cjs +31 -9
- package/build/components/dataform-controls/date.cjs.map +3 -3
- package/build/components/dataform-controls/datetime.cjs +9 -2
- package/build/components/dataform-controls/datetime.cjs.map +3 -3
- package/build/components/dataform-controls/password.cjs +4 -1
- package/build/components/dataform-controls/password.cjs.map +2 -2
- package/build/components/dataform-controls/radio.cjs +3 -1
- package/build/components/dataform-controls/radio.cjs.map +2 -2
- package/build/components/dataform-controls/select.cjs +3 -1
- package/build/components/dataform-controls/select.cjs.map +2 -2
- package/build/components/dataform-controls/textarea.cjs +2 -0
- package/build/components/dataform-controls/textarea.cjs.map +2 -2
- package/build/components/dataform-controls/toggle-group.cjs +3 -1
- package/build/components/dataform-controls/toggle-group.cjs.map +2 -2
- package/build/components/dataform-controls/toggle.cjs +3 -1
- package/build/components/dataform-controls/toggle.cjs.map +2 -2
- package/build/components/dataform-controls/utils/relative-date-control.cjs +5 -2
- package/build/components/dataform-controls/utils/relative-date-control.cjs.map +2 -2
- package/build/components/dataform-controls/utils/use-disabled-date-matchers.cjs +48 -0
- package/build/components/dataform-controls/utils/use-disabled-date-matchers.cjs.map +7 -0
- package/build/components/dataform-controls/utils/validated-input.cjs +2 -0
- package/build/components/dataform-controls/utils/validated-input.cjs.map +2 -2
- package/build/components/dataform-controls/utils/validated-number.cjs +3 -1
- package/build/components/dataform-controls/utils/validated-number.cjs.map +2 -2
- package/build/components/dataform-layouts/panel/summary-button.cjs +0 -1
- package/build/components/dataform-layouts/panel/summary-button.cjs.map +2 -2
- package/build/components/dataviews-context/index.cjs.map +1 -1
- package/build/components/dataviews-filters/input-widget.cjs +4 -0
- package/build/components/dataviews-filters/input-widget.cjs.map +2 -2
- package/build/components/dataviews-layouts/picker-grid/index.cjs +1 -4
- package/build/components/dataviews-layouts/picker-grid/index.cjs.map +2 -2
- package/build/components/dataviews-layouts/picker-table/index.cjs +15 -12
- package/build/components/dataviews-layouts/picker-table/index.cjs.map +2 -2
- package/build/components/dataviews-layouts/table/index.cjs +0 -1
- package/build/components/dataviews-layouts/table/index.cjs.map +2 -2
- package/build/components/dataviews-pagination/index.cjs +1 -0
- package/build/components/dataviews-pagination/index.cjs.map +2 -2
- package/build/dataviews/index.cjs +10 -8
- package/build/dataviews/index.cjs.map +2 -2
- package/build/dataviews-picker/index.cjs +16 -9
- package/build/dataviews-picker/index.cjs.map +2 -2
- package/build/field-types/date.cjs +4 -1
- package/build/field-types/date.cjs.map +2 -2
- package/build/field-types/datetime.cjs +4 -1
- package/build/field-types/datetime.cjs.map +2 -2
- package/build/field-types/index.cjs +1 -0
- package/build/field-types/index.cjs.map +2 -2
- package/build/field-types/utils/get-is-valid.cjs +29 -24
- package/build/field-types/utils/get-is-valid.cjs.map +2 -2
- package/build/field-types/utils/is-valid-date-boundary.cjs +64 -0
- package/build/field-types/utils/is-valid-date-boundary.cjs.map +7 -0
- package/build/types/dataviews.cjs.map +1 -1
- package/build/types/field-api.cjs.map +1 -1
- package/build-module/components/dataform-controls/array.mjs +2 -0
- package/build-module/components/dataform-controls/array.mjs.map +2 -2
- package/build-module/components/dataform-controls/checkbox.mjs +3 -1
- package/build-module/components/dataform-controls/checkbox.mjs.map +2 -2
- package/build-module/components/dataform-controls/color.mjs +8 -2
- package/build-module/components/dataform-controls/color.mjs.map +2 -2
- package/build-module/components/dataform-controls/date.mjs +31 -9
- package/build-module/components/dataform-controls/date.mjs.map +2 -2
- package/build-module/components/dataform-controls/datetime.mjs +9 -2
- package/build-module/components/dataform-controls/datetime.mjs.map +2 -2
- package/build-module/components/dataform-controls/password.mjs +4 -1
- package/build-module/components/dataform-controls/password.mjs.map +2 -2
- package/build-module/components/dataform-controls/radio.mjs +3 -1
- package/build-module/components/dataform-controls/radio.mjs.map +2 -2
- package/build-module/components/dataform-controls/select.mjs +3 -1
- package/build-module/components/dataform-controls/select.mjs.map +2 -2
- package/build-module/components/dataform-controls/textarea.mjs +2 -0
- package/build-module/components/dataform-controls/textarea.mjs.map +2 -2
- package/build-module/components/dataform-controls/toggle-group.mjs +3 -1
- package/build-module/components/dataform-controls/toggle-group.mjs.map +2 -2
- package/build-module/components/dataform-controls/toggle.mjs +3 -1
- package/build-module/components/dataform-controls/toggle.mjs.map +2 -2
- package/build-module/components/dataform-controls/utils/relative-date-control.mjs +5 -2
- package/build-module/components/dataform-controls/utils/relative-date-control.mjs.map +2 -2
- package/build-module/components/dataform-controls/utils/use-disabled-date-matchers.mjs +27 -0
- package/build-module/components/dataform-controls/utils/use-disabled-date-matchers.mjs.map +7 -0
- package/build-module/components/dataform-controls/utils/validated-input.mjs +2 -0
- package/build-module/components/dataform-controls/utils/validated-input.mjs.map +2 -2
- package/build-module/components/dataform-controls/utils/validated-number.mjs +3 -1
- package/build-module/components/dataform-controls/utils/validated-number.mjs.map +2 -2
- package/build-module/components/dataform-layouts/panel/summary-button.mjs +0 -1
- package/build-module/components/dataform-layouts/panel/summary-button.mjs.map +2 -2
- package/build-module/components/dataviews-context/index.mjs.map +1 -1
- package/build-module/components/dataviews-filters/input-widget.mjs +4 -0
- package/build-module/components/dataviews-filters/input-widget.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/picker-grid/index.mjs +1 -4
- package/build-module/components/dataviews-layouts/picker-grid/index.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/picker-table/index.mjs +15 -12
- package/build-module/components/dataviews-layouts/picker-table/index.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/table/index.mjs +0 -1
- package/build-module/components/dataviews-layouts/table/index.mjs.map +2 -2
- package/build-module/components/dataviews-pagination/index.mjs +1 -0
- package/build-module/components/dataviews-pagination/index.mjs.map +2 -2
- package/build-module/dataviews/index.mjs +10 -8
- package/build-module/dataviews/index.mjs.map +2 -2
- package/build-module/dataviews-picker/index.mjs +16 -9
- package/build-module/dataviews-picker/index.mjs.map +2 -2
- package/build-module/field-types/date.mjs +4 -1
- package/build-module/field-types/date.mjs.map +2 -2
- package/build-module/field-types/datetime.mjs +4 -1
- package/build-module/field-types/datetime.mjs.map +2 -2
- package/build-module/field-types/index.mjs +1 -0
- package/build-module/field-types/index.mjs.map +2 -2
- package/build-module/field-types/utils/get-is-valid.mjs +29 -24
- package/build-module/field-types/utils/get-is-valid.mjs.map +2 -2
- package/build-module/field-types/utils/is-valid-date-boundary.mjs +38 -0
- package/build-module/field-types/utils/is-valid-date-boundary.mjs.map +7 -0
- package/build-style/style-rtl.css +14 -15
- package/build-style/style.css +14 -15
- package/build-types/components/dataform-controls/array.d.ts.map +1 -1
- package/build-types/components/dataform-controls/checkbox.d.ts.map +1 -1
- package/build-types/components/dataform-controls/color.d.ts.map +1 -1
- package/build-types/components/dataform-controls/date.d.ts.map +1 -1
- package/build-types/components/dataform-controls/datetime.d.ts.map +1 -1
- package/build-types/components/dataform-controls/password.d.ts.map +1 -1
- package/build-types/components/dataform-controls/radio.d.ts.map +1 -1
- package/build-types/components/dataform-controls/select.d.ts.map +1 -1
- package/build-types/components/dataform-controls/textarea.d.ts.map +1 -1
- package/build-types/components/dataform-controls/toggle-group.d.ts.map +1 -1
- package/build-types/components/dataform-controls/toggle.d.ts.map +1 -1
- package/build-types/components/dataform-controls/utils/relative-date-control.d.ts.map +1 -1
- package/build-types/components/dataform-controls/utils/use-disabled-date-matchers.d.ts +16 -0
- package/build-types/components/dataform-controls/utils/use-disabled-date-matchers.d.ts.map +1 -0
- package/build-types/components/dataform-controls/utils/validated-input.d.ts.map +1 -1
- package/build-types/components/dataform-controls/utils/validated-number.d.ts.map +1 -1
- package/build-types/components/dataform-layouts/panel/summary-button.d.ts.map +1 -1
- package/build-types/components/dataviews-context/index.d.ts +2 -2
- package/build-types/components/dataviews-context/index.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/input-widget.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/index.d.ts +6 -6
- package/build-types/components/dataviews-layouts/picker-grid/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/picker-table/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/table/index.d.ts.map +1 -1
- package/build-types/components/dataviews-pagination/index.d.ts.map +1 -1
- package/build-types/components/dataviews-search/index.d.ts +1 -1
- package/build-types/components/dataviews-search/index.d.ts.map +1 -1
- package/build-types/constants.d.ts +2 -2
- package/build-types/dataform/stories/index.story.d.ts +11 -1
- package/build-types/dataform/stories/index.story.d.ts.map +1 -1
- package/build-types/dataform/stories/layout-regular.d.ts +2 -1
- package/build-types/dataform/stories/layout-regular.d.ts.map +1 -1
- package/build-types/dataform/stories/validation.d.ts.map +1 -1
- package/build-types/dataviews/index.d.ts +1 -1
- package/build-types/dataviews/index.d.ts.map +1 -1
- package/build-types/dataviews-picker/index.d.ts +3 -2
- package/build-types/dataviews-picker/index.d.ts.map +1 -1
- package/build-types/dataviews-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/field-types/array.d.ts +1 -1
- package/build-types/field-types/array.d.ts.map +1 -1
- package/build-types/field-types/boolean.d.ts +1 -1
- package/build-types/field-types/boolean.d.ts.map +1 -1
- package/build-types/field-types/color.d.ts +1 -1
- package/build-types/field-types/color.d.ts.map +1 -1
- package/build-types/field-types/date.d.ts +3 -0
- package/build-types/field-types/date.d.ts.map +1 -1
- package/build-types/field-types/datetime.d.ts +3 -0
- package/build-types/field-types/datetime.d.ts.map +1 -1
- package/build-types/field-types/email.d.ts +1 -1
- package/build-types/field-types/email.d.ts.map +1 -1
- package/build-types/field-types/index.d.ts.map +1 -1
- package/build-types/field-types/integer.d.ts +1 -1
- package/build-types/field-types/integer.d.ts.map +1 -1
- package/build-types/field-types/number.d.ts +1 -1
- package/build-types/field-types/number.d.ts.map +1 -1
- package/build-types/field-types/stories/index.story.d.ts +37 -15
- package/build-types/field-types/stories/index.story.d.ts.map +1 -1
- package/build-types/field-types/utils/get-is-valid.d.ts.map +1 -1
- package/build-types/field-types/utils/is-valid-date-boundary.d.ts +7 -0
- package/build-types/field-types/utils/is-valid-date-boundary.d.ts.map +1 -0
- package/build-types/types/dataviews.d.ts +8 -0
- package/build-types/types/dataviews.d.ts.map +1 -1
- package/build-types/types/field-api.d.ts +24 -9
- package/build-types/types/field-api.d.ts.map +1 -1
- package/build-wp/index.js +1141 -990
- package/package.json +16 -16
- package/src/components/dataform-controls/array.tsx +2 -0
- package/src/components/dataform-controls/checkbox.tsx +2 -0
- package/src/components/dataform-controls/color.tsx +7 -0
- package/src/components/dataform-controls/date.tsx +30 -4
- package/src/components/dataform-controls/datetime.tsx +17 -0
- package/src/components/dataform-controls/password.tsx +3 -0
- package/src/components/dataform-controls/radio.tsx +2 -0
- package/src/components/dataform-controls/select.tsx +2 -0
- package/src/components/dataform-controls/textarea.tsx +2 -0
- package/src/components/dataform-controls/toggle-group.tsx +2 -0
- package/src/components/dataform-controls/toggle.tsx +2 -0
- package/src/components/dataform-controls/utils/relative-date-control.tsx +3 -0
- package/src/components/dataform-controls/utils/use-disabled-date-matchers.ts +48 -0
- package/src/components/dataform-controls/utils/validated-input.tsx +2 -0
- package/src/components/dataform-controls/utils/validated-number.tsx +2 -0
- package/src/components/dataform-layouts/panel/style.scss +4 -5
- package/src/components/dataform-layouts/panel/summary-button.tsx +0 -1
- package/src/components/dataviews-context/index.ts +2 -2
- package/src/components/dataviews-filters/input-widget.tsx +4 -0
- package/src/components/dataviews-filters/style.scss +2 -2
- package/src/components/dataviews-layouts/activity/style.scss +3 -3
- package/src/components/dataviews-layouts/grid/style.scss +1 -1
- package/src/components/dataviews-layouts/list/style.scss +1 -1
- package/src/components/dataviews-layouts/picker-grid/index.tsx +2 -6
- package/src/components/dataviews-layouts/picker-grid/style.scss +1 -1
- package/src/components/dataviews-layouts/picker-table/index.tsx +9 -7
- package/src/components/dataviews-layouts/picker-table/style.scss +1 -1
- package/src/components/dataviews-layouts/table/index.tsx +0 -2
- package/src/components/dataviews-pagination/index.tsx +1 -0
- package/src/dataform/stories/content.story.tsx +1 -1
- package/src/dataform/stories/data-adapter.tsx +6 -6
- package/src/dataform/stories/index.story.tsx +7 -0
- package/src/dataform/stories/layout-card.tsx +5 -5
- package/src/dataform/stories/layout-details.tsx +5 -5
- package/src/dataform/stories/layout-panel.tsx +9 -9
- package/src/dataform/stories/layout-regular.tsx +31 -10
- package/src/dataform/stories/layout-row.tsx +9 -9
- package/src/dataform/stories/validation.tsx +25 -10
- package/src/dataviews/index.tsx +11 -7
- package/src/dataviews/stories/empty.tsx +4 -4
- package/src/dataviews/stories/free-composition.tsx +2 -2
- package/src/dataviews/stories/infinite-scroll.tsx +4 -4
- package/src/dataviews/stories/layout-custom.tsx +1 -1
- package/src/dataviews/stories/layout-grid.tsx +1 -1
- package/src/dataviews/stories/layout-list.tsx +1 -1
- package/src/dataviews/stories/layout-table.tsx +1 -1
- package/src/dataviews/stories/minimal-ui.tsx +1 -1
- package/src/dataviews/stories/with-card.tsx +4 -4
- package/src/dataviews/style.scss +1 -1
- package/src/dataviews/test/dataviews.tsx +73 -6
- package/src/dataviews-picker/index.tsx +17 -7
- package/src/dataviews-picker/stories/index.story.tsx +1 -5
- package/src/dataviews-picker/test/dataviews-picker.tsx +79 -2
- package/src/field-types/date.tsx +3 -0
- package/src/field-types/datetime.tsx +3 -0
- package/src/field-types/index.tsx +4 -0
- package/src/field-types/stories/index.story.tsx +67 -6
- package/src/field-types/test/normalize-fields.ts +44 -0
- package/src/field-types/utils/get-is-valid.ts +44 -31
- package/src/field-types/utils/is-valid-date-boundary.ts +80 -0
- package/src/hooks/test/use-form-validity.ts +479 -0
- package/src/types/dataviews.ts +9 -0
- package/src/types/field-api.ts +27 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/dataviews",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.1.0",
|
|
4
4
|
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -53,20 +53,20 @@
|
|
|
53
53
|
"sideEffects": false,
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@ariakit/react": "^0.4.21",
|
|
56
|
-
"@wordpress/base-styles": "^6.
|
|
57
|
-
"@wordpress/components": "^32.
|
|
58
|
-
"@wordpress/compose": "^7.
|
|
59
|
-
"@wordpress/data": "^10.
|
|
60
|
-
"@wordpress/date": "^5.
|
|
61
|
-
"@wordpress/deprecated": "^4.
|
|
62
|
-
"@wordpress/element": "^6.
|
|
63
|
-
"@wordpress/i18n": "^6.
|
|
64
|
-
"@wordpress/icons": "^12.
|
|
65
|
-
"@wordpress/keycodes": "^4.
|
|
66
|
-
"@wordpress/primitives": "^4.
|
|
67
|
-
"@wordpress/private-apis": "^1.
|
|
68
|
-
"@wordpress/ui": "^0.
|
|
69
|
-
"@wordpress/warning": "^3.
|
|
56
|
+
"@wordpress/base-styles": "^6.20.0",
|
|
57
|
+
"@wordpress/components": "^32.6.0",
|
|
58
|
+
"@wordpress/compose": "^7.44.0",
|
|
59
|
+
"@wordpress/data": "^10.44.0",
|
|
60
|
+
"@wordpress/date": "^5.44.0",
|
|
61
|
+
"@wordpress/deprecated": "^4.44.0",
|
|
62
|
+
"@wordpress/element": "^6.44.0",
|
|
63
|
+
"@wordpress/i18n": "^6.17.0",
|
|
64
|
+
"@wordpress/icons": "^12.2.0",
|
|
65
|
+
"@wordpress/keycodes": "^4.44.0",
|
|
66
|
+
"@wordpress/primitives": "^4.44.0",
|
|
67
|
+
"@wordpress/private-apis": "^1.44.0",
|
|
68
|
+
"@wordpress/ui": "^0.11.0",
|
|
69
|
+
"@wordpress/warning": "^3.44.0",
|
|
70
70
|
"clsx": "^2.1.1",
|
|
71
71
|
"colord": "^2.7.0",
|
|
72
72
|
"date-fns": "^4.1.0",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"scripts": {
|
|
93
93
|
"build:wp": "node build.cjs"
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "b862d8c84121a47bbeff882f6c87e61681ce2e0d"
|
|
96
96
|
}
|
|
@@ -24,6 +24,7 @@ export default function ArrayControl< Item >( {
|
|
|
24
24
|
}: DataFormControlProps< Item > ) {
|
|
25
25
|
const { label, placeholder, getValue, setValue, isValid } = field;
|
|
26
26
|
const value = getValue( { item: data } );
|
|
27
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
27
28
|
|
|
28
29
|
const { elements, isLoading } = useElements( {
|
|
29
30
|
elements: field.elements,
|
|
@@ -73,6 +74,7 @@ export default function ArrayControl< Item >( {
|
|
|
73
74
|
onChange={ onChangeControl }
|
|
74
75
|
placeholder={ placeholder }
|
|
75
76
|
suggestions={ elements?.map( ( element ) => element.value ) }
|
|
77
|
+
disabled={ disabled }
|
|
76
78
|
__experimentalValidateInput={ ( token: string ) => {
|
|
77
79
|
// If elements validation is required, check if token is valid
|
|
78
80
|
if ( field.isValid?.elements && elements ) {
|
|
@@ -22,6 +22,7 @@ export default function Checkbox< Item >( {
|
|
|
22
22
|
validity,
|
|
23
23
|
}: DataFormControlProps< Item > ) {
|
|
24
24
|
const { getValue, setValue, label, description, isValid } = field;
|
|
25
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
25
26
|
|
|
26
27
|
const onChangeControl = useCallback( () => {
|
|
27
28
|
onChange(
|
|
@@ -39,6 +40,7 @@ export default function Checkbox< Item >( {
|
|
|
39
40
|
help={ description }
|
|
40
41
|
checked={ getValue( { item: data } ) }
|
|
41
42
|
onChange={ onChangeControl }
|
|
43
|
+
disabled={ disabled }
|
|
42
44
|
/>
|
|
43
45
|
);
|
|
44
46
|
}
|
|
@@ -30,9 +30,11 @@ const { ValidatedInputControl } = unlock( privateApis );
|
|
|
30
30
|
const ColorPickerDropdown = ( {
|
|
31
31
|
color,
|
|
32
32
|
onColorChange,
|
|
33
|
+
disabled,
|
|
33
34
|
}: {
|
|
34
35
|
color: string;
|
|
35
36
|
onColorChange: ( newColor: string ) => void;
|
|
37
|
+
disabled?: boolean;
|
|
36
38
|
} ) => {
|
|
37
39
|
const validColor = color && colord( color ).isValid() ? color : '#ffffff';
|
|
38
40
|
|
|
@@ -45,6 +47,8 @@ const ColorPickerDropdown = ( {
|
|
|
45
47
|
onClick={ onToggle }
|
|
46
48
|
aria-label={ __( 'Open color picker' ) }
|
|
47
49
|
size="small"
|
|
50
|
+
disabled={ disabled }
|
|
51
|
+
accessibleWhenDisabled
|
|
48
52
|
icon={ () => <ColorIndicator colorValue={ validColor } /> }
|
|
49
53
|
/>
|
|
50
54
|
) }
|
|
@@ -70,6 +74,7 @@ export default function Color< Item >( {
|
|
|
70
74
|
validity,
|
|
71
75
|
}: DataFormControlProps< Item > ) {
|
|
72
76
|
const { label, placeholder, description, setValue, isValid } = field;
|
|
77
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
73
78
|
const value = field.getValue( { item: data } ) || '';
|
|
74
79
|
|
|
75
80
|
const handleColorChange = useCallback(
|
|
@@ -98,11 +103,13 @@ export default function Color< Item >( {
|
|
|
98
103
|
onChange={ handleInputChange }
|
|
99
104
|
hideLabelFromVision={ hideLabelFromVision }
|
|
100
105
|
type="text"
|
|
106
|
+
disabled={ disabled }
|
|
101
107
|
prefix={
|
|
102
108
|
<InputControlPrefixWrapper variant="control">
|
|
103
109
|
<ColorPickerDropdown
|
|
104
110
|
color={ value }
|
|
105
111
|
onColorChange={ handleColorChange }
|
|
112
|
+
disabled={ disabled }
|
|
106
113
|
/>
|
|
107
114
|
</InputControlPrefixWrapper>
|
|
108
115
|
}
|
|
@@ -38,6 +38,7 @@ import { Stack } from '@wordpress/ui';
|
|
|
38
38
|
* Internal dependencies
|
|
39
39
|
*/
|
|
40
40
|
import RelativeDateControl from './utils/relative-date-control';
|
|
41
|
+
import useDisabledDateMatchers from './utils/use-disabled-date-matchers';
|
|
41
42
|
import {
|
|
42
43
|
OPERATOR_IN_THE_PAST,
|
|
43
44
|
OPERATOR_OVER,
|
|
@@ -299,6 +300,7 @@ function CalendarDateControl< Item >( {
|
|
|
299
300
|
isValid,
|
|
300
301
|
format: fieldFormat,
|
|
301
302
|
} = field;
|
|
303
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
302
304
|
const [ selectedPresetId, setSelectedPresetId ] = useState< string | null >(
|
|
303
305
|
null
|
|
304
306
|
);
|
|
@@ -317,6 +319,9 @@ function CalendarDateControl< Item >( {
|
|
|
317
319
|
const [ isTouched, setIsTouched ] = useState( false );
|
|
318
320
|
const validityTargetRef = useRef< HTMLInputElement >( null );
|
|
319
321
|
|
|
322
|
+
const { minConstraint, maxConstraint, disabledMatchers } =
|
|
323
|
+
useDisabledDateMatchers( isValid, parseDate );
|
|
324
|
+
|
|
320
325
|
const onChangeCallback = useCallback(
|
|
321
326
|
( newValue: string | undefined ) =>
|
|
322
327
|
onChange( setValue( { item: data, value: newValue } ) ),
|
|
@@ -406,6 +411,8 @@ function CalendarDateControl< Item >( {
|
|
|
406
411
|
variant="tertiary"
|
|
407
412
|
isPressed={ isSelected }
|
|
408
413
|
size="small"
|
|
414
|
+
disabled={ disabled }
|
|
415
|
+
accessibleWhenDisabled
|
|
409
416
|
onClick={ () =>
|
|
410
417
|
handlePresetClick( preset )
|
|
411
418
|
}
|
|
@@ -419,8 +426,8 @@ function CalendarDateControl< Item >( {
|
|
|
419
426
|
variant="tertiary"
|
|
420
427
|
isPressed={ ! selectedPresetId }
|
|
421
428
|
size="small"
|
|
422
|
-
disabled={ !! selectedPresetId }
|
|
423
|
-
accessibleWhenDisabled
|
|
429
|
+
disabled={ !! selectedPresetId || disabled }
|
|
430
|
+
accessibleWhenDisabled
|
|
424
431
|
>
|
|
425
432
|
{ __( 'Custom' ) }
|
|
426
433
|
</Button>
|
|
@@ -436,6 +443,9 @@ function CalendarDateControl< Item >( {
|
|
|
436
443
|
value={ value }
|
|
437
444
|
onChange={ handleManualDateChange }
|
|
438
445
|
required={ !! field.isValid?.required }
|
|
446
|
+
disabled={ disabled }
|
|
447
|
+
min={ minConstraint }
|
|
448
|
+
max={ maxConstraint }
|
|
439
449
|
/>
|
|
440
450
|
|
|
441
451
|
{ /* Calendar widget */ }
|
|
@@ -449,6 +459,8 @@ function CalendarDateControl< Item >( {
|
|
|
449
459
|
onMonthChange={ setCalendarMonth }
|
|
450
460
|
timeZone={ timezoneString || undefined }
|
|
451
461
|
weekStartsOn={ weekStartsOn }
|
|
462
|
+
disabled={ disabled || disabledMatchers }
|
|
463
|
+
disableNavigation={ disabled }
|
|
452
464
|
/>
|
|
453
465
|
</Stack>
|
|
454
466
|
</BaseControl>
|
|
@@ -470,8 +482,10 @@ function CalendarDateRangeControl< Item >( {
|
|
|
470
482
|
description,
|
|
471
483
|
getValue,
|
|
472
484
|
setValue,
|
|
485
|
+
isValid,
|
|
473
486
|
format: fieldFormat,
|
|
474
487
|
} = field;
|
|
488
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
475
489
|
let value: DateRange;
|
|
476
490
|
const fieldValue = getValue( { item: data } );
|
|
477
491
|
if (
|
|
@@ -486,6 +500,9 @@ function CalendarDateRangeControl< Item >( {
|
|
|
486
500
|
( fieldFormat as FormatDate ).weekStartsOn ??
|
|
487
501
|
getSettings().l10n.startOfWeek;
|
|
488
502
|
|
|
503
|
+
const { minConstraint, maxConstraint, disabledMatchers } =
|
|
504
|
+
useDisabledDateMatchers( isValid, parseDate );
|
|
505
|
+
|
|
489
506
|
const onChangeCallback = useCallback(
|
|
490
507
|
( newValue: DateRange ) => {
|
|
491
508
|
onChange(
|
|
@@ -626,6 +643,8 @@ function CalendarDateRangeControl< Item >( {
|
|
|
626
643
|
variant="tertiary"
|
|
627
644
|
isPressed={ isSelected }
|
|
628
645
|
size="small"
|
|
646
|
+
disabled={ disabled }
|
|
647
|
+
accessibleWhenDisabled
|
|
629
648
|
onClick={ () =>
|
|
630
649
|
handlePresetClick( preset )
|
|
631
650
|
}
|
|
@@ -639,8 +658,8 @@ function CalendarDateRangeControl< Item >( {
|
|
|
639
658
|
variant="tertiary"
|
|
640
659
|
isPressed={ ! selectedPresetId }
|
|
641
660
|
size="small"
|
|
642
|
-
accessibleWhenDisabled
|
|
643
|
-
disabled={ !! selectedPresetId }
|
|
661
|
+
accessibleWhenDisabled
|
|
662
|
+
disabled={ !! selectedPresetId || disabled }
|
|
644
663
|
>
|
|
645
664
|
{ __( 'Custom' ) }
|
|
646
665
|
</Button>
|
|
@@ -664,6 +683,9 @@ function CalendarDateRangeControl< Item >( {
|
|
|
664
683
|
handleManualDateChange( 'from', newValue )
|
|
665
684
|
}
|
|
666
685
|
required={ !! field.isValid?.required }
|
|
686
|
+
disabled={ disabled }
|
|
687
|
+
min={ minConstraint }
|
|
688
|
+
max={ maxConstraint }
|
|
667
689
|
/>
|
|
668
690
|
<InputControl
|
|
669
691
|
__next40pxDefaultSize
|
|
@@ -676,6 +698,9 @@ function CalendarDateRangeControl< Item >( {
|
|
|
676
698
|
handleManualDateChange( 'to', newValue )
|
|
677
699
|
}
|
|
678
700
|
required={ !! field.isValid?.required }
|
|
701
|
+
disabled={ disabled }
|
|
702
|
+
min={ minConstraint }
|
|
703
|
+
max={ maxConstraint }
|
|
679
704
|
/>
|
|
680
705
|
</Stack>
|
|
681
706
|
|
|
@@ -687,6 +712,7 @@ function CalendarDateRangeControl< Item >( {
|
|
|
687
712
|
onMonthChange={ setCalendarMonth }
|
|
688
713
|
timeZone={ timezone.string || undefined }
|
|
689
714
|
weekStartsOn={ weekStartsOn }
|
|
715
|
+
disabled={ disabled || disabledMatchers }
|
|
690
716
|
/>
|
|
691
717
|
</Stack>
|
|
692
718
|
</BaseControl>
|
|
@@ -16,6 +16,7 @@ import { Stack } from '@wordpress/ui';
|
|
|
16
16
|
import type { DataFormControlProps, FormatDatetime } from '../../types';
|
|
17
17
|
import { OPERATOR_IN_THE_PAST, OPERATOR_OVER } from '../../constants';
|
|
18
18
|
import RelativeDateControl from './utils/relative-date-control';
|
|
19
|
+
import useDisabledDateMatchers from './utils/use-disabled-date-matchers';
|
|
19
20
|
import getCustomValidity from './utils/get-custom-validity';
|
|
20
21
|
import parseDateTime from '../../field-types/utils/parse-date-time';
|
|
21
22
|
import { unlock } from '../../lock-unlock';
|
|
@@ -41,6 +42,7 @@ function CalendarDateTimeControl< Item >( {
|
|
|
41
42
|
}: DataFormControlProps< Item > ) {
|
|
42
43
|
const { compact } = config || {};
|
|
43
44
|
const { id, label, description, setValue, getValue, isValid } = field;
|
|
45
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
44
46
|
const fieldValue = getValue( { item: data } );
|
|
45
47
|
const value = typeof fieldValue === 'string' ? fieldValue : undefined;
|
|
46
48
|
|
|
@@ -54,6 +56,9 @@ function CalendarDateTimeControl< Item >( {
|
|
|
54
56
|
useRef< ReturnType< typeof setTimeout > >( undefined );
|
|
55
57
|
const previousFocusRef = useRef< Element | null >( null );
|
|
56
58
|
|
|
59
|
+
const { minConstraint, maxConstraint, disabledMatchers } =
|
|
60
|
+
useDisabledDateMatchers( isValid, parseDateTime );
|
|
61
|
+
|
|
57
62
|
const onChangeCallback = useCallback(
|
|
58
63
|
( newValue: string | undefined ) =>
|
|
59
64
|
onChange( setValue( { item: data, value: newValue } ) ),
|
|
@@ -179,6 +184,17 @@ function CalendarDateTimeControl< Item >( {
|
|
|
179
184
|
hideLabelFromVision
|
|
180
185
|
value={ formatDateTime( value ) }
|
|
181
186
|
onChange={ handleManualDateTimeChange }
|
|
187
|
+
disabled={ disabled }
|
|
188
|
+
min={
|
|
189
|
+
minConstraint
|
|
190
|
+
? formatDateTime( minConstraint )
|
|
191
|
+
: undefined
|
|
192
|
+
}
|
|
193
|
+
max={
|
|
194
|
+
maxConstraint
|
|
195
|
+
? formatDateTime( maxConstraint )
|
|
196
|
+
: undefined
|
|
197
|
+
}
|
|
182
198
|
/>
|
|
183
199
|
{ /* Calendar widget */ }
|
|
184
200
|
{ ! compact && (
|
|
@@ -194,6 +210,7 @@ function CalendarDateTimeControl< Item >( {
|
|
|
194
210
|
onMonthChange={ setCalendarMonth }
|
|
195
211
|
timeZone={ timezoneString || undefined }
|
|
196
212
|
weekStartsOn={ weekStartsOn }
|
|
213
|
+
disabled={ disabled || disabledMatchers }
|
|
197
214
|
/>
|
|
198
215
|
) }
|
|
199
216
|
</Stack>
|
|
@@ -23,6 +23,7 @@ export default function Password< Item >( {
|
|
|
23
23
|
validity,
|
|
24
24
|
}: DataFormControlProps< Item > ) {
|
|
25
25
|
const [ isVisible, setIsVisible ] = useState( false );
|
|
26
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
26
27
|
|
|
27
28
|
const toggleVisibility = useCallback( () => {
|
|
28
29
|
setIsVisible( ( prev ) => ! prev );
|
|
@@ -49,6 +50,8 @@ export default function Password< Item >( {
|
|
|
49
50
|
? __( 'Hide password' )
|
|
50
51
|
: __( 'Show password' )
|
|
51
52
|
}
|
|
53
|
+
disabled={ disabled }
|
|
54
|
+
accessibleWhenDisabled
|
|
52
55
|
/>
|
|
53
56
|
</InputControlSuffixWrapper>
|
|
54
57
|
),
|
|
@@ -23,6 +23,7 @@ export default function Radio< Item >( {
|
|
|
23
23
|
validity,
|
|
24
24
|
}: DataFormControlProps< Item > ) {
|
|
25
25
|
const { label, description, getValue, setValue, isValid } = field;
|
|
26
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
26
27
|
const { elements, isLoading } = useElements( {
|
|
27
28
|
elements: field.elements,
|
|
28
29
|
getElements: field.getElements,
|
|
@@ -50,6 +51,7 @@ export default function Radio< Item >( {
|
|
|
50
51
|
options={ elements }
|
|
51
52
|
selected={ value }
|
|
52
53
|
hideLabelFromVision={ hideLabelFromVision }
|
|
54
|
+
disabled={ disabled }
|
|
53
55
|
/>
|
|
54
56
|
);
|
|
55
57
|
}
|
|
@@ -23,6 +23,7 @@ export default function Select< Item >( {
|
|
|
23
23
|
validity,
|
|
24
24
|
}: DataFormControlProps< Item > ) {
|
|
25
25
|
const { type, label, description, getValue, setValue, isValid } = field;
|
|
26
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
26
27
|
|
|
27
28
|
const isMultiple = type === 'array';
|
|
28
29
|
const value = getValue( { item: data } ) ?? ( isMultiple ? [] : '' );
|
|
@@ -55,6 +56,7 @@ export default function Select< Item >( {
|
|
|
55
56
|
__next40pxDefaultSize
|
|
56
57
|
hideLabelFromVision={ hideLabelFromVision }
|
|
57
58
|
multiple={ isMultiple }
|
|
59
|
+
disabled={ disabled }
|
|
58
60
|
/>
|
|
59
61
|
);
|
|
60
62
|
}
|
|
@@ -23,6 +23,7 @@ export default function Textarea< Item >( {
|
|
|
23
23
|
validity,
|
|
24
24
|
}: DataFormControlProps< Item > ) {
|
|
25
25
|
const { rows = 4 } = config || {};
|
|
26
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
26
27
|
const { label, placeholder, description, setValue, isValid } = field;
|
|
27
28
|
const value = field.getValue( { item: data } );
|
|
28
29
|
|
|
@@ -43,6 +44,7 @@ export default function Textarea< Item >( {
|
|
|
43
44
|
help={ description }
|
|
44
45
|
onChange={ onChangeControl }
|
|
45
46
|
rows={ rows }
|
|
47
|
+
disabled={ disabled }
|
|
46
48
|
minLength={
|
|
47
49
|
isValid.minLength ? isValid.minLength.constraint : undefined
|
|
48
50
|
}
|
|
@@ -27,6 +27,7 @@ export default function ToggleGroup< Item >( {
|
|
|
27
27
|
validity,
|
|
28
28
|
}: DataFormControlProps< Item > ) {
|
|
29
29
|
const { getValue, setValue, isValid } = field;
|
|
30
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
30
31
|
const value = getValue( { item: data } );
|
|
31
32
|
|
|
32
33
|
const onChangeControl = useCallback(
|
|
@@ -67,6 +68,7 @@ export default function ToggleGroup< Item >( {
|
|
|
67
68
|
key={ el.value }
|
|
68
69
|
label={ el.label }
|
|
69
70
|
value={ el.value }
|
|
71
|
+
disabled={ disabled }
|
|
70
72
|
/>
|
|
71
73
|
) ) }
|
|
72
74
|
</ValidatedToggleGroupControl>
|
|
@@ -22,6 +22,7 @@ export default function Toggle< Item >( {
|
|
|
22
22
|
validity,
|
|
23
23
|
}: DataFormControlProps< Item > ) {
|
|
24
24
|
const { label, description, getValue, setValue, isValid } = field;
|
|
25
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
25
26
|
|
|
26
27
|
const onChangeControl = useCallback( () => {
|
|
27
28
|
onChange(
|
|
@@ -39,6 +40,7 @@ export default function Toggle< Item >( {
|
|
|
39
40
|
help={ description }
|
|
40
41
|
checked={ getValue( { item: data } ) }
|
|
41
42
|
onChange={ onChangeControl }
|
|
43
|
+
disabled={ disabled }
|
|
42
44
|
/>
|
|
43
45
|
);
|
|
44
46
|
}
|
|
@@ -59,6 +59,7 @@ export default function RelativeDateControl< Item >( {
|
|
|
59
59
|
];
|
|
60
60
|
|
|
61
61
|
const { id, label, description, getValue, setValue } = field;
|
|
62
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
62
63
|
const fieldValue = getValue( { item: data } );
|
|
63
64
|
const { value: relValue = '', unit = options[ 0 ].value } =
|
|
64
65
|
fieldValue && typeof fieldValue === 'object' ? fieldValue : {};
|
|
@@ -102,6 +103,7 @@ export default function RelativeDateControl< Item >( {
|
|
|
102
103
|
step={ 1 }
|
|
103
104
|
value={ relValue }
|
|
104
105
|
onChange={ onChangeValue }
|
|
106
|
+
disabled={ disabled }
|
|
105
107
|
/>
|
|
106
108
|
<SelectControl
|
|
107
109
|
className="dataviews-controls__relative-date-unit"
|
|
@@ -111,6 +113,7 @@ export default function RelativeDateControl< Item >( {
|
|
|
111
113
|
options={ options }
|
|
112
114
|
onChange={ onChangeUnit }
|
|
113
115
|
hideLabelFromVision
|
|
116
|
+
disabled={ disabled }
|
|
114
117
|
/>
|
|
115
118
|
</Stack>
|
|
116
119
|
</BaseControl>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useMemo } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { NormalizedRules } from '../../../types';
|
|
10
|
+
|
|
11
|
+
type DateMatcher = { before: Date } | { after: Date };
|
|
12
|
+
|
|
13
|
+
export default function useDisabledDateMatchers< Item >(
|
|
14
|
+
isValid: NormalizedRules< Item >,
|
|
15
|
+
parseDateFn: ( dateString?: string ) => Date | null
|
|
16
|
+
): {
|
|
17
|
+
minConstraint: string | undefined;
|
|
18
|
+
maxConstraint: string | undefined;
|
|
19
|
+
disabledMatchers: DateMatcher[] | undefined;
|
|
20
|
+
} {
|
|
21
|
+
const minConstraint =
|
|
22
|
+
typeof isValid.min?.constraint === 'string'
|
|
23
|
+
? isValid.min.constraint
|
|
24
|
+
: undefined;
|
|
25
|
+
const maxConstraint =
|
|
26
|
+
typeof isValid.max?.constraint === 'string'
|
|
27
|
+
? isValid.max.constraint
|
|
28
|
+
: undefined;
|
|
29
|
+
|
|
30
|
+
const disabledMatchers = useMemo( () => {
|
|
31
|
+
const matchers: DateMatcher[] = [];
|
|
32
|
+
if ( minConstraint ) {
|
|
33
|
+
const minDate = parseDateFn( minConstraint );
|
|
34
|
+
if ( minDate ) {
|
|
35
|
+
matchers.push( { before: minDate } );
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if ( maxConstraint ) {
|
|
39
|
+
const maxDate = parseDateFn( maxConstraint );
|
|
40
|
+
if ( maxDate ) {
|
|
41
|
+
matchers.push( { after: maxDate } );
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return matchers.length > 0 ? matchers : undefined;
|
|
45
|
+
}, [ minConstraint, maxConstraint, parseDateFn ] );
|
|
46
|
+
|
|
47
|
+
return { minConstraint, maxConstraint, disabledMatchers };
|
|
48
|
+
}
|
|
@@ -43,6 +43,7 @@ export default function ValidatedText< Item >( {
|
|
|
43
43
|
const { label, placeholder, description, getValue, setValue, isValid } =
|
|
44
44
|
field;
|
|
45
45
|
const value = getValue( { item: data } );
|
|
46
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
46
47
|
|
|
47
48
|
const onChangeControl = useCallback(
|
|
48
49
|
( newValue: string ) =>
|
|
@@ -69,6 +70,7 @@ export default function ValidatedText< Item >( {
|
|
|
69
70
|
type={ type }
|
|
70
71
|
prefix={ prefix }
|
|
71
72
|
suffix={ suffix }
|
|
73
|
+
disabled={ disabled }
|
|
72
74
|
pattern={ isValid.pattern ? isValid.pattern.constraint : undefined }
|
|
73
75
|
minLength={
|
|
74
76
|
isValid.minLength ? isValid.minLength.constraint : undefined
|
|
@@ -96,6 +96,7 @@ export default function ValidatedNumber< Item >( {
|
|
|
96
96
|
const step = Math.pow( 10, Math.abs( decimals ) * -1 );
|
|
97
97
|
const { label, description, getValue, setValue, isValid } = field;
|
|
98
98
|
const value = getValue( { item: data } ) ?? '';
|
|
99
|
+
const disabled = field.isDisabled( { item: data, field } );
|
|
99
100
|
|
|
100
101
|
const onChangeControl = useCallback(
|
|
101
102
|
( newValue: string | undefined ) => {
|
|
@@ -161,6 +162,7 @@ export default function ValidatedNumber< Item >( {
|
|
|
161
162
|
step={ step }
|
|
162
163
|
min={ isValid.min ? isValid.min.constraint : undefined }
|
|
163
164
|
max={ isValid.max ? isValid.max.constraint : undefined }
|
|
165
|
+
disabled={ disabled }
|
|
164
166
|
/>
|
|
165
167
|
);
|
|
166
168
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
display: flex;
|
|
9
9
|
width: 100%;
|
|
10
10
|
min-height: $grid-unit-30;
|
|
11
|
-
cursor:
|
|
11
|
+
cursor: var(--wpds-cursor-control);
|
|
12
12
|
align-items: flex-start;
|
|
13
13
|
border-radius: $radius-small;
|
|
14
14
|
isolation: isolate;
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
.dataforms-layouts-panel__field-control {
|
|
46
46
|
color: $gray-700;
|
|
47
|
-
font-weight: var(--wpds-font-weight-regular);
|
|
47
|
+
font-weight: var(--wpds-typography-font-weight-regular);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -92,7 +92,6 @@
|
|
|
92
92
|
line-height: $grid-unit-05 * 5;
|
|
93
93
|
hyphens: auto;
|
|
94
94
|
color: $gray-700;
|
|
95
|
-
text-transform: capitalize;
|
|
96
95
|
|
|
97
96
|
.components-base-control__label {
|
|
98
97
|
display: inline;
|
|
@@ -123,12 +122,12 @@
|
|
|
123
122
|
flex-grow: 1;
|
|
124
123
|
min-width: 0;
|
|
125
124
|
min-height: $grid-unit-30;
|
|
126
|
-
line-height: var(--wpds-
|
|
125
|
+
line-height: var(--wpds-typography-line-height-md);
|
|
127
126
|
display: flex;
|
|
128
127
|
align-items: center;
|
|
129
128
|
overflow: hidden;
|
|
130
129
|
word-break: break-word;
|
|
131
|
-
font-weight: var(--wpds-font-weight-medium);
|
|
130
|
+
font-weight: var(--wpds-typography-font-weight-medium);
|
|
132
131
|
|
|
133
132
|
> * {
|
|
134
133
|
min-width: 0;
|
|
@@ -15,7 +15,7 @@ import type {
|
|
|
15
15
|
View,
|
|
16
16
|
Action,
|
|
17
17
|
NormalizedField,
|
|
18
|
-
|
|
18
|
+
NormalizedSupportedLayouts,
|
|
19
19
|
NormalizedFilter,
|
|
20
20
|
} from '../../types';
|
|
21
21
|
import type { SetSelection } from '../../types/private';
|
|
@@ -50,7 +50,7 @@ type DataViewsContextType< Item > = {
|
|
|
50
50
|
resizeObserverRef:
|
|
51
51
|
| ( ( element?: HTMLDivElement | null ) => void )
|
|
52
52
|
| React.RefObject< HTMLDivElement >;
|
|
53
|
-
defaultLayouts:
|
|
53
|
+
defaultLayouts: NormalizedSupportedLayouts;
|
|
54
54
|
filters: NormalizedFilter[];
|
|
55
55
|
isShowingFilter: boolean;
|
|
56
56
|
setIsShowingFilter: ( value: boolean ) => void;
|
|
@@ -64,6 +64,10 @@ export default function InputWidget( {
|
|
|
64
64
|
...currentField,
|
|
65
65
|
// Deactivate validation for filters.
|
|
66
66
|
isValid: {} satisfies NormalizedRules< any >,
|
|
67
|
+
// Filter controls are always enabled.
|
|
68
|
+
isDisabled: () => false,
|
|
69
|
+
// Filter controls are always visible.
|
|
70
|
+
isVisible: () => true,
|
|
67
71
|
// Configure getValue/setValue as if Item was a plain object.
|
|
68
72
|
getValue: ( { item }: { item: any } ) =>
|
|
69
73
|
item[ currentField.id ],
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
.dataviews-filters__summary-chip {
|
|
77
77
|
border-radius: $grid-unit-20;
|
|
78
78
|
border: $border-width solid transparent;
|
|
79
|
-
cursor:
|
|
79
|
+
cursor: var(--wpds-cursor-control);
|
|
80
80
|
padding: $grid-unit-05 $grid-unit-15;
|
|
81
81
|
min-height: $grid-unit-40;
|
|
82
82
|
background: $gray-100;
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
align-items: center;
|
|
138
138
|
justify-content: center;
|
|
139
139
|
background: transparent;
|
|
140
|
-
cursor:
|
|
140
|
+
cursor: var(--wpds-cursor-control);
|
|
141
141
|
|
|
142
142
|
svg {
|
|
143
143
|
fill: $gray-700;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
.dataviews-view-activity {
|
|
6
6
|
margin: 0 0 auto;
|
|
7
|
-
padding:
|
|
7
|
+
padding: 0 $grid-unit-30;
|
|
8
8
|
|
|
9
9
|
.dataviews-view-activity__group-header {
|
|
10
10
|
font-size: $font-size-large;
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
overflow: hidden;
|
|
36
36
|
|
|
37
37
|
&--clickable {
|
|
38
|
-
cursor:
|
|
38
|
+
cursor: var(--wpds-cursor-control);
|
|
39
39
|
|
|
40
40
|
&:focus-visible {
|
|
41
41
|
outline: var(--wp-admin-border-width-focus) solid var(--wp-admin-theme-color);
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
.dataviews-view-activity__item {
|
|
105
105
|
&.is-compact {
|
|
106
106
|
.dataviews-view-activity__item-type {
|
|
107
|
-
width: $grid-unit-
|
|
107
|
+
width: $grid-unit-15;
|
|
108
108
|
|
|
109
109
|
&::before {
|
|
110
110
|
height: $grid-unit-15;
|