@semcore/data-table 16.0.0-prerelease.2 → 16.0.0-prerelease.21

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 (152) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/lib/cjs/components/Body/Body.js +439 -0
  3. package/lib/cjs/components/Body/Body.js.map +1 -0
  4. package/lib/cjs/components/Body/Body.types.js +2 -0
  5. package/lib/cjs/components/Body/Body.types.js.map +1 -0
  6. package/lib/cjs/components/Body/Cell.js +195 -0
  7. package/lib/cjs/components/Body/Cell.js.map +1 -0
  8. package/lib/cjs/components/Body/Cell.types.js +2 -0
  9. package/lib/cjs/components/Body/Cell.types.js.map +1 -0
  10. package/lib/cjs/components/Body/MergedCells.js +29 -0
  11. package/lib/cjs/components/Body/MergedCells.js.map +1 -0
  12. package/lib/cjs/components/Body/Row.js +252 -0
  13. package/lib/cjs/components/Body/Row.js.map +1 -0
  14. package/lib/cjs/components/Body/Row.types.js +4 -0
  15. package/lib/cjs/components/Body/Row.types.js.map +1 -0
  16. package/lib/cjs/components/Body/style.shadow.css +263 -0
  17. package/lib/cjs/components/DataTable/DataTable.js +1025 -0
  18. package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
  19. package/lib/cjs/{types.js → components/DataTable/DataTable.types.js} +1 -1
  20. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
  21. package/lib/cjs/components/DataTable/dataTable.shadow.css +17 -0
  22. package/lib/cjs/components/Head/Column.js +311 -0
  23. package/lib/cjs/components/Head/Column.js.map +1 -0
  24. package/lib/cjs/components/Head/Column.types.js +2 -0
  25. package/lib/cjs/components/Head/Column.types.js.map +1 -0
  26. package/lib/cjs/components/Head/Group.js +116 -0
  27. package/lib/cjs/components/Head/Group.js.map +1 -0
  28. package/lib/cjs/components/Head/Group.type.js +2 -0
  29. package/lib/cjs/components/Head/Group.type.js.map +1 -0
  30. package/lib/cjs/components/Head/Head.js +207 -0
  31. package/lib/cjs/components/Head/Head.js.map +1 -0
  32. package/lib/cjs/components/Head/Head.types.js +2 -0
  33. package/lib/cjs/components/Head/Head.types.js.map +1 -0
  34. package/lib/cjs/components/Head/style.shadow.css +180 -0
  35. package/lib/cjs/index.js +25 -15
  36. package/lib/cjs/index.js.map +1 -1
  37. package/lib/cjs/style/scroll-shadows.shadow.css +45 -5
  38. package/lib/cjs/translations/en.json +6 -1
  39. package/lib/es6/components/Body/Body.js +432 -0
  40. package/lib/es6/components/Body/Body.js.map +1 -0
  41. package/lib/es6/components/Body/Body.types.js +2 -0
  42. package/lib/es6/components/Body/Body.types.js.map +1 -0
  43. package/lib/es6/components/Body/Cell.js +188 -0
  44. package/lib/es6/components/Body/Cell.js.map +1 -0
  45. package/lib/es6/components/Body/Cell.types.js +2 -0
  46. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  47. package/lib/es6/components/Body/MergedCells.js +20 -0
  48. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  49. package/lib/es6/components/Body/Row.js +245 -0
  50. package/lib/es6/components/Body/Row.js.map +1 -0
  51. package/lib/es6/components/Body/Row.types.js +2 -0
  52. package/lib/es6/components/Body/Row.types.js.map +1 -0
  53. package/lib/es6/components/Body/style.shadow.css +263 -0
  54. package/lib/es6/components/DataTable/DataTable.js +1013 -0
  55. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  56. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  57. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  58. package/lib/es6/components/DataTable/dataTable.shadow.css +17 -0
  59. package/lib/es6/components/Head/Column.js +304 -0
  60. package/lib/es6/components/Head/Column.js.map +1 -0
  61. package/lib/es6/components/Head/Column.types.js +2 -0
  62. package/lib/es6/components/Head/Column.types.js.map +1 -0
  63. package/lib/es6/components/Head/Group.js +109 -0
  64. package/lib/es6/components/Head/Group.js.map +1 -0
  65. package/lib/es6/components/Head/Group.type.js +2 -0
  66. package/lib/es6/components/Head/Group.type.js.map +1 -0
  67. package/lib/es6/components/Head/Head.js +201 -0
  68. package/lib/es6/components/Head/Head.js.map +1 -0
  69. package/lib/es6/components/Head/Head.types.js +2 -0
  70. package/lib/es6/components/Head/Head.types.js.map +1 -0
  71. package/lib/es6/components/Head/style.shadow.css +180 -0
  72. package/lib/es6/index.js +5 -2
  73. package/lib/es6/index.js.map +1 -1
  74. package/lib/es6/style/scroll-shadows.shadow.css +45 -5
  75. package/lib/es6/translations/en.json +6 -1
  76. package/lib/esm/components/Body/Body.mjs +394 -0
  77. package/lib/esm/components/Body/Cell.mjs +186 -0
  78. package/lib/esm/components/Body/MergedCells.mjs +23 -0
  79. package/lib/esm/components/Body/Row.mjs +224 -0
  80. package/lib/esm/components/Body/style.shadow.css +263 -0
  81. package/lib/esm/components/DataTable/DataTable.mjs +944 -0
  82. package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
  83. package/lib/esm/components/Head/Column.mjs +296 -0
  84. package/lib/esm/components/Head/Group.mjs +103 -0
  85. package/lib/esm/components/Head/Head.mjs +181 -0
  86. package/lib/esm/components/Head/style.shadow.css +180 -0
  87. package/lib/esm/index.mjs +9 -6
  88. package/lib/esm/style/scroll-shadows.shadow.css +47 -0
  89. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +30 -30
  90. package/lib/esm/translations/de.json.mjs +5 -4
  91. package/lib/esm/translations/en.json.mjs +10 -4
  92. package/lib/esm/translations/es.json.mjs +5 -4
  93. package/lib/esm/translations/fr.json.mjs +5 -4
  94. package/lib/esm/translations/it.json.mjs +5 -4
  95. package/lib/esm/translations/ja.json.mjs +5 -4
  96. package/lib/esm/translations/ko.json.mjs +5 -4
  97. package/lib/esm/translations/nl.json.mjs +5 -4
  98. package/lib/esm/translations/pl.json.mjs +5 -4
  99. package/lib/esm/translations/pt.json.mjs +5 -4
  100. package/lib/esm/translations/sv.json.mjs +5 -4
  101. package/lib/esm/translations/tr.json.mjs +5 -4
  102. package/lib/esm/translations/vi.json.mjs +5 -4
  103. package/lib/esm/translations/zh.json.mjs +5 -4
  104. package/lib/types/components/Body/Body.d.ts +8 -0
  105. package/lib/types/components/Body/Body.types.d.ts +57 -0
  106. package/lib/types/components/Body/Cell.d.ts +3 -0
  107. package/lib/types/components/Body/Cell.types.d.ts +20 -0
  108. package/lib/types/components/Body/MergedCells.d.ts +14 -0
  109. package/lib/types/components/Body/Row.d.ts +3 -0
  110. package/lib/types/components/Body/Row.types.d.ts +43 -0
  111. package/lib/types/components/DataTable/DataTable.d.ts +13 -0
  112. package/lib/types/components/DataTable/DataTable.types.d.ts +125 -0
  113. package/lib/types/components/Head/Column.d.ts +30 -0
  114. package/lib/types/components/Head/Column.types.d.ts +71 -0
  115. package/lib/types/components/Head/Group.d.ts +15 -0
  116. package/lib/types/components/Head/Group.type.d.ts +16 -0
  117. package/lib/types/components/Head/Head.d.ts +98 -0
  118. package/lib/types/components/Head/Head.types.d.ts +40 -0
  119. package/lib/types/index.d.ts +10 -2
  120. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +5 -0
  121. package/package.json +11 -6
  122. package/vite.config.ts +0 -3
  123. package/lib/cjs/Body.js +0 -475
  124. package/lib/cjs/Body.js.map +0 -1
  125. package/lib/cjs/DataTable.js +0 -622
  126. package/lib/cjs/DataTable.js.map +0 -1
  127. package/lib/cjs/Head.js +0 -399
  128. package/lib/cjs/Head.js.map +0 -1
  129. package/lib/cjs/style/data-table.shadow.css +0 -394
  130. package/lib/cjs/types.js.map +0 -1
  131. package/lib/cjs/utils.js +0 -57
  132. package/lib/cjs/utils.js.map +0 -1
  133. package/lib/es6/Body.js +0 -468
  134. package/lib/es6/Body.js.map +0 -1
  135. package/lib/es6/DataTable.js +0 -614
  136. package/lib/es6/DataTable.js.map +0 -1
  137. package/lib/es6/Head.js +0 -391
  138. package/lib/es6/Head.js.map +0 -1
  139. package/lib/es6/style/data-table.shadow.css +0 -394
  140. package/lib/es6/types.js +0 -2
  141. package/lib/es6/types.js.map +0 -1
  142. package/lib/es6/utils.js +0 -48
  143. package/lib/es6/utils.js.map +0 -1
  144. package/lib/esm/Body.mjs +0 -320
  145. package/lib/esm/DataTable.mjs +0 -439
  146. package/lib/esm/Head.mjs +0 -258
  147. package/lib/esm/utils.mjs +0 -37
  148. package/lib/types/Body.d.ts +0 -61
  149. package/lib/types/DataTable.d.ts +0 -205
  150. package/lib/types/Head.d.ts +0 -45
  151. package/lib/types/types.d.ts +0 -73
  152. package/lib/types/utils.d.ts +0 -4
@@ -1,394 +0,0 @@
1
- SDataTable {
2
- position: relative;
3
- }
4
-
5
- SDataTable[compact] {
6
- & SColumn,
7
- & SCell {
8
- padding: var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px);
9
- }
10
- }
11
-
12
- SHeadWrapper {
13
- position: relative;
14
- }
15
-
16
- SHeadWrapper[animationsDisabled] {
17
- SColumn {
18
- transition: none;
19
- }
20
- }
21
-
22
- SHeadWrapper[sticky] {
23
- position: sticky;
24
- top: 0;
25
- z-index: 2;
26
- }
27
-
28
- SHead {
29
- display: flex;
30
- position: relative;
31
- flex-direction: row;
32
- min-width: fit-content;
33
- z-index: 0;
34
- }
35
-
36
- SColumn {
37
- display: flex;
38
- align-items: flex-start;
39
- flex-grow: 1;
40
- font-size: var(--intergalactic-fs-100, 12px);
41
- line-height: var(--intergalactic-lh-100, 133%);
42
- color: var(--intergalactic-text-primary, #191b23);
43
- box-sizing: border-box;
44
- position: relative;
45
- transition: width calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out, min-width calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out, max-width calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
46
- }
47
-
48
- SColumn[hidden] {
49
- position: absolute !important;
50
- width: 1px !important;
51
- height: 1px !important;
52
- padding: 0px !important;
53
- margin: -1px !important;
54
- overflow: hidden !important;
55
- clip: rect(0, 0, 0, 0) !important;
56
- white-space: nowrap !important;
57
- border-width: 0 !important;
58
- }
59
-
60
- SColumn[use='primary'] {
61
- padding: var(--intergalactic-spacing-3x, 12px);
62
- border-bottom: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
63
- background-color: var(--intergalactic-table-th-primary-cell, #f4f5f9);
64
- }
65
-
66
- SColumn[use='secondary'] {
67
- padding: var(--intergalactic-spacing-2x, 8px);
68
- border-bottom: 1px solid var(--intergalactic-border-table-accent, #a9abb6);
69
- background-color: var(--intergalactic-table-th-secondary-cell, #ffffff);
70
- }
71
-
72
- SColumn[group][use] {
73
- display: flex;
74
- flex-wrap: wrap;
75
- flex-direction: column;
76
- align-items: normal;
77
- border-bottom: none;
78
- padding: 0;
79
- }
80
-
81
- SColumn[groupHead] {
82
- justify-content: center;
83
- /* for resizable */
84
- z-index: 1;
85
- border-bottom: none;
86
- }
87
-
88
- SColumn[sortable] {
89
- cursor: pointer;
90
-
91
- &[use='primary']:hover, &[use='primary']:focus {
92
- background-color: var(--intergalactic-table-th-primary-cell-hover, #e0e1e9);
93
- }
94
-
95
- &[justifyContent='right']:hover SSortWrapper, &[justifyContent='right']:focus SSortWrapper {
96
- position: absolute;
97
- flex-basis: 0;
98
- right: var(--intergalactic-spacing-3x, 12px);
99
- }
100
- &[justifyContent='right'][active] SSortWrapper {
101
- position: relative;
102
- flex-basis: inherit;
103
- right: 0;
104
- }
105
-
106
- &:hover SSortWrapper, &:focus SSortWrapper, &[active] SSortWrapper {
107
- flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
108
- opacity: 1;
109
- }
110
-
111
- &:hover SSortWrapper:before, &:focus SSortWrapper:before, &[active] SSortWrapper:before {
112
- display: block;
113
- opacity: 1;
114
- }
115
-
116
- &:hover SSortIcon, &:focus SSortIcon {
117
- display: block;
118
- opacity: 1;
119
- }
120
- }
121
-
122
- SColumn[use='primary'][active] {
123
- background-color: var(--intergalactic-table-th-primary-cell-active, #e0e1e9);
124
- width: 100%;
125
- }
126
-
127
- SColumn[active] SSortIcon {
128
- display: block;
129
- opacity: 1;
130
- }
131
-
132
- SColumn[resizable] {
133
- border-right: 1px solid transparent;
134
-
135
- &:hover:after {
136
- border-right-color: var(--intergalactic-border-table-accent, #a9abb6);
137
- }
138
-
139
- &:after {
140
- content: '';
141
- position: absolute;
142
- bottom: 0;
143
- right: -1px;
144
- height: 100%;
145
- width: 5px;
146
- background: transparent;
147
- cursor: col-resize;
148
- border-right: 1px solid transparent;
149
- }
150
- }
151
-
152
- SColumn[fixed] {
153
- position: sticky;
154
- /* because up resizable */
155
- z-index: 2;
156
- }
157
-
158
- SColumn[borderLeft],
159
- SCell[borderLeft] {
160
- border-left: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
161
- }
162
-
163
- SColumn[borderRight],
164
- SCell[borderRight] {
165
- border-right: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
166
- }
167
-
168
- SSortWrapper {
169
- flex-shrink: 1;
170
- position: relative;
171
- flex-basis: 0;
172
- min-height: 16px;
173
- opacity: 0;
174
- transition: all calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
175
- }
176
-
177
- SSortWrapper:before {
178
- display: none;
179
- content: '';
180
- position: absolute;
181
- top: 0;
182
- right: 0;
183
- width: 20px;
184
- height: 100%;
185
- opacity: 0;
186
- transition: opacity 0.3s ease;
187
- }
188
-
189
- SSortIcon {
190
- display: none;
191
- fill: var(--intergalactic-icon-secondary-neutral-hover-active, #878992);
192
- position: absolute;
193
- top: calc(1em * 1.25 - 16px);
194
- right: 0;
195
- margin-left: var(--intergalactic-spacing-1x, 4px);
196
- opacity: 0;
197
- transition: opacity 0.3s ease;
198
- }
199
-
200
- SColumn[use='primary'] SSortWrapper:before {
201
- background: linear-gradient(
202
- 270deg,
203
- var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,
204
- rgba(224, 225, 233, 0) 105%
205
- );
206
- }
207
-
208
- SColumn[use='secondary'] SSortWrapper:before {
209
- background: linear-gradient(
210
- 270deg,
211
- var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,
212
- rgba(255, 255, 255, 0) 105%
213
- );
214
- }
215
-
216
- SBodyWrapper {
217
- position: relative;
218
- }
219
-
220
- SBody {
221
- display: flex;
222
- flex-direction: column;
223
- position: relative;
224
- min-width: fit-content;
225
- }
226
-
227
- SRow {
228
- display: flex;
229
- flex-direction: row;
230
- position: relative;
231
- }
232
-
233
- /* DEFAULT THEME */
234
- SRow[active] > SCell:not([theme]) {
235
- /* The color is hardcoded because need hex(in figma rgba) */
236
- /* disable-tokens-validator */
237
- background-color: var(--intergalactic-table-td-cell-active, #e6e7ed);
238
- }
239
-
240
- SRow:hover > SCell:not([theme]),
241
- SRow SCell:hover + SGroupCell SCell:not([theme]) {
242
- /* The color is hardcoded because need hex(in figma rgba) */
243
- /* disable-tokens-validator */
244
- background-color: var(--intergalactic-table-td-cell-hover, #f0f0f4);
245
- }
246
-
247
- /* MUTED THEME */
248
- SRow[theme='muted'] SCell:not([theme]) {
249
- background-color: var(--intergalactic-table-td-cell-unread, #f4f5f9);
250
- }
251
-
252
- SRow[theme='muted'][active] > SCell:not([theme]) {
253
- /* The color is hardcoded because need hex(in figma rgba) */
254
- /* disable-tokens-validator */
255
- background-color: var(--intergalactic-table-td-cell-active, #e6e7ed);
256
- }
257
-
258
- SRow:hover > SCell[theme='muted'],
259
- SRow[theme='muted']:hover > SCell:not([theme]),
260
- SRow[theme='muted'] SCell:hover + SGroupCell SCell:not([theme]) {
261
- /* The color is hardcoded because need hex(in figma rgba) */
262
- /* disable-tokens-validator */
263
- background-color: var(--intergalactic-table-td-cell-hover, #f0f0f4);
264
- }
265
-
266
- /* INFO THEME */
267
- SRow[theme='info'] SCell:not([theme]) {
268
- background-color: var(--intergalactic-table-td-cell-selected, #e9f7ff);
269
- }
270
-
271
- SRow[theme='info'][active] > SCell:not([theme]) {
272
- background-color: var(--intergalactic-table-td-cell-selected-active, #c4e5fe);
273
- }
274
-
275
- SRow:hover > SCell[theme='info'],
276
- SRow[theme='info']:hover > SCell:not([theme]),
277
- SRow[theme='info'] SCell:hover + SGroupCell SCell:not([theme]) {
278
- background-color: var(--intergalactic-table-td-cell-selected-hover, #c4e5fe);
279
- }
280
-
281
- /* SUCCESS THEME */
282
- SRow[theme='success'] SCell:not([theme]) {
283
- background-color: var(--intergalactic-table-td-cell-new, #dbfee8);
284
- }
285
-
286
- SRow[theme='success'][active] > SCell:not([theme]) {
287
- background-color: var(--intergalactic-table-td-cell-new-active, #9ef2c9);
288
- }
289
-
290
- SRow:hover > SCell[theme='success'],
291
- SRow[theme='success']:hover > SCell:not([theme]),
292
- SRow[theme='success'] SCell:hover + SGroupCell SCell:not([theme]) {
293
- background-color: var(--intergalactic-table-td-cell-new-hover, #9ef2c9);
294
- }
295
-
296
- /* WARNING THEME */
297
- SRow[theme='warning'] SCell:not([theme]) {
298
- background-color: var(--intergalactic-table-td-cell-warning, #fff3d9);
299
- }
300
-
301
- SRow[theme='warning'][active] > SCell:not([theme]) {
302
- background-color: var(--intergalactic-table-td-cell-warning-active, #ffdca2);
303
- }
304
-
305
- SRow:hover > SCell[theme='warning'],
306
- SRow[theme='warning']:hover > SCell:not([theme]),
307
- SRow[theme='warning'] SCell:hover + SGroupCell SCell:not([theme]) {
308
- background-color: var(--intergalactic-table-td-cell-warning-hover, #ffdca2);
309
- }
310
-
311
- /* DANGER THEME */
312
- SRow[theme='danger'] SCell:not([theme]) {
313
- background-color: var(--intergalactic-table-td-cell-critical, #fff0f7);
314
- }
315
-
316
- SRow[theme='danger'][active] > SCell:not([theme]) {
317
- background-color: var(--intergalactic-table-td-cell-critical-active, #ffd7df);
318
- }
319
-
320
- SRow:hover > SCell[theme='danger'],
321
- SRow[theme='danger']:hover > SCell:not([theme]),
322
- SRow[theme='danger'] SCell:hover + SGroupCell SCell:not([theme]) {
323
- background-color: var(--intergalactic-table-td-cell-critical-hover, #ffd7df);
324
- }
325
-
326
- SRow[positioned] {
327
- position: absolute;
328
- }
329
-
330
- SBody[animationsDisabled] SCell {
331
- transition: none;
332
- }
333
-
334
- SCell {
335
- display: flex;
336
- flex: 1;
337
- flex-basis: auto;
338
- font-size: var(--intergalactic-fs-200, 14px);
339
- line-height: var(--intergalactic-lh-200, 142%);
340
- color: var(--intergalactic-text-primary, #191b23);
341
- box-sizing: border-box;
342
- border-bottom: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
343
- overflow: hidden;
344
- white-space: nowrap;
345
- font-variant-numeric: tabular-nums;
346
- transition: width calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
347
- outline: none;
348
- }
349
-
350
- SCell[use='primary'] {
351
- padding: var(--intergalactic-spacing-3x, 12px);
352
- min-height: 45px;
353
- background-color: var(--intergalactic-bg-primary-neutral, #ffffff);
354
- }
355
-
356
- SCell[use='secondary'] {
357
- padding: var(--intergalactic-spacing-2x, 8px);
358
- min-height: 37px;
359
- background-color: var(--intergalactic-bg-primary-neutral, #ffffff);
360
- }
361
-
362
- SCell[fixed] {
363
- position: sticky;
364
- z-index: 1;
365
- }
366
-
367
- SCell[theme='muted'] {
368
- background-color: var(--intergalactic-table-td-cell-unread, #f4f5f9);
369
- }
370
-
371
- SCell[theme='info'] {
372
- background-color: var(--intergalactic-table-td-cell-selected, #e9f7ff);
373
- }
374
-
375
- SCell[theme='success'] {
376
- background-color: var(--intergalactic-table-td-cell-new, #dbfee8);
377
- }
378
-
379
- SCell[theme='warning'] {
380
- background-color: var(--intergalactic-table-td-cell-warning, #fff3d9);
381
- }
382
-
383
- SCell[theme='danger'] {
384
- background-color: var(--intergalactic-table-td-cell-critical, #fff0f7);
385
- }
386
-
387
- SHeightHold {
388
- position: absolute;
389
- top: 0;
390
- width: 100%;
391
- pointer-events: none;
392
- /* should be under other layers */
393
- z-index: -1;
394
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":["_DataTable","require"],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\nimport { FlexProps } from '@semcore/flex-box';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n vBorders?: boolean;\n borderLeft?: boolean;\n borderRight?: boolean;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & FlexProps &\n Partial<{\n flex: Property.Flex;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n vBorders: boolean;\n borderLeft: Property.BorderLeft;\n borderRight: Property.BorderLeft;\n changeSortSize?: boolean;\n sortSizeRecalculation?: boolean;\n }> &\n Props;\n columns: Column[];\n parentColumns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n\nexport type RowIndex = number;\nexport type ColIndex = number;\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
package/lib/cjs/utils.js DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getScrollOffsetValue = exports.getFixedStyle = exports.flattenColumns = void 0;
7
- var getScrollOffsetValue = function getScrollOffsetValue(columns) {
8
- return columns.reduce(function (acc, column) {
9
- if (column.fixed === 'left') {
10
- acc[0] += column.width;
11
- }
12
- if (column.fixed === 'right') {
13
- acc[1] += column.width;
14
- }
15
- return acc;
16
- }, [0, 0]);
17
- };
18
- exports.getScrollOffsetValue = getScrollOffsetValue;
19
- var flattenColumns = function flattenColumns(columns) {
20
- return columns.reduce(function (acc, column) {
21
- var hasNestedColumns = 'columns' in column && column.columns.length > 0;
22
- var columns = hasNestedColumns ? flattenColumns(column.columns) : [column];
23
- acc = acc.concat(columns);
24
- return acc;
25
- }, []);
26
- };
27
- exports.flattenColumns = flattenColumns;
28
- var getFixedStyle = function getFixedStyle(cell, columns) {
29
- var side = cell.fixed;
30
- if (!side) return [undefined, undefined];
31
- var names = cell.name.split('/');
32
- var nameSideMap = {
33
- left: names[0],
34
- right: names[names.length - 1]
35
- };
36
- var name = nameSideMap[side];
37
- var index = columns.findIndex(function (column) {
38
- return column.name === name;
39
- });
40
- if (index === -1) return [undefined, undefined];
41
- var startIndexSideMap = {
42
- left: 0,
43
- right: index + 1
44
- };
45
- var endIndexSideMap = {
46
- left: index,
47
- right: columns.length
48
- };
49
- var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
50
- if (columnsFixed.length < 1) return [side, 0];
51
- var vars = columnsFixed.map(function (column) {
52
- return "var(--".concat(column.name, "_width)");
53
- });
54
- return [side, vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")")];
55
- };
56
- exports.getFixedStyle = getFixedStyle;
57
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","width","exports","flattenColumns","hasNestedColumns","length","concat","getFixedStyle","cell","side","undefined","names","name","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","vars","map","join"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { Column } from './types';\n\nexport const getScrollOffsetValue = (columns: Column[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.width;\n }\n if (column.fixed === 'right') {\n acc[1] += column.width;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nexport const flattenColumns = (columns: Column[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: Column[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as Column[]);\n\nexport const getFixedStyle = (\n cell: Pick<Column, 'name' | 'fixed'>,\n columns: Column[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index + 1,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const vars = columnsFixed.map((column) => `var(--${column.name}_width)`);\n return [side, vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`];\n};\n"],"mappings":"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"}