@wordpress/dataviews 4.7.0 → 4.8.2-next.082ed6819.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.
Files changed (211) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/README.md +793 -97
  3. package/build/components/dataform/index.js +20 -8
  4. package/build/components/dataform/index.js.map +1 -1
  5. package/build/components/dataform-context/index.js +33 -0
  6. package/build/components/dataform-context/index.js.map +1 -0
  7. package/build/components/dataviews/index.js +10 -7
  8. package/build/components/dataviews/index.js.map +1 -1
  9. package/build/components/dataviews-context/index.js +2 -1
  10. package/build/components/dataviews-context/index.js.map +1 -1
  11. package/build/components/dataviews-filters/index.js +49 -31
  12. package/build/components/dataviews-filters/index.js.map +1 -1
  13. package/build/components/dataviews-item-actions/index.js +46 -20
  14. package/build/components/dataviews-item-actions/index.js.map +1 -1
  15. package/build/components/dataviews-layout/index.js +5 -3
  16. package/build/components/dataviews-layout/index.js.map +1 -1
  17. package/build/components/dataviews-view-config/index.js +4 -15
  18. package/build/components/dataviews-view-config/index.js.map +1 -1
  19. package/build/components/form-field-visibility/index.js +32 -0
  20. package/build/components/form-field-visibility/index.js.map +1 -0
  21. package/build/dataforms-layouts/data-form-layout.js +59 -0
  22. package/build/dataforms-layouts/data-form-layout.js.map +1 -0
  23. package/build/dataforms-layouts/index.js +4 -4
  24. package/build/dataforms-layouts/index.js.map +1 -1
  25. package/build/dataforms-layouts/is-combined-field.js +14 -0
  26. package/build/dataforms-layouts/is-combined-field.js.map +1 -0
  27. package/build/dataforms-layouts/panel/index.js +158 -67
  28. package/build/dataforms-layouts/panel/index.js.map +1 -1
  29. package/build/dataforms-layouts/regular/index.js +86 -14
  30. package/build/dataforms-layouts/regular/index.js.map +1 -1
  31. package/build/dataviews-layouts/grid/index.js +18 -7
  32. package/build/dataviews-layouts/grid/index.js.map +1 -1
  33. package/build/dataviews-layouts/grid/{density-picker.js → preview-size-picker.js} +40 -24
  34. package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -0
  35. package/build/dataviews-layouts/index.js +6 -2
  36. package/build/dataviews-layouts/index.js.map +1 -1
  37. package/build/dataviews-layouts/list/index.js +3 -2
  38. package/build/dataviews-layouts/list/index.js.map +1 -1
  39. package/build/dataviews-layouts/table/density-picker.js +51 -0
  40. package/build/dataviews-layouts/table/density-picker.js.map +1 -0
  41. package/build/dataviews-layouts/table/index.js +26 -6
  42. package/build/dataviews-layouts/table/index.js.map +1 -1
  43. package/build/dataviews-layouts/utils/get-clickable-item-props.js +25 -0
  44. package/build/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -0
  45. package/build/normalize-fields.js +16 -24
  46. package/build/normalize-fields.js.map +1 -1
  47. package/build/normalize-form-fields.js +36 -0
  48. package/build/normalize-form-fields.js.map +1 -0
  49. package/build/types.js.map +1 -1
  50. package/build/validation.js +9 -0
  51. package/build/validation.js.map +1 -1
  52. package/build-module/components/dataform/index.js +20 -8
  53. package/build-module/components/dataform/index.js.map +1 -1
  54. package/build-module/components/dataform-context/index.js +25 -0
  55. package/build-module/components/dataform-context/index.js.map +1 -0
  56. package/build-module/components/dataviews/index.js +11 -8
  57. package/build-module/components/dataviews/index.js.map +1 -1
  58. package/build-module/components/dataviews-context/index.js +2 -1
  59. package/build-module/components/dataviews-context/index.js.map +1 -1
  60. package/build-module/components/dataviews-filters/index.js +50 -32
  61. package/build-module/components/dataviews-filters/index.js.map +1 -1
  62. package/build-module/components/dataviews-item-actions/index.js +46 -20
  63. package/build-module/components/dataviews-item-actions/index.js.map +1 -1
  64. package/build-module/components/dataviews-layout/index.js +5 -3
  65. package/build-module/components/dataviews-layout/index.js.map +1 -1
  66. package/build-module/components/dataviews-view-config/index.js +5 -16
  67. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  68. package/build-module/components/form-field-visibility/index.js +26 -0
  69. package/build-module/components/form-field-visibility/index.js.map +1 -0
  70. package/build-module/dataforms-layouts/data-form-layout.js +52 -0
  71. package/build-module/dataforms-layouts/data-form-layout.js.map +1 -0
  72. package/build-module/dataforms-layouts/index.js +7 -7
  73. package/build-module/dataforms-layouts/index.js.map +1 -1
  74. package/build-module/dataforms-layouts/is-combined-field.js +8 -0
  75. package/build-module/dataforms-layouts/is-combined-field.js.map +1 -0
  76. package/build-module/dataforms-layouts/panel/index.js +157 -66
  77. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  78. package/build-module/dataforms-layouts/regular/index.js +87 -15
  79. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  80. package/build-module/dataviews-layouts/grid/index.js +18 -7
  81. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  82. package/build-module/dataviews-layouts/grid/{density-picker.js → preview-size-picker.js} +38 -24
  83. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -0
  84. package/build-module/dataviews-layouts/index.js +6 -2
  85. package/build-module/dataviews-layouts/index.js.map +1 -1
  86. package/build-module/dataviews-layouts/list/index.js +3 -2
  87. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  88. package/build-module/dataviews-layouts/table/density-picker.js +43 -0
  89. package/build-module/dataviews-layouts/table/density-picker.js.map +1 -0
  90. package/build-module/dataviews-layouts/table/index.js +26 -6
  91. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  92. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js +19 -0
  93. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -0
  94. package/build-module/normalize-fields.js +15 -23
  95. package/build-module/normalize-fields.js.map +1 -1
  96. package/build-module/normalize-form-fields.js +30 -0
  97. package/build-module/normalize-form-fields.js.map +1 -0
  98. package/build-module/types.js.map +1 -1
  99. package/build-module/validation.js +9 -0
  100. package/build-module/validation.js.map +1 -1
  101. package/build-style/style-rtl.css +65 -10
  102. package/build-style/style.css +65 -10
  103. package/build-types/components/dataform/index.d.ts +1 -1
  104. package/build-types/components/dataform/index.d.ts.map +1 -1
  105. package/build-types/components/dataform/stories/index.story.d.ts +18 -7
  106. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  107. package/build-types/components/dataform-context/index.d.ts +13 -0
  108. package/build-types/components/dataform-context/index.d.ts.map +1 -0
  109. package/build-types/components/dataviews/index.d.ts +3 -1
  110. package/build-types/components/dataviews/index.d.ts.map +1 -1
  111. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  112. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  113. package/build-types/components/dataviews-context/index.d.ts +2 -1
  114. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  115. package/build-types/components/dataviews-filters/index.d.ts +1 -1
  116. package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
  117. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  118. package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
  119. package/build-types/components/dataviews-view-config/index.d.ts +1 -3
  120. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  121. package/build-types/components/form-field-visibility/index.d.ts +11 -0
  122. package/build-types/components/form-field-visibility/index.d.ts.map +1 -0
  123. package/build-types/dataforms-layouts/data-form-layout.d.ts +16 -0
  124. package/build-types/dataforms-layouts/data-form-layout.d.ts.map +1 -0
  125. package/build-types/dataforms-layouts/index.d.ts +3 -3
  126. package/build-types/dataforms-layouts/index.d.ts.map +1 -1
  127. package/build-types/dataforms-layouts/is-combined-field.d.ts +6 -0
  128. package/build-types/dataforms-layouts/is-combined-field.d.ts.map +1 -0
  129. package/build-types/dataforms-layouts/panel/index.d.ts +5 -2
  130. package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -1
  131. package/build-types/dataforms-layouts/regular/index.d.ts +5 -2
  132. package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -1
  133. package/build-types/dataviews-layouts/grid/index.d.ts +1 -1
  134. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  135. package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts +3 -0
  136. package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts.map +1 -0
  137. package/build-types/dataviews-layouts/index.d.ts +5 -0
  138. package/build-types/dataviews-layouts/index.d.ts.map +1 -1
  139. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  140. package/build-types/dataviews-layouts/table/density-picker.d.ts +2 -0
  141. package/build-types/dataviews-layouts/table/density-picker.d.ts.map +1 -0
  142. package/build-types/dataviews-layouts/table/index.d.ts +1 -1
  143. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  144. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts +14 -0
  145. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts.map +1 -0
  146. package/build-types/lock-unlock.d.ts +1 -1
  147. package/build-types/lock-unlock.d.ts.map +1 -1
  148. package/build-types/normalize-fields.d.ts +1 -9
  149. package/build-types/normalize-fields.d.ts.map +1 -1
  150. package/build-types/normalize-form-fields.d.ts +12 -0
  151. package/build-types/normalize-form-fields.d.ts.map +1 -0
  152. package/build-types/types.d.ts +37 -22
  153. package/build-types/types.d.ts.map +1 -1
  154. package/build-types/validation.d.ts +10 -1
  155. package/build-types/validation.d.ts.map +1 -1
  156. package/package.json +10 -10
  157. package/src/components/dataform/index.tsx +22 -5
  158. package/src/components/dataform/stories/index.story.tsx +105 -50
  159. package/src/components/dataform-context/index.tsx +30 -0
  160. package/src/components/dataviews/index.tsx +12 -7
  161. package/src/components/dataviews/stories/fixtures.tsx +1 -0
  162. package/src/components/dataviews/stories/index.story.tsx +16 -3
  163. package/src/components/dataviews/style.scss +9 -3
  164. package/src/components/dataviews-context/index.ts +4 -2
  165. package/src/components/dataviews-filters/index.tsx +73 -38
  166. package/src/components/dataviews-item-actions/index.tsx +73 -25
  167. package/src/components/dataviews-layout/index.tsx +4 -2
  168. package/src/components/dataviews-view-config/index.tsx +7 -23
  169. package/src/components/form-field-visibility/index.tsx +32 -0
  170. package/src/dataforms-layouts/data-form-layout.tsx +87 -0
  171. package/src/dataforms-layouts/index.tsx +7 -7
  172. package/src/dataforms-layouts/is-combined-field.ts +10 -0
  173. package/src/dataforms-layouts/panel/index.tsx +190 -93
  174. package/src/dataforms-layouts/panel/style.scss +4 -0
  175. package/src/dataforms-layouts/regular/index.tsx +99 -29
  176. package/src/dataforms-layouts/regular/style.scss +30 -0
  177. package/src/dataviews-layouts/grid/index.tsx +34 -8
  178. package/src/dataviews-layouts/grid/{density-picker.tsx → preview-size-picker.tsx} +39 -26
  179. package/src/dataviews-layouts/grid/style.scss +8 -1
  180. package/src/dataviews-layouts/index.ts +4 -0
  181. package/src/dataviews-layouts/list/index.tsx +31 -27
  182. package/src/dataviews-layouts/table/density-picker.tsx +57 -0
  183. package/src/dataviews-layouts/table/index.tsx +46 -5
  184. package/src/dataviews-layouts/table/style.scss +32 -0
  185. package/src/dataviews-layouts/utils/get-clickable-item-props.ts +22 -0
  186. package/src/normalize-fields.ts +18 -35
  187. package/src/normalize-form-fields.ts +42 -0
  188. package/src/style.scss +1 -1
  189. package/src/test/normalize-fields.ts +45 -0
  190. package/src/types.ts +43 -21
  191. package/src/validation.ts +10 -1
  192. package/tsconfig.tsbuildinfo +1 -1
  193. package/build/components/dataform-combined-edit/index.js +0 -67
  194. package/build/components/dataform-combined-edit/index.js.map +0 -1
  195. package/build/dataforms-layouts/get-visible-fields.js +0 -21
  196. package/build/dataforms-layouts/get-visible-fields.js.map +0 -1
  197. package/build/dataviews-layouts/grid/density-picker.js.map +0 -1
  198. package/build-module/components/dataform-combined-edit/index.js +0 -60
  199. package/build-module/components/dataform-combined-edit/index.js.map +0 -1
  200. package/build-module/dataforms-layouts/get-visible-fields.js +0 -14
  201. package/build-module/dataforms-layouts/get-visible-fields.js.map +0 -1
  202. package/build-module/dataviews-layouts/grid/density-picker.js.map +0 -1
  203. package/build-types/components/dataform-combined-edit/index.d.ts +0 -7
  204. package/build-types/components/dataform-combined-edit/index.d.ts.map +0 -1
  205. package/build-types/dataforms-layouts/get-visible-fields.d.ts +0 -3
  206. package/build-types/dataforms-layouts/get-visible-fields.d.ts.map +0 -1
  207. package/build-types/dataviews-layouts/grid/density-picker.d.ts +0 -5
  208. package/build-types/dataviews-layouts/grid/density-picker.d.ts.map +0 -1
  209. package/src/components/dataform-combined-edit/index.tsx +0 -66
  210. package/src/components/dataform-combined-edit/style.scss +0 -12
  211. package/src/dataforms-layouts/get-visible-fields.ts +0 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-size-picker.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/grid/preview-size-picker.tsx"],"names":[],"mappings":"AA+CA,wBAAgB,qCAAqC,uBAkBpD;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,uCA+CxC"}
@@ -5,21 +5,26 @@ import ViewTable from './table';
5
5
  import ViewGrid from './grid';
6
6
  import ViewList from './list';
7
7
  import type { View, Field } from '../types';
8
+ import PreviewSizePicker from './grid/preview-size-picker';
9
+ import DensityPicker from './table/density-picker';
8
10
  export declare const VIEW_LAYOUTS: ({
9
11
  type: string;
10
12
  label: string;
11
13
  component: typeof ViewTable;
12
14
  icon: import("react").JSX.Element;
15
+ viewConfigOptions: typeof DensityPicker;
13
16
  } | {
14
17
  type: string;
15
18
  label: string;
16
19
  component: typeof ViewGrid;
17
20
  icon: import("react").JSX.Element;
21
+ viewConfigOptions: typeof PreviewSizePicker;
18
22
  } | {
19
23
  type: string;
20
24
  label: string;
21
25
  component: typeof ViewList;
22
26
  icon: import("react").JSX.Element;
27
+ viewConfigOptions?: undefined;
23
28
  })[];
24
29
  export declare function getNotHidableFieldIds(view: View): string[];
25
30
  export declare function getVisibleFieldIds(view: View, fields: Field<any>[]): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataviews-layouts/index.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,OAAO,SAAS,MAAM,SAAS,CAAC;AAChC,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAC9B,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAE9B,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;IAmBxB,CAAC;AAEF,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,IAAI,GAAI,MAAM,EAAE,CAwB5D;AAYD,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,GAAG,CAAE,EAAE,GACpB,MAAM,EAAE,CAoBV;AAED,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,GAAG,CAAE,EAAE,GACpB,MAAM,EAAE,CAqBV"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataviews-layouts/index.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,OAAO,SAAS,MAAM,SAAS,CAAC;AAChC,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAC9B,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAE9B,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;AAC3D,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;IAqBxB,CAAC;AAEF,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,IAAI,GAAI,MAAM,EAAE,CAwB5D;AAYD,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,GAAG,CAAE,EAAE,GACpB,MAAM,EAAE,CAoBV;AAED,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,GAAG,CAAE,EAAE,GACpB,MAAM,EAAE,CAqBV"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/list/index.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,aAAa,CAAC;AA+P1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,IAAI,EAAI,KAAK,EAAE,aAAa,CAAE,IAAI,CAAE,+BAyLrE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/list/index.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,aAAa,CAAC;AAmQ1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,IAAI,EAAI,KAAK,EAAE,aAAa,CAAE,IAAI,CAAE,+BAyLrE"}
@@ -0,0 +1,2 @@
1
+ export default function DensityPicker(): import("react").JSX.Element;
2
+ //# sourceMappingURL=density-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"density-picker.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/table/density-picker.tsx"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,UAAU,aAAa,gCAwCpC"}
@@ -1,4 +1,4 @@
1
1
  import type { ViewTableProps } from '../../types';
2
- declare function ViewTable<Item>({ actions, data, fields, getItemId, isLoading, onChangeView, onChangeSelection, selection, setOpenedFilter, view, }: ViewTableProps<Item>): import("react").JSX.Element | undefined;
2
+ declare function ViewTable<Item>({ actions, data, fields, getItemId, isLoading, onChangeView, onChangeSelection, selection, setOpenedFilter, onClickItem, isItemClickable, view, }: ViewTableProps<Item>): import("react").JSX.Element | undefined;
3
3
  export default ViewTable;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/table/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAIX,cAAc,EAEd,MAAM,aAAa,CAAC;AAmNrB,iBAAS,SAAS,CAAE,IAAI,EAAI,EAC3B,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,IAAI,GACJ,EAAE,cAAc,CAAE,IAAI,CAAE,2CA4JxB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/table/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAIX,cAAc,EAEd,MAAM,aAAa,CAAC;AAkPrB,iBAAS,SAAS,CAAE,IAAI,EAAI,EAC3B,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,WAAW,EACX,eAAe,EACf,IAAI,GACJ,EAAE,cAAc,CAAE,IAAI,CAAE,2CAoKxB;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ export default function getClickableItemProps<Item>(item: Item, isItemClickable: (item: Item) => boolean, onClickItem: (item: Item) => void, className: string): {
2
+ className: string;
3
+ role?: undefined;
4
+ tabIndex?: undefined;
5
+ onClick?: undefined;
6
+ onKeyDown?: undefined;
7
+ } | {
8
+ className: string;
9
+ role: string;
10
+ tabIndex: number;
11
+ onClick: () => void;
12
+ onKeyDown: (event: React.KeyboardEvent) => void;
13
+ };
14
+ //# sourceMappingURL=get-clickable-item-props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-clickable-item-props.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/utils/get-clickable-item-props.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAE,IAAI,EAClD,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,OAAO,EAC1C,WAAW,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,EACnC,SAAS,EAAE,MAAM;;;;;;;;;;;uBAWI,KAAK,CAAC,aAAa;EAMxC"}
@@ -1,2 +1,2 @@
1
- export declare const lock: (object: any, privateData: any) => void, unlock: (object: any) => any;
1
+ export declare const lock: (object: Record<symbol, WeakKey>, privateData: unknown) => void, unlock: (object: Record<symbol, WeakKey>) => any;
2
2
  //# sourceMappingURL=lock-unlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock-unlock.d.ts","sourceRoot":"","sources":["../src/lock-unlock.ts"],"names":[],"mappings":"AAKA,eAAO,MAAQ,IAAI,2CAAE,MAAM,sBAIzB,CAAC"}
1
+ {"version":3,"file":"lock-unlock.d.ts","sourceRoot":"","sources":["../src/lock-unlock.ts"],"names":[],"mappings":"AAKA,eAAO,MAAQ,IAAI,mEAAE,MAAM,0CAIzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CombinedFormField, Field, NormalizedField, NormalizedCombinedFormField } from './types';
1
+ import type { Field, NormalizedField } from './types';
2
2
  /**
3
3
  * Apply default values and normalize the fields config.
4
4
  *
@@ -6,12 +6,4 @@ import type { CombinedFormField, Field, NormalizedField, NormalizedCombinedFormF
6
6
  * @return Normalized fields config.
7
7
  */
8
8
  export declare function normalizeFields<Item>(fields: Field<Item>[]): NormalizedField<Item>[];
9
- /**
10
- * Apply default values and normalize the fields config.
11
- *
12
- * @param combinedFields combined field list.
13
- * @param fields Fields config.
14
- * @return Normalized fields config.
15
- */
16
- export declare function normalizeCombinedFields<Item>(combinedFields: CombinedFormField<Item>[], fields: Field<Item>[]): NormalizedCombinedFormField<Item>[];
17
9
  //# sourceMappingURL=normalize-fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-fields.d.ts","sourceRoot":"","sources":["../src/normalize-fields.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,iBAAiB,EACjB,KAAK,EACL,eAAe,EACf,2BAA2B,EAC3B,MAAM,SAAS,CAAC;AAIjB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAE,IAAI,EACpC,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,GACrB,eAAe,CAAE,IAAI,CAAE,EAAE,CAoD3B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAE,IAAI,EAC5C,cAAc,EAAE,iBAAiB,CAAE,IAAI,CAAE,EAAE,EAC3C,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,GACrB,2BAA2B,CAAE,IAAI,CAAE,EAAE,CAcvC"}
1
+ {"version":3,"file":"normalize-fields.d.ts","sourceRoot":"","sources":["../src/normalize-fields.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmBtD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAE,IAAI,EACpC,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,GACrB,eAAe,CAAE,IAAI,CAAE,EAAE,CAmD3B"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import type { Form } from './types';
5
+ interface NormalizedFormField {
6
+ id: string;
7
+ layout: 'regular' | 'panel';
8
+ labelPosition: 'side' | 'top' | 'none';
9
+ }
10
+ export default function normalizeFormFields(form: Form): NormalizedFormField[];
11
+ export {};
12
+ //# sourceMappingURL=normalize-form-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-form-fields.d.ts","sourceRoot":"","sources":["../src/normalize-form-fields.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,UAAU,mBAAmB;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAC1C,IAAI,EAAE,IAAI,GACR,mBAAmB,EAAE,CA4BvB"}
@@ -95,6 +95,10 @@ export type Field<Item> = {
95
95
  * Callback used to validate the field.
96
96
  */
97
97
  isValid?: (item: Item, context?: ValidationContext) => boolean;
98
+ /**
99
+ * Callback used to decide if a field should be displayed.
100
+ */
101
+ isVisible?: (item: Item) => boolean;
98
102
  /**
99
103
  * Whether the field is sortable.
100
104
  */
@@ -263,6 +267,7 @@ export interface ColumnStyle {
263
267
  */
264
268
  minWidth?: string | number;
265
269
  }
270
+ export type Density = 'compact' | 'balanced' | 'comfortable';
266
271
  export interface ViewTable extends ViewBase {
267
272
  type: 'table';
268
273
  layout?: {
@@ -278,6 +283,10 @@ export interface ViewTable extends ViewBase {
278
283
  * The styles for the columns.
279
284
  */
280
285
  styles?: Record<string, ColumnStyle>;
286
+ /**
287
+ * The density of the view.
288
+ */
289
+ density?: Density;
281
290
  };
282
291
  }
283
292
  export interface ViewList extends ViewBase {
@@ -312,6 +321,10 @@ export interface ViewGrid extends ViewBase {
312
321
  * The fields to use as badge fields.
313
322
  */
314
323
  badgeFields?: string[];
324
+ /**
325
+ * The preview size of the grid.
326
+ */
327
+ previewSize?: number;
315
328
  };
316
329
  }
317
330
  export type View = ViewList | ViewGrid | ViewTable;
@@ -397,8 +410,9 @@ export interface ViewBaseProps<Item> {
397
410
  onChangeSelection: SetSelection;
398
411
  selection: string[];
399
412
  setOpenedFilter: (fieldId: string) => void;
413
+ onClickItem: (item: Item) => void;
414
+ isItemClickable: (item: Item) => boolean;
400
415
  view: View;
401
- density: number;
402
416
  }
403
417
  export interface ViewTableProps<Item> extends ViewBaseProps<Item> {
404
418
  view: ViewTable;
@@ -415,37 +429,38 @@ export interface SupportedLayouts {
415
429
  grid?: Omit<ViewGrid, 'type'>;
416
430
  table?: Omit<ViewTable, 'type'>;
417
431
  }
418
- export interface CombinedFormField<Item> extends CombinedField {
419
- render?: ComponentType<{
420
- item: Item;
421
- }>;
422
- }
423
- export interface DataFormCombinedEditProps<Item> {
424
- field: NormalizedCombinedFormField<Item>;
425
- data: Item;
426
- onChange: (value: Record<string, any>) => void;
427
- hideLabelFromVision?: boolean;
428
- }
429
- export type NormalizedCombinedFormField<Item> = CombinedFormField<Item> & {
430
- fields: NormalizedField<Item>[];
431
- Edit?: ComponentType<DataFormCombinedEditProps<Item>>;
432
+ export type SimpleFormField = {
433
+ id: string;
434
+ layout?: 'regular' | 'panel';
435
+ labelPosition?: 'side' | 'top' | 'none';
436
+ };
437
+ export type CombinedFormField = {
438
+ id: string;
439
+ label?: string;
440
+ layout?: 'regular' | 'panel';
441
+ labelPosition?: 'side' | 'top' | 'none';
442
+ children: Array<FormField | string>;
432
443
  };
444
+ export type FormField = SimpleFormField | CombinedFormField;
433
445
  /**
434
446
  * The form configuration.
435
447
  */
436
- export type Form<Item> = {
448
+ export type Form = {
437
449
  type?: 'regular' | 'panel';
438
- fields?: string[];
439
- /**
440
- * The fields to combine.
441
- */
442
- combinedFields?: CombinedFormField<Item>[];
450
+ fields?: Array<FormField | string>;
451
+ labelPosition?: 'side' | 'top' | 'none';
443
452
  };
444
453
  export interface DataFormProps<Item> {
445
454
  data: Item;
446
455
  fields: Field<Item>[];
447
- form: Form<Item>;
456
+ form: Form;
448
457
  onChange: (value: Record<string, any>) => void;
449
458
  }
459
+ export interface FieldLayoutProps<Item> {
460
+ data: Item;
461
+ field: FormField;
462
+ onChange: (value: any) => void;
463
+ hideLabelFromVision?: boolean;
464
+ }
450
465
  export {};
451
466
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,12 @@
1
1
  import type { Field, Form } from './types';
2
- export declare function isItemValid<Item>(item: Item, fields: Field<Item>[], form: Form<Item>): boolean;
2
+ /**
3
+ * Whether or not the given item's value is valid according to the fields and form config.
4
+ *
5
+ * @param item The item to validate.
6
+ * @param fields Fields config.
7
+ * @param form Form config.
8
+ *
9
+ * @return A boolean indicating if the item is valid (true) or not (false).
10
+ */
11
+ export declare function isItemValid<Item>(item: Item, fields: Field<Item>[], form: Form): boolean;
3
12
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,WAAW,CAAE,IAAI,EAChC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,EACvB,IAAI,EAAE,IAAI,CAAE,IAAI,CAAE,GAChB,OAAO,CAOT"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAE,IAAI,EAChC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,EACvB,IAAI,EAAE,IAAI,GACR,OAAO,CAOT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/dataviews",
3
- "version": "4.7.0",
3
+ "version": "4.8.2-next.082ed6819.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",
@@ -25,20 +25,21 @@
25
25
  "main": "build/index.js",
26
26
  "module": "build-module/index.js",
27
27
  "react-native": "src/index",
28
+ "wpScript": true,
28
29
  "types": "build-types",
29
30
  "sideEffects": false,
30
31
  "dependencies": {
31
32
  "@ariakit/react": "^0.4.10",
32
33
  "@babel/runtime": "7.25.7",
33
34
  "@wordpress/components": "*",
34
- "@wordpress/compose": "*",
35
+ "@wordpress/compose": "^7.12.1-next.082ed6819.0",
35
36
  "@wordpress/data": "*",
36
- "@wordpress/element": "*",
37
- "@wordpress/i18n": "*",
38
- "@wordpress/icons": "*",
39
- "@wordpress/primitives": "*",
40
- "@wordpress/private-apis": "*",
41
- "@wordpress/warning": "*",
37
+ "@wordpress/element": "^6.12.1-next.082ed6819.0",
38
+ "@wordpress/i18n": "^5.12.1-next.082ed6819.0",
39
+ "@wordpress/icons": "^10.12.1-next.082ed6819.0",
40
+ "@wordpress/primitives": "^4.12.1-next.082ed6819.0",
41
+ "@wordpress/private-apis": "^1.12.1-next.082ed6819.0",
42
+ "@wordpress/warning": "^3.12.1-next.082ed6819.0",
42
43
  "clsx": "^2.1.1",
43
44
  "remove-accents": "^0.5.0"
44
45
  },
@@ -48,6 +49,5 @@
48
49
  "publishConfig": {
49
50
  "access": "public"
50
51
  },
51
- "wpScript": true,
52
- "gitHead": "dcf4613b33b0eda14e203ac30f700ed0db70347f"
52
+ "gitHead": "2bb7bad15ddb8e88210fab7d4a1ef1565466e424"
53
53
  }
@@ -1,17 +1,34 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useMemo } from '@wordpress/element';
5
+
1
6
  /**
2
7
  * Internal dependencies
3
8
  */
4
9
  import type { DataFormProps } from '../../types';
5
- import { getFormLayout } from '../../dataforms-layouts';
10
+ import { DataFormProvider } from '../dataform-context';
11
+ import { normalizeFields } from '../../normalize-fields';
12
+ import { DataFormLayout } from '../../dataforms-layouts/data-form-layout';
6
13
 
7
14
  export default function DataForm< Item >( {
15
+ data,
8
16
  form,
9
- ...props
17
+ fields,
18
+ onChange,
10
19
  }: DataFormProps< Item > ) {
11
- const layout = getFormLayout( form.type ?? 'regular' );
12
- if ( ! layout ) {
20
+ const normalizedFields = useMemo(
21
+ () => normalizeFields( fields ),
22
+ [ fields ]
23
+ );
24
+
25
+ if ( ! form.fields ) {
13
26
  return null;
14
27
  }
15
28
 
16
- return <layout.component form={ form } { ...props } />;
29
+ return (
30
+ <DataFormProvider fields={ normalizedFields }>
31
+ <DataFormLayout data={ data } form={ form } onChange={ onChange } />
32
+ </DataFormProvider>
33
+ );
17
34
  }
@@ -1,13 +1,25 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useState } from '@wordpress/element';
4
+ import { useMemo, useState } from '@wordpress/element';
5
+ import { ToggleControl } from '@wordpress/components';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
10
  import DataForm from '../index';
10
- import type { CombinedFormField } from '../../../types';
11
+ import type { Field, Form } from '../../../types';
12
+
13
+ type SamplePost = {
14
+ title: string;
15
+ order: number;
16
+ author: number;
17
+ status: string;
18
+ reviewer: string;
19
+ date: string;
20
+ birthdate: string;
21
+ password?: string;
22
+ };
11
23
 
12
24
  const meta = {
13
25
  title: 'DataViews/DataForm',
@@ -16,8 +28,13 @@ const meta = {
16
28
  type: {
17
29
  control: { type: 'select' },
18
30
  description:
19
- 'Chooses the layout of the form. "regular" is the default layout.',
20
- options: [ 'regular', 'panel' ],
31
+ 'Chooses the default layout of each field. "regular" is the default layout.',
32
+ options: [ 'default', 'regular', 'panel' ],
33
+ },
34
+ labelPosition: {
35
+ control: { type: 'select' },
36
+ description: 'Chooses the label position of the layout.',
37
+ options: [ 'default', 'top', 'side', 'none' ],
21
38
  },
22
39
  },
23
40
  };
@@ -75,16 +92,44 @@ const fields = [
75
92
  elements: [
76
93
  { value: 'draft', label: 'Draft' },
77
94
  { value: 'published', label: 'Published' },
95
+ { value: 'private', label: 'Private' },
78
96
  ],
79
97
  },
80
98
  {
81
99
  id: 'password',
82
100
  label: 'Password',
83
101
  type: 'text' as const,
102
+ isVisible: ( item: SamplePost ) => {
103
+ return item.status !== 'private';
104
+ },
84
105
  },
85
- ];
106
+ {
107
+ id: 'sticky',
108
+ label: 'Sticky',
109
+ type: 'integer',
110
+ Edit: ( { field, onChange, data, hideLabelFromVision } ) => {
111
+ const { id, getValue } = field;
112
+ return (
113
+ <ToggleControl
114
+ __nextHasNoMarginBottom
115
+ label={ hideLabelFromVision ? '' : field.label }
116
+ checked={ getValue( { item: data } ) }
117
+ onChange={ () =>
118
+ onChange( { [ id ]: ! getValue( { item: data } ) } )
119
+ }
120
+ />
121
+ );
122
+ },
123
+ },
124
+ ] as Field< SamplePost >[];
86
125
 
87
- export const Default = ( { type }: { type: 'panel' | 'regular' } ) => {
126
+ export const Default = ( {
127
+ type,
128
+ labelPosition,
129
+ }: {
130
+ type: 'default' | 'regular' | 'panel';
131
+ labelPosition: 'default' | 'top' | 'side' | 'none';
132
+ } ) => {
88
133
  const [ post, setPost ] = useState( {
89
134
  title: 'Hello, World!',
90
135
  order: 2,
@@ -93,28 +138,36 @@ export const Default = ( { type }: { type: 'panel' | 'regular' } ) => {
93
138
  reviewer: 'fulano',
94
139
  date: '2021-01-01T12:00:00',
95
140
  birthdate: '1950-02-23T12:00:00',
141
+ sticky: false,
96
142
  } );
97
143
 
98
- const form = {
99
- fields: [
100
- 'title',
101
- 'order',
102
- 'author',
103
- 'reviewer',
104
- 'status',
105
- 'date',
106
- 'birthdate',
107
- ],
108
- };
144
+ const form = useMemo(
145
+ () => ( {
146
+ type,
147
+ labelPosition,
148
+ fields: [
149
+ 'title',
150
+ 'order',
151
+ {
152
+ id: 'sticky',
153
+ layout: 'regular',
154
+ labelPosition: 'side',
155
+ },
156
+ 'author',
157
+ 'reviewer',
158
+ 'password',
159
+ 'date',
160
+ 'birthdate',
161
+ ],
162
+ } ),
163
+ [ type, labelPosition ]
164
+ ) as Form;
109
165
 
110
166
  return (
111
- <DataForm
167
+ <DataForm< SamplePost >
112
168
  data={ post }
113
169
  fields={ fields }
114
- form={ {
115
- ...form,
116
- type,
117
- } }
170
+ form={ form }
118
171
  onChange={ ( edits ) =>
119
172
  setPost( ( prev ) => ( {
120
173
  ...prev,
@@ -126,40 +179,45 @@ export const Default = ( { type }: { type: 'panel' | 'regular' } ) => {
126
179
  };
127
180
 
128
181
  const CombinedFieldsComponent = ( {
129
- type = 'regular',
130
- combinedFieldDirection = 'vertical',
182
+ type,
183
+ labelPosition,
131
184
  }: {
132
- type: 'panel' | 'regular';
133
- combinedFieldDirection: 'vertical' | 'horizontal';
185
+ type: 'default' | 'regular' | 'panel';
186
+ labelPosition: 'default' | 'top' | 'side' | 'none';
134
187
  } ) => {
135
- const [ post, setPost ] = useState( {
188
+ const [ post, setPost ] = useState< SamplePost >( {
136
189
  title: 'Hello, World!',
137
190
  order: 2,
138
191
  author: 1,
139
192
  status: 'draft',
193
+ reviewer: 'fulano',
194
+ date: '2021-01-01T12:00:00',
195
+ birthdate: '1950-02-23T12:00:00',
140
196
  } );
141
197
 
142
- const form = {
143
- fields: [ 'title', 'status_and_visibility', 'order', 'author' ],
144
- combinedFields: [
145
- {
146
- id: 'status_and_visibility',
147
- label: 'Status & Visibility',
148
- children: [ 'status', 'password' ],
149
- direction: combinedFieldDirection,
150
- render: ( { item } ) => item.status,
151
- },
152
- ] as CombinedFormField< any >[],
153
- };
198
+ const form = useMemo(
199
+ () => ( {
200
+ type,
201
+ labelPosition,
202
+ fields: [
203
+ 'title',
204
+ {
205
+ id: 'status',
206
+ label: 'Status & Visibility',
207
+ children: [ 'status', 'password' ],
208
+ },
209
+ 'order',
210
+ 'author',
211
+ ],
212
+ } ),
213
+ [ type, labelPosition ]
214
+ ) as Form;
154
215
 
155
216
  return (
156
- <DataForm
217
+ <DataForm< SamplePost >
157
218
  data={ post }
158
219
  fields={ fields }
159
- form={ {
160
- ...form,
161
- type,
162
- } }
220
+ form={ form }
163
221
  onChange={ ( edits ) =>
164
222
  setPost( ( prev ) => ( {
165
223
  ...prev,
@@ -175,11 +233,8 @@ export const CombinedFields = {
175
233
  render: CombinedFieldsComponent,
176
234
  argTypes: {
177
235
  ...meta.argTypes,
178
- combinedFieldDirection: {
179
- control: { type: 'select' },
180
- description:
181
- 'Chooses the direction of the combined field. "vertical" is the default layout.',
182
- options: [ 'vertical', 'horizontal' ],
183
- },
236
+ },
237
+ args: {
238
+ type: 'panel',
184
239
  },
185
240
  };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { createContext } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import type { NormalizedField } from '../../types';
10
+
11
+ type DataFormContextType< Item > = {
12
+ fields: NormalizedField< Item >[];
13
+ };
14
+
15
+ const DataFormContext = createContext< DataFormContextType< any > >( {
16
+ fields: [],
17
+ } );
18
+
19
+ export function DataFormProvider< Item >( {
20
+ fields,
21
+ children,
22
+ }: React.PropsWithChildren< { fields: NormalizedField< Item >[] } > ) {
23
+ return (
24
+ <DataFormContext.Provider value={ { fields } }>
25
+ { children }
26
+ </DataFormContext.Provider>
27
+ );
28
+ }
29
+
30
+ export default DataFormContext;