@wordpress/dataviews 4.22.0 → 5.0.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 (343) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +147 -32
  3. package/build/components/dataviews/index.js +71 -37
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-context/index.js +15 -1
  6. package/build/components/dataviews-context/index.js.map +1 -1
  7. package/build/components/dataviews-filters/{filter-summary.js → filter.js} +108 -17
  8. package/build/components/dataviews-filters/filter.js.map +1 -0
  9. package/build/components/dataviews-filters/index.js +21 -20
  10. package/build/components/dataviews-filters/index.js.map +1 -1
  11. package/build/components/dataviews-filters/input-widget.js +76 -0
  12. package/build/components/dataviews-filters/input-widget.js.map +1 -0
  13. package/build/components/dataviews-filters/search-widget.js +33 -39
  14. package/build/components/dataviews-filters/search-widget.js.map +1 -1
  15. package/build/components/dataviews-filters/utils.js +25 -0
  16. package/build/components/dataviews-filters/utils.js.map +1 -0
  17. package/build/components/dataviews-item-actions/index.js +1 -1
  18. package/build/components/dataviews-item-actions/index.js.map +1 -1
  19. package/build/components/dataviews-layout/index.js +7 -2
  20. package/build/components/dataviews-layout/index.js.map +1 -1
  21. package/build/components/dataviews-pagination/index.js +4 -3
  22. package/build/components/dataviews-pagination/index.js.map +1 -1
  23. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  24. package/build/components/dataviews-view-config/index.js +10 -19
  25. package/build/components/dataviews-view-config/index.js.map +1 -1
  26. package/build/constants.js +83 -2
  27. package/build/constants.js.map +1 -1
  28. package/build/dataform-controls/boolean.js +42 -0
  29. package/build/dataform-controls/boolean.js.map +1 -0
  30. package/build/dataform-controls/checkbox.js +44 -0
  31. package/build/dataform-controls/checkbox.js.map +1 -0
  32. package/build/dataform-controls/datetime.js +96 -2
  33. package/build/dataform-controls/datetime.js.map +1 -1
  34. package/build/dataform-controls/email.js +48 -0
  35. package/build/dataform-controls/email.js.map +1 -0
  36. package/build/dataform-controls/index.js +9 -1
  37. package/build/dataform-controls/index.js.map +1 -1
  38. package/build/dataform-controls/integer.js +49 -1
  39. package/build/dataform-controls/integer.js.map +1 -1
  40. package/build/dataform-controls/select.js +1 -0
  41. package/build/dataform-controls/select.js.map +1 -1
  42. package/build/dataform-controls/text.js +3 -1
  43. package/build/dataform-controls/text.js.map +1 -1
  44. package/build/dataform-controls/toggle-group.js +52 -0
  45. package/build/dataform-controls/toggle-group.js.map +1 -0
  46. package/build/dataforms-layouts/data-form-layout.js +1 -1
  47. package/build/dataforms-layouts/data-form-layout.js.map +1 -1
  48. package/build/dataforms-layouts/panel/index.js +14 -5
  49. package/build/dataforms-layouts/panel/index.js.map +1 -1
  50. package/build/dataforms-layouts/regular/index.js +23 -4
  51. package/build/dataforms-layouts/regular/index.js.map +1 -1
  52. package/build/dataviews-layouts/grid/index.js +89 -27
  53. package/build/dataviews-layouts/grid/index.js.map +1 -1
  54. package/build/dataviews-layouts/list/index.js +11 -6
  55. package/build/dataviews-layouts/list/index.js.map +1 -1
  56. package/build/dataviews-layouts/table/column-header-menu.js +9 -7
  57. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  58. package/build/dataviews-layouts/table/column-primary.js +18 -13
  59. package/build/dataviews-layouts/table/column-primary.js.map +1 -1
  60. package/build/dataviews-layouts/table/index.js +46 -14
  61. package/build/dataviews-layouts/table/index.js.map +1 -1
  62. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js +65 -0
  63. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -0
  64. package/build/dataviews-layouts/utils/item-click-wrapper.js +77 -0
  65. package/build/dataviews-layouts/utils/item-click-wrapper.js.map +1 -0
  66. package/build/field-types/array.js +62 -0
  67. package/build/field-types/array.js.map +1 -0
  68. package/build/field-types/boolean.js +71 -0
  69. package/build/field-types/boolean.js.map +1 -0
  70. package/build/field-types/date.js +57 -0
  71. package/build/field-types/date.js.map +1 -0
  72. package/build/field-types/datetime.js +19 -1
  73. package/build/field-types/datetime.js.map +1 -1
  74. package/build/field-types/email.js +60 -0
  75. package/build/field-types/email.js.map +1 -0
  76. package/build/field-types/index.js +42 -1
  77. package/build/field-types/index.js.map +1 -1
  78. package/build/field-types/integer.js +23 -1
  79. package/build/field-types/integer.js.map +1 -1
  80. package/build/field-types/media.js +31 -0
  81. package/build/field-types/media.js.map +1 -0
  82. package/build/field-types/text.js +23 -1
  83. package/build/field-types/text.js.map +1 -1
  84. package/build/filter-and-sort-data-view.js +174 -11
  85. package/build/filter-and-sort-data-view.js.map +1 -1
  86. package/build/normalize-fields.js +72 -11
  87. package/build/normalize-fields.js.map +1 -1
  88. package/build/types.js.map +1 -1
  89. package/build/utils.js +11 -19
  90. package/build/utils.js.map +1 -1
  91. package/build-module/components/dataviews/index.js +74 -40
  92. package/build-module/components/dataviews/index.js.map +1 -1
  93. package/build-module/components/dataviews-context/index.js +16 -2
  94. package/build-module/components/dataviews-context/index.js.map +1 -1
  95. package/build-module/components/dataviews-filters/filter.js +309 -0
  96. package/build-module/components/dataviews-filters/filter.js.map +1 -0
  97. package/build-module/components/dataviews-filters/index.js +22 -21
  98. package/build-module/components/dataviews-filters/index.js.map +1 -1
  99. package/build-module/components/dataviews-filters/input-widget.js +69 -0
  100. package/build-module/components/dataviews-filters/input-widget.js.map +1 -0
  101. package/build-module/components/dataviews-filters/search-widget.js +31 -37
  102. package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
  103. package/build-module/components/dataviews-filters/utils.js +18 -0
  104. package/build-module/components/dataviews-filters/utils.js.map +1 -0
  105. package/build-module/components/dataviews-item-actions/index.js +1 -1
  106. package/build-module/components/dataviews-item-actions/index.js.map +1 -1
  107. package/build-module/components/dataviews-layout/index.js +7 -2
  108. package/build-module/components/dataviews-layout/index.js.map +1 -1
  109. package/build-module/components/dataviews-pagination/index.js +4 -4
  110. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  111. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  112. package/build-module/components/dataviews-view-config/index.js +9 -20
  113. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  114. package/build-module/constants.js +82 -1
  115. package/build-module/constants.js.map +1 -1
  116. package/build-module/dataform-controls/boolean.js +35 -0
  117. package/build-module/dataform-controls/boolean.js.map +1 -0
  118. package/build-module/dataform-controls/checkbox.js +37 -0
  119. package/build-module/dataform-controls/checkbox.js.map +1 -0
  120. package/build-module/dataform-controls/datetime.js +98 -3
  121. package/build-module/dataform-controls/datetime.js.map +1 -1
  122. package/build-module/dataform-controls/email.js +41 -0
  123. package/build-module/dataform-controls/email.js.map +1 -0
  124. package/build-module/dataform-controls/index.js +9 -1
  125. package/build-module/dataform-controls/index.js.map +1 -1
  126. package/build-module/dataform-controls/integer.js +51 -3
  127. package/build-module/dataform-controls/integer.js.map +1 -1
  128. package/build-module/dataform-controls/select.js +1 -0
  129. package/build-module/dataform-controls/select.js.map +1 -1
  130. package/build-module/dataform-controls/text.js +3 -1
  131. package/build-module/dataform-controls/text.js.map +1 -1
  132. package/build-module/dataform-controls/toggle-group.js +45 -0
  133. package/build-module/dataform-controls/toggle-group.js.map +1 -0
  134. package/build-module/dataforms-layouts/data-form-layout.js +1 -1
  135. package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
  136. package/build-module/dataforms-layouts/panel/index.js +14 -5
  137. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  138. package/build-module/dataforms-layouts/regular/index.js +23 -4
  139. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  140. package/build-module/dataviews-layouts/grid/index.js +90 -29
  141. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  142. package/build-module/dataviews-layouts/list/index.js +11 -6
  143. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  144. package/build-module/dataviews-layouts/table/column-header-menu.js +9 -7
  145. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  146. package/build-module/dataviews-layouts/table/column-primary.js +18 -12
  147. package/build-module/dataviews-layouts/table/column-primary.js.map +1 -1
  148. package/build-module/dataviews-layouts/table/index.js +47 -16
  149. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  150. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js +58 -0
  151. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +1 -0
  152. package/build-module/dataviews-layouts/utils/item-click-wrapper.js +71 -0
  153. package/build-module/dataviews-layouts/utils/item-click-wrapper.js.map +1 -0
  154. package/build-module/field-types/array.js +57 -0
  155. package/build-module/field-types/array.js.map +1 -0
  156. package/build-module/field-types/boolean.js +65 -0
  157. package/build-module/field-types/boolean.js.map +1 -0
  158. package/build-module/field-types/date.js +51 -0
  159. package/build-module/field-types/date.js.map +1 -0
  160. package/build-module/field-types/datetime.js +19 -1
  161. package/build-module/field-types/datetime.js.map +1 -1
  162. package/build-module/field-types/email.js +54 -0
  163. package/build-module/field-types/email.js.map +1 -0
  164. package/build-module/field-types/index.js +42 -1
  165. package/build-module/field-types/index.js.map +1 -1
  166. package/build-module/field-types/integer.js +23 -1
  167. package/build-module/field-types/integer.js.map +1 -1
  168. package/build-module/field-types/media.js +25 -0
  169. package/build-module/field-types/media.js.map +1 -0
  170. package/build-module/field-types/text.js +23 -1
  171. package/build-module/field-types/text.js.map +1 -1
  172. package/build-module/filter-and-sort-data-view.js +175 -12
  173. package/build-module/filter-and-sort-data-view.js.map +1 -1
  174. package/build-module/normalize-fields.js +72 -11
  175. package/build-module/normalize-fields.js.map +1 -1
  176. package/build-module/types.js.map +1 -1
  177. package/build-module/utils.js +10 -17
  178. package/build-module/utils.js.map +1 -1
  179. package/build-style/style-rtl.css +315 -13
  180. package/build-style/style.css +315 -13
  181. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  182. package/build-types/components/dataviews/index.d.ts +24 -3
  183. package/build-types/components/dataviews/index.d.ts.map +1 -1
  184. package/build-types/components/dataviews/stories/fixtures.d.ts +10 -1
  185. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  186. package/build-types/components/dataviews/stories/index.story.d.ts +23 -4
  187. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  188. package/build-types/components/dataviews-context/index.d.ts +14 -1
  189. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  190. package/build-types/components/dataviews-filters/filter.d.ts +15 -0
  191. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -0
  192. package/build-types/components/dataviews-filters/index.d.ts +3 -8
  193. package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
  194. package/build-types/components/dataviews-filters/input-widget.d.ts +13 -0
  195. package/build-types/components/dataviews-filters/input-widget.d.ts.map +1 -0
  196. package/build-types/components/dataviews-filters/search-widget.d.ts +4 -5
  197. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
  198. package/build-types/components/dataviews-filters/utils.d.ts +6 -0
  199. package/build-types/components/dataviews-filters/utils.d.ts.map +1 -0
  200. package/build-types/components/dataviews-layout/index.d.ts +5 -1
  201. package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
  202. package/build-types/components/dataviews-pagination/index.d.ts +1 -1
  203. package/build-types/components/dataviews-pagination/index.d.ts.map +1 -1
  204. package/build-types/components/dataviews-selection-checkbox/index.d.ts +2 -2
  205. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
  206. package/build-types/components/dataviews-view-config/index.d.ts +3 -4
  207. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  208. package/build-types/components/stories/index.story.d.ts +63 -0
  209. package/build-types/components/stories/index.story.d.ts.map +1 -0
  210. package/build-types/constants.d.ts +20 -3
  211. package/build-types/constants.d.ts.map +1 -1
  212. package/build-types/dataform-controls/boolean.d.ts +6 -0
  213. package/build-types/dataform-controls/boolean.d.ts.map +1 -0
  214. package/build-types/dataform-controls/checkbox.d.ts +6 -0
  215. package/build-types/dataform-controls/checkbox.d.ts.map +1 -0
  216. package/build-types/dataform-controls/datetime.d.ts +1 -1
  217. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  218. package/build-types/dataform-controls/email.d.ts +6 -0
  219. package/build-types/dataform-controls/email.d.ts.map +1 -0
  220. package/build-types/dataform-controls/index.d.ts +1 -1
  221. package/build-types/dataform-controls/index.d.ts.map +1 -1
  222. package/build-types/dataform-controls/integer.d.ts +1 -4
  223. package/build-types/dataform-controls/integer.d.ts.map +1 -1
  224. package/build-types/dataform-controls/select.d.ts.map +1 -1
  225. package/build-types/dataform-controls/text.d.ts.map +1 -1
  226. package/build-types/dataform-controls/toggle-group.d.ts +6 -0
  227. package/build-types/dataform-controls/toggle-group.d.ts.map +1 -0
  228. package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -1
  229. package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -1
  230. package/build-types/dataviews-layouts/grid/index.d.ts +2 -1
  231. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  232. package/build-types/dataviews-layouts/index.d.ts +3 -3
  233. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  234. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  235. package/build-types/dataviews-layouts/table/column-primary.d.ts +8 -1
  236. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -1
  237. package/build-types/dataviews-layouts/table/index.d.ts +1 -1
  238. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  239. package/build-types/dataviews-layouts/table/use-is-horizontal-scroll-end.d.ts +19 -0
  240. package/build-types/dataviews-layouts/table/use-is-horizontal-scroll-end.d.ts.map +1 -0
  241. package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts +15 -0
  242. package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts.map +1 -0
  243. package/build-types/field-types/array.d.ts +7 -0
  244. package/build-types/field-types/array.d.ts.map +1 -0
  245. package/build-types/field-types/boolean.d.ts +19 -0
  246. package/build-types/field-types/boolean.d.ts.map +1 -0
  247. package/build-types/field-types/date.d.ts +16 -0
  248. package/build-types/field-types/date.d.ts.map +1 -0
  249. package/build-types/field-types/datetime.d.ts +7 -1
  250. package/build-types/field-types/datetime.d.ts.map +1 -1
  251. package/build-types/field-types/email.d.ts +19 -0
  252. package/build-types/field-types/email.d.ts.map +1 -0
  253. package/build-types/field-types/index.d.ts +2 -10
  254. package/build-types/field-types/index.d.ts.map +1 -1
  255. package/build-types/field-types/integer.d.ts +7 -1
  256. package/build-types/field-types/integer.d.ts.map +1 -1
  257. package/build-types/field-types/media.d.ts +16 -0
  258. package/build-types/field-types/media.d.ts.map +1 -0
  259. package/build-types/field-types/text.d.ts +7 -1
  260. package/build-types/field-types/text.d.ts.map +1 -1
  261. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  262. package/build-types/normalize-fields.d.ts.map +1 -1
  263. package/build-types/types.d.ts +74 -8
  264. package/build-types/types.d.ts.map +1 -1
  265. package/build-types/utils.d.ts +5 -2
  266. package/build-types/utils.d.ts.map +1 -1
  267. package/build-wp/index.js +3299 -1182
  268. package/package.json +18 -12
  269. package/src/components/dataform/stories/index.story.tsx +41 -20
  270. package/src/components/dataviews/index.tsx +108 -43
  271. package/src/components/dataviews/stories/fixtures.tsx +135 -69
  272. package/src/components/dataviews/stories/index.story.tsx +265 -7
  273. package/src/components/dataviews/stories/style.css +24 -3
  274. package/src/components/dataviews/style.scss +27 -0
  275. package/src/components/dataviews-context/index.ts +30 -2
  276. package/src/components/dataviews-filters/filter.tsx +603 -0
  277. package/src/components/dataviews-filters/index.tsx +23 -29
  278. package/src/components/dataviews-filters/input-widget.tsx +91 -0
  279. package/src/components/dataviews-filters/search-widget.tsx +51 -48
  280. package/src/components/dataviews-filters/style.scss +117 -14
  281. package/src/components/dataviews-filters/utils.ts +25 -0
  282. package/src/components/dataviews-item-actions/index.tsx +1 -1
  283. package/src/components/dataviews-layout/index.tsx +8 -1
  284. package/src/components/dataviews-pagination/index.tsx +4 -4
  285. package/src/components/dataviews-selection-checkbox/index.tsx +2 -2
  286. package/src/components/dataviews-view-config/index.tsx +10 -18
  287. package/src/components/stories/index.story.tsx +372 -0
  288. package/src/constants.ts +116 -1
  289. package/src/dataform-controls/boolean.tsx +30 -0
  290. package/src/dataform-controls/checkbox.tsx +31 -0
  291. package/src/dataform-controls/datetime.tsx +106 -2
  292. package/src/dataform-controls/email.tsx +42 -0
  293. package/src/dataform-controls/index.tsx +8 -0
  294. package/src/dataform-controls/integer.tsx +75 -1
  295. package/src/dataform-controls/select.tsx +1 -0
  296. package/src/dataform-controls/style.scss +5 -0
  297. package/src/dataform-controls/text.tsx +2 -1
  298. package/src/dataform-controls/toggle-group.tsx +59 -0
  299. package/src/dataforms-layouts/data-form-layout.tsx +1 -1
  300. package/src/dataforms-layouts/panel/index.tsx +19 -7
  301. package/src/dataforms-layouts/panel/style.scss +8 -1
  302. package/src/dataforms-layouts/regular/index.tsx +50 -17
  303. package/src/dataforms-layouts/regular/style.scss +4 -1
  304. package/src/dataviews-layouts/grid/index.tsx +180 -68
  305. package/src/dataviews-layouts/grid/style.scss +8 -0
  306. package/src/dataviews-layouts/list/index.tsx +12 -5
  307. package/src/dataviews-layouts/table/column-header-menu.tsx +10 -8
  308. package/src/dataviews-layouts/table/column-primary.tsx +26 -13
  309. package/src/dataviews-layouts/table/index.tsx +74 -10
  310. package/src/dataviews-layouts/table/style.scss +37 -1
  311. package/src/dataviews-layouts/table/use-is-horizontal-scroll-end.ts +82 -0
  312. package/src/dataviews-layouts/utils/item-click-wrapper.tsx +93 -0
  313. package/src/field-types/array.tsx +75 -0
  314. package/src/field-types/boolean.tsx +66 -0
  315. package/src/field-types/date.ts +56 -0
  316. package/src/field-types/datetime.tsx +46 -2
  317. package/src/field-types/email.tsx +79 -0
  318. package/src/field-types/index.tsx +50 -3
  319. package/src/field-types/integer.tsx +53 -2
  320. package/src/field-types/media.tsx +28 -0
  321. package/src/field-types/text.tsx +41 -2
  322. package/src/filter-and-sort-data-view.ts +270 -10
  323. package/src/normalize-fields.ts +116 -13
  324. package/src/test/dataviews.tsx +20 -2
  325. package/src/test/filter-and-sort-data-view.js +601 -25
  326. package/src/test/normalize-fields.ts +155 -0
  327. package/src/types.ts +112 -9
  328. package/src/utils.ts +10 -33
  329. package/tsconfig.json +2 -0
  330. package/tsconfig.tsbuildinfo +1 -1
  331. package/build/components/dataviews-filters/filter-summary.js.map +0 -1
  332. package/build/dataviews-layouts/utils/get-clickable-item-props.js +0 -36
  333. package/build/dataviews-layouts/utils/get-clickable-item-props.js.map +0 -1
  334. package/build-module/components/dataviews-filters/filter-summary.js +0 -218
  335. package/build-module/components/dataviews-filters/filter-summary.js.map +0 -1
  336. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js +0 -30
  337. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js.map +0 -1
  338. package/build-types/components/dataviews-filters/filter-summary.d.ts +0 -14
  339. package/build-types/components/dataviews-filters/filter-summary.d.ts.map +0 -1
  340. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts +0 -19
  341. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts.map +0 -1
  342. package/src/components/dataviews-filters/filter-summary.tsx +0 -338
  343. package/src/dataviews-layouts/utils/get-clickable-item-props.ts +0 -39
@@ -1 +0,0 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_searchWidget","_constants","_jsxRuntime","ENTER","SPACE","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","jsx","className","Value","operator","OPERATOR_IS_ANY","createInterpolateElement","sprintf","__","map","element","label","join","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","OperatorSelector","view","onChangeView","operatorOptions","operators","value","OPERATORS","currentFilter","filters","find","_filter","field","jsxs","__experimentalHStack","spacing","justify","children","FlexItem","SelectControl","options","onChange","newValue","_view$filters","_view$filters2","newFilters","page","size","__nextHasNoMarginBottom","hideLabelFromVision","FilterSummary","addFilterRef","openedFilter","commonProps","toggleRef","useRef","f","elements","singleSelection","includes","isPrimary","hasValues","canResetOrRemove","Dropdown","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","Tooltip","text","toLowerCase","clsx","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","Icon","icon","closeSmall","renderContent","__experimentalVStack","default"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/filter-summary.tsx"],"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 {\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} from '../../constants';\nimport type {\n\tFilter,\n\tNormalizedFilter,\n\tOperator,\n\tOption,\n\tView,\n} from '../../types';\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 FilterSummaryProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\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. 3: 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. 3: 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. 3: 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. 3: 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. 3: 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. 3: 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\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\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 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\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\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\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 FilterSummary( {\n\taddFilterRef,\n\topenedFilter,\n\t...commonProps\n}: FilterSummaryProps ) {\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\tconst activeElements = filter.elements.filter( ( element ) => {\n\t\tif ( filter.singleSelection ) {\n\t\t\treturn element.value === filterInView?.value;\n\t\t}\n\t\treturn filterInView?.value?.includes( element.value );\n\t} );\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! 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}\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={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\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-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<SearchWidget { ...commonProps } />\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = getClickableItemProps;
7
- function getClickableItemProps({
8
- item,
9
- isItemClickable,
10
- onClickItem,
11
- className
12
- }) {
13
- if (!isItemClickable(item) || !onClickItem) {
14
- return {
15
- className
16
- };
17
- }
18
- return {
19
- className: className ? `${className} ${className}--clickable` : undefined,
20
- role: 'button',
21
- tabIndex: 0,
22
- onClick: event => {
23
- // Prevents onChangeSelection from triggering.
24
- event.stopPropagation();
25
- onClickItem(item);
26
- },
27
- onKeyDown: event => {
28
- if (event.key === 'Enter' || event.key === '' || event.key === ' ') {
29
- // Prevents onChangeSelection from triggering.
30
- event.stopPropagation();
31
- onClickItem(item);
32
- }
33
- }
34
- };
35
- }
36
- //# sourceMappingURL=get-clickable-item-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getClickableItemProps","item","isItemClickable","onClickItem","className","undefined","role","tabIndex","onClick","event","stopPropagation","onKeyDown","key"],"sources":["@wordpress/dataviews/src/dataviews-layouts/utils/get-clickable-item-props.ts"],"sourcesContent":["export default function getClickableItemProps< Item >( {\n\titem,\n\tisItemClickable,\n\tonClickItem,\n\tclassName,\n}: {\n\titem: Item;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\tclassName?: string;\n} ) {\n\tif ( ! isItemClickable( item ) || ! onClickItem ) {\n\t\treturn { className };\n\t}\n\n\treturn {\n\t\tclassName: className\n\t\t\t? `${ className } ${ className }--clickable`\n\t\t\t: undefined,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonClick: ( event: React.MouseEvent ) => {\n\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\tevent.stopPropagation();\n\t\t\tonClickItem( item );\n\t\t},\n\t\tonKeyDown: ( event: React.KeyboardEvent ) => {\n\t\t\tif (\n\t\t\t\tevent.key === 'Enter' ||\n\t\t\t\tevent.key === '' ||\n\t\t\t\tevent.key === ' '\n\t\t\t) {\n\t\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tonClickItem( item );\n\t\t\t}\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;AAAe,SAASA,qBAAqBA,CAAU;EACtDC,IAAI;EACJC,eAAe;EACfC,WAAW;EACXC;AAMD,CAAC,EAAG;EACH,IAAK,CAAEF,eAAe,CAAED,IAAK,CAAC,IAAI,CAAEE,WAAW,EAAG;IACjD,OAAO;MAAEC;IAAU,CAAC;EACrB;EAEA,OAAO;IACNA,SAAS,EAAEA,SAAS,GACjB,GAAIA,SAAS,IAAMA,SAAS,aAAc,GAC1CC,SAAS;IACZC,IAAI,EAAE,QAAQ;IACdC,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAIC,KAAuB,IAAM;MACvC;MACAA,KAAK,CAACC,eAAe,CAAC,CAAC;MACvBP,WAAW,CAAEF,IAAK,CAAC;IACpB,CAAC;IACDU,SAAS,EAAIF,KAA0B,IAAM;MAC5C,IACCA,KAAK,CAACG,GAAG,KAAK,OAAO,IACrBH,KAAK,CAACG,GAAG,KAAK,EAAE,IAChBH,KAAK,CAACG,GAAG,KAAK,GAAG,EAChB;QACD;QACAH,KAAK,CAACC,eAAe,CAAC,CAAC;QACvBP,WAAW,CAAEF,IAAK,CAAC;MACpB;IACD;EACD,CAAC;AACF","ignoreList":[]}
@@ -1,218 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import clsx from 'clsx';
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { Dropdown, __experimentalVStack as VStack, __experimentalHStack as HStack, FlexItem, SelectControl, Tooltip, Icon } from '@wordpress/components';
9
- import { __, sprintf } from '@wordpress/i18n';
10
- import { useRef, createInterpolateElement } from '@wordpress/element';
11
- import { closeSmall } from '@wordpress/icons';
12
- const ENTER = 'Enter';
13
- const SPACE = ' ';
14
-
15
- /**
16
- * Internal dependencies
17
- */
18
- import SearchWidget from './search-widget';
19
- import { OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL } from '../../constants';
20
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
- const FilterText = ({
22
- activeElements,
23
- filterInView,
24
- filter
25
- }) => {
26
- if (activeElements === undefined || activeElements.length === 0) {
27
- return filter.name;
28
- }
29
- const filterTextWrappers = {
30
- Name: /*#__PURE__*/_jsx("span", {
31
- className: "dataviews-filters__summary-filter-text-name"
32
- }),
33
- Value: /*#__PURE__*/_jsx("span", {
34
- className: "dataviews-filters__summary-filter-text-value"
35
- })
36
- };
37
- if (filterInView?.operator === OPERATOR_IS_ANY) {
38
- return createInterpolateElement(sprintf(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */
39
- __('<Name>%1$s is any: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);
40
- }
41
- if (filterInView?.operator === OPERATOR_IS_NONE) {
42
- return createInterpolateElement(sprintf(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */
43
- __('<Name>%1$s is none: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);
44
- }
45
- if (filterInView?.operator === OPERATOR_IS_ALL) {
46
- return createInterpolateElement(sprintf(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */
47
- __('<Name>%1$s is all: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);
48
- }
49
- if (filterInView?.operator === OPERATOR_IS_NOT_ALL) {
50
- return createInterpolateElement(sprintf(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */
51
- __('<Name>%1$s is not all: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);
52
- }
53
- if (filterInView?.operator === OPERATOR_IS) {
54
- return createInterpolateElement(sprintf(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */
55
- __('<Name>%1$s is: </Name><Value>%2$s</Value>'), filter.name, activeElements[0].label), filterTextWrappers);
56
- }
57
- if (filterInView?.operator === OPERATOR_IS_NOT) {
58
- return createInterpolateElement(sprintf(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */
59
- __('<Name>%1$s is not: </Name><Value>%2$s</Value>'), filter.name, activeElements[0].label), filterTextWrappers);
60
- }
61
- return sprintf(/* translators: 1: Filter name e.g.: "Unknown status for Author". */
62
- __('Unknown status for %1$s'), filter.name);
63
- };
64
- function OperatorSelector({
65
- filter,
66
- view,
67
- onChangeView
68
- }) {
69
- const operatorOptions = filter.operators?.map(operator => ({
70
- value: operator,
71
- label: OPERATORS[operator]?.label
72
- }));
73
- const currentFilter = view.filters?.find(_filter => _filter.field === filter.field);
74
- const value = currentFilter?.operator || filter.operators[0];
75
- return operatorOptions.length > 1 && /*#__PURE__*/_jsxs(HStack, {
76
- spacing: 2,
77
- justify: "flex-start",
78
- className: "dataviews-filters__summary-operators-container",
79
- children: [/*#__PURE__*/_jsx(FlexItem, {
80
- className: "dataviews-filters__summary-operators-filter-name",
81
- children: filter.name
82
- }), /*#__PURE__*/_jsx(SelectControl, {
83
- label: __('Conditions'),
84
- value: value,
85
- options: operatorOptions,
86
- onChange: newValue => {
87
- var _view$filters, _view$filters2;
88
- const operator = newValue;
89
- const newFilters = currentFilter ? [...((_view$filters = view.filters) !== null && _view$filters !== void 0 ? _view$filters : []).map(_filter => {
90
- if (_filter.field === filter.field) {
91
- return {
92
- ..._filter,
93
- operator
94
- };
95
- }
96
- return _filter;
97
- })] : [...((_view$filters2 = view.filters) !== null && _view$filters2 !== void 0 ? _view$filters2 : []), {
98
- field: filter.field,
99
- operator,
100
- value: undefined
101
- }];
102
- onChangeView({
103
- ...view,
104
- page: 1,
105
- filters: newFilters
106
- });
107
- },
108
- size: "small",
109
- __nextHasNoMarginBottom: true,
110
- hideLabelFromVision: true
111
- })]
112
- });
113
- }
114
- export default function FilterSummary({
115
- addFilterRef,
116
- openedFilter,
117
- ...commonProps
118
- }) {
119
- const toggleRef = useRef(null);
120
- const {
121
- filter,
122
- view,
123
- onChangeView
124
- } = commonProps;
125
- const filterInView = view.filters?.find(f => f.field === filter.field);
126
- const activeElements = filter.elements.filter(element => {
127
- if (filter.singleSelection) {
128
- return element.value === filterInView?.value;
129
- }
130
- return filterInView?.value?.includes(element.value);
131
- });
132
- const isPrimary = filter.isPrimary;
133
- const hasValues = filterInView?.value !== undefined;
134
- const canResetOrRemove = !isPrimary || hasValues;
135
- return /*#__PURE__*/_jsx(Dropdown, {
136
- defaultOpen: openedFilter === filter.field,
137
- contentClassName: "dataviews-filters__summary-popover",
138
- popoverProps: {
139
- placement: 'bottom-start',
140
- role: 'dialog'
141
- },
142
- onClose: () => {
143
- toggleRef.current?.focus();
144
- },
145
- renderToggle: ({
146
- isOpen,
147
- onToggle
148
- }) => /*#__PURE__*/_jsxs("div", {
149
- className: "dataviews-filters__summary-chip-container",
150
- children: [/*#__PURE__*/_jsx(Tooltip, {
151
- text: sprintf(/* translators: 1: Filter name. */
152
- __('Filter by: %1$s'), filter.name.toLowerCase()),
153
- placement: "top",
154
- children: /*#__PURE__*/_jsx("div", {
155
- className: clsx('dataviews-filters__summary-chip', {
156
- 'has-reset': canResetOrRemove,
157
- 'has-values': hasValues
158
- }),
159
- role: "button",
160
- tabIndex: 0,
161
- onClick: onToggle,
162
- onKeyDown: event => {
163
- if ([ENTER, SPACE].includes(event.key)) {
164
- onToggle();
165
- event.preventDefault();
166
- }
167
- },
168
- "aria-pressed": isOpen,
169
- "aria-expanded": isOpen,
170
- ref: toggleRef,
171
- children: /*#__PURE__*/_jsx(FilterText, {
172
- activeElements: activeElements,
173
- filterInView: filterInView,
174
- filter: filter
175
- })
176
- })
177
- }), canResetOrRemove && /*#__PURE__*/_jsx(Tooltip, {
178
- text: isPrimary ? __('Reset') : __('Remove'),
179
- placement: "top",
180
- children: /*#__PURE__*/_jsx("button", {
181
- className: clsx('dataviews-filters__summary-chip-remove', {
182
- 'has-values': hasValues
183
- }),
184
- onClick: () => {
185
- onChangeView({
186
- ...view,
187
- page: 1,
188
- filters: view.filters?.filter(_filter => _filter.field !== filter.field)
189
- });
190
- // If the filter is not primary and can be removed, it will be added
191
- // back to the available filters from `Add filter` component.
192
- if (!isPrimary) {
193
- addFilterRef.current?.focus();
194
- } else {
195
- // If is primary, focus the toggle button.
196
- toggleRef.current?.focus();
197
- }
198
- },
199
- children: /*#__PURE__*/_jsx(Icon, {
200
- icon: closeSmall
201
- })
202
- })
203
- })]
204
- }),
205
- renderContent: () => {
206
- return /*#__PURE__*/_jsxs(VStack, {
207
- spacing: 0,
208
- justify: "flex-start",
209
- children: [/*#__PURE__*/_jsx(OperatorSelector, {
210
- ...commonProps
211
- }), /*#__PURE__*/_jsx(SearchWidget, {
212
- ...commonProps
213
- })]
214
- });
215
- }
216
- });
217
- }
218
- //# sourceMappingURL=filter-summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["clsx","Dropdown","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","SelectControl","Tooltip","Icon","__","sprintf","useRef","createInterpolateElement","closeSmall","ENTER","SPACE","SearchWidget","OPERATORS","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","jsx","_jsx","jsxs","_jsxs","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","className","Value","operator","map","element","label","join","OperatorSelector","view","onChangeView","operatorOptions","operators","value","currentFilter","filters","find","_filter","field","spacing","justify","children","options","onChange","newValue","_view$filters","_view$filters2","newFilters","page","size","__nextHasNoMarginBottom","hideLabelFromVision","FilterSummary","addFilterRef","openedFilter","commonProps","toggleRef","f","elements","singleSelection","includes","isPrimary","hasValues","canResetOrRemove","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","text","toLowerCase","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","icon","renderContent"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/filter-summary.tsx"],"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 {\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} from '../../constants';\nimport type {\n\tFilter,\n\tNormalizedFilter,\n\tOperator,\n\tOption,\n\tView,\n} from '../../types';\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 FilterSummaryProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\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. 3: 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. 3: 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. 3: 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. 3: 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. 3: 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. 3: 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\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\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 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\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\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\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 FilterSummary( {\n\taddFilterRef,\n\topenedFilter,\n\t...commonProps\n}: FilterSummaryProps ) {\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\tconst activeElements = filter.elements.filter( ( element ) => {\n\t\tif ( filter.singleSelection ) {\n\t\t\treturn element.value === filterInView?.value;\n\t\t}\n\t\treturn filterInView?.value?.includes( element.value );\n\t} );\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! 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}\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={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\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-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<SearchWidget { ...commonProps } />\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,30 +0,0 @@
1
- export default function getClickableItemProps({
2
- item,
3
- isItemClickable,
4
- onClickItem,
5
- className
6
- }) {
7
- if (!isItemClickable(item) || !onClickItem) {
8
- return {
9
- className
10
- };
11
- }
12
- return {
13
- className: className ? `${className} ${className}--clickable` : undefined,
14
- role: 'button',
15
- tabIndex: 0,
16
- onClick: event => {
17
- // Prevents onChangeSelection from triggering.
18
- event.stopPropagation();
19
- onClickItem(item);
20
- },
21
- onKeyDown: event => {
22
- if (event.key === 'Enter' || event.key === '' || event.key === ' ') {
23
- // Prevents onChangeSelection from triggering.
24
- event.stopPropagation();
25
- onClickItem(item);
26
- }
27
- }
28
- };
29
- }
30
- //# sourceMappingURL=get-clickable-item-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getClickableItemProps","item","isItemClickable","onClickItem","className","undefined","role","tabIndex","onClick","event","stopPropagation","onKeyDown","key"],"sources":["@wordpress/dataviews/src/dataviews-layouts/utils/get-clickable-item-props.ts"],"sourcesContent":["export default function getClickableItemProps< Item >( {\n\titem,\n\tisItemClickable,\n\tonClickItem,\n\tclassName,\n}: {\n\titem: Item;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\tclassName?: string;\n} ) {\n\tif ( ! isItemClickable( item ) || ! onClickItem ) {\n\t\treturn { className };\n\t}\n\n\treturn {\n\t\tclassName: className\n\t\t\t? `${ className } ${ className }--clickable`\n\t\t\t: undefined,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonClick: ( event: React.MouseEvent ) => {\n\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\tevent.stopPropagation();\n\t\t\tonClickItem( item );\n\t\t},\n\t\tonKeyDown: ( event: React.KeyboardEvent ) => {\n\t\t\tif (\n\t\t\t\tevent.key === 'Enter' ||\n\t\t\t\tevent.key === '' ||\n\t\t\t\tevent.key === ' '\n\t\t\t) {\n\t\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tonClickItem( item );\n\t\t\t}\n\t\t},\n\t};\n}\n"],"mappings":"AAAA,eAAe,SAASA,qBAAqBA,CAAU;EACtDC,IAAI;EACJC,eAAe;EACfC,WAAW;EACXC;AAMD,CAAC,EAAG;EACH,IAAK,CAAEF,eAAe,CAAED,IAAK,CAAC,IAAI,CAAEE,WAAW,EAAG;IACjD,OAAO;MAAEC;IAAU,CAAC;EACrB;EAEA,OAAO;IACNA,SAAS,EAAEA,SAAS,GACjB,GAAIA,SAAS,IAAMA,SAAS,aAAc,GAC1CC,SAAS;IACZC,IAAI,EAAE,QAAQ;IACdC,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAIC,KAAuB,IAAM;MACvC;MACAA,KAAK,CAACC,eAAe,CAAC,CAAC;MACvBP,WAAW,CAAEF,IAAK,CAAC;IACpB,CAAC;IACDU,SAAS,EAAIF,KAA0B,IAAM;MAC5C,IACCA,KAAK,CAACG,GAAG,KAAK,OAAO,IACrBH,KAAK,CAACG,GAAG,KAAK,EAAE,IAChBH,KAAK,CAACG,GAAG,KAAK,GAAG,EAChB;QACD;QACAH,KAAK,CAACC,eAAe,CAAC,CAAC;QACvBP,WAAW,CAAEF,IAAK,CAAC;MACpB;IACD;EACD,CAAC;AACF","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- import type { RefObject } from 'react';
2
- import type { NormalizedFilter, View } from '../../types';
3
- interface OperatorSelectorProps {
4
- filter: NormalizedFilter;
5
- view: View;
6
- onChangeView: (view: View) => void;
7
- }
8
- interface FilterSummaryProps extends OperatorSelectorProps {
9
- addFilterRef: RefObject<HTMLButtonElement>;
10
- openedFilter: string | null;
11
- }
12
- export default function FilterSummary({ addFilterRef, openedFilter, ...commonProps }: FilterSummaryProps): import("react").JSX.Element;
13
- export {};
14
- //# sourceMappingURL=filter-summary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-summary.d.ts","sourceRoot":"","sources":["../../../src/components/dataviews-filters/filter-summary.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAkCvC,OAAO,KAAK,EAEX,gBAAgB,EAGhB,IAAI,EACJ,MAAM,aAAa,CAAC;AAQrB,UAAU,qBAAqB;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;CACrC;AAED,UAAU,kBAAmB,SAAQ,qBAAqB;IACzD,YAAY,EAAE,SAAS,CAAE,iBAAiB,CAAE,CAAC;IAC7C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAsKD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAE,EACtC,YAAY,EACZ,YAAY,EACZ,GAAG,WAAW,EACd,EAAE,kBAAkB,+BA0GpB"}
@@ -1,19 +0,0 @@
1
- export default function getClickableItemProps<Item>({ item, isItemClickable, onClickItem, className, }: {
2
- item: Item;
3
- isItemClickable: (item: Item) => boolean;
4
- onClickItem?: (item: Item) => void;
5
- className?: string;
6
- }): {
7
- className: string | undefined;
8
- role?: undefined;
9
- tabIndex?: undefined;
10
- onClick?: undefined;
11
- onKeyDown?: undefined;
12
- } | {
13
- className: string | undefined;
14
- role: string;
15
- tabIndex: number;
16
- onClick: (event: React.MouseEvent) => void;
17
- onKeyDown: (event: React.KeyboardEvent) => void;
18
- };
19
- //# sourceMappingURL=get-clickable-item-props.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-clickable-item-props.d.ts","sourceRoot":"","sources":["../../../src/dataviews-layouts/utils/get-clickable-item-props.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAE,IAAI,EAAI,EACtD,IAAI,EACJ,eAAe,EACf,WAAW,EACX,SAAS,GACT,EAAE;IACF,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,OAAO,CAAC;IAC3C,WAAW,CAAC,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;;;;;;;;;;qBAWmB,KAAK,CAAC,UAAU;uBAKd,KAAK,CAAC,aAAa;EAYxC"}