@wordpress/dataviews 3.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/CHANGELOG.md +21 -3
  2. package/README.md +19 -4
  3. package/build/components/dataform/index.js +27 -0
  4. package/build/components/dataform/index.js.map +1 -0
  5. package/build/components/dataviews/index.js +126 -0
  6. package/build/components/dataviews/index.js.map +1 -0
  7. package/build/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +42 -16
  8. package/build/components/dataviews-bulk-actions/index.js.map +1 -0
  9. package/build/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +36 -19
  10. package/build/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
  11. package/build/components/dataviews-context/index.js +36 -0
  12. package/build/components/dataviews-context/index.js.map +1 -0
  13. package/build/{add-filter.js → components/dataviews-filters/add-filter.js} +35 -18
  14. package/build/components/dataviews-filters/add-filter.js.map +1 -0
  15. package/build/{filter-summary.js → components/dataviews-filters/filter-summary.js} +9 -9
  16. package/build/components/dataviews-filters/filter-summary.js.map +1 -0
  17. package/build/components/dataviews-filters/index.js +164 -0
  18. package/build/components/dataviews-filters/index.js.map +1 -0
  19. package/build/components/dataviews-filters/reset-filters.js.map +1 -0
  20. package/build/{search-widget.js → components/dataviews-filters/search-widget.js} +13 -13
  21. package/build/components/dataviews-filters/search-widget.js.map +1 -0
  22. package/build/{item-actions.js → components/dataviews-item-actions/index.js} +2 -2
  23. package/build/components/dataviews-item-actions/index.js.map +1 -0
  24. package/build/components/dataviews-layout/index.js +53 -0
  25. package/build/components/dataviews-layout/index.js.map +1 -0
  26. package/build/{pagination.js → components/dataviews-pagination/index.js} +16 -13
  27. package/build/components/dataviews-pagination/index.js.map +1 -0
  28. package/build/{search.js → components/dataviews-search/index.js} +18 -11
  29. package/build/components/dataviews-search/index.js.map +1 -0
  30. package/build/{single-selection-checkbox.js → components/dataviews-selection-checkbox/index.js} +6 -6
  31. package/build/components/dataviews-selection-checkbox/index.js.map +1 -0
  32. package/build/components/dataviews-view-config/index.js +298 -0
  33. package/build/components/dataviews-view-config/index.js.map +1 -0
  34. package/build/constants.js +6 -1
  35. package/build/constants.js.map +1 -1
  36. package/build/dataforms-layouts/index.js +24 -0
  37. package/build/dataforms-layouts/index.js.map +1 -0
  38. package/build/dataforms-layouts/panel/index.js +129 -0
  39. package/build/dataforms-layouts/panel/index.js.map +1 -0
  40. package/build/dataforms-layouts/regular/index.js +39 -0
  41. package/build/dataforms-layouts/regular/index.js.map +1 -0
  42. package/build/dataviews-layouts/grid/density-picker.js +143 -0
  43. package/build/dataviews-layouts/grid/density-picker.js.map +1 -0
  44. package/build/{view-grid.js → dataviews-layouts/grid/index.js} +40 -41
  45. package/build/dataviews-layouts/grid/index.js.map +1 -0
  46. package/build/dataviews-layouts/index.js +52 -0
  47. package/build/dataviews-layouts/index.js.map +1 -0
  48. package/build/{view-list.js → dataviews-layouts/list/index.js} +26 -23
  49. package/build/dataviews-layouts/list/index.js.map +1 -0
  50. package/build/dataviews-layouts/table/column-header-menu.js +196 -0
  51. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -0
  52. package/build/dataviews-layouts/table/index.js +350 -0
  53. package/build/dataviews-layouts/table/index.js.map +1 -0
  54. package/build/field-types/index.js +46 -0
  55. package/build/field-types/index.js.map +1 -0
  56. package/build/field-types/integer.js +94 -0
  57. package/build/field-types/integer.js.map +1 -0
  58. package/build/field-types/text.js +87 -0
  59. package/build/field-types/text.js.map +1 -0
  60. package/build/filter-and-sort-data-view.js +2 -11
  61. package/build/filter-and-sort-data-view.js.map +1 -1
  62. package/build/index.js +11 -4
  63. package/build/index.js.map +1 -1
  64. package/build/normalize-fields.js +36 -2
  65. package/build/normalize-fields.js.map +1 -1
  66. package/build/types.js.map +1 -1
  67. package/build/validation.js +22 -0
  68. package/build/validation.js.map +1 -0
  69. package/build-module/components/dataform/index.js +21 -0
  70. package/build-module/components/dataform/index.js.map +1 -0
  71. package/build-module/components/dataviews/index.js +117 -0
  72. package/build-module/components/dataviews/index.js.map +1 -0
  73. package/build-module/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +42 -17
  74. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -0
  75. package/build-module/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +35 -19
  76. package/build-module/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
  77. package/build-module/components/dataviews-context/index.js +30 -0
  78. package/build-module/components/dataviews-context/index.js.map +1 -0
  79. package/build-module/{add-filter.js → components/dataviews-filters/add-filter.js} +34 -18
  80. package/build-module/components/dataviews-filters/add-filter.js.map +1 -0
  81. package/build-module/{filter-summary.js → components/dataviews-filters/filter-summary.js} +9 -9
  82. package/build-module/components/dataviews-filters/filter-summary.js.map +1 -0
  83. package/build-module/components/dataviews-filters/index.js +153 -0
  84. package/build-module/components/dataviews-filters/index.js.map +1 -0
  85. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -0
  86. package/build-module/{search-widget.js → components/dataviews-filters/search-widget.js} +13 -13
  87. package/build-module/components/dataviews-filters/search-widget.js.map +1 -0
  88. package/build-module/{item-actions.js → components/dataviews-item-actions/index.js} +2 -2
  89. package/build-module/components/dataviews-item-actions/index.js.map +1 -0
  90. package/build-module/components/dataviews-layout/index.js +45 -0
  91. package/build-module/components/dataviews-layout/index.js.map +1 -0
  92. package/build-module/{pagination.js → components/dataviews-pagination/index.js} +17 -15
  93. package/build-module/components/dataviews-pagination/index.js.map +1 -0
  94. package/build-module/{search.js → components/dataviews-search/index.js} +18 -12
  95. package/build-module/components/dataviews-search/index.js.map +1 -0
  96. package/build-module/{single-selection-checkbox.js → components/dataviews-selection-checkbox/index.js} +5 -5
  97. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -0
  98. package/build-module/components/dataviews-view-config/index.js +292 -0
  99. package/build-module/components/dataviews-view-config/index.js.map +1 -0
  100. package/build-module/constants.js +5 -0
  101. package/build-module/constants.js.map +1 -1
  102. package/build-module/dataforms-layouts/index.js +16 -0
  103. package/build-module/dataforms-layouts/index.js.map +1 -0
  104. package/build-module/dataforms-layouts/panel/index.js +124 -0
  105. package/build-module/dataforms-layouts/panel/index.js.map +1 -0
  106. package/build-module/dataforms-layouts/regular/index.js +32 -0
  107. package/build-module/dataforms-layouts/regular/index.js.map +1 -0
  108. package/build-module/dataviews-layouts/grid/density-picker.js +138 -0
  109. package/build-module/dataviews-layouts/grid/density-picker.js.map +1 -0
  110. package/build-module/{view-grid.js → dataviews-layouts/grid/index.js} +38 -39
  111. package/build-module/dataviews-layouts/grid/index.js.map +1 -0
  112. package/build-module/dataviews-layouts/index.js +43 -0
  113. package/build-module/dataviews-layouts/index.js.map +1 -0
  114. package/build-module/{view-list.js → dataviews-layouts/list/index.js} +24 -21
  115. package/build-module/dataviews-layouts/list/index.js.map +1 -0
  116. package/build-module/dataviews-layouts/table/column-header-menu.js +190 -0
  117. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -0
  118. package/build-module/dataviews-layouts/table/index.js +344 -0
  119. package/build-module/dataviews-layouts/table/index.js.map +1 -0
  120. package/build-module/field-types/index.js +40 -0
  121. package/build-module/field-types/index.js.map +1 -0
  122. package/build-module/field-types/integer.js +87 -0
  123. package/build-module/field-types/integer.js.map +1 -0
  124. package/build-module/field-types/text.js +80 -0
  125. package/build-module/field-types/text.js.map +1 -0
  126. package/build-module/filter-and-sort-data-view.js +2 -11
  127. package/build-module/filter-and-sort-data-view.js.map +1 -1
  128. package/build-module/index.js +4 -3
  129. package/build-module/index.js.map +1 -1
  130. package/build-module/normalize-fields.js +35 -3
  131. package/build-module/normalize-fields.js.map +1 -1
  132. package/build-module/types.js.map +1 -1
  133. package/build-module/validation.js +15 -0
  134. package/build-module/validation.js.map +1 -0
  135. package/build-style/style-rtl.css +763 -532
  136. package/build-style/style.css +763 -532
  137. package/build-types/components/dataform/index.d.ts +6 -0
  138. package/build-types/components/dataform/index.d.ts.map +1 -0
  139. package/build-types/components/dataform/stories/index.story.d.ts +22 -0
  140. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -0
  141. package/build-types/{dataviews.d.ts → components/dataviews/index.d.ts} +9 -7
  142. package/build-types/components/dataviews/index.d.ts.map +1 -0
  143. package/build-types/{stories → components/dataviews/stories}/fixtures.d.ts +13 -19
  144. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -0
  145. package/build-types/components/dataviews/stories/index.story.d.ts +46 -0
  146. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -0
  147. package/build-types/components/dataviews-bulk-actions/index.d.ts +5 -0
  148. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -0
  149. package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts +2 -0
  150. package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts.map +1 -0
  151. package/build-types/components/dataviews-context/index.d.ts +26 -0
  152. package/build-types/components/dataviews-context/index.d.ts.map +1 -0
  153. package/build-types/{add-filter.d.ts → components/dataviews-filters/add-filter.d.ts} +4 -2
  154. package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -0
  155. package/build-types/{filter-summary.d.ts → components/dataviews-filters/filter-summary.d.ts} +1 -1
  156. package/build-types/components/dataviews-filters/filter-summary.d.ts.map +1 -0
  157. package/build-types/components/dataviews-filters/index.d.ts +14 -0
  158. package/build-types/components/dataviews-filters/index.d.ts.map +1 -0
  159. package/build-types/{reset-filters.d.ts → components/dataviews-filters/reset-filters.d.ts} +1 -2
  160. package/build-types/components/dataviews-filters/reset-filters.d.ts.map +1 -0
  161. package/build-types/{search-widget.d.ts → components/dataviews-filters/search-widget.d.ts} +1 -2
  162. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -0
  163. package/build-types/{item-actions.d.ts → components/dataviews-item-actions/index.d.ts} +2 -2
  164. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -0
  165. package/build-types/components/dataviews-layout/index.d.ts +2 -0
  166. package/build-types/components/dataviews-layout/index.d.ts.map +1 -0
  167. package/build-types/components/dataviews-pagination/index.d.ts +4 -0
  168. package/build-types/components/dataviews-pagination/index.d.ts.map +1 -0
  169. package/build-types/components/dataviews-search/index.d.ts +6 -0
  170. package/build-types/components/dataviews-search/index.d.ts.map +1 -0
  171. package/build-types/components/dataviews-selection-checkbox/index.d.ts +16 -0
  172. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -0
  173. package/build-types/components/dataviews-view-config/index.d.ts +8 -0
  174. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -0
  175. package/build-types/constants.d.ts +4 -0
  176. package/build-types/constants.d.ts.map +1 -1
  177. package/build-types/dataforms-layouts/index.d.ts +9 -0
  178. package/build-types/dataforms-layouts/index.d.ts.map +1 -0
  179. package/build-types/dataforms-layouts/panel/index.d.ts +3 -0
  180. package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -0
  181. package/build-types/dataforms-layouts/regular/index.d.ts +3 -0
  182. package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -0
  183. package/build-types/dataviews-layouts/grid/density-picker.d.ts +5 -0
  184. package/build-types/dataviews-layouts/grid/density-picker.d.ts.map +1 -0
  185. package/build-types/dataviews-layouts/grid/index.d.ts +3 -0
  186. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -0
  187. package/build-types/{layouts.d.ts → dataviews-layouts/index.d.ts} +6 -5
  188. package/build-types/dataviews-layouts/index.d.ts.map +1 -0
  189. package/build-types/dataviews-layouts/list/index.d.ts +3 -0
  190. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -0
  191. package/build-types/dataviews-layouts/table/column-header-menu.d.ts +17 -0
  192. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -0
  193. package/build-types/dataviews-layouts/table/index.d.ts +4 -0
  194. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -0
  195. package/build-types/field-types/index.d.ts +20 -0
  196. package/build-types/field-types/index.d.ts.map +1 -0
  197. package/build-types/field-types/integer.d.ts +14 -0
  198. package/build-types/field-types/integer.d.ts.map +1 -0
  199. package/build-types/field-types/text.d.ts +14 -0
  200. package/build-types/field-types/text.d.ts.map +1 -0
  201. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  202. package/build-types/index.d.ts +4 -3
  203. package/build-types/index.d.ts.map +1 -1
  204. package/build-types/normalize-fields.d.ts +0 -3
  205. package/build-types/normalize-fields.d.ts.map +1 -1
  206. package/build-types/types.d.ts +73 -19
  207. package/build-types/types.d.ts.map +1 -1
  208. package/build-types/validation.d.ts +3 -0
  209. package/build-types/validation.d.ts.map +1 -0
  210. package/package.json +12 -11
  211. package/src/components/dataform/index.tsx +17 -0
  212. package/src/components/dataform/stories/index.story.tsx +79 -0
  213. package/src/components/dataviews/index.tsx +161 -0
  214. package/src/{stories → components/dataviews/stories}/fixtures.js +8 -11
  215. package/src/{stories → components/dataviews/stories}/index.story.js +17 -3
  216. package/src/components/dataviews/style.scss +100 -0
  217. package/src/{bulk-actions.tsx → components/dataviews-bulk-actions/index.tsx} +51 -29
  218. package/src/components/dataviews-bulk-actions/style.scss +7 -0
  219. package/src/{bulk-actions-toolbar.tsx → components/dataviews-bulk-actions-toolbar/index.tsx} +42 -30
  220. package/src/components/dataviews-bulk-actions-toolbar/style.scss +45 -0
  221. package/src/components/dataviews-context/index.ts +49 -0
  222. package/src/{add-filter.tsx → components/dataviews-filters/add-filter.tsx} +39 -23
  223. package/src/{filter-summary.tsx → components/dataviews-filters/filter-summary.tsx} +18 -10
  224. package/src/components/dataviews-filters/index.tsx +199 -0
  225. package/src/{reset-filters.tsx → components/dataviews-filters/reset-filters.tsx} +1 -1
  226. package/src/{search-widget.tsx → components/dataviews-filters/search-widget.tsx} +14 -14
  227. package/src/components/dataviews-filters/style.scss +282 -0
  228. package/src/{item-actions.tsx → components/dataviews-item-actions/index.tsx} +2 -2
  229. package/src/components/dataviews-item-actions/style.scss +3 -0
  230. package/src/components/dataviews-layout/index.tsx +51 -0
  231. package/src/{pagination.tsx → components/dataviews-pagination/index.tsx} +13 -21
  232. package/src/components/dataviews-pagination/style.scss +26 -0
  233. package/src/{search.tsx → components/dataviews-search/index.tsx} +13 -15
  234. package/src/{single-selection-checkbox.tsx → components/dataviews-selection-checkbox/index.tsx} +9 -9
  235. package/src/components/dataviews-selection-checkbox/style.scss +14 -0
  236. package/src/components/dataviews-view-config/index.tsx +358 -0
  237. package/src/components/dataviews-view-config/style.scss +44 -0
  238. package/src/constants.ts +5 -0
  239. package/src/dataforms-layouts/index.tsx +20 -0
  240. package/src/dataforms-layouts/panel/index.tsx +164 -0
  241. package/src/dataforms-layouts/panel/style.scss +59 -0
  242. package/src/dataforms-layouts/regular/index.tsx +41 -0
  243. package/src/dataviews-layouts/grid/density-picker.tsx +136 -0
  244. package/src/{view-grid.tsx → dataviews-layouts/grid/index.tsx} +35 -36
  245. package/src/dataviews-layouts/grid/style.scss +169 -0
  246. package/src/dataviews-layouts/index.ts +66 -0
  247. package/src/{view-list.tsx → dataviews-layouts/list/index.tsx} +30 -17
  248. package/src/dataviews-layouts/list/style.scss +192 -0
  249. package/src/dataviews-layouts/table/column-header-menu.tsx +268 -0
  250. package/src/dataviews-layouts/table/index.tsx +471 -0
  251. package/src/dataviews-layouts/table/style.scss +201 -0
  252. package/src/field-types/index.tsx +45 -0
  253. package/src/field-types/integer.tsx +103 -0
  254. package/src/field-types/text.tsx +95 -0
  255. package/src/filter-and-sort-data-view.ts +1 -15
  256. package/src/index.ts +4 -3
  257. package/src/normalize-fields.ts +45 -4
  258. package/src/style.scss +14 -907
  259. package/src/test/filter-and-sort-data-view.js +47 -4
  260. package/src/test/validation.ts +131 -0
  261. package/src/types.ts +88 -17
  262. package/src/validation.ts +18 -0
  263. package/tsconfig.json +2 -1
  264. package/tsconfig.tsbuildinfo +1 -1
  265. package/build/add-filter.js.map +0 -1
  266. package/build/bulk-actions-toolbar.js.map +0 -1
  267. package/build/bulk-actions.js.map +0 -1
  268. package/build/dataform.js +0 -78
  269. package/build/dataform.js.map +0 -1
  270. package/build/dataviews.js +0 -125
  271. package/build/dataviews.js.map +0 -1
  272. package/build/filter-summary.js.map +0 -1
  273. package/build/filters.js +0 -102
  274. package/build/filters.js.map +0 -1
  275. package/build/item-actions.js.map +0 -1
  276. package/build/layouts.js +0 -38
  277. package/build/layouts.js.map +0 -1
  278. package/build/pagination.js.map +0 -1
  279. package/build/reset-filters.js.map +0 -1
  280. package/build/search-widget.js.map +0 -1
  281. package/build/search.js.map +0 -1
  282. package/build/single-selection-checkbox.js.map +0 -1
  283. package/build/view-actions.js +0 -260
  284. package/build/view-actions.js.map +0 -1
  285. package/build/view-grid.js.map +0 -1
  286. package/build/view-list.js.map +0 -1
  287. package/build/view-table.js +0 -400
  288. package/build/view-table.js.map +0 -1
  289. package/build-module/add-filter.js.map +0 -1
  290. package/build-module/bulk-actions-toolbar.js.map +0 -1
  291. package/build-module/bulk-actions.js.map +0 -1
  292. package/build-module/dataform.js +0 -72
  293. package/build-module/dataform.js.map +0 -1
  294. package/build-module/dataviews.js +0 -116
  295. package/build-module/dataviews.js.map +0 -1
  296. package/build-module/filter-summary.js.map +0 -1
  297. package/build-module/filters.js +0 -94
  298. package/build-module/filters.js.map +0 -1
  299. package/build-module/item-actions.js.map +0 -1
  300. package/build-module/layouts.js +0 -30
  301. package/build-module/layouts.js.map +0 -1
  302. package/build-module/pagination.js.map +0 -1
  303. package/build-module/reset-filters.js.map +0 -1
  304. package/build-module/search-widget.js.map +0 -1
  305. package/build-module/search.js.map +0 -1
  306. package/build-module/single-selection-checkbox.js.map +0 -1
  307. package/build-module/view-actions.js +0 -255
  308. package/build-module/view-actions.js.map +0 -1
  309. package/build-module/view-grid.js.map +0 -1
  310. package/build-module/view-list.js.map +0 -1
  311. package/build-module/view-table.js +0 -393
  312. package/build-module/view-table.js.map +0 -1
  313. package/build-types/add-filter.d.ts.map +0 -1
  314. package/build-types/bulk-actions-toolbar.d.ts +0 -13
  315. package/build-types/bulk-actions-toolbar.d.ts.map +0 -1
  316. package/build-types/bulk-actions.d.ts +0 -15
  317. package/build-types/bulk-actions.d.ts.map +0 -1
  318. package/build-types/dataform.d.ts +0 -17
  319. package/build-types/dataform.d.ts.map +0 -1
  320. package/build-types/dataviews.d.ts.map +0 -1
  321. package/build-types/filter-summary.d.ts.map +0 -1
  322. package/build-types/filters.d.ts +0 -13
  323. package/build-types/filters.d.ts.map +0 -1
  324. package/build-types/item-actions.d.ts.map +0 -1
  325. package/build-types/layouts.d.ts.map +0 -1
  326. package/build-types/pagination.d.ts +0 -16
  327. package/build-types/pagination.d.ts.map +0 -1
  328. package/build-types/reset-filters.d.ts.map +0 -1
  329. package/build-types/search-widget.d.ts.map +0 -1
  330. package/build-types/search.d.ts +0 -13
  331. package/build-types/search.d.ts.map +0 -1
  332. package/build-types/single-selection-checkbox.d.ts +0 -17
  333. package/build-types/single-selection-checkbox.d.ts.map +0 -1
  334. package/build-types/stories/fixtures.d.ts.map +0 -1
  335. package/build-types/stories/index.story.d.ts +0 -29
  336. package/build-types/stories/index.story.d.ts.map +0 -1
  337. package/build-types/view-actions.d.ts +0 -12
  338. package/build-types/view-actions.d.ts.map +0 -1
  339. package/build-types/view-grid.d.ts +0 -4
  340. package/build-types/view-grid.d.ts.map +0 -1
  341. package/build-types/view-list.d.ts +0 -4
  342. package/build-types/view-list.d.ts.map +0 -1
  343. package/build-types/view-table.d.ts +0 -5
  344. package/build-types/view-table.d.ts.map +0 -1
  345. package/src/dataform.tsx +0 -106
  346. package/src/dataviews.tsx +0 -183
  347. package/src/filters.tsx +0 -125
  348. package/src/layouts.ts +0 -39
  349. package/src/view-actions.tsx +0 -350
  350. package/src/view-table.tsx +0 -592
  351. /package/build/{reset-filters.js → components/dataviews-filters/reset-filters.js} +0 -0
  352. /package/build-module/{reset-filters.js → components/dataviews-filters/reset-filters.js} +0 -0
@@ -1,29 +0,0 @@
1
- export default meta;
2
- export function Default(props: any): import("react").JSX.Element;
3
- export namespace Default {
4
- namespace args {
5
- export { actions };
6
- export namespace defaultLayouts {
7
- namespace table {
8
- namespace layout {
9
- let primaryField: string;
10
- }
11
- }
12
- namespace grid {
13
- export namespace layout_1 {
14
- export let mediaField: string;
15
- let primaryField_1: string;
16
- export { primaryField_1 as primaryField };
17
- }
18
- export { layout_1 as layout };
19
- }
20
- }
21
- }
22
- }
23
- declare namespace meta {
24
- export let title: string;
25
- export { DataViews as component };
26
- }
27
- import { actions } from './fixtures';
28
- import { DataViews } from '../index';
29
- //# sourceMappingURL=index.story.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.story.d.ts","sourceRoot":"","sources":["../../src/stories/index.story.js"],"names":[],"mappings":";AAmBO,iEAeN;;;;;;;;;;;;;;;;;;;;;;;;;wBAzBmD,YAAY;0BADtC,UAAU"}
@@ -1,12 +0,0 @@
1
- /// <reference types="react" />
2
- import type { NormalizedField, View, SupportedLayouts } from './types';
3
- interface ViewActionsProps<Item> {
4
- fields: NormalizedField<Item>[];
5
- view: View;
6
- onChangeView: (view: View) => void;
7
- defaultLayouts?: SupportedLayouts;
8
- }
9
- declare function _ViewActions<Item>({ fields, view, onChangeView, defaultLayouts, }: ViewActionsProps<Item>): import("react").JSX.Element;
10
- declare const ViewActions: typeof _ViewActions;
11
- export default ViewActions;
12
- //# sourceMappingURL=view-actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-actions.d.ts","sourceRoot":"","sources":["../src/view-actions.tsx"],"names":[],"mappings":";AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkCvE,UAAU,gBAAgB,CAAE,IAAI;IAC/B,MAAM,EAAE,eAAe,CAAE,IAAI,CAAE,EAAE,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,gBAAgB,CAAC;CAClC;AA6ND,iBAAS,YAAY,CAAE,IAAI,EAAI,EAC9B,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,cAAc,GACd,EAAE,gBAAgB,CAAE,IAAI,CAAE,+BAwD1B;AAGD,QAAA,MAAM,WAAW,qBAA8C,CAAC;AAEhE,eAAe,WAAW,CAAC"}
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import type { ViewGridProps } from './types';
3
- export default function ViewGrid<Item>({ actions, data, fields, getItemId, isLoading, onSelectionChange, selection, view, }: ViewGridProps<Item>): import("react").JSX.Element;
4
- //# sourceMappingURL=view-grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-grid.d.ts","sourceRoot":"","sources":["../src/view-grid.tsx"],"names":[],"mappings":";AAwBA,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,SAAS,CAAC;AAmJtE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,IAAI,EAAI,EACzC,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,IAAI,GACJ,EAAE,aAAa,CAAE,IAAI,CAAE,+BAuEvB"}
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import type { ViewListProps } from './types';
3
- export default function ViewList<Item>(props: ViewListProps<Item>): import("react").JSX.Element;
4
- //# sourceMappingURL=view-list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-list.d.ts","sourceRoot":"","sources":["../src/view-list.tsx"],"names":[],"mappings":";AAmCA,OAAO,KAAK,EAA2B,aAAa,EAAE,MAAM,SAAS,CAAC;AA8QtE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,IAAI,EAAI,KAAK,EAAE,aAAa,CAAE,IAAI,CAAE,+BAyGrE"}
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- import type { ViewTableProps } from './types';
3
- declare function ViewTable<Item>({ actions, data, fields, getItemId, isLoading, onChangeView, onSelectionChange, selection, setOpenedFilter, view, }: ViewTableProps<Item>): import("react").JSX.Element | undefined;
4
- export default ViewTable;
5
- //# sourceMappingURL=view-table.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-table.d.ts","sourceRoot":"","sources":["../src/view-table.tsx"],"names":[],"mappings":";AA8CA,OAAO,KAAK,EAKX,cAAc,EACd,MAAM,SAAS,CAAC;AA0WjB,iBAAS,SAAS,CAAE,IAAI,EAAI,EAC3B,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,IAAI,GACJ,EAAE,cAAc,CAAE,IAAI,CAAE,2CAoKxB;AAED,eAAe,SAAS,CAAC"}
package/src/dataform.tsx DELETED
@@ -1,106 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import type { Dispatch, SetStateAction } from 'react';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { TextControl } from '@wordpress/components';
10
- import { useCallback, useMemo } from '@wordpress/element';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import type { Form, Field, NormalizedField } from './types';
16
- import { normalizeFields } from './normalize-fields';
17
-
18
- type DataFormProps< Item > = {
19
- data: Item;
20
- fields: Field< Item >[];
21
- form: Form;
22
- onChange: Dispatch< SetStateAction< Item > >;
23
- };
24
-
25
- type DataFormControlProps< Item > = {
26
- data: Item;
27
- field: NormalizedField< Item >;
28
- onChange: Dispatch< SetStateAction< Item > >;
29
- };
30
-
31
- function DataFormTextControl< Item >( {
32
- data,
33
- field,
34
- onChange,
35
- }: DataFormControlProps< Item > ) {
36
- const { id, header, placeholder } = field;
37
- const value = field.getValue( { item: data } );
38
-
39
- const onChangeControl = useCallback(
40
- ( newValue: string ) =>
41
- onChange( ( prevItem: Item ) => ( {
42
- ...prevItem,
43
- [ id ]: newValue,
44
- } ) ),
45
- [ id, onChange ]
46
- );
47
-
48
- return (
49
- <TextControl
50
- label={ header }
51
- placeholder={ placeholder }
52
- value={ value }
53
- onChange={ onChangeControl }
54
- __next40pxDefaultSize
55
- />
56
- );
57
- }
58
-
59
- const controls: {
60
- [ key: string ]: < Item >(
61
- props: DataFormControlProps< Item >
62
- ) => JSX.Element;
63
- } = {
64
- text: DataFormTextControl,
65
- };
66
-
67
- function getControlForField< Item >( field: NormalizedField< Item > ) {
68
- if ( ! field.type ) {
69
- return null;
70
- }
71
-
72
- if ( ! Object.keys( controls ).includes( field.type ) ) {
73
- return null;
74
- }
75
-
76
- return controls[ field.type ];
77
- }
78
-
79
- export default function DataForm< Item >( {
80
- data,
81
- fields,
82
- form,
83
- onChange,
84
- }: DataFormProps< Item > ) {
85
- const visibleFields = useMemo(
86
- () =>
87
- normalizeFields(
88
- fields.filter(
89
- ( { id } ) => !! form.visibleFields?.includes( id )
90
- )
91
- ),
92
- [ fields, form.visibleFields ]
93
- );
94
-
95
- return visibleFields.map( ( field ) => {
96
- const DataFormControl = getControlForField( field );
97
- return DataFormControl ? (
98
- <DataFormControl
99
- key={ field.id }
100
- data={ data }
101
- field={ field }
102
- onChange={ onChange }
103
- />
104
- ) : null;
105
- } );
106
- }
package/src/dataviews.tsx DELETED
@@ -1,183 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import type { ComponentType } from 'react';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { __experimentalHStack as HStack } from '@wordpress/components';
10
- import { useMemo, useState } from '@wordpress/element';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import Pagination from './pagination';
16
- import ViewActions from './view-actions';
17
- import Filters from './filters';
18
- import Search from './search';
19
- import { LAYOUT_TABLE, LAYOUT_GRID } from './constants';
20
- import { VIEW_LAYOUTS } from './layouts';
21
- import {
22
- default as BulkActions,
23
- useSomeItemHasAPossibleBulkAction,
24
- } from './bulk-actions';
25
- import { normalizeFields } from './normalize-fields';
26
- import BulkActionsToolbar from './bulk-actions-toolbar';
27
- import type {
28
- Action,
29
- Field,
30
- View,
31
- ViewBaseProps,
32
- SupportedLayouts,
33
- } from './types';
34
- import type { SetSelection, SelectionOrUpdater } from './private-types';
35
-
36
- type ItemWithId = { id: string };
37
-
38
- type DataViewsProps< Item > = {
39
- view: View;
40
- onChangeView: ( view: View ) => void;
41
- fields: Field< Item >[];
42
- search?: boolean;
43
- searchLabel?: string;
44
- actions?: Action< Item >[];
45
- data: Item[];
46
- isLoading?: boolean;
47
- paginationInfo: {
48
- totalItems: number;
49
- totalPages: number;
50
- };
51
- defaultLayouts: SupportedLayouts;
52
- selection?: string[];
53
- setSelection?: SetSelection;
54
- onSelectionChange?: ( items: Item[] ) => void;
55
- } & ( Item extends ItemWithId
56
- ? { getItemId?: ( item: Item ) => string }
57
- : { getItemId: ( item: Item ) => string } );
58
-
59
- const defaultGetItemId = ( item: ItemWithId ) => item.id;
60
-
61
- const defaultOnSelectionChange = () => {};
62
-
63
- export default function DataViews< Item >( {
64
- view,
65
- onChangeView,
66
- fields,
67
- search = true,
68
- searchLabel = undefined,
69
- actions = [],
70
- data,
71
- getItemId = defaultGetItemId,
72
- isLoading = false,
73
- paginationInfo,
74
- defaultLayouts,
75
- selection: selectionProperty,
76
- setSelection: setSelectionProperty,
77
- onSelectionChange = defaultOnSelectionChange,
78
- }: DataViewsProps< Item > ) {
79
- const [ selectionState, setSelectionState ] = useState< string[] >( [] );
80
- const isUncontrolled =
81
- selectionProperty === undefined || setSelectionProperty === undefined;
82
- const selection = isUncontrolled ? selectionState : selectionProperty;
83
- const setSelection = isUncontrolled
84
- ? setSelectionState
85
- : setSelectionProperty;
86
- const [ openedFilter, setOpenedFilter ] = useState< string | null >( null );
87
-
88
- function setSelectionWithChange( value: SelectionOrUpdater ) {
89
- const newValue =
90
- typeof value === 'function' ? value( selection ) : value;
91
- onSelectionChange(
92
- data.filter( ( item ) => newValue.includes( getItemId( item ) ) )
93
- );
94
- return setSelection( value );
95
- }
96
-
97
- const ViewComponent = VIEW_LAYOUTS.find( ( v ) => v.type === view.type )
98
- ?.component as ComponentType< ViewBaseProps< Item > >;
99
- const _fields = useMemo( () => normalizeFields( fields ), [ fields ] );
100
-
101
- const hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(
102
- actions,
103
- data
104
- );
105
- const _selection = useMemo( () => {
106
- return selection.filter( ( id ) =>
107
- data.some( ( item ) => getItemId( item ) === id )
108
- );
109
- }, [ selection, data, getItemId ] );
110
- return (
111
- <div className="dataviews-wrapper">
112
- <HStack
113
- alignment="top"
114
- justify="start"
115
- className="dataviews-filters__view-actions"
116
- >
117
- <HStack
118
- justify="start"
119
- className="dataviews-filters__container"
120
- wrap
121
- >
122
- { search && (
123
- <Search
124
- label={ searchLabel }
125
- view={ view }
126
- onChangeView={ onChangeView }
127
- />
128
- ) }
129
- <Filters
130
- fields={ _fields }
131
- view={ view }
132
- onChangeView={ onChangeView }
133
- openedFilter={ openedFilter }
134
- setOpenedFilter={ setOpenedFilter }
135
- />
136
- </HStack>
137
- { [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&
138
- hasPossibleBulkAction && (
139
- <BulkActions
140
- actions={ actions }
141
- data={ data }
142
- onSelectionChange={ setSelectionWithChange }
143
- selection={ _selection }
144
- getItemId={ getItemId }
145
- />
146
- ) }
147
- <ViewActions
148
- fields={ _fields }
149
- view={ view }
150
- onChangeView={ onChangeView }
151
- defaultLayouts={ defaultLayouts }
152
- />
153
- </HStack>
154
- <ViewComponent
155
- actions={ actions }
156
- data={ data }
157
- fields={ _fields }
158
- getItemId={ getItemId }
159
- isLoading={ isLoading }
160
- onChangeView={ onChangeView }
161
- onSelectionChange={ setSelectionWithChange }
162
- selection={ _selection }
163
- setOpenedFilter={ setOpenedFilter }
164
- view={ view }
165
- />
166
- <Pagination
167
- view={ view }
168
- onChangeView={ onChangeView }
169
- paginationInfo={ paginationInfo }
170
- />
171
- { [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&
172
- hasPossibleBulkAction && (
173
- <BulkActionsToolbar
174
- data={ data }
175
- actions={ actions }
176
- selection={ _selection }
177
- onSelectionChange={ setSelectionWithChange }
178
- getItemId={ getItemId }
179
- />
180
- ) }
181
- </div>
182
- );
183
- }
package/src/filters.tsx DELETED
@@ -1,125 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { memo, useRef } from '@wordpress/element';
5
- import { __experimentalHStack as HStack } from '@wordpress/components';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import FilterSummary from './filter-summary';
11
- import AddFilter from './add-filter';
12
- import ResetFilters from './reset-filters';
13
- import { sanitizeOperators } from './utils';
14
- import { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from './constants';
15
- import type { NormalizedField, NormalizedFilter, View } from './types';
16
-
17
- interface FiltersProps< Item > {
18
- fields: NormalizedField< Item >[];
19
- view: View;
20
- onChangeView: ( view: View ) => void;
21
- openedFilter: string | null;
22
- setOpenedFilter: ( openedFilter: string | null ) => void;
23
- }
24
-
25
- function _Filters< Item >( {
26
- fields,
27
- view,
28
- onChangeView,
29
- openedFilter,
30
- setOpenedFilter,
31
- }: FiltersProps< Item > ) {
32
- const addFilterRef = useRef< HTMLButtonElement >( null );
33
- const filters: NormalizedFilter[] = [];
34
- fields.forEach( ( field ) => {
35
- if ( ! field.elements?.length ) {
36
- return;
37
- }
38
-
39
- const operators = sanitizeOperators( field );
40
- if ( operators.length === 0 ) {
41
- return;
42
- }
43
-
44
- const isPrimary = !! field.filterBy?.isPrimary;
45
- filters.push( {
46
- field: field.id,
47
- name: field.header,
48
- elements: field.elements,
49
- singleSelection: operators.some( ( op ) =>
50
- [ OPERATOR_IS, OPERATOR_IS_NOT ].includes( op )
51
- ),
52
- operators,
53
- isVisible:
54
- isPrimary ||
55
- !! view.filters?.some(
56
- ( f ) =>
57
- f.field === field.id &&
58
- ALL_OPERATORS.includes( f.operator )
59
- ),
60
- isPrimary,
61
- } );
62
- } );
63
- // Sort filters by primary property. We need the primary filters to be first.
64
- // Then we sort by name.
65
- filters.sort( ( a, b ) => {
66
- if ( a.isPrimary && ! b.isPrimary ) {
67
- return -1;
68
- }
69
- if ( ! a.isPrimary && b.isPrimary ) {
70
- return 1;
71
- }
72
- return a.name.localeCompare( b.name );
73
- } );
74
- const addFilter = (
75
- <AddFilter
76
- key="add-filter"
77
- filters={ filters }
78
- view={ view }
79
- onChangeView={ onChangeView }
80
- ref={ addFilterRef }
81
- setOpenedFilter={ setOpenedFilter }
82
- />
83
- );
84
- const filterComponents = [
85
- ...filters.map( ( filter ) => {
86
- if ( ! filter.isVisible ) {
87
- return null;
88
- }
89
-
90
- return (
91
- <FilterSummary
92
- key={ filter.field }
93
- filter={ filter }
94
- view={ view }
95
- onChangeView={ onChangeView }
96
- addFilterRef={ addFilterRef }
97
- openedFilter={ openedFilter }
98
- />
99
- );
100
- } ),
101
- addFilter,
102
- ];
103
-
104
- if ( filterComponents.length > 1 ) {
105
- filterComponents.push(
106
- <ResetFilters
107
- key="reset-filters"
108
- filters={ filters }
109
- view={ view }
110
- onChangeView={ onChangeView }
111
- />
112
- );
113
- }
114
-
115
- return (
116
- <HStack justify="flex-start" style={ { width: 'fit-content' } } wrap>
117
- { filterComponents }
118
- </HStack>
119
- );
120
- }
121
-
122
- // A type assertion is used here to keep the type argument.
123
- const Filters = memo( _Filters ) as typeof _Filters;
124
-
125
- export default Filters;
package/src/layouts.ts DELETED
@@ -1,39 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __, isRTL } from '@wordpress/i18n';
5
- import {
6
- blockTable,
7
- category,
8
- formatListBullets,
9
- formatListBulletsRTL,
10
- } from '@wordpress/icons';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import ViewTable from './view-table';
16
- import ViewGrid from './view-grid';
17
- import ViewList from './view-list';
18
- import { LAYOUT_GRID, LAYOUT_LIST, LAYOUT_TABLE } from './constants';
19
-
20
- export const VIEW_LAYOUTS = [
21
- {
22
- type: LAYOUT_TABLE,
23
- label: __( 'Table' ),
24
- component: ViewTable,
25
- icon: blockTable,
26
- },
27
- {
28
- type: LAYOUT_GRID,
29
- label: __( 'Grid' ),
30
- component: ViewGrid,
31
- icon: category,
32
- },
33
- {
34
- type: LAYOUT_LIST,
35
- label: __( 'List' ),
36
- component: ViewList,
37
- icon: isRTL() ? formatListBulletsRTL : formatListBullets,
38
- },
39
- ];