cx 26.0.14 → 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 (249) 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/dist/manifest.js +816 -816
  23. package/dist/ui.js +3 -10
  24. package/dist/widgets.js +18 -6
  25. package/package.json +9 -8
  26. package/src/charts/Chart.ts +108 -108
  27. package/src/data/ArrayElementView.ts +90 -90
  28. package/src/data/AugmentedViewBase.ts +88 -88
  29. package/src/data/Binding.ts +104 -104
  30. package/src/data/ExposedRecordView.ts +95 -95
  31. package/src/data/ExposedValueView.ts +89 -89
  32. package/src/data/Expression.spec.ts +229 -229
  33. package/src/data/Expression.ts +233 -233
  34. package/src/data/Grouper.spec.ts +57 -57
  35. package/src/data/Grouper.ts +158 -158
  36. package/src/data/NestedDataView.ts +43 -43
  37. package/src/data/ReadOnlyDataView.ts +39 -39
  38. package/src/data/Ref.ts +104 -104
  39. package/src/data/Selector.ts +10 -10
  40. package/src/data/Store.ts +52 -52
  41. package/src/data/StoreProxy.ts +19 -19
  42. package/src/data/StoreRef.ts +66 -66
  43. package/src/data/StringTemplate.spec.ts +132 -132
  44. package/src/data/StringTemplate.ts +93 -93
  45. package/src/data/StructuredSelector.spec.ts +113 -113
  46. package/src/data/StructuredSelector.ts +146 -146
  47. package/src/data/SubscribableView.ts +63 -63
  48. package/src/data/ZoomIntoPropertyView.spec.ts +64 -64
  49. package/src/data/ZoomIntoPropertyView.ts +45 -45
  50. package/src/data/computable.spec.ts +87 -87
  51. package/src/data/createStructuredSelector.ts +62 -62
  52. package/src/data/getAccessor.spec.ts +11 -11
  53. package/src/data/getAccessor.ts +74 -74
  54. package/src/data/getSelector.spec.ts +43 -43
  55. package/src/data/getSelector.ts +66 -66
  56. package/src/data/ops/filter.spec.ts +35 -35
  57. package/src/data/ops/filter.ts +9 -9
  58. package/src/data/ops/merge.ts +13 -13
  59. package/src/data/ops/removeTreeNodes.spec.ts +37 -37
  60. package/src/data/ops/updateArray.spec.ts +69 -69
  61. package/src/data/test-types.ts +7 -7
  62. package/src/hooks/useTrigger.ts +26 -26
  63. package/src/index.scss +6 -6
  64. package/src/jsx-dev-runtime.ts +4 -4
  65. package/src/svg/BoundedObject.ts +101 -101
  66. package/src/svg/util/Rect.ts +105 -105
  67. package/src/ui/CSSHelper.ts +17 -17
  68. package/src/ui/Culture.ts +159 -159
  69. package/src/ui/DataProxy.ts +55 -55
  70. package/src/ui/FocusManager.ts +171 -171
  71. package/src/ui/Instance.ts +866 -866
  72. package/src/ui/Prop.ts +140 -140
  73. package/src/ui/RenderingContext.ts +99 -99
  74. package/src/ui/Rescope.ts +49 -49
  75. package/src/ui/StructuredInstanceDataAccessor.ts +32 -32
  76. package/src/ui/VDOM.ts +1 -34
  77. package/src/ui/adapter/ArrayAdapter.spec.ts +55 -55
  78. package/src/ui/adapter/TreeAdapter.spec.ts +76 -76
  79. package/src/ui/adapter/TreeAdapter.ts +185 -185
  80. package/src/ui/app/History.ts +133 -133
  81. package/src/ui/app/Url.spec.ts +50 -50
  82. package/src/ui/app/startAppLoop.tsx +5 -9
  83. package/src/ui/app/startHotAppLoop.ts +41 -41
  84. package/src/ui/layout/Content.ts +30 -30
  85. package/src/ui/layout/FirstVisibleChildLayout.ts +60 -60
  86. package/src/util/Console.ts +13 -13
  87. package/src/util/Format.spec.ts +69 -69
  88. package/src/util/Format.ts +267 -267
  89. package/src/util/addEventListenerWithOptions.ts +41 -41
  90. package/src/util/browserSupportsPassiveEventHandlers.ts +20 -20
  91. package/src/util/color/rgbToHsl.ts +35 -35
  92. package/src/util/getActiveElement.ts +4 -4
  93. package/src/util/hasKey.ts +18 -18
  94. package/src/util/index.ts +55 -55
  95. package/src/util/innerTextTrim.ts +10 -10
  96. package/src/util/isArray.ts +3 -3
  97. package/src/util/isDataRecord.ts +5 -5
  98. package/src/util/isDefined.ts +3 -3
  99. package/src/util/isString.ts +3 -3
  100. package/src/widgets/DocumentTitle.ts +95 -95
  101. package/src/widgets/Sandbox.ts +103 -103
  102. package/src/widgets/autoFocus.ts +9 -9
  103. package/src/widgets/cx.ts +63 -63
  104. package/src/widgets/form/Checkbox.tsx +0 -1
  105. package/src/widgets/form/ColorField.tsx +15 -12
  106. package/src/widgets/form/DateTimeField.tsx +0 -2
  107. package/src/widgets/form/DateTimePicker.tsx +0 -2
  108. package/src/widgets/form/Radio.tsx +0 -1
  109. package/src/widgets/form/Slider.tsx +12 -4
  110. package/src/widgets/form/Switch.tsx +2 -3
  111. package/src/widgets/form/Wheel.tsx +0 -1
  112. package/src/widgets/grid/Grid.tsx +0 -1
  113. package/src/widgets/grid/GridCell.ts +143 -143
  114. package/src/widgets/grid/GridCellEditor.tsx +7 -1
  115. package/src/widgets/icons/calendar.tsx +17 -17
  116. package/src/widgets/icons/check.tsx +13 -13
  117. package/src/widgets/icons/clear.tsx +15 -15
  118. package/src/widgets/icons/close.tsx +20 -20
  119. package/src/widgets/icons/cx.tsx +38 -38
  120. package/src/widgets/icons/drop-down.tsx +15 -15
  121. package/src/widgets/icons/file.tsx +13 -13
  122. package/src/widgets/icons/folder-open.tsx +15 -15
  123. package/src/widgets/icons/folder.tsx +13 -13
  124. package/src/widgets/icons/forward.tsx +22 -22
  125. package/src/widgets/icons/loading.tsx +24 -24
  126. package/src/widgets/icons/menu.tsx +17 -17
  127. package/src/widgets/icons/pixel-picker.tsx +18 -18
  128. package/src/widgets/icons/search.tsx +13 -13
  129. package/src/widgets/icons/sort-asc.tsx +14 -14
  130. package/src/widgets/icons/square.tsx +18 -18
  131. package/src/widgets/nav/Route.ts +142 -142
  132. package/src/widgets/overlay/Dropdown.tsx +762 -762
  133. package/src/widgets/overlay/MsgBox.tsx +141 -141
  134. package/src/widgets/overlay/Overlay.tsx +5 -1
  135. package/src/widgets/overlay/Toast.ts +111 -111
  136. package/src/widgets/overlay/Window.tsx +299 -299
  137. package/src/widgets/overlay/alerts.ts +46 -46
  138. package/src/widgets/overlay/captureMouse.ts +195 -195
  139. package/src/widgets/overlay/createHotPromiseWindowFactory.ts +71 -71
  140. package/src/widgets/overlay/index.d.ts +11 -11
  141. package/src/widgets/overlay/index.ts +11 -11
  142. package/src/widgets/overlay/tooltip-ops.ts +173 -173
  143. package/build/data/ArrayElementView.spec.d.ts +0 -1
  144. package/build/data/ArrayElementView.spec.js +0 -81
  145. package/build/data/Binding.spec.d.ts +0 -1
  146. package/build/data/Binding.spec.js +0 -61
  147. package/build/data/Expression.spec.d.ts +0 -1
  148. package/build/data/Expression.spec.js +0 -196
  149. package/build/data/Grouper.spec.d.ts +0 -1
  150. package/build/data/Grouper.spec.js +0 -48
  151. package/build/data/Ref.spec.d.ts +0 -1
  152. package/build/data/Ref.spec.js +0 -72
  153. package/build/data/Store.spec.d.ts +0 -1
  154. package/build/data/Store.spec.js +0 -19
  155. package/build/data/StoreRef.spec.d.ts +0 -1
  156. package/build/data/StoreRef.spec.js +0 -22
  157. package/build/data/StringTemplate.spec.d.ts +0 -1
  158. package/build/data/StringTemplate.spec.js +0 -112
  159. package/build/data/StructuredSelector.spec.d.ts +0 -1
  160. package/build/data/StructuredSelector.spec.js +0 -102
  161. package/build/data/View.spec.d.ts +0 -1
  162. package/build/data/View.spec.js +0 -44
  163. package/build/data/ZoomIntoPropertyView.spec.d.ts +0 -1
  164. package/build/data/ZoomIntoPropertyView.spec.js +0 -54
  165. package/build/data/comparer.spec.d.ts +0 -1
  166. package/build/data/comparer.spec.js +0 -50
  167. package/build/data/computable.spec.d.ts +0 -1
  168. package/build/data/computable.spec.js +0 -56
  169. package/build/data/createAccessorModelProxy.spec.d.ts +0 -1
  170. package/build/data/createAccessorModelProxy.spec.js +0 -30
  171. package/build/data/createStructuredSelector.spec.d.ts +0 -1
  172. package/build/data/createStructuredSelector.spec.js +0 -42
  173. package/build/data/diff/diffs.spec.d.ts +0 -1
  174. package/build/data/diff/diffs.spec.js +0 -45
  175. package/build/data/getAccessor.spec.d.ts +0 -1
  176. package/build/data/getAccessor.spec.js +0 -10
  177. package/build/data/getSelector.spec.d.ts +0 -1
  178. package/build/data/getSelector.spec.js +0 -36
  179. package/build/data/ops/append.spec.d.ts +0 -1
  180. package/build/data/ops/append.spec.js +0 -24
  181. package/build/data/ops/filter.spec.d.ts +0 -1
  182. package/build/data/ops/filter.spec.js +0 -25
  183. package/build/data/ops/findTreeNode.spec.d.ts +0 -1
  184. package/build/data/ops/findTreeNode.spec.js +0 -20
  185. package/build/data/ops/merge.spec.d.ts +0 -1
  186. package/build/data/ops/merge.spec.js +0 -23
  187. package/build/data/ops/removeTreeNodes.spec.d.ts +0 -1
  188. package/build/data/ops/removeTreeNodes.spec.js +0 -35
  189. package/build/data/ops/updateArray.spec.d.ts +0 -1
  190. package/build/data/ops/updateArray.spec.js +0 -33
  191. package/build/data/ops/updateTree.spec.d.ts +0 -1
  192. package/build/data/ops/updateTree.spec.js +0 -44
  193. package/build/hooks/invokeCallback.spec.d.ts +0 -1
  194. package/build/hooks/invokeCallback.spec.js +0 -44
  195. package/build/hooks/resolveCallback.spec.d.ts +0 -1
  196. package/build/hooks/resolveCallback.spec.js +0 -35
  197. package/build/hooks/store.spec.d.ts +0 -1
  198. package/build/hooks/store.spec.js +0 -48
  199. package/build/hooks/useTrigger.spec.d.ts +0 -1
  200. package/build/hooks/useTrigger.spec.js +0 -59
  201. package/build/ui/Controller.spec.d.ts +0 -1
  202. package/build/ui/Controller.spec.js +0 -247
  203. package/build/ui/Cx.spec.d.ts +0 -1
  204. package/build/ui/Cx.spec.js +0 -153
  205. package/build/ui/DataProxy.spec.d.ts +0 -1
  206. package/build/ui/DataProxy.spec.js +0 -208
  207. package/build/ui/IsolatedScope.spec.d.ts +0 -1
  208. package/build/ui/IsolatedScope.spec.js +0 -42
  209. package/build/ui/PureContainer.spec.d.ts +0 -1
  210. package/build/ui/PureContainer.spec.js +0 -149
  211. package/build/ui/Repeater.spec.d.ts +0 -1
  212. package/build/ui/Repeater.spec.js +0 -109
  213. package/build/ui/Rescope.spec.d.ts +0 -1
  214. package/build/ui/Rescope.spec.js +0 -134
  215. package/build/ui/Restate.spec.d.ts +0 -1
  216. package/build/ui/Restate.spec.js +0 -257
  217. package/build/ui/adapter/ArrayAdapter.spec.d.ts +0 -1
  218. package/build/ui/adapter/ArrayAdapter.spec.js +0 -44
  219. package/build/ui/adapter/TreeAdapter.spec.d.ts +0 -1
  220. package/build/ui/adapter/TreeAdapter.spec.js +0 -71
  221. package/build/ui/app/Url.spec.d.ts +0 -1
  222. package/build/ui/app/Url.spec.js +0 -43
  223. package/build/ui/createFunctionalComponent.spec.d.ts +0 -1
  224. package/build/ui/createFunctionalComponent.spec.js +0 -272
  225. package/build/ui/layout/ContentPlaceholder.spec.d.ts +0 -1
  226. package/build/ui/layout/ContentPlaceholder.spec.js +0 -333
  227. package/build/ui/layout/FirstVisibleChildLayout.spec.d.ts +0 -1
  228. package/build/ui/layout/FirstVisibleChildLayout.spec.js +0 -101
  229. package/build/util/Format.spec.d.ts +0 -1
  230. package/build/util/Format.spec.js +0 -58
  231. package/build/util/TraversalStack.spec.d.ts +0 -1
  232. package/build/util/TraversalStack.spec.js +0 -43
  233. package/build/util/date/upperBoundCheck.spec.d.ts +0 -1
  234. package/build/util/date/upperBoundCheck.spec.js +0 -22
  235. package/build/util/getSearchQueryPredicate.spec.d.ts +0 -1
  236. package/build/util/getSearchQueryPredicate.spec.js +0 -33
  237. package/build/util/isValidIdentifierName.spec.d.ts +0 -1
  238. package/build/util/isValidIdentifierName.spec.js +0 -28
  239. package/build/util/routeAppend.spec.d.ts +0 -1
  240. package/build/util/routeAppend.spec.js +0 -14
  241. package/build/widgets/AccessorBindings.spec.d.ts +0 -1
  242. package/build/widgets/AccessorBindings.spec.js +0 -40
  243. package/build/widgets/HtmlElement.spec.d.ts +0 -1
  244. package/build/widgets/HtmlElement.spec.js +0 -38
  245. package/build/widgets/form/ValidationGroup.spec.d.ts +0 -1
  246. package/build/widgets/form/ValidationGroup.spec.js +0 -62
  247. package/build/widgets/nav/Route.spec.d.ts +0 -1
  248. package/build/widgets/nav/Route.spec.js +0 -15
  249. 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
+