cx 26.1.11 → 26.1.12

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 (563) hide show
  1. package/.mocharc.json +5 -5
  2. package/LICENSE-THIRD-PARTY.md +91 -91
  3. package/LICENSE.md +7 -7
  4. package/README.md +46 -46
  5. package/build/util/Component.js +7 -7
  6. package/build.js +133 -133
  7. package/dist/manifest.js +867 -867
  8. package/dist/util.js +6 -5
  9. package/package.json +100 -100
  10. package/src/charts/Bar.scss +28 -28
  11. package/src/charts/Bar.ts +114 -114
  12. package/src/charts/BarGraph.scss +28 -28
  13. package/src/charts/BarGraph.tsx +145 -145
  14. package/src/charts/BubbleGraph.scss +31 -31
  15. package/src/charts/BubbleGraph.tsx +165 -165
  16. package/src/charts/Chart.ts +108 -108
  17. package/src/charts/ColorMap.ts +150 -150
  18. package/src/charts/Column.scss +28 -28
  19. package/src/charts/Column.ts +124 -124
  20. package/src/charts/ColumnBarBase.tsx +284 -284
  21. package/src/charts/ColumnBarGraphBase.tsx +229 -229
  22. package/src/charts/ColumnGraph.scss +29 -29
  23. package/src/charts/ColumnGraph.tsx +153 -153
  24. package/src/charts/Grid.ts +5 -5
  25. package/src/charts/Gridlines.scss +24 -24
  26. package/src/charts/Gridlines.tsx +88 -88
  27. package/src/charts/Legend.scss +50 -50
  28. package/src/charts/Legend.tsx +270 -270
  29. package/src/charts/LegendEntry.scss +29 -29
  30. package/src/charts/LegendEntry.tsx +197 -197
  31. package/src/charts/LineGraph.scss +24 -24
  32. package/src/charts/LineGraph.tsx +455 -455
  33. package/src/charts/Marker.scss +43 -43
  34. package/src/charts/Marker.tsx +483 -483
  35. package/src/charts/MarkerLine.scss +19 -19
  36. package/src/charts/MarkerLine.tsx +214 -214
  37. package/src/charts/MouseTracker.tsx +112 -112
  38. package/src/charts/Pie.ts +8 -8
  39. package/src/charts/PieChart.scss +28 -28
  40. package/src/charts/PieChart.tsx +717 -717
  41. package/src/charts/PieLabel.tsx +106 -106
  42. package/src/charts/PieLabelsContainer.ts +68 -68
  43. package/src/charts/Range.scss +19 -19
  44. package/src/charts/Range.tsx +318 -318
  45. package/src/charts/RangeMarker.scss +17 -17
  46. package/src/charts/RangeMarker.tsx +233 -233
  47. package/src/charts/ScatterGraph.scss +23 -23
  48. package/src/charts/ScatterGraph.tsx +245 -245
  49. package/src/charts/Swimlane.scss +16 -16
  50. package/src/charts/Swimlane.tsx +195 -195
  51. package/src/charts/Swimlanes.scss +16 -16
  52. package/src/charts/Swimlanes.tsx +179 -179
  53. package/src/charts/axis/Axis.scss +22 -22
  54. package/src/charts/axis/Axis.tsx +444 -444
  55. package/src/charts/axis/CategoryAxis.scss +34 -34
  56. package/src/charts/axis/CategoryAxis.tsx +313 -313
  57. package/src/charts/axis/NumericAxis.scss +34 -34
  58. package/src/charts/axis/NumericAxis.tsx +437 -437
  59. package/src/charts/axis/Stack.ts +61 -61
  60. package/src/charts/axis/TimeAxis.scss +33 -33
  61. package/src/charts/axis/TimeAxis.tsx +718 -718
  62. package/src/charts/axis/index.scss +5 -5
  63. package/src/charts/axis/index.ts +3 -3
  64. package/src/charts/axis/variables.scss +2 -2
  65. package/src/charts/helpers/MinMaxFinder.ts +66 -66
  66. package/src/charts/helpers/PointReducer.ts +135 -135
  67. package/src/charts/helpers/SnapPointFinder.ts +136 -136
  68. package/src/charts/helpers/ValueAtFinder.ts +72 -72
  69. package/src/charts/helpers/index.ts +4 -4
  70. package/src/charts/index.scss +22 -22
  71. package/src/charts/index.ts +34 -34
  72. package/src/charts/palette.scss +97 -97
  73. package/src/charts/shapes.tsx +86 -86
  74. package/src/charts/variables.scss +22 -22
  75. package/src/core.d.ts +182 -182
  76. package/src/data/AggregateFunction.ts +171 -171
  77. package/src/data/ArrayElementView.spec.ts +88 -88
  78. package/src/data/ArrayElementView.ts +91 -91
  79. package/src/data/ArrayRef.ts +34 -34
  80. package/src/data/AugmentedViewBase.ts +88 -88
  81. package/src/data/Binding.spec.ts +69 -69
  82. package/src/data/Binding.ts +107 -107
  83. package/src/data/ExposedRecordView.ts +95 -95
  84. package/src/data/ExposedValueView.ts +89 -89
  85. package/src/data/Expression.spec.ts +229 -229
  86. package/src/data/Expression.ts +233 -233
  87. package/src/data/Grouper.spec.ts +57 -57
  88. package/src/data/Grouper.ts +158 -158
  89. package/src/data/NestedDataView.ts +43 -43
  90. package/src/data/ReadOnlyDataView.ts +39 -39
  91. package/src/data/Ref.spec.ts +79 -79
  92. package/src/data/Ref.ts +104 -104
  93. package/src/data/Selector.ts +10 -10
  94. package/src/data/Store.spec.ts +22 -22
  95. package/src/data/Store.ts +52 -52
  96. package/src/data/StoreProxy.ts +19 -19
  97. package/src/data/StoreRef.spec.ts +24 -24
  98. package/src/data/StoreRef.ts +66 -66
  99. package/src/data/StringTemplate.spec.ts +132 -132
  100. package/src/data/StringTemplate.ts +93 -93
  101. package/src/data/StructuredSelector.spec.ts +113 -113
  102. package/src/data/StructuredSelector.ts +146 -146
  103. package/src/data/SubscribableView.ts +63 -63
  104. package/src/data/View.spec.ts +60 -60
  105. package/src/data/View.ts +289 -289
  106. package/src/data/ZoomIntoPropertyView.spec.ts +64 -64
  107. package/src/data/ZoomIntoPropertyView.ts +45 -45
  108. package/src/data/comparer.spec.ts +60 -60
  109. package/src/data/comparer.ts +78 -78
  110. package/src/data/computable.spec.ts +87 -87
  111. package/src/data/computable.ts +69 -69
  112. package/src/data/createAccessorModelProxy.spec.tsx +145 -145
  113. package/src/data/createAccessorModelProxy.ts +66 -66
  114. package/src/data/createStructuredSelector.spec.ts +45 -45
  115. package/src/data/createStructuredSelector.ts +62 -62
  116. package/src/data/defaultCompare.ts +14 -14
  117. package/src/data/diff/diffArrays.ts +49 -49
  118. package/src/data/diff/diffs.spec.ts +49 -49
  119. package/src/data/diff/index.ts +1 -1
  120. package/src/data/enableFatArrowExpansion.ts +6 -6
  121. package/src/data/getAccessor.spec.ts +11 -11
  122. package/src/data/getAccessor.ts +74 -74
  123. package/src/data/getSelector.spec.ts +43 -43
  124. package/src/data/getSelector.ts +66 -66
  125. package/src/data/index.ts +30 -30
  126. package/src/data/isSelector.ts +26 -26
  127. package/src/data/ops/append.spec.ts +28 -28
  128. package/src/data/ops/append.ts +5 -5
  129. package/src/data/ops/filter.spec.ts +35 -35
  130. package/src/data/ops/filter.ts +9 -9
  131. package/src/data/ops/findTreeNode.spec.ts +23 -23
  132. package/src/data/ops/findTreeNode.ts +14 -14
  133. package/src/data/ops/findTreePath.ts +23 -23
  134. package/src/data/ops/index.ts +11 -11
  135. package/src/data/ops/insertElement.ts +3 -3
  136. package/src/data/ops/merge.spec.ts +27 -27
  137. package/src/data/ops/merge.ts +13 -13
  138. package/src/data/ops/moveElement.ts +21 -21
  139. package/src/data/ops/removeTreeNodes.spec.ts +37 -37
  140. package/src/data/ops/removeTreeNodes.ts +15 -15
  141. package/src/data/ops/updateArray.spec.ts +69 -69
  142. package/src/data/ops/updateArray.ts +31 -31
  143. package/src/data/ops/updateTree.spec.ts +54 -54
  144. package/src/data/ops/updateTree.ts +23 -23
  145. package/src/data/test-types.ts +7 -7
  146. package/src/global.scss +13 -13
  147. package/src/hooks/createLocalStorageRef.ts +21 -21
  148. package/src/hooks/index.ts +8 -8
  149. package/src/hooks/invokeCallback.spec.tsx +59 -59
  150. package/src/hooks/invokeCallback.ts +8 -8
  151. package/src/hooks/resolveCallback.spec.tsx +71 -71
  152. package/src/hooks/resolveCallback.ts +16 -16
  153. package/src/hooks/store.spec.tsx +67 -67
  154. package/src/hooks/store.ts +46 -46
  155. package/src/hooks/useEffect.ts +14 -14
  156. package/src/hooks/useInterval.ts +8 -8
  157. package/src/hooks/useState.ts +20 -20
  158. package/src/hooks/useTrigger.spec.tsx +105 -105
  159. package/src/hooks/useTrigger.ts +26 -26
  160. package/src/index.ts +7 -7
  161. package/src/jsx-dev-runtime.ts +4 -4
  162. package/src/jsx-runtime.spec.tsx +468 -468
  163. package/src/jsx-runtime.ts +84 -84
  164. package/src/locale/de-de.ts +76 -76
  165. package/src/locale/en-us.ts +75 -75
  166. package/src/locale/es-es.ts +76 -76
  167. package/src/locale/fr-fr.ts +76 -76
  168. package/src/locale/nl-nl.ts +76 -76
  169. package/src/locale/pt-pt.ts +76 -76
  170. package/src/locale/sr-latn-ba.ts +76 -76
  171. package/src/svg/BoundedObject.ts +101 -101
  172. package/src/svg/ClipRect.tsx +29 -29
  173. package/src/svg/Ellipse.tsx +68 -68
  174. package/src/svg/Line.tsx +58 -58
  175. package/src/svg/NonOverlappingRect.ts +26 -26
  176. package/src/svg/NonOverlappingRectGroup.ts +49 -49
  177. package/src/svg/Rectangle.tsx +90 -90
  178. package/src/svg/Svg.scss +27 -27
  179. package/src/svg/Svg.tsx +241 -241
  180. package/src/svg/Text.tsx +134 -134
  181. package/src/svg/TextualBoundedObject.ts +35 -35
  182. package/src/svg/index.scss +8 -8
  183. package/src/svg/index.ts +17 -17
  184. package/src/svg/util/Rect.ts +105 -105
  185. package/src/ui/CSS.ts +87 -87
  186. package/src/ui/CSSHelper.ts +17 -17
  187. package/src/ui/Container.spec.ts +28 -28
  188. package/src/ui/Container.tsx +220 -220
  189. package/src/ui/ContentResolver.spec.tsx +585 -585
  190. package/src/ui/ContentResolver.ts +132 -132
  191. package/src/ui/Controller.spec.tsx +574 -574
  192. package/src/ui/Controller.ts +202 -202
  193. package/src/ui/Culture.ts +159 -159
  194. package/src/ui/Cx.spec.tsx +210 -210
  195. package/src/ui/Cx.tsx +386 -386
  196. package/src/ui/DataProxy.spec.tsx +337 -337
  197. package/src/ui/DataProxy.ts +55 -55
  198. package/src/ui/DetachedScope.tsx +159 -159
  199. package/src/ui/FocusManager.ts +171 -171
  200. package/src/ui/Format.ts +108 -108
  201. package/src/ui/HoverSync.tsx +189 -189
  202. package/src/ui/Instance.ts +866 -866
  203. package/src/ui/IsolatedScope.spec.tsx +62 -62
  204. package/src/ui/IsolatedScope.ts +50 -50
  205. package/src/ui/Localization.ts +70 -70
  206. package/src/ui/Prop.ts +141 -141
  207. package/src/ui/PureContainer.spec.tsx +232 -232
  208. package/src/ui/PureContainer.tsx +19 -19
  209. package/src/ui/RenderingContext.ts +99 -99
  210. package/src/ui/Repeater.spec.tsx +143 -143
  211. package/src/ui/Repeater.ts +194 -194
  212. package/src/ui/Rescope.spec.tsx +199 -199
  213. package/src/ui/Rescope.ts +50 -50
  214. package/src/ui/ResizeManager.ts +30 -30
  215. package/src/ui/Restate.spec.tsx +422 -422
  216. package/src/ui/Restate.tsx +217 -217
  217. package/src/ui/StaticText.ts +11 -11
  218. package/src/ui/StructuredInstanceDataAccessor.ts +32 -32
  219. package/src/ui/Text.ts +49 -49
  220. package/src/ui/VDOM.ts +1 -1
  221. package/src/ui/Widget.spec.tsx +53 -53
  222. package/src/ui/Widget.tsx +301 -301
  223. package/src/ui/ZIndexManager.ts +11 -11
  224. package/src/ui/adapter/ArrayAdapter.spec.ts +55 -55
  225. package/src/ui/adapter/ArrayAdapter.ts +229 -229
  226. package/src/ui/adapter/DataAdapter.ts +52 -52
  227. package/src/ui/adapter/GroupAdapter.ts +235 -235
  228. package/src/ui/adapter/TreeAdapter.spec.ts +76 -76
  229. package/src/ui/adapter/TreeAdapter.ts +185 -185
  230. package/src/ui/adapter/index.ts +4 -4
  231. package/src/ui/app/History.ts +147 -147
  232. package/src/ui/app/Url.spec.ts +50 -50
  233. package/src/ui/app/Url.ts +102 -102
  234. package/src/ui/app/index.ts +5 -5
  235. package/src/ui/app/startAppLoop.tsx +71 -71
  236. package/src/ui/app/startHotAppLoop.ts +41 -41
  237. package/src/ui/batchUpdates.ts +77 -77
  238. package/src/ui/bind.ts +10 -10
  239. package/src/ui/createFunctionalComponent.spec.tsx +550 -540
  240. package/src/ui/createFunctionalComponent.ts +86 -86
  241. package/src/ui/expr.ts +47 -47
  242. package/src/ui/exprHelpers.spec.ts +412 -412
  243. package/src/ui/exprHelpers.ts +96 -96
  244. package/src/ui/flattenProps.ts +21 -21
  245. package/src/ui/index.scss +2 -2
  246. package/src/ui/index.ts +47 -47
  247. package/src/ui/keyboardShortcuts.ts +50 -50
  248. package/src/ui/layout/Content.ts +30 -30
  249. package/src/ui/layout/ContentPlaceholder.spec.tsx +599 -599
  250. package/src/ui/layout/ContentPlaceholder.ts +133 -133
  251. package/src/ui/layout/FirstVisibleChildLayout.spec.tsx +207 -207
  252. package/src/ui/layout/FirstVisibleChildLayout.ts +60 -60
  253. package/src/ui/layout/LabelsLeftLayout.scss +46 -46
  254. package/src/ui/layout/LabelsLeftLayout.tsx +76 -76
  255. package/src/ui/layout/LabelsTopLayout.scss +64 -64
  256. package/src/ui/layout/LabelsTopLayout.tsx +156 -156
  257. package/src/ui/layout/UseParentLayout.ts +8 -8
  258. package/src/ui/layout/exploreChildren.ts +38 -38
  259. package/src/ui/layout/index.scss +3 -3
  260. package/src/ui/layout/index.ts +10 -10
  261. package/src/ui/layout/variables.scss +2 -2
  262. package/src/ui/selection/KeySelection.ts +153 -153
  263. package/src/ui/selection/PropertySelection.ts +87 -87
  264. package/src/ui/selection/Selection.ts +128 -128
  265. package/src/ui/selection/index.ts +3 -3
  266. package/src/ui/tpl.spec.ts +69 -69
  267. package/src/ui/tpl.ts +17 -17
  268. package/src/ui/variables.scss +1 -1
  269. package/src/util/Component.spec.ts +78 -28
  270. package/src/util/Component.ts +12 -15
  271. package/src/util/Console.ts +13 -13
  272. package/src/util/DOM.ts +88 -88
  273. package/src/util/Debug.ts +71 -71
  274. package/src/util/Format.spec.ts +69 -69
  275. package/src/util/Format.ts +267 -267
  276. package/src/util/GlobalCacheIdentifier.ts +11 -11
  277. package/src/util/KeyCode.ts +21 -21
  278. package/src/util/SubscriberList.ts +86 -86
  279. package/src/util/Timing.ts +58 -58
  280. package/src/util/TraversalStack.spec.ts +53 -53
  281. package/src/util/TraversalStack.ts +47 -47
  282. package/src/util/addEventListenerWithOptions.ts +41 -41
  283. package/src/util/browserSupportsPassiveEventHandlers.ts +20 -20
  284. package/src/util/calculateNaturalElementHeight.ts +22 -22
  285. package/src/util/call-once.scss +6 -6
  286. package/src/util/capitalize.ts +4 -4
  287. package/src/util/coalesce.ts +6 -6
  288. package/src/util/color/hslToRgb.ts +34 -34
  289. package/src/util/color/index.ts +4 -4
  290. package/src/util/color/parseColor.ts +173 -173
  291. package/src/util/color/rgbToHex.ts +14 -14
  292. package/src/util/color/rgbToHsl.ts +35 -35
  293. package/src/util/date/dateDiff.ts +9 -9
  294. package/src/util/date/diff.ts +13 -13
  295. package/src/util/date/encodeDate.ts +8 -8
  296. package/src/util/date/encodeDateWithTimezoneOffset.ts +18 -18
  297. package/src/util/date/index.ts +11 -11
  298. package/src/util/date/lowerBoundCheck.ts +13 -13
  299. package/src/util/date/maxDate.ts +14 -14
  300. package/src/util/date/minDate.ts +14 -14
  301. package/src/util/date/monthStart.ts +8 -8
  302. package/src/util/date/parseDateInvariant.ts +20 -20
  303. package/src/util/date/sameDate.ts +11 -11
  304. package/src/util/date/upperBoundCheck.spec.ts +30 -30
  305. package/src/util/date/upperBoundCheck.ts +13 -13
  306. package/src/util/date/zeroTime.ts +9 -9
  307. package/src/util/debounce.ts +26 -26
  308. package/src/util/dummyCallback.ts +1 -1
  309. package/src/util/escapeSpecialRegexCharacters.ts +8 -8
  310. package/src/util/eventCallbacks.ts +12 -12
  311. package/src/util/expandFatArrows.ts +118 -118
  312. package/src/util/findScrollableParent.ts +15 -15
  313. package/src/util/getActiveElement.ts +4 -4
  314. package/src/util/getParentFrameBoundingClientRect.ts +13 -13
  315. package/src/util/getScrollerBoundingClientRect.ts +12 -12
  316. package/src/util/getSearchQueryPredicate.spec.ts +40 -40
  317. package/src/util/getSearchQueryPredicate.ts +58 -58
  318. package/src/util/getTopLevelBoundingClientRect.ts +7 -7
  319. package/src/util/getVendorPrefix.ts +33 -33
  320. package/src/util/hasKey.ts +18 -18
  321. package/src/util/index.scss +10 -10
  322. package/src/util/index.ts +55 -55
  323. package/src/util/innerTextTrim.ts +10 -10
  324. package/src/util/isArray.ts +3 -3
  325. package/src/util/isDataRecord.ts +5 -5
  326. package/src/util/isDefined.ts +3 -3
  327. package/src/util/isDigit.ts +8 -8
  328. package/src/util/isFunction.ts +3 -3
  329. package/src/util/isNonEmptyArray.ts +3 -3
  330. package/src/util/isNumber.ts +3 -3
  331. package/src/util/isObject.ts +3 -3
  332. package/src/util/isPromise.ts +6 -6
  333. package/src/util/isString.ts +3 -3
  334. package/src/util/isTextInputElement.ts +2 -2
  335. package/src/util/isTouchDevice.ts +7 -7
  336. package/src/util/isTouchEvent.ts +64 -64
  337. package/src/util/isUndefined.ts +3 -3
  338. package/src/util/isValidIdentifierName.spec.ts +33 -33
  339. package/src/util/isValidIdentifierName.ts +5 -5
  340. package/src/util/onIdleCallback.ts +10 -10
  341. package/src/util/parseStyle.ts +29 -29
  342. package/src/util/quote.ts +6 -6
  343. package/src/util/reverseSlice.ts +9 -9
  344. package/src/util/routeAppend.spec.ts +19 -19
  345. package/src/util/routeAppend.ts +15 -15
  346. package/src/util/scrollElementIntoView.ts +40 -40
  347. package/src/util/scss/add-rules.scss +40 -40
  348. package/src/util/scss/calc.scss +44 -44
  349. package/src/util/scss/call-once.scss +12 -12
  350. package/src/util/scss/clockwise.scss +49 -49
  351. package/src/util/scss/colors.scss +9 -9
  352. package/src/util/scss/deep-get.scss +11 -11
  353. package/src/util/scss/deep-merge.scss +21 -21
  354. package/src/util/scss/divide.scss +3 -3
  355. package/src/util/scss/include.scss +48 -48
  356. package/src/util/scss/index.scss +9 -9
  357. package/src/util/shallowEquals.ts +43 -43
  358. package/src/util/test/createTestRenderer.tsx +19 -19
  359. package/src/util/throttle.ts +21 -21
  360. package/src/util/validatedDebounce.ts +23 -23
  361. package/src/variables.scss +217 -217
  362. package/src/widgets/AccessorBindings.spec.tsx +90 -90
  363. package/src/widgets/Button.scss +119 -119
  364. package/src/widgets/Button.tsx +189 -189
  365. package/src/widgets/Button.variables.scss +117 -117
  366. package/src/widgets/CxCredit.scss +39 -39
  367. package/src/widgets/CxCredit.tsx +46 -46
  368. package/src/widgets/DocumentTitle.ts +95 -95
  369. package/src/widgets/FlexBox.scss +148 -148
  370. package/src/widgets/FlexBox.tsx +168 -168
  371. package/src/widgets/Heading.scss +40 -40
  372. package/src/widgets/Heading.ts +42 -42
  373. package/src/widgets/HighlightedSearchText.scss +20 -20
  374. package/src/widgets/HighlightedSearchText.tsx +54 -54
  375. package/src/widgets/HtmlElement.spec.helpers.tsx +108 -108
  376. package/src/widgets/HtmlElement.spec.tsx +89 -89
  377. package/src/widgets/HtmlElement.tsx +467 -467
  378. package/src/widgets/Icon.scss +22 -22
  379. package/src/widgets/Icon.ts +64 -64
  380. package/src/widgets/List.scss +93 -93
  381. package/src/widgets/List.tsx +793 -793
  382. package/src/widgets/ProgressBar.scss +55 -55
  383. package/src/widgets/ProgressBar.tsx +66 -66
  384. package/src/widgets/ReactElementWrapper.spec.tsx +452 -452
  385. package/src/widgets/ReactElementWrapper.tsx +108 -108
  386. package/src/widgets/Resizer.scss +43 -43
  387. package/src/widgets/Resizer.tsx +200 -200
  388. package/src/widgets/Sandbox.ts +104 -104
  389. package/src/widgets/Section.tsx +187 -187
  390. package/src/widgets/animations.scss +10 -10
  391. package/src/widgets/autoFocus.ts +9 -9
  392. package/src/widgets/cx.ts +63 -63
  393. package/src/widgets/drag-drop/DragClone.scss +35 -35
  394. package/src/widgets/drag-drop/DragHandle.scss +18 -18
  395. package/src/widgets/drag-drop/DragHandle.tsx +47 -47
  396. package/src/widgets/drag-drop/DragSource.scss +26 -26
  397. package/src/widgets/drag-drop/DragSource.tsx +237 -237
  398. package/src/widgets/drag-drop/DropZone.scss +74 -74
  399. package/src/widgets/drag-drop/DropZone.tsx +353 -353
  400. package/src/widgets/drag-drop/index.scss +3 -3
  401. package/src/widgets/drag-drop/index.ts +4 -4
  402. package/src/widgets/drag-drop/ops.tsx +422 -422
  403. package/src/widgets/drag-drop/variables.scss +14 -14
  404. package/src/widgets/enableAllInternalDependencies.ts +11 -11
  405. package/src/widgets/form/Calendar.scss +199 -199
  406. package/src/widgets/form/Calendar.tsx +760 -760
  407. package/src/widgets/form/Calendar.variables.scss +63 -63
  408. package/src/widgets/form/Checkbox.scss +129 -129
  409. package/src/widgets/form/Checkbox.tsx +287 -287
  410. package/src/widgets/form/Checkbox.variables.scss +39 -39
  411. package/src/widgets/form/ColorField.scss +98 -98
  412. package/src/widgets/form/ColorField.tsx +497 -497
  413. package/src/widgets/form/ColorPicker.scss +285 -285
  414. package/src/widgets/form/ColorPicker.tsx +544 -544
  415. package/src/widgets/form/ColorPicker.variables.scss +22 -22
  416. package/src/widgets/form/DateField.ts +21 -21
  417. package/src/widgets/form/DateTimeField.scss +92 -92
  418. package/src/widgets/form/DateTimeField.tsx +726 -726
  419. package/src/widgets/form/DateTimePicker.scss +46 -46
  420. package/src/widgets/form/DateTimePicker.tsx +429 -429
  421. package/src/widgets/form/Field.scss +164 -164
  422. package/src/widgets/form/Field.tsx +608 -608
  423. package/src/widgets/form/FieldGroup.ts +10 -10
  424. package/src/widgets/form/FieldIcon.ts +61 -61
  425. package/src/widgets/form/HelpText.scss +24 -24
  426. package/src/widgets/form/HelpText.ts +15 -15
  427. package/src/widgets/form/Label.scss +37 -37
  428. package/src/widgets/form/Label.tsx +117 -117
  429. package/src/widgets/form/LabeledContainer.ts +77 -77
  430. package/src/widgets/form/LookupField.scss +221 -221
  431. package/src/widgets/form/LookupField.spec.tsx +93 -93
  432. package/src/widgets/form/LookupField.tsx +1421 -1421
  433. package/src/widgets/form/MonthField.scss +100 -100
  434. package/src/widgets/form/MonthField.tsx +670 -670
  435. package/src/widgets/form/MonthPicker.scss +125 -125
  436. package/src/widgets/form/MonthPicker.tsx +831 -831
  437. package/src/widgets/form/NumberField.scss +63 -63
  438. package/src/widgets/form/NumberField.tsx +543 -543
  439. package/src/widgets/form/Radio.scss +123 -123
  440. package/src/widgets/form/Radio.tsx +249 -249
  441. package/src/widgets/form/Radio.variables.scss +45 -45
  442. package/src/widgets/form/Select.scss +101 -101
  443. package/src/widgets/form/Select.tsx +327 -327
  444. package/src/widgets/form/Slider.scss +121 -121
  445. package/src/widgets/form/Slider.tsx +473 -473
  446. package/src/widgets/form/Switch.scss +142 -142
  447. package/src/widgets/form/Switch.tsx +176 -176
  448. package/src/widgets/form/TextArea.scss +45 -45
  449. package/src/widgets/form/TextArea.tsx +229 -229
  450. package/src/widgets/form/TextField.scss +57 -57
  451. package/src/widgets/form/TextField.tsx +465 -465
  452. package/src/widgets/form/TimeField.ts +10 -10
  453. package/src/widgets/form/TimeList.tsx +105 -105
  454. package/src/widgets/form/UploadButton.scss +49 -49
  455. package/src/widgets/form/UploadButton.tsx +307 -307
  456. package/src/widgets/form/ValidationError.scss +22 -22
  457. package/src/widgets/form/ValidationError.tsx +72 -72
  458. package/src/widgets/form/ValidationGroup.spec.tsx +147 -147
  459. package/src/widgets/form/ValidationGroup.ts +141 -141
  460. package/src/widgets/form/Validator.ts +60 -60
  461. package/src/widgets/form/Wheel.scss +152 -152
  462. package/src/widgets/form/Wheel.tsx +314 -314
  463. package/src/widgets/form/index.scss +24 -24
  464. package/src/widgets/form/index.ts +28 -28
  465. package/src/widgets/form/variables.scss +355 -355
  466. package/src/widgets/grid/Grid.scss +640 -640
  467. package/src/widgets/grid/Grid.tsx +4246 -4246
  468. package/src/widgets/grid/GridCell.ts +143 -143
  469. package/src/widgets/grid/GridCellEditor.tsx +58 -58
  470. package/src/widgets/grid/GridRow.ts +302 -302
  471. package/src/widgets/grid/GridRowLine.ts +49 -49
  472. package/src/widgets/grid/Pagination.scss +115 -115
  473. package/src/widgets/grid/Pagination.tsx +126 -126
  474. package/src/widgets/grid/TreeNode.scss +90 -90
  475. package/src/widgets/grid/TreeNode.tsx +154 -154
  476. package/src/widgets/grid/createGridCellEditor.tsx +18 -18
  477. package/src/widgets/grid/index.scss +3 -3
  478. package/src/widgets/grid/index.ts +16 -16
  479. package/src/widgets/grid/variables.scss +137 -137
  480. package/src/widgets/icons/arrow-down.svg +3 -3
  481. package/src/widgets/icons/arrow-right.svg +2 -2
  482. package/src/widgets/icons/base.svg +104 -104
  483. package/src/widgets/icons/calendar-old.svg +169 -169
  484. package/src/widgets/icons/calendar.svg +187 -187
  485. package/src/widgets/icons/calendar.tsx +22 -22
  486. package/src/widgets/icons/check.tsx +14 -14
  487. package/src/widgets/icons/clear.svg +74 -74
  488. package/src/widgets/icons/clear.tsx +16 -16
  489. package/src/widgets/icons/close.svg +74 -74
  490. package/src/widgets/icons/close.tsx +20 -20
  491. package/src/widgets/icons/cx.tsx +39 -39
  492. package/src/widgets/icons/drop-down.tsx +16 -16
  493. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  494. package/src/widgets/icons/file.svg +4 -4
  495. package/src/widgets/icons/file.tsx +14 -14
  496. package/src/widgets/icons/folder-open.svg +5 -5
  497. package/src/widgets/icons/folder-open.tsx +16 -16
  498. package/src/widgets/icons/folder.svg +58 -58
  499. package/src/widgets/icons/folder.tsx +14 -14
  500. package/src/widgets/icons/forward.svg +67 -67
  501. package/src/widgets/icons/forward.tsx +23 -23
  502. package/src/widgets/icons/index.ts +14 -14
  503. package/src/widgets/icons/loading.svg +4 -4
  504. package/src/widgets/icons/loading.tsx +25 -25
  505. package/src/widgets/icons/menu.tsx +18 -18
  506. package/src/widgets/icons/pixel-picker.tsx +18 -18
  507. package/src/widgets/icons/registry.ts +56 -56
  508. package/src/widgets/icons/search.svg +107 -107
  509. package/src/widgets/icons/search.tsx +14 -14
  510. package/src/widgets/icons/sort-asc.svg +3 -3
  511. package/src/widgets/icons/sort-asc.tsx +15 -15
  512. package/src/widgets/icons/square.tsx +19 -19
  513. package/src/widgets/index.d.ts +55 -55
  514. package/src/widgets/index.scss +16 -16
  515. package/src/widgets/index.ts +58 -58
  516. package/src/widgets/nav/Link.scss +20 -20
  517. package/src/widgets/nav/Link.ts +11 -11
  518. package/src/widgets/nav/LinkButton.ts +176 -176
  519. package/src/widgets/nav/Menu.scss +76 -76
  520. package/src/widgets/nav/Menu.tsx +489 -489
  521. package/src/widgets/nav/Menu.variables.scss +25 -25
  522. package/src/widgets/nav/MenuItem.scss +130 -130
  523. package/src/widgets/nav/MenuItem.tsx +525 -525
  524. package/src/widgets/nav/MenuSpacer.ts +18 -18
  525. package/src/widgets/nav/RedirectRoute.ts +49 -49
  526. package/src/widgets/nav/Route.spec.tsx +24 -24
  527. package/src/widgets/nav/Route.ts +142 -142
  528. package/src/widgets/nav/Scroller.scss +148 -148
  529. package/src/widgets/nav/Scroller.tsx +252 -252
  530. package/src/widgets/nav/Submenu.ts +6 -6
  531. package/src/widgets/nav/Tab.scss +82 -82
  532. package/src/widgets/nav/Tab.ts +120 -120
  533. package/src/widgets/nav/Tab.variables.scss +84 -84
  534. package/src/widgets/nav/cover.scss +22 -22
  535. package/src/widgets/nav/index.scss +5 -5
  536. package/src/widgets/nav/index.ts +10 -10
  537. package/src/widgets/nav/variables.scss +27 -27
  538. package/src/widgets/overlay/ContextMenu.ts +42 -42
  539. package/src/widgets/overlay/Dropdown.scss +186 -186
  540. package/src/widgets/overlay/Dropdown.tsx +762 -762
  541. package/src/widgets/overlay/FlyweightTooltipTracker.ts +80 -80
  542. package/src/widgets/overlay/MsgBox.tsx +141 -141
  543. package/src/widgets/overlay/Overlay.scss +68 -68
  544. package/src/widgets/overlay/Overlay.tsx +947 -947
  545. package/src/widgets/overlay/Toast.scss +163 -163
  546. package/src/widgets/overlay/Toast.ts +111 -111
  547. package/src/widgets/overlay/Tooltip.scss +177 -177
  548. package/src/widgets/overlay/Tooltip.tsx +393 -393
  549. package/src/widgets/overlay/Window.scss +129 -129
  550. package/src/widgets/overlay/Window.tsx +299 -299
  551. package/src/widgets/overlay/Window.variables.scss +62 -62
  552. package/src/widgets/overlay/alerts.ts +46 -46
  553. package/src/widgets/overlay/captureMouse.scss +13 -13
  554. package/src/widgets/overlay/captureMouse.ts +195 -195
  555. package/src/widgets/overlay/createHotPromiseWindowFactory.ts +71 -71
  556. package/src/widgets/overlay/index.scss +15 -15
  557. package/src/widgets/overlay/index.ts +11 -11
  558. package/src/widgets/overlay/tooltip-ops.ts +173 -173
  559. package/src/widgets/overlay/variables.scss +85 -85
  560. package/src/widgets/variables.scss +147 -147
  561. package/tsconfig.compile.json +4 -4
  562. package/tsconfig.json +34 -34
  563. package/tsconfig.mocha.json +14 -14
package/.mocharc.json CHANGED
@@ -1,5 +1,5 @@
1
- {
2
- "loader": "ts-node/esm",
3
- "extension": ["ts", "tsx"],
4
- "spec": ["src/**/*.spec.*"]
5
- }
1
+ {
2
+ "loader": "ts-node/esm",
3
+ "extension": ["ts", "tsx"],
4
+ "spec": ["src/**/*.spec.*"]
5
+ }
@@ -1,91 +1,91 @@
1
- # Third-Party Software Licenses
2
-
3
- ### React
4
-
5
- https://github.com/facebook/react/blob/master/LICENSE
6
-
7
- BSD License
8
-
9
- For React software
10
-
11
- Copyright (c) 2013-present, Facebook, Inc.
12
- All rights reserved.
13
-
14
- Redistribution and use in source and binary forms, with or without modification,
15
- are permitted provided that the following conditions are met:
16
-
17
- * Redistributions of source code must retain the above copyright notice, this
18
- list of conditions and the following disclaimer.
19
-
20
- * Redistributions in binary form must reproduce the above copyright notice,
21
- this list of conditions and the following disclaimer in the documentation
22
- and/or other materials provided with the distribution.
23
-
24
- * Neither the name Facebook nor the names of its contributors may be used to
25
- endorse or promote products derived from this software without specific
26
- prior written permission.
27
-
28
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
29
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
30
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
31
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
32
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
33
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
35
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
-
39
-
40
- ### route-parser
41
-
42
- https://github.com/rcs/route-parser/blob/master/LICENSE.md
43
-
44
- The MIT License (MIT)
45
-
46
- Copyright (c) 2014 Ryan Sorensen
47
-
48
- Permission is hereby granted, free of charge, to any person obtaining a copy
49
- of this software and associated documentation files (the "Software"), to deal
50
- in the Software without restriction, including without limitation the rights
51
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
52
- copies of the Software, and to permit persons to whom the Software is
53
- furnished to do so, subject to the following conditions:
54
-
55
- The above copyright notice and this permission notice shall be included in all
56
- copies or substantial portions of the Software.
57
-
58
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
59
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
60
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
61
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
62
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
63
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
64
- SOFTWARE.
65
-
66
- ### mocha
67
-
68
- https://github.com/mochajs/mocha/blob/master/LICENSE
69
-
70
- (The MIT License)
71
-
72
- Copyright (c) 2011-2016 TJ Holowaychuk <tj@vision-media.ca>
73
-
74
- Permission is hereby granted, free of charge, to any person obtaining
75
- a copy of this software and associated documentation files (the
76
- 'Software'), to deal in the Software without restriction, including
77
- without limitation the rights to use, copy, modify, merge, publish,
78
- distribute, sublicense, and/or sell copies of the Software, and to
79
- permit persons to whom the Software is furnished to do so, subject to
80
- the following conditions:
81
-
82
- The above copyright notice and this permission notice shall be
83
- included in all copies or substantial portions of the Software.
84
-
85
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
86
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
87
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
88
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
89
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
90
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
91
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ # Third-Party Software Licenses
2
+
3
+ ### React
4
+
5
+ https://github.com/facebook/react/blob/master/LICENSE
6
+
7
+ BSD License
8
+
9
+ For React software
10
+
11
+ Copyright (c) 2013-present, Facebook, Inc.
12
+ All rights reserved.
13
+
14
+ Redistribution and use in source and binary forms, with or without modification,
15
+ are permitted provided that the following conditions are met:
16
+
17
+ * Redistributions of source code must retain the above copyright notice, this
18
+ list of conditions and the following disclaimer.
19
+
20
+ * Redistributions in binary form must reproduce the above copyright notice,
21
+ this list of conditions and the following disclaimer in the documentation
22
+ and/or other materials provided with the distribution.
23
+
24
+ * Neither the name Facebook nor the names of its contributors may be used to
25
+ endorse or promote products derived from this software without specific
26
+ prior written permission.
27
+
28
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
29
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
30
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
31
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
32
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
33
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
35
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
+
39
+
40
+ ### route-parser
41
+
42
+ https://github.com/rcs/route-parser/blob/master/LICENSE.md
43
+
44
+ The MIT License (MIT)
45
+
46
+ Copyright (c) 2014 Ryan Sorensen
47
+
48
+ Permission is hereby granted, free of charge, to any person obtaining a copy
49
+ of this software and associated documentation files (the "Software"), to deal
50
+ in the Software without restriction, including without limitation the rights
51
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
52
+ copies of the Software, and to permit persons to whom the Software is
53
+ furnished to do so, subject to the following conditions:
54
+
55
+ The above copyright notice and this permission notice shall be included in all
56
+ copies or substantial portions of the Software.
57
+
58
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
59
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
60
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
61
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
62
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
63
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
64
+ SOFTWARE.
65
+
66
+ ### mocha
67
+
68
+ https://github.com/mochajs/mocha/blob/master/LICENSE
69
+
70
+ (The MIT License)
71
+
72
+ Copyright (c) 2011-2016 TJ Holowaychuk <tj@vision-media.ca>
73
+
74
+ Permission is hereby granted, free of charge, to any person obtaining
75
+ a copy of this software and associated documentation files (the
76
+ 'Software'), to deal in the Software without restriction, including
77
+ without limitation the rights to use, copy, modify, merge, publish,
78
+ distribute, sublicense, and/or sell copies of the Software, and to
79
+ permit persons to whom the Software is furnished to do so, subject to
80
+ the following conditions:
81
+
82
+ The above copyright notice and this permission notice shall be
83
+ included in all copies or substantial portions of the Software.
84
+
85
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
88
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
89
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
90
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
91
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/LICENSE.md CHANGED
@@ -1,7 +1,7 @@
1
- Copyright 2021 Codaxy d.o.o. Banja Luka
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
-
5
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
-
7
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright 2021 Codaxy d.o.o. Banja Luka
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,46 +1,46 @@
1
- # CxJS
2
-
3
- This is the main package of the [CxJS](https://cxjs.io/) framework.
4
-
5
- Cx is a feature-rich framework for building data-oriented web applications.
6
-
7
- Cx is inspired by React and Angular and tries to offer the best features from both worlds.
8
- Out of the box, Cx provides:
9
-
10
- - a complete set of widgets
11
- - charts
12
- - two-way data-binding options
13
- - controllers
14
- - layouts
15
- - customizable appearance (Sass)
16
-
17
- Cx is based on ES6 and JSX and requires `babel-plugin-transform-cx-jsx`.
18
- Cx widgets use React to render and update the DOM.
19
-
20
- ### Getting Started
21
-
22
- - [Examples](https://cxjs.io/examples)
23
- - [Documentation](https://cxjs.io/docs)
24
- - [Themes](https://cxjs.io/themes)
25
- - [Fiddle](https://cxjs.io/fiddle)
26
-
27
- ## Demo Applications
28
-
29
- <a href="https://cxjs.io/starter">
30
- <img src="https://raw.githubusercontent.com/codaxy/cx/master/misc/screenshots/starter/analytics.png" alt="Cx Starter Kit" height="200px" />
31
- </a>
32
- <a href="https://codaxy.github.io/state-of-js-2016-explorer/">
33
- <img src="https://raw.githubusercontent.com/codaxy/cx/master/misc/screenshots/sofjs2016/StateOfJs.png" alt="State of JS 2016 Explorer" height="200px" />
34
- </a>
35
- <a href="https://mstijak.github.io/tdo/">
36
- <img src="https://raw.githubusercontent.com/codaxy/cx/master/misc/screenshots/tdo/tdo.png" alt="Tdo" height="200px" />
37
- </a>
38
-
39
- ### Installation
40
-
41
- The easiest way to set up a new Cx project is to use
42
- the [Cx Command Line Interface](https://cxjs.io/v/master/docs/intro/command-line).
43
-
44
- ### License
45
-
46
- [MIT License](./LICENSE.md)
1
+ # CxJS
2
+
3
+ This is the main package of the [CxJS](https://cxjs.io/) framework.
4
+
5
+ Cx is a feature-rich framework for building data-oriented web applications.
6
+
7
+ Cx is inspired by React and Angular and tries to offer the best features from both worlds.
8
+ Out of the box, Cx provides:
9
+
10
+ - a complete set of widgets
11
+ - charts
12
+ - two-way data-binding options
13
+ - controllers
14
+ - layouts
15
+ - customizable appearance (Sass)
16
+
17
+ Cx is based on ES6 and JSX and requires `babel-plugin-transform-cx-jsx`.
18
+ Cx widgets use React to render and update the DOM.
19
+
20
+ ### Getting Started
21
+
22
+ - [Examples](https://cxjs.io/examples)
23
+ - [Documentation](https://cxjs.io/docs)
24
+ - [Themes](https://cxjs.io/themes)
25
+ - [Fiddle](https://cxjs.io/fiddle)
26
+
27
+ ## Demo Applications
28
+
29
+ <a href="https://cxjs.io/starter">
30
+ <img src="https://raw.githubusercontent.com/codaxy/cx/master/misc/screenshots/starter/analytics.png" alt="Cx Starter Kit" height="200px" />
31
+ </a>
32
+ <a href="https://codaxy.github.io/state-of-js-2016-explorer/">
33
+ <img src="https://raw.githubusercontent.com/codaxy/cx/master/misc/screenshots/sofjs2016/StateOfJs.png" alt="State of JS 2016 Explorer" height="200px" />
34
+ </a>
35
+ <a href="https://mstijak.github.io/tdo/">
36
+ <img src="https://raw.githubusercontent.com/codaxy/cx/master/misc/screenshots/tdo/tdo.png" alt="Tdo" height="200px" />
37
+ </a>
38
+
39
+ ### Installation
40
+
41
+ The easiest way to set up a new Cx project is to use
42
+ the [Cx Command Line Interface](https://cxjs.io/v/master/docs/intro/command-line).
43
+
44
+ ### License
45
+
46
+ [MIT License](./LICENSE.md)
@@ -48,18 +48,18 @@ export class Component {
48
48
  if (typeAlias.isComponent)
49
49
  return typeAlias;
50
50
  if (isComponentFactory(typeAlias)) {
51
+ if (more)
52
+ config = Object.assign({}, config, more);
51
53
  let result = typeAlias.create(config);
52
- if (more) {
53
- result = Object.assign({}, result, more);
54
- }
55
54
  return this.create(result);
56
55
  }
57
56
  if (isArray(typeAlias))
58
57
  return typeAlias.map((c) => this.create(c, config, more));
59
- if (typeAlias.$type)
60
- return this.create(typeAlias.$type, typeAlias, config);
61
- if (typeAlias.type &&
62
- (typeAlias.type.isComponentType || isComponentFactory(typeAlias.type))) {
58
+ if (typeAlias.$type) {
59
+ let { $type, ...rest } = typeAlias;
60
+ return this.create($type, rest, config);
61
+ }
62
+ if (typeAlias.type) {
63
63
  let { type, ...rest } = typeAlias;
64
64
  return this.create(type, rest, config);
65
65
  }
package/build.js CHANGED
@@ -1,133 +1,133 @@
1
- const buildJS = require("cx-build-tools/buildJS"),
2
- buildSCSS = require("cx-build-tools/buildSCSS"),
3
- copyFiles = require("cx-build-tools/copyFiles"),
4
- getPathResolver = require("cx-build-tools/getPathResolver"),
5
- fs = require("fs"),
6
- resolvePath = getPathResolver(__dirname),
7
- cxSrc = getPathResolver(resolvePath("./src")),
8
- cxBuild = getPathResolver(resolvePath("./build"));
9
-
10
- const entries = [
11
- {
12
- name: "util",
13
- options: {
14
- input: cxBuild("util/index.js"),
15
- },
16
- output: {},
17
- },
18
- {
19
- name: "data",
20
-
21
- options: {
22
- input: cxBuild("data/index.js"),
23
- },
24
- output: {},
25
- },
26
- {
27
- name: "ui",
28
- options: {
29
- input: cxBuild("ui/index.js"),
30
- },
31
- output: {},
32
- },
33
- {
34
- name: "widgets",
35
- options: {
36
- input: cxBuild("widgets/index.js"),
37
- },
38
- output: {},
39
- },
40
- {
41
- name: "svg",
42
- options: {
43
- input: cxBuild("svg/index.js"),
44
- },
45
- output: {},
46
- },
47
- {
48
- name: "charts",
49
- options: {
50
- input: cxBuild("charts/index.js"),
51
- },
52
- output: {},
53
- },
54
- {
55
- name: "hooks",
56
- options: {
57
- input: cxBuild("hooks/index.js"),
58
- },
59
- output: {},
60
- },
61
- {
62
- name: "jsx-runtime",
63
- options: {
64
- input: cxBuild("jsx-runtime.js"),
65
- },
66
- output: {},
67
- },
68
- ];
69
-
70
- const externalPaths = {
71
- [cxBuild("./util/")]: "cx/util",
72
- [cxBuild("./data/")]: "cx/data",
73
- [cxBuild("./ui/")]: "cx/ui",
74
- [cxBuild("./widgets")]: "cx/widgets",
75
- [cxBuild("./charts")]: "cx/charts",
76
- [cxBuild("./svg/")]: "cx/svg",
77
- [cxBuild("./hooks/")]: "cx/hooks",
78
- [cxBuild("./jsx-runtime")]: "cx/jsx-runtime",
79
- };
80
-
81
- (async function buildAll() {
82
- console.log("Building cx...");
83
- try {
84
- let distPath = resolvePath("./dist");
85
- if (!fs.existsSync(distPath)) {
86
- fs.mkdirSync(distPath);
87
- }
88
-
89
- // // Copy SCSS files from src to build
90
- // copyFiles(cxSrc("."), cxBuild("."), ".scss");
91
-
92
- await Promise.all([
93
- buildJS(resolvePath("./src"), resolvePath("./dist"), entries, externalPaths),
94
- buildSCSS([resolvePath("../cx-build-tools/reset.scss")], resolvePath("./dist/reset.css")),
95
- buildSCSS(
96
- [
97
- cxSrc("variables.scss"),
98
- resolvePath("../cx-build-tools/divide.scss"),
99
- cxSrc("widgets/index.scss"),
100
- cxSrc("ui/index.scss"),
101
- ],
102
- resolvePath("./dist/widgets.css"),
103
- ),
104
- buildSCSS(
105
- [cxSrc("variables.scss"), resolvePath("../cx-build-tools/divide.scss"), cxSrc("charts/index.scss")],
106
- resolvePath("./dist/charts.css"),
107
- ),
108
- buildSCSS(
109
- [cxSrc("variables.scss"), resolvePath("../cx-build-tools/divide.scss"), cxSrc("svg/index.scss")],
110
- resolvePath("./dist/svg.css"),
111
- ),
112
- ]);
113
- } catch (err) {
114
- console.log("Build error.", err);
115
- }
116
-
117
- // console.log("Building cx-redux...");
118
- // await build(
119
- // resolvePath("../../cx-redux/src"),
120
- // resolvePath("../../cx-redux/dist"),
121
- // [
122
- // {
123
- // name: "index",
124
- // options: {
125
- // input: [resolvePath("../../cx-redux/src/index.js")]
126
- // },
127
- // output: {}
128
- // }
129
- // ],
130
- // null,
131
- // ["redux", "cx/data"]
132
- // );
133
- })();
1
+ const buildJS = require("cx-build-tools/buildJS"),
2
+ buildSCSS = require("cx-build-tools/buildSCSS"),
3
+ copyFiles = require("cx-build-tools/copyFiles"),
4
+ getPathResolver = require("cx-build-tools/getPathResolver"),
5
+ fs = require("fs"),
6
+ resolvePath = getPathResolver(__dirname),
7
+ cxSrc = getPathResolver(resolvePath("./src")),
8
+ cxBuild = getPathResolver(resolvePath("./build"));
9
+
10
+ const entries = [
11
+ {
12
+ name: "util",
13
+ options: {
14
+ input: cxBuild("util/index.js"),
15
+ },
16
+ output: {},
17
+ },
18
+ {
19
+ name: "data",
20
+
21
+ options: {
22
+ input: cxBuild("data/index.js"),
23
+ },
24
+ output: {},
25
+ },
26
+ {
27
+ name: "ui",
28
+ options: {
29
+ input: cxBuild("ui/index.js"),
30
+ },
31
+ output: {},
32
+ },
33
+ {
34
+ name: "widgets",
35
+ options: {
36
+ input: cxBuild("widgets/index.js"),
37
+ },
38
+ output: {},
39
+ },
40
+ {
41
+ name: "svg",
42
+ options: {
43
+ input: cxBuild("svg/index.js"),
44
+ },
45
+ output: {},
46
+ },
47
+ {
48
+ name: "charts",
49
+ options: {
50
+ input: cxBuild("charts/index.js"),
51
+ },
52
+ output: {},
53
+ },
54
+ {
55
+ name: "hooks",
56
+ options: {
57
+ input: cxBuild("hooks/index.js"),
58
+ },
59
+ output: {},
60
+ },
61
+ {
62
+ name: "jsx-runtime",
63
+ options: {
64
+ input: cxBuild("jsx-runtime.js"),
65
+ },
66
+ output: {},
67
+ },
68
+ ];
69
+
70
+ const externalPaths = {
71
+ [cxBuild("./util/")]: "cx/util",
72
+ [cxBuild("./data/")]: "cx/data",
73
+ [cxBuild("./ui/")]: "cx/ui",
74
+ [cxBuild("./widgets")]: "cx/widgets",
75
+ [cxBuild("./charts")]: "cx/charts",
76
+ [cxBuild("./svg/")]: "cx/svg",
77
+ [cxBuild("./hooks/")]: "cx/hooks",
78
+ [cxBuild("./jsx-runtime")]: "cx/jsx-runtime",
79
+ };
80
+
81
+ (async function buildAll() {
82
+ console.log("Building cx...");
83
+ try {
84
+ let distPath = resolvePath("./dist");
85
+ if (!fs.existsSync(distPath)) {
86
+ fs.mkdirSync(distPath);
87
+ }
88
+
89
+ // // Copy SCSS files from src to build
90
+ // copyFiles(cxSrc("."), cxBuild("."), ".scss");
91
+
92
+ await Promise.all([
93
+ buildJS(resolvePath("./src"), resolvePath("./dist"), entries, externalPaths),
94
+ buildSCSS([resolvePath("../cx-build-tools/reset.scss")], resolvePath("./dist/reset.css")),
95
+ buildSCSS(
96
+ [
97
+ cxSrc("variables.scss"),
98
+ resolvePath("../cx-build-tools/divide.scss"),
99
+ cxSrc("widgets/index.scss"),
100
+ cxSrc("ui/index.scss"),
101
+ ],
102
+ resolvePath("./dist/widgets.css"),
103
+ ),
104
+ buildSCSS(
105
+ [cxSrc("variables.scss"), resolvePath("../cx-build-tools/divide.scss"), cxSrc("charts/index.scss")],
106
+ resolvePath("./dist/charts.css"),
107
+ ),
108
+ buildSCSS(
109
+ [cxSrc("variables.scss"), resolvePath("../cx-build-tools/divide.scss"), cxSrc("svg/index.scss")],
110
+ resolvePath("./dist/svg.css"),
111
+ ),
112
+ ]);
113
+ } catch (err) {
114
+ console.log("Build error.", err);
115
+ }
116
+
117
+ // console.log("Building cx-redux...");
118
+ // await build(
119
+ // resolvePath("../../cx-redux/src"),
120
+ // resolvePath("../../cx-redux/dist"),
121
+ // [
122
+ // {
123
+ // name: "index",
124
+ // options: {
125
+ // input: [resolvePath("../../cx-redux/src/index.js")]
126
+ // },
127
+ // output: {}
128
+ // }
129
+ // ],
130
+ // null,
131
+ // ["redux", "cx/data"]
132
+ // );
133
+ })();