@wordpress/dataviews 5.0.0 → 6.0.1-next.46f643fa0.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 (212) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/README.md +45 -23
  3. package/build/components/dataviews/index.js +2 -1
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-context/index.js +1 -0
  6. package/build/components/dataviews-context/index.js.map +1 -1
  7. package/build/components/dataviews-filters/filter.js +2 -2
  8. package/build/components/dataviews-filters/filter.js.map +1 -1
  9. package/build/components/dataviews-filters/input-widget.js +7 -1
  10. package/build/components/dataviews-filters/input-widget.js.map +1 -1
  11. package/build/dataform-controls/boolean.js +15 -1
  12. package/build/dataform-controls/boolean.js.map +1 -1
  13. package/build/dataform-controls/date.js +385 -0
  14. package/build/dataform-controls/date.js.map +1 -0
  15. package/build/dataform-controls/datetime.js +5 -84
  16. package/build/dataform-controls/datetime.js.map +1 -1
  17. package/build/dataform-controls/email.js +15 -1
  18. package/build/dataform-controls/email.js.map +1 -1
  19. package/build/dataform-controls/index.js +2 -0
  20. package/build/dataform-controls/index.js.map +1 -1
  21. package/build/dataform-controls/integer.js +23 -4
  22. package/build/dataform-controls/integer.js.map +1 -1
  23. package/build/dataform-controls/relative-date-control.js +109 -0
  24. package/build/dataform-controls/relative-date-control.js.map +1 -0
  25. package/build/dataform-controls/text.js +15 -1
  26. package/build/dataform-controls/text.js.map +1 -1
  27. package/build/dataviews-layouts/grid/index.js +37 -21
  28. package/build/dataviews-layouts/grid/index.js.map +1 -1
  29. package/build/dataviews-layouts/grid/preview-size-picker.js +39 -85
  30. package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  31. package/build/dataviews-layouts/list/index.js +4 -1
  32. package/build/dataviews-layouts/list/index.js.map +1 -1
  33. package/build/dataviews-layouts/table/column-primary.js +4 -1
  34. package/build/dataviews-layouts/table/column-primary.js.map +1 -1
  35. package/build/dataviews-layouts/table/index.js +9 -2
  36. package/build/dataviews-layouts/table/index.js.map +1 -1
  37. package/build/field-types/array.js +27 -18
  38. package/build/field-types/array.js.map +1 -1
  39. package/build/field-types/boolean.js +11 -7
  40. package/build/field-types/boolean.js.map +1 -1
  41. package/build/field-types/date.js +21 -12
  42. package/build/field-types/date.js.map +1 -1
  43. package/build/field-types/datetime.js +19 -10
  44. package/build/field-types/datetime.js.map +1 -1
  45. package/build/field-types/email.js +22 -18
  46. package/build/field-types/email.js.map +1 -1
  47. package/build/field-types/index.js +16 -6
  48. package/build/field-types/index.js.map +1 -1
  49. package/build/field-types/integer.js +22 -17
  50. package/build/field-types/integer.js.map +1 -1
  51. package/build/field-types/media.js +19 -10
  52. package/build/field-types/media.js.map +1 -1
  53. package/build/field-types/text.js +19 -10
  54. package/build/field-types/text.js.map +1 -1
  55. package/build/filter-and-sort-data-view.js +6 -4
  56. package/build/filter-and-sort-data-view.js.map +1 -1
  57. package/build/normalize-fields.js +4 -5
  58. package/build/normalize-fields.js.map +1 -1
  59. package/build/types.js.map +1 -1
  60. package/build/validation.js +15 -2
  61. package/build/validation.js.map +1 -1
  62. package/build-module/components/dataviews/index.js +3 -2
  63. package/build-module/components/dataviews/index.js.map +1 -1
  64. package/build-module/components/dataviews-context/index.js +1 -0
  65. package/build-module/components/dataviews-context/index.js.map +1 -1
  66. package/build-module/components/dataviews-filters/filter.js +2 -2
  67. package/build-module/components/dataviews-filters/filter.js.map +1 -1
  68. package/build-module/components/dataviews-filters/input-widget.js +7 -1
  69. package/build-module/components/dataviews-filters/input-widget.js.map +1 -1
  70. package/build-module/dataform-controls/boolean.js +17 -2
  71. package/build-module/dataform-controls/boolean.js.map +1 -1
  72. package/build-module/dataform-controls/date.js +376 -0
  73. package/build-module/dataform-controls/date.js.map +1 -0
  74. package/build-module/dataform-controls/datetime.js +3 -84
  75. package/build-module/dataform-controls/datetime.js.map +1 -1
  76. package/build-module/dataform-controls/email.js +17 -2
  77. package/build-module/dataform-controls/email.js.map +1 -1
  78. package/build-module/dataform-controls/index.js +2 -0
  79. package/build-module/dataform-controls/index.js.map +1 -1
  80. package/build-module/dataform-controls/integer.js +24 -5
  81. package/build-module/dataform-controls/integer.js.map +1 -1
  82. package/build-module/dataform-controls/relative-date-control.js +100 -0
  83. package/build-module/dataform-controls/relative-date-control.js.map +1 -0
  84. package/build-module/dataform-controls/text.js +17 -2
  85. package/build-module/dataform-controls/text.js.map +1 -1
  86. package/build-module/dataviews-layouts/grid/index.js +38 -22
  87. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  88. package/build-module/dataviews-layouts/grid/preview-size-picker.js +40 -85
  89. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  90. package/build-module/dataviews-layouts/list/index.js +4 -1
  91. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  92. package/build-module/dataviews-layouts/table/column-primary.js +4 -1
  93. package/build-module/dataviews-layouts/table/column-primary.js.map +1 -1
  94. package/build-module/dataviews-layouts/table/index.js +9 -2
  95. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  96. package/build-module/field-types/array.js +27 -18
  97. package/build-module/field-types/array.js.map +1 -1
  98. package/build-module/field-types/boolean.js +11 -7
  99. package/build-module/field-types/boolean.js.map +1 -1
  100. package/build-module/field-types/date.js +21 -12
  101. package/build-module/field-types/date.js.map +1 -1
  102. package/build-module/field-types/datetime.js +19 -10
  103. package/build-module/field-types/datetime.js.map +1 -1
  104. package/build-module/field-types/email.js +22 -18
  105. package/build-module/field-types/email.js.map +1 -1
  106. package/build-module/field-types/index.js +16 -6
  107. package/build-module/field-types/index.js.map +1 -1
  108. package/build-module/field-types/integer.js +22 -17
  109. package/build-module/field-types/integer.js.map +1 -1
  110. package/build-module/field-types/media.js +19 -10
  111. package/build-module/field-types/media.js.map +1 -1
  112. package/build-module/field-types/text.js +19 -10
  113. package/build-module/field-types/text.js.map +1 -1
  114. package/build-module/filter-and-sort-data-view.js +6 -4
  115. package/build-module/filter-and-sort-data-view.js.map +1 -1
  116. package/build-module/normalize-fields.js +4 -5
  117. package/build-module/normalize-fields.js.map +1 -1
  118. package/build-module/types.js.map +1 -1
  119. package/build-module/validation.js +15 -2
  120. package/build-module/validation.js.map +1 -1
  121. package/build-style/style-rtl.css +53 -39
  122. package/build-style/style.css +53 -39
  123. package/build-types/components/dataform/stories/index.story.d.ts +21 -0
  124. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  125. package/build-types/components/dataviews/index.d.ts.map +1 -1
  126. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  127. package/build-types/components/dataviews-context/index.d.ts +1 -0
  128. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  129. package/build-types/components/dataviews-filters/input-widget.d.ts.map +1 -1
  130. package/build-types/constants.d.ts +2 -2
  131. package/build-types/dataform-controls/boolean.d.ts.map +1 -1
  132. package/build-types/dataform-controls/date.d.ts +3 -0
  133. package/build-types/dataform-controls/date.d.ts.map +1 -0
  134. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  135. package/build-types/dataform-controls/email.d.ts.map +1 -1
  136. package/build-types/dataform-controls/index.d.ts.map +1 -1
  137. package/build-types/dataform-controls/integer.d.ts.map +1 -1
  138. package/build-types/dataform-controls/relative-date-control.d.ts +46 -0
  139. package/build-types/dataform-controls/relative-date-control.d.ts.map +1 -0
  140. package/build-types/dataform-controls/text.d.ts.map +1 -1
  141. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  142. package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts +0 -1
  143. package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts.map +1 -1
  144. package/build-types/dataviews-layouts/index.d.ts +3 -3
  145. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  146. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -1
  147. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  148. package/build-types/field-types/array.d.ts.map +1 -1
  149. package/build-types/field-types/boolean.d.ts +5 -4
  150. package/build-types/field-types/boolean.d.ts.map +1 -1
  151. package/build-types/field-types/date.d.ts +9 -5
  152. package/build-types/field-types/date.d.ts.map +1 -1
  153. package/build-types/field-types/datetime.d.ts +4 -3
  154. package/build-types/field-types/datetime.d.ts.map +1 -1
  155. package/build-types/field-types/email.d.ts +4 -3
  156. package/build-types/field-types/email.d.ts.map +1 -1
  157. package/build-types/field-types/index.d.ts.map +1 -1
  158. package/build-types/field-types/integer.d.ts +4 -3
  159. package/build-types/field-types/integer.d.ts.map +1 -1
  160. package/build-types/field-types/media.d.ts +4 -3
  161. package/build-types/field-types/media.d.ts.map +1 -1
  162. package/build-types/field-types/text.d.ts +4 -3
  163. package/build-types/field-types/text.d.ts.map +1 -1
  164. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  165. package/build-types/normalize-fields.d.ts.map +1 -1
  166. package/build-types/types.d.ts +10 -6
  167. package/build-types/types.d.ts.map +1 -1
  168. package/build-types/validation.d.ts.map +1 -1
  169. package/build-wp/index.js +1373 -600
  170. package/package.json +15 -14
  171. package/src/components/dataform/stories/index.story.tsx +228 -2
  172. package/src/components/dataviews/index.tsx +3 -5
  173. package/src/components/dataviews/stories/fixtures.tsx +1 -0
  174. package/src/components/dataviews-context/index.ts +4 -0
  175. package/src/components/dataviews-filters/filter.tsx +2 -2
  176. package/src/components/dataviews-filters/input-widget.tsx +7 -1
  177. package/src/components/dataviews-filters/style.scss +3 -1
  178. package/src/dataform-controls/boolean.tsx +19 -2
  179. package/src/dataform-controls/date.tsx +499 -0
  180. package/src/dataform-controls/datetime.tsx +5 -91
  181. package/src/dataform-controls/email.tsx +19 -2
  182. package/src/dataform-controls/index.tsx +2 -0
  183. package/src/dataform-controls/integer.tsx +30 -4
  184. package/src/dataform-controls/relative-date-control.tsx +106 -0
  185. package/src/dataform-controls/style.scss +19 -2
  186. package/src/dataform-controls/text.tsx +19 -2
  187. package/src/dataviews-layouts/grid/index.tsx +44 -23
  188. package/src/dataviews-layouts/grid/preview-size-picker.tsx +48 -73
  189. package/src/dataviews-layouts/grid/style.scss +13 -26
  190. package/src/dataviews-layouts/list/index.tsx +5 -1
  191. package/src/dataviews-layouts/list/style.scss +3 -3
  192. package/src/dataviews-layouts/table/column-primary.tsx +5 -1
  193. package/src/dataviews-layouts/table/index.tsx +22 -6
  194. package/src/dataviews-layouts/table/style.scss +22 -0
  195. package/src/field-types/array.tsx +33 -21
  196. package/src/field-types/boolean.tsx +15 -9
  197. package/src/field-types/date.ts +51 -15
  198. package/src/field-types/datetime.tsx +19 -13
  199. package/src/field-types/email.tsx +26 -21
  200. package/src/field-types/index.tsx +18 -8
  201. package/src/field-types/integer.tsx +26 -22
  202. package/src/field-types/media.tsx +19 -13
  203. package/src/field-types/text.tsx +19 -13
  204. package/src/filter-and-sort-data-view.ts +11 -4
  205. package/src/normalize-fields.ts +4 -8
  206. package/src/test/dataviews.tsx +129 -0
  207. package/src/test/filter-and-sort-data-view.js +48 -0
  208. package/src/test/validation.ts +4 -15
  209. package/src/types.ts +11 -7
  210. package/src/validation.ts +30 -1
  211. package/tsconfig.json +1 -0
  212. package/tsconfig.tsbuildinfo +1 -1
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = PreviewSizePicker;
8
- exports.useUpdatedPreviewSizeOnViewportChange = useUpdatedPreviewSizeOnViewportChange;
9
8
  var _components = require("@wordpress/components");
10
9
  var _i18n = require("@wordpress/i18n");
11
10
  var _element = require("@wordpress/element");
@@ -19,109 +18,64 @@ var _jsxRuntime = require("react/jsx-runtime");
19
18
  * Internal dependencies
20
19
  */
21
20
 
22
- const viewportBreaks = {
23
- xhuge: {
24
- min: 3,
25
- max: 6,
26
- default: 5
27
- },
28
- huge: {
29
- min: 2,
30
- max: 4,
31
- default: 4
32
- },
33
- xlarge: {
34
- min: 2,
35
- max: 3,
36
- default: 3
37
- },
38
- large: {
39
- min: 1,
40
- max: 2,
41
- default: 2
42
- },
43
- mobile: {
44
- min: 1,
45
- max: 2,
46
- default: 2
47
- }
48
- };
49
-
50
- /**
51
- * Breakpoints were adjusted from media queries breakpoints to account for
52
- * the sidebar width. This was done to match the existing styles we had.
53
- */
54
- const BREAKPOINTS = {
55
- xhuge: 1520,
56
- huge: 1140,
57
- xlarge: 780,
58
- large: 480,
59
- mobile: 0
60
- };
61
- function useViewPortBreakpoint() {
62
- const containerWidth = (0, _element.useContext)(_dataviewsContext.default).containerWidth;
63
- for (const [key, value] of Object.entries(BREAKPOINTS)) {
64
- if (containerWidth >= value) {
65
- return key;
66
- }
67
- }
68
- return 'mobile';
69
- }
70
- function useUpdatedPreviewSizeOnViewportChange() {
71
- const view = (0, _element.useContext)(_dataviewsContext.default).view;
72
- const viewport = useViewPortBreakpoint();
73
- return (0, _element.useMemo)(() => {
74
- const previewSize = view.layout?.previewSize;
75
- let newPreviewSize;
76
- if (!previewSize) {
77
- return;
78
- }
79
- const breakValues = viewportBreaks[viewport];
80
- if (previewSize < breakValues.min) {
81
- newPreviewSize = breakValues.min;
82
- }
83
- if (previewSize > breakValues.max) {
84
- newPreviewSize = breakValues.max;
85
- }
86
- return newPreviewSize;
87
- }, [viewport, view]);
88
- }
21
+ const imageSizes = [{
22
+ value: 230,
23
+ breakpoint: 1
24
+ }, {
25
+ value: 290,
26
+ breakpoint: 1112 // at minimum image width, 4 images display at this container size
27
+ }, {
28
+ value: 350,
29
+ breakpoint: 1636 // at minimum image width, 6 images display at this container size
30
+ }, {
31
+ value: 430,
32
+ breakpoint: 588 // at minimum image width, 2 images display at this container size
33
+ }];
89
34
  function PreviewSizePicker() {
90
- const viewport = useViewPortBreakpoint();
91
35
  const context = (0, _element.useContext)(_dataviewsContext.default);
92
36
  const view = context.view;
93
- const breakValues = viewportBreaks[viewport];
94
- const previewSizeToUse = view.layout?.previewSize || breakValues.default;
95
- const marks = (0, _element.useMemo)(() => Array.from({
96
- length: breakValues.max - breakValues.min + 1
97
- }, (_, i) => {
98
- return {
99
- value: breakValues.min + i
100
- };
101
- }), [breakValues]);
102
- if (viewport === 'mobile') {
37
+ if (context.containerWidth < 588) {
103
38
  return null;
104
39
  }
40
+ const breakValues = imageSizes.filter(size => {
41
+ return context.containerWidth >= size.breakpoint;
42
+ });
43
+
44
+ // If the container has resized and the set preview size is no longer available,
45
+ // we reset it to the next smallest size.
46
+ const previewSizeToUse = view.layout?.previewSize ? breakValues.map((size, index) => ({
47
+ ...size,
48
+ index
49
+ })).filter(size => {
50
+ var _view$layout$previewS;
51
+ return size.value <= ((_view$layout$previewS = view.layout?.previewSize) !== null && _view$layout$previewS !== void 0 ? _view$layout$previewS : 0);
52
+ } // We know the view.layout?.previewSize exists at this point but the linter doesn't seem to.
53
+ ).sort((a, b) => b.value - a.value)[0].index : 0;
54
+ const marks = breakValues.map((size, index) => {
55
+ return {
56
+ value: index
57
+ };
58
+ });
105
59
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
106
60
  __nextHasNoMarginBottom: true,
107
61
  __next40pxDefaultSize: true,
108
62
  showTooltip: false,
109
63
  label: (0, _i18n.__)('Preview size'),
110
- value: breakValues.max + breakValues.min - previewSizeToUse,
111
- marks: marks,
112
- min: breakValues.min,
113
- max: breakValues.max,
64
+ value: previewSizeToUse,
65
+ min: 0,
66
+ max: breakValues.length - 1,
114
67
  withInputField: false,
115
68
  onChange: (value = 0) => {
116
69
  context.onChangeView({
117
70
  ...view,
118
71
  layout: {
119
72
  ...view.layout,
120
- previewSize: breakValues.max + breakValues.min - value
73
+ previewSize: breakValues[value].value
121
74
  }
122
75
  });
123
76
  },
124
- step: 1
77
+ step: 1,
78
+ marks: marks
125
79
  });
126
80
  }
127
81
  //# sourceMappingURL=preview-size-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_dataviewsContext","_interopRequireDefault","_jsxRuntime","viewportBreaks","xhuge","min","max","default","huge","xlarge","large","mobile","BREAKPOINTS","useViewPortBreakpoint","containerWidth","useContext","DataViewsContext","key","value","Object","entries","useUpdatedPreviewSizeOnViewportChange","view","viewport","useMemo","previewSize","layout","newPreviewSize","breakValues","PreviewSizePicker","context","previewSizeToUse","marks","Array","from","length","_","i","jsx","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","showTooltip","label","__","withInputField","onChange","onChangeView","step"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/preview-size-picker.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RangeControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport type { ViewGrid } from '../../types';\n\nconst viewportBreaks: {\n\t[ key: string ]: { min: number; max: number; default: number };\n} = {\n\txhuge: { min: 3, max: 6, default: 5 },\n\thuge: { min: 2, max: 4, default: 4 },\n\txlarge: { min: 2, max: 3, default: 3 },\n\tlarge: { min: 1, max: 2, default: 2 },\n\tmobile: { min: 1, max: 2, default: 2 },\n};\n\n/**\n * Breakpoints were adjusted from media queries breakpoints to account for\n * the sidebar width. This was done to match the existing styles we had.\n */\nconst BREAKPOINTS = {\n\txhuge: 1520,\n\thuge: 1140,\n\txlarge: 780,\n\tlarge: 480,\n\tmobile: 0,\n};\n\nfunction useViewPortBreakpoint() {\n\tconst containerWidth = useContext( DataViewsContext ).containerWidth;\n\tfor ( const [ key, value ] of Object.entries( BREAKPOINTS ) ) {\n\t\tif ( containerWidth >= value ) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn 'mobile';\n}\n\nexport function useUpdatedPreviewSizeOnViewportChange() {\n\tconst view = useContext( DataViewsContext ).view as ViewGrid;\n\tconst viewport = useViewPortBreakpoint();\n\treturn useMemo( () => {\n\t\tconst previewSize = view.layout?.previewSize;\n\t\tlet newPreviewSize;\n\t\tif ( ! previewSize ) {\n\t\t\treturn;\n\t\t}\n\t\tconst breakValues = viewportBreaks[ viewport ];\n\t\tif ( previewSize < breakValues.min ) {\n\t\t\tnewPreviewSize = breakValues.min;\n\t\t}\n\t\tif ( previewSize > breakValues.max ) {\n\t\t\tnewPreviewSize = breakValues.max;\n\t\t}\n\t\treturn newPreviewSize;\n\t}, [ viewport, view ] );\n}\n\nexport default function PreviewSizePicker() {\n\tconst viewport = useViewPortBreakpoint();\n\tconst context = useContext( DataViewsContext );\n\tconst view = context.view as ViewGrid;\n\tconst breakValues = viewportBreaks[ viewport ];\n\tconst previewSizeToUse = view.layout?.previewSize || breakValues.default;\n\tconst marks = useMemo(\n\t\t() =>\n\t\t\tArray.from(\n\t\t\t\t{ length: breakValues.max - breakValues.min + 1 },\n\t\t\t\t( _, i ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: breakValues.min + i,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t),\n\t\t[ breakValues ]\n\t);\n\tif ( viewport === 'mobile' ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<RangeControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tshowTooltip={ false }\n\t\t\tlabel={ __( 'Preview size' ) }\n\t\t\tvalue={ breakValues.max + breakValues.min - previewSizeToUse }\n\t\t\tmarks={ marks }\n\t\t\tmin={ breakValues.min }\n\t\t\tmax={ breakValues.max }\n\t\t\twithInputField={ false }\n\t\t\tonChange={ ( value = 0 ) => {\n\t\t\t\tcontext.onChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...view.layout,\n\t\t\t\t\t\tpreviewSize: breakValues.max + breakValues.min - value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tstep={ 1 }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_dataviewsContext","_interopRequireDefault","_jsxRuntime","imageSizes","value","breakpoint","PreviewSizePicker","context","useContext","DataViewsContext","view","containerWidth","breakValues","filter","size","previewSizeToUse","layout","previewSize","map","index","_view$layout$previewS","sort","a","b","marks","jsx","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","showTooltip","label","__","min","max","length","withInputField","onChange","onChangeView","step"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/preview-size-picker.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RangeControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport type { ViewGrid } from '../../types';\n\nconst imageSizes = [\n\t{\n\t\tvalue: 230,\n\t\tbreakpoint: 1,\n\t},\n\t{\n\t\tvalue: 290,\n\t\tbreakpoint: 1112, // at minimum image width, 4 images display at this container size\n\t},\n\t{\n\t\tvalue: 350,\n\t\tbreakpoint: 1636, // at minimum image width, 6 images display at this container size\n\t},\n\t{\n\t\tvalue: 430,\n\t\tbreakpoint: 588, // at minimum image width, 2 images display at this container size\n\t},\n];\n\nexport default function PreviewSizePicker() {\n\tconst context = useContext( DataViewsContext );\n\tconst view = context.view as ViewGrid;\n\n\tif ( context.containerWidth < 588 ) {\n\t\treturn null;\n\t}\n\n\tconst breakValues = imageSizes.filter( ( size ) => {\n\t\treturn context.containerWidth >= size.breakpoint;\n\t} );\n\n\t// If the container has resized and the set preview size is no longer available,\n\t// we reset it to the next smallest size.\n\tconst previewSizeToUse = view.layout?.previewSize\n\t\t? breakValues\n\t\t\t\t.map( ( size, index ) => ( { ...size, index } ) )\n\t\t\t\t.filter(\n\t\t\t\t\t( size ) => size.value <= ( view.layout?.previewSize ?? 0 ) // We know the view.layout?.previewSize exists at this point but the linter doesn't seem to.\n\t\t\t\t)\n\t\t\t\t.sort( ( a, b ) => b.value - a.value )[ 0 ].index\n\t\t: 0;\n\n\tconst marks = breakValues.map( ( size, index ) => {\n\t\treturn {\n\t\t\tvalue: index,\n\t\t};\n\t} );\n\n\treturn (\n\t\t<RangeControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tshowTooltip={ false }\n\t\t\tlabel={ __( 'Preview size' ) }\n\t\t\tvalue={ previewSizeToUse }\n\t\t\tmin={ 0 }\n\t\t\tmax={ breakValues.length - 1 }\n\t\t\twithInputField={ false }\n\t\t\tonChange={ ( value = 0 ) => {\n\t\t\t\tcontext.onChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...view.layout,\n\t\t\t\t\t\tpreviewSize: breakValues[ value ].value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tstep={ 1 }\n\t\t\tmarks={ marks }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,iBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAkE,IAAAK,WAAA,GAAAL,OAAA;AAVlE;AACA;AACA;;AAKA;AACA;AACA;;AAIA,MAAMM,UAAU,GAAG,CAClB;EACCC,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE;AACb,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE,IAAI,CAAE;AACnB,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE,IAAI,CAAE;AACnB,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE,GAAG,CAAE;AAClB,CAAC,CACD;AAEc,SAASC,iBAAiBA,CAAA,EAAG;EAC3C,MAAMC,OAAO,GAAG,IAAAC,mBAAU,EAAEC,yBAAiB,CAAC;EAC9C,MAAMC,IAAI,GAAGH,OAAO,CAACG,IAAgB;EAErC,IAAKH,OAAO,CAACI,cAAc,GAAG,GAAG,EAAG;IACnC,OAAO,IAAI;EACZ;EAEA,MAAMC,WAAW,GAAGT,UAAU,CAACU,MAAM,CAAIC,IAAI,IAAM;IAClD,OAAOP,OAAO,CAACI,cAAc,IAAIG,IAAI,CAACT,UAAU;EACjD,CAAE,CAAC;;EAEH;EACA;EACA,MAAMU,gBAAgB,GAAGL,IAAI,CAACM,MAAM,EAAEC,WAAW,GAC9CL,WAAW,CACVM,GAAG,CAAE,CAAEJ,IAAI,EAAEK,KAAK,MAAQ;IAAE,GAAGL,IAAI;IAAEK;EAAM,CAAC,CAAG,CAAC,CAChDN,MAAM,CACJC,IAAI;IAAA,IAAAM,qBAAA;IAAA,OAAMN,IAAI,CAACV,KAAK,MAAAgB,qBAAA,GAAMV,IAAI,CAACM,MAAM,EAAEC,WAAW,cAAAG,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAE;EAAA,EAAC;EAC7D,CAAC,CACAC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMA,CAAC,CAACnB,KAAK,GAAGkB,CAAC,CAAClB,KAAM,CAAC,CAAE,CAAC,CAAE,CAACe,KAAK,GACjD,CAAC;EAEJ,MAAMK,KAAK,GAAGZ,WAAW,CAACM,GAAG,CAAE,CAAEJ,IAAI,EAAEK,KAAK,KAAM;IACjD,OAAO;MACNf,KAAK,EAAEe;IACR,CAAC;EACF,CAAE,CAAC;EAEH,oBACC,IAAAjB,WAAA,CAAAuB,GAAA,EAAC7B,WAAA,CAAA8B,YAAY;IACZC,uBAAuB;IACvBC,qBAAqB;IACrBC,WAAW,EAAG,KAAO;IACrBC,KAAK,EAAG,IAAAC,QAAE,EAAE,cAAe,CAAG;IAC9B3B,KAAK,EAAGW,gBAAkB;IAC1BiB,GAAG,EAAG,CAAG;IACTC,GAAG,EAAGrB,WAAW,CAACsB,MAAM,GAAG,CAAG;IAC9BC,cAAc,EAAG,KAAO;IACxBC,QAAQ,EAAGA,CAAEhC,KAAK,GAAG,CAAC,KAAM;MAC3BG,OAAO,CAAC8B,YAAY,CAAE;QACrB,GAAG3B,IAAI;QACPM,MAAM,EAAE;UACP,GAAGN,IAAI,CAACM,MAAM;UACdC,WAAW,EAAEL,WAAW,CAAER,KAAK,CAAE,CAACA;QACnC;MACD,CAAE,CAAC;IACJ,CAAG;IACHkC,IAAI,EAAG,CAAG;IACVd,KAAK,EAAGA;EAAO,CACf,CAAC;AAEJ","ignoreList":[]}
@@ -144,7 +144,10 @@ function ListItem({
144
144
  className: "dataviews-view-list__media-wrapper",
145
145
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(mediaField.render, {
146
146
  item: item,
147
- field: mediaField
147
+ field: mediaField,
148
+ config: {
149
+ sizes: '52px'
150
+ }
148
151
  })
149
152
  }) : null;
150
153
  const renderedTitleField = showTitle && titleField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(titleField.render, {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","Menu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","Composite","Item","render","Button","disabled","accessibleWhenDisabled","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","view","actions","isSelected","titleField","mediaField","descriptionField","onSelect","otherFields","onDropdownTriggerKeyDown","showTitle","showMedia","showDescription","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","activeModalAction","setActiveModalAction","handleHover","type","isHover","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","hasOnlyOnePrimaryAction","length","renderedMediaField","className","field","renderedTitleField","usedActions","jsxs","__experimentalHStack","spacing","placement","TriggerButton","moreVertical","__","onKeyDown","Popover","ActionsMenuGroup","Row","ref","clsx","onMouseEnter","onMouseLeave","justify","alignment","__experimentalVStack","map","VisuallyHidden","as","isDefined","ViewList","props","_view$fields","data","fields","getItemId","isLoading","onChangeSelection","selection","baseId","useInstanceId","selectedItem","findLast","includes","find","fieldId","f","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewList as ViewListType,\n\tViewListProps,\n\tActionModal as ActionModalType,\n} from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tview: ViewListType;\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\totherFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tview,\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonSelect,\n\totherFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst registry = useRegistry();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst hasOnlyOnePrimaryAction = primaryAction && actions.length === 1;\n\n\tconst renderedMediaField =\n\t\tshowMedia && mediaField?.render ? (\n\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t<mediaField.render item={ item } field={ mediaField } />\n\t\t\t</div>\n\t\t) : null;\n\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! hasOnlyOnePrimaryAction && (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{ !! activeModalAction && (\n\t\t\t\t\t\t<ActionModal\n\t\t\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <div /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-title-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__field\">\n\t\t\t\t\t\t\t\t<descriptionField.render\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ otherFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render\n\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t\tclassName,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst otherFields = ( view?.fields ?? [] )\n\t\t.map( ( fieldId ) => fields.find( ( f ) => fieldId === f.id ) )\n\t\t.filter( isDefined );\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <div /> }\n\t\t\tclassName={ clsx( 'dataviews-view-list', className ) }\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\totherFields={ otherFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","Menu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","Composite","Item","render","Button","disabled","accessibleWhenDisabled","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","view","actions","isSelected","titleField","mediaField","descriptionField","onSelect","otherFields","onDropdownTriggerKeyDown","showTitle","showMedia","showDescription","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","activeModalAction","setActiveModalAction","handleHover","type","isHover","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","hasOnlyOnePrimaryAction","length","renderedMediaField","className","field","config","sizes","renderedTitleField","usedActions","jsxs","__experimentalHStack","spacing","placement","TriggerButton","moreVertical","__","onKeyDown","Popover","ActionsMenuGroup","Row","ref","clsx","onMouseEnter","onMouseLeave","justify","alignment","__experimentalVStack","map","VisuallyHidden","as","isDefined","ViewList","props","_view$fields","data","fields","getItemId","isLoading","onChangeSelection","selection","baseId","useInstanceId","selectedItem","findLast","includes","find","fieldId","f","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewList as ViewListType,\n\tViewListProps,\n\tActionModal as ActionModalType,\n} from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tview: ViewListType;\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\totherFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tview,\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonSelect,\n\totherFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst registry = useRegistry();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst hasOnlyOnePrimaryAction = primaryAction && actions.length === 1;\n\n\tconst renderedMediaField =\n\t\tshowMedia && mediaField?.render ? (\n\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t<mediaField.render\n\t\t\t\t\titem={ item }\n\t\t\t\t\tfield={ mediaField }\n\t\t\t\t\tconfig={ { sizes: '52px' } }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t) : null;\n\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! hasOnlyOnePrimaryAction && (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{ !! activeModalAction && (\n\t\t\t\t\t\t<ActionModal\n\t\t\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <div /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-title-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__field\">\n\t\t\t\t\t\t\t\t<descriptionField.render\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ otherFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render\n\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t\tclassName,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst otherFields = ( view?.fields ?? [] )\n\t\t.map( ( fieldId ) => fields.find( ( f ) => fieldId === f.id ) )\n\t\t.filter( isDefined );\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <div /> }\n\t\t\tclassName={ clsx( 'dataviews-view-list', className ) }\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\totherFields={ otherFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,10 @@ function ColumnPrimary({
36
36
  className: "dataviews-view-table__cell-content-wrapper dataviews-column-primary__media",
37
37
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(mediaField.render, {
38
38
  item: item,
39
- field: mediaField
39
+ field: mediaField,
40
+ config: {
41
+ sizes: '32px'
42
+ }
40
43
  })
41
44
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
42
45
  spacing: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_itemClickWrapper","_jsxRuntime","ColumnPrimary","item","level","titleField","mediaField","descriptionField","onClickItem","renderItemLink","isItemClickable","jsxs","__experimentalHStack","spacing","justify","children","jsx","className","render","field","__experimentalVStack","ItemClickWrapper","undefined","repeat","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-primary.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { NormalizedField } from '../../types';\nimport { ItemClickWrapper } from '../utils/item-click-wrapper';\n\nfunction ColumnPrimary< Item >( {\n\titem,\n\tlevel,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonClickItem,\n\trenderItemLink,\n\tisItemClickable,\n}: {\n\titem: Item;\n\tlevel?: number;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisItemClickable: ( item: Item ) => boolean;\n} ) {\n\treturn (\n\t\t<HStack spacing={ 3 } justify=\"flex-start\">\n\t\t\t{ mediaField && (\n\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper dataviews-column-primary__media\">\n\t\t\t\t\t<mediaField.render item={ item } field={ mediaField } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t{ titleField && (\n\t\t\t\t\t<ItemClickWrapper\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\tclassName=\"dataviews-view-table__cell-content-wrapper dataviews-title-field\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ level !== undefined && (\n\t\t\t\t\t\t\t<span className=\"dataviews-view-table__level\">\n\t\t\t\t\t\t\t\t{ '—'.repeat( level ) }&nbsp;\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t\t\t\t</ItemClickWrapper>\n\t\t\t\t) }\n\t\t\t\t{ descriptionField && (\n\t\t\t\t\t<descriptionField.render\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</HStack>\n\t);\n}\n\nexport default ColumnPrimary;\n"],"mappings":";;;;;;AAQA,IAAAA,WAAA,GAAAC,OAAA;AASA,IAAAC,iBAAA,GAAAD,OAAA;AAA+D,IAAAE,WAAA,GAAAF,OAAA;AAjB/D;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAIA,SAASG,aAAaA,CAAU;EAC/BC,IAAI;EACJC,KAAK;EACLC,UAAU;EACVC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC,cAAc;EACdC;AAcD,CAAC,EAAG;EACH,oBACC,IAAAT,WAAA,CAAAU,IAAA,EAACb,WAAA,CAAAc,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,OAAO,EAAC,YAAY;IAAAC,QAAA,GACvCT,UAAU,iBACX,IAAAL,WAAA,CAAAe,GAAA;MAAKC,SAAS,EAAC,4EAA4E;MAAAF,QAAA,eAC1F,IAAAd,WAAA,CAAAe,GAAA,EAACV,UAAU,CAACY,MAAM;QAACf,IAAI,EAAGA,IAAM;QAACgB,KAAK,EAAGb;MAAY,CAAE;IAAC,CACpD,CACL,eACD,IAAAL,WAAA,CAAAU,IAAA,EAACb,WAAA,CAAAsB,oBAAM;MAACP,OAAO,EAAG,CAAG;MAAAE,QAAA,GAClBV,UAAU,iBACX,IAAAJ,WAAA,CAAAU,IAAA,EAACX,iBAAA,CAAAqB,gBAAgB;QAChBlB,IAAI,EAAGA,IAAM;QACbO,eAAe,EAAGA,eAAiB;QACnCF,WAAW,EAAGA,WAAa;QAC3BC,cAAc,EAAGA,cAAgB;QACjCQ,SAAS,EAAC,kEAAkE;QAAAF,QAAA,GAE1EX,KAAK,KAAKkB,SAAS,iBACpB,IAAArB,WAAA,CAAAU,IAAA;UAAMM,SAAS,EAAC,6BAA6B;UAAAF,QAAA,GAC1C,GAAG,CAACQ,MAAM,CAAEnB,KAAM,CAAC,EAAE,MACxB;QAAA,CAAM,CACN,eACD,IAAAH,WAAA,CAAAe,GAAA,EAACX,UAAU,CAACa,MAAM;UAACf,IAAI,EAAGA,IAAM;UAACgB,KAAK,EAAGd;QAAY,CAAE,CAAC;MAAA,CACvC,CAClB,EACCE,gBAAgB,iBACjB,IAAAN,WAAA,CAAAe,GAAA,EAACT,gBAAgB,CAACW,MAAM;QACvBf,IAAI,EAAGA,IAAM;QACbgB,KAAK,EAAGZ;MAAkB,CAC1B,CACD;IAAA,CACM,CAAC;EAAA,CACF,CAAC;AAEX;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcxB,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_itemClickWrapper","_jsxRuntime","ColumnPrimary","item","level","titleField","mediaField","descriptionField","onClickItem","renderItemLink","isItemClickable","jsxs","__experimentalHStack","spacing","justify","children","jsx","className","render","field","config","sizes","__experimentalVStack","ItemClickWrapper","undefined","repeat","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-primary.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { NormalizedField } from '../../types';\nimport { ItemClickWrapper } from '../utils/item-click-wrapper';\n\nfunction ColumnPrimary< Item >( {\n\titem,\n\tlevel,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonClickItem,\n\trenderItemLink,\n\tisItemClickable,\n}: {\n\titem: Item;\n\tlevel?: number;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisItemClickable: ( item: Item ) => boolean;\n} ) {\n\treturn (\n\t\t<HStack spacing={ 3 } justify=\"flex-start\">\n\t\t\t{ mediaField && (\n\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper dataviews-column-primary__media\">\n\t\t\t\t\t<mediaField.render\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tfield={ mediaField }\n\t\t\t\t\t\tconfig={ { sizes: '32px' } }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t{ titleField && (\n\t\t\t\t\t<ItemClickWrapper\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\tclassName=\"dataviews-view-table__cell-content-wrapper dataviews-title-field\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ level !== undefined && (\n\t\t\t\t\t\t\t<span className=\"dataviews-view-table__level\">\n\t\t\t\t\t\t\t\t{ '—'.repeat( level ) }&nbsp;\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t\t\t\t</ItemClickWrapper>\n\t\t\t\t) }\n\t\t\t\t{ descriptionField && (\n\t\t\t\t\t<descriptionField.render\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</HStack>\n\t);\n}\n\nexport default ColumnPrimary;\n"],"mappings":";;;;;;AAQA,IAAAA,WAAA,GAAAC,OAAA;AASA,IAAAC,iBAAA,GAAAD,OAAA;AAA+D,IAAAE,WAAA,GAAAF,OAAA;AAjB/D;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAIA,SAASG,aAAaA,CAAU;EAC/BC,IAAI;EACJC,KAAK;EACLC,UAAU;EACVC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC,cAAc;EACdC;AAcD,CAAC,EAAG;EACH,oBACC,IAAAT,WAAA,CAAAU,IAAA,EAACb,WAAA,CAAAc,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,OAAO,EAAC,YAAY;IAAAC,QAAA,GACvCT,UAAU,iBACX,IAAAL,WAAA,CAAAe,GAAA;MAAKC,SAAS,EAAC,4EAA4E;MAAAF,QAAA,eAC1F,IAAAd,WAAA,CAAAe,GAAA,EAACV,UAAU,CAACY,MAAM;QACjBf,IAAI,EAAGA,IAAM;QACbgB,KAAK,EAAGb,UAAY;QACpBc,MAAM,EAAG;UAAEC,KAAK,EAAE;QAAO;MAAG,CAC5B;IAAC,CACE,CACL,eACD,IAAApB,WAAA,CAAAU,IAAA,EAACb,WAAA,CAAAwB,oBAAM;MAACT,OAAO,EAAG,CAAG;MAAAE,QAAA,GAClBV,UAAU,iBACX,IAAAJ,WAAA,CAAAU,IAAA,EAACX,iBAAA,CAAAuB,gBAAgB;QAChBpB,IAAI,EAAGA,IAAM;QACbO,eAAe,EAAGA,eAAiB;QACnCF,WAAW,EAAGA,WAAa;QAC3BC,cAAc,EAAGA,cAAgB;QACjCQ,SAAS,EAAC,kEAAkE;QAAAF,QAAA,GAE1EX,KAAK,KAAKoB,SAAS,iBACpB,IAAAvB,WAAA,CAAAU,IAAA;UAAMM,SAAS,EAAC,6BAA6B;UAAAF,QAAA,GAC1C,GAAG,CAACU,MAAM,CAAErB,KAAM,CAAC,EAAE,MACxB;QAAA,CAAM,CACN,eACD,IAAAH,WAAA,CAAAe,GAAA,EAACX,UAAU,CAACa,MAAM;UAACf,IAAI,EAAGA,IAAM;UAACgB,KAAK,EAAGd;QAAY,CAAE,CAAC;MAAA,CACvC,CAClB,EACCE,gBAAgB,iBACjB,IAAAN,WAAA,CAAAe,GAAA,EAACT,gBAAgB,CAACW,MAAM;QACvBf,IAAI,EAAGA,IAAM;QACbgB,KAAK,EAAGZ;MAAkB,CAC1B,CACD;IAAA,CACM,CAAC;EAAA,CACF,CAAC;AAEX;AAAC,IAAAmB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc1B,aAAa","ignoreList":[]}
@@ -9,6 +9,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _components = require("@wordpress/components");
11
11
  var _element = require("@wordpress/element");
12
+ var _keycodes = require("@wordpress/keycodes");
12
13
  var _dataviewsContext = _interopRequireDefault(require("../../components/dataviews-context"));
13
14
  var _dataviewsSelectionCheckbox = _interopRequireDefault(require("../../components/dataviews-selection-checkbox"));
14
15
  var _dataviewsItemActions = _interopRequireDefault(require("../../components/dataviews-item-actions"));
@@ -104,12 +105,18 @@ function TableRow({
104
105
  onTouchStart: () => {
105
106
  isTouchDeviceRef.current = true;
106
107
  },
107
- onClick: () => {
108
+ onClick: event => {
108
109
  if (!hasPossibleBulkAction) {
109
110
  return;
110
111
  }
111
112
  if (!isTouchDeviceRef.current && document.getSelection()?.type !== 'Range') {
112
- onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [id]);
113
+ if ((0, _keycodes.isAppleOS)() ? event.metaKey : event.ctrlKey) {
114
+ // Handle non-consecutive selection.
115
+ onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [...selection, id]);
116
+ } else {
117
+ // Handle single selection
118
+ onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [id]);
119
+ }
113
120
  }
114
121
  },
115
122
  children: [hasBulkActions && /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_element","_dataviewsContext","_dataviewsSelectionCheckbox","_dataviewsItemActions","_constants","_dataviewsBulkActions","_columnHeaderMenu","_columnPrimary","_useIsHorizontalScrollEnd","_jsxRuntime","TableColumnField","item","fields","column","align","field","find","f","id","className","clsx","jsx","children","render","TableRow","hasBulkActions","level","actions","view","titleField","mediaField","descriptionField","selection","getItemId","isItemClickable","onClickItem","renderItemLink","onChangeSelection","isActionsColumnSticky","_view$fields","hasPossibleBulkAction","useHasAPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","useState","showTitle","showMedia","showDescription","handleMouseEnter","handleMouseLeave","isTouchDeviceRef","useRef","columns","hasPrimaryColumn","jsxs","onMouseEnter","onMouseLeave","onTouchStart","current","onClick","document","getSelection","type","filter","itemId","default","disabled","undefined","map","_view$layout$styles$c","width","maxWidth","minWidth","layout","styles","style","length","e","stopPropagation","ViewTable","data","getItemLevel","isLoading","onChangeView","setOpenedFilter","_view$fields2","containerRef","useContext","DataViewsContext","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","useSomeItemHasAPossibleBulkAction","useEffect","focus","tableNoticeId","useId","isHorizontalScrollEnd","useIsHorizontalScrollEnd","scrollContainerRef","enabled","onHide","hidden","get","fallback","node","hasData","headerMenuRef","index","set","delete","Fragment","density","scope","BulkSelectionCheckbox","ref","fieldId","canMove","_view$layout$styles$c2","textAlign","sort","direction","sortValues","__","showLevels","toString","Spinner","_default","exports"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\nimport { useIsHorizontalScrollEnd } from './use-is-horizontal-scroll-end';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n\talign?: 'start' | 'center' | 'end';\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tlevel?: number;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisActionsColumnSticky?: boolean;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n\talign,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\tconst className = clsx( 'dataviews-view-table__cell-content-wrapper', {\n\t\t'dataviews-view-table__cell-align-end': align === 'end',\n\t\t'dataviews-view-table__cell-align-center': align === 'center',\n\t} );\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<field.render item={ item } field={ field } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tlevel,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\trenderItemLink,\n\tonChangeSelection,\n\tisActionsColumnSticky,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td className=\"dataviews-view-table__checkbox-column\">\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td\n\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName={ clsx( 'dataviews-view-table__actions-column', {\n\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky': true,\n\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\tisActionsColumnSticky,\n\t\t\t\t\t} ) }\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tview,\n\tclassName,\n}: ViewTableProps< Item > ) {\n\tconst { containerRef } = useContext( DataViewsContext );\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tconst isHorizontalScrollEnd = useIsHorizontalScrollEnd( {\n\t\tscrollContainerRef: containerRef,\n\t\tenabled: !! actions?.length,\n\t} );\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', className, {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky':\n\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\tisActionsColumnSticky={\n\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAWA,IAAAI,iBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,2BAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AAYA,IAAAS,iBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,cAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,yBAAA,GAAAX,OAAA;AAA0E,IAAAY,WAAA,GAAAZ,OAAA;AAxC1E;AACA;AACA;;AAIA;AACA;AACA;;AAWA;AACA;AACA;;AAoDA,SAASa,gBAAgBA,CAAU;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC;AAC8B,CAAC,EAAG;EAClC,MAAMC,KAAK,GAAGH,MAAM,CAACI,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,EAAE,KAAKL,MAAO,CAAC;EAErD,IAAK,CAAEE,KAAK,EAAG;IACd,OAAO,IAAI;EACZ;EAEA,MAAMI,SAAS,GAAG,IAAAC,aAAI,EAAE,4CAA4C,EAAE;IACrE,sCAAsC,EAAEN,KAAK,KAAK,KAAK;IACvD,yCAAyC,EAAEA,KAAK,KAAK;EACtD,CAAE,CAAC;EAEH,oBACC,IAAAL,WAAA,CAAAY,GAAA;IAAKF,SAAS,EAAGA,SAAW;IAAAG,QAAA,eAC3B,IAAAb,WAAA,CAAAY,GAAA,EAACN,KAAK,CAACQ,MAAM;MAACZ,IAAI,EAAGA,IAAM;MAACI,KAAK,EAAGA;IAAO,CAAE;EAAC,CAC1C,CAAC;AAER;AAEA,SAASS,QAAQA,CAAU;EAC1BC,cAAc;EACdd,IAAI;EACJe,KAAK;EACLC,OAAO;EACPf,MAAM;EACNM,EAAE;EACFU,IAAI;EACJC,UAAU;EACVC,UAAU;EACVC,gBAAgB;EAChBC,SAAS;EACTC,SAAS;EACTC,eAAe;EACfC,WAAW;EACXC,cAAc;EACdC,iBAAiB;EACjBC;AACsB,CAAC,EAAG;EAAA,IAAAC,YAAA;EAC1B,MAAMC,qBAAqB,GAAG,IAAAC,+CAAyB,EAAEd,OAAO,EAAEhB,IAAK,CAAC;EACxE,MAAM+B,UAAU,GAAGF,qBAAqB,IAAIR,SAAS,CAACW,QAAQ,CAAEzB,EAAG,CAAC;EACpE,MAAM,CAAE0B,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACrD,MAAM;IAAEC,SAAS,GAAG,IAAI;IAAEC,SAAS,GAAG,IAAI;IAAEC,eAAe,GAAG;EAAK,CAAC,GAAGrB,IAAI;EAC3E,MAAMsB,gBAAgB,GAAGA,CAAA,KAAM;IAC9BL,YAAY,CAAE,IAAK,CAAC;EACrB,CAAC;EACD,MAAMM,gBAAgB,GAAGA,CAAA,KAAM;IAC9BN,YAAY,CAAE,KAAM,CAAC;EACtB,CAAC;;EAED;EACA;EACA;EACA,MAAMO,gBAAgB,GAAG,IAAAC,eAAM,EAAE,KAAM,CAAC;EACxC,MAAMC,OAAO,IAAAf,YAAA,GAAGX,IAAI,CAAChB,MAAM,cAAA2B,YAAA,cAAAA,YAAA,GAAI,EAAE;EACjC,MAAMgB,gBAAgB,GACnB1B,UAAU,IAAIkB,SAAS,IACvBjB,UAAU,IAAIkB,SAAW,IACzBjB,gBAAgB,IAAIkB,eAAiB;EAExC,oBACC,IAAAxC,WAAA,CAAA+C,IAAA;IACCrC,SAAS,EAAG,IAAAC,aAAI,EAAE,2BAA2B,EAAE;MAC9C,aAAa,EAAEoB,qBAAqB,IAAIE,UAAU;MAClD,YAAY,EAAEE,SAAS;MACvB,kBAAkB,EAAEJ;IACrB,CAAE,CAAG;IACLiB,YAAY,EAAGP,gBAAkB;IACjCQ,YAAY,EAAGP,gBAAkB;IACjCQ,YAAY,EAAGA,CAAA,KAAM;MACpBP,gBAAgB,CAACQ,OAAO,GAAG,IAAI;IAChC,CAAG;IACHC,OAAO,EAAGA,CAAA,KAAM;MACf,IAAK,CAAErB,qBAAqB,EAAG;QAC9B;MACD;MACA,IACC,CAAEY,gBAAgB,CAACQ,OAAO,IAC1BE,QAAQ,CAACC,YAAY,CAAC,CAAC,EAAEC,IAAI,KAAK,OAAO,EACxC;QACD3B,iBAAiB,CAChBL,SAAS,CAACW,QAAQ,CAAEzB,EAAG,CAAC,GACrBc,SAAS,CAACiC,MAAM,CAAIC,MAAM,IAAMhD,EAAE,KAAKgD,MAAO,CAAC,GAC/C,CAAEhD,EAAE,CACR,CAAC;MACF;IACD,CAAG;IAAAI,QAAA,GAEDG,cAAc,iBACf,IAAAhB,WAAA,CAAAY,GAAA;MAAIF,SAAS,EAAC,uCAAuC;MAAAG,QAAA,eACpD,IAAAb,WAAA,CAAAY,GAAA;QAAKF,SAAS,EAAC,4CAA4C;QAAAG,QAAA,eAC1D,IAAAb,WAAA,CAAAY,GAAA,EAACnB,2BAAA,CAAAiE,OAA0B;UAC1BxD,IAAI,EAAGA,IAAM;UACbqB,SAAS,EAAGA,SAAW;UACvBK,iBAAiB,EAAGA,iBAAmB;UACvCJ,SAAS,EAAGA,SAAW;UACvBJ,UAAU,EAAGA,UAAY;UACzBuC,QAAQ,EAAG,CAAE5B;QAAuB,CACpC;MAAC,CACE;IAAC,CACH,CACJ,EACCe,gBAAgB,iBACjB,IAAA9C,WAAA,CAAAY,GAAA;MAAAC,QAAA,eACC,IAAAb,WAAA,CAAAY,GAAA,EAACd,cAAA,CAAA4D,OAAa;QACbxD,IAAI,EAAGA,IAAM;QACbe,KAAK,EAAGA,KAAO;QACfG,UAAU,EAAGkB,SAAS,GAAGlB,UAAU,GAAGwC,SAAW;QACjDvC,UAAU,EAAGkB,SAAS,GAAGlB,UAAU,GAAGuC,SAAW;QACjDtC,gBAAgB,EACfkB,eAAe,GAAGlB,gBAAgB,GAAGsC,SACrC;QACDnC,eAAe,EAAGA,eAAiB;QACnCC,WAAW,EAAGA,WAAa;QAC3BC,cAAc,EAAGA;MAAgB,CACjC;IAAC,CACC,CACJ,EACCkB,OAAO,CAACgB,GAAG,CAAIzD,MAAc,IAAM;MAAA,IAAA0D,qBAAA;MACpC;MACA,MAAM;QAAEC,KAAK;QAAEC,QAAQ;QAAEC,QAAQ;QAAE5D;MAAM,CAAC,IAAAyD,qBAAA,GACzC3C,IAAI,CAAC+C,MAAM,EAAEC,MAAM,GAAI/D,MAAM,CAAE,cAAA0D,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;MAEtC,oBACC,IAAA9D,WAAA,CAAAY,GAAA;QAECwD,KAAK,EAAG;UACPL,KAAK;UACLC,QAAQ;UACRC;QACD,CAAG;QAAApD,QAAA,eAEH,IAAAb,WAAA,CAAAY,GAAA,EAACX,gBAAgB;UAChBE,MAAM,EAAGA,MAAQ;UACjBD,IAAI,EAAGA,IAAM;UACbE,MAAM,EAAGA,MAAQ;UACjBC,KAAK,EAAGA;QAAO,CACf;MAAC,GAZID,MAaH,CAAC;IAEP,CAAE,CAAC,EACD,CAAC,CAAEc,OAAO,EAAEmD,MAAM;IAAA;IACnB;IACA;IACA;IACA;IACA;IAEA;IACA,IAAArE,WAAA,CAAAY,GAAA;MACCF,SAAS,EAAG,IAAAC,aAAI,EAAE,sCAAsC,EAAE;QACzD,8CAA8C,EAAE,IAAI;QACpD,6CAA6C,EAC5CkB;MACF,CAAE,CAAG;MACLuB,OAAO,EAAKkB,CAAC,IAAMA,CAAC,CAACC,eAAe,CAAC,CAAG;MAAA1D,QAAA,eAExC,IAAAb,WAAA,CAAAY,GAAA,EAAClB,qBAAA,CAAAgE,OAAW;QAACxD,IAAI,EAAGA,IAAM;QAACgB,OAAO,EAAGA;MAAS,CAAE;IAAC,CAC9C;IACJ,0GACA;EAAA,CACE,CAAC;AAEP;AAEA,SAASsD,SAASA,CAAU;EAC3BtD,OAAO;EACPuD,IAAI;EACJtE,MAAM;EACNqB,SAAS;EACTkD,YAAY;EACZC,SAAS,GAAG,KAAK;EACjBC,YAAY;EACZhD,iBAAiB;EACjBL,SAAS;EACTsD,eAAe;EACfnD,WAAW;EACXD,eAAe;EACfE,cAAc;EACdR,IAAI;EACJT;AACuB,CAAC,EAAG;EAAA,IAAAoE,aAAA;EAC3B,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,mBAAU,EAAEC,yBAAiB,CAAC;EACvD,MAAMC,cAAc,GAAG,IAAAtC,eAAM,EAE1B,IAAIuC,GAAG,CAAC,CAAE,CAAC;EACd,MAAMC,oBAAoB,GAAG,IAAAxC,eAAM,EAAsB,CAAC;EAC1D,MAAM,CAAEyC,qBAAqB,EAAEC,wBAAwB,CAAE,GACxD,IAAAjD,iBAAQ,EAAsB,CAAC;EAChC,MAAMrB,cAAc,GAAG,IAAAuE,uDAAiC,EAAErE,OAAO,EAAEuD,IAAK,CAAC;EAEzE,IAAAe,kBAAS,EAAE,MAAM;IAChB,IAAKJ,oBAAoB,CAACjC,OAAO,EAAG;MACnCiC,oBAAoB,CAACjC,OAAO,CAACsC,KAAK,CAAC,CAAC;MACpCL,oBAAoB,CAACjC,OAAO,GAAGS,SAAS;IACzC;EACD,CAAE,CAAC;EAEH,MAAM8B,aAAa,GAAG,IAAAC,cAAK,EAAC,CAAC;EAE7B,MAAMC,qBAAqB,GAAG,IAAAC,kDAAwB,EAAE;IACvDC,kBAAkB,EAAEf,YAAY;IAChCgB,OAAO,EAAE,CAAC,CAAE7E,OAAO,EAAEmD;EACtB,CAAE,CAAC;EAEH,IAAKgB,qBAAqB,EAAG;IAC5B;IACA;IACA;IACA;IACAD,oBAAoB,CAACjC,OAAO,GAAGkC,qBAAqB;IACpDC,wBAAwB,CAAE1B,SAAU,CAAC;IACrC;EACD;EAEA,MAAMoC,MAAM,GAAK1F,KAA8B,IAAM;IACpD,MAAM2F,MAAM,GAAGf,cAAc,CAAC/B,OAAO,CAAC+C,GAAG,CAAE5F,KAAK,CAACG,EAAG,CAAC;IACrD,MAAM0F,QAAQ,GAAGF,MAAM,GACpBf,cAAc,CAAC/B,OAAO,CAAC+C,GAAG,CAAED,MAAM,CAACE,QAAS,CAAC,GAC7CvC,SAAS;IACZ0B,wBAAwB,CAAEa,QAAQ,EAAEC,IAAK,CAAC;EAC3C,CAAC;EAED,MAAMC,OAAO,GAAG,CAAC,CAAE5B,IAAI,EAAEJ,MAAM;EAE/B,MAAMjD,UAAU,GAAGjB,MAAM,CAACI,IAAI,CAAID,KAAK,IAAMA,KAAK,CAACG,EAAE,KAAKU,IAAI,CAACC,UAAW,CAAC;EAC3E,MAAMC,UAAU,GAAGlB,MAAM,CAACI,IAAI,CAAID,KAAK,IAAMA,KAAK,CAACG,EAAE,KAAKU,IAAI,CAACE,UAAW,CAAC;EAC3E,MAAMC,gBAAgB,GAAGnB,MAAM,CAACI,IAAI,CACjCD,KAAK,IAAMA,KAAK,CAACG,EAAE,KAAKU,IAAI,CAACG,gBAChC,CAAC;EACD,MAAM;IAAEgB,SAAS,GAAG,IAAI;IAAEC,SAAS,GAAG,IAAI;IAAEC,eAAe,GAAG;EAAK,CAAC,GAAGrB,IAAI;EAC3E,MAAM2B,gBAAgB,GACnB1B,UAAU,IAAIkB,SAAS,IACvBjB,UAAU,IAAIkB,SAAW,IACzBjB,gBAAgB,IAAIkB,eAAiB;EACxC,MAAMK,OAAO,IAAAiC,aAAA,GAAG3D,IAAI,CAAChB,MAAM,cAAA2E,aAAA,cAAAA,aAAA,GAAI,EAAE;EACjC,MAAMwB,aAAa,GAClBA,CAAElG,MAAc,EAAEmG,KAAa,KAAQH,IAAuB,IAAM;IACnE,IAAKA,IAAI,EAAG;MACXlB,cAAc,CAAC/B,OAAO,CAACqD,GAAG,CAAEpG,MAAM,EAAE;QACnCgG,IAAI;QACJD,QAAQ,EAAEtD,OAAO,CAAE0D,KAAK,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC,GAAG,CAAC;MAC7C,CAAE,CAAC;IACJ,CAAC,MAAM;MACNrB,cAAc,CAAC/B,OAAO,CAACsD,MAAM,CAAErG,MAAO,CAAC;IACxC;EACD,CAAC;EAEF,oBACC,IAAAJ,WAAA,CAAA+C,IAAA,EAAA/C,WAAA,CAAA0G,QAAA;IAAA7F,QAAA,gBACC,IAAAb,WAAA,CAAA+C,IAAA;MACCrC,SAAS,EAAG,IAAAC,aAAI,EAAE,sBAAsB,EAAED,SAAS,EAAE;QACpD,CAAE,OAAQS,IAAI,CAAC+C,MAAM,EAAEyC,OAAO,UAAW,GACxCxF,IAAI,CAAC+C,MAAM,EAAEyC,OAAO,IACpB,CAAE,SAAS,EAAE,aAAa,CAAE,CAACzE,QAAQ,CACpCf,IAAI,CAAC+C,MAAM,CAACyC,OACb;MACF,CAAE,CAAG;MACL,aAAYhC,SAAW;MACvB,oBAAmBe,aAAe;MAAA7E,QAAA,gBAElC,IAAAb,WAAA,CAAAY,GAAA;QAAAC,QAAA,eACC,IAAAb,WAAA,CAAA+C,IAAA;UAAIrC,SAAS,EAAC,2BAA2B;UAAAG,QAAA,GACtCG,cAAc,iBACf,IAAAhB,WAAA,CAAAY,GAAA;YACCF,SAAS,EAAC,uCAAuC;YACjDkG,KAAK,EAAC,KAAK;YAAA/F,QAAA,eAEX,IAAAb,WAAA,CAAAY,GAAA,EAAChB,qBAAA,CAAAiH,qBAAqB;cACrBtF,SAAS,EAAGA,SAAW;cACvBK,iBAAiB,EAAGA,iBAAmB;cACvC6C,IAAI,EAAGA,IAAM;cACbvD,OAAO,EAAGA,OAAS;cACnBM,SAAS,EAAGA;YAAW,CACvB;UAAC,CACC,CACJ,EACCsB,gBAAgB,iBACjB,IAAA9C,WAAA,CAAAY,GAAA;YAAIgG,KAAK,EAAC,KAAK;YAAA/F,QAAA,EACZO,UAAU,iBACX,IAAApB,WAAA,CAAAY,GAAA,EAACf,iBAAA,CAAA6D,OAAgB;cAChBoD,GAAG,EAAGR,aAAa,CAClBlF,UAAU,CAACX,EAAE,EACb,CACD,CAAG;cACHsG,OAAO,EAAG3F,UAAU,CAACX,EAAI;cACzBU,IAAI,EAAGA,IAAM;cACbhB,MAAM,EAAGA,MAAQ;cACjByE,YAAY,EAAGA,YAAc;cAC7BoB,MAAM,EAAGA,MAAQ;cACjBnB,eAAe,EAAGA,eAAiB;cACnCmC,OAAO,EAAG;YAAO,CACjB;UACD,CACE,CACJ,EACCnE,OAAO,CAACgB,GAAG,CAAE,CAAEzD,MAAM,EAAEmG,KAAK,KAAM;YAAA,IAAAU,sBAAA;YACnC;YACA,MAAM;cAAElD,KAAK;cAAEC,QAAQ;cAAEC,QAAQ;cAAE5D;YAAM,CAAC,IAAA4G,sBAAA,GACzC9F,IAAI,CAAC+C,MAAM,EAAEC,MAAM,GAAI/D,MAAM,CAAE,cAAA6G,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;YACtC,oBACC,IAAAjH,WAAA,CAAAY,GAAA;cAECwD,KAAK,EAAG;gBACPL,KAAK;gBACLC,QAAQ;gBACRC,QAAQ;gBACRiD,SAAS,EAAE7G;cACZ,CAAG;cACH,aACCc,IAAI,CAACgG,IAAI,EAAEC,SAAS,IACpBjG,IAAI,CAACgG,IAAI,EAAE7G,KAAK,KAAKF,MAAM,GACxBiH,qBAAU,CAAElG,IAAI,CAACgG,IAAI,CAACC,SAAS,CAAE,GACjCxD,SACH;cACDgD,KAAK,EAAC,KAAK;cAAA/F,QAAA,eAEX,IAAAb,WAAA,CAAAY,GAAA,EAACf,iBAAA,CAAA6D,OAAgB;gBAChBoD,GAAG,EAAGR,aAAa,CAAElG,MAAM,EAAEmG,KAAM,CAAG;gBACtCQ,OAAO,EAAG3G,MAAQ;gBAClBe,IAAI,EAAGA,IAAM;gBACbhB,MAAM,EAAGA,MAAQ;gBACjByE,YAAY,EAAGA,YAAc;gBAC7BoB,MAAM,EAAGA,MAAQ;gBACjBnB,eAAe,EAAGA;cAAiB,CACnC;YAAC,GAvBIzE,MAwBH,CAAC;UAEP,CAAE,CAAC,EACD,CAAC,CAAEc,OAAO,EAAEmD,MAAM,iBACnB,IAAArE,WAAA,CAAAY,GAAA;YACCF,SAAS,EAAG,IAAAC,aAAI,EACf,sCAAsC,EACtC;cACC,8CAA8C,EAC7C,IAAI;cACL,6CAA6C,EAC5C,CAAEiF;YACJ,CACD,CAAG;YAAA/E,QAAA,eAEH,IAAAb,WAAA,CAAAY,GAAA;cAAMF,SAAS,EAAC,6BAA6B;cAAAG,QAAA,EAC1C,IAAAyG,QAAE,EAAE,SAAU;YAAC,CACZ;UAAC,CACJ,CACJ;QAAA,CACE;MAAC,CACC,CAAC,eACR,IAAAtH,WAAA,CAAAY,GAAA;QAAAC,QAAA,EACGwF,OAAO,IACR5B,IAAI,CAACZ,GAAG,CAAE,CAAE3D,IAAI,EAAEqG,KAAK,kBACtB,IAAAvG,WAAA,CAAAY,GAAA,EAACG,QAAQ;UAERb,IAAI,EAAGA,IAAM;UACbe,KAAK,EACJE,IAAI,CAACoG,UAAU,IACf,OAAO7C,YAAY,KAAK,UAAU,GAC/BA,YAAY,CAAExE,IAAK,CAAC,GACpB0D,SACH;UACD5C,cAAc,EAAGA,cAAgB;UACjCE,OAAO,EAAGA,OAAS;UACnBf,MAAM,EAAGA,MAAQ;UACjBM,EAAE,EAAGe,SAAS,CAAEtB,IAAK,CAAC,IAAIqG,KAAK,CAACiB,QAAQ,CAAC,CAAG;UAC5CrG,IAAI,EAAGA,IAAM;UACbC,UAAU,EAAGA,UAAY;UACzBC,UAAU,EAAGA,UAAY;UACzBC,gBAAgB,EAAGA,gBAAkB;UACrCC,SAAS,EAAGA,SAAW;UACvBC,SAAS,EAAGA,SAAW;UACvBI,iBAAiB,EAAGA,iBAAmB;UACvCF,WAAW,EAAGA,WAAa;UAC3BC,cAAc,EAAGA,cAAgB;UACjCF,eAAe,EAAGA,eAAiB;UACnCI,qBAAqB,EACpB,CAAE+D;QACF,GAxBKpE,SAAS,CAAEtB,IAAK,CAyBtB,CACA;MAAC,CACE,CAAC;IAAA,CACF,CAAC,eACR,IAAAF,WAAA,CAAAY,GAAA;MACCF,SAAS,EAAG,IAAAC,aAAI,EAAE;QACjB,mBAAmB,EAAEgE,SAAS;QAC9B,sBAAsB,EAAE,CAAE0B,OAAO,IAAI,CAAE1B;MACxC,CAAE,CAAG;MACLlE,EAAE,EAAGiF,aAAe;MAAA7E,QAAA,EAElB,CAAEwF,OAAO,iBACV,IAAArG,WAAA,CAAAY,GAAA;QAAAC,QAAA,EAAK8D,SAAS,gBAAG,IAAA3E,WAAA,CAAAY,GAAA,EAACtB,WAAA,CAAAmI,OAAO,IAAE,CAAC,GAAG,IAAAH,QAAE,EAAE,YAAa;MAAC,CAAK;IACtD,CACG,CAAC;EAAA,CACL,CAAC;AAEL;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAjE,OAAA,GAEcc,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_element","_keycodes","_dataviewsContext","_dataviewsSelectionCheckbox","_dataviewsItemActions","_constants","_dataviewsBulkActions","_columnHeaderMenu","_columnPrimary","_useIsHorizontalScrollEnd","_jsxRuntime","TableColumnField","item","fields","column","align","field","find","f","id","className","clsx","jsx","children","render","TableRow","hasBulkActions","level","actions","view","titleField","mediaField","descriptionField","selection","getItemId","isItemClickable","onClickItem","renderItemLink","onChangeSelection","isActionsColumnSticky","_view$fields","hasPossibleBulkAction","useHasAPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","useState","showTitle","showMedia","showDescription","handleMouseEnter","handleMouseLeave","isTouchDeviceRef","useRef","columns","hasPrimaryColumn","jsxs","onMouseEnter","onMouseLeave","onTouchStart","current","onClick","event","document","getSelection","type","isAppleOS","metaKey","ctrlKey","filter","itemId","default","disabled","undefined","map","_view$layout$styles$c","width","maxWidth","minWidth","layout","styles","style","length","e","stopPropagation","ViewTable","data","getItemLevel","isLoading","onChangeView","setOpenedFilter","_view$fields2","containerRef","useContext","DataViewsContext","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","useSomeItemHasAPossibleBulkAction","useEffect","focus","tableNoticeId","useId","isHorizontalScrollEnd","useIsHorizontalScrollEnd","scrollContainerRef","enabled","onHide","hidden","get","fallback","node","hasData","headerMenuRef","index","set","delete","Fragment","density","scope","BulkSelectionCheckbox","ref","fieldId","canMove","_view$layout$styles$c2","textAlign","sort","direction","sortValues","__","showLevels","toString","Spinner","_default","exports"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { isAppleOS } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\nimport { useIsHorizontalScrollEnd } from './use-is-horizontal-scroll-end';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n\talign?: 'start' | 'center' | 'end';\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tlevel?: number;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisActionsColumnSticky?: boolean;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n\talign,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\tconst className = clsx( 'dataviews-view-table__cell-content-wrapper', {\n\t\t'dataviews-view-table__cell-align-end': align === 'end',\n\t\t'dataviews-view-table__cell-align-center': align === 'center',\n\t} );\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<field.render item={ item } field={ field } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tlevel,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\trenderItemLink,\n\tonChangeSelection,\n\tisActionsColumnSticky,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tif ( isAppleOS() ? event.metaKey : event.ctrlKey ) {\n\t\t\t\t\t\t// Handle non-consecutive selection.\n\t\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t\t? selection.filter(\n\t\t\t\t\t\t\t\t\t\t( itemId ) => id !== itemId\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Handle single selection\n\t\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t\t? selection.filter(\n\t\t\t\t\t\t\t\t\t\t( itemId ) => id !== itemId\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: [ id ]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td className=\"dataviews-view-table__checkbox-column\">\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td\n\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName={ clsx( 'dataviews-view-table__actions-column', {\n\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky': true,\n\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\tisActionsColumnSticky,\n\t\t\t\t\t} ) }\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tview,\n\tclassName,\n}: ViewTableProps< Item > ) {\n\tconst { containerRef } = useContext( DataViewsContext );\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tconst isHorizontalScrollEnd = useIsHorizontalScrollEnd( {\n\t\tscrollContainerRef: containerRef,\n\t\tenabled: !! actions?.length,\n\t} );\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', className, {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky':\n\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\tisActionsColumnSticky={\n\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}