@wordpress/dataviews 4.9.1-next.cd6172eb0.0 → 4.10.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 (163) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +33 -58
  3. package/build/components/dataviews/index.js +1 -0
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-bulk-actions/index.js +30 -2
  6. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  7. package/build/components/dataviews-filters/add-filter.js +1 -0
  8. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  9. package/build/components/dataviews-filters/filter-summary.js +1 -0
  10. package/build/components/dataviews-filters/filter-summary.js.map +1 -1
  11. package/build/components/dataviews-filters/index.js +1 -0
  12. package/build/components/dataviews-filters/index.js.map +1 -1
  13. package/build/components/dataviews-filters/reset-filters.js +1 -0
  14. package/build/components/dataviews-filters/reset-filters.js.map +1 -1
  15. package/build/components/dataviews-filters/search-widget.js +1 -0
  16. package/build/components/dataviews-filters/search-widget.js.map +1 -1
  17. package/build/components/dataviews-item-actions/index.js +59 -75
  18. package/build/components/dataviews-item-actions/index.js.map +1 -1
  19. package/build/components/dataviews-layout/index.js +1 -0
  20. package/build/components/dataviews-layout/index.js.map +1 -1
  21. package/build/components/dataviews-pagination/index.js +1 -0
  22. package/build/components/dataviews-pagination/index.js.map +1 -1
  23. package/build/components/dataviews-selection-checkbox/index.js +4 -3
  24. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  25. package/build/components/dataviews-view-config/index.js +195 -126
  26. package/build/components/dataviews-view-config/index.js.map +1 -1
  27. package/build/dataforms-layouts/data-form-layout.js +1 -0
  28. package/build/dataforms-layouts/data-form-layout.js.map +1 -1
  29. package/build/dataforms-layouts/index.js +1 -0
  30. package/build/dataforms-layouts/index.js.map +1 -1
  31. package/build/dataforms-layouts/panel/index.js +1 -0
  32. package/build/dataforms-layouts/panel/index.js.map +1 -1
  33. package/build/dataforms-layouts/regular/index.js +1 -0
  34. package/build/dataforms-layouts/regular/index.js.map +1 -1
  35. package/build/dataviews-layouts/grid/index.js +102 -66
  36. package/build/dataviews-layouts/grid/index.js.map +1 -1
  37. package/build/dataviews-layouts/index.js +0 -60
  38. package/build/dataviews-layouts/index.js.map +1 -1
  39. package/build/dataviews-layouts/list/index.js +44 -17
  40. package/build/dataviews-layouts/list/index.js.map +1 -1
  41. package/build/dataviews-layouts/table/column-header-menu.js +20 -24
  42. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  43. package/build/dataviews-layouts/table/column-primary.js +55 -0
  44. package/build/dataviews-layouts/table/column-primary.js.map +1 -0
  45. package/build/dataviews-layouts/table/index.js +74 -88
  46. package/build/dataviews-layouts/table/index.js.map +1 -1
  47. package/build/dataviews-layouts/utils/get-clickable-item-props.js +2 -2
  48. package/build/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
  49. package/build/filter-and-sort-data-view.js +1 -0
  50. package/build/filter-and-sort-data-view.js.map +1 -1
  51. package/build/normalize-fields.js +1 -0
  52. package/build/normalize-fields.js.map +1 -1
  53. package/build/normalize-form-fields.js +1 -0
  54. package/build/normalize-form-fields.js.map +1 -1
  55. package/build/types.js.map +1 -1
  56. package/build/utils.js +1 -0
  57. package/build/utils.js.map +1 -1
  58. package/build/validation.js +1 -0
  59. package/build/validation.js.map +1 -1
  60. package/build-module/components/dataviews/index.js +1 -0
  61. package/build-module/components/dataviews/index.js.map +1 -1
  62. package/build-module/components/dataviews-bulk-actions/index.js +31 -3
  63. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  64. package/build-module/components/dataviews-filters/add-filter.js +1 -0
  65. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  66. package/build-module/components/dataviews-filters/filter-summary.js +1 -0
  67. package/build-module/components/dataviews-filters/filter-summary.js.map +1 -1
  68. package/build-module/components/dataviews-filters/index.js +1 -0
  69. package/build-module/components/dataviews-filters/index.js.map +1 -1
  70. package/build-module/components/dataviews-filters/reset-filters.js +1 -0
  71. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
  72. package/build-module/components/dataviews-filters/search-widget.js +1 -0
  73. package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
  74. package/build-module/components/dataviews-item-actions/index.js +60 -75
  75. package/build-module/components/dataviews-item-actions/index.js.map +1 -1
  76. package/build-module/components/dataviews-layout/index.js +1 -0
  77. package/build-module/components/dataviews-layout/index.js.map +1 -1
  78. package/build-module/components/dataviews-pagination/index.js +1 -0
  79. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  80. package/build-module/components/dataviews-selection-checkbox/index.js +4 -3
  81. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  82. package/build-module/components/dataviews-view-config/index.js +199 -130
  83. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  84. package/build-module/dataforms-layouts/data-form-layout.js +1 -0
  85. package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
  86. package/build-module/dataforms-layouts/index.js +1 -0
  87. package/build-module/dataforms-layouts/index.js.map +1 -1
  88. package/build-module/dataforms-layouts/panel/index.js +1 -0
  89. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  90. package/build-module/dataforms-layouts/regular/index.js +1 -0
  91. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  92. package/build-module/dataviews-layouts/grid/index.js +103 -67
  93. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  94. package/build-module/dataviews-layouts/index.js +0 -57
  95. package/build-module/dataviews-layouts/index.js.map +1 -1
  96. package/build-module/dataviews-layouts/list/index.js +44 -17
  97. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  98. package/build-module/dataviews-layouts/table/column-header-menu.js +20 -24
  99. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  100. package/build-module/dataviews-layouts/table/column-primary.js +48 -0
  101. package/build-module/dataviews-layouts/table/column-primary.js.map +1 -0
  102. package/build-module/dataviews-layouts/table/index.js +77 -91
  103. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  104. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js +2 -2
  105. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
  106. package/build-module/filter-and-sort-data-view.js +1 -0
  107. package/build-module/filter-and-sort-data-view.js.map +1 -1
  108. package/build-module/normalize-fields.js +1 -0
  109. package/build-module/normalize-fields.js.map +1 -1
  110. package/build-module/normalize-form-fields.js +1 -0
  111. package/build-module/normalize-form-fields.js.map +1 -1
  112. package/build-module/types.js.map +1 -1
  113. package/build-module/utils.js +1 -0
  114. package/build-module/utils.js.map +1 -1
  115. package/build-module/validation.js +1 -0
  116. package/build-module/validation.js.map +1 -1
  117. package/build-style/style-rtl.css +87 -75
  118. package/build-style/style.css +87 -75
  119. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  120. package/build-types/components/dataviews/stories/index.story.d.ts +0 -1
  121. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  122. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
  123. package/build-types/components/dataviews-item-actions/index.d.ts +7 -9
  124. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  125. package/build-types/components/dataviews-selection-checkbox/index.d.ts +2 -2
  126. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
  127. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  128. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  129. package/build-types/dataviews-layouts/index.d.ts +0 -4
  130. package/build-types/dataviews-layouts/index.d.ts.map +1 -1
  131. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  132. package/build-types/dataviews-layouts/table/column-header-menu.d.ts +1 -0
  133. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  134. package/build-types/dataviews-layouts/table/column-primary.d.ts +14 -0
  135. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -0
  136. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  137. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts +3 -3
  138. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts.map +1 -1
  139. package/build-types/types.d.ts +20 -39
  140. package/build-types/types.d.ts.map +1 -1
  141. package/build-wp/index.js +1185 -1317
  142. package/build.js +1 -1
  143. package/package.json +10 -10
  144. package/src/components/dataviews/stories/fixtures.tsx +0 -3
  145. package/src/components/dataviews/stories/index.story.tsx +14 -106
  146. package/src/components/dataviews/style.scss +33 -33
  147. package/src/components/dataviews-bulk-actions/index.tsx +43 -3
  148. package/src/components/dataviews-item-actions/index.tsx +84 -99
  149. package/src/components/dataviews-selection-checkbox/index.tsx +4 -4
  150. package/src/components/dataviews-view-config/index.tsx +301 -195
  151. package/src/components/dataviews-view-config/style.scss +17 -0
  152. package/src/dataviews-layouts/grid/index.tsx +136 -101
  153. package/src/dataviews-layouts/grid/style.scss +16 -25
  154. package/src/dataviews-layouts/index.ts +0 -88
  155. package/src/dataviews-layouts/list/index.tsx +62 -32
  156. package/src/dataviews-layouts/list/style.scss +5 -4
  157. package/src/dataviews-layouts/table/column-header-menu.tsx +94 -86
  158. package/src/dataviews-layouts/table/column-primary.tsx +58 -0
  159. package/src/dataviews-layouts/table/index.tsx +88 -133
  160. package/src/dataviews-layouts/table/style.scss +4 -0
  161. package/src/dataviews-layouts/utils/get-clickable-item-props.ts +9 -3
  162. package/src/types.ts +21 -46
  163. package/tsconfig.tsbuildinfo +1 -1
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -5,18 +6,18 @@
5
6
  /**
6
7
  * WordPress dependencies
7
8
  */
8
- import { Button, __experimentalDropdownContentWrapper as DropdownContentWrapper, Dropdown, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, SelectControl, __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalGrid as Grid, __experimentalVStack as VStack, __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalText as Text, privateApis as componentsPrivateApis, BaseControl } from '@wordpress/components';
9
+ import { Button, __experimentalDropdownContentWrapper as DropdownContentWrapper, Dropdown, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, SelectControl, __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalGrid as Grid, __experimentalVStack as VStack, __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalText as Text, privateApis as componentsPrivateApis, BaseControl, Icon } from '@wordpress/components';
9
10
  import { __, _x, sprintf } from '@wordpress/i18n';
10
11
  import { memo, useContext, useMemo } from '@wordpress/element';
11
- import { chevronDown, chevronUp, cog, seen, unseen } from '@wordpress/icons';
12
+ import { chevronDown, chevronUp, cog, seen, unseen, lock } from '@wordpress/icons';
12
13
  import warning from '@wordpress/warning';
13
14
  import { useInstanceId } from '@wordpress/compose';
14
15
 
15
16
  /**
16
17
  * Internal dependencies
17
18
  */
18
- import { SORTING_DIRECTIONS, LAYOUT_TABLE, sortIcons, sortLabels } from '../../constants';
19
- import { VIEW_LAYOUTS, getNotHidableFieldIds, getVisibleFieldIds, getHiddenFieldIds } from '../../dataviews-layouts';
19
+ import { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';
20
+ import { VIEW_LAYOUTS } from '../../dataviews-layouts';
20
21
  import DataViewsContext from '../dataviews-context';
21
22
  import { unlock } from '../../lock-unlock';
22
23
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
@@ -24,6 +25,7 @@ const {
24
25
  Menu
25
26
  } = unlock(componentsPrivateApis);
26
27
  const DATAVIEWS_CONFIG_POPOVER_PROPS = {
28
+ className: 'dataviews-config__popover',
27
29
  placement: 'bottom-end',
28
30
  offset: 9
29
31
  };
@@ -64,8 +66,15 @@ function ViewTypeMenu({
64
66
  case 'list':
65
67
  case 'grid':
66
68
  case 'table':
69
+ const viewWithoutLayout = {
70
+ ...view
71
+ };
72
+ if ('layout' in viewWithoutLayout) {
73
+ delete viewWithoutLayout.layout;
74
+ }
75
+ // @ts-expect-error
67
76
  return onChangeView({
68
- ...view,
77
+ ...viewWithoutLayout,
69
78
  type: e.target.value,
70
79
  ...defaultLayouts[e.target.value]
71
80
  });
@@ -186,175 +195,233 @@ function ItemsPerPageControl() {
186
195
  });
187
196
  }
188
197
  function FieldItem({
189
- field: {
190
- id,
191
- label,
192
- index,
193
- isVisible,
194
- isHidable
195
- },
196
- fields,
197
- view,
198
- onChangeView
198
+ field,
199
+ isVisible,
200
+ isFirst,
201
+ isLast,
202
+ canMove = true,
203
+ onToggleVisibility,
204
+ onMoveUp,
205
+ onMoveDown
199
206
  }) {
200
- const visibleFieldIds = getVisibleFieldIds(view, fields);
207
+ const focusVisibilityField = () => {
208
+ // Focus the visibility button to avoid focus loss.
209
+ // Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.
210
+ // eslint-disable-next-line @wordpress/react-no-unsafe-timeout
211
+ setTimeout(() => {
212
+ const element = document.querySelector(`.dataviews-field-control__field-${field.id} .dataviews-field-control__field-visibility-button`);
213
+ if (element instanceof HTMLElement) {
214
+ element.focus();
215
+ }
216
+ }, 50);
217
+ };
201
218
  return /*#__PURE__*/_jsx(Item, {
202
219
  children: /*#__PURE__*/_jsxs(HStack, {
203
220
  expanded: true,
204
- className: `dataviews-field-control__field dataviews-field-control__field-${id}`,
221
+ className: `dataviews-field-control__field dataviews-field-control__field-${field.id}`,
222
+ justify: "flex-start",
205
223
  children: [/*#__PURE__*/_jsx("span", {
206
- children: label
224
+ className: "dataviews-field-control__icon",
225
+ children: !canMove && !field.enableHiding && /*#__PURE__*/_jsx(Icon, {
226
+ icon: lock
227
+ })
228
+ }), /*#__PURE__*/_jsx("span", {
229
+ className: "dataviews-field-control__label",
230
+ children: field.label
207
231
  }), /*#__PURE__*/_jsxs(HStack, {
208
232
  justify: "flex-end",
209
233
  expanded: false,
210
234
  className: "dataviews-field-control__actions",
211
- children: [view.type === LAYOUT_TABLE && isVisible && /*#__PURE__*/_jsxs(_Fragment, {
235
+ children: [isVisible && /*#__PURE__*/_jsxs(_Fragment, {
212
236
  children: [/*#__PURE__*/_jsx(Button, {
213
- disabled: index < 1,
237
+ disabled: isFirst || !canMove,
214
238
  accessibleWhenDisabled: true,
215
239
  size: "compact",
216
- onClick: () => {
217
- var _visibleFieldIds$slic;
218
- onChangeView({
219
- ...view,
220
- fields: [...((_visibleFieldIds$slic = visibleFieldIds.slice(0, index - 1)) !== null && _visibleFieldIds$slic !== void 0 ? _visibleFieldIds$slic : []), id, visibleFieldIds[index - 1], ...visibleFieldIds.slice(index + 1)]
221
- });
222
- },
240
+ onClick: onMoveUp,
223
241
  icon: chevronUp,
224
- label: sprintf(/* translators: %s: field label */
225
- __('Move %s up'), label)
242
+ label: isFirst || !canMove ? __("This field can't be moved up") : sprintf(/* translators: %s: field label */
243
+ __('Move %s up'), field.label)
226
244
  }), /*#__PURE__*/_jsx(Button, {
227
- disabled: index >= visibleFieldIds.length - 1,
245
+ disabled: isLast || !canMove,
228
246
  accessibleWhenDisabled: true,
229
247
  size: "compact",
230
- onClick: () => {
231
- var _visibleFieldIds$slic2;
232
- onChangeView({
233
- ...view,
234
- fields: [...((_visibleFieldIds$slic2 = visibleFieldIds.slice(0, index)) !== null && _visibleFieldIds$slic2 !== void 0 ? _visibleFieldIds$slic2 : []), visibleFieldIds[index + 1], id, ...visibleFieldIds.slice(index + 2)]
235
- });
236
- },
248
+ onClick: onMoveDown,
237
249
  icon: chevronDown,
238
- label: sprintf(/* translators: %s: field label */
239
- __('Move %s down'), label)
240
- }), ' ']
241
- }), /*#__PURE__*/_jsx(Button, {
250
+ label: isLast || !canMove ? __("This field can't be moved down") : sprintf(/* translators: %s: field label */
251
+ __('Move %s down'), field.label)
252
+ })]
253
+ }), onToggleVisibility && /*#__PURE__*/_jsx(Button, {
242
254
  className: "dataviews-field-control__field-visibility-button",
243
- disabled: !isHidable,
255
+ disabled: !field.enableHiding,
244
256
  accessibleWhenDisabled: true,
245
257
  size: "compact",
246
258
  onClick: () => {
247
- onChangeView({
248
- ...view,
249
- fields: isVisible ? visibleFieldIds.filter(fieldId => fieldId !== id) : [...visibleFieldIds, id]
250
- });
251
- // Focus the visibility button to avoid focus loss.
252
- // Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.
253
- // eslint-disable-next-line @wordpress/react-no-unsafe-timeout
254
- setTimeout(() => {
255
- const element = document.querySelector(`.dataviews-field-control__field-${id} .dataviews-field-control__field-visibility-button`);
256
- if (element instanceof HTMLElement) {
257
- element.focus();
258
- }
259
- }, 50);
259
+ onToggleVisibility();
260
+ focusVisibilityField();
260
261
  },
261
262
  icon: isVisible ? unseen : seen,
262
263
  label: isVisible ? sprintf(/* translators: %s: field label */
263
- _x('Hide %s', 'field'), label) : sprintf(/* translators: %s: field label */
264
- _x('Show %s', 'field'), label)
264
+ _x('Hide %s', 'field'), field.label) : sprintf(/* translators: %s: field label */
265
+ _x('Show %s', 'field'), field.label)
265
266
  })]
266
267
  })]
267
268
  })
268
- }, id);
269
+ });
270
+ }
271
+ function RegularFieldItem({
272
+ index,
273
+ field,
274
+ view,
275
+ onChangeView
276
+ }) {
277
+ var _view$fields;
278
+ const visibleFieldIds = (_view$fields = view.fields) !== null && _view$fields !== void 0 ? _view$fields : [];
279
+ const isVisible = index !== undefined && visibleFieldIds.includes(field.id);
280
+ return /*#__PURE__*/_jsx(FieldItem, {
281
+ field: field,
282
+ isVisible: isVisible,
283
+ isFirst: index !== undefined && index < 1,
284
+ isLast: index !== undefined && index === visibleFieldIds.length - 1,
285
+ onToggleVisibility: () => {
286
+ onChangeView({
287
+ ...view,
288
+ fields: isVisible ? visibleFieldIds.filter(fieldId => fieldId !== field.id) : [...visibleFieldIds, field.id]
289
+ });
290
+ },
291
+ onMoveUp: index !== undefined ? () => {
292
+ var _visibleFieldIds$slic;
293
+ onChangeView({
294
+ ...view,
295
+ fields: [...((_visibleFieldIds$slic = visibleFieldIds.slice(0, index - 1)) !== null && _visibleFieldIds$slic !== void 0 ? _visibleFieldIds$slic : []), field.id, visibleFieldIds[index - 1], ...visibleFieldIds.slice(index + 1)]
296
+ });
297
+ } : undefined,
298
+ onMoveDown: index !== undefined ? () => {
299
+ var _visibleFieldIds$slic2;
300
+ onChangeView({
301
+ ...view,
302
+ fields: [...((_visibleFieldIds$slic2 = visibleFieldIds.slice(0, index)) !== null && _visibleFieldIds$slic2 !== void 0 ? _visibleFieldIds$slic2 : []), visibleFieldIds[index + 1], field.id, ...visibleFieldIds.slice(index + 2)]
303
+ });
304
+ } : undefined
305
+ });
306
+ }
307
+ function isDefined(item) {
308
+ return !!item;
269
309
  }
270
310
  function FieldControl() {
311
+ var _view$fields2;
271
312
  const {
272
313
  view,
273
314
  fields,
274
315
  onChangeView
275
316
  } = useContext(DataViewsContext);
276
- const visibleFieldIds = useMemo(() => getVisibleFieldIds(view, fields), [view, fields]);
277
- const hiddenFieldIds = useMemo(() => getHiddenFieldIds(view, fields), [view, fields]);
278
- const notHidableFieldIds = useMemo(() => getNotHidableFieldIds(view), [view]);
279
- const visibleFields = fields.filter(({
280
- id
281
- }) => visibleFieldIds.includes(id)).map(({
282
- id,
283
- label,
284
- enableHiding
285
- }) => {
286
- return {
287
- id,
288
- label,
289
- index: visibleFieldIds.indexOf(id),
290
- isVisible: true,
291
- isHidable: notHidableFieldIds.includes(id) ? false : enableHiding
292
- };
293
- });
294
- if (view.type === LAYOUT_TABLE && view.layout?.combinedFields) {
295
- view.layout.combinedFields.forEach(({
296
- id,
297
- label
298
- }) => {
299
- visibleFields.push({
300
- id,
301
- label,
302
- index: visibleFieldIds.indexOf(id),
303
- isVisible: true,
304
- isHidable: notHidableFieldIds.includes(id)
305
- });
306
- });
307
- }
308
- visibleFields.sort((a, b) => a.index - b.index);
309
- const hiddenFields = fields.filter(({
310
- id
311
- }) => hiddenFieldIds.includes(id)).map(({
312
- id,
313
- label,
314
- enableHiding
315
- }, index) => {
316
- return {
317
- id,
318
- label,
319
- index,
320
- isVisible: false,
321
- isHidable: enableHiding
322
- };
323
- });
317
+ const togglableFields = [view?.titleField, view?.mediaField, view?.descriptionField].filter(Boolean);
318
+ const visibleFieldIds = (_view$fields2 = view.fields) !== null && _view$fields2 !== void 0 ? _view$fields2 : [];
319
+ const hiddenFields = fields.filter(f => !visibleFieldIds.includes(f.id) && !togglableFields.includes(f.id));
320
+ const visibleFields = visibleFieldIds.map(fieldId => fields.find(f => f.id === fieldId)).filter(isDefined);
324
321
  if (!visibleFields?.length && !hiddenFields?.length) {
325
322
  return null;
326
323
  }
324
+ const titleField = fields.find(f => f.id === view.titleField);
325
+ const mediaField = fields.find(f => f.id === view.mediaField);
326
+ const descriptionField = fields.find(f => f.id === view.descriptionField);
327
+ const lockedFields = [{
328
+ field: titleField,
329
+ isVisibleFlag: 'showTitle'
330
+ }, {
331
+ field: mediaField,
332
+ isVisibleFlag: 'showMedia'
333
+ }, {
334
+ field: descriptionField,
335
+ isVisibleFlag: 'showDescription'
336
+ }].filter(({
337
+ field
338
+ }) => isDefined(field));
339
+ const visibleLockedFields = lockedFields.filter(({
340
+ field,
341
+ isVisibleFlag
342
+ }) => {
343
+ var _view$isVisibleFlag;
344
+ return (
345
+ // @ts-expect-error
346
+ isDefined(field) && ((_view$isVisibleFlag = view[isVisibleFlag]) !== null && _view$isVisibleFlag !== void 0 ? _view$isVisibleFlag : true)
347
+ );
348
+ });
349
+ const hiddenLockedFields = lockedFields.filter(({
350
+ field,
351
+ isVisibleFlag
352
+ }) => {
353
+ var _view$isVisibleFlag2;
354
+ return (
355
+ // @ts-expect-error
356
+ isDefined(field) && !((_view$isVisibleFlag2 = view[isVisibleFlag]) !== null && _view$isVisibleFlag2 !== void 0 ? _view$isVisibleFlag2 : true)
357
+ );
358
+ });
327
359
  return /*#__PURE__*/_jsxs(VStack, {
328
- spacing: 6,
329
360
  className: "dataviews-field-control",
330
- children: [!!visibleFields?.length && /*#__PURE__*/_jsx(ItemGroup, {
331
- isBordered: true,
332
- isSeparated: true,
333
- children: visibleFields.map(field => /*#__PURE__*/_jsx(FieldItem, {
334
- field: field,
335
- fields: fields,
336
- view: view,
337
- onChangeView: onChangeView
338
- }, field.id))
339
- }), !!hiddenFields?.length && /*#__PURE__*/_jsx(_Fragment, {
340
- children: /*#__PURE__*/_jsxs(VStack, {
341
- spacing: 4,
342
- children: [/*#__PURE__*/_jsx(BaseControl.VisualLabel, {
343
- style: {
344
- margin: 0
345
- },
346
- children: __('Hidden')
347
- }), /*#__PURE__*/_jsx(ItemGroup, {
361
+ spacing: 6,
362
+ children: [/*#__PURE__*/_jsx(VStack, {
363
+ className: "dataviews-view-config__properties",
364
+ spacing: 0,
365
+ children: (visibleLockedFields.length > 0 || !!visibleFields?.length) && /*#__PURE__*/_jsxs(ItemGroup, {
366
+ isBordered: true,
367
+ isSeparated: true,
368
+ children: [visibleLockedFields.map(({
369
+ field,
370
+ isVisibleFlag
371
+ }) => {
372
+ return /*#__PURE__*/_jsx(FieldItem, {
373
+ field: field,
374
+ isVisible: true,
375
+ onToggleVisibility: () => {
376
+ onChangeView({
377
+ ...view,
378
+ [isVisibleFlag]: false
379
+ });
380
+ },
381
+ canMove: false
382
+ }, field.id);
383
+ }), visibleFields.map((field, index) => /*#__PURE__*/_jsx(RegularFieldItem, {
384
+ field: field,
385
+ view: view,
386
+ onChangeView: onChangeView,
387
+ index: index
388
+ }, field.id))]
389
+ })
390
+ }), (!!hiddenFields?.length || !!hiddenLockedFields.length) && /*#__PURE__*/_jsxs(VStack, {
391
+ spacing: 4,
392
+ children: [/*#__PURE__*/_jsx(BaseControl.VisualLabel, {
393
+ style: {
394
+ margin: 0
395
+ },
396
+ children: __('Hidden')
397
+ }), /*#__PURE__*/_jsx(VStack, {
398
+ className: "dataviews-view-config__properties",
399
+ spacing: 0,
400
+ children: /*#__PURE__*/_jsxs(ItemGroup, {
348
401
  isBordered: true,
349
402
  isSeparated: true,
350
- children: hiddenFields.map(field => /*#__PURE__*/_jsx(FieldItem, {
403
+ children: [hiddenLockedFields.length > 0 && hiddenLockedFields.map(({
404
+ field,
405
+ isVisibleFlag
406
+ }) => {
407
+ return /*#__PURE__*/_jsx(FieldItem, {
408
+ field: field,
409
+ isVisible: false,
410
+ onToggleVisibility: () => {
411
+ onChangeView({
412
+ ...view,
413
+ [isVisibleFlag]: true
414
+ });
415
+ },
416
+ canMove: false
417
+ }, field.id);
418
+ }), hiddenFields.map(field => /*#__PURE__*/_jsx(RegularFieldItem, {
351
419
  field: field,
352
- fields: fields,
353
420
  view: view,
354
421
  onChangeView: onChangeView
355
- }, field.id))
356
- })]
357
- })
422
+ }, field.id))]
423
+ })
424
+ })]
358
425
  })]
359
426
  });
360
427
  }
@@ -393,6 +460,7 @@ function DataviewsViewConfigDropdown() {
393
460
  const popoverId = useInstanceId(_DataViewsViewConfig, 'dataviews-view-config-dropdown');
394
461
  const activeLayout = VIEW_LAYOUTS.find(layout => layout.type === view.type);
395
462
  return /*#__PURE__*/_jsx(Dropdown, {
463
+ expandOnMobile: true,
396
464
  popoverProps: {
397
465
  ...DATAVIEWS_CONFIG_POPOVER_PROPS,
398
466
  id: popoverId
@@ -412,6 +480,7 @@ function DataviewsViewConfigDropdown() {
412
480
  },
413
481
  renderContent: () => /*#__PURE__*/_jsx(DropdownContentWrapper, {
414
482
  paddingSize: "medium",
483
+ className: "dataviews-config__popover-content-wrapper",
415
484
  children: /*#__PURE__*/_jsxs(VStack, {
416
485
  className: "dataviews-view-config",
417
486
  spacing: 6,
@@ -1 +1 @@
1
- {"version":3,"names":["Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","warning","useInstanceId","SORTING_DIRECTIONS","LAYOUT_TABLE","sortIcons","sortLabels","VIEW_LAYOUTS","getNotHidableFieldIds","getVisibleFieldIds","getHiddenFieldIds","DataViewsContext","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","placement","offset","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","trigger","size","icon","label","children","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","className","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","index","isVisible","isHidable","visibleFieldIds","expanded","justify","accessibleWhenDisabled","onClick","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","fieldId","setTimeout","element","document","querySelector","HTMLElement","focus","FieldControl","hiddenFieldIds","notHidableFieldIds","visibleFields","includes","enableHiding","indexOf","combinedFields","forEach","push","a","b","hiddenFields","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport { chevronDown, chevronUp, cog, seen, unseen } from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSORTING_DIRECTIONS,\n\tLAYOUT_TABLE,\n\tsortIcons,\n\tsortLabels,\n} from '../../constants';\nimport {\n\tVIEW_LAYOUTS,\n\tgetNotHidableFieldIds,\n\tgetVisibleFieldIds,\n\tgetHiddenFieldIds,\n} from '../../dataviews-layouts';\nimport type { SupportedLayouts, View, Field } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = { placement: 'bottom-end', offset: 9 };\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\t\t\tif ( ! config ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Menu.ItemLabel>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\ninterface FieldItemProps {\n\tid: any;\n\tlabel: string;\n\tindex: number;\n\tisVisible: boolean;\n\tisHidable: boolean;\n}\n\nfunction FieldItem( {\n\tfield: { id, label, index, isVisible, isHidable },\n\tfields,\n\tview,\n\tonChangeView,\n}: {\n\tfield: FieldItemProps;\n\tfields: Field< any >[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = getVisibleFieldIds( view, fields );\n\n\treturn (\n\t\t<Item key={ id }>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ id }` }\n\t\t\t>\n\t\t\t\t<span>{ label }</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ view.type === LAYOUT_TABLE && isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\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\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\tlabel\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<Button\n\t\t\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\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\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\tlabel\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) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\tdisabled={ ! isHidable }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== id\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [ ...visibleFieldIds, id ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t// Focus the visibility button to avoid focus loss.\n\t\t\t\t\t\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t\t\t\t\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\t\tconst element = document.querySelector(\n\t\t\t\t\t\t\t\t\t`.dataviews-field-control__field-${ id } .dataviews-field-control__field-visibility-button`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\t\t\t\t\t\telement.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 50 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst visibleFieldIds = useMemo(\n\t\t() => getVisibleFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst hiddenFieldIds = useMemo(\n\t\t() => getHiddenFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst notHidableFieldIds = useMemo(\n\t\t() => getNotHidableFieldIds( view ),\n\t\t[ view ]\n\t);\n\n\tconst visibleFields = fields\n\t\t.filter( ( { id } ) => visibleFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding } ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id )\n\t\t\t\t\t? false\n\t\t\t\t\t: enableHiding,\n\t\t\t};\n\t\t} );\n\tif ( view.type === LAYOUT_TABLE && view.layout?.combinedFields ) {\n\t\tview.layout.combinedFields.forEach( ( { id, label } ) => {\n\t\t\tvisibleFields.push( {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id ),\n\t\t\t} );\n\t\t} );\n\t}\n\tvisibleFields.sort( ( a, b ) => a.index - b.index );\n\n\tconst hiddenFields = fields\n\t\t.filter( ( { id } ) => hiddenFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding }, index ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex,\n\t\t\t\tisVisible: false,\n\t\t\t\tisHidable: enableHiding,\n\t\t\t};\n\t\t} );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 6 } className=\"dataviews-field-control\">\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t) }\n\t\t\t{ !! hiddenFields?.length && (\n\t\t\t\t<>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","Icon","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","lock","warning","useInstanceId","SORTING_DIRECTIONS","sortIcons","sortLabels","VIEW_LAYOUTS","DataViewsContext","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","className","placement","offset","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","trigger","size","icon","label","children","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","viewWithoutLayout","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","isVisible","isFirst","isLast","canMove","onToggleVisibility","onMoveUp","onMoveDown","focusVisibilityField","setTimeout","element","document","querySelector","HTMLElement","focus","expanded","justify","enableHiding","accessibleWhenDisabled","onClick","RegularFieldItem","index","_view$fields","visibleFieldIds","includes","fieldId","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","isDefined","item","FieldControl","_view$fields2","togglableFields","titleField","mediaField","descriptionField","Boolean","hiddenFields","f","visibleFields","lockedFields","isVisibleFlag","visibleLockedFields","_view$isVisibleFlag","hiddenLockedFields","_view$isVisibleFlag2","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","expandOnMobile","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tcog,\n\tseen,\n\tunseen,\n\tlock,\n} from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { NormalizedField, SupportedLayouts, View } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = {\n\tclassName: 'dataviews-config__popover',\n\tplacement: 'bottom-end',\n\toffset: 9,\n};\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\t\t\tif ( ! config ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\tconst viewWithoutLayout = { ...view };\n\t\t\t\t\t\t\t\t\tif ( 'layout' in viewWithoutLayout ) {\n\t\t\t\t\t\t\t\t\t\tdelete viewWithoutLayout.layout;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t...viewWithoutLayout,\n\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Menu.ItemLabel>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FieldItem( {\n\tfield,\n\tisVisible,\n\tisFirst,\n\tisLast,\n\tcanMove = true,\n\tonToggleVisibility,\n\tonMoveUp,\n\tonMoveDown,\n}: {\n\tfield: NormalizedField< any >;\n\tisVisible: boolean;\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tcanMove?: boolean;\n\tonToggleVisibility?: () => void;\n\tonMoveUp?: () => void;\n\tonMoveDown?: () => void;\n} ) {\n\tconst focusVisibilityField = () => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ field.id } .dataviews-field-control__field-visibility-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\n\treturn (\n\t\t<Item>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ field.id }` }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<span className=\"dataviews-field-control__icon\">\n\t\t\t\t\t{ ! canMove && ! field.enableHiding && (\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<span className=\"dataviews-field-control__label\">\n\t\t\t\t\t{ field.label }\n\t\t\t\t</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isFirst || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveUp }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisFirst || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved up\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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<Button\n\t\t\t\t\t\t\t\tdisabled={ isLast || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveDown }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisLast || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved down\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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) }\n\t\t\t\t\t{ onToggleVisibility && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\t\tdisabled={ ! field.enableHiding }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonToggleVisibility();\n\t\t\t\t\t\t\t\tfocusVisibilityField();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction RegularFieldItem( {\n\tindex,\n\tfield,\n\tview,\n\tonChangeView,\n}: {\n\tindex?: number;\n\tfield: NormalizedField< any >;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst isVisible =\n\t\tindex !== undefined && visibleFieldIds.includes( field.id );\n\n\treturn (\n\t\t<FieldItem\n\t\t\tfield={ field }\n\t\t\tisVisible={ isVisible }\n\t\t\tisFirst={ index !== undefined && index < 1 }\n\t\t\tisLast={\n\t\t\t\tindex !== undefined && index === visibleFieldIds.length - 1\n\t\t\t}\n\t\t\tonToggleVisibility={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== field.id\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [ ...visibleFieldIds, field.id ],\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonMoveUp={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 1 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonMoveDown={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 2 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst togglableFields = [\n\t\tview?.titleField,\n\t\tview?.mediaField,\n\t\tview?.descriptionField,\n\t].filter( Boolean );\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst hiddenFields = fields.filter(\n\t\t( f ) =>\n\t\t\t! visibleFieldIds.includes( f.id ) &&\n\t\t\t! togglableFields.includes( f.id )\n\t);\n\tconst visibleFields = visibleFieldIds\n\t\t.map( ( fieldId ) => fields.find( ( f ) => f.id === fieldId ) )\n\t\t.filter( isDefined );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\tconst titleField = fields.find( ( f ) => f.id === view.titleField );\n\tconst mediaField = fields.find( ( f ) => f.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( f ) => f.id === view.descriptionField\n\t);\n\tconst lockedFields = [\n\t\t{\n\t\t\tfield: titleField,\n\t\t\tisVisibleFlag: 'showTitle',\n\t\t},\n\t\t{\n\t\t\tfield: mediaField,\n\t\t\tisVisibleFlag: 'showMedia',\n\t\t},\n\t\t{\n\t\t\tfield: descriptionField,\n\t\t\tisVisibleFlag: 'showDescription',\n\t\t},\n\t].filter( ( { field } ) => isDefined( field ) );\n\tconst visibleLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\tconst hiddenLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ! ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\n\treturn (\n\t\t<VStack className=\"dataviews-field-control\" spacing={ 6 }>\n\t\t\t<VStack className=\"dataviews-view-config__properties\" spacing={ 0 }>\n\t\t\t\t{ ( visibleLockedFields.length > 0 ||\n\t\t\t\t\t!! visibleFields?.length ) && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ visibleLockedFields.map(\n\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t[ isVisibleFlag ]: false,\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\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}\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\n\t\t\t{ ( !! hiddenFields?.length || !! hiddenLockedFields.length ) && (\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-config__properties\"\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenLockedFields.length > 0 &&\n\t\t\t\t\t\t\t\thiddenLockedFields.map(\n\t\t\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t\tisVisible={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ isVisibleFlag ]: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\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{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\texpandOnMobile\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"dataviews-config__popover-content-wrapper\"\n\t\t\t\t>\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalVStack","VStack","useContext","useMemo","getFormFieldLayout","DataFormContext","isCombinedField","normalizeFormFields","jsx","_jsx","DataFormLayout","data","form","onChange","children","fields","fieldDefinitions","getFieldDefinition","field","fieldId","id","find","fieldDefinition","normalizedFormFields","spacing","map","formField","FieldLayout","layout","component","undefined","isVisible"],"sources":["@wordpress/dataviews/src/dataforms-layouts/data-form-layout.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { Form, FormField, SimpleFormField } from '../types';\nimport { getFormFieldLayout } from './index';\nimport DataFormContext from '../components/dataform-context';\nimport { isCombinedField } from './is-combined-field';\nimport normalizeFormFields from '../normalize-form-fields';\n\nexport function DataFormLayout< Item >( {\n\tdata,\n\tform,\n\tonChange,\n\tchildren,\n}: {\n\tdata: Item;\n\tform: Form;\n\tonChange: ( value: any ) => void;\n\tchildren?: (\n\t\tFieldLayout: ( props: {\n\t\t\tdata: Item;\n\t\t\tfield: FormField;\n\t\t\tonChange: ( value: any ) => void;\n\t\t\thideLabelFromVision?: boolean;\n\t\t} ) => React.JSX.Element | null,\n\t\tfield: FormField\n\t) => React.JSX.Element;\n} ) {\n\tconst { fields: fieldDefinitions } = useContext( DataFormContext );\n\n\tfunction getFieldDefinition( field: SimpleFormField | string ) {\n\t\tconst fieldId = typeof field === 'string' ? field : field.id;\n\n\t\treturn fieldDefinitions.find(\n\t\t\t( fieldDefinition ) => fieldDefinition.id === fieldId\n\t\t);\n\t}\n\n\tconst normalizedFormFields = useMemo(\n\t\t() => normalizeFormFields( form ),\n\t\t[ form ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ normalizedFormFields.map( ( formField ) => {\n\t\t\t\tconst FieldLayout = getFormFieldLayout( formField.layout )\n\t\t\t\t\t?.component;\n\n\t\t\t\tif ( ! FieldLayout ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst fieldDefinition = ! isCombinedField( formField )\n\t\t\t\t\t? getFieldDefinition( formField )\n\t\t\t\t\t: undefined;\n\n\t\t\t\tif (\n\t\t\t\t\tfieldDefinition &&\n\t\t\t\t\tfieldDefinition.isVisible &&\n\t\t\t\t\t! fieldDefinition.isVisible( data )\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif ( children ) {\n\t\t\t\t\treturn children( FieldLayout, formField );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<FieldLayout\n\t\t\t\t\t\tkey={ formField.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ formField }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,EAAEC,OAAO,QAAQ,oBAAoB;;AAExD;AACA;AACA;;AAEA,SAASC,kBAAkB,QAAQ,SAAS;AAC5C,OAAOC,eAAe,MAAM,gCAAgC;AAC5D,SAASC,eAAe,QAAQ,qBAAqB;AACrD,OAAOC,mBAAmB,MAAM,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,SAASC,cAAcA,CAAU;EACvCC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC;AAcD,CAAC,EAAG;EACH,MAAM;IAAEC,MAAM,EAAEC;EAAiB,CAAC,GAAGd,UAAU,CAAEG,eAAgB,CAAC;EAElE,SAASY,kBAAkBA,CAAEC,KAA+B,EAAG;IAC9D,MAAMC,OAAO,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACE,EAAE;IAE5D,OAAOJ,gBAAgB,CAACK,IAAI,CACzBC,eAAe,IAAMA,eAAe,CAACF,EAAE,KAAKD,OAC/C,CAAC;EACF;EAEA,MAAMI,oBAAoB,GAAGpB,OAAO,CACnC,MAAMI,mBAAmB,CAAEK,IAAK,CAAC,EACjC,CAAEA,IAAI,CACP,CAAC;EAED,oBACCH,IAAA,CAACR,MAAM;IAACuB,OAAO,EAAG,CAAG;IAAAV,QAAA,EAClBS,oBAAoB,CAACE,GAAG,CAAIC,SAAS,IAAM;MAC5C,MAAMC,WAAW,GAAGvB,kBAAkB,CAAEsB,SAAS,CAACE,MAAO,CAAC,EACvDC,SAAS;MAEZ,IAAK,CAAEF,WAAW,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAML,eAAe,GAAG,CAAEhB,eAAe,CAAEoB,SAAU,CAAC,GACnDT,kBAAkB,CAAES,SAAU,CAAC,GAC/BI,SAAS;MAEZ,IACCR,eAAe,IACfA,eAAe,CAACS,SAAS,IACzB,CAAET,eAAe,CAACS,SAAS,CAAEpB,IAAK,CAAC,EAClC;QACD,OAAO,IAAI;MACZ;MAEA,IAAKG,QAAQ,EAAG;QACf,OAAOA,QAAQ,CAAEa,WAAW,EAAED,SAAU,CAAC;MAC1C;MAEA,oBACCjB,IAAA,CAACkB,WAAW;QAEXhB,IAAI,EAAGA,IAAM;QACbO,KAAK,EAAGQ,SAAW;QACnBb,QAAQ,EAAGA;MAAU,GAHfa,SAAS,CAACN,EAIhB,CAAC;IAEJ,CAAE;EAAC,CACI,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["__experimentalVStack","VStack","useContext","useMemo","getFormFieldLayout","DataFormContext","isCombinedField","normalizeFormFields","jsx","_jsx","DataFormLayout","data","form","onChange","children","fields","fieldDefinitions","getFieldDefinition","field","fieldId","id","find","fieldDefinition","normalizedFormFields","spacing","map","formField","FieldLayout","layout","component","undefined","isVisible"],"sources":["@wordpress/dataviews/src/dataforms-layouts/data-form-layout.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { Form, FormField, SimpleFormField } from '../types';\nimport { getFormFieldLayout } from './index';\nimport DataFormContext from '../components/dataform-context';\nimport { isCombinedField } from './is-combined-field';\nimport normalizeFormFields from '../normalize-form-fields';\n\nexport function DataFormLayout< Item >( {\n\tdata,\n\tform,\n\tonChange,\n\tchildren,\n}: {\n\tdata: Item;\n\tform: Form;\n\tonChange: ( value: any ) => void;\n\tchildren?: (\n\t\tFieldLayout: ( props: {\n\t\t\tdata: Item;\n\t\t\tfield: FormField;\n\t\t\tonChange: ( value: any ) => void;\n\t\t\thideLabelFromVision?: boolean;\n\t\t} ) => React.JSX.Element | null,\n\t\tfield: FormField\n\t) => React.JSX.Element;\n} ) {\n\tconst { fields: fieldDefinitions } = useContext( DataFormContext );\n\n\tfunction getFieldDefinition( field: SimpleFormField | string ) {\n\t\tconst fieldId = typeof field === 'string' ? field : field.id;\n\n\t\treturn fieldDefinitions.find(\n\t\t\t( fieldDefinition ) => fieldDefinition.id === fieldId\n\t\t);\n\t}\n\n\tconst normalizedFormFields = useMemo(\n\t\t() => normalizeFormFields( form ),\n\t\t[ form ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ normalizedFormFields.map( ( formField ) => {\n\t\t\t\tconst FieldLayout = getFormFieldLayout( formField.layout )\n\t\t\t\t\t?.component;\n\n\t\t\t\tif ( ! FieldLayout ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst fieldDefinition = ! isCombinedField( formField )\n\t\t\t\t\t? getFieldDefinition( formField )\n\t\t\t\t\t: undefined;\n\n\t\t\t\tif (\n\t\t\t\t\tfieldDefinition &&\n\t\t\t\t\tfieldDefinition.isVisible &&\n\t\t\t\t\t! fieldDefinition.isVisible( data )\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif ( children ) {\n\t\t\t\t\treturn children( FieldLayout, formField );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<FieldLayout\n\t\t\t\t\t\tkey={ formField.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ formField }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,EAAEC,OAAO,QAAQ,oBAAoB;;AAExD;AACA;AACA;;AAEA,SAASC,kBAAkB,QAAQ,SAAS;AAC5C,OAAOC,eAAe,MAAM,gCAAgC;AAC5D,SAASC,eAAe,QAAQ,qBAAqB;AACrD,OAAOC,mBAAmB,MAAM,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,SAASC,cAAcA,CAAU;EACvCC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC;AAcD,CAAC,EAAG;EACH,MAAM;IAAEC,MAAM,EAAEC;EAAiB,CAAC,GAAGd,UAAU,CAAEG,eAAgB,CAAC;EAElE,SAASY,kBAAkBA,CAAEC,KAA+B,EAAG;IAC9D,MAAMC,OAAO,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACE,EAAE;IAE5D,OAAOJ,gBAAgB,CAACK,IAAI,CACzBC,eAAe,IAAMA,eAAe,CAACF,EAAE,KAAKD,OAC/C,CAAC;EACF;EAEA,MAAMI,oBAAoB,GAAGpB,OAAO,CACnC,MAAMI,mBAAmB,CAAEK,IAAK,CAAC,EACjC,CAAEA,IAAI,CACP,CAAC;EAED,oBACCH,IAAA,CAACR,MAAM;IAACuB,OAAO,EAAG,CAAG;IAAAV,QAAA,EAClBS,oBAAoB,CAACE,GAAG,CAAIC,SAAS,IAAM;MAC5C,MAAMC,WAAW,GAAGvB,kBAAkB,CAAEsB,SAAS,CAACE,MAAO,CAAC,EACvDC,SAAS;MAEZ,IAAK,CAAEF,WAAW,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAML,eAAe,GAAG,CAAEhB,eAAe,CAAEoB,SAAU,CAAC,GACnDT,kBAAkB,CAAES,SAAU,CAAC,GAC/BI,SAAS;MAEZ,IACCR,eAAe,IACfA,eAAe,CAACS,SAAS,IACzB,CAAET,eAAe,CAACS,SAAS,CAAEpB,IAAK,CAAC,EAClC;QACD,OAAO,IAAI;MACZ;MAEA,IAAKG,QAAQ,EAAG;QACf,OAAOA,QAAQ,CAAEa,WAAW,EAAED,SAAU,CAAC;MAC1C;MAEA,oBACCjB,IAAA,CAACkB,WAAW;QAEXhB,IAAI,EAAGA,IAAM;QACbO,KAAK,EAAGQ,SAAW;QACnBb,QAAQ,EAAGA;MAAU,GAHfa,SAAS,CAACN,EAIhB,CAAC;IAEJ,CAAE;EAAC,CACI,CAAC;AAEX","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */