cx 24.9.4 → 24.10.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.
Files changed (71) hide show
  1. package/dist/charts.css +19 -16
  2. package/dist/charts.js +127 -94
  3. package/dist/data.js +29 -26
  4. package/dist/manifest.js +692 -692
  5. package/dist/svg.js +56 -59
  6. package/dist/ui.js +52 -51
  7. package/dist/widgets.js +44 -40
  8. package/package.json +32 -32
  9. package/src/charts/Legend.js +49 -33
  10. package/src/charts/Legend.scss +40 -42
  11. package/src/charts/LegendEntry.js +120 -121
  12. package/src/charts/LegendEntry.scss +27 -31
  13. package/src/charts/PieLabel.js +71 -71
  14. package/src/charts/axis/NumericAxis.js +347 -347
  15. package/src/charts/axis/Stack.js +55 -55
  16. package/src/charts/helpers/PointReducer.js +43 -43
  17. package/src/charts/helpers/SnapPointFinder.js +69 -69
  18. package/src/data/Binding.spec.js +69 -69
  19. package/src/data/Expression.js +221 -221
  20. package/src/data/Expression.spec.js +184 -184
  21. package/src/data/StringTemplate.spec.js +105 -105
  22. package/src/data/getAccessor.spec.js +11 -11
  23. package/src/index.scss +6 -6
  24. package/src/svg/Text.d.ts +40 -40
  25. package/src/ui/Culture.d.ts +55 -55
  26. package/src/ui/Culture.js +139 -139
  27. package/src/ui/FocusManager.js +171 -171
  28. package/src/ui/Instance.d.ts +72 -72
  29. package/src/ui/VDOM.d.ts +12 -12
  30. package/src/ui/app/startAppLoop.js +58 -58
  31. package/src/ui/index.d.ts +42 -42
  32. package/src/ui/layout/LabelsTopLayout.js +134 -134
  33. package/src/util/Console.d.ts +4 -4
  34. package/src/util/index.d.ts +51 -51
  35. package/src/util/index.js +54 -54
  36. package/src/util/isValidIdentifierName.d.ts +1 -1
  37. package/src/util/isValidIdentifierName.js +5 -5
  38. package/src/util/isValidIdentifierName.spec.js +33 -33
  39. package/src/util/scss/add-rules.scss +38 -38
  40. package/src/widgets/CxCredit.scss +37 -37
  41. package/src/widgets/HighlightedSearchText.js +36 -36
  42. package/src/widgets/HighlightedSearchText.scss +18 -18
  43. package/src/widgets/List.scss +91 -91
  44. package/src/widgets/drag-drop/DropZone.js +214 -214
  45. package/src/widgets/form/Calendar.scss +196 -196
  46. package/src/widgets/form/ColorField.js +397 -397
  47. package/src/widgets/form/ColorPicker.scss +283 -283
  48. package/src/widgets/form/DateTimeField.js +573 -573
  49. package/src/widgets/form/LookupField.d.ts +179 -179
  50. package/src/widgets/form/MonthField.js +516 -516
  51. package/src/widgets/form/MonthPicker.scss +118 -118
  52. package/src/widgets/form/NumberField.js +459 -459
  53. package/src/widgets/form/NumberField.scss +61 -61
  54. package/src/widgets/form/Select.scss +99 -99
  55. package/src/widgets/form/Slider.scss +118 -118
  56. package/src/widgets/form/Switch.scss +140 -140
  57. package/src/widgets/form/TextArea.scss +43 -43
  58. package/src/widgets/form/TextField.js +290 -290
  59. package/src/widgets/form/TextField.scss +55 -55
  60. package/src/widgets/form/UploadButton.d.ts +34 -34
  61. package/src/widgets/form/variables.scss +353 -353
  62. package/src/widgets/grid/TreeNode.scss +88 -88
  63. package/src/widgets/grid/variables.scss +88 -88
  64. package/src/widgets/nav/Menu.scss +74 -74
  65. package/src/widgets/overlay/Dropdown.js +612 -612
  66. package/src/widgets/overlay/FlyweightTooltipTracker.js +39 -39
  67. package/src/widgets/overlay/Tooltip.js +300 -300
  68. package/src/widgets/overlay/Window.js +196 -196
  69. package/src/widgets/overlay/captureMouse.js +124 -124
  70. package/src/widgets/overlay/variables.scss +83 -83
  71. package/src/widgets/variables.scss +144 -144
@@ -1,55 +1,55 @@
1
- @mixin cx-textfield(
2
- $name: "textfield",
3
- $state-style-map: $cx-std-field-state-style-map,
4
- $placeholder: $cx-input-placeholder,
5
- $empty-text: $cx-empty-text,
6
- $left-icon-state-style-map: $cx-input-left-icon-state-style-map,
7
- $clear-state-style-map: $cx-clear-state-style-map,
8
- $icon-size: $cx-default-input-icon-size,
9
- $width: $cx-default-input-width,
10
- $besm: $cx-besm
11
- ) {
12
- $block: map-get($besm, block);
13
- $element: map-get($besm, element);
14
- $state: map-get($besm, state);
15
- $mod: map-get($besm, mod);
16
-
17
- .#{$block}#{$name} {
18
- @include cxb-field($besm, $state-style-map, $width: $width, $input: true);
19
- }
20
-
21
- $padding: cx-get-state-rule($state-style-map, default, "padding");
22
-
23
- .#{$element}#{$name}-input {
24
- @include cxe-field-input($besm, $state-style-map, $placeholder: $placeholder);
25
-
26
- .#{$state}icon > & {
27
- padding-left: cx-calc(2 * cx-left($padding), $icon-size);
28
- }
29
-
30
- .#{$state}clear > & {
31
- padding-right: cx-calc(cx-right($padding), $cx-default-clear-size, $cx-default-clear-spacing);
32
- }
33
- }
34
-
35
- .#{$element}#{$name}-left-icon {
36
- pointer-events: none;
37
- @include cxe-field-button($besm, $left-icon-state-style-map);
38
- }
39
-
40
- .#{$element}#{$name}-clear {
41
- @include cxe-field-button($besm, $clear-state-style-map);
42
- }
43
-
44
- .#{$element}#{$name}-icon {
45
- @include cxe-field-button-icon($besm, $icon-size);
46
- }
47
-
48
- .#{$element}#{$name}-empty-text {
49
- @include cxe-field-empty-text($empty-text);
50
- }
51
- }
52
-
53
- @if (cx-should-include("cx/widgets/TextField")) {
54
- @include cx-textfield();
55
- }
1
+ @mixin cx-textfield(
2
+ $name: "textfield",
3
+ $state-style-map: $cx-std-field-state-style-map,
4
+ $placeholder: $cx-input-placeholder,
5
+ $empty-text: $cx-empty-text,
6
+ $left-icon-state-style-map: $cx-input-left-icon-state-style-map,
7
+ $clear-state-style-map: $cx-clear-state-style-map,
8
+ $icon-size: $cx-default-input-icon-size,
9
+ $width: $cx-default-input-width,
10
+ $besm: $cx-besm
11
+ ) {
12
+ $block: map-get($besm, block);
13
+ $element: map-get($besm, element);
14
+ $state: map-get($besm, state);
15
+ $mod: map-get($besm, mod);
16
+
17
+ .#{$block}#{$name} {
18
+ @include cxb-field($besm, $state-style-map, $width: $width, $input: true);
19
+ }
20
+
21
+ $padding: cx-get-state-rule($state-style-map, default, "padding");
22
+
23
+ .#{$element}#{$name}-input {
24
+ @include cxe-field-input($besm, $state-style-map, $placeholder: $placeholder);
25
+
26
+ .#{$state}icon > & {
27
+ padding-left: cx-calc(2 * cx-left($padding), $icon-size);
28
+ }
29
+
30
+ .#{$state}clear > & {
31
+ padding-right: cx-calc(cx-right($padding), $cx-default-clear-size, $cx-default-clear-spacing);
32
+ }
33
+ }
34
+
35
+ .#{$element}#{$name}-left-icon {
36
+ pointer-events: none;
37
+ @include cxe-field-button($besm, $left-icon-state-style-map);
38
+ }
39
+
40
+ .#{$element}#{$name}-clear {
41
+ @include cxe-field-button($besm, $clear-state-style-map);
42
+ }
43
+
44
+ .#{$element}#{$name}-icon {
45
+ @include cxe-field-button-icon($besm, $icon-size);
46
+ }
47
+
48
+ .#{$element}#{$name}-empty-text {
49
+ @include cxe-field-empty-text($empty-text);
50
+ }
51
+ }
52
+
53
+ @if (cx-should-include("cx/widgets/TextField")) {
54
+ @include cx-textfield();
55
+ }
@@ -1,34 +1,34 @@
1
- import * as Cx from "../../core";
2
- import { FieldProps } from "./Field";
3
-
4
- interface UploadButtonProps extends FieldProps {
5
- /** Text description. */
6
- text?: Cx.StringProp;
7
-
8
- url?: Cx.StringProp;
9
-
10
- /** Base CSS class to be applied to the element. Default is 'uploadbutton'. */
11
- baseClass?: string;
12
-
13
- /** Defaults to `false`. Set to `true` to enable multiple selection. */
14
- multiple?: boolean;
15
-
16
- method?: string;
17
- uploadInProgressText?: string;
18
-
19
- /** Defaults to `false`. Set to `true` to abort uploads if the button is destroyed (unmounted). */
20
- abortOnDestroy?: boolean;
21
-
22
- /** Defines file types that are accepted for upload. */
23
- accept?: Cx.StringProp;
24
-
25
- /** Name of the icon to be put on the left side of the button. */
26
- icon?: Cx.StringProp;
27
-
28
- onUploadStarting?: ((xhr: XMLHttpRequest, instance: any, file: File, formData: FormData) => boolean) | string;
29
- onUploadComplete?: ((xhr: XMLHttpRequest, instance: any, file: File, formData: FormData) => void) | string;
30
- onUploadProgress?: ((event: ProgressEvent, instance: any, file: File, formData: FormData) => void) | string;
31
- onUploadError?: ((event: ProgressEvent, instance: any, file: File, formData: FormData) => void) | string;
32
- }
33
-
34
- export class UploadButton extends Cx.Widget<UploadButtonProps> {}
1
+ import * as Cx from "../../core";
2
+ import { FieldProps } from "./Field";
3
+
4
+ interface UploadButtonProps extends FieldProps {
5
+ /** Text description. */
6
+ text?: Cx.StringProp;
7
+
8
+ url?: Cx.StringProp;
9
+
10
+ /** Base CSS class to be applied to the element. Default is 'uploadbutton'. */
11
+ baseClass?: string;
12
+
13
+ /** Defaults to `false`. Set to `true` to enable multiple selection. */
14
+ multiple?: boolean;
15
+
16
+ method?: string;
17
+ uploadInProgressText?: string;
18
+
19
+ /** Defaults to `false`. Set to `true` to abort uploads if the button is destroyed (unmounted). */
20
+ abortOnDestroy?: boolean;
21
+
22
+ /** Defines file types that are accepted for upload. */
23
+ accept?: Cx.StringProp;
24
+
25
+ /** Name of the icon to be put on the left side of the button. */
26
+ icon?: Cx.StringProp;
27
+
28
+ onUploadStarting?: ((xhr: XMLHttpRequest, instance: any, file: File, formData: FormData) => boolean) | string;
29
+ onUploadComplete?: ((xhr: XMLHttpRequest, instance: any, file: File, formData: FormData) => void) | string;
30
+ onUploadProgress?: ((event: ProgressEvent, instance: any, file: File, formData: FormData) => void) | string;
31
+ onUploadError?: ((event: ProgressEvent, instance: any, file: File, formData: FormData) => void) | string;
32
+ }
33
+
34
+ export class UploadButton extends Cx.Widget<UploadButtonProps> {}