cx 26.4.2 → 26.4.3

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