@wordpress/dataviews 2.2.0 → 4.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 (298) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +23 -8
  3. package/build/components/dataform/index.js +78 -0
  4. package/build/components/dataform/index.js.map +1 -0
  5. package/build/components/dataviews/index.js +115 -0
  6. package/build/components/dataviews/index.js.map +1 -0
  7. package/build/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -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 -20
  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} +3 -3
  14. package/build/components/dataviews-filters/add-filter.js.map +1 -0
  15. package/build/{filter-summary.js → components/dataviews-filters/filter-summary.js} +15 -14
  16. package/build/components/dataviews-filters/filter-summary.js.map +1 -0
  17. package/build/{filters.js → components/dataviews-filters/index.js} +15 -16
  18. package/build/components/dataviews-filters/index.js.map +1 -0
  19. package/build/{reset-filters.js → components/dataviews-filters/reset-filters.js} +1 -1
  20. package/build/components/dataviews-filters/reset-filters.js.map +1 -0
  21. package/build/{search-widget.js → components/dataviews-filters/search-widget.js} +21 -19
  22. package/build/components/dataviews-filters/search-widget.js.map +1 -0
  23. package/build/{item-actions.js → components/dataviews-item-actions/index.js} +3 -3
  24. package/build/components/dataviews-item-actions/index.js.map +1 -0
  25. package/build/components/dataviews-layout/index.js +53 -0
  26. package/build/components/dataviews-layout/index.js.map +1 -0
  27. package/build/{pagination.js → components/dataviews-pagination/index.js} +18 -15
  28. package/build/components/dataviews-pagination/index.js.map +1 -0
  29. package/build/{search.js → components/dataviews-search/index.js} +10 -6
  30. package/build/components/dataviews-search/index.js.map +1 -0
  31. package/build/components/dataviews-selection-checkbox/index.js +52 -0
  32. package/build/components/dataviews-selection-checkbox/index.js.map +1 -0
  33. package/build/{view-actions.js → components/dataviews-view-config/index.js} +94 -80
  34. package/build/components/dataviews-view-config/index.js.map +1 -0
  35. package/build/filter-and-sort-data-view.js +4 -1
  36. package/build/filter-and-sort-data-view.js.map +1 -1
  37. package/build/index.js +8 -1
  38. package/build/index.js.map +1 -1
  39. package/build/layouts/grid/density-picker.js +143 -0
  40. package/build/layouts/grid/density-picker.js.map +1 -0
  41. package/build/{view-grid.js → layouts/grid/index.js} +40 -53
  42. package/build/layouts/grid/index.js.map +1 -0
  43. package/build/layouts/index.js +52 -0
  44. package/build/layouts/index.js.map +1 -0
  45. package/build/{view-list.js → layouts/list/index.js} +31 -27
  46. package/build/layouts/list/index.js.map +1 -0
  47. package/build/layouts/table/column-header-menu.js +196 -0
  48. package/build/layouts/table/column-header-menu.js.map +1 -0
  49. package/build/layouts/table/index.js +350 -0
  50. package/build/layouts/table/index.js.map +1 -0
  51. package/build/normalize-fields.js +1 -1
  52. package/build/normalize-fields.js.map +1 -1
  53. package/build/private-types.js +6 -0
  54. package/build/private-types.js.map +1 -0
  55. package/build/types.js.map +1 -1
  56. package/build/utils.js.map +1 -1
  57. package/build-module/components/dataform/index.js +72 -0
  58. package/build-module/components/dataform/index.js.map +1 -0
  59. package/build-module/components/dataviews/index.js +108 -0
  60. package/build-module/components/dataviews/index.js.map +1 -0
  61. package/build-module/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -17
  62. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -0
  63. package/build-module/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +35 -20
  64. package/build-module/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
  65. package/build-module/components/dataviews-context/index.js +30 -0
  66. package/build-module/components/dataviews-context/index.js.map +1 -0
  67. package/build-module/{add-filter.js → components/dataviews-filters/add-filter.js} +3 -3
  68. package/build-module/components/dataviews-filters/add-filter.js.map +1 -0
  69. package/build-module/{filter-summary.js → components/dataviews-filters/filter-summary.js} +15 -14
  70. package/build-module/components/dataviews-filters/filter-summary.js.map +1 -0
  71. package/build-module/{filters.js → components/dataviews-filters/index.js} +16 -17
  72. package/build-module/components/dataviews-filters/index.js.map +1 -0
  73. package/build-module/{reset-filters.js → components/dataviews-filters/reset-filters.js} +1 -1
  74. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -0
  75. package/build-module/{search-widget.js → components/dataviews-filters/search-widget.js} +21 -19
  76. package/build-module/components/dataviews-filters/search-widget.js.map +1 -0
  77. package/build-module/{item-actions.js → components/dataviews-item-actions/index.js} +3 -3
  78. package/build-module/components/dataviews-item-actions/index.js.map +1 -0
  79. package/build-module/components/dataviews-layout/index.js +45 -0
  80. package/build-module/components/dataviews-layout/index.js.map +1 -0
  81. package/build-module/{pagination.js → components/dataviews-pagination/index.js} +19 -17
  82. package/build-module/components/dataviews-pagination/index.js.map +1 -0
  83. package/build-module/{search.js → components/dataviews-search/index.js} +10 -7
  84. package/build-module/components/dataviews-search/index.js.map +1 -0
  85. package/build-module/components/dataviews-selection-checkbox/index.js +45 -0
  86. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -0
  87. package/build-module/{view-actions.js → components/dataviews-view-config/index.js} +98 -84
  88. package/build-module/components/dataviews-view-config/index.js.map +1 -0
  89. package/build-module/filter-and-sort-data-view.js +4 -1
  90. package/build-module/filter-and-sort-data-view.js.map +1 -1
  91. package/build-module/index.js +2 -1
  92. package/build-module/index.js.map +1 -1
  93. package/build-module/layouts/grid/density-picker.js +138 -0
  94. package/build-module/layouts/grid/density-picker.js.map +1 -0
  95. package/build-module/{view-grid.js → layouts/grid/index.js} +37 -50
  96. package/build-module/layouts/grid/index.js.map +1 -0
  97. package/build-module/layouts/index.js +43 -0
  98. package/build-module/layouts/index.js.map +1 -0
  99. package/build-module/{view-list.js → layouts/list/index.js} +29 -25
  100. package/build-module/layouts/list/index.js.map +1 -0
  101. package/build-module/layouts/table/column-header-menu.js +190 -0
  102. package/build-module/layouts/table/column-header-menu.js.map +1 -0
  103. package/build-module/layouts/table/index.js +344 -0
  104. package/build-module/layouts/table/index.js.map +1 -0
  105. package/build-module/normalize-fields.js +1 -1
  106. package/build-module/normalize-fields.js.map +1 -1
  107. package/build-module/private-types.js +2 -0
  108. package/build-module/private-types.js.map +1 -0
  109. package/build-module/types.js.map +1 -1
  110. package/build-module/utils.js.map +1 -1
  111. package/build-style/style-rtl.css +607 -561
  112. package/build-style/style.css +607 -561
  113. package/build-types/components/dataform/index.d.ts +17 -0
  114. package/build-types/components/dataform/index.d.ts.map +1 -0
  115. package/build-types/components/dataform/stories/index.story.d.ts +11 -0
  116. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -0
  117. package/build-types/components/dataviews/index.d.ts +33 -0
  118. package/build-types/components/dataviews/index.d.ts.map +1 -0
  119. package/build-types/{stories → components/dataviews/stories}/fixtures.d.ts +18 -17
  120. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -0
  121. package/build-types/components/dataviews/stories/index.story.d.ts +46 -0
  122. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -0
  123. package/build-types/components/dataviews-bulk-actions/index.d.ts +5 -0
  124. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -0
  125. package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts +2 -0
  126. package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts.map +1 -0
  127. package/build-types/components/dataviews-context/index.d.ts +26 -0
  128. package/build-types/components/dataviews-context/index.d.ts.map +1 -0
  129. package/build-types/{add-filter.d.ts → components/dataviews-filters/add-filter.d.ts} +1 -2
  130. package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -0
  131. package/build-types/{filter-summary.d.ts → components/dataviews-filters/filter-summary.d.ts} +1 -1
  132. package/build-types/components/dataviews-filters/filter-summary.d.ts.map +1 -0
  133. package/build-types/components/dataviews-filters/index.d.ts +4 -0
  134. package/build-types/components/dataviews-filters/index.d.ts.map +1 -0
  135. package/build-types/{reset-filters.d.ts → components/dataviews-filters/reset-filters.d.ts} +1 -2
  136. package/build-types/components/dataviews-filters/reset-filters.d.ts.map +1 -0
  137. package/build-types/{search-widget.d.ts → components/dataviews-filters/search-widget.d.ts} +1 -2
  138. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -0
  139. package/build-types/components/dataviews-item-actions/index.d.ts +35 -0
  140. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -0
  141. package/build-types/components/dataviews-layout/index.d.ts +2 -0
  142. package/build-types/components/dataviews-layout/index.d.ts.map +1 -0
  143. package/build-types/components/dataviews-pagination/index.d.ts +4 -0
  144. package/build-types/components/dataviews-pagination/index.d.ts.map +1 -0
  145. package/build-types/components/dataviews-search/index.d.ts +6 -0
  146. package/build-types/components/dataviews-search/index.d.ts.map +1 -0
  147. package/build-types/components/dataviews-selection-checkbox/index.d.ts +16 -0
  148. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -0
  149. package/build-types/components/dataviews-view-config/index.d.ts +8 -0
  150. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -0
  151. package/build-types/filter-and-sort-data-view.d.ts +2 -2
  152. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  153. package/build-types/index.d.ts +2 -1
  154. package/build-types/index.d.ts.map +1 -1
  155. package/build-types/layouts/grid/density-picker.d.ts +5 -0
  156. package/build-types/layouts/grid/density-picker.d.ts.map +1 -0
  157. package/build-types/layouts/grid/index.d.ts +3 -0
  158. package/build-types/layouts/grid/index.d.ts.map +1 -0
  159. package/build-types/{layouts.d.ts → layouts/index.d.ts} +6 -5
  160. package/build-types/layouts/index.d.ts.map +1 -0
  161. package/build-types/layouts/list/index.d.ts +3 -0
  162. package/build-types/layouts/list/index.d.ts.map +1 -0
  163. package/build-types/layouts/table/column-header-menu.d.ts +17 -0
  164. package/build-types/layouts/table/column-header-menu.d.ts.map +1 -0
  165. package/build-types/layouts/table/index.d.ts +4 -0
  166. package/build-types/layouts/table/index.d.ts.map +1 -0
  167. package/build-types/normalize-fields.d.ts +2 -2
  168. package/build-types/normalize-fields.d.ts.map +1 -1
  169. package/build-types/private-types.d.ts +3 -0
  170. package/build-types/private-types.d.ts.map +1 -0
  171. package/build-types/types.d.ts +106 -46
  172. package/build-types/types.d.ts.map +1 -1
  173. package/build-types/utils.d.ts +2 -2
  174. package/build-types/utils.d.ts.map +1 -1
  175. package/package.json +10 -10
  176. package/src/components/dataform/index.tsx +106 -0
  177. package/src/components/dataform/stories/index.story.tsx +42 -0
  178. package/src/components/dataviews/index.tsx +149 -0
  179. package/src/{stories → components/dataviews/stories}/fixtures.js +23 -11
  180. package/src/components/dataviews/stories/index.story.js +65 -0
  181. package/src/components/dataviews/style.scss +97 -0
  182. package/src/{bulk-actions.tsx → components/dataviews-bulk-actions/index.tsx} +58 -36
  183. package/src/components/dataviews-bulk-actions/style.scss +7 -0
  184. package/src/{bulk-actions-toolbar.tsx → components/dataviews-bulk-actions-toolbar/index.tsx} +48 -36
  185. package/src/components/dataviews-bulk-actions-toolbar/style.scss +45 -0
  186. package/src/components/dataviews-context/index.ts +49 -0
  187. package/src/{add-filter.tsx → components/dataviews-filters/add-filter.tsx} +4 -4
  188. package/src/{filter-summary.tsx → components/dataviews-filters/filter-summary.tsx} +36 -22
  189. package/src/{filters.tsx → components/dataviews-filters/index.tsx} +11 -25
  190. package/src/{reset-filters.tsx → components/dataviews-filters/reset-filters.tsx} +2 -2
  191. package/src/{search-widget.tsx → components/dataviews-filters/search-widget.tsx} +20 -20
  192. package/src/components/dataviews-filters/style.scss +252 -0
  193. package/src/{item-actions.tsx → components/dataviews-item-actions/index.tsx} +16 -17
  194. package/src/components/dataviews-item-actions/style.scss +3 -0
  195. package/src/components/dataviews-layout/index.tsx +51 -0
  196. package/src/{pagination.tsx → components/dataviews-pagination/index.tsx} +15 -23
  197. package/src/components/dataviews-pagination/style.scss +26 -0
  198. package/src/{search.tsx → components/dataviews-search/index.tsx} +5 -10
  199. package/src/components/dataviews-selection-checkbox/index.tsx +65 -0
  200. package/src/components/dataviews-selection-checkbox/style.scss +14 -0
  201. package/src/{view-actions.tsx → components/dataviews-view-config/index.tsx} +116 -119
  202. package/src/filter-and-sort-data-view.ts +13 -3
  203. package/src/index.ts +2 -1
  204. package/src/layouts/grid/density-picker.tsx +136 -0
  205. package/src/{view-grid.tsx → layouts/grid/index.tsx} +45 -63
  206. package/src/layouts/grid/style.scss +140 -0
  207. package/src/layouts/index.ts +66 -0
  208. package/src/{view-list.tsx → layouts/list/index.tsx} +40 -30
  209. package/src/layouts/list/style.scss +189 -0
  210. package/src/layouts/table/column-header-menu.tsx +268 -0
  211. package/src/layouts/table/index.tsx +471 -0
  212. package/src/layouts/table/style.scss +201 -0
  213. package/src/normalize-fields.ts +6 -4
  214. package/src/private-types.tsx +2 -0
  215. package/src/style.scss +11 -919
  216. package/src/test/filter-and-sort-data-view.js +17 -2
  217. package/src/types.ts +113 -55
  218. package/src/utils.ts +2 -4
  219. package/tsconfig.tsbuildinfo +1 -1
  220. package/build/add-filter.js.map +0 -1
  221. package/build/bulk-actions-toolbar.js.map +0 -1
  222. package/build/bulk-actions.js.map +0 -1
  223. package/build/dataviews.js +0 -136
  224. package/build/dataviews.js.map +0 -1
  225. package/build/filter-summary.js.map +0 -1
  226. package/build/filters.js.map +0 -1
  227. package/build/item-actions.js.map +0 -1
  228. package/build/layouts.js +0 -38
  229. package/build/layouts.js.map +0 -1
  230. package/build/pagination.js.map +0 -1
  231. package/build/reset-filters.js.map +0 -1
  232. package/build/search-widget.js.map +0 -1
  233. package/build/search.js.map +0 -1
  234. package/build/single-selection-checkbox.js +0 -63
  235. package/build/single-selection-checkbox.js.map +0 -1
  236. package/build/view-actions.js.map +0 -1
  237. package/build/view-grid.js.map +0 -1
  238. package/build/view-list.js.map +0 -1
  239. package/build/view-table.js +0 -409
  240. package/build/view-table.js.map +0 -1
  241. package/build-module/add-filter.js.map +0 -1
  242. package/build-module/bulk-actions-toolbar.js.map +0 -1
  243. package/build-module/bulk-actions.js.map +0 -1
  244. package/build-module/dataviews.js +0 -129
  245. package/build-module/dataviews.js.map +0 -1
  246. package/build-module/filter-summary.js.map +0 -1
  247. package/build-module/filters.js.map +0 -1
  248. package/build-module/item-actions.js.map +0 -1
  249. package/build-module/layouts.js +0 -30
  250. package/build-module/layouts.js.map +0 -1
  251. package/build-module/pagination.js.map +0 -1
  252. package/build-module/reset-filters.js.map +0 -1
  253. package/build-module/search-widget.js.map +0 -1
  254. package/build-module/search.js.map +0 -1
  255. package/build-module/single-selection-checkbox.js +0 -56
  256. package/build-module/single-selection-checkbox.js.map +0 -1
  257. package/build-module/view-actions.js.map +0 -1
  258. package/build-module/view-grid.js.map +0 -1
  259. package/build-module/view-list.js.map +0 -1
  260. package/build-module/view-table.js +0 -402
  261. package/build-module/view-table.js.map +0 -1
  262. package/build-types/add-filter.d.ts.map +0 -1
  263. package/build-types/bulk-actions-toolbar.d.ts +0 -12
  264. package/build-types/bulk-actions-toolbar.d.ts.map +0 -1
  265. package/build-types/bulk-actions.d.ts +0 -14
  266. package/build-types/bulk-actions.d.ts.map +0 -1
  267. package/build-types/dataviews.d.ts +0 -24
  268. package/build-types/dataviews.d.ts.map +0 -1
  269. package/build-types/filter-summary.d.ts.map +0 -1
  270. package/build-types/filters.d.ts +0 -13
  271. package/build-types/filters.d.ts.map +0 -1
  272. package/build-types/item-actions.d.ts +0 -35
  273. package/build-types/item-actions.d.ts.map +0 -1
  274. package/build-types/layouts.d.ts.map +0 -1
  275. package/build-types/pagination.d.ts +0 -16
  276. package/build-types/pagination.d.ts.map +0 -1
  277. package/build-types/reset-filters.d.ts.map +0 -1
  278. package/build-types/search-widget.d.ts.map +0 -1
  279. package/build-types/search.d.ts +0 -13
  280. package/build-types/search.d.ts.map +0 -1
  281. package/build-types/single-selection-checkbox.d.ts +0 -17
  282. package/build-types/single-selection-checkbox.d.ts.map +0 -1
  283. package/build-types/stories/fixtures.d.ts.map +0 -1
  284. package/build-types/stories/index.story.d.ts +0 -15
  285. package/build-types/stories/index.story.d.ts.map +0 -1
  286. package/build-types/view-actions.d.ts +0 -12
  287. package/build-types/view-actions.d.ts.map +0 -1
  288. package/build-types/view-grid.d.ts +0 -4
  289. package/build-types/view-grid.d.ts.map +0 -1
  290. package/build-types/view-list.d.ts +0 -4
  291. package/build-types/view-list.d.ts.map +0 -1
  292. package/build-types/view-table.d.ts +0 -5
  293. package/build-types/view-table.d.ts.map +0 -1
  294. package/src/dataviews.tsx +0 -189
  295. package/src/layouts.ts +0 -39
  296. package/src/single-selection-checkbox.tsx +0 -80
  297. package/src/stories/index.story.js +0 -64
  298. package/src/view-table.tsx +0 -603
package/src/style.scss CHANGED
@@ -1,919 +1,11 @@
1
- .dataviews-wrapper {
2
- height: 100%;
3
- overflow: auto;
4
- box-sizing: border-box;
5
- scroll-padding-bottom: $grid-unit-80;
6
- /* stylelint-disable-next-line property-no-unknown -- '@container' not globally permitted */
7
- container: dataviews-wrapper / inline-size;
8
- display: flex;
9
- flex-direction: column;
10
- }
11
-
12
- .dataviews-filters__view-actions {
13
- box-sizing: border-box;
14
- padding: $grid-unit-20 $grid-unit-60;
15
- flex-shrink: 0;
16
- position: sticky;
17
- left: 0;
18
- transition: padding ease-out 0.1s;
19
- @include reduce-motion("transition");
20
-
21
- .components-search-control {
22
- .components-base-control__field {
23
- max-width: 240px;
24
- }
25
- }
26
- }
27
-
28
- .dataviews-filters__container {
29
- .dataviews-filters__reset-button[aria-disabled="true"] {
30
- &,
31
- &:hover {
32
- opacity: 0;
33
- }
34
-
35
- &:focus {
36
- opacity: 1;
37
- }
38
- }
39
- }
40
-
41
- .dataviews-filters-button {
42
- position: relative;
43
- }
44
-
45
- .dataviews-pagination {
46
- position: sticky;
47
- bottom: 0;
48
- left: 0;
49
- background-color: $white;
50
- padding: $grid-unit-15 $grid-unit-60;
51
- border-top: $border-width solid $gray-100;
52
- color: $gray-700;
53
- flex-shrink: 0;
54
- transition: padding ease-out 0.1s;
55
- @include reduce-motion("transition");
56
- }
57
-
58
- .dataviews-pagination__page-selection {
59
- font-size: 11px;
60
- text-transform: uppercase;
61
- font-weight: 500;
62
- color: $gray-900;
63
- }
64
-
65
- .dataviews-filters-options {
66
- margin: $grid-unit-40 0 $grid-unit-20;
67
- }
68
-
69
- .dataviews-view-table {
70
- width: 100%;
71
- text-indent: 0;
72
- border-color: inherit;
73
- border-collapse: collapse;
74
- position: relative;
75
- color: $gray-700;
76
- margin-bottom: auto;
77
-
78
- a {
79
- text-decoration: none;
80
- color: $gray-900;
81
- font-weight: 500;
82
- }
83
- th {
84
- text-align: left;
85
- color: $gray-900;
86
- font-weight: normal;
87
- font-size: $default-font-size;
88
- }
89
- td,
90
- th {
91
- padding: $grid-unit-15;
92
- white-space: nowrap;
93
-
94
- &[data-field-id="actions"] {
95
- text-align: right;
96
- }
97
-
98
- &.dataviews-view-table__checkbox-column {
99
- padding-right: 0;
100
- }
101
- }
102
- tr {
103
- border-bottom: 1px solid $gray-100;
104
-
105
- .dataviews-view-table-header-button {
106
- gap: $grid-unit-05;
107
- }
108
-
109
- th,
110
- td {
111
- &:first-child,
112
- &:last-child {
113
- transition: padding ease-out 0.1s;
114
- @include reduce-motion("transition");
115
- }
116
- }
117
-
118
- td:first-child,
119
- th:first-child {
120
- padding-left: $grid-unit-60;
121
-
122
- .dataviews-view-table-header-button,
123
- .dataviews-view-table-header {
124
- margin-left: - #{$grid-unit-10};
125
- }
126
- }
127
-
128
- td:last-child,
129
- th:last-child {
130
- padding-right: $grid-unit-60;
131
- }
132
-
133
- &:last-child {
134
- border-bottom: 0;
135
- }
136
-
137
- &.is-hovered {
138
- background-color: #f8f8f8;
139
- }
140
-
141
- .components-checkbox-control__input.components-checkbox-control__input {
142
- opacity: 0;
143
-
144
- &:checked,
145
- &:indeterminate,
146
- &:focus {
147
- opacity: 1;
148
- }
149
- }
150
-
151
- .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
152
- opacity: 0;
153
- }
154
-
155
- &:focus-within,
156
- &.is-hovered,
157
- &:hover {
158
- .components-checkbox-control__input,
159
- .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
160
- opacity: 1;
161
- }
162
- }
163
-
164
- @media (hover: none) {
165
- // Show checkboxes and quick-actions on devices that do not support hover.
166
- .components-checkbox-control__input.components-checkbox-control__input,
167
- .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
168
- opacity: 1;
169
- }
170
- }
171
-
172
- &.is-selected {
173
- background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
174
- color: $gray-700;
175
-
176
- &:hover {
177
- background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);
178
- }
179
- }
180
- }
181
- thead {
182
- position: sticky;
183
- inset-block-start: 0;
184
- z-index: z-index(".dataviews-view-table thead");
185
-
186
- tr {
187
- border: 0;
188
- }
189
- th {
190
- background-color: $white;
191
- box-shadow: inset 0 -#{$border-width} 0 $gray-100;
192
- padding-top: $grid-unit-10;
193
- padding-bottom: $grid-unit-10;
194
- font-size: 11px;
195
- text-transform: uppercase;
196
- font-weight: 500;
197
- padding-left: $grid-unit-05;
198
- }
199
- }
200
- tbody {
201
- td {
202
- vertical-align: top;
203
- }
204
- .dataviews-view-table__cell-content-wrapper {
205
- min-height: $grid-unit-40;
206
- display: flex;
207
- align-items: center;
208
-
209
- > * {
210
- flex-grow: 1;
211
- }
212
-
213
- &.dataviews-view-table__primary-field {
214
- a {
215
- flex-grow: 0;
216
- }
217
- }
218
- }
219
- }
220
- .dataviews-view-table-header-button {
221
- padding: $grid-unit-05 $grid-unit-10;
222
- font-size: 11px;
223
- text-transform: uppercase;
224
- font-weight: 500;
225
-
226
- &:not(:hover) {
227
- color: $gray-900;
228
- }
229
-
230
- span {
231
- speak: none;
232
-
233
- &:empty {
234
- display: none;
235
- }
236
- }
237
- }
238
-
239
- .dataviews-view-table-header {
240
- padding-left: $grid-unit-05;
241
- }
242
-
243
- .dataviews-view-table__actions-column {
244
- width: 1%;
245
- }
246
-
247
- &:has(tr.is-selected) {
248
- .components-checkbox-control__input {
249
- opacity: 1;
250
- }
251
- }
252
- }
253
-
254
- .dataviews-view-list__primary-field,
255
- .dataviews-view-grid__primary-field,
256
- .dataviews-view-table__primary-field {
257
- font-size: $default-font-size;
258
- font-weight: 500;
259
- color: $gray-700;
260
- text-overflow: ellipsis;
261
- white-space: nowrap;
262
- display: block;
263
- width: 100%;
264
-
265
- a {
266
- text-decoration: none;
267
- text-overflow: ellipsis;
268
- white-space: nowrap;
269
- overflow: hidden;
270
- display: block;
271
- flex-grow: 0;
272
- color: $gray-900;
273
-
274
- &:hover {
275
- color: var(--wp-admin-theme-color);
276
- }
277
- @include link-reset();
278
- }
279
-
280
- button.components-button.is-link {
281
- text-decoration: none;
282
- font-weight: inherit;
283
- text-overflow: ellipsis;
284
- white-space: nowrap;
285
- overflow: hidden;
286
- display: block;
287
- width: 100%;
288
- color: $gray-900;
289
- &:hover {
290
- color: var(--wp-admin-theme-color);
291
- }
292
- }
293
- }
294
-
295
- .dataviews-view-grid {
296
- margin-bottom: auto;
297
- grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
298
- grid-template-rows: max-content;
299
- padding: 0 $grid-unit-60 $grid-unit-30;
300
- transition: padding ease-out 0.1s;
301
- @include reduce-motion("transition");
302
-
303
- @include break-mobile() {
304
- grid-template-columns: repeat(2, minmax(0, 1fr)) !important; // Todo: eliminate !important dependency
305
- }
306
-
307
- @include break-xlarge() {
308
- grid-template-columns: repeat(3, minmax(0, 1fr)) !important; // Todo: eliminate !important dependency
309
- }
310
-
311
- @include break-huge() {
312
- grid-template-columns: repeat(4, minmax(0, 1fr)) !important; // Todo: eliminate !important dependency
313
- }
314
-
315
- .dataviews-view-grid__card {
316
- height: 100%;
317
- justify-content: flex-start;
318
-
319
- .dataviews-view-grid__title-actions {
320
- padding: $grid-unit-10 0 $grid-unit-05;
321
- }
322
-
323
- .dataviews-view-grid__primary-field {
324
- min-height: $grid-unit-40; // Preserve layout when there is no ellipsis button
325
- }
326
-
327
- &.is-selected {
328
- .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value {
329
- color: $gray-900;
330
- }
331
-
332
- .page-pages-preview-field__button::after {
333
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
334
- background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
335
- }
336
- }
337
- }
338
-
339
- .dataviews-view-grid__media {
340
- width: 100%;
341
- min-height: 200px;
342
- aspect-ratio: 1/1;
343
- background-color: $gray-100;
344
- border-radius: $grid-unit-05;
345
- overflow: hidden;
346
- position: relative;
347
-
348
- img {
349
- object-fit: cover;
350
- width: 100%;
351
- height: 100%;
352
- }
353
-
354
- &::after {
355
- content: "";
356
- position: absolute;
357
- top: 0;
358
- left: 0;
359
- width: 100%;
360
- height: 100%;
361
- box-shadow: inset 0 0 0 $border-width rgba(0, 0, 0, 0.1);
362
- border-radius: $grid-unit-05;
363
- pointer-events: none;
364
- }
365
- }
366
-
367
- .dataviews-view-grid__fields {
368
- position: relative;
369
- font-size: 12px;
370
- line-height: 16px;
371
-
372
- &:not(:empty) {
373
- padding: 0 0 $grid-unit-15;
374
- }
375
-
376
- .dataviews-view-grid__field {
377
- align-items: flex-start;
378
-
379
- &:not(.is-column) {
380
- align-items: center;
381
-
382
- .dataviews-view-grid__field-name {
383
- width: 35%;
384
- }
385
-
386
- .dataviews-view-grid__field-value {
387
- width: 65%;
388
- overflow: hidden;
389
- text-overflow: ellipsis;
390
- white-space: nowrap;
391
- }
392
- }
393
-
394
- .dataviews-view-grid__field-name {
395
- color: $gray-700;
396
- }
397
- }
398
- }
399
-
400
- .dataviews-view-grid__badge-fields {
401
- &:not(:empty) {
402
- padding-bottom: $grid-unit-15;
403
- }
404
-
405
- .dataviews-view-grid__field-value {
406
- width: fit-content;
407
- background: $gray-100;
408
- padding: 0 $grid-unit-10;
409
- min-height: $grid-unit-30;
410
- border-radius: $radius-block-ui;
411
- display: flex;
412
- align-items: center;
413
- font-size: 12px;
414
- }
415
- }
416
- }
417
-
418
- .dataviews-view-list {
419
- margin: 0 0 auto;
420
-
421
- li {
422
- margin: 0;
423
- cursor: pointer;
424
- border-top: 1px solid $gray-100;
425
-
426
- .dataviews-view-list__item-wrapper {
427
- position: relative;
428
- border-radius: $grid-unit-05;
429
-
430
- > * {
431
- width: 100%;
432
- }
433
- }
434
-
435
- .dataviews-view-list__item-actions {
436
- .components-button {
437
- opacity: 0;
438
- position: fixed;
439
- right: 0;
440
- }
441
- }
442
-
443
- &.is-selected,
444
- &.is-hovered,
445
- &:focus-within {
446
- .dataviews-view-list__item-actions {
447
- padding-right: $grid-unit-40;
448
-
449
- .components-button {
450
- opacity: 1;
451
- position: static;
452
- }
453
- }
454
-
455
- .dataviews-view-list__item {
456
- padding-right: 0;
457
- }
458
- }
459
-
460
- &:not(.is-selected) {
461
- .dataviews-view-list__primary-field {
462
- color: $gray-900;
463
- }
464
- &:hover,
465
- &:focus-within {
466
- color: var(--wp-admin-theme-color);
467
- background-color: #f8f8f8;
468
-
469
- .dataviews-view-list__primary-field,
470
- .dataviews-view-list__fields {
471
- color: var(--wp-admin-theme-color);
472
- }
473
- }
474
- }
475
-
476
- }
477
-
478
- li.is-selected,
479
- li.is-selected:focus-within {
480
- .dataviews-view-list__item-wrapper {
481
- background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
482
- color: $gray-900;
483
-
484
- .dataviews-view-list__primary-field,
485
- .dataviews-view-list__fields {
486
- color: var(--wp-admin-theme-color);
487
- }
488
- }
489
- }
490
-
491
- .dataviews-view-list__item {
492
- padding: $grid-unit-20 0 $grid-unit-20 $grid-unit-30;
493
- width: 100%;
494
- scroll-margin: $grid-unit-10 0;
495
-
496
- &:focus-visible {
497
- &::before {
498
- position: absolute;
499
- content: "";
500
- top: calc(var(--wp-admin-border-width-focus) + 1px);
501
- right: var(--wp-admin-border-width-focus);
502
- bottom: var(--wp-admin-border-width-focus);
503
- left: var(--wp-admin-border-width-focus);
504
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
505
- border-radius: $radius-block-ui;
506
- }
507
- }
508
- .dataviews-view-list__primary-field {
509
- min-height: $grid-unit-05 * 5;
510
- line-height: $grid-unit-05 * 5;
511
- overflow: hidden;
512
- }
513
- }
514
-
515
- .dataviews-view-list__media-wrapper {
516
- width: $grid-unit-50;
517
- height: $grid-unit-50;
518
- overflow: hidden;
519
- position: relative;
520
- flex-shrink: 0;
521
- background-color: $gray-100;
522
- border-radius: $grid-unit-05;
523
-
524
- img {
525
- width: 100%;
526
- height: 100%;
527
- object-fit: cover;
528
- }
529
-
530
- &::after {
531
- content: "";
532
- position: absolute;
533
- top: 0;
534
- left: 0;
535
- width: 100%;
536
- height: 100%;
537
- box-shadow: inset 0 0 0 $border-width rgba(0, 0, 0, 0.1);
538
- border-radius: $grid-unit-05;
539
- }
540
- }
541
-
542
- .dataviews-view-list__media-placeholder {
543
- min-width: $grid-unit-40;
544
- height: $grid-unit-40;
545
- background-color: $gray-200;
546
- }
547
-
548
- .dataviews-view-list__fields {
549
- color: $gray-700;
550
- display: flex;
551
- gap: $grid-unit-10;
552
- flex-wrap: wrap;
553
- font-size: 12px;
554
-
555
- .dataviews-view-list__field {
556
- &:has(.dataviews-view-list__field-value:empty) {
557
- display: none;
558
- }
559
- }
560
-
561
- .dataviews-view-list__field-value {
562
- line-height: $grid-unit-05 * 5;
563
- display: inline-flex;
564
- }
565
- }
566
- .dataviews-view-list__item-actions {
567
- padding-right: $grid-unit-30;
568
- }
569
-
570
- & + .dataviews-pagination {
571
- justify-content: space-between;
572
- }
573
-
574
- }
575
-
576
- .dataviews-action-modal {
577
- z-index: z-index(".dataviews-action-modal");
578
- }
579
-
580
- .dataviews-no-results,
581
- .dataviews-loading {
582
- padding: 0 $grid-unit-60;
583
- flex-grow: 1;
584
- display: flex;
585
- align-items: center;
586
- justify-content: center;
587
- transition: padding ease-out 0.1s;
588
- @include reduce-motion("transition");
589
- }
590
-
591
- .dataviews-view-table-selection-checkbox {
592
- // Experimental override for CheckboxControl size (fragile)
593
- --checkbox-input-size: 24px;
594
- @include break-small() {
595
- --checkbox-input-size: 16px;
596
- }
597
-
598
- line-height: 0;
599
- flex-shrink: 0;
600
-
601
- .components-checkbox-control__input-container {
602
- margin: 0;
603
- }
604
- }
605
-
606
- .dataviews-bulk-edit-button.components-button {
607
- flex-shrink: 0;
608
- }
609
-
610
- .dataviews-filter-summary__popover {
611
- .components-popover__content {
612
- width: 230px;
613
- padding: 0;
614
- border-radius: $grid-unit-05;
615
- }
616
- }
617
-
618
- .dataviews-search-widget-filter-combobox-list {
619
- max-height: $grid-unit * 23;
620
- padding: $grid-unit-05;
621
- overflow: auto;
622
- border-top: 1px solid $gray-200;
623
-
624
- .dataviews-search-widget-filter-combobox-item-value {
625
- [data-user-value] {
626
- font-weight: 600;
627
- }
628
- }
629
- }
630
-
631
- .dataviews-search-widget-listbox {
632
- max-height: $grid-unit * 23;
633
- padding: $grid-unit-05;
634
- overflow: auto;
635
- }
636
-
637
- .dataviews-search-widget-listitem {
638
- display: flex;
639
- align-items: center;
640
- gap: $grid-unit-10;
641
- border-radius: $radius-block-ui;
642
- box-sizing: border-box;
643
- padding: $grid-unit-10 $grid-unit-15;
644
- cursor: default;
645
- margin-block-end: 2px;
646
-
647
- &:last-child {
648
- margin-block-end: 0;
649
- }
650
-
651
- &:hover,
652
- &[data-active-item],
653
- &:focus {
654
- background-color: var(--wp-admin-theme-color);
655
- color: $white;
656
-
657
- .dataviews-search-widget-listitem-check {
658
- fill: $white;
659
- }
660
-
661
- .dataviews-search-widget-listitem-description {
662
- color: $white;
663
- }
664
- }
665
-
666
- .dataviews-search-widget-listitem-check {
667
- width: 24px;
668
- height: 24px;
669
- flex-shrink: 0;
670
- }
671
-
672
- .dataviews-search-widget-listitem-description {
673
- display: block;
674
- overflow: hidden;
675
- text-overflow: ellipsis;
676
- font-size: $helptext-font-size;
677
- line-height: 16px;
678
- color: $gray-700;
679
- }
680
- }
681
-
682
- .dataviews-search-widget-filter-combobox__wrapper {
683
- position: relative;
684
- padding: $grid-unit-10;
685
-
686
- .dataviews-search-widget-filter-combobox__input {
687
- @include input-control;
688
- display: block;
689
- padding: 0 $grid-unit-40 0 $grid-unit-10;
690
- background: $gray-100;
691
- border: none;
692
- width: 100%;
693
- height: $grid-unit-40;
694
-
695
- // Unset inherited values.
696
- margin-left: 0;
697
- margin-right: 0;
698
-
699
- /* Fonts smaller than 16px causes mobile safari to zoom. */
700
- font-size: $mobile-text-min-font-size;
701
- @include break-small {
702
- font-size: $default-font-size;
703
- }
704
-
705
- &:focus {
706
- background: $white;
707
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
708
- }
709
-
710
- &::placeholder {
711
- color: $gray-700;
712
- }
713
-
714
- &::-webkit-search-decoration,
715
- &::-webkit-search-cancel-button,
716
- &::-webkit-search-results-button,
717
- &::-webkit-search-results-decoration {
718
- -webkit-appearance: none;
719
- }
720
- }
721
-
722
- .dataviews-search-widget-filter-combobox__icon {
723
- position: absolute;
724
- right: $grid-unit-15;
725
- top: 50%;
726
- transform: translateY(-50%);
727
- display: flex;
728
- align-items: center;
729
- justify-content: center;
730
- width: $icon-size;
731
- }
732
- }
733
-
734
- .dataviews-filter-summary__operators-container {
735
- padding: $grid-unit-10 $grid-unit-10 0;
736
-
737
- &:has(+ .dataviews-search-widget-listbox) {
738
- border-bottom: 1px solid $gray-200;
739
- padding-bottom: $grid-unit-10;
740
- }
741
-
742
- &:empty {
743
- display: none;
744
- }
745
-
746
- .dataviews-filter-summary__operators-filter-name {
747
- color: $gray-700;
748
- }
749
- }
750
-
751
- .dataviews-filter-summary__chip-container {
752
- position: relative;
753
- white-space: pre-wrap;
754
-
755
- .dataviews-filter-summary__chip {
756
- border-radius: $grid-unit-20;
757
- border: 1px solid transparent;
758
- cursor: pointer;
759
- padding: 0 $grid-unit-15;
760
- height: $grid-unit-40;
761
- background: $gray-100;
762
- color: $gray-700;
763
- position: relative;
764
- display: flex;
765
- align-items: center;
766
-
767
- &.has-reset {
768
- padding-inline-end: $button-size-small + $grid-unit-05;
769
- }
770
-
771
- &:hover,
772
- &:focus-visible,
773
- &[aria-expanded="true"] {
774
- background: $gray-200;
775
- color: $gray-900;
776
- }
777
-
778
- &.has-values {
779
- color: var(--wp-admin-theme-color);
780
- background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
781
-
782
- &:hover,
783
- &[aria-expanded="true"] {
784
- background: rgba(var(--wp-admin-theme-color--rgb), 0.12);
785
- }
786
- }
787
-
788
- &:focus-visible {
789
- outline: none;
790
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
791
- }
792
-
793
- .dataviews-filter-summary__filter-text-name {
794
- font-weight: 500;
795
- }
796
- }
797
-
798
- .dataviews-filter-summary__chip-remove {
799
- width: $icon-size;
800
- height: $icon-size;
801
- border-radius: 50%;
802
- border: 0;
803
- padding: 0;
804
- position: absolute;
805
- right: $grid-unit-05;
806
- top: 50%;
807
- transform: translateY(-50%);
808
- display: flex;
809
- align-items: center;
810
- justify-content: center;
811
- background: transparent;
812
- cursor: pointer;
813
-
814
- svg {
815
- fill: $gray-700;
816
- }
817
-
818
- &:hover,
819
- &:focus {
820
- background: $gray-200;
821
- svg {
822
- fill: $gray-900;
823
- }
824
- }
825
-
826
- &.has-values {
827
- svg {
828
- fill: var(--wp-admin-theme-color);
829
- }
830
- &:hover {
831
- background: rgba(var(--wp-admin-theme-color--rgb), 0.08);
832
- }
833
- }
834
-
835
- &:focus-visible {
836
- outline: none;
837
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
838
- }
839
- }
840
- }
841
-
842
- /* stylelint-disable-next-line scss/at-rule-no-unknown -- '@container' not globally permitted */
843
- @container (max-width: 430px) {
844
- .dataviews-pagination,
845
- .dataviews-filters__view-actions {
846
- padding: $grid-unit-15 $grid-unit-30;
847
- }
848
-
849
- .dataviews-filters__view-actions {
850
- .components-search-control {
851
- .components-base-control__field {
852
- max-width: 112px;
853
- }
854
- }
855
- }
856
-
857
- .dataviews-view-table tr td:first-child,
858
- .dataviews-view-table tr th:first-child {
859
- padding-left: $grid-unit-30;
860
- }
861
-
862
- .dataviews-view-table tr td:last-child,
863
- .dataviews-view-table tr th:last-child {
864
- padding-right: $grid-unit-30;
865
- }
866
-
867
- .dataviews-view-grid,
868
- .dataviews-no-results,
869
- .dataviews-loading {
870
- padding-left: $grid-unit-30;
871
- padding-right: $grid-unit-30;
872
- }
873
- }
874
-
875
- .dataviews-bulk-actions-toolbar-wrapper {
876
- display: flex;
877
- flex-grow: 1;
878
- width: 100%;
879
-
880
- .components-toolbar-group {
881
- align-items: center;
882
- }
883
-
884
- .components-button.is-busy {
885
- max-height: $button-size;
886
- }
887
- }
888
-
889
- .dataviews-bulk-actions {
890
- position: sticky;
891
- display: flex;
892
- flex-direction: column;
893
- align-content: center;
894
- flex-wrap: wrap;
895
- width: fit-content;
896
- margin-left: auto;
897
- margin-right: auto;
898
- bottom: $grid-unit-30;
899
- z-index: z-index(".dataviews-bulk-actions");
900
-
901
- .components-accessible-toolbar {
902
- border-color: $gray-300;
903
- box-shadow: $shadow-popover;
904
-
905
- .components-toolbar-group {
906
- border-color: $gray-200;
907
-
908
- &:last-child {
909
- border: 0;
910
- }
911
- }
912
- }
913
-
914
- .dataviews-bulk-actions__selection-count {
915
- display: flex;
916
- align-items: center;
917
- margin: 0 $grid-unit-10 0 $grid-unit-10;
918
- }
919
- }
1
+ @import "./components/dataviews/style.scss";
2
+ @import "./components/dataviews-bulk-actions/style.scss";
3
+ @import "./components/dataviews-bulk-actions-toolbar/style.scss";
4
+ @import "./components/dataviews-filters/style.scss";
5
+ @import "./components/dataviews-pagination/style.scss";
6
+ @import "./components/dataviews-item-actions/style.scss";
7
+ @import "./components/dataviews-selection-checkbox/style.scss";
8
+
9
+ @import "./layouts/grid/style.scss";
10
+ @import "./layouts/list/style.scss";
11
+ @import "./layouts/table/style.scss";