@wordpress/dataviews 10.2.0 → 10.3.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 (529) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +108 -1
  3. package/build/components/dataform/index.js +6 -2
  4. package/build/components/dataform/index.js.map +3 -3
  5. package/build/components/dataform-context/index.js +4 -2
  6. package/build/components/dataform-context/index.js.map +1 -1
  7. package/build/components/dataviews/index.js +8 -6
  8. package/build/components/dataviews/index.js.map +1 -1
  9. package/build/components/dataviews-bulk-actions/index.js +4 -2
  10. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  11. package/build/components/dataviews-context/index.js +3 -1
  12. package/build/components/dataviews-context/index.js.map +1 -1
  13. package/build/components/dataviews-filters/add-filter.js +4 -2
  14. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  15. package/build/components/dataviews-filters/filter.js +20 -5
  16. package/build/components/dataviews-filters/filter.js.map +3 -3
  17. package/build/components/dataviews-filters/filters-toggled.js +3 -1
  18. package/build/components/dataviews-filters/filters-toggled.js.map +1 -1
  19. package/build/components/dataviews-filters/filters.js +3 -1
  20. package/build/components/dataviews-filters/filters.js.map +1 -1
  21. package/build/components/dataviews-filters/index.js +2 -0
  22. package/build/components/dataviews-filters/index.js.map +1 -1
  23. package/build/components/dataviews-filters/input-widget.js +3 -1
  24. package/build/components/dataviews-filters/input-widget.js.map +1 -1
  25. package/build/components/dataviews-filters/reset-filters.js +3 -1
  26. package/build/components/dataviews-filters/reset-filters.js.map +1 -1
  27. package/build/components/dataviews-filters/search-widget.js +8 -6
  28. package/build/components/dataviews-filters/search-widget.js.map +2 -2
  29. package/build/components/dataviews-filters/toggle.js +3 -1
  30. package/build/components/dataviews-filters/toggle.js.map +1 -1
  31. package/build/components/dataviews-filters/use-filters.js +2 -0
  32. package/build/components/dataviews-filters/use-filters.js.map +1 -1
  33. package/build/components/dataviews-filters/utils.js +4 -2
  34. package/build/components/dataviews-filters/utils.js.map +1 -1
  35. package/build/components/dataviews-footer/index.js +4 -2
  36. package/build/components/dataviews-footer/index.js.map +1 -1
  37. package/build/components/dataviews-item-actions/index.js +23 -4
  38. package/build/components/dataviews-item-actions/index.js.map +2 -2
  39. package/build/components/dataviews-layout/index.js +3 -1
  40. package/build/components/dataviews-layout/index.js.map +1 -1
  41. package/build/components/dataviews-pagination/index.js +3 -1
  42. package/build/components/dataviews-pagination/index.js.map +1 -1
  43. package/build/components/dataviews-picker/footer.js +4 -2
  44. package/build/components/dataviews-picker/footer.js.map +1 -1
  45. package/build/components/dataviews-picker/index.js +8 -6
  46. package/build/components/dataviews-picker/index.js.map +1 -1
  47. package/build/components/dataviews-search/index.js +4 -2
  48. package/build/components/dataviews-search/index.js.map +1 -1
  49. package/build/components/dataviews-selection-checkbox/index.js +3 -1
  50. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  51. package/build/components/dataviews-view-config/index.js +17 -400
  52. package/build/components/dataviews-view-config/index.js.map +3 -3
  53. package/build/components/dataviews-view-config/infinite-scroll-toggle.js +3 -1
  54. package/build/components/dataviews-view-config/infinite-scroll-toggle.js.map +1 -1
  55. package/build/components/dataviews-view-config/properties-section.js +177 -0
  56. package/build/components/dataviews-view-config/properties-section.js.map +7 -0
  57. package/build/constants.js +39 -34
  58. package/build/constants.js.map +2 -2
  59. package/build/dataform-controls/array.js +4 -2
  60. package/build/dataform-controls/array.js.map +1 -1
  61. package/build/dataform-controls/checkbox.js +4 -2
  62. package/build/dataform-controls/checkbox.js.map +1 -1
  63. package/build/dataform-controls/color.js +5 -3
  64. package/build/dataform-controls/color.js.map +1 -1
  65. package/build/dataform-controls/date.js +8 -6
  66. package/build/dataform-controls/date.js.map +1 -1
  67. package/build/dataform-controls/datetime.js +11 -15
  68. package/build/dataform-controls/datetime.js.map +3 -3
  69. package/build/dataform-controls/email.js +3 -1
  70. package/build/dataform-controls/email.js.map +1 -1
  71. package/build/dataform-controls/index.js +4 -2
  72. package/build/dataform-controls/index.js.map +1 -1
  73. package/build/dataform-controls/integer.js +3 -1
  74. package/build/dataform-controls/integer.js.map +1 -1
  75. package/build/dataform-controls/number.js +3 -1
  76. package/build/dataform-controls/number.js.map +1 -1
  77. package/build/dataform-controls/password.js +3 -1
  78. package/build/dataform-controls/password.js.map +1 -1
  79. package/build/dataform-controls/radio.js +4 -2
  80. package/build/dataform-controls/radio.js.map +1 -1
  81. package/build/dataform-controls/select.js +4 -2
  82. package/build/dataform-controls/select.js.map +1 -1
  83. package/build/dataform-controls/telephone.js +3 -1
  84. package/build/dataform-controls/telephone.js.map +1 -1
  85. package/build/dataform-controls/text.js +3 -1
  86. package/build/dataform-controls/text.js.map +1 -1
  87. package/build/dataform-controls/textarea.js +4 -2
  88. package/build/dataform-controls/textarea.js.map +1 -1
  89. package/build/dataform-controls/toggle-group.js +4 -2
  90. package/build/dataform-controls/toggle-group.js.map +1 -1
  91. package/build/dataform-controls/toggle.js +4 -2
  92. package/build/dataform-controls/toggle.js.map +1 -1
  93. package/build/dataform-controls/url.js +3 -1
  94. package/build/dataform-controls/url.js.map +1 -1
  95. package/build/dataform-controls/utils/get-custom-validity.js +2 -0
  96. package/build/dataform-controls/utils/get-custom-validity.js.map +1 -1
  97. package/build/dataform-controls/utils/relative-date-control.js +4 -2
  98. package/build/dataform-controls/utils/relative-date-control.js.map +1 -1
  99. package/build/dataform-controls/utils/validated-input.js +4 -2
  100. package/build/dataform-controls/utils/validated-input.js.map +1 -1
  101. package/build/dataform-controls/utils/validated-number.js +4 -2
  102. package/build/dataform-controls/utils/validated-number.js.map +1 -1
  103. package/build/dataform-layouts/card/index.js +65 -34
  104. package/build/dataform-layouts/card/index.js.map +3 -3
  105. package/build/dataform-layouts/data-form-layout.js +8 -14
  106. package/build/dataform-layouts/data-form-layout.js.map +3 -3
  107. package/build/dataform-layouts/details/index.js +78 -0
  108. package/build/dataform-layouts/details/index.js.map +7 -0
  109. package/build/dataform-layouts/get-summary-fields.js +3 -1
  110. package/build/dataform-layouts/get-summary-fields.js.map +1 -1
  111. package/build/dataform-layouts/index.js +9 -2
  112. package/build/dataform-layouts/index.js.map +3 -3
  113. package/build/dataform-layouts/{normalize-form-fields.js → normalize-form.js} +44 -22
  114. package/build/dataform-layouts/normalize-form.js.map +7 -0
  115. package/build/dataform-layouts/panel/dropdown.js +9 -8
  116. package/build/dataform-layouts/panel/dropdown.js.map +2 -2
  117. package/build/dataform-layouts/panel/index.js +10 -14
  118. package/build/dataform-layouts/panel/index.js.map +2 -2
  119. package/build/dataform-layouts/panel/modal.js +9 -8
  120. package/build/dataform-layouts/panel/modal.js.map +2 -2
  121. package/build/dataform-layouts/panel/summary-button.js +3 -1
  122. package/build/dataform-layouts/panel/summary-button.js.map +1 -1
  123. package/build/dataform-layouts/regular/index.js +8 -10
  124. package/build/dataform-layouts/regular/index.js.map +2 -2
  125. package/build/dataform-layouts/row/index.js +10 -33
  126. package/build/dataform-layouts/row/index.js.map +3 -3
  127. package/build/dataviews-layouts/grid/index.js +4 -2
  128. package/build/dataviews-layouts/grid/index.js.map +1 -1
  129. package/build/dataviews-layouts/grid/preview-size-picker.js +4 -2
  130. package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  131. package/build/dataviews-layouts/index.js +12 -1
  132. package/build/dataviews-layouts/index.js.map +3 -3
  133. package/build/dataviews-layouts/list/index.js +6 -6
  134. package/build/dataviews-layouts/list/index.js.map +2 -2
  135. package/build/dataviews-layouts/picker-grid/index.js +4 -2
  136. package/build/dataviews-layouts/picker-grid/index.js.map +1 -1
  137. package/build/dataviews-layouts/picker-table/index.js +422 -0
  138. package/build/dataviews-layouts/picker-table/index.js.map +7 -0
  139. package/build/dataviews-layouts/table/column-header-menu.js +6 -4
  140. package/build/dataviews-layouts/table/column-header-menu.js.map +2 -2
  141. package/build/dataviews-layouts/table/column-primary.js +4 -7
  142. package/build/dataviews-layouts/table/column-primary.js.map +2 -2
  143. package/build/dataviews-layouts/table/density-picker.js +3 -1
  144. package/build/dataviews-layouts/table/density-picker.js.map +1 -1
  145. package/build/dataviews-layouts/table/index.js +48 -2
  146. package/build/dataviews-layouts/table/index.js.map +2 -2
  147. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js +3 -1
  148. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -1
  149. package/build/dataviews-layouts/utils/get-data-by-group.js +2 -0
  150. package/build/dataviews-layouts/utils/get-data-by-group.js.map +1 -1
  151. package/build/dataviews-layouts/utils/grid-items.js +4 -2
  152. package/build/dataviews-layouts/utils/grid-items.js.map +1 -1
  153. package/build/dataviews-layouts/utils/item-click-wrapper.js +3 -1
  154. package/build/dataviews-layouts/utils/item-click-wrapper.js.map +1 -1
  155. package/build/dataviews-layouts/utils/preview-size-picker.js +4 -2
  156. package/build/dataviews-layouts/utils/preview-size-picker.js.map +1 -1
  157. package/build/field-types/array.js +3 -1
  158. package/build/field-types/array.js.map +1 -1
  159. package/build/field-types/boolean.js +3 -1
  160. package/build/field-types/boolean.js.map +1 -1
  161. package/build/field-types/color.js +3 -1
  162. package/build/field-types/color.js.map +1 -1
  163. package/build/field-types/date.js +4 -2
  164. package/build/field-types/date.js.map +1 -1
  165. package/build/field-types/datetime.js +17 -2
  166. package/build/field-types/datetime.js.map +3 -3
  167. package/build/field-types/email.js +4 -2
  168. package/build/field-types/email.js.map +1 -1
  169. package/build/field-types/index.js +3 -1
  170. package/build/field-types/index.js.map +1 -1
  171. package/build/field-types/integer.js +3 -1
  172. package/build/field-types/integer.js.map +1 -1
  173. package/build/field-types/media.js +2 -0
  174. package/build/field-types/media.js.map +1 -1
  175. package/build/field-types/number.js +3 -1
  176. package/build/field-types/number.js.map +1 -1
  177. package/build/field-types/password.js +3 -1
  178. package/build/field-types/password.js.map +1 -1
  179. package/build/field-types/telephone.js +3 -1
  180. package/build/field-types/telephone.js.map +1 -1
  181. package/build/field-types/text.js +3 -1
  182. package/build/field-types/text.js.map +1 -1
  183. package/build/field-types/url.js +3 -1
  184. package/build/field-types/url.js.map +1 -1
  185. package/build/{dataform-layouts/is-combined-field.js → field-types/utils/parse-date-time.js} +15 -11
  186. package/build/field-types/utils/parse-date-time.js.map +7 -0
  187. package/build/field-types/utils/render-from-elements.js +2 -0
  188. package/build/field-types/utils/render-from-elements.js.map +1 -1
  189. package/build/hooks/index.js +2 -0
  190. package/build/hooks/index.js.map +1 -1
  191. package/build/hooks/use-elements.js +3 -1
  192. package/build/hooks/use-elements.js.map +1 -1
  193. package/build/hooks/use-form-validity.js +425 -321
  194. package/build/hooks/use-form-validity.js.map +3 -3
  195. package/build/index.js +2 -0
  196. package/build/index.js.map +1 -1
  197. package/build/lock-unlock.js +3 -1
  198. package/build/lock-unlock.js.map +1 -1
  199. package/build/types/dataform.js +2 -0
  200. package/build/types/dataform.js.map +2 -2
  201. package/build/types/dataviews.js +2 -0
  202. package/build/types/dataviews.js.map +2 -2
  203. package/build/types/field-api.js +2 -0
  204. package/build/types/field-api.js.map +1 -1
  205. package/build/types/index.js +2 -0
  206. package/build/types/index.js.map +1 -1
  207. package/build/types/private.js +2 -0
  208. package/build/types/private.js.map +1 -1
  209. package/build/utils/filter-sort-and-paginate.js +3 -1
  210. package/build/utils/filter-sort-and-paginate.js.map +1 -1
  211. package/build/utils/has-elements.js +2 -0
  212. package/build/utils/has-elements.js.map +1 -1
  213. package/build/utils/normalize-fields.js +4 -2
  214. package/build/utils/normalize-fields.js.map +1 -1
  215. package/build-module/components/dataform/index.js +5 -2
  216. package/build-module/components/dataform/index.js.map +2 -2
  217. package/build-module/components/dataform-context/index.js +3 -2
  218. package/build-module/components/dataform-context/index.js.map +1 -1
  219. package/build-module/components/dataviews/index.js +7 -6
  220. package/build-module/components/dataviews/index.js.map +1 -1
  221. package/build-module/components/dataviews-bulk-actions/index.js +3 -2
  222. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  223. package/build-module/components/dataviews-context/index.js +2 -1
  224. package/build-module/components/dataviews-context/index.js.map +1 -1
  225. package/build-module/components/dataviews-filters/add-filter.js +3 -2
  226. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  227. package/build-module/components/dataviews-filters/filter.js +19 -5
  228. package/build-module/components/dataviews-filters/filter.js.map +2 -2
  229. package/build-module/components/dataviews-filters/filters-toggled.js +2 -1
  230. package/build-module/components/dataviews-filters/filters-toggled.js.map +1 -1
  231. package/build-module/components/dataviews-filters/filters.js +2 -1
  232. package/build-module/components/dataviews-filters/filters.js.map +1 -1
  233. package/build-module/components/dataviews-filters/index.js +1 -0
  234. package/build-module/components/dataviews-filters/index.js.map +1 -1
  235. package/build-module/components/dataviews-filters/input-widget.js +2 -1
  236. package/build-module/components/dataviews-filters/input-widget.js.map +1 -1
  237. package/build-module/components/dataviews-filters/reset-filters.js +2 -1
  238. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
  239. package/build-module/components/dataviews-filters/search-widget.js +7 -6
  240. package/build-module/components/dataviews-filters/search-widget.js.map +2 -2
  241. package/build-module/components/dataviews-filters/toggle.js +2 -1
  242. package/build-module/components/dataviews-filters/toggle.js.map +1 -1
  243. package/build-module/components/dataviews-filters/use-filters.js +1 -0
  244. package/build-module/components/dataviews-filters/use-filters.js.map +1 -1
  245. package/build-module/components/dataviews-filters/utils.js +3 -2
  246. package/build-module/components/dataviews-filters/utils.js.map +1 -1
  247. package/build-module/components/dataviews-footer/index.js +3 -2
  248. package/build-module/components/dataviews-footer/index.js.map +1 -1
  249. package/build-module/components/dataviews-item-actions/index.js +22 -4
  250. package/build-module/components/dataviews-item-actions/index.js.map +2 -2
  251. package/build-module/components/dataviews-layout/index.js +2 -1
  252. package/build-module/components/dataviews-layout/index.js.map +1 -1
  253. package/build-module/components/dataviews-pagination/index.js +2 -1
  254. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  255. package/build-module/components/dataviews-picker/footer.js +3 -2
  256. package/build-module/components/dataviews-picker/footer.js.map +1 -1
  257. package/build-module/components/dataviews-picker/index.js +7 -6
  258. package/build-module/components/dataviews-picker/index.js.map +1 -1
  259. package/build-module/components/dataviews-search/index.js +3 -2
  260. package/build-module/components/dataviews-search/index.js.map +1 -1
  261. package/build-module/components/dataviews-selection-checkbox/index.js +2 -1
  262. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  263. package/build-module/components/dataviews-view-config/index.js +20 -416
  264. package/build-module/components/dataviews-view-config/index.js.map +2 -2
  265. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js +2 -1
  266. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js.map +1 -1
  267. package/build-module/components/dataviews-view-config/properties-section.js +149 -0
  268. package/build-module/components/dataviews-view-config/properties-section.js.map +7 -0
  269. package/build-module/constants.js +37 -34
  270. package/build-module/constants.js.map +2 -2
  271. package/build-module/dataform-controls/array.js +3 -2
  272. package/build-module/dataform-controls/array.js.map +1 -1
  273. package/build-module/dataform-controls/checkbox.js +3 -2
  274. package/build-module/dataform-controls/checkbox.js.map +1 -1
  275. package/build-module/dataform-controls/color.js +4 -3
  276. package/build-module/dataform-controls/color.js.map +1 -1
  277. package/build-module/dataform-controls/date.js +7 -6
  278. package/build-module/dataform-controls/date.js.map +1 -1
  279. package/build-module/dataform-controls/datetime.js +7 -12
  280. package/build-module/dataform-controls/datetime.js.map +2 -2
  281. package/build-module/dataform-controls/email.js +2 -1
  282. package/build-module/dataform-controls/email.js.map +1 -1
  283. package/build-module/dataform-controls/index.js +3 -2
  284. package/build-module/dataform-controls/index.js.map +1 -1
  285. package/build-module/dataform-controls/integer.js +2 -1
  286. package/build-module/dataform-controls/integer.js.map +1 -1
  287. package/build-module/dataform-controls/number.js +2 -1
  288. package/build-module/dataform-controls/number.js.map +1 -1
  289. package/build-module/dataform-controls/password.js +2 -1
  290. package/build-module/dataform-controls/password.js.map +1 -1
  291. package/build-module/dataform-controls/radio.js +3 -2
  292. package/build-module/dataform-controls/radio.js.map +1 -1
  293. package/build-module/dataform-controls/select.js +3 -2
  294. package/build-module/dataform-controls/select.js.map +1 -1
  295. package/build-module/dataform-controls/telephone.js +2 -1
  296. package/build-module/dataform-controls/telephone.js.map +1 -1
  297. package/build-module/dataform-controls/text.js +2 -1
  298. package/build-module/dataform-controls/text.js.map +1 -1
  299. package/build-module/dataform-controls/textarea.js +3 -2
  300. package/build-module/dataform-controls/textarea.js.map +1 -1
  301. package/build-module/dataform-controls/toggle-group.js +3 -2
  302. package/build-module/dataform-controls/toggle-group.js.map +1 -1
  303. package/build-module/dataform-controls/toggle.js +3 -2
  304. package/build-module/dataform-controls/toggle.js.map +1 -1
  305. package/build-module/dataform-controls/url.js +2 -1
  306. package/build-module/dataform-controls/url.js.map +1 -1
  307. package/build-module/dataform-controls/utils/get-custom-validity.js +1 -0
  308. package/build-module/dataform-controls/utils/get-custom-validity.js.map +1 -1
  309. package/build-module/dataform-controls/utils/relative-date-control.js +3 -2
  310. package/build-module/dataform-controls/utils/relative-date-control.js.map +1 -1
  311. package/build-module/dataform-controls/utils/validated-input.js +3 -2
  312. package/build-module/dataform-controls/utils/validated-input.js.map +1 -1
  313. package/build-module/dataform-controls/utils/validated-number.js +3 -2
  314. package/build-module/dataform-controls/utils/validated-number.js.map +1 -1
  315. package/build-module/dataform-layouts/card/index.js +63 -33
  316. package/build-module/dataform-layouts/card/index.js.map +3 -3
  317. package/build-module/dataform-layouts/data-form-layout.js +8 -15
  318. package/build-module/dataform-layouts/data-form-layout.js.map +2 -2
  319. package/build-module/dataform-layouts/details/index.js +47 -0
  320. package/build-module/dataform-layouts/details/index.js.map +7 -0
  321. package/build-module/dataform-layouts/get-summary-fields.js +2 -1
  322. package/build-module/dataform-layouts/get-summary-fields.js.map +1 -1
  323. package/build-module/dataform-layouts/index.js +8 -2
  324. package/build-module/dataform-layouts/index.js.map +2 -2
  325. package/build-module/dataform-layouts/{normalize-form-fields.js → normalize-form.js} +39 -17
  326. package/build-module/dataform-layouts/normalize-form.js.map +7 -0
  327. package/build-module/dataform-layouts/panel/dropdown.js +7 -7
  328. package/build-module/dataform-layouts/panel/dropdown.js.map +2 -2
  329. package/build-module/dataform-layouts/panel/index.js +9 -14
  330. package/build-module/dataform-layouts/panel/index.js.map +2 -2
  331. package/build-module/dataform-layouts/panel/modal.js +7 -7
  332. package/build-module/dataform-layouts/panel/modal.js.map +2 -2
  333. package/build-module/dataform-layouts/panel/summary-button.js +2 -1
  334. package/build-module/dataform-layouts/panel/summary-button.js.map +1 -1
  335. package/build-module/dataform-layouts/regular/index.js +6 -9
  336. package/build-module/dataform-layouts/regular/index.js.map +2 -2
  337. package/build-module/dataform-layouts/row/index.js +9 -23
  338. package/build-module/dataform-layouts/row/index.js.map +2 -2
  339. package/build-module/dataviews-layouts/grid/index.js +3 -2
  340. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  341. package/build-module/dataviews-layouts/grid/preview-size-picker.js +3 -2
  342. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  343. package/build-module/dataviews-layouts/index.js +13 -2
  344. package/build-module/dataviews-layouts/index.js.map +2 -2
  345. package/build-module/dataviews-layouts/list/index.js +5 -6
  346. package/build-module/dataviews-layouts/list/index.js.map +2 -2
  347. package/build-module/dataviews-layouts/picker-grid/index.js +3 -2
  348. package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -1
  349. package/build-module/dataviews-layouts/picker-table/index.js +397 -0
  350. package/build-module/dataviews-layouts/picker-table/index.js.map +7 -0
  351. package/build-module/dataviews-layouts/table/column-header-menu.js +5 -4
  352. package/build-module/dataviews-layouts/table/column-header-menu.js.map +2 -2
  353. package/build-module/dataviews-layouts/table/column-primary.js +3 -7
  354. package/build-module/dataviews-layouts/table/column-primary.js.map +2 -2
  355. package/build-module/dataviews-layouts/table/density-picker.js +2 -1
  356. package/build-module/dataviews-layouts/table/density-picker.js.map +1 -1
  357. package/build-module/dataviews-layouts/table/index.js +48 -3
  358. package/build-module/dataviews-layouts/table/index.js.map +2 -2
  359. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js +2 -1
  360. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -1
  361. package/build-module/dataviews-layouts/utils/get-data-by-group.js +1 -0
  362. package/build-module/dataviews-layouts/utils/get-data-by-group.js.map +1 -1
  363. package/build-module/dataviews-layouts/utils/grid-items.js +3 -2
  364. package/build-module/dataviews-layouts/utils/grid-items.js.map +1 -1
  365. package/build-module/dataviews-layouts/utils/item-click-wrapper.js +2 -1
  366. package/build-module/dataviews-layouts/utils/item-click-wrapper.js.map +1 -1
  367. package/build-module/dataviews-layouts/utils/preview-size-picker.js +3 -2
  368. package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +1 -1
  369. package/build-module/field-types/array.js +2 -1
  370. package/build-module/field-types/array.js.map +1 -1
  371. package/build-module/field-types/boolean.js +2 -1
  372. package/build-module/field-types/boolean.js.map +1 -1
  373. package/build-module/field-types/color.js +2 -1
  374. package/build-module/field-types/color.js.map +1 -1
  375. package/build-module/field-types/date.js +3 -2
  376. package/build-module/field-types/date.js.map +1 -1
  377. package/build-module/field-types/datetime.js +16 -2
  378. package/build-module/field-types/datetime.js.map +2 -2
  379. package/build-module/field-types/email.js +3 -2
  380. package/build-module/field-types/email.js.map +1 -1
  381. package/build-module/field-types/index.js +2 -1
  382. package/build-module/field-types/index.js.map +1 -1
  383. package/build-module/field-types/integer.js +2 -1
  384. package/build-module/field-types/integer.js.map +1 -1
  385. package/build-module/field-types/media.js +1 -0
  386. package/build-module/field-types/media.js.map +1 -1
  387. package/build-module/field-types/number.js +2 -1
  388. package/build-module/field-types/number.js.map +1 -1
  389. package/build-module/field-types/password.js +2 -1
  390. package/build-module/field-types/password.js.map +1 -1
  391. package/build-module/field-types/telephone.js +2 -1
  392. package/build-module/field-types/telephone.js.map +1 -1
  393. package/build-module/field-types/text.js +2 -1
  394. package/build-module/field-types/text.js.map +1 -1
  395. package/build-module/field-types/url.js +2 -1
  396. package/build-module/field-types/url.js.map +1 -1
  397. package/build-module/field-types/utils/parse-date-time.js +14 -0
  398. package/build-module/field-types/utils/parse-date-time.js.map +7 -0
  399. package/build-module/field-types/utils/render-from-elements.js +1 -0
  400. package/build-module/field-types/utils/render-from-elements.js.map +1 -1
  401. package/build-module/hooks/index.js +1 -0
  402. package/build-module/hooks/index.js.map +1 -1
  403. package/build-module/hooks/use-elements.js +2 -1
  404. package/build-module/hooks/use-elements.js.map +1 -1
  405. package/build-module/hooks/use-form-validity.js +424 -321
  406. package/build-module/hooks/use-form-validity.js.map +3 -3
  407. package/build-module/index.js +1 -0
  408. package/build-module/index.js.map +1 -1
  409. package/build-module/lock-unlock.js +2 -1
  410. package/build-module/lock-unlock.js.map +1 -1
  411. package/build-module/utils/filter-sort-and-paginate.js +2 -1
  412. package/build-module/utils/filter-sort-and-paginate.js.map +1 -1
  413. package/build-module/utils/has-elements.js +1 -0
  414. package/build-module/utils/has-elements.js.map +1 -1
  415. package/build-module/utils/normalize-fields.js +3 -2
  416. package/build-module/utils/normalize-fields.js.map +1 -1
  417. package/build-style/style-rtl.css +35 -40
  418. package/build-style/style.css +35 -40
  419. package/build-types/components/dataform/index.d.ts.map +1 -1
  420. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -1
  421. package/build-types/components/dataviews-filters/utils.d.ts.map +1 -1
  422. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  423. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  424. package/build-types/components/dataviews-view-config/properties-section.d.ts +4 -0
  425. package/build-types/components/dataviews-view-config/properties-section.d.ts.map +1 -0
  426. package/build-types/constants.d.ts +1 -0
  427. package/build-types/constants.d.ts.map +1 -1
  428. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  429. package/build-types/dataform-layouts/card/index.d.ts +1 -1
  430. package/build-types/dataform-layouts/card/index.d.ts.map +1 -1
  431. package/build-types/dataform-layouts/data-form-layout.d.ts +4 -4
  432. package/build-types/dataform-layouts/data-form-layout.d.ts.map +1 -1
  433. package/build-types/dataform-layouts/details/index.d.ts +6 -0
  434. package/build-types/dataform-layouts/details/index.d.ts.map +1 -0
  435. package/build-types/dataform-layouts/get-summary-fields.d.ts.map +1 -1
  436. package/build-types/dataform-layouts/index.d.ts +7 -2
  437. package/build-types/dataform-layouts/index.d.ts.map +1 -1
  438. package/build-types/dataform-layouts/normalize-form.d.ts +8 -0
  439. package/build-types/dataform-layouts/normalize-form.d.ts.map +1 -0
  440. package/build-types/dataform-layouts/panel/dropdown.d.ts +2 -2
  441. package/build-types/dataform-layouts/panel/dropdown.d.ts.map +1 -1
  442. package/build-types/dataform-layouts/panel/index.d.ts.map +1 -1
  443. package/build-types/dataform-layouts/panel/modal.d.ts +2 -2
  444. package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -1
  445. package/build-types/dataform-layouts/regular/index.d.ts.map +1 -1
  446. package/build-types/dataform-layouts/row/index.d.ts.map +1 -1
  447. package/build-types/dataviews-layouts/index.d.ts +8 -0
  448. package/build-types/dataviews-layouts/index.d.ts.map +1 -1
  449. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  450. package/build-types/dataviews-layouts/picker-table/index.d.ts +4 -0
  451. package/build-types/dataviews-layouts/picker-table/index.d.ts.map +1 -0
  452. package/build-types/dataviews-layouts/table/column-header-menu.d.ts +3 -3
  453. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  454. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -1
  455. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  456. package/build-types/field-types/datetime.d.ts +1 -1
  457. package/build-types/field-types/datetime.d.ts.map +1 -1
  458. package/build-types/field-types/utils/parse-date-time.d.ts +2 -0
  459. package/build-types/field-types/utils/parse-date-time.d.ts.map +1 -0
  460. package/build-types/hooks/use-form-validity.d.ts.map +1 -1
  461. package/build-types/stories/dataform.story.d.ts +4 -10
  462. package/build-types/stories/dataform.story.d.ts.map +1 -1
  463. package/build-types/stories/dataviews-picker.story.d.ts +33 -0
  464. package/build-types/stories/dataviews-picker.story.d.ts.map +1 -1
  465. package/build-types/stories/dataviews.fixtures.d.ts.map +1 -1
  466. package/build-types/stories/dataviews.story.d.ts +7 -1
  467. package/build-types/stories/dataviews.story.d.ts.map +1 -1
  468. package/build-types/test/normalize-form.d.ts +2 -0
  469. package/build-types/test/normalize-form.d.ts.map +1 -0
  470. package/build-types/types/dataform.d.ts +23 -9
  471. package/build-types/types/dataform.d.ts.map +1 -1
  472. package/build-types/types/dataviews.d.ts +23 -2
  473. package/build-types/types/dataviews.d.ts.map +1 -1
  474. package/build-wp/index.js +2101 -1673
  475. package/package.json +15 -15
  476. package/src/components/dataform/index.tsx +3 -1
  477. package/src/components/dataviews-filters/filter.tsx +16 -1
  478. package/src/components/dataviews-item-actions/index.tsx +37 -14
  479. package/src/components/dataviews-view-config/index.tsx +8 -504
  480. package/src/components/dataviews-view-config/properties-section.tsx +201 -0
  481. package/src/components/dataviews-view-config/style.scss +2 -39
  482. package/src/constants.ts +1 -0
  483. package/src/dataform-controls/datetime.tsx +3 -10
  484. package/src/dataform-layouts/card/index.tsx +45 -21
  485. package/src/dataform-layouts/data-form-layout.tsx +12 -23
  486. package/src/dataform-layouts/details/index.tsx +71 -0
  487. package/src/dataform-layouts/details/style.scss +5 -0
  488. package/src/dataform-layouts/index.tsx +10 -3
  489. package/src/dataform-layouts/{normalize-form-fields.ts → normalize-form.ts} +45 -23
  490. package/src/dataform-layouts/panel/dropdown.tsx +10 -13
  491. package/src/dataform-layouts/panel/index.tsx +9 -24
  492. package/src/dataform-layouts/panel/modal.tsx +15 -15
  493. package/src/dataform-layouts/regular/index.tsx +7 -12
  494. package/src/dataform-layouts/row/index.tsx +13 -26
  495. package/src/dataviews-layouts/index.ts +10 -0
  496. package/src/dataviews-layouts/list/index.tsx +2 -5
  497. package/src/dataviews-layouts/picker-table/index.tsx +487 -0
  498. package/src/dataviews-layouts/picker-table/style.scss +45 -0
  499. package/src/dataviews-layouts/table/column-header-menu.tsx +3 -2
  500. package/src/dataviews-layouts/table/column-primary.tsx +4 -7
  501. package/src/dataviews-layouts/table/index.tsx +54 -2
  502. package/src/dataviews-layouts/table/style.scss +6 -1
  503. package/src/field-types/datetime.tsx +16 -5
  504. package/src/field-types/utils/parse-date-time.ts +17 -0
  505. package/src/hooks/use-form-validity.ts +572 -422
  506. package/src/stories/dataform.story.tsx +586 -454
  507. package/src/stories/dataviews-picker.story.tsx +166 -38
  508. package/src/stories/dataviews.fixtures.tsx +4 -1
  509. package/src/stories/dataviews.story.tsx +10 -2
  510. package/src/stories/field-types.story.tsx +7 -7
  511. package/src/style.scss +2 -0
  512. package/src/test/normalize-form.ts +568 -0
  513. package/src/test/use-form-validity.ts +318 -33
  514. package/src/types/dataform.ts +30 -11
  515. package/src/types/dataviews.ts +36 -2
  516. package/tsconfig.tsbuildinfo +1 -1
  517. package/build/dataform-layouts/is-combined-field.js.map +0 -7
  518. package/build/dataform-layouts/normalize-form-fields.js.map +0 -7
  519. package/build-module/dataform-layouts/is-combined-field.js +0 -7
  520. package/build-module/dataform-layouts/is-combined-field.js.map +0 -7
  521. package/build-module/dataform-layouts/normalize-form-fields.js.map +0 -7
  522. package/build-types/dataform-layouts/is-combined-field.d.ts +0 -6
  523. package/build-types/dataform-layouts/is-combined-field.d.ts.map +0 -1
  524. package/build-types/dataform-layouts/normalize-form-fields.d.ts +0 -19
  525. package/build-types/dataform-layouts/normalize-form-fields.d.ts.map +0 -1
  526. package/build-types/test/normalize-form-fields.d.ts +0 -2
  527. package/build-types/test/normalize-form-fields.d.ts.map +0 -1
  528. package/src/dataform-layouts/is-combined-field.ts +0 -10
  529. package/src/test/normalize-form-fields.ts +0 -324
@@ -26,16 +26,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/dataviews-layouts/table/density-picker.tsx
29
31
  var density_picker_exports = {};
30
32
  __export(density_picker_exports, {
31
33
  default: () => DensityPicker
32
34
  });
33
35
  module.exports = __toCommonJS(density_picker_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_components = require("@wordpress/components");
36
37
  var import_i18n = require("@wordpress/i18n");
37
38
  var import_element = require("@wordpress/element");
38
39
  var import_dataviews_context = __toESM(require("../../components/dataviews-context"));
40
+ var import_jsx_runtime = require("react/jsx-runtime");
39
41
  function DensityPicker() {
40
42
  const context = (0, import_element.useContext)(import_dataviews_context.default);
41
43
  const view = context.view;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dataviews-layouts/table/density-picker.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport type { ViewTable, Density } from '../../types';\n\nexport default function DensityPicker() {\n\tconst context = useContext( DataViewsContext );\n\tconst view = context.view as ViewTable;\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tsize=\"__unstable-large\"\n\t\t\tlabel={ __( 'Density' ) }\n\t\t\tvalue={ view.layout?.density || 'balanced' }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tcontext.onChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...view.layout,\n\t\t\t\t\t\tdensity: value as Density,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tisBlock\n\t\t>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"comfortable\"\n\t\t\t\tvalue=\"comfortable\"\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'Comfortable',\n\t\t\t\t\t'Density option for DataView layout'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"balanced\"\n\t\t\t\tvalue=\"balanced\"\n\t\t\t\tlabel={ _x( 'Balanced', 'Density option for DataView layout' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"compact\"\n\t\t\t\tvalue=\"compact\"\n\t\t\t\tlabel={ _x( 'Compact', 'Density option for DataView layout' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBE;AAjBF,wBAGO;AACP,kBAAuB;AACvB,qBAA2B;AAK3B,+BAA6B;AAGd,SAAR,gBAAiC;AACvC,QAAM,cAAU,2BAAY,yBAAAA,OAAiB;AAC7C,QAAM,OAAO,QAAQ;AACrB,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,yBAAuB;AAAA,MACvB,MAAK;AAAA,MACL,WAAQ,gBAAI,SAAU;AAAA,MACtB,OAAQ,KAAK,QAAQ,WAAW;AAAA,MAChC,UAAW,CAAE,UAAW;AACvB,gBAAQ,aAAc;AAAA,UACrB,GAAG;AAAA,UACH,QAAQ;AAAA,YACP,GAAG,KAAK;AAAA,YACR,SAAS;AAAA,UACV;AAAA,QACD,CAAE;AAAA,MACH;AAAA,MACA,SAAO;AAAA,MAEP;AAAA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YAEA,OAAM;AAAA,YACN,WAAQ;AAAA,cACP;AAAA,cACA;AAAA,YACD;AAAA;AAAA,UALI;AAAA,QAML;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YAEA,OAAM;AAAA,YACN,WAAQ,gBAAI,YAAY,oCAAqC;AAAA;AAAA,UAFzD;AAAA,QAGL;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YAEA,OAAM;AAAA,YACN,WAAQ,gBAAI,WAAW,oCAAqC;AAAA;AAAA,UAFxD;AAAA,QAGL;AAAA;AAAA;AAAA,EACD;AAEF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAGO;AACP,kBAAuB;AACvB,qBAA2B;AAK3B,+BAA6B;AAO3B;AAJa,SAAR,gBAAiC;AACvC,QAAM,cAAU,2BAAY,yBAAAA,OAAiB;AAC7C,QAAM,OAAO,QAAQ;AACrB,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,yBAAuB;AAAA,MACvB,MAAK;AAAA,MACL,WAAQ,gBAAI,SAAU;AAAA,MACtB,OAAQ,KAAK,QAAQ,WAAW;AAAA,MAChC,UAAW,CAAE,UAAW;AACvB,gBAAQ,aAAc;AAAA,UACrB,GAAG;AAAA,UACH,QAAQ;AAAA,YACP,GAAG,KAAK;AAAA,YACR,SAAS;AAAA,UACV;AAAA,QACD,CAAE;AAAA,MACH;AAAA,MACA,SAAO;AAAA,MAEP;AAAA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YAEA,OAAM;AAAA,YACN,WAAQ;AAAA,cACP;AAAA,cACA;AAAA,YACD;AAAA;AAAA,UALI;AAAA,QAML;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YAEA,OAAM;AAAA,YACN,WAAQ,gBAAI,YAAY,oCAAqC;AAAA;AAAA,UAFzD;AAAA,QAGL;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YAEA,OAAM;AAAA,YACN,WAAQ,gBAAI,WAAW,oCAAqC;AAAA;AAAA,UAFxD;AAAA,QAGL;AAAA;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["DataViewsContext", "ToggleGroupControl", "ToggleGroupControlOption"]
7
7
  }
@@ -26,12 +26,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/dataviews-layouts/table/index.tsx
29
31
  var table_exports = {};
30
32
  __export(table_exports, {
31
33
  default: () => table_default
32
34
  });
33
35
  module.exports = __toCommonJS(table_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_clsx = __toESM(require("clsx"));
36
37
  var import_i18n = require("@wordpress/i18n");
37
38
  var import_components = require("@wordpress/components");
@@ -46,6 +47,8 @@ var import_column_header_menu = __toESM(require("./column-header-menu"));
46
47
  var import_column_primary = __toESM(require("./column-primary"));
47
48
  var import_use_is_horizontal_scroll_end = require("./use-is-horizontal-scroll-end");
48
49
  var import_get_data_by_group = __toESM(require("../utils/get-data-by-group"));
50
+ var import_properties_section = require("../../components/dataviews-view-config/properties-section");
51
+ var import_jsx_runtime = require("react/jsx-runtime");
49
52
  function TableColumnField({
50
53
  item,
51
54
  fields,
@@ -229,6 +232,7 @@ function ViewTable({
229
232
  const headerMenuToFocusRef = (0, import_element.useRef)();
230
233
  const [nextHeaderMenuToFocus, setNextHeaderMenuToFocus] = (0, import_element.useState)();
231
234
  const hasBulkActions = (0, import_dataviews_bulk_actions.useSomeItemHasAPossibleBulkAction)(actions, data);
235
+ const [contextMenuAnchor, setContextMenuAnchor] = (0, import_element.useState)(null);
232
236
  (0, import_element.useEffect)(() => {
233
237
  if (headerMenuToFocusRef.current) {
234
238
  headerMenuToFocusRef.current.focus();
@@ -250,6 +254,26 @@ function ViewTable({
250
254
  const fallback = hidden ? headerMenuRefs.current.get(hidden.fallback) : void 0;
251
255
  setNextHeaderMenuToFocus(fallback?.node);
252
256
  };
257
+ const handleHeaderContextMenu = (event) => {
258
+ event.preventDefault();
259
+ event.stopPropagation();
260
+ const virtualAnchor = {
261
+ getBoundingClientRect: () => ({
262
+ x: event.clientX,
263
+ y: event.clientY,
264
+ top: event.clientY,
265
+ left: event.clientX,
266
+ right: event.clientX,
267
+ bottom: event.clientY,
268
+ width: 0,
269
+ height: 0,
270
+ toJSON: () => ({})
271
+ })
272
+ };
273
+ window.requestAnimationFrame(() => {
274
+ setContextMenuAnchor(virtualAnchor);
275
+ });
276
+ };
253
277
  const hasData = !!data?.length;
254
278
  const titleField = fields.find((field) => field.id === view.titleField);
255
279
  const mediaField = fields.find((field) => field.id === view.mediaField);
@@ -285,12 +309,34 @@ function ViewTable({
285
309
  "aria-describedby": tableNoticeId,
286
310
  role: isInfiniteScroll ? "feed" : void 0,
287
311
  children: [
288
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("tr", { className: "dataviews-view-table__row", children: [
312
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("colgroup", { children: [
313
+ hasBulkActions && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("col", { className: "dataviews-view-table__col-checkbox" }),
314
+ hasPrimaryColumn && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("col", { className: "dataviews-view-table__col-primary" }),
315
+ columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
316
+ "col",
317
+ {
318
+ className: `dataviews-view-table__col-${column}`
319
+ },
320
+ `col-${column}`
321
+ )),
322
+ !!actions?.length && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("col", { className: "dataviews-view-table__col-actions" })
323
+ ] }),
324
+ contextMenuAnchor && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
325
+ import_components.Popover,
326
+ {
327
+ anchor: contextMenuAnchor,
328
+ onClose: () => setContextMenuAnchor(null),
329
+ placement: "bottom-start",
330
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_properties_section.PropertiesSection, { showLabel: false })
331
+ }
332
+ ),
333
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("thead", { onContextMenu: handleHeaderContextMenu, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("tr", { className: "dataviews-view-table__row", children: [
289
334
  hasBulkActions && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
290
335
  "th",
291
336
  {
292
337
  className: "dataviews-view-table__checkbox-column",
293
338
  scope: "col",
339
+ onContextMenu: handleHeaderContextMenu,
294
340
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
295
341
  import_dataviews_bulk_actions.BulkSelectionCheckbox,
296
342
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dataviews-layouts/table/index.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { isAppleOS } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../types/private';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\nimport { useIsHorizontalScrollEnd } from './use-is-horizontal-scroll-end';\nimport getDataByGroup from '../utils/get-data-by-group';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n\talign?: 'start' | 'center' | 'end';\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tlevel?: number;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisActionsColumnSticky?: boolean;\n\tposinset?: number;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n\talign,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\tconst className = clsx( 'dataviews-view-table__cell-content-wrapper', {\n\t\t'dataviews-view-table__cell-align-end': align === 'end',\n\t\t'dataviews-view-table__cell-align-center': align === 'center',\n\t} );\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<field.render item={ item } field={ field } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tlevel,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\trenderItemLink,\n\tonChangeSelection,\n\tisActionsColumnSticky,\n\tposinset,\n}: TableRowProps< Item > ) {\n\tconst { paginationInfo } = useContext( DataViewsContext );\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst {\n\t\tshowTitle = true,\n\t\tshowMedia = true,\n\t\tshowDescription = true,\n\t\tinfiniteScrollEnabled,\n\t} = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\taria-setsize={\n\t\t\t\tinfiniteScrollEnabled ? paginationInfo.totalItems : undefined\n\t\t\t}\n\t\t\taria-posinset={ posinset }\n\t\t\trole={ infiniteScrollEnabled ? 'article' : undefined }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tif ( isAppleOS() ? event.metaKey : event.ctrlKey ) {\n\t\t\t\t\t\t// Handle non-consecutive selection.\n\t\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t\t? selection.filter(\n\t\t\t\t\t\t\t\t\t\t( itemId ) => id !== itemId\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Handle single selection\n\t\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t\t? selection.filter(\n\t\t\t\t\t\t\t\t\t\t( itemId ) => id !== itemId\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: [ id ]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td className=\"dataviews-view-table__checkbox-column\">\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td\n\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName={ clsx( 'dataviews-view-table__actions-column', {\n\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky': true,\n\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\tisActionsColumnSticky,\n\t\t\t\t\t} ) }\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tview,\n\tclassName,\n\tempty,\n}: ViewTableProps< Item > ) {\n\tconst { containerRef } = useContext( DataViewsContext );\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tconst isHorizontalScrollEnd = useIsHorizontalScrollEnd( {\n\t\tscrollContainerRef: containerRef,\n\t\tenabled: !! actions?.length,\n\t} );\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\n\tconst groupField = view.groupByField\n\t\t? fields.find( ( f ) => f.id === view.groupByField )\n\t\t: null;\n\tconst dataByGroup = groupField ? getDataByGroup( data, groupField ) : null;\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\tconst isInfiniteScroll = view.infiniteScrollEnabled && ! dataByGroup;\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', className, {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t\trole={ isInfiniteScroll ? 'feed' : undefined }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\tcanMove={\n\t\t\t\t\t\t\t\t\t\t\tview.layout?.enableMoving ?? true\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</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky':\n\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t{ /* Render grouped data if groupByField is specified */ }\n\t\t\t\t{ hasData && groupField && dataByGroup ? (\n\t\t\t\t\tArray.from( dataByGroup.entries() ).map(\n\t\t\t\t\t\t( [ groupName, groupItems ] ) => (\n\t\t\t\t\t\t\t<tbody key={ `group-${ groupName }` }>\n\t\t\t\t\t\t\t\t<tr className=\"dataviews-view-table__group-header-row\">\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tcolSpan={\n\t\t\t\t\t\t\t\t\t\t\tcolumns.length +\n\t\t\t\t\t\t\t\t\t\t\t( hasPrimaryColumn ? 1 : 0 ) +\n\t\t\t\t\t\t\t\t\t\t\t( hasBulkActions ? 1 : 0 ) +\n\t\t\t\t\t\t\t\t\t\t\t( actions?.length ? 1 : 0 )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__group-header-cell\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: 1: The label of the field e.g. \"Date\". 2: The value of the field, e.g.: \"May 2022\".\n\t\t\t\t\t\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\t\t\t\t\t\tgroupField.label,\n\t\t\t\t\t\t\t\t\t\t\tgroupName\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t{ groupItems.map( ( item, index ) => (\n\t\t\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) ||\n\t\t\t\t\t\t\t\t\t\t\tindex.toString()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\t\t\tisActionsColumnSticky={\n\t\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd\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</tbody>\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t) : (\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\t\tisActionsColumnSticky={\n\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tposinset={\n\t\t\t\t\t\t\t\t\t\tisInfiniteScroll ? index + 1 : undefined\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</tbody>\n\t\t\t\t) }\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData &&\n\t\t\t\t\t( isLoading ? (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tempty\n\t\t\t\t\t) ) }\n\t\t\t\t{ hasData && isLoading && (\n\t\t\t\t\t<p className=\"dataviews-loading-more\">\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Spinner, Popover } from '@wordpress/components';\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { isAppleOS } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../types/private';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\nimport { useIsHorizontalScrollEnd } from './use-is-horizontal-scroll-end';\nimport getDataByGroup from '../utils/get-data-by-group';\nimport { PropertiesSection } from '../../components/dataviews-view-config/properties-section';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n\talign?: 'start' | 'center' | 'end';\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tlevel?: number;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisActionsColumnSticky?: boolean;\n\tposinset?: number;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n\talign,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\tconst className = clsx( 'dataviews-view-table__cell-content-wrapper', {\n\t\t'dataviews-view-table__cell-align-end': align === 'end',\n\t\t'dataviews-view-table__cell-align-center': align === 'center',\n\t} );\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<field.render item={ item } field={ field } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tlevel,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\trenderItemLink,\n\tonChangeSelection,\n\tisActionsColumnSticky,\n\tposinset,\n}: TableRowProps< Item > ) {\n\tconst { paginationInfo } = useContext( DataViewsContext );\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst {\n\t\tshowTitle = true,\n\t\tshowMedia = true,\n\t\tshowDescription = true,\n\t\tinfiniteScrollEnabled,\n\t} = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\taria-setsize={\n\t\t\t\tinfiniteScrollEnabled ? paginationInfo.totalItems : undefined\n\t\t\t}\n\t\t\taria-posinset={ posinset }\n\t\t\trole={ infiniteScrollEnabled ? 'article' : undefined }\n\t\t\tonClick={ ( event ) => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tif ( isAppleOS() ? event.metaKey : event.ctrlKey ) {\n\t\t\t\t\t\t// Handle non-consecutive selection.\n\t\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t\t? selection.filter(\n\t\t\t\t\t\t\t\t\t\t( itemId ) => id !== itemId\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Handle single selection\n\t\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t\t? selection.filter(\n\t\t\t\t\t\t\t\t\t\t( itemId ) => id !== itemId\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: [ id ]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td className=\"dataviews-view-table__checkbox-column\">\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td\n\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName={ clsx( 'dataviews-view-table__actions-column', {\n\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky': true,\n\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\tisActionsColumnSticky,\n\t\t\t\t\t} ) }\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tview,\n\tclassName,\n\tempty,\n}: ViewTableProps< Item > ) {\n\tconst { containerRef } = useContext( DataViewsContext );\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\tconst [ contextMenuAnchor, setContextMenuAnchor ] = useState< {\n\t\tgetBoundingClientRect: () => DOMRect;\n\t} | null >( null );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tconst isHorizontalScrollEnd = useIsHorizontalScrollEnd( {\n\t\tscrollContainerRef: containerRef,\n\t\tenabled: !! actions?.length,\n\t} );\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst handleHeaderContextMenu = ( event: React.MouseEvent ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tconst virtualAnchor = {\n\t\t\tgetBoundingClientRect: () => ( {\n\t\t\t\tx: event.clientX,\n\t\t\t\ty: event.clientY,\n\t\t\t\ttop: event.clientY,\n\t\t\t\tleft: event.clientX,\n\t\t\t\tright: event.clientX,\n\t\t\t\tbottom: event.clientY,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\ttoJSON: () => ( {} ),\n\t\t\t} ),\n\t\t};\n\t\twindow.requestAnimationFrame( () => {\n\t\t\tsetContextMenuAnchor( virtualAnchor );\n\t\t} );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\n\tconst groupField = view.groupByField\n\t\t? fields.find( ( f ) => f.id === view.groupByField )\n\t\t: null;\n\tconst dataByGroup = groupField ? getDataByGroup( data, groupField ) : null;\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\tconst isInfiniteScroll = view.infiniteScrollEnabled && ! dataByGroup;\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', className, {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t\trole={ isInfiniteScroll ? 'feed' : undefined }\n\t\t\t>\n\t\t\t\t<colgroup>\n\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t<col className=\"dataviews-view-table__col-checkbox\" />\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t<col className=\"dataviews-view-table__col-primary\" />\n\t\t\t\t\t) }\n\t\t\t\t\t{ columns.map( ( column ) => (\n\t\t\t\t\t\t<col\n\t\t\t\t\t\t\tkey={ `col-${ column }` }\n\t\t\t\t\t\t\tclassName={ `dataviews-view-table__col-${ column }` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t<col className=\"dataviews-view-table__col-actions\" />\n\t\t\t\t\t) }\n\t\t\t\t</colgroup>\n\t\t\t\t{ contextMenuAnchor && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tanchor={ contextMenuAnchor }\n\t\t\t\t\t\tonClose={ () => setContextMenuAnchor( null ) }\n\t\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<PropertiesSection showLabel={ false } />\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t\t<thead onContextMenu={ handleHeaderContextMenu }>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\tonContextMenu={ handleHeaderContextMenu }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth, align } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\t\t\t\tminWidth,\n\t\t\t\t\t\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\tcanMove={\n\t\t\t\t\t\t\t\t\t\t\tview.layout?.enableMoving ?? true\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</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--sticky':\n\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__actions-column--stuck':\n\t\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t{ /* Render grouped data if groupByField is specified */ }\n\t\t\t\t{ hasData && groupField && dataByGroup ? (\n\t\t\t\t\tArray.from( dataByGroup.entries() ).map(\n\t\t\t\t\t\t( [ groupName, groupItems ] ) => (\n\t\t\t\t\t\t\t<tbody key={ `group-${ groupName }` }>\n\t\t\t\t\t\t\t\t<tr className=\"dataviews-view-table__group-header-row\">\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tcolSpan={\n\t\t\t\t\t\t\t\t\t\t\tcolumns.length +\n\t\t\t\t\t\t\t\t\t\t\t( hasPrimaryColumn ? 1 : 0 ) +\n\t\t\t\t\t\t\t\t\t\t\t( hasBulkActions ? 1 : 0 ) +\n\t\t\t\t\t\t\t\t\t\t\t( actions?.length ? 1 : 0 )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__group-header-cell\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: 1: The label of the field e.g. \"Date\". 2: The value of the field, e.g.: \"May 2022\".\n\t\t\t\t\t\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\t\t\t\t\t\tgroupField.label,\n\t\t\t\t\t\t\t\t\t\t\tgroupName\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t{ groupItems.map( ( item, index ) => (\n\t\t\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) ||\n\t\t\t\t\t\t\t\t\t\t\tindex.toString()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\t\t\tisActionsColumnSticky={\n\t\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd\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</tbody>\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t) : (\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\t\tisActionsColumnSticky={\n\t\t\t\t\t\t\t\t\t\t! isHorizontalScrollEnd\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tposinset={\n\t\t\t\t\t\t\t\t\t\tisInfiniteScroll ? index + 1 : undefined\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</tbody>\n\t\t\t\t) }\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData &&\n\t\t\t\t\t( isLoading ? (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tempty\n\t\t\t\t\t) ) }\n\t\t\t\t{ hasData && isLoading && (\n\t\t\t\t\t<p className=\"dataviews-loading-more\">\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],
5
+ "mappings": "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",
6
6
  "names": ["clsx", "DataViewsContext", "DataViewsSelectionCheckbox", "ColumnPrimary", "ItemActions", "getDataByGroup", "ColumnHeaderMenu"]
7
7
  }
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/dataviews/src/dataviews-layouts/table/use-is-horizontal-scroll-end.ts
19
21
  var use_is_horizontal_scroll_end_exports = {};
20
22
  __export(use_is_horizontal_scroll_end_exports, {
21
23
  useIsHorizontalScrollEnd: () => useIsHorizontalScrollEnd
@@ -24,7 +26,7 @@ module.exports = __toCommonJS(use_is_horizontal_scroll_end_exports);
24
26
  var import_compose = require("@wordpress/compose");
25
27
  var import_element = require("@wordpress/element");
26
28
  var import_i18n = require("@wordpress/i18n");
27
- const isScrolledToEnd = (element) => {
29
+ var isScrolledToEnd = (element) => {
28
30
  if ((0, import_i18n.isRTL)()) {
29
31
  const scrollLeft = Math.abs(element.scrollLeft);
30
32
  return scrollLeft <= 1;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dataviews-layouts/table/use-is-horizontal-scroll-end.ts"],
4
4
  "sourcesContent": ["/**\n * External dependencies\n */\nimport type { MutableRefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useDebounce } from '@wordpress/compose';\nimport { useCallback, useEffect, useState } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\nconst isScrolledToEnd = ( element: Element ) => {\n\tif ( isRTL() ) {\n\t\tconst scrollLeft = Math.abs( element.scrollLeft );\n\t\treturn scrollLeft <= 1;\n\t}\n\n\treturn element.scrollLeft + element.clientWidth >= element.scrollWidth - 1;\n};\n\n/**\n * A hook to check if a given scroll container has reached the horizontal scroll end.\n *\n * The current way receives \"refs\" as arguments, but it lacks a mechanism to detect when a ref has changed.\n * As a result, when the \"ref\" is updated and attached to a new div, the computation should trigger again.\n * However, this isn't possible in the current setup because the hook is unaware that the ref has changed.\n *\n * See https://github.com/Automattic/wp-calypso/pull/103005#discussion_r2077567912.\n *\n * @param {Object} params The parameters for the hook.\n * @param {MutableRefObject<HTMLDivElement | null>} params.scrollContainerRef The ref to the scroll container element.\n * @param {boolean} [params.enabled=false] Whether the hook is enabled.\n * @return {boolean} - Returns true if the scroll container is scrolled to the end or false otherwise.\n */\nexport function useIsHorizontalScrollEnd( {\n\tscrollContainerRef,\n\tenabled = false,\n}: {\n\tscrollContainerRef: React.MutableRefObject< HTMLDivElement | null >;\n\tenabled?: boolean;\n} ): boolean {\n\tconst [ isHorizontalScrollEnd, setIsHorizontalScrollEnd ] =\n\t\tuseState( false );\n\n\tconst handleIsHorizontalScrollEnd = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst scrollContainer = scrollContainerRef.current;\n\t\t\tif ( scrollContainer ) {\n\t\t\t\tsetIsHorizontalScrollEnd( isScrolledToEnd( scrollContainer ) );\n\t\t\t}\n\t\t}, [ scrollContainerRef, setIsHorizontalScrollEnd ] ),\n\t\t200\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\ttypeof window === 'undefined' ||\n\t\t\t! enabled ||\n\t\t\t! scrollContainerRef.current\n\t\t) {\n\t\t\treturn () => {};\n\t\t}\n\n\t\thandleIsHorizontalScrollEnd();\n\t\tscrollContainerRef.current.addEventListener(\n\t\t\t'scroll',\n\t\t\thandleIsHorizontalScrollEnd\n\t\t);\n\t\twindow.addEventListener( 'resize', handleIsHorizontalScrollEnd );\n\n\t\treturn () => {\n\t\t\tscrollContainerRef.current?.removeEventListener(\n\t\t\t\t'scroll',\n\t\t\t\thandleIsHorizontalScrollEnd\n\t\t\t);\n\t\t\twindow.removeEventListener( 'resize', handleIsHorizontalScrollEnd );\n\t\t};\n\t}, [ scrollContainerRef, enabled ] );\n\n\treturn isHorizontalScrollEnd;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAA4B;AAC5B,qBAAiD;AACjD,kBAAsB;AAEtB,MAAM,kBAAkB,CAAE,YAAsB;AAC/C,UAAK,mBAAM,GAAI;AACd,UAAM,aAAa,KAAK,IAAK,QAAQ,UAAW;AAChD,WAAO,cAAc;AAAA,EACtB;AAEA,SAAO,QAAQ,aAAa,QAAQ,eAAe,QAAQ,cAAc;AAC1E;AAgBO,SAAS,yBAA0B;AAAA,EACzC;AAAA,EACA,UAAU;AACX,GAGa;AACZ,QAAM,CAAE,uBAAuB,wBAAyB,QACvD,yBAAU,KAAM;AAEjB,QAAM,kCAA8B;AAAA,QACnC,4BAAa,MAAM;AAClB,YAAM,kBAAkB,mBAAmB;AAC3C,UAAK,iBAAkB;AACtB,iCAA0B,gBAAiB,eAAgB,CAAE;AAAA,MAC9D;AAAA,IACD,GAAG,CAAE,oBAAoB,wBAAyB,CAAE;AAAA,IACpD;AAAA,EACD;AAEA,gCAAW,MAAM;AAChB,QACC,OAAO,WAAW,eAClB,CAAE,WACF,CAAE,mBAAmB,SACpB;AACD,aAAO,MAAM;AAAA,MAAC;AAAA,IACf;AAEA,gCAA4B;AAC5B,uBAAmB,QAAQ;AAAA,MAC1B;AAAA,MACA;AAAA,IACD;AACA,WAAO,iBAAkB,UAAU,2BAA4B;AAE/D,WAAO,MAAM;AACZ,yBAAmB,SAAS;AAAA,QAC3B;AAAA,QACA;AAAA,MACD;AACA,aAAO,oBAAqB,UAAU,2BAA4B;AAAA,IACnE;AAAA,EACD,GAAG,CAAE,oBAAoB,OAAQ,CAAE;AAEnC,SAAO;AACR;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAA4B;AAC5B,qBAAiD;AACjD,kBAAsB;AAEtB,IAAM,kBAAkB,CAAE,YAAsB;AAC/C,UAAK,mBAAM,GAAI;AACd,UAAM,aAAa,KAAK,IAAK,QAAQ,UAAW;AAChD,WAAO,cAAc;AAAA,EACtB;AAEA,SAAO,QAAQ,aAAa,QAAQ,eAAe,QAAQ,cAAc;AAC1E;AAgBO,SAAS,yBAA0B;AAAA,EACzC;AAAA,EACA,UAAU;AACX,GAGa;AACZ,QAAM,CAAE,uBAAuB,wBAAyB,QACvD,yBAAU,KAAM;AAEjB,QAAM,kCAA8B;AAAA,QACnC,4BAAa,MAAM;AAClB,YAAM,kBAAkB,mBAAmB;AAC3C,UAAK,iBAAkB;AACtB,iCAA0B,gBAAiB,eAAgB,CAAE;AAAA,MAC9D;AAAA,IACD,GAAG,CAAE,oBAAoB,wBAAyB,CAAE;AAAA,IACpD;AAAA,EACD;AAEA,gCAAW,MAAM;AAChB,QACC,OAAO,WAAW,eAClB,CAAE,WACF,CAAE,mBAAmB,SACpB;AACD,aAAO,MAAM;AAAA,MAAC;AAAA,IACf;AAEA,gCAA4B;AAC5B,uBAAmB,QAAQ;AAAA,MAC1B;AAAA,MACA;AAAA,IACD;AACA,WAAO,iBAAkB,UAAU,2BAA4B;AAE/D,WAAO,MAAM;AACZ,yBAAmB,SAAS;AAAA,QAC3B;AAAA,QACA;AAAA,MACD;AACA,aAAO,oBAAqB,UAAU,2BAA4B;AAAA,IACnE;AAAA,EACD,GAAG,CAAE,oBAAoB,OAAQ,CAAE;AAEnC,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/dataviews/src/dataviews-layouts/utils/get-data-by-group.ts
19
21
  var get_data_by_group_exports = {};
20
22
  __export(get_data_by_group_exports, {
21
23
  default: () => getDataByGroup
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dataviews-layouts/utils/get-data-by-group.ts"],
4
4
  "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { NormalizedField } from '../../types';\n\nexport default function getDataByGroup< Item >(\n\tdata: any[],\n\tgroupByField: NormalizedField< Item >\n): Map< string, any[] > {\n\treturn data.reduce( ( groups: Map< string, typeof data >, item ) => {\n\t\tconst groupName = groupByField.getValue( { item } );\n\t\tif ( ! groups.has( groupName ) ) {\n\t\t\tgroups.set( groupName, [] );\n\t\t}\n\t\tgroups.get( groupName )?.push( item );\n\t\treturn groups;\n\t}, new Map< string, typeof data >() );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKe,SAAR,eACN,MACA,cACuB;AACvB,SAAO,KAAK,OAAQ,CAAE,QAAoC,SAAU;AACnE,UAAM,YAAY,aAAa,SAAU,EAAE,KAAK,CAAE;AAClD,QAAK,CAAE,OAAO,IAAK,SAAU,GAAI;AAChC,aAAO,IAAK,WAAW,CAAC,CAAE;AAAA,IAC3B;AACA,WAAO,IAAK,SAAU,GAAG,KAAM,IAAK;AACpC,WAAO;AAAA,EACR,GAAG,oBAAI,IAA2B,CAAE;AACrC;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKe,SAAR,eACN,MACA,cACuB;AACvB,SAAO,KAAK,OAAQ,CAAE,QAAoC,SAAU;AACnE,UAAM,YAAY,aAAa,SAAU,EAAE,KAAK,CAAE;AAClD,QAAK,CAAE,OAAO,IAAK,SAAU,GAAI;AAChC,aAAO,IAAK,WAAW,CAAC,CAAE;AAAA,IAC3B;AACA,WAAO,IAAK,SAAU,GAAG,KAAM,IAAK;AACpC,WAAO;AAAA,EACR,GAAG,oBAAI,IAA2B,CAAE;AACrC;",
6
6
  "names": []
7
7
  }
@@ -26,15 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/dataviews-layouts/utils/grid-items.tsx
29
31
  var grid_items_exports = {};
30
32
  __export(grid_items_exports, {
31
33
  GridItems: () => GridItems
32
34
  });
33
35
  module.exports = __toCommonJS(grid_items_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_element = require("@wordpress/element");
36
37
  var import_clsx = __toESM(require("clsx"));
37
- const GridItems = (0, import_element.forwardRef)(({ className, previewSize, ...props }, ref) => {
38
+ var import_jsx_runtime = require("react/jsx-runtime");
39
+ var GridItems = (0, import_element.forwardRef)(({ className, previewSize, ...props }, ref) => {
38
40
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
39
41
  "div",
40
42
  {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dataviews-layouts/utils/grid-items.tsx"],
4
4
  "sourcesContent": ["/**\n * External dependencies\n */\nimport type { ComponentPropsWithoutRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\nexport const GridItems = forwardRef<\n\tHTMLDivElement,\n\t{\n\t\tclassName?: string;\n\t\tpreviewSize: number | undefined;\n\t} & ComponentPropsWithoutRef< 'div' >\n>( ( { className, previewSize, ...props }, ref ) => {\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx( 'dataviews-view-grid-items', className ) }\n\t\t\tstyle={ {\n\t\t\t\tgridTemplateColumns:\n\t\t\t\t\tpreviewSize &&\n\t\t\t\t\t`repeat(auto-fill, minmax(${ previewSize }px, 1fr))`,\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n} );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBE;AAfF,qBAA2B;AAK3B,kBAAiB;AAEV,MAAM,gBAAY,2BAMtB,CAAE,EAAE,WAAW,aAAa,GAAG,MAAM,GAAG,QAAS;AACnD,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,eAAY,YAAAA,SAAM,6BAA6B,SAAU;AAAA,MACzD,OAAQ;AAAA,QACP,qBACC,eACA,4BAA6B,WAAY;AAAA,MAC3C;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF,CAAE;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAA2B;AAK3B,kBAAiB;AAUf;AARK,IAAM,gBAAY,2BAMtB,CAAE,EAAE,WAAW,aAAa,GAAG,MAAM,GAAG,QAAS;AACnD,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,eAAY,YAAAA,SAAM,6BAA6B,SAAU;AAAA,MACzD,OAAQ;AAAA,QACP,qBACC,eACA,4BAA6B,WAAY;AAAA,MAC3C;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF,CAAE;",
6
6
  "names": ["clsx"]
7
7
  }
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/dataviews/src/dataviews-layouts/utils/item-click-wrapper.tsx
19
21
  var item_click_wrapper_exports = {};
20
22
  __export(item_click_wrapper_exports, {
21
23
  ItemClickWrapper: () => ItemClickWrapper
22
24
  });
23
25
  module.exports = __toCommonJS(item_click_wrapper_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
26
  var import_element = require("@wordpress/element");
27
+ var import_jsx_runtime = require("react/jsx-runtime");
26
28
  function getClickableItemProps({
27
29
  item,
28
30
  isItemClickable,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dataviews-layouts/utils/item-click-wrapper.tsx"],
4
4
  "sourcesContent": ["/**\n * External dependencies\n */\nimport type { ReactNode, ReactElement, ComponentProps } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement } from '@wordpress/element';\n\nfunction getClickableItemProps< Item >( {\n\titem,\n\tisItemClickable,\n\tonClickItem,\n\tclassName,\n}: {\n\titem: Item;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\tclassName?: string;\n} ) {\n\tif ( ! isItemClickable( item ) || ! onClickItem ) {\n\t\treturn { className };\n\t}\n\n\treturn {\n\t\tclassName: className\n\t\t\t? `${ className } ${ className }--clickable`\n\t\t\t: undefined,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonClick: ( event: React.MouseEvent ) => {\n\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\tevent.stopPropagation();\n\t\t\tonClickItem( item );\n\t\t},\n\t\tonKeyDown: ( event: React.KeyboardEvent ) => {\n\t\t\tif (\n\t\t\t\tevent.key === 'Enter' ||\n\t\t\t\tevent.key === '' ||\n\t\t\t\tevent.key === ' '\n\t\t\t) {\n\t\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tonClickItem( item );\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function ItemClickWrapper< Item >( {\n\titem,\n\tisItemClickable,\n\tonClickItem,\n\trenderItemLink,\n\tclassName,\n\tchildren,\n\t...extraProps\n}: {\n\titem: Item;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tclassName?: string;\n\tchildren: ReactNode;\n} ) {\n\t// Always render a wrapper element so layout and styling relying on the wrapper\n\t// still works even if the item is not clickable.\n\tif ( ! isItemClickable( item ) ) {\n\t\treturn (\n\t\t\t<div className={ className } { ...extraProps }>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// If we have a renderItemLink, use it\n\tif ( renderItemLink ) {\n\t\tconst renderedElement = renderItemLink( {\n\t\t\titem,\n\t\t\tclassName: `${ className } ${ className }--clickable`,\n\t\t\t...extraProps,\n\t\t\tchildren,\n\t\t} );\n\n\t\t// Clone the element and enhance onClick to stop propagation\n\t\treturn cloneElement( renderedElement, {\n\t\t\tonClick: ( event: React.MouseEvent ) => {\n\t\t\t\t// Always stop propagation to prevent selection\n\t\t\t\tevent.stopPropagation();\n\n\t\t\t\t// If consumer provided an onClick, call it\n\t\t\t\tif ( renderedElement.props.onClick ) {\n\t\t\t\t\trenderedElement.props.onClick( event );\n\t\t\t\t}\n\t\t\t},\n\t\t\tonKeyDown: ( event: React.KeyboardEvent ) => {\n\t\t\t\tif (\n\t\t\t\t\tevent.key === 'Enter' ||\n\t\t\t\t\tevent.key === '' ||\n\t\t\t\t\tevent.key === ' '\n\t\t\t\t) {\n\t\t\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t// If consumer provided an onKeyDown, call it\n\t\t\t\t\tif ( renderedElement.props.onKeyDown ) {\n\t\t\t\t\t\trenderedElement.props.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\t}\n\n\t// Otherwise use the classic click handler approach\n\tconst clickProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName,\n\t} );\n\n\treturn (\n\t\t<div { ...clickProps } { ...extraProps }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0EG;AAlEH,qBAA6B;AAE7B,SAAS,sBAA+B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKI;AACH,MAAK,CAAE,gBAAiB,IAAK,KAAK,CAAE,aAAc;AACjD,WAAO,EAAE,UAAU;AAAA,EACpB;AAEA,SAAO;AAAA,IACN,WAAW,YACR,GAAI,SAAU,IAAK,SAAU,gBAC7B;AAAA,IACH,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS,CAAE,UAA6B;AAEvC,YAAM,gBAAgB;AACtB,kBAAa,IAAK;AAAA,IACnB;AAAA,IACA,WAAW,CAAE,UAAgC;AAC5C,UACC,MAAM,QAAQ,WACd,MAAM,QAAQ,MACd,MAAM,QAAQ,KACb;AAED,cAAM,gBAAgB;AACtB,oBAAa,IAAK;AAAA,MACnB;AAAA,IACD;AAAA,EACD;AACD;AAEO,SAAS,iBAA0B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAWI;AAGH,MAAK,CAAE,gBAAiB,IAAK,GAAI;AAChC,WACC,4CAAC,SAAI,WAA0B,GAAG,YAC/B,UACH;AAAA,EAEF;AAGA,MAAK,gBAAiB;AACrB,UAAM,kBAAkB,eAAgB;AAAA,MACvC;AAAA,MACA,WAAW,GAAI,SAAU,IAAK,SAAU;AAAA,MACxC,GAAG;AAAA,MACH;AAAA,IACD,CAAE;AAGF,eAAO,6BAAc,iBAAiB;AAAA,MACrC,SAAS,CAAE,UAA6B;AAEvC,cAAM,gBAAgB;AAGtB,YAAK,gBAAgB,MAAM,SAAU;AACpC,0BAAgB,MAAM,QAAS,KAAM;AAAA,QACtC;AAAA,MACD;AAAA,MACA,WAAW,CAAE,UAAgC;AAC5C,YACC,MAAM,QAAQ,WACd,MAAM,QAAQ,MACd,MAAM,QAAQ,KACb;AAED,gBAAM,gBAAgB;AAEtB,cAAK,gBAAgB,MAAM,WAAY;AACtC,4BAAgB,MAAM,UAAW,KAAM;AAAA,UACxC;AAAA,QACD;AAAA,MACD;AAAA,IACD,CAAE;AAAA,EACH;AAGA,QAAM,aAAa,sBAAuB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,SACC,4CAAC,SAAM,GAAG,YAAe,GAAG,YACzB,UACH;AAEF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAA6B;AAkE1B;AAhEH,SAAS,sBAA+B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKI;AACH,MAAK,CAAE,gBAAiB,IAAK,KAAK,CAAE,aAAc;AACjD,WAAO,EAAE,UAAU;AAAA,EACpB;AAEA,SAAO;AAAA,IACN,WAAW,YACR,GAAI,SAAU,IAAK,SAAU,gBAC7B;AAAA,IACH,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS,CAAE,UAA6B;AAEvC,YAAM,gBAAgB;AACtB,kBAAa,IAAK;AAAA,IACnB;AAAA,IACA,WAAW,CAAE,UAAgC;AAC5C,UACC,MAAM,QAAQ,WACd,MAAM,QAAQ,MACd,MAAM,QAAQ,KACb;AAED,cAAM,gBAAgB;AACtB,oBAAa,IAAK;AAAA,MACnB;AAAA,IACD;AAAA,EACD;AACD;AAEO,SAAS,iBAA0B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAWI;AAGH,MAAK,CAAE,gBAAiB,IAAK,GAAI;AAChC,WACC,4CAAC,SAAI,WAA0B,GAAG,YAC/B,UACH;AAAA,EAEF;AAGA,MAAK,gBAAiB;AACrB,UAAM,kBAAkB,eAAgB;AAAA,MACvC;AAAA,MACA,WAAW,GAAI,SAAU,IAAK,SAAU;AAAA,MACxC,GAAG;AAAA,MACH;AAAA,IACD,CAAE;AAGF,eAAO,6BAAc,iBAAiB;AAAA,MACrC,SAAS,CAAE,UAA6B;AAEvC,cAAM,gBAAgB;AAGtB,YAAK,gBAAgB,MAAM,SAAU;AACpC,0BAAgB,MAAM,QAAS,KAAM;AAAA,QACtC;AAAA,MACD;AAAA,MACA,WAAW,CAAE,UAAgC;AAC5C,YACC,MAAM,QAAQ,WACd,MAAM,QAAQ,MACd,MAAM,QAAQ,KACb;AAED,gBAAM,gBAAgB;AAEtB,cAAK,gBAAgB,MAAM,WAAY;AACtC,4BAAgB,MAAM,UAAW,KAAM;AAAA,UACxC;AAAA,QACD;AAAA,MACD;AAAA,IACD,CAAE;AAAA,EACH;AAGA,QAAM,aAAa,sBAAuB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,SACC,4CAAC,SAAM,GAAG,YAAe,GAAG,YACzB,UACH;AAEF;",
6
6
  "names": []
7
7
  }
@@ -26,17 +26,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/dataviews-layouts/utils/preview-size-picker.tsx
29
31
  var preview_size_picker_exports = {};
30
32
  __export(preview_size_picker_exports, {
31
33
  default: () => PreviewSizePicker
32
34
  });
33
35
  module.exports = __toCommonJS(preview_size_picker_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_components = require("@wordpress/components");
36
37
  var import_i18n = require("@wordpress/i18n");
37
38
  var import_element = require("@wordpress/element");
38
39
  var import_dataviews_context = __toESM(require("../../components/dataviews-context"));
39
- const imageSizes = [
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ var imageSizes = [
40
42
  {
41
43
  value: 120,
42
44
  breakpoint: 1
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dataviews-layouts/utils/preview-size-picker.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { RangeControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport type { ViewGrid } from '../../types';\n\nconst imageSizes = [\n\t{\n\t\tvalue: 120,\n\t\tbreakpoint: 1,\n\t},\n\t{\n\t\tvalue: 170,\n\t\tbreakpoint: 1,\n\t},\n\t{\n\t\tvalue: 230,\n\t\tbreakpoint: 1,\n\t},\n\t{\n\t\tvalue: 290,\n\t\tbreakpoint: 1112, // at minimum image width, 4 images display at this container size\n\t},\n\t{\n\t\tvalue: 350,\n\t\tbreakpoint: 1636, // at minimum image width, 6 images display at this container size\n\t},\n\t{\n\t\tvalue: 430,\n\t\tbreakpoint: 588, // at minimum image width, 2 images display at this container size\n\t},\n];\n\nexport default function PreviewSizePicker() {\n\tconst context = useContext( DataViewsContext );\n\tconst view = context.view as ViewGrid;\n\n\tconst breakValues = imageSizes.filter( ( size ) => {\n\t\treturn context.containerWidth >= size.breakpoint;\n\t} );\n\n\tconst layoutPreviewSize = view.layout?.previewSize ?? 230; // Default to the third smallest size if no preview size is set.\n\t// If the container has resized and the set preview size is no longer available,\n\t// we reset it to the next smallest size, or the smallest available size.\n\tconst previewSizeToUse =\n\t\tbreakValues\n\t\t\t.map( ( size, index ) => ( { ...size, index } ) )\n\t\t\t.filter( ( size ) => size.value <= layoutPreviewSize )\n\t\t\t.sort( ( a, b ) => b.value - a.value )[ 0 ]?.index ?? 0;\n\n\tconst marks = breakValues.map( ( size, index ) => {\n\t\treturn {\n\t\t\tvalue: index,\n\t\t};\n\t} );\n\n\treturn (\n\t\t<RangeControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tshowTooltip={ false }\n\t\t\tlabel={ __( 'Preview size' ) }\n\t\t\tvalue={ previewSizeToUse }\n\t\t\tmin={ 0 }\n\t\t\tmax={ breakValues.length - 1 }\n\t\t\twithInputField={ false }\n\t\t\tonChange={ ( value = 0 ) => {\n\t\t\t\tcontext.onChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...view.layout,\n\t\t\t\t\t\tpreviewSize: breakValues[ value ].value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tstep={ 1 }\n\t\t\tmarks={ marks }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgEE;AA7DF,wBAA6B;AAC7B,kBAAmB;AACnB,qBAA2B;AAK3B,+BAA6B;AAG7B,MAAM,aAAa;AAAA,EAClB;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA;AAAA,EACb;AACD;AAEe,SAAR,oBAAqC;AAC3C,QAAM,cAAU,2BAAY,yBAAAA,OAAiB;AAC7C,QAAM,OAAO,QAAQ;AAErB,QAAM,cAAc,WAAW,OAAQ,CAAE,SAAU;AAClD,WAAO,QAAQ,kBAAkB,KAAK;AAAA,EACvC,CAAE;AAEF,QAAM,oBAAoB,KAAK,QAAQ,eAAe;AAGtD,QAAM,mBACL,YACE,IAAK,CAAE,MAAM,WAAa,EAAE,GAAG,MAAM,MAAM,EAAI,EAC/C,OAAQ,CAAE,SAAU,KAAK,SAAS,iBAAkB,EACpD,KAAM,CAAE,GAAG,MAAO,EAAE,QAAQ,EAAE,KAAM,EAAG,CAAE,GAAG,SAAS;AAExD,QAAM,QAAQ,YAAY,IAAK,CAAE,MAAM,UAAW;AACjD,WAAO;AAAA,MACN,OAAO;AAAA,IACR;AAAA,EACD,CAAE;AAEF,SACC;AAAA,IAAC;AAAA;AAAA,MACA,yBAAuB;AAAA,MACvB,uBAAqB;AAAA,MACrB,aAAc;AAAA,MACd,WAAQ,gBAAI,cAAe;AAAA,MAC3B,OAAQ;AAAA,MACR,KAAM;AAAA,MACN,KAAM,YAAY,SAAS;AAAA,MAC3B,gBAAiB;AAAA,MACjB,UAAW,CAAE,QAAQ,MAAO;AAC3B,gBAAQ,aAAc;AAAA,UACrB,GAAG;AAAA,UACH,QAAQ;AAAA,YACP,GAAG,KAAK;AAAA,YACR,aAAa,YAAa,KAAM,EAAE;AAAA,UACnC;AAAA,QACD,CAAE;AAAA,MACH;AAAA,MACA,MAAO;AAAA,MACP;AAAA;AAAA,EACD;AAEF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA6B;AAC7B,kBAAmB;AACnB,qBAA2B;AAK3B,+BAA6B;AAsD3B;AAnDF,IAAM,aAAa;AAAA,EAClB;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA;AAAA,EACb;AAAA,EACA;AAAA,IACC,OAAO;AAAA,IACP,YAAY;AAAA;AAAA,EACb;AACD;AAEe,SAAR,oBAAqC;AAC3C,QAAM,cAAU,2BAAY,yBAAAA,OAAiB;AAC7C,QAAM,OAAO,QAAQ;AAErB,QAAM,cAAc,WAAW,OAAQ,CAAE,SAAU;AAClD,WAAO,QAAQ,kBAAkB,KAAK;AAAA,EACvC,CAAE;AAEF,QAAM,oBAAoB,KAAK,QAAQ,eAAe;AAGtD,QAAM,mBACL,YACE,IAAK,CAAE,MAAM,WAAa,EAAE,GAAG,MAAM,MAAM,EAAI,EAC/C,OAAQ,CAAE,SAAU,KAAK,SAAS,iBAAkB,EACpD,KAAM,CAAE,GAAG,MAAO,EAAE,QAAQ,EAAE,KAAM,EAAG,CAAE,GAAG,SAAS;AAExD,QAAM,QAAQ,YAAY,IAAK,CAAE,MAAM,UAAW;AACjD,WAAO;AAAA,MACN,OAAO;AAAA,IACR;AAAA,EACD,CAAE;AAEF,SACC;AAAA,IAAC;AAAA;AAAA,MACA,yBAAuB;AAAA,MACvB,uBAAqB;AAAA,MACrB,aAAc;AAAA,MACd,WAAQ,gBAAI,cAAe;AAAA,MAC3B,OAAQ;AAAA,MACR,KAAM;AAAA,MACN,KAAM,YAAY,SAAS;AAAA,MAC3B,gBAAiB;AAAA,MACjB,UAAW,CAAE,QAAQ,MAAO;AAC3B,gBAAQ,aAAc;AAAA,UACrB,GAAG;AAAA,UACH,QAAQ;AAAA,YACP,GAAG,KAAK;AAAA,YACR,aAAa,YAAa,KAAM,EAAE;AAAA,UACnC;AAAA,QACD,CAAE;AAAA,MACH;AAAA,MACA,MAAO;AAAA,MACP;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["DataViewsContext"]
7
7
  }
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/dataviews/src/field-types/array.tsx
19
21
  var array_exports = {};
20
22
  __export(array_exports, {
21
23
  default: () => array_default
@@ -37,7 +39,7 @@ function render({ item, field }) {
37
39
  const value = field.getValue({ item }) || [];
38
40
  return value.join(", ");
39
41
  }
40
- const arrayFieldType = {
42
+ var arrayFieldType = {
41
43
  sort,
42
44
  isValid: {
43
45
  elements: true,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/field-types/array.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tFieldTypeDefinition,\n\tNormalizedField,\n} from '../types';\nimport {\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_NOT_ALL,\n} from '../constants';\n\n// Sort arrays by length, then alphabetically by joined string\nfunction sort( valueA: any, valueB: any, direction: SortDirection ) {\n\tconst arrA = Array.isArray( valueA ) ? valueA : [];\n\tconst arrB = Array.isArray( valueB ) ? valueB : [];\n\tif ( arrA.length !== arrB.length ) {\n\t\treturn direction === 'asc'\n\t\t\t? arrA.length - arrB.length\n\t\t\t: arrB.length - arrA.length;\n\t}\n\n\tconst joinedA = arrA.join( ',' );\n\tconst joinedB = arrB.join( ',' );\n\treturn direction === 'asc'\n\t\t? joinedA.localeCompare( joinedB )\n\t\t: joinedB.localeCompare( joinedA );\n}\n\nfunction render( { item, field }: DataViewRenderFieldProps< any > ) {\n\tconst value = field.getValue( { item } ) || [];\n\treturn value.join( ', ' );\n}\n\nconst arrayFieldType: FieldTypeDefinition< any > = {\n\tsort,\n\tisValid: {\n\t\telements: true,\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\n\t\t\tif (\n\t\t\t\t! [ undefined, '', null ].includes( value ) &&\n\t\t\t\t! Array.isArray( value )\n\t\t\t) {\n\t\t\t\treturn __( 'Value must be an array.' );\n\t\t\t}\n\n\t\t\t// Only allow strings for now. Can be extended to other types in the future.\n\t\t\tif ( ! value.every( ( v: any ) => typeof v === 'string' ) ) {\n\t\t\t\treturn __( 'Every value must be a string.' );\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'array', // Use array control\n\trender,\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ],\n\t\tvalidOperators: [\n\t\t\tOPERATOR_IS_ANY,\n\t\t\tOPERATOR_IS_NONE,\n\t\t\tOPERATOR_IS_ALL,\n\t\t\tOPERATOR_IS_NOT_ALL,\n\t\t],\n\t},\n};\n\nexport default arrayFieldType;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AAWnB,uBAKO;AAGP,SAAS,KAAM,QAAa,QAAa,WAA2B;AACnE,QAAM,OAAO,MAAM,QAAS,MAAO,IAAI,SAAS,CAAC;AACjD,QAAM,OAAO,MAAM,QAAS,MAAO,IAAI,SAAS,CAAC;AACjD,MAAK,KAAK,WAAW,KAAK,QAAS;AAClC,WAAO,cAAc,QAClB,KAAK,SAAS,KAAK,SACnB,KAAK,SAAS,KAAK;AAAA,EACvB;AAEA,QAAM,UAAU,KAAK,KAAM,GAAI;AAC/B,QAAM,UAAU,KAAK,KAAM,GAAI;AAC/B,SAAO,cAAc,QAClB,QAAQ,cAAe,OAAQ,IAC/B,QAAQ,cAAe,OAAQ;AACnC;AAEA,SAAS,OAAQ,EAAE,MAAM,MAAM,GAAqC;AACnE,QAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE,KAAK,CAAC;AAC7C,SAAO,MAAM,KAAM,IAAK;AACzB;AAEA,MAAM,iBAA6C;AAAA,EAClD;AAAA,EACA,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,CAAE,MAAW,UAAmC;AACvD,YAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,UACC,CAAE,CAAE,QAAW,IAAI,IAAK,EAAE,SAAU,KAAM,KAC1C,CAAE,MAAM,QAAS,KAAM,GACtB;AACD,mBAAO,gBAAI,yBAA0B;AAAA,MACtC;AAGA,UAAK,CAAE,MAAM,MAAO,CAAE,MAAY,OAAO,MAAM,QAAS,GAAI;AAC3D,mBAAO,gBAAI,+BAAgC;AAAA,MAC5C;AAEA,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,MAAM;AAAA;AAAA,EACN;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB,CAAE,kCAAiB,iCAAiB;AAAA,IACtD,gBAAgB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,gBAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AAWnB,uBAKO;AAGP,SAAS,KAAM,QAAa,QAAa,WAA2B;AACnE,QAAM,OAAO,MAAM,QAAS,MAAO,IAAI,SAAS,CAAC;AACjD,QAAM,OAAO,MAAM,QAAS,MAAO,IAAI,SAAS,CAAC;AACjD,MAAK,KAAK,WAAW,KAAK,QAAS;AAClC,WAAO,cAAc,QAClB,KAAK,SAAS,KAAK,SACnB,KAAK,SAAS,KAAK;AAAA,EACvB;AAEA,QAAM,UAAU,KAAK,KAAM,GAAI;AAC/B,QAAM,UAAU,KAAK,KAAM,GAAI;AAC/B,SAAO,cAAc,QAClB,QAAQ,cAAe,OAAQ,IAC/B,QAAQ,cAAe,OAAQ;AACnC;AAEA,SAAS,OAAQ,EAAE,MAAM,MAAM,GAAqC;AACnE,QAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE,KAAK,CAAC;AAC7C,SAAO,MAAM,KAAM,IAAK;AACzB;AAEA,IAAM,iBAA6C;AAAA,EAClD;AAAA,EACA,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,CAAE,MAAW,UAAmC;AACvD,YAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,UACC,CAAE,CAAE,QAAW,IAAI,IAAK,EAAE,SAAU,KAAM,KAC1C,CAAE,MAAM,QAAS,KAAM,GACtB;AACD,mBAAO,gBAAI,yBAA0B;AAAA,MACtC;AAGA,UAAK,CAAE,MAAM,MAAO,CAAE,MAAY,OAAO,MAAM,QAAS,GAAI;AAC3D,mBAAO,gBAAI,+BAAgC;AAAA,MAC5C;AAEA,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,MAAM;AAAA;AAAA,EACN;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB,CAAE,kCAAiB,iCAAiB;AAAA,IACtD,gBAAgB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,gBAAQ;",
6
6
  "names": []
7
7
  }
@@ -26,15 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/field-types/boolean.tsx
29
31
  var boolean_exports = {};
30
32
  __export(boolean_exports, {
31
33
  default: () => boolean_default
32
34
  });
33
35
  module.exports = __toCommonJS(boolean_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_i18n = require("@wordpress/i18n");
36
37
  var import_render_from_elements = __toESM(require("./utils/render-from-elements"));
37
38
  var import_constants = require("../constants");
39
+ var import_jsx_runtime = require("react/jsx-runtime");
38
40
  function sort(a, b, direction) {
39
41
  const boolA = Boolean(a);
40
42
  const boolB = Boolean(b);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/field-types/boolean.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tFieldTypeDefinition,\n\tNormalizedField,\n} from '../types';\nimport RenderFromElements from './utils/render-from-elements';\nimport { OPERATOR_IS, OPERATOR_IS_NOT } from '../constants';\n\nfunction sort( a: any, b: any, direction: SortDirection ) {\n\tconst boolA = Boolean( a );\n\tconst boolB = Boolean( b );\n\n\tif ( boolA === boolB ) {\n\t\treturn 0;\n\t}\n\n\t// In ascending order, false comes before true\n\tif ( direction === 'asc' ) {\n\t\treturn boolA ? 1 : -1;\n\t}\n\n\t// In descending order, true comes before false\n\treturn boolA ? -1 : 1;\n}\n\nexport default {\n\tsort,\n\tisValid: {\n\t\telements: true,\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\n\t\t\tif (\n\t\t\t\t! [ undefined, '', null ].includes( value ) &&\n\t\t\t\t! [ true, false ].includes( value )\n\t\t\t) {\n\t\t\t\treturn __( 'Value must be true, false, or undefined' );\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'checkbox',\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\tif ( field.hasElements ) {\n\t\t\treturn <RenderFromElements item={ item } field={ field } />;\n\t\t}\n\n\t\tif ( field.getValue( { item } ) === true ) {\n\t\t\treturn __( 'True' );\n\t\t}\n\n\t\tif ( field.getValue( { item } ) === false ) {\n\t\t\treturn __( 'False' );\n\t\t}\n\n\t\treturn null;\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t\tvalidOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsDU;AAnDV,kBAAmB;AAWnB,kCAA+B;AAC/B,uBAA6C;AAE7C,SAAS,KAAM,GAAQ,GAAQ,WAA2B;AACzD,QAAM,QAAQ,QAAS,CAAE;AACzB,QAAM,QAAQ,QAAS,CAAE;AAEzB,MAAK,UAAU,OAAQ;AACtB,WAAO;AAAA,EACR;AAGA,MAAK,cAAc,OAAQ;AAC1B,WAAO,QAAQ,IAAI;AAAA,EACpB;AAGA,SAAO,QAAQ,KAAK;AACrB;AAEA,IAAO,kBAAQ;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,CAAE,MAAW,UAAmC;AACvD,YAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,UACC,CAAE,CAAE,QAAW,IAAI,IAAK,EAAE,SAAU,KAAM,KAC1C,CAAE,CAAE,MAAM,KAAM,EAAE,SAAU,KAAM,GACjC;AACD,mBAAO,gBAAI,yCAA0C;AAAA,MACtD;AAEA,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,MAAM;AAAA,EACN,QAAQ,CAAE,EAAE,MAAM,MAAM,MAAwC;AAC/D,QAAK,MAAM,aAAc;AACxB,aAAO,4CAAC,4BAAAA,SAAA,EAAmB,MAAc,OAAgB;AAAA,IAC1D;AAEA,QAAK,MAAM,SAAU,EAAE,KAAK,CAAE,MAAM,MAAO;AAC1C,iBAAO,gBAAI,MAAO;AAAA,IACnB;AAEA,QAAK,MAAM,SAAU,EAAE,KAAK,CAAE,MAAM,OAAQ;AAC3C,iBAAO,gBAAI,OAAQ;AAAA,IACpB;AAEA,WAAO;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB,CAAE,8BAAa,gCAAgB;AAAA,IACjD,gBAAgB,CAAE,8BAAa,gCAAgB;AAAA,EAChD;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AAWnB,kCAA+B;AAC/B,uBAA6C;AAuCnC;AArCV,SAAS,KAAM,GAAQ,GAAQ,WAA2B;AACzD,QAAM,QAAQ,QAAS,CAAE;AACzB,QAAM,QAAQ,QAAS,CAAE;AAEzB,MAAK,UAAU,OAAQ;AACtB,WAAO;AAAA,EACR;AAGA,MAAK,cAAc,OAAQ;AAC1B,WAAO,QAAQ,IAAI;AAAA,EACpB;AAGA,SAAO,QAAQ,KAAK;AACrB;AAEA,IAAO,kBAAQ;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,CAAE,MAAW,UAAmC;AACvD,YAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,UACC,CAAE,CAAE,QAAW,IAAI,IAAK,EAAE,SAAU,KAAM,KAC1C,CAAE,CAAE,MAAM,KAAM,EAAE,SAAU,KAAM,GACjC;AACD,mBAAO,gBAAI,yCAA0C;AAAA,MACtD;AAEA,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,MAAM;AAAA,EACN,QAAQ,CAAE,EAAE,MAAM,MAAM,MAAwC;AAC/D,QAAK,MAAM,aAAc;AACxB,aAAO,4CAAC,4BAAAA,SAAA,EAAmB,MAAc,OAAgB;AAAA,IAC1D;AAEA,QAAK,MAAM,SAAU,EAAE,KAAK,CAAE,MAAM,MAAO;AAC1C,iBAAO,gBAAI,MAAO;AAAA,IACnB;AAEA,QAAK,MAAM,SAAU,EAAE,KAAK,CAAE,MAAM,OAAQ;AAC3C,iBAAO,gBAAI,OAAQ;AAAA,IACpB;AAEA,WAAO;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB,CAAE,8BAAa,gCAAgB;AAAA,IACjD,gBAAgB,CAAE,8BAAa,gCAAgB;AAAA,EAChD;AACD;",
6
6
  "names": ["RenderFromElements"]
7
7
  }
@@ -26,16 +26,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/field-types/color.tsx
29
31
  var color_exports = {};
30
32
  __export(color_exports, {
31
33
  default: () => color_default
32
34
  });
33
35
  module.exports = __toCommonJS(color_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_colord = require("colord");
36
37
  var import_i18n = require("@wordpress/i18n");
37
38
  var import_render_from_elements = __toESM(require("./utils/render-from-elements"));
38
39
  var import_constants = require("../constants");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
39
41
  function sort(valueA, valueB, direction) {
40
42
  const colorA = (0, import_colord.colord)(valueA);
41
43
  const colorB = (0, import_colord.colord)(valueB);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/field-types/color.tsx"],
4
4
  "sourcesContent": ["/**\n * External dependencies\n */\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tNormalizedField,\n\tFieldTypeDefinition,\n} from '../types';\nimport RenderFromElements from './utils/render-from-elements';\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_NOT,\n} from '../constants';\n\nfunction sort( valueA: any, valueB: any, direction: SortDirection ) {\n\t// Convert colors to HSL for better sorting\n\tconst colorA = colord( valueA );\n\tconst colorB = colord( valueB );\n\n\tif ( ! colorA.isValid() && ! colorB.isValid() ) {\n\t\treturn 0;\n\t}\n\tif ( ! colorA.isValid() ) {\n\t\treturn direction === 'asc' ? 1 : -1;\n\t}\n\tif ( ! colorB.isValid() ) {\n\t\treturn direction === 'asc' ? -1 : 1;\n\t}\n\n\t// Sort by hue, then saturation, then lightness\n\tconst hslA = colorA.toHsl();\n\tconst hslB = colorB.toHsl();\n\n\tif ( hslA.h !== hslB.h ) {\n\t\treturn direction === 'asc' ? hslA.h - hslB.h : hslB.h - hslA.h;\n\t}\n\tif ( hslA.s !== hslB.s ) {\n\t\treturn direction === 'asc' ? hslA.s - hslB.s : hslB.s - hslA.s;\n\t}\n\treturn direction === 'asc' ? hslA.l - hslB.l : hslB.l - hslA.l;\n}\n\nexport default {\n\tsort,\n\tisValid: {\n\t\telements: true,\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\n\t\t\tif (\n\t\t\t\t! [ undefined, '', null ].includes( value ) &&\n\t\t\t\t! colord( value ).isValid()\n\t\t\t) {\n\t\t\t\treturn __( 'Value must be a valid color.' );\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'color',\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\tif ( field.hasElements ) {\n\t\t\treturn <RenderFromElements item={ item } field={ field } />;\n\t\t}\n\n\t\tconst value = field.getValue( { item } );\n\n\t\tif ( ! value || ! colord( value ).isValid() ) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// Render color with visual preview\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={ { display: 'flex', alignItems: 'center', gap: '8px' } }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '16px',\n\t\t\t\t\t\theight: '16px',\n\t\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t\t\tbackgroundColor: value,\n\t\t\t\t\t\tborder: '1px solid #ddd',\n\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<span>{ value }</span>\n\t\t\t</div>\n\t\t);\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ],\n\t\tvalidOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA2EU;AAxEV,oBAAuB;AAKvB,kBAAmB;AAWnB,kCAA+B;AAC/B,uBAKO;AAEP,SAAS,KAAM,QAAa,QAAa,WAA2B;AAEnE,QAAM,aAAS,sBAAQ,MAAO;AAC9B,QAAM,aAAS,sBAAQ,MAAO;AAE9B,MAAK,CAAE,OAAO,QAAQ,KAAK,CAAE,OAAO,QAAQ,GAAI;AAC/C,WAAO;AAAA,EACR;AACA,MAAK,CAAE,OAAO,QAAQ,GAAI;AACzB,WAAO,cAAc,QAAQ,IAAI;AAAA,EAClC;AACA,MAAK,CAAE,OAAO,QAAQ,GAAI;AACzB,WAAO,cAAc,QAAQ,KAAK;AAAA,EACnC;AAGA,QAAM,OAAO,OAAO,MAAM;AAC1B,QAAM,OAAO,OAAO,MAAM;AAE1B,MAAK,KAAK,MAAM,KAAK,GAAI;AACxB,WAAO,cAAc,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAAA,EAC9D;AACA,MAAK,KAAK,MAAM,KAAK,GAAI;AACxB,WAAO,cAAc,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAAA,EAC9D;AACA,SAAO,cAAc,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAC9D;AAEA,IAAO,gBAAQ;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,CAAE,MAAW,UAAmC;AACvD,YAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,UACC,CAAE,CAAE,QAAW,IAAI,IAAK,EAAE,SAAU,KAAM,KAC1C,KAAE,sBAAQ,KAAM,EAAE,QAAQ,GACzB;AACD,mBAAO,gBAAI,8BAA+B;AAAA,MAC3C;AAEA,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,MAAM;AAAA,EACN,QAAQ,CAAE,EAAE,MAAM,MAAM,MAAwC;AAC/D,QAAK,MAAM,aAAc;AACxB,aAAO,4CAAC,4BAAAA,SAAA,EAAmB,MAAc,OAAgB;AAAA,IAC1D;AAEA,UAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,QAAK,CAAE,SAAS,KAAE,sBAAQ,KAAM,EAAE,QAAQ,GAAI;AAC7C,aAAO;AAAA,IACR;AAGA,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,MAAM;AAAA,QAE5D;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,OAAQ;AAAA,gBACP,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,cAAc;AAAA,gBACd,iBAAiB;AAAA,gBACjB,QAAQ;AAAA,gBACR,YAAY;AAAA,cACb;AAAA;AAAA,UACD;AAAA,UACA,4CAAC,UAAO,iBAAO;AAAA;AAAA;AAAA,IAChB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB,CAAE,kCAAiB,iCAAiB;AAAA,IACtD,gBAAgB,CAAE,8BAAa,gCAAgB;AAAA,EAChD;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAuB;AAKvB,kBAAmB;AAWnB,kCAA+B;AAC/B,uBAKO;AAkDG;AAhDV,SAAS,KAAM,QAAa,QAAa,WAA2B;AAEnE,QAAM,aAAS,sBAAQ,MAAO;AAC9B,QAAM,aAAS,sBAAQ,MAAO;AAE9B,MAAK,CAAE,OAAO,QAAQ,KAAK,CAAE,OAAO,QAAQ,GAAI;AAC/C,WAAO;AAAA,EACR;AACA,MAAK,CAAE,OAAO,QAAQ,GAAI;AACzB,WAAO,cAAc,QAAQ,IAAI;AAAA,EAClC;AACA,MAAK,CAAE,OAAO,QAAQ,GAAI;AACzB,WAAO,cAAc,QAAQ,KAAK;AAAA,EACnC;AAGA,QAAM,OAAO,OAAO,MAAM;AAC1B,QAAM,OAAO,OAAO,MAAM;AAE1B,MAAK,KAAK,MAAM,KAAK,GAAI;AACxB,WAAO,cAAc,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAAA,EAC9D;AACA,MAAK,KAAK,MAAM,KAAK,GAAI;AACxB,WAAO,cAAc,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAAA,EAC9D;AACA,SAAO,cAAc,QAAQ,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAC9D;AAEA,IAAO,gBAAQ;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,CAAE,MAAW,UAAmC;AACvD,YAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,UACC,CAAE,CAAE,QAAW,IAAI,IAAK,EAAE,SAAU,KAAM,KAC1C,KAAE,sBAAQ,KAAM,EAAE,QAAQ,GACzB;AACD,mBAAO,gBAAI,8BAA+B;AAAA,MAC3C;AAEA,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,MAAM;AAAA,EACN,QAAQ,CAAE,EAAE,MAAM,MAAM,MAAwC;AAC/D,QAAK,MAAM,aAAc;AACxB,aAAO,4CAAC,4BAAAA,SAAA,EAAmB,MAAc,OAAgB;AAAA,IAC1D;AAEA,UAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AAEvC,QAAK,CAAE,SAAS,KAAE,sBAAQ,KAAM,EAAE,QAAQ,GAAI;AAC7C,aAAO;AAAA,IACR;AAGA,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,MAAM;AAAA,QAE5D;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,OAAQ;AAAA,gBACP,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,cAAc;AAAA,gBACd,iBAAiB;AAAA,gBACjB,QAAQ;AAAA,gBACR,YAAY;AAAA,cACb;AAAA;AAAA,UACD;AAAA,UACA,4CAAC,UAAO,iBAAO;AAAA;AAAA;AAAA,IAChB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB,CAAE,kCAAiB,iCAAiB;AAAA,IACtD,gBAAgB,CAAE,8BAAa,gCAAgB;AAAA,EAChD;AACD;",
6
6
  "names": ["RenderFromElements"]
7
7
  }
@@ -26,16 +26,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/field-types/date.tsx
29
31
  var date_exports = {};
30
32
  __export(date_exports, {
31
33
  default: () => date_default
32
34
  });
33
35
  module.exports = __toCommonJS(date_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_date = require("@wordpress/date");
36
37
  var import_render_from_elements = __toESM(require("./utils/render-from-elements"));
37
38
  var import_constants = require("../constants");
38
- const getFormattedDate = (dateToDisplay) => (0, import_date.dateI18n)((0, import_date.getSettings)().formats.date, (0, import_date.getDate)(dateToDisplay));
39
+ var import_jsx_runtime = require("react/jsx-runtime");
40
+ var getFormattedDate = (dateToDisplay) => (0, import_date.dateI18n)((0, import_date.getSettings)().formats.date, (0, import_date.getDate)(dateToDisplay));
39
41
  function sort(a, b, direction) {
40
42
  const timeA = new Date(a).getTime();
41
43
  const timeB = new Date(b).getTime();
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/field-types/date.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { dateI18n, getDate, getSettings } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tFieldTypeDefinition,\n} from '../types';\nimport RenderFromElements from './utils/render-from-elements';\nimport {\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n\tOPERATOR_BETWEEN,\n} from '../constants';\n\nconst getFormattedDate = ( dateToDisplay: string | null ) =>\n\tdateI18n( getSettings().formats.date, getDate( dateToDisplay ) );\n\nfunction sort( a: any, b: any, direction: SortDirection ) {\n\tconst timeA = new Date( a ).getTime();\n\tconst timeB = new Date( b ).getTime();\n\n\treturn direction === 'asc' ? timeA - timeB : timeB - timeA;\n}\n\nexport default {\n\tsort,\n\tEdit: 'date',\n\tisValid: {\n\t\telements: true,\n\t\tcustom: () => null,\n\t},\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\tif ( field.hasElements ) {\n\t\t\treturn <RenderFromElements item={ item } field={ field } />;\n\t\t}\n\n\t\tconst value = field.getValue( { item } );\n\t\tif ( ! value ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn getFormattedDate( value );\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [\n\t\t\tOPERATOR_ON,\n\t\t\tOPERATOR_NOT_ON,\n\t\t\tOPERATOR_BEFORE,\n\t\t\tOPERATOR_AFTER,\n\t\t\tOPERATOR_BEFORE_INC,\n\t\t\tOPERATOR_AFTER_INC,\n\t\t\tOPERATOR_IN_THE_PAST,\n\t\t\tOPERATOR_OVER,\n\t\t\tOPERATOR_BETWEEN,\n\t\t],\n\t\tvalidOperators: [\n\t\t\tOPERATOR_ON,\n\t\t\tOPERATOR_NOT_ON,\n\t\t\tOPERATOR_BEFORE,\n\t\t\tOPERATOR_AFTER,\n\t\t\tOPERATOR_BEFORE_INC,\n\t\t\tOPERATOR_AFTER_INC,\n\t\t\tOPERATOR_IN_THE_PAST,\n\t\t\tOPERATOR_OVER,\n\t\t\tOPERATOR_BETWEEN,\n\t\t],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CU;AA1CV,kBAA+C;AAU/C,kCAA+B;AAC/B,uBAUO;AAEP,MAAM,mBAAmB,CAAE,sBAC1B,0BAAU,yBAAY,EAAE,QAAQ,UAAM,qBAAS,aAAc,CAAE;AAEhE,SAAS,KAAM,GAAQ,GAAQ,WAA2B;AACzD,QAAM,QAAQ,IAAI,KAAM,CAAE,EAAE,QAAQ;AACpC,QAAM,QAAQ,IAAI,KAAM,CAAE,EAAE,QAAQ;AAEpC,SAAO,cAAc,QAAQ,QAAQ,QAAQ,QAAQ;AACtD;AAEA,IAAO,eAAQ;AAAA,EACd;AAAA,EACA,MAAM;AAAA,EACN,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,MAAM;AAAA,EACf;AAAA,EACA,QAAQ,CAAE,EAAE,MAAM,MAAM,MAAwC;AAC/D,QAAK,MAAM,aAAc;AACxB,aAAO,4CAAC,4BAAAA,SAAA,EAAmB,MAAc,OAAgB;AAAA,IAC1D;AAEA,UAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AACvC,QAAK,CAAE,OAAQ;AACd,aAAO;AAAA,IACR;AAEA,WAAO,iBAAkB,KAAM;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,gBAAgB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA+C;AAU/C,kCAA+B;AAC/B,uBAUO;AAqBG;AAnBV,IAAM,mBAAmB,CAAE,sBAC1B,0BAAU,yBAAY,EAAE,QAAQ,UAAM,qBAAS,aAAc,CAAE;AAEhE,SAAS,KAAM,GAAQ,GAAQ,WAA2B;AACzD,QAAM,QAAQ,IAAI,KAAM,CAAE,EAAE,QAAQ;AACpC,QAAM,QAAQ,IAAI,KAAM,CAAE,EAAE,QAAQ;AAEpC,SAAO,cAAc,QAAQ,QAAQ,QAAQ,QAAQ;AACtD;AAEA,IAAO,eAAQ;AAAA,EACd;AAAA,EACA,MAAM;AAAA,EACN,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ,MAAM;AAAA,EACf;AAAA,EACA,QAAQ,CAAE,EAAE,MAAM,MAAM,MAAwC;AAC/D,QAAK,MAAM,aAAc;AACxB,aAAO,4CAAC,4BAAAA,SAAA,EAAmB,MAAc,OAAgB;AAAA,IAC1D;AAEA,UAAM,QAAQ,MAAM,SAAU,EAAE,KAAK,CAAE;AACvC,QAAK,CAAE,OAAQ;AACd,aAAO;AAAA,IACR;AAEA,WAAO,iBAAkB,KAAM;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,IACT,kBAAkB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,gBAAgB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;",
6
6
  "names": ["RenderFromElements"]
7
7
  }