cx 26.3.10 → 26.4.1

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 (50) hide show
  1. package/build/util/innerTextTrim.js +1 -1
  2. package/build/widgets/nav/Menu.d.ts +1 -0
  3. package/build/widgets/nav/Menu.d.ts.map +1 -1
  4. package/build/widgets/nav/Menu.js +3 -0
  5. package/dist/charts.css +10 -0
  6. package/dist/manifest.js +768 -768
  7. package/dist/util.js +1 -1
  8. package/dist/widgets.css +14 -6
  9. package/dist/widgets.js +3 -0
  10. package/package.json +4 -3
  11. package/src/charts/BarGraph.scss +31 -31
  12. package/src/charts/Legend.scss +57 -57
  13. package/src/charts/LegendEntry.scss +35 -35
  14. package/src/charts/LineGraph.scss +28 -28
  15. package/src/charts/Swimlane.scss +3 -0
  16. package/src/charts/Swimlanes.scss +3 -0
  17. package/src/charts/helpers/SnapPointFinder.ts +136 -136
  18. package/src/charts/helpers/ValueAtFinder.ts +72 -72
  19. package/src/charts/index.scss +2 -0
  20. package/src/data/createAccessorModelProxy.ts +66 -66
  21. package/src/ui/DataProxy.ts +55 -55
  22. package/src/ui/Repeater.spec.tsx +38 -0
  23. package/src/ui/Rescope.ts +50 -50
  24. package/src/ui/adapter/ArrayAdapter.ts +229 -229
  25. package/src/ui/exprHelpers.ts +96 -96
  26. package/src/ui/layout/LabelsTopLayout.scss +10 -0
  27. package/src/util/innerTextTrim.ts +1 -1
  28. package/src/util/scss/include.scss +69 -69
  29. package/src/widgets/Button.maps.scss +103 -103
  30. package/src/widgets/Sandbox.ts +104 -104
  31. package/src/widgets/form/Calendar.tsx +772 -772
  32. package/src/widgets/form/ColorField.scss +112 -112
  33. package/src/widgets/form/DateTimeField.scss +111 -111
  34. package/src/widgets/form/LookupField.maps.scss +26 -26
  35. package/src/widgets/form/LookupField.scss +227 -227
  36. package/src/widgets/form/MonthField.scss +113 -113
  37. package/src/widgets/form/NumberField.scss +72 -72
  38. package/src/widgets/form/Select.scss +104 -104
  39. package/src/widgets/form/TextField.scss +66 -66
  40. package/src/widgets/form/variables.scss +114 -111
  41. package/src/widgets/grid/Grid.scss +657 -657
  42. package/src/widgets/grid/variables.scss +47 -47
  43. package/src/widgets/index.ts +63 -63
  44. package/src/widgets/nav/Menu.tsx +5 -0
  45. package/src/widgets/nav/MenuItem.scss +2 -2
  46. package/src/widgets/nav/MenuItem.tsx +525 -525
  47. package/src/widgets/nav/Tab.ts +122 -122
  48. package/src/widgets/overlay/Overlay.tsx +1028 -1028
  49. package/src/widgets/overlay/Window.tsx +320 -320
  50. package/src/widgets/variables.scss +61 -61
package/dist/util.js CHANGED
@@ -484,7 +484,7 @@ function skipQuotedString(bodyAndNext, openingQuote, i) {
484
484
  */
485
485
  function innerTextTrim(str) {
486
486
  str = str.replace(/\t/g, "");
487
- str = str.replace(/(\s*[\r\n]\s*)/g, " ");
487
+ str = str.replace(/(\s*[\r\n]\s*)/g, "");
488
488
  return str;
489
489
  }
490
490
 
package/dist/widgets.css CHANGED
@@ -3951,7 +3951,7 @@ th.cxe-calendar-display {
3951
3951
  }
3952
3952
 
3953
3953
  .cxb-menuitem.cxs-xsmall-padding > .cxe-menuitem-button {
3954
- left: calc(-5px + 0.5lh);
3954
+ width: calc(6px + max(16px, 1lh));
3955
3955
  }
3956
3956
 
3957
3957
  .cxb-menuitem.cxs-small-padding > a, .cxb-menuitem.cxs-small-padding > span {
@@ -3978,7 +3978,7 @@ th.cxe-calendar-display {
3978
3978
  }
3979
3979
 
3980
3980
  .cxb-menuitem.cxs-small-padding > .cxe-menuitem-button {
3981
- left: calc(-3px + 0.5lh);
3981
+ width: calc(10px + max(16px, 1lh));
3982
3982
  }
3983
3983
 
3984
3984
  .cxb-menuitem.cxs-medium-padding > a, .cxb-menuitem.cxs-medium-padding > span {
@@ -4005,7 +4005,7 @@ th.cxe-calendar-display {
4005
4005
  }
4006
4006
 
4007
4007
  .cxb-menuitem.cxs-medium-padding > .cxe-menuitem-button {
4008
- left: calc(2px + 0.5lh);
4008
+ width: calc(20px + max(16px, 1lh));
4009
4009
  }
4010
4010
 
4011
4011
  .cxb-menuitem.cxs-large-padding > a, .cxb-menuitem.cxs-large-padding > span {
@@ -4032,7 +4032,7 @@ th.cxe-calendar-display {
4032
4032
  }
4033
4033
 
4034
4034
  .cxb-menuitem.cxs-large-padding > .cxe-menuitem-button {
4035
- left: calc(7px + 0.5lh);
4035
+ width: calc(30px + max(16px, 1lh));
4036
4036
  }
4037
4037
 
4038
4038
  .cxb-menuitem.cxs-xlarge-padding > a, .cxb-menuitem.cxs-xlarge-padding > span {
@@ -4059,7 +4059,7 @@ th.cxe-calendar-display {
4059
4059
  }
4060
4060
 
4061
4061
  .cxb-menuitem.cxs-xlarge-padding > .cxe-menuitem-button {
4062
- left: calc(12px + 0.5lh);
4062
+ width: calc(40px + max(16px, 1lh));
4063
4063
  }
4064
4064
 
4065
4065
  .cxe-menuitem-arrow {
@@ -4078,7 +4078,7 @@ th.cxe-calendar-display {
4078
4078
  position: absolute;
4079
4079
  top: 0;
4080
4080
  bottom: 0;
4081
- width: max(16px, 1lh);
4081
+ left: 0;
4082
4082
  }
4083
4083
 
4084
4084
  .cxe-menuitem-baseline {
@@ -5983,6 +5983,14 @@ th.cxe-calendar-display {
5983
5983
  width: 100%;
5984
5984
  }
5985
5985
 
5986
+ .cxb-labelstoplayout.cxm-top tbody > tr:first-child > .cxe-labelstoplayout-label {
5987
+ padding-top: 0;
5988
+ }
5989
+
5990
+ .cxb-labelstoplayout.cxm-top tbody > tr:first-child > .cxe-labelstoplayout-label .cxb-label {
5991
+ padding-top: 0;
5992
+ }
5993
+
5986
5994
  .cxe-labelstoplayout-field {
5987
5995
  padding: 0 5px;
5988
5996
  box-sizing: border-box;
package/dist/widgets.js CHANGED
@@ -5752,6 +5752,9 @@ MenuSpacer.prototype.isMenuSpacer = true;
5752
5752
  class Menu extends HtmlElement {
5753
5753
  static Item;
5754
5754
  static Spacer;
5755
+ constructor(config) {
5756
+ super(config);
5757
+ }
5755
5758
  init() {
5756
5759
  if (this.itemPadding === true) this.itemPadding = "medium";
5757
5760
  if (this.horizontal && isUndefined(this.itemPadding)) this.itemPadding = this.defaultHorizontalItemPadding;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cx",
3
- "version": "26.3.10",
3
+ "version": "26.4.1",
4
4
  "description": "Advanced JavaScript UI framework for admin and dashboard applications with ready to use grid, form and chart components.",
5
5
  "exports": {
6
6
  "./data": {
@@ -48,7 +48,8 @@
48
48
  "./sass/*": "./src/*",
49
49
  "./locale/*": "./build/locale/*",
50
50
  "./manifest": "./dist/manifest.js",
51
- "./manifest.js": "./dist/manifest.js"
51
+ "./manifest.js": "./dist/manifest.js",
52
+ "./package.json": "./package.json"
52
53
  },
53
54
  "sideEffects": [
54
55
  "./src/widgets/icons/*.tsx",
@@ -70,7 +71,7 @@
70
71
  "dependencies": {
71
72
  "@types/route-parser": "^0.1.7",
72
73
  "intl-io": "^0.4.4",
73
- "route-parser-ts": "^1.1.0"
74
+ "route-parser-ts": "^1.1.2"
74
75
  },
75
76
  "peerDependencies": {
76
77
  "@types/react": ">=18",
@@ -1,31 +1,31 @@
1
- @use "sass:math";
2
- @use "sass:map";
3
- @use "../util/scss/besm.scss" as *;
4
- @use "../util/scss/include.scss" as *;
5
- @use "../util/scss/add-rules.scss" as *;
6
- @use "../util/scss/clockwise.scss" as *;
7
- @use "./variables" as *;
8
-
9
- @mixin cx-bargraph($name: "bargraph", $besm: $cx-besm) {
10
- $block: map.get($besm, block);
11
- $element: map.get($besm, element);
12
- $state: map.get($besm, state);
13
-
14
- .#{$element}#{$name}-bar {
15
- stroke-width: $cx-default-chart-shape-stroke-width;
16
- fill: $cx-default-chart-shape-fill-color;
17
- stroke: $cx-default-chart-shape-stroke-color;
18
-
19
- &.#{$state}selectable {
20
- cursor: pointer;
21
- }
22
-
23
- &.#{$state}selected {
24
- stroke-width: $cx-default-chart-selected-stroke-width;
25
- }
26
- }
27
- }
28
-
29
- @if (cx-should-include("cx/charts/BarGraph")) {
30
- @include cx-bargraph();
31
- }
1
+ @use "sass:math";
2
+ @use "sass:map";
3
+ @use "../util/scss/besm.scss" as *;
4
+ @use "../util/scss/include.scss" as *;
5
+ @use "../util/scss/add-rules.scss" as *;
6
+ @use "../util/scss/clockwise.scss" as *;
7
+ @use "./variables" as *;
8
+
9
+ @mixin cx-bargraph($name: "bargraph", $besm: $cx-besm) {
10
+ $block: map.get($besm, block);
11
+ $element: map.get($besm, element);
12
+ $state: map.get($besm, state);
13
+
14
+ .#{$element}#{$name}-bar {
15
+ stroke-width: $cx-default-chart-shape-stroke-width;
16
+ fill: $cx-default-chart-shape-fill-color;
17
+ stroke: $cx-default-chart-shape-stroke-color;
18
+
19
+ &.#{$state}selectable {
20
+ cursor: pointer;
21
+ }
22
+
23
+ &.#{$state}selected {
24
+ stroke-width: $cx-default-chart-selected-stroke-width;
25
+ }
26
+ }
27
+ }
28
+
29
+ @if (cx-should-include("cx/charts/BarGraph")) {
30
+ @include cx-bargraph();
31
+ }
@@ -1,57 +1,57 @@
1
- @use "sass:math";
2
- @use "sass:map";
3
- @use "../util/scss/besm.scss" as *;
4
- @use "../util/scss/include.scss" as *;
5
- @use "../util/scss/add-rules.scss" as *;
6
- @use "../util/scss/clockwise.scss" as *;
7
- @use "./variables" as *;
8
-
9
- @mixin cx-legend($name: "legend", $besm: $cx-besm) {
10
- $block: map.get($besm, block);
11
- $element: map.get($besm, element);
12
- $state: map.get($besm, state);
13
-
14
- .#{$block}#{$name} {
15
- display: flex;
16
- justify-content: center;
17
- align-items: flex-start;
18
- flex-wrap: wrap;
19
- gap: $cx-default-chart-legend-gap;
20
- }
21
-
22
- .#{$block}#{$name}.#{$state}vertical {
23
- flex-direction: column;
24
- }
25
-
26
- .#{$element}#{$name}-entry {
27
- display: flex;
28
- align-items: center;
29
- padding: $cx-default-chart-legend-padding;
30
- gap: $cx-default-chart-legend-entry-gap;
31
- font-size: $cx-default-chart-legend-font-size;
32
- position: relative;
33
- box-sizing: border-box;
34
- cursor: pointer;
35
- }
36
-
37
- .#{$element}#{$name}-svg {
38
- flex-shrink: 0;
39
- }
40
-
41
- .#{$element}#{$name}-shape {
42
- fill: $cx-default-chart-legend-shape-color;
43
- stroke-width: $cx-default-chart-legend-shape-stroke-width;
44
- }
45
-
46
- .#{$element}#{$name}-value {
47
- order: 3;
48
- }
49
-
50
- .#{$element}#{$name}-entry-text {
51
- order: 2;
52
- }
53
- }
54
-
55
- @if (cx-should-include("cx/charts/Legend")) {
56
- @include cx-legend();
57
- }
1
+ @use "sass:math";
2
+ @use "sass:map";
3
+ @use "../util/scss/besm.scss" as *;
4
+ @use "../util/scss/include.scss" as *;
5
+ @use "../util/scss/add-rules.scss" as *;
6
+ @use "../util/scss/clockwise.scss" as *;
7
+ @use "./variables" as *;
8
+
9
+ @mixin cx-legend($name: "legend", $besm: $cx-besm) {
10
+ $block: map.get($besm, block);
11
+ $element: map.get($besm, element);
12
+ $state: map.get($besm, state);
13
+
14
+ .#{$block}#{$name} {
15
+ display: flex;
16
+ justify-content: center;
17
+ align-items: flex-start;
18
+ flex-wrap: wrap;
19
+ gap: $cx-default-chart-legend-gap;
20
+ }
21
+
22
+ .#{$block}#{$name}.#{$state}vertical {
23
+ flex-direction: column;
24
+ }
25
+
26
+ .#{$element}#{$name}-entry {
27
+ display: flex;
28
+ align-items: center;
29
+ padding: $cx-default-chart-legend-padding;
30
+ gap: $cx-default-chart-legend-entry-gap;
31
+ font-size: $cx-default-chart-legend-font-size;
32
+ position: relative;
33
+ box-sizing: border-box;
34
+ cursor: pointer;
35
+ }
36
+
37
+ .#{$element}#{$name}-svg {
38
+ flex-shrink: 0;
39
+ }
40
+
41
+ .#{$element}#{$name}-shape {
42
+ fill: $cx-default-chart-legend-shape-color;
43
+ stroke-width: $cx-default-chart-legend-shape-stroke-width;
44
+ }
45
+
46
+ .#{$element}#{$name}-value {
47
+ order: 3;
48
+ }
49
+
50
+ .#{$element}#{$name}-entry-text {
51
+ order: 2;
52
+ }
53
+ }
54
+
55
+ @if (cx-should-include("cx/charts/Legend")) {
56
+ @include cx-legend();
57
+ }
@@ -1,35 +1,35 @@
1
- @use "sass:math";
2
- @use "sass:map";
3
- @use "../util/scss/besm.scss" as *;
4
- @use "../util/scss/include.scss" as *;
5
- @use "../util/scss/add-rules.scss" as *;
6
- @use "../util/scss/clockwise.scss" as *;
7
- @use "./variables" as *;
8
-
9
- @mixin cx-legendentry($name: "legendentry", $besm: $cx-besm) {
10
- $block: map.get($besm, block);
11
- $element: map.get($besm, element);
12
- $state: map.get($besm, state);
13
-
14
- .#{$block}#{$name} {
15
- display: inline-flex;
16
- align-items: center;
17
- padding: $cx-default-chart-legend-padding;
18
- gap: $cx-default-chart-legend-entry-gap;
19
- position: relative;
20
- box-sizing: border-box;
21
- cursor: pointer;
22
- }
23
-
24
- .#{$element}#{$name}-svg {
25
- flex-shrink: 0;
26
- }
27
-
28
- .#{$element}#{$name}-shape {
29
- fill: $cx-default-chart-shape-fill-color;
30
- }
31
- }
32
-
33
- @if (cx-should-include("cx/charts/LegendEntry")) {
34
- @include cx-legendentry();
35
- }
1
+ @use "sass:math";
2
+ @use "sass:map";
3
+ @use "../util/scss/besm.scss" as *;
4
+ @use "../util/scss/include.scss" as *;
5
+ @use "../util/scss/add-rules.scss" as *;
6
+ @use "../util/scss/clockwise.scss" as *;
7
+ @use "./variables" as *;
8
+
9
+ @mixin cx-legendentry($name: "legendentry", $besm: $cx-besm) {
10
+ $block: map.get($besm, block);
11
+ $element: map.get($besm, element);
12
+ $state: map.get($besm, state);
13
+
14
+ .#{$block}#{$name} {
15
+ display: inline-flex;
16
+ align-items: center;
17
+ padding: $cx-default-chart-legend-padding;
18
+ gap: $cx-default-chart-legend-entry-gap;
19
+ position: relative;
20
+ box-sizing: border-box;
21
+ cursor: pointer;
22
+ }
23
+
24
+ .#{$element}#{$name}-svg {
25
+ flex-shrink: 0;
26
+ }
27
+
28
+ .#{$element}#{$name}-shape {
29
+ fill: $cx-default-chart-shape-fill-color;
30
+ }
31
+ }
32
+
33
+ @if (cx-should-include("cx/charts/LegendEntry")) {
34
+ @include cx-legendentry();
35
+ }
@@ -1,28 +1,28 @@
1
- @use "sass:math";
2
- @use "sass:map";
3
- @use "../util/scss/besm.scss" as *;
4
- @use "../util/scss/include.scss" as *;
5
- @use "../util/scss/add-rules.scss" as *;
6
- @use "../util/scss/clockwise.scss" as *;
7
- @use "./variables" as *;
8
-
9
- @mixin cx-linegraph($name: "linegraph", $besm: $cx-besm) {
10
- $block: map.get($besm, block);
11
- $element: map.get($besm, element);
12
- $state: map.get($besm, state);
13
-
14
- .#{$element}#{$name}-line {
15
- stroke: $cx-default-chart-line-stroke-color;
16
- stroke-width: $cx-default-chart-line-stroke-width;
17
- fill: none !important;
18
- }
19
-
20
- .#{$element}#{$name}-area {
21
- stroke-width: 0;
22
- opacity: $cx-default-chart-area-opacity;
23
- }
24
- }
25
-
26
- @if (cx-should-include("cx/charts/LineGraph")) {
27
- @include cx-linegraph();
28
- }
1
+ @use "sass:math";
2
+ @use "sass:map";
3
+ @use "../util/scss/besm.scss" as *;
4
+ @use "../util/scss/include.scss" as *;
5
+ @use "../util/scss/add-rules.scss" as *;
6
+ @use "../util/scss/clockwise.scss" as *;
7
+ @use "./variables" as *;
8
+
9
+ @mixin cx-linegraph($name: "linegraph", $besm: $cx-besm) {
10
+ $block: map.get($besm, block);
11
+ $element: map.get($besm, element);
12
+ $state: map.get($besm, state);
13
+
14
+ .#{$element}#{$name}-line {
15
+ stroke: $cx-default-chart-line-stroke-color;
16
+ stroke-width: $cx-default-chart-line-stroke-width;
17
+ fill: none !important;
18
+ }
19
+
20
+ .#{$element}#{$name}-area {
21
+ stroke-width: 0;
22
+ opacity: $cx-default-chart-area-opacity;
23
+ }
24
+ }
25
+
26
+ @if (cx-should-include("cx/charts/LineGraph")) {
27
+ @include cx-linegraph();
28
+ }
@@ -1,4 +1,7 @@
1
1
  @use "sass:map";
2
+ @use "../util/scss/besm.scss" as *;
3
+ @use "../util/scss/include.scss" as *;
4
+ @use "./variables" as *;
2
5
 
3
6
  @mixin cx-swimlane($name: "swimlane", $besm: $cx-besm, $lane-color: $cx-default-swimlanes-lane-background-color) {
4
7
  $block: map.get($besm, block);
@@ -1,4 +1,7 @@
1
1
  @use "sass:map";
2
+ @use "../util/scss/besm.scss" as *;
3
+ @use "../util/scss/include.scss" as *;
4
+ @use "./variables" as *;
2
5
 
3
6
  @mixin cx-swimlanes($name: "swimlanes", $besm: $cx-besm, $lane-color: $cx-default-swimlanes-lane-background-color) {
4
7
  $block: map.get($besm, block);