@swimlane/ngx-datatable 21.0.0-alpha.0 → 21.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.
package/index.css ADDED
@@ -0,0 +1,253 @@
1
+ .ngx-datatable {
2
+ display: block;
3
+ overflow: hidden;
4
+ justify-content: center;
5
+ position: relative;
6
+ transform: translate3d(0, 0, 0);
7
+ /**
8
+ * Vertical Scrolling Adjustments
9
+ */
10
+ /**
11
+ * Horizontal Scrolling Adjustments
12
+ */
13
+ /**
14
+ * Fixed Header Height Adjustments
15
+ */
16
+ /**
17
+ * Fixed row height adjustments
18
+ */
19
+ /**
20
+ * Shared Styles
21
+ */
22
+ /**
23
+ * Header Styles
24
+ */
25
+ /**
26
+ * Body Styles
27
+ */
28
+ /**
29
+ * Footer Styles
30
+ */
31
+ }
32
+ .ngx-datatable [hidden] {
33
+ display: none !important;
34
+ }
35
+ .ngx-datatable *,
36
+ .ngx-datatable *:before,
37
+ .ngx-datatable *:after {
38
+ -moz-box-sizing: border-box;
39
+ -webkit-box-sizing: border-box;
40
+ box-sizing: border-box;
41
+ }
42
+ .ngx-datatable.scroll-vertical .datatable-body {
43
+ overflow-y: auto;
44
+ }
45
+ .ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper {
46
+ position: absolute;
47
+ }
48
+ .ngx-datatable.scroll-horz .datatable-body {
49
+ overflow-x: auto;
50
+ -webkit-overflow-scrolling: touch;
51
+ }
52
+ .ngx-datatable.fixed-header .datatable-header .datatable-header-inner {
53
+ white-space: nowrap;
54
+ }
55
+ .ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell {
56
+ white-space: nowrap;
57
+ overflow: hidden;
58
+ text-overflow: ellipsis;
59
+ }
60
+ .ngx-datatable.fixed-row .datatable-scroll {
61
+ white-space: nowrap;
62
+ }
63
+ .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row {
64
+ white-space: nowrap;
65
+ }
66
+ .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell {
67
+ overflow: hidden;
68
+ white-space: nowrap;
69
+ text-overflow: ellipsis;
70
+ }
71
+ .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell {
72
+ overflow: hidden;
73
+ white-space: nowrap;
74
+ text-overflow: ellipsis;
75
+ }
76
+ .ngx-datatable .datatable-body-row,
77
+ .ngx-datatable .datatable-row-center,
78
+ .ngx-datatable .datatable-header-inner {
79
+ display: -webkit-box;
80
+ display: -moz-box;
81
+ display: -ms-flexbox;
82
+ display: -webkit-flex;
83
+ display: flex;
84
+ flex-direction: row;
85
+ -webkit-flex-flow: row;
86
+ -moz-flex-flow: row;
87
+ -ms-flex-flow: row;
88
+ -o-flex-flow: row;
89
+ flex-flow: row;
90
+ }
91
+ .ngx-datatable .datatable-body-cell,
92
+ .ngx-datatable .datatable-header-cell {
93
+ overflow-x: hidden;
94
+ vertical-align: top;
95
+ display: inline-block;
96
+ line-height: 1.625;
97
+ }
98
+ .ngx-datatable .datatable-body-cell:focus,
99
+ .ngx-datatable .datatable-header-cell:focus {
100
+ outline: none;
101
+ }
102
+ .ngx-datatable .datatable-row-left,
103
+ .ngx-datatable .datatable-row-right,
104
+ .ngx-datatable .datatable-group-header {
105
+ z-index: 9;
106
+ position: sticky !important;
107
+ }
108
+ .ngx-datatable .datatable-row-left,
109
+ .ngx-datatable .datatable-group-header {
110
+ left: 0;
111
+ }
112
+ .ngx-datatable .datatable-row-right {
113
+ right: 0;
114
+ }
115
+ .ngx-datatable .datatable-row-center,
116
+ .ngx-datatable .datatable-row-group {
117
+ position: relative;
118
+ }
119
+ .ngx-datatable .datatable-header {
120
+ display: block;
121
+ overflow: hidden;
122
+ }
123
+ .ngx-datatable .datatable-header .datatable-header-inner {
124
+ align-items: stretch;
125
+ -webkit-align-items: stretch;
126
+ }
127
+ .ngx-datatable .datatable-header .datatable-header-cell {
128
+ position: relative;
129
+ display: inline-block;
130
+ }
131
+ .ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper {
132
+ cursor: pointer;
133
+ }
134
+ .ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper {
135
+ cursor: move;
136
+ }
137
+ .ngx-datatable .datatable-header .datatable-header-cell .sort-btn {
138
+ line-height: 100%;
139
+ vertical-align: middle;
140
+ display: inline-block;
141
+ cursor: pointer;
142
+ }
143
+ .ngx-datatable .datatable-header .datatable-header-cell .resize-handle,
144
+ .ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable {
145
+ display: inline-block;
146
+ position: absolute;
147
+ right: 0;
148
+ top: 0;
149
+ bottom: 0;
150
+ width: 5px;
151
+ padding: 0 4px;
152
+ visibility: hidden;
153
+ }
154
+ .ngx-datatable .datatable-header .datatable-header-cell .resize-handle {
155
+ cursor: ew-resize;
156
+ }
157
+ .ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle {
158
+ visibility: visible;
159
+ }
160
+ .ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable {
161
+ visibility: visible;
162
+ }
163
+ .ngx-datatable .datatable-header .datatable-header-cell .targetMarker {
164
+ position: absolute;
165
+ top: 0;
166
+ bottom: 0;
167
+ }
168
+ .ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft {
169
+ right: 0;
170
+ }
171
+ .ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight {
172
+ left: 0;
173
+ }
174
+ .ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap {
175
+ height: inherit;
176
+ }
177
+ .ngx-datatable .datatable-body {
178
+ position: relative;
179
+ z-index: 10;
180
+ display: block;
181
+ overflow: hidden;
182
+ }
183
+ .ngx-datatable .datatable-body .datatable-scroll {
184
+ display: inline-block;
185
+ }
186
+ .ngx-datatable .datatable-body .datatable-row-detail {
187
+ overflow-y: hidden;
188
+ }
189
+ .ngx-datatable .datatable-body .datatable-row-wrapper {
190
+ display: -webkit-box;
191
+ display: -moz-box;
192
+ display: -ms-flexbox;
193
+ display: -webkit-flex;
194
+ display: flex;
195
+ -webkit-box-orient: vertical;
196
+ -webkit-box-direction: normal;
197
+ -webkit-flex-direction: column;
198
+ -moz-box-orient: vertical;
199
+ -moz-box-direction: normal;
200
+ -ms-flex-direction: column;
201
+ flex-direction: column;
202
+ }
203
+ .ngx-datatable .datatable-body .datatable-body-row {
204
+ outline: none;
205
+ }
206
+ .ngx-datatable .datatable-body .datatable-body-row > div {
207
+ display: -webkit-box;
208
+ display: -moz-box;
209
+ display: -ms-flexbox;
210
+ display: -webkit-flex;
211
+ display: flex;
212
+ }
213
+ .ngx-datatable .datatable-footer {
214
+ display: block;
215
+ width: 100%;
216
+ overflow: auto;
217
+ }
218
+ .ngx-datatable .datatable-footer .datatable-footer-inner {
219
+ display: flex;
220
+ align-items: center;
221
+ width: 100%;
222
+ }
223
+ .ngx-datatable .datatable-footer .selected-count .page-count {
224
+ flex: 1 1 40%;
225
+ }
226
+ .ngx-datatable .datatable-footer .selected-count .datatable-pager {
227
+ flex: 1 1 60%;
228
+ }
229
+ .ngx-datatable .datatable-footer .page-count {
230
+ flex: 1 1 20%;
231
+ }
232
+ .ngx-datatable .datatable-footer .datatable-pager {
233
+ flex: 1 1 80%;
234
+ text-align: right;
235
+ }
236
+ .ngx-datatable .datatable-footer .datatable-pager .pager,
237
+ .ngx-datatable .datatable-footer .datatable-pager .pager li {
238
+ padding: 0;
239
+ margin: 0;
240
+ display: inline-block;
241
+ list-style: none;
242
+ }
243
+ .ngx-datatable .datatable-footer .datatable-pager .pager li,
244
+ .ngx-datatable .datatable-footer .datatable-pager .pager li a {
245
+ outline: none;
246
+ }
247
+ .ngx-datatable .datatable-footer .datatable-pager .pager li a {
248
+ cursor: pointer;
249
+ display: inline-block;
250
+ }
251
+ .ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a {
252
+ cursor: not-allowed;
253
+ }
package/index.scss ADDED
@@ -0,0 +1,325 @@
1
+ .ngx-datatable {
2
+ display: block;
3
+ overflow: hidden;
4
+ justify-content: center;
5
+ position: relative;
6
+ transform: translate3d(0, 0, 0);
7
+
8
+ [hidden] {
9
+ display: none !important;
10
+ }
11
+
12
+ *,
13
+ *:before,
14
+ *:after {
15
+ -moz-box-sizing: border-box;
16
+ -webkit-box-sizing: border-box;
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ /**
21
+ * Vertical Scrolling Adjustments
22
+ */
23
+ &.scroll-vertical {
24
+ .datatable-body {
25
+ overflow-y: auto;
26
+ }
27
+ &.virtualized {
28
+ .datatable-body {
29
+ .datatable-row-wrapper {
30
+ position: absolute;
31
+ }
32
+ }
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Horizontal Scrolling Adjustments
38
+ */
39
+ &.scroll-horz {
40
+ .datatable-body {
41
+ overflow-x: auto;
42
+ -webkit-overflow-scrolling: touch;
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Fixed Header Height Adjustments
48
+ */
49
+ &.fixed-header {
50
+ .datatable-header {
51
+ .datatable-header-inner {
52
+ white-space: nowrap;
53
+ .datatable-header-cell {
54
+ white-space: nowrap;
55
+ overflow: hidden;
56
+ text-overflow: ellipsis;
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ /**
63
+ * Fixed row height adjustments
64
+ */
65
+ &.fixed-row {
66
+ .datatable-scroll {
67
+ white-space: nowrap;
68
+
69
+ .datatable-body-row {
70
+ white-space: nowrap;
71
+
72
+ .datatable-body-cell {
73
+ overflow: hidden;
74
+ white-space: nowrap;
75
+ text-overflow: ellipsis;
76
+ }
77
+
78
+ .datatable-body-group-cell {
79
+ overflow: hidden;
80
+ white-space: nowrap;
81
+ text-overflow: ellipsis;
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Shared Styles
89
+ */
90
+ .datatable-body-row,
91
+ .datatable-row-center,
92
+ .datatable-header-inner {
93
+ display: -webkit-box;
94
+ display: -moz-box;
95
+ display: -ms-flexbox;
96
+ display: -webkit-flex;
97
+ display: flex;
98
+
99
+ flex-direction: row;
100
+ -webkit-flex-flow: row;
101
+ -moz-flex-flow: row;
102
+ -ms-flex-flow: row;
103
+ -o-flex-flow: row;
104
+ flex-flow: row;
105
+ }
106
+
107
+ .datatable-body-cell,
108
+ .datatable-header-cell {
109
+ overflow-x: hidden;
110
+ vertical-align: top;
111
+ display: inline-block;
112
+ line-height: 1.625;
113
+
114
+ &:focus {
115
+ outline: none;
116
+ }
117
+ }
118
+
119
+ .datatable-row-left,
120
+ .datatable-row-right,
121
+ .datatable-group-header {
122
+ z-index: 9;
123
+ position: sticky !important;
124
+ }
125
+
126
+ .datatable-row-left,
127
+ .datatable-group-header {
128
+ left: 0;
129
+ }
130
+
131
+ .datatable-row-right {
132
+ right: 0;
133
+ }
134
+
135
+ .datatable-row-center,
136
+ .datatable-row-group {
137
+ position: relative;
138
+ }
139
+
140
+ /**
141
+ * Header Styles
142
+ */
143
+ .datatable-header {
144
+ display: block;
145
+ overflow: hidden;
146
+
147
+ .datatable-header-inner {
148
+ align-items: stretch;
149
+ -webkit-align-items: stretch;
150
+ }
151
+
152
+ .datatable-header-cell {
153
+ position: relative;
154
+ display: inline-block;
155
+
156
+ &.sortable {
157
+ .datatable-header-cell-wrapper {
158
+ cursor: pointer;
159
+ }
160
+ }
161
+
162
+ &.longpress .datatable-header-cell-wrapper {
163
+ cursor: move;
164
+ }
165
+
166
+ .sort-btn {
167
+ line-height: 100%;
168
+ vertical-align: middle;
169
+ display: inline-block;
170
+ cursor: pointer;
171
+ }
172
+
173
+ .resize-handle,
174
+ .resize-handle--not-resizable {
175
+ display: inline-block;
176
+ position: absolute;
177
+ right: 0;
178
+ top: 0;
179
+ bottom: 0;
180
+ width: 5px;
181
+ padding: 0 4px;
182
+ visibility: hidden;
183
+ }
184
+
185
+ .resize-handle {
186
+ cursor: ew-resize;
187
+ }
188
+
189
+ &.resizeable:hover {
190
+ .resize-handle {
191
+ visibility: visible;
192
+ }
193
+ }
194
+
195
+ &:hover {
196
+ .resize-handle--not-resizable {
197
+ visibility: visible;
198
+ }
199
+ }
200
+
201
+ .targetMarker {
202
+ position: absolute;
203
+ top: 0;
204
+ bottom: 0;
205
+
206
+ &.dragFromLeft {
207
+ right: 0;
208
+ }
209
+
210
+ &.dragFromRight {
211
+ left: 0;
212
+ }
213
+ }
214
+
215
+ .datatable-header-cell-template-wrap {
216
+ height: inherit;
217
+ }
218
+ }
219
+ }
220
+
221
+ /**
222
+ * Body Styles
223
+ */
224
+ .datatable-body {
225
+ position: relative;
226
+ z-index: 10;
227
+ display: block;
228
+ overflow: hidden;
229
+
230
+ .datatable-scroll {
231
+ display: inline-block;
232
+ }
233
+
234
+ .datatable-row-detail {
235
+ overflow-y: hidden;
236
+ }
237
+
238
+ .datatable-row-wrapper {
239
+ display: -webkit-box;
240
+ display: -moz-box;
241
+ display: -ms-flexbox;
242
+ display: -webkit-flex;
243
+ display: flex;
244
+
245
+ -webkit-box-orient: vertical;
246
+ -webkit-box-direction: normal;
247
+ -webkit-flex-direction: column;
248
+ -moz-box-orient: vertical;
249
+ -moz-box-direction: normal;
250
+ -ms-flex-direction: column;
251
+ flex-direction: column;
252
+ }
253
+
254
+ .datatable-body-row {
255
+ outline: none;
256
+
257
+ > div {
258
+ display: -webkit-box;
259
+ display: -moz-box;
260
+ display: -ms-flexbox;
261
+ display: -webkit-flex;
262
+ display: flex;
263
+ }
264
+ }
265
+ }
266
+
267
+ /**
268
+ * Footer Styles
269
+ */
270
+ .datatable-footer {
271
+ display: block;
272
+ width: 100%;
273
+ overflow: auto;
274
+
275
+ .datatable-footer-inner {
276
+ display: flex;
277
+ align-items: center;
278
+ width: 100%;
279
+ }
280
+
281
+ .selected-count {
282
+ .page-count {
283
+ flex: 1 1 40%;
284
+ }
285
+ .datatable-pager {
286
+ flex: 1 1 60%;
287
+ }
288
+ }
289
+
290
+ .page-count {
291
+ flex: 1 1 20%;
292
+ }
293
+
294
+ .datatable-pager {
295
+ flex: 1 1 80%;
296
+ text-align: right;
297
+
298
+ .pager,
299
+ .pager li {
300
+ padding: 0;
301
+ margin: 0;
302
+ display: inline-block;
303
+ list-style: none;
304
+ }
305
+
306
+ .pager {
307
+ li,
308
+ li a {
309
+ outline: none;
310
+ }
311
+
312
+ li {
313
+ a {
314
+ cursor: pointer;
315
+ display: inline-block;
316
+ }
317
+
318
+ &.disabled a {
319
+ cursor: not-allowed;
320
+ }
321
+ }
322
+ }
323
+ }
324
+ }
325
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swimlane/ngx-datatable",
3
- "version": "21.0.0-alpha.0",
3
+ "version": "21.0.0",
4
4
  "description": "ngx-datatable is an Angular table grid component for presenting large and complex data.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "17.x || 18.x || 19.x",
@@ -0,0 +1,22 @@
1
+ $datatable-ghost-cell-container-background: #fff !default;
2
+ $datatable-ghost-cell-strip-background: #dee2e5 !default;
3
+ $datatable-ghost-cell-strip-background-image: linear-gradient(
4
+ to right,
5
+ #dee2e5 0%,
6
+ #dee2e5 10%,
7
+ #f0f2f5,
8
+ transparent
9
+ ) !default;
10
+ $datatable-ghost-cell-strip-radius: 4px !default;
11
+ $datatble-ghost-cell-animation-duration: 10s;
12
+
13
+ .ghost-cell-container {
14
+ background: $datatable-ghost-cell-container-background;
15
+ }
16
+
17
+ .ghost-cell-strip {
18
+ background: $datatable-ghost-cell-strip-background;
19
+ background-image: $datatable-ghost-cell-strip-background-image;
20
+ border-radius: $datatable-ghost-cell-strip-radius;
21
+ animation-duration: $datatble-ghost-cell-animation-duration;
22
+ }
@@ -0,0 +1,22 @@
1
+ $disable-row-text-color: #83888e !default;
2
+
3
+ .ngx-datatable {
4
+ .row-disabled {
5
+ color: $disable-row-text-color;
6
+ .datatable-body-cell-label {
7
+ color: $disable-row-text-color;
8
+ }
9
+ }
10
+ .datatable-row-wrapper {
11
+ .datatable-body-row {
12
+ &.row-disabled:hover {
13
+ background-color: inherit;
14
+ transition: none;
15
+ .datatable-row-group {
16
+ background-color: inherit;
17
+ transition: none;
18
+ }
19
+ }
20
+ }
21
+ }
22
+ }