cx 24.10.2 → 24.10.4

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 (70) hide show
  1. package/dist/charts.js +24 -27
  2. package/dist/data.js +26 -29
  3. package/dist/manifest.js +434 -434
  4. package/dist/svg.js +59 -56
  5. package/dist/ui.js +51 -52
  6. package/dist/widgets.css +8 -8
  7. package/dist/widgets.js +40 -44
  8. package/package.json +32 -32
  9. package/src/charts/PieChart.js +2 -2
  10. package/src/charts/PieLabel.js +71 -71
  11. package/src/charts/axis/Axis.js +260 -260
  12. package/src/charts/axis/NumericAxis.js +347 -347
  13. package/src/charts/axis/Stack.js +55 -55
  14. package/src/charts/axis/TimeAxis.js +510 -510
  15. package/src/charts/helpers/PointReducer.js +43 -43
  16. package/src/charts/helpers/SnapPointFinder.js +69 -69
  17. package/src/data/Binding.spec.js +69 -69
  18. package/src/data/Expression.js +221 -221
  19. package/src/data/Expression.spec.js +184 -184
  20. package/src/data/StringTemplate.spec.js +105 -105
  21. package/src/data/getAccessor.spec.js +11 -11
  22. package/src/index.scss +6 -6
  23. package/src/svg/Text.d.ts +40 -40
  24. package/src/ui/Culture.d.ts +55 -55
  25. package/src/ui/Culture.js +139 -139
  26. package/src/ui/FocusManager.js +171 -171
  27. package/src/ui/Instance.d.ts +72 -72
  28. package/src/ui/VDOM.d.ts +12 -12
  29. package/src/ui/app/startAppLoop.js +58 -58
  30. package/src/ui/index.d.ts +42 -42
  31. package/src/ui/layout/LabelsTopLayout.js +134 -134
  32. package/src/util/Console.d.ts +4 -4
  33. package/src/util/index.d.ts +51 -51
  34. package/src/util/index.js +54 -54
  35. package/src/util/isValidIdentifierName.d.ts +1 -1
  36. package/src/util/isValidIdentifierName.js +5 -5
  37. package/src/util/isValidIdentifierName.spec.js +33 -33
  38. package/src/util/scss/add-rules.scss +38 -38
  39. package/src/widgets/CxCredit.scss +37 -37
  40. package/src/widgets/HighlightedSearchText.js +36 -36
  41. package/src/widgets/HighlightedSearchText.scss +18 -18
  42. package/src/widgets/List.scss +91 -91
  43. package/src/widgets/drag-drop/DropZone.js +214 -214
  44. package/src/widgets/form/Calendar.scss +196 -196
  45. package/src/widgets/form/ColorField.js +397 -397
  46. package/src/widgets/form/ColorPicker.scss +283 -283
  47. package/src/widgets/form/DateTimeField.js +573 -573
  48. package/src/widgets/form/LookupField.d.ts +179 -179
  49. package/src/widgets/form/MonthField.js +516 -516
  50. package/src/widgets/form/MonthPicker.scss +118 -118
  51. package/src/widgets/form/NumberField.js +459 -459
  52. package/src/widgets/form/NumberField.scss +61 -61
  53. package/src/widgets/form/Select.scss +99 -99
  54. package/src/widgets/form/Slider.scss +118 -118
  55. package/src/widgets/form/Switch.scss +140 -140
  56. package/src/widgets/form/TextArea.scss +43 -43
  57. package/src/widgets/form/TextField.js +290 -290
  58. package/src/widgets/form/TextField.scss +55 -55
  59. package/src/widgets/form/UploadButton.d.ts +34 -34
  60. package/src/widgets/form/variables.scss +353 -353
  61. package/src/widgets/grid/Grid.scss +2 -2
  62. package/src/widgets/grid/TreeNode.scss +88 -88
  63. package/src/widgets/nav/Menu.scss +74 -74
  64. package/src/widgets/overlay/Dropdown.js +612 -612
  65. package/src/widgets/overlay/FlyweightTooltipTracker.js +39 -39
  66. package/src/widgets/overlay/Tooltip.js +300 -300
  67. package/src/widgets/overlay/Window.js +196 -196
  68. package/src/widgets/overlay/captureMouse.js +124 -124
  69. package/src/widgets/overlay/variables.scss +83 -83
  70. package/src/widgets/variables.scss +144 -144
@@ -464,7 +464,7 @@
464
464
  }
465
465
 
466
466
  @for $i from 1 through 4 {
467
- .#{$element}#{$name}-group-caption.#{$state}level-#{$i} {
467
+ .#{$element}#{$name}-group-caption.#{$state}level-#{$i} td {
468
468
  @include cx-add-state-rules($cx-grid-group-caption-level-style-map, level-#{$i});
469
469
  }
470
470
  }
@@ -479,7 +479,7 @@
479
479
  }
480
480
 
481
481
  @for $i from 1 through 4 {
482
- .#{$element}#{$name}-group-footer.#{$state}level-#{$i} {
482
+ .#{$element}#{$name}-group-footer.#{$state}level-#{$i} td {
483
483
  @include cx-add-state-rules($cx-grid-group-footer-level-style-map, level-#{$i});
484
484
  }
485
485
  }
@@ -1,88 +1,88 @@
1
- @mixin cx-treenode(
2
- $name: "treenode",
3
- $icon-size: $cx-default-icon-size,
4
- $handle-size: $cx-default-input-tool-size,
5
- $handle-state-style-map: $cx-input-right-icon-state-style-map,
6
- $besm: $cx-besm
7
- ) {
8
- $block: map-get($besm, block);
9
- $element: map-get($besm, element);
10
- $state: map-get($besm, state);
11
- $mod: map-get($besm, mod);
12
-
13
- .#{$block}#{$name} {
14
- padding-left: $handle-size + $icon-size * 0.25;
15
- position: relative;
16
-
17
- &.#{$state}icon {
18
- padding-left: $handle-size + $icon-size + $icon-size * 0.25;
19
- }
20
-
21
- @for $i from 1 through 20 {
22
- &.#{$state}level-#{$i} {
23
- margin-left: #{($i * 20)}px;
24
- }
25
- }
26
- }
27
-
28
- .#{$element}#{$name}-handle {
29
- position: absolute;
30
-
31
- @include cx-add-state-rules($handle-state-style-map, default);
32
-
33
- left: 0;
34
- top: 50%;
35
- margin-top: -$handle-size * 0.5;
36
- bottom: 0;
37
- width: $handle-size + $icon-size;
38
- height: $handle-size;
39
-
40
- &:hover {
41
- @include cx-add-state-rules($handle-state-style-map, hover);
42
- }
43
-
44
- &:active {
45
- @include cx-add-state-rules($handle-state-style-map, active);
46
- }
47
- }
48
-
49
- .#{$element}#{$name}-arrow {
50
- display: block;
51
- position: absolute;
52
- left: 0;
53
- top: 50%;
54
- margin-top: -$icon-size * 0.5;
55
- margin-left: ($handle-size - $icon-size) * 0.5;
56
- height: $icon-size;
57
- width: $icon-size;
58
- line-height: $icon-size;
59
- transform: rotate(-90deg);
60
- transition: transform 0.2s;
61
-
62
- .#{$state}expanded & {
63
- transform: rotate(0);
64
- }
65
- }
66
-
67
- .#{$element}#{$name}-icon {
68
- display: block;
69
- position: absolute;
70
- left: 0;
71
- top: 50%;
72
- margin-top: -$icon-size * 0.5;
73
- margin-left: ($handle-size + $icon-size) * 0.5;
74
- height: $icon-size;
75
- width: $icon-size;
76
- line-height: $icon-size;
77
- }
78
-
79
- .#{$block}grid.#{$mod}tree {
80
- td {
81
- border-top: none;
82
- }
83
- }
84
- }
85
-
86
- @if (cx-should-include("cx/widgets/TreeNode")) {
87
- @include cx-treenode();
88
- }
1
+ @mixin cx-treenode(
2
+ $name: "treenode",
3
+ $icon-size: $cx-default-icon-size,
4
+ $handle-size: $cx-default-input-tool-size,
5
+ $handle-state-style-map: $cx-input-right-icon-state-style-map,
6
+ $besm: $cx-besm
7
+ ) {
8
+ $block: map-get($besm, block);
9
+ $element: map-get($besm, element);
10
+ $state: map-get($besm, state);
11
+ $mod: map-get($besm, mod);
12
+
13
+ .#{$block}#{$name} {
14
+ padding-left: $handle-size + $icon-size * 0.25;
15
+ position: relative;
16
+
17
+ &.#{$state}icon {
18
+ padding-left: $handle-size + $icon-size + $icon-size * 0.25;
19
+ }
20
+
21
+ @for $i from 1 through 20 {
22
+ &.#{$state}level-#{$i} {
23
+ margin-left: #{($i * 20)}px;
24
+ }
25
+ }
26
+ }
27
+
28
+ .#{$element}#{$name}-handle {
29
+ position: absolute;
30
+
31
+ @include cx-add-state-rules($handle-state-style-map, default);
32
+
33
+ left: 0;
34
+ top: 50%;
35
+ margin-top: -$handle-size * 0.5;
36
+ bottom: 0;
37
+ width: $handle-size + $icon-size;
38
+ height: $handle-size;
39
+
40
+ &:hover {
41
+ @include cx-add-state-rules($handle-state-style-map, hover);
42
+ }
43
+
44
+ &:active {
45
+ @include cx-add-state-rules($handle-state-style-map, active);
46
+ }
47
+ }
48
+
49
+ .#{$element}#{$name}-arrow {
50
+ display: block;
51
+ position: absolute;
52
+ left: 0;
53
+ top: 50%;
54
+ margin-top: -$icon-size * 0.5;
55
+ margin-left: ($handle-size - $icon-size) * 0.5;
56
+ height: $icon-size;
57
+ width: $icon-size;
58
+ line-height: $icon-size;
59
+ transform: rotate(-90deg);
60
+ transition: transform 0.2s;
61
+
62
+ .#{$state}expanded & {
63
+ transform: rotate(0);
64
+ }
65
+ }
66
+
67
+ .#{$element}#{$name}-icon {
68
+ display: block;
69
+ position: absolute;
70
+ left: 0;
71
+ top: 50%;
72
+ margin-top: -$icon-size * 0.5;
73
+ margin-left: ($handle-size + $icon-size) * 0.5;
74
+ height: $icon-size;
75
+ width: $icon-size;
76
+ line-height: $icon-size;
77
+ }
78
+
79
+ .#{$block}grid.#{$mod}tree {
80
+ td {
81
+ border-top: none;
82
+ }
83
+ }
84
+ }
85
+
86
+ @if (cx-should-include("cx/widgets/TreeNode")) {
87
+ @include cx-treenode();
88
+ }
@@ -1,74 +1,74 @@
1
- @mixin cx-menu($name: "menu", $state-style-map: $cx-menu-state-style-map, $besm: $cx-besm) {
2
- $block: map-get($besm, block);
3
- $element: map-get($besm, element);
4
- $state: map-get($besm, state);
5
- $mod: map-get($besm, mod);
6
-
7
- .#{$block}#{$name} {
8
- box-sizing: border-box;
9
- margin: 0;
10
- padding: 0;
11
- list-style: none;
12
-
13
- @include cx-add-state-rules($state-style-map, default);
14
-
15
- &.#{$state}horizontal {
16
- white-space: nowrap;
17
-
18
- & > .#{$element}#{$name}-item {
19
- display: inline-block;
20
- user-select: none;
21
-
22
- @each $size, $value in $cx-menu-padding-options {
23
- &.#{$state}size-#{$size} > .#{$mod}#{$name} {
24
- margin: 0 cx-right($value) 0 cx-left($value);
25
- }
26
- }
27
- }
28
- }
29
-
30
- @each $size, $value in $cx-menu-padding-options {
31
- &.#{$state}vertical.#{$state}#{$size}-item-padding .#{$mod}#{$name} {
32
- margin: $value;
33
- display: block;
34
- }
35
- }
36
-
37
- .#{$element}#{$name}-item {
38
- & > hr {
39
- border: none;
40
- border-top: 1px solid $cx-default-menu-separator-color;
41
- margin: map-get($cx-menu-padding-options, medium);
42
- }
43
-
44
- &.#{$state}hidden {
45
- visibility: hidden;
46
- position: absolute;
47
- }
48
- }
49
-
50
- &.#{$state}overflow {
51
- overflow: hidden;
52
- display: flex;
53
-
54
- & > .#{$element}#{$name}-item:last-child {
55
- visibility: hidden;
56
- position: absolute;
57
- max-height: 100%;
58
- }
59
-
60
- &.#{$state}pack > .#{$element}#{$name}-item:last-child {
61
- visibility: visible;
62
- position: relative;
63
- }
64
- }
65
- }
66
-
67
- .#{$element}#{$name}-spacer {
68
- flex: 1 1 0%;
69
- }
70
- }
71
-
72
- @if (cx-should-include("cx/widgets/Menu")) {
73
- @include cx-menu();
74
- }
1
+ @mixin cx-menu($name: "menu", $state-style-map: $cx-menu-state-style-map, $besm: $cx-besm) {
2
+ $block: map-get($besm, block);
3
+ $element: map-get($besm, element);
4
+ $state: map-get($besm, state);
5
+ $mod: map-get($besm, mod);
6
+
7
+ .#{$block}#{$name} {
8
+ box-sizing: border-box;
9
+ margin: 0;
10
+ padding: 0;
11
+ list-style: none;
12
+
13
+ @include cx-add-state-rules($state-style-map, default);
14
+
15
+ &.#{$state}horizontal {
16
+ white-space: nowrap;
17
+
18
+ & > .#{$element}#{$name}-item {
19
+ display: inline-block;
20
+ user-select: none;
21
+
22
+ @each $size, $value in $cx-menu-padding-options {
23
+ &.#{$state}size-#{$size} > .#{$mod}#{$name} {
24
+ margin: 0 cx-right($value) 0 cx-left($value);
25
+ }
26
+ }
27
+ }
28
+ }
29
+
30
+ @each $size, $value in $cx-menu-padding-options {
31
+ &.#{$state}vertical.#{$state}#{$size}-item-padding .#{$mod}#{$name} {
32
+ margin: $value;
33
+ display: block;
34
+ }
35
+ }
36
+
37
+ .#{$element}#{$name}-item {
38
+ & > hr {
39
+ border: none;
40
+ border-top: 1px solid $cx-default-menu-separator-color;
41
+ margin: map-get($cx-menu-padding-options, medium);
42
+ }
43
+
44
+ &.#{$state}hidden {
45
+ visibility: hidden;
46
+ position: absolute;
47
+ }
48
+ }
49
+
50
+ &.#{$state}overflow {
51
+ overflow: hidden;
52
+ display: flex;
53
+
54
+ & > .#{$element}#{$name}-item:last-child {
55
+ visibility: hidden;
56
+ position: absolute;
57
+ max-height: 100%;
58
+ }
59
+
60
+ &.#{$state}pack > .#{$element}#{$name}-item:last-child {
61
+ visibility: visible;
62
+ position: relative;
63
+ }
64
+ }
65
+ }
66
+
67
+ .#{$element}#{$name}-spacer {
68
+ flex: 1 1 0%;
69
+ }
70
+ }
71
+
72
+ @if (cx-should-include("cx/widgets/Menu")) {
73
+ @include cx-menu();
74
+ }