@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,67 +1,78 @@
1
- /**
2
- * External dependencies
3
- */
4
-
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { __experimentalHStack as HStack } from '@wordpress/components';
9
- import { useEffect, useMemo, useRef, useState } from '@wordpress/element';
10
- import { useResizeObserver, throttle } from '@wordpress/compose';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import DataViewsContext from '../dataviews-context';
16
- import { VIEW_LAYOUTS } from '../../dataviews-layouts';
17
- import { Filters, FiltersToggled, useFilters, FiltersToggle } from '../dataviews-filters';
18
- import DataViewsLayout from '../dataviews-layout';
19
- import { DataViewsPickerFooter } from './footer';
20
- import DataViewsSearch from '../dataviews-search';
21
- import { DataViewsPagination } from '../dataviews-pagination';
22
- import DataViewsViewConfig, { DataviewsViewConfigDropdown, ViewTypeMenu } from '../dataviews-view-config';
23
- import { normalizeFields } from '../../normalize-fields';
24
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { __experimentalHStack as HStack } from "@wordpress/components";
3
+ import { useEffect, useMemo, useRef, useState } from "@wordpress/element";
4
+ import { useResizeObserver, throttle } from "@wordpress/compose";
5
+ import DataViewsContext from "../dataviews-context";
6
+ import { VIEW_LAYOUTS } from "../../dataviews-layouts";
7
+ import {
8
+ Filters,
9
+ FiltersToggled,
10
+ useFilters,
11
+ FiltersToggle
12
+ } from "../dataviews-filters";
13
+ import DataViewsLayout from "../dataviews-layout";
14
+ import { DataViewsPickerFooter } from "./footer";
15
+ import DataViewsSearch from "../dataviews-search";
16
+ import { DataViewsPagination } from "../dataviews-pagination";
17
+ import DataViewsViewConfig, {
18
+ DataviewsViewConfigDropdown,
19
+ ViewTypeMenu
20
+ } from "../dataviews-view-config";
21
+ import normalizeFields from "../../utils/normalize-fields";
25
22
  const isItemClickable = () => false;
26
- const dataViewsPickerLayouts = VIEW_LAYOUTS.filter(viewLayout => viewLayout.isPicker);
27
- const defaultGetItemId = item => item.id;
23
+ const dataViewsPickerLayouts = VIEW_LAYOUTS.filter(
24
+ (viewLayout) => viewLayout.isPicker
25
+ );
26
+ const defaultGetItemId = (item) => item.id;
28
27
  const EMPTY_ARRAY = [];
29
28
  function DefaultUI({
30
29
  search = true,
31
- searchLabel = undefined
30
+ searchLabel = void 0
32
31
  }) {
33
- return /*#__PURE__*/_jsxs(_Fragment, {
34
- children: [/*#__PURE__*/_jsxs(HStack, {
35
- alignment: "top",
36
- justify: "space-between",
37
- className: "dataviews__view-actions",
38
- spacing: 1,
39
- children: [/*#__PURE__*/_jsxs(HStack, {
40
- justify: "start",
41
- expanded: false,
42
- className: "dataviews__search",
43
- children: [search && /*#__PURE__*/_jsx(DataViewsSearch, {
44
- label: searchLabel
45
- }), /*#__PURE__*/_jsx(FiltersToggle, {})]
46
- }), /*#__PURE__*/_jsx(HStack, {
32
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
33
+ /* @__PURE__ */ jsxs(
34
+ HStack,
35
+ {
36
+ alignment: "top",
37
+ justify: "space-between",
38
+ className: "dataviews__view-actions",
47
39
  spacing: 1,
48
- expanded: false,
49
- style: {
50
- flexShrink: 0
51
- },
52
- children: /*#__PURE__*/_jsx(DataViewsViewConfig, {})
53
- })]
54
- }), /*#__PURE__*/_jsx(FiltersToggled, {
55
- className: "dataviews-filters__container"
56
- }), /*#__PURE__*/_jsx(DataViewsLayout, {}), /*#__PURE__*/_jsx(DataViewsPickerFooter, {})]
57
- });
40
+ children: [
41
+ /* @__PURE__ */ jsxs(
42
+ HStack,
43
+ {
44
+ justify: "start",
45
+ expanded: false,
46
+ className: "dataviews__search",
47
+ children: [
48
+ search && /* @__PURE__ */ jsx(DataViewsSearch, { label: searchLabel }),
49
+ /* @__PURE__ */ jsx(FiltersToggle, {})
50
+ ]
51
+ }
52
+ ),
53
+ /* @__PURE__ */ jsx(
54
+ HStack,
55
+ {
56
+ spacing: 1,
57
+ expanded: false,
58
+ style: { flexShrink: 0 },
59
+ children: /* @__PURE__ */ jsx(DataViewsViewConfig, {})
60
+ }
61
+ )
62
+ ]
63
+ }
64
+ ),
65
+ /* @__PURE__ */ jsx(FiltersToggled, { className: "dataviews-filters__container" }),
66
+ /* @__PURE__ */ jsx(DataViewsLayout, {}),
67
+ /* @__PURE__ */ jsx(DataViewsPickerFooter, {})
68
+ ] });
58
69
  }
59
70
  function DataViewsPicker({
60
71
  view,
61
72
  onChangeView,
62
73
  fields,
63
74
  search = true,
64
- searchLabel = undefined,
75
+ searchLabel = void 0,
65
76
  actions = EMPTY_ARRAY,
66
77
  data,
67
78
  getItemId = defaultGetItemId,
@@ -71,110 +82,112 @@ function DataViewsPicker({
71
82
  selection,
72
83
  onChangeSelection,
73
84
  children,
74
- config = {
75
- perPageSizes: [10, 20, 50, 100]
76
- },
85
+ config = { perPageSizes: [10, 20, 50, 100] },
77
86
  itemListLabel,
78
87
  empty
79
88
  }) {
80
- const {
81
- infiniteScrollHandler
82
- } = paginationInfo;
89
+ const { infiniteScrollHandler } = paginationInfo;
83
90
  const containerRef = useRef(null);
84
91
  const [containerWidth, setContainerWidth] = useState(0);
85
- const resizeObserverRef = useResizeObserver(resizeObserverEntries => {
86
- setContainerWidth(resizeObserverEntries[0].borderBoxSize[0].inlineSize);
87
- }, {
88
- box: 'border-box'
89
- });
92
+ const resizeObserverRef = useResizeObserver(
93
+ (resizeObserverEntries) => {
94
+ setContainerWidth(
95
+ resizeObserverEntries[0].borderBoxSize[0].inlineSize
96
+ );
97
+ },
98
+ { box: "border-box" }
99
+ );
90
100
  const [openedFilter, setOpenedFilter] = useState(null);
91
101
  function setSelectionWithChange(value) {
92
- const newValue = typeof value === 'function' ? value(selection) : value;
102
+ const newValue = typeof value === "function" ? value(selection) : value;
93
103
  if (onChangeSelection) {
94
104
  onChangeSelection(newValue);
95
105
  }
96
106
  }
97
107
  const _fields = useMemo(() => normalizeFields(fields), [fields]);
98
108
  const filters = useFilters(_fields, view);
99
- const hasPrimaryOrLockedFilters = useMemo(() => (filters || []).some(filter => filter.isPrimary || filter.isLocked), [filters]);
100
- const [isShowingFilter, setIsShowingFilter] = useState(hasPrimaryOrLockedFilters);
109
+ const hasPrimaryOrLockedFilters = useMemo(
110
+ () => (filters || []).some(
111
+ (filter) => filter.isPrimary || filter.isLocked
112
+ ),
113
+ [filters]
114
+ );
115
+ const [isShowingFilter, setIsShowingFilter] = useState(
116
+ hasPrimaryOrLockedFilters
117
+ );
101
118
  useEffect(() => {
102
119
  if (hasPrimaryOrLockedFilters && !isShowingFilter) {
103
120
  setIsShowingFilter(true);
104
121
  }
105
122
  }, [hasPrimaryOrLockedFilters, isShowingFilter]);
106
-
107
- // Attach scroll event listener for infinite scroll
108
123
  useEffect(() => {
109
124
  if (!view.infiniteScrollEnabled || !containerRef.current) {
110
125
  return;
111
126
  }
112
- const handleScroll = throttle(event => {
127
+ const handleScroll = throttle((event) => {
113
128
  const target = event.target;
114
129
  const scrollTop = target.scrollTop;
115
130
  const scrollHeight = target.scrollHeight;
116
131
  const clientHeight = target.clientHeight;
117
-
118
- // Check if user has scrolled near the bottom
119
132
  if (scrollTop + clientHeight >= scrollHeight - 100) {
120
133
  infiniteScrollHandler?.();
121
134
  }
122
- }, 100); // Throttle to 100ms
123
-
135
+ }, 100);
124
136
  const container = containerRef.current;
125
- container.addEventListener('scroll', handleScroll);
137
+ container.addEventListener("scroll", handleScroll);
126
138
  return () => {
127
- container.removeEventListener('scroll', handleScroll);
128
- handleScroll.cancel(); // Cancel any pending throttled calls
139
+ container.removeEventListener("scroll", handleScroll);
140
+ handleScroll.cancel();
129
141
  };
130
142
  }, [infiniteScrollHandler, view.infiniteScrollEnabled]);
131
-
132
- // Filter out DataViewsPicker layouts.
133
- const defaultLayouts = useMemo(() => Object.fromEntries(Object.entries(defaultLayoutsProperty).filter(([layoutType]) => {
134
- return dataViewsPickerLayouts.some(viewLayout => viewLayout.type === layoutType);
135
- })), [defaultLayoutsProperty]);
143
+ const defaultLayouts = useMemo(
144
+ () => Object.fromEntries(
145
+ Object.entries(defaultLayoutsProperty).filter(
146
+ ([layoutType]) => {
147
+ return dataViewsPickerLayouts.some(
148
+ (viewLayout) => viewLayout.type === layoutType
149
+ );
150
+ }
151
+ )
152
+ ),
153
+ [defaultLayoutsProperty]
154
+ );
136
155
  if (!defaultLayouts[view.type]) {
137
156
  return null;
138
157
  }
139
- return /*#__PURE__*/_jsx(DataViewsContext.Provider, {
140
- value: {
141
- view,
142
- onChangeView,
143
- fields: _fields,
144
- actions,
145
- data,
146
- isLoading,
147
- paginationInfo,
148
- isItemClickable,
149
- selection,
150
- onChangeSelection: setSelectionWithChange,
151
- openedFilter,
152
- setOpenedFilter,
153
- getItemId,
154
- containerWidth,
155
- containerRef,
156
- resizeObserverRef,
157
- defaultLayouts,
158
- filters,
159
- isShowingFilter,
160
- setIsShowingFilter,
161
- config,
162
- itemListLabel,
163
- empty,
164
- hasInfiniteScrollHandler: !!infiniteScrollHandler
165
- },
166
- children: /*#__PURE__*/_jsx("div", {
167
- className: "dataviews-picker-wrapper",
168
- ref: containerRef,
169
- children: children !== null && children !== void 0 ? children : /*#__PURE__*/_jsx(DefaultUI, {
170
- search: search,
171
- searchLabel: searchLabel
172
- })
173
- })
174
- });
158
+ return /* @__PURE__ */ jsx(
159
+ DataViewsContext.Provider,
160
+ {
161
+ value: {
162
+ view,
163
+ onChangeView,
164
+ fields: _fields,
165
+ actions,
166
+ data,
167
+ isLoading,
168
+ paginationInfo,
169
+ isItemClickable,
170
+ selection,
171
+ onChangeSelection: setSelectionWithChange,
172
+ openedFilter,
173
+ setOpenedFilter,
174
+ getItemId,
175
+ containerWidth,
176
+ containerRef,
177
+ resizeObserverRef,
178
+ defaultLayouts,
179
+ filters,
180
+ isShowingFilter,
181
+ setIsShowingFilter,
182
+ config,
183
+ itemListLabel,
184
+ empty,
185
+ hasInfiniteScrollHandler: !!infiniteScrollHandler
186
+ },
187
+ children: /* @__PURE__ */ jsx("div", { className: "dataviews-picker-wrapper", ref: containerRef, children: children ?? /* @__PURE__ */ jsx(DefaultUI, { search, searchLabel }) })
188
+ }
189
+ );
175
190
  }
176
-
177
- // Populate the DataViews sub components
178
191
  const DataViewsPickerSubComponents = DataViewsPicker;
179
192
  DataViewsPickerSubComponents.BulkActionToolbar = DataViewsPickerFooter;
180
193
  DataViewsPickerSubComponents.Filters = Filters;
@@ -185,5 +198,8 @@ DataViewsPickerSubComponents.LayoutSwitcher = ViewTypeMenu;
185
198
  DataViewsPickerSubComponents.Pagination = DataViewsPagination;
186
199
  DataViewsPickerSubComponents.Search = DataViewsSearch;
187
200
  DataViewsPickerSubComponents.ViewConfig = DataviewsViewConfigDropdown;
188
- export default DataViewsPickerSubComponents;
189
- //# sourceMappingURL=index.js.map
201
+ var dataviews_picker_default = DataViewsPickerSubComponents;
202
+ export {
203
+ dataviews_picker_default as default
204
+ };
205
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["__experimentalHStack","HStack","useEffect","useMemo","useRef","useState","useResizeObserver","throttle","DataViewsContext","VIEW_LAYOUTS","Filters","FiltersToggled","useFilters","FiltersToggle","DataViewsLayout","DataViewsPickerFooter","DataViewsSearch","DataViewsPagination","DataViewsViewConfig","DataviewsViewConfigDropdown","ViewTypeMenu","normalizeFields","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isItemClickable","dataViewsPickerLayouts","filter","viewLayout","isPicker","defaultGetItemId","item","id","EMPTY_ARRAY","DefaultUI","search","searchLabel","undefined","children","alignment","justify","className","spacing","expanded","label","style","flexShrink","DataViewsPicker","view","onChangeView","fields","actions","data","getItemId","isLoading","paginationInfo","defaultLayouts","defaultLayoutsProperty","selection","onChangeSelection","config","perPageSizes","itemListLabel","empty","infiniteScrollHandler","containerRef","containerWidth","setContainerWidth","resizeObserverRef","resizeObserverEntries","borderBoxSize","inlineSize","box","openedFilter","setOpenedFilter","setSelectionWithChange","value","newValue","_fields","filters","hasPrimaryOrLockedFilters","some","isPrimary","isLocked","isShowingFilter","setIsShowingFilter","infiniteScrollEnabled","current","handleScroll","event","target","scrollTop","scrollHeight","clientHeight","container","addEventListener","removeEventListener","cancel","Object","fromEntries","entries","layoutType","type","Provider","hasInfiniteScrollHandler","ref","DataViewsPickerSubComponents","BulkActionToolbar","Layout","LayoutSwitcher","Pagination","Search","ViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-picker/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useEffect, useMemo, useRef, useState } from '@wordpress/element';\nimport { useResizeObserver, throttle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport {\n\tFilters,\n\tFiltersToggled,\n\tuseFilters,\n\tFiltersToggle,\n} from '../dataviews-filters';\nimport DataViewsLayout from '../dataviews-layout';\nimport { DataViewsPickerFooter } from './footer';\nimport DataViewsSearch from '../dataviews-search';\nimport { DataViewsPagination } from '../dataviews-pagination';\nimport DataViewsViewConfig, {\n\tDataviewsViewConfigDropdown,\n\tViewTypeMenu,\n} from '../dataviews-view-config';\nimport { normalizeFields } from '../../normalize-fields';\nimport type { ActionButton, Field, View, SupportedLayouts } from '../../types';\nimport type { SelectionOrUpdater } from '../../private-types';\ntype ItemWithId = { id: string };\n\nconst isItemClickable = () => false;\n\nconst dataViewsPickerLayouts = VIEW_LAYOUTS.filter(\n\t( viewLayout ) => viewLayout.isPicker\n);\n\ntype DataViewsPickerProps< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tactions?: ActionButton< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t\tinfiniteScrollHandler?: () => void;\n\t};\n\tdefaultLayouts: SupportedLayouts;\n\tselection: string[];\n\tonChangeSelection: ( items: string[] ) => void;\n\tchildren?: ReactNode;\n\tconfig?: {\n\t\tperPageSizes: number[];\n\t};\n\titemListLabel?: string;\n\tempty?: ReactNode;\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\nconst EMPTY_ARRAY: any[] = [];\n\ntype DefaultUIProps = Pick<\n\tDataViewsPickerProps< any >,\n\t'search' | 'searchLabel'\n>;\n\nfunction DefaultUI( {\n\tsearch = true,\n\tsearchLabel = undefined,\n}: DefaultUIProps ) {\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews__view-actions\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews__search\"\n\t\t\t\t>\n\t\t\t\t\t{ search && <DataViewsSearch label={ searchLabel } /> }\n\t\t\t\t\t<FiltersToggle />\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t\t>\n\t\t\t\t\t<DataViewsViewConfig />\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t<FiltersToggled className=\"dataviews-filters__container\" />\n\t\t\t<DataViewsLayout />\n\t\t\t<DataViewsPickerFooter />\n\t\t</>\n\t);\n}\n\nfunction DataViewsPicker< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = EMPTY_ARRAY,\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts: defaultLayoutsProperty,\n\tselection,\n\tonChangeSelection,\n\tchildren,\n\tconfig = { perPageSizes: [ 10, 20, 50, 100 ] },\n\titemListLabel,\n\tempty,\n}: DataViewsPickerProps< Item > ) {\n\tconst { infiniteScrollHandler } = paginationInfo;\n\tconst containerRef = useRef< HTMLDivElement | null >( null );\n\tconst [ containerWidth, setContainerWidth ] = useState( 0 );\n\tconst resizeObserverRef = useResizeObserver(\n\t\t( resizeObserverEntries: any ) => {\n\t\t\tsetContainerWidth(\n\t\t\t\tresizeObserverEntries[ 0 ].borderBoxSize[ 0 ].inlineSize\n\t\t\t);\n\t\t},\n\t\t{ box: 'border-box' }\n\t);\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\tfunction setSelectionWithChange( value: SelectionOrUpdater ) {\n\t\tconst newValue =\n\t\t\ttypeof value === 'function' ? value( selection ) : value;\n\t\tif ( onChangeSelection ) {\n\t\t\tonChangeSelection( newValue );\n\t\t}\n\t}\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\tconst filters = useFilters( _fields, view );\n\tconst hasPrimaryOrLockedFilters = useMemo(\n\t\t() =>\n\t\t\t( filters || [] ).some(\n\t\t\t\t( filter ) => filter.isPrimary || filter.isLocked\n\t\t\t),\n\t\t[ filters ]\n\t);\n\tconst [ isShowingFilter, setIsShowingFilter ] = useState< boolean >(\n\t\thasPrimaryOrLockedFilters\n\t);\n\n\tuseEffect( () => {\n\t\tif ( hasPrimaryOrLockedFilters && ! isShowingFilter ) {\n\t\t\tsetIsShowingFilter( true );\n\t\t}\n\t}, [ hasPrimaryOrLockedFilters, isShowingFilter ] );\n\n\t// Attach scroll event listener for infinite scroll\n\tuseEffect( () => {\n\t\tif ( ! view.infiniteScrollEnabled || ! containerRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handleScroll = throttle( ( event: unknown ) => {\n\t\t\tconst target = ( event as Event ).target as HTMLElement;\n\t\t\tconst scrollTop = target.scrollTop;\n\t\t\tconst scrollHeight = target.scrollHeight;\n\t\t\tconst clientHeight = target.clientHeight;\n\n\t\t\t// Check if user has scrolled near the bottom\n\t\t\tif ( scrollTop + clientHeight >= scrollHeight - 100 ) {\n\t\t\t\tinfiniteScrollHandler?.();\n\t\t\t}\n\t\t}, 100 ); // Throttle to 100ms\n\n\t\tconst container = containerRef.current;\n\t\tcontainer.addEventListener( 'scroll', handleScroll );\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener( 'scroll', handleScroll );\n\t\t\thandleScroll.cancel(); // Cancel any pending throttled calls\n\t\t};\n\t}, [ infiniteScrollHandler, view.infiniteScrollEnabled ] );\n\n\t// Filter out DataViewsPicker layouts.\n\tconst defaultLayouts = useMemo(\n\t\t() =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries( defaultLayoutsProperty ).filter(\n\t\t\t\t\t( [ layoutType ] ) => {\n\t\t\t\t\t\treturn dataViewsPickerLayouts.some(\n\t\t\t\t\t\t\t( viewLayout ) => viewLayout.type === layoutType\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[ defaultLayoutsProperty ]\n\t);\n\n\tif ( ! defaultLayouts[ view.type ] ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataViewsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tview,\n\t\t\t\tonChangeView,\n\t\t\t\tfields: _fields,\n\t\t\t\tactions,\n\t\t\t\tdata,\n\t\t\t\tisLoading,\n\t\t\t\tpaginationInfo,\n\t\t\t\tisItemClickable,\n\t\t\t\tselection,\n\t\t\t\tonChangeSelection: setSelectionWithChange,\n\t\t\t\topenedFilter,\n\t\t\t\tsetOpenedFilter,\n\t\t\t\tgetItemId,\n\t\t\t\tcontainerWidth,\n\t\t\t\tcontainerRef,\n\t\t\t\tresizeObserverRef,\n\t\t\t\tdefaultLayouts,\n\t\t\t\tfilters,\n\t\t\t\tisShowingFilter,\n\t\t\t\tsetIsShowingFilter,\n\t\t\t\tconfig,\n\t\t\t\titemListLabel,\n\t\t\t\tempty,\n\t\t\t\thasInfiniteScrollHandler: !! infiniteScrollHandler,\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-picker-wrapper\" ref={ containerRef }>\n\t\t\t\t{ children ?? (\n\t\t\t\t\t<DefaultUI search={ search } searchLabel={ searchLabel } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</DataViewsContext.Provider>\n\t);\n}\n\n// Populate the DataViews sub components\nconst DataViewsPickerSubComponents =\n\tDataViewsPicker as typeof DataViewsPicker & {\n\t\tBulkActionToolbar: typeof DataViewsPickerFooter;\n\t\tFilters: typeof Filters;\n\t\tFiltersToggled: typeof FiltersToggled;\n\t\tFiltersToggle: typeof FiltersToggle;\n\t\tLayout: typeof DataViewsLayout;\n\t\tLayoutSwitcher: typeof ViewTypeMenu;\n\t\tPagination: typeof DataViewsPagination;\n\t\tSearch: typeof DataViewsSearch;\n\t\tViewConfig: typeof DataviewsViewConfigDropdown;\n\t};\n\nDataViewsPickerSubComponents.BulkActionToolbar = DataViewsPickerFooter;\nDataViewsPickerSubComponents.Filters = Filters;\nDataViewsPickerSubComponents.FiltersToggled = FiltersToggled;\nDataViewsPickerSubComponents.FiltersToggle = FiltersToggle;\nDataViewsPickerSubComponents.Layout = DataViewsLayout;\nDataViewsPickerSubComponents.LayoutSwitcher = ViewTypeMenu;\nDataViewsPickerSubComponents.Pagination = DataViewsPagination;\nDataViewsPickerSubComponents.Search = DataViewsSearch;\nDataViewsPickerSubComponents.ViewConfig = DataviewsViewConfigDropdown;\n\nexport default DataViewsPickerSubComponents;\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,oBAAoB;AACzE,SAASC,iBAAiB,EAAEC,QAAQ,QAAQ,oBAAoB;;AAEhE;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SACCC,OAAO,EACPC,cAAc,EACdC,UAAU,EACVC,aAAa,QACP,sBAAsB;AAC7B,OAAOC,eAAe,MAAM,qBAAqB;AACjD,SAASC,qBAAqB,QAAQ,UAAU;AAChD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,OAAOC,mBAAmB,IACzBC,2BAA2B,EAC3BC,YAAY,QACN,0BAA0B;AACjC,SAASC,eAAe,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAKzD,MAAMC,eAAe,GAAGA,CAAA,KAAM,KAAK;AAEnC,MAAMC,sBAAsB,GAAGpB,YAAY,CAACqB,MAAM,CAC/CC,UAAU,IAAMA,UAAU,CAACC,QAC9B,CAAC;AA6BD,MAAMC,gBAAgB,GAAKC,IAAgB,IAAMA,IAAI,CAACC,EAAE;AACxD,MAAMC,WAAkB,GAAG,EAAE;AAO7B,SAASC,SAASA,CAAE;EACnBC,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC;AACC,CAAC,EAAG;EACnB,oBACCf,KAAA,CAAAE,SAAA;IAAAc,QAAA,gBACChB,KAAA,CAACxB,MAAM;MACNyC,SAAS,EAAC,KAAK;MACfC,OAAO,EAAC,eAAe;MACvBC,SAAS,EAAC,yBAAyB;MACnCC,OAAO,EAAG,CAAG;MAAAJ,QAAA,gBAEbhB,KAAA,CAACxB,MAAM;QACN0C,OAAO,EAAC,OAAO;QACfG,QAAQ,EAAG,KAAO;QAClBF,SAAS,EAAC,mBAAmB;QAAAH,QAAA,GAE3BH,MAAM,iBAAIf,IAAA,CAACP,eAAe;UAAC+B,KAAK,EAAGR;QAAa,CAAE,CAAC,eACrDhB,IAAA,CAACV,aAAa,IAAE,CAAC;MAAA,CACV,CAAC,eACTU,IAAA,CAACtB,MAAM;QACN4C,OAAO,EAAG,CAAG;QACbC,QAAQ,EAAG,KAAO;QAClBE,KAAK,EAAG;UAAEC,UAAU,EAAE;QAAE,CAAG;QAAAR,QAAA,eAE3BlB,IAAA,CAACL,mBAAmB,IAAE;MAAC,CAChB,CAAC;IAAA,CACF,CAAC,eACTK,IAAA,CAACZ,cAAc;MAACiC,SAAS,EAAC;IAA8B,CAAE,CAAC,eAC3DrB,IAAA,CAACT,eAAe,IAAE,CAAC,eACnBS,IAAA,CAACR,qBAAqB,IAAE,CAAC;EAAA,CACxB,CAAC;AAEL;AAEA,SAASmC,eAAeA,CAAU;EACjCC,IAAI;EACJC,YAAY;EACZC,MAAM;EACNf,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC,SAAS;EACvBc,OAAO,GAAGlB,WAAW;EACrBmB,IAAI;EACJC,SAAS,GAAGvB,gBAAgB;EAC5BwB,SAAS,GAAG,KAAK;EACjBC,cAAc;EACdC,cAAc,EAAEC,sBAAsB;EACtCC,SAAS;EACTC,iBAAiB;EACjBrB,QAAQ;EACRsB,MAAM,GAAG;IAAEC,YAAY,EAAE,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;EAAG,CAAC;EAC9CC,aAAa;EACbC;AAC6B,CAAC,EAAG;EACjC,MAAM;IAAEC;EAAsB,CAAC,GAAGT,cAAc;EAChD,MAAMU,YAAY,GAAGhE,MAAM,CAA2B,IAAK,CAAC;EAC5D,MAAM,CAAEiE,cAAc,EAAEC,iBAAiB,CAAE,GAAGjE,QAAQ,CAAE,CAAE,CAAC;EAC3D,MAAMkE,iBAAiB,GAAGjE,iBAAiB,CACxCkE,qBAA0B,IAAM;IACjCF,iBAAiB,CAChBE,qBAAqB,CAAE,CAAC,CAAE,CAACC,aAAa,CAAE,CAAC,CAAE,CAACC,UAC/C,CAAC;EACF,CAAC,EACD;IAAEC,GAAG,EAAE;EAAa,CACrB,CAAC;EACD,MAAM,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAGxE,QAAQ,CAAmB,IAAK,CAAC;EAC3E,SAASyE,sBAAsBA,CAAEC,KAAyB,EAAG;IAC5D,MAAMC,QAAQ,GACb,OAAOD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAElB,SAAU,CAAC,GAAGkB,KAAK;IACzD,IAAKjB,iBAAiB,EAAG;MACxBA,iBAAiB,CAAEkB,QAAS,CAAC;IAC9B;EACD;EACA,MAAMC,OAAO,GAAG9E,OAAO,CAAE,MAAMkB,eAAe,CAAEgC,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EACtE,MAAM6B,OAAO,GAAGtE,UAAU,CAAEqE,OAAO,EAAE9B,IAAK,CAAC;EAC3C,MAAMgC,yBAAyB,GAAGhF,OAAO,CACxC,MACC,CAAE+E,OAAO,IAAI,EAAE,EAAGE,IAAI,CACnBtD,MAAM,IAAMA,MAAM,CAACuD,SAAS,IAAIvD,MAAM,CAACwD,QAC1C,CAAC,EACF,CAAEJ,OAAO,CACV,CAAC;EACD,MAAM,CAAEK,eAAe,EAAEC,kBAAkB,CAAE,GAAGnF,QAAQ,CACvD8E,yBACD,CAAC;EAEDjF,SAAS,CAAE,MAAM;IAChB,IAAKiF,yBAAyB,IAAI,CAAEI,eAAe,EAAG;MACrDC,kBAAkB,CAAE,IAAK,CAAC;IAC3B;EACD,CAAC,EAAE,CAAEL,yBAAyB,EAAEI,eAAe,CAAG,CAAC;;EAEnD;EACArF,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEiD,IAAI,CAACsC,qBAAqB,IAAI,CAAErB,YAAY,CAACsB,OAAO,EAAG;MAC7D;IACD;IAEA,MAAMC,YAAY,GAAGpF,QAAQ,CAAIqF,KAAc,IAAM;MACpD,MAAMC,MAAM,GAAKD,KAAK,CAAYC,MAAqB;MACvD,MAAMC,SAAS,GAAGD,MAAM,CAACC,SAAS;MAClC,MAAMC,YAAY,GAAGF,MAAM,CAACE,YAAY;MACxC,MAAMC,YAAY,GAAGH,MAAM,CAACG,YAAY;;MAExC;MACA,IAAKF,SAAS,GAAGE,YAAY,IAAID,YAAY,GAAG,GAAG,EAAG;QACrD5B,qBAAqB,GAAG,CAAC;MAC1B;IACD,CAAC,EAAE,GAAI,CAAC,CAAC,CAAC;;IAEV,MAAM8B,SAAS,GAAG7B,YAAY,CAACsB,OAAO;IACtCO,SAAS,CAACC,gBAAgB,CAAE,QAAQ,EAAEP,YAAa,CAAC;IAEpD,OAAO,MAAM;MACZM,SAAS,CAACE,mBAAmB,CAAE,QAAQ,EAAER,YAAa,CAAC;MACvDA,YAAY,CAACS,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;EACF,CAAC,EAAE,CAAEjC,qBAAqB,EAAEhB,IAAI,CAACsC,qBAAqB,CAAG,CAAC;;EAE1D;EACA,MAAM9B,cAAc,GAAGxD,OAAO,CAC7B,MACCkG,MAAM,CAACC,WAAW,CACjBD,MAAM,CAACE,OAAO,CAAE3C,sBAAuB,CAAC,CAAC9B,MAAM,CAC9C,CAAE,CAAE0E,UAAU,CAAE,KAAM;IACrB,OAAO3E,sBAAsB,CAACuD,IAAI,CAC/BrD,UAAU,IAAMA,UAAU,CAAC0E,IAAI,KAAKD,UACvC,CAAC;EACF,CACD,CACD,CAAC,EACF,CAAE5C,sBAAsB,CACzB,CAAC;EAED,IAAK,CAAED,cAAc,CAAER,IAAI,CAACsD,IAAI,CAAE,EAAG;IACpC,OAAO,IAAI;EACZ;EAEA,oBACClF,IAAA,CAACf,gBAAgB,CAACkG,QAAQ;IACzB3B,KAAK,EAAG;MACP5B,IAAI;MACJC,YAAY;MACZC,MAAM,EAAE4B,OAAO;MACf3B,OAAO;MACPC,IAAI;MACJE,SAAS;MACTC,cAAc;MACd9B,eAAe;MACfiC,SAAS;MACTC,iBAAiB,EAAEgB,sBAAsB;MACzCF,YAAY;MACZC,eAAe;MACfrB,SAAS;MACTa,cAAc;MACdD,YAAY;MACZG,iBAAiB;MACjBZ,cAAc;MACduB,OAAO;MACPK,eAAe;MACfC,kBAAkB;MAClBzB,MAAM;MACNE,aAAa;MACbC,KAAK;MACLyC,wBAAwB,EAAE,CAAC,CAAExC;IAC9B,CAAG;IAAA1B,QAAA,eAEHlB,IAAA;MAAKqB,SAAS,EAAC,0BAA0B;MAACgE,GAAG,EAAGxC,YAAc;MAAA3B,QAAA,EAC3DA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,gBACTlB,IAAA,CAACc,SAAS;QAACC,MAAM,EAAGA,MAAQ;QAACC,WAAW,EAAGA;MAAa,CAAE;IAAC,CAExD;EAAC,CACoB,CAAC;AAE9B;;AAEA;AACA,MAAMsE,4BAA4B,GACjC3D,eAUC;AAEF2D,4BAA4B,CAACC,iBAAiB,GAAG/F,qBAAqB;AACtE8F,4BAA4B,CAACnG,OAAO,GAAGA,OAAO;AAC9CmG,4BAA4B,CAAClG,cAAc,GAAGA,cAAc;AAC5DkG,4BAA4B,CAAChG,aAAa,GAAGA,aAAa;AAC1DgG,4BAA4B,CAACE,MAAM,GAAGjG,eAAe;AACrD+F,4BAA4B,CAACG,cAAc,GAAG5F,YAAY;AAC1DyF,4BAA4B,CAACI,UAAU,GAAGhG,mBAAmB;AAC7D4F,4BAA4B,CAACK,MAAM,GAAGlG,eAAe;AACrD6F,4BAA4B,CAACM,UAAU,GAAGhG,2BAA2B;AAErE,eAAe0F,4BAA4B","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-picker/index.tsx"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useEffect, useMemo, useRef, useState } from '@wordpress/element';\nimport { useResizeObserver, throttle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport {\n\tFilters,\n\tFiltersToggled,\n\tuseFilters,\n\tFiltersToggle,\n} from '../dataviews-filters';\nimport DataViewsLayout from '../dataviews-layout';\nimport { DataViewsPickerFooter } from './footer';\nimport DataViewsSearch from '../dataviews-search';\nimport { DataViewsPagination } from '../dataviews-pagination';\nimport DataViewsViewConfig, {\n\tDataviewsViewConfigDropdown,\n\tViewTypeMenu,\n} from '../dataviews-view-config';\nimport normalizeFields from '../../utils/normalize-fields';\nimport type { ActionButton, Field, View, SupportedLayouts } from '../../types';\nimport type { SelectionOrUpdater } from '../../types/private';\ntype ItemWithId = { id: string };\n\nconst isItemClickable = () => false;\n\nconst dataViewsPickerLayouts = VIEW_LAYOUTS.filter(\n\t( viewLayout ) => viewLayout.isPicker\n);\n\ntype DataViewsPickerProps< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tactions?: ActionButton< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t\tinfiniteScrollHandler?: () => void;\n\t};\n\tdefaultLayouts: SupportedLayouts;\n\tselection: string[];\n\tonChangeSelection: ( items: string[] ) => void;\n\tchildren?: ReactNode;\n\tconfig?: {\n\t\tperPageSizes: number[];\n\t};\n\titemListLabel?: string;\n\tempty?: ReactNode;\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\nconst EMPTY_ARRAY: any[] = [];\n\ntype DefaultUIProps = Pick<\n\tDataViewsPickerProps< any >,\n\t'search' | 'searchLabel'\n>;\n\nfunction DefaultUI( {\n\tsearch = true,\n\tsearchLabel = undefined,\n}: DefaultUIProps ) {\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews__view-actions\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews__search\"\n\t\t\t\t>\n\t\t\t\t\t{ search && <DataViewsSearch label={ searchLabel } /> }\n\t\t\t\t\t<FiltersToggle />\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t\t>\n\t\t\t\t\t<DataViewsViewConfig />\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t<FiltersToggled className=\"dataviews-filters__container\" />\n\t\t\t<DataViewsLayout />\n\t\t\t<DataViewsPickerFooter />\n\t\t</>\n\t);\n}\n\nfunction DataViewsPicker< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = EMPTY_ARRAY,\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts: defaultLayoutsProperty,\n\tselection,\n\tonChangeSelection,\n\tchildren,\n\tconfig = { perPageSizes: [ 10, 20, 50, 100 ] },\n\titemListLabel,\n\tempty,\n}: DataViewsPickerProps< Item > ) {\n\tconst { infiniteScrollHandler } = paginationInfo;\n\tconst containerRef = useRef< HTMLDivElement | null >( null );\n\tconst [ containerWidth, setContainerWidth ] = useState( 0 );\n\tconst resizeObserverRef = useResizeObserver(\n\t\t( resizeObserverEntries: any ) => {\n\t\t\tsetContainerWidth(\n\t\t\t\tresizeObserverEntries[ 0 ].borderBoxSize[ 0 ].inlineSize\n\t\t\t);\n\t\t},\n\t\t{ box: 'border-box' }\n\t);\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\tfunction setSelectionWithChange( value: SelectionOrUpdater ) {\n\t\tconst newValue =\n\t\t\ttypeof value === 'function' ? value( selection ) : value;\n\t\tif ( onChangeSelection ) {\n\t\t\tonChangeSelection( newValue );\n\t\t}\n\t}\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\tconst filters = useFilters( _fields, view );\n\tconst hasPrimaryOrLockedFilters = useMemo(\n\t\t() =>\n\t\t\t( filters || [] ).some(\n\t\t\t\t( filter ) => filter.isPrimary || filter.isLocked\n\t\t\t),\n\t\t[ filters ]\n\t);\n\tconst [ isShowingFilter, setIsShowingFilter ] = useState< boolean >(\n\t\thasPrimaryOrLockedFilters\n\t);\n\n\tuseEffect( () => {\n\t\tif ( hasPrimaryOrLockedFilters && ! isShowingFilter ) {\n\t\t\tsetIsShowingFilter( true );\n\t\t}\n\t}, [ hasPrimaryOrLockedFilters, isShowingFilter ] );\n\n\t// Attach scroll event listener for infinite scroll\n\tuseEffect( () => {\n\t\tif ( ! view.infiniteScrollEnabled || ! containerRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handleScroll = throttle( ( event: unknown ) => {\n\t\t\tconst target = ( event as Event ).target as HTMLElement;\n\t\t\tconst scrollTop = target.scrollTop;\n\t\t\tconst scrollHeight = target.scrollHeight;\n\t\t\tconst clientHeight = target.clientHeight;\n\n\t\t\t// Check if user has scrolled near the bottom\n\t\t\tif ( scrollTop + clientHeight >= scrollHeight - 100 ) {\n\t\t\t\tinfiniteScrollHandler?.();\n\t\t\t}\n\t\t}, 100 ); // Throttle to 100ms\n\n\t\tconst container = containerRef.current;\n\t\tcontainer.addEventListener( 'scroll', handleScroll );\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener( 'scroll', handleScroll );\n\t\t\thandleScroll.cancel(); // Cancel any pending throttled calls\n\t\t};\n\t}, [ infiniteScrollHandler, view.infiniteScrollEnabled ] );\n\n\t// Filter out DataViewsPicker layouts.\n\tconst defaultLayouts = useMemo(\n\t\t() =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries( defaultLayoutsProperty ).filter(\n\t\t\t\t\t( [ layoutType ] ) => {\n\t\t\t\t\t\treturn dataViewsPickerLayouts.some(\n\t\t\t\t\t\t\t( viewLayout ) => viewLayout.type === layoutType\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[ defaultLayoutsProperty ]\n\t);\n\n\tif ( ! defaultLayouts[ view.type ] ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataViewsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tview,\n\t\t\t\tonChangeView,\n\t\t\t\tfields: _fields,\n\t\t\t\tactions,\n\t\t\t\tdata,\n\t\t\t\tisLoading,\n\t\t\t\tpaginationInfo,\n\t\t\t\tisItemClickable,\n\t\t\t\tselection,\n\t\t\t\tonChangeSelection: setSelectionWithChange,\n\t\t\t\topenedFilter,\n\t\t\t\tsetOpenedFilter,\n\t\t\t\tgetItemId,\n\t\t\t\tcontainerWidth,\n\t\t\t\tcontainerRef,\n\t\t\t\tresizeObserverRef,\n\t\t\t\tdefaultLayouts,\n\t\t\t\tfilters,\n\t\t\t\tisShowingFilter,\n\t\t\t\tsetIsShowingFilter,\n\t\t\t\tconfig,\n\t\t\t\titemListLabel,\n\t\t\t\tempty,\n\t\t\t\thasInfiniteScrollHandler: !! infiniteScrollHandler,\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-picker-wrapper\" ref={ containerRef }>\n\t\t\t\t{ children ?? (\n\t\t\t\t\t<DefaultUI search={ search } searchLabel={ searchLabel } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</DataViewsContext.Provider>\n\t);\n}\n\n// Populate the DataViews sub components\nconst DataViewsPickerSubComponents =\n\tDataViewsPicker as typeof DataViewsPicker & {\n\t\tBulkActionToolbar: typeof DataViewsPickerFooter;\n\t\tFilters: typeof Filters;\n\t\tFiltersToggled: typeof FiltersToggled;\n\t\tFiltersToggle: typeof FiltersToggle;\n\t\tLayout: typeof DataViewsLayout;\n\t\tLayoutSwitcher: typeof ViewTypeMenu;\n\t\tPagination: typeof DataViewsPagination;\n\t\tSearch: typeof DataViewsSearch;\n\t\tViewConfig: typeof DataviewsViewConfigDropdown;\n\t};\n\nDataViewsPickerSubComponents.BulkActionToolbar = DataViewsPickerFooter;\nDataViewsPickerSubComponents.Filters = Filters;\nDataViewsPickerSubComponents.FiltersToggled = FiltersToggled;\nDataViewsPickerSubComponents.FiltersToggle = FiltersToggle;\nDataViewsPickerSubComponents.Layout = DataViewsLayout;\nDataViewsPickerSubComponents.LayoutSwitcher = ViewTypeMenu;\nDataViewsPickerSubComponents.Pagination = DataViewsPagination;\nDataViewsPickerSubComponents.Search = DataViewsSearch;\nDataViewsPickerSubComponents.ViewConfig = DataviewsViewConfigDropdown;\n\nexport default DataViewsPickerSubComponents;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,27 +1,16 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
- import { useEffect, useRef, memo, useContext } from '@wordpress/element';
6
- import { SearchControl } from '@wordpress/components';
7
- import { useDebouncedInput } from '@wordpress/compose';
8
-
9
- /**
10
- * Internal dependencies
11
- */
12
- import DataViewsContext from '../dataviews-context';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- const DataViewsSearch = memo(function Search({
15
- label
16
- }) {
17
- const {
18
- view,
19
- onChangeView
20
- } = useContext(DataViewsContext);
21
- const [search, setSearch, debouncedSearch] = useDebouncedInput(view.search);
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { __ } from "@wordpress/i18n";
3
+ import { useEffect, useRef, memo, useContext } from "@wordpress/element";
4
+ import { SearchControl } from "@wordpress/components";
5
+ import { useDebouncedInput } from "@wordpress/compose";
6
+ import DataViewsContext from "../dataviews-context";
7
+ const DataViewsSearch = memo(function Search({ label }) {
8
+ const { view, onChangeView } = useContext(DataViewsContext);
9
+ const [search, setSearch, debouncedSearch] = useDebouncedInput(
10
+ view.search
11
+ );
22
12
  useEffect(() => {
23
- var _view$search;
24
- setSearch((_view$search = view.search) !== null && _view$search !== void 0 ? _view$search : '');
13
+ setSearch(view.search ?? "");
25
14
  }, [view.search, setSearch]);
26
15
  const onChangeViewRef = useRef(onChangeView);
27
16
  const viewRef = useRef(view);
@@ -38,16 +27,22 @@ const DataViewsSearch = memo(function Search({
38
27
  });
39
28
  }
40
29
  }, [debouncedSearch]);
41
- const searchLabel = label || __('Search');
42
- return /*#__PURE__*/_jsx(SearchControl, {
43
- className: "dataviews-search",
44
- __nextHasNoMarginBottom: true,
45
- onChange: setSearch,
46
- value: search,
47
- label: searchLabel,
48
- placeholder: searchLabel,
49
- size: "compact"
50
- });
30
+ const searchLabel = label || __("Search");
31
+ return /* @__PURE__ */ jsx(
32
+ SearchControl,
33
+ {
34
+ className: "dataviews-search",
35
+ __nextHasNoMarginBottom: true,
36
+ onChange: setSearch,
37
+ value: search,
38
+ label: searchLabel,
39
+ placeholder: searchLabel,
40
+ size: "compact"
41
+ }
42
+ );
51
43
  });
52
- export default DataViewsSearch;
53
- //# sourceMappingURL=index.js.map
44
+ var dataviews_search_default = DataViewsSearch;
45
+ export {
46
+ dataviews_search_default as default
47
+ };
48
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["__","useEffect","useRef","memo","useContext","SearchControl","useDebouncedInput","DataViewsContext","jsx","_jsx","DataViewsSearch","Search","label","view","onChangeView","search","setSearch","debouncedSearch","_view$search","onChangeViewRef","viewRef","current","page","searchLabel","className","__nextHasNoMarginBottom","onChange","value","placeholder","size"],"sources":["@wordpress/dataviews/src/components/dataviews-search/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, memo, useContext } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\n\ninterface SearchProps {\n\tlabel?: string;\n}\n\nconst DataViewsSearch = memo( function Search( { label }: SearchProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search ?? '' );\n\t}, [ view.search, setSearch ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tconst viewRef = useRef( view );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t\tviewRef.current = view;\n\t}, [ onChangeView, view ] );\n\tuseEffect( () => {\n\t\tif ( debouncedSearch !== viewRef.current?.search ) {\n\t\t\tonChangeViewRef.current( {\n\t\t\t\t...viewRef.current,\n\t\t\t\tpage: 1,\n\t\t\t\tsearch: debouncedSearch,\n\t\t\t} );\n\t\t}\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Search' );\n\treturn (\n\t\t<SearchControl\n\t\t\tclassName=\"dataviews-search\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n} );\n\nexport default DataViewsSearch;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,MAAM,EAAEC,IAAI,EAAEC,UAAU,QAAQ,oBAAoB;AACxE,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,iBAAiB,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpD,MAAMC,eAAe,GAAGP,IAAI,CAAE,SAASQ,MAAMA,CAAE;EAAEC;AAAmB,CAAC,EAAG;EACvE,MAAM;IAAEC,IAAI;IAAEC;EAAa,CAAC,GAAGV,UAAU,CAAEG,gBAAiB,CAAC;EAC7D,MAAM,CAAEQ,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAGX,iBAAiB,CAC/DO,IAAI,CAACE,MACN,CAAC;EACDd,SAAS,CAAE,MAAM;IAAA,IAAAiB,YAAA;IAChBF,SAAS,EAAAE,YAAA,GAAEL,IAAI,CAACE,MAAM,cAAAG,YAAA,cAAAA,YAAA,GAAI,EAAG,CAAC;EAC/B,CAAC,EAAE,CAAEL,IAAI,CAACE,MAAM,EAAEC,SAAS,CAAG,CAAC;EAC/B,MAAMG,eAAe,GAAGjB,MAAM,CAAEY,YAAa,CAAC;EAC9C,MAAMM,OAAO,GAAGlB,MAAM,CAAEW,IAAK,CAAC;EAC9BZ,SAAS,CAAE,MAAM;IAChBkB,eAAe,CAACE,OAAO,GAAGP,YAAY;IACtCM,OAAO,CAACC,OAAO,GAAGR,IAAI;EACvB,CAAC,EAAE,CAAEC,YAAY,EAAED,IAAI,CAAG,CAAC;EAC3BZ,SAAS,CAAE,MAAM;IAChB,IAAKgB,eAAe,KAAKG,OAAO,CAACC,OAAO,EAAEN,MAAM,EAAG;MAClDI,eAAe,CAACE,OAAO,CAAE;QACxB,GAAGD,OAAO,CAACC,OAAO;QAClBC,IAAI,EAAE,CAAC;QACPP,MAAM,EAAEE;MACT,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMM,WAAW,GAAGX,KAAK,IAAIZ,EAAE,CAAE,QAAS,CAAC;EAC3C,oBACCS,IAAA,CAACJ,aAAa;IACbmB,SAAS,EAAC,kBAAkB;IAC5BC,uBAAuB;IACvBC,QAAQ,EAAGV,SAAW;IACtBW,KAAK,EAAGZ,MAAQ;IAChBH,KAAK,EAAGW,WAAa;IACrBK,WAAW,EAAGL,WAAa;IAC3BM,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ,CAAE,CAAC;AAEH,eAAenB,eAAe","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-search/index.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, memo, useContext } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\n\ninterface SearchProps {\n\tlabel?: string;\n}\n\nconst DataViewsSearch = memo( function Search( { label }: SearchProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search ?? '' );\n\t}, [ view.search, setSearch ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tconst viewRef = useRef( view );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t\tviewRef.current = view;\n\t}, [ onChangeView, view ] );\n\tuseEffect( () => {\n\t\tif ( debouncedSearch !== viewRef.current?.search ) {\n\t\t\tonChangeViewRef.current( {\n\t\t\t\t...viewRef.current,\n\t\t\t\tpage: 1,\n\t\t\t\tsearch: debouncedSearch,\n\t\t\t} );\n\t\t}\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Search' );\n\treturn (\n\t\t<SearchControl\n\t\t\tclassName=\"dataviews-search\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n} );\n\nexport default DataViewsSearch;\n"],
5
+ "mappings": "AA0CE;AAvCF,SAAS,UAAU;AACnB,SAAS,WAAW,QAAQ,MAAM,kBAAkB;AACpD,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAKlC,OAAO,sBAAsB;AAM7B,MAAM,kBAAkB,KAAM,SAAS,OAAQ,EAAE,MAAM,GAAiB;AACvE,QAAM,EAAE,MAAM,aAAa,IAAI,WAAY,gBAAiB;AAC5D,QAAM,CAAE,QAAQ,WAAW,eAAgB,IAAI;AAAA,IAC9C,KAAK;AAAA,EACN;AACA,YAAW,MAAM;AAChB,cAAW,KAAK,UAAU,EAAG;AAAA,EAC9B,GAAG,CAAE,KAAK,QAAQ,SAAU,CAAE;AAC9B,QAAM,kBAAkB,OAAQ,YAAa;AAC7C,QAAM,UAAU,OAAQ,IAAK;AAC7B,YAAW,MAAM;AAChB,oBAAgB,UAAU;AAC1B,YAAQ,UAAU;AAAA,EACnB,GAAG,CAAE,cAAc,IAAK,CAAE;AAC1B,YAAW,MAAM;AAChB,QAAK,oBAAoB,QAAQ,SAAS,QAAS;AAClD,sBAAgB,QAAS;AAAA,QACxB,GAAG,QAAQ;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,MACT,CAAE;AAAA,IACH;AAAA,EACD,GAAG,CAAE,eAAgB,CAAE;AACvB,QAAM,cAAc,SAAS,GAAI,QAAS;AAC1C,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,yBAAuB;AAAA,MACvB,UAAW;AAAA,MACX,OAAQ;AAAA,MACR,OAAQ;AAAA,MACR,aAAc;AAAA,MACd,MAAK;AAAA;AAAA,EACN;AAEF,CAAE;AAEF,IAAO,2BAAQ;",
6
+ "names": []
7
+ }
@@ -1,14 +1,7 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { CheckboxControl } from '@wordpress/components';
5
- import { __ } from '@wordpress/i18n';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- export default function DataViewsSelectionCheckbox({
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { CheckboxControl } from "@wordpress/components";
3
+ import { __ } from "@wordpress/i18n";
4
+ function DataViewsSelectionCheckbox({
12
5
  selection,
13
6
  onChangeSelection,
14
7
  item,
@@ -19,24 +12,28 @@ export default function DataViewsSelectionCheckbox({
19
12
  }) {
20
13
  const id = getItemId(item);
21
14
  const checked = !disabled && selection.includes(id);
22
-
23
- // Fallback label to ensure accessibility
24
- const selectionLabel = titleField?.getValue?.({
25
- item
26
- }) || __('(no title)');
27
- return /*#__PURE__*/_jsx(CheckboxControl, {
28
- className: "dataviews-selection-checkbox",
29
- __nextHasNoMarginBottom: true,
30
- "aria-label": selectionLabel,
31
- "aria-disabled": disabled,
32
- checked: checked,
33
- onChange: () => {
34
- if (disabled) {
35
- return;
36
- }
37
- onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [...selection, id]);
38
- },
39
- ...extraProps
40
- });
15
+ const selectionLabel = titleField?.getValue?.({ item }) || __("(no title)");
16
+ return /* @__PURE__ */ jsx(
17
+ CheckboxControl,
18
+ {
19
+ className: "dataviews-selection-checkbox",
20
+ __nextHasNoMarginBottom: true,
21
+ "aria-label": selectionLabel,
22
+ "aria-disabled": disabled,
23
+ checked,
24
+ onChange: () => {
25
+ if (disabled) {
26
+ return;
27
+ }
28
+ onChangeSelection(
29
+ selection.includes(id) ? selection.filter((itemId) => id !== itemId) : [...selection, id]
30
+ );
31
+ },
32
+ ...extraProps
33
+ }
34
+ );
41
35
  }
42
- //# sourceMappingURL=index.js.map
36
+ export {
37
+ DataViewsSelectionCheckbox as default
38
+ };
39
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["CheckboxControl","__","jsx","_jsx","DataViewsSelectionCheckbox","selection","onChangeSelection","item","getItemId","titleField","disabled","extraProps","id","checked","includes","selectionLabel","getValue","className","__nextHasNoMarginBottom","onChange","filter","itemId"],"sources":["@wordpress/dataviews/src/components/dataviews-selection-checkbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CheckboxControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { SetSelection } from '../../private-types';\nimport type { NormalizedField } from '../../types';\n\ninterface DataViewsSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\titem: Item;\n\tgetItemId: ( item: Item ) => string;\n\ttitleField?: NormalizedField< Item >;\n\tdisabled: boolean;\n\ttabIndex?: number;\n}\n\nexport default function DataViewsSelectionCheckbox< Item >( {\n\tselection,\n\tonChangeSelection,\n\titem,\n\tgetItemId,\n\ttitleField,\n\tdisabled,\n\t...extraProps\n}: DataViewsSelectionCheckboxProps< Item > ) {\n\tconst id = getItemId( item );\n\tconst checked = ! disabled && selection.includes( id );\n\n\t// Fallback label to ensure accessibility\n\tconst selectionLabel =\n\t\ttitleField?.getValue?.( { item } ) || __( '(no title)' );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ checked }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tonChangeSelection(\n\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t);\n\t\t\t} }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,uBAAuB;AACvD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAgBA,eAAe,SAASC,0BAA0BA,CAAU;EAC3DC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,SAAS;EACTC,UAAU;EACVC,QAAQ;EACR,GAAGC;AACqC,CAAC,EAAG;EAC5C,MAAMC,EAAE,GAAGJ,SAAS,CAAED,IAAK,CAAC;EAC5B,MAAMM,OAAO,GAAG,CAAEH,QAAQ,IAAIL,SAAS,CAACS,QAAQ,CAAEF,EAAG,CAAC;;EAEtD;EACA,MAAMG,cAAc,GACnBN,UAAU,EAAEO,QAAQ,GAAI;IAAET;EAAK,CAAE,CAAC,IAAIN,EAAE,CAAE,YAAa,CAAC;EAEzD,oBACCE,IAAA,CAACH,eAAe;IACfiB,SAAS,EAAC,8BAA8B;IACxCC,uBAAuB;IACvB,cAAaH,cAAgB;IAC7B,iBAAgBL,QAAU;IAC1BG,OAAO,EAAGA,OAAS;IACnBM,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKT,QAAQ,EAAG;QACf;MACD;MAEAJ,iBAAiB,CAChBD,SAAS,CAACS,QAAQ,CAAEF,EAAG,CAAC,GACrBP,SAAS,CAACe,MAAM,CAAIC,MAAM,IAAMT,EAAE,KAAKS,MAAO,CAAC,GAC/C,CAAE,GAAGhB,SAAS,EAAEO,EAAE,CACtB,CAAC;IACF,CAAG;IAAA,GACED;EAAU,CACf,CAAC;AAEJ","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/dataviews-selection-checkbox/index.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { CheckboxControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { SetSelection } from '../../types/private';\nimport type { NormalizedField } from '../../types';\n\ninterface DataViewsSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\titem: Item;\n\tgetItemId: ( item: Item ) => string;\n\ttitleField?: NormalizedField< Item >;\n\tdisabled: boolean;\n\ttabIndex?: number;\n}\n\nexport default function DataViewsSelectionCheckbox< Item >( {\n\tselection,\n\tonChangeSelection,\n\titem,\n\tgetItemId,\n\ttitleField,\n\tdisabled,\n\t...extraProps\n}: DataViewsSelectionCheckboxProps< Item > ) {\n\tconst id = getItemId( item );\n\tconst checked = ! disabled && selection.includes( id );\n\n\t// Fallback label to ensure accessibility\n\tconst selectionLabel =\n\t\ttitleField?.getValue?.( { item } ) || __( '(no title)' );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ checked }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tonChangeSelection(\n\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t);\n\t\t\t} }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": "AAuCE;AApCF,SAAS,uBAAuB;AAChC,SAAS,UAAU;AAkBJ,SAAR,2BAAqD;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAA6C;AAC5C,QAAM,KAAK,UAAW,IAAK;AAC3B,QAAM,UAAU,CAAE,YAAY,UAAU,SAAU,EAAG;AAGrD,QAAM,iBACL,YAAY,WAAY,EAAE,KAAK,CAAE,KAAK,GAAI,YAAa;AAExD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,yBAAuB;AAAA,MACvB,cAAa;AAAA,MACb,iBAAgB;AAAA,MAChB;AAAA,MACA,UAAW,MAAM;AAChB,YAAK,UAAW;AACf;AAAA,QACD;AAEA;AAAA,UACC,UAAU,SAAU,EAAG,IACpB,UAAU,OAAQ,CAAE,WAAY,OAAO,MAAO,IAC9C,CAAE,GAAG,WAAW,EAAG;AAAA,QACvB;AAAA,MACD;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF;",
6
+ "names": []
7
+ }