@wordpress/dataviews 10.2.0 → 10.3.1-next.2f1c7c01b.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 (477) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/build/components/dataform/index.js +6 -2
  3. package/build/components/dataform/index.js.map +3 -3
  4. package/build/components/dataform-context/index.js +4 -2
  5. package/build/components/dataform-context/index.js.map +1 -1
  6. package/build/components/dataviews/index.js +8 -6
  7. package/build/components/dataviews/index.js.map +1 -1
  8. package/build/components/dataviews-bulk-actions/index.js +4 -2
  9. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  10. package/build/components/dataviews-context/index.js +3 -1
  11. package/build/components/dataviews-context/index.js.map +1 -1
  12. package/build/components/dataviews-filters/add-filter.js +4 -2
  13. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  14. package/build/components/dataviews-filters/filter.js +20 -5
  15. package/build/components/dataviews-filters/filter.js.map +3 -3
  16. package/build/components/dataviews-filters/filters-toggled.js +3 -1
  17. package/build/components/dataviews-filters/filters-toggled.js.map +1 -1
  18. package/build/components/dataviews-filters/filters.js +3 -1
  19. package/build/components/dataviews-filters/filters.js.map +1 -1
  20. package/build/components/dataviews-filters/index.js +2 -0
  21. package/build/components/dataviews-filters/index.js.map +1 -1
  22. package/build/components/dataviews-filters/input-widget.js +3 -1
  23. package/build/components/dataviews-filters/input-widget.js.map +1 -1
  24. package/build/components/dataviews-filters/reset-filters.js +3 -1
  25. package/build/components/dataviews-filters/reset-filters.js.map +1 -1
  26. package/build/components/dataviews-filters/search-widget.js +8 -6
  27. package/build/components/dataviews-filters/search-widget.js.map +2 -2
  28. package/build/components/dataviews-filters/toggle.js +3 -1
  29. package/build/components/dataviews-filters/toggle.js.map +1 -1
  30. package/build/components/dataviews-filters/use-filters.js +2 -0
  31. package/build/components/dataviews-filters/use-filters.js.map +1 -1
  32. package/build/components/dataviews-filters/utils.js +4 -2
  33. package/build/components/dataviews-filters/utils.js.map +1 -1
  34. package/build/components/dataviews-footer/index.js +4 -2
  35. package/build/components/dataviews-footer/index.js.map +1 -1
  36. package/build/components/dataviews-item-actions/index.js +23 -4
  37. package/build/components/dataviews-item-actions/index.js.map +2 -2
  38. package/build/components/dataviews-layout/index.js +3 -1
  39. package/build/components/dataviews-layout/index.js.map +1 -1
  40. package/build/components/dataviews-pagination/index.js +3 -1
  41. package/build/components/dataviews-pagination/index.js.map +1 -1
  42. package/build/components/dataviews-picker/footer.js +4 -2
  43. package/build/components/dataviews-picker/footer.js.map +1 -1
  44. package/build/components/dataviews-picker/index.js +8 -6
  45. package/build/components/dataviews-picker/index.js.map +1 -1
  46. package/build/components/dataviews-search/index.js +4 -2
  47. package/build/components/dataviews-search/index.js.map +1 -1
  48. package/build/components/dataviews-selection-checkbox/index.js +3 -1
  49. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  50. package/build/components/dataviews-view-config/index.js +6 -4
  51. package/build/components/dataviews-view-config/index.js.map +1 -1
  52. package/build/components/dataviews-view-config/infinite-scroll-toggle.js +3 -1
  53. package/build/components/dataviews-view-config/infinite-scroll-toggle.js.map +1 -1
  54. package/build/constants.js +36 -34
  55. package/build/constants.js.map +1 -1
  56. package/build/dataform-controls/array.js +4 -2
  57. package/build/dataform-controls/array.js.map +1 -1
  58. package/build/dataform-controls/checkbox.js +4 -2
  59. package/build/dataform-controls/checkbox.js.map +1 -1
  60. package/build/dataform-controls/color.js +5 -3
  61. package/build/dataform-controls/color.js.map +1 -1
  62. package/build/dataform-controls/date.js +8 -6
  63. package/build/dataform-controls/date.js.map +1 -1
  64. package/build/dataform-controls/datetime.js +11 -15
  65. package/build/dataform-controls/datetime.js.map +3 -3
  66. package/build/dataform-controls/email.js +3 -1
  67. package/build/dataform-controls/email.js.map +1 -1
  68. package/build/dataform-controls/index.js +4 -2
  69. package/build/dataform-controls/index.js.map +1 -1
  70. package/build/dataform-controls/integer.js +3 -1
  71. package/build/dataform-controls/integer.js.map +1 -1
  72. package/build/dataform-controls/number.js +3 -1
  73. package/build/dataform-controls/number.js.map +1 -1
  74. package/build/dataform-controls/password.js +3 -1
  75. package/build/dataform-controls/password.js.map +1 -1
  76. package/build/dataform-controls/radio.js +4 -2
  77. package/build/dataform-controls/radio.js.map +1 -1
  78. package/build/dataform-controls/select.js +4 -2
  79. package/build/dataform-controls/select.js.map +1 -1
  80. package/build/dataform-controls/telephone.js +3 -1
  81. package/build/dataform-controls/telephone.js.map +1 -1
  82. package/build/dataform-controls/text.js +3 -1
  83. package/build/dataform-controls/text.js.map +1 -1
  84. package/build/dataform-controls/textarea.js +4 -2
  85. package/build/dataform-controls/textarea.js.map +1 -1
  86. package/build/dataform-controls/toggle-group.js +4 -2
  87. package/build/dataform-controls/toggle-group.js.map +1 -1
  88. package/build/dataform-controls/toggle.js +4 -2
  89. package/build/dataform-controls/toggle.js.map +1 -1
  90. package/build/dataform-controls/url.js +3 -1
  91. package/build/dataform-controls/url.js.map +1 -1
  92. package/build/dataform-controls/utils/get-custom-validity.js +2 -0
  93. package/build/dataform-controls/utils/get-custom-validity.js.map +1 -1
  94. package/build/dataform-controls/utils/relative-date-control.js +4 -2
  95. package/build/dataform-controls/utils/relative-date-control.js.map +1 -1
  96. package/build/dataform-controls/utils/validated-input.js +4 -2
  97. package/build/dataform-controls/utils/validated-input.js.map +1 -1
  98. package/build/dataform-controls/utils/validated-number.js +4 -2
  99. package/build/dataform-controls/utils/validated-number.js.map +1 -1
  100. package/build/dataform-layouts/card/index.js +65 -34
  101. package/build/dataform-layouts/card/index.js.map +3 -3
  102. package/build/dataform-layouts/data-form-layout.js +8 -14
  103. package/build/dataform-layouts/data-form-layout.js.map +3 -3
  104. package/build/dataform-layouts/get-summary-fields.js +3 -1
  105. package/build/dataform-layouts/get-summary-fields.js.map +1 -1
  106. package/build/dataform-layouts/index.js +4 -2
  107. package/build/dataform-layouts/index.js.map +2 -2
  108. package/build/dataform-layouts/{normalize-form-fields.js → normalize-form.js} +39 -22
  109. package/build/dataform-layouts/normalize-form.js.map +7 -0
  110. package/build/dataform-layouts/panel/dropdown.js +9 -8
  111. package/build/dataform-layouts/panel/dropdown.js.map +2 -2
  112. package/build/dataform-layouts/panel/index.js +10 -14
  113. package/build/dataform-layouts/panel/index.js.map +2 -2
  114. package/build/dataform-layouts/panel/modal.js +9 -8
  115. package/build/dataform-layouts/panel/modal.js.map +2 -2
  116. package/build/dataform-layouts/panel/summary-button.js +3 -1
  117. package/build/dataform-layouts/panel/summary-button.js.map +1 -1
  118. package/build/dataform-layouts/regular/index.js +8 -10
  119. package/build/dataform-layouts/regular/index.js.map +2 -2
  120. package/build/dataform-layouts/row/index.js +10 -33
  121. package/build/dataform-layouts/row/index.js.map +3 -3
  122. package/build/dataviews-layouts/grid/index.js +4 -2
  123. package/build/dataviews-layouts/grid/index.js.map +1 -1
  124. package/build/dataviews-layouts/grid/preview-size-picker.js +4 -2
  125. package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  126. package/build/dataviews-layouts/index.js +3 -1
  127. package/build/dataviews-layouts/index.js.map +1 -1
  128. package/build/dataviews-layouts/list/index.js +6 -6
  129. package/build/dataviews-layouts/list/index.js.map +2 -2
  130. package/build/dataviews-layouts/picker-grid/index.js +4 -2
  131. package/build/dataviews-layouts/picker-grid/index.js.map +1 -1
  132. package/build/dataviews-layouts/table/column-header-menu.js +6 -4
  133. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  134. package/build/dataviews-layouts/table/column-primary.js +3 -1
  135. package/build/dataviews-layouts/table/column-primary.js.map +1 -1
  136. package/build/dataviews-layouts/table/density-picker.js +3 -1
  137. package/build/dataviews-layouts/table/density-picker.js.map +1 -1
  138. package/build/dataviews-layouts/table/index.js +3 -1
  139. package/build/dataviews-layouts/table/index.js.map +1 -1
  140. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js +3 -1
  141. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -1
  142. package/build/dataviews-layouts/utils/get-data-by-group.js +2 -0
  143. package/build/dataviews-layouts/utils/get-data-by-group.js.map +1 -1
  144. package/build/dataviews-layouts/utils/grid-items.js +4 -2
  145. package/build/dataviews-layouts/utils/grid-items.js.map +1 -1
  146. package/build/dataviews-layouts/utils/item-click-wrapper.js +3 -1
  147. package/build/dataviews-layouts/utils/item-click-wrapper.js.map +1 -1
  148. package/build/dataviews-layouts/utils/preview-size-picker.js +4 -2
  149. package/build/dataviews-layouts/utils/preview-size-picker.js.map +1 -1
  150. package/build/field-types/array.js +3 -1
  151. package/build/field-types/array.js.map +1 -1
  152. package/build/field-types/boolean.js +3 -1
  153. package/build/field-types/boolean.js.map +1 -1
  154. package/build/field-types/color.js +3 -1
  155. package/build/field-types/color.js.map +1 -1
  156. package/build/field-types/date.js +4 -2
  157. package/build/field-types/date.js.map +1 -1
  158. package/build/field-types/datetime.js +17 -2
  159. package/build/field-types/datetime.js.map +3 -3
  160. package/build/field-types/email.js +4 -2
  161. package/build/field-types/email.js.map +1 -1
  162. package/build/field-types/index.js +3 -1
  163. package/build/field-types/index.js.map +1 -1
  164. package/build/field-types/integer.js +3 -1
  165. package/build/field-types/integer.js.map +1 -1
  166. package/build/field-types/media.js +2 -0
  167. package/build/field-types/media.js.map +1 -1
  168. package/build/field-types/number.js +3 -1
  169. package/build/field-types/number.js.map +1 -1
  170. package/build/field-types/password.js +3 -1
  171. package/build/field-types/password.js.map +1 -1
  172. package/build/field-types/telephone.js +3 -1
  173. package/build/field-types/telephone.js.map +1 -1
  174. package/build/field-types/text.js +3 -1
  175. package/build/field-types/text.js.map +1 -1
  176. package/build/field-types/url.js +3 -1
  177. package/build/field-types/url.js.map +1 -1
  178. package/build/{dataform-layouts/is-combined-field.js → field-types/utils/parse-date-time.js} +15 -11
  179. package/build/field-types/utils/parse-date-time.js.map +7 -0
  180. package/build/field-types/utils/render-from-elements.js +2 -0
  181. package/build/field-types/utils/render-from-elements.js.map +1 -1
  182. package/build/hooks/index.js +2 -0
  183. package/build/hooks/index.js.map +1 -1
  184. package/build/hooks/use-elements.js +3 -1
  185. package/build/hooks/use-elements.js.map +1 -1
  186. package/build/hooks/use-form-validity.js +425 -321
  187. package/build/hooks/use-form-validity.js.map +3 -3
  188. package/build/index.js +2 -0
  189. package/build/index.js.map +1 -1
  190. package/build/lock-unlock.js +3 -1
  191. package/build/lock-unlock.js.map +1 -1
  192. package/build/types/dataform.js +2 -0
  193. package/build/types/dataform.js.map +2 -2
  194. package/build/types/dataviews.js +2 -0
  195. package/build/types/dataviews.js.map +1 -1
  196. package/build/types/field-api.js +2 -0
  197. package/build/types/field-api.js.map +1 -1
  198. package/build/types/index.js +2 -0
  199. package/build/types/index.js.map +1 -1
  200. package/build/types/private.js +2 -0
  201. package/build/types/private.js.map +1 -1
  202. package/build/utils/filter-sort-and-paginate.js +3 -1
  203. package/build/utils/filter-sort-and-paginate.js.map +1 -1
  204. package/build/utils/has-elements.js +2 -0
  205. package/build/utils/has-elements.js.map +1 -1
  206. package/build/utils/normalize-fields.js +4 -2
  207. package/build/utils/normalize-fields.js.map +1 -1
  208. package/build-module/components/dataform/index.js +5 -2
  209. package/build-module/components/dataform/index.js.map +2 -2
  210. package/build-module/components/dataform-context/index.js +3 -2
  211. package/build-module/components/dataform-context/index.js.map +1 -1
  212. package/build-module/components/dataviews/index.js +7 -6
  213. package/build-module/components/dataviews/index.js.map +1 -1
  214. package/build-module/components/dataviews-bulk-actions/index.js +3 -2
  215. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  216. package/build-module/components/dataviews-context/index.js +2 -1
  217. package/build-module/components/dataviews-context/index.js.map +1 -1
  218. package/build-module/components/dataviews-filters/add-filter.js +3 -2
  219. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  220. package/build-module/components/dataviews-filters/filter.js +19 -5
  221. package/build-module/components/dataviews-filters/filter.js.map +2 -2
  222. package/build-module/components/dataviews-filters/filters-toggled.js +2 -1
  223. package/build-module/components/dataviews-filters/filters-toggled.js.map +1 -1
  224. package/build-module/components/dataviews-filters/filters.js +2 -1
  225. package/build-module/components/dataviews-filters/filters.js.map +1 -1
  226. package/build-module/components/dataviews-filters/index.js +1 -0
  227. package/build-module/components/dataviews-filters/index.js.map +1 -1
  228. package/build-module/components/dataviews-filters/input-widget.js +2 -1
  229. package/build-module/components/dataviews-filters/input-widget.js.map +1 -1
  230. package/build-module/components/dataviews-filters/reset-filters.js +2 -1
  231. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
  232. package/build-module/components/dataviews-filters/search-widget.js +7 -6
  233. package/build-module/components/dataviews-filters/search-widget.js.map +2 -2
  234. package/build-module/components/dataviews-filters/toggle.js +2 -1
  235. package/build-module/components/dataviews-filters/toggle.js.map +1 -1
  236. package/build-module/components/dataviews-filters/use-filters.js +1 -0
  237. package/build-module/components/dataviews-filters/use-filters.js.map +1 -1
  238. package/build-module/components/dataviews-filters/utils.js +3 -2
  239. package/build-module/components/dataviews-filters/utils.js.map +1 -1
  240. package/build-module/components/dataviews-footer/index.js +3 -2
  241. package/build-module/components/dataviews-footer/index.js.map +1 -1
  242. package/build-module/components/dataviews-item-actions/index.js +22 -4
  243. package/build-module/components/dataviews-item-actions/index.js.map +2 -2
  244. package/build-module/components/dataviews-layout/index.js +2 -1
  245. package/build-module/components/dataviews-layout/index.js.map +1 -1
  246. package/build-module/components/dataviews-pagination/index.js +2 -1
  247. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  248. package/build-module/components/dataviews-picker/footer.js +3 -2
  249. package/build-module/components/dataviews-picker/footer.js.map +1 -1
  250. package/build-module/components/dataviews-picker/index.js +7 -6
  251. package/build-module/components/dataviews-picker/index.js.map +1 -1
  252. package/build-module/components/dataviews-search/index.js +3 -2
  253. package/build-module/components/dataviews-search/index.js.map +1 -1
  254. package/build-module/components/dataviews-selection-checkbox/index.js +2 -1
  255. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  256. package/build-module/components/dataviews-view-config/index.js +5 -4
  257. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  258. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js +2 -1
  259. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js.map +1 -1
  260. package/build-module/constants.js +35 -34
  261. package/build-module/constants.js.map +1 -1
  262. package/build-module/dataform-controls/array.js +3 -2
  263. package/build-module/dataform-controls/array.js.map +1 -1
  264. package/build-module/dataform-controls/checkbox.js +3 -2
  265. package/build-module/dataform-controls/checkbox.js.map +1 -1
  266. package/build-module/dataform-controls/color.js +4 -3
  267. package/build-module/dataform-controls/color.js.map +1 -1
  268. package/build-module/dataform-controls/date.js +7 -6
  269. package/build-module/dataform-controls/date.js.map +1 -1
  270. package/build-module/dataform-controls/datetime.js +7 -12
  271. package/build-module/dataform-controls/datetime.js.map +2 -2
  272. package/build-module/dataform-controls/email.js +2 -1
  273. package/build-module/dataform-controls/email.js.map +1 -1
  274. package/build-module/dataform-controls/index.js +3 -2
  275. package/build-module/dataform-controls/index.js.map +1 -1
  276. package/build-module/dataform-controls/integer.js +2 -1
  277. package/build-module/dataform-controls/integer.js.map +1 -1
  278. package/build-module/dataform-controls/number.js +2 -1
  279. package/build-module/dataform-controls/number.js.map +1 -1
  280. package/build-module/dataform-controls/password.js +2 -1
  281. package/build-module/dataform-controls/password.js.map +1 -1
  282. package/build-module/dataform-controls/radio.js +3 -2
  283. package/build-module/dataform-controls/radio.js.map +1 -1
  284. package/build-module/dataform-controls/select.js +3 -2
  285. package/build-module/dataform-controls/select.js.map +1 -1
  286. package/build-module/dataform-controls/telephone.js +2 -1
  287. package/build-module/dataform-controls/telephone.js.map +1 -1
  288. package/build-module/dataform-controls/text.js +2 -1
  289. package/build-module/dataform-controls/text.js.map +1 -1
  290. package/build-module/dataform-controls/textarea.js +3 -2
  291. package/build-module/dataform-controls/textarea.js.map +1 -1
  292. package/build-module/dataform-controls/toggle-group.js +3 -2
  293. package/build-module/dataform-controls/toggle-group.js.map +1 -1
  294. package/build-module/dataform-controls/toggle.js +3 -2
  295. package/build-module/dataform-controls/toggle.js.map +1 -1
  296. package/build-module/dataform-controls/url.js +2 -1
  297. package/build-module/dataform-controls/url.js.map +1 -1
  298. package/build-module/dataform-controls/utils/get-custom-validity.js +1 -0
  299. package/build-module/dataform-controls/utils/get-custom-validity.js.map +1 -1
  300. package/build-module/dataform-controls/utils/relative-date-control.js +3 -2
  301. package/build-module/dataform-controls/utils/relative-date-control.js.map +1 -1
  302. package/build-module/dataform-controls/utils/validated-input.js +3 -2
  303. package/build-module/dataform-controls/utils/validated-input.js.map +1 -1
  304. package/build-module/dataform-controls/utils/validated-number.js +3 -2
  305. package/build-module/dataform-controls/utils/validated-number.js.map +1 -1
  306. package/build-module/dataform-layouts/card/index.js +63 -33
  307. package/build-module/dataform-layouts/card/index.js.map +3 -3
  308. package/build-module/dataform-layouts/data-form-layout.js +8 -15
  309. package/build-module/dataform-layouts/data-form-layout.js.map +2 -2
  310. package/build-module/dataform-layouts/get-summary-fields.js +2 -1
  311. package/build-module/dataform-layouts/get-summary-fields.js.map +1 -1
  312. package/build-module/dataform-layouts/index.js +3 -2
  313. package/build-module/dataform-layouts/index.js.map +2 -2
  314. package/build-module/dataform-layouts/{normalize-form-fields.js → normalize-form.js} +34 -17
  315. package/build-module/dataform-layouts/normalize-form.js.map +7 -0
  316. package/build-module/dataform-layouts/panel/dropdown.js +7 -7
  317. package/build-module/dataform-layouts/panel/dropdown.js.map +2 -2
  318. package/build-module/dataform-layouts/panel/index.js +9 -14
  319. package/build-module/dataform-layouts/panel/index.js.map +2 -2
  320. package/build-module/dataform-layouts/panel/modal.js +7 -7
  321. package/build-module/dataform-layouts/panel/modal.js.map +2 -2
  322. package/build-module/dataform-layouts/panel/summary-button.js +2 -1
  323. package/build-module/dataform-layouts/panel/summary-button.js.map +1 -1
  324. package/build-module/dataform-layouts/regular/index.js +6 -9
  325. package/build-module/dataform-layouts/regular/index.js.map +2 -2
  326. package/build-module/dataform-layouts/row/index.js +9 -23
  327. package/build-module/dataform-layouts/row/index.js.map +2 -2
  328. package/build-module/dataviews-layouts/grid/index.js +3 -2
  329. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  330. package/build-module/dataviews-layouts/grid/preview-size-picker.js +3 -2
  331. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  332. package/build-module/dataviews-layouts/index.js +2 -1
  333. package/build-module/dataviews-layouts/index.js.map +1 -1
  334. package/build-module/dataviews-layouts/list/index.js +5 -6
  335. package/build-module/dataviews-layouts/list/index.js.map +2 -2
  336. package/build-module/dataviews-layouts/picker-grid/index.js +3 -2
  337. package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -1
  338. package/build-module/dataviews-layouts/table/column-header-menu.js +5 -4
  339. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  340. package/build-module/dataviews-layouts/table/column-primary.js +2 -1
  341. package/build-module/dataviews-layouts/table/column-primary.js.map +1 -1
  342. package/build-module/dataviews-layouts/table/density-picker.js +2 -1
  343. package/build-module/dataviews-layouts/table/density-picker.js.map +1 -1
  344. package/build-module/dataviews-layouts/table/index.js +2 -1
  345. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  346. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js +2 -1
  347. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -1
  348. package/build-module/dataviews-layouts/utils/get-data-by-group.js +1 -0
  349. package/build-module/dataviews-layouts/utils/get-data-by-group.js.map +1 -1
  350. package/build-module/dataviews-layouts/utils/grid-items.js +3 -2
  351. package/build-module/dataviews-layouts/utils/grid-items.js.map +1 -1
  352. package/build-module/dataviews-layouts/utils/item-click-wrapper.js +2 -1
  353. package/build-module/dataviews-layouts/utils/item-click-wrapper.js.map +1 -1
  354. package/build-module/dataviews-layouts/utils/preview-size-picker.js +3 -2
  355. package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +1 -1
  356. package/build-module/field-types/array.js +2 -1
  357. package/build-module/field-types/array.js.map +1 -1
  358. package/build-module/field-types/boolean.js +2 -1
  359. package/build-module/field-types/boolean.js.map +1 -1
  360. package/build-module/field-types/color.js +2 -1
  361. package/build-module/field-types/color.js.map +1 -1
  362. package/build-module/field-types/date.js +3 -2
  363. package/build-module/field-types/date.js.map +1 -1
  364. package/build-module/field-types/datetime.js +16 -2
  365. package/build-module/field-types/datetime.js.map +2 -2
  366. package/build-module/field-types/email.js +3 -2
  367. package/build-module/field-types/email.js.map +1 -1
  368. package/build-module/field-types/index.js +2 -1
  369. package/build-module/field-types/index.js.map +1 -1
  370. package/build-module/field-types/integer.js +2 -1
  371. package/build-module/field-types/integer.js.map +1 -1
  372. package/build-module/field-types/media.js +1 -0
  373. package/build-module/field-types/media.js.map +1 -1
  374. package/build-module/field-types/number.js +2 -1
  375. package/build-module/field-types/number.js.map +1 -1
  376. package/build-module/field-types/password.js +2 -1
  377. package/build-module/field-types/password.js.map +1 -1
  378. package/build-module/field-types/telephone.js +2 -1
  379. package/build-module/field-types/telephone.js.map +1 -1
  380. package/build-module/field-types/text.js +2 -1
  381. package/build-module/field-types/text.js.map +1 -1
  382. package/build-module/field-types/url.js +2 -1
  383. package/build-module/field-types/url.js.map +1 -1
  384. package/build-module/field-types/utils/parse-date-time.js +14 -0
  385. package/build-module/field-types/utils/parse-date-time.js.map +7 -0
  386. package/build-module/field-types/utils/render-from-elements.js +1 -0
  387. package/build-module/field-types/utils/render-from-elements.js.map +1 -1
  388. package/build-module/hooks/index.js +1 -0
  389. package/build-module/hooks/index.js.map +1 -1
  390. package/build-module/hooks/use-elements.js +2 -1
  391. package/build-module/hooks/use-elements.js.map +1 -1
  392. package/build-module/hooks/use-form-validity.js +424 -321
  393. package/build-module/hooks/use-form-validity.js.map +3 -3
  394. package/build-module/index.js +1 -0
  395. package/build-module/index.js.map +1 -1
  396. package/build-module/lock-unlock.js +2 -1
  397. package/build-module/lock-unlock.js.map +1 -1
  398. package/build-module/utils/filter-sort-and-paginate.js +2 -1
  399. package/build-module/utils/filter-sort-and-paginate.js.map +1 -1
  400. package/build-module/utils/has-elements.js +1 -0
  401. package/build-module/utils/has-elements.js.map +1 -1
  402. package/build-module/utils/normalize-fields.js +3 -2
  403. package/build-module/utils/normalize-fields.js.map +1 -1
  404. package/build-types/components/dataform/index.d.ts.map +1 -1
  405. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -1
  406. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  407. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  408. package/build-types/dataform-layouts/card/index.d.ts +1 -1
  409. package/build-types/dataform-layouts/card/index.d.ts.map +1 -1
  410. package/build-types/dataform-layouts/data-form-layout.d.ts +4 -4
  411. package/build-types/dataform-layouts/data-form-layout.d.ts.map +1 -1
  412. package/build-types/dataform-layouts/index.d.ts +2 -2
  413. package/build-types/dataform-layouts/index.d.ts.map +1 -1
  414. package/build-types/dataform-layouts/normalize-form.d.ts +8 -0
  415. package/build-types/dataform-layouts/normalize-form.d.ts.map +1 -0
  416. package/build-types/dataform-layouts/panel/dropdown.d.ts +2 -2
  417. package/build-types/dataform-layouts/panel/dropdown.d.ts.map +1 -1
  418. package/build-types/dataform-layouts/panel/index.d.ts.map +1 -1
  419. package/build-types/dataform-layouts/panel/modal.d.ts +2 -2
  420. package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -1
  421. package/build-types/dataform-layouts/regular/index.d.ts.map +1 -1
  422. package/build-types/dataform-layouts/row/index.d.ts.map +1 -1
  423. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  424. package/build-types/field-types/datetime.d.ts +1 -1
  425. package/build-types/field-types/datetime.d.ts.map +1 -1
  426. package/build-types/field-types/utils/parse-date-time.d.ts +2 -0
  427. package/build-types/field-types/utils/parse-date-time.d.ts.map +1 -0
  428. package/build-types/hooks/use-form-validity.d.ts.map +1 -1
  429. package/build-types/stories/dataform.story.d.ts +1 -10
  430. package/build-types/stories/dataform.story.d.ts.map +1 -1
  431. package/build-types/stories/dataviews-picker.story.d.ts +31 -0
  432. package/build-types/stories/dataviews-picker.story.d.ts.map +1 -1
  433. package/build-types/stories/dataviews.fixtures.d.ts.map +1 -1
  434. package/build-types/test/normalize-form.d.ts +2 -0
  435. package/build-types/test/normalize-form.d.ts.map +1 -0
  436. package/build-types/types/dataform.d.ts +12 -6
  437. package/build-types/types/dataform.d.ts.map +1 -1
  438. package/build-wp/index.js +738 -532
  439. package/package.json +15 -15
  440. package/src/components/dataform/index.tsx +3 -1
  441. package/src/components/dataviews-filters/filter.tsx +16 -1
  442. package/src/components/dataviews-item-actions/index.tsx +37 -14
  443. package/src/dataform-controls/datetime.tsx +3 -10
  444. package/src/dataform-layouts/card/index.tsx +45 -21
  445. package/src/dataform-layouts/data-form-layout.tsx +12 -23
  446. package/src/dataform-layouts/index.tsx +5 -3
  447. package/src/dataform-layouts/{normalize-form-fields.ts → normalize-form.ts} +39 -23
  448. package/src/dataform-layouts/panel/dropdown.tsx +10 -13
  449. package/src/dataform-layouts/panel/index.tsx +9 -24
  450. package/src/dataform-layouts/panel/modal.tsx +15 -15
  451. package/src/dataform-layouts/regular/index.tsx +7 -12
  452. package/src/dataform-layouts/row/index.tsx +13 -26
  453. package/src/dataviews-layouts/list/index.tsx +2 -5
  454. package/src/field-types/datetime.tsx +16 -5
  455. package/src/field-types/utils/parse-date-time.ts +17 -0
  456. package/src/hooks/use-form-validity.ts +572 -422
  457. package/src/stories/dataform.story.tsx +502 -454
  458. package/src/stories/dataviews-picker.story.tsx +155 -32
  459. package/src/stories/dataviews.fixtures.tsx +4 -1
  460. package/src/stories/field-types.story.tsx +7 -7
  461. package/src/test/normalize-form.ts +568 -0
  462. package/src/test/use-form-validity.ts +318 -33
  463. package/src/types/dataform.ts +12 -8
  464. package/tsconfig.tsbuildinfo +1 -1
  465. package/build/dataform-layouts/is-combined-field.js.map +0 -7
  466. package/build/dataform-layouts/normalize-form-fields.js.map +0 -7
  467. package/build-module/dataform-layouts/is-combined-field.js +0 -7
  468. package/build-module/dataform-layouts/is-combined-field.js.map +0 -7
  469. package/build-module/dataform-layouts/normalize-form-fields.js.map +0 -7
  470. package/build-types/dataform-layouts/is-combined-field.d.ts +0 -6
  471. package/build-types/dataform-layouts/is-combined-field.d.ts.map +0 -1
  472. package/build-types/dataform-layouts/normalize-form-fields.d.ts +0 -19
  473. package/build-types/dataform-layouts/normalize-form-fields.d.ts.map +0 -1
  474. package/build-types/test/normalize-form-fields.d.ts +0 -2
  475. package/build-types/test/normalize-form-fields.d.ts.map +0 -1
  476. package/src/dataform-layouts/is-combined-field.ts +0 -10
  477. package/src/test/normalize-form-fields.ts +0 -324
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/filters-toggled.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport Filters from './filters';\n\nfunction FiltersToggled( props: { className?: string } ) {\n\tconst { isShowingFilter } = useContext( DataViewsContext );\n\tif ( ! isShowingFilter ) {\n\t\treturn null;\n\t}\n\treturn <Filters { ...props } />;\n}\n\nexport default FiltersToggled;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBQ;AAbR,qBAA2B;AAK3B,+BAA6B;AAC7B,qBAAoB;AAEpB,SAAS,eAAgB,OAAgC;AACxD,QAAM,EAAE,gBAAgB,QAAI,2BAAY,yBAAAA,OAAiB;AACzD,MAAK,CAAE,iBAAkB;AACxB,WAAO;AAAA,EACR;AACA,SAAO,4CAAC,eAAAC,SAAA,EAAU,GAAG,OAAQ;AAC9B;AAEA,IAAO,0BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA2B;AAK3B,+BAA6B;AAC7B,qBAAoB;AAOZ;AALR,SAAS,eAAgB,OAAgC;AACxD,QAAM,EAAE,gBAAgB,QAAI,2BAAY,yBAAAA,OAAiB;AACzD,MAAK,CAAE,iBAAkB;AACxB,WAAO;AAAA,EACR;AACA,SAAO,4CAAC,eAAAC,SAAA,EAAU,GAAG,OAAQ;AAC9B;AAEA,IAAO,0BAAQ;",
6
6
  "names": ["DataViewsContext", "Filters"]
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/components/dataviews-filters/filters.tsx
29
31
  var filters_exports = {};
30
32
  __export(filters_exports, {
31
33
  default: () => filters_default
32
34
  });
33
35
  module.exports = __toCommonJS(filters_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_element = require("@wordpress/element");
36
37
  var import_components = require("@wordpress/components");
37
38
  var import_filter = __toESM(require("./filter"));
@@ -39,6 +40,7 @@ var import_add_filter = __toESM(require("./add-filter"));
39
40
  var import_reset_filters = __toESM(require("./reset-filters"));
40
41
  var import_use_filters = __toESM(require("./use-filters"));
41
42
  var import_dataviews_context = __toESM(require("../dataviews-context"));
43
+ var import_jsx_runtime = require("react/jsx-runtime");
42
44
  function Filters({ className }) {
43
45
  const { fields, view, onChangeView, openedFilter, setOpenedFilter } = (0, import_element.useContext)(import_dataviews_context.default);
44
46
  const addFilterRef = (0, import_element.useRef)(null);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/filters.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { memo, useContext, useRef } from '@wordpress/element';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport Filter from './filter';\nimport { default as AddFilter } from './add-filter';\nimport ResetFilters from './reset-filters';\nimport useFilters from './use-filters';\nimport DataViewsContext from '../dataviews-context';\n\nfunction Filters( { className }: { className?: string } ) {\n\tconst { fields, view, onChangeView, openedFilter, setOpenedFilter } =\n\t\tuseContext( DataViewsContext );\n\tconst addFilterRef = useRef< HTMLButtonElement >( null );\n\tconst filters = useFilters( fields, view );\n\tconst addFilter = (\n\t\t<AddFilter\n\t\t\tkey=\"add-filter\"\n\t\t\tfilters={ filters }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tref={ addFilterRef }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t/>\n\t);\n\tconst visibleFilters = filters.filter( ( filter ) => filter.isVisible );\n\tif ( visibleFilters.length === 0 ) {\n\t\treturn null;\n\t}\n\tconst filterComponents = [\n\t\t...visibleFilters.map( ( filter ) => {\n\t\t\treturn (\n\t\t\t\t<Filter\n\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\tfilter={ filter }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\taddFilterRef={ addFilterRef }\n\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t/>\n\t\t\t);\n\t\t} ),\n\t\taddFilter,\n\t];\n\n\tfilterComponents.push(\n\t\t<ResetFilters\n\t\t\tkey=\"reset-filters\"\n\t\t\tfilters={ filters }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t/>\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tjustify=\"flex-start\"\n\t\t\tstyle={ { width: 'fit-content' } }\n\t\t\twrap\n\t\t\tclassName={ className }\n\t\t>\n\t\t\t{ filterComponents }\n\t\t</HStack>\n\t);\n}\n\nexport default memo( Filters );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBE;AAlBF,qBAAyC;AACzC,wBAA+C;AAK/C,oBAAmB;AACnB,wBAAqC;AACrC,2BAAyB;AACzB,yBAAuB;AACvB,+BAA6B;AAE7B,SAAS,QAAS,EAAE,UAAU,GAA4B;AACzD,QAAM,EAAE,QAAQ,MAAM,cAAc,cAAc,gBAAgB,QACjE,2BAAY,yBAAAA,OAAiB;AAC9B,QAAM,mBAAe,uBAA6B,IAAK;AACvD,QAAM,cAAU,mBAAAC,SAAY,QAAQ,IAAK;AACzC,QAAM,YACL;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAM;AAAA,MACN;AAAA;AAAA,IALI;AAAA,EAML;AAED,QAAM,iBAAiB,QAAQ,OAAQ,CAAE,WAAY,OAAO,SAAU;AACtE,MAAK,eAAe,WAAW,GAAI;AAClC,WAAO;AAAA,EACR;AACA,QAAM,mBAAmB;AAAA,IACxB,GAAG,eAAe,IAAK,CAAE,WAAY;AACpC,aACC;AAAA,QAAC,cAAAC;AAAA,QAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,QANM,OAAO;AAAA,MAOd;AAAA,IAEF,CAAE;AAAA,IACF;AAAA,EACD;AAEA,mBAAiB;AAAA,IAChB;AAAA,MAAC,qBAAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAHI;AAAA,IAIL;AAAA,EACD;AAEA,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,OAAQ,EAAE,OAAO,cAAc;AAAA,MAC/B,MAAI;AAAA,MACJ;AAAA,MAEE;AAAA;AAAA,EACH;AAEF;AAEA,IAAO,sBAAQ,qBAAM,OAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyC;AACzC,wBAA+C;AAK/C,oBAAmB;AACnB,wBAAqC;AACrC,2BAAyB;AACzB,yBAAuB;AACvB,+BAA6B;AAQ3B;AANF,SAAS,QAAS,EAAE,UAAU,GAA4B;AACzD,QAAM,EAAE,QAAQ,MAAM,cAAc,cAAc,gBAAgB,QACjE,2BAAY,yBAAAA,OAAiB;AAC9B,QAAM,mBAAe,uBAA6B,IAAK;AACvD,QAAM,cAAU,mBAAAC,SAAY,QAAQ,IAAK;AACzC,QAAM,YACL;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAM;AAAA,MACN;AAAA;AAAA,IALI;AAAA,EAML;AAED,QAAM,iBAAiB,QAAQ,OAAQ,CAAE,WAAY,OAAO,SAAU;AACtE,MAAK,eAAe,WAAW,GAAI;AAClC,WAAO;AAAA,EACR;AACA,QAAM,mBAAmB;AAAA,IACxB,GAAG,eAAe,IAAK,CAAE,WAAY;AACpC,aACC;AAAA,QAAC,cAAAC;AAAA,QAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,QANM,OAAO;AAAA,MAOd;AAAA,IAEF,CAAE;AAAA,IACF;AAAA,EACD;AAEA,mBAAiB;AAAA,IAChB;AAAA,MAAC,qBAAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAHI;AAAA,IAIL;AAAA,EACD;AAEA,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,OAAQ,EAAE,OAAO,cAAc;AAAA,MAC/B,MAAI;AAAA,MACJ;AAAA,MAEE;AAAA;AAAA,EACH;AAEF;AAEA,IAAO,sBAAQ,qBAAM,OAAQ;",
6
6
  "names": ["DataViewsContext", "useFilters", "AddFilter", "Filter", "ResetFilters", "HStack"]
7
7
  }
@@ -26,6 +26,8 @@ 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/components/dataviews-filters/index.tsx
29
31
  var dataviews_filters_exports = {};
30
32
  __export(dataviews_filters_exports, {
31
33
  Filters: () => import_filters.default,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/index.tsx"],
4
4
  "sourcesContent": ["export { default as Filters } from './filters';\nexport { default as FiltersToggle } from './toggle';\nexport { default as useFilters } from './use-filters';\nexport { default as FiltersToggled } from './filters-toggled';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAmC;AACnC,oBAAyC;AACzC,yBAAsC;AACtC,6BAA0C;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAmC;AACnC,oBAAyC;AACzC,yBAAsC;AACtC,6BAA0C;",
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/components/dataviews-filters/input-widget.tsx
29
31
  var input_widget_exports = {};
30
32
  __export(input_widget_exports, {
31
33
  default: () => InputWidget
32
34
  });
33
35
  module.exports = __toCommonJS(input_widget_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_es6 = __toESM(require("fast-deep-equal/es6"));
36
37
  var import_compose = require("@wordpress/compose");
37
38
  var import_element = require("@wordpress/element");
38
39
  var import_components = require("@wordpress/components");
39
40
  var import_utils = require("./utils");
41
+ var import_jsx_runtime = require("react/jsx-runtime");
40
42
  function InputWidget({
41
43
  filter,
42
44
  view,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/input-widget.tsx"],
4
4
  "sourcesContent": ["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useEvent } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\nimport { Flex } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { View, NormalizedFilter, NormalizedField } from '../../types';\nimport { getCurrentValue } from './utils';\n\ninterface UserInputWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n\tfields: NormalizedField< any >[];\n}\n\nexport default function InputWidget( {\n\tfilter,\n\tview,\n\tonChangeView,\n\tfields,\n}: UserInputWidgetProps ) {\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\n\t/*\n\t * We are reusing the field.Edit component for filters. By doing so,\n\t * we get for free a filter control specific to the field type\n\t * and other aspects of the field API (Edit control configuration, etc.).\n\t *\n\t * This approach comes with an issue: the field.Edit controls work with getValue\n\t * and setValue methods, which take an item (Item) as parameter. But, at this point,\n\t * we don't have an item and we don't know how to create one, either.\n\t *\n\t * So, what we do is to prepare the data and the relevant field configuration\n\t * as if Item was a plain object whose keys are the field ids:\n\t *\n\t * {\n\t * [ fieldOne.id ]: value,\n\t * [ fieldTwo.id ]: value,\n\t * }\n\t *\n\t */\n\tconst field = useMemo( () => {\n\t\tconst currentField = fields.find( ( f ) => f.id === filter.field );\n\t\tif ( currentField ) {\n\t\t\treturn {\n\t\t\t\t...currentField,\n\t\t\t\t// Deactivate validation for filters.\n\t\t\t\tisValid: {\n\t\t\t\t\trequired: false,\n\t\t\t\t\tcustom: () => null,\n\t\t\t\t},\n\t\t\t\t// Configure getValue/setValue as if Item was a plain object.\n\t\t\t\tgetValue: ( { item }: { item: any } ) =>\n\t\t\t\t\titem[ currentField.id ],\n\t\t\t\tsetValue: ( { value }: { value: any } ) => ( {\n\t\t\t\t\t[ currentField.id ]: value,\n\t\t\t\t} ),\n\t\t\t};\n\t\t}\n\t\treturn currentField;\n\t}, [ fields, filter.field ] );\n\n\tconst data = useMemo( () => {\n\t\treturn ( view.filters ?? [] ).reduce(\n\t\t\t( acc, activeFilter ) => {\n\t\t\t\t// We can now assume the field is stored as a Item prop.\n\t\t\t\tacc[ activeFilter.field ] = activeFilter.value;\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{} as Record< string, any >\n\t\t);\n\t}, [ view.filters ] );\n\n\tconst handleChange = useEvent( ( updatedData: Record< string, any > ) => {\n\t\tif ( ! field || ! currentFilter ) {\n\t\t\treturn;\n\t\t}\n\t\tconst nextValue = field.getValue( { item: updatedData } );\n\t\tif ( fastDeepEqual( nextValue, currentValue ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonChangeView( {\n\t\t\t...view,\n\t\t\tfilters: ( view.filters ?? [] ).map( ( _filter ) =>\n\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\tcurrentFilter.operator || filter.operators[ 0 ],\n\t\t\t\t\t\t\t// Consider empty strings as undefined:\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// - undefined as value means the filter is unset: the filter widget displays no value and the search returns all records\n\t\t\t\t\t\t\t// - empty string as value means \"search empty string\": returns only the records that have an empty string as value\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// In practice, this means the filter will not be able to find an empty string as the value.\n\t\t\t\t\t\t\tvalue: nextValue === '' ? undefined : nextValue,\n\t\t\t\t\t }\n\t\t\t\t\t: _filter\n\t\t\t),\n\t\t} );\n\t} );\n\n\tif ( ! field || ! field.Edit || ! currentFilter ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Flex\n\t\t\tclassName=\"dataviews-filters__user-input-widget\"\n\t\t\tgap={ 2.5 }\n\t\t\tdirection=\"column\"\n\t\t>\n\t\t\t<field.Edit\n\t\t\t\thideLabelFromVision\n\t\t\t\tdata={ data }\n\t\t\t\tfield={ field }\n\t\t\t\toperator={ currentFilter.operator }\n\t\t\t\tonChange={ handleChange }\n\t\t\t/>\n\t\t</Flex>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8HG;AA3HH,iBAA0B;AAK1B,qBAAyB;AACzB,qBAAwB;AACxB,wBAAqB;AAMrB,mBAAgC;AASjB,SAAR,YAA8B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAA0B;AACzB,QAAM,gBAAgB,KAAK,SAAS;AAAA,IACnC,CAAE,MAAO,EAAE,UAAU,OAAO;AAAA,EAC7B;AACA,QAAM,mBAAe,8BAAiB,QAAQ,aAAc;AAoB5D,QAAM,YAAQ,wBAAS,MAAM;AAC5B,UAAM,eAAe,OAAO,KAAM,CAAE,MAAO,EAAE,OAAO,OAAO,KAAM;AACjE,QAAK,cAAe;AACnB,aAAO;AAAA,QACN,GAAG;AAAA;AAAA,QAEH,SAAS;AAAA,UACR,UAAU;AAAA,UACV,QAAQ,MAAM;AAAA,QACf;AAAA;AAAA,QAEA,UAAU,CAAE,EAAE,KAAK,MAClB,KAAM,aAAa,EAAG;AAAA,QACvB,UAAU,CAAE,EAAE,MAAM,OAAyB;AAAA,UAC5C,CAAE,aAAa,EAAG,GAAG;AAAA,QACtB;AAAA,MACD;AAAA,IACD;AACA,WAAO;AAAA,EACR,GAAG,CAAE,QAAQ,OAAO,KAAM,CAAE;AAE5B,QAAM,WAAO,wBAAS,MAAM;AAC3B,YAAS,KAAK,WAAW,CAAC,GAAI;AAAA,MAC7B,CAAE,KAAK,iBAAkB;AAExB,YAAK,aAAa,KAAM,IAAI,aAAa;AACzC,eAAO;AAAA,MACR;AAAA,MACA,CAAC;AAAA,IACF;AAAA,EACD,GAAG,CAAE,KAAK,OAAQ,CAAE;AAEpB,QAAM,mBAAe,yBAAU,CAAE,gBAAwC;AACxE,QAAK,CAAE,SAAS,CAAE,eAAgB;AACjC;AAAA,IACD;AACA,UAAM,YAAY,MAAM,SAAU,EAAE,MAAM,YAAY,CAAE;AACxD,YAAK,WAAAA,SAAe,WAAW,YAAa,GAAI;AAC/C;AAAA,IACD;AAEA,iBAAc;AAAA,MACb,GAAG;AAAA,MACH,UAAW,KAAK,WAAW,CAAC,GAAI;AAAA,QAAK,CAAE,YACtC,QAAQ,UAAU,OAAO,QACtB;AAAA,UACA,GAAG;AAAA,UACH,UACC,cAAc,YAAY,OAAO,UAAW,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAO/C,OAAO,cAAc,KAAK,SAAY;AAAA,QACtC,IACA;AAAA,MACJ;AAAA,IACD,CAAE;AAAA,EACH,CAAE;AAEF,MAAK,CAAE,SAAS,CAAE,MAAM,QAAQ,CAAE,eAAgB;AACjD,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,KAAM;AAAA,MACN,WAAU;AAAA,MAEV;AAAA,QAAC,MAAM;AAAA,QAAN;AAAA,UACA,qBAAmB;AAAA,UACnB;AAAA,UACA;AAAA,UACA,UAAW,cAAc;AAAA,UACzB,UAAW;AAAA;AAAA,MACZ;AAAA;AAAA,EACD;AAEF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAA0B;AAK1B,qBAAyB;AACzB,qBAAwB;AACxB,wBAAqB;AAMrB,mBAAgC;AA8G7B;AArGY,SAAR,YAA8B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAA0B;AACzB,QAAM,gBAAgB,KAAK,SAAS;AAAA,IACnC,CAAE,MAAO,EAAE,UAAU,OAAO;AAAA,EAC7B;AACA,QAAM,mBAAe,8BAAiB,QAAQ,aAAc;AAoB5D,QAAM,YAAQ,wBAAS,MAAM;AAC5B,UAAM,eAAe,OAAO,KAAM,CAAE,MAAO,EAAE,OAAO,OAAO,KAAM;AACjE,QAAK,cAAe;AACnB,aAAO;AAAA,QACN,GAAG;AAAA;AAAA,QAEH,SAAS;AAAA,UACR,UAAU;AAAA,UACV,QAAQ,MAAM;AAAA,QACf;AAAA;AAAA,QAEA,UAAU,CAAE,EAAE,KAAK,MAClB,KAAM,aAAa,EAAG;AAAA,QACvB,UAAU,CAAE,EAAE,MAAM,OAAyB;AAAA,UAC5C,CAAE,aAAa,EAAG,GAAG;AAAA,QACtB;AAAA,MACD;AAAA,IACD;AACA,WAAO;AAAA,EACR,GAAG,CAAE,QAAQ,OAAO,KAAM,CAAE;AAE5B,QAAM,WAAO,wBAAS,MAAM;AAC3B,YAAS,KAAK,WAAW,CAAC,GAAI;AAAA,MAC7B,CAAE,KAAK,iBAAkB;AAExB,YAAK,aAAa,KAAM,IAAI,aAAa;AACzC,eAAO;AAAA,MACR;AAAA,MACA,CAAC;AAAA,IACF;AAAA,EACD,GAAG,CAAE,KAAK,OAAQ,CAAE;AAEpB,QAAM,mBAAe,yBAAU,CAAE,gBAAwC;AACxE,QAAK,CAAE,SAAS,CAAE,eAAgB;AACjC;AAAA,IACD;AACA,UAAM,YAAY,MAAM,SAAU,EAAE,MAAM,YAAY,CAAE;AACxD,YAAK,WAAAA,SAAe,WAAW,YAAa,GAAI;AAC/C;AAAA,IACD;AAEA,iBAAc;AAAA,MACb,GAAG;AAAA,MACH,UAAW,KAAK,WAAW,CAAC,GAAI;AAAA,QAAK,CAAE,YACtC,QAAQ,UAAU,OAAO,QACtB;AAAA,UACA,GAAG;AAAA,UACH,UACC,cAAc,YAAY,OAAO,UAAW,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAO/C,OAAO,cAAc,KAAK,SAAY;AAAA,QACtC,IACA;AAAA,MACJ;AAAA,IACD,CAAE;AAAA,EACH,CAAE;AAEF,MAAK,CAAE,SAAS,CAAE,MAAM,QAAQ,CAAE,eAAgB;AACjD,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,KAAM;AAAA,MACN,WAAU;AAAA,MAEV;AAAA,QAAC,MAAM;AAAA,QAAN;AAAA,UACA,qBAAmB;AAAA,UACnB;AAAA,UACA;AAAA,UACA,UAAW,cAAc;AAAA,UACzB,UAAW;AAAA;AAAA,MACZ;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["fastDeepEqual"]
7
7
  }
@@ -16,14 +16,16 @@ 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/components/dataviews-filters/reset-filters.tsx
19
21
  var reset_filters_exports = {};
20
22
  __export(reset_filters_exports, {
21
23
  default: () => ResetFilter
22
24
  });
23
25
  module.exports = __toCommonJS(reset_filters_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
26
  var import_components = require("@wordpress/components");
26
27
  var import_i18n = require("@wordpress/i18n");
28
+ var import_jsx_runtime = require("react/jsx-runtime");
27
29
  function ResetFilter({
28
30
  filters,
29
31
  view,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/reset-filters.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { NormalizedFilter, View } from '../../types';\n\ninterface ResetFilterProps {\n\tfilters: NormalizedFilter[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\nexport default function ResetFilter( {\n\tfilters,\n\tview,\n\tonChangeView,\n}: ResetFilterProps ) {\n\tconst isPrimary = ( field: string ) =>\n\t\tfilters.some(\n\t\t\t( _filter ) => _filter.field === field && _filter.isPrimary\n\t\t);\n\tconst isDisabled =\n\t\t! view.search &&\n\t\t! view.filters?.some(\n\t\t\t( _filter ) =>\n\t\t\t\t! _filter.isLocked &&\n\t\t\t\t( _filter.value !== undefined || ! isPrimary( _filter.field ) )\n\t\t);\n\treturn (\n\t\t<Button\n\t\t\tdisabled={ isDisabled }\n\t\t\taccessibleWhenDisabled\n\t\t\tsize=\"compact\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tclassName=\"dataviews-filters__reset-button\"\n\t\t\tonClick={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tsearch: '',\n\t\t\t\t\tfilters:\n\t\t\t\t\t\tview.filters?.filter( ( f ) => !! f.isLocked ) || [],\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Reset' ) }\n\t\t</Button>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCE;AA/BF,wBAAuB;AACvB,kBAAmB;AAaJ,SAAR,YAA8B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACD,GAAsB;AACrB,QAAM,YAAY,CAAE,UACnB,QAAQ;AAAA,IACP,CAAE,YAAa,QAAQ,UAAU,SAAS,QAAQ;AAAA,EACnD;AACD,QAAM,aACL,CAAE,KAAK,UACP,CAAE,KAAK,SAAS;AAAA,IACf,CAAE,YACD,CAAE,QAAQ,aACR,QAAQ,UAAU,UAAa,CAAE,UAAW,QAAQ,KAAM;AAAA,EAC9D;AACD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW;AAAA,MACX,wBAAsB;AAAA,MACtB,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,SAAU,MAAM;AACf,qBAAc;AAAA,UACb,GAAG;AAAA,UACH,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,SACC,KAAK,SAAS,OAAQ,CAAE,MAAO,CAAC,CAAE,EAAE,QAAS,KAAK,CAAC;AAAA,QACrD,CAAE;AAAA,MACH;AAAA,MAEE,8BAAI,OAAQ;AAAA;AAAA,EACf;AAEF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuB;AACvB,kBAAmB;AA8BjB;AAjBa,SAAR,YAA8B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACD,GAAsB;AACrB,QAAM,YAAY,CAAE,UACnB,QAAQ;AAAA,IACP,CAAE,YAAa,QAAQ,UAAU,SAAS,QAAQ;AAAA,EACnD;AACD,QAAM,aACL,CAAE,KAAK,UACP,CAAE,KAAK,SAAS;AAAA,IACf,CAAE,YACD,CAAE,QAAQ,aACR,QAAQ,UAAU,UAAa,CAAE,UAAW,QAAQ,KAAM;AAAA,EAC9D;AACD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW;AAAA,MACX,wBAAsB;AAAA,MACtB,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,SAAU,MAAM;AACf,qBAAc;AAAA,UACb,GAAG;AAAA,UACH,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,SACC,KAAK,SAAS,OAAQ,CAAE,MAAO,CAAC,CAAE,EAAE,QAAS,KAAK,CAAC;AAAA,QACrD,CAAE;AAAA,MACH;AAAA,MAEE,8BAAI,OAAQ;AAAA;AAAA,EACf;AAEF;",
6
6
  "names": []
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/components/dataviews-filters/search-widget.tsx
29
31
  var search_widget_exports = {};
30
32
  __export(search_widget_exports, {
31
33
  default: () => SearchWidget
32
34
  });
33
35
  module.exports = __toCommonJS(search_widget_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var Ariakit = __toESM(require("@ariakit/react"));
36
37
  var import_remove_accents = __toESM(require("remove-accents"));
37
38
  var import_clsx = __toESM(require("clsx"));
@@ -42,10 +43,11 @@ var import_components = require("@wordpress/components");
42
43
  var import_icons = require("@wordpress/icons");
43
44
  var import_utils = require("./utils");
44
45
  var import_use_elements = __toESM(require("../../hooks/use-elements"));
46
+ var import_jsx_runtime = require("react/jsx-runtime");
45
47
  function normalizeSearchInput(input = "") {
46
48
  return (0, import_remove_accents.default)(input.trim().toLowerCase());
47
49
  }
48
- const getNewValue = (filterDefinition, currentFilter, value) => {
50
+ var getNewValue = (filterDefinition, currentFilter, value) => {
49
51
  if (filterDefinition.singleSelection) {
50
52
  return value;
51
53
  }
@@ -57,7 +59,7 @@ const getNewValue = (filterDefinition, currentFilter, value) => {
57
59
  function generateFilterElementCompositeItemId(prefix, filterElementValue) {
58
60
  return `${prefix}-${filterElementValue}`;
59
61
  }
60
- const MultiSelectionOption = ({ selected }) => {
62
+ var MultiSelectionOption = ({ selected }) => {
61
63
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
62
64
  "span",
63
65
  {
@@ -69,7 +71,7 @@ const MultiSelectionOption = ({ selected }) => {
69
71
  }
70
72
  );
71
73
  };
72
- const SingleSelectionOption = ({ selected }) => {
74
+ var SingleSelectionOption = ({ selected }) => {
73
75
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
74
76
  "span",
75
77
  {
@@ -197,7 +199,7 @@ function ListBox({ view, filter, onChangeView }) {
197
199
  }
198
200
  );
199
201
  }
200
- function ComboboxList({ view, filter, onChangeView }) {
202
+ function ComboboxList2({ view, filter, onChangeView }) {
201
203
  const [searchValue, setSearchValue] = (0, import_element.useState)("");
202
204
  const deferredSearchValue = (0, import_element.useDeferredValue)(searchValue);
203
205
  const currentFilter = view.filters?.find(
@@ -325,7 +327,7 @@ function SearchWidget(props) {
325
327
  if (elements.length === 0) {
326
328
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dataviews-filters__search-widget-no-elements", children: (0, import_i18n.__)("No elements found") });
327
329
  }
328
- const Widget = elements.length > 10 ? ComboboxList : ListBox;
330
+ const Widget = elements.length > 10 ? ComboboxList2 : ListBox;
329
331
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Widget, { ...props, filter: { ...props.filter, elements } });
330
332
  }
331
333
  //# sourceMappingURL=search-widget.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/search-widget.tsx"],
4
4
  "sourcesContent": ["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tIcon,\n\tComposite,\n\tSpinner,\n} from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getCurrentValue } from './utils';\nimport type { Filter, NormalizedFilter, View, Option } from '../../types';\nimport useElements from '../../hooks/use-elements';\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter & {\n\t\telements: Option[];\n\t};\n\tonChangeView: ( view: View ) => void;\n}\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction generateFilterElementCompositeItemId(\n\tprefix: string,\n\tfilterElementValue: string\n) {\n\treturn `${ prefix }-${ filterElementValue }`;\n}\n\nconst MultiSelectionOption = ( { selected }: { selected: boolean } ) => {\n\treturn (\n\t\t<span\n\t\t\tclassName={ clsx(\n\t\t\t\t'dataviews-filters__search-widget-listitem-multi-selection',\n\t\t\t\t{ 'is-selected': selected }\n\t\t\t) }\n\t\t>\n\t\t\t{ selected && <Icon icon={ check } /> }\n\t\t</span>\n\t);\n};\n\nconst SingleSelectionOption = ( { selected }: { selected: boolean } ) => {\n\treturn (\n\t\t<span\n\t\t\tclassName={ clsx(\n\t\t\t\t'dataviews-filters__search-widget-listitem-single-selection',\n\t\t\t\t{ 'is-selected': selected }\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst baseId = useInstanceId( ListBox, 'dataviews-filter-list-box' );\n\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>(\n\t\t// When there are one or less operators, the first item is set as active\n\t\t// (by setting the initial `activeId` to `undefined`).\n\t\t// With 2 or more operators, the focus is moved on the operators control\n\t\t// (by setting the initial `activeId` to `null`), meaning that there won't\n\t\t// be an active item initially. Focus is then managed via the\n\t\t// `onFocusVisible` callback.\n\t\tfilter.operators?.length === 1 ? undefined : null\n\t);\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tvirtualFocus\n\t\t\tfocusLoop\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\t// `onFocusVisible` needs the `Composite` component to be focusable,\n\t\t\t\t// which is implicitly achieved via the `virtualFocus` prop.\n\t\t\t\tif ( ! activeCompositeId && filter.elements.length ) {\n\t\t\t\t\tsetActiveCompositeId(\n\t\t\t\t\t\tgenerateFilterElementCompositeItemId(\n\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\tfilter.elements[ 0 ].value\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\trender={ <Composite.Typeahead /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<Composite.Hover\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateFilterElementCompositeItemId(\n\t\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t),\n\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\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t ];\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ filter.singleSelection && (\n\t\t\t\t\t\t<SingleSelectionOption\n\t\t\t\t\t\t\tselected={ currentValue === element.value }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filter.singleSelection && (\n\t\t\t\t\t\t<MultiSelectionOption\n\t\t\t\t\t\t\tselected={ currentValue.includes( element.value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</Composite.Hover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\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\treturn _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tresetValueOnSelect={ false }\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ filter.singleSelection && (\n\t\t\t\t\t\t\t\t<SingleSelectionOption\n\t\t\t\t\t\t\t\t\tselected={ currentValue === element.value }\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{ ! filter.singleSelection && (\n\t\t\t\t\t\t\t\t<MultiSelectionOption\n\t\t\t\t\t\t\t\t\tselected={ currentValue.includes(\n\t\t\t\t\t\t\t\t\t\telement.value\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<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst { elements, isLoading } = useElements( {\n\t\telements: props.filter.elements,\n\t\tgetElements: props.filter.getElements,\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div className=\"dataviews-filters__search-widget-no-elements\">\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( elements.length === 0 ) {\n\t\treturn (\n\t\t\t<div className=\"dataviews-filters__search-widget-no-elements\">\n\t\t\t\t{ __( 'No elements found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst Widget = elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } filter={ { ...props.filter, elements } } />;\n}\n"],
5
- "mappings": "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",
6
- "names": ["removeAccents", "clsx", "useElements"]
5
+ "mappings": "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",
6
+ "names": ["removeAccents", "clsx", "ComboboxList", "useElements"]
7
7
  }
@@ -26,18 +26,20 @@ 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/components/dataviews-filters/toggle.tsx
29
31
  var toggle_exports = {};
30
32
  __export(toggle_exports, {
31
33
  default: () => toggle_default
32
34
  });
33
35
  module.exports = __toCommonJS(toggle_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_element = require("@wordpress/element");
36
37
  var import_components = require("@wordpress/components");
37
38
  var import_icons = require("@wordpress/icons");
38
39
  var import_i18n = require("@wordpress/i18n");
39
40
  var import_add_filter = require("./add-filter");
40
41
  var import_dataviews_context = __toESM(require("../dataviews-context"));
42
+ var import_jsx_runtime = require("react/jsx-runtime");
41
43
  function FiltersToggle() {
42
44
  const {
43
45
  filters,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/toggle.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useContext, useRef, useCallback, useEffect } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { funnel } from '@wordpress/icons';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { AddFilterMenu } from './add-filter';\nimport DataViewsContext from '../dataviews-context';\nimport type { View } from '../../types';\n\nfunction FiltersToggle() {\n\tconst {\n\t\tfilters,\n\t\tview,\n\t\tonChangeView,\n\t\tsetOpenedFilter,\n\t\tisShowingFilter,\n\t\tsetIsShowingFilter,\n\t} = useContext( DataViewsContext );\n\n\tconst buttonRef = useRef< HTMLButtonElement >( null );\n\tconst onChangeViewWithFilterVisibility = useCallback(\n\t\t( _view: View ) => {\n\t\t\tonChangeView( _view );\n\t\t\tsetIsShowingFilter( true );\n\t\t},\n\t\t[ onChangeView, setIsShowingFilter ]\n\t);\n\tconst visibleFilters = filters.filter( ( filter ) => filter.isVisible );\n\n\tconst hasVisibleFilters = !! visibleFilters.length;\n\tif ( filters.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst addFilterButtonProps = {\n\t\tlabel: __( 'Add filter' ),\n\t\t'aria-expanded': false,\n\t\tisPressed: false,\n\t};\n\tconst toggleFiltersButtonProps = {\n\t\tlabel: _x( 'Filter', 'verb' ),\n\t\t'aria-expanded': isShowingFilter,\n\t\tisPressed: isShowingFilter,\n\t\tonClick: () => {\n\t\t\tif ( ! isShowingFilter ) {\n\t\t\t\tsetOpenedFilter( null );\n\t\t\t}\n\t\t\tsetIsShowingFilter( ! isShowingFilter );\n\t\t},\n\t};\n\tconst buttonComponent = (\n\t\t<Button\n\t\t\tref={ buttonRef }\n\t\t\tclassName=\"dataviews-filters__visibility-toggle\"\n\t\t\tsize=\"compact\"\n\t\t\ticon={ funnel }\n\t\t\t{ ...( hasVisibleFilters\n\t\t\t\t? toggleFiltersButtonProps\n\t\t\t\t: addFilterButtonProps ) }\n\t\t/>\n\t);\n\treturn (\n\t\t<div className=\"dataviews-filters__container-visibility-toggle\">\n\t\t\t{ ! hasVisibleFilters ? (\n\t\t\t\t<AddFilterMenu\n\t\t\t\t\tfilters={ filters }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeViewWithFilterVisibility }\n\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\ttriggerProps={ { render: buttonComponent } }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<FilterVisibilityToggle\n\t\t\t\t\tbuttonRef={ buttonRef }\n\t\t\t\t\tfiltersCount={ view.filters?.length }\n\t\t\t\t>\n\t\t\t\t\t{ buttonComponent }\n\t\t\t\t</FilterVisibilityToggle>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction FilterVisibilityToggle( {\n\tbuttonRef,\n\tfiltersCount,\n\tchildren,\n}: {\n\tbuttonRef: React.RefObject< HTMLButtonElement >;\n\tfiltersCount?: number;\n\tchildren: React.ReactNode;\n} ) {\n\t// Focus the `add filter` button when unmounts.\n\tuseEffect(\n\t\t() => () => {\n\t\t\tbuttonRef.current?.focus();\n\t\t},\n\t\t[ buttonRef ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ children }\n\t\t\t{ !! filtersCount && (\n\t\t\t\t<span className=\"dataviews-filters-toggle__count\">\n\t\t\t\t\t{ filtersCount }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default FiltersToggle;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyDE;AAtDF,qBAA2D;AAC3D,wBAAuB;AACvB,mBAAuB;AACvB,kBAAuB;AAKvB,wBAA8B;AAC9B,+BAA6B;AAG7B,SAAS,gBAAgB;AACxB,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,2BAAY,yBAAAA,OAAiB;AAEjC,QAAM,gBAAY,uBAA6B,IAAK;AACpD,QAAM,uCAAmC;AAAA,IACxC,CAAE,UAAiB;AAClB,mBAAc,KAAM;AACpB,yBAAoB,IAAK;AAAA,IAC1B;AAAA,IACA,CAAE,cAAc,kBAAmB;AAAA,EACpC;AACA,QAAM,iBAAiB,QAAQ,OAAQ,CAAE,WAAY,OAAO,SAAU;AAEtE,QAAM,oBAAoB,CAAC,CAAE,eAAe;AAC5C,MAAK,QAAQ,WAAW,GAAI;AAC3B,WAAO;AAAA,EACR;AAEA,QAAM,uBAAuB;AAAA,IAC5B,WAAO,gBAAI,YAAa;AAAA,IACxB,iBAAiB;AAAA,IACjB,WAAW;AAAA,EACZ;AACA,QAAM,2BAA2B;AAAA,IAChC,WAAO,gBAAI,UAAU,MAAO;AAAA,IAC5B,iBAAiB;AAAA,IACjB,WAAW;AAAA,IACX,SAAS,MAAM;AACd,UAAK,CAAE,iBAAkB;AACxB,wBAAiB,IAAK;AAAA,MACvB;AACA,yBAAoB,CAAE,eAAgB;AAAA,IACvC;AAAA,EACD;AACA,QAAM,kBACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM;AAAA,MACN,WAAU;AAAA,MACV,MAAK;AAAA,MACL,MAAO;AAAA,MACL,GAAK,oBACJ,2BACA;AAAA;AAAA,EACJ;AAED,SACC,4CAAC,SAAI,WAAU,kDACZ,WAAE,oBACH;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAe;AAAA,MACf;AAAA,MACA,cAAe,EAAE,QAAQ,gBAAgB;AAAA;AAAA,EAC1C,IAEA;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,cAAe,KAAK,SAAS;AAAA,MAE3B;AAAA;AAAA,EACH,GAEF;AAEF;AAEA,SAAS,uBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACD,GAII;AAEH;AAAA,IACC,MAAM,MAAM;AACX,gBAAU,SAAS,MAAM;AAAA,IAC1B;AAAA,IACA,CAAE,SAAU;AAAA,EACb;AACA,SACC,4EACG;AAAA;AAAA,IACA,CAAC,CAAE,gBACJ,4CAAC,UAAK,WAAU,mCACb,wBACH;AAAA,KAEF;AAEF;AAEA,IAAO,iBAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA2D;AAC3D,wBAAuB;AACvB,mBAAuB;AACvB,kBAAuB;AAKvB,wBAA8B;AAC9B,+BAA6B;AA6C3B;AA1CF,SAAS,gBAAgB;AACxB,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,2BAAY,yBAAAA,OAAiB;AAEjC,QAAM,gBAAY,uBAA6B,IAAK;AACpD,QAAM,uCAAmC;AAAA,IACxC,CAAE,UAAiB;AAClB,mBAAc,KAAM;AACpB,yBAAoB,IAAK;AAAA,IAC1B;AAAA,IACA,CAAE,cAAc,kBAAmB;AAAA,EACpC;AACA,QAAM,iBAAiB,QAAQ,OAAQ,CAAE,WAAY,OAAO,SAAU;AAEtE,QAAM,oBAAoB,CAAC,CAAE,eAAe;AAC5C,MAAK,QAAQ,WAAW,GAAI;AAC3B,WAAO;AAAA,EACR;AAEA,QAAM,uBAAuB;AAAA,IAC5B,WAAO,gBAAI,YAAa;AAAA,IACxB,iBAAiB;AAAA,IACjB,WAAW;AAAA,EACZ;AACA,QAAM,2BAA2B;AAAA,IAChC,WAAO,gBAAI,UAAU,MAAO;AAAA,IAC5B,iBAAiB;AAAA,IACjB,WAAW;AAAA,IACX,SAAS,MAAM;AACd,UAAK,CAAE,iBAAkB;AACxB,wBAAiB,IAAK;AAAA,MACvB;AACA,yBAAoB,CAAE,eAAgB;AAAA,IACvC;AAAA,EACD;AACA,QAAM,kBACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM;AAAA,MACN,WAAU;AAAA,MACV,MAAK;AAAA,MACL,MAAO;AAAA,MACL,GAAK,oBACJ,2BACA;AAAA;AAAA,EACJ;AAED,SACC,4CAAC,SAAI,WAAU,kDACZ,WAAE,oBACH;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAe;AAAA,MACf;AAAA,MACA,cAAe,EAAE,QAAQ,gBAAgB;AAAA;AAAA,EAC1C,IAEA;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,cAAe,KAAK,SAAS;AAAA,MAE3B;AAAA;AAAA,EACH,GAEF;AAEF;AAEA,SAAS,uBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACD,GAII;AAEH;AAAA,IACC,MAAM,MAAM;AACX,gBAAU,SAAS,MAAM;AAAA,IAC1B;AAAA,IACA,CAAE,SAAU;AAAA,EACb;AACA,SACC,4EACG;AAAA;AAAA,IACA,CAAC,CAAE,gBACJ,4CAAC,UAAK,WAAU,mCACb,wBACH;AAAA,KAEF;AAEF;AAEA,IAAO,iBAAQ;",
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/components/dataviews-filters/use-filters.ts
19
21
  var use_filters_exports = {};
20
22
  __export(use_filters_exports, {
21
23
  default: () => use_filters_default
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/use-filters.ts"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ALL_OPERATORS, SINGLE_SELECTION_OPERATORS } from '../../constants';\nimport type { NormalizedFilter, NormalizedField, View } from '../../types';\n\nfunction useFilters( fields: NormalizedField< any >[], view: View ) {\n\treturn useMemo( () => {\n\t\tconst filters: NormalizedFilter[] = [];\n\t\tfields.forEach( ( field ) => {\n\t\t\tif (\n\t\t\t\tfield.filterBy === false ||\n\t\t\t\t( ! field.hasElements && ! field.Edit )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst operators = field.filterBy.operators;\n\t\t\tconst isPrimary = !! field.filterBy?.isPrimary;\n\t\t\tconst isLocked =\n\t\t\t\tview.filters?.some(\n\t\t\t\t\t( f ) => f.field === field.id && !! f.isLocked\n\t\t\t\t) ?? false;\n\t\t\tfilters.push( {\n\t\t\t\tfield: field.id,\n\t\t\t\tname: field.label,\n\t\t\t\telements: field.elements,\n\t\t\t\tgetElements: field.getElements,\n\t\t\t\thasElements: field.hasElements,\n\t\t\t\tsingleSelection: operators.some( ( op ) =>\n\t\t\t\t\tSINGLE_SELECTION_OPERATORS.includes( op )\n\t\t\t\t),\n\t\t\t\toperators,\n\t\t\t\tisVisible:\n\t\t\t\t\tisLocked ||\n\t\t\t\t\tisPrimary ||\n\t\t\t\t\t!! view.filters?.some(\n\t\t\t\t\t\t( f ) =>\n\t\t\t\t\t\t\tf.field === field.id &&\n\t\t\t\t\t\t\tALL_OPERATORS.includes( f.operator )\n\t\t\t\t\t),\n\t\t\t\tisPrimary,\n\t\t\t\tisLocked,\n\t\t\t} );\n\t\t} );\n\n\t\t// Sort filters by:\n\t\t// - locked filters go first\n\t\t// - primary filters go next\n\t\t// - then, sort by name\n\t\tfilters.sort( ( a, b ) => {\n\t\t\tif ( a.isLocked && ! b.isLocked ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( ! a.isLocked && b.isLocked ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif ( a.isPrimary && ! b.isPrimary ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( ! a.isPrimary && b.isPrimary ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn a.name.localeCompare( b.name );\n\t\t} );\n\t\treturn filters;\n\t}, [ fields, view ] );\n}\n\nexport default useFilters;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AAKxB,uBAA0D;AAG1D,SAAS,WAAY,QAAkC,MAAa;AACnE,aAAO,wBAAS,MAAM;AACrB,UAAM,UAA8B,CAAC;AACrC,WAAO,QAAS,CAAE,UAAW;AAC5B,UACC,MAAM,aAAa,SACjB,CAAE,MAAM,eAAe,CAAE,MAAM,MAChC;AACD;AAAA,MACD;AAEA,YAAM,YAAY,MAAM,SAAS;AACjC,YAAM,YAAY,CAAC,CAAE,MAAM,UAAU;AACrC,YAAM,WACL,KAAK,SAAS;AAAA,QACb,CAAE,MAAO,EAAE,UAAU,MAAM,MAAM,CAAC,CAAE,EAAE;AAAA,MACvC,KAAK;AACN,cAAQ,KAAM;AAAA,QACb,OAAO,MAAM;AAAA,QACb,MAAM,MAAM;AAAA,QACZ,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,iBAAiB,UAAU;AAAA,UAAM,CAAE,OAClC,4CAA2B,SAAU,EAAG;AAAA,QACzC;AAAA,QACA;AAAA,QACA,WACC,YACA,aACA,CAAC,CAAE,KAAK,SAAS;AAAA,UAChB,CAAE,MACD,EAAE,UAAU,MAAM,MAClB,+BAAc,SAAU,EAAE,QAAS;AAAA,QACrC;AAAA,QACD;AAAA,QACA;AAAA,MACD,CAAE;AAAA,IACH,CAAE;AAMF,YAAQ,KAAM,CAAE,GAAG,MAAO;AACzB,UAAK,EAAE,YAAY,CAAE,EAAE,UAAW;AACjC,eAAO;AAAA,MACR;AACA,UAAK,CAAE,EAAE,YAAY,EAAE,UAAW;AACjC,eAAO;AAAA,MACR;AACA,UAAK,EAAE,aAAa,CAAE,EAAE,WAAY;AACnC,eAAO;AAAA,MACR;AACA,UAAK,CAAE,EAAE,aAAa,EAAE,WAAY;AACnC,eAAO;AAAA,MACR;AACA,aAAO,EAAE,KAAK,cAAe,EAAE,IAAK;AAAA,IACrC,CAAE;AACF,WAAO;AAAA,EACR,GAAG,CAAE,QAAQ,IAAK,CAAE;AACrB;AAEA,IAAO,sBAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AAKxB,uBAA0D;AAG1D,SAAS,WAAY,QAAkC,MAAa;AACnE,aAAO,wBAAS,MAAM;AACrB,UAAM,UAA8B,CAAC;AACrC,WAAO,QAAS,CAAE,UAAW;AAC5B,UACC,MAAM,aAAa,SACjB,CAAE,MAAM,eAAe,CAAE,MAAM,MAChC;AACD;AAAA,MACD;AAEA,YAAM,YAAY,MAAM,SAAS;AACjC,YAAM,YAAY,CAAC,CAAE,MAAM,UAAU;AACrC,YAAM,WACL,KAAK,SAAS;AAAA,QACb,CAAE,MAAO,EAAE,UAAU,MAAM,MAAM,CAAC,CAAE,EAAE;AAAA,MACvC,KAAK;AACN,cAAQ,KAAM;AAAA,QACb,OAAO,MAAM;AAAA,QACb,MAAM,MAAM;AAAA,QACZ,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,iBAAiB,UAAU;AAAA,UAAM,CAAE,OAClC,4CAA2B,SAAU,EAAG;AAAA,QACzC;AAAA,QACA;AAAA,QACA,WACC,YACA,aACA,CAAC,CAAE,KAAK,SAAS;AAAA,UAChB,CAAE,MACD,EAAE,UAAU,MAAM,MAClB,+BAAc,SAAU,EAAE,QAAS;AAAA,QACrC;AAAA,QACD;AAAA,QACA;AAAA,MACD,CAAE;AAAA,IACH,CAAE;AAMF,YAAQ,KAAM,CAAE,GAAG,MAAO;AACzB,UAAK,EAAE,YAAY,CAAE,EAAE,UAAW;AACjC,eAAO;AAAA,MACR;AACA,UAAK,CAAE,EAAE,YAAY,EAAE,UAAW;AACjC,eAAO;AAAA,MACR;AACA,UAAK,EAAE,aAAa,CAAE,EAAE,WAAY;AACnC,eAAO;AAAA,MACR;AACA,UAAK,CAAE,EAAE,aAAa,EAAE,WAAY;AACnC,eAAO;AAAA,MACR;AACA,aAAO,EAAE,KAAK,cAAe,EAAE,IAAK;AAAA,IACrC,CAAE;AACF,WAAO;AAAA,EACR,GAAG,CAAE,QAAQ,IAAK,CAAE;AACrB;AAEA,IAAO,sBAAQ;",
6
6
  "names": []
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/components/dataviews-filters/utils.ts
19
21
  var utils_exports = {};
20
22
  __export(utils_exports, {
21
23
  getCurrentValue: () => getCurrentValue
22
24
  });
23
25
  module.exports = __toCommonJS(utils_exports);
24
- const EMPTY_ARRAY = [];
25
- const getCurrentValue = (filterDefinition, currentFilter) => {
26
+ var EMPTY_ARRAY = [];
27
+ var getCurrentValue = (filterDefinition, currentFilter) => {
26
28
  if (filterDefinition.singleSelection) {
27
29
  return currentFilter?.value;
28
30
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/utils.ts"],
4
4
  "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { NormalizedFilter, Filter } from '../../types';\n\nconst EMPTY_ARRAY: [] = [];\n\nexport const getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,MAAM,cAAkB,CAAC;AAElB,MAAM,kBAAkB,CAC9B,kBACA,kBACI;AACJ,MAAK,iBAAiB,iBAAkB;AACvC,WAAO,eAAe;AAAA,EACvB;AAEA,MAAK,MAAM,QAAS,eAAe,KAAM,GAAI;AAC5C,WAAO,cAAc;AAAA,EACtB;AAEA,MAAK,CAAE,MAAM,QAAS,eAAe,KAAM,KAAK,CAAC,CAAE,eAAe,OAAQ;AACzE,WAAO,CAAE,cAAc,KAAM;AAAA,EAC9B;AAEA,SAAO;AACR;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAM,cAAkB,CAAC;AAElB,IAAM,kBAAkB,CAC9B,kBACA,kBACI;AACJ,MAAK,iBAAiB,iBAAkB;AACvC,WAAO,eAAe;AAAA,EACvB;AAEA,MAAK,MAAM,QAAS,eAAe,KAAM,GAAI;AAC5C,WAAO,cAAc;AAAA,EACtB;AAEA,MAAK,CAAE,MAAM,QAAS,eAAe,KAAM,KAAK,CAAC,CAAE,eAAe,OAAQ;AACzE,WAAO,CAAE,cAAc,KAAM;AAAA,EAC9B;AAEA,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -26,19 +26,21 @@ 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/components/dataviews-footer/index.tsx
29
31
  var dataviews_footer_exports = {};
30
32
  __export(dataviews_footer_exports, {
31
33
  default: () => DataViewsFooter
32
34
  });
33
35
  module.exports = __toCommonJS(dataviews_footer_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_components = require("@wordpress/components");
36
37
  var import_element = require("@wordpress/element");
37
38
  var import_dataviews_context = __toESM(require("../dataviews-context"));
38
39
  var import_dataviews_pagination = __toESM(require("../dataviews-pagination"));
39
40
  var import_dataviews_bulk_actions = require("../dataviews-bulk-actions");
40
41
  var import_constants = require("../../constants");
41
- const EMPTY_ARRAY = [];
42
+ var import_jsx_runtime = require("react/jsx-runtime");
43
+ var EMPTY_ARRAY = [];
42
44
  function DataViewsFooter() {
43
45
  const {
44
46
  view,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-footer/index.tsx"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport DataViewsPagination from '../dataviews-pagination';\nimport {\n\tBulkActionsFooter,\n\tuseSomeItemHasAPossibleBulkAction,\n} from '../dataviews-bulk-actions';\nimport { LAYOUT_GRID, LAYOUT_TABLE } from '../../constants';\n\nconst EMPTY_ARRAY: [] = [];\n\nexport default function DataViewsFooter() {\n\tconst {\n\t\tview,\n\t\tpaginationInfo: { totalItems = 0, totalPages },\n\t\tdata,\n\t\tactions = EMPTY_ARRAY,\n\t} = useContext( DataViewsContext );\n\tconst hasBulkActions =\n\t\tuseSomeItemHasAPossibleBulkAction( actions, data ) &&\n\t\t[ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type );\n\n\tif (\n\t\t! totalItems ||\n\t\t! totalPages ||\n\t\t( totalPages <= 1 && ! hasBulkActions )\n\t) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t!! totalItems && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-footer\"\n\t\t\t>\n\t\t\t\t{ hasBulkActions && <BulkActionsFooter /> }\n\t\t\t\t<DataViewsPagination />\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuCG;AApCH,wBAA+C;AAC/C,qBAA2B;AAK3B,+BAA6B;AAC7B,kCAAgC;AAChC,oCAGO;AACP,uBAA0C;AAE1C,MAAM,cAAkB,CAAC;AAEV,SAAR,kBAAmC;AACzC,QAAM;AAAA,IACL;AAAA,IACA,gBAAgB,EAAE,aAAa,GAAG,WAAW;AAAA,IAC7C;AAAA,IACA,UAAU;AAAA,EACX,QAAI,2BAAY,yBAAAA,OAAiB;AACjC,QAAM,qBACL,iEAAmC,SAAS,IAAK,KACjD,CAAE,+BAAc,4BAAY,EAAE,SAAU,KAAK,IAAK;AAEnD,MACC,CAAE,cACF,CAAE,cACA,cAAc,KAAK,CAAE,gBACtB;AACD,WAAO;AAAA,EACR;AACA,SACC,CAAC,CAAE,cACF;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,UAAW;AAAA,MACX,SAAQ;AAAA,MACR,WAAU;AAAA,MAER;AAAA,0BAAkB,4CAAC,mDAAkB;AAAA,QACvC,4CAAC,4BAAAC,SAAA,EAAoB;AAAA;AAAA;AAAA,EACtB;AAGH;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA+C;AAC/C,qBAA2B;AAK3B,+BAA6B;AAC7B,kCAAgC;AAChC,oCAGO;AACP,uBAA0C;AAwBvC;AAtBH,IAAM,cAAkB,CAAC;AAEV,SAAR,kBAAmC;AACzC,QAAM;AAAA,IACL;AAAA,IACA,gBAAgB,EAAE,aAAa,GAAG,WAAW;AAAA,IAC7C;AAAA,IACA,UAAU;AAAA,EACX,QAAI,2BAAY,yBAAAA,OAAiB;AACjC,QAAM,qBACL,iEAAmC,SAAS,IAAK,KACjD,CAAE,+BAAc,4BAAY,EAAE,SAAU,KAAK,IAAK;AAEnD,MACC,CAAE,cACF,CAAE,cACA,cAAc,KAAK,CAAE,gBACtB;AACD,WAAO;AAAA,EACR;AACA,SACC,CAAC,CAAE,cACF;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,UAAW;AAAA,MACX,SAAQ;AAAA,MACR,WAAU;AAAA,MAER;AAAA,0BAAkB,4CAAC,mDAAkB;AAAA,QACvC,4CAAC,4BAAAC,SAAA,EAAoB;AAAA;AAAA;AAAA,EACtB;AAGH;",
6
6
  "names": ["DataViewsContext", "HStack", "DataViewsPagination"]
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/components/dataviews-item-actions/index.tsx
19
21
  var dataviews_item_actions_exports = {};
20
22
  __export(dataviews_item_actions_exports, {
21
23
  ActionModal: () => ActionModal,
@@ -23,7 +25,6 @@ __export(dataviews_item_actions_exports, {
23
25
  default: () => ItemActions
24
26
  });
25
27
  module.exports = __toCommonJS(dataviews_item_actions_exports);
26
- var import_jsx_runtime = require("react/jsx-runtime");
27
28
  var import_components = require("@wordpress/components");
28
29
  var import_i18n = require("@wordpress/i18n");
29
30
  var import_element = require("@wordpress/element");
@@ -31,7 +32,8 @@ var import_icons = require("@wordpress/icons");
31
32
  var import_data = require("@wordpress/data");
32
33
  var import_compose = require("@wordpress/compose");
33
34
  var import_lock_unlock = require("../../lock-unlock");
34
- const { Menu, kebabCase } = (0, import_lock_unlock.unlock)(import_components.privateApis);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var { Menu, kebabCase } = (0, import_lock_unlock.unlock)(import_components.privateApis);
35
37
  function ButtonTrigger({
36
38
  action,
37
39
  onClick,
@@ -85,7 +87,19 @@ function ActionsMenuGroup({
85
87
  registry,
86
88
  setActiveModalAction
87
89
  }) {
88
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Group, { children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
90
+ const { primaryActions, regularActions } = (0, import_element.useMemo)(() => {
91
+ return actions.reduce(
92
+ (acc, action) => {
93
+ (action.isPrimary ? acc.primaryActions : acc.regularActions).push(action);
94
+ return acc;
95
+ },
96
+ {
97
+ primaryActions: [],
98
+ regularActions: []
99
+ }
100
+ );
101
+ }, [actions]);
102
+ const renderActionGroup = (actionList) => actionList.map((action) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
89
103
  MenuItemTrigger,
90
104
  {
91
105
  action,
@@ -99,7 +113,12 @@ function ActionsMenuGroup({
99
113
  items: [item]
100
114
  },
101
115
  action.id
102
- )) });
116
+ ));
117
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Menu.Group, { children: [
118
+ renderActionGroup(primaryActions),
119
+ primaryActions.length > 0 && regularActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Separator, {}),
120
+ renderActionGroup(regularActions)
121
+ ] });
103
122
  }
104
123
  function ItemActions({
105
124
  item,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-item-actions/index.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport type { MouseEventHandler } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Action, ActionModal as ActionModalType } from '../../types';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nexport interface ActionTriggerProps< Item > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n\tisBusy?: boolean;\n\titems: Item[];\n}\n\nexport interface ActionModalProps< Item > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal: () => void;\n}\n\ninterface ActionsMenuGroupProps< Item > {\n\tactions: Action< Item >[];\n\titem: Item;\n\tregistry: ReturnType< typeof useRegistry >;\n\tsetActiveModalAction: ( action: ActionModalType< Item > | null ) => void;\n}\n\ninterface ItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact?: boolean;\n}\n\ninterface CompactItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisSmall?: boolean;\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\ninterface PrimaryActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\nfunction ButtonTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Button\n\t\t\tdisabled={ !! action.disabled }\n\t\t\taccessibleWhenDisabled\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n\nfunction MenuItemTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item disabled={ action.disabled } onClick={ onClick }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\nexport function ActionModal< Item >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\n\tconst modalHeader =\n\t\ttypeof action.modalHeader === 'function'\n\t\t\t? action.modalHeader( items )\n\t\t\t: action.modalHeader;\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal }\n\t\t\tfocusOnMount={ action.modalFocusOnMount ?? true }\n\t\t\tsize={ action.modalSize || 'medium' }\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nexport function ActionsMenuGroup< Item >( {\n\tactions,\n\titem,\n\tregistry,\n\tsetActiveModalAction,\n}: ActionsMenuGroupProps< Item > ) {\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t<MenuItemTrigger\n\t\t\t\t\tkey={ action.id }\n\t\t\t\t\taction={ action }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t} }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Menu.Group>\n\t);\n}\n\nexport default function ItemActions< Item >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tif ( isCompact ) {\n\t\treturn (\n\t\t\t<CompactItemActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ eligibleActions }\n\t\t\t\tisSmall\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 0 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: 0,\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t<PrimaryActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ primaryActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t\t{ primaryActions.length < eligibleActions.length && (\n\t\t\t\t<CompactItemActions\n\t\t\t\t\titem={ item }\n\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\tregistry={ registry }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item >( {\n\titem,\n\tactions,\n\tisSmall,\n\tregistry,\n}: CompactItemActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\treturn (\n\t\t<>\n\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize={ isSmall ? 'small' : 'compact' }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Menu.Popover>\n\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t/>\n\t\t\t\t</Menu.Popover>\n\t\t\t</Menu>\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction PrimaryActions< Item >( {\n\titem,\n\tactions,\n\tregistry,\n}: PrimaryActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState( null as any );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( isMobileViewport ) {\n\t\treturn null;\n\t}\n\n\tif ( ! Array.isArray( actions ) || actions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t<ButtonTrigger\n\t\t\t\t\tkey={ action.id }\n\t\t\t\t\taction={ action }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t} }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport type { MouseEventHandler } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Action, ActionModal as ActionModalType } from '../../types';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nexport interface ActionTriggerProps< Item > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n\tisBusy?: boolean;\n\titems: Item[];\n}\n\nexport interface ActionModalProps< Item > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal: () => void;\n}\n\ninterface ActionsMenuGroupProps< Item > {\n\tactions: Action< Item >[];\n\titem: Item;\n\tregistry: ReturnType< typeof useRegistry >;\n\tsetActiveModalAction: ( action: ActionModalType< Item > | null ) => void;\n}\n\ninterface ItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact?: boolean;\n}\n\ninterface CompactItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisSmall?: boolean;\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\ninterface PrimaryActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\nfunction ButtonTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Button\n\t\t\tdisabled={ !! action.disabled }\n\t\t\taccessibleWhenDisabled\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n\nfunction MenuItemTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item disabled={ action.disabled } onClick={ onClick }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\nexport function ActionModal< Item >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\n\tconst modalHeader =\n\t\ttypeof action.modalHeader === 'function'\n\t\t\t? action.modalHeader( items )\n\t\t\t: action.modalHeader;\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal }\n\t\t\tfocusOnMount={ action.modalFocusOnMount ?? true }\n\t\t\tsize={ action.modalSize || 'medium' }\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nexport function ActionsMenuGroup< Item >( {\n\tactions,\n\titem,\n\tregistry,\n\tsetActiveModalAction,\n}: ActionsMenuGroupProps< Item > ) {\n\tconst { primaryActions, regularActions } = useMemo( () => {\n\t\treturn actions.reduce(\n\t\t\t( acc, action ) => {\n\t\t\t\t( action.isPrimary\n\t\t\t\t\t? acc.primaryActions\n\t\t\t\t\t: acc.regularActions\n\t\t\t\t).push( action );\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{\n\t\t\t\tprimaryActions: [] as Action< Item >[],\n\t\t\t\tregularActions: [] as Action< Item >[],\n\t\t\t}\n\t\t);\n\t}, [ actions ] );\n\n\tconst renderActionGroup = ( actionList: Action< Item >[] ) =>\n\t\tactionList.map( ( action ) => (\n\t\t\t<MenuItemTrigger\n\t\t\t\tkey={ action.id }\n\t\t\t\taction={ action }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t} }\n\t\t\t\titems={ [ item ] }\n\t\t\t/>\n\t\t) );\n\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ renderActionGroup( primaryActions ) }\n\t\t\t{ primaryActions.length > 0 && regularActions.length > 0 && (\n\t\t\t\t<Menu.Separator />\n\t\t\t) }\n\t\t\t{ renderActionGroup( regularActions ) }\n\t\t</Menu.Group>\n\t);\n}\n\nexport default function ItemActions< Item >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tif ( isCompact ) {\n\t\treturn (\n\t\t\t<CompactItemActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ eligibleActions }\n\t\t\t\tisSmall\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 0 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: 0,\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t<PrimaryActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ primaryActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t\t{ primaryActions.length < eligibleActions.length && (\n\t\t\t\t<CompactItemActions\n\t\t\t\t\titem={ item }\n\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\tregistry={ registry }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item >( {\n\titem,\n\tactions,\n\tisSmall,\n\tregistry,\n}: CompactItemActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\treturn (\n\t\t<>\n\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize={ isSmall ? 'small' : 'compact' }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Menu.Popover>\n\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t/>\n\t\t\t\t</Menu.Popover>\n\t\t\t</Menu>\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction PrimaryActions< Item >( {\n\titem,\n\tactions,\n\tregistry,\n}: PrimaryActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState( null as any );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( isMobileViewport ) {\n\t\treturn null;\n\t}\n\n\tif ( ! Array.isArray( actions ) || actions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t<ButtonTrigger\n\t\t\t\t\tkey={ action.id }\n\t\t\t\t\taction={ action }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t} }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["componentsPrivateApis", "HStack"]
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/components/dataviews-layout/index.tsx
29
31
  var dataviews_layout_exports = {};
30
32
  __export(dataviews_layout_exports, {
31
33
  default: () => DataViewsLayout
32
34
  });
33
35
  module.exports = __toCommonJS(dataviews_layout_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_element = require("@wordpress/element");
36
37
  var import_i18n = require("@wordpress/i18n");
37
38
  var import_dataviews_context = __toESM(require("../dataviews-context"));
38
39
  var import_dataviews_layouts = require("../../dataviews-layouts");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
39
41
  function DataViewsLayout({ className }) {
40
42
  const {
41
43
  actions = [],
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-layout/index.tsx"],
4
4
  "sourcesContent": ["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { ViewBaseProps } from '../../types';\n\ntype DataViewsLayoutProps = {\n\tclassName?: string;\n};\n\nexport default function DataViewsLayout( { className }: DataViewsLayoutProps ) {\n\tconst {\n\t\tactions = [],\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tgetItemLevel,\n\t\tisLoading,\n\t\tview,\n\t\tonChangeView,\n\t\tselection,\n\t\tonChangeSelection,\n\t\tsetOpenedFilter,\n\t\tonClickItem,\n\t\tisItemClickable,\n\t\trenderItemLink,\n\t\tdefaultLayouts,\n\t\tempty = <p>{ __( 'No results' ) }</p>,\n\t} = useContext( DataViewsContext );\n\n\tconst ViewComponent = VIEW_LAYOUTS.find(\n\t\t( v ) => v.type === view.type && defaultLayouts[ v.type ]\n\t)?.component as ComponentType< ViewBaseProps< any > >;\n\n\treturn (\n\t\t<ViewComponent\n\t\t\tclassName={ className }\n\t\t\tactions={ actions }\n\t\t\tdata={ data }\n\t\t\tfields={ fields }\n\t\t\tgetItemId={ getItemId }\n\t\t\tgetItemLevel={ getItemLevel }\n\t\t\tisLoading={ isLoading }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\tselection={ selection }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\tonClickItem={ onClickItem }\n\t\t\trenderItemLink={ renderItemLink }\n\t\t\tisItemClickable={ isItemClickable }\n\t\t\tview={ view }\n\t\t\tempty={ empty }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuCU;AA/BV,qBAA2B;AAC3B,kBAAmB;AAKnB,+BAA6B;AAC7B,+BAA6B;AAOd,SAAR,gBAAkC,EAAE,UAAU,GAA0B;AAC9E,QAAM;AAAA,IACL,UAAU,CAAC;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,4CAAC,OAAI,8BAAI,YAAa,GAAG;AAAA,EAClC,QAAI,2BAAY,yBAAAA,OAAiB;AAEjC,QAAM,gBAAgB,sCAAa;AAAA,IAClC,CAAE,MAAO,EAAE,SAAS,KAAK,QAAQ,eAAgB,EAAE,IAAK;AAAA,EACzD,GAAG;AAEH,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACD;AAEF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAA2B;AAC3B,kBAAmB;AAKnB,+BAA6B;AAC7B,+BAA6B;AAwBnB;AAjBK,SAAR,gBAAkC,EAAE,UAAU,GAA0B;AAC9E,QAAM;AAAA,IACL,UAAU,CAAC;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,4CAAC,OAAI,8BAAI,YAAa,GAAG;AAAA,EAClC,QAAI,2BAAY,yBAAAA,OAAiB;AAEjC,QAAM,gBAAgB,sCAAa;AAAA,IAClC,CAAE,MAAO,EAAE,SAAS,KAAK,QAAQ,eAAgB,EAAE,IAAK;AAAA,EACzD,GAAG;AAEH,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["DataViewsContext"]
7
7
  }
@@ -26,18 +26,20 @@ 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/components/dataviews-pagination/index.tsx
29
31
  var dataviews_pagination_exports = {};
30
32
  __export(dataviews_pagination_exports, {
31
33
  DataViewsPagination: () => DataViewsPagination,
32
34
  default: () => dataviews_pagination_default
33
35
  });
34
36
  module.exports = __toCommonJS(dataviews_pagination_exports);
35
- var import_jsx_runtime = require("react/jsx-runtime");
36
37
  var import_components = require("@wordpress/components");
37
38
  var import_element = require("@wordpress/element");
38
39
  var import_i18n = require("@wordpress/i18n");
39
40
  var import_icons = require("@wordpress/icons");
40
41
  var import_dataviews_context = __toESM(require("../dataviews-context"));
42
+ var import_jsx_runtime = require("react/jsx-runtime");
41
43
  function DataViewsPagination() {
42
44
  const {
43
45
  view,