canvasxpress 70.6.0 → 70.7.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 +224 -50
- package/src/canvasXpress.d.mts +2 -2
- package/src/canvasXpress.d.ts +2 -2
- package/src/canvasXpress.js +3 -3
package/package.json
CHANGED
package/src/canvasXpress.css
CHANGED
|
@@ -188,38 +188,15 @@
|
|
|
188
188
|
--cx-color-gray: rgb(128, 128, 128);
|
|
189
189
|
--cx-color-black: rgb(0, 0, 0);
|
|
190
190
|
--cx-color-transparent: rgba(0, 0, 0, 0);
|
|
191
|
-
/* Greys
|
|
192
|
-
|
|
193
|
-
--cx-color-extra-dark-gray: rgb(34, 34, 34);
|
|
194
|
-
--cx-color-dark-gray: rgb(64, 64, 64);
|
|
195
|
-
--cx-color-medium-gray: rgb(180, 180, 180);
|
|
191
|
+
/* Greys (extra-dark, dark and medium gray were removed in 70.7: use the --cx-color-gray-*
|
|
192
|
+
scale in 00-tokens-primitive.css) */
|
|
196
193
|
--cx-color-light-gray: rgb(204, 204, 204);
|
|
197
194
|
--cx-color-extra-light-gray: rgb(238, 238, 238);
|
|
198
|
-
/* Icons. DEPRECATED (never used: icon colours come from dataUIStyle via
|
|
199
|
-
changeSVGIconColors; removed in a future version) */
|
|
200
|
-
--cx-icon-class-a: #5369ff;
|
|
201
|
-
--cx-icon-class-b: #292929;
|
|
202
|
-
--cx-icon-class-c: #999999;
|
|
203
|
-
--cx-icon-class-r: #ff0000;
|
|
204
195
|
/* Coding colors: the --cx-ui-code-* roles (light and dark). --cx-code-key / -value / -string /
|
|
205
196
|
-boolean / -comment are read as override hooks in 03-code.css; -number and -null were never used. */
|
|
206
197
|
/* Favorite UI colors */
|
|
207
198
|
--cx-color-ui-background: rgb(255, 255, 255);
|
|
208
199
|
--cx-color-ui-font: rgb(34, 34, 34);
|
|
209
|
-
/* Favorite UI Styles. DEPRECATED (never used: a preset's colours come from
|
|
210
|
-
CanvasXpress.styleDef as --cx-ui-* roles; removed in a future version) */
|
|
211
|
-
--cx-color-modern: rgb(83, 105, 255);
|
|
212
|
-
--cx-color-modern-hover: rgba(83, 105, 255, 0.1) ;
|
|
213
|
-
--cx-color-stripped: rgb(230, 230, 230) ;
|
|
214
|
-
--cx-color-stripped-hover: rgba(180, 180, 180, 0.3);
|
|
215
|
-
--cx-color-old: linear-gradient(rgb(240, 240, 240), rgb(230, 230, 230));
|
|
216
|
-
--cx-color-old-hover: rgba(230,230,230,0.1);
|
|
217
|
-
--cx-color-bms: rgb(190, 43, 187);
|
|
218
|
-
--cx-color-bms-hover: rgba(190, 43, 187, 0.1);
|
|
219
|
-
--cx-color-bms2: rgb(89, 84, 84);
|
|
220
|
-
--cx-color-bms2-hover: rgba(89, 84, 84, 0.1);
|
|
221
|
-
--cx-color-colorful: rgb(106, 27, 154);
|
|
222
|
-
--cx-color-colorful-hover: rgba(106, 27, 154, 0.1);
|
|
223
200
|
/* Font */
|
|
224
201
|
--cx-x-small-font-size: 11px;
|
|
225
202
|
--cx-small-font-size: 12px;
|
|
@@ -278,6 +255,16 @@
|
|
|
278
255
|
border: none;
|
|
279
256
|
}
|
|
280
257
|
|
|
258
|
+
/*
|
|
259
|
+
* Native controls (select, textarea, color input) follow the CHART's UI theme, not the host page:
|
|
260
|
+
* a dark page (e.g. Bootstrap data-bs-theme="dark") sets color-scheme: dark on <html>, which painted
|
|
261
|
+
* the light Customizer's selects dark. Zero specificity and ahead of 01b-theme-dark.css, so a dark
|
|
262
|
+
* or auto chart (or a dark container) still switches them to dark.
|
|
263
|
+
*/
|
|
264
|
+
:where([data-cx-ui-scope]) {
|
|
265
|
+
color-scheme: light;
|
|
266
|
+
}
|
|
267
|
+
|
|
281
268
|
:where([data-cx-ui-scope], [data-cx-ui-scope] *).unselectable,
|
|
282
269
|
:where([data-cx-ui-scope]) img,
|
|
283
270
|
:where([data-cx-ui-scope]) svg,
|
|
@@ -352,6 +339,17 @@ div.cX-Toolbar-Help {
|
|
|
352
339
|
--cx-callout-border-color: var(--cx-color-widgets, var(--cx-ui-accent));
|
|
353
340
|
}
|
|
354
341
|
|
|
342
|
+
/*
|
|
343
|
+
* "colorful" per-item accents in the dark theme (per-style dark accents plan, P3): setItemAccent
|
|
344
|
+
* writes each item's palette pair and its dark counterpart inline and marks the item; a dark
|
|
345
|
+
* subtree swaps the pair, so every rule reading --cx-item-accent follows. !important is the only
|
|
346
|
+
* thing that beats the inline pair.
|
|
347
|
+
*/
|
|
348
|
+
[data-cx-ui-theme="dark"] [data-cx-item-accent] {
|
|
349
|
+
--cx-item-accent: var(--cx-item-dark-accent) !important;
|
|
350
|
+
--cx-item-accent-bg: var(--cx-item-dark-accent-bg) !important;
|
|
351
|
+
}
|
|
352
|
+
|
|
355
353
|
/* GEN:legacy-defaults -- generated from tools/ui-consistency/presets-runtime.json (the default
|
|
356
354
|
dataUIStyle, modern) by gen-token-css.mjs; do not edit. Outside any chart only: each chart
|
|
357
355
|
writes its own preset on its cX-DOM root. */
|
|
@@ -377,6 +375,15 @@ div.cX-Toolbar-Help {
|
|
|
377
375
|
* Spec: docs/architecture/widgets/ui-design-tokens.md
|
|
378
376
|
*/
|
|
379
377
|
|
|
378
|
+
/* The default dark accents, read by setUIColors as the contrast targets for each chart's own
|
|
379
|
+
dark accent (--cx-ui-dark-accent*, tokens.json darkAccent). */
|
|
380
|
+
:root {
|
|
381
|
+
--cx-ui-dark-ref-surface: var(--cx-color-gray-900);
|
|
382
|
+
--cx-ui-dark-ref-accent: var(--cx-color-indigo-400);
|
|
383
|
+
--cx-ui-dark-ref-accent-strong: var(--cx-color-indigo-300);
|
|
384
|
+
--cx-ui-dark-ref-accent-tint: var(--cx-color-indigo-dark-a20);
|
|
385
|
+
}
|
|
386
|
+
|
|
380
387
|
/* A light container re-establishes the light roles for its own chrome, e.g. a light dashboard
|
|
381
388
|
on a page that is dark. (A chart root keeps its preset: its inline roles win here.) */
|
|
382
389
|
:where([data-cx-ui-theme="light"]) {
|
|
@@ -498,14 +505,14 @@ div.cX-Toolbar-Help {
|
|
|
498
505
|
--cx-ui-border: var(--cx-color-gray-700) !important;
|
|
499
506
|
--cx-ui-border-subtle: var(--cx-color-gray-800) !important;
|
|
500
507
|
--cx-ui-divider: var(--cx-color-gray-800) !important;
|
|
501
|
-
--cx-ui-border-accent: var(--cx-color-indigo-400) !important;
|
|
502
|
-
--cx-ui-accent: var(--cx-color-indigo-400) !important;
|
|
503
|
-
--cx-ui-accent-strong: var(--cx-color-indigo-300) !important;
|
|
504
|
-
--cx-ui-accent-hover: var(--cx-color-indigo-400) !important;
|
|
505
|
-
--cx-ui-accent-tint: var(--cx-color-indigo-dark-a20) !important;
|
|
506
|
-
--cx-ui-accent-tint-subtle: var(--cx-color-indigo-dark-a20) !important;
|
|
508
|
+
--cx-ui-border-accent: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
509
|
+
--cx-ui-accent: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
510
|
+
--cx-ui-accent-strong: var(--cx-ui-dark-accent-strong, var(--cx-color-indigo-300)) !important;
|
|
511
|
+
--cx-ui-accent-hover: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
512
|
+
--cx-ui-accent-tint: var(--cx-ui-dark-accent-tint, var(--cx-color-indigo-dark-a20)) !important;
|
|
513
|
+
--cx-ui-accent-tint-subtle: var(--cx-ui-dark-accent-tint, var(--cx-color-indigo-dark-a20)) !important;
|
|
507
514
|
--cx-ui-on-accent: var(--cx-color-gray-950) !important;
|
|
508
|
-
--cx-ui-focus: var(--cx-color-indigo-300) !important;
|
|
515
|
+
--cx-ui-focus: var(--cx-ui-dark-accent-strong, var(--cx-color-indigo-300)) !important;
|
|
509
516
|
--cx-ui-info: var(--cx-color-blue-400) !important;
|
|
510
517
|
--cx-ui-info-strong: var(--cx-color-blue-300) !important;
|
|
511
518
|
--cx-ui-info-tint: var(--cx-color-blue-a15) !important;
|
|
@@ -521,8 +528,8 @@ div.cX-Toolbar-Help {
|
|
|
521
528
|
--cx-ui-scrollbar-track-alt: var(--cx-color-gray-850) !important;
|
|
522
529
|
--cx-ui-scrollbar-thumb: var(--cx-color-gray-700) !important;
|
|
523
530
|
--cx-ui-scrollbar-thumb-hover: var(--cx-color-gray-500) !important;
|
|
524
|
-
--cx-ui-control-on: var(--cx-color-indigo-400) !important;
|
|
525
|
-
--cx-ui-active-cell: var(--cx-color-indigo-400) !important;
|
|
531
|
+
--cx-ui-control-on: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
532
|
+
--cx-ui-active-cell: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
526
533
|
--cx-ui-code-key: #ff7b72 !important;
|
|
527
534
|
--cx-ui-code-value: #79c0ff !important;
|
|
528
535
|
--cx-ui-code-string: #ffa657 !important;
|
|
@@ -549,14 +556,14 @@ div.cX-Toolbar-Help {
|
|
|
549
556
|
--cx-ui-border: var(--cx-color-gray-700) !important;
|
|
550
557
|
--cx-ui-border-subtle: var(--cx-color-gray-800) !important;
|
|
551
558
|
--cx-ui-divider: var(--cx-color-gray-800) !important;
|
|
552
|
-
--cx-ui-border-accent: var(--cx-color-indigo-400) !important;
|
|
553
|
-
--cx-ui-accent: var(--cx-color-indigo-400) !important;
|
|
554
|
-
--cx-ui-accent-strong: var(--cx-color-indigo-300) !important;
|
|
555
|
-
--cx-ui-accent-hover: var(--cx-color-indigo-400) !important;
|
|
556
|
-
--cx-ui-accent-tint: var(--cx-color-indigo-dark-a20) !important;
|
|
557
|
-
--cx-ui-accent-tint-subtle: var(--cx-color-indigo-dark-a20) !important;
|
|
559
|
+
--cx-ui-border-accent: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
560
|
+
--cx-ui-accent: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
561
|
+
--cx-ui-accent-strong: var(--cx-ui-dark-accent-strong, var(--cx-color-indigo-300)) !important;
|
|
562
|
+
--cx-ui-accent-hover: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
563
|
+
--cx-ui-accent-tint: var(--cx-ui-dark-accent-tint, var(--cx-color-indigo-dark-a20)) !important;
|
|
564
|
+
--cx-ui-accent-tint-subtle: var(--cx-ui-dark-accent-tint, var(--cx-color-indigo-dark-a20)) !important;
|
|
558
565
|
--cx-ui-on-accent: var(--cx-color-gray-950) !important;
|
|
559
|
-
--cx-ui-focus: var(--cx-color-indigo-300) !important;
|
|
566
|
+
--cx-ui-focus: var(--cx-ui-dark-accent-strong, var(--cx-color-indigo-300)) !important;
|
|
560
567
|
--cx-ui-info: var(--cx-color-blue-400) !important;
|
|
561
568
|
--cx-ui-info-strong: var(--cx-color-blue-300) !important;
|
|
562
569
|
--cx-ui-info-tint: var(--cx-color-blue-a15) !important;
|
|
@@ -572,8 +579,8 @@ div.cX-Toolbar-Help {
|
|
|
572
579
|
--cx-ui-scrollbar-track-alt: var(--cx-color-gray-850) !important;
|
|
573
580
|
--cx-ui-scrollbar-thumb: var(--cx-color-gray-700) !important;
|
|
574
581
|
--cx-ui-scrollbar-thumb-hover: var(--cx-color-gray-500) !important;
|
|
575
|
-
--cx-ui-control-on: var(--cx-color-indigo-400) !important;
|
|
576
|
-
--cx-ui-active-cell: var(--cx-color-indigo-400) !important;
|
|
582
|
+
--cx-ui-control-on: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
583
|
+
--cx-ui-active-cell: var(--cx-ui-dark-accent, var(--cx-color-indigo-400)) !important;
|
|
577
584
|
--cx-ui-code-key: #ff7b72 !important;
|
|
578
585
|
--cx-ui-code-value: #79c0ff !important;
|
|
579
586
|
--cx-ui-code-string: #ffa657 !important;
|
|
@@ -687,6 +694,16 @@ svg.cX-code {
|
|
|
687
694
|
}
|
|
688
695
|
}
|
|
689
696
|
|
|
697
|
+
/* Dark theme: the loader and its spinner take the chart's dark accent (the light theme keeps the
|
|
698
|
+
literals above; per-style dark accents plan, P3) */
|
|
699
|
+
[data-cx-ui-theme="dark"] .cX-Loader {
|
|
700
|
+
color: var(--cx-ui-accent);
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
[data-cx-ui-theme="dark"] .cX-Loader-Spinner {
|
|
704
|
+
border-top-color: var(--cx-ui-accent);
|
|
705
|
+
}
|
|
706
|
+
|
|
690
707
|
/*
|
|
691
708
|
* Dark theme (P7): the icon colour classes carry light literals (icons.js, and the dataUIStyle's
|
|
692
709
|
* via changeSVGIconColors, written into each icon's <style>), so a dark subtree re-points the UI
|
|
@@ -747,6 +764,48 @@ svg.cX-code {
|
|
|
747
764
|
fill: var(--cx-ui-surface);
|
|
748
765
|
}
|
|
749
766
|
|
|
767
|
+
/*
|
|
768
|
+
* Glyph icons (letters, #, +/-: font size/style buttons, Columns, spinners) use text classes that
|
|
769
|
+
* set only a font, so <text> falls back to its default black fill and vanishes on a dark surface.
|
|
770
|
+
* Give them the text role. cxtbw100 is deliberately white and is left alone.
|
|
771
|
+
*/
|
|
772
|
+
[data-cx-ui-theme="dark"] .cxtb100,
|
|
773
|
+
[data-cx-ui-theme="dark"] .cxtn10,
|
|
774
|
+
[data-cx-ui-theme="dark"] .cxtn20,
|
|
775
|
+
[data-cx-ui-theme="dark"] .cxtn30,
|
|
776
|
+
[data-cx-ui-theme="dark"] .cxtn40,
|
|
777
|
+
[data-cx-ui-theme="dark"] .cxtn50,
|
|
778
|
+
[data-cx-ui-theme="dark"] .cxtn60,
|
|
779
|
+
[data-cx-ui-theme="dark"] .cxtn70,
|
|
780
|
+
[data-cx-ui-theme="dark"] .cxtn80,
|
|
781
|
+
[data-cx-ui-theme="dark"] .cxtn90,
|
|
782
|
+
[data-cx-ui-theme="dark"] .cxtn100,
|
|
783
|
+
[data-cx-ui-theme="dark"] .cxtn120,
|
|
784
|
+
[data-cx-ui-theme="dark"] .cxtn140,
|
|
785
|
+
[data-cx-ui-theme="dark"] .cxtn160,
|
|
786
|
+
[data-cx-ui-theme="dark"] .cxtn180,
|
|
787
|
+
[data-cx-ui-theme="dark"] .cxti85,
|
|
788
|
+
[data-cx-ui-theme="dark"] .cxti100,
|
|
789
|
+
[data-cx-ui-theme="dark"] .cxts60,
|
|
790
|
+
[data-cx-ui-theme="dark"] .cxts70,
|
|
791
|
+
[data-cx-ui-theme="dark"] .cxts80,
|
|
792
|
+
[data-cx-ui-theme="dark"] .cxts90,
|
|
793
|
+
[data-cx-ui-theme="dark"] .cxts100,
|
|
794
|
+
[data-cx-ui-theme="dark"] .cxts150,
|
|
795
|
+
[data-cx-ui-theme="dark"] .cxts200 {
|
|
796
|
+
fill: var(--cx-ui-text);
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
/* The muted #999 grey (e.g. the margin grid) is too dim on a dark surface: use the muted text role. */
|
|
800
|
+
[data-cx-ui-theme="dark"] .cxc {
|
|
801
|
+
stroke: var(--cx-ui-text-muted);
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
[data-cx-ui-theme="dark"] .cxcc {
|
|
805
|
+
stroke: var(--cx-ui-text-muted);
|
|
806
|
+
fill: var(--cx-ui-text-muted);
|
|
807
|
+
}
|
|
808
|
+
|
|
750
809
|
@media (prefers-color-scheme: dark) {
|
|
751
810
|
[data-cx-ui-theme="auto"] .cxa,
|
|
752
811
|
[data-cx-ui-theme="auto"] .cxa1,
|
|
@@ -800,6 +859,42 @@ svg.cX-code {
|
|
|
800
859
|
stroke: var(--cx-ui-text);
|
|
801
860
|
fill: var(--cx-ui-surface);
|
|
802
861
|
}
|
|
862
|
+
|
|
863
|
+
[data-cx-ui-theme="auto"] .cxtb100,
|
|
864
|
+
[data-cx-ui-theme="auto"] .cxtn10,
|
|
865
|
+
[data-cx-ui-theme="auto"] .cxtn20,
|
|
866
|
+
[data-cx-ui-theme="auto"] .cxtn30,
|
|
867
|
+
[data-cx-ui-theme="auto"] .cxtn40,
|
|
868
|
+
[data-cx-ui-theme="auto"] .cxtn50,
|
|
869
|
+
[data-cx-ui-theme="auto"] .cxtn60,
|
|
870
|
+
[data-cx-ui-theme="auto"] .cxtn70,
|
|
871
|
+
[data-cx-ui-theme="auto"] .cxtn80,
|
|
872
|
+
[data-cx-ui-theme="auto"] .cxtn90,
|
|
873
|
+
[data-cx-ui-theme="auto"] .cxtn100,
|
|
874
|
+
[data-cx-ui-theme="auto"] .cxtn120,
|
|
875
|
+
[data-cx-ui-theme="auto"] .cxtn140,
|
|
876
|
+
[data-cx-ui-theme="auto"] .cxtn160,
|
|
877
|
+
[data-cx-ui-theme="auto"] .cxtn180,
|
|
878
|
+
[data-cx-ui-theme="auto"] .cxti85,
|
|
879
|
+
[data-cx-ui-theme="auto"] .cxti100,
|
|
880
|
+
[data-cx-ui-theme="auto"] .cxts60,
|
|
881
|
+
[data-cx-ui-theme="auto"] .cxts70,
|
|
882
|
+
[data-cx-ui-theme="auto"] .cxts80,
|
|
883
|
+
[data-cx-ui-theme="auto"] .cxts90,
|
|
884
|
+
[data-cx-ui-theme="auto"] .cxts100,
|
|
885
|
+
[data-cx-ui-theme="auto"] .cxts150,
|
|
886
|
+
[data-cx-ui-theme="auto"] .cxts200 {
|
|
887
|
+
fill: var(--cx-ui-text);
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
[data-cx-ui-theme="auto"] .cxc {
|
|
891
|
+
stroke: var(--cx-ui-text-muted);
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
[data-cx-ui-theme="auto"] .cxcc {
|
|
895
|
+
stroke: var(--cx-ui-text-muted);
|
|
896
|
+
fill: var(--cx-ui-text-muted);
|
|
897
|
+
}
|
|
803
898
|
}
|
|
804
899
|
/* @category: widget */
|
|
805
900
|
/*****************
|
|
@@ -1621,6 +1716,10 @@ textarea.cX-Chat-Code-Output {
|
|
|
1621
1716
|
cursor: default;
|
|
1622
1717
|
}
|
|
1623
1718
|
|
|
1719
|
+
/* Dark theme: the left toolbar links take the chart's dark accent text (the light theme keeps the browser link colour; per-style dark accents plan, P3) */
|
|
1720
|
+
[data-cx-ui-theme="dark"] [id$="-cX-ChatInterfaceLeftToolbar"] > a {
|
|
1721
|
+
color: var(--cx-ui-accent-strong);
|
|
1722
|
+
}
|
|
1624
1723
|
/* @category: shared */
|
|
1625
1724
|
|
|
1626
1725
|
/*
|
|
@@ -2568,7 +2667,6 @@ input[type="search"].cX-DataFilter-Search::-webkit-search-cancel-button {
|
|
|
2568
2667
|
.cX-Customizer-CardAccent .cX-Customizer-RightItem:hover,
|
|
2569
2668
|
.cX-Customizer-CardAccent .cX-Customizer-RightItemLauncher:hover,
|
|
2570
2669
|
.cX-Customizer-CardAccent .cX-Customizer-RightItemLauncherNB:hover,
|
|
2571
|
-
.cX-Customizer-CardAccent .cX-Customizer-RightItemSelect > select:hover,
|
|
2572
2670
|
.cX-Customizer-CardAccent .cX-Customizer-RightItemTextArea > svg:hover,
|
|
2573
2671
|
.cX-Customizer-CardAccent .cX-Customizer-RightItemTextArea > textarea:hover,
|
|
2574
2672
|
.cX-Customizer-CardAccent .cX-Customizer-ContainerRaw > svg:hover,
|
|
@@ -2584,6 +2682,10 @@ input[type="search"].cX-DataFilter-Search::-webkit-search-cancel-button {
|
|
|
2584
2682
|
background: var(--cx-item-accent-bg) !important;
|
|
2585
2683
|
background-color: var(--cx-item-accent-bg) !important;
|
|
2586
2684
|
}
|
|
2685
|
+
/* Selects take only the colour: the background shorthand above would also wipe their chevron. */
|
|
2686
|
+
.cX-Customizer-CardAccent .cX-Customizer-RightItemSelect > select:hover {
|
|
2687
|
+
background-color: var(--cx-item-accent-bg);
|
|
2688
|
+
}
|
|
2587
2689
|
/* Range sliders inside an accented card follow the card's colour (thumb + fill),
|
|
2588
2690
|
* not the global purple. -webkit- and -moz- pseudo-elements must stay in separate
|
|
2589
2691
|
* rules or the whole rule is dropped. */
|
|
@@ -2856,6 +2958,19 @@ input[type="search"].cX-DataFilter-Search::-webkit-search-cancel-button {
|
|
|
2856
2958
|
height: 26px !important;
|
|
2857
2959
|
}
|
|
2858
2960
|
|
|
2961
|
+
/*
|
|
2962
|
+
* Integer spinner (-, value, +): push the buttons outward into the empty outer columns for more
|
|
2963
|
+
* separation from the value box. A transform leaves the box (and its fixed-width input) untouched,
|
|
2964
|
+
* and moves the click target with the icon.
|
|
2965
|
+
*/
|
|
2966
|
+
.cX-Customizer-RightItemInt .cX-Customizer-RightItemCol2 {
|
|
2967
|
+
transform: translateX(-6px);
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2970
|
+
.cX-Customizer-RightItemInt .cX-Customizer-RightItemCol5 {
|
|
2971
|
+
transform: translateX(6px);
|
|
2972
|
+
}
|
|
2973
|
+
|
|
2859
2974
|
.cX-Customizer-RightItemColMid {
|
|
2860
2975
|
grid-area: 1 / 3 / 2 / 5;
|
|
2861
2976
|
display: flex;
|
|
@@ -2878,6 +2993,38 @@ input[type="search"].cX-DataFilter-Search::-webkit-search-cancel-button {
|
|
|
2878
2993
|
line-height: normal;
|
|
2879
2994
|
}
|
|
2880
2995
|
|
|
2996
|
+
/*
|
|
2997
|
+
* Select boxes draw their own chevron instead of the native arrow: the browser pins that against
|
|
2998
|
+
* the right border and padding cannot move it. Two thin diagonals in currentColor form the V, so it
|
|
2999
|
+
* follows the text colour in light and dark themes. padding-left keeps the value where the native
|
|
3000
|
+
* control put it; padding-right keeps long values clear of the chevron.
|
|
3001
|
+
*/
|
|
3002
|
+
.cX-Customizer-RightItemSelect > select {
|
|
3003
|
+
-webkit-appearance: none;
|
|
3004
|
+
-moz-appearance: none;
|
|
3005
|
+
appearance: none;
|
|
3006
|
+
padding-left: 4px;
|
|
3007
|
+
padding-right: 20px;
|
|
3008
|
+
background-image:
|
|
3009
|
+
linear-gradient(45deg, transparent 40%, currentColor 40%, currentColor 60%, transparent 60%),
|
|
3010
|
+
linear-gradient(-45deg, transparent 40%, currentColor 40%, currentColor 60%, transparent 60%);
|
|
3011
|
+
background-position:
|
|
3012
|
+
calc(100% - 13px) 50%,
|
|
3013
|
+
calc(100% - 8px) 50%;
|
|
3014
|
+
background-size: 5px 5px, 5px 5px;
|
|
3015
|
+
background-repeat: no-repeat;
|
|
3016
|
+
}
|
|
3017
|
+
|
|
3018
|
+
/* High-contrast (forced colours) mode drops background images: fall back to the native arrow. */
|
|
3019
|
+
@media (forced-colors: active) {
|
|
3020
|
+
.cX-Customizer-RightItemSelect > select {
|
|
3021
|
+
-webkit-appearance: auto;
|
|
3022
|
+
-moz-appearance: auto;
|
|
3023
|
+
appearance: auto;
|
|
3024
|
+
background-image: none;
|
|
3025
|
+
}
|
|
3026
|
+
}
|
|
3027
|
+
|
|
2881
3028
|
.cX-Customizer-RightItemTextArea>svg:hover,
|
|
2882
3029
|
.cX-Customizer-RightItemTextArea>textarea:hover,
|
|
2883
3030
|
.cX-Customizer-ContainerRaw>svg:hover,
|
|
@@ -3169,7 +3316,10 @@ input.cX-Customizer-Search:not([type="color"]) {
|
|
|
3169
3316
|
.cX-Customizer-RightPanel .cX-Customizer-String,
|
|
3170
3317
|
.cX-Customizer-RightPanel .cX-Customizer-Unique,
|
|
3171
3318
|
.cX-Customizer-RightPanel .cX-Customizer-Wrangling {
|
|
3172
|
-
border
|
|
3319
|
+
/* The solid accent border every widget frame shares (DataTable, DataFilter cards). This used the
|
|
3320
|
+
light chrome border, so in stripped/old/bms/colorful/ngs360 the Customizer cards were fainter
|
|
3321
|
+
than the DataFilter cards next to them. */
|
|
3322
|
+
border-color: var(--cx-datatable-border-color, var(--cx-ui-border-accent)) !important;
|
|
3173
3323
|
border-radius: var(--cx-border-radius) !important;
|
|
3174
3324
|
}
|
|
3175
3325
|
|
|
@@ -3556,6 +3706,11 @@ div.CanvasXpressDragLayout {
|
|
|
3556
3706
|
word-break: break-word;
|
|
3557
3707
|
}
|
|
3558
3708
|
|
|
3709
|
+
/* Dark theme: the header links (e.g. Title / Text) are plain <a>, drawn in the browser's dark link
|
|
3710
|
+
colour; they take the chart's dark accent text instead (the light theme keeps the browser link colour; per-style dark accents plan, P3) */
|
|
3711
|
+
[data-cx-ui-theme="dark"] .cX-Customizer-RightItemHeaderBottom > a {
|
|
3712
|
+
color: var(--cx-ui-accent-strong);
|
|
3713
|
+
}
|
|
3559
3714
|
/* @category: widget */
|
|
3560
3715
|
/***********
|
|
3561
3716
|
* Tooltip *
|
|
@@ -4607,9 +4762,11 @@ tr.cX-DataTable-DOE {
|
|
|
4607
4762
|
background-color: var(--cx-background-widgets-color, var(--cx-ui-surface));
|
|
4608
4763
|
}
|
|
4609
4764
|
|
|
4765
|
+
/* Outer frame: the solid accent border shared by every widget frame (DataFilter cards,
|
|
4766
|
+
* Customizer cards); the light chrome border is kept for the table's internal dividers. */
|
|
4610
4767
|
.cX-DataTable {
|
|
4611
4768
|
background-color: transparent;
|
|
4612
|
-
border: 1px var(--cx-border-style) var(--cx-datatable-
|
|
4769
|
+
border: 1px var(--cx-border-style) var(--cx-datatable-border-color, var(--cx-ui-border-accent));
|
|
4613
4770
|
border-radius: var(--cx-border-radius);
|
|
4614
4771
|
clear: both;
|
|
4615
4772
|
color: var(--cx-font-color, var(--cx-ui-text));
|
|
@@ -4635,7 +4792,7 @@ tr.cX-DataTable-DOE {
|
|
|
4635
4792
|
|
|
4636
4793
|
input.cX-DataTable-Search {
|
|
4637
4794
|
background-color: var(--cx-datatable-background-color, var(--cx-ui-surface));
|
|
4638
|
-
border: 1px var(--cx-border-style) var(--cx-datatable-
|
|
4795
|
+
border: 1px var(--cx-border-style) var(--cx-datatable-border-color, var(--cx-ui-border-accent));
|
|
4639
4796
|
border-radius: var(--cx-border-radius);
|
|
4640
4797
|
color: var(--cx-datatable-banner-text-color, var(--cx-ui-on-chrome));
|
|
4641
4798
|
margin-right: 10px;
|
|
@@ -4887,7 +5044,7 @@ table.cX-DataTable,
|
|
|
4887
5044
|
}
|
|
4888
5045
|
|
|
4889
5046
|
/* "colorful" style: the selected row is highlighted in amber so it stands out
|
|
4890
|
-
* from the
|
|
5047
|
+
* from the blue header/hover and the light-blue striping. */
|
|
4891
5048
|
.cX-DataTable-Colorful .cX-DataTable-Row-Active {
|
|
4892
5049
|
background-color: rgba(242, 169, 0, 0.22) !important;
|
|
4893
5050
|
}
|
|
@@ -5151,6 +5308,10 @@ td.cX-DataTable-Cell > .cX-DataTable-Cell-Number:hover {
|
|
|
5151
5308
|
width: 120px;
|
|
5152
5309
|
}
|
|
5153
5310
|
|
|
5311
|
+
/* Dark theme: the column menu link takes the chart's dark accent text (the light theme keeps the browser link colour; per-style dark accents plan, P3) */
|
|
5312
|
+
[data-cx-ui-theme="dark"] .cX-DataTable-Cell-Header-Menu {
|
|
5313
|
+
color: var(--cx-ui-accent-strong);
|
|
5314
|
+
}
|
|
5154
5315
|
/* @category: widget */
|
|
5155
5316
|
/***************/
|
|
5156
5317
|
/* Data Filter */
|
|
@@ -5233,12 +5394,15 @@ td.cX-DataTable-Cell > .cX-DataTable-Cell-Number:hover {
|
|
|
5233
5394
|
font-size: var(--cx-datafilter-font-size, var(--cx-font-size));
|
|
5234
5395
|
}
|
|
5235
5396
|
|
|
5397
|
+
/* Sits on the chrome-coloured bar, so it takes the text colour readable on it: white on modern's
|
|
5398
|
+
* accent bar, dark on the white/grey bars, light in the dark UI theme. */
|
|
5236
5399
|
.cX-DataFilter-Toolbar-Text {
|
|
5237
5400
|
flex: 1;
|
|
5238
5401
|
top: 0px;
|
|
5239
5402
|
left: 0px;
|
|
5240
5403
|
padding-left: 8px;
|
|
5241
5404
|
font-size: var(--cx-font-size);
|
|
5405
|
+
color: var(--cx-ui-on-chrome);
|
|
5242
5406
|
}
|
|
5243
5407
|
|
|
5244
5408
|
svg.cX-DataFilter-Toolbar-Image,
|
|
@@ -5247,9 +5411,11 @@ svg.cX-DataFilter-Toolbar-ImageNB {
|
|
|
5247
5411
|
cursor: pointer;
|
|
5248
5412
|
}
|
|
5249
5413
|
|
|
5414
|
+
/* Left of the icon row: takes the free space, the icons stay right, long counts ellipsize */
|
|
5250
5415
|
.cX-DataFilter-Summary {
|
|
5251
|
-
|
|
5252
|
-
|
|
5416
|
+
flex: 1 1 auto;
|
|
5417
|
+
min-width: 0;
|
|
5418
|
+
padding: 0 4px;
|
|
5253
5419
|
line-height: 1.2;
|
|
5254
5420
|
white-space: nowrap;
|
|
5255
5421
|
overflow: hidden;
|
|
@@ -6170,6 +6336,13 @@ span.cX-Menu-Item-Text {
|
|
|
6170
6336
|
opacity: 1;
|
|
6171
6337
|
}
|
|
6172
6338
|
|
|
6339
|
+
/* Dark theme: the chart's dark accent, with the dark text that reads on it (the light theme keeps
|
|
6340
|
+
the literal above; per-style dark accents plan, P3) */
|
|
6341
|
+
[data-cx-ui-theme="dark"] .cX-Resize-Indicator {
|
|
6342
|
+
background: var(--cx-ui-accent);
|
|
6343
|
+
color: var(--cx-ui-on-accent);
|
|
6344
|
+
}
|
|
6345
|
+
|
|
6173
6346
|
/* 8-POINT RESIZER STYLES */
|
|
6174
6347
|
.cX-Resizer {
|
|
6175
6348
|
position: absolute;
|
|
@@ -6406,6 +6579,7 @@ body.has-fullscreen {
|
|
|
6406
6579
|
border-radius: 10px;
|
|
6407
6580
|
padding: 8px;
|
|
6408
6581
|
background: var(--cx-ui-surface);
|
|
6582
|
+
color: var(--cx-font-color, var(--cx-ui-text));
|
|
6409
6583
|
opacity: 0;
|
|
6410
6584
|
z-index: var(--cx-z-toolbar-edge);
|
|
6411
6585
|
transition: all var(--cx-transition-speed) ease;
|
package/src/canvasXpress.d.mts
CHANGED
|
@@ -7056,8 +7056,8 @@ export interface CXConfig {
|
|
|
7056
7056
|
*/
|
|
7057
7057
|
showDataLabels?: boolean;
|
|
7058
7058
|
/**
|
|
7059
|
-
* Flag to show/hide the data values in the bar graphs, stacked graphs, dotplots
|
|
7060
|
-
*
|
|
7059
|
+
* Flag to show/hide the data values in the bar graphs, stacked graphs, dotplots, line graphs
|
|
7060
|
+
* and Sankey node labels
|
|
7061
7061
|
* @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
|
|
7062
7062
|
* @default false
|
|
7063
7063
|
*/
|
package/src/canvasXpress.d.ts
CHANGED
|
@@ -7065,8 +7065,8 @@ declare namespace CanvasXpress {
|
|
|
7065
7065
|
*/
|
|
7066
7066
|
showDataLabels?: boolean;
|
|
7067
7067
|
/**
|
|
7068
|
-
* Flag to show/hide the data values in the bar graphs, stacked graphs, dotplots
|
|
7069
|
-
*
|
|
7068
|
+
* Flag to show/hide the data values in the bar graphs, stacked graphs, dotplots, line graphs
|
|
7069
|
+
* and Sankey node labels
|
|
7070
7070
|
* @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
|
|
7071
7071
|
* @default false
|
|
7072
7072
|
*/
|