@wordpress/dataviews 11.4.1-next.v.0 → 12.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 (415) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/README.md +44 -2
  3. package/build/components/dataform-controls/adaptive-select.cjs +52 -0
  4. package/build/components/dataform-controls/adaptive-select.cjs.map +7 -0
  5. package/build/components/dataform-controls/array.cjs +2 -0
  6. package/build/components/dataform-controls/array.cjs.map +2 -2
  7. package/build/components/dataform-controls/checkbox.cjs +2 -0
  8. package/build/components/dataform-controls/checkbox.cjs.map +2 -2
  9. package/build/components/dataform-controls/color.cjs +21 -30
  10. package/build/components/dataform-controls/color.cjs.map +3 -3
  11. package/build/components/dataform-controls/date.cjs +23 -9
  12. package/build/components/dataform-controls/date.cjs.map +2 -2
  13. package/build/components/dataform-controls/datetime.cjs +11 -3
  14. package/build/components/dataform-controls/datetime.cjs.map +2 -2
  15. package/build/components/dataform-controls/email.cjs +2 -0
  16. package/build/components/dataform-controls/email.cjs.map +2 -2
  17. package/build/components/dataform-controls/index.cjs +3 -1
  18. package/build/components/dataform-controls/index.cjs.map +3 -3
  19. package/build/components/dataform-controls/password.cjs +2 -0
  20. package/build/components/dataform-controls/password.cjs.map +2 -2
  21. package/build/components/dataform-controls/radio.cjs +2 -0
  22. package/build/components/dataform-controls/radio.cjs.map +2 -2
  23. package/build/components/dataform-controls/select.cjs +2 -0
  24. package/build/components/dataform-controls/select.cjs.map +2 -2
  25. package/build/components/dataform-controls/telephone.cjs +2 -0
  26. package/build/components/dataform-controls/telephone.cjs.map +2 -2
  27. package/build/components/dataform-controls/text.cjs +2 -0
  28. package/build/components/dataform-controls/text.cjs.map +2 -2
  29. package/build/components/dataform-controls/textarea.cjs +2 -0
  30. package/build/components/dataform-controls/textarea.cjs.map +2 -2
  31. package/build/components/dataform-controls/toggle-group.cjs +2 -0
  32. package/build/components/dataform-controls/toggle-group.cjs.map +2 -2
  33. package/build/components/dataform-controls/toggle.cjs +2 -0
  34. package/build/components/dataform-controls/toggle.cjs.map +2 -2
  35. package/build/components/dataform-controls/url.cjs +2 -0
  36. package/build/components/dataform-controls/url.cjs.map +2 -2
  37. package/build/components/dataform-controls/utils/relative-date-control.cjs +1 -1
  38. package/build/components/dataform-controls/utils/relative-date-control.cjs.map +1 -1
  39. package/build/components/dataform-controls/utils/validated-input.cjs +2 -0
  40. package/build/components/dataform-controls/utils/validated-input.cjs.map +2 -2
  41. package/build/components/dataform-controls/utils/validated-number.cjs +2 -0
  42. package/build/components/dataform-controls/utils/validated-number.cjs.map +2 -2
  43. package/build/components/dataform-layouts/card/index.cjs +2 -0
  44. package/build/components/dataform-layouts/card/index.cjs.map +2 -2
  45. package/build/components/dataform-layouts/data-form-layout.cjs +11 -2
  46. package/build/components/dataform-layouts/data-form-layout.cjs.map +2 -2
  47. package/build/components/dataform-layouts/details/index.cjs +1 -1
  48. package/build/components/dataform-layouts/details/index.cjs.map +1 -1
  49. package/build/components/dataform-layouts/index.cjs +5 -5
  50. package/build/components/dataform-layouts/index.cjs.map +1 -1
  51. package/build/components/dataform-layouts/normalize-form.cjs +2 -1
  52. package/build/components/dataform-layouts/normalize-form.cjs.map +2 -2
  53. package/build/components/dataform-layouts/panel/dropdown.cjs +81 -66
  54. package/build/components/dataform-layouts/panel/dropdown.cjs.map +3 -3
  55. package/build/components/dataform-layouts/panel/index.cjs +13 -177
  56. package/build/components/dataform-layouts/panel/index.cjs.map +3 -3
  57. package/build/components/dataform-layouts/panel/modal.cjs +15 -11
  58. package/build/components/dataform-layouts/panel/modal.cjs.map +3 -3
  59. package/build/components/dataform-layouts/panel/summary-button.cjs +125 -56
  60. package/build/components/dataform-layouts/panel/summary-button.cjs.map +3 -3
  61. package/build/components/dataform-layouts/panel/utils/get-first-validation-error.cjs +59 -0
  62. package/build/components/dataform-layouts/panel/utils/get-first-validation-error.cjs.map +7 -0
  63. package/build/components/dataform-layouts/panel/utils/get-label-classname.cjs +45 -0
  64. package/build/components/dataform-layouts/panel/utils/get-label-classname.cjs.map +7 -0
  65. package/build/components/dataform-layouts/panel/utils/get-label-content.cjs +36 -0
  66. package/build/components/dataform-layouts/panel/utils/get-label-content.cjs.map +7 -0
  67. package/build/components/dataform-layouts/panel/utils/use-field-from-form-field.cjs +77 -0
  68. package/build/components/dataform-layouts/panel/utils/use-field-from-form-field.cjs.map +7 -0
  69. package/build/components/dataform-layouts/regular/index.cjs +6 -3
  70. package/build/components/dataform-layouts/regular/index.cjs.map +2 -2
  71. package/build/components/dataform-layouts/row/index.cjs +5 -2
  72. package/build/components/dataform-layouts/row/index.cjs.map +2 -2
  73. package/build/components/dataviews-bulk-actions/index.cjs +4 -4
  74. package/build/components/dataviews-bulk-actions/index.cjs.map +2 -2
  75. package/build/components/dataviews-context/index.cjs.map +2 -2
  76. package/build/components/dataviews-filters/filter.cjs +1 -1
  77. package/build/components/dataviews-filters/filter.cjs.map +1 -1
  78. package/build/components/dataviews-filters/filters.cjs +1 -1
  79. package/build/components/dataviews-filters/filters.cjs.map +1 -1
  80. package/build/components/dataviews-filters/search-widget.cjs +25 -11
  81. package/build/components/dataviews-filters/search-widget.cjs.map +2 -2
  82. package/build/components/dataviews-filters/toggle.cjs.map +1 -1
  83. package/build/components/dataviews-footer/index.cjs +1 -1
  84. package/build/components/dataviews-footer/index.cjs.map +1 -1
  85. package/build/components/dataviews-layouts/activity/activity-item.cjs +4 -4
  86. package/build/components/dataviews-layouts/activity/activity-item.cjs.map +1 -1
  87. package/build/components/dataviews-layouts/activity/index.cjs +1 -1
  88. package/build/components/dataviews-layouts/activity/index.cjs.map +1 -1
  89. package/build/components/dataviews-layouts/grid/composite-grid.cjs +27 -38
  90. package/build/components/dataviews-layouts/grid/composite-grid.cjs.map +2 -2
  91. package/build/components/dataviews-layouts/grid/index.cjs +2 -2
  92. package/build/components/dataviews-layouts/grid/index.cjs.map +1 -1
  93. package/build/components/dataviews-layouts/list/index.cjs +7 -8
  94. package/build/components/dataviews-layouts/list/index.cjs.map +2 -2
  95. package/build/components/dataviews-layouts/picker-grid/index.cjs +5 -5
  96. package/build/components/dataviews-layouts/picker-grid/index.cjs.map +2 -2
  97. package/build/components/dataviews-layouts/picker-table/index.cjs +1 -1
  98. package/build/components/dataviews-layouts/picker-table/index.cjs.map +2 -2
  99. package/build/components/dataviews-layouts/table/column-primary.cjs +1 -1
  100. package/build/components/dataviews-layouts/table/column-primary.cjs.map +1 -1
  101. package/build/components/dataviews-layouts/table/index.cjs +1 -1
  102. package/build/components/dataviews-layouts/table/index.cjs.map +2 -2
  103. package/build/components/dataviews-layouts/utils/item-click-wrapper.cjs.map +2 -2
  104. package/build/components/dataviews-pagination/index.cjs +3 -3
  105. package/build/components/dataviews-pagination/index.cjs.map +2 -2
  106. package/build/components/dataviews-picker-footer/index.cjs +3 -3
  107. package/build/components/dataviews-picker-footer/index.cjs.map +2 -2
  108. package/build/components/dataviews-view-config/index.cjs +74 -57
  109. package/build/components/dataviews-view-config/index.cjs.map +3 -3
  110. package/build/components/dataviews-view-config/properties-section.cjs +1 -1
  111. package/build/components/dataviews-view-config/properties-section.cjs.map +1 -1
  112. package/build/dataviews/index.cjs +7 -5
  113. package/build/dataviews/index.cjs.map +2 -2
  114. package/build/dataviews-picker/index.cjs +3 -3
  115. package/build/dataviews-picker/index.cjs.map +2 -2
  116. package/build/hooks/use-form-validity.cjs +61 -28
  117. package/build/hooks/use-form-validity.cjs.map +2 -2
  118. package/build/types/dataform.cjs.map +1 -1
  119. package/build/types/field-api.cjs.map +1 -1
  120. package/build-module/components/dataform-controls/adaptive-select.mjs +21 -0
  121. package/build-module/components/dataform-controls/adaptive-select.mjs.map +7 -0
  122. package/build-module/components/dataform-controls/array.mjs +2 -0
  123. package/build-module/components/dataform-controls/array.mjs.map +2 -2
  124. package/build-module/components/dataform-controls/checkbox.mjs +2 -0
  125. package/build-module/components/dataform-controls/checkbox.mjs.map +2 -2
  126. package/build-module/components/dataform-controls/color.mjs +26 -31
  127. package/build-module/components/dataform-controls/color.mjs.map +2 -2
  128. package/build-module/components/dataform-controls/date.mjs +23 -9
  129. package/build-module/components/dataform-controls/date.mjs.map +2 -2
  130. package/build-module/components/dataform-controls/datetime.mjs +11 -3
  131. package/build-module/components/dataform-controls/datetime.mjs.map +2 -2
  132. package/build-module/components/dataform-controls/email.mjs +2 -0
  133. package/build-module/components/dataform-controls/email.mjs.map +2 -2
  134. package/build-module/components/dataform-controls/index.mjs +3 -1
  135. package/build-module/components/dataform-controls/index.mjs.map +2 -2
  136. package/build-module/components/dataform-controls/password.mjs +2 -0
  137. package/build-module/components/dataform-controls/password.mjs.map +2 -2
  138. package/build-module/components/dataform-controls/radio.mjs +2 -0
  139. package/build-module/components/dataform-controls/radio.mjs.map +2 -2
  140. package/build-module/components/dataform-controls/select.mjs +2 -0
  141. package/build-module/components/dataform-controls/select.mjs.map +2 -2
  142. package/build-module/components/dataform-controls/telephone.mjs +2 -0
  143. package/build-module/components/dataform-controls/telephone.mjs.map +2 -2
  144. package/build-module/components/dataform-controls/text.mjs +2 -0
  145. package/build-module/components/dataform-controls/text.mjs.map +2 -2
  146. package/build-module/components/dataform-controls/textarea.mjs +2 -0
  147. package/build-module/components/dataform-controls/textarea.mjs.map +2 -2
  148. package/build-module/components/dataform-controls/toggle-group.mjs +2 -0
  149. package/build-module/components/dataform-controls/toggle-group.mjs.map +2 -2
  150. package/build-module/components/dataform-controls/toggle.mjs +2 -0
  151. package/build-module/components/dataform-controls/toggle.mjs.map +2 -2
  152. package/build-module/components/dataform-controls/url.mjs +2 -0
  153. package/build-module/components/dataform-controls/url.mjs.map +2 -2
  154. package/build-module/components/dataform-controls/utils/relative-date-control.mjs +1 -1
  155. package/build-module/components/dataform-controls/utils/relative-date-control.mjs.map +1 -1
  156. package/build-module/components/dataform-controls/utils/validated-input.mjs +2 -0
  157. package/build-module/components/dataform-controls/utils/validated-input.mjs.map +2 -2
  158. package/build-module/components/dataform-controls/utils/validated-number.mjs +2 -0
  159. package/build-module/components/dataform-controls/utils/validated-number.mjs.map +2 -2
  160. package/build-module/components/dataform-layouts/card/index.mjs +2 -0
  161. package/build-module/components/dataform-layouts/card/index.mjs.map +2 -2
  162. package/build-module/components/dataform-layouts/data-form-layout.mjs +12 -3
  163. package/build-module/components/dataform-layouts/data-form-layout.mjs.map +2 -2
  164. package/build-module/components/dataform-layouts/details/index.mjs +1 -1
  165. package/build-module/components/dataform-layouts/details/index.mjs.map +1 -1
  166. package/build-module/components/dataform-layouts/index.mjs +5 -5
  167. package/build-module/components/dataform-layouts/index.mjs.map +1 -1
  168. package/build-module/components/dataform-layouts/normalize-form.mjs +2 -1
  169. package/build-module/components/dataform-layouts/normalize-form.mjs.map +2 -2
  170. package/build-module/components/dataform-layouts/panel/dropdown.mjs +83 -68
  171. package/build-module/components/dataform-layouts/panel/dropdown.mjs.map +2 -2
  172. package/build-module/components/dataform-layouts/panel/index.mjs +14 -178
  173. package/build-module/components/dataform-layouts/panel/index.mjs.map +2 -2
  174. package/build-module/components/dataform-layouts/panel/modal.mjs +15 -11
  175. package/build-module/components/dataform-layouts/panel/modal.mjs.map +2 -2
  176. package/build-module/components/dataform-layouts/panel/summary-button.mjs +117 -58
  177. package/build-module/components/dataform-layouts/panel/summary-button.mjs.map +2 -2
  178. package/build-module/components/dataform-layouts/panel/utils/get-first-validation-error.mjs +38 -0
  179. package/build-module/components/dataform-layouts/panel/utils/get-first-validation-error.mjs.map +7 -0
  180. package/build-module/components/dataform-layouts/panel/utils/get-label-classname.mjs +14 -0
  181. package/build-module/components/dataform-layouts/panel/utils/get-label-classname.mjs.map +7 -0
  182. package/build-module/components/dataform-layouts/panel/utils/get-label-content.mjs +15 -0
  183. package/build-module/components/dataform-layouts/panel/utils/get-label-content.mjs.map +7 -0
  184. package/build-module/components/dataform-layouts/panel/utils/use-field-from-form-field.mjs +46 -0
  185. package/build-module/components/dataform-layouts/panel/utils/use-field-from-form-field.mjs.map +7 -0
  186. package/build-module/components/dataform-layouts/regular/index.mjs +6 -3
  187. package/build-module/components/dataform-layouts/regular/index.mjs.map +2 -2
  188. package/build-module/components/dataform-layouts/row/index.mjs +5 -2
  189. package/build-module/components/dataform-layouts/row/index.mjs.map +2 -2
  190. package/build-module/components/dataviews-bulk-actions/index.mjs +4 -4
  191. package/build-module/components/dataviews-bulk-actions/index.mjs.map +2 -2
  192. package/build-module/components/dataviews-context/index.mjs.map +2 -2
  193. package/build-module/components/dataviews-filters/filter.mjs +1 -1
  194. package/build-module/components/dataviews-filters/filter.mjs.map +1 -1
  195. package/build-module/components/dataviews-filters/filters.mjs +1 -1
  196. package/build-module/components/dataviews-filters/filters.mjs.map +1 -1
  197. package/build-module/components/dataviews-filters/search-widget.mjs +25 -11
  198. package/build-module/components/dataviews-filters/search-widget.mjs.map +2 -2
  199. package/build-module/components/dataviews-filters/toggle.mjs.map +1 -1
  200. package/build-module/components/dataviews-footer/index.mjs +1 -1
  201. package/build-module/components/dataviews-footer/index.mjs.map +1 -1
  202. package/build-module/components/dataviews-layouts/activity/activity-item.mjs +4 -4
  203. package/build-module/components/dataviews-layouts/activity/activity-item.mjs.map +1 -1
  204. package/build-module/components/dataviews-layouts/activity/index.mjs +1 -1
  205. package/build-module/components/dataviews-layouts/activity/index.mjs.map +1 -1
  206. package/build-module/components/dataviews-layouts/grid/composite-grid.mjs +27 -38
  207. package/build-module/components/dataviews-layouts/grid/composite-grid.mjs.map +2 -2
  208. package/build-module/components/dataviews-layouts/grid/index.mjs +2 -2
  209. package/build-module/components/dataviews-layouts/grid/index.mjs.map +1 -1
  210. package/build-module/components/dataviews-layouts/list/index.mjs +7 -8
  211. package/build-module/components/dataviews-layouts/list/index.mjs.map +2 -2
  212. package/build-module/components/dataviews-layouts/picker-grid/index.mjs +5 -5
  213. package/build-module/components/dataviews-layouts/picker-grid/index.mjs.map +2 -2
  214. package/build-module/components/dataviews-layouts/picker-table/index.mjs +1 -1
  215. package/build-module/components/dataviews-layouts/picker-table/index.mjs.map +2 -2
  216. package/build-module/components/dataviews-layouts/table/column-primary.mjs +1 -1
  217. package/build-module/components/dataviews-layouts/table/column-primary.mjs.map +1 -1
  218. package/build-module/components/dataviews-layouts/table/index.mjs +1 -1
  219. package/build-module/components/dataviews-layouts/table/index.mjs.map +2 -2
  220. package/build-module/components/dataviews-layouts/utils/item-click-wrapper.mjs.map +2 -2
  221. package/build-module/components/dataviews-pagination/index.mjs +3 -3
  222. package/build-module/components/dataviews-pagination/index.mjs.map +2 -2
  223. package/build-module/components/dataviews-picker-footer/index.mjs +3 -3
  224. package/build-module/components/dataviews-picker-footer/index.mjs.map +2 -2
  225. package/build-module/components/dataviews-view-config/index.mjs +74 -59
  226. package/build-module/components/dataviews-view-config/index.mjs.map +2 -2
  227. package/build-module/components/dataviews-view-config/properties-section.mjs +1 -1
  228. package/build-module/components/dataviews-view-config/properties-section.mjs.map +1 -1
  229. package/build-module/dataviews/index.mjs +7 -5
  230. package/build-module/dataviews/index.mjs.map +2 -2
  231. package/build-module/dataviews-picker/index.mjs +3 -3
  232. package/build-module/dataviews-picker/index.mjs.map +2 -2
  233. package/build-module/hooks/use-form-validity.mjs +61 -28
  234. package/build-module/hooks/use-form-validity.mjs.map +2 -2
  235. package/build-style/style-rtl.css +144 -217
  236. package/build-style/style.css +144 -217
  237. package/build-types/components/dataform-controls/adaptive-select.d.ts +6 -0
  238. package/build-types/components/dataform-controls/adaptive-select.d.ts.map +1 -0
  239. package/build-types/components/dataform-controls/array.d.ts +1 -1
  240. package/build-types/components/dataform-controls/array.d.ts.map +1 -1
  241. package/build-types/components/dataform-controls/checkbox.d.ts +1 -1
  242. package/build-types/components/dataform-controls/checkbox.d.ts.map +1 -1
  243. package/build-types/components/dataform-controls/color.d.ts +1 -1
  244. package/build-types/components/dataform-controls/color.d.ts.map +1 -1
  245. package/build-types/components/dataform-controls/date.d.ts +1 -1
  246. package/build-types/components/dataform-controls/date.d.ts.map +1 -1
  247. package/build-types/components/dataform-controls/datetime.d.ts +1 -1
  248. package/build-types/components/dataform-controls/datetime.d.ts.map +1 -1
  249. package/build-types/components/dataform-controls/email.d.ts +1 -1
  250. package/build-types/components/dataform-controls/email.d.ts.map +1 -1
  251. package/build-types/components/dataform-controls/index.d.ts.map +1 -1
  252. package/build-types/components/dataform-controls/password.d.ts +1 -1
  253. package/build-types/components/dataform-controls/password.d.ts.map +1 -1
  254. package/build-types/components/dataform-controls/radio.d.ts +1 -1
  255. package/build-types/components/dataform-controls/radio.d.ts.map +1 -1
  256. package/build-types/components/dataform-controls/select.d.ts +1 -1
  257. package/build-types/components/dataform-controls/select.d.ts.map +1 -1
  258. package/build-types/components/dataform-controls/telephone.d.ts +1 -1
  259. package/build-types/components/dataform-controls/telephone.d.ts.map +1 -1
  260. package/build-types/components/dataform-controls/text.d.ts +1 -1
  261. package/build-types/components/dataform-controls/text.d.ts.map +1 -1
  262. package/build-types/components/dataform-controls/textarea.d.ts +1 -1
  263. package/build-types/components/dataform-controls/textarea.d.ts.map +1 -1
  264. package/build-types/components/dataform-controls/toggle-group.d.ts +1 -1
  265. package/build-types/components/dataform-controls/toggle-group.d.ts.map +1 -1
  266. package/build-types/components/dataform-controls/toggle.d.ts +1 -1
  267. package/build-types/components/dataform-controls/toggle.d.ts.map +1 -1
  268. package/build-types/components/dataform-controls/url.d.ts +1 -1
  269. package/build-types/components/dataform-controls/url.d.ts.map +1 -1
  270. package/build-types/components/dataform-controls/utils/validated-input.d.ts +1 -1
  271. package/build-types/components/dataform-controls/utils/validated-input.d.ts.map +1 -1
  272. package/build-types/components/dataform-controls/utils/validated-number.d.ts +1 -1
  273. package/build-types/components/dataform-controls/utils/validated-number.d.ts.map +1 -1
  274. package/build-types/components/dataform-layouts/card/index.d.ts +1 -1
  275. package/build-types/components/dataform-layouts/card/index.d.ts.map +1 -1
  276. package/build-types/components/dataform-layouts/data-form-layout.d.ts +2 -1
  277. package/build-types/components/dataform-layouts/data-form-layout.d.ts.map +1 -1
  278. package/build-types/components/dataform-layouts/normalize-form.d.ts.map +1 -1
  279. package/build-types/components/dataform-layouts/panel/dropdown.d.ts +2 -13
  280. package/build-types/components/dataform-layouts/panel/dropdown.d.ts.map +1 -1
  281. package/build-types/components/dataform-layouts/panel/index.d.ts +1 -1
  282. package/build-types/components/dataform-layouts/panel/index.d.ts.map +1 -1
  283. package/build-types/components/dataform-layouts/panel/modal.d.ts +2 -11
  284. package/build-types/components/dataform-layouts/panel/modal.d.ts.map +1 -1
  285. package/build-types/components/dataform-layouts/panel/summary-button.d.ts +6 -5
  286. package/build-types/components/dataform-layouts/panel/summary-button.d.ts.map +1 -1
  287. package/build-types/components/dataform-layouts/panel/utils/get-first-validation-error.d.ts +4 -0
  288. package/build-types/components/dataform-layouts/panel/utils/get-first-validation-error.d.ts.map +1 -0
  289. package/build-types/components/dataform-layouts/panel/utils/get-label-classname.d.ts +4 -0
  290. package/build-types/components/dataform-layouts/panel/utils/get-label-classname.d.ts.map +1 -0
  291. package/build-types/components/dataform-layouts/panel/utils/get-label-content.d.ts +3 -0
  292. package/build-types/components/dataform-layouts/panel/utils/get-label-content.d.ts.map +1 -0
  293. package/build-types/components/dataform-layouts/panel/utils/use-field-from-form-field.d.ts +23 -0
  294. package/build-types/components/dataform-layouts/panel/utils/use-field-from-form-field.d.ts.map +1 -0
  295. package/build-types/components/dataform-layouts/regular/index.d.ts +1 -1
  296. package/build-types/components/dataform-layouts/regular/index.d.ts.map +1 -1
  297. package/build-types/components/dataform-layouts/row/index.d.ts +1 -1
  298. package/build-types/components/dataform-layouts/row/index.d.ts.map +1 -1
  299. package/build-types/components/dataviews-context/index.d.ts +1 -0
  300. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  301. package/build-types/components/dataviews-filters/filter.d.ts +1 -1
  302. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -1
  303. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
  304. package/build-types/components/dataviews-layouts/list/index.d.ts.map +1 -1
  305. package/build-types/components/dataviews-layouts/utils/item-click-wrapper.d.ts +1 -0
  306. package/build-types/components/dataviews-layouts/utils/item-click-wrapper.d.ts.map +1 -1
  307. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  308. package/build-types/dataform/stories/index.story.d.ts +9 -1
  309. package/build-types/dataform/stories/index.story.d.ts.map +1 -1
  310. package/build-types/dataform/stories/layout-panel.d.ts +3 -1
  311. package/build-types/dataform/stories/layout-panel.d.ts.map +1 -1
  312. package/build-types/dataviews/index.d.ts +2 -1
  313. package/build-types/dataviews/index.d.ts.map +1 -1
  314. package/build-types/dataviews/stories/fixtures.d.ts +1 -0
  315. package/build-types/dataviews/stories/fixtures.d.ts.map +1 -1
  316. package/build-types/dataviews/stories/index.story.d.ts +14 -2
  317. package/build-types/dataviews/stories/index.story.d.ts.map +1 -1
  318. package/build-types/dataviews/stories/layout-activity.d.ts +2 -1
  319. package/build-types/dataviews/stories/layout-activity.d.ts.map +1 -1
  320. package/build-types/dataviews/stories/layout-list.d.ts +2 -1
  321. package/build-types/dataviews/stories/layout-list.d.ts.map +1 -1
  322. package/build-types/field-types/stories/index.story.d.ts +42 -16
  323. package/build-types/field-types/stories/index.story.d.ts.map +1 -1
  324. package/build-types/hooks/use-form-validity.d.ts.map +1 -1
  325. package/build-types/types/dataform.d.ts +4 -0
  326. package/build-types/types/dataform.d.ts.map +1 -1
  327. package/build-types/types/field-api.d.ts +4 -0
  328. package/build-types/types/field-api.d.ts.map +1 -1
  329. package/build-wp/index.js +2689 -2167
  330. package/package.json +21 -21
  331. package/src/components/dataform-controls/adaptive-select.tsx +23 -0
  332. package/src/components/dataform-controls/array.tsx +2 -0
  333. package/src/components/dataform-controls/checkbox.tsx +2 -0
  334. package/src/components/dataform-controls/color.tsx +31 -36
  335. package/src/components/dataform-controls/date.tsx +24 -16
  336. package/src/components/dataform-controls/datetime.tsx +16 -6
  337. package/src/components/dataform-controls/email.tsx +2 -0
  338. package/src/components/dataform-controls/index.tsx +3 -1
  339. package/src/components/dataform-controls/password.tsx +2 -0
  340. package/src/components/dataform-controls/radio.tsx +2 -0
  341. package/src/components/dataform-controls/select.tsx +2 -0
  342. package/src/components/dataform-controls/style.scss +4 -0
  343. package/src/components/dataform-controls/telephone.tsx +2 -0
  344. package/src/components/dataform-controls/text.tsx +2 -0
  345. package/src/components/dataform-controls/textarea.tsx +2 -0
  346. package/src/components/dataform-controls/toggle-group.tsx +2 -0
  347. package/src/components/dataform-controls/toggle.tsx +2 -0
  348. package/src/components/dataform-controls/url.tsx +2 -0
  349. package/src/components/dataform-controls/utils/relative-date-control.tsx +1 -1
  350. package/src/components/dataform-controls/utils/validated-input.tsx +2 -0
  351. package/src/components/dataform-controls/utils/validated-number.tsx +2 -0
  352. package/src/components/dataform-layouts/card/index.tsx +2 -0
  353. package/src/components/dataform-layouts/data-form-layout.tsx +18 -4
  354. package/src/components/dataform-layouts/details/index.tsx +1 -1
  355. package/src/components/dataform-layouts/index.tsx +5 -5
  356. package/src/components/dataform-layouts/normalize-form.ts +1 -0
  357. package/src/components/dataform-layouts/panel/dropdown.tsx +97 -96
  358. package/src/components/dataform-layouts/panel/index.tsx +10 -245
  359. package/src/components/dataform-layouts/panel/modal.tsx +24 -22
  360. package/src/components/dataform-layouts/panel/style.scss +109 -27
  361. package/src/components/dataform-layouts/panel/summary-button.tsx +140 -62
  362. package/src/components/dataform-layouts/panel/utils/get-first-validation-error.ts +47 -0
  363. package/src/components/dataform-layouts/panel/utils/get-label-classname.ts +18 -0
  364. package/src/components/dataform-layouts/panel/utils/get-label-content.tsx +26 -0
  365. package/src/components/dataform-layouts/panel/utils/use-field-from-form-field.ts +78 -0
  366. package/src/components/dataform-layouts/regular/index.tsx +8 -3
  367. package/src/components/dataform-layouts/regular/style.scss +10 -0
  368. package/src/components/dataform-layouts/row/index.tsx +5 -2
  369. package/src/components/dataform-layouts/test/normalize-form.ts +5 -0
  370. package/src/components/dataviews-bulk-actions/index.tsx +4 -4
  371. package/src/components/dataviews-context/index.ts +1 -0
  372. package/src/components/dataviews-filters/filter.tsx +2 -2
  373. package/src/components/dataviews-filters/filters.tsx +1 -1
  374. package/src/components/dataviews-filters/search-widget.tsx +10 -2
  375. package/src/components/dataviews-filters/style.scss +8 -0
  376. package/src/components/dataviews-filters/toggle.tsx +1 -1
  377. package/src/components/dataviews-footer/index.tsx +1 -1
  378. package/src/components/dataviews-layouts/activity/activity-item.tsx +4 -4
  379. package/src/components/dataviews-layouts/activity/index.tsx +1 -1
  380. package/src/components/dataviews-layouts/grid/composite-grid.tsx +35 -35
  381. package/src/components/dataviews-layouts/grid/index.tsx +2 -2
  382. package/src/components/dataviews-layouts/grid/style.scss +15 -1
  383. package/src/components/dataviews-layouts/list/index.tsx +7 -8
  384. package/src/components/dataviews-layouts/list/style.scss +1 -0
  385. package/src/components/dataviews-layouts/picker-grid/index.tsx +5 -5
  386. package/src/components/dataviews-layouts/picker-table/index.tsx +1 -1
  387. package/src/components/dataviews-layouts/table/column-primary.tsx +1 -1
  388. package/src/components/dataviews-layouts/table/index.tsx +1 -1
  389. package/src/components/dataviews-layouts/utils/item-click-wrapper.tsx +1 -0
  390. package/src/components/dataviews-pagination/index.tsx +3 -3
  391. package/src/components/dataviews-picker-footer/index.tsx +3 -3
  392. package/src/components/dataviews-view-config/index.tsx +61 -50
  393. package/src/components/dataviews-view-config/properties-section.tsx +1 -1
  394. package/src/components/dataviews-view-config/style.scss +21 -0
  395. package/src/dataform/stories/content.story.tsx +5 -5
  396. package/src/dataform/stories/index.story.tsx +6 -1
  397. package/src/dataform/stories/layout-panel.tsx +19 -2
  398. package/src/dataform/stories/validation.tsx +2 -2
  399. package/src/dataform/test/dataform.tsx +2 -2
  400. package/src/dataviews/index.tsx +7 -4
  401. package/src/dataviews/stories/empty.tsx +1 -1
  402. package/src/dataviews/stories/fixtures.tsx +93 -4
  403. package/src/dataviews/stories/free-composition.tsx +6 -6
  404. package/src/dataviews/stories/index.story.tsx +12 -0
  405. package/src/dataviews/stories/layout-activity.tsx +6 -3
  406. package/src/dataviews/stories/layout-list.tsx +3 -0
  407. package/src/dataviews-picker/index.tsx +4 -4
  408. package/src/dataviews-picker/stories/fixtures.tsx +2 -2
  409. package/src/dataviews-picker/stories/index.story.tsx +1 -1
  410. package/src/field-types/stories/index.story.tsx +99 -5
  411. package/src/hooks/test/use-form-validity.ts +303 -178
  412. package/src/hooks/use-form-validity.ts +85 -36
  413. package/src/style.scss +0 -2
  414. package/src/types/dataform.ts +5 -0
  415. package/src/types/field-api.ts +4 -0
@@ -66,6 +66,7 @@ export function ItemClickWrapper< Item >( {
66
66
  } & ComponentProps< 'a' >
67
67
  ) => ReactElement;
68
68
  className?: string;
69
+ title?: string;
69
70
  children: ReactNode;
70
71
  } ) {
71
72
  // Always render a wrapper element so layout and styling relying on the wrapper
@@ -51,13 +51,13 @@ export function DataViewsPagination() {
51
51
  className="dataviews-pagination"
52
52
  justify="end"
53
53
  align="center"
54
- gap="lg"
54
+ gap="xl"
55
55
  >
56
56
  <Stack
57
57
  direction="row"
58
58
  justify="flex-start"
59
59
  align="center"
60
- gap="2xs"
60
+ gap="xs"
61
61
  className="dataviews-pagination__page-select"
62
62
  >
63
63
  { createInterpolateElement(
@@ -90,7 +90,7 @@ export function DataViewsPagination() {
90
90
  }
91
91
  ) }
92
92
  </Stack>
93
- <Stack direction="row" gap="2xs" align="center">
93
+ <Stack direction="row" gap="xs" align="center">
94
94
  <Button
95
95
  onClick={ () =>
96
96
  onChangeView( {
@@ -88,7 +88,7 @@ function ActionButtons< Item >( {
88
88
  );
89
89
 
90
90
  return (
91
- <Stack direction="row" gap="2xs">
91
+ <Stack direction="row" gap="xs">
92
92
  { actions.map( ( action ) => {
93
93
  // Only support actions with callbacks for DataViewsPicker.
94
94
  // This is because many use cases of the picker will be already within modals.
@@ -158,12 +158,12 @@ export function DataViewsPickerFooter() {
158
158
  justify="space-between"
159
159
  align="center"
160
160
  className="dataviews-footer"
161
- gap="xs"
161
+ gap="sm"
162
162
  >
163
163
  <Stack
164
164
  direction="row"
165
165
  className="dataviews-picker-footer__bulk-selection"
166
- gap="sm"
166
+ gap="md"
167
167
  align="center"
168
168
  >
169
169
  { isMultiselect && (
@@ -14,9 +14,7 @@ import {
14
14
  __experimentalToggleGroupControlOption as ToggleGroupControlOption,
15
15
  __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
16
16
  SelectControl,
17
- __experimentalGrid as Grid,
18
17
  __experimentalHeading as Heading,
19
- __experimentalText as Text,
20
18
  privateApis as componentsPrivateApis,
21
19
  } from '@wordpress/components';
22
20
  import { __, _x } from '@wordpress/i18n';
@@ -247,46 +245,36 @@ function ItemsPerPageControl() {
247
245
  );
248
246
  }
249
247
 
250
- function SettingsSection( {
251
- title,
252
- description,
253
- children,
254
- }: {
255
- title: string;
256
- description?: string;
257
- children: React.ReactNode;
258
- } ) {
248
+ function ResetViewButton() {
249
+ const { onReset } = useContext( DataViewsContext );
250
+
251
+ // Don't render if no persistence support (onReset is undefined)
252
+ if ( onReset === undefined ) {
253
+ return null;
254
+ }
255
+
256
+ const isDisabled = onReset === false;
257
+
259
258
  return (
260
- <Grid columns={ 12 } className="dataviews-settings-section" gap={ 4 }>
261
- <div className="dataviews-settings-section__sidebar">
262
- <Heading
263
- level={ 2 }
264
- className="dataviews-settings-section__title"
265
- >
266
- { title }
267
- </Heading>
268
- { description && (
269
- <Text
270
- variant="muted"
271
- className="dataviews-settings-section__description"
272
- >
273
- { description }
274
- </Text>
275
- ) }
276
- </div>
277
- <Grid
278
- columns={ 8 }
279
- gap={ 4 }
280
- className="dataviews-settings-section__content"
281
- >
282
- { children }
283
- </Grid>
284
- </Grid>
259
+ <Button
260
+ variant="tertiary"
261
+ size="compact"
262
+ disabled={ isDisabled }
263
+ accessibleWhenDisabled
264
+ className="dataviews-view-config__reset-button"
265
+ onClick={ () => {
266
+ if ( typeof onReset === 'function' ) {
267
+ onReset();
268
+ }
269
+ } }
270
+ >
271
+ { __( 'Reset view' ) }
272
+ </Button>
285
273
  );
286
274
  }
287
275
 
288
276
  export function DataviewsViewConfigDropdown() {
289
- const { view } = useContext( DataViewsContext );
277
+ const { view, onReset } = useContext( DataViewsContext );
290
278
  const popoverId = useInstanceId(
291
279
  _DataViewsViewConfig,
292
280
  'dataviews-view-config-dropdown'
@@ -294,6 +282,7 @@ export function DataviewsViewConfigDropdown() {
294
282
  const activeLayout = VIEW_LAYOUTS.find(
295
283
  ( layout ) => layout.type === view.type
296
284
  );
285
+ const isModified = typeof onReset === 'function';
297
286
  return (
298
287
  <Dropdown
299
288
  expandOnMobile
@@ -303,14 +292,22 @@ export function DataviewsViewConfigDropdown() {
303
292
  } }
304
293
  renderToggle={ ( { onToggle, isOpen } ) => {
305
294
  return (
306
- <Button
307
- size="compact"
308
- icon={ cog }
309
- label={ _x( 'View options', 'View is used as a noun' ) }
310
- onClick={ onToggle }
311
- aria-expanded={ isOpen ? 'true' : 'false' }
312
- aria-controls={ popoverId }
313
- />
295
+ <div className="dataviews-view-config__toggle-wrapper">
296
+ <Button
297
+ size="compact"
298
+ icon={ cog }
299
+ label={ _x(
300
+ 'View options',
301
+ 'View is used as a noun'
302
+ ) }
303
+ onClick={ onToggle }
304
+ aria-expanded={ isOpen ? 'true' : 'false' }
305
+ aria-controls={ popoverId }
306
+ />
307
+ { isModified && (
308
+ <span className="dataviews-view-config__modified-indicator" />
309
+ ) }
310
+ </div>
314
311
  );
315
312
  } }
316
313
  renderContent={ () => (
@@ -321,13 +318,27 @@ export function DataviewsViewConfigDropdown() {
321
318
  <Stack
322
319
  direction="column"
323
320
  className="dataviews-view-config"
324
- gap="lg"
321
+ gap="xl"
325
322
  >
326
- <SettingsSection title={ __( 'Appearance' ) }>
323
+ <Stack
324
+ direction="row"
325
+ justify="space-between"
326
+ align="center"
327
+ className="dataviews-view-config__header"
328
+ >
329
+ <Heading
330
+ level={ 2 }
331
+ className="dataviews-settings-section__title"
332
+ >
333
+ { __( 'Appearance' ) }
334
+ </Heading>
335
+ <ResetViewButton />
336
+ </Stack>
337
+ <Stack direction="column" gap="lg">
327
338
  <Stack
328
339
  direction="row"
329
- gap="xs"
330
- className="is-divided-in-two"
340
+ gap="sm"
341
+ className="dataviews-view-config__sort-controls"
331
342
  >
332
343
  <SortFieldControl />
333
344
  <SortDirectionControl />
@@ -338,7 +349,7 @@ export function DataviewsViewConfigDropdown() {
338
349
  <InfiniteScrollToggle />
339
350
  <ItemsPerPageControl />
340
351
  <PropertiesSection />
341
- </SettingsSection>
352
+ </Stack>
342
353
  </Stack>
343
354
  </DropdownContentWrapper>
344
355
  ) }
@@ -30,7 +30,7 @@ function FieldItem( {
30
30
  } ) {
31
31
  return (
32
32
  <Item onClick={ field.enableHiding ? onToggleVisibility : undefined }>
33
- <Stack direction="row" gap="xs" justify="flex-start" align="center">
33
+ <Stack direction="row" gap="sm" justify="flex-start" align="center">
34
34
  <div style={ { height: 24, width: 24 } }>
35
35
  { isVisible && <Icon icon={ check } /> }
36
36
  </div>
@@ -59,6 +59,27 @@
59
59
  }
60
60
  }
61
61
 
62
+ .dataviews-view-config__sort-controls > * {
63
+ flex: 1;
64
+ }
65
+
62
66
  .dataviews-view-config__label {
63
67
  text-wrap: nowrap;
64
68
  }
69
+
70
+ .dataviews-view-config__toggle-wrapper {
71
+ position: relative;
72
+ display: inline-flex;
73
+ }
74
+
75
+ .dataviews-view-config__modified-indicator {
76
+ position: absolute;
77
+ top: $grid-unit-05;
78
+ right: $grid-unit-05;
79
+ width: $grid-unit-05;
80
+ height: $grid-unit-05;
81
+ background: var(--wp-admin-theme-color, #3858e9);
82
+ border-radius: 50%;
83
+ pointer-events: none;
84
+ }
85
+
@@ -68,7 +68,7 @@ export const Labels: Story = {
68
68
  );
69
69
 
70
70
  return (
71
- <Stack direction="column" gap="md">
71
+ <Stack direction="column" gap="lg">
72
72
  <DataForm< SampleData >
73
73
  data={ data }
74
74
  fields={ fields }
@@ -135,7 +135,7 @@ export const HelpText: Story = {
135
135
  );
136
136
 
137
137
  return (
138
- <Stack direction="column" gap="md">
138
+ <Stack direction="column" gap="lg">
139
139
  <DataForm< HelpTextData >
140
140
  data={ data }
141
141
  fields={ fields }
@@ -240,7 +240,7 @@ export const ValidationMessages: Story = {
240
240
 
241
241
  return (
242
242
  <div ref={ containerRef }>
243
- <Stack direction="column" gap="lg">
243
+ <Stack direction="column" gap="xl">
244
244
  <DataForm< ValidationMessagesData >
245
245
  data={ data }
246
246
  fields={ fields }
@@ -314,7 +314,7 @@ export const HighLevelHelpText: Story = {
314
314
  );
315
315
 
316
316
  return (
317
- <Stack direction="column" gap="md">
317
+ <Stack direction="column" gap="lg">
318
318
  <DataForm< HighLevelHelpTextData >
319
319
  data={ data }
320
320
  fields={ fields }
@@ -375,7 +375,7 @@ export const Placeholders: Story = {
375
375
  );
376
376
 
377
377
  return (
378
- <Stack direction="column" gap="md">
378
+ <Stack direction="column" gap="lg">
379
379
  <DataForm< PlaceholdersData >
380
380
  data={ data }
381
381
  fields={ fields }
@@ -62,6 +62,11 @@ export const LayoutPanel = {
62
62
  description: 'Chooses how to open the panel.',
63
63
  options: [ 'default', 'dropdown', 'modal' ],
64
64
  },
65
+ editVisibility: {
66
+ control: { type: 'select' },
67
+ description: 'Chooses when the edit icon is visible.',
68
+ options: [ 'default', 'always', 'on-hover' ],
69
+ },
65
70
  },
66
71
  };
67
72
 
@@ -112,7 +117,7 @@ export const Validation = {
112
117
  required: {
113
118
  control: { type: 'boolean' },
114
119
  description:
115
- 'Whether or not the required validation rule is active.',
120
+ 'Whether or not the required validation rule is active (only applies when fieldDistribution is allSame).',
116
121
  },
117
122
  elements: {
118
123
  control: { type: 'select' },
@@ -7,7 +7,13 @@ import { useMemo, useState } from '@wordpress/element';
7
7
  * Internal dependencies
8
8
  */
9
9
  import DataForm from '../index';
10
- import type { Field, Form, Layout, PanelLayout } from '../../types';
10
+ import type {
11
+ Field,
12
+ Form,
13
+ Layout,
14
+ PanelLayout,
15
+ EditVisibility,
16
+ } from '../../types';
11
17
 
12
18
  type SamplePost = {
13
19
  title: string;
@@ -261,10 +267,12 @@ const getPanelLayoutFromStoryArgs = ( {
261
267
  summary,
262
268
  labelPosition,
263
269
  openAs,
270
+ editVisibility,
264
271
  }: {
265
272
  summary?: string[];
266
273
  labelPosition?: 'default' | 'top' | 'side' | 'none';
267
274
  openAs?: 'default' | 'dropdown' | 'modal';
275
+ editVisibility?: 'default' | EditVisibility;
268
276
  } ): Layout | undefined => {
269
277
  const panelLayout: PanelLayout = {
270
278
  type: 'panel',
@@ -282,16 +290,22 @@ const getPanelLayoutFromStoryArgs = ( {
282
290
  panelLayout.summary = summary;
283
291
  }
284
292
 
293
+ if ( editVisibility !== 'default' ) {
294
+ panelLayout.editVisibility = editVisibility;
295
+ }
296
+
285
297
  return panelLayout;
286
298
  };
287
299
 
288
300
  const LayoutPanelComponent = ( {
289
301
  labelPosition,
290
302
  openAs,
303
+ editVisibility,
291
304
  }: {
292
305
  type: 'default' | 'regular' | 'panel' | 'card';
293
306
  labelPosition: 'default' | 'top' | 'side' | 'none';
294
307
  openAs: 'default' | 'dropdown' | 'modal';
308
+ editVisibility: 'default' | EditVisibility;
295
309
  } ) => {
296
310
  const [ post, setPost ] = useState< SamplePost >( {
297
311
  title: 'Hello, World!',
@@ -321,6 +335,7 @@ const LayoutPanelComponent = ( {
321
335
  layout: getPanelLayoutFromStoryArgs( {
322
336
  labelPosition,
323
337
  openAs,
338
+ editVisibility,
324
339
  } ),
325
340
  fields: [
326
341
  'title',
@@ -357,6 +372,7 @@ const LayoutPanelComponent = ( {
357
372
  summary: [ 'origin', 'destination', 'flight_status' ],
358
373
  labelPosition,
359
374
  openAs,
375
+ editVisibility,
360
376
  } ),
361
377
  },
362
378
  {
@@ -367,11 +383,12 @@ const LayoutPanelComponent = ( {
367
383
  summary: [ 'author', 'seat' ],
368
384
  labelPosition,
369
385
  openAs,
386
+ editVisibility,
370
387
  } ),
371
388
  },
372
389
  ],
373
390
  };
374
- }, [ labelPosition, openAs ] );
391
+ }, [ labelPosition, openAs, editVisibility ] );
375
392
 
376
393
  return (
377
394
  <DataForm< SamplePost >
@@ -877,7 +877,7 @@ const ValidationComponent = ( {
877
877
  },
878
878
  },
879
879
  ];
880
- }, [ elements, custom, required, pattern, minMax, getElements ] );
880
+ }, [ elements, custom, pattern, minMax, getElements, required ] );
881
881
 
882
882
  const form = useMemo( () => {
883
883
  if ( layout === 'regular' ) {
@@ -1018,7 +1018,7 @@ const ValidationComponent = ( {
1018
1018
 
1019
1019
  return (
1020
1020
  <form>
1021
- <Stack direction="column" align="start" gap="xl">
1021
+ <Stack direction="column" align="start" gap="3xl">
1022
1022
  <DataForm< ValidatedItem >
1023
1023
  data={ post }
1024
1024
  fields={ _fields }
@@ -511,9 +511,9 @@ describe( 'DataForm component', () => {
511
511
  />
512
512
  );
513
513
 
514
- const titleField = screen.getByText( data.title );
514
+ const titleButton = fieldsSelector.title.view();
515
515
  const user = await userEvent.setup();
516
- await user.click( titleField );
516
+ await user.click( titleButton );
517
517
  const titleEditField = screen.getByText(
518
518
  'This is the Title Field'
519
519
  );
@@ -66,6 +66,7 @@ type DataViewsProps< Item > = {
66
66
  perPageSizes: number[];
67
67
  };
68
68
  empty?: ReactNode;
69
+ onReset?: ( () => void ) | false;
69
70
  } & ( Item extends ItemWithId
70
71
  ? { getItemId?: ( item: Item ) => string }
71
72
  : { getItemId: ( item: Item ) => string } );
@@ -95,18 +96,18 @@ function DefaultUI( {
95
96
  align="top"
96
97
  justify="space-between"
97
98
  className="dataviews__view-actions"
98
- gap="2xs"
99
+ gap="xs"
99
100
  >
100
101
  <Stack
101
102
  direction="row"
102
103
  justify="start"
103
- gap="xs"
104
+ gap="sm"
104
105
  className="dataviews__search"
105
106
  >
106
107
  { search && <DataViewsSearch label={ searchLabel } /> }
107
108
  <FiltersToggle />
108
109
  </Stack>
109
- <Stack direction="row" gap="2xs" style={ { flexShrink: 0 } }>
110
+ <Stack direction="row" gap="xs" style={ { flexShrink: 0 } }>
110
111
  <DataViewsViewConfig />
111
112
  { header }
112
113
  </Stack>
@@ -140,9 +141,10 @@ function DataViews< Item >( {
140
141
  children,
141
142
  config = { perPageSizes: [ 10, 20, 50, 100 ] },
142
143
  empty,
144
+ onReset,
143
145
  }: DataViewsProps< Item > ) {
144
146
  const { infiniteScrollHandler } = paginationInfo;
145
- const containerRef = useRef< HTMLDivElement | null >( null );
147
+ const containerRef = useRef< HTMLDivElement >( null );
146
148
  const [ containerWidth, setContainerWidth ] = useState( 0 );
147
149
  const resizeObserverRef = useResizeObserver(
148
150
  ( resizeObserverEntries: any ) => {
@@ -267,6 +269,7 @@ function DataViews< Item >( {
267
269
  config,
268
270
  empty,
269
271
  hasInfiniteScrollHandler: !! infiniteScrollHandler,
272
+ onReset,
270
273
  } }
271
274
  >
272
275
  <div className="dataviews-wrapper" ref={ containerRef }>
@@ -39,7 +39,7 @@ const PlanetIllustration = () => (
39
39
  </svg>
40
40
  );
41
41
  const CustomEmptyComponent = () => (
42
- <Stack direction="column" align="center" justify="center" gap="sm">
42
+ <Stack direction="column" align="center" justify="center" gap="md">
43
43
  <PlanetIllustration />
44
44
  <Text>No celestial bodies found</Text>
45
45
  </Stack>