@wordpress/dataviews 9.1.1-next.233ccab9b.0 → 10.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 (787) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/README.md +137 -36
  3. package/build/components/dataform/index.js +52 -28
  4. package/build/components/dataform/index.js.map +7 -1
  5. package/build/components/dataform-context/index.js +33 -25
  6. package/build/components/dataform-context/index.js.map +7 -1
  7. package/build/components/dataviews/index.js +193 -154
  8. package/build/components/dataviews/index.js.map +7 -1
  9. package/build/components/dataviews-bulk-actions/index.js +264 -155
  10. package/build/components/dataviews-bulk-actions/index.js.map +7 -1
  11. package/build/components/dataviews-context/index.js +40 -36
  12. package/build/components/dataviews-context/index.js.map +7 -1
  13. package/build/components/dataviews-filters/add-filter.js +78 -73
  14. package/build/components/dataviews-filters/add-filter.js.map +7 -1
  15. package/build/components/dataviews-filters/filter.js +473 -263
  16. package/build/components/dataviews-filters/filter.js.map +7 -1
  17. package/build/components/dataviews-filters/filters-toggled.js +39 -25
  18. package/build/components/dataviews-filters/filters-toggled.js.map +7 -1
  19. package/build/components/dataviews-filters/filters.js +95 -67
  20. package/build/components/dataviews-filters/filters.js.map +7 -1
  21. package/build/components/dataviews-filters/index.js +44 -31
  22. package/build/components/dataviews-filters/index.js.map +7 -1
  23. package/build/components/dataviews-filters/input-widget.js +88 -89
  24. package/build/components/dataviews-filters/input-widget.js.map +7 -1
  25. package/build/components/dataviews-filters/reset-filters.js +50 -34
  26. package/build/components/dataviews-filters/reset-filters.js.map +7 -1
  27. package/build/components/dataviews-filters/search-widget.js +301 -205
  28. package/build/components/dataviews-filters/search-widget.js.map +7 -1
  29. package/build/components/dataviews-filters/toggle.js +88 -63
  30. package/build/components/dataviews-filters/toggle.js.map +7 -1
  31. package/build/components/dataviews-filters/use-filters.js +40 -29
  32. package/build/components/dataviews-filters/use-filters.js.map +7 -1
  33. package/build/components/dataviews-filters/utils.js +26 -10
  34. package/build/components/dataviews-filters/utils.js.map +7 -1
  35. package/build/components/dataviews-footer/index.js +54 -33
  36. package/build/components/dataviews-footer/index.js.map +7 -1
  37. package/build/components/dataviews-item-actions/index.js +188 -150
  38. package/build/components/dataviews-item-actions/index.js.map +7 -1
  39. package/build/components/dataviews-layout/index.js +64 -49
  40. package/build/components/dataviews-layout/index.js.map +7 -1
  41. package/build/components/dataviews-pagination/index.js +143 -99
  42. package/build/components/dataviews-pagination/index.js.map +7 -1
  43. package/build/components/dataviews-picker/footer.js +152 -101
  44. package/build/components/dataviews-picker/footer.js.map +7 -1
  45. package/build/components/dataviews-picker/index.js +173 -145
  46. package/build/components/dataviews-picker/index.js.map +7 -1
  47. package/build/components/dataviews-search/index.js +63 -46
  48. package/build/components/dataviews-search/index.js.map +7 -1
  49. package/build/components/dataviews-selection-checkbox/index.js +45 -35
  50. package/build/components/dataviews-selection-checkbox/index.js.map +7 -1
  51. package/build/components/dataviews-view-config/index.js +587 -512
  52. package/build/components/dataviews-view-config/index.js.map +7 -1
  53. package/build/components/dataviews-view-config/infinite-scroll-toggle.js +56 -39
  54. package/build/components/dataviews-view-config/infinite-scroll-toggle.js.map +7 -1
  55. package/build/constants.js +215 -108
  56. package/build/constants.js.map +7 -1
  57. package/build/dataform-controls/array.js +109 -145
  58. package/build/dataform-controls/array.js.map +7 -1
  59. package/build/dataform-controls/checkbox.js +56 -66
  60. package/build/dataform-controls/checkbox.js.map +7 -1
  61. package/build/dataform-controls/color.js +112 -119
  62. package/build/dataform-controls/color.js.map +7 -1
  63. package/build/dataform-controls/date.js +531 -349
  64. package/build/dataform-controls/date.js.map +7 -1
  65. package/build/dataform-controls/datetime.js +189 -148
  66. package/build/dataform-controls/datetime.js.map +7 -1
  67. package/build/dataform-controls/email.js +52 -32
  68. package/build/dataform-controls/email.js.map +7 -1
  69. package/build/dataform-controls/index.js +83 -63
  70. package/build/dataform-controls/index.js.map +7 -1
  71. package/build/dataform-controls/integer.js +36 -129
  72. package/build/dataform-controls/integer.js.map +7 -1
  73. package/build/dataform-controls/number.js +39 -0
  74. package/build/dataform-controls/number.js.map +7 -0
  75. package/build/dataform-controls/password.js +66 -38
  76. package/build/dataform-controls/password.js.map +7 -1
  77. package/build/dataform-controls/radio.js +61 -64
  78. package/build/dataform-controls/radio.js.map +7 -1
  79. package/build/dataform-controls/select.js +70 -88
  80. package/build/dataform-controls/select.js.map +7 -1
  81. package/build/dataform-controls/telephone.js +52 -32
  82. package/build/dataform-controls/telephone.js.map +7 -1
  83. package/build/dataform-controls/text.js +52 -30
  84. package/build/dataform-controls/text.js.map +7 -1
  85. package/build/dataform-controls/textarea.js +62 -71
  86. package/build/dataform-controls/textarea.js.map +7 -1
  87. package/build/dataform-controls/toggle-group.js +73 -66
  88. package/build/dataform-controls/toggle-group.js.map +7 -1
  89. package/build/dataform-controls/toggle.js +57 -67
  90. package/build/dataform-controls/toggle.js.map +7 -1
  91. package/build/dataform-controls/url.js +52 -32
  92. package/build/dataform-controls/url.js.map +7 -1
  93. package/build/dataform-controls/utils/get-custom-validity.js +35 -0
  94. package/build/dataform-controls/utils/get-custom-validity.js.map +7 -0
  95. package/build/dataform-controls/utils/relative-date-control.js +122 -0
  96. package/build/dataform-controls/utils/relative-date-control.js.map +7 -0
  97. package/build/dataform-controls/utils/validated-input.js +67 -71
  98. package/build/dataform-controls/utils/validated-input.js.map +7 -1
  99. package/build/dataform-controls/utils/validated-number.js +167 -0
  100. package/build/dataform-controls/utils/validated-number.js.map +7 -0
  101. package/build/dataform-layouts/card/index.js +217 -0
  102. package/build/dataform-layouts/card/index.js.map +7 -0
  103. package/build/dataform-layouts/data-form-layout.js +95 -0
  104. package/build/dataform-layouts/data-form-layout.js.map +7 -0
  105. package/build/dataform-layouts/get-summary-fields.js +45 -0
  106. package/build/dataform-layouts/get-summary-fields.js.map +7 -0
  107. package/build/dataform-layouts/index.js +99 -0
  108. package/build/dataform-layouts/index.js.map +7 -0
  109. package/build/dataform-layouts/is-combined-field.js +31 -0
  110. package/build/dataform-layouts/is-combined-field.js.map +7 -0
  111. package/build/dataform-layouts/normalize-form-fields.js +104 -0
  112. package/build/dataform-layouts/normalize-form-fields.js.map +7 -0
  113. package/build/dataform-layouts/panel/dropdown.js +159 -0
  114. package/build/dataform-layouts/panel/dropdown.js.map +7 -0
  115. package/build/dataform-layouts/panel/index.js +152 -0
  116. package/build/dataform-layouts/panel/index.js.map +7 -0
  117. package/build/dataform-layouts/panel/modal.js +176 -0
  118. package/build/dataform-layouts/panel/modal.js.map +7 -0
  119. package/build/dataform-layouts/panel/summary-button.js +93 -0
  120. package/build/dataform-layouts/panel/summary-button.js.map +7 -0
  121. package/build/dataform-layouts/regular/index.js +139 -0
  122. package/build/dataform-layouts/regular/index.js.map +7 -0
  123. package/build/dataform-layouts/row/index.js +120 -0
  124. package/build/dataform-layouts/row/index.js.map +7 -0
  125. package/build/dataviews-layouts/grid/index.js +337 -278
  126. package/build/dataviews-layouts/grid/index.js.map +7 -1
  127. package/build/dataviews-layouts/grid/preview-size-picker.js +94 -69
  128. package/build/dataviews-layouts/grid/preview-size-picker.js.map +7 -1
  129. package/build/dataviews-layouts/index.js +75 -48
  130. package/build/dataviews-layouts/index.js.map +7 -1
  131. package/build/dataviews-layouts/list/index.js +441 -354
  132. package/build/dataviews-layouts/list/index.js.map +7 -1
  133. package/build/dataviews-layouts/picker-grid/index.js +366 -300
  134. package/build/dataviews-layouts/picker-grid/index.js.map +7 -1
  135. package/build/dataviews-layouts/table/column-header-menu.js +144 -133
  136. package/build/dataviews-layouts/table/column-header-menu.js.map +7 -1
  137. package/build/dataviews-layouts/table/column-primary.js +86 -66
  138. package/build/dataviews-layouts/table/column-primary.js.map +7 -1
  139. package/build/dataviews-layouts/table/density-picker.js +86 -46
  140. package/build/dataviews-layouts/table/density-picker.js.map +7 -1
  141. package/build/dataviews-layouts/table/index.js +354 -319
  142. package/build/dataviews-layouts/table/index.js.map +7 -1
  143. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js +55 -47
  144. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +7 -1
  145. package/build/dataviews-layouts/utils/get-data-by-group.js +24 -13
  146. package/build/dataviews-layouts/utils/get-data-by-group.js.map +7 -1
  147. package/build/dataviews-layouts/utils/grid-items.js +51 -34
  148. package/build/dataviews-layouts/utils/grid-items.js.map +7 -1
  149. package/build/dataviews-layouts/utils/item-click-wrapper.js +53 -31
  150. package/build/dataviews-layouts/utils/item-click-wrapper.js.map +7 -1
  151. package/build/dataviews-layouts/utils/preview-size-picker.js +94 -69
  152. package/build/dataviews-layouts/utils/preview-size-picker.js.map +7 -1
  153. package/build/field-types/array.js +46 -41
  154. package/build/field-types/array.js.map +7 -1
  155. package/build/field-types/boolean.js +52 -47
  156. package/build/field-types/boolean.js.map +7 -1
  157. package/build/field-types/color.js +79 -81
  158. package/build/field-types/color.js.map +7 -1
  159. package/build/field-types/date.js +69 -48
  160. package/build/field-types/date.js.map +7 -1
  161. package/build/field-types/datetime.js +62 -43
  162. package/build/field-types/datetime.js.map +7 -1
  163. package/build/field-types/email.js +58 -47
  164. package/build/field-types/email.js.map +7 -1
  165. package/build/field-types/index.js +84 -89
  166. package/build/field-types/index.js.map +7 -1
  167. package/build/field-types/integer.js +68 -45
  168. package/build/field-types/integer.js.map +7 -1
  169. package/build/field-types/media.js +25 -27
  170. package/build/field-types/media.js.map +7 -1
  171. package/build/field-types/number.js +95 -0
  172. package/build/field-types/number.js.map +7 -0
  173. package/build/field-types/password.js +40 -39
  174. package/build/field-types/password.js.map +7 -1
  175. package/build/field-types/telephone.js +55 -45
  176. package/build/field-types/telephone.js.map +7 -1
  177. package/build/field-types/text.js +55 -46
  178. package/build/field-types/text.js.map +7 -1
  179. package/build/field-types/url.js +55 -45
  180. package/build/field-types/url.js.map +7 -1
  181. package/build/field-types/utils/render-from-elements.js +52 -0
  182. package/build/field-types/utils/render-from-elements.js.map +7 -0
  183. package/build/hooks/index.js +39 -0
  184. package/build/hooks/index.js.map +7 -0
  185. package/build/hooks/use-elements.js +63 -0
  186. package/build/hooks/use-elements.js.map +7 -0
  187. package/build/hooks/use-form-validity.js +426 -0
  188. package/build/hooks/use-form-validity.js.map +7 -0
  189. package/build/index.js +50 -45
  190. package/build/index.js.map +7 -1
  191. package/build/lock-unlock.js +31 -14
  192. package/build/lock-unlock.js.map +7 -1
  193. package/build/types/dataform.js +17 -0
  194. package/build/types/dataform.js.map +7 -0
  195. package/build/types/dataviews.js +17 -0
  196. package/build/types/dataviews.js.map +7 -0
  197. package/build/types/field-api.js +17 -0
  198. package/build/types/field-api.js.map +7 -0
  199. package/build/types/index.js +17 -0
  200. package/build/types/index.js.map +7 -0
  201. package/build/types/private.js +17 -0
  202. package/build/types/private.js.map +7 -0
  203. package/build/utils/filter-sort-and-paginate.js +285 -0
  204. package/build/utils/filter-sort-and-paginate.js.map +7 -0
  205. package/build/utils/has-elements.js +27 -0
  206. package/build/utils/has-elements.js.map +7 -0
  207. package/build/utils/normalize-fields.js +160 -0
  208. package/build/utils/normalize-fields.js.map +7 -0
  209. package/build-module/components/dataform/index.js +25 -25
  210. package/build-module/components/dataform/index.js.map +7 -1
  211. package/build-module/components/dataform-context/index.js +11 -19
  212. package/build-module/components/dataform-context/index.js.map +7 -1
  213. package/build-module/components/dataviews/index.js +154 -127
  214. package/build-module/components/dataviews/index.js.map +7 -1
  215. package/build-module/components/dataviews-bulk-actions/index.js +227 -140
  216. package/build-module/components/dataviews-bulk-actions/index.js.map +7 -1
  217. package/build-module/components/dataviews-context/index.js +20 -30
  218. package/build-module/components/dataviews-context/index.js.map +7 -1
  219. package/build-module/components/dataviews-filters/add-filter.js +60 -68
  220. package/build-module/components/dataviews-filters/add-filter.js.map +7 -1
  221. package/build-module/components/dataviews-filters/filter.js +454 -232
  222. package/build-module/components/dataviews-filters/filter.js.map +7 -1
  223. package/build-module/components/dataviews-filters/filters-toggled.js +11 -19
  224. package/build-module/components/dataviews-filters/filters-toggled.js.map +7 -1
  225. package/build-module/components/dataviews-filters/filters.js +65 -59
  226. package/build-module/components/dataviews-filters/filters.js.map +7 -1
  227. package/build-module/components/dataviews-filters/index.js +11 -5
  228. package/build-module/components/dataviews-filters/index.js.map +7 -1
  229. package/build-module/components/dataviews-filters/input-widget.js +57 -81
  230. package/build-module/components/dataviews-filters/input-widget.js.map +7 -1
  231. package/build-module/components/dataviews-filters/reset-filters.js +33 -30
  232. package/build-module/components/dataviews-filters/reset-filters.js.map +7 -1
  233. package/build-module/components/dataviews-filters/search-widget.js +276 -195
  234. package/build-module/components/dataviews-filters/search-widget.js.map +7 -1
  235. package/build-module/components/dataviews-filters/toggle.js +58 -55
  236. package/build-module/components/dataviews-filters/toggle.js.map +7 -1
  237. package/build-module/components/dataviews-filters/use-filters.js +21 -23
  238. package/build-module/components/dataviews-filters/use-filters.js.map +7 -1
  239. package/build-module/components/dataviews-filters/utils.js +5 -6
  240. package/build-module/components/dataviews-filters/utils.js.map +7 -1
  241. package/build-module/components/dataviews-footer/index.js +28 -26
  242. package/build-module/components/dataviews-footer/index.js.map +7 -1
  243. package/build-module/components/dataviews-item-actions/index.js +171 -144
  244. package/build-module/components/dataviews-item-actions/index.js.map +7 -1
  245. package/build-module/components/dataviews-layout/index.js +35 -42
  246. package/build-module/components/dataviews-layout/index.js.map +7 -1
  247. package/build-module/components/dataviews-pagination/index.js +115 -92
  248. package/build-module/components/dataviews-pagination/index.js.map +7 -1
  249. package/build-module/components/dataviews-picker/footer.js +122 -93
  250. package/build-module/components/dataviews-picker/footer.js.map +7 -1
  251. package/build-module/components/dataviews-picker/index.js +137 -121
  252. package/build-module/components/dataviews-picker/index.js.map +7 -1
  253. package/build-module/components/dataviews-search/index.js +30 -35
  254. package/build-module/components/dataviews-search/index.js.map +7 -1
  255. package/build-module/components/dataviews-selection-checkbox/index.js +28 -31
  256. package/build-module/components/dataviews-selection-checkbox/index.js.map +7 -1
  257. package/build-module/components/dataviews-view-config/index.js +579 -504
  258. package/build-module/components/dataviews-view-config/index.js.map +7 -1
  259. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js +28 -33
  260. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js.map +7 -1
  261. package/build-module/constants.js +157 -101
  262. package/build-module/constants.js.map +7 -1
  263. package/build-module/dataform-controls/array.js +82 -141
  264. package/build-module/dataform-controls/array.js.map +7 -1
  265. package/build-module/dataform-controls/checkbox.js +28 -61
  266. package/build-module/dataform-controls/checkbox.js.map +7 -1
  267. package/build-module/dataform-controls/color.js +89 -115
  268. package/build-module/dataform-controls/color.js.map +7 -1
  269. package/build-module/dataform-controls/date.js +524 -337
  270. package/build-module/dataform-controls/date.js.map +7 -1
  271. package/build-module/dataform-controls/datetime.js +162 -139
  272. package/build-module/dataform-controls/datetime.js.map +7 -1
  273. package/build-module/dataform-controls/email.js +28 -28
  274. package/build-module/dataform-controls/email.js.map +7 -1
  275. package/build-module/dataform-controls/index.js +36 -43
  276. package/build-module/dataform-controls/index.js.map +7 -1
  277. package/build-module/dataform-controls/integer.js +8 -123
  278. package/build-module/dataform-controls/integer.js.map +7 -1
  279. package/build-module/dataform-controls/number.js +9 -0
  280. package/build-module/dataform-controls/number.js.map +7 -0
  281. package/build-module/dataform-controls/password.js +37 -30
  282. package/build-module/dataform-controls/password.js.map +7 -1
  283. package/build-module/dataform-controls/radio.js +34 -60
  284. package/build-module/dataform-controls/radio.js.map +7 -1
  285. package/build-module/dataform-controls/select.js +43 -84
  286. package/build-module/dataform-controls/select.js.map +7 -1
  287. package/build-module/dataform-controls/telephone.js +28 -28
  288. package/build-module/dataform-controls/telephone.js.map +7 -1
  289. package/build-module/dataform-controls/text.js +25 -26
  290. package/build-module/dataform-controls/text.js.map +7 -1
  291. package/build-module/dataform-controls/textarea.js +35 -67
  292. package/build-module/dataform-controls/textarea.js.map +7 -1
  293. package/build-module/dataform-controls/toggle-group.js +50 -62
  294. package/build-module/dataform-controls/toggle-group.js.map +7 -1
  295. package/build-module/dataform-controls/toggle.js +29 -62
  296. package/build-module/dataform-controls/toggle.js.map +7 -1
  297. package/build-module/dataform-controls/url.js +28 -28
  298. package/build-module/dataform-controls/url.js.map +7 -1
  299. package/build-module/dataform-controls/utils/get-custom-validity.js +15 -0
  300. package/build-module/dataform-controls/utils/get-custom-validity.js.map +7 -0
  301. package/build-module/dataform-controls/utils/relative-date-control.js +97 -0
  302. package/build-module/dataform-controls/utils/relative-date-control.js.map +7 -0
  303. package/build-module/dataform-controls/utils/validated-input.js +40 -67
  304. package/build-module/dataform-controls/utils/validated-input.js.map +7 -1
  305. package/build-module/dataform-controls/utils/validated-number.js +142 -0
  306. package/build-module/dataform-controls/utils/validated-number.js.map +7 -0
  307. package/build-module/dataform-layouts/card/index.js +183 -0
  308. package/build-module/dataform-layouts/card/index.js.map +7 -0
  309. package/build-module/dataform-layouts/data-form-layout.js +61 -0
  310. package/build-module/dataform-layouts/data-form-layout.js.map +7 -0
  311. package/build-module/dataform-layouts/get-summary-fields.js +21 -0
  312. package/build-module/dataform-layouts/get-summary-fields.js.map +7 -0
  313. package/build-module/dataform-layouts/index.js +68 -0
  314. package/build-module/dataform-layouts/index.js.map +7 -0
  315. package/build-module/dataform-layouts/is-combined-field.js +7 -0
  316. package/build-module/dataform-layouts/is-combined-field.js.map +7 -0
  317. package/build-module/dataform-layouts/normalize-form-fields.js +79 -0
  318. package/build-module/dataform-layouts/normalize-form-fields.js.map +7 -0
  319. package/build-module/dataform-layouts/panel/dropdown.js +136 -0
  320. package/build-module/dataform-layouts/panel/dropdown.js.map +7 -0
  321. package/build-module/dataform-layouts/panel/index.js +125 -0
  322. package/build-module/dataform-layouts/panel/index.js.map +7 -0
  323. package/build-module/dataform-layouts/panel/modal.js +151 -0
  324. package/build-module/dataform-layouts/panel/modal.js.map +7 -0
  325. package/build-module/dataform-layouts/panel/summary-button.js +73 -0
  326. package/build-module/dataform-layouts/panel/summary-button.js.map +7 -0
  327. package/build-module/dataform-layouts/regular/index.js +115 -0
  328. package/build-module/dataform-layouts/regular/index.js.map +7 -0
  329. package/build-module/dataform-layouts/row/index.js +95 -0
  330. package/build-module/dataform-layouts/row/index.js.map +7 -0
  331. package/build-module/dataviews-layouts/grid/index.js +316 -267
  332. package/build-module/dataviews-layouts/grid/index.js.map +7 -1
  333. package/build-module/dataviews-layouts/grid/preview-size-picker.js +66 -63
  334. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +7 -1
  335. package/build-module/dataviews-layouts/index.js +53 -42
  336. package/build-module/dataviews-layouts/index.js.map +7 -1
  337. package/build-module/dataviews-layouts/list/index.js +422 -339
  338. package/build-module/dataviews-layouts/list/index.js.map +7 -1
  339. package/build-module/dataviews-layouts/picker-grid/index.js +344 -291
  340. package/build-module/dataviews-layouts/picker-grid/index.js.map +7 -1
  341. package/build-module/dataviews-layouts/table/column-header-menu.js +129 -127
  342. package/build-module/dataviews-layouts/table/column-header-menu.js.map +7 -1
  343. package/build-module/dataviews-layouts/table/column-primary.js +71 -62
  344. package/build-module/dataviews-layouts/table/column-primary.js.map +7 -1
  345. package/build-module/dataviews-layouts/table/density-picker.js +61 -40
  346. package/build-module/dataviews-layouts/table/density-picker.js.map +7 -1
  347. package/build-module/dataviews-layouts/table/index.js +326 -302
  348. package/build-module/dataviews-layouts/table/index.js.map +7 -1
  349. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js +31 -40
  350. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +7 -1
  351. package/build-module/dataviews-layouts/utils/get-data-by-group.js +7 -10
  352. package/build-module/dataviews-layouts/utils/get-data-by-group.js.map +7 -1
  353. package/build-module/dataviews-layouts/utils/grid-items.js +19 -28
  354. package/build-module/dataviews-layouts/utils/grid-items.js.map +7 -1
  355. package/build-module/dataviews-layouts/utils/item-click-wrapper.js +32 -28
  356. package/build-module/dataviews-layouts/utils/item-click-wrapper.js.map +7 -1
  357. package/build-module/dataviews-layouts/utils/preview-size-picker.js +66 -63
  358. package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +7 -1
  359. package/build-module/field-types/array.js +32 -37
  360. package/build-module/field-types/array.js.map +7 -1
  361. package/build-module/field-types/boolean.js +22 -41
  362. package/build-module/field-types/boolean.js.map +7 -1
  363. package/build-module/field-types/color.js +51 -72
  364. package/build-module/field-types/color.js.map +7 -1
  365. package/build-module/field-types/date.js +51 -44
  366. package/build-module/field-types/date.js.map +7 -1
  367. package/build-module/field-types/datetime.js +43 -39
  368. package/build-module/field-types/datetime.js.map +7 -1
  369. package/build-module/field-types/email.js +39 -42
  370. package/build-module/field-types/email.js.map +7 -1
  371. package/build-module/field-types/index.js +43 -72
  372. package/build-module/field-types/index.js.map +7 -1
  373. package/build-module/field-types/integer.js +52 -41
  374. package/build-module/field-types/integer.js.map +7 -1
  375. package/build-module/field-types/media.js +7 -23
  376. package/build-module/field-types/media.js.map +7 -1
  377. package/build-module/field-types/number.js +77 -0
  378. package/build-module/field-types/number.js.map +7 -0
  379. package/build-module/field-types/password.js +12 -36
  380. package/build-module/field-types/password.js.map +7 -1
  381. package/build-module/field-types/telephone.js +36 -40
  382. package/build-module/field-types/telephone.js.map +7 -1
  383. package/build-module/field-types/text.js +36 -41
  384. package/build-module/field-types/text.js.map +7 -1
  385. package/build-module/field-types/url.js +36 -40
  386. package/build-module/field-types/url.js.map +7 -1
  387. package/build-module/field-types/utils/render-from-elements.js +22 -0
  388. package/build-module/field-types/utils/render-from-elements.js.map +7 -0
  389. package/build-module/hooks/index.js +5 -0
  390. package/build-module/hooks/index.js.map +7 -0
  391. package/build-module/hooks/use-elements.js +43 -0
  392. package/build-module/hooks/use-elements.js.map +7 -0
  393. package/build-module/hooks/use-form-validity.js +392 -0
  394. package/build-module/hooks/use-form-validity.js.map +7 -0
  395. package/build-module/index.js +15 -7
  396. package/build-module/index.js.map +7 -1
  397. package/build-module/lock-unlock.js +8 -7
  398. package/build-module/lock-unlock.js.map +7 -1
  399. package/build-module/types/dataform.js +1 -0
  400. package/build-module/types/dataform.js.map +7 -0
  401. package/build-module/types/dataviews.js +1 -0
  402. package/build-module/types/dataviews.js.map +7 -0
  403. package/build-module/types/field-api.js +1 -0
  404. package/build-module/types/field-api.js.map +7 -0
  405. package/build-module/types/index.js +1 -0
  406. package/build-module/types/index.js.map +7 -0
  407. package/build-module/types/private.js +1 -0
  408. package/build-module/types/private.js.map +7 -0
  409. package/build-module/utils/filter-sort-and-paginate.js +278 -0
  410. package/build-module/utils/filter-sort-and-paginate.js.map +7 -0
  411. package/build-module/utils/has-elements.js +7 -0
  412. package/build-module/utils/has-elements.js.map +7 -0
  413. package/build-module/utils/normalize-fields.js +134 -0
  414. package/build-module/utils/normalize-fields.js.map +7 -0
  415. package/build-style/style-rtl.css +81 -217
  416. package/build-style/style.css +81 -217
  417. package/build-types/components/dataform/index.d.ts +1 -1
  418. package/build-types/components/dataform/index.d.ts.map +1 -1
  419. package/build-types/components/dataform-context/index.d.ts.map +1 -1
  420. package/build-types/components/dataviews-bulk-actions/index.d.ts +1 -1
  421. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
  422. package/build-types/components/dataviews-context/index.d.ts +1 -1
  423. package/build-types/components/dataviews-filters/filter.d.ts +1 -1
  424. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -1
  425. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
  426. package/build-types/components/dataviews-filters/use-filters.d.ts.map +1 -1
  427. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  428. package/build-types/components/dataviews-picker/footer.d.ts.map +1 -1
  429. package/build-types/components/dataviews-selection-checkbox/index.d.ts +1 -1
  430. package/build-types/dataform-controls/array.d.ts +1 -1
  431. package/build-types/dataform-controls/array.d.ts.map +1 -1
  432. package/build-types/dataform-controls/checkbox.d.ts +1 -1
  433. package/build-types/dataform-controls/checkbox.d.ts.map +1 -1
  434. package/build-types/dataform-controls/color.d.ts +1 -1
  435. package/build-types/dataform-controls/color.d.ts.map +1 -1
  436. package/build-types/dataform-controls/date.d.ts +1 -1
  437. package/build-types/dataform-controls/date.d.ts.map +1 -1
  438. package/build-types/dataform-controls/datetime.d.ts +1 -1
  439. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  440. package/build-types/dataform-controls/email.d.ts +1 -1
  441. package/build-types/dataform-controls/email.d.ts.map +1 -1
  442. package/build-types/dataform-controls/index.d.ts.map +1 -1
  443. package/build-types/dataform-controls/integer.d.ts +4 -1
  444. package/build-types/dataform-controls/integer.d.ts.map +1 -1
  445. package/build-types/dataform-controls/number.d.ts +6 -0
  446. package/build-types/dataform-controls/number.d.ts.map +1 -0
  447. package/build-types/dataform-controls/password.d.ts +1 -1
  448. package/build-types/dataform-controls/password.d.ts.map +1 -1
  449. package/build-types/dataform-controls/radio.d.ts +1 -1
  450. package/build-types/dataform-controls/radio.d.ts.map +1 -1
  451. package/build-types/dataform-controls/select.d.ts +1 -1
  452. package/build-types/dataform-controls/select.d.ts.map +1 -1
  453. package/build-types/dataform-controls/telephone.d.ts +1 -1
  454. package/build-types/dataform-controls/telephone.d.ts.map +1 -1
  455. package/build-types/dataform-controls/text.d.ts +1 -1
  456. package/build-types/dataform-controls/text.d.ts.map +1 -1
  457. package/build-types/dataform-controls/textarea.d.ts +1 -1
  458. package/build-types/dataform-controls/textarea.d.ts.map +1 -1
  459. package/build-types/dataform-controls/toggle-group.d.ts +1 -1
  460. package/build-types/dataform-controls/toggle-group.d.ts.map +1 -1
  461. package/build-types/dataform-controls/toggle.d.ts +1 -1
  462. package/build-types/dataform-controls/toggle.d.ts.map +1 -1
  463. package/build-types/dataform-controls/url.d.ts +1 -1
  464. package/build-types/dataform-controls/url.d.ts.map +1 -1
  465. package/build-types/dataform-controls/utils/get-custom-validity.d.ts +9 -0
  466. package/build-types/dataform-controls/utils/get-custom-validity.d.ts.map +1 -0
  467. package/build-types/dataform-controls/utils/relative-date-control.d.ts +5 -0
  468. package/build-types/dataform-controls/utils/relative-date-control.d.ts.map +1 -0
  469. package/build-types/dataform-controls/utils/validated-input.d.ts +1 -1
  470. package/build-types/dataform-controls/utils/validated-input.d.ts.map +1 -1
  471. package/build-types/dataform-controls/utils/validated-number.d.ts +9 -0
  472. package/build-types/dataform-controls/utils/validated-number.d.ts.map +1 -0
  473. package/build-types/{dataforms-layouts → dataform-layouts}/card/index.d.ts +1 -1
  474. package/build-types/dataform-layouts/card/index.d.ts.map +1 -0
  475. package/build-types/{dataforms-layouts → dataform-layouts}/data-form-layout.d.ts +5 -3
  476. package/build-types/dataform-layouts/data-form-layout.d.ts.map +1 -0
  477. package/build-types/dataform-layouts/get-summary-fields.d.ts +12 -0
  478. package/build-types/dataform-layouts/get-summary-fields.d.ts.map +1 -0
  479. package/build-types/{dataforms-layouts → dataform-layouts}/index.d.ts +0 -5
  480. package/build-types/dataform-layouts/index.d.ts.map +1 -0
  481. package/build-types/dataform-layouts/is-combined-field.d.ts.map +1 -0
  482. package/build-types/{normalize-form-fields.d.ts → dataform-layouts/normalize-form-fields.d.ts} +1 -1
  483. package/build-types/dataform-layouts/normalize-form-fields.d.ts.map +1 -0
  484. package/build-types/{dataforms-layouts → dataform-layouts}/panel/dropdown.d.ts +8 -7
  485. package/build-types/dataform-layouts/panel/dropdown.d.ts.map +1 -0
  486. package/build-types/{dataforms-layouts → dataform-layouts}/panel/index.d.ts +1 -1
  487. package/build-types/dataform-layouts/panel/index.d.ts.map +1 -0
  488. package/build-types/{dataforms-layouts → dataform-layouts}/panel/modal.d.ts +5 -5
  489. package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -0
  490. package/build-types/dataform-layouts/panel/summary-button.d.ts.map +1 -0
  491. package/build-types/{dataforms-layouts → dataform-layouts}/regular/index.d.ts +1 -1
  492. package/build-types/dataform-layouts/regular/index.d.ts.map +1 -0
  493. package/build-types/{dataforms-layouts → dataform-layouts}/row/index.d.ts +1 -1
  494. package/build-types/dataform-layouts/row/index.d.ts.map +1 -0
  495. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  496. package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts +1 -1
  497. package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts.map +1 -1
  498. package/build-types/field-types/array.d.ts.map +1 -1
  499. package/build-types/field-types/boolean.d.ts +2 -1
  500. package/build-types/field-types/boolean.d.ts.map +1 -1
  501. package/build-types/field-types/color.d.ts +2 -1
  502. package/build-types/field-types/color.d.ts.map +1 -1
  503. package/build-types/field-types/date.d.ts +4 -3
  504. package/build-types/field-types/date.d.ts.map +1 -1
  505. package/build-types/field-types/datetime.d.ts +3 -2
  506. package/build-types/field-types/datetime.d.ts.map +1 -1
  507. package/build-types/field-types/email.d.ts +3 -2
  508. package/build-types/field-types/email.d.ts.map +1 -1
  509. package/build-types/field-types/index.d.ts.map +1 -1
  510. package/build-types/field-types/integer.d.ts +2 -1
  511. package/build-types/field-types/integer.d.ts.map +1 -1
  512. package/build-types/field-types/media.d.ts +2 -5
  513. package/build-types/field-types/media.d.ts.map +1 -1
  514. package/build-types/field-types/number.d.ts +21 -0
  515. package/build-types/field-types/number.d.ts.map +1 -0
  516. package/build-types/field-types/password.d.ts +4 -3
  517. package/build-types/field-types/password.d.ts.map +1 -1
  518. package/build-types/field-types/telephone.d.ts +4 -3
  519. package/build-types/field-types/telephone.d.ts.map +1 -1
  520. package/build-types/field-types/text.d.ts +4 -3
  521. package/build-types/field-types/text.d.ts.map +1 -1
  522. package/build-types/field-types/url.d.ts +4 -3
  523. package/build-types/field-types/url.d.ts.map +1 -1
  524. package/build-types/field-types/utils/render-from-elements.d.ts +6 -0
  525. package/build-types/field-types/utils/render-from-elements.d.ts.map +1 -0
  526. package/build-types/hooks/index.d.ts +5 -0
  527. package/build-types/hooks/index.d.ts.map +1 -0
  528. package/build-types/hooks/use-elements.d.ts +12 -0
  529. package/build-types/hooks/use-elements.d.ts.map +1 -0
  530. package/build-types/hooks/use-form-validity.d.ts +16 -0
  531. package/build-types/hooks/use-form-validity.d.ts.map +1 -0
  532. package/build-types/index.d.ts +2 -2
  533. package/build-types/index.d.ts.map +1 -1
  534. package/build-types/{components/dataform/stories/index.story.d.ts → stories/dataform.story.d.ts} +16 -6
  535. package/build-types/stories/dataform.story.d.ts.map +1 -0
  536. package/build-types/{components/dataviews-picker/stories/index.story.d.ts → stories/dataviews-picker.story.d.ts} +2 -2
  537. package/build-types/stories/dataviews-picker.story.d.ts.map +1 -0
  538. package/build-types/{components/dataviews/stories/fixtures.d.ts → stories/dataviews.fixtures.d.ts} +2 -2
  539. package/build-types/stories/dataviews.fixtures.d.ts.map +1 -0
  540. package/build-types/{components/dataviews/stories/index.story.d.ts → stories/dataviews.story.d.ts} +3 -3
  541. package/build-types/stories/dataviews.story.d.ts.map +1 -0
  542. package/build-types/stories/field-types.story.d.ts +157 -0
  543. package/build-types/stories/field-types.story.d.ts.map +1 -0
  544. package/build-types/test/use-form-validity.d.ts +2 -0
  545. package/build-types/test/use-form-validity.d.ts.map +1 -0
  546. package/build-types/types/dataform.d.ts +112 -0
  547. package/build-types/types/dataform.d.ts.map +1 -0
  548. package/build-types/types/dataviews.d.ts +341 -0
  549. package/build-types/types/dataviews.d.ts.map +1 -0
  550. package/build-types/types/field-api.d.ts +298 -0
  551. package/build-types/types/field-api.d.ts.map +1 -0
  552. package/build-types/types/index.d.ts +4 -0
  553. package/build-types/types/index.d.ts.map +1 -0
  554. package/build-types/{private-types.d.ts → types/private.d.ts} +1 -1
  555. package/build-types/types/private.d.ts.map +1 -0
  556. package/build-types/{filter-and-sort-data-view.d.ts → utils/filter-sort-and-paginate.d.ts} +3 -3
  557. package/build-types/utils/filter-sort-and-paginate.d.ts.map +1 -0
  558. package/build-types/utils/has-elements.d.ts +6 -0
  559. package/build-types/utils/has-elements.d.ts.map +1 -0
  560. package/build-types/utils/normalize-fields.d.ts +9 -0
  561. package/build-types/utils/normalize-fields.d.ts.map +1 -0
  562. package/build-wp/index.js +3151 -2714
  563. package/package.json +16 -18
  564. package/src/components/dataform/index.tsx +9 -3
  565. package/src/components/dataform-context/index.tsx +3 -1
  566. package/src/components/dataviews/index.tsx +2 -2
  567. package/src/components/dataviews/style.scss +4 -0
  568. package/src/components/dataviews-bulk-actions/index.tsx +1 -2
  569. package/src/components/dataviews-bulk-actions/style.scss +3 -0
  570. package/src/components/dataviews-context/index.ts +1 -1
  571. package/src/components/dataviews-filters/filter.tsx +11 -5
  572. package/src/components/dataviews-filters/search-widget.tsx +30 -3
  573. package/src/components/dataviews-filters/style.scss +21 -6
  574. package/src/components/dataviews-filters/use-filters.ts +4 -2
  575. package/src/components/dataviews-footer/style.scss +4 -0
  576. package/src/components/dataviews-item-actions/index.tsx +6 -2
  577. package/src/components/dataviews-item-actions/style.scss +3 -0
  578. package/src/components/dataviews-pagination/style.scss +3 -0
  579. package/src/components/dataviews-picker/footer.tsx +2 -4
  580. package/src/components/dataviews-picker/index.tsx +2 -2
  581. package/src/components/dataviews-picker/style.scss +2 -0
  582. package/src/components/dataviews-selection-checkbox/index.tsx +1 -1
  583. package/src/components/dataviews-selection-checkbox/style.scss +3 -0
  584. package/src/components/dataviews-view-config/style.scss +3 -0
  585. package/src/dataform-controls/array.tsx +16 -82
  586. package/src/dataform-controls/checkbox.tsx +5 -41
  587. package/src/dataform-controls/color.tsx +5 -37
  588. package/src/dataform-controls/date.tsx +375 -238
  589. package/src/dataform-controls/datetime.tsx +92 -60
  590. package/src/dataform-controls/email.tsx +2 -0
  591. package/src/dataform-controls/index.tsx +4 -1
  592. package/src/dataform-controls/integer.tsx +3 -179
  593. package/src/dataform-controls/number.tsx +10 -0
  594. package/src/dataform-controls/password.tsx +2 -0
  595. package/src/dataform-controls/radio.tsx +24 -55
  596. package/src/dataform-controls/select.tsx +14 -61
  597. package/src/dataform-controls/style.scss +2 -0
  598. package/src/dataform-controls/telephone.tsx +2 -0
  599. package/src/dataform-controls/text.tsx +2 -0
  600. package/src/dataform-controls/textarea.tsx +6 -42
  601. package/src/dataform-controls/toggle-group.tsx +38 -64
  602. package/src/dataform-controls/toggle.tsx +6 -42
  603. package/src/dataform-controls/url.tsx +2 -0
  604. package/src/dataform-controls/utils/get-custom-validity.ts +24 -0
  605. package/src/dataform-controls/{relative-date-control.tsx → utils/relative-date-control.tsx} +37 -25
  606. package/src/dataform-controls/utils/validated-input.tsx +4 -40
  607. package/src/dataform-controls/utils/validated-number.tsx +171 -0
  608. package/src/{dataforms-layouts → dataform-layouts}/card/index.tsx +106 -8
  609. package/src/dataform-layouts/card/style.scss +24 -0
  610. package/src/{dataforms-layouts → dataform-layouts}/data-form-layout.tsx +22 -5
  611. package/src/dataform-layouts/get-summary-fields.ts +42 -0
  612. package/src/{dataforms-layouts → dataform-layouts}/index.tsx +32 -2
  613. package/src/{normalize-form-fields.ts → dataform-layouts/normalize-form-fields.ts} +28 -1
  614. package/src/{dataforms-layouts → dataform-layouts}/panel/dropdown.tsx +36 -15
  615. package/src/{dataforms-layouts → dataform-layouts}/panel/index.tsx +88 -55
  616. package/src/{dataforms-layouts → dataform-layouts}/panel/modal.tsx +42 -31
  617. package/src/{dataforms-layouts → dataform-layouts}/panel/style.scss +3 -0
  618. package/src/{dataforms-layouts → dataform-layouts}/regular/index.tsx +5 -1
  619. package/src/{dataforms-layouts → dataform-layouts}/regular/style.scss +2 -0
  620. package/src/{dataforms-layouts → dataform-layouts}/row/index.tsx +9 -4
  621. package/src/dataform-layouts/style.scss +5 -0
  622. package/src/dataviews-layouts/grid/index.tsx +1 -1
  623. package/src/dataviews-layouts/grid/style.scss +8 -3
  624. package/src/dataviews-layouts/list/index.tsx +0 -2
  625. package/src/dataviews-layouts/list/style.scss +3 -0
  626. package/src/dataviews-layouts/picker-grid/index.tsx +1 -1
  627. package/src/dataviews-layouts/picker-grid/style.scss +8 -4
  628. package/src/dataviews-layouts/table/column-header-menu.tsx +1 -1
  629. package/src/dataviews-layouts/table/index.tsx +1 -1
  630. package/src/dataviews-layouts/table/style.scss +9 -0
  631. package/src/dataviews-layouts/utils/grid-items.scss +2 -0
  632. package/src/dataviews-layouts/utils/item-click-wrapper.tsx +40 -2
  633. package/src/field-types/array.tsx +1 -0
  634. package/src/field-types/boolean.tsx +4 -3
  635. package/src/field-types/color.tsx +4 -10
  636. package/src/field-types/{date.ts → date.tsx} +5 -16
  637. package/src/field-types/datetime.tsx +8 -21
  638. package/src/field-types/email.tsx +7 -11
  639. package/src/field-types/index.tsx +13 -23
  640. package/src/field-types/integer.tsx +7 -11
  641. package/src/field-types/media.tsx +3 -17
  642. package/src/field-types/number.tsx +92 -0
  643. package/src/field-types/password.tsx +8 -21
  644. package/src/field-types/telephone.tsx +8 -21
  645. package/src/field-types/text.tsx +8 -21
  646. package/src/field-types/url.tsx +8 -21
  647. package/src/field-types/utils/render-from-elements.tsx +29 -0
  648. package/src/hooks/index.ts +4 -0
  649. package/src/hooks/use-elements.ts +66 -0
  650. package/src/hooks/use-form-validity.ts +571 -0
  651. package/src/index.ts +2 -2
  652. package/src/{components/dataform/stories/index.story.tsx → stories/dataform.story.tsx} +455 -63
  653. package/src/{components/dataviews-picker/stories/index.story.tsx → stories/dataviews-picker.story.tsx} +5 -9
  654. package/src/{components/dataviews/stories/fixtures.tsx → stories/dataviews.fixtures.tsx} +36 -5
  655. package/src/{components/dataviews/stories/index.story.tsx → stories/dataviews.story.tsx} +7 -8
  656. package/src/{field-types/stories/index.story.tsx → stories/field-types.story.tsx} +244 -48
  657. package/src/style.scss +19 -18
  658. package/src/test/dataform.tsx +36 -0
  659. package/src/test/dataviews-picker.tsx +1 -1
  660. package/src/test/dataviews.tsx +1 -2
  661. package/src/test/{filter-and-sort-data-view.js → filter-sort-and-paginate.js} +63 -16
  662. package/src/test/normalize-fields.ts +23 -1
  663. package/src/test/normalize-form-fields.ts +54 -5
  664. package/src/test/use-form-validity.ts +546 -0
  665. package/src/types/dataform.ts +144 -0
  666. package/src/types/dataviews.ts +443 -0
  667. package/src/types/field-api.ts +381 -0
  668. package/src/types/index.ts +3 -0
  669. package/src/{filter-and-sort-data-view.ts → utils/filter-sort-and-paginate.ts} +4 -4
  670. package/src/utils/has-elements.ts +11 -0
  671. package/src/{normalize-fields.ts → utils/normalize-fields.ts} +13 -8
  672. package/tsconfig.tsbuildinfo +1 -1
  673. package/build/dataform-controls/relative-date-control.js +0 -105
  674. package/build/dataform-controls/relative-date-control.js.map +0 -1
  675. package/build/dataforms-layouts/card/index.js +0 -136
  676. package/build/dataforms-layouts/card/index.js.map +0 -1
  677. package/build/dataforms-layouts/data-form-layout.js +0 -71
  678. package/build/dataforms-layouts/data-form-layout.js.map +0 -1
  679. package/build/dataforms-layouts/index.js +0 -58
  680. package/build/dataforms-layouts/index.js.map +0 -1
  681. package/build/dataforms-layouts/is-combined-field.js +0 -14
  682. package/build/dataforms-layouts/is-combined-field.js.map +0 -1
  683. package/build/dataforms-layouts/panel/dropdown.js +0 -120
  684. package/build/dataforms-layouts/panel/dropdown.js.map +0 -1
  685. package/build/dataforms-layouts/panel/index.js +0 -126
  686. package/build/dataforms-layouts/panel/index.js.map +0 -1
  687. package/build/dataforms-layouts/panel/modal.js +0 -120
  688. package/build/dataforms-layouts/panel/modal.js.map +0 -1
  689. package/build/dataforms-layouts/panel/summary-button.js +0 -67
  690. package/build/dataforms-layouts/panel/summary-button.js.map +0 -1
  691. package/build/dataforms-layouts/regular/index.js +0 -116
  692. package/build/dataforms-layouts/regular/index.js.map +0 -1
  693. package/build/dataforms-layouts/row/index.js +0 -113
  694. package/build/dataforms-layouts/row/index.js.map +0 -1
  695. package/build/filter-and-sort-data-view.js +0 -313
  696. package/build/filter-and-sort-data-view.js.map +0 -1
  697. package/build/normalize-fields.js +0 -155
  698. package/build/normalize-fields.js.map +0 -1
  699. package/build/normalize-form-fields.js +0 -81
  700. package/build/normalize-form-fields.js.map +0 -1
  701. package/build/private-types.js +0 -6
  702. package/build/private-types.js.map +0 -1
  703. package/build/types.js +0 -6
  704. package/build/types.js.map +0 -1
  705. package/build/utils.js +0 -22
  706. package/build/utils.js.map +0 -1
  707. package/build/validation.js +0 -61
  708. package/build/validation.js.map +0 -1
  709. package/build-module/dataform-controls/relative-date-control.js +0 -96
  710. package/build-module/dataform-controls/relative-date-control.js.map +0 -1
  711. package/build-module/dataforms-layouts/card/index.js +0 -127
  712. package/build-module/dataforms-layouts/card/index.js.map +0 -1
  713. package/build-module/dataforms-layouts/data-form-layout.js +0 -62
  714. package/build-module/dataforms-layouts/data-form-layout.js.map +0 -1
  715. package/build-module/dataforms-layouts/index.js +0 -51
  716. package/build-module/dataforms-layouts/index.js.map +0 -1
  717. package/build-module/dataforms-layouts/is-combined-field.js +0 -8
  718. package/build-module/dataforms-layouts/is-combined-field.js.map +0 -1
  719. package/build-module/dataforms-layouts/panel/dropdown.js +0 -113
  720. package/build-module/dataforms-layouts/panel/dropdown.js.map +0 -1
  721. package/build-module/dataforms-layouts/panel/index.js +0 -119
  722. package/build-module/dataforms-layouts/panel/index.js.map +0 -1
  723. package/build-module/dataforms-layouts/panel/modal.js +0 -113
  724. package/build-module/dataforms-layouts/panel/modal.js.map +0 -1
  725. package/build-module/dataforms-layouts/panel/summary-button.js +0 -60
  726. package/build-module/dataforms-layouts/panel/summary-button.js.map +0 -1
  727. package/build-module/dataforms-layouts/regular/index.js +0 -109
  728. package/build-module/dataforms-layouts/regular/index.js.map +0 -1
  729. package/build-module/dataforms-layouts/row/index.js +0 -106
  730. package/build-module/dataforms-layouts/row/index.js.map +0 -1
  731. package/build-module/filter-and-sort-data-view.js +0 -305
  732. package/build-module/filter-and-sort-data-view.js.map +0 -1
  733. package/build-module/normalize-fields.js +0 -145
  734. package/build-module/normalize-fields.js.map +0 -1
  735. package/build-module/normalize-form-fields.js +0 -73
  736. package/build-module/normalize-form-fields.js.map +0 -1
  737. package/build-module/private-types.js +0 -2
  738. package/build-module/private-types.js.map +0 -1
  739. package/build-module/types.js +0 -2
  740. package/build-module/types.js.map +0 -1
  741. package/build-module/utils.js +0 -16
  742. package/build-module/utils.js.map +0 -1
  743. package/build-module/validation.js +0 -54
  744. package/build-module/validation.js.map +0 -1
  745. package/build-types/components/dataform/stories/index.story.d.ts.map +0 -1
  746. package/build-types/components/dataviews/stories/fixtures.d.ts.map +0 -1
  747. package/build-types/components/dataviews/stories/index.story.d.ts.map +0 -1
  748. package/build-types/components/dataviews-picker/stories/index.story.d.ts.map +0 -1
  749. package/build-types/dataform-controls/relative-date-control.d.ts +0 -47
  750. package/build-types/dataform-controls/relative-date-control.d.ts.map +0 -1
  751. package/build-types/dataforms-layouts/card/index.d.ts.map +0 -1
  752. package/build-types/dataforms-layouts/data-form-layout.d.ts.map +0 -1
  753. package/build-types/dataforms-layouts/index.d.ts.map +0 -1
  754. package/build-types/dataforms-layouts/is-combined-field.d.ts.map +0 -1
  755. package/build-types/dataforms-layouts/panel/dropdown.d.ts.map +0 -1
  756. package/build-types/dataforms-layouts/panel/index.d.ts.map +0 -1
  757. package/build-types/dataforms-layouts/panel/modal.d.ts.map +0 -1
  758. package/build-types/dataforms-layouts/panel/summary-button.d.ts.map +0 -1
  759. package/build-types/dataforms-layouts/regular/index.d.ts.map +0 -1
  760. package/build-types/dataforms-layouts/row/index.d.ts.map +0 -1
  761. package/build-types/field-types/stories/index.story.d.ts +0 -85
  762. package/build-types/field-types/stories/index.story.d.ts.map +0 -1
  763. package/build-types/filter-and-sort-data-view.d.ts.map +0 -1
  764. package/build-types/normalize-fields.d.ts +0 -12
  765. package/build-types/normalize-fields.d.ts.map +0 -1
  766. package/build-types/normalize-form-fields.d.ts.map +0 -1
  767. package/build-types/private-types.d.ts.map +0 -1
  768. package/build-types/test/validation.d.ts +0 -2
  769. package/build-types/test/validation.d.ts.map +0 -1
  770. package/build-types/types.d.ts +0 -688
  771. package/build-types/types.d.ts.map +0 -1
  772. package/build-types/utils.d.ts +0 -6
  773. package/build-types/utils.d.ts.map +0 -1
  774. package/build-types/validation.d.ts +0 -12
  775. package/build-types/validation.d.ts.map +0 -1
  776. package/src/dataforms-layouts/card/style.scss +0 -10
  777. package/src/test/validation.ts +0 -312
  778. package/src/types.ts +0 -891
  779. package/src/utils.ts +0 -15
  780. package/src/validation.ts +0 -91
  781. /package/build-types/{dataforms-layouts → dataform-layouts}/is-combined-field.d.ts +0 -0
  782. /package/build-types/{dataforms-layouts → dataform-layouts}/panel/summary-button.d.ts +0 -0
  783. /package/src/{dataforms-layouts → dataform-layouts}/is-combined-field.ts +0 -0
  784. /package/src/{dataforms-layouts → dataform-layouts}/panel/summary-button.tsx +0 -0
  785. /package/src/{dataforms-layouts → dataform-layouts}/row/style.scss +0 -0
  786. /package/src/{components/dataviews/stories/style.css → stories/dataviews.style.css} +0 -0
  787. /package/src/{private-types.tsx → types/private.ts} +0 -0
@@ -1 +1,7 @@
1
- {"version":3,"names":["Ariakit","removeAccents","clsx","useInstanceId","__","sprintf","useState","useMemo","useDeferredValue","VisuallyHidden","Icon","Composite","search","check","getCurrentValue","jsx","_jsx","jsxs","_jsxs","normalizeSearchInput","input","trim","toLowerCase","getNewValue","filterDefinition","currentFilter","value","singleSelection","Array","isArray","includes","filter","v","generateFilterElementCompositeItemId","prefix","filterElementValue","MultiSelectionOption","selected","className","children","icon","SingleSelectionOption","ListBox","view","onChangeView","baseId","activeCompositeId","setActiveCompositeId","operators","length","undefined","filters","find","f","field","currentValue","virtualFocus","focusLoop","activeId","setActiveId","role","name","onFocusVisible","elements","render","Typeahead","map","element","Hover","Item","id","label","onClick","_view$filters","_view$filters2","newFilters","_filter","operator","page","ComboboxList","searchValue","setSearchValue","deferredSearchValue","matches","normalizedSearch","item","ComboboxProvider","selectedValue","setSelectedValue","_view$filters3","_view$filters4","setValue","ComboboxLabel","Combobox","autoSelect","placeholder","alwaysVisible","ComboboxItem","resetValueOnSelect","hideOnClick","setValueOnClick","focusOnHover","ComboboxItemValue","description","SearchWidget","props","Widget"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/search-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport { VisuallyHidden, Icon, Composite } from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getCurrentValue } from './utils';\nimport type { Filter, NormalizedFilter, View, Option } from '../../types';\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter & {\n\t\telements: Option[];\n\t};\n\tonChangeView: ( view: View ) => void;\n}\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction generateFilterElementCompositeItemId(\n\tprefix: string,\n\tfilterElementValue: string\n) {\n\treturn `${ prefix }-${ filterElementValue }`;\n}\n\nconst MultiSelectionOption = ( { selected }: { selected: boolean } ) => {\n\treturn (\n\t\t<span\n\t\t\tclassName={ clsx(\n\t\t\t\t'dataviews-filters__search-widget-listitem-multi-selection',\n\t\t\t\t{ 'is-selected': selected }\n\t\t\t) }\n\t\t>\n\t\t\t{ selected && <Icon icon={ check } /> }\n\t\t</span>\n\t);\n};\n\nconst SingleSelectionOption = ( { selected }: { selected: boolean } ) => {\n\treturn (\n\t\t<span\n\t\t\tclassName={ clsx(\n\t\t\t\t'dataviews-filters__search-widget-listitem-single-selection',\n\t\t\t\t{ 'is-selected': selected }\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst baseId = useInstanceId( ListBox, 'dataviews-filter-list-box' );\n\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>(\n\t\t// When there are one or less operators, the first item is set as active\n\t\t// (by setting the initial `activeId` to `undefined`).\n\t\t// With 2 or more operators, the focus is moved on the operators control\n\t\t// (by setting the initial `activeId` to `null`), meaning that there won't\n\t\t// be an active item initially. Focus is then managed via the\n\t\t// `onFocusVisible` callback.\n\t\tfilter.operators?.length === 1 ? undefined : null\n\t);\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tvirtualFocus\n\t\t\tfocusLoop\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\t// `onFocusVisible` needs the `Composite` component to be focusable,\n\t\t\t\t// which is implicitly achieved via the `virtualFocus` prop.\n\t\t\t\tif ( ! activeCompositeId && filter.elements.length ) {\n\t\t\t\t\tsetActiveCompositeId(\n\t\t\t\t\t\tgenerateFilterElementCompositeItemId(\n\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\tfilter.elements[ 0 ].value\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <Composite.Typeahead /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<Composite.Hover\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateFilterElementCompositeItemId(\n\t\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t ];\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ filter.singleSelection && (\n\t\t\t\t\t\t<SingleSelectionOption\n\t\t\t\t\t\t\tselected={ currentValue === element.value }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filter.singleSelection && (\n\t\t\t\t\t\t<MultiSelectionOption\n\t\t\t\t\t\t\tselected={ currentValue.includes( element.value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</Composite.Hover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tresetValueOnSelect={ false }\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ filter.singleSelection && (\n\t\t\t\t\t\t\t\t<SingleSelectionOption\n\t\t\t\t\t\t\t\t\tselected={ currentValue === element.value }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! filter.singleSelection && (\n\t\t\t\t\t\t\t\t<MultiSelectionOption\n\t\t\t\t\t\t\t\t\tselected={ currentValue.includes(\n\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-filters/search-widget.tsx"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tIcon,\n\tComposite,\n\tSpinner,\n} from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getCurrentValue } from './utils';\nimport type { Filter, NormalizedFilter, View, Option } from '../../types';\nimport useElements from '../../hooks/use-elements';\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter & {\n\t\telements: Option[];\n\t};\n\tonChangeView: ( view: View ) => void;\n}\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction generateFilterElementCompositeItemId(\n\tprefix: string,\n\tfilterElementValue: string\n) {\n\treturn `${ prefix }-${ filterElementValue }`;\n}\n\nconst MultiSelectionOption = ( { selected }: { selected: boolean } ) => {\n\treturn (\n\t\t<span\n\t\t\tclassName={ clsx(\n\t\t\t\t'dataviews-filters__search-widget-listitem-multi-selection',\n\t\t\t\t{ 'is-selected': selected }\n\t\t\t) }\n\t\t>\n\t\t\t{ selected && <Icon icon={ check } /> }\n\t\t</span>\n\t);\n};\n\nconst SingleSelectionOption = ( { selected }: { selected: boolean } ) => {\n\treturn (\n\t\t<span\n\t\t\tclassName={ clsx(\n\t\t\t\t'dataviews-filters__search-widget-listitem-single-selection',\n\t\t\t\t{ 'is-selected': selected }\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst baseId = useInstanceId( ListBox, 'dataviews-filter-list-box' );\n\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>(\n\t\t// When there are one or less operators, the first item is set as active\n\t\t// (by setting the initial `activeId` to `undefined`).\n\t\t// With 2 or more operators, the focus is moved on the operators control\n\t\t// (by setting the initial `activeId` to `null`), meaning that there won't\n\t\t// be an active item initially. Focus is then managed via the\n\t\t// `onFocusVisible` callback.\n\t\tfilter.operators?.length === 1 ? undefined : null\n\t);\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tvirtualFocus\n\t\t\tfocusLoop\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\t// `onFocusVisible` needs the `Composite` component to be focusable,\n\t\t\t\t// which is implicitly achieved via the `virtualFocus` prop.\n\t\t\t\tif ( ! activeCompositeId && filter.elements.length ) {\n\t\t\t\t\tsetActiveCompositeId(\n\t\t\t\t\t\tgenerateFilterElementCompositeItemId(\n\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\tfilter.elements[ 0 ].value\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <Composite.Typeahead /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<Composite.Hover\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateFilterElementCompositeItemId(\n\t\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t ];\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ filter.singleSelection && (\n\t\t\t\t\t\t<SingleSelectionOption\n\t\t\t\t\t\t\tselected={ currentValue === element.value }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filter.singleSelection && (\n\t\t\t\t\t\t<MultiSelectionOption\n\t\t\t\t\t\t\tselected={ currentValue.includes( element.value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</Composite.Hover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tresetValueOnSelect={ false }\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ filter.singleSelection && (\n\t\t\t\t\t\t\t\t<SingleSelectionOption\n\t\t\t\t\t\t\t\t\tselected={ currentValue === element.value }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! filter.singleSelection && (\n\t\t\t\t\t\t\t\t<MultiSelectionOption\n\t\t\t\t\t\t\t\t\tselected={ currentValue.includes(\n\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst { elements, isLoading } = useElements( {\n\t\telements: props.filter.elements,\n\t\tgetElements: props.filter.getElements,\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div className=\"dataviews-filters__search-widget-no-elements\">\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( elements.length === 0 ) {\n\t\treturn (\n\t\t\t<div className=\"dataviews-filters__search-widget-no-elements\">\n\t\t\t\t{ __( 'No elements found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst Widget = elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } filter={ { ...props.filter, elements } } />;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,17 +1,10 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useContext, useRef, useCallback, useEffect } from '@wordpress/element';
5
- import { Button } from '@wordpress/components';
6
- import { funnel } from '@wordpress/icons';
7
- import { __, _x } from '@wordpress/i18n';
8
-
9
- /**
10
- * Internal dependencies
11
- */
12
- import { AddFilterMenu } from './add-filter';
13
- import DataViewsContext from '../dataviews-context';
14
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useContext, useRef, useCallback, useEffect } from "@wordpress/element";
3
+ import { Button } from "@wordpress/components";
4
+ import { funnel } from "@wordpress/icons";
5
+ import { __, _x } from "@wordpress/i18n";
6
+ import { AddFilterMenu } from "./add-filter";
7
+ import DataViewsContext from "../dataviews-context";
15
8
  function FiltersToggle() {
16
9
  const {
17
10
  filters,
@@ -22,23 +15,26 @@ function FiltersToggle() {
22
15
  setIsShowingFilter
23
16
  } = useContext(DataViewsContext);
24
17
  const buttonRef = useRef(null);
25
- const onChangeViewWithFilterVisibility = useCallback(_view => {
26
- onChangeView(_view);
27
- setIsShowingFilter(true);
28
- }, [onChangeView, setIsShowingFilter]);
29
- const visibleFilters = filters.filter(filter => filter.isVisible);
18
+ const onChangeViewWithFilterVisibility = useCallback(
19
+ (_view) => {
20
+ onChangeView(_view);
21
+ setIsShowingFilter(true);
22
+ },
23
+ [onChangeView, setIsShowingFilter]
24
+ );
25
+ const visibleFilters = filters.filter((filter) => filter.isVisible);
30
26
  const hasVisibleFilters = !!visibleFilters.length;
31
27
  if (filters.length === 0) {
32
28
  return null;
33
29
  }
34
30
  const addFilterButtonProps = {
35
- label: __('Add filter'),
36
- 'aria-expanded': false,
31
+ label: __("Add filter"),
32
+ "aria-expanded": false,
37
33
  isPressed: false
38
34
  };
39
35
  const toggleFiltersButtonProps = {
40
- label: _x('Filter', 'verb'),
41
- 'aria-expanded': isShowingFilter,
36
+ label: _x("Filter", "verb"),
37
+ "aria-expanded": isShowingFilter,
42
38
  isPressed: isShowingFilter,
43
39
  onClick: () => {
44
40
  if (!isShowingFilter) {
@@ -47,45 +43,52 @@ function FiltersToggle() {
47
43
  setIsShowingFilter(!isShowingFilter);
48
44
  }
49
45
  };
50
- const buttonComponent = /*#__PURE__*/_jsx(Button, {
51
- ref: buttonRef,
52
- className: "dataviews-filters__visibility-toggle",
53
- size: "compact",
54
- icon: funnel,
55
- ...(hasVisibleFilters ? toggleFiltersButtonProps : addFilterButtonProps)
56
- });
57
- return /*#__PURE__*/_jsx("div", {
58
- className: "dataviews-filters__container-visibility-toggle",
59
- children: !hasVisibleFilters ? /*#__PURE__*/_jsx(AddFilterMenu, {
60
- filters: filters,
61
- view: view,
46
+ const buttonComponent = /* @__PURE__ */ jsx(
47
+ Button,
48
+ {
49
+ ref: buttonRef,
50
+ className: "dataviews-filters__visibility-toggle",
51
+ size: "compact",
52
+ icon: funnel,
53
+ ...hasVisibleFilters ? toggleFiltersButtonProps : addFilterButtonProps
54
+ }
55
+ );
56
+ return /* @__PURE__ */ jsx("div", { className: "dataviews-filters__container-visibility-toggle", children: !hasVisibleFilters ? /* @__PURE__ */ jsx(
57
+ AddFilterMenu,
58
+ {
59
+ filters,
60
+ view,
62
61
  onChangeView: onChangeViewWithFilterVisibility,
63
- setOpenedFilter: setOpenedFilter,
64
- triggerProps: {
65
- render: buttonComponent
66
- }
67
- }) : /*#__PURE__*/_jsx(FilterVisibilityToggle, {
68
- buttonRef: buttonRef,
62
+ setOpenedFilter,
63
+ triggerProps: { render: buttonComponent }
64
+ }
65
+ ) : /* @__PURE__ */ jsx(
66
+ FilterVisibilityToggle,
67
+ {
68
+ buttonRef,
69
69
  filtersCount: view.filters?.length,
70
70
  children: buttonComponent
71
- })
72
- });
71
+ }
72
+ ) });
73
73
  }
74
74
  function FilterVisibilityToggle({
75
75
  buttonRef,
76
76
  filtersCount,
77
77
  children
78
78
  }) {
79
- // Focus the `add filter` button when unmounts.
80
- useEffect(() => () => {
81
- buttonRef.current?.focus();
82
- }, [buttonRef]);
83
- return /*#__PURE__*/_jsxs(_Fragment, {
84
- children: [children, !!filtersCount && /*#__PURE__*/_jsx("span", {
85
- className: "dataviews-filters-toggle__count",
86
- children: filtersCount
87
- })]
88
- });
79
+ useEffect(
80
+ () => () => {
81
+ buttonRef.current?.focus();
82
+ },
83
+ [buttonRef]
84
+ );
85
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
86
+ children,
87
+ !!filtersCount && /* @__PURE__ */ jsx("span", { className: "dataviews-filters-toggle__count", children: filtersCount })
88
+ ] });
89
89
  }
90
- export default FiltersToggle;
91
- //# sourceMappingURL=toggle.js.map
90
+ var toggle_default = FiltersToggle;
91
+ export {
92
+ toggle_default as default
93
+ };
94
+ //# sourceMappingURL=toggle.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["useContext","useRef","useCallback","useEffect","Button","funnel","__","_x","AddFilterMenu","DataViewsContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FiltersToggle","filters","view","onChangeView","setOpenedFilter","isShowingFilter","setIsShowingFilter","buttonRef","onChangeViewWithFilterVisibility","_view","visibleFilters","filter","isVisible","hasVisibleFilters","length","addFilterButtonProps","label","isPressed","toggleFiltersButtonProps","onClick","buttonComponent","ref","className","size","icon","children","triggerProps","render","FilterVisibilityToggle","filtersCount","current","focus"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/toggle.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext, useRef, useCallback, useEffect } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { funnel } from '@wordpress/icons';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { AddFilterMenu } from './add-filter';\nimport DataViewsContext from '../dataviews-context';\nimport type { View } from '../../types';\n\nfunction FiltersToggle() {\n\tconst {\n\t\tfilters,\n\t\tview,\n\t\tonChangeView,\n\t\tsetOpenedFilter,\n\t\tisShowingFilter,\n\t\tsetIsShowingFilter,\n\t} = useContext( DataViewsContext );\n\n\tconst buttonRef = useRef< HTMLButtonElement >( null );\n\tconst onChangeViewWithFilterVisibility = useCallback(\n\t\t( _view: View ) => {\n\t\t\tonChangeView( _view );\n\t\t\tsetIsShowingFilter( true );\n\t\t},\n\t\t[ onChangeView, setIsShowingFilter ]\n\t);\n\tconst visibleFilters = filters.filter( ( filter ) => filter.isVisible );\n\n\tconst hasVisibleFilters = !! visibleFilters.length;\n\tif ( filters.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst addFilterButtonProps = {\n\t\tlabel: __( 'Add filter' ),\n\t\t'aria-expanded': false,\n\t\tisPressed: false,\n\t};\n\tconst toggleFiltersButtonProps = {\n\t\tlabel: _x( 'Filter', 'verb' ),\n\t\t'aria-expanded': isShowingFilter,\n\t\tisPressed: isShowingFilter,\n\t\tonClick: () => {\n\t\t\tif ( ! isShowingFilter ) {\n\t\t\t\tsetOpenedFilter( null );\n\t\t\t}\n\t\t\tsetIsShowingFilter( ! isShowingFilter );\n\t\t},\n\t};\n\tconst buttonComponent = (\n\t\t<Button\n\t\t\tref={ buttonRef }\n\t\t\tclassName=\"dataviews-filters__visibility-toggle\"\n\t\t\tsize=\"compact\"\n\t\t\ticon={ funnel }\n\t\t\t{ ...( hasVisibleFilters\n\t\t\t\t? toggleFiltersButtonProps\n\t\t\t\t: addFilterButtonProps ) }\n\t\t/>\n\t);\n\treturn (\n\t\t<div className=\"dataviews-filters__container-visibility-toggle\">\n\t\t\t{ ! hasVisibleFilters ? (\n\t\t\t\t<AddFilterMenu\n\t\t\t\t\tfilters={ filters }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeViewWithFilterVisibility }\n\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\ttriggerProps={ { render: buttonComponent } }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<FilterVisibilityToggle\n\t\t\t\t\tbuttonRef={ buttonRef }\n\t\t\t\t\tfiltersCount={ view.filters?.length }\n\t\t\t\t>\n\t\t\t\t\t{ buttonComponent }\n\t\t\t\t</FilterVisibilityToggle>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction FilterVisibilityToggle( {\n\tbuttonRef,\n\tfiltersCount,\n\tchildren,\n}: {\n\tbuttonRef: React.RefObject< HTMLButtonElement >;\n\tfiltersCount?: number;\n\tchildren: React.ReactNode;\n} ) {\n\t// Focus the `add filter` button when unmounts.\n\tuseEffect(\n\t\t() => () => {\n\t\t\tbuttonRef.current?.focus();\n\t\t},\n\t\t[ buttonRef ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ children }\n\t\t\t{ !! filtersCount && (\n\t\t\t\t<span className=\"dataviews-filters-toggle__count\">\n\t\t\t\t\t{ filtersCount }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default FiltersToggle;\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-filters/toggle.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useContext, useRef, useCallback, useEffect } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { funnel } from '@wordpress/icons';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { AddFilterMenu } from './add-filter';\nimport DataViewsContext from '../dataviews-context';\nimport type { View } from '../../types';\n\nfunction FiltersToggle() {\n\tconst {\n\t\tfilters,\n\t\tview,\n\t\tonChangeView,\n\t\tsetOpenedFilter,\n\t\tisShowingFilter,\n\t\tsetIsShowingFilter,\n\t} = useContext( DataViewsContext );\n\n\tconst buttonRef = useRef< HTMLButtonElement >( null );\n\tconst onChangeViewWithFilterVisibility = useCallback(\n\t\t( _view: View ) => {\n\t\t\tonChangeView( _view );\n\t\t\tsetIsShowingFilter( true );\n\t\t},\n\t\t[ onChangeView, setIsShowingFilter ]\n\t);\n\tconst visibleFilters = filters.filter( ( filter ) => filter.isVisible );\n\n\tconst hasVisibleFilters = !! visibleFilters.length;\n\tif ( filters.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst addFilterButtonProps = {\n\t\tlabel: __( 'Add filter' ),\n\t\t'aria-expanded': false,\n\t\tisPressed: false,\n\t};\n\tconst toggleFiltersButtonProps = {\n\t\tlabel: _x( 'Filter', 'verb' ),\n\t\t'aria-expanded': isShowingFilter,\n\t\tisPressed: isShowingFilter,\n\t\tonClick: () => {\n\t\t\tif ( ! isShowingFilter ) {\n\t\t\t\tsetOpenedFilter( null );\n\t\t\t}\n\t\t\tsetIsShowingFilter( ! isShowingFilter );\n\t\t},\n\t};\n\tconst buttonComponent = (\n\t\t<Button\n\t\t\tref={ buttonRef }\n\t\t\tclassName=\"dataviews-filters__visibility-toggle\"\n\t\t\tsize=\"compact\"\n\t\t\ticon={ funnel }\n\t\t\t{ ...( hasVisibleFilters\n\t\t\t\t? toggleFiltersButtonProps\n\t\t\t\t: addFilterButtonProps ) }\n\t\t/>\n\t);\n\treturn (\n\t\t<div className=\"dataviews-filters__container-visibility-toggle\">\n\t\t\t{ ! hasVisibleFilters ? (\n\t\t\t\t<AddFilterMenu\n\t\t\t\t\tfilters={ filters }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeViewWithFilterVisibility }\n\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\ttriggerProps={ { render: buttonComponent } }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<FilterVisibilityToggle\n\t\t\t\t\tbuttonRef={ buttonRef }\n\t\t\t\t\tfiltersCount={ view.filters?.length }\n\t\t\t\t>\n\t\t\t\t\t{ buttonComponent }\n\t\t\t\t</FilterVisibilityToggle>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction FilterVisibilityToggle( {\n\tbuttonRef,\n\tfiltersCount,\n\tchildren,\n}: {\n\tbuttonRef: React.RefObject< HTMLButtonElement >;\n\tfiltersCount?: number;\n\tchildren: React.ReactNode;\n} ) {\n\t// Focus the `add filter` button when unmounts.\n\tuseEffect(\n\t\t() => () => {\n\t\t\tbuttonRef.current?.focus();\n\t\t},\n\t\t[ buttonRef ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ children }\n\t\t\t{ !! filtersCount && (\n\t\t\t\t<span className=\"dataviews-filters-toggle__count\">\n\t\t\t\t\t{ filtersCount }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default FiltersToggle;\n"],
5
+ "mappings": "AAyDE,SAiDA,UAjDA,KAiDA,YAjDA;AAtDF,SAAS,YAAY,QAAQ,aAAa,iBAAiB;AAC3D,SAAS,cAAc;AACvB,SAAS,cAAc;AACvB,SAAS,IAAI,UAAU;AAKvB,SAAS,qBAAqB;AAC9B,OAAO,sBAAsB;AAG7B,SAAS,gBAAgB;AACxB,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,WAAY,gBAAiB;AAEjC,QAAM,YAAY,OAA6B,IAAK;AACpD,QAAM,mCAAmC;AAAA,IACxC,CAAE,UAAiB;AAClB,mBAAc,KAAM;AACpB,yBAAoB,IAAK;AAAA,IAC1B;AAAA,IACA,CAAE,cAAc,kBAAmB;AAAA,EACpC;AACA,QAAM,iBAAiB,QAAQ,OAAQ,CAAE,WAAY,OAAO,SAAU;AAEtE,QAAM,oBAAoB,CAAC,CAAE,eAAe;AAC5C,MAAK,QAAQ,WAAW,GAAI;AAC3B,WAAO;AAAA,EACR;AAEA,QAAM,uBAAuB;AAAA,IAC5B,OAAO,GAAI,YAAa;AAAA,IACxB,iBAAiB;AAAA,IACjB,WAAW;AAAA,EACZ;AACA,QAAM,2BAA2B;AAAA,IAChC,OAAO,GAAI,UAAU,MAAO;AAAA,IAC5B,iBAAiB;AAAA,IACjB,WAAW;AAAA,IACX,SAAS,MAAM;AACd,UAAK,CAAE,iBAAkB;AACxB,wBAAiB,IAAK;AAAA,MACvB;AACA,yBAAoB,CAAE,eAAgB;AAAA,IACvC;AAAA,EACD;AACA,QAAM,kBACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM;AAAA,MACN,WAAU;AAAA,MACV,MAAK;AAAA,MACL,MAAO;AAAA,MACL,GAAK,oBACJ,2BACA;AAAA;AAAA,EACJ;AAED,SACC,oBAAC,SAAI,WAAU,kDACZ,WAAE,oBACH;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAe;AAAA,MACf;AAAA,MACA,cAAe,EAAE,QAAQ,gBAAgB;AAAA;AAAA,EAC1C,IAEA;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,cAAe,KAAK,SAAS;AAAA,MAE3B;AAAA;AAAA,EACH,GAEF;AAEF;AAEA,SAAS,uBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACD,GAII;AAEH;AAAA,IACC,MAAM,MAAM;AACX,gBAAU,SAAS,MAAM;AAAA,IAC1B;AAAA,IACA,CAAE,SAAU;AAAA,EACb;AACA,SACC,iCACG;AAAA;AAAA,IACA,CAAC,CAAE,gBACJ,oBAAC,UAAK,WAAU,mCACb,wBACH;AAAA,KAEF;AAEF;AAEA,IAAO,iBAAQ;",
6
+ "names": []
7
+ }
@@ -1,39 +1,34 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useMemo } from '@wordpress/element';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { ALL_OPERATORS, SINGLE_SELECTION_OPERATORS } from '../../constants';
1
+ import { useMemo } from "@wordpress/element";
2
+ import { ALL_OPERATORS, SINGLE_SELECTION_OPERATORS } from "../../constants";
10
3
  function useFilters(fields, view) {
11
4
  return useMemo(() => {
12
5
  const filters = [];
13
- fields.forEach(field => {
14
- var _view$filters$some, _field$elements;
15
- if (field.filterBy === false || !field.elements?.length && !field.Edit) {
6
+ fields.forEach((field) => {
7
+ if (field.filterBy === false || !field.hasElements && !field.Edit) {
16
8
  return;
17
9
  }
18
10
  const operators = field.filterBy.operators;
19
11
  const isPrimary = !!field.filterBy?.isPrimary;
20
- const isLocked = (_view$filters$some = view.filters?.some(f => f.field === field.id && !!f.isLocked)) !== null && _view$filters$some !== void 0 ? _view$filters$some : false;
12
+ const isLocked = view.filters?.some(
13
+ (f) => f.field === field.id && !!f.isLocked
14
+ ) ?? false;
21
15
  filters.push({
22
16
  field: field.id,
23
17
  name: field.label,
24
- elements: (_field$elements = field.elements) !== null && _field$elements !== void 0 ? _field$elements : [],
25
- singleSelection: operators.some(op => SINGLE_SELECTION_OPERATORS.includes(op)),
18
+ elements: field.elements,
19
+ getElements: field.getElements,
20
+ hasElements: field.hasElements,
21
+ singleSelection: operators.some(
22
+ (op) => SINGLE_SELECTION_OPERATORS.includes(op)
23
+ ),
26
24
  operators,
27
- isVisible: isLocked || isPrimary || !!view.filters?.some(f => f.field === field.id && ALL_OPERATORS.includes(f.operator)),
25
+ isVisible: isLocked || isPrimary || !!view.filters?.some(
26
+ (f) => f.field === field.id && ALL_OPERATORS.includes(f.operator)
27
+ ),
28
28
  isPrimary,
29
29
  isLocked
30
30
  });
31
31
  });
32
-
33
- // Sort filters by:
34
- // - locked filters go first
35
- // - primary filters go next
36
- // - then, sort by name
37
32
  filters.sort((a, b) => {
38
33
  if (a.isLocked && !b.isLocked) {
39
34
  return -1;
@@ -52,5 +47,8 @@ function useFilters(fields, view) {
52
47
  return filters;
53
48
  }, [fields, view]);
54
49
  }
55
- export default useFilters;
56
- //# sourceMappingURL=use-filters.js.map
50
+ var use_filters_default = useFilters;
51
+ export {
52
+ use_filters_default as default
53
+ };
54
+ //# sourceMappingURL=use-filters.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["useMemo","ALL_OPERATORS","SINGLE_SELECTION_OPERATORS","useFilters","fields","view","filters","forEach","field","_view$filters$some","_field$elements","filterBy","elements","length","Edit","operators","isPrimary","isLocked","some","f","id","push","name","label","singleSelection","op","includes","isVisible","operator","sort","a","b","localeCompare"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/use-filters.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ALL_OPERATORS, SINGLE_SELECTION_OPERATORS } from '../../constants';\nimport type { NormalizedFilter, NormalizedField, View } from '../../types';\n\nfunction useFilters( fields: NormalizedField< any >[], view: View ) {\n\treturn useMemo( () => {\n\t\tconst filters: NormalizedFilter[] = [];\n\t\tfields.forEach( ( field ) => {\n\t\t\tif (\n\t\t\t\tfield.filterBy === false ||\n\t\t\t\t( ! field.elements?.length && ! field.Edit )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst operators = field.filterBy.operators;\n\t\t\tconst isPrimary = !! field.filterBy?.isPrimary;\n\t\t\tconst isLocked =\n\t\t\t\tview.filters?.some(\n\t\t\t\t\t( f ) => f.field === field.id && !! f.isLocked\n\t\t\t\t) ?? false;\n\t\t\tfilters.push( {\n\t\t\t\tfield: field.id,\n\t\t\t\tname: field.label,\n\t\t\t\telements: field.elements ?? [],\n\t\t\t\tsingleSelection: operators.some( ( op ) =>\n\t\t\t\t\tSINGLE_SELECTION_OPERATORS.includes( op )\n\t\t\t\t),\n\t\t\t\toperators,\n\t\t\t\tisVisible:\n\t\t\t\t\tisLocked ||\n\t\t\t\t\tisPrimary ||\n\t\t\t\t\t!! view.filters?.some(\n\t\t\t\t\t\t( f ) =>\n\t\t\t\t\t\t\tf.field === field.id &&\n\t\t\t\t\t\t\tALL_OPERATORS.includes( f.operator )\n\t\t\t\t\t),\n\t\t\t\tisPrimary,\n\t\t\t\tisLocked,\n\t\t\t} );\n\t\t} );\n\n\t\t// Sort filters by:\n\t\t// - locked filters go first\n\t\t// - primary filters go next\n\t\t// - then, sort by name\n\t\tfilters.sort( ( a, b ) => {\n\t\t\tif ( a.isLocked && ! b.isLocked ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( ! a.isLocked && b.isLocked ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif ( a.isPrimary && ! b.isPrimary ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( ! a.isPrimary && b.isPrimary ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn a.name.localeCompare( b.name );\n\t\t} );\n\t\treturn filters;\n\t}, [ fields, view ] );\n}\n\nexport default useFilters;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA,SAASC,aAAa,EAAEC,0BAA0B,QAAQ,iBAAiB;AAG3E,SAASC,UAAUA,CAAEC,MAAgC,EAAEC,IAAU,EAAG;EACnE,OAAOL,OAAO,CAAE,MAAM;IACrB,MAAMM,OAA2B,GAAG,EAAE;IACtCF,MAAM,CAACG,OAAO,CAAIC,KAAK,IAAM;MAAA,IAAAC,kBAAA,EAAAC,eAAA;MAC5B,IACCF,KAAK,CAACG,QAAQ,KAAK,KAAK,IACtB,CAAEH,KAAK,CAACI,QAAQ,EAAEC,MAAM,IAAI,CAAEL,KAAK,CAACM,IAAM,EAC3C;QACD;MACD;MAEA,MAAMC,SAAS,GAAGP,KAAK,CAACG,QAAQ,CAACI,SAAS;MAC1C,MAAMC,SAAS,GAAG,CAAC,CAAER,KAAK,CAACG,QAAQ,EAAEK,SAAS;MAC9C,MAAMC,QAAQ,IAAAR,kBAAA,GACbJ,IAAI,CAACC,OAAO,EAAEY,IAAI,CACfC,CAAC,IAAMA,CAAC,CAACX,KAAK,KAAKA,KAAK,CAACY,EAAE,IAAI,CAAC,CAAED,CAAC,CAACF,QACvC,CAAC,cAAAR,kBAAA,cAAAA,kBAAA,GAAI,KAAK;MACXH,OAAO,CAACe,IAAI,CAAE;QACbb,KAAK,EAAEA,KAAK,CAACY,EAAE;QACfE,IAAI,EAAEd,KAAK,CAACe,KAAK;QACjBX,QAAQ,GAAAF,eAAA,GAAEF,KAAK,CAACI,QAAQ,cAAAF,eAAA,cAAAA,eAAA,GAAI,EAAE;QAC9Bc,eAAe,EAAET,SAAS,CAACG,IAAI,CAAIO,EAAE,IACpCvB,0BAA0B,CAACwB,QAAQ,CAAED,EAAG,CACzC,CAAC;QACDV,SAAS;QACTY,SAAS,EACRV,QAAQ,IACRD,SAAS,IACT,CAAC,CAAEX,IAAI,CAACC,OAAO,EAAEY,IAAI,CAClBC,CAAC,IACFA,CAAC,CAACX,KAAK,KAAKA,KAAK,CAACY,EAAE,IACpBnB,aAAa,CAACyB,QAAQ,CAAEP,CAAC,CAACS,QAAS,CACrC,CAAC;QACFZ,SAAS;QACTC;MACD,CAAE,CAAC;IACJ,CAAE,CAAC;;IAEH;IACA;IACA;IACA;IACAX,OAAO,CAACuB,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAM;MACzB,IAAKD,CAAC,CAACb,QAAQ,IAAI,CAAEc,CAAC,CAACd,QAAQ,EAAG;QACjC,OAAO,CAAC,CAAC;MACV;MACA,IAAK,CAAEa,CAAC,CAACb,QAAQ,IAAIc,CAAC,CAACd,QAAQ,EAAG;QACjC,OAAO,CAAC;MACT;MACA,IAAKa,CAAC,CAACd,SAAS,IAAI,CAAEe,CAAC,CAACf,SAAS,EAAG;QACnC,OAAO,CAAC,CAAC;MACV;MACA,IAAK,CAAEc,CAAC,CAACd,SAAS,IAAIe,CAAC,CAACf,SAAS,EAAG;QACnC,OAAO,CAAC;MACT;MACA,OAAOc,CAAC,CAACR,IAAI,CAACU,aAAa,CAAED,CAAC,CAACT,IAAK,CAAC;IACtC,CAAE,CAAC;IACH,OAAOhB,OAAO;EACf,CAAC,EAAE,CAAEF,MAAM,EAAEC,IAAI,CAAG,CAAC;AACtB;AAEA,eAAeF,UAAU","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-filters/use-filters.ts"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ALL_OPERATORS, SINGLE_SELECTION_OPERATORS } from '../../constants';\nimport type { NormalizedFilter, NormalizedField, View } from '../../types';\n\nfunction useFilters( fields: NormalizedField< any >[], view: View ) {\n\treturn useMemo( () => {\n\t\tconst filters: NormalizedFilter[] = [];\n\t\tfields.forEach( ( field ) => {\n\t\t\tif (\n\t\t\t\tfield.filterBy === false ||\n\t\t\t\t( ! field.hasElements && ! field.Edit )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst operators = field.filterBy.operators;\n\t\t\tconst isPrimary = !! field.filterBy?.isPrimary;\n\t\t\tconst isLocked =\n\t\t\t\tview.filters?.some(\n\t\t\t\t\t( f ) => f.field === field.id && !! f.isLocked\n\t\t\t\t) ?? false;\n\t\t\tfilters.push( {\n\t\t\t\tfield: field.id,\n\t\t\t\tname: field.label,\n\t\t\t\telements: field.elements,\n\t\t\t\tgetElements: field.getElements,\n\t\t\t\thasElements: field.hasElements,\n\t\t\t\tsingleSelection: operators.some( ( op ) =>\n\t\t\t\t\tSINGLE_SELECTION_OPERATORS.includes( op )\n\t\t\t\t),\n\t\t\t\toperators,\n\t\t\t\tisVisible:\n\t\t\t\t\tisLocked ||\n\t\t\t\t\tisPrimary ||\n\t\t\t\t\t!! view.filters?.some(\n\t\t\t\t\t\t( f ) =>\n\t\t\t\t\t\t\tf.field === field.id &&\n\t\t\t\t\t\t\tALL_OPERATORS.includes( f.operator )\n\t\t\t\t\t),\n\t\t\t\tisPrimary,\n\t\t\t\tisLocked,\n\t\t\t} );\n\t\t} );\n\n\t\t// Sort filters by:\n\t\t// - locked filters go first\n\t\t// - primary filters go next\n\t\t// - then, sort by name\n\t\tfilters.sort( ( a, b ) => {\n\t\t\tif ( a.isLocked && ! b.isLocked ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( ! a.isLocked && b.isLocked ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif ( a.isPrimary && ! b.isPrimary ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( ! a.isPrimary && b.isPrimary ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn a.name.localeCompare( b.name );\n\t\t} );\n\t\treturn filters;\n\t}, [ fields, view ] );\n}\n\nexport default useFilters;\n"],
5
+ "mappings": "AAGA,SAAS,eAAe;AAKxB,SAAS,eAAe,kCAAkC;AAG1D,SAAS,WAAY,QAAkC,MAAa;AACnE,SAAO,QAAS,MAAM;AACrB,UAAM,UAA8B,CAAC;AACrC,WAAO,QAAS,CAAE,UAAW;AAC5B,UACC,MAAM,aAAa,SACjB,CAAE,MAAM,eAAe,CAAE,MAAM,MAChC;AACD;AAAA,MACD;AAEA,YAAM,YAAY,MAAM,SAAS;AACjC,YAAM,YAAY,CAAC,CAAE,MAAM,UAAU;AACrC,YAAM,WACL,KAAK,SAAS;AAAA,QACb,CAAE,MAAO,EAAE,UAAU,MAAM,MAAM,CAAC,CAAE,EAAE;AAAA,MACvC,KAAK;AACN,cAAQ,KAAM;AAAA,QACb,OAAO,MAAM;AAAA,QACb,MAAM,MAAM;AAAA,QACZ,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,iBAAiB,UAAU;AAAA,UAAM,CAAE,OAClC,2BAA2B,SAAU,EAAG;AAAA,QACzC;AAAA,QACA;AAAA,QACA,WACC,YACA,aACA,CAAC,CAAE,KAAK,SAAS;AAAA,UAChB,CAAE,MACD,EAAE,UAAU,MAAM,MAClB,cAAc,SAAU,EAAE,QAAS;AAAA,QACrC;AAAA,QACD;AAAA,QACA;AAAA,MACD,CAAE;AAAA,IACH,CAAE;AAMF,YAAQ,KAAM,CAAE,GAAG,MAAO;AACzB,UAAK,EAAE,YAAY,CAAE,EAAE,UAAW;AACjC,eAAO;AAAA,MACR;AACA,UAAK,CAAE,EAAE,YAAY,EAAE,UAAW;AACjC,eAAO;AAAA,MACR;AACA,UAAK,EAAE,aAAa,CAAE,EAAE,WAAY;AACnC,eAAO;AAAA,MACR;AACA,UAAK,CAAE,EAAE,aAAa,EAAE,WAAY;AACnC,eAAO;AAAA,MACR;AACA,aAAO,EAAE,KAAK,cAAe,EAAE,IAAK;AAAA,IACrC,CAAE;AACF,WAAO;AAAA,EACR,GAAG,CAAE,QAAQ,IAAK,CAAE;AACrB;AAEA,IAAO,sBAAQ;",
6
+ "names": []
7
+ }
@@ -1,9 +1,5 @@
1
- /**
2
- * Internal dependencies
3
- */
4
-
5
1
  const EMPTY_ARRAY = [];
6
- export const getCurrentValue = (filterDefinition, currentFilter) => {
2
+ const getCurrentValue = (filterDefinition, currentFilter) => {
7
3
  if (filterDefinition.singleSelection) {
8
4
  return currentFilter?.value;
9
5
  }
@@ -15,4 +11,7 @@ export const getCurrentValue = (filterDefinition, currentFilter) => {
15
11
  }
16
12
  return EMPTY_ARRAY;
17
13
  };
18
- //# sourceMappingURL=utils.js.map
14
+ export {
15
+ getCurrentValue
16
+ };
17
+ //# sourceMappingURL=utils.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["EMPTY_ARRAY","getCurrentValue","filterDefinition","currentFilter","singleSelection","value","Array","isArray"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/utils.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { NormalizedFilter, Filter } from '../../types';\n\nconst EMPTY_ARRAY: [] = [];\n\nexport const getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n"],"mappings":"AAAA;AACA;AACA;;AAGA,MAAMA,WAAe,GAAG,EAAE;AAE1B,OAAO,MAAMC,eAAe,GAAGA,CAC9BC,gBAAkC,EAClCC,aAAsB,KAClB;EACJ,IAAKD,gBAAgB,CAACE,eAAe,EAAG;IACvC,OAAOD,aAAa,EAAEE,KAAK;EAC5B;EAEA,IAAKC,KAAK,CAACC,OAAO,CAAEJ,aAAa,EAAEE,KAAM,CAAC,EAAG;IAC5C,OAAOF,aAAa,CAACE,KAAK;EAC3B;EAEA,IAAK,CAAEC,KAAK,CAACC,OAAO,CAAEJ,aAAa,EAAEE,KAAM,CAAC,IAAI,CAAC,CAAEF,aAAa,EAAEE,KAAK,EAAG;IACzE,OAAO,CAAEF,aAAa,CAACE,KAAK,CAAE;EAC/B;EAEA,OAAOL,WAAW;AACnB,CAAC","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-filters/utils.ts"],
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { NormalizedFilter, Filter } from '../../types';\n\nconst EMPTY_ARRAY: [] = [];\n\nexport const getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n"],
5
+ "mappings": "AAKA,MAAM,cAAkB,CAAC;AAElB,MAAM,kBAAkB,CAC9B,kBACA,kBACI;AACJ,MAAK,iBAAiB,iBAAkB;AACvC,WAAO,eAAe;AAAA,EACvB;AAEA,MAAK,MAAM,QAAS,eAAe,KAAM,GAAI;AAC5C,WAAO,cAAc;AAAA,EACtB;AAEA,MAAK,CAAE,MAAM,QAAS,eAAe,KAAM,KAAK,CAAC,CAAE,eAAe,OAAQ;AACzE,WAAO,CAAE,cAAc,KAAM;AAAA,EAC9B;AAEA,SAAO;AACR;",
6
+ "names": []
7
+ }
@@ -1,25 +1,18 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __experimentalHStack as HStack } from '@wordpress/components';
5
- import { useContext } from '@wordpress/element';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import DataViewsContext from '../dataviews-context';
11
- import DataViewsPagination from '../dataviews-pagination';
12
- import { BulkActionsFooter, useSomeItemHasAPossibleBulkAction } from '../dataviews-bulk-actions';
13
- import { LAYOUT_GRID, LAYOUT_TABLE } from '../../constants';
14
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { __experimentalHStack as HStack } from "@wordpress/components";
3
+ import { useContext } from "@wordpress/element";
4
+ import DataViewsContext from "../dataviews-context";
5
+ import DataViewsPagination from "../dataviews-pagination";
6
+ import {
7
+ BulkActionsFooter,
8
+ useSomeItemHasAPossibleBulkAction
9
+ } from "../dataviews-bulk-actions";
10
+ import { LAYOUT_GRID, LAYOUT_TABLE } from "../../constants";
15
11
  const EMPTY_ARRAY = [];
16
- export default function DataViewsFooter() {
12
+ function DataViewsFooter() {
17
13
  const {
18
14
  view,
19
- paginationInfo: {
20
- totalItems = 0,
21
- totalPages
22
- },
15
+ paginationInfo: { totalItems = 0, totalPages },
23
16
  data,
24
17
  actions = EMPTY_ARRAY
25
18
  } = useContext(DataViewsContext);
@@ -27,11 +20,20 @@ export default function DataViewsFooter() {
27
20
  if (!totalItems || !totalPages || totalPages <= 1 && !hasBulkActions) {
28
21
  return null;
29
22
  }
30
- return !!totalItems && /*#__PURE__*/_jsxs(HStack, {
31
- expanded: false,
32
- justify: "end",
33
- className: "dataviews-footer",
34
- children: [hasBulkActions && /*#__PURE__*/_jsx(BulkActionsFooter, {}), /*#__PURE__*/_jsx(DataViewsPagination, {})]
35
- });
23
+ return !!totalItems && /* @__PURE__ */ jsxs(
24
+ HStack,
25
+ {
26
+ expanded: false,
27
+ justify: "end",
28
+ className: "dataviews-footer",
29
+ children: [
30
+ hasBulkActions && /* @__PURE__ */ jsx(BulkActionsFooter, {}),
31
+ /* @__PURE__ */ jsx(DataViewsPagination, {})
32
+ ]
33
+ }
34
+ );
36
35
  }
37
- //# sourceMappingURL=index.js.map
36
+ export {
37
+ DataViewsFooter as default
38
+ };
39
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["__experimentalHStack","HStack","useContext","DataViewsContext","DataViewsPagination","BulkActionsFooter","useSomeItemHasAPossibleBulkAction","LAYOUT_GRID","LAYOUT_TABLE","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","DataViewsFooter","view","paginationInfo","totalItems","totalPages","data","actions","hasBulkActions","includes","type","expanded","justify","className","children"],"sources":["@wordpress/dataviews/src/components/dataviews-footer/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport DataViewsPagination from '../dataviews-pagination';\nimport {\n\tBulkActionsFooter,\n\tuseSomeItemHasAPossibleBulkAction,\n} from '../dataviews-bulk-actions';\nimport { LAYOUT_GRID, LAYOUT_TABLE } from '../../constants';\n\nconst EMPTY_ARRAY: [] = [];\n\nexport default function DataViewsFooter() {\n\tconst {\n\t\tview,\n\t\tpaginationInfo: { totalItems = 0, totalPages },\n\t\tdata,\n\t\tactions = EMPTY_ARRAY,\n\t} = useContext( DataViewsContext );\n\tconst hasBulkActions =\n\t\tuseSomeItemHasAPossibleBulkAction( actions, data ) &&\n\t\t[ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type );\n\n\tif (\n\t\t! totalItems ||\n\t\t! totalPages ||\n\t\t( totalPages <= 1 && ! hasBulkActions )\n\t) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t!! totalItems && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-footer\"\n\t\t\t>\n\t\t\t\t{ hasBulkActions && <BulkActionsFooter /> }\n\t\t\t\t<DataViewsPagination />\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,SACCC,iBAAiB,EACjBC,iCAAiC,QAC3B,2BAA2B;AAClC,SAASC,WAAW,EAAEC,YAAY,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5D,MAAMC,WAAe,GAAG,EAAE;AAE1B,eAAe,SAASC,eAAeA,CAAA,EAAG;EACzC,MAAM;IACLC,IAAI;IACJC,cAAc,EAAE;MAAEC,UAAU,GAAG,CAAC;MAAEC;IAAW,CAAC;IAC9CC,IAAI;IACJC,OAAO,GAAGP;EACX,CAAC,GAAGX,UAAU,CAAEC,gBAAiB,CAAC;EAClC,MAAMkB,cAAc,GACnBf,iCAAiC,CAAEc,OAAO,EAAED,IAAK,CAAC,IAClD,CAAEX,YAAY,EAAED,WAAW,CAAE,CAACe,QAAQ,CAAEP,IAAI,CAACQ,IAAK,CAAC;EAEpD,IACC,CAAEN,UAAU,IACZ,CAAEC,UAAU,IACVA,UAAU,IAAI,CAAC,IAAI,CAAEG,cAAgB,EACtC;IACD,OAAO,IAAI;EACZ;EACA,OACC,CAAC,CAAEJ,UAAU,iBACZL,KAAA,CAACX,MAAM;IACNuB,QAAQ,EAAG,KAAO;IAClBC,OAAO,EAAC,KAAK;IACbC,SAAS,EAAC,kBAAkB;IAAAC,QAAA,GAE1BN,cAAc,iBAAIX,IAAA,CAACL,iBAAiB,IAAE,CAAC,eACzCK,IAAA,CAACN,mBAAmB,IAAE,CAAC;EAAA,CAChB,CACR;AAEH","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-footer/index.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport DataViewsPagination from '../dataviews-pagination';\nimport {\n\tBulkActionsFooter,\n\tuseSomeItemHasAPossibleBulkAction,\n} from '../dataviews-bulk-actions';\nimport { LAYOUT_GRID, LAYOUT_TABLE } from '../../constants';\n\nconst EMPTY_ARRAY: [] = [];\n\nexport default function DataViewsFooter() {\n\tconst {\n\t\tview,\n\t\tpaginationInfo: { totalItems = 0, totalPages },\n\t\tdata,\n\t\tactions = EMPTY_ARRAY,\n\t} = useContext( DataViewsContext );\n\tconst hasBulkActions =\n\t\tuseSomeItemHasAPossibleBulkAction( actions, data ) &&\n\t\t[ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type );\n\n\tif (\n\t\t! totalItems ||\n\t\t! totalPages ||\n\t\t( totalPages <= 1 && ! hasBulkActions )\n\t) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t!! totalItems && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-footer\"\n\t\t\t>\n\t\t\t\t{ hasBulkActions && <BulkActionsFooter /> }\n\t\t\t\t<DataViewsPagination />\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n"],
5
+ "mappings": "AAuCG,SAKqB,KALrB;AApCH,SAAS,wBAAwB,cAAc;AAC/C,SAAS,kBAAkB;AAK3B,OAAO,sBAAsB;AAC7B,OAAO,yBAAyB;AAChC;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,aAAa,oBAAoB;AAE1C,MAAM,cAAkB,CAAC;AAEV,SAAR,kBAAmC;AACzC,QAAM;AAAA,IACL;AAAA,IACA,gBAAgB,EAAE,aAAa,GAAG,WAAW;AAAA,IAC7C;AAAA,IACA,UAAU;AAAA,EACX,IAAI,WAAY,gBAAiB;AACjC,QAAM,iBACL,kCAAmC,SAAS,IAAK,KACjD,CAAE,cAAc,WAAY,EAAE,SAAU,KAAK,IAAK;AAEnD,MACC,CAAE,cACF,CAAE,cACA,cAAc,KAAK,CAAE,gBACtB;AACD,WAAO;AAAA,EACR;AACA,SACC,CAAC,CAAE,cACF;AAAA,IAAC;AAAA;AAAA,MACA,UAAW;AAAA,MACX,SAAQ;AAAA,MACR,WAAU;AAAA,MAER;AAAA,0BAAkB,oBAAC,qBAAkB;AAAA,QACvC,oBAAC,uBAAoB;AAAA;AAAA;AAAA,EACtB;AAGH;",
6
+ "names": []
7
+ }