jupyterlab_tabular_data_viewer_extension 1.1.20

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/style/base.css ADDED
@@ -0,0 +1,269 @@
1
+ /*
2
+ Parquet Viewer Styles using JupyterLab theme variables
3
+ */
4
+
5
+ .jp-TabularDataViewer {
6
+ display: flex;
7
+ flex-direction: column;
8
+ height: 100%;
9
+ width: 100%;
10
+ overflow: hidden;
11
+ background-color: var(--jp-layout-color1);
12
+ }
13
+
14
+ .jp-TabularDataViewer-container {
15
+ flex: 1;
16
+ overflow: auto;
17
+ position: relative;
18
+ background-color: var(--jp-layout-color1);
19
+ }
20
+
21
+ .jp-TabularDataViewer-table {
22
+ border-collapse: collapse;
23
+ table-layout: fixed;
24
+ font-family: var(--jp-code-font-family);
25
+ font-size: var(--jp-code-font-size);
26
+ line-height: var(--jp-code-line-height);
27
+ color: var(--jp-ui-font-color1);
28
+ }
29
+
30
+ /* Table Header */
31
+ .jp-TabularDataViewer-thead {
32
+ position: sticky;
33
+ top: 0;
34
+ z-index: 10;
35
+ background-color: var(--jp-layout-color2);
36
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
37
+ }
38
+
39
+ /* Filter Row */
40
+ .jp-TabularDataViewer-filterRow {
41
+ background-color: var(--jp-layout-color2);
42
+ }
43
+
44
+ .jp-TabularDataViewer-filterCell {
45
+ padding: 4px 8px;
46
+ border-bottom: 1px solid var(--jp-border-color1);
47
+ border-right: 1px solid var(--jp-border-color2);
48
+ box-sizing: border-box;
49
+ }
50
+
51
+ .jp-TabularDataViewer-filterCell:last-child {
52
+ border-right: none;
53
+ }
54
+
55
+ .jp-TabularDataViewer-filterInput {
56
+ width: 100%;
57
+ padding: 4px 6px;
58
+ border: 1px solid var(--jp-border-color2);
59
+ border-radius: 2px;
60
+ background-color: var(--jp-input-background);
61
+ color: var(--jp-ui-font-color1);
62
+ font-family: var(--jp-ui-font-family);
63
+ font-size: var(--jp-ui-font-size1);
64
+ box-sizing: border-box;
65
+ }
66
+
67
+ .jp-TabularDataViewer-filterInput:focus {
68
+ outline: none;
69
+ border-color: var(--jp-brand-color1);
70
+ box-shadow: 0 0 0 1px var(--jp-brand-color1);
71
+ }
72
+
73
+ .jp-TabularDataViewer-filterInput::placeholder {
74
+ color: var(--jp-ui-font-color3);
75
+ font-style: italic;
76
+ }
77
+
78
+ /* Header Row */
79
+ .jp-TabularDataViewer-headerRow {
80
+ background-color: var(--jp-layout-color2);
81
+ }
82
+
83
+ .jp-TabularDataViewer-headerCell {
84
+ padding: 8px 12px;
85
+ text-align: left;
86
+ font-weight: 600;
87
+ border-bottom: 2px solid var(--jp-border-color1);
88
+ border-right: 1px solid var(--jp-border-color2);
89
+ background-color: var(--jp-layout-color2);
90
+ position: relative;
91
+ min-width: 120px;
92
+ user-select: none;
93
+ box-sizing: border-box;
94
+ overflow: visible;
95
+ }
96
+
97
+ .jp-TabularDataViewer-headerCell:hover {
98
+ background-color: var(--jp-layout-color3);
99
+ }
100
+
101
+ .jp-TabularDataViewer-headerCell:last-child {
102
+ border-right: none;
103
+ }
104
+
105
+ .jp-TabularDataViewer-headerContent {
106
+ display: inline-block;
107
+ }
108
+
109
+ .jp-TabularDataViewer-columnName {
110
+ color: var(--jp-ui-font-color1);
111
+ font-size: var(--jp-ui-font-size1);
112
+ margin-bottom: 2px;
113
+ word-break: break-word;
114
+ }
115
+
116
+ .jp-TabularDataViewer-columnType {
117
+ color: var(--jp-ui-font-color2);
118
+ font-size: var(--jp-ui-font-size0);
119
+ font-weight: normal;
120
+ font-style: italic;
121
+ }
122
+
123
+ .jp-TabularDataViewer-sortIndicator {
124
+ margin-left: 4px;
125
+ color: var(--jp-brand-color1);
126
+ font-size: var(--jp-ui-font-size0);
127
+ }
128
+
129
+ /* Column Resize Handle */
130
+ .jp-TabularDataViewer-resizeHandle {
131
+ position: absolute;
132
+ top: 0;
133
+ right: -12px;
134
+ width: 24px;
135
+ height: 100%;
136
+ cursor: col-resize;
137
+ z-index: 100;
138
+ background: transparent;
139
+ }
140
+
141
+ /* Table Body */
142
+ .jp-TabularDataViewer-tbody {
143
+ background-color: var(--jp-layout-color1);
144
+ }
145
+
146
+ .jp-TabularDataViewer-row {
147
+ border-bottom: 1px solid var(--jp-border-color2);
148
+ }
149
+
150
+ /* Only enable hover when context menu is not open */
151
+ .jp-TabularDataViewer-tbody:not(.jp-TabularDataViewer-context-menu-open) .jp-TabularDataViewer-row:hover,
152
+ .jp-TabularDataViewer-row-context-active {
153
+ background-color: var(--jp-layout-color2);
154
+ }
155
+
156
+ .jp-TabularDataViewer-cell {
157
+ padding: 6px 12px;
158
+ border-right: 1px solid var(--jp-border-color2);
159
+ color: var(--jp-ui-font-color1);
160
+ word-break: break-word;
161
+ max-width: 400px;
162
+ overflow: hidden;
163
+ text-overflow: ellipsis;
164
+ box-sizing: border-box;
165
+ }
166
+
167
+ .jp-TabularDataViewer-cell:last-child {
168
+ border-right: none;
169
+ }
170
+
171
+ /* Status Bar */
172
+ .jp-TabularDataViewer-statusBar {
173
+ flex-shrink: 0;
174
+ padding: 8px 12px;
175
+ background-color: var(--jp-layout-color2);
176
+ border-top: 1px solid var(--jp-border-color1);
177
+ color: var(--jp-ui-font-color2);
178
+ font-size: var(--jp-ui-font-size1);
179
+ font-family: var(--jp-ui-font-family);
180
+ z-index: 10;
181
+ display: flex;
182
+ justify-content: space-between;
183
+ align-items: center;
184
+ }
185
+
186
+ .jp-TabularDataViewer-statusLeft {
187
+ flex-shrink: 0;
188
+ color: var(--jp-ui-font-color2);
189
+ }
190
+
191
+ .jp-TabularDataViewer-statusMiddle {
192
+ display: flex;
193
+ align-items: center;
194
+ justify-content: center;
195
+ flex-shrink: 0;
196
+ margin: 0 12px;
197
+ gap: 16px;
198
+ }
199
+
200
+ .jp-TabularDataViewer-caseInsensitiveLabel,
201
+ .jp-TabularDataViewer-regexLabel {
202
+ display: flex;
203
+ align-items: center;
204
+ cursor: pointer;
205
+ color: var(--jp-ui-font-color2);
206
+ font-size: var(--jp-ui-font-size1);
207
+ user-select: none;
208
+ }
209
+
210
+ .jp-TabularDataViewer-caseInsensitiveCheckbox,
211
+ .jp-TabularDataViewer-regexCheckbox {
212
+ margin: 0 4px 0 0;
213
+ cursor: pointer;
214
+ }
215
+
216
+ .jp-TabularDataViewer-statusRight {
217
+ text-align: right;
218
+ color: var(--jp-ui-font-color2);
219
+ }
220
+
221
+ .jp-TabularDataViewer-clearFilters {
222
+ color: var(--jp-brand-color1) !important;
223
+ text-decoration: none !important;
224
+ cursor: pointer;
225
+ margin-left: 4px;
226
+ font-weight: 600;
227
+ }
228
+
229
+ .jp-TabularDataViewer-clearFilters:hover {
230
+ color: var(--jp-brand-color1) !important;
231
+ text-decoration: underline !important;
232
+ }
233
+
234
+ /* Error Message */
235
+ .jp-TabularDataViewer-error {
236
+ padding: 16px;
237
+ color: var(--jp-error-color1);
238
+ text-align: center;
239
+ font-style: italic;
240
+ }
241
+
242
+ /* Dark theme adjustments */
243
+ [data-jp-theme-light='false'] .jp-TabularDataViewer-table {
244
+ color: var(--jp-ui-font-color1);
245
+ }
246
+
247
+ [data-jp-theme-light='false'] .jp-TabularDataViewer-filterInput {
248
+ background-color: var(--jp-input-background);
249
+ color: var(--jp-ui-font-color0);
250
+ }
251
+
252
+ /* Scrollbar styling for webkit browsers */
253
+ .jp-TabularDataViewer-container::-webkit-scrollbar {
254
+ width: 10px;
255
+ height: 10px;
256
+ }
257
+
258
+ .jp-TabularDataViewer-container::-webkit-scrollbar-track {
259
+ background: var(--jp-layout-color1);
260
+ }
261
+
262
+ .jp-TabularDataViewer-container::-webkit-scrollbar-thumb {
263
+ background: var(--jp-border-color2);
264
+ border-radius: 5px;
265
+ }
266
+
267
+ .jp-TabularDataViewer-container::-webkit-scrollbar-thumb:hover {
268
+ background: var(--jp-border-color1);
269
+ }
@@ -0,0 +1 @@
1
+ @import url('base.css');
package/style/index.js ADDED
@@ -0,0 +1 @@
1
+ import './base.css';