cx 26.2.2 → 26.2.4

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 (335) 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/SnapPointFinder.d.ts +2 -2
  25. package/build/charts/helpers/SnapPointFinder.d.ts.map +1 -1
  26. package/build/charts/helpers/ValueAtFinder.d.ts +3 -3
  27. package/build/charts/helpers/ValueAtFinder.d.ts.map +1 -1
  28. package/build/data/StructuredSelector.js +3 -4
  29. package/build/data/createAccessorModelProxy.d.ts +6 -11
  30. package/build/data/createAccessorModelProxy.d.ts.map +1 -1
  31. package/build/data/createAccessorModelProxy.js +1 -3
  32. package/build/jsx-runtime.d.ts +2 -1
  33. package/build/jsx-runtime.d.ts.map +1 -1
  34. package/build/svg/Ellipse.d.ts +5 -4
  35. package/build/svg/Ellipse.d.ts.map +1 -1
  36. package/build/svg/Ellipse.js +9 -6
  37. package/build/svg/Line.d.ts +1 -0
  38. package/build/svg/Line.d.ts.map +1 -1
  39. package/build/svg/Line.js +4 -1
  40. package/build/svg/Text.d.ts +12 -6
  41. package/build/svg/Text.d.ts.map +1 -1
  42. package/build/svg/Text.js +12 -4
  43. package/build/ui/Controller.d.ts +2 -0
  44. package/build/ui/Controller.d.ts.map +1 -1
  45. package/build/ui/Controller.js +3 -0
  46. package/build/ui/HoverSync.d.ts.map +1 -1
  47. package/build/ui/HoverSync.js +7 -2
  48. package/build/ui/Prop.d.ts +1 -1
  49. package/build/ui/Prop.d.ts.map +1 -1
  50. package/build/ui/Text.d.ts +3 -3
  51. package/build/ui/Text.d.ts.map +1 -1
  52. package/build/ui/Text.js +5 -5
  53. package/build/ui/adapter/GroupAdapter.d.ts.map +1 -1
  54. package/build/ui/adapter/GroupAdapter.js +20 -10
  55. package/build/ui/app/History.js +1 -1
  56. package/build/ui/createFunctionalComponent.d.ts +4 -1
  57. package/build/ui/createFunctionalComponent.d.ts.map +1 -1
  58. package/build/widgets/List.d.ts.map +1 -1
  59. package/build/widgets/List.js +6 -7
  60. package/build/widgets/drag-drop/DropZone.d.ts +3 -3
  61. package/build/widgets/drag-drop/DropZone.d.ts.map +1 -1
  62. package/build/widgets/form/Calendar.d.ts.map +1 -1
  63. package/build/widgets/form/Calendar.js +30 -11
  64. package/build/widgets/form/ColorField.d.ts.map +1 -1
  65. package/build/widgets/form/ColorField.js +16 -7
  66. package/build/widgets/form/DateTimeField.d.ts.map +1 -1
  67. package/build/widgets/form/DateTimeField.js +23 -10
  68. package/build/widgets/form/Field.d.ts +2 -0
  69. package/build/widgets/form/Field.d.ts.map +1 -1
  70. package/build/widgets/form/Field.js +11 -5
  71. package/build/widgets/form/LookupField.d.ts +1 -1
  72. package/build/widgets/form/LookupField.d.ts.map +1 -1
  73. package/build/widgets/form/LookupField.js +6 -6
  74. package/build/widgets/form/MonthField.d.ts.map +1 -1
  75. package/build/widgets/form/MonthField.js +15 -7
  76. package/build/widgets/form/MonthPicker.d.ts +1 -2
  77. package/build/widgets/form/MonthPicker.d.ts.map +1 -1
  78. package/build/widgets/form/MonthPicker.js +84 -41
  79. package/build/widgets/form/NumberField.d.ts +2 -0
  80. package/build/widgets/form/NumberField.d.ts.map +1 -1
  81. package/build/widgets/form/NumberField.js +45 -15
  82. package/build/widgets/form/TextField.d.ts +1 -9
  83. package/build/widgets/form/TextField.d.ts.map +1 -1
  84. package/build/widgets/form/TextField.js +1 -1
  85. package/build/widgets/form/TimeList.d.ts +3 -1
  86. package/build/widgets/form/TimeList.d.ts.map +1 -1
  87. package/build/widgets/grid/Grid.d.ts +2 -2
  88. package/build/widgets/grid/Grid.d.ts.map +1 -1
  89. package/build/widgets/grid/Grid.js +14 -11
  90. package/build/widgets/grid/Pagination.d.ts.map +1 -1
  91. package/build/widgets/grid/Pagination.js +4 -4
  92. package/build/widgets/grid/TreeNode.d.ts.map +1 -1
  93. package/build/widgets/grid/TreeNode.js +10 -2
  94. package/build/widgets/icons/folder.d.ts.map +1 -1
  95. package/build/widgets/icons/folder.js +1 -0
  96. package/build/widgets/icons/forward.d.ts.map +1 -1
  97. package/build/widgets/icons/forward.js +4 -3
  98. package/build/widgets/icons/loading.d.ts.map +1 -1
  99. package/build/widgets/icons/loading.js +6 -5
  100. package/build/widgets/icons/square.d.ts.map +1 -1
  101. package/build/widgets/icons/square.js +3 -3
  102. package/build/widgets/index.d.ts +3 -1
  103. package/build/widgets/index.d.ts.map +1 -1
  104. package/build/widgets/index.js +3 -1
  105. package/build/widgets/overlay/ContextMenu.d.ts.map +1 -1
  106. package/build/widgets/overlay/ContextMenu.js +2 -0
  107. package/build/widgets/overlay/Dropdown.d.ts +2 -1
  108. package/build/widgets/overlay/Dropdown.d.ts.map +1 -1
  109. package/build/widgets/overlay/Dropdown.js +75 -20
  110. package/build/widgets/overlay/MsgBox.d.ts +1 -0
  111. package/build/widgets/overlay/MsgBox.d.ts.map +1 -1
  112. package/build/widgets/overlay/MsgBox.js +2 -2
  113. package/build/widgets/overlay/Overlay.d.ts +32 -2
  114. package/build/widgets/overlay/Overlay.d.ts.map +1 -1
  115. package/build/widgets/overlay/Overlay.js +47 -16
  116. package/build/widgets/overlay/Toast.d.ts +1 -1
  117. package/build/widgets/overlay/Toast.d.ts.map +1 -1
  118. package/build/widgets/overlay/Toast.js +4 -1
  119. package/build/widgets/overlay/Tooltip.d.ts +6 -0
  120. package/build/widgets/overlay/Tooltip.d.ts.map +1 -1
  121. package/build/widgets/overlay/Tooltip.js +24 -9
  122. package/build/widgets/overlay/Window.d.ts.map +1 -1
  123. package/build/widgets/overlay/Window.js +24 -9
  124. package/dist/charts.css +325 -272
  125. package/dist/charts.js +11 -5
  126. package/dist/data.js +2 -2
  127. package/dist/manifest.js +853 -841
  128. package/dist/svg.css +14 -8
  129. package/dist/svg.js +9 -1
  130. package/dist/ui.js +29 -16
  131. package/dist/widgets.css +997 -294
  132. package/dist/widgets.js +319 -126
  133. package/package.json +1 -1
  134. package/src/charts/Bar.scss +13 -10
  135. package/src/charts/BarGraph.scss +31 -29
  136. package/src/charts/BubbleGraph.scss +11 -8
  137. package/src/charts/Chart.ts +5 -3
  138. package/src/charts/Column.scss +13 -10
  139. package/src/charts/ColumnBarBase.tsx +255 -230
  140. package/src/charts/ColumnGraph.scss +13 -11
  141. package/src/charts/Gridlines.scss +10 -8
  142. package/src/charts/Legend.scss +57 -50
  143. package/src/charts/Legend.tsx +257 -213
  144. package/src/charts/LegendEntry.scss +35 -29
  145. package/src/charts/LineGraph.scss +28 -25
  146. package/src/charts/Marker.scss +12 -10
  147. package/src/charts/Marker.tsx +3 -2
  148. package/src/charts/MarkerLine.scss +11 -8
  149. package/src/charts/MarkerLine.tsx +196 -177
  150. package/src/charts/PieChart.scss +12 -9
  151. package/src/charts/PieChart.tsx +717 -591
  152. package/src/charts/PieLabel.tsx +99 -81
  153. package/src/charts/Range.scss +11 -8
  154. package/src/charts/RangeMarker.tsx +204 -187
  155. package/src/charts/ScatterGraph.scss +12 -9
  156. package/src/charts/axis/Axis.scss +6 -5
  157. package/src/charts/axis/CategoryAxis.scss +10 -8
  158. package/src/charts/axis/NumericAxis.scss +9 -6
  159. package/src/charts/axis/TimeAxis.scss +9 -6
  160. package/src/charts/axis/TimeAxis.tsx +753 -637
  161. package/src/charts/axis/index.scss +4 -5
  162. package/src/charts/axis/variables.scss +4 -2
  163. package/src/charts/helpers/SnapPointFinder.ts +136 -136
  164. package/src/charts/helpers/ValueAtFinder.ts +72 -72
  165. package/src/charts/index.scss +16 -19
  166. package/src/charts/maps.scss +0 -0
  167. package/src/charts/palette.scss +11 -31
  168. package/src/charts/palette.variables.scss +23 -0
  169. package/src/charts/variables.scss +35 -3
  170. package/src/data/StructuredSelector.ts +2 -2
  171. package/src/data/createAccessorModelProxy.ts +66 -74
  172. package/src/index.scss +5 -6
  173. package/src/jsx-runtime.ts +2 -1
  174. package/src/maps.scss +5 -0
  175. package/src/svg/Ellipse.tsx +62 -55
  176. package/src/svg/Line.tsx +57 -42
  177. package/src/svg/Svg.scss +6 -6
  178. package/src/svg/Text.scss +19 -0
  179. package/src/svg/Text.tsx +172 -116
  180. package/src/svg/index.scss +3 -2
  181. package/src/svg/maps.scss +0 -0
  182. package/src/svg/variables.scss +0 -0
  183. package/src/ui/Container.spec.ts +59 -0
  184. package/src/ui/Controller.spec.tsx +30 -0
  185. package/src/ui/Controller.ts +5 -0
  186. package/src/ui/HoverSync.tsx +179 -147
  187. package/src/ui/Prop.ts +1 -1
  188. package/src/ui/Text.ts +12 -9
  189. package/src/ui/adapter/GroupAdapter.spec.ts +42 -0
  190. package/src/ui/adapter/GroupAdapter.ts +25 -14
  191. package/src/ui/app/History.ts +1 -1
  192. package/src/ui/createFunctionalComponent.spec.tsx +55 -0
  193. package/src/ui/createFunctionalComponent.ts +12 -2
  194. package/src/ui/index.scss +1 -1
  195. package/src/ui/layout/LabelsLeftLayout.scss +5 -7
  196. package/src/ui/layout/LabelsTopLayout.scss +4 -6
  197. package/src/ui/layout/index.scss +2 -3
  198. package/src/ui/maps.scss +0 -0
  199. package/src/ui/variables.scss +1 -2
  200. package/src/util/index.scss +4 -2
  201. package/src/util/maps.scss +1 -0
  202. package/src/util/scss/besm.scss +15 -0
  203. package/src/util/scss/calc.scss +103 -11
  204. package/src/util/scss/defaults.scss +24 -0
  205. package/src/util/scss/elements.scss +78 -0
  206. package/src/util/scss/global.scss +15 -0
  207. package/src/util/scss/include.scss +17 -9
  208. package/src/util/scss/index.scss +1 -9
  209. package/src/util/scss/maps.scss +2 -0
  210. package/src/util/scss/pad-size.scss +9 -0
  211. package/src/util/scss/padding.scss +6 -0
  212. package/src/util/scss/screen-size.scss +5 -0
  213. package/src/util/scss/variables.scss +6 -0
  214. package/src/util/variables.scss +1 -0
  215. package/src/variables.scss +5 -217
  216. package/src/widgets/Button.maps.scss +103 -0
  217. package/src/widgets/Button.scss +33 -9
  218. package/src/widgets/Button.variables.scss +8 -104
  219. package/src/widgets/CxCredit.scss +2 -0
  220. package/src/widgets/FlexBox.scss +16 -11
  221. package/src/widgets/Heading.scss +6 -0
  222. package/src/widgets/HighlightedSearchText.scss +8 -1
  223. package/src/widgets/Icon.scss +6 -0
  224. package/src/widgets/List.scss +7 -0
  225. package/src/widgets/List.tsx +6 -7
  226. package/src/widgets/ProgressBar.scss +9 -0
  227. package/src/widgets/Resizer.scss +9 -7
  228. package/src/widgets/Section.scss +53 -56
  229. package/src/widgets/animations.scss +4 -2
  230. package/src/widgets/box.scss +47 -0
  231. package/src/widgets/drag-drop/DragClone.scss +12 -4
  232. package/src/widgets/drag-drop/DragHandle.scss +12 -6
  233. package/src/widgets/drag-drop/DragSource.scss +12 -6
  234. package/src/widgets/drag-drop/DropZone.scss +9 -0
  235. package/src/widgets/drag-drop/DropZone.tsx +3 -3
  236. package/src/widgets/drag-drop/index.scss +4 -4
  237. package/src/widgets/drag-drop/maps.scss +7 -0
  238. package/src/widgets/drag-drop/variables.scss +8 -5
  239. package/src/widgets/form/Calendar.maps.scss +54 -0
  240. package/src/widgets/form/Calendar.scss +49 -11
  241. package/src/widgets/form/Calendar.tsx +755 -653
  242. package/src/widgets/form/Calendar.variables.scss +3 -46
  243. package/src/widgets/form/Checkbox.maps.scss +34 -0
  244. package/src/widgets/form/Checkbox.scss +14 -3
  245. package/src/widgets/form/Checkbox.variables.scss +4 -36
  246. package/src/widgets/form/ColorField.scss +21 -2
  247. package/src/widgets/form/ColorField.tsx +485 -431
  248. package/src/widgets/form/ColorPicker.maps.scss +21 -0
  249. package/src/widgets/form/ColorPicker.scss +26 -9
  250. package/src/widgets/form/ColorPicker.variables.scss +3 -16
  251. package/src/widgets/form/DateTimeField.scss +54 -21
  252. package/src/widgets/form/DateTimeField.tsx +697 -615
  253. package/src/widgets/form/DateTimePicker.scss +14 -4
  254. package/src/widgets/form/Field.maps.scss +122 -0
  255. package/src/widgets/form/Field.scss +54 -18
  256. package/src/widgets/form/Field.tsx +611 -504
  257. package/src/widgets/form/Field.variables.scss +46 -0
  258. package/src/widgets/form/HelpText.scss +8 -5
  259. package/src/widgets/form/Label.scss +10 -3
  260. package/src/widgets/form/LookupField.maps.scss +26 -0
  261. package/src/widgets/form/LookupField.scss +54 -24
  262. package/src/widgets/form/LookupField.tsx +25 -21
  263. package/src/widgets/form/MonthField.scss +48 -26
  264. package/src/widgets/form/MonthField.tsx +645 -567
  265. package/src/widgets/form/MonthPicker.maps.scss +50 -0
  266. package/src/widgets/form/MonthPicker.scss +44 -35
  267. package/src/widgets/form/MonthPicker.tsx +954 -724
  268. package/src/widgets/form/MonthPicker.variables.scss +24 -0
  269. package/src/widgets/form/NumberField.scss +19 -2
  270. package/src/widgets/form/NumberField.tsx +576 -466
  271. package/src/widgets/form/Radio.maps.scss +36 -0
  272. package/src/widgets/form/Radio.scss +12 -2
  273. package/src/widgets/form/Radio.variables.scss +3 -42
  274. package/src/widgets/form/Select.scss +25 -9
  275. package/src/widgets/form/Slider.scss +23 -14
  276. package/src/widgets/form/Switch.scss +18 -8
  277. package/src/widgets/form/TextArea.scss +14 -1
  278. package/src/widgets/form/TextField.scss +24 -3
  279. package/src/widgets/form/TextField.tsx +9 -21
  280. package/src/widgets/form/UploadButton.scss +14 -6
  281. package/src/widgets/form/ValidationError.scss +10 -6
  282. package/src/widgets/form/Wheel.scss +14 -4
  283. package/src/widgets/form/index.scss +22 -24
  284. package/src/widgets/form/maps.scss +81 -0
  285. package/src/widgets/form/variables.scss +111 -355
  286. package/src/widgets/grid/Grid.scss +19 -2
  287. package/src/widgets/grid/Grid.spec.ts +42 -0
  288. package/src/widgets/grid/Grid.tsx +18 -13
  289. package/src/widgets/grid/Pagination.scss +11 -2
  290. package/src/widgets/grid/Pagination.tsx +110 -102
  291. package/src/widgets/grid/TreeNode.scss +25 -8
  292. package/src/widgets/grid/TreeNode.tsx +127 -116
  293. package/src/widgets/grid/index.scss +3 -4
  294. package/src/widgets/grid/maps.scss +110 -0
  295. package/src/widgets/grid/variables.scss +48 -137
  296. package/src/widgets/icons/folder.tsx +1 -2
  297. package/src/widgets/icons/forward.tsx +23 -20
  298. package/src/widgets/icons/loading.tsx +22 -19
  299. package/src/widgets/icons/square.tsx +20 -17
  300. package/src/widgets/index.scss +16 -16
  301. package/src/widgets/index.ts +63 -58
  302. package/src/widgets/lists.scss +42 -0
  303. package/src/widgets/maps.scss +139 -0
  304. package/src/widgets/nav/Link.scss +14 -1
  305. package/src/widgets/nav/Menu.scss +13 -7
  306. package/src/widgets/nav/Menu.variables.scss +1 -12
  307. package/src/widgets/nav/MenuItem.scss +21 -6
  308. package/src/widgets/nav/Scroller.scss +11 -2
  309. package/src/widgets/nav/Tab.maps.scss +78 -0
  310. package/src/widgets/nav/Tab.scss +12 -6
  311. package/src/widgets/nav/Tab.variables.scss +7 -76
  312. package/src/widgets/nav/cover.scss +6 -4
  313. package/src/widgets/nav/index.scss +6 -6
  314. package/src/widgets/nav/maps.scss +32 -0
  315. package/src/widgets/nav/variables.scss +4 -11
  316. package/src/widgets/overlay/ContextMenu.ts +3 -0
  317. package/src/widgets/overlay/Dropdown.scss +47 -16
  318. package/src/widgets/overlay/Dropdown.tsx +851 -676
  319. package/src/widgets/overlay/MsgBox.tsx +125 -111
  320. package/src/widgets/overlay/Overlay.scss +60 -40
  321. package/src/widgets/overlay/Overlay.tsx +948 -800
  322. package/src/widgets/overlay/Toast.scss +42 -34
  323. package/src/widgets/overlay/Toast.ts +11 -1
  324. package/src/widgets/overlay/Tooltip.scss +27 -96
  325. package/src/widgets/overlay/Tooltip.tsx +376 -309
  326. package/src/widgets/overlay/Window.maps.scss +51 -0
  327. package/src/widgets/overlay/Window.scss +17 -17
  328. package/src/widgets/overlay/Window.tsx +291 -236
  329. package/src/widgets/overlay/Window.variables.scss +2 -43
  330. package/src/widgets/overlay/index.d.ts +11 -11
  331. package/src/widgets/overlay/index.scss +6 -15
  332. package/src/widgets/overlay/maps.scss +44 -0
  333. package/src/widgets/overlay/variables.scss +11 -42
  334. package/src/widgets/variables.scss +33 -117
  335. package/src/global.scss +0 -14
@@ -35,7 +35,11 @@ export class TimeAxis extends Axis {
35
35
  }
36
36
  init() {
37
37
  if (this.labelAnchor == "auto")
38
- this.labelAnchor = this.vertical ? (this.secondary ? "start" : "end") : "start";
38
+ this.labelAnchor = this.vertical
39
+ ? this.secondary
40
+ ? "start"
41
+ : "end"
42
+ : "start";
39
43
  if (this.labelDx == "auto")
40
44
  this.labelDx = this.vertical ? 0 : "5px";
41
45
  if (this.deadZone) {
@@ -64,7 +68,9 @@ export class TimeAxis extends Axis {
64
68
  explore(context, instance) {
65
69
  super.explore(context, instance);
66
70
  let { min, max, normalized, inverted, lowerDeadZone, upperDeadZone } = instance.data;
67
- instance.calculator.reset(min, max, this.snapToTicks, this.tickDivisions, Math.max(1, this.minTickDistance), Math.max(1, this.minLabelDistance), normalized, inverted, this.minTickUnit, lowerDeadZone, upperDeadZone, this.decode, this.useLabelDistanceFormatOverrides ? this.minLabelDistanceFormatOverride : {}, this.format);
71
+ instance.calculator.reset(min, max, this.snapToTicks, this.tickDivisions, Math.max(1, this.minTickDistance), Math.max(1, this.minLabelDistance), normalized, inverted, this.minTickUnit, lowerDeadZone, upperDeadZone, this.decode, this.useLabelDistanceFormatOverrides
72
+ ? this.minLabelDistanceFormatOverride
73
+ : {}, this.format);
68
74
  }
69
75
  render(context, instance, key) {
70
76
  let { data, cached, calculator } = instance;
@@ -209,7 +215,8 @@ class TimeScale {
209
215
  case "week":
210
216
  return "datetime;MMMdd";
211
217
  case "day":
212
- if (new Date(scale.min).getFullYear() != new Date(scale.max).getFullYear() ||
218
+ if (new Date(scale.min).getFullYear() !=
219
+ new Date(scale.max).getFullYear() ||
213
220
  new Date(scale.min).getMonth() != new Date(scale.max).getMonth())
214
221
  return "monthOrDay";
215
222
  return TimeFormats.shortMonthDate;
@@ -224,13 +231,18 @@ class TimeScale {
224
231
  }
225
232
  }
226
233
  map(v, offset = 0) {
227
- return this.origin + (this.decodeValue(v) + offset - this.scale.min + this.scale.minPadding) * this.scale.factor;
234
+ return (this.origin +
235
+ (this.decodeValue(v) + offset - this.scale.min + this.scale.minPadding) *
236
+ this.scale.factor);
228
237
  }
229
238
  constrainValue(v) {
230
239
  return Math.max(this.scale.min, Math.min(this.scale.max, v));
231
240
  }
232
241
  trackValue(v, offset = 0, constrain = false) {
233
- let value = (v - this.origin) / this.scale.factor - offset + this.scale.min - this.scale.minPadding;
242
+ let value = (v - this.origin) / this.scale.factor -
243
+ offset +
244
+ this.scale.min -
245
+ this.scale.minPadding;
234
246
  if (constrain)
235
247
  value = this.constrainValue(value);
236
248
  return value;
@@ -304,8 +316,15 @@ class TimeScale {
304
316
  let minOffset = this.getTimezoneOffset(minDate);
305
317
  let maxOffset = this.getTimezoneOffset(maxDate);
306
318
  let mondayOffset = 4 * milliSeconds.day; //new Date(0).getDay() => 4
307
- smin = Math.floor((smin - minOffset - mondayOffset) / tickSize) * tickSize + minOffset + mondayOffset;
308
- smax = Math.ceil((smax - maxOffset - mondayOffset) / tickSize) * tickSize + maxOffset + mondayOffset;
319
+ smin =
320
+ Math.floor((smin - minOffset - mondayOffset) / tickSize) *
321
+ tickSize +
322
+ minOffset +
323
+ mondayOffset;
324
+ smax =
325
+ Math.ceil((smax - maxOffset - mondayOffset) / tickSize) * tickSize +
326
+ maxOffset +
327
+ mondayOffset;
309
328
  break;
310
329
  case "month":
311
330
  tickSize /= milliSeconds.month;
@@ -341,13 +360,24 @@ class TimeScale {
341
360
  //padding should be activated only if using min/max obtained from the data
342
361
  let minPadding = this.minValue === min ? Math.max(0, smin - this.minValuePadded) : 0;
343
362
  let maxPadding = this.maxValue === max ? Math.max(0, this.maxValuePadded - smax) : 0;
344
- let factor = smin < smax ? Math.abs(this.b - this.a) / (smax - smin + minPadding + maxPadding) : 0;
363
+ let factor = smin < smax
364
+ ? Math.abs(this.b - this.a) / (smax - smin + minPadding + maxPadding)
365
+ : 0;
345
366
  if (factor > 0 && (upperDeadZone > 0 || lowerDeadZone > 0)) {
346
367
  smin -= lowerDeadZone / factor;
347
368
  smax += upperDeadZone / factor;
348
- minPadding = this.minValuePadded != null ? Math.max(0, smin - this.minValuePadded) : 0;
349
- maxPadding = this.maxValuePadded != null ? Math.max(0, this.maxValuePadded - smax) : 0;
350
- factor = smin < smax ? Math.abs(this.b - this.a) / (smax - smin + minPadding + maxPadding) : 0;
369
+ minPadding =
370
+ this.minValuePadded != null
371
+ ? Math.max(0, smin - this.minValuePadded)
372
+ : 0;
373
+ maxPadding =
374
+ this.maxValuePadded != null
375
+ ? Math.max(0, this.maxValuePadded - smax)
376
+ : 0;
377
+ factor =
378
+ smin < smax
379
+ ? Math.abs(this.b - this.a) / (smax - smin + minPadding + maxPadding)
380
+ : 0;
351
381
  }
352
382
  let sign = this.b > this.a ? 1 : -1;
353
383
  return {
@@ -360,11 +390,13 @@ class TimeScale {
360
390
  }
361
391
  acknowledge(value, width = 0, offset = 0) {
362
392
  value = this.decodeValue(value);
363
- if (this.minValue == null || value + offset - width / 2 < this.minValuePadded) {
393
+ if (this.minValue == null ||
394
+ value + offset - width / 2 < this.minValuePadded) {
364
395
  this.minValue = value;
365
396
  this.minValuePadded = value + offset - width / 2;
366
397
  }
367
- if (this.maxValue == null || value + offset + width / 2 > this.maxValuePadded) {
398
+ if (this.maxValue == null ||
399
+ value + offset + width / 2 > this.maxValuePadded) {
368
400
  this.maxValue = value;
369
401
  this.maxValuePadded = value + offset + width / 2;
370
402
  }
@@ -418,9 +450,11 @@ class TimeScale {
418
450
  let tickSize = divs[d] * unitSize;
419
451
  let scale = this.getScale(null, unit, tickSize);
420
452
  let format = this.format ?? this.getFormat(unit, scale);
421
- let minLabelDistance = this.minLabelDistanceFormatOverride[format] ?? this.minLabelDistance;
453
+ let minLabelDistance = this.minLabelDistanceFormatOverride[format] ??
454
+ this.minLabelDistance;
422
455
  let labelDistance = tickSize * Math.abs(scale.factor);
423
- if (labelDistance >= minLabelDistance && labelDistance < bestLabelDistance) {
456
+ if (labelDistance >= minLabelDistance &&
457
+ labelDistance < bestLabelDistance) {
424
458
  bestScale = scale;
425
459
  bestTicks = divs.map((s) => s * unitSize);
426
460
  bestLabelDistance = labelDistance;
@@ -458,8 +492,11 @@ class TimeScale {
458
492
  lowerTickUnit = "second";
459
493
  break;
460
494
  }
461
- if (lowerTickUnit && this.minTickUnit && milliSeconds[lowerTickUnit] < milliSeconds[this.minTickUnit])
462
- lowerTickUnit = this.minTickUnit == this.tickMeasure ? null : this.minTickUnit;
495
+ if (lowerTickUnit &&
496
+ this.minTickUnit &&
497
+ milliSeconds[lowerTickUnit] < milliSeconds[this.minTickUnit])
498
+ lowerTickUnit =
499
+ this.minTickUnit == this.tickMeasure ? null : this.minTickUnit;
463
500
  if (lowerTickUnit != null && this.scale) {
464
501
  let bestMinorTickSize = Infinity;
465
502
  let divisions = this.tickDivisions[lowerTickUnit];
@@ -468,13 +505,18 @@ class TimeScale {
468
505
  let divs = divisions[i];
469
506
  for (let d = 0; d < divs.length; d++) {
470
507
  let tickSize = divs[d] * unitSize;
471
- if (tickSize * Math.abs(this.scale.factor) >= this.minTickDistance && tickSize < bestMinorTickSize) {
508
+ if (tickSize * Math.abs(this.scale.factor) >= this.minTickDistance &&
509
+ tickSize < bestMinorTickSize) {
472
510
  bestMinorTickSize = tickSize;
473
511
  }
474
512
  }
475
513
  }
476
514
  if (bestMinorTickSize != Infinity) {
477
- this.tickSizes.unshift({ size: bestMinorTickSize, measure: lowerTickUnit, noLabels: true });
515
+ this.tickSizes.unshift({
516
+ size: bestMinorTickSize,
517
+ measure: lowerTickUnit,
518
+ noLabels: true,
519
+ });
478
520
  if (this.tickSizes.length > 1) {
479
521
  let labelStep = this.tickSizes[1].size;
480
522
  let lowerScale = this.getScale(null, lowerTickUnit, minRange);
@@ -483,7 +525,9 @@ class TimeScale {
483
525
  }
484
526
  }
485
527
  }
486
- if (isNumber(this.snapToTicks) && this.snapToTicks >= 0 && this.tickSizes.length > 0) {
528
+ if (isNumber(this.snapToTicks) &&
529
+ this.snapToTicks >= 0 &&
530
+ this.tickSizes.length > 0) {
487
531
  let tickSize = this.tickSizes[Math.min(this.tickSizes.length - 1, this.snapToTicks)];
488
532
  this.scale = this.getScale(tickSize.size, tickSize.measure, minRange);
489
533
  }
@@ -532,7 +576,12 @@ class TimeScale {
532
576
  else {
533
577
  let minOffset = this.getTimezoneOffset(new Date(this.scale.min - this.scale.minPadding));
534
578
  let mondayOffset = 4 * milliSeconds.day;
535
- let date = Math.ceil((this.scale.min - this.scale.minPadding - minOffset - mondayOffset) / size) * size +
579
+ let date = Math.ceil((this.scale.min -
580
+ this.scale.minPadding -
581
+ minOffset -
582
+ mondayOffset) /
583
+ size) *
584
+ size +
536
585
  minOffset +
537
586
  mondayOffset;
538
587
  while (date <= this.scale.max + this.scale.maxPadding) {
@@ -27,9 +27,9 @@ export interface SnapPointFinderConfig extends PointReducerConfig {
27
27
  /** Cursor Y value */
28
28
  cursorY?: NumberProp;
29
29
  /** A binding used to receive the x value of the nearest point.*/
30
- snapX?: Bind | AccessorChain<number> | AccessorChain<string>;
30
+ snapX?: Bind | AccessorChain<number | null | undefined> | AccessorChain<string | null | undefined>;
31
31
  /** A binding used to receive the y value of the nearest point. */
32
- snapY?: Bind | AccessorChain<number> | AccessorChain<string>;
32
+ snapY?: Bind | AccessorChain<number | null | undefined> | AccessorChain<string | null | undefined>;
33
33
  /** A binding used to receive the record prop */
34
34
  snapRecord?: Prop<DataRecord>;
35
35
  /** Maximum distance between cursor and the snap point. Default value is 50. Adjust accordingly for large distances, e.g. set to Infinity when using TimeAxis */
@@ -1 +1 @@
1
- {"version":3,"file":"SnapPointFinder.d.ts","sourceRoot":"","sources":["../../../src/charts/helpers/SnapPointFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAC7D,MAAM,EAAE;QACL,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB,CAAC,eAAe,CAAC;IACnF,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC9D,sBAAsB;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,qBAAqB;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,iEAAiE;IACjE,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE7D,kEAAkE;IAClE,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE7D,gDAAgD;IAChD,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAE9B,gKAAgK;IAChK,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAE9C,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAE9C,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAgB,SAAQ,YAAY,CAAC,eAAe,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;gBAEV,MAAM,CAAC,EAAE,qBAAqB;IAI1C,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAW1B,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,uBAAuB;IAMpE,iBAAiB,GAAI,KAAK,eAAe,EAAE,wBAAwB,uBAAuB,UAYxF;IAEF,KAAK,GAAI,KAAK,eAAe,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,UAsBjE;IAEF,QAAQ,GAAI,KAAK,eAAe,EAAE,UAAU,oBAAoB,CAAC,eAAe,CAAC,UAI/E;CACJ"}
1
+ {"version":3,"file":"SnapPointFinder.d.ts","sourceRoot":"","sources":["../../../src/charts/helpers/SnapPointFinder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PointReducer, PointReducerConfig, PointReducerInstance, PointReducerAccumulator } from "./PointReducer";
2
- import { NumberProp, StringProp, Bind } from "../../ui/Prop";
2
+ import { Bind, Prop } from "../../ui/Prop";
3
3
  import { AccessorChain } from "../../data/createAccessorModelProxy";
4
4
  export interface ValueAtAccumulator extends PointReducerAccumulator {
5
5
  at: number;
@@ -16,9 +16,9 @@ export interface ValueAtAccumulator extends PointReducerAccumulator {
16
16
  }
17
17
  export interface ValueAtFinderConfig extends PointReducerConfig {
18
18
  /** X axis probe value. */
19
- at?: NumberProp | StringProp;
19
+ at?: Prop<string | number | null | undefined>;
20
20
  /** A binding used to receive the measured y axis value */
21
- value?: Bind | AccessorChain<number>;
21
+ value?: Bind | AccessorChain<number | null | undefined>;
22
22
  /** A function used to convert x values into numeric format. Commonly used with dates. */
23
23
  convert?: (value: number | string) => number;
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ValueAtFinder.d.ts","sourceRoot":"","sources":["../../../src/charts/helpers/ValueAtFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC5D,0BAA0B;IAC1B,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAE7B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAErC,yFAAyF;IACzF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED,oDAAoD;AACpD,qBAAa,aAAc,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IACxD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;gBAE5B,MAAM,CAAC,EAAE,mBAAmB;IAIxC,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAO1B,iBAAiB,GAAI,KAAK,kBAAkB,EAAE,UAAU,oBAAoB,CAAC,kBAAkB,CAAC,UAE9F;IAEF,KAAK,GAAI,KAAK,kBAAkB,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,MAAM,UAiB5D;IAEF,QAAQ,GAAI,KAAK,kBAAkB,EAAE,UAAU,oBAAoB,CAAC,kBAAkB,CAAC,UASrF;CACJ"}
1
+ {"version":3,"file":"ValueAtFinder.d.ts","sourceRoot":"","sources":["../../../src/charts/helpers/ValueAtFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAA0B,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC5D,0BAA0B;IAC1B,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAE9C,0DAA0D;IAC1D,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAExD,yFAAyF;IACzF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED,oDAAoD;AACpD,qBAAa,aAAc,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IACxD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;gBAE5B,MAAM,CAAC,EAAE,mBAAmB;IAIxC,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAO1B,iBAAiB,GAAI,KAAK,kBAAkB,EAAE,UAAU,oBAAoB,CAAC,kBAAkB,CAAC,UAE9F;IAEF,KAAK,GAAI,KAAK,kBAAkB,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,MAAM,UAiB5D;IAEF,QAAQ,GAAI,KAAK,kBAAkB,EAAE,UAAU,oBAAoB,CAAC,kBAAkB,CAAC,UASrF;CACJ"}
@@ -28,10 +28,9 @@ function getSelectorConfig(props, values, nameMap) {
28
28
  }
29
29
  else if (typeof v == "object") {
30
30
  if (v.bind) {
31
- if (isUndefined(v.defaultValue) && v != pv)
32
- v.defaultValue = defaultValue(pv);
33
- if (isDefined(v.defaultValue))
34
- defaultValues[v.bind] = v.defaultValue;
31
+ const dv = isDefined(v.defaultValue) ? v.defaultValue : (v != pv ? defaultValue(pv) : undefined);
32
+ if (isDefined(dv))
33
+ defaultValues[v.bind] = dv;
35
34
  nameMap[p] = v.bind;
36
35
  functions[p] = Binding.get(v.bind).value;
37
36
  constant = false;
@@ -1,19 +1,14 @@
1
- interface AccessorChainMethods {
2
- toString(): string;
3
- valueOf(): unknown;
4
- nameOf(): string;
5
- }
6
- type AccessorChainMap<M extends object> = {
7
- [prop in Exclude<keyof M, keyof AccessorChainMethods>]: AccessorChain<M[prop]>;
1
+ type AccessorChainMap<M> = {
2
+ [K in keyof M as Exclude<K, "toString" | "valueOf" | "nameOf">]-?: AccessorChain<M[K]>;
8
3
  };
9
4
  type IsAny<T> = 0 extends 1 & T ? true : false;
10
- export type AccessorChain<M> = {
5
+ export type AccessorChain<M> = (IsAny<M> extends true ? {
6
+ [key: string]: any;
7
+ } : [M] extends [object] ? AccessorChainMap<M> : [NonNullable<M>] extends [object] ? AccessorChainMap<NonNullable<M>> : {}) & {
11
8
  toString(): string;
12
9
  valueOf(): M | undefined;
13
10
  nameOf(): string;
14
- } & (IsAny<M> extends true ? {
15
- [key: string]: any;
16
- } : NonNullable<M> extends object ? AccessorChainMap<NonNullable<M>> : {});
11
+ };
17
12
  export declare function createAccessorModelProxy<M>(chain?: string): AccessorChain<M>;
18
13
  export declare const createModel: typeof createAccessorModelProxy;
19
14
  export declare function isAccessorChain<M>(value: unknown): value is AccessorChain<M>;
@@ -1 +1 @@
1
- {"version":3,"file":"createAccessorModelProxy.d.ts","sourceRoot":"","sources":["../../src/data/createAccessorModelProxy.ts"],"names":[],"mappings":"AAAA,UAAU,oBAAoB;IAC3B,QAAQ,IAAI,MAAM,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC;IACnB,MAAM,IAAI,MAAM,CAAC;CACnB;AAED,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;KACtC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,oBAAoB,CAAC,GAAG,aAAa,CAClE,CAAC,CAAC,IAAI,CAAC,CACT;CACH,CAAC;AAGF,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAE/C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC5B,QAAQ,IAAI,MAAM,CAAC;IACnB,OAAO,IAAI,CAAC,GAAG,SAAS,CAAC;IACzB,MAAM,IAAI,MAAM,CAAC;CACnB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GACrB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACtB,WAAW,CAAC,CAAC,CAAC,SAAS,MAAM,GAC3B,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAChC,EAAE,CAAC,CAAC;AAIX,wBAAgB,wBAAwB,CAAC,CAAC,EACvC,KAAK,GAAE,MAAW,GAClB,aAAa,CAAC,CAAC,CAAC,CAsClB;AAED,eAAO,MAAM,WAAW,iCAA2B,CAAC;AAEpD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAE5E"}
1
+ {"version":3,"file":"createAccessorModelProxy.d.ts","sourceRoot":"","sources":["../../src/data/createAccessorModelProxy.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACxF,CAAC;AAGF,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAE/C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAChD;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACtB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAClB,gBAAgB,CAAC,CAAC,CAAC,GACnB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAC/B,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAChC,EAAE,CAAC,GAAG;IACZ,QAAQ,IAAI,MAAM,CAAC;IACnB,OAAO,IAAI,CAAC,GAAG,SAAS,CAAC;IACzB,MAAM,IAAI,MAAM,CAAC;CACnB,CAAC;AAIF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,GAAE,MAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAoChF;AAED,eAAO,MAAM,WAAW,iCAA2B,CAAC;AAEpD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAE5E"}
@@ -24,9 +24,7 @@ export function createAccessorModelProxy(chain = "") {
24
24
  switch (lastOp) {
25
25
  case "nameOf":
26
26
  const lastDotIndex = chain.lastIndexOf(".");
27
- return lastDotIndex > 0
28
- ? chain.substring(lastDotIndex + 1)
29
- : chain;
27
+ return lastDotIndex > 0 ? chain.substring(lastDotIndex + 1) : chain;
30
28
  default:
31
29
  return chain;
32
30
  }
@@ -1,5 +1,6 @@
1
1
  import type { ComponentClass, FunctionComponent, JSX as ReactJSX } from "react";
2
2
  import type { CxFunctionalComponent } from "./ui/createFunctionalComponent";
3
+ import type { PureContainerConfig } from "./ui/PureContainer";
3
4
  import { Widget } from "./ui/Widget";
4
5
  import { HtmlElementConfig } from "./widgets/HtmlElement";
5
6
  import { ReactElementWrapperConfig } from "./widgets/ReactElementWrapper";
@@ -10,7 +11,7 @@ type ReactIntrinsicElements = ReactJSX.IntrinsicElements;
10
11
  type CxIntrinsicElements = {
11
12
  [K in keyof ReactIntrinsicElements]: HtmlElementConfig<K>;
12
13
  };
13
- type TransformReactComponentProps<C, P> = [C] extends [CxFunctionalComponent<any>] ? P : [C] extends [FunctionComponent<any>] ? ReactElementWrapperConfig<P> : [C] extends [ComponentClass<any>] ? ReactElementWrapperConfig<P> : P;
14
+ type TransformReactComponentProps<C, P> = [C] extends [CxFunctionalComponent<any>] ? P & Omit<PureContainerConfig, keyof P> : [C] extends [FunctionComponent<any>] ? ReactElementWrapperConfig<P> : [C] extends [ComponentClass<any>] ? ReactElementWrapperConfig<P> : P;
14
15
  export declare namespace JSX {
15
16
  /**
16
17
  * Base class for JSX element instances.
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAe,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAuB,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAG/F,eAAO,MAAM,QAAQ,eAA4B,CAAC;AAElD,wBAAgB,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAkChE;AAED,eAAO,MAAM,IAAI,YAAM,CAAC;AAExB,KAAK,sBAAsB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AAEzD,KAAK,mBAAmB,GAAG;KACvB,CAAC,IAAI,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAC3D,CAAC;AAKF,KAAK,4BAA4B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAC7E,CAAC,GACD,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAClC,yBAAyB,CAAC,CAAC,CAAC,GAC5B,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAC/B,yBAAyB,CAAC,CAAC,CAAC,GAC5B,CAAC,CAAC;AAEX,yBAAiB,GAAG,CAAC;IAClB;;;OAGG;IACH,KAAY,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEnE;;;OAGG;IACH,UAAiB,iBAAkB,SAAQ,mBAAmB;QAC3D,EAAE,EAAE,GAAG,CAAC;KACV;IAED;;;OAGG;IACH,KAAY,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAClF"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAe,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAuB,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAG/F,eAAO,MAAM,QAAQ,eAA4B,CAAC;AAElD,wBAAgB,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAkChE;AAED,eAAO,MAAM,IAAI,YAAM,CAAC;AAExB,KAAK,sBAAsB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AAEzD,KAAK,mBAAmB,GAAG;KACvB,CAAC,IAAI,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAC3D,CAAC;AAKF,KAAK,4BAA4B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAC7E,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,GACtC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAClC,yBAAyB,CAAC,CAAC,CAAC,GAC5B,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAC/B,yBAAyB,CAAC,CAAC,CAAC,GAC5B,CAAC,CAAC;AAEX,yBAAiB,GAAG,CAAC;IAClB;;;OAGG;IACH,KAAY,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEnE;;;OAGG;IACH,UAAiB,iBAAkB,SAAQ,mBAAmB;QAC3D,EAAE,EAAE,GAAG,CAAC;KACV;IAED;;;OAGG;IACH,KAAY,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAClF"}
@@ -1,8 +1,8 @@
1
1
  /**@jsxImportSource react */
2
- import { Instance } from '../ui/Instance';
3
- import { RenderingContext } from '../ui/RenderingContext';
4
- import { NumberProp, StringProp } from '../ui/Prop';
5
- import { TextualBoundedObject, TextualBoundedObjectConfig } from './TextualBoundedObject';
2
+ import { Instance } from "../ui/Instance";
3
+ import { RenderingContext } from "../ui/RenderingContext";
4
+ import { NumberProp, StringProp } from "../ui/Prop";
5
+ import { TextualBoundedObject, TextualBoundedObjectConfig } from "./TextualBoundedObject";
6
6
  export interface EllipseConfig extends TextualBoundedObjectConfig {
7
7
  /**
8
8
  * Index of the color in the default color palette. Setting this property will set
@@ -22,6 +22,7 @@ export declare class Ellipse extends TextualBoundedObject {
22
22
  colorIndex?: NumberProp;
23
23
  fill?: StringProp;
24
24
  stroke?: StringProp;
25
+ constructor(config?: EllipseConfig);
25
26
  declareData(...args: any[]): void;
26
27
  render(context: RenderingContext, instance: Instance, key: string): false | import("react/jsx-runtime").JSX.Element;
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipse.d.ts","sourceRoot":"","sources":["../../src/svg/Ellipse.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAE1F,MAAM,WAAW,aAAc,SAAQ,0BAA0B;IAC9D;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,qCAAqC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,OAAQ,SAAQ,oBAAoB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IAE5B,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAQ1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;CAwBnE"}
1
+ {"version":3,"file":"Ellipse.d.ts","sourceRoot":"","sources":["../../src/svg/Ellipse.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,aAAc,SAAQ,0BAA0B;IAC/D;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,qCAAqC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,OAAQ,SAAQ,oBAAoB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;gBAEhB,MAAM,CAAC,EAAE,aAAa;IAIlC,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAQ1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;CAwBlE"}
@@ -1,7 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Widget } from '../ui/Widget';
3
- import { TextualBoundedObject } from './TextualBoundedObject';
2
+ import { Widget } from "../ui/Widget";
3
+ import { TextualBoundedObject, } from "./TextualBoundedObject";
4
4
  export class Ellipse extends TextualBoundedObject {
5
+ constructor(config) {
6
+ super(config);
7
+ }
5
8
  declareData(...args) {
6
9
  super.declareData(...args, {
7
10
  colorIndex: undefined,
@@ -14,9 +17,9 @@ export class Ellipse extends TextualBoundedObject {
14
17
  const { bounds, colorIndex } = data;
15
18
  if (!bounds.valid())
16
19
  return false;
17
- return (_jsxs("g", { className: data.classNames, children: [_jsx("ellipse", { className: this.CSS.element(this.baseClass, 'rect', colorIndex != null && 'color-' + colorIndex), cx: (bounds.l + bounds.r) / 2, cy: (bounds.t + bounds.b) / 2, rx: bounds.width() / 2, ry: bounds.height() / 2, style: data.style, fill: data.fill, stroke: data.stroke }), this.renderChildren(context, instance)] }, key));
20
+ return (_jsxs("g", { className: data.classNames, children: [_jsx("ellipse", { className: this.CSS.element(this.baseClass, "rect", colorIndex != null && "color-" + colorIndex), cx: (bounds.l + bounds.r) / 2, cy: (bounds.t + bounds.b) / 2, rx: bounds.width() / 2, ry: bounds.height() / 2, style: data.style, fill: data.fill, stroke: data.stroke }), this.renderChildren(context, instance)] }, key));
18
21
  }
19
22
  }
20
- Ellipse.prototype.baseClass = 'ellipse';
21
- Ellipse.prototype.anchors = '0 1 1 0';
22
- Widget.alias('ellipse', Ellipse);
23
+ Ellipse.prototype.baseClass = "ellipse";
24
+ Ellipse.prototype.anchors = "0 1 1 0";
25
+ Widget.alias("ellipse", Ellipse);
@@ -19,6 +19,7 @@ export declare class Line extends TextualBoundedObject {
19
19
  baseClass: string;
20
20
  colorIndex?: NumberProp;
21
21
  stroke?: StringProp;
22
+ constructor(config?: LineConfig);
22
23
  declareData(...args: any[]): void;
23
24
  render(context: RenderingContext, instance: Instance & {
24
25
  colorIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Line.d.ts","sourceRoot":"","sources":["../../src/svg/Line.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAE1F,MAAM,WAAW,UAAW,SAAQ,0BAA0B;IAC3D;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,IAAK,SAAQ,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IAE5B,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAO1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,MAAM;CAkB5F"}
1
+ {"version":3,"file":"Line.d.ts","sourceRoot":"","sources":["../../src/svg/Line.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,UAAW,SAAQ,0BAA0B;IAC5D;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,IAAK,SAAQ,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;gBAEhB,MAAM,CAAC,EAAE,UAAU;IAI/B,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAO1B,MAAM,CACJ,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAC3C,GAAG,EAAE,MAAM;CAuBd"}
package/build/svg/Line.js CHANGED
@@ -1,7 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Widget } from "../ui/Widget";
3
- import { TextualBoundedObject } from "./TextualBoundedObject";
3
+ import { TextualBoundedObject, } from "./TextualBoundedObject";
4
4
  export class Line extends TextualBoundedObject {
5
+ constructor(config) {
6
+ super(config);
7
+ }
5
8
  declareData(...args) {
6
9
  super.declareData(...args, {
7
10
  colorIndex: undefined,
@@ -15,10 +15,14 @@ export interface TextConfig extends BoundedObjectConfig {
15
15
  * Set dy="0.8em" to align the text with the top and dy="0.4em" to center it vertically.
16
16
  */
17
17
  dy?: Prop<string | number>;
18
- /** Used for horizontal text alignment. Accepted values are `start`, `middle` and `end`. */
19
- textAnchor?: StringProp;
20
- /** Used for horizontal text alignment. Accepted values are `start`, `middle` and `end`. */
21
- ta?: StringProp;
18
+ /** Used for horizontal text alignment. */
19
+ textAnchor?: Prop<"start" | "middle" | "end">;
20
+ /** Shorthand for textAnchor. */
21
+ ta?: Prop<"start" | "middle" | "end">;
22
+ /** Used for vertical text alignment. */
23
+ dominantBaseline?: Prop<"auto" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "hanging" | "text-top">;
24
+ /** Shorthand for dominantBaseline. */
25
+ db?: Prop<"auto" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "hanging" | "text-top">;
22
26
  /** Sets text-body color. */
23
27
  fill?: StringProp;
24
28
  /** Sets text-outline color. */
@@ -36,8 +40,10 @@ export declare class Text extends BoundedObject<TextConfig> {
36
40
  expr?: string;
37
41
  dx?: Prop<string | number>;
38
42
  dy?: Prop<string | number>;
39
- textAnchor?: StringProp;
40
- ta?: StringProp;
43
+ textAnchor?: Prop<"start" | "middle" | "end">;
44
+ ta?: Prop<"start" | "middle" | "end">;
45
+ dominantBaseline?: Prop<"auto" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "hanging" | "text-top">;
46
+ db?: Prop<"auto" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "hanging" | "text-top">;
41
47
  fill?: StringProp;
42
48
  stroke?: StringProp;
43
49
  autoTextAnchor?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/svg/Text.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,mBAAmB;IACpD,4BAA4B;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAE3B;;;OAGG;IACH,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAE3B,2FAA2F;IAC3F,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,2FAA2F;IAC3F,EAAE,CAAC,EAAE,UAAU,CAAC;IAEhB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4HAA4H;IAC5H,cAAc,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,IAAK,SAAQ,aAAa,CAAC,UAAU,CAAC;gBACpC,MAAM,CAAC,EAAE,UAAU;IAIvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC3B,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEjC,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAW1B,IAAI;IAoBJ,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ;IAWrD,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;CAwBnE"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/svg/Text.tsx"],"names":[],"mappings":"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"}
package/build/svg/Text.js CHANGED
@@ -12,6 +12,7 @@ export class Text extends BoundedObject {
12
12
  dx: undefined,
13
13
  dy: undefined,
14
14
  textAnchor: undefined,
15
+ dominantBaseline: undefined,
15
16
  fill: undefined,
16
17
  stroke: undefined,
17
18
  });
@@ -19,6 +20,8 @@ export class Text extends BoundedObject {
19
20
  init() {
20
21
  if (this.ta)
21
22
  this.textAnchor = this.ta;
23
+ if (this.db)
24
+ this.dominantBaseline = this.db;
22
25
  if (this.bind) {
23
26
  this.value = {
24
27
  bind: this.bind,
@@ -39,7 +42,11 @@ export class Text extends BoundedObject {
39
42
  prepare(context, instance) {
40
43
  if (this.autoTextAnchor) {
41
44
  instance.textAnchor =
42
- context.textDirection == "right" ? "start" : context.textDirection == "left" ? "end" : this.textAnchor;
45
+ context.textDirection == "right"
46
+ ? "start"
47
+ : context.textDirection == "left"
48
+ ? "end"
49
+ : this.textAnchor;
43
50
  let changed = instance.cache("textAnchor", instance.textAnchor);
44
51
  if (changed)
45
52
  instance.markShouldUpdate(context);
@@ -49,12 +56,13 @@ export class Text extends BoundedObject {
49
56
  render(context, instance, key) {
50
57
  const { data } = instance;
51
58
  const { bounds } = data;
52
- let textAnchor = this.autoTextAnchor ? instance.textAnchor : data.textAnchor;
53
- return (_jsxs("text", { className: data.classNames, x: this.autoTextAnchor && textAnchor == "end" ? bounds.r : bounds.l, y: bounds.t, dx: data.dx, dy: data.dy, textAnchor: textAnchor, style: data.style, fill: data.fill, stroke: data.stroke, children: [data.value, this.renderChildren(context, instance)] }, key));
59
+ let textAnchor = this.autoTextAnchor
60
+ ? instance.textAnchor
61
+ : data.textAnchor;
62
+ return (_jsxs("text", { className: data.classNames, x: this.autoTextAnchor && textAnchor == "end" ? bounds.r : bounds.l, y: bounds.t, dx: data.dx, dy: data.dy, textAnchor: textAnchor, dominantBaseline: data.dominantBaseline, style: data.style, fill: data.fill, stroke: data.stroke, children: [data.value, this.renderChildren(context, instance)] }, key));
54
63
  }
55
64
  }
56
65
  Text.prototype.anchors = "0.5 0.5 0.5 0.5";
57
66
  Text.prototype.baseClass = "text";
58
67
  Text.prototype.autoTextAnchor = false;
59
- Text.prototype.autoAnchor = false;
60
68
  Widget.alias("svg.text", Text);
@@ -15,6 +15,7 @@ export interface ControllerMethods {
15
15
  instance: Instance;
16
16
  widget?: Widget;
17
17
  invokeParentMethod(method: string, ...args: any[]): any;
18
+ getParentControllerByType<T extends Controller>(type: new (...args: any[]) => T): T;
18
19
  addTrigger<Selectors extends readonly ComputableSelector[]>(name: string, args: [...Selectors], callback: (...values: {
19
20
  [K in keyof Selectors]: InferSelectorValue<Selectors[K]>;
20
21
  }) => any, autoRun?: boolean): void;
@@ -67,6 +68,7 @@ export declare class Controller<D = any> extends Component implements Controller
67
68
  removeComputable(name: string): void;
68
69
  invokeParentMethod(methodName: string, ...args: any[]): any;
69
70
  invokeMethod(methodName: string, ...args: any[]): any;
71
+ getParentControllerByType<T extends Controller>(type: new (...args: any[]) => T): T;
70
72
  }
71
73
  export {};
72
74
  //# sourceMappingURL=Controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../src/ui/Controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../src/ui/Controller.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,9 @@ export class Controller extends Component {
82
82
  invokeMethod(methodName, ...args) {
83
83
  return this.instance.invokeControllerMethod(methodName, ...args);
84
84
  }
85
+ getParentControllerByType(type) {
86
+ return this.instance.getControllerByType(type);
87
+ }
85
88
  }
86
89
  Controller.namespace = "ui.controller.";
87
90
  Controller.factory = function (alias, config, more) {
@@ -1 +1 @@
1
- {"version":3,"file":"HoverSync.d.ts","sourceRoot":"","sources":["../../src/ui/HoverSync.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAY7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEpD,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;CAAG;AAE/D,qBAAa,SAAU,SAAQ,iBAAiB,CAAC,eAAe,EAAE,QAAQ,CAAC;gBAC5D,MAAM,CAAC,EAAE,eAAe;IAGpC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAwBxC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAKnC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;CAG5C;AAoDD,wBAAgB,aAAa,CAC1B,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,SAAS,EAAE,GAAG,EACd,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,OAO7B;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,qBAAa,gBAAiB,SAAQ,mBAAmB,CAAC,sBAAsB,EAAE,QAAQ,CAAC;IAChF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;gBAEnB,MAAM,CAAC,EAAE,sBAAsB;IAI3C,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAQ1B,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAQvC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM;CA8BjD"}
1
+ {"version":3,"file":"HoverSync.d.ts","sourceRoot":"","sources":["../../src/ui/HoverSync.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAY7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEpD,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;CAAG;AAE/D,qBAAa,SAAU,SAAQ,iBAAiB,CAAC,eAAe,EAAE,QAAQ,CAAC;gBAC7D,MAAM,CAAC,EAAE,eAAe;IAGpC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAwBxC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAKnC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;CAG3C;AAkED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,SAAS,EAAE,GAAG,EACd,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,OAkB5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,qBAAa,gBAAiB,SAAQ,mBAAmB,CACvD,sBAAsB,EACtB,QAAQ,CACT;IACS,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;gBAEnB,MAAM,CAAC,EAAE,sBAAsB;IAI3C,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAQ1B,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAQvC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM;CAkChD"}
@@ -24,7 +24,7 @@ export class HoverSync extends PureContainerBase {
24
24
  let ch = channels[channel];
25
25
  if (!ch)
26
26
  return;
27
- let state = active && hoverId != null;
27
+ let state = active && hoverId != null ? hoverId : false;
28
28
  if (ch.state !== state && (ch.state === hoverId || active)) {
29
29
  ch.state = state;
30
30
  ch.subscribers.notify(state);
@@ -83,7 +83,12 @@ class HoverSyncChild extends VDOM.Component {
83
83
  }
84
84
  export function withHoverSync(key, hoverSync, hoverChannel, hoverId, render) {
85
85
  if (!hoverSync || !hoverChannel || hoverId == null)
86
- return render({ key, hover: false, onMouseLeave: dummyCallback, onMouseMove: dummyCallback });
86
+ return render({
87
+ key,
88
+ hover: false,
89
+ onMouseLeave: dummyCallback,
90
+ onMouseMove: dummyCallback,
91
+ });
87
92
  return (_jsx(HoverSyncChild, { hoverSync: hoverSync, hoverChannel: hoverChannel, hoverId: hoverId, render: render }, key));
88
93
  }
89
94
  export class HoverSyncElement extends StyledContainerBase {
@@ -72,7 +72,7 @@ export type StyleProp = Prop<string | React.CSSProperties> | StructuredProp;
72
72
  export type NumberProp = Prop<number>;
73
73
  export type BooleanProp = Prop<boolean>;
74
74
  export type ClassProp = Prop<string> | StructuredProp;
75
- export type RecordsProp = Prop<DataRecord[]>;
75
+ export type RecordsProp<T = any> = Prop<T[]>;
76
76
  export type SortersProp = Prop<Sorter[]>;
77
77
  export type UnknownProp = Prop<unknown>;
78
78
  export type ModProp = StringProp | StructuredProp;