cx 26.2.1 → 26.2.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 (324) hide show
  1. package/build/charts/Chart.d.ts.map +1 -1
  2. package/build/charts/Chart.js +5 -4
  3. package/build/charts/ColumnBarBase.d.ts +3 -3
  4. package/build/charts/ColumnBarBase.d.ts.map +1 -1
  5. package/build/charts/ColumnBarBase.js +1 -1
  6. package/build/charts/Legend.d.ts.map +1 -1
  7. package/build/charts/Legend.js +11 -4
  8. package/build/charts/Marker.d.ts +3 -3
  9. package/build/charts/Marker.d.ts.map +1 -1
  10. package/build/charts/MarkerLine.d.ts +7 -7
  11. package/build/charts/MarkerLine.d.ts.map +1 -1
  12. package/build/charts/MarkerLine.js +14 -10
  13. package/build/charts/PieChart.d.ts +4 -4
  14. package/build/charts/PieChart.d.ts.map +1 -1
  15. package/build/charts/PieChart.js +36 -14
  16. package/build/charts/PieLabel.d.ts.map +1 -1
  17. package/build/charts/PieLabel.js +2 -1
  18. package/build/charts/RangeMarker.d.ts +3 -3
  19. package/build/charts/RangeMarker.d.ts.map +1 -1
  20. package/build/charts/RangeMarker.js +1 -1
  21. package/build/charts/axis/TimeAxis.d.ts +3 -3
  22. package/build/charts/axis/TimeAxis.d.ts.map +1 -1
  23. package/build/charts/axis/TimeAxis.js +70 -21
  24. package/build/charts/helpers/ValueAtFinder.d.ts +1 -1
  25. package/build/charts/helpers/ValueAtFinder.d.ts.map +1 -1
  26. package/build/charts/helpers/ValueAtFinder.js +5 -2
  27. package/build/data/StructuredSelector.js +3 -4
  28. package/build/data/createAccessorModelProxy.d.ts +6 -11
  29. package/build/data/createAccessorModelProxy.d.ts.map +1 -1
  30. package/build/data/createAccessorModelProxy.js +1 -3
  31. package/build/svg/Ellipse.d.ts +5 -4
  32. package/build/svg/Ellipse.d.ts.map +1 -1
  33. package/build/svg/Ellipse.js +9 -6
  34. package/build/svg/Line.d.ts +1 -0
  35. package/build/svg/Line.d.ts.map +1 -1
  36. package/build/svg/Line.js +4 -1
  37. package/build/svg/Text.d.ts +12 -6
  38. package/build/svg/Text.d.ts.map +1 -1
  39. package/build/svg/Text.js +12 -4
  40. package/build/ui/Controller.d.ts +2 -0
  41. package/build/ui/Controller.d.ts.map +1 -1
  42. package/build/ui/Controller.js +3 -0
  43. package/build/ui/HoverSync.d.ts.map +1 -1
  44. package/build/ui/HoverSync.js +7 -2
  45. package/build/ui/Prop.d.ts +1 -1
  46. package/build/ui/Prop.d.ts.map +1 -1
  47. package/build/ui/Text.d.ts +3 -3
  48. package/build/ui/Text.d.ts.map +1 -1
  49. package/build/ui/Text.js +5 -5
  50. package/build/ui/adapter/GroupAdapter.d.ts.map +1 -1
  51. package/build/ui/adapter/GroupAdapter.js +20 -10
  52. package/build/ui/app/History.js +1 -1
  53. package/build/widgets/List.d.ts.map +1 -1
  54. package/build/widgets/List.js +6 -7
  55. package/build/widgets/drag-drop/DropZone.d.ts +3 -3
  56. package/build/widgets/drag-drop/DropZone.d.ts.map +1 -1
  57. package/build/widgets/form/Calendar.d.ts.map +1 -1
  58. package/build/widgets/form/Calendar.js +30 -11
  59. package/build/widgets/form/ColorField.d.ts.map +1 -1
  60. package/build/widgets/form/ColorField.js +16 -7
  61. package/build/widgets/form/DateTimeField.d.ts.map +1 -1
  62. package/build/widgets/form/DateTimeField.js +23 -10
  63. package/build/widgets/form/Field.d.ts +2 -0
  64. package/build/widgets/form/Field.d.ts.map +1 -1
  65. package/build/widgets/form/Field.js +11 -5
  66. package/build/widgets/form/LookupField.d.ts +1 -1
  67. package/build/widgets/form/LookupField.d.ts.map +1 -1
  68. package/build/widgets/form/LookupField.js +6 -6
  69. package/build/widgets/form/MonthField.d.ts.map +1 -1
  70. package/build/widgets/form/MonthField.js +15 -7
  71. package/build/widgets/form/MonthPicker.d.ts +1 -2
  72. package/build/widgets/form/MonthPicker.d.ts.map +1 -1
  73. package/build/widgets/form/MonthPicker.js +84 -41
  74. package/build/widgets/form/NumberField.d.ts +2 -0
  75. package/build/widgets/form/NumberField.d.ts.map +1 -1
  76. package/build/widgets/form/NumberField.js +45 -15
  77. package/build/widgets/form/TextField.d.ts +1 -9
  78. package/build/widgets/form/TextField.d.ts.map +1 -1
  79. package/build/widgets/form/TextField.js +1 -1
  80. package/build/widgets/grid/Grid.d.ts +2 -2
  81. package/build/widgets/grid/Grid.d.ts.map +1 -1
  82. package/build/widgets/grid/Grid.js +9 -4
  83. package/build/widgets/grid/Pagination.d.ts.map +1 -1
  84. package/build/widgets/grid/Pagination.js +4 -4
  85. package/build/widgets/grid/TreeNode.d.ts.map +1 -1
  86. package/build/widgets/grid/TreeNode.js +10 -2
  87. package/build/widgets/icons/folder.d.ts.map +1 -1
  88. package/build/widgets/icons/folder.js +1 -0
  89. package/build/widgets/icons/forward.d.ts.map +1 -1
  90. package/build/widgets/icons/forward.js +4 -3
  91. package/build/widgets/icons/loading.d.ts.map +1 -1
  92. package/build/widgets/icons/loading.js +6 -5
  93. package/build/widgets/icons/square.d.ts.map +1 -1
  94. package/build/widgets/icons/square.js +3 -3
  95. package/build/widgets/index.d.ts +3 -1
  96. package/build/widgets/index.d.ts.map +1 -1
  97. package/build/widgets/index.js +3 -1
  98. package/build/widgets/overlay/ContextMenu.d.ts.map +1 -1
  99. package/build/widgets/overlay/ContextMenu.js +2 -0
  100. package/build/widgets/overlay/Dropdown.d.ts +2 -1
  101. package/build/widgets/overlay/Dropdown.d.ts.map +1 -1
  102. package/build/widgets/overlay/Dropdown.js +75 -20
  103. package/build/widgets/overlay/MsgBox.d.ts +1 -0
  104. package/build/widgets/overlay/MsgBox.d.ts.map +1 -1
  105. package/build/widgets/overlay/MsgBox.js +2 -2
  106. package/build/widgets/overlay/Overlay.d.ts +32 -2
  107. package/build/widgets/overlay/Overlay.d.ts.map +1 -1
  108. package/build/widgets/overlay/Overlay.js +47 -16
  109. package/build/widgets/overlay/Toast.d.ts +1 -1
  110. package/build/widgets/overlay/Toast.d.ts.map +1 -1
  111. package/build/widgets/overlay/Toast.js +4 -1
  112. package/build/widgets/overlay/Tooltip.d.ts +6 -0
  113. package/build/widgets/overlay/Tooltip.d.ts.map +1 -1
  114. package/build/widgets/overlay/Tooltip.js +24 -9
  115. package/build/widgets/overlay/Window.d.ts.map +1 -1
  116. package/build/widgets/overlay/Window.js +24 -9
  117. package/dist/charts.css +325 -272
  118. package/dist/charts.js +11 -5
  119. package/dist/data.js +2 -2
  120. package/dist/manifest.js +892 -880
  121. package/dist/svg.css +14 -8
  122. package/dist/svg.js +9 -1
  123. package/dist/ui.js +29 -16
  124. package/dist/widgets.css +997 -294
  125. package/dist/widgets.js +317 -121
  126. package/package.json +1 -1
  127. package/src/charts/Bar.scss +13 -10
  128. package/src/charts/BarGraph.scss +31 -29
  129. package/src/charts/BubbleGraph.scss +11 -8
  130. package/src/charts/Chart.ts +5 -3
  131. package/src/charts/Column.scss +13 -10
  132. package/src/charts/ColumnBarBase.tsx +255 -230
  133. package/src/charts/ColumnGraph.scss +13 -11
  134. package/src/charts/Gridlines.scss +10 -8
  135. package/src/charts/Legend.scss +57 -50
  136. package/src/charts/Legend.tsx +257 -213
  137. package/src/charts/LegendEntry.scss +35 -29
  138. package/src/charts/LineGraph.scss +28 -25
  139. package/src/charts/Marker.scss +12 -10
  140. package/src/charts/Marker.tsx +3 -2
  141. package/src/charts/MarkerLine.scss +11 -8
  142. package/src/charts/MarkerLine.tsx +196 -177
  143. package/src/charts/PieChart.scss +12 -9
  144. package/src/charts/PieChart.tsx +717 -591
  145. package/src/charts/PieLabel.tsx +99 -81
  146. package/src/charts/Range.scss +11 -8
  147. package/src/charts/RangeMarker.tsx +204 -187
  148. package/src/charts/ScatterGraph.scss +12 -9
  149. package/src/charts/axis/Axis.scss +6 -5
  150. package/src/charts/axis/CategoryAxis.scss +10 -8
  151. package/src/charts/axis/NumericAxis.scss +9 -6
  152. package/src/charts/axis/TimeAxis.scss +9 -6
  153. package/src/charts/axis/TimeAxis.tsx +753 -637
  154. package/src/charts/axis/index.scss +4 -5
  155. package/src/charts/axis/variables.scss +4 -2
  156. package/src/charts/helpers/ValueAtFinder.ts +19 -5
  157. package/src/charts/index.scss +16 -19
  158. package/src/charts/maps.scss +0 -0
  159. package/src/charts/palette.scss +11 -31
  160. package/src/charts/palette.variables.scss +23 -0
  161. package/src/charts/variables.scss +35 -3
  162. package/src/data/StructuredSelector.ts +2 -2
  163. package/src/data/createAccessorModelProxy.ts +66 -74
  164. package/src/index.scss +5 -6
  165. package/src/maps.scss +5 -0
  166. package/src/svg/Ellipse.tsx +62 -55
  167. package/src/svg/Line.tsx +57 -42
  168. package/src/svg/Svg.scss +6 -6
  169. package/src/svg/Text.scss +19 -0
  170. package/src/svg/Text.tsx +172 -116
  171. package/src/svg/index.scss +3 -2
  172. package/src/svg/maps.scss +0 -0
  173. package/src/svg/variables.scss +0 -0
  174. package/src/ui/Container.spec.ts +59 -0
  175. package/src/ui/Controller.spec.tsx +30 -0
  176. package/src/ui/Controller.ts +5 -0
  177. package/src/ui/HoverSync.tsx +179 -147
  178. package/src/ui/Prop.ts +1 -1
  179. package/src/ui/Text.ts +12 -9
  180. package/src/ui/adapter/GroupAdapter.spec.ts +42 -0
  181. package/src/ui/adapter/GroupAdapter.ts +25 -14
  182. package/src/ui/app/History.ts +1 -1
  183. package/src/ui/index.scss +1 -1
  184. package/src/ui/layout/LabelsLeftLayout.scss +5 -7
  185. package/src/ui/layout/LabelsTopLayout.scss +4 -6
  186. package/src/ui/layout/index.scss +2 -3
  187. package/src/ui/maps.scss +0 -0
  188. package/src/ui/variables.scss +1 -2
  189. package/src/util/index.scss +4 -2
  190. package/src/util/maps.scss +1 -0
  191. package/src/util/scss/besm.scss +15 -0
  192. package/src/util/scss/calc.scss +103 -11
  193. package/src/util/scss/defaults.scss +24 -0
  194. package/src/util/scss/elements.scss +78 -0
  195. package/src/util/scss/global.scss +15 -0
  196. package/src/util/scss/include.scss +17 -9
  197. package/src/util/scss/index.scss +1 -9
  198. package/src/util/scss/maps.scss +2 -0
  199. package/src/util/scss/pad-size.scss +9 -0
  200. package/src/util/scss/padding.scss +6 -0
  201. package/src/util/scss/screen-size.scss +5 -0
  202. package/src/util/scss/variables.scss +6 -0
  203. package/src/util/variables.scss +1 -0
  204. package/src/variables.scss +5 -217
  205. package/src/widgets/Button.maps.scss +103 -0
  206. package/src/widgets/Button.scss +33 -9
  207. package/src/widgets/Button.variables.scss +8 -104
  208. package/src/widgets/CxCredit.scss +2 -0
  209. package/src/widgets/FlexBox.scss +16 -11
  210. package/src/widgets/Heading.scss +6 -0
  211. package/src/widgets/HighlightedSearchText.scss +8 -1
  212. package/src/widgets/Icon.scss +6 -0
  213. package/src/widgets/List.scss +7 -0
  214. package/src/widgets/List.tsx +6 -7
  215. package/src/widgets/ProgressBar.scss +9 -0
  216. package/src/widgets/Resizer.scss +9 -7
  217. package/src/widgets/Section.scss +53 -56
  218. package/src/widgets/animations.scss +4 -2
  219. package/src/widgets/box.scss +47 -0
  220. package/src/widgets/drag-drop/DragClone.scss +12 -4
  221. package/src/widgets/drag-drop/DragHandle.scss +12 -6
  222. package/src/widgets/drag-drop/DragSource.scss +12 -6
  223. package/src/widgets/drag-drop/DropZone.scss +9 -0
  224. package/src/widgets/drag-drop/DropZone.tsx +3 -3
  225. package/src/widgets/drag-drop/index.scss +4 -4
  226. package/src/widgets/drag-drop/maps.scss +7 -0
  227. package/src/widgets/drag-drop/variables.scss +8 -5
  228. package/src/widgets/form/Calendar.maps.scss +54 -0
  229. package/src/widgets/form/Calendar.scss +49 -11
  230. package/src/widgets/form/Calendar.tsx +755 -653
  231. package/src/widgets/form/Calendar.variables.scss +3 -46
  232. package/src/widgets/form/Checkbox.maps.scss +34 -0
  233. package/src/widgets/form/Checkbox.scss +14 -3
  234. package/src/widgets/form/Checkbox.variables.scss +4 -36
  235. package/src/widgets/form/ColorField.scss +21 -2
  236. package/src/widgets/form/ColorField.tsx +485 -431
  237. package/src/widgets/form/ColorPicker.maps.scss +21 -0
  238. package/src/widgets/form/ColorPicker.scss +26 -9
  239. package/src/widgets/form/ColorPicker.variables.scss +3 -16
  240. package/src/widgets/form/DateTimeField.scss +54 -21
  241. package/src/widgets/form/DateTimeField.tsx +697 -615
  242. package/src/widgets/form/DateTimePicker.scss +14 -4
  243. package/src/widgets/form/Field.maps.scss +122 -0
  244. package/src/widgets/form/Field.scss +54 -18
  245. package/src/widgets/form/Field.tsx +611 -504
  246. package/src/widgets/form/Field.variables.scss +46 -0
  247. package/src/widgets/form/HelpText.scss +8 -5
  248. package/src/widgets/form/Label.scss +10 -3
  249. package/src/widgets/form/LookupField.maps.scss +26 -0
  250. package/src/widgets/form/LookupField.scss +54 -24
  251. package/src/widgets/form/LookupField.tsx +25 -21
  252. package/src/widgets/form/MonthField.scss +48 -26
  253. package/src/widgets/form/MonthField.tsx +645 -567
  254. package/src/widgets/form/MonthPicker.maps.scss +50 -0
  255. package/src/widgets/form/MonthPicker.scss +44 -35
  256. package/src/widgets/form/MonthPicker.tsx +954 -724
  257. package/src/widgets/form/MonthPicker.variables.scss +24 -0
  258. package/src/widgets/form/NumberField.scss +19 -2
  259. package/src/widgets/form/NumberField.tsx +576 -466
  260. package/src/widgets/form/Radio.maps.scss +36 -0
  261. package/src/widgets/form/Radio.scss +12 -2
  262. package/src/widgets/form/Radio.variables.scss +3 -42
  263. package/src/widgets/form/Select.scss +25 -9
  264. package/src/widgets/form/Slider.scss +23 -14
  265. package/src/widgets/form/Switch.scss +18 -8
  266. package/src/widgets/form/TextArea.scss +14 -1
  267. package/src/widgets/form/TextField.scss +24 -3
  268. package/src/widgets/form/TextField.tsx +9 -21
  269. package/src/widgets/form/UploadButton.scss +14 -6
  270. package/src/widgets/form/ValidationError.scss +10 -6
  271. package/src/widgets/form/Wheel.scss +14 -4
  272. package/src/widgets/form/index.scss +22 -24
  273. package/src/widgets/form/maps.scss +81 -0
  274. package/src/widgets/form/variables.scss +111 -355
  275. package/src/widgets/grid/Grid.scss +19 -2
  276. package/src/widgets/grid/Grid.spec.ts +42 -0
  277. package/src/widgets/grid/Grid.tsx +15 -7
  278. package/src/widgets/grid/Pagination.scss +11 -2
  279. package/src/widgets/grid/Pagination.tsx +110 -102
  280. package/src/widgets/grid/TreeNode.scss +25 -8
  281. package/src/widgets/grid/TreeNode.tsx +127 -116
  282. package/src/widgets/grid/index.scss +3 -4
  283. package/src/widgets/grid/maps.scss +110 -0
  284. package/src/widgets/grid/variables.scss +48 -137
  285. package/src/widgets/icons/folder.tsx +1 -2
  286. package/src/widgets/icons/forward.tsx +23 -20
  287. package/src/widgets/icons/loading.tsx +22 -19
  288. package/src/widgets/icons/square.tsx +20 -17
  289. package/src/widgets/index.scss +16 -16
  290. package/src/widgets/index.ts +63 -58
  291. package/src/widgets/lists.scss +42 -0
  292. package/src/widgets/maps.scss +139 -0
  293. package/src/widgets/nav/Link.scss +14 -1
  294. package/src/widgets/nav/Menu.scss +13 -7
  295. package/src/widgets/nav/Menu.variables.scss +1 -12
  296. package/src/widgets/nav/MenuItem.scss +21 -6
  297. package/src/widgets/nav/Scroller.scss +11 -2
  298. package/src/widgets/nav/Tab.maps.scss +78 -0
  299. package/src/widgets/nav/Tab.scss +12 -6
  300. package/src/widgets/nav/Tab.variables.scss +7 -76
  301. package/src/widgets/nav/cover.scss +6 -4
  302. package/src/widgets/nav/index.scss +6 -6
  303. package/src/widgets/nav/maps.scss +32 -0
  304. package/src/widgets/nav/variables.scss +4 -11
  305. package/src/widgets/overlay/ContextMenu.ts +3 -0
  306. package/src/widgets/overlay/Dropdown.scss +47 -16
  307. package/src/widgets/overlay/Dropdown.tsx +851 -676
  308. package/src/widgets/overlay/MsgBox.tsx +125 -111
  309. package/src/widgets/overlay/Overlay.scss +60 -40
  310. package/src/widgets/overlay/Overlay.tsx +948 -800
  311. package/src/widgets/overlay/Toast.scss +42 -34
  312. package/src/widgets/overlay/Toast.ts +11 -1
  313. package/src/widgets/overlay/Tooltip.scss +27 -96
  314. package/src/widgets/overlay/Tooltip.tsx +376 -309
  315. package/src/widgets/overlay/Window.maps.scss +51 -0
  316. package/src/widgets/overlay/Window.scss +17 -17
  317. package/src/widgets/overlay/Window.tsx +291 -236
  318. package/src/widgets/overlay/Window.variables.scss +2 -43
  319. package/src/widgets/overlay/index.d.ts +11 -11
  320. package/src/widgets/overlay/index.scss +6 -15
  321. package/src/widgets/overlay/maps.scss +44 -0
  322. package/src/widgets/overlay/variables.scss +11 -42
  323. package/src/widgets/variables.scss +33 -117
  324. package/src/global.scss +0 -14
@@ -1,4 +1,12 @@
1
+ @use "sass:math";
1
2
  @use "sass:map";
3
+ @use "./variables" as *;
4
+ @use "./maps" as *;
5
+ @use "../util/scss/besm.scss" as *;
6
+ @use "../util/scss/add-rules.scss" as *;
7
+ @use "../util/scss/calc.scss" as *;
8
+ @use "../util/scss/clockwise.scss" as *;
9
+ @use "../util/scss/include.scss" as *;
2
10
 
3
11
  @mixin cx-button(
4
12
  $name: "button",
@@ -12,14 +20,25 @@
12
20
  $state: map.get($besm, state);
13
21
  $mod: map.get($besm, mod);
14
22
 
23
+ $line-height: cx-get-state-rule(
24
+ $state-style-map,
25
+ default,
26
+ "line-height",
27
+ 1.2em
28
+ );
29
+
15
30
  .#{$block}#{$name} {
16
31
  position: relative;
17
32
  box-sizing: border-box;
18
33
  display: inline-block;
19
34
 
20
- $line-height: cx-get-state-rule($state-style-map, default, "line-height", 1.2em);
21
35
  $padding: cx-get-state-rule($state-style-map, default, "padding", 0);
22
- $border-width: cx-get-state-rule($state-style-map, default, "border-width", 1px);
36
+ $border-width: cx-get-state-rule(
37
+ $state-style-map,
38
+ default,
39
+ "border-width",
40
+ 1px
41
+ );
23
42
 
24
43
  height: cx-calc(
25
44
  $line-height,
@@ -90,8 +109,8 @@
90
109
  display: inline-block;
91
110
  position: absolute;
92
111
  top: 50%;
93
- left: cx-left($padding) * 0.5;
94
- margin-top: -$icon-size * 0.5;
112
+ left: cx-divide(cx-left($padding), 2);
113
+ margin-top: cx-multiply($icon-size, -0.5);
95
114
  height: $icon-size;
96
115
  width: $icon-size;
97
116
  line-height: $icon-size;
@@ -100,16 +119,21 @@
100
119
 
101
120
  .#{$element}#{$name}-baseline {
102
121
  display: inline-block;
103
- width: 1px;
104
- margin-left: -1px;
122
+ min-width: $line-height;
105
123
  }
106
124
 
107
125
  .#{$block}#{$name}.#{$state}icon {
108
- padding: cx-top($padding) cx-right($padding) cx-bottom($padding) cx-calc(cx-left($padding), $icon-size);
126
+ padding: cx-top($padding) cx-right($padding) cx-bottom($padding)
127
+ cx-calc(cx-left($padding), $icon-size);
109
128
 
110
129
  &.#{$state}empty {
111
- padding: cx-top($padding) cx-right($padding) * 0.5 cx-bottom($padding)
112
- cx-calc(cx-left($padding) * 0.5, $icon-size);
130
+ padding: cx-top($padding) cx-top($padding) cx-bottom($padding)
131
+ cx-top($padding);
132
+
133
+ .#{$element}#{$name}-icon {
134
+ left: 50%;
135
+ margin-left: cx-multiply($icon-size, -0.5);
136
+ }
113
137
  }
114
138
  }
115
139
  }
@@ -1,11 +1,17 @@
1
+ @use "./box" as *;
2
+ @use "../util/scss/defaults.scss" as *;
3
+ @use "../util/scss/clockwise.scss" as *;
4
+ @use "../util/scss/calc.scss" as *;
1
5
  @use "sass:color";
2
6
  @use "sass:map";
3
7
 
4
8
  $cx-default-button-font-family: $cx-default-box-font-family !default;
5
9
  $cx-default-button-font-size: $cx-default-box-font-size !default;
6
10
  $cx-default-button-font-weight: normal !default;
7
- $cx-default-button-padding: cx-top($cx-default-box-padding) 2 * cx-right($cx-default-box-padding)
8
- cx-bottom($cx-default-box-padding) 2 * cx-left($cx-default-box-padding) !default;
11
+ $cx-default-button-padding: $cx-default-box-padding-top
12
+ cx-multiply($cx-default-box-padding-right, 2)
13
+ $cx-default-box-padding-bottom
14
+ cx-multiply($cx-default-box-padding-left, 2) !default;
9
15
  $cx-default-button-border-width: $cx-default-box-border-width !default;
10
16
  $cx-default-button-line-height: $cx-default-box-line-height !default;
11
17
  $cx-default-button-background-color: #eee !default;
@@ -13,105 +19,3 @@ $cx-default-button-border-color: #ccc !default;
13
19
  $cx-default-button-border-radius: $cx-default-border-radius !default;
14
20
  $cx-default-button-color: null !default;
15
21
  $cx-default-button-box-shadow: inset 0 -2px rgba(128, 128, 128, 0.1) !default;
16
-
17
- $cx-button-state-style-map: (
18
- default: (
19
- background-color: $cx-default-button-background-color,
20
- box-shadow: $cx-default-button-box-shadow,
21
- border-color: $cx-default-button-border-color,
22
- border-width: $cx-default-button-border-width,
23
- border-radius: $cx-default-button-border-radius,
24
- border-style: solid,
25
- user-select: none,
26
- color: $cx-default-button-color,
27
- font-family: $cx-default-button-font-family,
28
- font-size: $cx-default-button-font-size,
29
- font-weight: $cx-default-button-font-weight,
30
- line-height: $cx-default-button-line-height,
31
- padding: $cx-default-button-padding,
32
- cursor: pointer,
33
- -webkit-appearance: none,
34
- -moz-appearance: none,
35
- appearance: none,
36
- white-space: nowrap,
37
- text-decoration: none,
38
- ),
39
- hover: (
40
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3),
41
- text-decoration: none,
42
- ),
43
- focus: (
44
- outline: none,
45
- box-shadow: 0 0 1px 1px rgba(77, 144, 254, 0.8),
46
- ),
47
- hover-focus: (),
48
- disabled: (
49
- color: gray,
50
- box-shadow: none,
51
- pointer-events: none,
52
- ),
53
- active: (
54
- top: 1px,
55
- box-shadow: none,
56
- ),
57
- ) !default;
58
-
59
- $cx-button-mods: (
60
- primary: (
61
- default: (
62
- background-color: #1f99f8,
63
- border-color: #1e88e5,
64
- color: white,
65
- ),
66
- disabled: (
67
- background-color: color.adjust(#1f99f8, $alpha: -0.5),
68
- border-color: color.adjust(#1e88e5, $alpha: -0.9),
69
- color: color.adjust(white, $alpha: -0.4),
70
- ),
71
- hover: (
72
- background-color: #1f99f8,
73
- ),
74
- ),
75
- danger: (
76
- default: (
77
- background-color: #d32f2f,
78
- border-color: #c62828,
79
- color: white,
80
- ),
81
- disabled: (
82
- background-color: color.adjust(#d32f2f, $alpha: -0.4),
83
- border-color: color.adjust(#c62828, $alpha: -0.9),
84
- color: color.adjust(white, $alpha: -0.5),
85
- ),
86
- hover: (
87
- background-color: #d32f2f,
88
- ),
89
- ),
90
- hollow: (
91
- default: (
92
- background-color: transparent,
93
- border-color: transparent,
94
- color: inherit,
95
- box-shadow: none,
96
- ),
97
- hover:
98
- map.merge(
99
- map.get($cx-list-item, hover),
100
- (
101
- box-shadow: none,
102
- border-color: transparent,
103
- )
104
- ),
105
- focus:
106
- map.merge(
107
- map.get($cx-list-item, selected-cursor),
108
- (
109
- box-shadow: none,
110
- border-color: transparent,
111
- )
112
- ),
113
- disabled: (
114
- color: rgba(128, 128, 128, 0.5),
115
- ),
116
- ),
117
- ) !default;
@@ -1,4 +1,6 @@
1
1
  @use "sass:map";
2
+ @use "../util/scss/besm.scss" as *;
3
+ @use "../util/scss/include.scss" as *;
2
4
 
3
5
  @mixin cx-cxcredit($name: "cxcredit", $besm: $cx-besm) {
4
6
  $block: map.get($besm, block);
@@ -1,25 +1,30 @@
1
1
  @use "sass:map";
2
+ @use "sass:math";
3
+ @use "../util/scss/screen-size.scss" as *;
4
+ @use "../util/scss/pad-size.scss" as *;
5
+ @use "../util/scss/include.scss" as *;
6
+ @use "../util/scss/besm.scss" as *;
2
7
 
3
8
  @mixin cx-flexbox-spacing($divider, $besm: $cx-besm) {
4
9
  $state: map.get($besm, state);
5
10
  @each $pad, $size in $cx-pad-size {
6
11
  &.#{$state}#{$pad}-hspacing {
7
- margin-left: cx-divide(-$size, $divider);
8
- margin-right: cx-divide(-$size, $divider);
12
+ margin-left: -(math.div($size, $divider));
13
+ margin-right: -(math.div($size, $divider));
9
14
 
10
15
  & > * {
11
- margin-left: cx-divide($size, $divider);
12
- margin-right: cx-divide($size, $divider);
16
+ margin-left: math.div($size, $divider);
17
+ margin-right: math.div($size, $divider);
13
18
  }
14
19
  }
15
20
 
16
21
  &.#{$state}#{$pad}-vspacing {
17
- margin-top: cx-divide(-$size, $divider);
18
- margin-bottom: cx-divide(-$size, $divider);
22
+ margin-top: -(math.div($size, $divider));
23
+ margin-bottom: -(math.div($size, $divider));
19
24
 
20
25
  & > * {
21
- margin-top: cx-divide($size, $divider);
22
- margin-bottom: cx-divide($size, $divider);
26
+ margin-top: math.div($size, $divider);
27
+ margin-bottom: math.div($size, $divider);
23
28
  }
24
29
  }
25
30
  }
@@ -121,21 +126,21 @@
121
126
  }
122
127
 
123
128
  &.#{$state}target-phone {
124
- @media not screen and (min-width: $cx-screen-size-small) {
129
+ @media not screen and (min-width: $screen-size-small) {
125
130
  display: block;
126
131
  @include cx-flexbox-spacing(1, $besm);
127
132
  }
128
133
  }
129
134
 
130
135
  &.#{$state}target-tablet {
131
- @media not screen and (min-width: $cx-screen-size-medium) {
136
+ @media not screen and (min-width: $screen-size-medium) {
132
137
  display: block;
133
138
  @include cx-flexbox-spacing(1, $besm);
134
139
  }
135
140
  }
136
141
 
137
142
  &.#{$state}target-desktop {
138
- @media not screen and (min-width: $cx-screen-size-large) {
143
+ @media not screen and (min-width: $screen-size-large) {
139
144
  display: block;
140
145
  @include cx-flexbox-spacing(1, $besm);
141
146
  }
@@ -1,3 +1,9 @@
1
+ @use "../util/scss/besm.scss" as *;
2
+ @use "../util/scss/add-rules.scss" as *;
3
+ @use "../util/scss/clockwise.scss" as *;
4
+ @use "../util/scss/include.scss" as *;
5
+ @use "./variables.scss" as *;
6
+ @use "./maps.scss" as *;
1
7
  @use "sass:map";
2
8
 
3
9
  @mixin cxb-heading($name: "heading", $besm: $cx-besm) {
@@ -1,8 +1,15 @@
1
+ @use "sass:math";
1
2
  @use "sass:map";
3
+ @use "./variables.scss" as *;
4
+ @use "./maps.scss" 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/include.scss" as *;
2
9
 
3
10
  @mixin cxb-highlightedsearchtext(
4
11
  $name: "highlightedsearchtext",
5
- $styles: $cx-highlightedsearchtext-style-map,
12
+ $styles: $cx-highlighedsearchtext-style-map,
6
13
  $besm: $cx-besm
7
14
  ) {
8
15
  $block: map.get($besm, block);
@@ -1,3 +1,9 @@
1
+ @use "sass:math";
2
+ @use "./box" as *;
3
+ @use "../util/scss/besm.scss" as *;
4
+ @use "../util/scss/add-rules.scss" as *;
5
+ @use "../util/scss/clockwise.scss" as *;
6
+ @use "../util/scss/include.scss" as *;
1
7
  @use "sass:map";
2
8
 
3
9
  @mixin cx-icon($name: "icon", $size: $cx-default-icon-size, $besm: $cx-besm) {
@@ -1,4 +1,11 @@
1
1
  @use "sass:map";
2
+ @use "sass:math";
3
+ @use "../util/scss/besm.scss" as *;
4
+ @use "../util/scss/defaults.scss" as *;
5
+ @use "../util/scss/add-rules.scss" as *;
6
+ @use "../util/scss/include.scss" as *;
7
+ @use "./lists.scss" as *;
8
+ @use "./variables.scss" as *;
2
9
 
3
10
  @mixin cx-list($name: "list", $besm: $cx-besm) {
4
11
  $block: map.get($besm, block);
@@ -335,13 +335,12 @@ export class List extends StyledContainerBase<ListConfig> {
335
335
  },
336
336
  } as GroupingConfig;
337
337
  }
338
- return g;
339
- });
340
-
341
- normalized.forEach((g) => {
342
- if (g.header) g.header = Widget.create(g.header);
343
-
344
- if (g.footer) g.footer = Widget.create(g.footer);
338
+ // Clone to avoid mutating the original config
339
+ return {
340
+ ...g,
341
+ header: g.header ? Widget.create(g.header) : undefined,
342
+ footer: g.footer ? Widget.create(g.footer) : undefined,
343
+ };
345
344
  });
346
345
 
347
346
  this.adapter.groupBy(normalized);
@@ -1,3 +1,12 @@
1
+ @use "sass:math";
2
+ @use "./box.scss" as *;
3
+ @use "./variables.scss" as *;
4
+ @use "./maps.scss" as *;
5
+
6
+ @use "../util/scss/add-rules.scss" as *;
7
+ @use "../util/scss/clockwise.scss" as *;
8
+ @use "../util/scss/besm.scss" as *;
9
+ @use "../util/scss/include.scss" as *;
1
10
  @use "sass:map";
2
11
 
3
12
  @mixin cx-progressbar(
@@ -1,10 +1,13 @@
1
+ @use "sass:math";
1
2
  @use "sass:map";
2
3
 
3
- @mixin cx-resizer(
4
- $name: 'resizer',
5
- $besm: $cx-besm
6
- ) {
4
+ @use "./box.scss" 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/include.scss" as *;
7
9
 
10
+ @mixin cx-resizer($name: "resizer", $besm: $cx-besm) {
8
11
  $block: map.get($besm, block);
9
12
  $element: map.get($besm, element);
10
13
  $state: map.get($besm, state);
@@ -19,7 +22,6 @@
19
22
  cursor: col-resize;
20
23
  }
21
24
 
22
-
23
25
  &.#{$state}horizontal {
24
26
  height: 5px;
25
27
  cursor: row-resize;
@@ -39,6 +41,6 @@
39
41
  }
40
42
  }
41
43
 
42
- @if (cx-should-include('cx/widgets/Resizer')) {
44
+ @if (cx-should-include("cx/widgets/Resizer")) {
43
45
  @include cx-resizer();
44
- }
46
+ }
@@ -1,56 +1,53 @@
1
- @use "sass:map";
2
-
3
- @mixin cx-section(
4
- $name: 'section',
5
- $mods: $cx-section-mods,
6
- $besm: $cx-besm
7
- ) {
8
-
9
- $block: map.get($besm, block);
10
- $element: map.get($besm, element);
11
- $state: map.get($besm, state);
12
- $mod: map.get($besm, mod);
13
-
14
- .#{$block}#{$name} {
15
- flex-direction: column;
16
- display: flex;
17
- box-sizing: border-box;
18
-
19
- @include cx-add-rules($cx-section-styles);
20
-
21
- @each $modname, $config in $mods {
22
- &.#{$mod}#{$modname} {
23
- @include cx-add-state-rules($config, default);
24
- }
25
- }
26
-
27
- }
28
-
29
- .#{$element}#{$name}-header {
30
- margin: 0 1.5rem;
31
- padding: 1rem 0;
32
- box-sizing: border-box;
33
- border-bottom: 1px solid rgba(128, 128, 128, 0.3);
34
- }
35
-
36
- .#{$element}#{$name}-body {
37
- flex: 1 1 auto;
38
- box-sizing: border-box;
39
- overflow: auto;
40
-
41
- .#{$state}pad > & {
42
- padding: 1rem 1.5rem;
43
- }
44
- }
45
-
46
- .#{$element}#{$name}-footer {
47
- margin: 0 1.5rem;
48
- padding: 1rem 0;
49
- box-sizing: border-box;
50
- border-top: 1px solid rgba(128, 128, 128, 0.3);
51
- }
52
- }
53
-
54
- @if (cx-should-include('cx/widgets/Section')) {
55
- @include cx-section();
56
- }
1
+ @use "sass:map";
2
+ @use "sass:math";
3
+ @use "./maps" as *;
4
+ @use "../util/scss/add-rules.scss" as *;
5
+ @use "../util/scss/clockwise.scss" as *;
6
+ @use "../util/scss/besm.scss" as *;
7
+ @use "../util/scss/include.scss" as *;
8
+ @use "./variables" as *;
9
+
10
+ @mixin cx-section($name: "section", $mods: $cx-section-mods, $besm: $cx-besm) {
11
+ $block: map.get($besm, block);
12
+ $element: map.get($besm, element);
13
+ $state: map.get($besm, state);
14
+ $mod: map.get($besm, mod);
15
+
16
+ .#{$block}#{$name} {
17
+ flex-direction: column;
18
+ display: flex;
19
+ box-sizing: border-box;
20
+
21
+ @include cx-add-rules($cx-section-styles);
22
+
23
+ @each $modname, $config in $mods {
24
+ &.#{$mod}#{$modname} {
25
+ @include cx-add-state-rules($config, default);
26
+ }
27
+ }
28
+ }
29
+
30
+ .#{$element}#{$name}-header {
31
+ box-sizing: border-box;
32
+ @include cx-add-state-rules($cx-section-header-state-style-map, default);
33
+ }
34
+
35
+ .#{$element}#{$name}-body {
36
+ flex: 1 1 auto;
37
+ box-sizing: border-box;
38
+ overflow: auto;
39
+
40
+ .#{$state}pad > & {
41
+ @include cx-add-state-rules($cx-section-body-state-style-map, default);
42
+ }
43
+ }
44
+
45
+ .#{$element}#{$name}-footer {
46
+ box-sizing: border-box;
47
+ @include cx-add-state-rules($cx-section-footer-state-style-map, default);
48
+ }
49
+ }
50
+
51
+ @if (cx-should-include("cx/widgets/Section")) {
52
+ @include cx-section();
53
+ }
@@ -1,4 +1,6 @@
1
- @if cx-call-once('cx/widgets/animations') {
1
+ @use "../util/scss/call-once" as *;
2
+
3
+ @if cx-call-once("cx/widgets/animations") {
2
4
  @keyframes cx-rotate {
3
5
  from {
4
6
  transform: rotate(0);
@@ -8,4 +10,4 @@
8
10
  transform: rotate(360deg);
9
11
  }
10
12
  }
11
- }
13
+ }
@@ -0,0 +1,47 @@
1
+ //
2
+ // Boxes
3
+ // -----
4
+ //
5
+ // Boxes are inline-block elements which are likely to appear in the same row, such as buttons and form elements.
6
+ // These elements should have the same height in order to avoid problems when put together in a toolbar
7
+ // or a complex form.
8
+ //
9
+ // To ensure the height consistency, all box models should use the same line-height, top/bottom padding and border-width;
10
+ //
11
+ // For elements which do not have a natural border, such as checkboxes, radios and buttons,
12
+ // border-color should be set to transparent.
13
+ //
14
+ // box height = line-height + padding-top + padding-bottom + border-width-top + border-width-bottom
15
+ //
16
+ // Some browsers do not respect the line-height being set and therefore explicit height value is
17
+ // calculated and set on all box elements.
18
+ //
19
+ // Hint: Use em units to make the box height grow with the font-size, but note that the elements
20
+ // will not be aligned in case of pixel boundaries and icons may appear blurry in some desktop browsers.
21
+ //
22
+
23
+ @use "../util/scss/clockwise.scss" as *;
24
+
25
+ $cx-default-box-font-size: 13px !default;
26
+ $cx-default-box-font-family: inherit !default;
27
+ $cx-default-box-line-height: 16px !default;
28
+
29
+ // Box padding - individual values for full control
30
+ $cx-default-box-padding: 5px !default;
31
+ $cx-default-box-padding-top: cx-top($cx-default-box-padding) !default;
32
+ $cx-default-box-padding-right: cx-right($cx-default-box-padding) !default;
33
+ $cx-default-box-padding-bottom: cx-bottom($cx-default-box-padding) !default;
34
+ $cx-default-box-padding-left: cx-left($cx-default-box-padding) !default;
35
+
36
+ // Box border width - individual values for full control
37
+ $cx-default-box-border-width: 1px !default;
38
+ $cx-default-box-border-width-top: cx-top($cx-default-box-border-width) !default;
39
+ $cx-default-box-border-width-right: cx-right($cx-default-box-border-width) !default;
40
+ $cx-default-box-border-width-bottom: cx-bottom($cx-default-box-border-width) !default;
41
+ $cx-default-box-border-width-left: cx-left($cx-default-box-border-width) !default;
42
+
43
+ //Icons
44
+ $cx-default-icon-size: 16px !default;
45
+
46
+ // Empty Texts
47
+ $cx-default-empty-text-color: rgba(128, 128, 128, 0.7) !default;
@@ -1,7 +1,16 @@
1
1
  @use "sass:map";
2
+ @use "sass:math";
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/deep-merge.scss" as *;
8
+ @use "../../util/scss/calc.scss" as *;
9
+ @use "../../util/scss/besm.scss" as *;
10
+ @use "../../util/scss/include.scss" as *;
2
11
 
3
12
  @mixin cx-dragclone(
4
- $name: 'dragclone',
13
+ $name: "dragclone",
5
14
  $style: $cx-dragclone-style,
6
15
  $besm: $cx-besm
7
16
  ) {
@@ -11,7 +20,6 @@
11
20
  $mod: map.get($besm, mod);
12
21
 
13
22
  .#{$block}#{$name} {
14
-
15
23
  @include cx-add-rules($style);
16
24
 
17
25
  pointer-events: none;
@@ -31,6 +39,6 @@
31
39
  }
32
40
  }
33
41
 
34
- @if (cx-should-include('cx/widgets/DragClone')) {
42
+ @if (cx-should-include("cx/widgets/DragClone")) {
35
43
  @include cx-dragclone();
36
- }
44
+ }
@@ -1,9 +1,15 @@
1
1
  @use "sass:map";
2
+ @use "sass:math";
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/deep-merge.scss" as *;
8
+ @use "../../util/scss/calc.scss" as *;
9
+ @use "../../util/scss/besm.scss" as *;
10
+ @use "../../util/scss/include.scss" as *;
2
11
 
3
- @mixin cx-draghandle(
4
- $name: 'draghandle',
5
- $besm: $cx-besm
6
- ) {
12
+ @mixin cx-draghandle($name: "draghandle", $besm: $cx-besm) {
7
13
  $block: map.get($besm, block);
8
14
  $element: map.get($besm, element);
9
15
  $state: map.get($besm, state);
@@ -14,6 +20,6 @@
14
20
  }
15
21
  }
16
22
 
17
- @if (cx-should-include('cx/widgets/DragHandle')) {
23
+ @if (cx-should-include("cx/widgets/DragHandle")) {
18
24
  @include cx-draghandle();
19
- }
25
+ }
@@ -1,9 +1,15 @@
1
1
  @use "sass:map";
2
+ @use "sass:math";
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/deep-merge.scss" as *;
8
+ @use "../../util/scss/calc.scss" as *;
9
+ @use "../../util/scss/besm.scss" as *;
10
+ @use "../../util/scss/include.scss" as *;
2
11
 
3
- @mixin cx-dragsource(
4
- $name: 'dragsource',
5
- $besm: $cx-besm
6
- ) {
12
+ @mixin cx-dragsource($name: "dragsource", $besm: $cx-besm) {
7
13
  $block: map.get($besm, block);
8
14
  $element: map.get($besm, element);
9
15
  $state: map.get($besm, state);
@@ -22,6 +28,6 @@
22
28
  }
23
29
  }
24
30
 
25
- @if (cx-should-include('cx/widgets/DragSource')) {
31
+ @if (cx-should-include("cx/widgets/DragSource")) {
26
32
  @include cx-dragsource();
27
- }
33
+ }