cx 26.2.2 → 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 +14 -11
  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 +821 -809
  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 +319 -126
  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 +18 -13
  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
@@ -0,0 +1,46 @@
1
+ @use "../../util/scss/defaults.scss" as *;
2
+ @use "../../util/scss/clockwise.scss" as *;
3
+ @use "../../util/scss/calc.scss" as *;
4
+ @use "../box.scss" as *;
5
+
6
+ $cx-use-box-line-height-fix: true !default;
7
+
8
+ // Appearance
9
+ $cx-default-input-font-family: $cx-default-box-font-family !default;
10
+ $cx-default-input-font-size: $cx-default-box-font-size !default;
11
+ $cx-default-input-border-color: $cx-default-border-color !default;
12
+ $cx-default-input-border-radius: $cx-default-border-radius !default;
13
+ $cx-default-input-background-color: white !default;
14
+ $cx-default-input-color: black !default;
15
+ $cx-default-input-placeholder-color: $cx-default-empty-text-color !default;
16
+ $cx-default-input-width: 180px !default;
17
+ // Input padding - individual values for full control
18
+ $cx-default-input-padding: $cx-default-box-padding !default;
19
+ $cx-default-input-padding-top: cx-top($cx-default-input-padding) !default;
20
+ $cx-default-input-padding-right: cx-right($cx-default-input-padding) !default;
21
+ $cx-default-input-padding-bottom: cx-bottom($cx-default-input-padding) !default;
22
+ $cx-default-input-padding-left: cx-left($cx-default-input-padding) !default;
23
+
24
+ $cx-default-input-icon-size: $cx-default-icon-size !default;
25
+
26
+ $cx-default-radio-size: 14px !default;
27
+
28
+ // Tool
29
+ $cx-default-input-tool-size: $cx-default-box-line-height !default;
30
+ $cx-default-input-left-tool-spacing: $cx-default-box-padding-left !default;
31
+ $cx-default-input-right-tool-spacing: 1px !default;
32
+ $cx-default-input-left-tool-size: $cx-default-input-tool-size !default;
33
+ $cx-default-input-left-tool-left: cx-calc(
34
+ $cx-default-input-padding-top,
35
+ $cx-default-box-border-width-left
36
+ ) !default;
37
+ $cx-default-input-left-tool-border-radius: null !default;
38
+ $cx-default-input-right-tool-right: cx-calc(
39
+ $cx-default-input-padding-top,
40
+ $cx-default-box-border-width-right
41
+ ) !default;
42
+
43
+ // Clear Icon
44
+ $cx-default-clear-size: $cx-default-input-tool-size !default;
45
+ $cx-default-clear-color: #828282 !default;
46
+ $cx-default-clear-spacing: 1px !default; //additional padding on the left of the clear box
@@ -1,9 +1,12 @@
1
1
  @use "sass:map";
2
+ @use "sass:math";
3
+ @use "../../util/scss/add-rules.scss" as *;
4
+ @use "../../util/scss/clockwise.scss" as *;
5
+ @use "../../util/scss/deep-merge.scss" as *;
6
+ @use "../../util/scss/besm.scss" as *;
7
+ @use "../../util/scss/include.scss" as *;
2
8
 
3
- @mixin cx-helptext(
4
- $name: 'helptext',
5
- $besm: $cx-besm
6
- ) {
9
+ @mixin cx-helptext($name: "helptext", $besm: $cx-besm) {
7
10
  $block: map.get($besm, block);
8
11
  $element: map.get($besm, element);
9
12
  $state: map.get($besm, state);
@@ -19,6 +22,6 @@
19
22
  }
20
23
  }
21
24
 
22
- @if (cx-should-include('cx/widgets/HelpText')) {
25
+ @if (cx-should-include("cx/widgets/HelpText")) {
23
26
  @include cx-helptext();
24
27
  }
@@ -1,7 +1,14 @@
1
1
  @use "sass:map";
2
+ @use "sass:math";
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/clockwise.scss" as *;
8
+ @use "../../util/scss/include.scss" as *;
2
9
 
3
10
  @mixin cx-label(
4
- $name: 'label',
11
+ $name: "label",
5
12
  $state-style-map: $cx-label-state-style-map,
6
13
  $besm: $cx-besm
7
14
  ) {
@@ -33,6 +40,6 @@
33
40
  }
34
41
  }
35
42
 
36
- @if (cx-should-include('cx/widgets/Label')) {
43
+ @if (cx-should-include("cx/widgets/Label")) {
37
44
  @include cx-label();
38
- }
45
+ }
@@ -0,0 +1,26 @@
1
+ @use "../variables" as *;
2
+ @use "./Field.maps.scss" as *;
3
+ @use "../../util/scss/deep-merge.scss" as *;
4
+ @use "../../util/scss/calc.scss" as *;
5
+
6
+ $cx-input-tag-state-style-map: (
7
+ default: (
8
+ font-size: $cx-default-input-tag-font-size,
9
+ background-color: $cx-default-input-tag-background-color,
10
+ padding: $cx-default-input-tag-padding,
11
+ padding-right: cx-calc($cx-default-clear-size, 2px),
12
+ border-radius: $cx-default-input-tag-border-radius,
13
+ border-width: $cx-default-button-border-width,
14
+ border-style: solid,
15
+ border-color: $cx-default-button-border-color,
16
+ ),
17
+ ) !default;
18
+
19
+ $cx-input-tag-clear-state-style-map: cx-deep-map-merge(
20
+ $cx-clear-state-style-map,
21
+ (
22
+ default: (
23
+ right: cx-multiply($cx-default-input-tag-border-radius, 0.125),
24
+ ),
25
+ )
26
+ ) !default;
@@ -1,4 +1,13 @@
1
+ @use "sass:math";
1
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 *;
2
11
 
3
12
  @mixin cx-lookupfield(
4
13
  $name: "lookupfield",
@@ -19,7 +28,10 @@
19
28
  $state: map.get($besm, state);
20
29
 
21
30
  $padding: cx-get-state-rule($state-style-map, default, padding);
22
- $border-radius-offset: round(cx-get-state-rule($tag-state-style-map, default, border-radius) * 0.25);
31
+ $border-radius-offset: cx-multiply(
32
+ cx-get-state-rule($tag-state-style-map, default, border-radius),
33
+ 0.25
34
+ );
23
35
 
24
36
  .#{$block}#{$name} {
25
37
  cursor: pointer;
@@ -41,6 +53,11 @@
41
53
  padding-right: cx-right($padding);
42
54
  }
43
55
  }
56
+
57
+ // &::before {
58
+ // content: "\200B";
59
+ // pointer-events: none;
60
+ // }
44
61
  }
45
62
 
46
63
  .#{$element}#{$name}-input {
@@ -51,37 +68,60 @@
51
68
  $input: false,
52
69
  $overrides: (
53
70
  default: (
54
- height: 100%,
71
+ width: 100%,
72
+ display: inline-flex,
55
73
  text-overflow: null,
56
74
  padding: cx-top($padding)
57
- cx-calc(cx-right($padding), $cx-default-clear-size, $cx-default-input-tag-spacing) cx-bottom($padding)
58
- cx-left($padding),
75
+ cx-calc(
76
+ cx-right($padding),
77
+ $cx-default-clear-size,
78
+ $cx-default-input-tag-spacing
79
+ )
80
+ cx-bottom($padding) cx-left($padding),
59
81
  )
60
82
  )
61
83
  );
62
84
 
63
- .#{$state}multiple > & {
64
- padding: 0 cx-calc(cx-right($padding), $cx-default-clear-size, $cx-default-input-tag-spacing)
65
- $cx-default-input-tag-spacing 0;
66
- align-items: center;
67
- flex-wrap: wrap;
68
- display: flex;
69
- }
70
-
71
85
  .#{$state}single > & {
72
86
  overflow: hidden;
73
87
  text-overflow: ellipsis;
74
88
  white-space: nowrap;
75
- display: block;
76
89
  flex-basis: 0%;
77
90
  flex-grow: 1;
78
91
  }
79
92
 
80
93
  .#{$state}icon > & {
81
- padding-left: cx-calc(2 * cx-left($padding), $icon-size);
94
+ padding-left: cx-calc(
95
+ cx-left($padding),
96
+ $cx-default-input-left-tool-size,
97
+ $cx-default-input-left-tool-spacing
98
+ );
82
99
  }
83
100
  }
84
101
 
102
+ .#{$element}#{$name}-tags {
103
+ display: flex;
104
+ margin: cx-calc(
105
+ $cx-default-input-tag-spacing,
106
+ cx-multiply(cx-top($padding), -1)
107
+ )
108
+ cx-calc(
109
+ $cx-default-input-tag-spacing,
110
+ cx-multiply(cx-right($padding), -1)
111
+ )
112
+ cx-calc(
113
+ $cx-default-input-tag-spacing,
114
+ cx-multiply(cx-bottom($padding), -1)
115
+ )
116
+ cx-calc(
117
+ $cx-default-input-tag-spacing,
118
+ cx-multiply(cx-left($padding), -1)
119
+ );
120
+ align-items: center;
121
+ flex-wrap: wrap;
122
+ gap: $cx-default-input-tag-spacing;
123
+ }
124
+
85
125
  .#{$element}#{$name}-tag {
86
126
  display: inline-block;
87
127
  position: relative;
@@ -101,16 +141,6 @@
101
141
 
102
142
  .#{$element}#{$name}-placeholder {
103
143
  color: $cx-default-input-placeholder-color;
104
-
105
- .#{$block}#{$name}.#{$state}multiple & {
106
- display: inline-block;
107
- margin: $cx-default-input-tag-spacing 0 0 $cx-default-input-tag-spacing;
108
- box-sizing: border-box;
109
- padding: cx-calc(cx-top($cx-default-input-padding), -$cx-default-input-tag-spacing)
110
- cx-calc(cx-right($cx-default-input-padding), -$cx-default-input-tag-spacing)
111
- cx-calc(cx-bottom($cx-default-input-padding), -$cx-default-input-tag-spacing)
112
- cx-calc(cx-left($cx-default-input-padding), -$cx-default-input-tag-spacing);
113
- }
114
144
  }
115
145
 
116
146
  .#{$element}#{$name}-tag-value {
@@ -231,7 +231,7 @@ interface LookupFieldSingleProps {
231
231
  /** Single selection (default). */
232
232
  multiple?: false;
233
233
  /** Selected value. */
234
- value?: Prop<number | string>;
234
+ value?: Prop<number | string | null>;
235
235
  /** Text associated with the selection. */
236
236
  text?: StringProp;
237
237
  }
@@ -1067,30 +1067,34 @@ class LookupComponent extends VDOM.Component<
1067
1067
  widget.onGetRecordDisplayText ??
1068
1068
  ((record: Record<string, any>) =>
1069
1069
  record[widget.valueTextField] as string);
1070
- text = data.records.map((v, i) => (
1071
- <div
1072
- key={i}
1073
- className={CSS.element(baseClass, "tag", {
1074
- readonly: readOnly,
1075
- })}
1076
- >
1077
- <span className={CSS.element(baseClass, "tag-value")}>
1078
- {valueTextFormatter(v, instance)}
1079
- </span>
1080
- {!readOnly && (
1070
+ text = (
1071
+ <div className={CSS.element(baseClass, "tags")}>
1072
+ {data.records.map((v, i) => (
1081
1073
  <div
1082
- className={CSS.element(baseClass, "tag-clear")}
1083
- onMouseDown={(e) => {
1084
- e.preventDefault();
1085
- e.stopPropagation();
1086
- }}
1087
- onClick={(e) => this.onClearClick(e, v)}
1074
+ key={i}
1075
+ className={CSS.element(baseClass, "tag", {
1076
+ readonly: readOnly,
1077
+ })}
1088
1078
  >
1089
- <ClearIcon className={CSS.element(baseClass, "icon")} />
1079
+ <span className={CSS.element(baseClass, "tag-value")}>
1080
+ {valueTextFormatter(v, instance)}
1081
+ </span>
1082
+ {!readOnly && (
1083
+ <div
1084
+ className={CSS.element(baseClass, "tag-clear")}
1085
+ onMouseDown={(e) => {
1086
+ e.preventDefault();
1087
+ e.stopPropagation();
1088
+ }}
1089
+ onClick={(e) => this.onClearClick(e, v)}
1090
+ >
1091
+ <ClearIcon className={CSS.element(baseClass, "icon")} />
1092
+ </div>
1093
+ )}
1090
1094
  </div>
1091
- )}
1095
+ ))}
1092
1096
  </div>
1093
- ));
1097
+ );
1094
1098
  } else {
1095
1099
  text = this.getPlaceholder(data.placeholder);
1096
1100
  }
@@ -1,7 +1,17 @@
1
+ @use "sass:math";
1
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 *;
2
12
 
3
13
  @mixin cx-monthfield(
4
- $name: 'monthfield',
14
+ $name: "monthfield",
5
15
  $state-style-map: $cx-std-field-state-style-map,
6
16
  $placeholder: $cx-input-placeholder,
7
17
  $empty-text: $cx-empty-text,
@@ -17,14 +27,10 @@
17
27
  $state: map.get($besm, state);
18
28
 
19
29
  .#{$block}#{$name} {
20
- @include cxb-field(
21
- $besm,
22
- $state-style-map,
23
- $width: $width
24
- );
30
+ @include cxb-field($besm, $state-style-map, $width: $width);
25
31
  }
26
32
 
27
- $padding: cx-get-state-rule($state-style-map, default, 'padding');
33
+ $padding: cx-get-state-rule($state-style-map, default, "padding");
28
34
 
29
35
  .#{$element}#{$name}-input {
30
36
  @include cxe-field-input(
@@ -33,7 +39,18 @@
33
39
  $placeholder: $placeholder,
34
40
  $overrides: (
35
41
  default: (
36
- padding: cx-top($padding) cx-calc(cx-right($padding), $cx-default-clear-size) cx-bottom($padding) cx-calc(2 * cx-left($padding), $icon-size)
42
+ padding: cx-top($padding)
43
+ cx-calc(
44
+ cx-right($padding),
45
+ $cx-default-clear-size,
46
+ $cx-default-clear-spacing
47
+ )
48
+ cx-bottom($padding)
49
+ cx-calc(
50
+ cx-left($padding),
51
+ $cx-default-input-left-tool-size,
52
+ $cx-default-input-left-tool-spacing
53
+ ),
37
54
  )
38
55
  )
39
56
  );
@@ -43,30 +60,36 @@
43
60
  @include cxe-field-button($besm, $clear-state-style-map);
44
61
 
45
62
  .#{$state}focus > & {
46
- @include cx-add-state-rules($clear-state-style-map, focus);
63
+ @include cx-add-state-rules($clear-state-style-map, focus);
47
64
  }
48
- .#{$state}error > & {
49
- @include cx-add-state-rules($clear-state-style-map, error);
65
+ .#{$state}error > & {
66
+ @include cx-add-state-rules($clear-state-style-map, error);
50
67
  }
51
68
  }
52
69
 
53
70
  .#{$element}#{$name}-left-icon {
54
- @include cxe-field-button($besm, cx-deep-map-merge($left-icon-state-style-map, (
55
- default: (
56
- cursor: pointer
71
+ @include cxe-field-button(
72
+ $besm,
73
+ cx-deep-map-merge(
74
+ $left-icon-state-style-map,
75
+ (
76
+ default: (
77
+ cursor: pointer,
78
+ ),
79
+ )
57
80
  )
58
- )));
81
+ );
59
82
 
60
83
  .#{$state}disabled > & {
61
- @include cx-add-state-rules($state-style-map, disabled);
62
- border-width: 0;
84
+ @include cx-add-state-rules($state-style-map, disabled);
85
+ border-width: 0;
63
86
  }
64
87
 
65
88
  .#{$state}focus > & {
66
- @include cx-add-state-rules($left-icon-state-style-map, focus);
89
+ @include cx-add-state-rules($left-icon-state-style-map, focus);
67
90
  }
68
- .#{$state}error > & {
69
- @include cx-add-state-rules($left-icon-state-style-map, error);
91
+ .#{$state}error > & {
92
+ @include cx-add-state-rules($left-icon-state-style-map, error);
70
93
  }
71
94
  }
72
95
 
@@ -74,14 +97,14 @@
74
97
  @include cxe-field-button($besm, $right-icon-state-style-map);
75
98
 
76
99
  .#{$state}disabled > & {
77
- @include cx-add-state-rules($state-style-map, disabled);
78
- border-width: 0;
100
+ @include cx-add-state-rules($state-style-map, disabled);
101
+ border-width: 0;
79
102
  }
80
103
  .#{$state}focus > & {
81
- @include cx-add-state-rules($right-icon-state-style-map, focus);
104
+ @include cx-add-state-rules($right-icon-state-style-map, focus);
82
105
  }
83
106
  .#{$state}error > & {
84
- @include cx-add-state-rules($right-icon-state-style-map, error);
107
+ @include cx-add-state-rules($right-icon-state-style-map, error);
85
108
  }
86
109
  }
87
110
 
@@ -94,7 +117,6 @@
94
117
  }
95
118
  }
96
119
 
97
- @if (cx-should-include('cx/widgets/MonthField')) {
120
+ @if (cx-should-include("cx/widgets/MonthField")) {
98
121
  @include cx-monthfield();
99
122
  }
100
-