@wordpress/dataviews 4.1.0 → 4.2.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 (170) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +31 -23
  3. package/build/components/dataviews/index.js +9 -11
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-filters/index.js +3 -0
  6. package/build/components/dataviews-filters/index.js.map +1 -1
  7. package/build/components/dataviews-filters/search-widget.js +2 -5
  8. package/build/components/dataviews-filters/search-widget.js.map +1 -1
  9. package/build/components/dataviews-pagination/index.js +23 -15
  10. package/build/components/dataviews-pagination/index.js.map +1 -1
  11. package/build/components/dataviews-view-config/index.js +26 -9
  12. package/build/components/dataviews-view-config/index.js.map +1 -1
  13. package/build/dataform-controls/datetime.js +49 -0
  14. package/build/dataform-controls/datetime.js.map +1 -0
  15. package/build/dataform-controls/index.js +50 -0
  16. package/build/dataform-controls/index.js.map +1 -0
  17. package/build/dataform-controls/integer.js +45 -0
  18. package/build/dataform-controls/integer.js.map +1 -0
  19. package/build/dataform-controls/radio.js +45 -0
  20. package/build/dataform-controls/radio.js.map +1 -0
  21. package/build/dataform-controls/select.js +58 -0
  22. package/build/dataform-controls/select.js.map +1 -0
  23. package/build/dataform-controls/text.js +45 -0
  24. package/build/dataform-controls/text.js.map +1 -0
  25. package/build/dataforms-layouts/panel/index.js +6 -3
  26. package/build/dataforms-layouts/panel/index.js.map +1 -1
  27. package/build/dataforms-layouts/regular/index.js +6 -3
  28. package/build/dataforms-layouts/regular/index.js.map +1 -1
  29. package/build/dataviews-layouts/grid/density-picker.js +23 -52
  30. package/build/dataviews-layouts/grid/density-picker.js.map +1 -1
  31. package/build/dataviews-layouts/grid/index.js +1 -1
  32. package/build/dataviews-layouts/grid/index.js.map +1 -1
  33. package/build/dataviews-layouts/list/index.js +6 -2
  34. package/build/dataviews-layouts/list/index.js.map +1 -1
  35. package/build/dataviews-layouts/table/column-header-menu.js +2 -5
  36. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  37. package/build/field-types/datetime.js +30 -0
  38. package/build/field-types/datetime.js.map +1 -0
  39. package/build/field-types/index.js +4 -0
  40. package/build/field-types/index.js.map +1 -1
  41. package/build/field-types/integer.js +1 -60
  42. package/build/field-types/integer.js.map +1 -1
  43. package/build/field-types/text.js +1 -60
  44. package/build/field-types/text.js.map +1 -1
  45. package/build/normalize-fields.js +6 -7
  46. package/build/normalize-fields.js.map +1 -1
  47. package/build/types.js.map +1 -1
  48. package/build-module/components/dataviews/index.js +9 -11
  49. package/build-module/components/dataviews/index.js.map +1 -1
  50. package/build-module/components/dataviews-filters/index.js +3 -0
  51. package/build-module/components/dataviews-filters/index.js.map +1 -1
  52. package/build-module/components/dataviews-filters/search-widget.js +2 -5
  53. package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
  54. package/build-module/components/dataviews-pagination/index.js +23 -15
  55. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  56. package/build-module/components/dataviews-view-config/index.js +27 -10
  57. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  58. package/build-module/dataform-controls/datetime.js +43 -0
  59. package/build-module/dataform-controls/datetime.js.map +1 -0
  60. package/build-module/dataform-controls/index.js +42 -0
  61. package/build-module/dataform-controls/index.js.map +1 -0
  62. package/build-module/dataform-controls/integer.js +38 -0
  63. package/build-module/dataform-controls/integer.js.map +1 -0
  64. package/build-module/dataform-controls/radio.js +38 -0
  65. package/build-module/dataform-controls/radio.js.map +1 -0
  66. package/build-module/dataform-controls/select.js +51 -0
  67. package/build-module/dataform-controls/select.js.map +1 -0
  68. package/build-module/dataform-controls/text.js +38 -0
  69. package/build-module/dataform-controls/text.js.map +1 -0
  70. package/build-module/dataforms-layouts/panel/index.js +6 -3
  71. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  72. package/build-module/dataforms-layouts/regular/index.js +6 -3
  73. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  74. package/build-module/dataviews-layouts/grid/density-picker.js +25 -56
  75. package/build-module/dataviews-layouts/grid/density-picker.js.map +1 -1
  76. package/build-module/dataviews-layouts/grid/index.js +1 -1
  77. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  78. package/build-module/dataviews-layouts/list/index.js +5 -2
  79. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  80. package/build-module/dataviews-layouts/table/column-header-menu.js +2 -5
  81. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  82. package/build-module/field-types/datetime.js +24 -0
  83. package/build-module/field-types/datetime.js.map +1 -0
  84. package/build-module/field-types/index.js +4 -0
  85. package/build-module/field-types/index.js.map +1 -1
  86. package/build-module/field-types/integer.js +2 -60
  87. package/build-module/field-types/integer.js.map +1 -1
  88. package/build-module/field-types/text.js +2 -60
  89. package/build-module/field-types/text.js.map +1 -1
  90. package/build-module/normalize-fields.js +7 -7
  91. package/build-module/normalize-fields.js.map +1 -1
  92. package/build-module/types.js.map +1 -1
  93. package/build-style/style-rtl.css +15 -18
  94. package/build-style/style.css +15 -18
  95. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  96. package/build-types/components/dataviews/index.d.ts.map +1 -1
  97. package/build-types/components/dataviews/stories/fixtures.d.ts +22 -3
  98. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  99. package/build-types/components/dataviews/stories/index.story.d.ts +9 -0
  100. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  101. package/build-types/components/dataviews-filters/index.d.ts +1 -1
  102. package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
  103. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
  104. package/build-types/components/dataviews-pagination/index.d.ts.map +1 -1
  105. package/build-types/components/dataviews-view-config/index.d.ts +4 -3
  106. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  107. package/build-types/dataform-controls/datetime.d.ts +6 -0
  108. package/build-types/dataform-controls/datetime.d.ts.map +1 -0
  109. package/build-types/dataform-controls/index.d.ts +11 -0
  110. package/build-types/dataform-controls/index.d.ts.map +1 -0
  111. package/build-types/dataform-controls/integer.d.ts +6 -0
  112. package/build-types/dataform-controls/integer.d.ts.map +1 -0
  113. package/build-types/dataform-controls/radio.d.ts +6 -0
  114. package/build-types/dataform-controls/radio.d.ts.map +1 -0
  115. package/build-types/dataform-controls/select.d.ts +6 -0
  116. package/build-types/dataform-controls/select.d.ts.map +1 -0
  117. package/build-types/dataform-controls/text.d.ts +6 -0
  118. package/build-types/dataform-controls/text.d.ts.map +1 -0
  119. package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -1
  120. package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -1
  121. package/build-types/dataviews-layouts/grid/density-picker.d.ts.map +1 -1
  122. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  123. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  124. package/build-types/field-types/datetime.d.ts +13 -0
  125. package/build-types/field-types/datetime.d.ts.map +1 -0
  126. package/build-types/field-types/index.d.ts +1 -1
  127. package/build-types/field-types/index.d.ts.map +1 -1
  128. package/build-types/field-types/integer.d.ts +2 -3
  129. package/build-types/field-types/integer.d.ts.map +1 -1
  130. package/build-types/field-types/text.d.ts +2 -3
  131. package/build-types/field-types/text.d.ts.map +1 -1
  132. package/build-types/normalize-fields.d.ts.map +1 -1
  133. package/build-types/types.d.ts +41 -21
  134. package/build-types/types.d.ts.map +1 -1
  135. package/package.json +12 -12
  136. package/src/components/dataform/stories/index.story.tsx +43 -2
  137. package/src/components/dataviews/index.tsx +13 -13
  138. package/src/components/dataviews/stories/fixtures.js +29 -1
  139. package/src/components/dataviews/stories/index.story.js +7 -1
  140. package/src/components/dataviews/style.scss +0 -12
  141. package/src/components/dataviews-bulk-actions-toolbar/style.scss +1 -1
  142. package/src/components/dataviews-filters/index.tsx +3 -0
  143. package/src/components/dataviews-filters/search-widget.tsx +1 -8
  144. package/src/components/dataviews-filters/style.scss +1 -1
  145. package/src/components/dataviews-pagination/index.tsx +35 -16
  146. package/src/components/dataviews-pagination/style.scss +9 -4
  147. package/src/components/dataviews-view-config/index.tsx +45 -16
  148. package/src/dataform-controls/datetime.tsx +43 -0
  149. package/src/dataform-controls/index.tsx +61 -0
  150. package/src/dataform-controls/integer.tsx +38 -0
  151. package/src/dataform-controls/radio.tsx +42 -0
  152. package/src/dataform-controls/select.tsx +52 -0
  153. package/src/dataform-controls/style.scss +4 -0
  154. package/src/dataform-controls/text.tsx +40 -0
  155. package/src/dataforms-layouts/panel/index.tsx +6 -2
  156. package/src/dataforms-layouts/regular/index.tsx +6 -2
  157. package/src/dataviews-layouts/grid/density-picker.tsx +33 -67
  158. package/src/dataviews-layouts/grid/index.tsx +1 -1
  159. package/src/dataviews-layouts/grid/style.scss +0 -4
  160. package/src/dataviews-layouts/list/index.tsx +6 -2
  161. package/src/dataviews-layouts/table/column-header-menu.tsx +3 -5
  162. package/src/field-types/datetime.tsx +28 -0
  163. package/src/field-types/index.tsx +5 -0
  164. package/src/field-types/integer.tsx +2 -71
  165. package/src/field-types/text.tsx +2 -70
  166. package/src/normalize-fields.ts +8 -10
  167. package/src/style.scss +1 -0
  168. package/src/test/filter-and-sort-data-view.js +28 -0
  169. package/src/types.ts +54 -32
  170. package/tsconfig.tsbuildinfo +1 -1
@@ -14,6 +14,7 @@ var _constants = require("../../constants");
14
14
  var _dataviewsLayouts = require("../../dataviews-layouts");
15
15
  var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
16
16
  var _lockUnlock = require("../../lock-unlock");
17
+ var _densityPicker = _interopRequireDefault(require("../../dataviews-layouts/grid/density-picker"));
17
18
  var _jsxRuntime = require("react/jsx-runtime");
18
19
  /**
19
20
  * External dependencies
@@ -119,26 +120,29 @@ function SortFieldControl() {
119
120
  function SortDirectionControl() {
120
121
  const {
121
122
  view,
123
+ fields,
122
124
  onChangeView
123
125
  } = (0, _element.useContext)(_dataviewsContext.default);
126
+ let value = view.sort?.direction;
127
+ if (!value && view.sort?.field) {
128
+ value = 'desc';
129
+ }
124
130
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControl, {
125
131
  className: "dataviews-view-config__sort-direction",
126
132
  __nextHasNoMarginBottom: true,
127
133
  __next40pxDefaultSize: true,
128
134
  isBlock: true,
129
135
  label: (0, _i18n.__)('Order'),
130
- value: view.sort?.direction || 'desc',
131
- disabled: !view?.sort?.field,
136
+ value: value,
132
137
  onChange: newDirection => {
133
- if (!view?.sort?.field) {
134
- return;
135
- }
136
138
  if (newDirection === 'asc' || newDirection === 'desc') {
137
139
  onChangeView({
138
140
  ...view,
139
141
  sort: {
140
142
  direction: newDirection,
141
- field: view.sort.field
143
+ field: view.sort?.field ||
144
+ // If there is no field assigned as the sorting field assign the first sortable field.
145
+ fields.find(field => field.enableSorting !== false)?.id || ''
142
146
  }
143
147
  });
144
148
  return;
@@ -206,7 +210,6 @@ function FieldControl() {
206
210
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
207
211
  children: field.label
208
212
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
209
- className: "'dataviews-view-config__field-control-button",
210
213
  size: "compact",
211
214
  onClick: () => onChangeView({
212
215
  ...view,
@@ -248,7 +251,13 @@ function SettingsSection({
248
251
  })]
249
252
  });
250
253
  }
251
- function DataviewsViewConfigContent() {
254
+ function DataviewsViewConfigContent({
255
+ density,
256
+ setDensity
257
+ }) {
258
+ const {
259
+ view
260
+ } = (0, _element.useContext)(_dataviewsContext.default);
252
261
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
253
262
  className: "dataviews-view-config",
254
263
  spacing: 6,
@@ -258,6 +267,9 @@ function DataviewsViewConfigContent() {
258
267
  expanded: true,
259
268
  className: "is-divided-in-two",
260
269
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(SortFieldControl, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(SortDirectionControl, {})]
270
+ }), view.type === _constants.LAYOUT_GRID && /*#__PURE__*/(0, _jsxRuntime.jsx)(_densityPicker.default, {
271
+ density: density,
272
+ setDensity: setDensity
261
273
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemsPerPageControl, {})]
262
274
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SettingsSection, {
263
275
  title: (0, _i18n.__)('Properties'),
@@ -266,6 +278,8 @@ function DataviewsViewConfigContent() {
266
278
  });
267
279
  }
268
280
  function _DataViewsViewConfig({
281
+ density,
282
+ setDensity,
269
283
  defaultLayouts = {
270
284
  list: {},
271
285
  grid: {},
@@ -288,7 +302,10 @@ function _DataViewsViewConfig({
288
302
  setIsShowingViewPopover(false);
289
303
  },
290
304
  focusOnMount: true,
291
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DataviewsViewConfigContent, {})
305
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DataviewsViewConfigContent, {
306
+ density: density,
307
+ setDensity: setDensity
308
+ })
292
309
  })]
293
310
  })]
294
311
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_icons","_warning","_interopRequireDefault","_constants","_dataviewsLayouts","_dataviewsContext","_lockUnlock","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","useContext","DataViewsContext","availableLayouts","Object","keys","length","activeView","VIEW_LAYOUTS","find","v","type","jsx","trigger","Button","size","icon","label","__","children","map","layout","config","value","name","checked","hideOnClick","onChange","e","target","globalThis","SCRIPT_DEBUG","warning","SortFieldControl","fields","orderOptions","useMemo","sortableFields","filter","field","enableSorting","id","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","__experimentalToggleGroupControl","className","isBlock","disabled","newDirection","SORTING_DIRECTIONS","__experimentalToggleGroupControlOptionIcon","sortIcons","sortLabels","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","__experimentalToggleGroupControlOption","toString","FieldControl","mandatoryFields","getMandatoryFields","hidableFields","enableHiding","includes","viewFields","__experimentalItemGroup","isBordered","isSeparated","isVisible","__experimentalItem","jsxs","__experimentalHStack","expanded","onClick","seen","unseen","SettingsSection","title","description","__experimentalGrid","columns","gap","__experimentalHeading","level","__experimentalText","variant","DataviewsViewConfigContent","__experimentalVStack","spacing","_DataViewsViewConfig","isShowingViewPopover","setIsShowingViewPopover","useState","Fragment","cog","_x","Popover","placement","onClose","focusOnMount","DataViewsViewConfig","memo","_default","exports","default"],"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\tPopover,\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} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { memo, useContext, useState, useMemo } from '@wordpress/element';\nimport { cog, seen, unseen } from '@wordpress/icons';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS, getMandatoryFields } from '../../dataviews-layouts';\nimport type { SupportedLayouts } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\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<DropdownMenu\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<DropdownMenuRadioItem\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ config.label }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\ninterface ViewActionsProps {\n\tdefaultLayouts?: SupportedLayouts;\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, onChangeView } = useContext( DataViewsContext );\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={ view.sort?.direction || 'desc' }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( ! view?.sort?.field ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\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: view.sort.field,\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 FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst mandatoryFields = getMandatoryFields( view );\n\tconst hidableFields = fields.filter(\n\t\t( field ) =>\n\t\t\tfield.enableHiding !== false &&\n\t\t\t! mandatoryFields.includes( field.id )\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ItemGroup isBordered isSeparated>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\tconst isVisible = viewFields.includes( field.id );\n\t\t\t\treturn (\n\t\t\t\t\t<Item key={ field.id }>\n\t\t\t\t\t\t<HStack expanded>\n\t\t\t\t\t\t\t<span>{ field.label }</span>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"'dataviews-view-config__field-control-button\"\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: isVisible\n\t\t\t\t\t\t\t\t\t\t\t? viewFields.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t: [ ...viewFields, field.id ],\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={ isVisible ? seen : unseen }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\t? __( 'Hide field' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Show field' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</Item>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\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 DataviewsViewConfigContent() {\n\treturn (\n\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t</HStack>\n\t\t\t\t<ItemsPerPageControl />\n\t\t\t</SettingsSection>\n\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t<FieldControl />\n\t\t\t</SettingsSection>\n\t\t</VStack>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewActionsProps ) {\n\tconst [ isShowingViewPopover, setIsShowingViewPopover ] =\n\t\tuseState< boolean >( false );\n\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<div>\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ cog }\n\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\tonClick={ () => setIsShowingViewPopover( true ) }\n\t\t\t\t/>\n\t\t\t\t{ isShowingViewPopover && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsShowingViewPopover( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t>\n\t\t\t\t\t\t<DataviewsViewConfigContent />\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\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":["_components","require","_i18n","_element","_icons","_warning","_interopRequireDefault","_constants","_dataviewsLayouts","_dataviewsContext","_lockUnlock","_densityPicker","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","useContext","DataViewsContext","availableLayouts","Object","keys","length","activeView","VIEW_LAYOUTS","find","v","type","jsx","trigger","Button","size","icon","label","__","children","map","layout","config","value","name","checked","hideOnClick","onChange","e","target","globalThis","SCRIPT_DEBUG","warning","SortFieldControl","fields","orderOptions","useMemo","sortableFields","filter","field","enableSorting","id","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","__experimentalToggleGroupControl","className","isBlock","newDirection","SORTING_DIRECTIONS","__experimentalToggleGroupControlOptionIcon","sortIcons","sortLabels","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","__experimentalToggleGroupControlOption","toString","FieldControl","mandatoryFields","getMandatoryFields","hidableFields","enableHiding","includes","viewFields","__experimentalItemGroup","isBordered","isSeparated","isVisible","__experimentalItem","jsxs","__experimentalHStack","expanded","onClick","seen","unseen","SettingsSection","title","description","__experimentalGrid","columns","gap","__experimentalHeading","level","__experimentalText","variant","DataviewsViewConfigContent","density","setDensity","__experimentalVStack","spacing","LAYOUT_GRID","default","_DataViewsViewConfig","isShowingViewPopover","setIsShowingViewPopover","useState","Fragment","cog","_x","Popover","placement","onClose","focusOnMount","DataViewsViewConfig","memo","_default","exports"],"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\tPopover,\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} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { memo, useContext, useState, useMemo } from '@wordpress/element';\nimport { cog, seen, unseen } from '@wordpress/icons';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSORTING_DIRECTIONS,\n\tLAYOUT_GRID,\n\tsortIcons,\n\tsortLabels,\n} from '../../constants';\nimport { VIEW_LAYOUTS, getMandatoryFields } from '../../dataviews-layouts';\nimport type { SupportedLayouts } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\nimport DensityPicker from '../../dataviews-layouts/grid/density-picker';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\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<DropdownMenu\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<DropdownMenuRadioItem\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ config.label }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\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\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 FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst mandatoryFields = getMandatoryFields( view );\n\tconst hidableFields = fields.filter(\n\t\t( field ) =>\n\t\t\tfield.enableHiding !== false &&\n\t\t\t! mandatoryFields.includes( field.id )\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ItemGroup isBordered isSeparated>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\tconst isVisible = viewFields.includes( field.id );\n\t\t\t\treturn (\n\t\t\t\t\t<Item key={ field.id }>\n\t\t\t\t\t\t<HStack expanded>\n\t\t\t\t\t\t\t<span>{ field.label }</span>\n\t\t\t\t\t\t\t<Button\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: isVisible\n\t\t\t\t\t\t\t\t\t\t\t? viewFields.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t: [ ...viewFields, field.id ],\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={ isVisible ? seen : unseen }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\t? __( 'Hide field' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Show field' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</Item>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\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 DataviewsViewConfigContent( {\n\tdensity,\n\tsetDensity,\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n} ) {\n\tconst { view } = useContext( DataViewsContext );\n\treturn (\n\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t</HStack>\n\t\t\t\t{ view.type === LAYOUT_GRID && (\n\t\t\t\t\t<DensityPicker\n\t\t\t\t\t\tdensity={ density }\n\t\t\t\t\t\tsetDensity={ setDensity }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<ItemsPerPageControl />\n\t\t\t</SettingsSection>\n\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t<FieldControl />\n\t\t\t</SettingsSection>\n\t\t</VStack>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdensity,\n\tsetDensity,\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\tconst [ isShowingViewPopover, setIsShowingViewPopover ] =\n\t\tuseState< boolean >( false );\n\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<div>\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ cog }\n\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\tonClick={ () => setIsShowingViewPopover( true ) }\n\t\t\t\t/>\n\t\t\t\t{ isShowingViewPopover && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsShowingViewPopover( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t>\n\t\t\t\t\t\t<DataviewsViewConfigContent\n\t\t\t\t\t\t\tdensity={ density }\n\t\t\t\t\t\t\tsetDensity={ setDensity }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DateTime;
7
+ var _components = require("@wordpress/components");
8
+ var _element = require("@wordpress/element");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ function DateTime({
19
+ data,
20
+ field,
21
+ onChange,
22
+ hideLabelFromVision
23
+ }) {
24
+ const {
25
+ id,
26
+ label
27
+ } = field;
28
+ const value = field.getValue({
29
+ item: data
30
+ });
31
+ const onChangeControl = (0, _element.useCallback)(newValue => onChange({
32
+ [id]: newValue
33
+ }), [id, onChange]);
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("fieldset", {
35
+ className: "dataviews-controls__datetime",
36
+ children: [!hideLabelFromVision && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl.VisualLabel, {
37
+ as: "legend",
38
+ children: label
39
+ }), hideLabelFromVision && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
40
+ as: "legend",
41
+ children: label
42
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TimePicker, {
43
+ currentTime: value,
44
+ onChange: onChangeControl,
45
+ hideLabelFromVision: true
46
+ })]
47
+ });
48
+ }
49
+ //# sourceMappingURL=datetime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_element","_jsxRuntime","DateTime","data","field","onChange","hideLabelFromVision","id","label","value","getValue","item","onChangeControl","useCallback","newValue","jsxs","className","children","jsx","BaseControl","VisualLabel","as","VisuallyHidden","TimePicker","currentTime"],"sources":["@wordpress/dataviews/src/dataform-controls/datetime.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BaseControl, TimePicker, VisuallyHidden } from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function DateTime< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, label } = field;\n\tconst value = field.getValue( { item: data } );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string | null ) => onChange( { [ id ]: newValue } ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<fieldset className=\"dataviews-controls__datetime\">\n\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ label }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t) }\n\t\t\t{ hideLabelFromVision && (\n\t\t\t\t<VisuallyHidden as=\"legend\">{ label }</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TimePicker\n\t\t\t\tcurrentTime={ value }\n\t\t\t\tonChange={ onChangeControl }\n\t\t\t\thideLabelFromVision\n\t\t\t/>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAiD,IAAAE,WAAA,GAAAF,OAAA;AAJjD;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,QAAQA,CAAU;EACzCC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AAC6B,CAAC,EAAG;EACjC,MAAM;IAAEC,EAAE;IAAEC;EAAM,CAAC,GAAGJ,KAAK;EAC3B,MAAMK,KAAK,GAAGL,KAAK,CAACM,QAAQ,CAAE;IAAEC,IAAI,EAAER;EAAK,CAAE,CAAC;EAE9C,MAAMS,eAAe,GAAG,IAAAC,oBAAW,EAChCC,QAAuB,IAAMT,QAAQ,CAAE;IAAE,CAAEE,EAAE,GAAIO;EAAS,CAAE,CAAC,EAC/D,CAAEP,EAAE,EAAEF,QAAQ,CACf,CAAC;EAED,oBACC,IAAAJ,WAAA,CAAAc,IAAA;IAAUC,SAAS,EAAC,8BAA8B;IAAAC,QAAA,GAC/C,CAAEX,mBAAmB,iBACtB,IAAAL,WAAA,CAAAiB,GAAA,EAACpB,WAAA,CAAAqB,WAAW,CAACC,WAAW;MAACC,EAAE,EAAC,QAAQ;MAAAJ,QAAA,EACjCT;IAAK,CACiB,CACzB,EACCF,mBAAmB,iBACpB,IAAAL,WAAA,CAAAiB,GAAA,EAACpB,WAAA,CAAAwB,cAAc;MAACD,EAAE,EAAC,QAAQ;MAAAJ,QAAA,EAAGT;IAAK,CAAkB,CACrD,eACD,IAAAP,WAAA,CAAAiB,GAAA,EAACpB,WAAA,CAAAyB,UAAU;MACVC,WAAW,EAAGf,KAAO;MACrBJ,QAAQ,EAAGO,eAAiB;MAC5BN,mBAAmB;IAAA,CACnB,CAAC;EAAA,CACO,CAAC;AAEb","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getControl = getControl;
8
+ exports.getControlByType = getControlByType;
9
+ var _datetime = _interopRequireDefault(require("./datetime"));
10
+ var _integer = _interopRequireDefault(require("./integer"));
11
+ var _radio = _interopRequireDefault(require("./radio"));
12
+ var _select = _interopRequireDefault(require("./select"));
13
+ var _text = _interopRequireDefault(require("./text"));
14
+ /**
15
+ * External dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ const FORM_CONTROLS = {
23
+ datetime: _datetime.default,
24
+ integer: _integer.default,
25
+ radio: _radio.default,
26
+ select: _select.default,
27
+ text: _text.default
28
+ };
29
+ function getControl(field, fieldTypeDefinition) {
30
+ if (typeof field.Edit === 'function') {
31
+ return field.Edit;
32
+ }
33
+ if (typeof field.Edit === 'string') {
34
+ return getControlByType(field.Edit);
35
+ }
36
+ if (field.elements) {
37
+ return getControlByType('select');
38
+ }
39
+ if (typeof fieldTypeDefinition.Edit === 'string') {
40
+ return getControlByType(fieldTypeDefinition.Edit);
41
+ }
42
+ return fieldTypeDefinition.Edit;
43
+ }
44
+ function getControlByType(type) {
45
+ if (Object.keys(FORM_CONTROLS).includes(type)) {
46
+ return FORM_CONTROLS[type];
47
+ }
48
+ throw 'Control ' + type + ' not found';
49
+ }
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_datetime","_interopRequireDefault","require","_integer","_radio","_select","_text","FORM_CONTROLS","datetime","integer","radio","select","text","getControl","field","fieldTypeDefinition","Edit","getControlByType","elements","type","Object","keys","includes"],"sources":["@wordpress/dataviews/src/dataform-controls/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataFormControlProps,\n\tField,\n\tFieldTypeDefinition,\n} from '../types';\nimport datetime from './datetime';\nimport integer from './integer';\nimport radio from './radio';\nimport select from './select';\nimport text from './text';\n\ninterface FormControls {\n\t[ key: string ]: ComponentType< DataFormControlProps< any > >;\n}\n\nconst FORM_CONTROLS: FormControls = {\n\tdatetime,\n\tinteger,\n\tradio,\n\tselect,\n\ttext,\n};\n\nexport function getControl< Item >(\n\tfield: Field< Item >,\n\tfieldTypeDefinition: FieldTypeDefinition< Item >\n) {\n\tif ( typeof field.Edit === 'function' ) {\n\t\treturn field.Edit;\n\t}\n\n\tif ( typeof field.Edit === 'string' ) {\n\t\treturn getControlByType( field.Edit );\n\t}\n\n\tif ( field.elements ) {\n\t\treturn getControlByType( 'select' );\n\t}\n\n\tif ( typeof fieldTypeDefinition.Edit === 'string' ) {\n\t\treturn getControlByType( fieldTypeDefinition.Edit );\n\t}\n\n\treturn fieldTypeDefinition.Edit;\n}\n\nexport function getControlByType( type: string ) {\n\tif ( Object.keys( FORM_CONTROLS ).includes( type ) ) {\n\t\treturn FORM_CONTROLS[ type ];\n\t}\n\n\tthrow 'Control ' + type + ' not found';\n}\n"],"mappings":";;;;;;;;AAaA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAgBA,MAAMK,aAA2B,GAAG;EACnCC,QAAQ,EAARA,iBAAQ;EACRC,OAAO,EAAPA,gBAAO;EACPC,KAAK,EAALA,cAAK;EACLC,MAAM,EAANA,eAAM;EACNC,IAAI,EAAJA;AACD,CAAC;AAEM,SAASC,UAAUA,CACzBC,KAAoB,EACpBC,mBAAgD,EAC/C;EACD,IAAK,OAAOD,KAAK,CAACE,IAAI,KAAK,UAAU,EAAG;IACvC,OAAOF,KAAK,CAACE,IAAI;EAClB;EAEA,IAAK,OAAOF,KAAK,CAACE,IAAI,KAAK,QAAQ,EAAG;IACrC,OAAOC,gBAAgB,CAAEH,KAAK,CAACE,IAAK,CAAC;EACtC;EAEA,IAAKF,KAAK,CAACI,QAAQ,EAAG;IACrB,OAAOD,gBAAgB,CAAE,QAAS,CAAC;EACpC;EAEA,IAAK,OAAOF,mBAAmB,CAACC,IAAI,KAAK,QAAQ,EAAG;IACnD,OAAOC,gBAAgB,CAAEF,mBAAmB,CAACC,IAAK,CAAC;EACpD;EAEA,OAAOD,mBAAmB,CAACC,IAAI;AAChC;AAEO,SAASC,gBAAgBA,CAAEE,IAAY,EAAG;EAChD,IAAKC,MAAM,CAACC,IAAI,CAAEd,aAAc,CAAC,CAACe,QAAQ,CAAEH,IAAK,CAAC,EAAG;IACpD,OAAOZ,aAAa,CAAEY,IAAI,CAAE;EAC7B;EAEA,MAAM,UAAU,GAAGA,IAAI,GAAG,YAAY;AACvC","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Integer;
7
+ var _components = require("@wordpress/components");
8
+ var _element = require("@wordpress/element");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ function Integer({
19
+ data,
20
+ field,
21
+ onChange,
22
+ hideLabelFromVision
23
+ }) {
24
+ var _field$getValue;
25
+ const {
26
+ id,
27
+ label,
28
+ description
29
+ } = field;
30
+ const value = (_field$getValue = field.getValue({
31
+ item: data
32
+ })) !== null && _field$getValue !== void 0 ? _field$getValue : '';
33
+ const onChangeControl = (0, _element.useCallback)(newValue => onChange({
34
+ [id]: Number(newValue)
35
+ }), [id, onChange]);
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalNumberControl, {
37
+ label: label,
38
+ help: description,
39
+ value: value,
40
+ onChange: onChangeControl,
41
+ __next40pxDefaultSize: true,
42
+ hideLabelFromVision: hideLabelFromVision
43
+ });
44
+ }
45
+ //# sourceMappingURL=integer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_element","_jsxRuntime","Integer","data","field","onChange","hideLabelFromVision","_field$getValue","id","label","description","value","getValue","item","onChangeControl","useCallback","newValue","Number","jsx","__experimentalNumberControl","help","__next40pxDefaultSize"],"sources":["@wordpress/dataviews/src/dataform-controls/integer.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalNumberControl as NumberControl } from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function Integer< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, label, description } = field;\n\tconst value = field.getValue( { item: data } ) ?? '';\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string | undefined ) =>\n\t\t\tonChange( {\n\t\t\t\t[ id ]: Number( newValue ),\n\t\t\t} ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<NumberControl\n\t\t\tlabel={ label }\n\t\t\thelp={ description }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChangeControl }\n\t\t\t__next40pxDefaultSize\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAiD,IAAAE,WAAA,GAAAF,OAAA;AAJjD;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,OAAOA,CAAU;EACxCC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AAC6B,CAAC,EAAG;EAAA,IAAAC,eAAA;EACjC,MAAM;IAAEC,EAAE;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAGN,KAAK;EACxC,MAAMO,KAAK,IAAAJ,eAAA,GAAGH,KAAK,CAACQ,QAAQ,CAAE;IAAEC,IAAI,EAAEV;EAAK,CAAE,CAAC,cAAAI,eAAA,cAAAA,eAAA,GAAI,EAAE;EACpD,MAAMO,eAAe,GAAG,IAAAC,oBAAW,EAChCC,QAA4B,IAC7BX,QAAQ,CAAE;IACT,CAAEG,EAAE,GAAIS,MAAM,CAAED,QAAS;EAC1B,CAAE,CAAC,EACJ,CAAER,EAAE,EAAEH,QAAQ,CACf,CAAC;EAED,oBACC,IAAAJ,WAAA,CAAAiB,GAAA,EAACpB,WAAA,CAAAqB,2BAAa;IACbV,KAAK,EAAGA,KAAO;IACfW,IAAI,EAAGV,WAAa;IACpBC,KAAK,EAAGA,KAAO;IACfN,QAAQ,EAAGS,eAAiB;IAC5BO,qBAAqB;IACrBf,mBAAmB,EAAGA;EAAqB,CAC3C,CAAC;AAEJ","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Radio;
7
+ var _components = require("@wordpress/components");
8
+ var _element = require("@wordpress/element");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ function Radio({
19
+ data,
20
+ field,
21
+ onChange,
22
+ hideLabelFromVision
23
+ }) {
24
+ const {
25
+ id,
26
+ label
27
+ } = field;
28
+ const value = field.getValue({
29
+ item: data
30
+ });
31
+ const onChangeControl = (0, _element.useCallback)(newValue => onChange({
32
+ [id]: newValue
33
+ }), [id, onChange]);
34
+ if (field.elements) {
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RadioControl, {
36
+ label: label,
37
+ onChange: onChangeControl,
38
+ options: field.elements,
39
+ selected: value,
40
+ hideLabelFromVision: hideLabelFromVision
41
+ });
42
+ }
43
+ return null;
44
+ }
45
+ //# sourceMappingURL=radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_element","_jsxRuntime","Radio","data","field","onChange","hideLabelFromVision","id","label","value","getValue","item","onChangeControl","useCallback","newValue","elements","jsx","RadioControl","options","selected"],"sources":["@wordpress/dataviews/src/dataform-controls/radio.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RadioControl } from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function Radio< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, label } = field;\n\tconst value = field.getValue( { item: data } );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string ) =>\n\t\t\tonChange( {\n\t\t\t\t[ id ]: newValue,\n\t\t\t} ),\n\t\t[ id, onChange ]\n\t);\n\n\tif ( field.elements ) {\n\t\treturn (\n\t\t\t<RadioControl\n\t\t\t\tlabel={ label }\n\t\t\t\tonChange={ onChangeControl }\n\t\t\t\toptions={ field.elements }\n\t\t\t\tselected={ value }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAiD,IAAAE,WAAA,GAAAF,OAAA;AAJjD;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,KAAKA,CAAU;EACtCC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AAC6B,CAAC,EAAG;EACjC,MAAM;IAAEC,EAAE;IAAEC;EAAM,CAAC,GAAGJ,KAAK;EAC3B,MAAMK,KAAK,GAAGL,KAAK,CAACM,QAAQ,CAAE;IAAEC,IAAI,EAAER;EAAK,CAAE,CAAC;EAE9C,MAAMS,eAAe,GAAG,IAAAC,oBAAW,EAChCC,QAAgB,IACjBT,QAAQ,CAAE;IACT,CAAEE,EAAE,GAAIO;EACT,CAAE,CAAC,EACJ,CAAEP,EAAE,EAAEF,QAAQ,CACf,CAAC;EAED,IAAKD,KAAK,CAACW,QAAQ,EAAG;IACrB,oBACC,IAAAd,WAAA,CAAAe,GAAA,EAAClB,WAAA,CAAAmB,YAAY;MACZT,KAAK,EAAGA,KAAO;MACfH,QAAQ,EAAGO,eAAiB;MAC5BM,OAAO,EAAGd,KAAK,CAACW,QAAU;MAC1BI,QAAQ,EAAGV,KAAO;MAClBH,mBAAmB,EAAGA;IAAqB,CAC3C,CAAC;EAEJ;EAEA,OAAO,IAAI;AACZ","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Select;
7
+ var _components = require("@wordpress/components");
8
+ var _element = require("@wordpress/element");
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * WordPress dependencies
13
+ */
14
+
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+
19
+ function Select({
20
+ data,
21
+ field,
22
+ onChange,
23
+ hideLabelFromVision
24
+ }) {
25
+ var _field$getValue, _field$elements;
26
+ const {
27
+ id,
28
+ label
29
+ } = field;
30
+ const value = (_field$getValue = field.getValue({
31
+ item: data
32
+ })) !== null && _field$getValue !== void 0 ? _field$getValue : '';
33
+ const onChangeControl = (0, _element.useCallback)(newValue => onChange({
34
+ [id]: newValue
35
+ }), [id, onChange]);
36
+ const elements = [
37
+ /*
38
+ * Value can be undefined when:
39
+ *
40
+ * - the field is not required
41
+ * - in bulk editing
42
+ *
43
+ */
44
+ {
45
+ label: (0, _i18n.__)('Select item'),
46
+ value: ''
47
+ }, ...((_field$elements = field?.elements) !== null && _field$elements !== void 0 ? _field$elements : [])];
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
49
+ label: label,
50
+ value: value,
51
+ options: elements,
52
+ onChange: onChangeControl,
53
+ __next40pxDefaultSize: true,
54
+ __nextHasNoMarginBottom: true,
55
+ hideLabelFromVision: hideLabelFromVision
56
+ });
57
+ }
58
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_element","_i18n","_jsxRuntime","Select","data","field","onChange","hideLabelFromVision","_field$getValue","_field$elements","id","label","value","getValue","item","onChangeControl","useCallback","newValue","elements","__","jsx","SelectControl","options","__next40pxDefaultSize","__nextHasNoMarginBottom"],"sources":["@wordpress/dataviews/src/dataform-controls/select.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function Select< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, label } = field;\n\tconst value = field.getValue( { item: data } ) ?? '';\n\tconst onChangeControl = useCallback(\n\t\t( newValue: any ) =>\n\t\t\tonChange( {\n\t\t\t\t[ id ]: newValue,\n\t\t\t} ),\n\t\t[ id, onChange ]\n\t);\n\n\tconst elements = [\n\t\t/*\n\t\t * Value can be undefined when:\n\t\t *\n\t\t * - the field is not required\n\t\t * - in bulk editing\n\t\t *\n\t\t */\n\t\t{ label: __( 'Select item' ), value: '' },\n\t\t...( field?.elements ?? [] ),\n\t];\n\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ label }\n\t\t\tvalue={ value }\n\t\t\toptions={ elements }\n\t\t\tonChange={ onChangeControl }\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAAqC,IAAAG,WAAA,GAAAH,OAAA;AALrC;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASI,MAAMA,CAAU;EACvCC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AAC6B,CAAC,EAAG;EAAA,IAAAC,eAAA,EAAAC,eAAA;EACjC,MAAM;IAAEC,EAAE;IAAEC;EAAM,CAAC,GAAGN,KAAK;EAC3B,MAAMO,KAAK,IAAAJ,eAAA,GAAGH,KAAK,CAACQ,QAAQ,CAAE;IAAEC,IAAI,EAAEV;EAAK,CAAE,CAAC,cAAAI,eAAA,cAAAA,eAAA,GAAI,EAAE;EACpD,MAAMO,eAAe,GAAG,IAAAC,oBAAW,EAChCC,QAAa,IACdX,QAAQ,CAAE;IACT,CAAEI,EAAE,GAAIO;EACT,CAAE,CAAC,EACJ,CAAEP,EAAE,EAAEJ,QAAQ,CACf,CAAC;EAED,MAAMY,QAAQ,GAAG;EAChB;AACF;AACA;AACA;AACA;AACA;AACA;EACE;IAAEP,KAAK,EAAE,IAAAQ,QAAE,EAAE,aAAc,CAAC;IAAEP,KAAK,EAAE;EAAG,CAAC,EACzC,KAAAH,eAAA,GAAKJ,KAAK,EAAEa,QAAQ,cAAAT,eAAA,cAAAA,eAAA,GAAI,EAAE,CAAE,CAC5B;EAED,oBACC,IAAAP,WAAA,CAAAkB,GAAA,EAACtB,WAAA,CAAAuB,aAAa;IACbV,KAAK,EAAGA,KAAO;IACfC,KAAK,EAAGA,KAAO;IACfU,OAAO,EAAGJ,QAAU;IACpBZ,QAAQ,EAAGS,eAAiB;IAC5BQ,qBAAqB;IACrBC,uBAAuB;IACvBjB,mBAAmB,EAAGA;EAAqB,CAC3C,CAAC;AAEJ","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Text;
7
+ var _components = require("@wordpress/components");
8
+ var _element = require("@wordpress/element");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ function Text({
19
+ data,
20
+ field,
21
+ onChange,
22
+ hideLabelFromVision
23
+ }) {
24
+ const {
25
+ id,
26
+ label,
27
+ placeholder
28
+ } = field;
29
+ const value = field.getValue({
30
+ item: data
31
+ });
32
+ const onChangeControl = (0, _element.useCallback)(newValue => onChange({
33
+ [id]: newValue
34
+ }), [id, onChange]);
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
36
+ label: label,
37
+ placeholder: placeholder,
38
+ value: value !== null && value !== void 0 ? value : '',
39
+ onChange: onChangeControl,
40
+ __next40pxDefaultSize: true,
41
+ __nextHasNoMarginBottom: true,
42
+ hideLabelFromVision: hideLabelFromVision
43
+ });
44
+ }
45
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_element","_jsxRuntime","Text","data","field","onChange","hideLabelFromVision","id","label","placeholder","value","getValue","item","onChangeControl","useCallback","newValue","jsx","TextControl","__next40pxDefaultSize","__nextHasNoMarginBottom"],"sources":["@wordpress/dataviews/src/dataform-controls/text.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { TextControl } from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function Text< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, label, placeholder } = field;\n\tconst value = field.getValue( { item: data } );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string ) =>\n\t\t\tonChange( {\n\t\t\t\t[ id ]: newValue,\n\t\t\t} ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<TextControl\n\t\t\tlabel={ label }\n\t\t\tplaceholder={ placeholder }\n\t\t\tvalue={ value ?? '' }\n\t\t\tonChange={ onChangeControl }\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAiD,IAAAE,WAAA,GAAAF,OAAA;AAJjD;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,IAAIA,CAAU;EACrCC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AAC6B,CAAC,EAAG;EACjC,MAAM;IAAEC,EAAE;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAGL,KAAK;EACxC,MAAMM,KAAK,GAAGN,KAAK,CAACO,QAAQ,CAAE;IAAEC,IAAI,EAAET;EAAK,CAAE,CAAC;EAE9C,MAAMU,eAAe,GAAG,IAAAC,oBAAW,EAChCC,QAAgB,IACjBV,QAAQ,CAAE;IACT,CAAEE,EAAE,GAAIQ;EACT,CAAE,CAAC,EACJ,CAAER,EAAE,EAAEF,QAAQ,CACf,CAAC;EAED,oBACC,IAAAJ,WAAA,CAAAe,GAAA,EAAClB,WAAA,CAAAmB,WAAW;IACXT,KAAK,EAAGA,KAAO;IACfC,WAAW,EAAGA,WAAa;IAC3BC,KAAK,EAAGA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAI;IACrBL,QAAQ,EAAGQ,eAAiB;IAC5BK,qBAAqB;IACrBC,uBAAuB;IACvBb,mBAAmB,EAAGA;EAAqB,CAC3C,CAAC;AAEJ","ignoreList":[]}
@@ -112,9 +112,12 @@ function FormPanel({
112
112
  form,
113
113
  onChange
114
114
  }) {
115
- const visibleFields = (0, _element.useMemo)(() => (0, _normalizeFields.normalizeFields)(fields.filter(({
116
- id
117
- }) => !!form.fields?.includes(id))), [fields, form.fields]);
115
+ const visibleFields = (0, _element.useMemo)(() => {
116
+ var _form$fields;
117
+ return (0, _normalizeFields.normalizeFields)(((_form$fields = form.fields) !== null && _form$fields !== void 0 ? _form$fields : []).map(fieldId => fields.find(({
118
+ id
119
+ }) => id === fieldId)).filter(field => !!field));
120
+ }, [fields, form.fields]);
118
121
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
119
122
  spacing: 2,
120
123
  children: visibleFields.map(field => {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_icons","_normalizeFields","_jsxRuntime","DropdownHeader","title","onClose","jsx","__experimentalVStack","className","spacing","children","jsxs","__experimentalHStack","alignment","__experimentalHeading","level","size","__experimentalSpacer","Button","label","__","icon","closeSmall","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","ref","Dropdown","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","sprintf","render","item","renderContent","Fragment","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","normalizeFields","filter","includes","map"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport type { DataFormProps, NormalizedField } from '../../types';\n\ninterface FormFieldProps< Item > {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: any ) => void;\n}\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header-action\"\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction FormField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FormFieldProps< Item > ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ field.label }\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t\t\t} }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<field.render item={ data } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DropdownHeader\n\t\t\t\t\t\t\t\ttitle={ field.label }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<field.Edit\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision\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/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n\nexport default function FormPanel< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\tfields.filter( ( { id } ) => !! form.fields?.includes( id ) )\n\t\t\t),\n\t\t[ fields, form.fields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\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":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_icons","_normalizeFields","_jsxRuntime","DropdownHeader","title","onClose","jsx","__experimentalVStack","className","spacing","children","jsxs","__experimentalHStack","alignment","__experimentalHeading","level","size","__experimentalSpacer","Button","label","__","icon","closeSmall","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","ref","Dropdown","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","sprintf","render","item","renderContent","Fragment","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","_form$fields","normalizeFields","map","fieldId","find","filter"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport type { DataFormProps, NormalizedField, Field } from '../../types';\n\ninterface FormFieldProps< Item > {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: any ) => void;\n}\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header-action\"\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction FormField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FormFieldProps< Item > ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ field.label }\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t\t\t} }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<field.render item={ data } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DropdownHeader\n\t\t\t\t\t\t\t\ttitle={ field.label }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<field.Edit\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision\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/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n\nexport default function FormPanel< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\t( form.fields ?? [] )\n\t\t\t\t\t.map( ( fieldId ) =>\n\t\t\t\t\t\tfields.find( ( { id } ) => id === fieldId )\n\t\t\t\t\t)\n\t\t\t\t\t.filter( ( field ): field is Field< Item > => !! field )\n\t\t\t),\n\t\t[ fields, form.fields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\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":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAJ,OAAA;AAAyD,IAAAK,WAAA,GAAAL,OAAA;AAlBzD;AACA;AACA;;AAaA;AACA;AACA;;AAUA,SAASM,cAAcA,CAAE;EACxBC,KAAK;EACLC;AAID,CAAC,EAAG;EACH,oBACC,IAAAH,WAAA,CAAAI,GAAA,EAACV,WAAA,CAAAW,oBAAM;IACNC,SAAS,EAAC,0CAA0C;IACpDC,OAAO,EAAG,CAAG;IAAAC,QAAA,eAEb,IAAAR,WAAA,CAAAS,IAAA,EAACf,WAAA,CAAAgB,oBAAM;MAACC,SAAS,EAAC,QAAQ;MAAAH,QAAA,gBACzB,IAAAR,WAAA,CAAAI,GAAA,EAACV,WAAA,CAAAkB,qBAAO;QAACC,KAAK,EAAG,CAAG;QAACC,IAAI,EAAG,EAAI;QAAAN,QAAA,EAC7BN;MAAK,CACC,CAAC,eACV,IAAAF,WAAA,CAAAI,GAAA,EAACV,WAAA,CAAAqB,oBAAM,IAAE,CAAC,EACRZ,OAAO,iBACR,IAAAH,WAAA,CAAAI,GAAA,EAACV,WAAA,CAAAsB,MAAM;QACNV,SAAS,EAAC,iDAAiD;QAC3DW,KAAK,EAAG,IAAAC,QAAE,EAAE,OAAQ,CAAG;QACvBC,IAAI,EAAGC,iBAAY;QACnBC,OAAO,EAAGlB;MAAS,CACnB,CACD;IAAA,CACM;EAAC,CACF,CAAC;AAEX;AAEA,SAASmB,SAASA,CAAU;EAC3BC,IAAI;EACJC,KAAK;EACLC;AACuB,CAAC,EAAG;EAC3B;EACA;EACA,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EACnD,IACD,CAAC;EACD;EACA,MAAMC,YAAY,GAAG,IAAAC,gBAAO,EAC3B,OAAQ;IACP;IACA;IACAC,MAAM,EAAEL,aAAa;IACrBM,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAER,aAAa,CAChB,CAAC;EAED,oBACC,IAAA1B,WAAA,CAAAS,IAAA,EAACf,WAAA,CAAAgB,oBAAM;IACNyB,GAAG,EAAGR,gBAAkB;IACxBrB,SAAS,EAAC,gCAAgC;IAAAE,QAAA,gBAE1C,IAAAR,WAAA,CAAAI,GAAA;MAAKE,SAAS,EAAC,sCAAsC;MAAAE,QAAA,EAClDgB,KAAK,CAACP;IAAK,CACT,CAAC,eACN,IAAAjB,WAAA,CAAAI,GAAA;MAAAI,QAAA,eACC,IAAAR,WAAA,CAAAI,GAAA,EAACV,WAAA,CAAA0C,QAAQ;QACRC,gBAAgB,EAAC,yCAAyC;QAC1DR,YAAY,EAAGA,YAAc;QAC7BS,YAAY;QACZC,WAAW,EAAG;UACbzB,IAAI,EAAE,SAAS;UACf0B,OAAO,EAAE,UAAU;UACnBC,eAAe,EAAE;QAClB,CAAG;QACHC,YAAY,EAAGA,CAAE;UAAEC,MAAM;UAAEC;QAAS,CAAC,kBACpC,IAAA5C,WAAA,CAAAI,GAAA,EAACV,WAAA,CAAAsB,MAAM;UACNV,SAAS,EAAC,wCAAwC;UAClDQ,IAAI,EAAC,SAAS;UACd0B,OAAO,EAAC,UAAU;UAClB,iBAAgBG,MAAQ;UACxB,cAAa,IAAAE,aAAO;UACnB;UACA,IAAA3B,QAAE,EAAE,SAAU,CAAC,EACfM,KAAK,CAACP,KACP,CAAG;UACHI,OAAO,EAAGuB,QAAU;UAAApC,QAAA,eAEpB,IAAAR,WAAA,CAAAI,GAAA,EAACoB,KAAK,CAACsB,MAAM;YAACC,IAAI,EAAGxB;UAAM,CAAE;QAAC,CACvB,CACN;QACHyB,aAAa,EAAGA,CAAE;UAAE7C;QAAQ,CAAC,kBAC5B,IAAAH,WAAA,CAAAS,IAAA,EAAAT,WAAA,CAAAiD,QAAA;UAAAzC,QAAA,gBACC,IAAAR,WAAA,CAAAI,GAAA,EAACH,cAAc;YACdC,KAAK,EAAGsB,KAAK,CAACP,KAAO;YACrBd,OAAO,EAAGA;UAAS,CACnB,CAAC,eACF,IAAAH,WAAA,CAAAI,GAAA,EAACoB,KAAK,CAAC0B,IAAI;YAEV3B,IAAI,EAAGA,IAAM;YACbC,KAAK,EAAGA,KAAO;YACfC,QAAQ,EAAGA,QAAU;YACrB0B,mBAAmB;UAAA,GAJb3B,KAAK,CAAC4B,EAKZ,CAAC;QAAA,CACD;MACA,CACH;IAAC,CACE,CAAC;EAAA,CACC,CAAC;AAEX;AAEe,SAASC,SAASA,CAAU;EAC1C9B,IAAI;EACJ+B,MAAM;EACNC,IAAI;EACJ9B;AACsB,CAAC,EAAG;EAC1B,MAAM+B,aAAa,GAAG,IAAA1B,gBAAO,EAC5B;IAAA,IAAA2B,YAAA;IAAA,OACC,IAAAC,gCAAe,EACd,EAAAD,YAAA,GAAEF,IAAI,CAACD,MAAM,cAAAG,YAAA,cAAAA,YAAA,GAAI,EAAE,EACjBE,GAAG,CAAIC,OAAO,IACdN,MAAM,CAACO,IAAI,CAAE,CAAE;MAAET;IAAG,CAAC,KAAMA,EAAE,KAAKQ,OAAQ,CAC3C,CAAC,CACAE,MAAM,CAAItC,KAAK,IAA8B,CAAC,CAAEA,KAAM,CACzD,CAAC;EAAA,GACF,CAAE8B,MAAM,EAAEC,IAAI,CAACD,MAAM,CACtB,CAAC;EAED,oBACC,IAAAtD,WAAA,CAAAI,GAAA,EAACV,WAAA,CAAAW,oBAAM;IAACE,OAAO,EAAG,CAAG;IAAAC,QAAA,EAClBgD,aAAa,CAACG,GAAG,CAAInC,KAAK,IAAM;MACjC,oBACC,IAAAxB,WAAA,CAAAI,GAAA,EAACkB,SAAS;QAETC,IAAI,EAAGA,IAAM;QACbC,KAAK,EAAGA,KAAO;QACfC,QAAQ,EAAGA;MAAU,GAHfD,KAAK,CAAC4B,EAIZ,CAAC;IAEJ,CAAE;EAAC,CACI,CAAC;AAEX","ignoreList":[]}
@@ -22,9 +22,12 @@ function FormRegular({
22
22
  form,
23
23
  onChange
24
24
  }) {
25
- const visibleFields = (0, _element.useMemo)(() => (0, _normalizeFields.normalizeFields)(fields.filter(({
26
- id
27
- }) => !!form.fields?.includes(id))), [fields, form.fields]);
25
+ const visibleFields = (0, _element.useMemo)(() => {
26
+ var _form$fields;
27
+ return (0, _normalizeFields.normalizeFields)(((_form$fields = form.fields) !== null && _form$fields !== void 0 ? _form$fields : []).map(fieldId => fields.find(({
28
+ id
29
+ }) => id === fieldId)).filter(field => !!field));
30
+ }, [fields, form.fields]);
28
31
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
29
32
  spacing: 4,
30
33
  children: visibleFields.map(field => {