@vertebr/react 0.18.1 → 0.20.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 (67) hide show
  1. package/dist/components/admin/AdminContent.d.ts +5 -1
  2. package/dist/components/admin/AdminContent.d.ts.map +1 -1
  3. package/dist/components/admin/AdminContent.js +75 -50
  4. package/dist/components/admin/AdminSyncPage.d.ts.map +1 -1
  5. package/dist/components/admin/AdminSyncPage.js +202 -3
  6. package/dist/components/admin/AuditBoard.d.ts +6 -2
  7. package/dist/components/admin/AuditBoard.d.ts.map +1 -1
  8. package/dist/components/admin/AuditBoard.js +145 -3
  9. package/dist/components/admin/VertebrAdmin.d.ts.map +1 -1
  10. package/dist/components/admin/VertebrAdmin.js +14 -3
  11. package/dist/components/config/EnumInput.d.ts.map +1 -1
  12. package/dist/components/config/EnumInput.js +9 -2
  13. package/dist/components/config/form/ConfigForm.d.ts.map +1 -1
  14. package/dist/components/config/form/ConfigForm.js +14 -2
  15. package/dist/components/dialog/SelectionTableDialog.d.ts +79 -0
  16. package/dist/components/dialog/SelectionTableDialog.d.ts.map +1 -0
  17. package/dist/components/dialog/SelectionTableDialog.js +177 -0
  18. package/dist/components/emails/EmailsActivityPanel.d.ts.map +1 -1
  19. package/dist/components/emails/EmailsActivityPanel.js +80 -2
  20. package/dist/components/metrics/MetricsBoard.d.ts.map +1 -1
  21. package/dist/components/metrics/MetricsBoard.js +7 -1
  22. package/dist/components/resources/ColumnVisibilityMenu.d.ts +4 -0
  23. package/dist/components/resources/ColumnVisibilityMenu.d.ts.map +1 -1
  24. package/dist/components/resources/ColumnVisibilityMenu.js +14 -7
  25. package/dist/components/resources/ResourceTable.d.ts +7 -1
  26. package/dist/components/resources/ResourceTable.d.ts.map +1 -1
  27. package/dist/components/resources/ResourceTable.js +84 -64
  28. package/dist/components/resources/SortableHeader.d.ts +9 -0
  29. package/dist/components/resources/SortableHeader.d.ts.map +1 -0
  30. package/dist/components/resources/SortableHeader.js +9 -0
  31. package/dist/components/table/TableFilters.d.ts +20 -0
  32. package/dist/components/table/TableFilters.d.ts.map +1 -0
  33. package/dist/components/table/TableFilters.js +55 -0
  34. package/dist/components/table/TableSearch.d.ts +11 -0
  35. package/dist/components/table/TableSearch.d.ts.map +1 -0
  36. package/dist/components/table/TableSearch.js +23 -0
  37. package/dist/components/table/TableSkeleton.d.ts +16 -0
  38. package/dist/components/table/TableSkeleton.d.ts.map +1 -0
  39. package/dist/components/table/TableSkeleton.js +29 -0
  40. package/dist/components/table/TableWrap.d.ts +23 -0
  41. package/dist/components/table/TableWrap.d.ts.map +1 -0
  42. package/dist/components/table/TableWrap.js +35 -0
  43. package/dist/components/table/filterModel.d.ts +35 -0
  44. package/dist/components/table/filterModel.d.ts.map +1 -0
  45. package/dist/components/table/filterModel.js +150 -0
  46. package/dist/components/table/index.d.ts +13 -0
  47. package/dist/components/table/index.d.ts.map +1 -0
  48. package/dist/components/table/index.js +6 -0
  49. package/dist/components/table/useTableOverflow.d.ts +17 -0
  50. package/dist/components/table/useTableOverflow.d.ts.map +1 -0
  51. package/dist/components/table/useTableOverflow.js +54 -0
  52. package/dist/index.d.ts +4 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +3 -0
  55. package/dist/lib/sort.d.ts +10 -0
  56. package/dist/lib/sort.d.ts.map +1 -0
  57. package/dist/lib/sort.js +59 -0
  58. package/dist/styles/audit.css +11 -1
  59. package/dist/styles/columns.css +1 -84
  60. package/dist/styles/index.css +1 -0
  61. package/dist/styles/metrics.css +27 -4
  62. package/dist/styles/panel.css +143 -0
  63. package/dist/styles/select.css +16 -0
  64. package/dist/styles/selection-dialog.css +170 -0
  65. package/dist/styles/sync.css +21 -1
  66. package/dist/styles/table.css +115 -2
  67. package/package.json +1 -1
@@ -10,6 +10,18 @@
10
10
  overscroll-behavior-inline: contain;
11
11
  scrollbar-gutter: stable;
12
12
  scrollbar-width: thin;
13
+ -webkit-overflow-scrolling: touch;
14
+ }
15
+
16
+ /* Bare tables (no wrap) still scroll in constrained panels. */
17
+ .vertebr-panel > .vertebr-table,
18
+ .vertebr-metrics-table-wrap > .vertebr-table,
19
+ .vertebr-emails-pane > .vertebr-table {
20
+ display: block;
21
+ max-width: 100%;
22
+ overflow-x: auto;
23
+ overflow-y: auto;
24
+ scrollbar-width: thin;
13
25
  }
14
26
 
15
27
  .vertebr-table-wrap[data-overflow-left="true"] {
@@ -26,6 +38,27 @@
26
38
  inset -12px 0 16px -14px color-mix(in srgb, var(--vb-text) 35%, transparent);
27
39
  }
28
40
 
41
+ @keyframes vertebr-table-filter-in {
42
+ from {
43
+ opacity: 0.4;
44
+ transform: translateY(3px);
45
+ }
46
+ to {
47
+ opacity: 1;
48
+ transform: none;
49
+ }
50
+ }
51
+
52
+ .vertebr-table-wrap[data-transition="true"] .vertebr-table tbody {
53
+ animation: vertebr-table-filter-in 180ms ease-out;
54
+ }
55
+
56
+ @media (prefers-reduced-motion: reduce) {
57
+ .vertebr-table-wrap[data-transition="true"] .vertebr-table tbody {
58
+ animation: none;
59
+ }
60
+ }
61
+
29
62
  .vertebr-table {
30
63
  width: max-content;
31
64
  min-width: 100%;
@@ -42,8 +75,9 @@
42
75
  text-align: left;
43
76
  vertical-align: middle;
44
77
  white-space: nowrap;
45
- overflow: hidden;
46
- max-width: 16rem;
78
+ /* Grow with content — horizontal scroll lives on .vertebr-table-wrap */
79
+ max-width: none;
80
+ overflow: visible;
47
81
  }
48
82
 
49
83
  .vertebr-table th:not(.vertebr-col-actions),
@@ -64,6 +98,40 @@
64
98
  background: var(--vb-bg-elevated);
65
99
  }
66
100
 
101
+ .vertebr-th-sort {
102
+ appearance: none;
103
+ display: inline-flex;
104
+ align-items: center;
105
+ gap: 0.35rem;
106
+ max-width: 100%;
107
+ margin: 0;
108
+ padding: 0;
109
+ border: 0;
110
+ background: transparent;
111
+ color: inherit;
112
+ font: inherit;
113
+ letter-spacing: inherit;
114
+ text-transform: inherit;
115
+ cursor: pointer;
116
+ }
117
+
118
+ .vertebr-th-sort:hover,
119
+ .vertebr-th-sort[data-active="true"] {
120
+ color: var(--vb-text);
121
+ }
122
+
123
+ .vertebr-th-sort-icon {
124
+ flex: 0 0 auto;
125
+ opacity: 0.45;
126
+ font-size: 0.85em;
127
+ line-height: 1;
128
+ }
129
+
130
+ .vertebr-th-sort:hover .vertebr-th-sort-icon,
131
+ .vertebr-th-sort[data-active="true"] .vertebr-th-sort-icon {
132
+ opacity: 0.9;
133
+ }
134
+
67
135
  .vertebr-table tbody tr {
68
136
  transition: background 100ms ease;
69
137
  }
@@ -150,3 +218,48 @@
150
218
  white-space: nowrap;
151
219
  border: 0;
152
220
  }
221
+
222
+ .vertebr-table-skeleton {
223
+ pointer-events: none;
224
+ }
225
+
226
+ .vertebr-table-skeleton-cell {
227
+ display: block;
228
+ height: 0.7rem;
229
+ border-radius: 4px;
230
+ background: linear-gradient(
231
+ 90deg,
232
+ var(--vb-bg-muted) 0%,
233
+ var(--vb-bg-hover, var(--vb-surface-tint)) 50%,
234
+ var(--vb-bg-muted) 100%
235
+ );
236
+ background-size: 200% 100%;
237
+ animation: vb-skeleton 1.2s ease-in-out infinite;
238
+ }
239
+
240
+ .vertebr-table-skeleton-cell[data-width="sm"] {
241
+ width: 38%;
242
+ }
243
+
244
+ .vertebr-table-skeleton-cell[data-width="md"] {
245
+ width: 58%;
246
+ }
247
+
248
+ .vertebr-table-skeleton-cell[data-width="lg"] {
249
+ width: 78%;
250
+ }
251
+
252
+ .vertebr-table-skeleton-header {
253
+ height: 0.55rem;
254
+ opacity: 0.85;
255
+ }
256
+
257
+ .vertebr-table-skeleton thead th {
258
+ vertical-align: middle;
259
+ }
260
+
261
+ @media (prefers-reduced-motion: reduce) {
262
+ .vertebr-table-skeleton-cell {
263
+ animation: none;
264
+ }
265
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertebr/react",
3
- "version": "0.18.1",
3
+ "version": "0.20.0",
4
4
  "description": "Vertebr admin dashboard UI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",