canvasxpress 64.9.0 → 65.1.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/package.json +1 -1
- package/src/canvasXpress.css +306 -176
- package/src/canvasXpress.js +4 -4
package/package.json
CHANGED
package/src/canvasXpress.css
CHANGED
|
@@ -1168,169 +1168,6 @@ textarea.cX-Chat-Code-Output {
|
|
|
1168
1168
|
cursor: default;
|
|
1169
1169
|
}
|
|
1170
1170
|
|
|
1171
|
-
/* @category: widget */
|
|
1172
|
-
/***************
|
|
1173
|
-
* Bin Data *
|
|
1174
|
-
***************/
|
|
1175
|
-
|
|
1176
|
-
/* Outer widget shell */
|
|
1177
|
-
div.cX-Bin {
|
|
1178
|
-
background-color: var(--cx-background-widgets-color);
|
|
1179
|
-
border: 1px var(--cx-border-style) var(--cx-datatable-border-color);
|
|
1180
|
-
border-radius: var(--cx-border-radius);
|
|
1181
|
-
box-shadow: 0 4px 16px rgba(0,0,0,0.13);
|
|
1182
|
-
box-sizing: border-box;
|
|
1183
|
-
color: var(--cx-font-color);
|
|
1184
|
-
cursor: move;
|
|
1185
|
-
font-family: var(--cx-font-family);
|
|
1186
|
-
font-size: var(--cx-font-size);
|
|
1187
|
-
margin: 2px 3px;
|
|
1188
|
-
overflow: hidden;
|
|
1189
|
-
position: absolute;
|
|
1190
|
-
white-space: nowrap;
|
|
1191
|
-
}
|
|
1192
|
-
|
|
1193
|
-
/* Title row: Name label left, X button right */
|
|
1194
|
-
.cX-Bin-Title-Row {
|
|
1195
|
-
align-items: center;
|
|
1196
|
-
background-color: var(--cx-datatable-toolbar-background-color, var(--cx-background-hover-color));
|
|
1197
|
-
border-radius: var(--cx-border-radius) var(--cx-border-radius) 0 0;
|
|
1198
|
-
cursor: move;
|
|
1199
|
-
display: flex;
|
|
1200
|
-
justify-content: space-between;
|
|
1201
|
-
padding: 8px 4px 0px 10px;
|
|
1202
|
-
}
|
|
1203
|
-
|
|
1204
|
-
.cX-Bin-Title {
|
|
1205
|
-
font-family: var(--cx-font-family);
|
|
1206
|
-
font-size: var(--cx-font-size);
|
|
1207
|
-
font-weight: 600;
|
|
1208
|
-
color: var(--cx-datatable-banner-text-color);
|
|
1209
|
-
}
|
|
1210
|
-
|
|
1211
|
-
/* Body: padding wrapper */
|
|
1212
|
-
.cX-Bin-Body {
|
|
1213
|
-
background-color: var(--cx-background-widgets-color);
|
|
1214
|
-
cursor: move;
|
|
1215
|
-
padding: 8px 10px 0 10px;
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
|
-
/* Section: label + content block */
|
|
1219
|
-
.cX-Bin-Section {
|
|
1220
|
-
margin-bottom: 8px;
|
|
1221
|
-
}
|
|
1222
|
-
|
|
1223
|
-
.cX-Bin-Section-Label {
|
|
1224
|
-
color: var(--cx-datatable-banner-text-color);
|
|
1225
|
-
font-family: var(--cx-font-family);
|
|
1226
|
-
font-size: var(--cx-font-size);
|
|
1227
|
-
font-weight: 600;
|
|
1228
|
-
margin-bottom: 4px;
|
|
1229
|
-
}
|
|
1230
|
-
|
|
1231
|
-
/* Name text input */
|
|
1232
|
-
.cX-Bin-Input {
|
|
1233
|
-
background-color: var(--cx-background-widgets-color);
|
|
1234
|
-
border: 1px var(--cx-border-style) var(--cx-datatable-border-color);
|
|
1235
|
-
border-radius: var(--cx-border-radius);
|
|
1236
|
-
box-sizing: border-box;
|
|
1237
|
-
color: var(--cx-font-color);
|
|
1238
|
-
cursor: default;
|
|
1239
|
-
font-family: var(--cx-font-family);
|
|
1240
|
-
font-size: var(--cx-font-size);
|
|
1241
|
-
padding: 3px 6px;
|
|
1242
|
-
width: 100%;
|
|
1243
|
-
}
|
|
1244
|
-
|
|
1245
|
-
.cX-Bin-Input-Center {
|
|
1246
|
-
text-align: center;
|
|
1247
|
-
font-weight: bold;
|
|
1248
|
-
}
|
|
1249
|
-
|
|
1250
|
-
/* Bin table — sized purely by content, no wrapper needed */
|
|
1251
|
-
.cX-Bin-Table {
|
|
1252
|
-
border: 1px var(--cx-border-style) var(--cx-datatable-banner-border-color);
|
|
1253
|
-
border-collapse: separate;
|
|
1254
|
-
border-radius: var(--cx-border-radius);
|
|
1255
|
-
border-spacing: 0;
|
|
1256
|
-
color: var(--cx-datatable-cell-text-color);
|
|
1257
|
-
cursor: default;
|
|
1258
|
-
display: block;
|
|
1259
|
-
font-family: var(--cx-font-family);
|
|
1260
|
-
font-size: var(--cx-font-size);
|
|
1261
|
-
max-height: 300px;
|
|
1262
|
-
overflow-y: auto;
|
|
1263
|
-
width: 100%;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
.cX-Bin-Th {
|
|
1267
|
-
background-color: var(--cx-datatable-header-background-color, var(--cx-background-hover-color));
|
|
1268
|
-
border-bottom: 2px var(--cx-border-style) var(--cx-datatable-border-color);
|
|
1269
|
-
color: var(--cx-datatable-header-text-color);
|
|
1270
|
-
font-family: var(--cx-font-family);
|
|
1271
|
-
font-size: var(--cx-font-size);
|
|
1272
|
-
font-weight: bold;
|
|
1273
|
-
padding: 4px 6px;
|
|
1274
|
-
text-align: center;
|
|
1275
|
-
}
|
|
1276
|
-
|
|
1277
|
-
.cX-Bin-Td {
|
|
1278
|
-
border-bottom: 1px var(--cx-border-style) var(--cx-datatable-cell-border-color);
|
|
1279
|
-
padding: 3px 4px;
|
|
1280
|
-
vertical-align: middle;
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
.cX-Bin-Td-Num {
|
|
1284
|
-
font-weight: bold;
|
|
1285
|
-
text-align: center;
|
|
1286
|
-
width: 32px;
|
|
1287
|
-
}
|
|
1288
|
-
|
|
1289
|
-
.cX-Bin-Row:last-child .cX-Bin-Td {
|
|
1290
|
-
border-bottom: none;
|
|
1291
|
-
}
|
|
1292
|
-
|
|
1293
|
-
.cX-Bin-Row:nth-child(even) .cX-Bin-Td {
|
|
1294
|
-
background-color: var(--cx-datatable-oddcell-background-color);
|
|
1295
|
-
}
|
|
1296
|
-
|
|
1297
|
-
.cX-Bin-Row:hover .cX-Bin-Td {
|
|
1298
|
-
background-color: var(--cx-datatable-row-hover-background-color);
|
|
1299
|
-
}
|
|
1300
|
-
|
|
1301
|
-
/* Footer: Apply + Done */
|
|
1302
|
-
.cX-Bin-Footer {
|
|
1303
|
-
border-top: 1px var(--cx-border-style) var(--cx-datatable-banner-border-color);
|
|
1304
|
-
display: flex;
|
|
1305
|
-
gap: 8px;
|
|
1306
|
-
margin-top: 8px;
|
|
1307
|
-
padding: 8px 0;
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
.cX-Bin-Button {
|
|
1311
|
-
background-color: var(--cx-datatable-accent-color, var(--cx-background-hover-color));
|
|
1312
|
-
border: 1px var(--cx-border-style) var(--cx-datatable-border-color);
|
|
1313
|
-
border-radius: var(--cx-border-radius);
|
|
1314
|
-
color: var(--cx-background-widgets-color);
|
|
1315
|
-
cursor: pointer;
|
|
1316
|
-
flex: 1;
|
|
1317
|
-
font-family: var(--cx-font-family);
|
|
1318
|
-
font-size: var(--cx-font-size);
|
|
1319
|
-
font-weight: bold;
|
|
1320
|
-
padding: 5px 8px;
|
|
1321
|
-
}
|
|
1322
|
-
|
|
1323
|
-
.cX-Bin-Button:hover {
|
|
1324
|
-
opacity: 0.85;
|
|
1325
|
-
}
|
|
1326
|
-
|
|
1327
|
-
svg.cX-Bin::selection {
|
|
1328
|
-
background: var(--cx-color-transparent) !important;
|
|
1329
|
-
border: 0px none !important;
|
|
1330
|
-
box-shadow: 0 0 0px var(--cx-color-transparent) !important;
|
|
1331
|
-
color: rgb(0, 0, 0);
|
|
1332
|
-
margin: 0px !important;
|
|
1333
|
-
}
|
|
1334
1171
|
/* @category: widget */
|
|
1335
1172
|
/* BEGIN OF CUSTOMIZER CSS */
|
|
1336
1173
|
/* https://cssgrid-generator.netlify.app/ */
|
|
@@ -1475,6 +1312,66 @@ svg.cX-Bin::selection {
|
|
|
1475
1312
|
border: 1px var(--cx-border-style) var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important;
|
|
1476
1313
|
}
|
|
1477
1314
|
|
|
1315
|
+
/*
|
|
1316
|
+
* CanvasXpress Customizer Left Items - Compact (Tableau-like) layout.
|
|
1317
|
+
* Scoped to the .cX-Customizer-Compact panel so the classic layout above is
|
|
1318
|
+
* left untouched. Each nav item becomes a horizontal row: small icon on the
|
|
1319
|
+
* left, text label to its right, with a left accent bar marking the active
|
|
1320
|
+
* item (matching the density of the DataTable / DataFilter widgets).
|
|
1321
|
+
*/
|
|
1322
|
+
|
|
1323
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItem,
|
|
1324
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItemActive,
|
|
1325
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItemNB {
|
|
1326
|
+
display: flex;
|
|
1327
|
+
flex-direction: row;
|
|
1328
|
+
align-items: center;
|
|
1329
|
+
justify-content: flex-start;
|
|
1330
|
+
height: auto !important;
|
|
1331
|
+
margin: 6px 10px;
|
|
1332
|
+
padding: 4px 6px;
|
|
1333
|
+
gap: 6px;
|
|
1334
|
+
border: 1px var(--cx-border-style) var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important;
|
|
1335
|
+
border-radius: var(--cx-border-radius);
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItemBottom {
|
|
1339
|
+
order: 0;
|
|
1340
|
+
margin: 0;
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItemTop {
|
|
1344
|
+
order: 1;
|
|
1345
|
+
margin: 0 !important;
|
|
1346
|
+
text-align: left;
|
|
1347
|
+
font-size: var(--cx-customizer-font-size, var(--cx-font-size));
|
|
1348
|
+
white-space: nowrap;
|
|
1349
|
+
line-height: 1;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
.cX-Customizer-Compact .cX-Customizer-LeftIcon,
|
|
1353
|
+
.cX-Customizer-Compact .cX-Customizer-LeftIconNB {
|
|
1354
|
+
padding: 2px;
|
|
1355
|
+
border: none !important;
|
|
1356
|
+
width: 20px !important;
|
|
1357
|
+
height: 20px !important;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItem:hover,
|
|
1361
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItemNB:hover {
|
|
1362
|
+
background: var(--cx-customizer-hover-color, var(--cx-background-hover-color));
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItemActive {
|
|
1366
|
+
background: var(--cx-customizer-hover-color, var(--cx-background-hover-color));
|
|
1367
|
+
border-left: 3px var(--cx-border-style) var(--cx-color-widgets, var(--cx-customizer-border-color)) !important;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItem:hover svg,
|
|
1371
|
+
.cX-Customizer-Compact .cX-Customizer-LeftItemActive svg {
|
|
1372
|
+
background: transparent !important;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1478
1375
|
/*
|
|
1479
1376
|
* CanvasXpress Customizer Right Items
|
|
1480
1377
|
*/
|
|
@@ -1955,6 +1852,64 @@ svg.cX-Bin::selection {
|
|
|
1955
1852
|
max-width: 100%;
|
|
1956
1853
|
}
|
|
1957
1854
|
|
|
1855
|
+
/* Shelves Filters card: the filter list must drop BELOW the floated funnel
|
|
1856
|
+
* slot group (ContainerRaw floats left), not sit top-aligned beside it; its
|
|
1857
|
+
* width/margins mirror the RightItemTextImagesGroup clamp so both align. */
|
|
1858
|
+
.cX-Customizer-ShelfFiltersList {
|
|
1859
|
+
clear: both;
|
|
1860
|
+
width: calc(100% - 2px);
|
|
1861
|
+
margin: 0 1px;
|
|
1862
|
+
box-sizing: border-box;
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
/* Inside a Filters-shelf field box the box itself draws the frame — flatten the
|
|
1866
|
+
embedded DataFilter widget (border + hover tint + inset search) so the entry
|
|
1867
|
+
reads as ONE card instead of nested boxes. */
|
|
1868
|
+
.cX-Customizer-ShelfFilterField .cX-DataFilter-Container-Hoverable {
|
|
1869
|
+
border: none;
|
|
1870
|
+
border-radius: 0;
|
|
1871
|
+
margin: 0;
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
.cX-Customizer-ShelfFilterField .cX-DataFilter-Container-Hoverable:hover {
|
|
1875
|
+
background-color: var(--cx-color-transparent);
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1878
|
+
.cX-Customizer-ShelfFilterField input.cX-DataFilter-Search {
|
|
1879
|
+
width: 100%;
|
|
1880
|
+
margin-left: 0;
|
|
1881
|
+
height: 28px;
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
.cX-Customizer-ShelfFilterField .cX-DataFilter-Container-Mask,
|
|
1885
|
+
.cX-Customizer-ShelfFilterField .cX-DataFilter-Container-Mask-NoOverflow {
|
|
1886
|
+
margin: 5px 0 2px;
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
/* The checklist labels ship at a fixed 220px (wider than the shelf card) and
|
|
1890
|
+
are RECREATED on every filter click (refreshDataFilters -> loadStringFilter),
|
|
1891
|
+
so the relaxation must live here in CSS, not as build-time inline style —
|
|
1892
|
+
inline-only relaxation broke the rows after the first (de)select. */
|
|
1893
|
+
.cX-Customizer-ShelfFilterField label.cX-Checkbox-Label {
|
|
1894
|
+
width: calc(100% - 60px);
|
|
1895
|
+
}
|
|
1896
|
+
|
|
1897
|
+
/* Numeric filter's Log/Lin toggle: the range slider gives the toggle a
|
|
1898
|
+
50%-wide top-row cell, too narrow inside the shelf card — 'Lin' wrapped
|
|
1899
|
+
onto a clipped second line. Keep the toggle on one line and shrink its
|
|
1900
|
+
labels (cf. .cX-Workflow-Settings span.cX-Toggle). */
|
|
1901
|
+
.cX-Customizer-ShelfFilterField label.cX-Toggle {
|
|
1902
|
+
display: inline-flex;
|
|
1903
|
+
align-items: center;
|
|
1904
|
+
white-space: nowrap;
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
.cX-Customizer-ShelfFilterField span.cX-Toggle {
|
|
1908
|
+
font-size: var(--cx-x-small-font-size);
|
|
1909
|
+
margin-left: 3px;
|
|
1910
|
+
margin-right: 3px;
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1958
1913
|
.cX-Customizer-Mask {
|
|
1959
1914
|
background: var(--cx-color-transparent) !important;
|
|
1960
1915
|
border: 0px none !important;
|
|
@@ -2313,6 +2268,187 @@ div.CanvasXpressDragLayout {
|
|
|
2313
2268
|
position: absolute;
|
|
2314
2269
|
}
|
|
2315
2270
|
|
|
2271
|
+
/* ==========================================================================
|
|
2272
|
+
* Compact right-panel redesign (Tableau-like).
|
|
2273
|
+
*
|
|
2274
|
+
* Systematic redesign of the right-panel widgets, applied one widget family at
|
|
2275
|
+
* a time and scoped to .cX-Customizer-Compact so the classic panel (dataUIStyle
|
|
2276
|
+
* 'cx' / 'old') stays untouched. The DOM built by customizerWidgets.js is left
|
|
2277
|
+
* as-is; only presentation changes here.
|
|
2278
|
+
*
|
|
2279
|
+
* Family 1 - IO panel (section header + launcher rows). Header becomes a flat
|
|
2280
|
+
* section label with a muted caption; launcher rows become flat menu items
|
|
2281
|
+
* (small icon + label, subtle hover) instead of tinted icon-box tiles.
|
|
2282
|
+
* ========================================================================== */
|
|
2283
|
+
|
|
2284
|
+
/* --- Section header (getCustomizerRightItemHeader) --- */
|
|
2285
|
+
/* Keep the tinted header background from the classic look, just tighter. */
|
|
2286
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemHeader,
|
|
2287
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemHeaderNB {
|
|
2288
|
+
background: var(--cx-background-hover-color);
|
|
2289
|
+
padding: 6px 10px !important;
|
|
2290
|
+
border-bottom: 1px solid var(--cx-datatable-border-color) !important;
|
|
2291
|
+
}
|
|
2292
|
+
|
|
2293
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemHeaderMain {
|
|
2294
|
+
gap: 6px;
|
|
2295
|
+
}
|
|
2296
|
+
|
|
2297
|
+
/* Title: compact, bold, slight tracking */
|
|
2298
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemHeaderMain > :first-child {
|
|
2299
|
+
height: auto !important;
|
|
2300
|
+
padding: 0 !important;
|
|
2301
|
+
font-size: var(--cx-medium-font-size) !important;
|
|
2302
|
+
letter-spacing: 0.02em;
|
|
2303
|
+
}
|
|
2304
|
+
|
|
2305
|
+
/* Header icon: small */
|
|
2306
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemHeaderMain svg {
|
|
2307
|
+
width: 15px !important;
|
|
2308
|
+
height: 15px !important;
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
/* Help text: muted caption */
|
|
2312
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemHeaderMain > :last-child {
|
|
2313
|
+
color: var(--cx-font-color);
|
|
2314
|
+
opacity: 0.55;
|
|
2315
|
+
font-size: var(--cx-x-small-font-size) !important;
|
|
2316
|
+
line-height: 1rem !important;
|
|
2317
|
+
}
|
|
2318
|
+
|
|
2319
|
+
/* Equalise the section gutters: content is (customizerRightWidth - 20) wide, so
|
|
2320
|
+
a 10px side margin balances the left/right whitespace inside the panel. */
|
|
2321
|
+
.cX-Customizer-Compact .cX-Customizer-Container {
|
|
2322
|
+
margin: 6px 10px !important;
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2325
|
+
/* The full-width section widgets are (customizerRightWidth - 20) wide, the same
|
|
2326
|
+
as the container's content box; with border-box that overflows the container's
|
|
2327
|
+
right border and hides it (the IO launchers already clamp to calc(100% - 2px),
|
|
2328
|
+
but the header / text / combo / images-group widgets did not). Clamp just
|
|
2329
|
+
those so the container border shows on every side, WITHOUT touching narrower
|
|
2330
|
+
widgets that set their own margins (the text-area input, the wrangling list). */
|
|
2331
|
+
.cX-Customizer-Compact .cX-Customizer-Container > .cX-Customizer-RightItemHeader,
|
|
2332
|
+
.cX-Customizer-Compact .cX-Customizer-Container > .cX-Customizer-RightItemHeaderNB,
|
|
2333
|
+
.cX-Customizer-Compact .cX-Customizer-Container > .cX-Customizer-RightItemText,
|
|
2334
|
+
.cX-Customizer-Compact .cX-Customizer-Container > .cX-Customizer-ContainerComboGroup,
|
|
2335
|
+
.cX-Customizer-Compact .cX-Customizer-Container > .cX-Customizer-RightItemImagesGroup,
|
|
2336
|
+
.cX-Customizer-Compact .cX-Customizer-Container > .cX-Customizer-RightItemTextImagesGroup {
|
|
2337
|
+
width: calc(100% - 2px) !important;
|
|
2338
|
+
margin-left: 1px !important;
|
|
2339
|
+
margin-right: 1px !important;
|
|
2340
|
+
box-sizing: border-box !important;
|
|
2341
|
+
}
|
|
2342
|
+
|
|
2343
|
+
/* Give the drag-and-drop list even margins inside its section (it ships with
|
|
2344
|
+
margin: 0 0 10px 10px, so its top/right edges crowd the container border). */
|
|
2345
|
+
.cX-Customizer-Compact .cX-Customizer-Wrangling {
|
|
2346
|
+
margin: 2px 10px 8px !important;
|
|
2347
|
+
box-sizing: border-box !important;
|
|
2348
|
+
height: 136px !important;
|
|
2349
|
+
}
|
|
2350
|
+
|
|
2351
|
+
/* Collapse the tall sorter header row (title + A-Z icon) to its content so the
|
|
2352
|
+
list sits close beneath it. */
|
|
2353
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemSubHeaderRow,
|
|
2354
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemSubHeaderRow > * {
|
|
2355
|
+
height: auto !important;
|
|
2356
|
+
}
|
|
2357
|
+
|
|
2358
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemSubHeaderRow {
|
|
2359
|
+
align-items: center;
|
|
2360
|
+
margin: 6px 0 0 10px !important;
|
|
2361
|
+
}
|
|
2362
|
+
|
|
2363
|
+
/* Smaller A-Z sort icon in the wrangling sorter header rows */
|
|
2364
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemSubHeaderRow svg {
|
|
2365
|
+
width: 20px !important;
|
|
2366
|
+
height: 20px !important;
|
|
2367
|
+
}
|
|
2368
|
+
|
|
2369
|
+
/* The X-Axis text input aligns to the section's left padding instead of sitting
|
|
2370
|
+
flush against the border. */
|
|
2371
|
+
.cX-Customizer-Compact .cX-Customizer-Container > .cX-Customizer-RightItemTextArea {
|
|
2372
|
+
margin-left: 12px !important;
|
|
2373
|
+
}
|
|
2374
|
+
|
|
2375
|
+
/* --- Launcher rows (getCustomizerRightItemLauncher) --- */
|
|
2376
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncher,
|
|
2377
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncherNB {
|
|
2378
|
+
grid-template-columns: 28px 1fr !important;
|
|
2379
|
+
min-height: 36px !important;
|
|
2380
|
+
height: auto !important;
|
|
2381
|
+
background: transparent !important;
|
|
2382
|
+
}
|
|
2383
|
+
|
|
2384
|
+
/* Flatten the tinted icon box into a plain icon cell */
|
|
2385
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncherLeft {
|
|
2386
|
+
background: transparent !important;
|
|
2387
|
+
}
|
|
2388
|
+
|
|
2389
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncherLeft > * {
|
|
2390
|
+
padding: 2px !important;
|
|
2391
|
+
}
|
|
2392
|
+
|
|
2393
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncherLeft svg {
|
|
2394
|
+
width: 16px !important;
|
|
2395
|
+
height: 16px !important;
|
|
2396
|
+
}
|
|
2397
|
+
|
|
2398
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncherRight {
|
|
2399
|
+
padding-left: 2px;
|
|
2400
|
+
font-size: var(--cx-customizer-font-size, var(--cx-font-size));
|
|
2401
|
+
}
|
|
2402
|
+
|
|
2403
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncher:hover,
|
|
2404
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemLauncherNB:hover {
|
|
2405
|
+
background-color: var(--cx-customizer-hover-color) !important;
|
|
2406
|
+
}
|
|
2407
|
+
|
|
2408
|
+
/* --------------------------------------------------------------------------
|
|
2409
|
+
* Family 2 - Data panel: icon-button grids (Transform / Summary) and the
|
|
2410
|
+
* icon-over-label tiles (Sort). Shrink the oversized grid buttons and make the
|
|
2411
|
+
* Sort tile labels readable instead of truncating.
|
|
2412
|
+
* -------------------------------------------------------------------------- */
|
|
2413
|
+
|
|
2414
|
+
/* Icon-button grids (getCustomizerRightImagesGroup): smaller flat buttons */
|
|
2415
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemImagesGroup svg {
|
|
2416
|
+
width: 30px !important;
|
|
2417
|
+
height: 30px !important;
|
|
2418
|
+
padding: 3px !important;
|
|
2419
|
+
margin: 4px auto !important;
|
|
2420
|
+
}
|
|
2421
|
+
|
|
2422
|
+
/* Icon-over-label tiles (Sort - getCustomizerRightItem) */
|
|
2423
|
+
.cX-Customizer-Compact .cX-Customizer-RightItem {
|
|
2424
|
+
grid-template-rows: auto auto;
|
|
2425
|
+
margin: 3px !important;
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemTop {
|
|
2429
|
+
padding-top: 4px;
|
|
2430
|
+
}
|
|
2431
|
+
|
|
2432
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemTop svg {
|
|
2433
|
+
width: 26px !important;
|
|
2434
|
+
height: 26px !important;
|
|
2435
|
+
}
|
|
2436
|
+
|
|
2437
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemBottom {
|
|
2438
|
+
padding: 1px 2px 4px;
|
|
2439
|
+
font-size: var(--cx-x-small-font-size);
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2442
|
+
/* Show the full tile label (wrap) instead of clipping to an ellipsis */
|
|
2443
|
+
.cX-Customizer-Compact .cX-Customizer-RightItemBottom span {
|
|
2444
|
+
white-space: normal !important;
|
|
2445
|
+
overflow: visible !important;
|
|
2446
|
+
text-overflow: clip !important;
|
|
2447
|
+
text-align: center;
|
|
2448
|
+
line-height: 1.05;
|
|
2449
|
+
word-break: break-word;
|
|
2450
|
+
}
|
|
2451
|
+
|
|
2316
2452
|
/* @category: widget */
|
|
2317
2453
|
/***********
|
|
2318
2454
|
* Tooltip *
|
|
@@ -3949,7 +4085,7 @@ td.cX-DataTable-Cell > .cX-DataTable-Cell-Number:hover {
|
|
|
3949
4085
|
display: flex;
|
|
3950
4086
|
align-items: center;
|
|
3951
4087
|
justify-content: flex-end;
|
|
3952
|
-
gap:
|
|
4088
|
+
gap: 8px;
|
|
3953
4089
|
padding: 0px 4px;
|
|
3954
4090
|
top: 0px;
|
|
3955
4091
|
left: 0px;
|
|
@@ -4435,8 +4571,7 @@ div.cX-DataTable-Horizontal-Scrollbar::-webkit-scrollbar-button,
|
|
|
4435
4571
|
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar-button,
|
|
4436
4572
|
/*div.cX-DataFilter-Content::-webkit-scrollbar-button,*/
|
|
4437
4573
|
div.cX-DataFilter-Container-Mask::-webkit-scrollbar-button,
|
|
4438
|
-
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-button
|
|
4439
|
-
div.cX-Bin-Name-Container::-webkit-scrollbar-button {
|
|
4574
|
+
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-button {
|
|
4440
4575
|
width: 4px;
|
|
4441
4576
|
height: 4px;
|
|
4442
4577
|
}
|
|
@@ -4450,8 +4585,7 @@ div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-track {
|
|
|
4450
4585
|
}
|
|
4451
4586
|
|
|
4452
4587
|
div.cX-DataTable-Horizontal-Scrollbar::-webkit-scrollbar-track,
|
|
4453
|
-
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar-track
|
|
4454
|
-
div.cX-Bin-Name-Container::-webkit-scrollbar-track {
|
|
4588
|
+
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar-track {
|
|
4455
4589
|
background-color: var(--cx-background-hover-color);
|
|
4456
4590
|
border-radius: var(--cx-border-radius);
|
|
4457
4591
|
}
|
|
@@ -4462,8 +4596,7 @@ div.cX-DataTable-Horizontal-Scrollbar::-webkit-scrollbar-track:hover,
|
|
|
4462
4596
|
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar-track:hover,
|
|
4463
4597
|
/*div.cX-DataFilter-Content::-webkit-scrollbar-track:hover,*/
|
|
4464
4598
|
div.cX-DataFilter-Container-Mask::-webkit-scrollbar-track:hover,
|
|
4465
|
-
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-track:hover
|
|
4466
|
-
div.cX-Bin-Name-Container::-webkit-scrollbar-track:hover {
|
|
4599
|
+
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-track:hover {
|
|
4467
4600
|
background-color: var(--cx-background-hover-color);
|
|
4468
4601
|
border-radius: var(--cx-border-radius);
|
|
4469
4602
|
}
|
|
@@ -4479,8 +4612,7 @@ div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar {
|
|
|
4479
4612
|
}
|
|
4480
4613
|
|
|
4481
4614
|
div.cX-DataTable-Horizontal-Scrollbar::-webkit-scrollbar,
|
|
4482
|
-
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar
|
|
4483
|
-
div.cX-Bin-Name-Container::-webkit-scrollbar {
|
|
4615
|
+
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar {
|
|
4484
4616
|
width: 8px;
|
|
4485
4617
|
height: 8px;
|
|
4486
4618
|
background-color: var(--cx-scrollbar-alt-background-color);
|
|
@@ -4492,8 +4624,7 @@ div.cX-DataTable-Horizontal-Scrollbar::-webkit-scrollbar-thumb,
|
|
|
4492
4624
|
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar-thumb,
|
|
4493
4625
|
/*div.cX-DataFilter-Content::-webkit-scrollbar-thumb,*/
|
|
4494
4626
|
div.cX-DataFilter-Container-Mask::-webkit-scrollbar-thumb,
|
|
4495
|
-
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-thumb
|
|
4496
|
-
div.cX-Bin-Name-Container::-webkit-scrollbar-thumb {
|
|
4627
|
+
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-thumb {
|
|
4497
4628
|
background-color: var(--cx-scrollbar-thumb-color);
|
|
4498
4629
|
border-radius: var(--cx-border-radius);
|
|
4499
4630
|
border: none;
|
|
@@ -4503,8 +4634,7 @@ div.cX-DataTable-Horizontal-Scrollbar::-webkit-scrollbar-thumb:hover,
|
|
|
4503
4634
|
div.cX-DataTable-Vertical-Scrollbar::-webkit-scrollbar-thumb:hover,
|
|
4504
4635
|
/*div.cX-DataFilter-Content::-webkit-scrollbar-thumb:hover,*/
|
|
4505
4636
|
div.cX-DataFilter-Container-Mask::-webkit-scrollbar-thumb:hover,
|
|
4506
|
-
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-thumb:hover
|
|
4507
|
-
div.cX-Bin-Name-Container::-webkit-scrollbar-thumb:hover {
|
|
4637
|
+
div.cX-DataFilter-Container-Mask-NoOverflow::-webkit-scrollbar-thumb:hover {
|
|
4508
4638
|
background-color: var(--cx-scrollbar-thumb-hover-color);
|
|
4509
4639
|
}
|
|
4510
4640
|
|