cx 26.3.3 → 26.3.5

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 (65) hide show
  1. package/build/charts/helpers/SnapPointFinder.d.ts +2 -2
  2. package/build/charts/helpers/SnapPointFinder.d.ts.map +1 -1
  3. package/build/charts/helpers/ValueAtFinder.d.ts +4 -4
  4. package/build/charts/helpers/ValueAtFinder.d.ts.map +1 -1
  5. package/build/charts/helpers/ValueAtFinder.js +5 -2
  6. package/build/data/createAccessorModelProxy.d.ts +11 -6
  7. package/build/data/createAccessorModelProxy.d.ts.map +1 -1
  8. package/build/data/createAccessorModelProxy.js +3 -1
  9. package/build/jsx-runtime.d.ts +1 -2
  10. package/build/jsx-runtime.d.ts.map +1 -1
  11. package/build/ui/createFunctionalComponent.d.ts +1 -4
  12. package/build/ui/createFunctionalComponent.d.ts.map +1 -1
  13. package/build/widgets/form/Calendar.d.ts +0 -1
  14. package/build/widgets/form/Calendar.d.ts.map +1 -1
  15. package/build/widgets/form/Calendar.js +22 -14
  16. package/build/widgets/form/TimeList.d.ts +1 -3
  17. package/build/widgets/form/TimeList.d.ts.map +1 -1
  18. package/build/widgets/index.d.ts +1 -3
  19. package/build/widgets/index.d.ts.map +1 -1
  20. package/build/widgets/index.js +1 -3
  21. package/build/widgets/overlay/Overlay.d.ts +1 -1
  22. package/build/widgets/overlay/Overlay.d.ts.map +1 -1
  23. package/build/widgets/overlay/Overlay.js +19 -10
  24. package/build/widgets/overlay/Window.d.ts.map +1 -1
  25. package/build/widgets/overlay/Window.js +11 -5
  26. package/dist/charts.css +256 -256
  27. package/dist/manifest.js +728 -737
  28. package/dist/widgets.css +6 -14
  29. package/dist/widgets.js +13 -26
  30. package/package.json +1 -1
  31. package/src/charts/BarGraph.scss +31 -31
  32. package/src/charts/Legend.scss +57 -57
  33. package/src/charts/LegendEntry.scss +35 -35
  34. package/src/charts/LineGraph.scss +28 -28
  35. package/src/charts/helpers/SnapPointFinder.ts +136 -136
  36. package/src/charts/helpers/ValueAtFinder.ts +72 -72
  37. package/src/charts/variables.scss +1 -2
  38. package/src/data/createAccessorModelProxy.ts +66 -66
  39. package/src/ui/DataProxy.ts +55 -55
  40. package/src/ui/Rescope.ts +50 -50
  41. package/src/ui/adapter/ArrayAdapter.ts +229 -229
  42. package/src/ui/exprHelpers.ts +96 -96
  43. package/src/util/scss/include.scss +40 -27
  44. package/src/widgets/Button.maps.scss +103 -103
  45. package/src/widgets/Sandbox.ts +104 -104
  46. package/src/widgets/drag-drop/variables.scss +1 -2
  47. package/src/widgets/form/Calendar.tsx +772 -772
  48. package/src/widgets/form/ColorField.scss +112 -117
  49. package/src/widgets/form/DateTimeField.scss +111 -125
  50. package/src/widgets/form/LookupField.scss +228 -251
  51. package/src/widgets/form/MonthField.scss +113 -122
  52. package/src/widgets/form/NumberField.scss +72 -80
  53. package/src/widgets/form/Select.scss +104 -117
  54. package/src/widgets/form/TextField.scss +66 -78
  55. package/src/widgets/form/variables.scss +110 -111
  56. package/src/widgets/grid/Grid.tsx +3885 -4428
  57. package/src/widgets/grid/variables.scss +47 -48
  58. package/src/widgets/index.ts +63 -63
  59. package/src/widgets/nav/Menu.variables.scss +1 -2
  60. package/src/widgets/nav/Tab.ts +6 -4
  61. package/src/widgets/nav/variables.scss +1 -2
  62. package/src/widgets/overlay/Overlay.tsx +1028 -1028
  63. package/src/widgets/overlay/Window.tsx +320 -320
  64. package/src/widgets/overlay/variables.scss +1 -2
  65. package/src/widgets/variables.scss +61 -62
@@ -1,251 +1,228 @@
1
- @use "sass:math";
2
- @use "sass:map";
3
- @use "../variables" as *;
4
- @use "../maps" as *;
5
- @use "../../util/scss/add-rules.scss" as *;
6
- @use "../../util/scss/clockwise.scss" as *;
7
- @use "../../util/scss/besm.scss" as *;
8
- @use "../../util/scss/calc.scss" as *;
9
- @use "../../util/scss/include.scss" as *;
10
- @use "./Field.scss" as *;
11
-
12
- @mixin cx-lookupfield(
13
- $name: "lookupfield",
14
- $state-style-map: $cx-std-field-state-style-map,
15
- $placeholder: $cx-input-placeholder,
16
- $empty-text: $cx-empty-text,
17
- $left-icon-state-style-map: $cx-input-left-icon-state-style-map,
18
- $clear-state-style-map: $cx-clear-state-style-map,
19
- $tool-state-style-map: $cx-input-right-icon-state-style-map,
20
- $icon-size: $cx-default-input-icon-size,
21
- $width: $cx-default-input-width,
22
- $tag-state-style-map: $cx-input-tag-state-style-map,
23
- $tag-clear-state-style-map: $cx-input-tag-clear-state-style-map,
24
- $besm: $cx-besm
25
- ) {
26
- $block: map.get($besm, block);
27
- $element: map.get($besm, element);
28
- $state: map.get($besm, state);
29
-
30
- $padding: cx-get-state-rule($state-style-map, default, padding);
31
- $border-radius-offset: cx-multiply(
32
- cx-get-state-rule($tag-state-style-map, default, border-radius),
33
- 0.25
34
- );
35
-
36
- .#{$block}#{$name} {
37
- cursor: pointer;
38
- width: $width;
39
- font: cx-get-state-rule($state-style-map, default, "font");
40
- font-size: cx-get-state-rule($state-style-map, default, "font-size");
41
-
42
- @include cxb-field($besm, $state-style-map, $input: false);
43
-
44
- &.#{$state}multiple {
45
- min-width: $cx-default-input-width;
46
- width: auto;
47
- }
48
-
49
- &.#{$state}readonly {
50
- pointer-events: none;
51
-
52
- & > .#{$element}#{$name}-input {
53
- padding-right: cx-right($padding);
54
- }
55
- }
56
-
57
- // &::before {
58
- // content: "\200B";
59
- // pointer-events: none;
60
- // }
61
- }
62
-
63
- .#{$element}#{$name}-input {
64
- @include cxe-field-input(
65
- $besm,
66
- $state-style-map,
67
- $placeholder: $placeholder,
68
- $input: false,
69
- $overrides: (
70
- default: (
71
- width: 100%,
72
- display: inline-flex,
73
- text-overflow: null,
74
- padding: cx-top($padding)
75
- cx-calc(
76
- cx-right($padding),
77
- $cx-default-clear-size,
78
- $cx-default-input-tag-spacing
79
- )
80
- cx-bottom($padding) cx-left($padding),
81
- )
82
- )
83
- );
84
-
85
- .#{$state}single > & {
86
- overflow: hidden;
87
- text-overflow: ellipsis;
88
- white-space: nowrap;
89
- flex-basis: 0%;
90
- flex-grow: 1;
91
- }
92
-
93
- .#{$state}icon > & {
94
- padding-left: cx-calc(
95
- cx-left($padding),
96
- $cx-default-input-left-tool-size,
97
- $cx-default-input-left-tool-spacing
98
- );
99
- }
100
- }
101
-
102
- .#{$element}#{$name}-tags {
103
- display: flex;
104
- margin: cx-calc(
105
- $cx-default-input-tag-spacing,
106
- cx-multiply(cx-top($padding), -1)
107
- )
108
- cx-calc(
109
- $cx-default-input-tag-spacing,
110
- cx-multiply(cx-right($padding), -1)
111
- )
112
- cx-calc(
113
- $cx-default-input-tag-spacing,
114
- cx-multiply(cx-bottom($padding), -1)
115
- )
116
- cx-calc(
117
- $cx-default-input-tag-spacing,
118
- cx-multiply(cx-left($padding), -1)
119
- );
120
- align-items: center;
121
- flex-wrap: wrap;
122
- gap: $cx-default-input-tag-spacing;
123
- }
124
-
125
- .#{$element}#{$name}-tag {
126
- display: inline-block;
127
- position: relative;
128
- box-sizing: border-box;
129
-
130
- @include cx-add-state-rules($tag-state-style-map, default);
131
-
132
- &:hover {
133
- @include cx-add-state-rules($tag-state-style-map, hover);
134
- }
135
-
136
- &.#{$state}readonly {
137
- padding-right: cx-right($padding);
138
- pointer-events: none;
139
- }
140
- }
141
-
142
- .#{$element}#{$name}-placeholder {
143
- color: $cx-default-input-placeholder-color;
144
- }
145
-
146
- .#{$element}#{$name}-tag-value {
147
- padding: 0 cx-calc($cx-default-input-tag-spacing, $border-radius-offset);
148
- display: inline-block;
149
- }
150
-
151
- .#{$element}#{$name}-tag-clear {
152
- @include cxe-field-button($besm, $tag-clear-state-style-map);
153
- }
154
-
155
- .#{$element}#{$name}-lookup-options {
156
- padding: 0;
157
- margin: 0;
158
- min-width: 100%;
159
- width: 100%;
160
- }
161
-
162
- .#{$element}#{$name}-query {
163
- @include cxe-field-input(
164
- $besm,
165
- $state-style-map,
166
- $placeholder: $placeholder,
167
- $width: calc(100% - 10px),
168
- $overrides: (
169
- default: (
170
- margin: 5px,
171
- flex: 0 0 auto,
172
- height: auto,
173
- )
174
- )
175
- );
176
- //put query field down when placed up
177
- .#{$state}place-up-right &,
178
- .#{$state}place-up &,
179
- .#{$state}place-up-left & {
180
- order: 1;
181
- }
182
- }
183
-
184
- .#{$element}#{$name}-dropdown {
185
- display: flex;
186
- flex-direction: column;
187
- height: 100%;
188
-
189
- &:focus {
190
- outline: none;
191
- }
192
- }
193
-
194
- .#{$element}#{$name}-message {
195
- font-size: smaller;
196
- padding: 10px;
197
- color: gray;
198
- font-style: italic;
199
-
200
- &.#{$state}error {
201
- color: #9e2f2d;
202
- }
203
- }
204
-
205
- .#{$element}#{$name}-scroll-container {
206
- overflow: auto;
207
- flex: 1 1 auto;
208
- }
209
-
210
- .#{$element}#{$name}-clear {
211
- @include cxe-field-button($besm, $clear-state-style-map);
212
-
213
- .#{$state}focus > & {
214
- @include cx-add-state-rules($clear-state-style-map, focus);
215
- }
216
- .#{$state}error > & {
217
- @include cx-add-state-rules($clear-state-style-map, error);
218
- }
219
- }
220
-
221
- .#{$element}#{$name}-tool {
222
- @include cxe-field-button($besm, $tool-state-style-map);
223
-
224
- .#{$state}disabled > & {
225
- border-width: 0;
226
- @include cx-add-state-rules($state-style-map, disabled);
227
- }
228
- .#{$state}focus > & {
229
- @include cx-add-state-rules($tool-state-style-map, focus);
230
- }
231
- .#{$state}error > & {
232
- @include cx-add-state-rules($tool-state-style-map, error);
233
- }
234
- }
235
-
236
- .#{$element}#{$name}-left-icon {
237
- @include cxe-field-button($besm, $left-icon-state-style-map);
238
- }
239
-
240
- .#{$element}#{$name}-icon {
241
- @include cxe-field-button-icon($besm, $icon-size);
242
- }
243
-
244
- .#{$element}#{$name}-empty-text {
245
- @include cxe-field-empty-text($empty-text);
246
- }
247
- }
248
-
249
- @if (cx-should-include("cx/widgets/LookupField")) {
250
- @include cx-lookupfield();
251
- }
1
+ @use "sass:math";
2
+ @use "sass:map";
3
+ @use "../variables" as *;
4
+ @use "../maps" as *;
5
+ @use "../../util/scss/add-rules.scss" as *;
6
+ @use "../../util/scss/clockwise.scss" as *;
7
+ @use "../../util/scss/besm.scss" as *;
8
+ @use "../../util/scss/calc.scss" as *;
9
+ @use "../../util/scss/include.scss" as *;
10
+ @use "./Field.scss" as *;
11
+
12
+ @mixin cx-lookupfield(
13
+ $name: "lookupfield",
14
+ $state-style-map: $cx-std-field-state-style-map,
15
+ $placeholder: $cx-input-placeholder,
16
+ $empty-text: $cx-empty-text,
17
+ $left-icon-state-style-map: $cx-input-left-icon-state-style-map,
18
+ $clear-state-style-map: $cx-clear-state-style-map,
19
+ $tool-state-style-map: $cx-input-right-icon-state-style-map,
20
+ $icon-size: $cx-default-input-icon-size,
21
+ $width: $cx-default-input-width,
22
+ $tag-state-style-map: $cx-input-tag-state-style-map,
23
+ $tag-clear-state-style-map: $cx-input-tag-clear-state-style-map,
24
+ $besm: $cx-besm
25
+ ) {
26
+ $block: map.get($besm, block);
27
+ $element: map.get($besm, element);
28
+ $state: map.get($besm, state);
29
+
30
+ $padding: cx-get-state-rule($state-style-map, default, padding);
31
+ $border-radius-offset: cx-multiply(cx-get-state-rule($tag-state-style-map, default, border-radius), 0.25);
32
+
33
+ .#{$block}#{$name} {
34
+ cursor: pointer;
35
+ width: $width;
36
+ font: cx-get-state-rule($state-style-map, default, "font");
37
+ font-size: cx-get-state-rule($state-style-map, default, "font-size");
38
+
39
+ @include cxb-field($besm, $state-style-map, $input: false);
40
+
41
+ &.#{$state}multiple {
42
+ min-width: $cx-default-input-width;
43
+ width: auto;
44
+ }
45
+
46
+ &.#{$state}readonly {
47
+ pointer-events: none;
48
+
49
+ & > .#{$element}#{$name}-input {
50
+ padding-right: cx-right($padding);
51
+ }
52
+ }
53
+
54
+ // &::before {
55
+ // content: "\200B";
56
+ // pointer-events: none;
57
+ // }
58
+ }
59
+
60
+ .#{$element}#{$name}-input {
61
+ @include cxe-field-input(
62
+ $besm,
63
+ $state-style-map,
64
+ $placeholder: $placeholder,
65
+ $input: false,
66
+ $overrides: (
67
+ default: (
68
+ width: 100%,
69
+ display: inline-flex,
70
+ text-overflow: null,
71
+ padding: cx-top($padding)
72
+ cx-calc(cx-right($padding), $cx-default-clear-size, $cx-default-input-tag-spacing) cx-bottom($padding)
73
+ cx-left($padding),
74
+ )
75
+ )
76
+ );
77
+
78
+ .#{$state}single > & {
79
+ overflow: hidden;
80
+ text-overflow: ellipsis;
81
+ white-space: nowrap;
82
+ flex-basis: 0%;
83
+ flex-grow: 1;
84
+ }
85
+
86
+ .#{$state}icon > & {
87
+ padding-left: cx-calc(cx-top($padding), $cx-default-input-left-tool-size, $cx-default-input-left-tool-spacing);
88
+ }
89
+ }
90
+
91
+ .#{$element}#{$name}-tags {
92
+ display: flex;
93
+ margin: cx-calc($cx-default-input-tag-spacing, cx-multiply(cx-top($padding), -1))
94
+ cx-calc($cx-default-input-tag-spacing, cx-multiply(cx-right($padding), -1))
95
+ cx-calc($cx-default-input-tag-spacing, cx-multiply(cx-bottom($padding), -1))
96
+ cx-calc($cx-default-input-tag-spacing, cx-multiply(cx-left($padding), -1));
97
+ align-items: center;
98
+ flex-wrap: wrap;
99
+ gap: $cx-default-input-tag-spacing;
100
+ }
101
+
102
+ .#{$element}#{$name}-tag {
103
+ display: inline-block;
104
+ position: relative;
105
+ box-sizing: border-box;
106
+
107
+ @include cx-add-state-rules($tag-state-style-map, default);
108
+
109
+ &:hover {
110
+ @include cx-add-state-rules($tag-state-style-map, hover);
111
+ }
112
+
113
+ &.#{$state}readonly {
114
+ padding-right: cx-right($padding);
115
+ pointer-events: none;
116
+ }
117
+ }
118
+
119
+ .#{$element}#{$name}-placeholder {
120
+ color: $cx-default-input-placeholder-color;
121
+ }
122
+
123
+ .#{$element}#{$name}-tag-value {
124
+ padding: 0 cx-calc($cx-default-input-tag-spacing, $border-radius-offset);
125
+ display: inline-block;
126
+ }
127
+
128
+ .#{$element}#{$name}-tag-clear {
129
+ @include cxe-field-button($besm, $tag-clear-state-style-map);
130
+ }
131
+
132
+ .#{$element}#{$name}-lookup-options {
133
+ padding: 0;
134
+ margin: 0;
135
+ min-width: 100%;
136
+ width: 100%;
137
+ }
138
+
139
+ .#{$element}#{$name}-query {
140
+ @include cxe-field-input(
141
+ $besm,
142
+ $state-style-map,
143
+ $placeholder: $placeholder,
144
+ $width: calc(100% - 10px),
145
+ $overrides: (
146
+ default: (
147
+ margin: 5px,
148
+ flex: 0 0 auto,
149
+ height: auto,
150
+ )
151
+ )
152
+ );
153
+ //put query field down when placed up
154
+ .#{$state}place-up-right &,
155
+ .#{$state}place-up &,
156
+ .#{$state}place-up-left & {
157
+ order: 1;
158
+ }
159
+ }
160
+
161
+ .#{$element}#{$name}-dropdown {
162
+ display: flex;
163
+ flex-direction: column;
164
+ height: 100%;
165
+
166
+ &:focus {
167
+ outline: none;
168
+ }
169
+ }
170
+
171
+ .#{$element}#{$name}-message {
172
+ font-size: smaller;
173
+ padding: 10px;
174
+ color: gray;
175
+ font-style: italic;
176
+
177
+ &.#{$state}error {
178
+ color: #9e2f2d;
179
+ }
180
+ }
181
+
182
+ .#{$element}#{$name}-scroll-container {
183
+ overflow: auto;
184
+ flex: 1 1 auto;
185
+ }
186
+
187
+ .#{$element}#{$name}-clear {
188
+ @include cxe-field-button($besm, $clear-state-style-map);
189
+
190
+ .#{$state}focus > & {
191
+ @include cx-add-state-rules($clear-state-style-map, focus);
192
+ }
193
+ .#{$state}error > & {
194
+ @include cx-add-state-rules($clear-state-style-map, error);
195
+ }
196
+ }
197
+
198
+ .#{$element}#{$name}-tool {
199
+ @include cxe-field-button($besm, $tool-state-style-map);
200
+
201
+ .#{$state}disabled > & {
202
+ border-width: 0;
203
+ @include cx-add-state-rules($state-style-map, disabled);
204
+ }
205
+ .#{$state}focus > & {
206
+ @include cx-add-state-rules($tool-state-style-map, focus);
207
+ }
208
+ .#{$state}error > & {
209
+ @include cx-add-state-rules($tool-state-style-map, error);
210
+ }
211
+ }
212
+
213
+ .#{$element}#{$name}-left-icon {
214
+ @include cxe-field-button($besm, $left-icon-state-style-map);
215
+ }
216
+
217
+ .#{$element}#{$name}-icon {
218
+ @include cxe-field-button-icon($besm, $icon-size);
219
+ }
220
+
221
+ .#{$element}#{$name}-empty-text {
222
+ @include cxe-field-empty-text($empty-text);
223
+ }
224
+ }
225
+
226
+ @if (cx-should-include("cx/widgets/LookupField")) {
227
+ @include cx-lookupfield();
228
+ }