canvasxpress 65.2.0 → 65.3.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 CHANGED
@@ -3,7 +3,7 @@
3
3
  "main": "src/canvasXpress.js",
4
4
  "style": "src/canvasXpress.css",
5
5
  "title": "CanvasXpress",
6
- "version": "65.2.0",
6
+ "version": "65.3.0",
7
7
  "license": {
8
8
  "type": "Dual licensing",
9
9
  "url": "https://www.canvasxpress.org/docs/license.html"
@@ -55,6 +55,8 @@
55
55
  --cx-color-bms-hover: rgba(190, 43, 187, 0.1);
56
56
  --cx-color-bms2: rgb(89, 84, 84);
57
57
  --cx-color-bms2-hover: rgba(89, 84, 84, 0.1);
58
+ --cx-color-colorful: rgb(106, 27, 154);
59
+ --cx-color-colorful-hover: rgba(106, 27, 154, 0.1);
58
60
  /* Font */
59
61
  --cx-x-small-font-size: 11px;
60
62
  --cx-small-font-size: 12px;
@@ -984,6 +986,18 @@ button.cX-Chat-Output-Tab.Active {
984
986
  z-index: 3;
985
987
  }
986
988
 
989
+ /* "colorful" style: each output tab carries its own accent (top bar + hover +
990
+ * active label), set inline as --cx-item-accent / --cx-item-accent-bg. */
991
+ button.cX-Chat-Output-Tab-Accent {
992
+ border-top: 3px solid var(--cx-item-accent) !important;
993
+ }
994
+ button.cX-Chat-Output-Tab-Accent:hover {
995
+ background-color: var(--cx-item-accent-bg) !important;
996
+ }
997
+ button.cX-Chat-Output-Tab-Accent.Active {
998
+ color: var(--cx-item-accent) !important;
999
+ }
1000
+
987
1001
  /* Tab Content Containers (Scrollable) */
988
1002
  div.cX-Chat-Graphical-Output,
989
1003
  textarea.cX-Chat-Code-Output {
@@ -1204,6 +1218,7 @@ textarea.cX-Chat-Code-Output {
1204
1218
 
1205
1219
  .cX-Customizer-LeftPanelItems > div:first-child {
1206
1220
  background: var(--cx-color-widgets);
1221
+ color: var(--cx-customizer-close-text-color, #fff);
1207
1222
  }
1208
1223
 
1209
1224
  .cX-Customizer-RightPanel {
@@ -1372,6 +1387,48 @@ textarea.cX-Chat-Code-Output {
1372
1387
  background: transparent !important;
1373
1388
  }
1374
1389
 
1390
+ /*
1391
+ * "colorful" style — per-item accent. Each nav item carries its own colour
1392
+ * (set inline as --cx-item-accent / --cx-item-accent-bg): a left accent bar
1393
+ * plus a tinted icon "chip", echoing the multi-colour MOA cards.
1394
+ */
1395
+ .cX-Customizer-Compact .cX-Customizer-LeftItemAccent {
1396
+ border-left: 3px var(--cx-border-style) var(--cx-item-accent) !important;
1397
+ }
1398
+ .cX-Customizer-Compact .cX-Customizer-LeftItemAccent:hover,
1399
+ .cX-Customizer-Compact .cX-Customizer-LeftItemAccent.cX-Customizer-LeftItemActive {
1400
+ background: var(--cx-item-accent-bg) !important;
1401
+ }
1402
+ .cX-Customizer-Compact .cX-Customizer-LeftItemAccent .cX-Customizer-LeftIcon {
1403
+ border: 1px var(--cx-border-style) var(--cx-item-accent) !important;
1404
+ border-radius: var(--cx-border-radius);
1405
+ background: var(--cx-item-accent-bg) !important;
1406
+ box-sizing: content-box;
1407
+ }
1408
+
1409
+ /* Collapse the compact rail to an icon-only strip when it is narrower than
1410
+ 100px: hide the text label and centre the icon. Driven by the panel's own
1411
+ width via a container query (the panel width is set inline in JS). */
1412
+ .cX-Customizer-PanelLeft.cX-Customizer-Compact {
1413
+ container-type: inline-size;
1414
+ }
1415
+
1416
+ @container (max-width: 99px) {
1417
+ .cX-Customizer-Compact .cX-Customizer-LeftItemTop {
1418
+ display: none !important;
1419
+ }
1420
+
1421
+ .cX-Customizer-Compact .cX-Customizer-LeftItem,
1422
+ .cX-Customizer-Compact .cX-Customizer-LeftItemActive,
1423
+ .cX-Customizer-Compact .cX-Customizer-LeftItemNB {
1424
+ justify-content: center !important;
1425
+ }
1426
+
1427
+ .cX-Customizer-Compact .cX-Customizer-LeftItemBottom {
1428
+ margin: auto !important;
1429
+ }
1430
+ }
1431
+
1375
1432
  /*
1376
1433
  * CanvasXpress Customizer Right Items
1377
1434
  */
@@ -1514,6 +1571,87 @@ textarea.cX-Chat-Code-Output {
1514
1571
  color: var(--cx-font-color);
1515
1572
  }
1516
1573
 
1574
+ /*
1575
+ * "colorful" style — per-card accent in the right panel. Each card carries its
1576
+ * own colour (set inline as --cx-item-accent / --cx-item-accent-bg): a left
1577
+ * accent bar plus a tinted, accent-titled header, echoing the MOA cards. The
1578
+ * class is only added when dataUIStyle === 'colorful'.
1579
+ */
1580
+ .cX-Customizer-CardAccent {
1581
+ border-left: 3px var(--cx-border-style) var(--cx-item-accent) !important;
1582
+ border-radius: var(--cx-border-radius);
1583
+ overflow: hidden;
1584
+ }
1585
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemHeader,
1586
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemHeaderNB {
1587
+ background: var(--cx-item-accent-bg) !important;
1588
+ border-bottom-color: var(--cx-item-accent) !important;
1589
+ }
1590
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemHeaderTop {
1591
+ color: var(--cx-item-accent) !important;
1592
+ }
1593
+ /* Standard (non-link) card header title also takes the card's colour. */
1594
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemHeaderMain > :first-child {
1595
+ color: var(--cx-item-accent) !important;
1596
+ }
1597
+ /* Hover inside an accented card follows the card's colour, not the global purple. */
1598
+ .cX-Customizer-CardAccent .cX-Customizer-RightItem:hover,
1599
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemLauncher:hover,
1600
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemLauncherNB:hover,
1601
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemSelect > select:hover,
1602
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemTextArea > svg:hover,
1603
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemTextArea > textarea:hover,
1604
+ .cX-Customizer-CardAccent .cX-Customizer-ContainerRaw > svg:hover,
1605
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemCol1 > svg:hover,
1606
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemCol2 > svg:hover,
1607
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemCol3 > svg:hover,
1608
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemCol4 > svg:hover,
1609
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemCol5 > svg:hover,
1610
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemCol6 > svg:hover,
1611
+ .cX-Customizer-CardAccent .cX-Customizer-ListNumeric:hover,
1612
+ .cX-Customizer-CardAccent .cX-Customizer-ListString:hover,
1613
+ .cX-Customizer-CardAccent .cX-Customizer-ListUnique:hover {
1614
+ background: var(--cx-item-accent-bg) !important;
1615
+ background-color: var(--cx-item-accent-bg) !important;
1616
+ }
1617
+ /* Range sliders inside an accented card follow the card's colour (thumb + fill),
1618
+ * not the global purple. -webkit- and -moz- pseudo-elements must stay in separate
1619
+ * rules or the whole rule is dropped. */
1620
+ .cX-Customizer-CardAccent input[type=range]::-webkit-slider-thumb {
1621
+ background: var(--cx-item-accent) !important;
1622
+ }
1623
+ .cX-Customizer-CardAccent input[type=range]::-moz-range-thumb {
1624
+ background: var(--cx-item-accent) !important;
1625
+ }
1626
+ .cX-Customizer-CardAccent div.cX-RangeSlider > div.cX-RangeSlider-Range,
1627
+ .cX-Customizer-CardAccent div.cX-RangeSlider > div.cX-RangeSlider-Thumb-Left,
1628
+ .cX-Customizer-CardAccent div.cX-RangeSlider > div.cX-RangeSlider-Thumb-Right {
1629
+ background-color: var(--cx-item-accent) !important;
1630
+ }
1631
+ /* Match the filter treatment: the card's field labels take the card's colour.
1632
+ * (Search panel titles included; its inputs/description content stay neutral.) */
1633
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemComboBottomRight,
1634
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemLauncherRight,
1635
+ .cX-Customizer-CardAccent .cX-Customizer-RightItemBottom,
1636
+ .cX-Customizer-CardAccent .cX-Customizer-SearchSelect,
1637
+ .cX-Customizer-CardAccent .cX-Customizer-SearchCategory,
1638
+ .cX-Customizer-CardAccent .cX-Customizer-SearchDescription,
1639
+ .cX-Customizer-CardAccent .cX-Customizer-SearchCurrent {
1640
+ color: var(--cx-item-accent) !important;
1641
+ }
1642
+ /* The Search panel's field labels are drawn via ::before/::after pseudo-elements
1643
+ * (each with its own colour) — colour those to the card accent too. */
1644
+ .cX-Customizer-CardAccent .cX-Customizer-SearchSelect:before,
1645
+ .cX-Customizer-CardAccent .cX-Customizer-SearchSelect:after,
1646
+ .cX-Customizer-CardAccent .cX-Customizer-SearchCategory:before,
1647
+ .cX-Customizer-CardAccent .cX-Customizer-SearchCategory:after,
1648
+ .cX-Customizer-CardAccent .cX-Customizer-SearchDescription:before,
1649
+ .cX-Customizer-CardAccent .cX-Customizer-SearchDescription:after,
1650
+ .cX-Customizer-CardAccent .cX-Customizer-SearchCurrent:before,
1651
+ .cX-Customizer-CardAccent .cX-Customizer-SearchCurrent:after {
1652
+ color: var(--cx-item-accent) !important;
1653
+ }
1654
+
1517
1655
  .cX-Customizer-RightItemHeaderMain {
1518
1656
  grid-area: 1 / 1 / 3 / 2;
1519
1657
  display: flex;
@@ -2405,6 +2543,12 @@ div.CanvasXpressDragLayout {
2405
2543
  background-color: var(--cx-customizer-hover-color) !important;
2406
2544
  }
2407
2545
 
2546
+ /* Accented-card launchers hover in the card's colour (beats the compact rule above). */
2547
+ .cX-Customizer-Compact .cX-Customizer-CardAccent .cX-Customizer-RightItemLauncher:hover,
2548
+ .cX-Customizer-Compact .cX-Customizer-CardAccent .cX-Customizer-RightItemLauncherNB:hover {
2549
+ background-color: var(--cx-item-accent-bg) !important;
2550
+ }
2551
+
2408
2552
  /* --------------------------------------------------------------------------
2409
2553
  * Family 2 - Data panel: icon-button grids (Transform / Summary) and the
2410
2554
  * icon-over-label tiles (Sort). Shrink the oversized grid buttons and make the
@@ -3060,6 +3204,23 @@ input[type=range].cX-Workflow-Duration-Slider::-moz-range-thumb {
3060
3204
  font-weight: bold;
3061
3205
  }
3062
3206
 
3207
+ /*
3208
+ * "colorful" style — per-step accent along the timeline. Each step carries its own
3209
+ * colour (set inline as --cx-item-accent / --cx-item-accent-bg): a left accent bar,
3210
+ * a tinted icon chip, and a matching hover/active state. Added only for colorful.
3211
+ */
3212
+ .cX-Workflow-Item-Accent {
3213
+ border-left: 3px solid var(--cx-item-accent) !important;
3214
+ }
3215
+ .cX-Workflow-Item-Accent:hover,
3216
+ .cX-Workflow-Item-Accent.cX-Workflow-Active {
3217
+ background: var(--cx-item-accent-bg) !important;
3218
+ }
3219
+ .cX-Workflow-Item-Accent .cX-Menu-List-Icon {
3220
+ background: var(--cx-item-accent-bg) !important;
3221
+ border-radius: var(--cx-border-radius, 5px);
3222
+ }
3223
+
3063
3224
  /* @category: widget */
3064
3225
  /*************
3065
3226
  * Toolbar *
@@ -3767,6 +3928,16 @@ table.cX-DataTable,
3767
3928
  background-color: var(--cx-datatable-row-hover-background-color)!important;
3768
3929
  }
3769
3930
 
3931
+ /* "colorful" style: the selected row is highlighted in amber so it stands out
3932
+ * from the purple header/hover and the light-purple striping. */
3933
+ .cX-DataTable-Colorful .cX-DataTable-Row-Active {
3934
+ background-color: rgba(242, 169, 0, 0.22) !important;
3935
+ }
3936
+ .cX-DataTable-Colorful .cX-DataTable-Row-Active td,
3937
+ .cX-DataTable-Colorful .cX-DataTable-Row-Active th {
3938
+ background-color: rgba(242, 169, 0, 0.22) !important;
3939
+ }
3940
+
3770
3941
  .cX-DataTable-Row:not(:first-child):hover {
3771
3942
  background-color: var(--cx-datatable-row-hover-background-color) !important;
3772
3943
  }
@@ -4210,6 +4381,42 @@ input[type="search"].cX-DataFilter-Search::-webkit-search-cancel-button {
4210
4381
  margin-bottom: 4px;
4211
4382
  }
4212
4383
 
4384
+ /*
4385
+ * "colorful" style — per-filter accent. Each filter carries its own colour
4386
+ * (set inline as --cx-item-accent / --cx-item-accent-bg, hashed from the filter
4387
+ * name so it stays stable across updates): a left accent bar plus a matching
4388
+ * hover. The class is only added when dataUIStyle === 'colorful'.
4389
+ */
4390
+ .cX-DataFilter-ItemAccent {
4391
+ border-left: 3px var(--cx-border-style) var(--cx-item-accent) !important;
4392
+ }
4393
+ .cX-DataFilter-ItemAccent:hover {
4394
+ background-color: var(--cx-item-accent-bg) !important;
4395
+ }
4396
+ .cX-DataFilter-ItemAccent > :first-child {
4397
+ color: var(--cx-item-accent) !important;
4398
+ font-weight: bold;
4399
+ }
4400
+ /* The filter's controls (range fill/thumbs, toggle, select, checkbox) follow the
4401
+ * card's colour instead of the global purple. */
4402
+ .cX-DataFilter-ItemAccent div.cX-RangeSlider > div.cX-RangeSlider-Range,
4403
+ .cX-DataFilter-ItemAccent div.cX-RangeSlider > div.cX-RangeSlider-Thumb-Left,
4404
+ .cX-DataFilter-ItemAccent div.cX-RangeSlider > div.cX-RangeSlider-Thumb-Right {
4405
+ background-color: var(--cx-item-accent) !important;
4406
+ }
4407
+ .cX-DataFilter-ItemAccent input.cX-Toggle:checked + div.cX-Toggle-Switch {
4408
+ background: var(--cx-item-accent) !important;
4409
+ }
4410
+ .cX-DataFilter-ItemAccent select {
4411
+ border-color: var(--cx-item-accent) !important;
4412
+ }
4413
+ .cX-DataFilter-ItemAccent select:focus {
4414
+ outline-color: var(--cx-item-accent) !important;
4415
+ }
4416
+ .cX-DataFilter-ItemAccent input[type=checkbox].cX-Checkbox {
4417
+ accent-color: var(--cx-item-accent) !important;
4418
+ }
4419
+
4213
4420
  .cX-DataFilter-Head,
4214
4421
  .cX-DataFilter-Head-Active {
4215
4422
  background: var(--cx-background-hover-color);
@@ -4753,6 +4960,28 @@ input[type=file] {
4753
4960
  pointer-events: auto;
4754
4961
  }
4755
4962
 
4963
+ /*
4964
+ * "colorful" style — per-item accent. Each menu entry carries its own colour
4965
+ * (set inline as --cx-item-accent / --cx-item-accent-bg, hashed from its label):
4966
+ * a left accent bar, a tinted icon chip, and a matching hover/active state.
4967
+ * The class is only added when dataUIStyle === 'colorful'.
4968
+ */
4969
+ .cX-Menu-Item-Accent {
4970
+ border-left: 3px solid var(--cx-item-accent) !important;
4971
+ }
4972
+ .cX-Menu-Item-Accent:hover,
4973
+ .cX-Menu-Item-Accent.cX-Menu-Item-Active {
4974
+ background: var(--cx-item-accent-bg) !important;
4975
+ border-color: var(--cx-item-accent) !important;
4976
+ }
4977
+ .cX-Menu-Item-Accent .cX-Menu-List-Icon {
4978
+ background: var(--cx-item-accent-bg) !important;
4979
+ border-radius: var(--cx-border-radius, 5px);
4980
+ }
4981
+ .cX-Menu-Item-Accent .cX-Menu-Item-Text {
4982
+ color: var(--cx-item-accent) !important;
4983
+ }
4984
+
4756
4985
  .cX-Menu-Item-Scroll-Top {
4757
4986
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAFCAYAAACw/UeDAAAARUlEQVR42mNkQAMXL178z0Ah0NfXZ0Tmo3BAFkhLS+M1IDw8kmHlyuV41Tx9+hTFIjiDWAtggBSLGMmxgFSLGKkRB4QAAILWJXgE49MrAAAAAElFTkSuQmCC);
4758
4987
  background-repeat: no-repeat;