@wordpress/dataviews 10.1.5 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +109 -1
  3. package/build/components/dataform/index.js +6 -2
  4. package/build/components/dataform/index.js.map +3 -3
  5. package/build/components/dataform-context/index.js +4 -2
  6. package/build/components/dataform-context/index.js.map +1 -1
  7. package/build/components/dataviews/index.js +8 -6
  8. package/build/components/dataviews/index.js.map +1 -1
  9. package/build/components/dataviews-bulk-actions/index.js +4 -2
  10. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  11. package/build/components/dataviews-context/index.js +3 -1
  12. package/build/components/dataviews-context/index.js.map +1 -1
  13. package/build/components/dataviews-filters/add-filter.js +4 -2
  14. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  15. package/build/components/dataviews-filters/filter.js +20 -5
  16. package/build/components/dataviews-filters/filter.js.map +3 -3
  17. package/build/components/dataviews-filters/filters-toggled.js +3 -1
  18. package/build/components/dataviews-filters/filters-toggled.js.map +1 -1
  19. package/build/components/dataviews-filters/filters.js +3 -1
  20. package/build/components/dataviews-filters/filters.js.map +1 -1
  21. package/build/components/dataviews-filters/index.js +2 -0
  22. package/build/components/dataviews-filters/index.js.map +1 -1
  23. package/build/components/dataviews-filters/input-widget.js +3 -1
  24. package/build/components/dataviews-filters/input-widget.js.map +1 -1
  25. package/build/components/dataviews-filters/reset-filters.js +3 -1
  26. package/build/components/dataviews-filters/reset-filters.js.map +1 -1
  27. package/build/components/dataviews-filters/search-widget.js +8 -6
  28. package/build/components/dataviews-filters/search-widget.js.map +2 -2
  29. package/build/components/dataviews-filters/toggle.js +3 -1
  30. package/build/components/dataviews-filters/toggle.js.map +1 -1
  31. package/build/components/dataviews-filters/use-filters.js +2 -0
  32. package/build/components/dataviews-filters/use-filters.js.map +1 -1
  33. package/build/components/dataviews-filters/utils.js +4 -2
  34. package/build/components/dataviews-filters/utils.js.map +1 -1
  35. package/build/components/dataviews-footer/index.js +4 -2
  36. package/build/components/dataviews-footer/index.js.map +1 -1
  37. package/build/components/dataviews-item-actions/index.js +23 -4
  38. package/build/components/dataviews-item-actions/index.js.map +2 -2
  39. package/build/components/dataviews-layout/index.js +3 -1
  40. package/build/components/dataviews-layout/index.js.map +1 -1
  41. package/build/components/dataviews-pagination/index.js +3 -1
  42. package/build/components/dataviews-pagination/index.js.map +1 -1
  43. package/build/components/dataviews-picker/footer.js +4 -2
  44. package/build/components/dataviews-picker/footer.js.map +1 -1
  45. package/build/components/dataviews-picker/index.js +8 -6
  46. package/build/components/dataviews-picker/index.js.map +1 -1
  47. package/build/components/dataviews-search/index.js +4 -2
  48. package/build/components/dataviews-search/index.js.map +1 -1
  49. package/build/components/dataviews-selection-checkbox/index.js +3 -1
  50. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  51. package/build/components/dataviews-view-config/index.js +17 -400
  52. package/build/components/dataviews-view-config/index.js.map +3 -3
  53. package/build/components/dataviews-view-config/infinite-scroll-toggle.js +3 -1
  54. package/build/components/dataviews-view-config/infinite-scroll-toggle.js.map +1 -1
  55. package/build/components/dataviews-view-config/properties-section.js +177 -0
  56. package/build/components/dataviews-view-config/properties-section.js.map +7 -0
  57. package/build/constants.js +39 -34
  58. package/build/constants.js.map +2 -2
  59. package/build/dataform-controls/array.js +4 -2
  60. package/build/dataform-controls/array.js.map +1 -1
  61. package/build/dataform-controls/checkbox.js +4 -2
  62. package/build/dataform-controls/checkbox.js.map +1 -1
  63. package/build/dataform-controls/color.js +5 -3
  64. package/build/dataform-controls/color.js.map +1 -1
  65. package/build/dataform-controls/date.js +8 -6
  66. package/build/dataform-controls/date.js.map +1 -1
  67. package/build/dataform-controls/datetime.js +11 -15
  68. package/build/dataform-controls/datetime.js.map +3 -3
  69. package/build/dataform-controls/email.js +3 -1
  70. package/build/dataform-controls/email.js.map +1 -1
  71. package/build/dataform-controls/index.js +4 -2
  72. package/build/dataform-controls/index.js.map +1 -1
  73. package/build/dataform-controls/integer.js +3 -1
  74. package/build/dataform-controls/integer.js.map +1 -1
  75. package/build/dataform-controls/number.js +3 -1
  76. package/build/dataform-controls/number.js.map +1 -1
  77. package/build/dataform-controls/password.js +6 -5
  78. package/build/dataform-controls/password.js.map +3 -3
  79. package/build/dataform-controls/radio.js +4 -2
  80. package/build/dataform-controls/radio.js.map +1 -1
  81. package/build/dataform-controls/select.js +4 -2
  82. package/build/dataform-controls/select.js.map +1 -1
  83. package/build/dataform-controls/telephone.js +3 -1
  84. package/build/dataform-controls/telephone.js.map +1 -1
  85. package/build/dataform-controls/text.js +3 -1
  86. package/build/dataform-controls/text.js.map +1 -1
  87. package/build/dataform-controls/textarea.js +4 -2
  88. package/build/dataform-controls/textarea.js.map +1 -1
  89. package/build/dataform-controls/toggle-group.js +4 -2
  90. package/build/dataform-controls/toggle-group.js.map +1 -1
  91. package/build/dataform-controls/toggle.js +4 -2
  92. package/build/dataform-controls/toggle.js.map +1 -1
  93. package/build/dataform-controls/url.js +3 -1
  94. package/build/dataform-controls/url.js.map +1 -1
  95. package/build/dataform-controls/utils/get-custom-validity.js +2 -0
  96. package/build/dataform-controls/utils/get-custom-validity.js.map +1 -1
  97. package/build/dataform-controls/utils/relative-date-control.js +4 -2
  98. package/build/dataform-controls/utils/relative-date-control.js.map +1 -1
  99. package/build/dataform-controls/utils/validated-input.js +4 -2
  100. package/build/dataform-controls/utils/validated-input.js.map +1 -1
  101. package/build/dataform-controls/utils/validated-number.js +4 -2
  102. package/build/dataform-controls/utils/validated-number.js.map +1 -1
  103. package/build/dataform-layouts/card/index.js +91 -42
  104. package/build/dataform-layouts/card/index.js.map +3 -3
  105. package/build/dataform-layouts/data-form-layout.js +8 -14
  106. package/build/dataform-layouts/data-form-layout.js.map +3 -3
  107. package/build/dataform-layouts/details/index.js +78 -0
  108. package/build/dataform-layouts/details/index.js.map +7 -0
  109. package/build/dataform-layouts/get-summary-fields.js +3 -1
  110. package/build/dataform-layouts/get-summary-fields.js.map +1 -1
  111. package/build/dataform-layouts/index.js +9 -2
  112. package/build/dataform-layouts/index.js.map +3 -3
  113. package/build/dataform-layouts/{normalize-form-fields.js → normalize-form.js} +48 -24
  114. package/build/dataform-layouts/normalize-form.js.map +7 -0
  115. package/build/dataform-layouts/panel/dropdown.js +9 -8
  116. package/build/dataform-layouts/panel/dropdown.js.map +2 -2
  117. package/build/dataform-layouts/panel/index.js +10 -14
  118. package/build/dataform-layouts/panel/index.js.map +2 -2
  119. package/build/dataform-layouts/panel/modal.js +9 -8
  120. package/build/dataform-layouts/panel/modal.js.map +2 -2
  121. package/build/dataform-layouts/panel/summary-button.js +3 -1
  122. package/build/dataform-layouts/panel/summary-button.js.map +1 -1
  123. package/build/dataform-layouts/regular/index.js +8 -10
  124. package/build/dataform-layouts/regular/index.js.map +2 -2
  125. package/build/dataform-layouts/row/index.js +10 -33
  126. package/build/dataform-layouts/row/index.js.map +3 -3
  127. package/build/dataviews-layouts/grid/index.js +4 -2
  128. package/build/dataviews-layouts/grid/index.js.map +1 -1
  129. package/build/dataviews-layouts/grid/preview-size-picker.js +4 -2
  130. package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  131. package/build/dataviews-layouts/index.js +12 -1
  132. package/build/dataviews-layouts/index.js.map +3 -3
  133. package/build/dataviews-layouts/list/index.js +4 -2
  134. package/build/dataviews-layouts/list/index.js.map +1 -1
  135. package/build/dataviews-layouts/picker-grid/index.js +4 -2
  136. package/build/dataviews-layouts/picker-grid/index.js.map +1 -1
  137. package/build/dataviews-layouts/picker-table/index.js +422 -0
  138. package/build/dataviews-layouts/picker-table/index.js.map +7 -0
  139. package/build/dataviews-layouts/table/column-header-menu.js +6 -4
  140. package/build/dataviews-layouts/table/column-header-menu.js.map +2 -2
  141. package/build/dataviews-layouts/table/column-primary.js +4 -7
  142. package/build/dataviews-layouts/table/column-primary.js.map +2 -2
  143. package/build/dataviews-layouts/table/density-picker.js +3 -1
  144. package/build/dataviews-layouts/table/density-picker.js.map +1 -1
  145. package/build/dataviews-layouts/table/index.js +36 -2
  146. package/build/dataviews-layouts/table/index.js.map +2 -2
  147. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js +3 -1
  148. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -1
  149. package/build/dataviews-layouts/utils/get-data-by-group.js +2 -0
  150. package/build/dataviews-layouts/utils/get-data-by-group.js.map +1 -1
  151. package/build/dataviews-layouts/utils/grid-items.js +4 -2
  152. package/build/dataviews-layouts/utils/grid-items.js.map +1 -1
  153. package/build/dataviews-layouts/utils/item-click-wrapper.js +3 -1
  154. package/build/dataviews-layouts/utils/item-click-wrapper.js.map +1 -1
  155. package/build/dataviews-layouts/utils/preview-size-picker.js +4 -2
  156. package/build/dataviews-layouts/utils/preview-size-picker.js.map +1 -1
  157. package/build/field-types/array.js +3 -1
  158. package/build/field-types/array.js.map +1 -1
  159. package/build/field-types/boolean.js +3 -1
  160. package/build/field-types/boolean.js.map +1 -1
  161. package/build/field-types/color.js +3 -1
  162. package/build/field-types/color.js.map +1 -1
  163. package/build/field-types/date.js +4 -2
  164. package/build/field-types/date.js.map +1 -1
  165. package/build/field-types/datetime.js +17 -2
  166. package/build/field-types/datetime.js.map +3 -3
  167. package/build/field-types/email.js +4 -2
  168. package/build/field-types/email.js.map +1 -1
  169. package/build/field-types/index.js +3 -1
  170. package/build/field-types/index.js.map +1 -1
  171. package/build/field-types/integer.js +3 -1
  172. package/build/field-types/integer.js.map +1 -1
  173. package/build/field-types/media.js +2 -0
  174. package/build/field-types/media.js.map +1 -1
  175. package/build/field-types/number.js +3 -1
  176. package/build/field-types/number.js.map +1 -1
  177. package/build/field-types/password.js +3 -1
  178. package/build/field-types/password.js.map +1 -1
  179. package/build/field-types/telephone.js +3 -1
  180. package/build/field-types/telephone.js.map +1 -1
  181. package/build/field-types/text.js +3 -1
  182. package/build/field-types/text.js.map +1 -1
  183. package/build/field-types/url.js +3 -1
  184. package/build/field-types/url.js.map +1 -1
  185. package/build/{dataform-layouts/is-combined-field.js → field-types/utils/parse-date-time.js} +15 -11
  186. package/build/field-types/utils/parse-date-time.js.map +7 -0
  187. package/build/field-types/utils/render-from-elements.js +2 -0
  188. package/build/field-types/utils/render-from-elements.js.map +1 -1
  189. package/build/hooks/index.js +2 -0
  190. package/build/hooks/index.js.map +1 -1
  191. package/build/hooks/use-elements.js +3 -1
  192. package/build/hooks/use-elements.js.map +1 -1
  193. package/build/hooks/use-form-validity.js +425 -321
  194. package/build/hooks/use-form-validity.js.map +3 -3
  195. package/build/index.js +2 -0
  196. package/build/index.js.map +1 -1
  197. package/build/lock-unlock.js +3 -1
  198. package/build/lock-unlock.js.map +1 -1
  199. package/build/types/dataform.js +2 -0
  200. package/build/types/dataform.js.map +2 -2
  201. package/build/types/dataviews.js +2 -0
  202. package/build/types/dataviews.js.map +2 -2
  203. package/build/types/field-api.js +2 -0
  204. package/build/types/field-api.js.map +1 -1
  205. package/build/types/index.js +2 -0
  206. package/build/types/index.js.map +1 -1
  207. package/build/types/private.js +2 -0
  208. package/build/types/private.js.map +1 -1
  209. package/build/utils/filter-sort-and-paginate.js +3 -1
  210. package/build/utils/filter-sort-and-paginate.js.map +1 -1
  211. package/build/utils/has-elements.js +2 -0
  212. package/build/utils/has-elements.js.map +1 -1
  213. package/build/utils/normalize-fields.js +4 -2
  214. package/build/utils/normalize-fields.js.map +1 -1
  215. package/build-module/components/dataform/index.js +5 -2
  216. package/build-module/components/dataform/index.js.map +2 -2
  217. package/build-module/components/dataform-context/index.js +3 -2
  218. package/build-module/components/dataform-context/index.js.map +1 -1
  219. package/build-module/components/dataviews/index.js +7 -6
  220. package/build-module/components/dataviews/index.js.map +1 -1
  221. package/build-module/components/dataviews-bulk-actions/index.js +3 -2
  222. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  223. package/build-module/components/dataviews-context/index.js +2 -1
  224. package/build-module/components/dataviews-context/index.js.map +1 -1
  225. package/build-module/components/dataviews-filters/add-filter.js +3 -2
  226. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  227. package/build-module/components/dataviews-filters/filter.js +19 -5
  228. package/build-module/components/dataviews-filters/filter.js.map +2 -2
  229. package/build-module/components/dataviews-filters/filters-toggled.js +2 -1
  230. package/build-module/components/dataviews-filters/filters-toggled.js.map +1 -1
  231. package/build-module/components/dataviews-filters/filters.js +2 -1
  232. package/build-module/components/dataviews-filters/filters.js.map +1 -1
  233. package/build-module/components/dataviews-filters/index.js +1 -0
  234. package/build-module/components/dataviews-filters/index.js.map +1 -1
  235. package/build-module/components/dataviews-filters/input-widget.js +2 -1
  236. package/build-module/components/dataviews-filters/input-widget.js.map +1 -1
  237. package/build-module/components/dataviews-filters/reset-filters.js +2 -1
  238. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
  239. package/build-module/components/dataviews-filters/search-widget.js +7 -6
  240. package/build-module/components/dataviews-filters/search-widget.js.map +2 -2
  241. package/build-module/components/dataviews-filters/toggle.js +2 -1
  242. package/build-module/components/dataviews-filters/toggle.js.map +1 -1
  243. package/build-module/components/dataviews-filters/use-filters.js +1 -0
  244. package/build-module/components/dataviews-filters/use-filters.js.map +1 -1
  245. package/build-module/components/dataviews-filters/utils.js +3 -2
  246. package/build-module/components/dataviews-filters/utils.js.map +1 -1
  247. package/build-module/components/dataviews-footer/index.js +3 -2
  248. package/build-module/components/dataviews-footer/index.js.map +1 -1
  249. package/build-module/components/dataviews-item-actions/index.js +22 -4
  250. package/build-module/components/dataviews-item-actions/index.js.map +2 -2
  251. package/build-module/components/dataviews-layout/index.js +2 -1
  252. package/build-module/components/dataviews-layout/index.js.map +1 -1
  253. package/build-module/components/dataviews-pagination/index.js +2 -1
  254. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  255. package/build-module/components/dataviews-picker/footer.js +3 -2
  256. package/build-module/components/dataviews-picker/footer.js.map +1 -1
  257. package/build-module/components/dataviews-picker/index.js +7 -6
  258. package/build-module/components/dataviews-picker/index.js.map +1 -1
  259. package/build-module/components/dataviews-search/index.js +3 -2
  260. package/build-module/components/dataviews-search/index.js.map +1 -1
  261. package/build-module/components/dataviews-selection-checkbox/index.js +2 -1
  262. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  263. package/build-module/components/dataviews-view-config/index.js +20 -416
  264. package/build-module/components/dataviews-view-config/index.js.map +2 -2
  265. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js +2 -1
  266. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js.map +1 -1
  267. package/build-module/components/dataviews-view-config/properties-section.js +149 -0
  268. package/build-module/components/dataviews-view-config/properties-section.js.map +7 -0
  269. package/build-module/constants.js +37 -34
  270. package/build-module/constants.js.map +2 -2
  271. package/build-module/dataform-controls/array.js +3 -2
  272. package/build-module/dataform-controls/array.js.map +1 -1
  273. package/build-module/dataform-controls/checkbox.js +3 -2
  274. package/build-module/dataform-controls/checkbox.js.map +1 -1
  275. package/build-module/dataform-controls/color.js +4 -3
  276. package/build-module/dataform-controls/color.js.map +1 -1
  277. package/build-module/dataform-controls/date.js +7 -6
  278. package/build-module/dataform-controls/date.js.map +1 -1
  279. package/build-module/dataform-controls/datetime.js +7 -12
  280. package/build-module/dataform-controls/datetime.js.map +2 -2
  281. package/build-module/dataform-controls/email.js +2 -1
  282. package/build-module/dataform-controls/email.js.map +1 -1
  283. package/build-module/dataform-controls/index.js +3 -2
  284. package/build-module/dataform-controls/index.js.map +1 -1
  285. package/build-module/dataform-controls/integer.js +2 -1
  286. package/build-module/dataform-controls/integer.js.map +1 -1
  287. package/build-module/dataform-controls/number.js +2 -1
  288. package/build-module/dataform-controls/number.js.map +1 -1
  289. package/build-module/dataform-controls/password.js +9 -6
  290. package/build-module/dataform-controls/password.js.map +2 -2
  291. package/build-module/dataform-controls/radio.js +3 -2
  292. package/build-module/dataform-controls/radio.js.map +1 -1
  293. package/build-module/dataform-controls/select.js +3 -2
  294. package/build-module/dataform-controls/select.js.map +1 -1
  295. package/build-module/dataform-controls/telephone.js +2 -1
  296. package/build-module/dataform-controls/telephone.js.map +1 -1
  297. package/build-module/dataform-controls/text.js +2 -1
  298. package/build-module/dataform-controls/text.js.map +1 -1
  299. package/build-module/dataform-controls/textarea.js +3 -2
  300. package/build-module/dataform-controls/textarea.js.map +1 -1
  301. package/build-module/dataform-controls/toggle-group.js +3 -2
  302. package/build-module/dataform-controls/toggle-group.js.map +1 -1
  303. package/build-module/dataform-controls/toggle.js +3 -2
  304. package/build-module/dataform-controls/toggle.js.map +1 -1
  305. package/build-module/dataform-controls/url.js +2 -1
  306. package/build-module/dataform-controls/url.js.map +1 -1
  307. package/build-module/dataform-controls/utils/get-custom-validity.js +1 -0
  308. package/build-module/dataform-controls/utils/get-custom-validity.js.map +1 -1
  309. package/build-module/dataform-controls/utils/relative-date-control.js +3 -2
  310. package/build-module/dataform-controls/utils/relative-date-control.js.map +1 -1
  311. package/build-module/dataform-controls/utils/validated-input.js +3 -2
  312. package/build-module/dataform-controls/utils/validated-input.js.map +1 -1
  313. package/build-module/dataform-controls/utils/validated-number.js +3 -2
  314. package/build-module/dataform-controls/utils/validated-number.js.map +1 -1
  315. package/build-module/dataform-layouts/card/index.js +95 -42
  316. package/build-module/dataform-layouts/card/index.js.map +3 -3
  317. package/build-module/dataform-layouts/data-form-layout.js +8 -15
  318. package/build-module/dataform-layouts/data-form-layout.js.map +2 -2
  319. package/build-module/dataform-layouts/details/index.js +47 -0
  320. package/build-module/dataform-layouts/details/index.js.map +7 -0
  321. package/build-module/dataform-layouts/get-summary-fields.js +2 -1
  322. package/build-module/dataform-layouts/get-summary-fields.js.map +1 -1
  323. package/build-module/dataform-layouts/index.js +8 -2
  324. package/build-module/dataform-layouts/index.js.map +2 -2
  325. package/build-module/dataform-layouts/{normalize-form-fields.js → normalize-form.js} +43 -19
  326. package/build-module/dataform-layouts/normalize-form.js.map +7 -0
  327. package/build-module/dataform-layouts/panel/dropdown.js +7 -7
  328. package/build-module/dataform-layouts/panel/dropdown.js.map +2 -2
  329. package/build-module/dataform-layouts/panel/index.js +9 -14
  330. package/build-module/dataform-layouts/panel/index.js.map +2 -2
  331. package/build-module/dataform-layouts/panel/modal.js +7 -7
  332. package/build-module/dataform-layouts/panel/modal.js.map +2 -2
  333. package/build-module/dataform-layouts/panel/summary-button.js +2 -1
  334. package/build-module/dataform-layouts/panel/summary-button.js.map +1 -1
  335. package/build-module/dataform-layouts/regular/index.js +6 -9
  336. package/build-module/dataform-layouts/regular/index.js.map +2 -2
  337. package/build-module/dataform-layouts/row/index.js +9 -23
  338. package/build-module/dataform-layouts/row/index.js.map +2 -2
  339. package/build-module/dataviews-layouts/grid/index.js +3 -2
  340. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  341. package/build-module/dataviews-layouts/grid/preview-size-picker.js +3 -2
  342. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  343. package/build-module/dataviews-layouts/index.js +13 -2
  344. package/build-module/dataviews-layouts/index.js.map +2 -2
  345. package/build-module/dataviews-layouts/list/index.js +3 -2
  346. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  347. package/build-module/dataviews-layouts/picker-grid/index.js +3 -2
  348. package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -1
  349. package/build-module/dataviews-layouts/picker-table/index.js +397 -0
  350. package/build-module/dataviews-layouts/picker-table/index.js.map +7 -0
  351. package/build-module/dataviews-layouts/table/column-header-menu.js +5 -4
  352. package/build-module/dataviews-layouts/table/column-header-menu.js.map +2 -2
  353. package/build-module/dataviews-layouts/table/column-primary.js +3 -7
  354. package/build-module/dataviews-layouts/table/column-primary.js.map +2 -2
  355. package/build-module/dataviews-layouts/table/density-picker.js +2 -1
  356. package/build-module/dataviews-layouts/table/density-picker.js.map +1 -1
  357. package/build-module/dataviews-layouts/table/index.js +36 -3
  358. package/build-module/dataviews-layouts/table/index.js.map +2 -2
  359. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js +2 -1
  360. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -1
  361. package/build-module/dataviews-layouts/utils/get-data-by-group.js +1 -0
  362. package/build-module/dataviews-layouts/utils/get-data-by-group.js.map +1 -1
  363. package/build-module/dataviews-layouts/utils/grid-items.js +3 -2
  364. package/build-module/dataviews-layouts/utils/grid-items.js.map +1 -1
  365. package/build-module/dataviews-layouts/utils/item-click-wrapper.js +2 -1
  366. package/build-module/dataviews-layouts/utils/item-click-wrapper.js.map +1 -1
  367. package/build-module/dataviews-layouts/utils/preview-size-picker.js +3 -2
  368. package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +1 -1
  369. package/build-module/field-types/array.js +2 -1
  370. package/build-module/field-types/array.js.map +1 -1
  371. package/build-module/field-types/boolean.js +2 -1
  372. package/build-module/field-types/boolean.js.map +1 -1
  373. package/build-module/field-types/color.js +2 -1
  374. package/build-module/field-types/color.js.map +1 -1
  375. package/build-module/field-types/date.js +3 -2
  376. package/build-module/field-types/date.js.map +1 -1
  377. package/build-module/field-types/datetime.js +16 -2
  378. package/build-module/field-types/datetime.js.map +2 -2
  379. package/build-module/field-types/email.js +3 -2
  380. package/build-module/field-types/email.js.map +1 -1
  381. package/build-module/field-types/index.js +2 -1
  382. package/build-module/field-types/index.js.map +1 -1
  383. package/build-module/field-types/integer.js +2 -1
  384. package/build-module/field-types/integer.js.map +1 -1
  385. package/build-module/field-types/media.js +1 -0
  386. package/build-module/field-types/media.js.map +1 -1
  387. package/build-module/field-types/number.js +2 -1
  388. package/build-module/field-types/number.js.map +1 -1
  389. package/build-module/field-types/password.js +2 -1
  390. package/build-module/field-types/password.js.map +1 -1
  391. package/build-module/field-types/telephone.js +2 -1
  392. package/build-module/field-types/telephone.js.map +1 -1
  393. package/build-module/field-types/text.js +2 -1
  394. package/build-module/field-types/text.js.map +1 -1
  395. package/build-module/field-types/url.js +2 -1
  396. package/build-module/field-types/url.js.map +1 -1
  397. package/build-module/field-types/utils/parse-date-time.js +14 -0
  398. package/build-module/field-types/utils/parse-date-time.js.map +7 -0
  399. package/build-module/field-types/utils/render-from-elements.js +1 -0
  400. package/build-module/field-types/utils/render-from-elements.js.map +1 -1
  401. package/build-module/hooks/index.js +1 -0
  402. package/build-module/hooks/index.js.map +1 -1
  403. package/build-module/hooks/use-elements.js +2 -1
  404. package/build-module/hooks/use-elements.js.map +1 -1
  405. package/build-module/hooks/use-form-validity.js +424 -321
  406. package/build-module/hooks/use-form-validity.js.map +3 -3
  407. package/build-module/index.js +1 -0
  408. package/build-module/index.js.map +1 -1
  409. package/build-module/lock-unlock.js +2 -1
  410. package/build-module/lock-unlock.js.map +1 -1
  411. package/build-module/utils/filter-sort-and-paginate.js +2 -1
  412. package/build-module/utils/filter-sort-and-paginate.js.map +1 -1
  413. package/build-module/utils/has-elements.js +1 -0
  414. package/build-module/utils/has-elements.js.map +1 -1
  415. package/build-module/utils/normalize-fields.js +3 -2
  416. package/build-module/utils/normalize-fields.js.map +1 -1
  417. package/build-style/style-rtl.css +41 -51
  418. package/build-style/style.css +41 -51
  419. package/build-types/components/dataform/index.d.ts.map +1 -1
  420. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -1
  421. package/build-types/components/dataviews-filters/utils.d.ts.map +1 -1
  422. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  423. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  424. package/build-types/components/dataviews-view-config/properties-section.d.ts +4 -0
  425. package/build-types/components/dataviews-view-config/properties-section.d.ts.map +1 -0
  426. package/build-types/constants.d.ts +1 -0
  427. package/build-types/constants.d.ts.map +1 -1
  428. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  429. package/build-types/dataform-controls/password.d.ts.map +1 -1
  430. package/build-types/dataform-layouts/card/index.d.ts +3 -3
  431. package/build-types/dataform-layouts/card/index.d.ts.map +1 -1
  432. package/build-types/dataform-layouts/data-form-layout.d.ts +4 -4
  433. package/build-types/dataform-layouts/data-form-layout.d.ts.map +1 -1
  434. package/build-types/dataform-layouts/details/index.d.ts +6 -0
  435. package/build-types/dataform-layouts/details/index.d.ts.map +1 -0
  436. package/build-types/dataform-layouts/get-summary-fields.d.ts.map +1 -1
  437. package/build-types/dataform-layouts/index.d.ts +7 -2
  438. package/build-types/dataform-layouts/index.d.ts.map +1 -1
  439. package/build-types/dataform-layouts/normalize-form.d.ts +8 -0
  440. package/build-types/dataform-layouts/normalize-form.d.ts.map +1 -0
  441. package/build-types/dataform-layouts/panel/dropdown.d.ts +2 -2
  442. package/build-types/dataform-layouts/panel/dropdown.d.ts.map +1 -1
  443. package/build-types/dataform-layouts/panel/index.d.ts.map +1 -1
  444. package/build-types/dataform-layouts/panel/modal.d.ts +2 -2
  445. package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -1
  446. package/build-types/dataform-layouts/regular/index.d.ts.map +1 -1
  447. package/build-types/dataform-layouts/row/index.d.ts.map +1 -1
  448. package/build-types/dataviews-layouts/index.d.ts +8 -0
  449. package/build-types/dataviews-layouts/index.d.ts.map +1 -1
  450. package/build-types/dataviews-layouts/picker-table/index.d.ts +4 -0
  451. package/build-types/dataviews-layouts/picker-table/index.d.ts.map +1 -0
  452. package/build-types/dataviews-layouts/table/column-header-menu.d.ts +3 -3
  453. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  454. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -1
  455. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  456. package/build-types/field-types/datetime.d.ts +1 -1
  457. package/build-types/field-types/datetime.d.ts.map +1 -1
  458. package/build-types/field-types/utils/parse-date-time.d.ts +2 -0
  459. package/build-types/field-types/utils/parse-date-time.d.ts.map +1 -0
  460. package/build-types/hooks/use-form-validity.d.ts.map +1 -1
  461. package/build-types/stories/dataform.story.d.ts +13 -11
  462. package/build-types/stories/dataform.story.d.ts.map +1 -1
  463. package/build-types/stories/dataviews-picker.story.d.ts +33 -0
  464. package/build-types/stories/dataviews-picker.story.d.ts.map +1 -1
  465. package/build-types/stories/dataviews.story.d.ts +7 -1
  466. package/build-types/stories/dataviews.story.d.ts.map +1 -1
  467. package/build-types/test/normalize-form.d.ts +2 -0
  468. package/build-types/test/normalize-form.d.ts.map +1 -0
  469. package/build-types/types/dataform.d.ts +27 -9
  470. package/build-types/types/dataform.d.ts.map +1 -1
  471. package/build-types/types/dataviews.d.ts +23 -2
  472. package/build-types/types/dataviews.d.ts.map +1 -1
  473. package/build-wp/index.js +2258 -1817
  474. package/package.json +15 -15
  475. package/src/components/dataform/index.tsx +3 -1
  476. package/src/components/dataviews/style.scss +1 -1
  477. package/src/components/dataviews-bulk-actions/style.scss +1 -1
  478. package/src/components/dataviews-filters/filter.tsx +16 -1
  479. package/src/components/dataviews-filters/style.scss +1 -1
  480. package/src/components/dataviews-item-actions/index.tsx +37 -14
  481. package/src/components/dataviews-pagination/style.scss +2 -2
  482. package/src/components/dataviews-view-config/index.tsx +8 -504
  483. package/src/components/dataviews-view-config/properties-section.tsx +201 -0
  484. package/src/components/dataviews-view-config/style.scss +2 -39
  485. package/src/constants.ts +1 -0
  486. package/src/dataform-controls/datetime.tsx +3 -10
  487. package/src/dataform-controls/password.tsx +16 -12
  488. package/src/dataform-layouts/card/index.tsx +89 -33
  489. package/src/dataform-layouts/data-form-layout.tsx +12 -23
  490. package/src/dataform-layouts/details/index.tsx +71 -0
  491. package/src/dataform-layouts/details/style.scss +5 -0
  492. package/src/dataform-layouts/index.tsx +10 -3
  493. package/src/dataform-layouts/{normalize-form-fields.ts → normalize-form.ts} +50 -23
  494. package/src/dataform-layouts/panel/dropdown.tsx +10 -13
  495. package/src/dataform-layouts/panel/index.tsx +9 -24
  496. package/src/dataform-layouts/panel/modal.tsx +15 -15
  497. package/src/dataform-layouts/regular/index.tsx +7 -12
  498. package/src/dataform-layouts/row/index.tsx +13 -26
  499. package/src/dataviews-layouts/index.ts +10 -0
  500. package/src/dataviews-layouts/picker-table/index.tsx +487 -0
  501. package/src/dataviews-layouts/picker-table/style.scss +45 -0
  502. package/src/dataviews-layouts/table/column-header-menu.tsx +3 -2
  503. package/src/dataviews-layouts/table/column-primary.tsx +4 -7
  504. package/src/dataviews-layouts/table/index.tsx +37 -2
  505. package/src/dataviews-layouts/table/style.scss +2 -2
  506. package/src/field-types/datetime.tsx +16 -5
  507. package/src/field-types/utils/parse-date-time.ts +17 -0
  508. package/src/hooks/use-form-validity.ts +572 -422
  509. package/src/stories/dataform.story.tsx +604 -456
  510. package/src/stories/dataviews-picker.story.tsx +166 -38
  511. package/src/stories/dataviews.story.tsx +10 -2
  512. package/src/stories/field-types.story.tsx +7 -7
  513. package/src/style.scss +2 -0
  514. package/src/test/normalize-form.ts +568 -0
  515. package/src/test/use-form-validity.ts +318 -33
  516. package/src/types/dataform.ts +36 -11
  517. package/src/types/dataviews.ts +36 -2
  518. package/tsconfig.tsbuildinfo +1 -1
  519. package/build/dataform-layouts/is-combined-field.js.map +0 -7
  520. package/build/dataform-layouts/normalize-form-fields.js.map +0 -7
  521. package/build-module/dataform-layouts/is-combined-field.js +0 -7
  522. package/build-module/dataform-layouts/is-combined-field.js.map +0 -7
  523. package/build-module/dataform-layouts/normalize-form-fields.js.map +0 -7
  524. package/build-types/dataform-layouts/is-combined-field.d.ts +0 -6
  525. package/build-types/dataform-layouts/is-combined-field.d.ts.map +0 -1
  526. package/build-types/dataform-layouts/normalize-form-fields.d.ts +0 -19
  527. package/build-types/dataform-layouts/normalize-form-fields.d.ts.map +0 -1
  528. package/build-types/test/normalize-form-fields.d.ts +0 -2
  529. package/build-types/test/normalize-form-fields.d.ts.map +0 -1
  530. package/src/dataform-layouts/is-combined-field.ts +0 -10
  531. package/src/test/normalize-form-fields.ts +0 -317
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataviews-filters/filter.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport InputWidget from './input-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n} from '../../constants';\nimport type {\n\tFilter,\n\tNormalizedField,\n\tNormalizedFilter,\n\tOperator,\n\tOption,\n\tView,\n} from '../../types';\nimport useElements from '../../hooks/use-elements';\n\ninterface FilterTextProps {\n\tactiveElements: Option[];\n\tfilterInView?: Filter;\n\tfilter: NormalizedFilter;\n}\n\ninterface OperatorSelectorProps {\n\tfilter: NormalizedFilter;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FilterProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\n\tfields: NormalizedField< any >[];\n}\n\nconst FilterText = ( {\n\tactiveElements,\n\tfilterInView,\n\tfilter,\n}: FilterTextProps ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filters__summary-filter-text-name\" />,\n\t\tValue: (\n\t\t\t<span className=\"dataviews-filters__summary-filter-text-value\" />\n\t\t),\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than: 10\". */\n\t\t\t\t__( '<Name>%1$s is less than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than: 10\". */\n\t\t\t\t__( '<Name>%1$s is greater than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is less than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is greater than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title contains: Mars\". */\n\t\t\t\t__( '<Name>%1$s contains: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Description doesn't contain: photo\". */\n\t\t\t\t__( \"<Name>%1$s doesn't contain: </Name><Value>%2$s</Value>\" ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_STARTS_WITH ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title starts with: Mar\". */\n\t\t\t\t__( '<Name>%1$s starts with: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BETWEEN ) {\n\t\tconst { label } = activeElements[ 0 ];\n\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Min value. 3: Max value. e.g.: \"Item count between (inc): 10 and 180\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s between (inc): </Name><Value>%2$s and %3$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tlabel[ 0 ],\n\t\t\t\tlabel[ 1 ]\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is not: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IN_THE_PAST ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is in the past: 1 days\". */\n\t\t\t\t__( '<Name>%1$s is in the past: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_OVER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is over: 1 days ago\". */\n\t\t\t\t__( '<Name>%1$s is over: </Name><Value>%2$s</Value> ago' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( {\n\tfilter,\n\tview,\n\tonChangeView,\n}: OperatorSelectorProps ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filters__summary-operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filters__summary-operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"dataviews-filters__summary-operators-filter-select\"\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst operator = newValue as Operator;\n\t\t\t\t\t\tconst currentOperator = currentFilter?.operator;\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Reset the value only when switching between operators that have different value types.\n\t\t\t\t\t\t\t\t\t\t\t\tconst OPERATORS_SHOULD_RESET_VALUE =\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\tOPERATOR_BETWEEN,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_IN_THE_PAST,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_OVER,\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\tconst shouldResetValue =\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t( OPERATORS_SHOULD_RESET_VALUE.includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator\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\tOPERATORS_SHOULD_RESET_VALUE.includes(\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) );\n\n\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..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: shouldResetValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: _filter.value,\n\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};\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\toperator,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tvariant=\"minimal\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function Filter( {\n\taddFilterRef,\n\topenedFilter,\n\tfields,\n\t...commonProps\n}: FilterProps ) {\n\tconst toggleRef = useRef< HTMLDivElement >( null );\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\n\tlet activeElements: Option[] = [];\n\n\tconst { elements } = useElements( {\n\t\telements: filter.elements,\n\t\tgetElements: filter.getElements,\n\t} );\n\n\tif ( elements.length > 0 ) {\n\t\tactiveElements = elements.filter( ( element ) => {\n\t\t\tif ( filter.singleSelection ) {\n\t\t\t\treturn element.value === filterInView?.value;\n\t\t\t}\n\t\t\treturn filterInView?.value?.includes( element.value );\n\t\t} );\n\t} else if ( filterInView?.value !== undefined ) {\n\t\tactiveElements = [\n\t\t\t{\n\t\t\t\tvalue: filterInView.value,\n\t\t\t\tlabel: filterInView.value,\n\t\t\t},\n\t\t];\n\t}\n\n\tconst isPrimary = filter.isPrimary;\n\tconst isLocked = filterInView?.isLocked;\n\tconst hasValues = ! isLocked && filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isLocked && ( ! isPrimary || hasValues );\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filters__summary-popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filters__summary-chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t\t'is-not-clickable': isLocked,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ isLocked ? -1 : 0 }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! isLocked ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t! isLocked &&\n\t\t\t\t\t\t\t\t\t[ ENTER, SPACE ].includes( event.key )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-disabled={ isLocked }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters?.filter(\n\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_filter.field !== filter.field\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t{ commonProps.filter.hasElements ? (\n\t\t\t\t\t\t\t<SearchWidget\n\t\t\t\t\t\t\t\t{ ...commonProps }\n\t\t\t\t\t\t\t\tfilter={ {\n\t\t\t\t\t\t\t\t\t...commonProps.filter,\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<InputWidget { ...commonProps } fields={ fields } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6FQ;AA1FR,kBAAiB;AAMjB,wBAQO;AACP,kBAA4B;AAC5B,qBAAiD;AACjD,mBAA2B;AAQ3B,2BAAyB;AACzB,0BAAwB;AACxB,uBAwBO;AASP,0BAAwB;AAzCxB,MAAM,QAAQ;AACd,MAAM,QAAQ;AA4Dd,MAAM,aAAa,CAAE;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AACD,MAAwB;AACvB,MAAK,mBAAmB,UAAa,eAAe,WAAW,GAAI;AAClE,WAAO,OAAO;AAAA,EACf;AAEA,QAAM,qBAAqB;AAAA,IAC1B,MAAM,4CAAC,UAAK,WAAU,+CAA8C;AAAA,IACpE,OACC,4CAAC,UAAK,WAAU,gDAA+C;AAAA,EAEjE;AAEA,MAAK,cAAc,aAAa,kCAAkB;AACjD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,+CAAgD;AAAA,QACpD,OAAO;AAAA,QACP,eAAe,IAAK,CAAE,YAAa,QAAQ,KAAM,EAAE,KAAM,IAAK;AAAA,MAC/D;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,mCAAmB;AAClD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,gDAAiD;AAAA,QACrD,OAAO;AAAA,QACP,eAAe,IAAK,CAAE,YAAa,QAAQ,KAAM,EAAE,KAAM,IAAK;AAAA,MAC/D;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,kCAAkB;AACjD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,+CAAgD;AAAA,QACpD,OAAO;AAAA,QACP,eAAe,IAAK,CAAE,YAAa,QAAQ,KAAM,EAAE,KAAM,IAAK;AAAA,MAC/D;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,sCAAsB;AACrD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,mDAAoD;AAAA,QACxD,OAAO;AAAA,QACP,eAAe,IAAK,CAAE,YAAa,QAAQ,KAAM,EAAE,KAAM,IAAK;AAAA,MAC/D;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,8BAAc;AAC7C,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,2CAA4C;AAAA,QAChD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,kCAAkB;AACjD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,+CAAgD;AAAA,QACpD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,qCAAqB;AACpD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,qDAAsD;AAAA,QAC1D,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,wCAAwB;AACvD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,wDAAyD;AAAA,QAC7D,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,8CAA8B;AAC7D,eAAO;AAAA,UACN;AAAA;AAAA,YAEC;AAAA,UACC;AAAA,QACD;AAAA,QACA,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,iDAAiC;AAChE,eAAO;AAAA,UACN;AAAA;AAAA,YAEC;AAAA,UACC;AAAA,QACD;AAAA,QACA,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,oCAAoB;AACnD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,iDAAkD;AAAA,QACtD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,wCAAwB;AACvD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,wDAAyD;AAAA,QAC7D,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,uCAAuB;AACtD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,oDAAqD;AAAA,QACzD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,kCAAkB;AACjD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,kDAAmD;AAAA,QACvD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,iCAAiB;AAChD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,iDAAkD;AAAA,QACtD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,sCAAsB;AACrD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,wDAAyD;AAAA,QAC7D,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,qCAAqB;AACpD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,uDAAwD;AAAA,QAC5D,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,mCAAmB;AAClD,UAAM,EAAE,MAAM,IAAI,eAAgB,CAAE;AAEpC,eAAO;AAAA,UACN;AAAA;AAAA,YAEC;AAAA,UACC;AAAA,QACD;AAAA,QACA,OAAO;AAAA,QACP,MAAO,CAAE;AAAA,QACT,MAAO,CAAE;AAAA,MACV;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,8BAAc;AAC7C,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,2CAA4C;AAAA,QAChD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,kCAAkB;AACjD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,+CAAgD;AAAA,QACpD,OAAO;AAAA,QACP,eAAgB,CAAE,EAAE;AAAA,MACrB;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,uCAAuB;AACtD,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,uDAAwD;AAAA,QAC5D,OAAO;AAAA,QACP,GAAI,eAAgB,CAAE,EAAE,MAAM,KAAM,IAAK,eAAgB,CAAE,EAAE,MAAM,IAAK;AAAA,MACzE;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,MAAK,cAAc,aAAa,gCAAgB;AAC/C,eAAO;AAAA,UACN;AAAA;AAAA,YAEC,gBAAI,oDAAqD;AAAA,QACzD,OAAO;AAAA,QACP,GAAI,eAAgB,CAAE,EAAE,MAAM,KAAM,IAAK,eAAgB,CAAE,EAAE,MAAM,IAAK;AAAA,MACzE;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACA,aAAO;AAAA;AAAA,QAEN,gBAAI,yBAA0B;AAAA,IAC9B,OAAO;AAAA,EACR;AACD;AAEA,SAAS,iBAAkB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACD,GAA2B;AAC1B,QAAM,kBAAkB,OAAO,WAAW,IAAK,CAAE,cAAgB;AAAA,IAChE,OAAO;AAAA,IACP,OAAO,2BAAW,QAAS,GAAG;AAAA,EAC/B,EAAI;AACJ,QAAM,gBAAgB,KAAK,SAAS;AAAA,IACnC,CAAE,YAAa,QAAQ,UAAU,OAAO;AAAA,EACzC;AACA,QAAM,QAAQ,eAAe,YAAY,OAAO,UAAW,CAAE;AAC7D,SACC,gBAAgB,SAAS,KACxB;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,SAAU;AAAA,MACV,SAAQ;AAAA,MACR,WAAU;AAAA,MAEV;AAAA,oDAAC,8BAAS,WAAU,oDACjB,iBAAO,MACV;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,WAAQ,gBAAI,YAAa;AAAA,YACzB;AAAA,YACA,SAAU;AAAA,YACV,UAAW,CAAE,aAAc;AAC1B,oBAAM,WAAW;AACjB,oBAAM,kBAAkB,eAAe;AACvC,oBAAM,aAAa,gBAChB;AAAA,gBACA,IAAK,KAAK,WAAW,CAAC,GAAI;AAAA,kBACzB,CAAE,YAAa;AACd,wBACC,QAAQ,UAAU,OAAO,OACxB;AAED,4BAAM,+BACL;AAAA,wBACC;AAAA,wBACA;AAAA,wBACA;AAAA,sBACD;AACD,4BAAM,mBACL,oBACE,6BAA6B;AAAA,wBAC9B;AAAA,sBACD,KACC,6BAA6B;AAAA,wBAC5B;AAAA,sBACD;AAEF,6BAAO;AAAA,wBACN,GAAG;AAAA,wBACH,OAAO,mBACJ,SACA,QAAQ;AAAA,wBACX;AAAA,sBACD;AAAA,oBACD;AACA,2BAAO;AAAA,kBACR;AAAA,gBACD;AAAA,cACA,IACA;AAAA,gBACA,GAAK,KAAK,WAAW,CAAC;AAAA,gBACtB;AAAA,kBACC,OAAO,OAAO;AAAA,kBACd;AAAA,kBACA,OAAO;AAAA,gBACR;AAAA,cACA;AACH,2BAAc;AAAA,gBACb,GAAG;AAAA,gBACH,MAAM;AAAA,gBACN,SAAS;AAAA,cACV,CAAE;AAAA,YACH;AAAA,YACA,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,yBAAuB;AAAA,YACvB,qBAAmB;AAAA;AAAA,QACpB;AAAA;AAAA;AAAA,EACD;AAGH;AAEe,SAAR,OAAyB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAAiB;AAChB,QAAM,gBAAY,uBAA0B,IAAK;AACjD,QAAM,EAAE,QAAQ,MAAM,aAAa,IAAI;AACvC,QAAM,eAAe,KAAK,SAAS;AAAA,IAClC,CAAE,MAAO,EAAE,UAAU,OAAO;AAAA,EAC7B;AAEA,MAAI,iBAA2B,CAAC;AAEhC,QAAM,EAAE,SAAS,QAAI,oBAAAC,SAAa;AAAA,IACjC,UAAU,OAAO;AAAA,IACjB,aAAa,OAAO;AAAA,EACrB,CAAE;AAEF,MAAK,SAAS,SAAS,GAAI;AAC1B,qBAAiB,SAAS,OAAQ,CAAE,YAAa;AAChD,UAAK,OAAO,iBAAkB;AAC7B,eAAO,QAAQ,UAAU,cAAc;AAAA,MACxC;AACA,aAAO,cAAc,OAAO,SAAU,QAAQ,KAAM;AAAA,IACrD,CAAE;AAAA,EACH,WAAY,cAAc,UAAU,QAAY;AAC/C,qBAAiB;AAAA,MAChB;AAAA,QACC,OAAO,aAAa;AAAA,QACpB,OAAO,aAAa;AAAA,MACrB;AAAA,IACD;AAAA,EACD;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,WAAW,cAAc;AAC/B,QAAM,YAAY,CAAE,YAAY,cAAc,UAAU;AACxD,QAAM,mBAAmB,CAAE,aAAc,CAAE,aAAa;AACxD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAc,iBAAiB,OAAO;AAAA,MACtC,kBAAiB;AAAA,MACjB,cAAe,EAAE,WAAW,gBAAgB,MAAM,SAAS;AAAA,MAC3D,SAAU,MAAM;AACf,kBAAU,SAAS,MAAM;AAAA,MAC1B;AAAA,MACA,cAAe,CAAE,EAAE,QAAQ,SAAS,MACnC,6CAAC,SAAI,WAAU,6CACd;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,UAAO;AAAA;AAAA,kBAEN,gBAAI,iBAAkB;AAAA,cACtB,OAAO,KAAK,YAAY;AAAA,YACzB;AAAA,YACA,WAAU;AAAA,YAEV;AAAA,cAAC;AAAA;AAAA,gBACA,eAAY,YAAAC;AAAA,kBACX;AAAA,kBACA;AAAA,oBACC,aAAa;AAAA,oBACb,cAAc;AAAA,oBACd,oBAAoB;AAAA,kBACrB;AAAA,gBACD;AAAA,gBACA,MAAK;AAAA,gBACL,UAAW,WAAW,KAAK;AAAA,gBAC3B,SAAU,MAAM;AACf,sBAAK,CAAE,UAAW;AACjB,6BAAS;AAAA,kBACV;AAAA,gBACD;AAAA,gBACA,WAAY,CAAE,UAAW;AACxB,sBACC,CAAE,YACF,CAAE,OAAO,KAAM,EAAE,SAAU,MAAM,GAAI,GACpC;AACD,6BAAS;AACT,0BAAM,eAAe;AAAA,kBACtB;AAAA,gBACD;AAAA,gBACA,iBAAgB;AAAA,gBAChB,gBAAe;AAAA,gBACf,iBAAgB;AAAA,gBAChB,KAAM;AAAA,gBAEN;AAAA,kBAAC;AAAA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA;AAAA,gBACD;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA,QACE,oBACD;AAAA,UAAC;AAAA;AAAA,YACA,MAAO,gBAAY,gBAAI,OAAQ,QAAI,gBAAI,QAAS;AAAA,YAChD,WAAU;AAAA,YAEV;AAAA,cAAC;AAAA;AAAA,gBACA,eAAY,YAAAA;AAAA,kBACX;AAAA,kBACA,EAAE,cAAc,UAAU;AAAA,gBAC3B;AAAA,gBACA,SAAU,MAAM;AACf,+BAAc;AAAA,oBACb,GAAG;AAAA,oBACH,MAAM;AAAA,oBACN,SAAS,KAAK,SAAS;AAAA,sBACtB,CAAE,YACD,QAAQ,UAAU,OAAO;AAAA,oBAC3B;AAAA,kBACD,CAAE;AAGF,sBAAK,CAAE,WAAY;AAClB,iCAAa,SAAS,MAAM;AAAA,kBAC7B,OAAO;AAEN,8BAAU,SAAS,MAAM;AAAA,kBAC1B;AAAA,gBACD;AAAA,gBAEA,sDAAC,0BAAK,MAAO,yBAAa;AAAA;AAAA,YAC3B;AAAA;AAAA,QACD;AAAA,SAEF;AAAA,MAED,eAAgB,MAAM;AACrB,eACC,6CAAC,kBAAAC,sBAAA,EAAO,SAAU,GAAI,SAAQ,cAC7B;AAAA,sDAAC,oBAAmB,GAAG,aAAc;AAAA,UACnC,YAAY,OAAO,cACpB;AAAA,YAAC,qBAAAC;AAAA,YAAA;AAAA,cACE,GAAG;AAAA,cACL,QAAS;AAAA,gBACR,GAAG,YAAY;AAAA,gBACf;AAAA,cACD;AAAA;AAAA,UACD,IAEA,4CAAC,oBAAAC,SAAA,EAAc,GAAG,aAAc,QAAkB;AAAA,WAEpD;AAAA,MAEF;AAAA;AAAA,EACD;AAEF;",
6
- "names": ["HStack", "useElements", "clsx", "VStack", "SearchWidget", "InputWidget"]
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport InputWidget from './input-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n} from '../../constants';\nimport type {\n\tFilter,\n\tNormalizedField,\n\tNormalizedFilter,\n\tOperator,\n\tOption,\n\tView,\n} from '../../types';\nimport useElements from '../../hooks/use-elements';\nimport parseDateTime from '../../field-types/utils/parse-date-time';\n\ninterface FilterTextProps {\n\tactiveElements: Option[];\n\tfilterInView?: Filter;\n\tfilter: NormalizedFilter;\n}\n\ninterface OperatorSelectorProps {\n\tfilter: NormalizedFilter;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FilterProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\n\tfields: NormalizedField< any >[];\n}\n\nconst FilterText = ( {\n\tactiveElements,\n\tfilterInView,\n\tfilter,\n}: FilterTextProps ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filters__summary-filter-text-name\" />,\n\t\tValue: (\n\t\t\t<span className=\"dataviews-filters__summary-filter-text-value\" />\n\t\t),\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than: 10\". */\n\t\t\t\t__( '<Name>%1$s is less than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than: 10\". */\n\t\t\t\t__( '<Name>%1$s is greater than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is less than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is greater than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title contains: Mars\". */\n\t\t\t\t__( '<Name>%1$s contains: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Description doesn't contain: photo\". */\n\t\t\t\t__( \"<Name>%1$s doesn't contain: </Name><Value>%2$s</Value>\" ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_STARTS_WITH ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title starts with: Mar\". */\n\t\t\t\t__( '<Name>%1$s starts with: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BETWEEN ) {\n\t\tconst { label } = activeElements[ 0 ];\n\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Min value. 3: Max value. e.g.: \"Item count between (inc): 10 and 180\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s between (inc): </Name><Value>%2$s and %3$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tlabel[ 0 ],\n\t\t\t\tlabel[ 1 ]\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is not: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IN_THE_PAST ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is in the past: 1 days\". */\n\t\t\t\t__( '<Name>%1$s is in the past: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_OVER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is over: 1 days ago\". */\n\t\t\t\t__( '<Name>%1$s is over: </Name><Value>%2$s</Value> ago' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( {\n\tfilter,\n\tview,\n\tonChangeView,\n}: OperatorSelectorProps ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filters__summary-operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filters__summary-operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"dataviews-filters__summary-operators-filter-select\"\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst operator = newValue as Operator;\n\t\t\t\t\t\tconst currentOperator = currentFilter?.operator;\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Reset the value only when switching between operators that have different value types.\n\t\t\t\t\t\t\t\t\t\t\t\tconst OPERATORS_SHOULD_RESET_VALUE =\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\tOPERATOR_BETWEEN,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_IN_THE_PAST,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_OVER,\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\tconst shouldResetValue =\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t( OPERATORS_SHOULD_RESET_VALUE.includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator\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\tOPERATORS_SHOULD_RESET_VALUE.includes(\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) );\n\n\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..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: shouldResetValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: _filter.value,\n\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};\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\toperator,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tvariant=\"minimal\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function Filter( {\n\taddFilterRef,\n\topenedFilter,\n\tfields,\n\t...commonProps\n}: FilterProps ) {\n\tconst toggleRef = useRef< HTMLDivElement >( null );\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\n\tlet activeElements: Option[] = [];\n\n\tconst { elements } = useElements( {\n\t\telements: filter.elements,\n\t\tgetElements: filter.getElements,\n\t} );\n\n\tif ( elements.length > 0 ) {\n\t\tactiveElements = elements.filter( ( element ) => {\n\t\t\tif ( filter.singleSelection ) {\n\t\t\t\treturn element.value === filterInView?.value;\n\t\t\t}\n\t\t\treturn filterInView?.value?.includes( element.value );\n\t\t} );\n\t} else if ( filterInView?.value !== undefined ) {\n\t\tconst field = fields.find( ( f ) => f.id === filter.field );\n\t\tlet label = filterInView.value;\n\n\t\tif ( field?.type === 'datetime' && typeof label === 'string' ) {\n\t\t\ttry {\n\t\t\t\tconst dateValue = parseDateTime( label );\n\t\t\t\tif ( dateValue !== null ) {\n\t\t\t\t\tlabel = dateValue.toLocaleString();\n\t\t\t\t}\n\t\t\t} catch ( e ) {\n\t\t\t\tlabel = filterInView.value;\n\t\t\t}\n\t\t}\n\n\t\tactiveElements = [\n\t\t\t{\n\t\t\t\tvalue: filterInView.value,\n\t\t\t\tlabel,\n\t\t\t},\n\t\t];\n\t}\n\n\tconst isPrimary = filter.isPrimary;\n\tconst isLocked = filterInView?.isLocked;\n\tconst hasValues = ! isLocked && filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isLocked && ( ! isPrimary || hasValues );\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filters__summary-popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filters__summary-chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t\t'is-not-clickable': isLocked,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ isLocked ? -1 : 0 }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! isLocked ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t! isLocked &&\n\t\t\t\t\t\t\t\t\t[ ENTER, SPACE ].includes( event.key )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-disabled={ isLocked }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters?.filter(\n\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_filter.field !== filter.field\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t{ commonProps.filter.hasElements ? (\n\t\t\t\t\t\t\t<SearchWidget\n\t\t\t\t\t\t\t\t{ ...commonProps }\n\t\t\t\t\t\t\t\tfilter={ {\n\t\t\t\t\t\t\t\t\t...commonProps.filter,\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<InputWidget { ...commonProps } fields={ fields } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["HStack", "useElements", "parseDateTime", "clsx", "VStack", "SearchWidget", "InputWidget"]
7
7
  }
@@ -26,15 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/dataviews/src/components/dataviews-filters/filters-toggled.tsx
29
31
  var filters_toggled_exports = {};
30
32
  __export(filters_toggled_exports, {
31
33
  default: () => filters_toggled_default
32
34
  });
33
35
  module.exports = __toCommonJS(filters_toggled_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
36
  var import_element = require("@wordpress/element");
36
37
  var import_dataviews_context = __toESM(require("../dataviews-context"));
37
38
  var import_filters = __toESM(require("./filters"));
39
+ var import_jsx_runtime = require("react/jsx-runtime");
38
40
  function FiltersToggled(props) {
39
41
  const { isShowingFilter } = (0, import_element.useContext)(import_dataviews_context.default);
40
42
  if (!isShowingFilter) {
@@ -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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,cAAyB;AACzB,4BAA0B;AAC1B,kBAAiB;AAKjB,qBAA8B;AAC9B,kBAA4B;AAC5B,qBAAoD;AACpD,wBAKO;AACP,mBAA8B;AAK9B,mBAAgC;AAEhC,0BAAwB;AA+CP;AArCjB,SAAS,qBAAsB,QAAQ,IAAK;AAC3C,aAAO,sBAAAA,SAAe,MAAM,KAAK,EAAE,YAAY,CAAE;AAClD;AAEA,IAAM,cAAc,CACnB,kBACA,eACA,UACI;AACJ,MAAK,iBAAiB,iBAAkB;AACvC,WAAO;AAAA,EACR;AAEA,MAAK,MAAM,QAAS,eAAe,KAAM,GAAI;AAC5C,WAAO,cAAc,MAAM,SAAU,KAAM,IACxC,cAAc,MAAM,OAAQ,CAAE,MAAO,MAAM,KAAM,IACjD,CAAE,GAAG,cAAc,OAAO,KAAM;AAAA,EACpC;AAEA,SAAO,CAAE,KAAM;AAChB;AAEA,SAAS,qCACR,QACA,oBACC;AACD,SAAO,GAAI,MAAO,IAAK,kBAAmB;AAC3C;AAEA,IAAM,uBAAuB,CAAE,EAAE,SAAS,MAA8B;AACvE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAY,YAAAC;AAAA,QACX;AAAA,QACA,EAAE,eAAe,SAAS;AAAA,MAC3B;AAAA,MAEE,sBAAY,4CAAC,0BAAK,MAAO,oBAAQ;AAAA;AAAA,EACpC;AAEF;AAEA,IAAM,wBAAwB,CAAE,EAAE,SAAS,MAA8B;AACxE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAY,YAAAA;AAAA,QACX;AAAA,QACA,EAAE,eAAe,SAAS;AAAA,MAC3B;AAAA;AAAA,EACD;AAEF;AAEA,SAAS,QAAS,EAAE,MAAM,QAAQ,aAAa,GAAuB;AACrE,QAAM,aAAS,8BAAe,SAAS,2BAA4B;AAEnE,QAAM,CAAE,mBAAmB,oBAAqB,QAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASnD,OAAO,WAAW,WAAW,IAAI,SAAY;AAAA,EAC9C;AACA,QAAM,gBAAgB,KAAK,SAAS;AAAA,IACnC,CAAE,MAAO,EAAE,UAAU,OAAO;AAAA,EAC7B;AACA,QAAM,mBAAe,8BAAiB,QAAQ,aAAc;AAC5D,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAS;AAAA,MACT,UAAW;AAAA,MACX,aAAc;AAAA,MACd,MAAK;AAAA,MACL,WAAU;AAAA,MACV,kBAAa;AAAA;AAAA,YAEZ,gBAAI,eAAgB;AAAA,QACpB,OAAO;AAAA,MACR;AAAA,MACA,gBAAiB,MAAM;AAGtB,YAAK,CAAE,qBAAqB,OAAO,SAAS,QAAS;AACpD;AAAA,YACC;AAAA,cACC;AAAA,cACA,OAAO,SAAU,CAAE,EAAE;AAAA,YACtB;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA,QAAS,4CAAC,4BAAU,WAAV,EAAoB;AAAA,MAE5B,iBAAO,SAAS,IAAK,CAAE,YACxB;AAAA,QAAC,4BAAU;AAAA,QAAV;AAAA,UAEA,QACC;AAAA,YAAC,4BAAU;AAAA,YAAV;AAAA,cACA,IAAK;AAAA,gBACJ;AAAA,gBACA,QAAQ;AAAA,cACT;AAAA,cACA,QACC;AAAA,gBAAC;AAAA;AAAA,kBACA,cAAa,QAAQ;AAAA,kBACrB,MAAK;AAAA,kBACL,WAAU;AAAA;AAAA,cACX;AAAA,cAED,SAAU,MAAM;AACf,sBAAM,aAAa,gBAChB;AAAA,kBACA,IAAK,KAAK,WAAW,CAAC,GAAI;AAAA,oBACzB,CAAE,YAAa;AACd,0BACC,QAAQ,UACR,OAAO,OACN;AACD,+BAAO;AAAA,0BACN,GAAG;AAAA,0BACH,UACC,cAAc,YACd,OACE,UAAW,CAAE;AAAA,0BAChB,OAAO;AAAA,4BACN;AAAA,4BACA;AAAA,4BACA,QAAQ;AAAA,0BACT;AAAA,wBACD;AAAA,sBACD;AACA,6BAAO;AAAA,oBACR;AAAA,kBACD;AAAA,gBACA,IACA;AAAA,kBACA,GAAK,KAAK,WAAW,CAAC;AAAA,kBACtB;AAAA,oBACC,OAAO,OAAO;AAAA,oBACd,UAAU,OAAO,UAAW,CAAE;AAAA,oBAC9B,OAAO;AAAA,sBACN;AAAA,sBACA;AAAA,sBACA,QAAQ;AAAA,oBACT;AAAA,kBACD;AAAA,gBACA;AACH,6BAAc;AAAA,kBACb,GAAG;AAAA,kBACH,MAAM;AAAA,kBACN,SAAS;AAAA,gBACV,CAAE;AAAA,cACH;AAAA;AAAA,UACD;AAAA,UAGC;AAAA,mBAAO,mBACR;AAAA,cAAC;AAAA;AAAA,gBACA,UAAW,iBAAiB,QAAQ;AAAA;AAAA,YACrC;AAAA,YAEC,CAAE,OAAO,mBACV;AAAA,cAAC;AAAA;AAAA,gBACA,UAAW,aAAa,SAAU,QAAQ,KAAM;AAAA;AAAA,YACjD;AAAA,YAED,4CAAC,UAAO,kBAAQ,OAAO;AAAA;AAAA;AAAA,QAvEjB,QAAQ;AAAA,MAwEf,CACC;AAAA;AAAA,EACH;AAEF;AAEA,SAASC,cAAc,EAAE,MAAM,QAAQ,aAAa,GAAuB;AAC1E,QAAM,CAAE,aAAa,cAAe,QAAI,yBAAU,EAAG;AACrD,QAAM,0BAAsB,iCAAkB,WAAY;AAC1D,QAAM,gBAAgB,KAAK,SAAS;AAAA,IACnC,CAAE,YAAa,QAAQ,UAAU,OAAO;AAAA,EACzC;AACA,QAAM,mBAAe,8BAAiB,QAAQ,aAAc;AAC5D,QAAM,cAAU,wBAAS,MAAM;AAC9B,UAAM,mBAAmB,qBAAsB,mBAAoB;AACnE,WAAO,OAAO,SAAS;AAAA,MAAQ,CAAE,SAChC,qBAAsB,KAAK,KAAM,EAAE,SAAU,gBAAiB;AAAA,IAC/D;AAAA,EACD,GAAG,CAAE,OAAO,UAAU,mBAAoB,CAAE;AAC5C,SACC;AAAA,IAAS;AAAA,IAAR;AAAA,MACA,eAAgB;AAAA,MAChB,kBAAmB,CAAE,UAAW;AAC/B,cAAM,aAAa,gBAChB;AAAA,UACA,IAAK,KAAK,WAAW,CAAC,GAAI,IAAK,CAAE,YAAa;AAC7C,gBAAK,QAAQ,UAAU,OAAO,OAAQ;AACrC,qBAAO;AAAA,gBACN,GAAG;AAAA,gBACH,UACC,cAAc,YACd,OAAO,UAAW,CAAE;AAAA,gBACrB;AAAA,cACD;AAAA,YACD;AACA,mBAAO;AAAA,UACR,CAAE;AAAA,QACF,IACA;AAAA,UACA,GAAK,KAAK,WAAW,CAAC;AAAA,UACtB;AAAA,YACC,OAAO,OAAO;AAAA,YACd,UAAU,OAAO,UAAW,CAAE;AAAA,YAC9B;AAAA,UACD;AAAA,QACA;AACH,qBAAc;AAAA,UACb,GAAG;AAAA,UACH,MAAM;AAAA,UACN,SAAS;AAAA,QACV,CAAE;AAAA,MACH;AAAA,MACA,UAAW;AAAA,MAEX;AAAA,qDAAC,SAAI,WAAU,6DACd;AAAA;AAAA,YAAS;AAAA,YAAR;AAAA,cACA,QACC,4CAAC,oCACE,8BAAI,cAAe,GACtB;AAAA,cAGC,8BAAI,cAAe;AAAA;AAAA,UACtB;AAAA,UACA;AAAA,YAAS;AAAA,YAAR;AAAA,cACA,YAAW;AAAA,cACX,iBAAc,gBAAI,QAAS;AAAA,cAC3B,WAAU;AAAA;AAAA,UACX;AAAA,UACA,4CAAC,SAAI,WAAU,0DACd,sDAAC,0BAAK,MAAO,qBAAS,GACvB;AAAA,WACD;AAAA,QACA;AAAA,UAAS;AAAA,UAAR;AAAA,YACA,WAAU;AAAA,YACV,eAAa;AAAA,YAEX;AAAA,sBAAQ,IAAK,CAAE,YAAa;AAC7B,uBACC;AAAA,kBAAS;AAAA,kBAAR;AAAA,oBACA,oBAAqB;AAAA,oBAErB,OAAQ,QAAQ;AAAA,oBAChB,WAAU;AAAA,oBACV,aAAc;AAAA,oBACd,iBAAkB;AAAA,oBAClB,cAAY;AAAA,oBAEV;AAAA,6BAAO,mBACR;AAAA,wBAAC;AAAA;AAAA,0BACA,UAAW,iBAAiB,QAAQ;AAAA;AAAA,sBACrC;AAAA,sBAEC,CAAE,OAAO,mBACV;AAAA,wBAAC;AAAA;AAAA,0BACA,UAAW,aAAa;AAAA,4BACvB,QAAQ;AAAA,0BACT;AAAA;AAAA,sBACD;AAAA,sBAED,6CAAC,UACA;AAAA;AAAA,0BAAS;AAAA,0BAAR;AAAA,4BACA,WAAU;AAAA,4BACV,OAAQ,QAAQ;AAAA;AAAA,wBACjB;AAAA,wBACE,CAAC,CAAE,QAAQ,eACZ,4CAAC,UAAK,WAAU,yDACb,kBAAQ,aACX;AAAA,yBAEF;AAAA;AAAA;AAAA,kBA7BM,QAAQ;AAAA,gBA8Bf;AAAA,cAEF,CAAE;AAAA,cACA,CAAE,QAAQ,UAAU,4CAAC,OAAI,8BAAI,kBAAmB,GAAG;AAAA;AAAA;AAAA,QACtD;AAAA;AAAA;AAAA,EACD;AAEF;AAEe,SAAR,aAA+B,OAA2B;AAChE,QAAM,EAAE,UAAU,UAAU,QAAI,oBAAAC,SAAa;AAAA,IAC5C,UAAU,MAAM,OAAO;AAAA,IACvB,aAAa,MAAM,OAAO;AAAA,EAC3B,CAAE;AAEF,MAAK,WAAY;AAChB,WACC,4CAAC,SAAI,WAAU,gDACd,sDAAC,6BAAQ,GACV;AAAA,EAEF;AAEA,MAAK,SAAS,WAAW,GAAI;AAC5B,WACC,4CAAC,SAAI,WAAU,gDACZ,8BAAI,mBAAoB,GAC3B;AAAA,EAEF;AAEA,QAAM,SAAS,SAAS,SAAS,KAAKD,gBAAe;AACrD,SAAO,4CAAC,UAAS,GAAG,OAAQ,QAAS,EAAE,GAAG,MAAM,QAAQ,SAAS,GAAI;AACtE;",
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
  }