@swimlane/ngx-datatable 21.0.0-alpha.0 → 21.0.0-alpha.1

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.
@@ -0,0 +1,106 @@
1
+ @charset "UTF-8";
2
+
3
+ @font-face {
4
+ font-family: 'data-table';
5
+ src: url('fonts/data-table.eot');
6
+ src: url('fonts/data-table.eot?#iefix') format('embedded-opentype'),
7
+ url('fonts/data-table.woff') format('woff'), url('fonts/data-table.ttf') format('truetype'),
8
+ url('fonts/data-table.svg#data-table') format('svg');
9
+ font-weight: normal;
10
+ font-style: normal;
11
+ }
12
+
13
+ [data-icon]::before {
14
+ font-family: 'data-table' !important;
15
+ content: attr(data-icon);
16
+ font-style: normal !important;
17
+ font-weight: normal !important;
18
+ font-variant: normal !important;
19
+ text-transform: none !important;
20
+ speak: none;
21
+ line-height: 1;
22
+ -webkit-font-smoothing: antialiased;
23
+ -moz-osx-font-smoothing: grayscale;
24
+ }
25
+
26
+ [class^='datatable-icon-']::before,
27
+ [class*=' datatable-icon-']::before {
28
+ font-family: 'data-table' !important;
29
+ font-style: normal !important;
30
+ font-weight: normal !important;
31
+ font-variant: normal !important;
32
+ text-transform: none !important;
33
+ speak: none;
34
+ line-height: 1;
35
+ -webkit-font-smoothing: antialiased;
36
+ -moz-osx-font-smoothing: grayscale;
37
+ }
38
+
39
+ .datatable-icon-filter::before {
40
+ content: '\62';
41
+ }
42
+
43
+ .datatable-icon-collapse::before {
44
+ content: '\61';
45
+ }
46
+
47
+ .datatable-icon-expand::before {
48
+ content: '\63';
49
+ }
50
+
51
+ .datatable-icon-close::before {
52
+ content: '\64';
53
+ }
54
+
55
+ .datatable-icon-up::before {
56
+ content: '\65';
57
+ }
58
+
59
+ .datatable-icon-down::before {
60
+ content: '\66';
61
+ }
62
+
63
+ .datatable-icon-sort-unset::before {
64
+ content: '\63';
65
+ opacity: 0.5;
66
+ }
67
+
68
+ .datatable-icon-sort::before {
69
+ content: '\67';
70
+ }
71
+
72
+ .datatable-icon-done::before {
73
+ content: '\68';
74
+ }
75
+
76
+ .datatable-icon-done-all::before {
77
+ content: '\69';
78
+ }
79
+
80
+ .datatable-icon-search::before {
81
+ content: '\6a';
82
+ }
83
+
84
+ .datatable-icon-pin::before {
85
+ content: '\6b';
86
+ }
87
+
88
+ .datatable-icon-add::before {
89
+ content: '\6d';
90
+ }
91
+
92
+ .datatable-icon-left::before {
93
+ content: '\6f';
94
+ }
95
+
96
+ .datatable-icon-right::before {
97
+ content: '\70';
98
+ }
99
+
100
+ .datatable-icon-skip::before {
101
+ content: '\71';
102
+ }
103
+
104
+ .datatable-icon-prev::before {
105
+ content: '\72';
106
+ }
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-alpha.1",
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
+ }