cx 26.3.5 → 26.3.6

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 +2 -5
  6. package/build/data/createAccessorModelProxy.d.ts +6 -11
  7. package/build/data/createAccessorModelProxy.d.ts.map +1 -1
  8. package/build/data/createAccessorModelProxy.js +1 -3
  9. package/build/jsx-runtime.d.ts +2 -1
  10. package/build/jsx-runtime.d.ts.map +1 -1
  11. package/build/ui/createFunctionalComponent.d.ts +4 -1
  12. package/build/ui/createFunctionalComponent.d.ts.map +1 -1
  13. package/build/widgets/form/Calendar.d.ts +1 -0
  14. package/build/widgets/form/Calendar.d.ts.map +1 -1
  15. package/build/widgets/form/Calendar.js +14 -22
  16. package/build/widgets/form/TimeList.d.ts +3 -1
  17. package/build/widgets/form/TimeList.d.ts.map +1 -1
  18. package/build/widgets/grid/Grid.d.ts +3 -3
  19. package/build/widgets/grid/Grid.d.ts.map +1 -1
  20. package/build/widgets/grid/Grid.js +86 -188
  21. package/build/widgets/index.d.ts +3 -1
  22. package/build/widgets/index.d.ts.map +1 -1
  23. package/build/widgets/index.js +3 -1
  24. package/build/widgets/nav/Tab.d.ts.map +1 -1
  25. package/build/widgets/nav/Tab.js +9 -5
  26. package/build/widgets/overlay/Overlay.d.ts +1 -1
  27. package/build/widgets/overlay/Overlay.d.ts.map +1 -1
  28. package/build/widgets/overlay/Overlay.js +10 -19
  29. package/build/widgets/overlay/Window.d.ts.map +1 -1
  30. package/build/widgets/overlay/Window.js +5 -11
  31. package/dist/charts.css +256 -256
  32. package/dist/manifest.js +722 -713
  33. package/dist/widgets.css +15 -7
  34. package/dist/widgets.js +31 -17
  35. package/package.json +1 -1
  36. package/src/charts/BarGraph.scss +31 -31
  37. package/src/charts/Legend.scss +57 -57
  38. package/src/charts/LegendEntry.scss +35 -35
  39. package/src/charts/LineGraph.scss +28 -28
  40. package/src/charts/helpers/SnapPointFinder.ts +136 -136
  41. package/src/charts/helpers/ValueAtFinder.ts +72 -72
  42. package/src/data/createAccessorModelProxy.ts +66 -66
  43. package/src/ui/DataProxy.ts +55 -55
  44. package/src/ui/Rescope.ts +50 -50
  45. package/src/ui/adapter/ArrayAdapter.ts +229 -229
  46. package/src/ui/exprHelpers.ts +96 -96
  47. package/src/util/scss/include.scss +69 -69
  48. package/src/widgets/Button.maps.scss +103 -103
  49. package/src/widgets/Sandbox.ts +104 -104
  50. package/src/widgets/form/Calendar.tsx +772 -772
  51. package/src/widgets/form/ColorField.scss +112 -112
  52. package/src/widgets/form/DateTimeField.scss +111 -111
  53. package/src/widgets/form/LookupField.scss +228 -228
  54. package/src/widgets/form/MonthField.scss +113 -113
  55. package/src/widgets/form/NumberField.scss +72 -72
  56. package/src/widgets/form/Select.scss +104 -104
  57. package/src/widgets/form/TextField.scss +66 -66
  58. package/src/widgets/form/variables.scss +110 -110
  59. package/src/widgets/grid/Grid.tsx +4264 -4264
  60. package/src/widgets/grid/variables.scss +47 -47
  61. package/src/widgets/index.ts +63 -63
  62. package/src/widgets/nav/Tab.ts +122 -122
  63. package/src/widgets/overlay/Overlay.tsx +1028 -1028
  64. package/src/widgets/overlay/Window.tsx +320 -320
  65. package/src/widgets/variables.scss +61 -61
@@ -1,228 +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(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
- }
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
+ }
@@ -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
+ }