cx 26.0.9 → 26.0.11

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 (238) hide show
  1. package/build/jsx-dev-runtime.d.ts +3 -0
  2. package/build/jsx-dev-runtime.js +3 -0
  3. package/build/ui/Controller.d.ts +2 -2
  4. package/build/ui/index.d.ts +2 -1
  5. package/build/ui/index.js +2 -1
  6. package/build.js +133 -133
  7. package/dist/manifest.js +887 -990
  8. package/dist/ui.js +1 -1
  9. package/package.json +4 -4
  10. package/src/jsx-dev-runtime.ts +4 -0
  11. package/src/ui/Controller.ts +2 -2
  12. package/src/ui/index.ts +2 -1
  13. package/src/widgets/HtmlElement.spec.tsx +8 -6
  14. package/build/charts/Bar.scss +0 -29
  15. package/build/charts/BarGraph.scss +0 -29
  16. package/build/charts/BubbleGraph.scss +0 -32
  17. package/build/charts/Column.scss +0 -29
  18. package/build/charts/ColumnGraph.scss +0 -30
  19. package/build/charts/Gridlines.scss +0 -25
  20. package/build/charts/Legend.scss +0 -50
  21. package/build/charts/LegendEntry.scss +0 -29
  22. package/build/charts/LineGraph.scss +0 -25
  23. package/build/charts/Marker.scss +0 -44
  24. package/build/charts/MarkerLine.scss +0 -20
  25. package/build/charts/PieChart.scss +0 -29
  26. package/build/charts/Range.scss +0 -20
  27. package/build/charts/RangeMarker.scss +0 -17
  28. package/build/charts/ScatterGraph.scss +0 -24
  29. package/build/charts/Swimlane.scss +0 -16
  30. package/build/charts/Swimlanes.scss +0 -16
  31. package/build/charts/axis/Axis.scss +0 -23
  32. package/build/charts/axis/CategoryAxis.scss +0 -35
  33. package/build/charts/axis/NumericAxis.scss +0 -35
  34. package/build/charts/axis/TimeAxis.scss +0 -34
  35. package/build/charts/axis/index.scss +0 -5
  36. package/build/charts/axis/variables.scss +0 -3
  37. package/build/charts/index.scss +0 -22
  38. package/build/charts/palette.scss +0 -97
  39. package/build/charts/variables.scss +0 -22
  40. package/build/data/ArrayElementView.spec.d.ts +0 -1
  41. package/build/data/ArrayElementView.spec.js +0 -81
  42. package/build/data/Binding.spec.d.ts +0 -1
  43. package/build/data/Binding.spec.js +0 -61
  44. package/build/data/Expression.spec.d.ts +0 -1
  45. package/build/data/Expression.spec.js +0 -196
  46. package/build/data/Grouper.spec.d.ts +0 -1
  47. package/build/data/Grouper.spec.js +0 -48
  48. package/build/data/Ref.spec.d.ts +0 -1
  49. package/build/data/Ref.spec.js +0 -72
  50. package/build/data/Store.spec.d.ts +0 -1
  51. package/build/data/Store.spec.js +0 -19
  52. package/build/data/StoreRef.spec.d.ts +0 -1
  53. package/build/data/StoreRef.spec.js +0 -22
  54. package/build/data/StringTemplate.spec.d.ts +0 -1
  55. package/build/data/StringTemplate.spec.js +0 -112
  56. package/build/data/StructuredSelector.spec.d.ts +0 -1
  57. package/build/data/StructuredSelector.spec.js +0 -102
  58. package/build/data/View.spec.d.ts +0 -1
  59. package/build/data/View.spec.js +0 -44
  60. package/build/data/ZoomIntoPropertyView.spec.d.ts +0 -1
  61. package/build/data/ZoomIntoPropertyView.spec.js +0 -54
  62. package/build/data/comparer.spec.d.ts +0 -1
  63. package/build/data/comparer.spec.js +0 -50
  64. package/build/data/computable.spec.d.ts +0 -1
  65. package/build/data/computable.spec.js +0 -56
  66. package/build/data/createAccessorModelProxy.spec.d.ts +0 -1
  67. package/build/data/createAccessorModelProxy.spec.js +0 -30
  68. package/build/data/createStructuredSelector.spec.d.ts +0 -1
  69. package/build/data/createStructuredSelector.spec.js +0 -42
  70. package/build/data/diff/diffs.spec.d.ts +0 -1
  71. package/build/data/diff/diffs.spec.js +0 -45
  72. package/build/data/getAccessor.spec.d.ts +0 -1
  73. package/build/data/getAccessor.spec.js +0 -10
  74. package/build/data/getSelector.spec.d.ts +0 -1
  75. package/build/data/getSelector.spec.js +0 -36
  76. package/build/data/ops/append.spec.d.ts +0 -1
  77. package/build/data/ops/append.spec.js +0 -24
  78. package/build/data/ops/filter.spec.d.ts +0 -1
  79. package/build/data/ops/filter.spec.js +0 -25
  80. package/build/data/ops/findTreeNode.spec.d.ts +0 -1
  81. package/build/data/ops/findTreeNode.spec.js +0 -20
  82. package/build/data/ops/merge.spec.d.ts +0 -1
  83. package/build/data/ops/merge.spec.js +0 -23
  84. package/build/data/ops/removeTreeNodes.spec.d.ts +0 -1
  85. package/build/data/ops/removeTreeNodes.spec.js +0 -35
  86. package/build/data/ops/updateArray.spec.d.ts +0 -1
  87. package/build/data/ops/updateArray.spec.js +0 -33
  88. package/build/data/ops/updateTree.spec.d.ts +0 -1
  89. package/build/data/ops/updateTree.spec.js +0 -44
  90. package/build/global.scss +0 -14
  91. package/build/hooks/invokeCallback.spec.d.ts +0 -1
  92. package/build/hooks/invokeCallback.spec.js +0 -44
  93. package/build/hooks/resolveCallback.spec.d.ts +0 -1
  94. package/build/hooks/resolveCallback.spec.js +0 -35
  95. package/build/hooks/store.spec.d.ts +0 -1
  96. package/build/hooks/store.spec.js +0 -48
  97. package/build/hooks/useTrigger.spec.d.ts +0 -1
  98. package/build/hooks/useTrigger.spec.js +0 -59
  99. package/build/index.scss +0 -6
  100. package/build/svg/Svg.scss +0 -28
  101. package/build/svg/index.scss +0 -9
  102. package/build/ui/Controller.spec.d.ts +0 -1
  103. package/build/ui/Controller.spec.js +0 -251
  104. package/build/ui/Cx.spec.d.ts +0 -1
  105. package/build/ui/Cx.spec.js +0 -153
  106. package/build/ui/DataProxy.spec.d.ts +0 -1
  107. package/build/ui/DataProxy.spec.js +0 -208
  108. package/build/ui/IsolatedScope.spec.d.ts +0 -1
  109. package/build/ui/IsolatedScope.spec.js +0 -42
  110. package/build/ui/Repeater.spec.d.ts +0 -1
  111. package/build/ui/Repeater.spec.js +0 -109
  112. package/build/ui/Rescope.spec.d.ts +0 -1
  113. package/build/ui/Rescope.spec.js +0 -134
  114. package/build/ui/Restate.spec.d.ts +0 -1
  115. package/build/ui/Restate.spec.js +0 -257
  116. package/build/ui/adapter/ArrayAdapter.spec.d.ts +0 -1
  117. package/build/ui/adapter/ArrayAdapter.spec.js +0 -44
  118. package/build/ui/adapter/TreeAdapter.spec.d.ts +0 -1
  119. package/build/ui/adapter/TreeAdapter.spec.js +0 -71
  120. package/build/ui/app/Url.spec.d.ts +0 -1
  121. package/build/ui/app/Url.spec.js +0 -43
  122. package/build/ui/createFunctionalComponent.spec.d.ts +0 -1
  123. package/build/ui/createFunctionalComponent.spec.js +0 -272
  124. package/build/ui/index.scss +0 -2
  125. package/build/ui/layout/ContentPlaceholder.spec.d.ts +0 -1
  126. package/build/ui/layout/ContentPlaceholder.spec.js +0 -333
  127. package/build/ui/layout/FirstVisibleChildLayout.spec.d.ts +0 -1
  128. package/build/ui/layout/FirstVisibleChildLayout.spec.js +0 -101
  129. package/build/ui/layout/LabelsLeftLayout.scss +0 -47
  130. package/build/ui/layout/LabelsTopLayout.scss +0 -65
  131. package/build/ui/layout/index.scss +0 -3
  132. package/build/ui/layout/variables.scss +0 -2
  133. package/build/ui/variables.scss +0 -2
  134. package/build/util/Format.spec.d.ts +0 -1
  135. package/build/util/Format.spec.js +0 -58
  136. package/build/util/TraversalStack.spec.d.ts +0 -1
  137. package/build/util/TraversalStack.spec.js +0 -43
  138. package/build/util/call-once.scss +0 -7
  139. package/build/util/date/upperBoundCheck.spec.d.ts +0 -1
  140. package/build/util/date/upperBoundCheck.spec.js +0 -22
  141. package/build/util/getSearchQueryPredicate.spec.d.ts +0 -1
  142. package/build/util/getSearchQueryPredicate.spec.js +0 -33
  143. package/build/util/index.scss +0 -11
  144. package/build/util/isValidIdentifierName.spec.d.ts +0 -1
  145. package/build/util/isValidIdentifierName.spec.js +0 -28
  146. package/build/util/routeAppend.spec.d.ts +0 -1
  147. package/build/util/routeAppend.spec.js +0 -14
  148. package/build/util/scss/add-rules.scss +0 -40
  149. package/build/util/scss/calc.scss +0 -45
  150. package/build/util/scss/call-once.scss +0 -13
  151. package/build/util/scss/clockwise.scss +0 -49
  152. package/build/util/scss/colors.scss +0 -10
  153. package/build/util/scss/deep-get.scss +0 -12
  154. package/build/util/scss/deep-merge.scss +0 -21
  155. package/build/util/scss/divide.scss +0 -3
  156. package/build/util/scss/include.scss +0 -48
  157. package/build/util/scss/index.scss +0 -9
  158. package/build/variables.scss +0 -217
  159. package/build/widgets/AccessorBindings.spec.d.ts +0 -1
  160. package/build/widgets/AccessorBindings.spec.js +0 -40
  161. package/build/widgets/Button.scss +0 -119
  162. package/build/widgets/Button.variables.scss +0 -117
  163. package/build/widgets/CxCredit.scss +0 -39
  164. package/build/widgets/FlexBox.scss +0 -148
  165. package/build/widgets/Heading.scss +0 -40
  166. package/build/widgets/HighlightedSearchText.scss +0 -20
  167. package/build/widgets/HtmlElement.spec.d.ts +0 -1
  168. package/build/widgets/HtmlElement.spec.js +0 -38
  169. package/build/widgets/Icon.scss +0 -22
  170. package/build/widgets/List.scss +0 -93
  171. package/build/widgets/ProgressBar.scss +0 -51
  172. package/build/widgets/Resizer.scss +0 -44
  173. package/build/widgets/Section.scss +0 -56
  174. package/build/widgets/animations.scss +0 -11
  175. package/build/widgets/drag-drop/DragClone.scss +0 -36
  176. package/build/widgets/drag-drop/DragHandle.scss +0 -19
  177. package/build/widgets/drag-drop/DragSource.scss +0 -27
  178. package/build/widgets/drag-drop/DropZone.scss +0 -77
  179. package/build/widgets/drag-drop/index.scss +0 -4
  180. package/build/widgets/drag-drop/variables.scss +0 -15
  181. package/build/widgets/form/Calendar.scss +0 -199
  182. package/build/widgets/form/Calendar.variables.scss +0 -64
  183. package/build/widgets/form/Checkbox.scss +0 -129
  184. package/build/widgets/form/Checkbox.variables.scss +0 -40
  185. package/build/widgets/form/ColorField.scss +0 -98
  186. package/build/widgets/form/ColorPicker.scss +0 -285
  187. package/build/widgets/form/ColorPicker.variables.scss +0 -22
  188. package/build/widgets/form/DateTimeField.scss +0 -92
  189. package/build/widgets/form/DateTimePicker.scss +0 -47
  190. package/build/widgets/form/Field.scss +0 -164
  191. package/build/widgets/form/HelpText.scss +0 -24
  192. package/build/widgets/form/Label.scss +0 -38
  193. package/build/widgets/form/LookupField.scss +0 -221
  194. package/build/widgets/form/MonthField.scss +0 -100
  195. package/build/widgets/form/MonthPicker.scss +0 -125
  196. package/build/widgets/form/NumberField.scss +0 -63
  197. package/build/widgets/form/Radio.scss +0 -123
  198. package/build/widgets/form/Radio.variables.scss +0 -46
  199. package/build/widgets/form/Select.scss +0 -101
  200. package/build/widgets/form/Slider.scss +0 -121
  201. package/build/widgets/form/Switch.scss +0 -142
  202. package/build/widgets/form/TextArea.scss +0 -45
  203. package/build/widgets/form/TextField.scss +0 -57
  204. package/build/widgets/form/UploadButton.scss +0 -49
  205. package/build/widgets/form/ValidationError.scss +0 -23
  206. package/build/widgets/form/ValidationGroup.spec.d.ts +0 -1
  207. package/build/widgets/form/ValidationGroup.spec.js +0 -62
  208. package/build/widgets/form/Wheel.scss +0 -152
  209. package/build/widgets/form/index.scss +0 -24
  210. package/build/widgets/form/variables.scss +0 -355
  211. package/build/widgets/grid/Grid.scss +0 -640
  212. package/build/widgets/grid/Pagination.scss +0 -115
  213. package/build/widgets/grid/TreeNode.scss +0 -90
  214. package/build/widgets/grid/index.scss +0 -4
  215. package/build/widgets/grid/variables.scss +0 -137
  216. package/build/widgets/index.scss +0 -16
  217. package/build/widgets/nav/Link.scss +0 -20
  218. package/build/widgets/nav/Menu.scss +0 -76
  219. package/build/widgets/nav/Menu.variables.scss +0 -25
  220. package/build/widgets/nav/MenuItem.scss +0 -130
  221. package/build/widgets/nav/Route.spec.d.ts +0 -1
  222. package/build/widgets/nav/Route.spec.js +0 -15
  223. package/build/widgets/nav/Scroller.scss +0 -148
  224. package/build/widgets/nav/Tab.scss +0 -82
  225. package/build/widgets/nav/Tab.variables.scss +0 -84
  226. package/build/widgets/nav/cover.scss +0 -22
  227. package/build/widgets/nav/index.scss +0 -6
  228. package/build/widgets/nav/variables.scss +0 -27
  229. package/build/widgets/overlay/Dropdown.scss +0 -186
  230. package/build/widgets/overlay/Overlay.scss +0 -68
  231. package/build/widgets/overlay/Toast.scss +0 -164
  232. package/build/widgets/overlay/Tooltip.scss +0 -177
  233. package/build/widgets/overlay/Window.scss +0 -129
  234. package/build/widgets/overlay/Window.variables.scss +0 -62
  235. package/build/widgets/overlay/captureMouse.scss +0 -13
  236. package/build/widgets/overlay/index.scss +0 -15
  237. package/build/widgets/overlay/variables.scss +0 -85
  238. package/build/widgets/variables.scss +0 -146
@@ -1,101 +0,0 @@
1
- @use "sass:map";
2
-
3
- @import "../overlay/Dropdown";
4
-
5
- @mixin cx-select(
6
- $name: "select",
7
- $state-style-map: $cx-std-field-state-style-map,
8
- $placeholder: $cx-input-placeholder,
9
- $empty-text: $cx-empty-text,
10
- $width: $cx-default-input-width,
11
- $left-icon-state-style-map: $cx-input-left-icon-state-style-map,
12
- $clear-state-style-map: $cx-clear-state-style-map,
13
- $tool-state-style-map: $cx-input-right-icon-state-style-map,
14
- $icon-size: $cx-default-input-icon-size,
15
- $besm: $cx-besm
16
- ) {
17
- $block: map.get($besm, block);
18
- $element: map.get($besm, element);
19
- $state: map.get($besm, state);
20
- $mod: map.get($besm, mod);
21
-
22
- .#{$block}#{$name} {
23
- @include cxb-field($besm, $state-style-map: $state-style-map, $width: $width, $input: true);
24
-
25
- .#{$element}#{$name}-left-icon {
26
- pointer-events: none;
27
- @include cxe-field-button($besm, $left-icon-state-style-map);
28
- }
29
- }
30
-
31
- $padding: cx-get-state-rule($state-style-map, default, "padding");
32
-
33
- .#{$element}#{$name}-select {
34
- @include cxe-field-input(
35
- $besm,
36
- $state-style-map,
37
- $placeholder: $placeholder,
38
- $overrides: (
39
- padding: cx-top($cx-default-input-padding)
40
- calc(
41
- #{cx-right($cx-default-input-padding)} + #{$cx-default-clear-size} - #{cx-right(
42
- $cx-default-input-padding
43
- )}
44
- )
45
- cx-bottom($cx-default-input-padding) cx-left($cx-default-input-padding),
46
- -webkit-appearance: none,
47
- -moz-appearance: none,
48
- -ms-appearance: none,
49
- appearance: none
50
- )
51
- );
52
-
53
- .#{$state}icon > & {
54
- padding-left: cx-calc(2 * cx-left($padding), $icon-size);
55
- }
56
-
57
- .#{$state}empty > & {
58
- @include cx-add-rules($placeholder);
59
- }
60
-
61
- &::-ms-expand {
62
- display: none;
63
- margin: 0;
64
- padding: 0;
65
- }
66
-
67
- option {
68
- background-color: $cx-default-dropdown-background-color;
69
- color: cx-get-state-rule($state-style-map, default, color);
70
- }
71
- }
72
-
73
- .#{$element}#{$name}-clear {
74
- @include cxe-field-button($besm, $clear-state-style-map);
75
- }
76
-
77
- .#{$element}#{$name}-placeholder {
78
- @include cx-add-rules($placeholder);
79
- }
80
-
81
- .#{$element}#{$name}-tool {
82
- pointer-events: none; //cannot call open-dropdown on native element
83
- @include cxe-field-button($besm, $tool-state-style-map);
84
-
85
- .#{$state}disabled > & {
86
- border-width: 0;
87
- @include cx-add-state-rules($state-style-map, disabled);
88
- }
89
- .#{$state}focus > & {
90
- @include cx-add-state-rules($tool-state-style-map, focus);
91
- }
92
- }
93
-
94
- .#{$element}#{$name}-icon {
95
- @include cxe-field-button-icon($besm, $icon-size);
96
- }
97
- }
98
-
99
- @if (cx-should-include("cx/widgets/Select")) {
100
- @include cx-select;
101
- }
@@ -1,121 +0,0 @@
1
-
2
- @use "sass:map";
3
-
4
- @mixin cx-slider(
5
- $name: "slider",
6
- $state-style-map: $cx-input-state-style-map,
7
- $styles: $cx-slider-handle-styles,
8
- $width: $cx-default-input-width,
9
- $size: $cx-default-slider-handle-size,
10
- $axis-size: $cx-default-slider-axis-size,
11
- $axis-background-color: $cx-default-slider-axis-background-color,
12
- $range-background-color: $cx-default-slider-range-background-color,
13
- $besm: $cx-besm
14
- ) {
15
- $block: map.get($besm, block);
16
- $element: map.get($besm, element);
17
- $state: map.get($besm, state);
18
-
19
- .#{$block}#{$name} {
20
- width: $width;
21
- user-select: none;
22
-
23
- @include cxb-field($besm, $state-style-map, $input: false, $box: true);
24
-
25
- &.#{$state}vertical {
26
- width: 28px;
27
- height: $width;
28
- }
29
-
30
- &.#{$state}disabled {
31
- pointer-events: none;
32
- opacity: 0.5;
33
- }
34
- }
35
-
36
- .#{$element}#{$name}-axis {
37
- position: absolute;
38
- background-color: $axis-background-color;
39
- border-radius: $size * 0.5;
40
- box-sizing: border-box;
41
-
42
- .#{$block}#{$name}.#{$state}horizontal & {
43
- left: $size * 0.5;
44
- right: $size * 0.5;
45
- top: calc(50% - #{$axis-size * 0.5});
46
- height: $axis-size;
47
- padding: 0 $axis-size * 0.5;
48
- }
49
-
50
- .#{$block}#{$name}.#{$state}vertical & {
51
- top: $size * 0.5;
52
- bottom: $size * 0.5;
53
- width: $axis-size;
54
- left: calc(50% - #{$axis-size * 0.5});
55
- padding: $axis-size * 0.5 0;
56
- }
57
- }
58
-
59
- .#{$element}#{$name}-space {
60
- position: relative;
61
- width: 100%;
62
- height: 100%;
63
- }
64
-
65
- .#{$element}#{$name}-range {
66
- position: absolute;
67
-
68
- background-color: $range-background-color;
69
- border-radius: $axis-size * 0.5;
70
-
71
- .#{$block}#{$name}.#{$state}horizontal & {
72
- height: 100%;
73
- }
74
-
75
- .#{$block}#{$name}.#{$state}vertical & {
76
- width: 100%;
77
- }
78
- }
79
-
80
- .#{$element}#{$name}-handle {
81
- position: absolute;
82
- box-sizing: border-box;
83
- width: $size;
84
- height: $size;
85
- margin-left: -$size * 0.5;
86
- margin-top: -$size * 0.5;
87
- margin-bottom: -$size * 0.5;
88
- touch-action: none;
89
-
90
- @include cx-add-state-rules($styles, default);
91
-
92
- .#{$block}#{$name}.#{$state}horizontal & {
93
- left: 0;
94
- top: 50%;
95
- }
96
-
97
- .#{$block}#{$name}.#{$state}vertical & {
98
- left: 50%;
99
- }
100
-
101
- &:hover {
102
- @include cx-add-state-rules($styles, hover);
103
- }
104
-
105
- &:focus {
106
- @include cx-add-state-rules($styles, focus);
107
- }
108
-
109
- &[disabled] {
110
- @include cx-add-state-rules($styles, disabled);
111
- }
112
-
113
- &:active {
114
- @include cx-add-state-rules($styles, active);
115
- }
116
- }
117
- }
118
-
119
- @if (cx-should-include("cx/widgets/Slider")) {
120
- @include cx-slider();
121
- }
@@ -1,142 +0,0 @@
1
- @use "sass:map";
2
-
3
- @mixin cx-switch(
4
- $name: "switch",
5
- $state-style-map: $cx-input-state-style-map,
6
- $styles: $cx-switch-handle-styles,
7
- $width: $cx-default-switch-width,
8
- $handle-size: $cx-default-switch-handle-size,
9
- $axis-size: $cx-default-switch-axis-size,
10
- $axis-background-color: $cx-default-switch-axis-background-color,
11
- $range-background-color: $cx-default-switch-range-background-color,
12
- $empty-text: $cx-empty-text,
13
- $besm: $cx-besm
14
- ) {
15
- $block: map.get($besm, block);
16
- $element: map.get($besm, element);
17
- $state: map.get($besm, state);
18
-
19
- $padding: cx-get-state-rule($state-style-map, default, padding);
20
- $border-width: cx-get-state-rule($state-style-map, default, border-width);
21
-
22
- $outer-styles: cx-deep-map-merge(
23
- $state-style-map,
24
- (
25
- default: (
26
- border-width: cx-top($border-width) 0 cx-bottom($border-width) 0,
27
- padding: cx-top($padding) 0 cx-bottom($padding) 0,
28
- ),
29
- )
30
- );
31
-
32
- .#{$block}#{$name} {
33
- cursor: pointer;
34
- min-width: cx-calc($width, $handle-size);
35
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
36
-
37
- @include cxb-field($besm, $outer-styles, $input: false, $box: true);
38
-
39
- &.#{$state}disabled {
40
- pointer-events: none;
41
- opacity: 0.5;
42
- }
43
-
44
- &:focus {
45
- outline: none;
46
- }
47
- }
48
-
49
- .#{$element}#{$name}-text {
50
- display: inline-block;
51
- margin-left: cx-calc($width, $handle-size);
52
- padding: 0 cx-right($padding) 0 cx-left($padding);
53
- }
54
-
55
- .#{$element}#{$name}-empty-text {
56
- @include cxe-field-empty-text($empty-text);
57
- }
58
-
59
- .#{$element}#{$name}-axis {
60
- user-select: none;
61
- position: absolute;
62
- background-color: $axis-background-color;
63
- border-radius: $axis-size * 0.5;
64
- box-sizing: border-box;
65
- width: $width;
66
-
67
- left: $handle-size * 0.5;
68
- right: $handle-size * 0.5;
69
- top: calc(50% - #{$axis-size * 0.5});
70
- height: $axis-size;
71
- padding: 0 $axis-size * 0.5;
72
- }
73
-
74
- .#{$element}#{$name}-space {
75
- position: relative;
76
- box-sizing: border-box;
77
- width: 100%;
78
- height: 100%;
79
- }
80
-
81
- .#{$element}#{$name}-range {
82
- position: absolute;
83
- background-color: $range-background-color;
84
- border-radius: $axis-size * 0.5;
85
- height: 100%;
86
- left: 0;
87
- width: 0;
88
- opacity: 0;
89
- transform: scale(0);
90
-
91
- transition: all 200ms;
92
-
93
- .#{$state}on & {
94
- width: 100%;
95
- opacity: 1;
96
- transform: none;
97
- }
98
- }
99
-
100
- .#{$element}#{$name}-handle {
101
- position: absolute;
102
- box-sizing: border-box;
103
- width: $handle-size;
104
- height: $handle-size;
105
- margin-left: -$handle-size * 0.5;
106
- margin-top: -$handle-size * 0.5;
107
- left: 0;
108
- top: 50%;
109
- transition: left 200ms;
110
-
111
- @include cx-add-state-rules($styles, default);
112
-
113
- .#{$state}on & {
114
- left: 100%;
115
- @include cx-add-state-rules($styles, on);
116
- }
117
-
118
- .#{$state}on:active & {
119
- @include cx-add-state-rules($styles, on-active);
120
- }
121
-
122
- &:hover {
123
- @include cx-add-state-rules($styles, hover);
124
- }
125
-
126
- .#{$block}#{$name}:focus & {
127
- @include cx-add-state-rules($styles, focus);
128
- }
129
-
130
- .#{$block}#{$name}.#{$state}disabled & {
131
- @include cx-add-state-rules($styles, disabled);
132
- }
133
-
134
- &:active {
135
- @include cx-add-state-rules($styles, active);
136
- }
137
- }
138
- }
139
-
140
- @if (cx-should-include("cx/widgets/Switch")) {
141
- @include cx-switch();
142
- }
@@ -1,45 +0,0 @@
1
- @use "sass:map";
2
-
3
- @mixin cx-textarea(
4
- $name: "textarea",
5
- $state-style-map: $cx-textarea-state-style-map,
6
- $placeholder: $cx-input-placeholder,
7
- $empty-text: $cx-empty-text,
8
- $tool-state-style-map: $cx-input-right-icon-state-style-map,
9
- $icon-size: $cx-default-input-icon-size,
10
- $width: $cx-default-textarea-width,
11
- $besm: $cx-besm
12
- ) {
13
- $block: map.get($besm, block);
14
- $element: map.get($besm, element);
15
- $state: map.get($besm, state);
16
- $mod: map.get($besm, mod);
17
-
18
- .#{$block}#{$name} {
19
- line-height: 0;
20
- width: $width;
21
- @include cxb-field($besm, $state-style-map, $input: false);
22
- }
23
-
24
- .#{$element}#{$name}-input {
25
- width: 100%;
26
- height: 100%;
27
- @include cxe-field-input($besm, $state-style-map, $placeholder: $placeholder, $input: false);
28
- }
29
-
30
- .#{$element}#{$name}-tool {
31
- @include cxe-field-button($besm, $tool-state-style-map);
32
- }
33
-
34
- .#{$element}#{$name}-icon {
35
- @include cxe-field-button-icon($besm, $icon-size);
36
- }
37
-
38
- .#{$element}#{$name}-empty-text {
39
- @include cxe-field-empty-text($empty-text);
40
- }
41
- }
42
-
43
- @if (cx-should-include("cx/widgets/TextArea")) {
44
- @include cx-textarea;
45
- }
@@ -1,57 +0,0 @@
1
- @use "sass:map";
2
-
3
- @mixin cx-textfield(
4
- $name: "textfield",
5
- $state-style-map: $cx-std-field-state-style-map,
6
- $placeholder: $cx-input-placeholder,
7
- $empty-text: $cx-empty-text,
8
- $left-icon-state-style-map: $cx-input-left-icon-state-style-map,
9
- $clear-state-style-map: $cx-clear-state-style-map,
10
- $icon-size: $cx-default-input-icon-size,
11
- $width: $cx-default-input-width,
12
- $besm: $cx-besm
13
- ) {
14
- $block: map.get($besm, block);
15
- $element: map.get($besm, element);
16
- $state: map.get($besm, state);
17
- $mod: map.get($besm, mod);
18
-
19
- .#{$block}#{$name} {
20
- @include cxb-field($besm, $state-style-map, $width: $width, $input: true);
21
- }
22
-
23
- $padding: cx-get-state-rule($state-style-map, default, "padding");
24
-
25
- .#{$element}#{$name}-input {
26
- @include cxe-field-input($besm, $state-style-map, $placeholder: $placeholder);
27
-
28
- .#{$state}icon > & {
29
- padding-left: cx-calc(2 * cx-left($padding), $icon-size);
30
- }
31
-
32
- .#{$state}clear > & {
33
- padding-right: cx-calc(cx-right($padding), $cx-default-clear-size, $cx-default-clear-spacing);
34
- }
35
- }
36
-
37
- .#{$element}#{$name}-left-icon {
38
- pointer-events: none;
39
- @include cxe-field-button($besm, $left-icon-state-style-map);
40
- }
41
-
42
- .#{$element}#{$name}-clear {
43
- @include cxe-field-button($besm, $clear-state-style-map);
44
- }
45
-
46
- .#{$element}#{$name}-icon {
47
- @include cxe-field-button-icon($besm, $icon-size);
48
- }
49
-
50
- .#{$element}#{$name}-empty-text {
51
- @include cxe-field-empty-text($empty-text);
52
- }
53
- }
54
-
55
- @if (cx-should-include("cx/widgets/TextField")) {
56
- @include cx-textfield();
57
- }
@@ -1,49 +0,0 @@
1
-
2
- @use "sass:map";
3
-
4
- @import "../Button";
5
-
6
- @mixin cx-uploadbutton(
7
- $name: 'uploadbutton',
8
- $state-style-map: $cx-button-state-style-map,
9
- $mods: $cx-button-mods,
10
- $besm: $cx-besm
11
- ) {
12
- $block: map.get($besm, block);
13
- $element: map.get($besm, element);
14
- $state: map.get($besm, state);
15
-
16
- @include cx-button($name,
17
- $mods: $mods,
18
- $state-style-map: $state-style-map,
19
- $besm: $besm
20
- );
21
-
22
- .#{$element}#{$name}-input {
23
- position: absolute;
24
- opacity: 0;
25
- left: 0;
26
- top: 0;
27
- width: 100%;
28
- height: 100%;
29
- }
30
-
31
- .#{$element}#{$name}-progress {
32
- position: absolute;
33
- left: 0;
34
- top: 0;
35
- bottom: 0;
36
- width: 0;
37
- background: rgba(8, 176, 255, 0.5);
38
- outline: 1px solid rgba(8, 176, 255, 0.5);
39
- transition: opacity 0.5s ease-in-out;
40
-
41
- &.#{$state}done {
42
- opacity: 0;
43
- }
44
- }
45
- }
46
-
47
- @if (cx-should-include('cx/widgets/UploadButton')) {
48
- @include cx-uploadbutton();
49
- }
@@ -1,23 +0,0 @@
1
- @use "sass:map";
2
-
3
- @mixin cx-validationerror(
4
- $name: 'uploadbutton',
5
- $besm: $cx-besm
6
- ) {
7
- $block: map.get($besm, block);
8
- $element: map.get($besm, element);
9
- $mod: map.get($besm, mod);
10
-
11
- .#{$block}validationerror {
12
- color: rgb(220, 0, 9);
13
- font-size: smaller;
14
-
15
- &.#{$mod}block {
16
- display: block;
17
- }
18
- }
19
- }
20
-
21
- @if (cx-should-include('cx/widgets/ValidationError')) {
22
- @include cx-validationerror();
23
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,62 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "cx/jsx-runtime";
2
- import { Store } from "../../data/Store";
3
- import { ValidationGroup } from "./ValidationGroup";
4
- import { Validator } from "./Validator";
5
- import { bind } from "../../ui/bind";
6
- import { createTestRenderer } from "../../util/test/createTestRenderer";
7
- import assert from "assert";
8
- describe("ValidationGroup", () => {
9
- it("performs validation and sets the flags", () => {
10
- let widget = (_jsx("cx", { children: _jsxs(ValidationGroup, { invalid: bind("invalid"), valid: bind("valid"), children: [_jsx(Validator, { onValidate: () => "Something is wrong..." }), _jsx("div", { visible: bind("invalid"), children: "Invalid" })] }) }));
11
- let store = new Store();
12
- const component = createTestRenderer(store, widget);
13
- let tree = component.toJSON();
14
- assert(tree && !Array.isArray(tree));
15
- assert.equal(tree.type, "div");
16
- assert.equal(store.get("invalid"), true);
17
- assert.equal(store.get("valid"), false);
18
- });
19
- it("nested validation works", () => {
20
- let widget = (_jsx("cx", { children: _jsx("div", { children: _jsxs(ValidationGroup, { invalid: bind("invalid"), children: [_jsx(ValidationGroup, { invalid: bind("invalid1"), children: _jsx(Validator, { onValidate: () => "Something is wrong..." }) }), _jsx(ValidationGroup, { invalid: bind("invalid2"), children: _jsx(Validator, { onValidate: () => false }) })] }) }) }));
21
- let store = new Store();
22
- const component = createTestRenderer(store, widget);
23
- let tree = component.toJSON();
24
- assert.equal(store.get("invalid"), true);
25
- assert.equal(store.get("invalid1"), true);
26
- assert.equal(store.get("invalid2"), false);
27
- });
28
- it("isolated validation group does not affect the parent", () => {
29
- let widget = (_jsx("cx", { children: _jsx("div", { children: _jsxs(ValidationGroup, { invalid: bind("invalid"), children: [_jsx(ValidationGroup, { invalid: bind("invalid1"), isolated: true, children: _jsx(Validator, { onValidate: () => "Something is wrong..." }) }), _jsx(ValidationGroup, { invalid: bind("invalid2"), children: _jsx(Validator, { onValidate: () => false }) })] }) }) }));
30
- let store = new Store();
31
- const component = createTestRenderer(store, widget);
32
- let tree = component.toJSON();
33
- assert.equal(store.get("invalid"), false);
34
- assert.equal(store.get("invalid1"), true);
35
- assert.equal(store.get("invalid2"), false);
36
- });
37
- it("visited flag is propagated into nested validation groups", () => {
38
- let visited = false;
39
- let widget = (_jsx("cx", { children: _jsx("div", { children: _jsx(ValidationGroup, { visited: true, children: _jsx(ValidationGroup, { children: _jsx("div", { onExplore: (context, instance) => {
40
- if (context.parentVisited)
41
- visited = true;
42
- } }) }) }) }) }));
43
- let store = new Store();
44
- const component = createTestRenderer(store, widget);
45
- let tree = component.toJSON();
46
- assert(visited);
47
- });
48
- it("disabled flag can be overruled by the field props", () => {
49
- let widget = (_jsx("cx", { children: _jsx("div", { children: _jsx(ValidationGroup, { invalid: bind("invalid"), disabled: true, children: _jsx(Validator, { onValidate: () => "Something is wrong...", disabled: false }) }) }) }));
50
- let store = new Store();
51
- const component = createTestRenderer(store, widget);
52
- let tree = component.toJSON();
53
- assert.equal(store.get("invalid"), true);
54
- });
55
- it("strict flag is used to enforce disabled flag", () => {
56
- let widget = (_jsx("cx", { children: _jsx("div", { children: _jsx(ValidationGroup, { invalid: bind("invalid"), disabled: true, strict: true, children: _jsx(Validator, { onValidate: () => "Something is wrong...", disabled: false }) }) }) }));
57
- let store = new Store();
58
- const component = createTestRenderer(store, widget);
59
- let tree = component.toJSON();
60
- assert.equal(store.get("invalid"), false);
61
- });
62
- });