cx 26.0.13 → 26.1.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 (251) hide show
  1. package/build/ui/VDOM.d.ts +1 -20
  2. package/build/ui/VDOM.js +1 -3
  3. package/build/ui/Widget.d.ts +1 -1
  4. package/build/ui/app/startAppLoop.js +2 -10
  5. package/build/widgets/form/Checkbox.d.ts +0 -1
  6. package/build/widgets/form/Checkbox.js +1 -0
  7. package/build/widgets/form/ColorField.d.ts +0 -1
  8. package/build/widgets/form/ColorField.js +2 -2
  9. package/build/widgets/form/DateTimeField.d.ts +0 -2
  10. package/build/widgets/form/DateTimeField.js +1 -0
  11. package/build/widgets/form/DateTimePicker.d.ts +0 -2
  12. package/build/widgets/form/DateTimePicker.js +1 -0
  13. package/build/widgets/form/Radio.d.ts +0 -1
  14. package/build/widgets/form/Slider.js +9 -1
  15. package/build/widgets/form/Switch.d.ts +0 -1
  16. package/build/widgets/form/Switch.js +1 -1
  17. package/build/widgets/form/Wheel.d.ts +0 -1
  18. package/build/widgets/grid/Grid.d.ts +0 -2
  19. package/build/widgets/grid/GridCellEditor.js +3 -1
  20. package/build/widgets/overlay/Overlay.d.ts +3 -0
  21. package/build/widgets/overlay/Overlay.js +3 -2
  22. package/build/widgets/overlay/createHotPromiseWindowFactory.js +0 -1
  23. package/dist/manifest.js +810 -810
  24. package/dist/ui.js +3 -10
  25. package/dist/widgets.js +18 -7
  26. package/package.json +9 -8
  27. package/src/charts/Chart.ts +108 -108
  28. package/src/data/ArrayElementView.ts +90 -90
  29. package/src/data/AugmentedViewBase.ts +88 -88
  30. package/src/data/Binding.ts +104 -104
  31. package/src/data/ExposedRecordView.ts +95 -95
  32. package/src/data/ExposedValueView.ts +89 -89
  33. package/src/data/Expression.spec.ts +229 -229
  34. package/src/data/Expression.ts +233 -233
  35. package/src/data/Grouper.spec.ts +57 -57
  36. package/src/data/Grouper.ts +158 -158
  37. package/src/data/NestedDataView.ts +43 -43
  38. package/src/data/ReadOnlyDataView.ts +39 -39
  39. package/src/data/Ref.ts +104 -104
  40. package/src/data/Selector.ts +10 -10
  41. package/src/data/Store.ts +52 -52
  42. package/src/data/StoreProxy.ts +19 -19
  43. package/src/data/StoreRef.ts +66 -66
  44. package/src/data/StringTemplate.spec.ts +132 -132
  45. package/src/data/StringTemplate.ts +93 -93
  46. package/src/data/StructuredSelector.spec.ts +113 -113
  47. package/src/data/StructuredSelector.ts +146 -146
  48. package/src/data/SubscribableView.ts +63 -63
  49. package/src/data/ZoomIntoPropertyView.spec.ts +64 -64
  50. package/src/data/ZoomIntoPropertyView.ts +45 -45
  51. package/src/data/computable.spec.ts +87 -87
  52. package/src/data/createStructuredSelector.ts +62 -62
  53. package/src/data/getAccessor.spec.ts +11 -11
  54. package/src/data/getAccessor.ts +74 -74
  55. package/src/data/getSelector.spec.ts +43 -43
  56. package/src/data/getSelector.ts +66 -66
  57. package/src/data/ops/filter.spec.ts +35 -35
  58. package/src/data/ops/filter.ts +9 -9
  59. package/src/data/ops/merge.ts +13 -13
  60. package/src/data/ops/removeTreeNodes.spec.ts +37 -37
  61. package/src/data/ops/updateArray.spec.ts +69 -69
  62. package/src/data/test-types.ts +7 -7
  63. package/src/hooks/useTrigger.ts +26 -26
  64. package/src/index.scss +6 -6
  65. package/src/jsx-dev-runtime.ts +4 -4
  66. package/src/jsx-runtime.spec.tsx +38 -9
  67. package/src/svg/BoundedObject.ts +101 -101
  68. package/src/svg/util/Rect.ts +105 -105
  69. package/src/ui/CSSHelper.ts +17 -17
  70. package/src/ui/Culture.ts +159 -159
  71. package/src/ui/DataProxy.ts +55 -55
  72. package/src/ui/FocusManager.ts +171 -171
  73. package/src/ui/Instance.ts +866 -866
  74. package/src/ui/Prop.ts +140 -140
  75. package/src/ui/RenderingContext.ts +99 -99
  76. package/src/ui/Rescope.ts +49 -49
  77. package/src/ui/StructuredInstanceDataAccessor.ts +32 -32
  78. package/src/ui/VDOM.ts +1 -34
  79. package/src/ui/adapter/ArrayAdapter.spec.ts +55 -55
  80. package/src/ui/adapter/TreeAdapter.spec.ts +76 -76
  81. package/src/ui/adapter/TreeAdapter.ts +185 -185
  82. package/src/ui/app/History.ts +133 -133
  83. package/src/ui/app/Url.spec.ts +50 -50
  84. package/src/ui/app/startAppLoop.tsx +5 -9
  85. package/src/ui/app/startHotAppLoop.ts +41 -41
  86. package/src/ui/layout/Content.ts +30 -30
  87. package/src/ui/layout/FirstVisibleChildLayout.ts +60 -60
  88. package/src/util/Console.ts +13 -13
  89. package/src/util/Format.spec.ts +69 -69
  90. package/src/util/Format.ts +267 -267
  91. package/src/util/addEventListenerWithOptions.ts +41 -41
  92. package/src/util/browserSupportsPassiveEventHandlers.ts +20 -20
  93. package/src/util/color/rgbToHsl.ts +35 -35
  94. package/src/util/getActiveElement.ts +4 -4
  95. package/src/util/hasKey.ts +18 -18
  96. package/src/util/index.ts +55 -55
  97. package/src/util/innerTextTrim.ts +10 -10
  98. package/src/util/isArray.ts +3 -3
  99. package/src/util/isDataRecord.ts +5 -5
  100. package/src/util/isDefined.ts +3 -3
  101. package/src/util/isString.ts +3 -3
  102. package/src/widgets/DocumentTitle.ts +95 -95
  103. package/src/widgets/Sandbox.ts +103 -103
  104. package/src/widgets/autoFocus.ts +9 -9
  105. package/src/widgets/cx.ts +63 -63
  106. package/src/widgets/form/Checkbox.tsx +0 -1
  107. package/src/widgets/form/ColorField.tsx +15 -12
  108. package/src/widgets/form/DateTimeField.tsx +0 -2
  109. package/src/widgets/form/DateTimePicker.tsx +0 -2
  110. package/src/widgets/form/Radio.tsx +0 -1
  111. package/src/widgets/form/Slider.tsx +12 -4
  112. package/src/widgets/form/Switch.tsx +2 -3
  113. package/src/widgets/form/Wheel.tsx +0 -1
  114. package/src/widgets/grid/Grid.tsx +0 -1
  115. package/src/widgets/grid/GridCell.ts +143 -143
  116. package/src/widgets/grid/GridCellEditor.tsx +7 -1
  117. package/src/widgets/icons/calendar.tsx +17 -17
  118. package/src/widgets/icons/check.tsx +13 -13
  119. package/src/widgets/icons/clear.tsx +15 -15
  120. package/src/widgets/icons/close.tsx +20 -20
  121. package/src/widgets/icons/cx.tsx +38 -38
  122. package/src/widgets/icons/drop-down.tsx +15 -15
  123. package/src/widgets/icons/file.tsx +13 -13
  124. package/src/widgets/icons/folder-open.tsx +15 -15
  125. package/src/widgets/icons/folder.tsx +13 -13
  126. package/src/widgets/icons/forward.tsx +22 -22
  127. package/src/widgets/icons/loading.tsx +24 -24
  128. package/src/widgets/icons/menu.tsx +17 -17
  129. package/src/widgets/icons/pixel-picker.tsx +18 -18
  130. package/src/widgets/icons/search.tsx +13 -13
  131. package/src/widgets/icons/sort-asc.tsx +14 -14
  132. package/src/widgets/icons/square.tsx +18 -18
  133. package/src/widgets/nav/Route.ts +142 -142
  134. package/src/widgets/overlay/Dropdown.tsx +762 -762
  135. package/src/widgets/overlay/MsgBox.tsx +141 -141
  136. package/src/widgets/overlay/Overlay.tsx +5 -1
  137. package/src/widgets/overlay/Toast.ts +111 -111
  138. package/src/widgets/overlay/Window.tsx +299 -299
  139. package/src/widgets/overlay/alerts.ts +46 -46
  140. package/src/widgets/overlay/captureMouse.ts +195 -195
  141. package/src/widgets/overlay/createHotPromiseWindowFactory.ts +0 -1
  142. package/src/widgets/overlay/index.d.ts +11 -11
  143. package/src/widgets/overlay/index.ts +11 -11
  144. package/src/widgets/overlay/tooltip-ops.ts +173 -173
  145. package/build/data/ArrayElementView.spec.d.ts +0 -1
  146. package/build/data/ArrayElementView.spec.js +0 -81
  147. package/build/data/Binding.spec.d.ts +0 -1
  148. package/build/data/Binding.spec.js +0 -61
  149. package/build/data/Expression.spec.d.ts +0 -1
  150. package/build/data/Expression.spec.js +0 -196
  151. package/build/data/Grouper.spec.d.ts +0 -1
  152. package/build/data/Grouper.spec.js +0 -48
  153. package/build/data/Ref.spec.d.ts +0 -1
  154. package/build/data/Ref.spec.js +0 -72
  155. package/build/data/Store.spec.d.ts +0 -1
  156. package/build/data/Store.spec.js +0 -19
  157. package/build/data/StoreRef.spec.d.ts +0 -1
  158. package/build/data/StoreRef.spec.js +0 -22
  159. package/build/data/StringTemplate.spec.d.ts +0 -1
  160. package/build/data/StringTemplate.spec.js +0 -112
  161. package/build/data/StructuredSelector.spec.d.ts +0 -1
  162. package/build/data/StructuredSelector.spec.js +0 -102
  163. package/build/data/View.spec.d.ts +0 -1
  164. package/build/data/View.spec.js +0 -44
  165. package/build/data/ZoomIntoPropertyView.spec.d.ts +0 -1
  166. package/build/data/ZoomIntoPropertyView.spec.js +0 -54
  167. package/build/data/comparer.spec.d.ts +0 -1
  168. package/build/data/comparer.spec.js +0 -50
  169. package/build/data/computable.spec.d.ts +0 -1
  170. package/build/data/computable.spec.js +0 -56
  171. package/build/data/createAccessorModelProxy.spec.d.ts +0 -1
  172. package/build/data/createAccessorModelProxy.spec.js +0 -30
  173. package/build/data/createStructuredSelector.spec.d.ts +0 -1
  174. package/build/data/createStructuredSelector.spec.js +0 -42
  175. package/build/data/diff/diffs.spec.d.ts +0 -1
  176. package/build/data/diff/diffs.spec.js +0 -45
  177. package/build/data/getAccessor.spec.d.ts +0 -1
  178. package/build/data/getAccessor.spec.js +0 -10
  179. package/build/data/getSelector.spec.d.ts +0 -1
  180. package/build/data/getSelector.spec.js +0 -36
  181. package/build/data/ops/append.spec.d.ts +0 -1
  182. package/build/data/ops/append.spec.js +0 -24
  183. package/build/data/ops/filter.spec.d.ts +0 -1
  184. package/build/data/ops/filter.spec.js +0 -25
  185. package/build/data/ops/findTreeNode.spec.d.ts +0 -1
  186. package/build/data/ops/findTreeNode.spec.js +0 -20
  187. package/build/data/ops/merge.spec.d.ts +0 -1
  188. package/build/data/ops/merge.spec.js +0 -23
  189. package/build/data/ops/removeTreeNodes.spec.d.ts +0 -1
  190. package/build/data/ops/removeTreeNodes.spec.js +0 -35
  191. package/build/data/ops/updateArray.spec.d.ts +0 -1
  192. package/build/data/ops/updateArray.spec.js +0 -33
  193. package/build/data/ops/updateTree.spec.d.ts +0 -1
  194. package/build/data/ops/updateTree.spec.js +0 -44
  195. package/build/hooks/invokeCallback.spec.d.ts +0 -1
  196. package/build/hooks/invokeCallback.spec.js +0 -44
  197. package/build/hooks/resolveCallback.spec.d.ts +0 -1
  198. package/build/hooks/resolveCallback.spec.js +0 -35
  199. package/build/hooks/store.spec.d.ts +0 -1
  200. package/build/hooks/store.spec.js +0 -48
  201. package/build/hooks/useTrigger.spec.d.ts +0 -1
  202. package/build/hooks/useTrigger.spec.js +0 -59
  203. package/build/ui/Controller.spec.d.ts +0 -1
  204. package/build/ui/Controller.spec.js +0 -247
  205. package/build/ui/Cx.spec.d.ts +0 -1
  206. package/build/ui/Cx.spec.js +0 -153
  207. package/build/ui/DataProxy.spec.d.ts +0 -1
  208. package/build/ui/DataProxy.spec.js +0 -208
  209. package/build/ui/IsolatedScope.spec.d.ts +0 -1
  210. package/build/ui/IsolatedScope.spec.js +0 -42
  211. package/build/ui/PureContainer.spec.d.ts +0 -1
  212. package/build/ui/PureContainer.spec.js +0 -149
  213. package/build/ui/Repeater.spec.d.ts +0 -1
  214. package/build/ui/Repeater.spec.js +0 -109
  215. package/build/ui/Rescope.spec.d.ts +0 -1
  216. package/build/ui/Rescope.spec.js +0 -134
  217. package/build/ui/Restate.spec.d.ts +0 -1
  218. package/build/ui/Restate.spec.js +0 -257
  219. package/build/ui/adapter/ArrayAdapter.spec.d.ts +0 -1
  220. package/build/ui/adapter/ArrayAdapter.spec.js +0 -44
  221. package/build/ui/adapter/TreeAdapter.spec.d.ts +0 -1
  222. package/build/ui/adapter/TreeAdapter.spec.js +0 -71
  223. package/build/ui/app/Url.spec.d.ts +0 -1
  224. package/build/ui/app/Url.spec.js +0 -43
  225. package/build/ui/createFunctionalComponent.spec.d.ts +0 -1
  226. package/build/ui/createFunctionalComponent.spec.js +0 -272
  227. package/build/ui/layout/ContentPlaceholder.spec.d.ts +0 -1
  228. package/build/ui/layout/ContentPlaceholder.spec.js +0 -333
  229. package/build/ui/layout/FirstVisibleChildLayout.spec.d.ts +0 -1
  230. package/build/ui/layout/FirstVisibleChildLayout.spec.js +0 -101
  231. package/build/util/Format.spec.d.ts +0 -1
  232. package/build/util/Format.spec.js +0 -58
  233. package/build/util/TraversalStack.spec.d.ts +0 -1
  234. package/build/util/TraversalStack.spec.js +0 -43
  235. package/build/util/date/upperBoundCheck.spec.d.ts +0 -1
  236. package/build/util/date/upperBoundCheck.spec.js +0 -22
  237. package/build/util/getSearchQueryPredicate.spec.d.ts +0 -1
  238. package/build/util/getSearchQueryPredicate.spec.js +0 -33
  239. package/build/util/isValidIdentifierName.spec.d.ts +0 -1
  240. package/build/util/isValidIdentifierName.spec.js +0 -28
  241. package/build/util/routeAppend.spec.d.ts +0 -1
  242. package/build/util/routeAppend.spec.js +0 -14
  243. package/build/widgets/AccessorBindings.spec.d.ts +0 -1
  244. package/build/widgets/AccessorBindings.spec.js +0 -40
  245. package/build/widgets/HtmlElement.spec.d.ts +0 -1
  246. package/build/widgets/HtmlElement.spec.js +0 -38
  247. package/build/widgets/form/ValidationGroup.spec.d.ts +0 -1
  248. package/build/widgets/form/ValidationGroup.spec.js +0 -62
  249. package/build/widgets/nav/Route.spec.d.ts +0 -1
  250. package/build/widgets/nav/Route.spec.js +0 -15
  251. package/dist/manifest.d.ts +0 -1443
@@ -1,143 +1,143 @@
1
- import { StyledContainerBase, StyledContainerConfig } from "../../ui";
2
- import { Format } from "../../ui/Format";
3
- import { Instance } from "../../ui/Instance";
4
- import { BooleanProp, NumberProp, Prop, StringProp } from "../../ui/Prop";
5
- import { RenderingContext } from "../../ui/RenderingContext";
6
- import { isUndefined } from "../../util/isUndefined";
7
-
8
- export interface GridCellConfig extends StyledContainerConfig {
9
- /** Selector used to obtain the value that should be displayed inside the cell. Not required if `field` is used. */
10
- value?: StringProp | NumberProp;
11
-
12
- /** Selector used to obtain the weight of the cell in aggregate operations, such as weighted averages. */
13
- weight?: Prop<any>;
14
-
15
- /** Add default padding to grid cell. */
16
- pad?: BooleanProp;
17
-
18
- /** Format specifier used to convert the value into a string. */
19
- format?: StringProp;
20
-
21
- /** Name of the field that holds the value to be displayed. */
22
- field?: string;
23
-
24
- /** Record alias. Default is `$record`. */
25
- recordName?: string;
26
-
27
- /** Record alias. Default is `$record`. */
28
- recordAlias?: string;
29
-
30
- /** Indicate if a cell is editable or not. Default value is true. */
31
- editable?: boolean;
32
-
33
- /**
34
- * Used to indicate that the adjacent cells in the column should be merged together.
35
- * If set to `same-value`, only cells with the same value will be merged.
36
- * If set to `always`, all cells within the group will be merged.
37
- * This is an experimental feature that might not work well with other
38
- * grid related features such as multi-line rows, buffered rendering, etc.
39
- */
40
- mergeCells?: Prop<"same-value" | "always">;
41
-
42
- /** Aggregate value for the cell. */
43
- aggregateValue?: Prop<any>;
44
-
45
- /** Column span. */
46
- colSpan?: NumberProp;
47
-
48
- /** Row span. */
49
- rowSpan?: NumberProp;
50
-
51
- /** Whether the column is fixed. */
52
- fixed?: BooleanProp;
53
-
54
- /** Cell alignment. */
55
- align?: "left" | "right" | "center";
56
-
57
- /** Editor widget for cell editing. */
58
- editor?: any;
59
-
60
- /** Unique column identifier. */
61
- uniqueColumnId?: string;
62
- }
63
-
64
- export class GridCell extends StyledContainerBase<GridCellConfig> {
65
- declare value?: StringProp | NumberProp;
66
- declare field?: string;
67
- declare recordName?: string;
68
- declare editable?: boolean;
69
- declare align?: "left" | "right" | "center";
70
- declare editor?: any;
71
- declare uniqueColumnId?: string;
72
- declare pad?: boolean;
73
- declare fixed?: boolean;
74
- declare merged?: boolean;
75
-
76
- constructor(config?: GridCellConfig) {
77
- super(config);
78
- }
79
-
80
- declareData(...args: any[]) {
81
- return super.declareData(...args, {
82
- value: undefined,
83
- aggregateValue: undefined,
84
- weight: undefined,
85
- pad: undefined,
86
- format: undefined,
87
- colSpan: undefined,
88
- rowSpan: undefined,
89
- editable: undefined,
90
- fixed: undefined,
91
- mergeCells: undefined,
92
- });
93
- }
94
-
95
- init() {
96
- if (!this.value && this.field) this.value = { bind: this.recordName + "." + this.field };
97
-
98
- if (isUndefined(this.editable)) this.editable = !!this.editor;
99
-
100
- super.init();
101
- }
102
-
103
- prepareCSS(context: RenderingContext, instance: Instance) {
104
- let { data } = instance;
105
-
106
- data.classNames = this.CSS.expand(
107
- data.className,
108
- data.class,
109
- this.CSS.state({
110
- pad: data.pad,
111
- editable: data.editable,
112
- ["aligned-" + this.align]: this.align,
113
- mergable: data.merged,
114
- }),
115
- );
116
-
117
- data.style = this.CSS.parseStyle(data.style);
118
- }
119
-
120
- render(context: RenderingContext, instance: Instance, key: string) {
121
- let { data } = instance;
122
- let content;
123
-
124
- if (this.items.length > 0) content = this.renderChildren(context, instance);
125
- else {
126
- content = data.value;
127
- if (data.format) content = Format.value(content, data.format);
128
- }
129
-
130
- return {
131
- atomic: true,
132
- content,
133
- instance,
134
- data,
135
- key,
136
- uniqueColumnId: this.uniqueColumnId,
137
- };
138
- }
139
- }
140
-
141
- GridCell.prototype.pad = true;
142
- GridCell.prototype.fixed = false;
143
- GridCell.prototype.merged = false;
1
+ import { StyledContainerBase, StyledContainerConfig } from "../../ui";
2
+ import { Format } from "../../ui/Format";
3
+ import { Instance } from "../../ui/Instance";
4
+ import { BooleanProp, NumberProp, Prop, StringProp } from "../../ui/Prop";
5
+ import { RenderingContext } from "../../ui/RenderingContext";
6
+ import { isUndefined } from "../../util/isUndefined";
7
+
8
+ export interface GridCellConfig extends StyledContainerConfig {
9
+ /** Selector used to obtain the value that should be displayed inside the cell. Not required if `field` is used. */
10
+ value?: StringProp | NumberProp;
11
+
12
+ /** Selector used to obtain the weight of the cell in aggregate operations, such as weighted averages. */
13
+ weight?: Prop<any>;
14
+
15
+ /** Add default padding to grid cell. */
16
+ pad?: BooleanProp;
17
+
18
+ /** Format specifier used to convert the value into a string. */
19
+ format?: StringProp;
20
+
21
+ /** Name of the field that holds the value to be displayed. */
22
+ field?: string;
23
+
24
+ /** Record alias. Default is `$record`. */
25
+ recordName?: string;
26
+
27
+ /** Record alias. Default is `$record`. */
28
+ recordAlias?: string;
29
+
30
+ /** Indicate if a cell is editable or not. Default value is true. */
31
+ editable?: boolean;
32
+
33
+ /**
34
+ * Used to indicate that the adjacent cells in the column should be merged together.
35
+ * If set to `same-value`, only cells with the same value will be merged.
36
+ * If set to `always`, all cells within the group will be merged.
37
+ * This is an experimental feature that might not work well with other
38
+ * grid related features such as multi-line rows, buffered rendering, etc.
39
+ */
40
+ mergeCells?: Prop<"same-value" | "always">;
41
+
42
+ /** Aggregate value for the cell. */
43
+ aggregateValue?: Prop<any>;
44
+
45
+ /** Column span. */
46
+ colSpan?: NumberProp;
47
+
48
+ /** Row span. */
49
+ rowSpan?: NumberProp;
50
+
51
+ /** Whether the column is fixed. */
52
+ fixed?: BooleanProp;
53
+
54
+ /** Cell alignment. */
55
+ align?: "left" | "right" | "center";
56
+
57
+ /** Editor widget for cell editing. */
58
+ editor?: any;
59
+
60
+ /** Unique column identifier. */
61
+ uniqueColumnId?: string;
62
+ }
63
+
64
+ export class GridCell extends StyledContainerBase<GridCellConfig> {
65
+ declare value?: StringProp | NumberProp;
66
+ declare field?: string;
67
+ declare recordName?: string;
68
+ declare editable?: boolean;
69
+ declare align?: "left" | "right" | "center";
70
+ declare editor?: any;
71
+ declare uniqueColumnId?: string;
72
+ declare pad?: boolean;
73
+ declare fixed?: boolean;
74
+ declare merged?: boolean;
75
+
76
+ constructor(config?: GridCellConfig) {
77
+ super(config);
78
+ }
79
+
80
+ declareData(...args: any[]) {
81
+ return super.declareData(...args, {
82
+ value: undefined,
83
+ aggregateValue: undefined,
84
+ weight: undefined,
85
+ pad: undefined,
86
+ format: undefined,
87
+ colSpan: undefined,
88
+ rowSpan: undefined,
89
+ editable: undefined,
90
+ fixed: undefined,
91
+ mergeCells: undefined,
92
+ });
93
+ }
94
+
95
+ init() {
96
+ if (!this.value && this.field) this.value = { bind: this.recordName + "." + this.field };
97
+
98
+ if (isUndefined(this.editable)) this.editable = !!this.editor;
99
+
100
+ super.init();
101
+ }
102
+
103
+ prepareCSS(context: RenderingContext, instance: Instance) {
104
+ let { data } = instance;
105
+
106
+ data.classNames = this.CSS.expand(
107
+ data.className,
108
+ data.class,
109
+ this.CSS.state({
110
+ pad: data.pad,
111
+ editable: data.editable,
112
+ ["aligned-" + this.align]: this.align,
113
+ mergable: data.merged,
114
+ }),
115
+ );
116
+
117
+ data.style = this.CSS.parseStyle(data.style);
118
+ }
119
+
120
+ render(context: RenderingContext, instance: Instance, key: string) {
121
+ let { data } = instance;
122
+ let content;
123
+
124
+ if (this.items.length > 0) content = this.renderChildren(context, instance);
125
+ else {
126
+ content = data.value;
127
+ if (data.format) content = Format.value(content, data.format);
128
+ }
129
+
130
+ return {
131
+ atomic: true,
132
+ content,
133
+ instance,
134
+ data,
135
+ key,
136
+ uniqueColumnId: this.uniqueColumnId,
137
+ };
138
+ }
139
+ }
140
+
141
+ GridCell.prototype.pad = true;
142
+ GridCell.prototype.fixed = false;
143
+ GridCell.prototype.merged = false;
@@ -37,7 +37,13 @@ class GridCellEditorCmp extends VDOM.Component<GridCellEditorCmpProps> {
37
37
  let { className, style, children } = this.props;
38
38
 
39
39
  return (
40
- <div ref={(el) => (this.el = el)} className={className} style={style}>
40
+ <div
41
+ ref={(el) => {
42
+ this.el = el;
43
+ }}
44
+ className={className}
45
+ style={style}
46
+ >
41
47
  {children}
42
48
  </div>
43
49
  );
@@ -1,17 +1,17 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('calendar', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="0 0 32 32">
9
-
10
- <path d="M4 3h6m10 0h6" fill="none" stroke="currentColor" strokeWidth="2"/>
11
- <path d="M19 21h4v4h-4z" fill="currentColor"/>
12
- <path d="M3 25h24M3 21h24M3 17h24M7 28V13m-4 0h24M11 28V13.2M15 28V13.27M19 28V13.03M23 28V13.5" fill="none" stroke="currentColor"/>
13
- <path fill="currentColor" d="M10 8h10v2H10z"/>
14
- <path fill="none" stroke="currentColor" strokeWidth="2" d="M3 5h24v24H3z"/>
15
- </svg>
16
- }, true);
17
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('calendar', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="0 0 32 32">
9
+
10
+ <path d="M4 3h6m10 0h6" fill="none" stroke="currentColor" strokeWidth="2"/>
11
+ <path d="M19 21h4v4h-4z" fill="currentColor"/>
12
+ <path d="M3 25h24M3 21h24M3 17h24M7 28V13m-4 0h24M11 28V13.2M15 28V13.27M19 28V13.03M23 28V13.5" fill="none" stroke="currentColor"/>
13
+ <path fill="currentColor" d="M10 8h10v2H10z"/>
14
+ <path fill="none" stroke="currentColor" strokeWidth="2" d="M3 5h24v24H3z"/>
15
+ </svg>
16
+ }, true);
17
+
@@ -1,13 +1,13 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('check', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="0 0 64 64">
9
- <path d="M7.136 42.94l20.16 14.784 29.568-40.32-9.72-7.128-22.598 30.816-10.44-7.656z"
10
- fill="currentColor"/>
11
- </svg>
12
- }, true);
13
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('check', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="0 0 64 64">
9
+ <path d="M7.136 42.94l20.16 14.784 29.568-40.32-9.72-7.128-22.598 30.816-10.44-7.656z"
10
+ fill="currentColor"/>
11
+ </svg>
12
+ }, true);
13
+
@@ -1,15 +1,15 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('clear', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="0 0 32 32">
9
- <path fill="currentColor"
10
- strokeWidth="1"
11
- stroke="currentColor"
12
- d="M16.9 16l4.92-4.92c.24-.24.24-.6 0-.84s-.6-.24-.84 0l-4.92 4.92-5.04-4.98c-.24-.24-.6-.24-.84 0s-.24.6 0 .84L15.16 16l-4.98 4.98c-.24.24-.24.6 0 .84s.6.24.84 0L16 16.84l4.98 4.98c.24.24.6.24.84 0s.24-.6 0-.84L16.9 16z"/>
13
- </svg>
14
- }, true);
15
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('clear', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="0 0 32 32">
9
+ <path fill="currentColor"
10
+ strokeWidth="1"
11
+ stroke="currentColor"
12
+ d="M16.9 16l4.92-4.92c.24-.24.24-.6 0-.84s-.6-.24-.84 0l-4.92 4.92-5.04-4.98c-.24-.24-.6-.24-.84 0s-.24.6 0 .84L15.16 16l-4.98 4.98c-.24.24-.24.6 0 .84s.6.24.84 0L16 16.84l4.98 4.98c.24.24.6.24.84 0s.24-.6 0-.84L16.9 16z"/>
13
+ </svg>
14
+ }, true);
15
+
@@ -1,20 +1,20 @@
1
- /** @jsxImportSource react */
2
- import { VDOM } from "../../ui/Widget";
3
- import { registerIcon } from "./registry";
4
-
5
- export default registerIcon(
6
- "close",
7
- (props: any) => {
8
- return (
9
- <svg {...props} viewBox="0 0 32 32">
10
- <path
11
- fill="currentColor"
12
- strokeWidth="1"
13
- stroke="currentColor"
14
- d="M17.8 16l9.84-9.84c.48-.48.48-1.2 0-1.68s-1.2-.48-1.68 0l-9.84 9.84L6.04 4.36c-.48-.48-1.2-.48-1.68 0s-.48 1.2 0 1.68L14.32 16l-9.96 9.96c-.48.48-.48 1.2 0 1.68s1.2.48 1.68 0L16 17.68l9.96 9.96c.48.48 1.2.48 1.68 0s.48-1.2 0-1.68L17.8 16z"
15
- />
16
- </svg>
17
- );
18
- },
19
- true
20
- );
1
+ /** @jsxImportSource react */
2
+ import { VDOM } from "../../ui/Widget";
3
+ import { registerIcon } from "./registry";
4
+
5
+ export default registerIcon(
6
+ "close",
7
+ (props: any) => {
8
+ return (
9
+ <svg {...props} viewBox="0 0 32 32">
10
+ <path
11
+ fill="currentColor"
12
+ strokeWidth="1"
13
+ stroke="currentColor"
14
+ d="M17.8 16l9.84-9.84c.48-.48.48-1.2 0-1.68s-1.2-.48-1.68 0l-9.84 9.84L6.04 4.36c-.48-.48-1.2-.48-1.68 0s-.48 1.2 0 1.68L14.32 16l-9.96 9.96c-.48.48-.48 1.2 0 1.68s1.2.48 1.68 0L16 17.68l9.96 9.96c.48.48 1.2.48 1.68 0s.48-1.2 0-1.68L17.8 16z"
15
+ />
16
+ </svg>
17
+ );
18
+ },
19
+ true
20
+ );
@@ -1,38 +1,38 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('cx', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="-347 249.7 48 48"
9
- >
10
- <g>
11
- <path fill="currentColor" opacity="0.7" d="M-337.1 273.16l-4.23-7.33h8.46z"/>
12
- <path fill="currentColor" d="M-318.32 273.16l-4.23-7.33h8.46z"/>
13
- <path fill="currentColor" opacity="0.7" d="M-337.53 273.43h-8.45l4.22-7.33z"/>
14
- <path fill="currentColor" d="M-309.38 273.43h-8.46l4.23-7.33z"/>
15
- <path fill="currentColor" opacity="0.7" d="M-332.4 265.03l-4.22-7.33h8.46z"/>
16
- <path fill="currentColor" d="M-304.24 265.03l-4.23-7.33h8.45z"/>
17
- <path fill="currentColor" d="M-322.97 265.03l-4.28-7.33h8.5z"/>
18
- <path fill="currentColor" opacity="0.7" d="M-332.87 265.3h-8.46l4.23-7.33z"/>
19
- <path fill="currentColor" opacity="0.7" d="M-323.45 265.3h-8.46l4.2-7.33z"/>
20
- <path fill="currentColor" d="M-314.1 265.3h-8.45l4.23-7.33z"/>
21
- <path fill="currentColor" d="M-308.9 273.16l-4.23-7.33h8.46z"/>
22
- <path fill="currentColor" d="M-304.67 265.3h-8.46l4.23-7.33z"/>
23
- <path fill="currentColor" d="M-314.1 281.57h-8.45l4.23-7.33z"/>
24
- <path fill="currentColor" d="M-313.6 281.3l-4.24-7.33h8.46z"/>
25
- <path fill="currentColor" d="M-318.32 289.43l-4.23-7.33h8.46z"/>
26
- <path fill="currentColor" d="M-304.67 281.57h-8.46l4.23-7.33z"/>
27
- <path fill="currentColor" d="M-308.9 289.43l-4.23-7.33h8.46z"/>
28
- <path fill="currentColor" opacity="0.7" d="M-341.76 281.3l-4.22-7.33h8.45z"/>
29
- <path fill="currentColor" opacity="0.7" d="M-332.87 281.57h-8.46l4.23-7.33z"/>
30
- <path fill="currentColor" opacity="0.7" d="M-337.1 289.43l-4.23-7.33h8.46z"/>
31
- <path fill="currentColor" opacity="0.7" d="M-327.68 289.43l-4.23-7.33h8.43z"/>
32
- <path fill="currentColor" opacity="0.7" d="M-328.16 289.7h-8.46l4.23-7.33z"/>
33
- <path fill="currentColor" d="M-318.75 289.7h-8.5l4.28-7.33z"/>
34
- <path fill="currentColor" d="M-300.02 289.7h-8.45l4.23-7.33z"/>
35
- </g>
36
- </svg>
37
- }, true);
38
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('cx', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="-347 249.7 48 48"
9
+ >
10
+ <g>
11
+ <path fill="currentColor" opacity="0.7" d="M-337.1 273.16l-4.23-7.33h8.46z"/>
12
+ <path fill="currentColor" d="M-318.32 273.16l-4.23-7.33h8.46z"/>
13
+ <path fill="currentColor" opacity="0.7" d="M-337.53 273.43h-8.45l4.22-7.33z"/>
14
+ <path fill="currentColor" d="M-309.38 273.43h-8.46l4.23-7.33z"/>
15
+ <path fill="currentColor" opacity="0.7" d="M-332.4 265.03l-4.22-7.33h8.46z"/>
16
+ <path fill="currentColor" d="M-304.24 265.03l-4.23-7.33h8.45z"/>
17
+ <path fill="currentColor" d="M-322.97 265.03l-4.28-7.33h8.5z"/>
18
+ <path fill="currentColor" opacity="0.7" d="M-332.87 265.3h-8.46l4.23-7.33z"/>
19
+ <path fill="currentColor" opacity="0.7" d="M-323.45 265.3h-8.46l4.2-7.33z"/>
20
+ <path fill="currentColor" d="M-314.1 265.3h-8.45l4.23-7.33z"/>
21
+ <path fill="currentColor" d="M-308.9 273.16l-4.23-7.33h8.46z"/>
22
+ <path fill="currentColor" d="M-304.67 265.3h-8.46l4.23-7.33z"/>
23
+ <path fill="currentColor" d="M-314.1 281.57h-8.45l4.23-7.33z"/>
24
+ <path fill="currentColor" d="M-313.6 281.3l-4.24-7.33h8.46z"/>
25
+ <path fill="currentColor" d="M-318.32 289.43l-4.23-7.33h8.46z"/>
26
+ <path fill="currentColor" d="M-304.67 281.57h-8.46l4.23-7.33z"/>
27
+ <path fill="currentColor" d="M-308.9 289.43l-4.23-7.33h8.46z"/>
28
+ <path fill="currentColor" opacity="0.7" d="M-341.76 281.3l-4.22-7.33h8.45z"/>
29
+ <path fill="currentColor" opacity="0.7" d="M-332.87 281.57h-8.46l4.23-7.33z"/>
30
+ <path fill="currentColor" opacity="0.7" d="M-337.1 289.43l-4.23-7.33h8.46z"/>
31
+ <path fill="currentColor" opacity="0.7" d="M-327.68 289.43l-4.23-7.33h8.43z"/>
32
+ <path fill="currentColor" opacity="0.7" d="M-328.16 289.7h-8.46l4.23-7.33z"/>
33
+ <path fill="currentColor" d="M-318.75 289.7h-8.5l4.28-7.33z"/>
34
+ <path fill="currentColor" d="M-300.02 289.7h-8.45l4.23-7.33z"/>
35
+ </g>
36
+ </svg>
37
+ }, true);
38
+
@@ -1,15 +1,15 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('drop-down', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="0 0 20 20">
9
- <path fill="currentColor"
10
- strokeWidth="0"
11
- stroke="currentColor"
12
- d="M4.516 8.147L10.01 12.5l5.474-4.33-.473-.65-5 3.98-5-4z"/>
13
- </svg>
14
- }, true);
15
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('drop-down', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="0 0 20 20">
9
+ <path fill="currentColor"
10
+ strokeWidth="0"
11
+ stroke="currentColor"
12
+ d="M4.516 8.147L10.01 12.5l5.474-4.33-.473-.65-5 3.98-5-4z"/>
13
+ </svg>
14
+ }, true);
15
+
@@ -1,13 +1,13 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('file', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="0 0 16 16">
9
- <path d="M2 2h5v5h5v7H2z" fill="currentColor" stroke="none"/>
10
- <path d="M8 2v4h4z" fill="currentColor" stroke="none"/>
11
- </svg>
12
- }, true);
13
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('file', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="0 0 16 16">
9
+ <path d="M2 2h5v5h5v7H2z" fill="currentColor" stroke="none"/>
10
+ <path d="M8 2v4h4z" fill="currentColor" stroke="none"/>
11
+ </svg>
12
+ }, true);
13
+
@@ -1,15 +1,15 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('folder-open', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="0 0 16 16">
9
-
10
- <path d="M0 5v7l2.5-6H13V5zm1 0h6L6 3H2z" fill="currentColor" stroke="none"/>
11
- <path d="M3 7h13l-3 7H0z" fill="currentColor" stroke="none"/>
12
-
13
- </svg>
14
- }, true);
15
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('folder-open', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="0 0 16 16">
9
+
10
+ <path d="M0 5v7l2.5-6H13V5zm1 0h6L6 3H2z" fill="currentColor" stroke="none"/>
11
+ <path d="M3 7h13l-3 7H0z" fill="currentColor" stroke="none"/>
12
+
13
+ </svg>
14
+ }, true);
15
+
@@ -1,13 +1,13 @@
1
- /** @jsxImportSource react */
2
- import {VDOM} from '../../ui/Widget';
3
- import {registerIcon} from './registry';
4
-
5
- export default registerIcon('folder', (props: any) => {
6
- return <svg
7
- {...props}
8
- viewBox="0 0 16 16">
9
-
10
- <path d="M1 5h13v9H1zm1 0h6L7 3H3z" fill="currentColor" stroke="none"/>
11
- </svg>
12
- }, true);
13
-
1
+ /** @jsxImportSource react */
2
+ import {VDOM} from '../../ui/Widget';
3
+ import {registerIcon} from './registry';
4
+
5
+ export default registerIcon('folder', (props: any) => {
6
+ return <svg
7
+ {...props}
8
+ viewBox="0 0 16 16">
9
+
10
+ <path d="M1 5h13v9H1zm1 0h6L7 3H3z" fill="currentColor" stroke="none"/>
11
+ </svg>
12
+ }, true);
13
+