@semcore/data-table 4.50.2 → 4.51.0-prerelease.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 (237) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/components/AccordionRows/AccordionRows.js +177 -0
  3. package/lib/cjs/components/AccordionRows/AccordionRows.js.map +1 -0
  4. package/lib/cjs/components/Body/Body.js +445 -0
  5. package/lib/cjs/components/Body/Body.js.map +1 -0
  6. package/lib/cjs/components/Body/Body.types.js +2 -0
  7. package/lib/cjs/components/Body/Body.types.js.map +1 -0
  8. package/lib/cjs/components/Body/Cell.js +205 -0
  9. package/lib/cjs/components/Body/Cell.js.map +1 -0
  10. package/lib/cjs/components/Body/Cell.types.js +2 -0
  11. package/lib/cjs/components/Body/Cell.types.js.map +1 -0
  12. package/lib/cjs/components/Body/LimitOverlay.js +191 -0
  13. package/lib/cjs/components/Body/LimitOverlay.js.map +1 -0
  14. package/lib/cjs/components/Body/MergedCells.js +31 -0
  15. package/lib/cjs/components/Body/MergedCells.js.map +1 -0
  16. package/lib/cjs/components/Body/Row.js +630 -0
  17. package/lib/cjs/components/Body/Row.js.map +1 -0
  18. package/lib/cjs/components/Body/Row.types.js +2 -0
  19. package/lib/cjs/components/Body/Row.types.js.map +1 -0
  20. package/lib/cjs/components/Body/RowGroup.js +118 -0
  21. package/lib/cjs/components/Body/RowGroup.js.map +1 -0
  22. package/lib/cjs/components/Body/style.shadow.css +367 -0
  23. package/lib/cjs/components/DataTable/DataTable.js +1303 -0
  24. package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
  25. package/lib/cjs/components/DataTable/DataTable.types.js +2 -0
  26. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
  27. package/lib/cjs/components/DataTable/ScrollBars.js +63 -0
  28. package/lib/cjs/components/DataTable/ScrollBars.js.map +1 -0
  29. package/lib/cjs/components/DataTable/dataTable.shadow.css +43 -0
  30. package/lib/cjs/components/Head/Column.js +350 -0
  31. package/lib/cjs/components/Head/Column.js.map +1 -0
  32. package/lib/cjs/components/Head/Column.types.js +2 -0
  33. package/lib/cjs/components/Head/Column.types.js.map +1 -0
  34. package/lib/cjs/components/Head/Group.js +116 -0
  35. package/lib/cjs/components/Head/Group.js.map +1 -0
  36. package/lib/cjs/components/Head/Group.type.js +2 -0
  37. package/lib/cjs/components/Head/Group.type.js.map +1 -0
  38. package/lib/cjs/components/Head/Head.js +350 -0
  39. package/lib/cjs/components/Head/Head.js.map +1 -0
  40. package/lib/cjs/components/Head/Head.types.js +2 -0
  41. package/lib/cjs/components/Head/Head.types.js.map +1 -0
  42. package/lib/cjs/components/Head/style.shadow.css +292 -0
  43. package/lib/cjs/components/RowSelector/RowsSelector.js +132 -0
  44. package/lib/cjs/components/RowSelector/RowsSelector.js.map +1 -0
  45. package/lib/cjs/components/RowSelector/SRAnnouncer.js +62 -0
  46. package/lib/cjs/components/RowSelector/SRAnnouncer.js.map +1 -0
  47. package/lib/cjs/components/RowSelector/SRReactiveAnnouncer.js +39 -0
  48. package/lib/cjs/components/RowSelector/SRReactiveAnnouncer.js.map +1 -0
  49. package/lib/cjs/enhancers/focusableCell.js +76 -0
  50. package/lib/cjs/enhancers/focusableCell.js.map +1 -0
  51. package/lib/cjs/index.js +38 -15
  52. package/lib/cjs/index.js.map +1 -1
  53. package/lib/cjs/store/SelectableRows.js +211 -0
  54. package/lib/cjs/store/SelectableRows.js.map +1 -0
  55. package/lib/cjs/style/scroll-shadows.shadow.css +50 -5
  56. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +4 -5
  57. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  58. package/lib/cjs/translations/de.json +6 -1
  59. package/lib/cjs/translations/en.json +6 -1
  60. package/lib/cjs/translations/es.json +6 -1
  61. package/lib/cjs/translations/fr.json +6 -1
  62. package/lib/cjs/translations/it.json +6 -1
  63. package/lib/cjs/translations/ja.json +6 -1
  64. package/lib/cjs/translations/ko.json +6 -1
  65. package/lib/cjs/translations/nl.json +6 -1
  66. package/lib/cjs/translations/pl.json +6 -1
  67. package/lib/cjs/translations/pt.json +6 -1
  68. package/lib/cjs/translations/sv.json +6 -1
  69. package/lib/cjs/translations/tr.json +6 -1
  70. package/lib/cjs/translations/vi.json +6 -1
  71. package/lib/cjs/translations/zh.json +6 -1
  72. package/lib/es6/components/AccordionRows/AccordionRows.js +171 -0
  73. package/lib/es6/components/AccordionRows/AccordionRows.js.map +1 -0
  74. package/lib/es6/components/Body/Body.js +439 -0
  75. package/lib/es6/components/Body/Body.js.map +1 -0
  76. package/lib/es6/components/Body/Body.types.js +2 -0
  77. package/lib/es6/components/Body/Body.types.js.map +1 -0
  78. package/lib/es6/components/Body/Cell.js +199 -0
  79. package/lib/es6/components/Body/Cell.js.map +1 -0
  80. package/lib/es6/components/Body/Cell.types.js +2 -0
  81. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  82. package/lib/es6/components/Body/LimitOverlay.js +184 -0
  83. package/lib/es6/components/Body/LimitOverlay.js.map +1 -0
  84. package/lib/es6/components/Body/MergedCells.js +24 -0
  85. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  86. package/lib/es6/components/Body/Row.js +624 -0
  87. package/lib/es6/components/Body/Row.js.map +1 -0
  88. package/lib/es6/components/Body/Row.types.js +2 -0
  89. package/lib/es6/components/Body/Row.types.js.map +1 -0
  90. package/lib/es6/components/Body/RowGroup.js +111 -0
  91. package/lib/es6/components/Body/RowGroup.js.map +1 -0
  92. package/lib/es6/components/Body/style.shadow.css +367 -0
  93. package/lib/es6/components/DataTable/DataTable.js +1298 -0
  94. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  95. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  96. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  97. package/lib/es6/components/DataTable/ScrollBars.js +57 -0
  98. package/lib/es6/components/DataTable/ScrollBars.js.map +1 -0
  99. package/lib/es6/components/DataTable/dataTable.shadow.css +43 -0
  100. package/lib/es6/components/Head/Column.js +344 -0
  101. package/lib/es6/components/Head/Column.js.map +1 -0
  102. package/lib/es6/components/Head/Column.types.js +2 -0
  103. package/lib/es6/components/Head/Column.types.js.map +1 -0
  104. package/lib/es6/components/Head/Group.js +111 -0
  105. package/lib/es6/components/Head/Group.js.map +1 -0
  106. package/lib/es6/components/Head/Group.type.js +2 -0
  107. package/lib/es6/components/Head/Group.type.js.map +1 -0
  108. package/lib/es6/components/Head/Head.js +345 -0
  109. package/lib/es6/components/Head/Head.js.map +1 -0
  110. package/lib/es6/components/Head/Head.types.js +2 -0
  111. package/lib/es6/components/Head/Head.types.js.map +1 -0
  112. package/lib/es6/components/Head/style.shadow.css +292 -0
  113. package/lib/es6/components/RowSelector/RowsSelector.js +125 -0
  114. package/lib/es6/components/RowSelector/RowsSelector.js.map +1 -0
  115. package/lib/es6/components/RowSelector/SRAnnouncer.js +55 -0
  116. package/lib/es6/components/RowSelector/SRAnnouncer.js.map +1 -0
  117. package/lib/es6/components/RowSelector/SRReactiveAnnouncer.js +32 -0
  118. package/lib/es6/components/RowSelector/SRReactiveAnnouncer.js.map +1 -0
  119. package/lib/es6/enhancers/focusableCell.js +69 -0
  120. package/lib/es6/enhancers/focusableCell.js.map +1 -0
  121. package/lib/es6/index.js +7 -2
  122. package/lib/es6/index.js.map +1 -1
  123. package/lib/es6/store/SelectableRows.js +204 -0
  124. package/lib/es6/store/SelectableRows.js.map +1 -0
  125. package/lib/es6/style/scroll-shadows.shadow.css +50 -5
  126. package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
  127. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  128. package/lib/es6/translations/de.json +6 -1
  129. package/lib/es6/translations/en.json +6 -1
  130. package/lib/es6/translations/es.json +6 -1
  131. package/lib/es6/translations/fr.json +6 -1
  132. package/lib/es6/translations/it.json +6 -1
  133. package/lib/es6/translations/ja.json +6 -1
  134. package/lib/es6/translations/ko.json +6 -1
  135. package/lib/es6/translations/nl.json +6 -1
  136. package/lib/es6/translations/pl.json +6 -1
  137. package/lib/es6/translations/pt.json +6 -1
  138. package/lib/es6/translations/sv.json +6 -1
  139. package/lib/es6/translations/tr.json +6 -1
  140. package/lib/es6/translations/vi.json +6 -1
  141. package/lib/es6/translations/zh.json +6 -1
  142. package/lib/esm/components/AccordionRows/AccordionRows.mjs +155 -0
  143. package/lib/esm/components/Body/Body.mjs +395 -0
  144. package/lib/esm/components/Body/Cell.mjs +192 -0
  145. package/lib/esm/components/Body/LimitOverlay.mjs +179 -0
  146. package/lib/esm/components/Body/MergedCells.mjs +27 -0
  147. package/lib/esm/components/Body/Row.mjs +556 -0
  148. package/lib/esm/components/Body/RowGroup.mjs +113 -0
  149. package/lib/esm/components/Body/style.shadow.css +367 -0
  150. package/lib/esm/components/DataTable/DataTable.mjs +1216 -0
  151. package/lib/esm/components/DataTable/ScrollBars.mjs +61 -0
  152. package/lib/esm/components/DataTable/dataTable.shadow.css +43 -0
  153. package/lib/esm/components/Head/Column.mjs +321 -0
  154. package/lib/esm/components/Head/Group.mjs +111 -0
  155. package/lib/esm/components/Head/Head.mjs +307 -0
  156. package/lib/esm/components/Head/style.shadow.css +292 -0
  157. package/lib/esm/components/RowSelector/RowsSelector.mjs +105 -0
  158. package/lib/esm/components/RowSelector/SRAnnouncer.mjs +51 -0
  159. package/lib/esm/components/RowSelector/SRReactiveAnnouncer.mjs +31 -0
  160. package/lib/esm/enhancers/focusableCell.mjs +72 -0
  161. package/lib/esm/index.mjs +12 -5
  162. package/lib/esm/store/SelectableRows.mjs +201 -0
  163. package/lib/esm/style/scroll-shadows.shadow.css +50 -5
  164. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
  165. package/lib/esm/translations/de.json.mjs +6 -1
  166. package/lib/esm/translations/en.json.mjs +6 -1
  167. package/lib/esm/translations/es.json.mjs +6 -1
  168. package/lib/esm/translations/fr.json.mjs +6 -1
  169. package/lib/esm/translations/it.json.mjs +6 -1
  170. package/lib/esm/translations/ja.json.mjs +6 -1
  171. package/lib/esm/translations/ko.json.mjs +6 -1
  172. package/lib/esm/translations/nl.json.mjs +6 -1
  173. package/lib/esm/translations/pl.json.mjs +6 -1
  174. package/lib/esm/translations/pt.json.mjs +6 -1
  175. package/lib/esm/translations/sv.json.mjs +6 -1
  176. package/lib/esm/translations/tr.json.mjs +6 -1
  177. package/lib/esm/translations/vi.json.mjs +6 -1
  178. package/lib/esm/translations/zh.json.mjs +6 -1
  179. package/lib/types/components/AccordionRows/AccordionRows.d.ts +41 -0
  180. package/lib/types/components/Body/Body.d.ts +6 -0
  181. package/lib/types/components/Body/Body.types.d.ts +87 -0
  182. package/lib/types/components/Body/Cell.d.ts +1 -0
  183. package/lib/types/components/Body/Cell.types.d.ts +36 -0
  184. package/lib/types/components/Body/LimitOverlay.d.ts +17 -0
  185. package/lib/types/components/Body/MergedCells.d.ts +17 -0
  186. package/lib/types/components/Body/Row.d.ts +47 -0
  187. package/lib/types/components/Body/Row.types.d.ts +74 -0
  188. package/lib/types/components/Body/RowGroup.d.ts +19 -0
  189. package/lib/types/components/DataTable/DataTable.d.ts +14 -0
  190. package/lib/types/components/DataTable/DataTable.types.d.ts +202 -0
  191. package/lib/types/components/DataTable/ScrollBars.d.ts +11 -0
  192. package/lib/types/components/Head/Column.d.ts +39 -0
  193. package/lib/types/components/Head/Column.types.d.ts +85 -0
  194. package/lib/types/components/Head/Group.d.ts +15 -0
  195. package/lib/types/components/Head/Group.type.d.ts +18 -0
  196. package/lib/types/components/Head/Head.d.ts +9 -0
  197. package/lib/types/components/Head/Head.types.d.ts +58 -0
  198. package/lib/types/components/RowSelector/RowsSelector.d.ts +32 -0
  199. package/lib/types/components/RowSelector/SRAnnouncer.d.ts +10 -0
  200. package/lib/types/components/RowSelector/SRReactiveAnnouncer.d.ts +8 -0
  201. package/lib/types/enhancers/focusableCell.d.ts +9 -0
  202. package/lib/types/index.d.ts +10 -2
  203. package/lib/types/store/SelectableRows.d.ts +60 -0
  204. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +70 -0
  205. package/package.json +6 -6
  206. package/lib/cjs/Body.js +0 -477
  207. package/lib/cjs/Body.js.map +0 -1
  208. package/lib/cjs/DataTable.js +0 -629
  209. package/lib/cjs/DataTable.js.map +0 -1
  210. package/lib/cjs/Head.js +0 -398
  211. package/lib/cjs/Head.js.map +0 -1
  212. package/lib/cjs/style/data-table.shadow.css +0 -413
  213. package/lib/cjs/types.js +0 -4
  214. package/lib/cjs/types.js.map +0 -1
  215. package/lib/cjs/utils.js +0 -57
  216. package/lib/cjs/utils.js.map +0 -1
  217. package/lib/es6/Body.js +0 -469
  218. package/lib/es6/Body.js.map +0 -1
  219. package/lib/es6/DataTable.js +0 -619
  220. package/lib/es6/DataTable.js.map +0 -1
  221. package/lib/es6/Head.js +0 -390
  222. package/lib/es6/Head.js.map +0 -1
  223. package/lib/es6/style/data-table.shadow.css +0 -413
  224. package/lib/es6/types.js +0 -2
  225. package/lib/es6/types.js.map +0 -1
  226. package/lib/es6/utils.js +0 -48
  227. package/lib/es6/utils.js.map +0 -1
  228. package/lib/esm/Body.mjs +0 -430
  229. package/lib/esm/DataTable.mjs +0 -589
  230. package/lib/esm/Head.mjs +0 -368
  231. package/lib/esm/style/data-table.shadow.css +0 -413
  232. package/lib/esm/utils.mjs +0 -52
  233. package/lib/types/Body.d.ts +0 -61
  234. package/lib/types/DataTable.d.ts +0 -205
  235. package/lib/types/Head.d.ts +0 -45
  236. package/lib/types/types.d.ts +0 -73
  237. package/lib/types/utils.d.ts +0 -4
@@ -1,413 +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
-
46
- &:focus-visible {
47
- outline: none;
48
- box-shadow: inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
49
- }
50
-
51
- 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;
52
- }
53
-
54
- SColumn[hidden] {
55
- position: absolute !important;
56
- width: 1px !important;
57
- height: 1px !important;
58
- padding: 0px !important;
59
- margin: -1px !important;
60
- overflow: hidden !important;
61
- clip: rect(0, 0, 0, 0) !important;
62
- white-space: nowrap !important;
63
- border-width: 0 !important;
64
- }
65
-
66
- SColumn[use='primary'] {
67
- padding: var(--intergalactic-spacing-3x, 12px);
68
- border-bottom: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
69
- background-color: var(--intergalactic-table-th-primary-cell, #f4f5f9);
70
- }
71
-
72
- SColumn[use='secondary'] {
73
- padding: var(--intergalactic-spacing-2x, 8px);
74
- border-bottom: 1px solid var(--intergalactic-border-table-accent, #a9abb6);
75
- background-color: var(--intergalactic-table-th-secondary-cell, #ffffff);
76
- }
77
-
78
- SColumn[group][use] {
79
- display: flex;
80
- flex-wrap: wrap;
81
- flex-direction: column;
82
- align-items: normal;
83
- border-bottom: none;
84
- padding: 0;
85
- }
86
-
87
- SColumn[groupHead] {
88
- justify-content: center;
89
- /* for resizable */
90
- z-index: 1;
91
- border-bottom: none;
92
- }
93
-
94
- SColumn[sortable] {
95
- cursor: pointer;
96
-
97
- &[use='primary']:hover, &[use='primary']:focus {
98
- background-color: var(--intergalactic-table-th-primary-cell-hover, #e0e1e9);
99
- }
100
-
101
- &[justifyContent='right']:hover SSortWrapper, &[justifyContent='right']:focus SSortWrapper {
102
- position: absolute;
103
- flex-basis: 0;
104
- right: var(--intergalactic-spacing-3x, 12px);
105
- }
106
- &[justifyContent='right'][active] SSortWrapper {
107
- position: relative;
108
- flex-basis: inherit;
109
- right: 0;
110
- }
111
-
112
- &:hover SSortWrapper, &:focus SSortWrapper, &[active] SSortWrapper {
113
- flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
114
- opacity: 1;
115
- }
116
-
117
- &:hover SSortWrapper:before, &:focus SSortWrapper:before, &[active] SSortWrapper:before {
118
- display: block;
119
- opacity: 1;
120
- }
121
-
122
- &:hover SSortIcon, &:focus SSortIcon {
123
- display: block;
124
- opacity: 1;
125
- }
126
- }
127
-
128
- SColumn[use='primary'][active] {
129
- background-color: var(--intergalactic-table-th-primary-cell-active, #e0e1e9);
130
- width: 100%;
131
- }
132
-
133
- SColumn[active] SSortIcon {
134
- display: block;
135
- opacity: 1;
136
- }
137
-
138
- SColumn[resizable] {
139
- border-right: 1px solid transparent;
140
-
141
- &:hover:after {
142
- border-right-color: var(--intergalactic-border-table-accent, #a9abb6);
143
- }
144
-
145
- &:after {
146
- content: '';
147
- position: absolute;
148
- bottom: 0;
149
- right: -1px;
150
- height: 100%;
151
- width: 5px;
152
- background: transparent;
153
- cursor: col-resize;
154
- border-right: 1px solid transparent;
155
- }
156
- }
157
-
158
- SColumn[fixed] {
159
- position: sticky;
160
- /* because up resizable */
161
- z-index: 2;
162
- }
163
-
164
- SColumn[borderLeft],
165
- SCell[borderLeft] {
166
- border-left: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
167
- }
168
-
169
- SColumn[borderRight],
170
- SCell[borderRight] {
171
- border-right: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
172
- }
173
-
174
- SSortWrapper {
175
- flex-shrink: 1;
176
- position: relative;
177
- flex-basis: 0;
178
- min-height: 16px;
179
- opacity: 0;
180
- transition: all calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
181
- }
182
-
183
- SSortWrapper:before {
184
- display: none;
185
- content: '';
186
- position: absolute;
187
- top: 0;
188
- right: 0;
189
- width: 20px;
190
- height: 100%;
191
- opacity: 0;
192
- transition: opacity 0.3s ease;
193
- }
194
-
195
- SSortIcon {
196
- display: none;
197
- fill: var(--intergalactic-icon-secondary-neutral-hover-active, #878992);
198
- position: absolute;
199
- top: calc(1em * 1.25 - 16px);
200
- right: 0;
201
- margin-left: var(--intergalactic-spacing-1x, 4px);
202
- opacity: 0;
203
- transition: opacity 0.3s ease;
204
- }
205
-
206
- SColumn[use='primary'] SSortWrapper:before {
207
- background: linear-gradient(
208
- 270deg,
209
- var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,
210
- rgba(224, 225, 233, 0) 105%
211
- );
212
- }
213
-
214
- SColumn[use='secondary'] SSortWrapper:before {
215
- background: linear-gradient(
216
- 270deg,
217
- var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,
218
- rgba(255, 255, 255, 0) 105%
219
- );
220
- }
221
-
222
- SBodyWrapper {
223
- position: relative;
224
- }
225
-
226
- SBody {
227
- display: flex;
228
- flex-direction: column;
229
- position: relative;
230
- min-width: fit-content;
231
- }
232
-
233
- SRow {
234
- display: flex;
235
- flex-direction: row;
236
- position: relative;
237
- }
238
-
239
- /* DEFAULT THEME */
240
- SRow[active] > SCell:not([theme]) {
241
- /* The color is hardcoded because need hex(in figma rgba) */
242
- /* disable-tokens-validator */
243
- background-color: var(--intergalactic-table-td-cell-active, #e6e7ed);
244
- }
245
-
246
- SRow:hover > SCell:not([theme]),
247
- SRow SCell:hover + SGroupCell SCell:not([theme]) {
248
- /* The color is hardcoded because need hex(in figma rgba) */
249
- /* disable-tokens-validator */
250
- background-color: var(--intergalactic-table-td-cell-hover, #f0f0f4);
251
- }
252
-
253
- /* MUTED THEME */
254
- SRow[theme='muted'] SCell:not([theme]) {
255
- background-color: var(--intergalactic-table-td-cell-unread, #f4f5f9);
256
- }
257
-
258
- SRow[theme='muted'][active] > SCell:not([theme]) {
259
- /* The color is hardcoded because need hex(in figma rgba) */
260
- /* disable-tokens-validator */
261
- background-color: var(--intergalactic-table-td-cell-active, #e6e7ed);
262
- }
263
-
264
- SRow:hover > SCell[theme='muted'],
265
- SRow[theme='muted']:hover > SCell:not([theme]),
266
- SRow[theme='muted'] SCell:hover + SGroupCell SCell:not([theme]) {
267
- /* The color is hardcoded because need hex(in figma rgba) */
268
- /* disable-tokens-validator */
269
- background-color: var(--intergalactic-table-td-cell-hover, #f0f0f4);
270
- }
271
-
272
- /* INFO THEME */
273
- SRow[theme='info'] SCell:not([theme]) {
274
- background-color: var(--intergalactic-table-td-cell-selected, #e9f7ff);
275
- }
276
-
277
- SRow[theme='info'][active] > SCell:not([theme]) {
278
- background-color: var(--intergalactic-table-td-cell-selected-active, #c4e5fe);
279
- }
280
-
281
- SRow:hover > SCell[theme='info'],
282
- SRow[theme='info']:hover > SCell:not([theme]),
283
- SRow[theme='info'] SCell:hover + SGroupCell SCell:not([theme]) {
284
- background-color: var(--intergalactic-table-td-cell-selected-hover, #c4e5fe);
285
- }
286
-
287
- /* SUCCESS THEME */
288
- SRow[theme='success'] SCell:not([theme]) {
289
- background-color: var(--intergalactic-table-td-cell-new, #dbfee8);
290
- }
291
-
292
- SRow[theme='success'][active] > SCell:not([theme]) {
293
- background-color: var(--intergalactic-table-td-cell-new-active, #9ef2c9);
294
- }
295
-
296
- SRow:hover > SCell[theme='success'],
297
- SRow[theme='success']:hover > SCell:not([theme]),
298
- SRow[theme='success'] SCell:hover + SGroupCell SCell:not([theme]) {
299
- background-color: var(--intergalactic-table-td-cell-new-hover, #9ef2c9);
300
- }
301
-
302
- /* WARNING THEME */
303
- SRow[theme='warning'] SCell:not([theme]) {
304
- background-color: var(--intergalactic-table-td-cell-warning, #fff3d9);
305
- }
306
-
307
- SRow[theme='warning'][active] > SCell:not([theme]) {
308
- background-color: var(--intergalactic-table-td-cell-warning-active, #ffdca2);
309
- }
310
-
311
- SRow:hover > SCell[theme='warning'],
312
- SRow[theme='warning']:hover > SCell:not([theme]),
313
- SRow[theme='warning'] SCell:hover + SGroupCell SCell:not([theme]) {
314
- background-color: var(--intergalactic-table-td-cell-warning-hover, #ffdca2);
315
- }
316
-
317
- /* DANGER THEME */
318
- SRow[theme='danger'] SCell:not([theme]) {
319
- background-color: var(--intergalactic-table-td-cell-critical, #fff0f7);
320
- }
321
-
322
- SRow[theme='danger'][active] > SCell:not([theme]) {
323
- background-color: var(--intergalactic-table-td-cell-critical-active, #ffd7df);
324
- }
325
-
326
- SRow:hover > SCell[theme='danger'],
327
- SRow[theme='danger']:hover > SCell:not([theme]),
328
- SRow[theme='danger'] SCell:hover + SGroupCell SCell:not([theme]) {
329
- background-color: var(--intergalactic-table-td-cell-critical-hover, #ffd7df);
330
- }
331
-
332
- SRow[positioned] {
333
- position: absolute;
334
- }
335
-
336
- SBody[animationsDisabled] SCell {
337
- transition: none;
338
- }
339
-
340
- SCell {
341
- display: flex;
342
- flex: 1;
343
- flex-basis: auto;
344
- font-size: var(--intergalactic-fs-200, 14px);
345
- line-height: var(--intergalactic-lh-200, 142%);
346
- color: var(--intergalactic-text-primary, #191b23);
347
- box-sizing: border-box;
348
- border-bottom: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
349
- overflow: hidden;
350
- white-space: nowrap;
351
- font-variant-numeric: tabular-nums;
352
- transition: width calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
353
- outline: none;
354
- }
355
-
356
- SCell[use='primary'] {
357
- padding: var(--intergalactic-spacing-3x, 12px);
358
- min-height: 45px;
359
- background-color: var(--intergalactic-bg-primary-neutral, #ffffff);
360
- }
361
-
362
- SCell[use='secondary'] {
363
- padding: var(--intergalactic-spacing-2x, 8px);
364
- min-height: 37px;
365
- background-color: var(--intergalactic-bg-primary-neutral, #ffffff);
366
- }
367
-
368
- SCell[fixed] {
369
- position: sticky;
370
- z-index: 1;
371
- }
372
-
373
- SCell[theme='muted'] {
374
- background-color: var(--intergalactic-table-td-cell-unread, #f4f5f9);
375
- }
376
-
377
- SCell[theme='info'] {
378
- background-color: var(--intergalactic-table-td-cell-selected, #e9f7ff);
379
- }
380
-
381
- SCell[theme='success'] {
382
- background-color: var(--intergalactic-table-td-cell-new, #dbfee8);
383
- }
384
-
385
- SCell[theme='warning'] {
386
- background-color: var(--intergalactic-table-td-cell-warning, #fff3d9);
387
- }
388
-
389
- SCell[theme='danger'] {
390
- background-color: var(--intergalactic-table-td-cell-critical, #fff0f7);
391
- }
392
-
393
- SCell:focus-visible:not([fixed]) {
394
- position: relative;
395
- }
396
-
397
- SCell:focus-visible::after {
398
- position: absolute;
399
- display: block;
400
- content: '';
401
- inset: 3px;
402
- box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
403
- pointer-events: none;
404
- }
405
-
406
- SHeightHold {
407
- position: absolute;
408
- top: 0;
409
- width: 100%;
410
- pointer-events: none;
411
- /* should be under other layers */
412
- z-index: -1;
413
- }
package/lib/esm/utils.mjs DELETED
@@ -1,52 +0,0 @@
1
- var getScrollOffsetValue = function getScrollOffsetValue2(columns) {
2
- return columns.reduce(function(acc, column) {
3
- if (column.fixed === "left") {
4
- acc[0] += column.width;
5
- }
6
- if (column.fixed === "right") {
7
- acc[1] += column.width;
8
- }
9
- return acc;
10
- }, [0, 0]);
11
- };
12
- var flattenColumns = function flattenColumns2(columns) {
13
- return columns.reduce(function(acc, column) {
14
- var hasNestedColumns = "columns" in column && column.columns.length > 0;
15
- var columns2 = hasNestedColumns ? flattenColumns2(column.columns) : [column];
16
- acc = acc.concat(columns2);
17
- return acc;
18
- }, []);
19
- };
20
- var getFixedStyle = function getFixedStyle2(cell, columns) {
21
- var side = cell.fixed;
22
- if (!side) return [void 0, void 0];
23
- var names = cell.name.split("/");
24
- var nameSideMap = {
25
- left: names[0],
26
- right: names[names.length - 1]
27
- };
28
- var name = nameSideMap[side];
29
- var index = columns.findIndex(function(column) {
30
- return column.name === name;
31
- });
32
- if (index === -1) return [void 0, void 0];
33
- var startIndexSideMap = {
34
- left: 0,
35
- right: index + 1
36
- };
37
- var endIndexSideMap = {
38
- left: index,
39
- right: columns.length
40
- };
41
- var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
42
- if (columnsFixed.length < 1) return [side, 0];
43
- var vars = columnsFixed.map(function(column) {
44
- return "var(--".concat(column.name, "_width)");
45
- });
46
- return [side, vars.length === 1 ? vars[0] : "calc(".concat(vars.join(" + "), ")")];
47
- };
48
- export {
49
- flattenColumns,
50
- getFixedStyle,
51
- getScrollOffsetValue
52
- };
@@ -1,61 +0,0 @@
1
- import React from 'react';
2
- import { Component } from '@semcore/core';
3
- import { RowData, Column, NestedCells, PropsLayer, Cell } from './types';
4
- import syncScroll from '@semcore/utils/lib/syncScroll';
5
- type AsProps = {
6
- rows: NestedCells[][];
7
- columns: Column[];
8
- $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;
9
- onResize: ResizeObserverCallback;
10
- onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;
11
- rowPropsLayers: PropsLayer[];
12
- use: 'primary' | 'secondary';
13
- uniqueKey: string;
14
- virtualScroll?: boolean | {
15
- tollerance?: number;
16
- rowHeight?: number;
17
- };
18
- renderRows?: (props: {
19
- rows: NestedCells[][];
20
- columns: Column[];
21
- renderRow: (row: Cell[], details: {
22
- dataIndex: number;
23
- nested: boolean;
24
- }) => React.ReactNode;
25
- }) => React.ReactNode;
26
- disabledScroll?: boolean;
27
- uid?: string;
28
- animationsDisabled?: boolean;
29
- scrollContainerRef: React.Ref<HTMLDivElement>;
30
- };
31
- type State = {
32
- rowHeight: number | undefined;
33
- scrollAreaHeight: undefined | number;
34
- scrollOffset: number;
35
- };
36
- declare class Body extends Component<AsProps, {}, State> {
37
- state: State;
38
- scrollContainerRef: React.RefObject<HTMLDivElement>;
39
- firstRowRef: React.RefObject<HTMLDivElement>;
40
- firstRowResizeObserver: ResizeObserver | null;
41
- lockedCell: [HTMLElement | null, boolean];
42
- getRowHeight: () => number | undefined;
43
- handleKeyDown: (e: React.KeyboardEvent) => void;
44
- onFocusCell: (e: React.FocusEvent<HTMLElement, HTMLElement>) => void;
45
- renderCells(cells: NestedCells, rowData: RowData, dataIndex: number): React.ReactNode[];
46
- renderRow(cells: NestedCells, { dataIndex, topOffset, nested, }: {
47
- dataIndex: number;
48
- topOffset?: number;
49
- nested: boolean;
50
- }): React.ReactNode;
51
- renderRows(rows: NestedCells[], nested?: boolean): React.ReactNode[];
52
- renderVirtualizedRows(rows: NestedCells[]): React.ReactNode[];
53
- handleFirstRowResize: (entries: ResizeObserverEntry[]) => void;
54
- handleScrollAreaResize: (entries: ResizeObserverEntry[]) => void;
55
- handleScrollAreaScroll: (event: React.SyntheticEvent<HTMLElement>) => void;
56
- setupRowSizeObserver: () => void;
57
- handleBodyTransitionEnd: () => void;
58
- componentWillUnmount(): void;
59
- render(): JSX.Element;
60
- }
61
- export default Body;