@wordpress/dataviews 11.0.0 → 11.1.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 (303) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +140 -93
  3. package/build/components/dataviews-filters/filter.js +25 -267
  4. package/build/components/dataviews-filters/filter.js.map +2 -2
  5. package/build/components/dataviews-filters/input-widget.js +1 -4
  6. package/build/components/dataviews-filters/input-widget.js.map +2 -2
  7. package/build/components/dataviews-filters/use-filters.js +3 -3
  8. package/build/components/dataviews-filters/use-filters.js.map +2 -2
  9. package/build/constants.js +5 -142
  10. package/build/constants.js.map +2 -2
  11. package/build/dataform-controls/number.js +2 -1
  12. package/build/dataform-controls/number.js.map +2 -2
  13. package/build/dataform-controls/textarea.js +3 -1
  14. package/build/dataform-controls/textarea.js.map +2 -2
  15. package/build/dataform-controls/utils/get-custom-validity.js +8 -0
  16. package/build/dataform-controls/utils/get-custom-validity.js.map +2 -2
  17. package/build/dataform-controls/utils/validated-input.js +4 -2
  18. package/build/dataform-controls/utils/validated-input.js.map +2 -2
  19. package/build/dataform-controls/utils/validated-number.js +4 -2
  20. package/build/dataform-controls/utils/validated-number.js.map +2 -2
  21. package/build/dataform-layouts/panel/modal.js +14 -5
  22. package/build/dataform-layouts/panel/modal.js.map +2 -2
  23. package/build/dataviews-layouts/grid/composite-grid.js +39 -37
  24. package/build/dataviews-layouts/grid/composite-grid.js.map +3 -3
  25. package/build/dataviews-layouts/table/index.js +8 -3
  26. package/build/dataviews-layouts/table/index.js.map +2 -2
  27. package/build/field-types/array.js +27 -14
  28. package/build/field-types/array.js.map +3 -3
  29. package/build/field-types/boolean.js +13 -10
  30. package/build/field-types/boolean.js.map +3 -3
  31. package/build/field-types/color.js +14 -11
  32. package/build/field-types/color.js.map +3 -3
  33. package/build/field-types/date.js +11 -8
  34. package/build/field-types/date.js.map +3 -3
  35. package/build/field-types/datetime.js +7 -5
  36. package/build/field-types/datetime.js.map +3 -3
  37. package/build/field-types/email.js +20 -11
  38. package/build/field-types/email.js.map +3 -3
  39. package/build/field-types/index.js +12 -14
  40. package/build/field-types/index.js.map +3 -3
  41. package/build/field-types/integer.js +63 -14
  42. package/build/field-types/integer.js.map +3 -3
  43. package/build/field-types/media.js +5 -5
  44. package/build/field-types/media.js.map +2 -2
  45. package/build/field-types/no-type.js +9 -6
  46. package/build/field-types/no-type.js.map +3 -3
  47. package/build/field-types/number.js +51 -15
  48. package/build/field-types/number.js.map +3 -3
  49. package/build/field-types/password.js +13 -5
  50. package/build/field-types/password.js.map +3 -3
  51. package/build/field-types/telephone.js +13 -5
  52. package/build/field-types/telephone.js.map +3 -3
  53. package/build/field-types/text.js +13 -5
  54. package/build/field-types/text.js.map +3 -3
  55. package/build/field-types/url.js +13 -5
  56. package/build/field-types/url.js.map +3 -3
  57. package/build/field-types/utils/get-is-valid.js +89 -0
  58. package/build/field-types/utils/get-is-valid.js.map +7 -0
  59. package/build/field-types/utils/is-valid-elements.js +35 -0
  60. package/build/field-types/utils/is-valid-elements.js.map +7 -0
  61. package/build/field-types/utils/is-valid-max-length.js +36 -0
  62. package/build/field-types/utils/is-valid-max-length.js.map +7 -0
  63. package/build/field-types/utils/is-valid-max.js +36 -0
  64. package/build/field-types/utils/is-valid-max.js.map +7 -0
  65. package/build/field-types/utils/is-valid-min-length.js +36 -0
  66. package/build/field-types/utils/is-valid-min-length.js.map +7 -0
  67. package/build/field-types/utils/is-valid-min.js +36 -0
  68. package/build/field-types/utils/is-valid-min.js.map +7 -0
  69. package/build/field-types/utils/is-valid-pattern.js +41 -0
  70. package/build/field-types/utils/is-valid-pattern.js.map +7 -0
  71. package/build/field-types/utils/is-valid-required-for-array.js +32 -0
  72. package/build/field-types/utils/is-valid-required-for-array.js.map +7 -0
  73. package/build/field-types/utils/is-valid-required-for-bool.js +30 -0
  74. package/build/field-types/utils/is-valid-required-for-bool.js.map +7 -0
  75. package/build/field-types/utils/is-valid-required.js +30 -0
  76. package/build/field-types/utils/is-valid-required.js.map +7 -0
  77. package/build/hooks/use-form-validity.js +52 -102
  78. package/build/hooks/use-form-validity.js.map +2 -2
  79. package/build/types/field-api.js.map +1 -1
  80. package/build/types/private.js.map +1 -1
  81. package/build/utils/filter-sort-and-paginate.js +5 -0
  82. package/build/utils/filter-sort-and-paginate.js.map +3 -3
  83. package/build/utils/operators.js +399 -0
  84. package/build/utils/operators.js.map +7 -0
  85. package/build-module/components/dataviews-filters/filter.js +26 -292
  86. package/build-module/components/dataviews-filters/filter.js.map +2 -2
  87. package/build-module/components/dataviews-filters/input-widget.js +1 -4
  88. package/build-module/components/dataviews-filters/input-widget.js.map +2 -2
  89. package/build-module/components/dataviews-filters/use-filters.js +6 -3
  90. package/build-module/components/dataviews-filters/use-filters.js.map +2 -2
  91. package/build-module/constants.js +5 -139
  92. package/build-module/constants.js.map +2 -2
  93. package/build-module/dataform-controls/number.js +2 -1
  94. package/build-module/dataform-controls/number.js.map +2 -2
  95. package/build-module/dataform-controls/textarea.js +3 -1
  96. package/build-module/dataform-controls/textarea.js.map +2 -2
  97. package/build-module/dataform-controls/utils/get-custom-validity.js +8 -0
  98. package/build-module/dataform-controls/utils/get-custom-validity.js.map +2 -2
  99. package/build-module/dataform-controls/utils/validated-input.js +4 -2
  100. package/build-module/dataform-controls/utils/validated-input.js.map +2 -2
  101. package/build-module/dataform-controls/utils/validated-number.js +4 -2
  102. package/build-module/dataform-controls/utils/validated-number.js.map +2 -2
  103. package/build-module/dataform-layouts/panel/modal.js +14 -5
  104. package/build-module/dataform-layouts/panel/modal.js.map +2 -2
  105. package/build-module/dataviews-layouts/grid/composite-grid.js +40 -38
  106. package/build-module/dataviews-layouts/grid/composite-grid.js.map +3 -3
  107. package/build-module/dataviews-layouts/table/index.js +8 -3
  108. package/build-module/dataviews-layouts/table/index.js.map +2 -2
  109. package/build-module/field-types/array.js +17 -14
  110. package/build-module/field-types/array.js.map +2 -2
  111. package/build-module/field-types/boolean.js +13 -10
  112. package/build-module/field-types/boolean.js.map +2 -2
  113. package/build-module/field-types/color.js +14 -11
  114. package/build-module/field-types/color.js.map +2 -2
  115. package/build-module/field-types/date.js +11 -8
  116. package/build-module/field-types/date.js.map +2 -2
  117. package/build-module/field-types/datetime.js +7 -5
  118. package/build-module/field-types/datetime.js.map +2 -2
  119. package/build-module/field-types/email.js +20 -11
  120. package/build-module/field-types/email.js.map +2 -2
  121. package/build-module/field-types/index.js +12 -14
  122. package/build-module/field-types/index.js.map +2 -2
  123. package/build-module/field-types/integer.js +58 -13
  124. package/build-module/field-types/integer.js.map +2 -2
  125. package/build-module/field-types/media.js +5 -5
  126. package/build-module/field-types/media.js.map +2 -2
  127. package/build-module/field-types/no-type.js +10 -7
  128. package/build-module/field-types/no-type.js.map +2 -2
  129. package/build-module/field-types/number.js +47 -15
  130. package/build-module/field-types/number.js.map +2 -2
  131. package/build-module/field-types/password.js +13 -5
  132. package/build-module/field-types/password.js.map +2 -2
  133. package/build-module/field-types/telephone.js +13 -5
  134. package/build-module/field-types/telephone.js.map +2 -2
  135. package/build-module/field-types/text.js +13 -5
  136. package/build-module/field-types/text.js.map +2 -2
  137. package/build-module/field-types/url.js +13 -5
  138. package/build-module/field-types/url.js.map +2 -2
  139. package/build-module/field-types/utils/get-is-valid.js +68 -0
  140. package/build-module/field-types/utils/get-is-valid.js.map +7 -0
  141. package/build-module/field-types/utils/is-valid-elements.js +14 -0
  142. package/build-module/field-types/utils/is-valid-elements.js.map +7 -0
  143. package/build-module/field-types/utils/is-valid-max-length.js +15 -0
  144. package/build-module/field-types/utils/is-valid-max-length.js.map +7 -0
  145. package/build-module/field-types/utils/is-valid-max.js +15 -0
  146. package/build-module/field-types/utils/is-valid-max.js.map +7 -0
  147. package/build-module/field-types/utils/is-valid-min-length.js +15 -0
  148. package/build-module/field-types/utils/is-valid-min-length.js.map +7 -0
  149. package/build-module/field-types/utils/is-valid-min.js +15 -0
  150. package/build-module/field-types/utils/is-valid-min.js.map +7 -0
  151. package/build-module/field-types/utils/is-valid-pattern.js +20 -0
  152. package/build-module/field-types/utils/is-valid-pattern.js.map +7 -0
  153. package/build-module/field-types/utils/is-valid-required-for-array.js +11 -0
  154. package/build-module/field-types/utils/is-valid-required-for-array.js.map +7 -0
  155. package/build-module/field-types/utils/is-valid-required-for-bool.js +9 -0
  156. package/build-module/field-types/utils/is-valid-required-for-bool.js.map +7 -0
  157. package/build-module/field-types/utils/is-valid-required.js +9 -0
  158. package/build-module/field-types/utils/is-valid-required.js.map +7 -0
  159. package/build-module/hooks/use-form-validity.js +52 -102
  160. package/build-module/hooks/use-form-validity.js.map +2 -2
  161. package/build-module/utils/filter-sort-and-paginate.js +5 -0
  162. package/build-module/utils/filter-sort-and-paginate.js.map +2 -2
  163. package/build-module/utils/operators.js +394 -0
  164. package/build-module/utils/operators.js.map +7 -0
  165. package/build-style/style-rtl.css +13 -80
  166. package/build-style/style.css +13 -80
  167. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -1
  168. package/build-types/components/dataviews-filters/input-widget.d.ts.map +1 -1
  169. package/build-types/components/dataviews-filters/use-filters.d.ts.map +1 -1
  170. package/build-types/constants.d.ts +6 -12
  171. package/build-types/constants.d.ts.map +1 -1
  172. package/build-types/dataform-controls/number.d.ts.map +1 -1
  173. package/build-types/dataform-controls/textarea.d.ts.map +1 -1
  174. package/build-types/dataform-controls/utils/get-custom-validity.d.ts +2 -2
  175. package/build-types/dataform-controls/utils/get-custom-validity.d.ts.map +1 -1
  176. package/build-types/dataform-controls/utils/validated-input.d.ts.map +1 -1
  177. package/build-types/dataform-controls/utils/validated-number.d.ts.map +1 -1
  178. package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -1
  179. package/build-types/dataviews-layouts/grid/composite-grid.d.ts.map +1 -1
  180. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  181. package/build-types/field-types/array.d.ts +9 -2
  182. package/build-types/field-types/array.d.ts.map +1 -1
  183. package/build-types/field-types/boolean.d.ts +9 -2
  184. package/build-types/field-types/boolean.d.ts.map +1 -1
  185. package/build-types/field-types/color.d.ts +9 -2
  186. package/build-types/field-types/color.d.ts.map +1 -1
  187. package/build-types/field-types/date.d.ts +6 -4
  188. package/build-types/field-types/date.d.ts.map +1 -1
  189. package/build-types/field-types/datetime.d.ts +6 -4
  190. package/build-types/field-types/datetime.d.ts.map +1 -1
  191. package/build-types/field-types/email.d.ts +15 -2
  192. package/build-types/field-types/email.d.ts.map +1 -1
  193. package/build-types/field-types/index.d.ts.map +1 -1
  194. package/build-types/field-types/integer.d.ts +17 -4
  195. package/build-types/field-types/integer.d.ts.map +1 -1
  196. package/build-types/field-types/media.d.ts +1 -4
  197. package/build-types/field-types/media.d.ts.map +1 -1
  198. package/build-types/field-types/no-type.d.ts +6 -4
  199. package/build-types/field-types/no-type.d.ts.map +1 -1
  200. package/build-types/field-types/number.d.ts +17 -4
  201. package/build-types/field-types/number.d.ts.map +1 -1
  202. package/build-types/field-types/password.d.ts +12 -4
  203. package/build-types/field-types/password.d.ts.map +1 -1
  204. package/build-types/field-types/telephone.d.ts +12 -4
  205. package/build-types/field-types/telephone.d.ts.map +1 -1
  206. package/build-types/field-types/text.d.ts +12 -4
  207. package/build-types/field-types/text.d.ts.map +1 -1
  208. package/build-types/field-types/url.d.ts +12 -4
  209. package/build-types/field-types/url.d.ts.map +1 -1
  210. package/build-types/field-types/utils/get-is-valid.d.ts +7 -0
  211. package/build-types/field-types/utils/get-is-valid.d.ts.map +1 -0
  212. package/build-types/field-types/utils/is-valid-elements.d.ts +6 -0
  213. package/build-types/field-types/utils/is-valid-elements.d.ts.map +1 -0
  214. package/build-types/field-types/utils/is-valid-max-length.d.ts +6 -0
  215. package/build-types/field-types/utils/is-valid-max-length.d.ts.map +1 -0
  216. package/build-types/field-types/utils/is-valid-max.d.ts +6 -0
  217. package/build-types/field-types/utils/is-valid-max.d.ts.map +1 -0
  218. package/build-types/field-types/utils/is-valid-min-length.d.ts +6 -0
  219. package/build-types/field-types/utils/is-valid-min-length.d.ts.map +1 -0
  220. package/build-types/field-types/utils/is-valid-min.d.ts +6 -0
  221. package/build-types/field-types/utils/is-valid-min.d.ts.map +1 -0
  222. package/build-types/field-types/utils/is-valid-pattern.d.ts +6 -0
  223. package/build-types/field-types/utils/is-valid-pattern.d.ts.map +1 -0
  224. package/build-types/field-types/utils/is-valid-required-for-array.d.ts +6 -0
  225. package/build-types/field-types/utils/is-valid-required-for-array.d.ts.map +1 -0
  226. package/build-types/field-types/utils/is-valid-required-for-bool.d.ts +6 -0
  227. package/build-types/field-types/utils/is-valid-required-for-bool.d.ts.map +1 -0
  228. package/build-types/field-types/utils/is-valid-required.d.ts +6 -0
  229. package/build-types/field-types/utils/is-valid-required.d.ts.map +1 -0
  230. package/build-types/hooks/use-form-validity.d.ts.map +1 -1
  231. package/build-types/stories/dataform.story.d.ts +9 -1
  232. package/build-types/stories/dataform.story.d.ts.map +1 -1
  233. package/build-types/stories/dataviews-picker.story.d.ts.map +1 -1
  234. package/build-types/stories/dataviews.story.d.ts +27 -2
  235. package/build-types/stories/dataviews.story.d.ts.map +1 -1
  236. package/build-types/stories/field-types.story.d.ts +39 -2
  237. package/build-types/stories/field-types.story.d.ts.map +1 -1
  238. package/build-types/types/field-api.d.ts +72 -4
  239. package/build-types/types/field-api.d.ts.map +1 -1
  240. package/build-types/types/private.d.ts +13 -3
  241. package/build-types/types/private.d.ts.map +1 -1
  242. package/build-types/utils/filter-sort-and-paginate.d.ts.map +1 -1
  243. package/build-types/utils/operators.d.ts +16 -0
  244. package/build-types/utils/operators.d.ts.map +1 -0
  245. package/build-wp/index.js +1548 -1452
  246. package/package.json +17 -16
  247. package/src/components/dataviews/style.scss +3 -28
  248. package/src/components/dataviews-filters/filter.tsx +34 -321
  249. package/src/components/dataviews-filters/input-widget.tsx +7 -5
  250. package/src/components/dataviews-filters/use-filters.ts +6 -3
  251. package/src/components/dataviews-footer/style.scss +1 -7
  252. package/src/constants.ts +6 -140
  253. package/src/dataform-controls/number.tsx +3 -3
  254. package/src/dataform-controls/textarea.tsx +7 -1
  255. package/src/dataform-controls/utils/get-custom-validity.ts +10 -2
  256. package/src/dataform-controls/utils/validated-input.tsx +8 -2
  257. package/src/dataform-controls/utils/validated-number.tsx +3 -1
  258. package/src/dataform-layouts/panel/modal.tsx +14 -5
  259. package/src/dataviews-layouts/activity/style.scss +1 -1
  260. package/src/dataviews-layouts/grid/composite-grid.tsx +64 -57
  261. package/src/dataviews-layouts/grid/style.scss +3 -12
  262. package/src/dataviews-layouts/table/index.tsx +9 -3
  263. package/src/dataviews-layouts/table/style.scss +4 -15
  264. package/src/dataviews-layouts/utils/grid-items.scss +1 -9
  265. package/src/field-types/array.tsx +26 -19
  266. package/src/field-types/boolean.tsx +22 -15
  267. package/src/field-types/color.tsx +22 -15
  268. package/src/field-types/date.tsx +14 -11
  269. package/src/field-types/datetime.tsx +6 -4
  270. package/src/field-types/email.tsx +24 -15
  271. package/src/field-types/index.tsx +12 -14
  272. package/src/field-types/integer.tsx +83 -17
  273. package/src/field-types/media.tsx +4 -4
  274. package/src/field-types/no-type.tsx +9 -6
  275. package/src/field-types/number.tsx +82 -16
  276. package/src/field-types/password.tsx +12 -4
  277. package/src/field-types/telephone.tsx +12 -4
  278. package/src/field-types/text.tsx +12 -4
  279. package/src/field-types/url.tsx +12 -4
  280. package/src/field-types/utils/get-is-valid.ts +103 -0
  281. package/src/field-types/utils/is-valid-elements.ts +20 -0
  282. package/src/field-types/utils/is-valid-max-length.ts +23 -0
  283. package/src/field-types/utils/is-valid-max.ts +23 -0
  284. package/src/field-types/utils/is-valid-min-length.ts +23 -0
  285. package/src/field-types/utils/is-valid-min.ts +23 -0
  286. package/src/field-types/utils/is-valid-pattern.ts +29 -0
  287. package/src/field-types/utils/is-valid-required-for-array.ts +18 -0
  288. package/src/field-types/utils/is-valid-required-for-bool.ts +13 -0
  289. package/src/field-types/utils/is-valid-required.ts +13 -0
  290. package/src/hooks/use-form-validity.ts +78 -156
  291. package/src/stories/dataform.story.tsx +126 -30
  292. package/src/stories/dataviews-picker.story.tsx +27 -17
  293. package/src/stories/dataviews.story.tsx +79 -30
  294. package/src/stories/field-types.story.tsx +86 -4
  295. package/src/test/filter-sort-and-paginate.js +2 -1
  296. package/src/test/normalize-fields.ts +87 -11
  297. package/src/test/use-form-validity.ts +796 -31
  298. package/src/types/field-api.ts +90 -4
  299. package/src/types/private.ts +26 -8
  300. package/src/utils/filter-sort-and-paginate.ts +5 -0
  301. package/src/utils/operators.tsx +448 -0
  302. package/tsconfig.json +1 -0
  303. package/tsconfig.tsbuildinfo +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/filter-sort-and-paginate.ts"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { subDays, subWeeks, subMonths, subYears } from 'date-fns';\n\n/**\n * WordPress dependencies\n */\nimport { getDate } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ANY,\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_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n} from '../constants';\nimport normalizeFields from '../field-types';\nimport type { Field, View } from '../types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\n\n/**\n * Calculates a date offset from now.\n *\n * @param value Number of units to offset.\n * @param unit Unit of time to offset.\n * @return Date offset from now.\n */\nfunction getRelativeDate( value: number, unit: string ): Date {\n\tswitch ( unit ) {\n\t\tcase 'days':\n\t\t\treturn subDays( new Date(), value );\n\t\tcase 'weeks':\n\t\t\treturn subWeeks( new Date(), value );\n\t\tcase 'months':\n\t\t\treturn subMonths( new Date(), value );\n\t\tcase 'years':\n\t\t\treturn subYears( new Date(), value );\n\t\tdefault:\n\t\t\treturn new Date();\n\t}\n}\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param data Raw data.\n * @param view View config.\n * @param fields Fields config.\n *\n * @return Filtered, sorted and paginated data.\n */\nexport default function filterSortAndPaginate< Item >(\n\tdata: Item[],\n\tview: View,\n\tfields: Field< Item >[]\n): {\n\tdata: Item[];\n\tpaginationInfo: { totalItems: number; totalPages: number };\n} {\n\tif ( ! data ) {\n\t\treturn {\n\t\t\tdata: EMPTY_ARRAY,\n\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t};\n\t}\n\tconst _fields = normalizeFields( fields );\n\tlet filteredData = [ ...data ];\n\t// Handle global search.\n\tif ( view.search ) {\n\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\treturn _fields\n\t\t\t\t.filter( ( field ) => field.enableGlobalSearch )\n\t\t\t\t.some( ( field ) => {\n\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\tconst values = Array.isArray( fieldValue )\n\t\t\t\t\t\t? fieldValue\n\t\t\t\t\t\t: [ fieldValue ];\n\t\t\t\t\treturn values.some( ( value ) =>\n\t\t\t\t\t\tnormalizeSearchInput( String( value ) ).includes(\n\t\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t} );\n\t}\n\n\tif ( view.filters && view.filters?.length > 0 ) {\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tconst field = _fields.find(\n\t\t\t\t( _field ) => _field.id === filter.field\n\t\t\t);\n\t\t\tif ( field ) {\n\t\t\t\tif (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn ! filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn ! field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tfilter.value === field.getValue( { item } ) ||\n\t\t\t\t\t\t\tfilter.value === undefined\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_ON &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterDate = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldDate = getDate( field.getValue( { item } ) );\n\t\t\t\t\t\treturn filterDate.getTime() === fieldDate.getTime();\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_ON &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterDate = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldDate = getDate( field.getValue( { item } ) );\n\t\t\t\t\t\treturn filterDate.getTime() !== fieldDate.getTime();\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_LESS_THAN &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue < filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_GREATER_THAN &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue > filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_LESS_THAN_OR_EQUAL &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue <= filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_GREATER_THAN_OR_EQUAL &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue >= filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_CONTAINS &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\tfieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_CONTAINS &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\t! fieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_STARTS_WITH &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\tfieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.startsWith(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BEFORE &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue < filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_AFTER &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue > filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BEFORE_INC &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue <= filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_AFTER_INC &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue >= filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BETWEEN &&\n\t\t\t\t\tArray.isArray( filter.value ) &&\n\t\t\t\t\tfilter.value.length === 2 &&\n\t\t\t\t\tfilter.value[ 0 ] !== undefined &&\n\t\t\t\t\tfilter.value[ 1 ] !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof fieldValue === 'number' ||\n\t\t\t\t\t\t\tfieldValue instanceof Date ||\n\t\t\t\t\t\t\ttypeof fieldValue === 'string'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tfieldValue >= filter.value[ 0 ] &&\n\t\t\t\t\t\t\t\tfieldValue <= filter.value[ 1 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IN_THE_PAST &&\n\t\t\t\t\tfilter.value?.value !== undefined &&\n\t\t\t\t\tfilter.value?.unit !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst targetDate = getRelativeDate(\n\t\t\t\t\t\tfilter.value.value,\n\t\t\t\t\t\tfilter.value.unit\n\t\t\t\t\t);\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tfieldValue >= targetDate && fieldValue <= new Date()\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_OVER &&\n\t\t\t\t\tfilter.value?.value !== undefined &&\n\t\t\t\t\tfilter.value?.unit !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst targetDate = getRelativeDate(\n\t\t\t\t\t\tfilter.value.value,\n\t\t\t\t\t\tfilter.value.unit\n\t\t\t\t\t);\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue < targetDate;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tconst sortByField = view.sort?.field\n\t\t? _fields.find( ( field ) => {\n\t\t\t\treturn field.id === view.sort?.field;\n\t\t } )\n\t\t: null;\n\tconst groupByField = view.groupBy?.field\n\t\t? _fields.find( ( field ) => {\n\t\t\t\treturn field.id === view.groupBy?.field;\n\t\t } )\n\t\t: null;\n\tif ( sortByField || groupByField ) {\n\t\tfilteredData.sort( ( a, b ) => {\n\t\t\tif ( groupByField ) {\n\t\t\t\tconst groupCompare = groupByField.sort(\n\t\t\t\t\ta,\n\t\t\t\t\tb,\n\t\t\t\t\tview.groupBy?.direction ?? 'asc'\n\t\t\t\t);\n\n\t\t\t\t// If items are in different groups, return the group comparison result.\n\t\t\t\t// Otherwise, fall back to sorting by the sort field.\n\t\t\t\tif ( groupCompare !== 0 ) {\n\t\t\t\t\treturn groupCompare;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( sortByField ) {\n\t\t\t\treturn sortByField.sort( a, b, view.sort?.direction ?? 'desc' );\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t} );\n\t}\n\n\t// Handle pagination.\n\tlet totalItems = filteredData.length;\n\tlet totalPages = 1;\n\tif ( view.page !== undefined && view.perPage !== undefined ) {\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\ttotalItems = filteredData?.length || 0;\n\t\ttotalPages = Math.ceil( totalItems / view.perPage );\n\t\tfilteredData = filteredData?.slice( start, start + view.perPage );\n\t}\n\n\treturn {\n\t\tdata: filteredData,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t},\n\t};\n}\n"],
5
- "mappings": "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",
6
- "names": ["removeAccents", "normalizeFields"]
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { subDays, subWeeks, subMonths, subYears } from 'date-fns';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { getDate } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ANY,\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_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n} from '../constants';\nimport normalizeFields from '../field-types';\nimport type { Field, View } from '../types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\n\n/**\n * Calculates a date offset from now.\n *\n * @param value Number of units to offset.\n * @param unit Unit of time to offset.\n * @return Date offset from now.\n */\nfunction getRelativeDate( value: number, unit: string ): Date {\n\tswitch ( unit ) {\n\t\tcase 'days':\n\t\t\treturn subDays( new Date(), value );\n\t\tcase 'weeks':\n\t\t\treturn subWeeks( new Date(), value );\n\t\tcase 'months':\n\t\t\treturn subMonths( new Date(), value );\n\t\tcase 'years':\n\t\t\treturn subYears( new Date(), value );\n\t\tdefault:\n\t\t\treturn new Date();\n\t}\n}\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param data Raw data.\n * @param view View config.\n * @param fields Fields config.\n *\n * @return Filtered, sorted and paginated data.\n */\nexport default function filterSortAndPaginate< Item >(\n\tdata: Item[],\n\tview: View,\n\tfields: Field< Item >[]\n): {\n\tdata: Item[];\n\tpaginationInfo: { totalItems: number; totalPages: number };\n} {\n\tif ( ! data ) {\n\t\treturn {\n\t\t\tdata: EMPTY_ARRAY,\n\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t};\n\t}\n\tconst _fields = normalizeFields( fields );\n\tlet filteredData = [ ...data ];\n\t// Handle global search.\n\tif ( view.search ) {\n\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\treturn _fields\n\t\t\t\t.filter( ( field ) => field.enableGlobalSearch )\n\t\t\t\t.some( ( field ) => {\n\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\tconst values = Array.isArray( fieldValue )\n\t\t\t\t\t\t? fieldValue\n\t\t\t\t\t\t: [ fieldValue ];\n\t\t\t\t\treturn values.some( ( value ) =>\n\t\t\t\t\t\tnormalizeSearchInput( String( value ) ).includes(\n\t\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t} );\n\t}\n\n\tif ( view.filters && view.filters?.length > 0 ) {\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tconst field = _fields.find(\n\t\t\t\t( _field ) => _field.id === filter.field\n\t\t\t);\n\t\t\tif ( field ) {\n\t\t\t\tif (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn ! filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tdeprecated( \"The 'isNotAll' filter operator\", {\n\t\t\t\t\t\tsince: '7.0',\n\t\t\t\t\t\talternative: \"'isNone'\",\n\t\t\t\t\t} );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn ! field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tfilter.value === field.getValue( { item } ) ||\n\t\t\t\t\t\t\tfilter.value === undefined\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_ON &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterDate = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldDate = getDate( field.getValue( { item } ) );\n\t\t\t\t\t\treturn filterDate.getTime() === fieldDate.getTime();\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_ON &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterDate = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldDate = getDate( field.getValue( { item } ) );\n\t\t\t\t\t\treturn filterDate.getTime() !== fieldDate.getTime();\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_LESS_THAN &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue < filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_GREATER_THAN &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue > filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_LESS_THAN_OR_EQUAL &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue <= filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_GREATER_THAN_OR_EQUAL &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn fieldValue >= filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_CONTAINS &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\tfieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_CONTAINS &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\t! fieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_STARTS_WITH &&\n\t\t\t\t\tfilter?.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof fieldValue === 'string' &&\n\t\t\t\t\t\t\tfilter.value &&\n\t\t\t\t\t\t\tfieldValue\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.startsWith(\n\t\t\t\t\t\t\t\t\tString( filter.value ).toLowerCase()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BEFORE &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue < filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_AFTER &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue > filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BEFORE_INC &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue <= filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_AFTER_INC &&\n\t\t\t\t\tfilter.value !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst filterValue = getDate( filter.value );\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue >= filterValue;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_BETWEEN &&\n\t\t\t\t\tArray.isArray( filter.value ) &&\n\t\t\t\t\tfilter.value.length === 2 &&\n\t\t\t\t\tfilter.value[ 0 ] !== undefined &&\n\t\t\t\t\tfilter.value[ 1 ] !== undefined\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof fieldValue === 'number' ||\n\t\t\t\t\t\t\tfieldValue instanceof Date ||\n\t\t\t\t\t\t\ttypeof fieldValue === 'string'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tfieldValue >= filter.value[ 0 ] &&\n\t\t\t\t\t\t\t\tfieldValue <= filter.value[ 1 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IN_THE_PAST &&\n\t\t\t\t\tfilter.value?.value !== undefined &&\n\t\t\t\t\tfilter.value?.unit !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst targetDate = getRelativeDate(\n\t\t\t\t\t\tfilter.value.value,\n\t\t\t\t\t\tfilter.value.unit\n\t\t\t\t\t);\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tfieldValue >= targetDate && fieldValue <= new Date()\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_OVER &&\n\t\t\t\t\tfilter.value?.value !== undefined &&\n\t\t\t\t\tfilter.value?.unit !== undefined\n\t\t\t\t) {\n\t\t\t\t\tconst targetDate = getRelativeDate(\n\t\t\t\t\t\tfilter.value.value,\n\t\t\t\t\t\tfilter.value.unit\n\t\t\t\t\t);\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = getDate(\n\t\t\t\t\t\t\tfield.getValue( { item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn fieldValue < targetDate;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tconst sortByField = view.sort?.field\n\t\t? _fields.find( ( field ) => {\n\t\t\t\treturn field.id === view.sort?.field;\n\t\t } )\n\t\t: null;\n\tconst groupByField = view.groupBy?.field\n\t\t? _fields.find( ( field ) => {\n\t\t\t\treturn field.id === view.groupBy?.field;\n\t\t } )\n\t\t: null;\n\tif ( sortByField || groupByField ) {\n\t\tfilteredData.sort( ( a, b ) => {\n\t\t\tif ( groupByField ) {\n\t\t\t\tconst groupCompare = groupByField.sort(\n\t\t\t\t\ta,\n\t\t\t\t\tb,\n\t\t\t\t\tview.groupBy?.direction ?? 'asc'\n\t\t\t\t);\n\n\t\t\t\t// If items are in different groups, return the group comparison result.\n\t\t\t\t// Otherwise, fall back to sorting by the sort field.\n\t\t\t\tif ( groupCompare !== 0 ) {\n\t\t\t\t\treturn groupCompare;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( sortByField ) {\n\t\t\t\treturn sortByField.sort( a, b, view.sort?.direction ?? 'desc' );\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t} );\n\t}\n\n\t// Handle pagination.\n\tlet totalItems = filteredData.length;\n\tlet totalPages = 1;\n\tif ( view.page !== undefined && view.perPage !== undefined ) {\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\ttotalItems = filteredData?.length || 0;\n\t\ttotalPages = Math.ceil( totalItems / view.perPage );\n\t\tfilteredData = filteredData?.slice( start, start + view.perPage );\n\t}\n\n\treturn {\n\t\tdata: filteredData,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t},\n\t};\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["removeAccents", "normalizeFields", "deprecated"]
7
7
  }
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/dataviews/src/utils/operators.tsx
21
+ var operators_exports = {};
22
+ __export(operators_exports, {
23
+ getAllOperatorNames: () => getAllOperatorNames,
24
+ getOperatorByName: () => getOperatorByName,
25
+ isRegisteredOperator: () => isRegisteredOperator,
26
+ isSingleSelectionOperator: () => isSingleSelectionOperator
27
+ });
28
+ module.exports = __toCommonJS(operators_exports);
29
+ var import_i18n = require("@wordpress/i18n");
30
+ var import_element = require("@wordpress/element");
31
+ var import_constants = require("../constants");
32
+ var import_jsx_runtime = require("react/jsx-runtime");
33
+ var filterTextWrappers = {
34
+ Name: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dataviews-filters__summary-filter-text-name" }),
35
+ Value: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dataviews-filters__summary-filter-text-value" })
36
+ };
37
+ var OPERATORS = [
38
+ {
39
+ name: import_constants.OPERATOR_IS_ANY,
40
+ /* translators: DataViews operator name */
41
+ label: (0, import_i18n.__)("Includes"),
42
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
43
+ (0, import_i18n.sprintf)(
44
+ /* translators: 1: Filter name (e.g. "Author"). 2: Filter value (e.g. "Admin"): "Author is any: Admin, Editor". */
45
+ (0, import_i18n.__)("<Name>%1$s includes: </Name><Value>%2$s</Value>"),
46
+ filter.name,
47
+ activeElements.map((element) => element.label).join(", ")
48
+ ),
49
+ filterTextWrappers
50
+ ),
51
+ selection: "multi"
52
+ },
53
+ {
54
+ name: import_constants.OPERATOR_IS_NONE,
55
+ /* translators: DataViews operator name */
56
+ label: (0, import_i18n.__)("Is none of"),
57
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
58
+ (0, import_i18n.sprintf)(
59
+ /* translators: 1: Filter name (e.g. "Author"). 2: Filter value (e.g. "Admin"): "Author is none of: Admin, Editor". */
60
+ (0, import_i18n.__)("<Name>%1$s is none of: </Name><Value>%2$s</Value>"),
61
+ filter.name,
62
+ activeElements.map((element) => element.label).join(", ")
63
+ ),
64
+ filterTextWrappers
65
+ ),
66
+ selection: "multi"
67
+ },
68
+ {
69
+ name: import_constants.OPERATOR_IS_ALL,
70
+ /* translators: DataViews operator name */
71
+ label: (0, import_i18n.__)("Includes all"),
72
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
73
+ (0, import_i18n.sprintf)(
74
+ /* translators: 1: Filter name (e.g. "Author"). 2: Filter value (e.g. "Admin"): "Author includes all: Admin, Editor". */
75
+ (0, import_i18n.__)("<Name>%1$s includes all: </Name><Value>%2$s</Value>"),
76
+ filter.name,
77
+ activeElements.map((element) => element.label).join(", ")
78
+ ),
79
+ filterTextWrappers
80
+ ),
81
+ selection: "multi"
82
+ },
83
+ {
84
+ name: import_constants.OPERATOR_IS_NOT_ALL,
85
+ /* translators: DataViews operator name */
86
+ label: (0, import_i18n.__)("Is none of"),
87
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
88
+ (0, import_i18n.sprintf)(
89
+ /* translators: 1: Filter name (e.g. "Author"). 2: Filter value (e.g. "Admin"): "Author is none of: Admin, Editor". */
90
+ (0, import_i18n.__)("<Name>%1$s is none of: </Name><Value>%2$s</Value>"),
91
+ filter.name,
92
+ activeElements.map((element) => element.label).join(", ")
93
+ ),
94
+ filterTextWrappers
95
+ ),
96
+ selection: "multi"
97
+ },
98
+ {
99
+ name: import_constants.OPERATOR_BETWEEN,
100
+ /* translators: DataViews operator name */
101
+ label: (0, import_i18n.__)("Between (inc)"),
102
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
103
+ (0, import_i18n.sprintf)(
104
+ /* translators: 1: Filter name (e.g. "Item count"). 2: Filter value min. 3: Filter value max. e.g.: "Item count between (inc): 10 and 180". */
105
+ (0, import_i18n.__)(
106
+ "<Name>%1$s between (inc): </Name><Value>%2$s and %3$s</Value>"
107
+ ),
108
+ filter.name,
109
+ activeElements[0].label[0],
110
+ activeElements[0].label[1]
111
+ ),
112
+ filterTextWrappers
113
+ ),
114
+ selection: "custom"
115
+ },
116
+ {
117
+ name: import_constants.OPERATOR_IN_THE_PAST,
118
+ /* translators: DataViews operator name */
119
+ label: (0, import_i18n.__)("In the past"),
120
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
121
+ (0, import_i18n.sprintf)(
122
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "7 days"): "Date is in the past: 7 days". */
123
+ (0, import_i18n.__)(
124
+ "<Name>%1$s is in the past: </Name><Value>%2$s</Value>"
125
+ ),
126
+ filter.name,
127
+ `${activeElements[0].value.value} ${activeElements[0].value.unit}`
128
+ ),
129
+ filterTextWrappers
130
+ ),
131
+ selection: "custom"
132
+ },
133
+ {
134
+ name: import_constants.OPERATOR_OVER,
135
+ /* translators: DataViews operator name */
136
+ label: (0, import_i18n.__)("Over"),
137
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
138
+ (0, import_i18n.sprintf)(
139
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "7 days"): "Date is over: 7 days". */
140
+ (0, import_i18n.__)("<Name>%1$s is over: </Name><Value>%2$s</Value>"),
141
+ filter.name,
142
+ `${activeElements[0].value.value} ${activeElements[0].value.unit}`
143
+ ),
144
+ filterTextWrappers
145
+ ),
146
+ selection: "custom"
147
+ },
148
+ {
149
+ name: import_constants.OPERATOR_IS,
150
+ /* translators: DataViews operator name */
151
+ label: (0, import_i18n.__)("Is"),
152
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
153
+ (0, import_i18n.sprintf)(
154
+ /* translators: 1: Filter name (e.g. "Author"). 2: Filter value (e.g. "Admin"): "Author is: Admin". */
155
+ (0, import_i18n.__)("<Name>%1$s is: </Name><Value>%2$s</Value>"),
156
+ filter.name,
157
+ activeElements[0].label
158
+ ),
159
+ filterTextWrappers
160
+ ),
161
+ selection: "single"
162
+ },
163
+ {
164
+ name: import_constants.OPERATOR_IS_NOT,
165
+ /* translators: DataViews operator name */
166
+ label: (0, import_i18n.__)("Is not"),
167
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
168
+ (0, import_i18n.sprintf)(
169
+ /* translators: 1: Filter name (e.g. "Author"). 2: Filter value (e.g. "Admin"): "Author is not: Admin". */
170
+ (0, import_i18n.__)("<Name>%1$s is not: </Name><Value>%2$s</Value>"),
171
+ filter.name,
172
+ activeElements[0].label
173
+ ),
174
+ filterTextWrappers
175
+ ),
176
+ selection: "single"
177
+ },
178
+ {
179
+ name: import_constants.OPERATOR_LESS_THAN,
180
+ /* translators: DataViews operator name */
181
+ label: (0, import_i18n.__)("Less than"),
182
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
183
+ (0, import_i18n.sprintf)(
184
+ /* translators: 1: Filter name (e.g. "Count"). 2: Filter value (e.g. "10"): "Count is less than: 10". */
185
+ (0, import_i18n.__)("<Name>%1$s is less than: </Name><Value>%2$s</Value>"),
186
+ filter.name,
187
+ activeElements[0].label
188
+ ),
189
+ filterTextWrappers
190
+ ),
191
+ selection: "single"
192
+ },
193
+ {
194
+ name: import_constants.OPERATOR_GREATER_THAN,
195
+ /* translators: DataViews operator name */
196
+ label: (0, import_i18n.__)("Greater than"),
197
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
198
+ (0, import_i18n.sprintf)(
199
+ /* translators: 1: Filter name (e.g. "Count"). 2: Filter value (e.g. "10"): "Count is greater than: 10". */
200
+ (0, import_i18n.__)(
201
+ "<Name>%1$s is greater than: </Name><Value>%2$s</Value>"
202
+ ),
203
+ filter.name,
204
+ activeElements[0].label
205
+ ),
206
+ filterTextWrappers
207
+ ),
208
+ selection: "single"
209
+ },
210
+ {
211
+ name: import_constants.OPERATOR_LESS_THAN_OR_EQUAL,
212
+ /* translators: DataViews operator name */
213
+ label: (0, import_i18n.__)("Less than or equal"),
214
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
215
+ (0, import_i18n.sprintf)(
216
+ /* translators: 1: Filter name (e.g. "Count"). 2: Filter value (e.g. "10"): "Count is less than or equal to: 10". */
217
+ (0, import_i18n.__)(
218
+ "<Name>%1$s is less than or equal to: </Name><Value>%2$s</Value>"
219
+ ),
220
+ filter.name,
221
+ activeElements[0].label
222
+ ),
223
+ filterTextWrappers
224
+ ),
225
+ selection: "single"
226
+ },
227
+ {
228
+ name: import_constants.OPERATOR_GREATER_THAN_OR_EQUAL,
229
+ /* translators: DataViews operator name */
230
+ label: (0, import_i18n.__)("Greater than or equal"),
231
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
232
+ (0, import_i18n.sprintf)(
233
+ /* translators: 1: Filter name (e.g. "Count"). 2: Filter value (e.g. "10"): "Count is greater than or equal to: 10". */
234
+ (0, import_i18n.__)(
235
+ "<Name>%1$s is greater than or equal to: </Name><Value>%2$s</Value>"
236
+ ),
237
+ filter.name,
238
+ activeElements[0].label
239
+ ),
240
+ filterTextWrappers
241
+ ),
242
+ selection: "single"
243
+ },
244
+ {
245
+ name: import_constants.OPERATOR_BEFORE,
246
+ /* translators: DataViews operator name */
247
+ label: (0, import_i18n.__)("Before"),
248
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
249
+ (0, import_i18n.sprintf)(
250
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "2024-01-01"): "Date is before: 2024-01-01". */
251
+ (0, import_i18n.__)("<Name>%1$s is before: </Name><Value>%2$s</Value>"),
252
+ filter.name,
253
+ activeElements[0].label
254
+ ),
255
+ filterTextWrappers
256
+ ),
257
+ selection: "single"
258
+ },
259
+ {
260
+ name: import_constants.OPERATOR_AFTER,
261
+ /* translators: DataViews operator name */
262
+ label: (0, import_i18n.__)("After"),
263
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
264
+ (0, import_i18n.sprintf)(
265
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "2024-01-01"): "Date is after: 2024-01-01". */
266
+ (0, import_i18n.__)("<Name>%1$s is after: </Name><Value>%2$s</Value>"),
267
+ filter.name,
268
+ activeElements[0].label
269
+ ),
270
+ filterTextWrappers
271
+ ),
272
+ selection: "single"
273
+ },
274
+ {
275
+ name: import_constants.OPERATOR_BEFORE_INC,
276
+ /* translators: DataViews operator name */
277
+ label: (0, import_i18n.__)("Before (inc)"),
278
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
279
+ (0, import_i18n.sprintf)(
280
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "2024-01-01"): "Date is on or before: 2024-01-01". */
281
+ (0, import_i18n.__)(
282
+ "<Name>%1$s is on or before: </Name><Value>%2$s</Value>"
283
+ ),
284
+ filter.name,
285
+ activeElements[0].label
286
+ ),
287
+ filterTextWrappers
288
+ ),
289
+ selection: "single"
290
+ },
291
+ {
292
+ name: import_constants.OPERATOR_AFTER_INC,
293
+ /* translators: DataViews operator name */
294
+ label: (0, import_i18n.__)("After (inc)"),
295
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
296
+ (0, import_i18n.sprintf)(
297
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "2024-01-01"): "Date is on or after: 2024-01-01". */
298
+ (0, import_i18n.__)(
299
+ "<Name>%1$s is on or after: </Name><Value>%2$s</Value>"
300
+ ),
301
+ filter.name,
302
+ activeElements[0].label
303
+ ),
304
+ filterTextWrappers
305
+ ),
306
+ selection: "single"
307
+ },
308
+ {
309
+ name: import_constants.OPERATOR_CONTAINS,
310
+ /* translators: DataViews operator name */
311
+ label: (0, import_i18n.__)("Contains"),
312
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
313
+ (0, import_i18n.sprintf)(
314
+ /* translators: 1: Filter name (e.g. "Title"). 2: Filter value (e.g. "Hello"): "Title contains: Hello". */
315
+ (0, import_i18n.__)("<Name>%1$s contains: </Name><Value>%2$s</Value>"),
316
+ filter.name,
317
+ activeElements[0].label
318
+ ),
319
+ filterTextWrappers
320
+ ),
321
+ selection: "single"
322
+ },
323
+ {
324
+ name: import_constants.OPERATOR_NOT_CONTAINS,
325
+ /* translators: DataViews operator name */
326
+ label: (0, import_i18n.__)("Doesn't contain"),
327
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
328
+ (0, import_i18n.sprintf)(
329
+ /* translators: 1: Filter name (e.g. "Title"). 2: Filter value (e.g. "Hello"): "Title doesn't contain: Hello". */
330
+ (0, import_i18n.__)(
331
+ "<Name>%1$s doesn't contain: </Name><Value>%2$s</Value>"
332
+ ),
333
+ filter.name,
334
+ activeElements[0].label
335
+ ),
336
+ filterTextWrappers
337
+ ),
338
+ selection: "single"
339
+ },
340
+ {
341
+ name: import_constants.OPERATOR_STARTS_WITH,
342
+ /* translators: DataViews operator name */
343
+ label: (0, import_i18n.__)("Starts with"),
344
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
345
+ (0, import_i18n.sprintf)(
346
+ /* translators: 1: Filter name (e.g. "Title"). 2: Filter value (e.g. "Hello"): "Title starts with: Hello". */
347
+ (0, import_i18n.__)("<Name>%1$s starts with: </Name><Value>%2$s</Value>"),
348
+ filter.name,
349
+ activeElements[0].label
350
+ ),
351
+ filterTextWrappers
352
+ ),
353
+ selection: "single"
354
+ },
355
+ {
356
+ name: import_constants.OPERATOR_ON,
357
+ /* translators: DataViews operator name */
358
+ label: (0, import_i18n.__)("On"),
359
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
360
+ (0, import_i18n.sprintf)(
361
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "2024-01-01"): "Date is: 2024-01-01". */
362
+ (0, import_i18n.__)("<Name>%1$s is: </Name><Value>%2$s</Value>"),
363
+ filter.name,
364
+ activeElements[0].label
365
+ ),
366
+ filterTextWrappers
367
+ ),
368
+ selection: "single"
369
+ },
370
+ {
371
+ name: import_constants.OPERATOR_NOT_ON,
372
+ /* translators: DataViews operator name */
373
+ label: (0, import_i18n.__)("Not on"),
374
+ filterText: (filter, activeElements) => (0, import_element.createInterpolateElement)(
375
+ (0, import_i18n.sprintf)(
376
+ /* translators: 1: Filter name (e.g. "Date"). 2: Filter value (e.g. "2024-01-01"): "Date is not: 2024-01-01". */
377
+ (0, import_i18n.__)("<Name>%1$s is not: </Name><Value>%2$s</Value>"),
378
+ filter.name,
379
+ activeElements[0].label
380
+ ),
381
+ filterTextWrappers
382
+ ),
383
+ selection: "single"
384
+ }
385
+ ];
386
+ var getOperatorByName = (name) => OPERATORS.find((op) => op.name === name);
387
+ var getAllOperatorNames = () => OPERATORS.map((op) => op.name);
388
+ var isSingleSelectionOperator = (name) => OPERATORS.filter((op) => op.selection === "single").some(
389
+ (op) => op.name === name
390
+ );
391
+ var isRegisteredOperator = (name) => OPERATORS.some((op) => op.name === name);
392
+ // Annotate the CommonJS export names for ESM import in node:
393
+ 0 && (module.exports = {
394
+ getAllOperatorNames,
395
+ getOperatorByName,
396
+ isRegisteredOperator,
397
+ isSingleSelectionOperator
398
+ });
399
+ //# sourceMappingURL=operators.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/operators.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\nimport type { ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { NormalizedFilter, Operator, Option } from '../types';\nimport {\n\tOPERATOR_AFTER,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_BEFORE,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_IS,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_ON,\n\tOPERATOR_OVER,\n\tOPERATOR_STARTS_WITH,\n} from '../constants';\n\nconst filterTextWrappers = {\n\tName: <span className=\"dataviews-filters__summary-filter-text-name\" />,\n\tValue: <span className=\"dataviews-filters__summary-filter-text-value\" />,\n};\n\nconst OPERATORS: {\n\tname: Operator;\n\tlabel: string;\n\tfilterText: (\n\t\tfilter: NormalizedFilter,\n\t\tactiveElements: Option[]\n\t) => ReactElement;\n\tselection: 'single' | 'multi' | 'custom';\n}[] = [\n\t{\n\t\tname: OPERATOR_IS_ANY,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Includes' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Author\"). 2: Filter value (e.g. \"Admin\"): \"Author is any: Admin, Editor\". */\n\t\t\t\t\t__( '<Name>%1$s includes: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements\n\t\t\t\t\t\t.map( ( element ) => element.label )\n\t\t\t\t\t\t.join( ', ' )\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'multi',\n\t},\n\t{\n\t\tname: OPERATOR_IS_NONE,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Is none of' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Author\"). 2: Filter value (e.g. \"Admin\"): \"Author is none of: Admin, Editor\". */\n\t\t\t\t\t__( '<Name>%1$s is none of: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements\n\t\t\t\t\t\t.map( ( element ) => element.label )\n\t\t\t\t\t\t.join( ', ' )\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'multi',\n\t},\n\t{\n\t\tname: OPERATOR_IS_ALL,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Includes all' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Author\"). 2: Filter value (e.g. \"Admin\"): \"Author includes all: Admin, Editor\". */\n\t\t\t\t\t__( '<Name>%1$s includes all: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements\n\t\t\t\t\t\t.map( ( element ) => element.label )\n\t\t\t\t\t\t.join( ', ' )\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'multi',\n\t},\n\t{\n\t\tname: OPERATOR_IS_NOT_ALL,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Is none of' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Author\"). 2: Filter value (e.g. \"Admin\"): \"Author is none of: Admin, Editor\". */\n\t\t\t\t\t__( '<Name>%1$s is none of: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements\n\t\t\t\t\t\t.map( ( element ) => element.label )\n\t\t\t\t\t\t.join( ', ' )\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'multi',\n\t},\n\t{\n\t\tname: OPERATOR_BETWEEN,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Between (inc)' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Item count\"). 2: Filter value min. 3: Filter value max. e.g.: \"Item count between (inc): 10 and 180\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'<Name>%1$s between (inc): </Name><Value>%2$s and %3$s</Value>'\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label[ 0 ],\n\t\t\t\t\tactiveElements[ 0 ].label[ 1 ]\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'custom',\n\t},\n\t{\n\t\tname: OPERATOR_IN_THE_PAST,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'In the past' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"7 days\"): \"Date is in the past: 7 days\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'<Name>%1$s is in the past: </Name><Value>%2$s</Value>'\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'custom',\n\t},\n\t{\n\t\tname: OPERATOR_OVER,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Over' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"7 days\"): \"Date is over: 7 days\". */\n\t\t\t\t\t__( '<Name>%1$s is over: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'custom',\n\t},\n\t{\n\t\tname: OPERATOR_IS,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Is' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Author\"). 2: Filter value (e.g. \"Admin\"): \"Author is: Admin\". */\n\t\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_IS_NOT,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Is not' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Author\"). 2: Filter value (e.g. \"Admin\"): \"Author is not: Admin\". */\n\t\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_LESS_THAN,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Less than' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Count\"). 2: Filter value (e.g. \"10\"): \"Count is less than: 10\". */\n\t\t\t\t\t__( '<Name>%1$s is less than: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_GREATER_THAN,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Greater than' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Count\"). 2: Filter value (e.g. \"10\"): \"Count is greater than: 10\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'<Name>%1$s is greater than: </Name><Value>%2$s</Value>'\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_LESS_THAN_OR_EQUAL,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Less than or equal' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Count\"). 2: Filter value (e.g. \"10\"): \"Count is less than or equal to: 10\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'<Name>%1$s is less than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_GREATER_THAN_OR_EQUAL,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Greater than or equal' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Count\"). 2: Filter value (e.g. \"10\"): \"Count is greater than or equal to: 10\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'<Name>%1$s is greater than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_BEFORE,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Before' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"2024-01-01\"): \"Date is before: 2024-01-01\". */\n\t\t\t\t\t__( '<Name>%1$s is before: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_AFTER,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'After' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"2024-01-01\"): \"Date is after: 2024-01-01\". */\n\t\t\t\t\t__( '<Name>%1$s is after: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_BEFORE_INC,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Before (inc)' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"2024-01-01\"): \"Date is on or before: 2024-01-01\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'<Name>%1$s is on or before: </Name><Value>%2$s</Value>'\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_AFTER_INC,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'After (inc)' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"2024-01-01\"): \"Date is on or after: 2024-01-01\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'<Name>%1$s is on or after: </Name><Value>%2$s</Value>'\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_CONTAINS,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Contains' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Title\"). 2: Filter value (e.g. \"Hello\"): \"Title contains: Hello\". */\n\t\t\t\t\t__( '<Name>%1$s contains: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_NOT_CONTAINS,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( \"Doesn't contain\" ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Title\"). 2: Filter value (e.g. \"Hello\"): \"Title doesn't contain: Hello\". */\n\t\t\t\t\t__(\n\t\t\t\t\t\t\"<Name>%1$s doesn't contain: </Name><Value>%2$s</Value>\"\n\t\t\t\t\t),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_STARTS_WITH,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Starts with' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Title\"). 2: Filter value (e.g. \"Hello\"): \"Title starts with: Hello\". */\n\t\t\t\t\t__( '<Name>%1$s starts with: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_ON,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'On' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"2024-01-01\"): \"Date is: 2024-01-01\". */\n\t\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n\t{\n\t\tname: OPERATOR_NOT_ON,\n\t\t/* translators: DataViews operator name */\n\t\tlabel: __( 'Not on' ),\n\t\tfilterText: ( filter: NormalizedFilter, activeElements: Option[] ) =>\n\t\t\tcreateInterpolateElement(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: 1: Filter name (e.g. \"Date\"). 2: Filter value (e.g. \"2024-01-01\"): \"Date is not: 2024-01-01\". */\n\t\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\t\tfilter.name,\n\t\t\t\t\tactiveElements[ 0 ].label\n\t\t\t\t),\n\t\t\t\tfilterTextWrappers\n\t\t\t),\n\t\tselection: 'single',\n\t},\n];\n\nconst getOperatorByName = ( name: string | undefined ) =>\n\tOPERATORS.find( ( op ) => op.name === name );\n\nconst getAllOperatorNames = () => OPERATORS.map( ( op ) => op.name );\n\nconst isSingleSelectionOperator = ( name: string ) =>\n\tOPERATORS.filter( ( op ) => op.selection === 'single' ).some(\n\t\t( op ) => op.name === name\n\t);\n\nconst isRegisteredOperator = ( name: string ) =>\n\tOPERATORS.some( ( op ) => op.name === name );\n\nexport {\n\tgetOperatorByName,\n\tgetAllOperatorNames,\n\tisSingleSelectionOperator,\n\tisRegisteredOperator,\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }