cx 26.1.13 → 26.2.0

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 (127) hide show
  1. package/build/charts/Marker.d.ts +1 -1
  2. package/build/charts/Marker.d.ts.map +1 -1
  3. package/build/charts/Marker.js +16 -6
  4. package/build/charts/MouseTracker.d.ts +2 -0
  5. package/build/charts/MouseTracker.d.ts.map +1 -1
  6. package/build/charts/helpers/PointReducer.d.ts +2 -2
  7. package/build/charts/helpers/PointReducer.d.ts.map +1 -1
  8. package/build/data/View.d.ts +5 -3
  9. package/build/data/View.d.ts.map +1 -1
  10. package/build/data/View.js +3 -1
  11. package/build/data/ops/findTreeNode.d.ts +20 -1
  12. package/build/data/ops/findTreeNode.d.ts.map +1 -1
  13. package/build/data/ops/findTreeNode.js +19 -0
  14. package/build/data/ops/findTreePath.d.ts +1 -1
  15. package/build/data/ops/findTreePath.d.ts.map +1 -1
  16. package/build/data/ops/findTreePath.js +1 -1
  17. package/build/data/ops/removeTreeNodes.d.ts +14 -1
  18. package/build/data/ops/removeTreeNodes.d.ts.map +1 -1
  19. package/build/data/ops/removeTreeNodes.js +13 -0
  20. package/build/data/ops/updateArray.d.ts +1 -1
  21. package/build/data/ops/updateArray.d.ts.map +1 -1
  22. package/build/data/ops/updateArray.js +1 -1
  23. package/build/data/ops/updateTree.d.ts +20 -1
  24. package/build/data/ops/updateTree.d.ts.map +1 -1
  25. package/build/data/ops/updateTree.js +19 -0
  26. package/build/jsx-runtime.d.ts +1 -0
  27. package/build/jsx-runtime.d.ts.map +1 -1
  28. package/build/jsx-runtime.js +3 -1
  29. package/build/svg/Rectangle.d.ts +6 -4
  30. package/build/svg/Rectangle.d.ts.map +1 -1
  31. package/build/svg/Rectangle.js +9 -7
  32. package/build/ui/Instance.d.ts +1 -1
  33. package/build/ui/Instance.d.ts.map +1 -1
  34. package/build/ui/Instance.js +18 -8
  35. package/build/ui/IsolatedScope.d.ts +2 -1
  36. package/build/ui/IsolatedScope.d.ts.map +1 -1
  37. package/build/ui/Prop.d.ts +1 -1
  38. package/build/ui/Prop.d.ts.map +1 -1
  39. package/build/ui/Widget.d.ts +2 -0
  40. package/build/ui/Widget.d.ts.map +1 -1
  41. package/build/ui/Widget.js +4 -0
  42. package/build/ui/adapter/GroupAdapter.d.ts +4 -4
  43. package/build/ui/adapter/GroupAdapter.d.ts.map +1 -1
  44. package/build/ui/adapter/GroupAdapter.js +4 -4
  45. package/build/ui/adapter/TreeAdapter.d.ts +5 -3
  46. package/build/ui/adapter/TreeAdapter.d.ts.map +1 -1
  47. package/build/ui/adapter/TreeAdapter.js +12 -5
  48. package/build/ui/app/startAppLoop.d.ts +2 -2
  49. package/build/ui/app/startAppLoop.d.ts.map +1 -1
  50. package/build/ui/app/startHotAppLoop.d.ts +4 -4
  51. package/build/ui/app/startHotAppLoop.d.ts.map +1 -1
  52. package/build/ui/app/startHotAppLoop.js +1 -1
  53. package/build/ui/batchUpdates.d.ts.map +1 -1
  54. package/build/ui/batchUpdates.js +3 -4
  55. package/build/widgets/Button.d.ts +0 -7
  56. package/build/widgets/Button.d.ts.map +1 -1
  57. package/build/widgets/HtmlElement.d.ts +2 -2
  58. package/build/widgets/HtmlElement.d.ts.map +1 -1
  59. package/build/widgets/form/Checkbox.d.ts +3 -3
  60. package/build/widgets/form/Checkbox.d.ts.map +1 -1
  61. package/build/widgets/form/Checkbox.js +11 -6
  62. package/build/widgets/form/DateTimeField.d.ts +4 -0
  63. package/build/widgets/form/DateTimeField.d.ts.map +1 -1
  64. package/build/widgets/form/TextField.d.ts +2 -2
  65. package/build/widgets/form/TextField.d.ts.map +1 -1
  66. package/build/widgets/grid/Grid.d.ts +20 -16
  67. package/build/widgets/grid/Grid.d.ts.map +1 -1
  68. package/build/widgets/grid/Grid.js +200 -86
  69. package/build/widgets/nav/Menu.d.ts +2 -0
  70. package/build/widgets/nav/Menu.d.ts.map +1 -1
  71. package/build/widgets/nav/Route.js +1 -1
  72. package/build/widgets/overlay/FlyweightTooltipTracker.d.ts +6 -4
  73. package/build/widgets/overlay/FlyweightTooltipTracker.d.ts.map +1 -1
  74. package/build/widgets/overlay/FlyweightTooltipTracker.js +3 -0
  75. package/build/widgets/overlay/Overlay.d.ts +2 -2
  76. package/build/widgets/overlay/Overlay.d.ts.map +1 -1
  77. package/dist/data.js +52 -1
  78. package/dist/jsx-runtime.js +4 -2
  79. package/dist/manifest.js +910 -904
  80. package/dist/svg.js +3 -0
  81. package/dist/ui.js +1548 -1544
  82. package/dist/widgets.css +1 -1
  83. package/dist/widgets.js +395 -4
  84. package/package.json +2 -2
  85. package/src/charts/Marker.tsx +448 -394
  86. package/src/charts/MouseTracker.tsx +3 -0
  87. package/src/charts/helpers/PointReducer.ts +2 -2
  88. package/src/data/View.ts +76 -19
  89. package/src/data/ops/findTreeNode.ts +20 -1
  90. package/src/data/ops/findTreePath.ts +7 -2
  91. package/src/data/ops/removeTreeNodes.ts +14 -1
  92. package/src/data/ops/updateArray.ts +4 -4
  93. package/src/data/ops/updateTree.ts +32 -6
  94. package/src/index.scss +6 -6
  95. package/src/jsx-runtime.spec.tsx +40 -0
  96. package/src/jsx-runtime.ts +87 -84
  97. package/src/svg/Rectangle.tsx +80 -73
  98. package/src/ui/DataProxy.ts +55 -55
  99. package/src/ui/Instance.ts +142 -45
  100. package/src/ui/IsolatedScope.ts +4 -2
  101. package/src/ui/Prop.ts +141 -141
  102. package/src/ui/Rescope.ts +50 -50
  103. package/src/ui/Widget.tsx +292 -234
  104. package/src/ui/adapter/ArrayAdapter.ts +229 -229
  105. package/src/ui/adapter/GroupAdapter.ts +8 -10
  106. package/src/ui/adapter/TreeAdapter.ts +75 -15
  107. package/src/ui/app/Url.spec.ts +1 -1
  108. package/src/ui/app/startAppLoop.tsx +56 -45
  109. package/src/ui/app/startHotAppLoop.ts +4 -4
  110. package/src/ui/batchUpdates.ts +16 -21
  111. package/src/ui/exprHelpers.ts +96 -96
  112. package/src/widgets/Button.tsx +0 -8
  113. package/src/widgets/HtmlElement.spec.tsx +100 -72
  114. package/src/widgets/HtmlElement.tsx +11 -10
  115. package/src/widgets/Sandbox.ts +104 -104
  116. package/src/widgets/Section.scss +55 -55
  117. package/src/widgets/drag-drop/DropZone.scss +74 -74
  118. package/src/widgets/form/Checkbox.tsx +296 -243
  119. package/src/widgets/form/DateTimeField.tsx +6 -0
  120. package/src/widgets/form/TextField.tsx +2 -2
  121. package/src/widgets/grid/Grid.scss +43 -10
  122. package/src/widgets/grid/Grid.tsx +4401 -3848
  123. package/src/widgets/nav/Menu.tsx +3 -0
  124. package/src/widgets/nav/Route.ts +1 -1
  125. package/src/widgets/overlay/FlyweightTooltipTracker.ts +15 -4
  126. package/src/widgets/overlay/Overlay.tsx +2 -1
  127. package/src/widgets/overlay/index.d.ts +11 -11
@@ -41,6 +41,9 @@ export interface MenuConfig extends HtmlElementConfig {
41
41
 
42
42
  /** Auto focus first menu item. */
43
43
  autoFocus?: boolean;
44
+
45
+ /** Set to `true` to enable icons in menu items. */
46
+ icons?: boolean;
44
47
  }
45
48
 
46
49
  /*
@@ -1,6 +1,6 @@
1
1
  import { Widget } from "../../ui/Widget";
2
2
  import { PureContainerBase, PureContainerConfig } from "../../ui/PureContainer";
3
- import RouteMatcher from "route-parser";
3
+ import RouteMatcher from "route-parser-ts";
4
4
  import { ReadOnlyDataView } from "../../data/ReadOnlyDataView";
5
5
  import { routeAppend } from "../../util/routeAppend";
6
6
  import { StringProp, BooleanProp, Prop } from "../../ui/Prop";
@@ -1,6 +1,6 @@
1
1
  import { Instance } from "../../ui/Instance";
2
2
  import { RenderingContext } from "../../ui/RenderingContext";
3
- import { Widget } from "../../ui/Widget";
3
+ import { Widget, WidgetConfig } from "../../ui/Widget";
4
4
  import { closest } from "../../util";
5
5
  import type { TooltipInstance } from "./Tooltip";
6
6
  import {
@@ -10,8 +10,12 @@ import {
10
10
  TooltipProp,
11
11
  } from "./tooltip-ops";
12
12
 
13
- export interface FlyweightTooltipTrackerConfig {
14
- onGetTooltip?: (element: Element, instance: Instance) => TooltipProp;
13
+ export interface FlyweightTooltipTrackerConfig extends WidgetConfig {
14
+ /** Callback invoked to get tooltip configuration for an element. */
15
+ onGetTooltip?: (
16
+ element: Element,
17
+ instance: Instance,
18
+ ) => TooltipProp | undefined;
15
19
  }
16
20
 
17
21
  export class FlyweightTooltipTrackerInstance
@@ -24,12 +28,19 @@ export class FlyweightTooltipTrackerInstance
24
28
  declare tooltips: { [key: string]: TooltipInstance };
25
29
  }
26
30
 
27
- export class FlyweightTooltipTracker extends Widget {
31
+ export class FlyweightTooltipTracker extends Widget<
32
+ FlyweightTooltipTrackerConfig,
33
+ FlyweightTooltipTrackerInstance
34
+ > {
28
35
  declare onGetTooltip?: (
29
36
  element: Element,
30
37
  instance: Instance,
31
38
  ) => TooltipProp | undefined;
32
39
 
40
+ constructor(config?: FlyweightTooltipTrackerConfig) {
41
+ super(config);
42
+ }
43
+
33
44
  initInstance(
34
45
  context: RenderingContext,
35
46
  instance: FlyweightTooltipTrackerInstance,
@@ -2,6 +2,7 @@
2
2
  import type { Root } from "cx-react";
3
3
  import { isBinding, isBindingObject } from "../../data/Binding";
4
4
  import { Store } from "../../data/Store";
5
+ import { View } from "../../data/View";
5
6
  import { startAppLoop } from "../../ui/app/startAppLoop";
6
7
  import { ContainerBase, StyledContainerConfig } from "../../ui/Container";
7
8
  import { FocusManager, offFocusOut, oneFocusOut } from "../../ui/FocusManager";
@@ -302,7 +303,7 @@ export class OverlayBase<
302
303
  return el;
303
304
  }
304
305
 
305
- open(storeOrInstance?: Store | Instance, options?: any): () => void {
306
+ open(storeOrInstance?: View | Instance, options?: any): () => void {
306
307
  if (!this.initialized) this.init();
307
308
 
308
309
  let el = this.containerFactory();
@@ -1,11 +1,11 @@
1
- export * from "./Overlay";
2
- export * from "./Dropdown";
3
- export * from "./tooltip-ops";
4
- export * from "./Tooltip";
5
- export * from "./Window";
6
- export * from "./MsgBox";
7
- export * from "./Toast";
8
- export * from "./captureMouse";
9
- export * from "./ContextMenu";
10
- export * from "./FlyweightTooltipTracker";
11
- export * from "./createHotPromiseWindowFactory";
1
+ export * from "./Overlay";
2
+ export * from "./Dropdown";
3
+ export * from "./tooltip-ops";
4
+ export * from "./Tooltip";
5
+ export * from "./Window";
6
+ export * from "./MsgBox";
7
+ export * from "./Toast";
8
+ export * from "./captureMouse";
9
+ export * from "./ContextMenu";
10
+ export * from "./FlyweightTooltipTracker";
11
+ export * from "./createHotPromiseWindowFactory";