@finos/legend-data-cube 0.0.2

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 (517) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/lib/application/DataCubeDocumentation.d.ts +22 -0
  4. package/lib/application/DataCubeDocumentation.d.ts.map +1 -0
  5. package/lib/application/DataCubeDocumentation.js +23 -0
  6. package/lib/application/DataCubeDocumentation.js.map +1 -0
  7. package/lib/components/DataCube.d.ts +19 -0
  8. package/lib/components/DataCube.d.ts.map +1 -0
  9. package/lib/components/DataCube.js +67 -0
  10. package/lib/components/DataCube.js.map +1 -0
  11. package/lib/components/DataCubeProvider.d.ts +27 -0
  12. package/lib/components/DataCubeProvider.d.ts.map +1 -0
  13. package/lib/components/DataCubeProvider.js +34 -0
  14. package/lib/components/DataCubeProvider.js.map +1 -0
  15. package/lib/components/application/DataCubeAlert.d.ts +44 -0
  16. package/lib/components/application/DataCubeAlert.d.ts.map +1 -0
  17. package/lib/components/application/DataCubeAlert.js +83 -0
  18. package/lib/components/application/DataCubeAlert.js.map +1 -0
  19. package/lib/components/application/DataCubeDocumentationPanel.d.ts +19 -0
  20. package/lib/components/application/DataCubeDocumentationPanel.d.ts.map +1 -0
  21. package/lib/components/application/DataCubeDocumentationPanel.js +32 -0
  22. package/lib/components/application/DataCubeDocumentationPanel.js.map +1 -0
  23. package/lib/components/application/DataCubeLayoutManager.d.ts +27 -0
  24. package/lib/components/application/DataCubeLayoutManager.d.ts.map +1 -0
  25. package/lib/components/application/DataCubeLayoutManager.js +116 -0
  26. package/lib/components/application/DataCubeLayoutManager.js.map +1 -0
  27. package/lib/components/application/DataCubeSettingsPanel.d.ts +19 -0
  28. package/lib/components/application/DataCubeSettingsPanel.d.ts.map +1 -0
  29. package/lib/components/application/DataCubeSettingsPanel.js +53 -0
  30. package/lib/components/application/DataCubeSettingsPanel.js.map +1 -0
  31. package/lib/components/editor/DataCubeEditor.d.ts +22 -0
  32. package/lib/components/editor/DataCubeEditor.d.ts.map +1 -0
  33. package/lib/components/editor/DataCubeEditor.js +51 -0
  34. package/lib/components/editor/DataCubeEditor.js.map +1 -0
  35. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.d.ts +22 -0
  36. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -0
  37. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js +274 -0
  38. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -0
  39. package/lib/components/editor/DataCubeEditorColumnsPanel.d.ts +22 -0
  40. package/lib/components/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -0
  41. package/lib/components/editor/DataCubeEditorColumnsPanel.js +35 -0
  42. package/lib/components/editor/DataCubeEditorColumnsPanel.js.map +1 -0
  43. package/lib/components/editor/DataCubeEditorColumnsSelector.d.ts +32 -0
  44. package/lib/components/editor/DataCubeEditorColumnsSelector.d.ts.map +1 -0
  45. package/lib/components/editor/DataCubeEditorColumnsSelector.js +307 -0
  46. package/lib/components/editor/DataCubeEditorColumnsSelector.js.map +1 -0
  47. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.d.ts +22 -0
  48. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -0
  49. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js +167 -0
  50. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -0
  51. package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.d.ts +22 -0
  52. package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -0
  53. package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.js +29 -0
  54. package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -0
  55. package/lib/components/editor/DataCubeEditorSortsPanel.d.ts +22 -0
  56. package/lib/components/editor/DataCubeEditorSortsPanel.d.ts.map +1 -0
  57. package/lib/components/editor/DataCubeEditorSortsPanel.js +62 -0
  58. package/lib/components/editor/DataCubeEditorSortsPanel.js.map +1 -0
  59. package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.d.ts +22 -0
  60. package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.d.ts.map +1 -0
  61. package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.js +25 -0
  62. package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.js.map +1 -0
  63. package/lib/components/extend/DataCubeColumnEditor.d.ts +22 -0
  64. package/lib/components/extend/DataCubeColumnEditor.d.ts.map +1 -0
  65. package/lib/components/extend/DataCubeColumnEditor.js +169 -0
  66. package/lib/components/extend/DataCubeColumnEditor.js.map +1 -0
  67. package/lib/components/filter/DataCubeFilterEditor.d.ts +22 -0
  68. package/lib/components/filter/DataCubeFilterEditor.d.ts.map +1 -0
  69. package/lib/components/filter/DataCubeFilterEditor.js +312 -0
  70. package/lib/components/filter/DataCubeFilterEditor.js.map +1 -0
  71. package/lib/components/grid/DataCubeGrid.d.ts +27 -0
  72. package/lib/components/grid/DataCubeGrid.d.ts.map +1 -0
  73. package/lib/components/grid/DataCubeGrid.js +241 -0
  74. package/lib/components/grid/DataCubeGrid.js.map +1 -0
  75. package/lib/components/grid/DataCubeGridShared.d.ts +18 -0
  76. package/lib/components/grid/DataCubeGridShared.d.ts.map +1 -0
  77. package/lib/components/grid/DataCubeGridShared.js +25 -0
  78. package/lib/components/grid/DataCubeGridShared.js.map +1 -0
  79. package/lib/components/shared/DataCubeFormUtils.d.ts +54 -0
  80. package/lib/components/shared/DataCubeFormUtils.d.ts.map +1 -0
  81. package/lib/components/shared/DataCubeFormUtils.js +251 -0
  82. package/lib/components/shared/DataCubeFormUtils.js.map +1 -0
  83. package/lib/components/shared/DataCubePureCodeEditorUtils.d.ts +22 -0
  84. package/lib/components/shared/DataCubePureCodeEditorUtils.d.ts.map +1 -0
  85. package/lib/components/shared/DataCubePureCodeEditorUtils.js +64 -0
  86. package/lib/components/shared/DataCubePureCodeEditorUtils.js.map +1 -0
  87. package/lib/index.css +17 -0
  88. package/lib/index.css.map +1 -0
  89. package/lib/index.d.ts +21 -0
  90. package/lib/index.d.ts.map +1 -0
  91. package/lib/index.js +21 -0
  92. package/lib/index.js.map +1 -0
  93. package/lib/package.json +89 -0
  94. package/lib/stores/DataCubeState.d.ts +32 -0
  95. package/lib/stores/DataCubeState.d.ts.map +1 -0
  96. package/lib/stores/DataCubeState.js +84 -0
  97. package/lib/stores/DataCubeState.js.map +1 -0
  98. package/lib/stores/DataCubeViewState.d.ts +50 -0
  99. package/lib/stores/DataCubeViewState.d.ts.map +1 -0
  100. package/lib/stores/DataCubeViewState.js +109 -0
  101. package/lib/stores/DataCubeViewState.js.map +1 -0
  102. package/lib/stores/core/DataCubeConfiguration.d.ts +107 -0
  103. package/lib/stores/core/DataCubeConfiguration.d.ts.map +1 -0
  104. package/lib/stores/core/DataCubeConfiguration.js +185 -0
  105. package/lib/stores/core/DataCubeConfiguration.js.map +1 -0
  106. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +25 -0
  107. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -0
  108. package/lib/stores/core/DataCubeConfigurationBuilder.js +50 -0
  109. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -0
  110. package/lib/stores/core/DataCubeInfoState.d.ts +33 -0
  111. package/lib/stores/core/DataCubeInfoState.d.ts.map +1 -0
  112. package/lib/stores/core/DataCubeInfoState.js +48 -0
  113. package/lib/stores/core/DataCubeInfoState.js.map +1 -0
  114. package/lib/stores/core/DataCubeQueryBuilder.d.ts +35 -0
  115. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -0
  116. package/lib/stores/core/DataCubeQueryBuilder.js +130 -0
  117. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -0
  118. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +50 -0
  119. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -0
  120. package/lib/stores/core/DataCubeQueryBuilderUtils.js +320 -0
  121. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -0
  122. package/lib/stores/core/DataCubeQueryEngine.d.ts +224 -0
  123. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -0
  124. package/lib/stores/core/DataCubeQueryEngine.js +286 -0
  125. package/lib/stores/core/DataCubeQueryEngine.js.map +1 -0
  126. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +89 -0
  127. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -0
  128. package/lib/stores/core/DataCubeQuerySnapshot.js +82 -0
  129. package/lib/stores/core/DataCubeQuerySnapshot.js.map +1 -0
  130. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +33 -0
  131. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -0
  132. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +260 -0
  133. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -0
  134. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +30 -0
  135. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -0
  136. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +125 -0
  137. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -0
  138. package/lib/stores/core/DataCubeQuerySnapshotManager.d.ts +47 -0
  139. package/lib/stores/core/DataCubeQuerySnapshotManager.d.ts.map +1 -0
  140. package/lib/stores/core/DataCubeQuerySnapshotManager.js +84 -0
  141. package/lib/stores/core/DataCubeQuerySnapshotManager.js.map +1 -0
  142. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +28 -0
  143. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -0
  144. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.js +25 -0
  145. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.js.map +1 -0
  146. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +27 -0
  147. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -0
  148. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js +39 -0
  149. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -0
  150. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +27 -0
  151. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -0
  152. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js +47 -0
  153. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -0
  154. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +27 -0
  155. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -0
  156. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js +44 -0
  157. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -0
  158. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +27 -0
  159. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -0
  160. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js +53 -0
  161. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -0
  162. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +27 -0
  163. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -0
  164. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js +44 -0
  165. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -0
  166. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +27 -0
  167. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -0
  168. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js +39 -0
  169. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -0
  170. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +27 -0
  171. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -0
  172. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js +39 -0
  173. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -0
  174. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +27 -0
  175. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -0
  176. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js +39 -0
  177. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -0
  178. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +27 -0
  179. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -0
  180. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js +39 -0
  181. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -0
  182. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +27 -0
  183. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -0
  184. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js +39 -0
  185. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -0
  186. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +27 -0
  187. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -0
  188. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js +44 -0
  189. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -0
  190. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +27 -0
  191. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -0
  192. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js +39 -0
  193. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -0
  194. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +27 -0
  195. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -0
  196. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js +39 -0
  197. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -0
  198. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +36 -0
  199. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -0
  200. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +153 -0
  201. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -0
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +32 -0
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -0
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js +48 -0
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js.map +1 -0
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +34 -0
  207. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -0
  208. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +59 -0
  209. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -0
  210. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +34 -0
  211. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -0
  212. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +64 -0
  213. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -0
  214. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +34 -0
  215. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -0
  216. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +59 -0
  217. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -0
  218. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +34 -0
  219. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -0
  220. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +64 -0
  221. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -0
  222. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +34 -0
  223. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -0
  224. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +136 -0
  225. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -0
  226. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +34 -0
  227. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -0
  228. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +64 -0
  229. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -0
  230. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +34 -0
  231. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -0
  232. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +64 -0
  233. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -0
  234. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +34 -0
  235. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -0
  236. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +65 -0
  237. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -0
  238. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +34 -0
  239. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -0
  240. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +67 -0
  241. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -0
  242. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +34 -0
  243. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -0
  244. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +64 -0
  245. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -0
  246. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +34 -0
  247. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -0
  248. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +67 -0
  249. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -0
  250. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +34 -0
  251. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -0
  252. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +64 -0
  253. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -0
  254. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +31 -0
  255. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -0
  256. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +64 -0
  257. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -0
  258. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +31 -0
  259. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -0
  260. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +64 -0
  261. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -0
  262. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +34 -0
  263. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -0
  264. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +67 -0
  265. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -0
  266. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +34 -0
  267. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -0
  268. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +64 -0
  269. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -0
  270. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +34 -0
  271. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -0
  272. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +67 -0
  273. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -0
  274. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +34 -0
  275. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -0
  276. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +64 -0
  277. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -0
  278. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +34 -0
  279. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -0
  280. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +59 -0
  281. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -0
  282. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +34 -0
  283. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -0
  284. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +59 -0
  285. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -0
  286. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +34 -0
  287. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -0
  288. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +69 -0
  289. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -0
  290. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +34 -0
  291. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -0
  292. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +64 -0
  293. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -0
  294. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +34 -0
  295. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -0
  296. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +64 -0
  297. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -0
  298. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +34 -0
  299. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -0
  300. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +65 -0
  301. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -0
  302. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +34 -0
  303. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -0
  304. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +59 -0
  305. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -0
  306. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +34 -0
  307. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -0
  308. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +59 -0
  309. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -0
  310. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +34 -0
  311. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -0
  312. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +64 -0
  313. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -0
  314. package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +37 -0
  315. package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -0
  316. package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.js +68 -0
  317. package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -0
  318. package/lib/stores/editor/DataCubeEditorColumnsPanelState.d.ts +58 -0
  319. package/lib/stores/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -0
  320. package/lib/stores/editor/DataCubeEditorColumnsPanelState.js +127 -0
  321. package/lib/stores/editor/DataCubeEditorColumnsPanelState.js.map +1 -0
  322. package/lib/stores/editor/DataCubeEditorColumnsSelectorState.d.ts +42 -0
  323. package/lib/stores/editor/DataCubeEditorColumnsSelectorState.d.ts.map +1 -0
  324. package/lib/stores/editor/DataCubeEditorColumnsSelectorState.js +75 -0
  325. package/lib/stores/editor/DataCubeEditorColumnsSelectorState.js.map +1 -0
  326. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +35 -0
  327. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -0
  328. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js +59 -0
  329. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -0
  330. package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +38 -0
  331. package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -0
  332. package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.js +75 -0
  333. package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -0
  334. package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts +107 -0
  335. package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -0
  336. package/lib/stores/editor/DataCubeEditorMutableConfiguration.js +467 -0
  337. package/lib/stores/editor/DataCubeEditorMutableConfiguration.js.map +1 -0
  338. package/lib/stores/editor/DataCubeEditorPanelState.d.ts +29 -0
  339. package/lib/stores/editor/DataCubeEditorPanelState.d.ts.map +1 -0
  340. package/lib/stores/editor/DataCubeEditorPanelState.js +17 -0
  341. package/lib/stores/editor/DataCubeEditorPanelState.js.map +1 -0
  342. package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts +41 -0
  343. package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -0
  344. package/lib/stores/editor/DataCubeEditorSortsPanelState.js +86 -0
  345. package/lib/stores/editor/DataCubeEditorSortsPanelState.js.map +1 -0
  346. package/lib/stores/editor/DataCubeEditorState.d.ts +64 -0
  347. package/lib/stores/editor/DataCubeEditorState.d.ts.map +1 -0
  348. package/lib/stores/editor/DataCubeEditorState.js +155 -0
  349. package/lib/stores/editor/DataCubeEditorState.js.map +1 -0
  350. package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +35 -0
  351. package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -0
  352. package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.js +58 -0
  353. package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -0
  354. package/lib/stores/engine/DataCubeApplicationEngine.d.ts +55 -0
  355. package/lib/stores/engine/DataCubeApplicationEngine.d.ts.map +1 -0
  356. package/lib/stores/engine/DataCubeApplicationEngine.js +33 -0
  357. package/lib/stores/engine/DataCubeApplicationEngine.js.map +1 -0
  358. package/lib/stores/engine/DataCubeEngine.d.ts +124 -0
  359. package/lib/stores/engine/DataCubeEngine.d.ts.map +1 -0
  360. package/lib/stores/engine/DataCubeEngine.js +182 -0
  361. package/lib/stores/engine/DataCubeEngine.js.map +1 -0
  362. package/lib/stores/engine/DataCubeLayoutManagerState.d.ts +62 -0
  363. package/lib/stores/engine/DataCubeLayoutManagerState.d.ts.map +1 -0
  364. package/lib/stores/engine/DataCubeLayoutManagerState.js +133 -0
  365. package/lib/stores/engine/DataCubeLayoutManagerState.js.map +1 -0
  366. package/lib/stores/engine/DataCubeQuery.d.ts +40 -0
  367. package/lib/stores/engine/DataCubeQuery.d.ts.map +1 -0
  368. package/lib/stores/engine/DataCubeQuery.js +79 -0
  369. package/lib/stores/engine/DataCubeQuery.js.map +1 -0
  370. package/lib/stores/extend/DataCubeColumnEditorState.d.ts +61 -0
  371. package/lib/stores/extend/DataCubeColumnEditorState.d.ts.map +1 -0
  372. package/lib/stores/extend/DataCubeColumnEditorState.js +260 -0
  373. package/lib/stores/extend/DataCubeColumnEditorState.js.map +1 -0
  374. package/lib/stores/extend/DataCubeExtendManagerState.d.ts +46 -0
  375. package/lib/stores/extend/DataCubeExtendManagerState.d.ts.map +1 -0
  376. package/lib/stores/extend/DataCubeExtendManagerState.js +119 -0
  377. package/lib/stores/extend/DataCubeExtendManagerState.js.map +1 -0
  378. package/lib/stores/filter/DataCubeFilterEditorState.d.ts +61 -0
  379. package/lib/stores/filter/DataCubeFilterEditorState.d.ts.map +1 -0
  380. package/lib/stores/filter/DataCubeFilterEditorState.js +228 -0
  381. package/lib/stores/filter/DataCubeFilterEditorState.js.map +1 -0
  382. package/lib/stores/grid/DataCubeGridClientEngine.d.ts +93 -0
  383. package/lib/stores/grid/DataCubeGridClientEngine.d.ts.map +1 -0
  384. package/lib/stores/grid/DataCubeGridClientEngine.js +364 -0
  385. package/lib/stores/grid/DataCubeGridClientEngine.js.map +1 -0
  386. package/lib/stores/grid/DataCubeGridClientExportEngine.d.ts +31 -0
  387. package/lib/stores/grid/DataCubeGridClientExportEngine.d.ts.map +1 -0
  388. package/lib/stores/grid/DataCubeGridClientExportEngine.js +152 -0
  389. package/lib/stores/grid/DataCubeGridClientExportEngine.js.map +1 -0
  390. package/lib/stores/grid/DataCubeGridConfigurationBuilder.d.ts +180 -0
  391. package/lib/stores/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -0
  392. package/lib/stores/grid/DataCubeGridConfigurationBuilder.js +649 -0
  393. package/lib/stores/grid/DataCubeGridConfigurationBuilder.js.map +1 -0
  394. package/lib/stores/grid/DataCubeGridControllerState.d.ts +89 -0
  395. package/lib/stores/grid/DataCubeGridControllerState.d.ts.map +1 -0
  396. package/lib/stores/grid/DataCubeGridControllerState.js +342 -0
  397. package/lib/stores/grid/DataCubeGridControllerState.js.map +1 -0
  398. package/lib/stores/grid/DataCubeGridMenuBuilder.d.ts +19 -0
  399. package/lib/stores/grid/DataCubeGridMenuBuilder.d.ts.map +1 -0
  400. package/lib/stores/grid/DataCubeGridMenuBuilder.js +687 -0
  401. package/lib/stores/grid/DataCubeGridMenuBuilder.js.map +1 -0
  402. package/lib/stores/grid/DataCubeGridQueryBuilder.d.ts +23 -0
  403. package/lib/stores/grid/DataCubeGridQueryBuilder.d.ts.map +1 -0
  404. package/lib/stores/grid/DataCubeGridQueryBuilder.js +130 -0
  405. package/lib/stores/grid/DataCubeGridQueryBuilder.js.map +1 -0
  406. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.d.ts +27 -0
  407. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -0
  408. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js +66 -0
  409. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -0
  410. package/lib/stores/grid/DataCubeGridState.d.ts +55 -0
  411. package/lib/stores/grid/DataCubeGridState.d.ts.map +1 -0
  412. package/lib/stores/grid/DataCubeGridState.js +114 -0
  413. package/lib/stores/grid/DataCubeGridState.js.map +1 -0
  414. package/package.json +89 -0
  415. package/src/application/DataCubeDocumentation.ts +22 -0
  416. package/src/components/DataCube.tsx +157 -0
  417. package/src/components/DataCubeProvider.tsx +58 -0
  418. package/src/components/application/DataCubeAlert.tsx +173 -0
  419. package/src/components/application/DataCubeDocumentationPanel.tsx +42 -0
  420. package/src/components/application/DataCubeLayoutManager.tsx +190 -0
  421. package/src/components/application/DataCubeSettingsPanel.tsx +205 -0
  422. package/src/components/editor/DataCubeEditor.tsx +114 -0
  423. package/src/components/editor/DataCubeEditorColumnPropertiesPanel.tsx +1210 -0
  424. package/src/components/editor/DataCubeEditorColumnsPanel.tsx +121 -0
  425. package/src/components/editor/DataCubeEditorColumnsSelector.tsx +596 -0
  426. package/src/components/editor/DataCubeEditorGeneralPropertiesPanel.tsx +786 -0
  427. package/src/components/editor/DataCubeEditorHorizontalPivotsPanel.tsx +61 -0
  428. package/src/components/editor/DataCubeEditorSortsPanel.tsx +166 -0
  429. package/src/components/editor/DataCubeEditorVerticalPivotsPanel.tsx +43 -0
  430. package/src/components/extend/DataCubeColumnEditor.tsx +366 -0
  431. package/src/components/filter/DataCubeFilterEditor.tsx +907 -0
  432. package/src/components/grid/DataCubeGrid.tsx +384 -0
  433. package/src/components/grid/DataCubeGridShared.tsx +45 -0
  434. package/src/components/shared/DataCubeFormUtils.tsx +574 -0
  435. package/src/components/shared/DataCubePureCodeEditorUtils.tsx +91 -0
  436. package/src/index.tsx +22 -0
  437. package/src/stores/DataCubeState.tsx +100 -0
  438. package/src/stores/DataCubeViewState.ts +129 -0
  439. package/src/stores/core/DataCubeConfiguration.ts +240 -0
  440. package/src/stores/core/DataCubeConfigurationBuilder.ts +66 -0
  441. package/src/stores/core/DataCubeInfoState.ts +61 -0
  442. package/src/stores/core/DataCubeQueryBuilder.ts +296 -0
  443. package/src/stores/core/DataCubeQueryBuilderUtils.ts +514 -0
  444. package/src/stores/core/DataCubeQueryEngine.ts +327 -0
  445. package/src/stores/core/DataCubeQuerySnapshot.ts +191 -0
  446. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +406 -0
  447. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +197 -0
  448. package/src/stores/core/DataCubeQuerySnapshotManager.ts +148 -0
  449. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +47 -0
  450. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +52 -0
  451. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +61 -0
  452. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +57 -0
  453. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +81 -0
  454. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +57 -0
  455. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +52 -0
  456. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +52 -0
  457. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +55 -0
  458. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +52 -0
  459. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +52 -0
  460. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +57 -0
  461. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +52 -0
  462. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +52 -0
  463. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +231 -0
  464. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +96 -0
  465. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +88 -0
  466. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +94 -0
  467. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +88 -0
  468. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +94 -0
  469. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +170 -0
  470. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +94 -0
  471. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +92 -0
  472. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +93 -0
  473. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +96 -0
  474. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +92 -0
  475. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +96 -0
  476. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +92 -0
  477. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +92 -0
  478. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +89 -0
  479. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +96 -0
  480. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +92 -0
  481. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +96 -0
  482. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +92 -0
  483. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +91 -0
  484. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +91 -0
  485. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +101 -0
  486. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +97 -0
  487. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +95 -0
  488. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +96 -0
  489. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +91 -0
  490. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +88 -0
  491. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +94 -0
  492. package/src/stores/editor/DataCubeEditorColumnPropertiesPanelState.ts +111 -0
  493. package/src/stores/editor/DataCubeEditorColumnsPanelState.ts +198 -0
  494. package/src/stores/editor/DataCubeEditorColumnsSelectorState.ts +115 -0
  495. package/src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts +87 -0
  496. package/src/stores/editor/DataCubeEditorHorizontalPivotsPanelState.ts +132 -0
  497. package/src/stores/editor/DataCubeEditorMutableConfiguration.ts +677 -0
  498. package/src/stores/editor/DataCubeEditorPanelState.ts +37 -0
  499. package/src/stores/editor/DataCubeEditorSortsPanelState.ts +147 -0
  500. package/src/stores/editor/DataCubeEditorState.tsx +206 -0
  501. package/src/stores/editor/DataCubeEditorVerticalPivotsPanelState.ts +110 -0
  502. package/src/stores/engine/DataCubeApplicationEngine.tsx +120 -0
  503. package/src/stores/engine/DataCubeEngine.ts +276 -0
  504. package/src/stores/engine/DataCubeLayoutManagerState.ts +184 -0
  505. package/src/stores/engine/DataCubeQuery.ts +130 -0
  506. package/src/stores/extend/DataCubeColumnEditorState.tsx +365 -0
  507. package/src/stores/extend/DataCubeExtendManagerState.tsx +175 -0
  508. package/src/stores/filter/DataCubeFilterEditorState.tsx +327 -0
  509. package/src/stores/grid/DataCubeGridClientEngine.ts +506 -0
  510. package/src/stores/grid/DataCubeGridClientExportEngine.ts +173 -0
  511. package/src/stores/grid/DataCubeGridConfigurationBuilder.tsx +940 -0
  512. package/src/stores/grid/DataCubeGridControllerState.ts +493 -0
  513. package/src/stores/grid/DataCubeGridMenuBuilder.tsx +861 -0
  514. package/src/stores/grid/DataCubeGridQueryBuilder.ts +195 -0
  515. package/src/stores/grid/DataCubeGridQuerySnapshotBuilder.ts +125 -0
  516. package/src/stores/grid/DataCubeGridState.ts +155 -0
  517. package/tsconfig.json +164 -0
@@ -0,0 +1,786 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { observer } from 'mobx-react-lite';
18
+ import { cn, DataCubeIcon, useDropdownMenu } from '@finos/legend-art';
19
+ import {
20
+ DataCubeFont,
21
+ DataCubeFontCase,
22
+ DataCubeFontFormatUnderlineVariant,
23
+ DataCubeFontTextAlignment,
24
+ DataCubeSelectionStat,
25
+ DEFAULT_BACKGROUND_COLOR,
26
+ DEFAULT_ERROR_FOREGROUND_COLOR,
27
+ DEFAULT_FOREGROUND_COLOR,
28
+ DEFAULT_GRID_LINE_COLOR,
29
+ DEFAULT_NEGATIVE_FOREGROUND_COLOR,
30
+ DEFAULT_ROW_HIGHLIGHT_BACKGROUND_COLOR,
31
+ DEFAULT_ZERO_FOREGROUND_COLOR,
32
+ } from '../../stores/core/DataCubeQueryEngine.js';
33
+ import {
34
+ FormCheckbox,
35
+ FormColorPickerButton,
36
+ FormDropdownMenu,
37
+ FormDropdownMenuItem,
38
+ FormDropdownMenuItemSeparator,
39
+ FormDropdownMenuTrigger,
40
+ FormTextInput,
41
+ FormNumberInput,
42
+ FormBadge_WIP,
43
+ } from '../shared/DataCubeFormUtils.js';
44
+ import type { DataCubeViewState } from '../../stores/DataCubeViewState.js';
45
+
46
+ export const DataCubeEditorGeneralPropertiesPanel = observer(
47
+ (props: { view: DataCubeViewState }) => {
48
+ const { view } = props;
49
+ const panel = view.editor.generalProperties;
50
+ const configuration = panel.configuration;
51
+ const [
52
+ openInitialExpandLevelDropdown,
53
+ closeInitialExpandLevelDropdown,
54
+ initialExpandLevelDropdownProps,
55
+ initialExpandLevelDropdownPropsOpen,
56
+ ] = useDropdownMenu();
57
+ // TODO: selection stats should be shown as a list of checkboxes
58
+ // rather than a dropdown!
59
+ const [
60
+ openSelectionStatDropdown,
61
+ closeSelectionStatDropdown,
62
+ selectionStatDropdownProps,
63
+ selectionStatDropdownPropsOpen,
64
+ ] = useDropdownMenu();
65
+ const [
66
+ openFontFamilyDropdown,
67
+ closeFontFamilyDropdown,
68
+ fontFamilyDropdownProps,
69
+ fontFamilyDropdownPropsOpen,
70
+ ] = useDropdownMenu();
71
+ const [
72
+ openFontSizeDropdown,
73
+ closeFontSizeDropdown,
74
+ openFontSizeDropdownProps,
75
+ openFontSizeDropdownPropsOpen,
76
+ ] = useDropdownMenu();
77
+ const [
78
+ openFontFormatUnderlineVariantDropdown,
79
+ closeFontFormatUnderlineVariantDropdown,
80
+ fontFormatUnderlineVariantDropdownProps,
81
+ ] = useDropdownMenu();
82
+ const [openFontCaseDropdown, closeFontCaseDropdown, fontCaseDropdownProps] =
83
+ useDropdownMenu();
84
+
85
+ return (
86
+ <div className="h-full w-full select-none p-2">
87
+ <div className="flex h-6">
88
+ <div className="flex h-6 items-center text-xl font-medium">
89
+ <DataCubeIcon.TableOptions />
90
+ </div>
91
+ <div className="ml-1 flex h-6 items-center text-xl font-medium">
92
+ General Properties
93
+ </div>
94
+ </div>
95
+ <div className="flex h-[calc(100%_-_24px)] w-full">
96
+ <div className="h-full w-full py-2">
97
+ <div className="flex h-6 w-full items-center">
98
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
99
+ Report Title:
100
+ </div>
101
+ <FormTextInput
102
+ className="h-6 w-96 text-lg font-semibold"
103
+ value={panel.name}
104
+ onChange={(event) => {
105
+ panel.setName(event.target.value);
106
+ }}
107
+ />
108
+ </div>
109
+
110
+ <div className="mt-2 flex h-5 w-full items-center">
111
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
112
+ Initially Expand to Level:
113
+ </div>
114
+ <FormDropdownMenuTrigger
115
+ className="w-16"
116
+ onClick={openInitialExpandLevelDropdown}
117
+ disabled={true}
118
+ open={initialExpandLevelDropdownPropsOpen}
119
+ >
120
+ {configuration.initialExpandLevel ?? '(None)'}
121
+ </FormDropdownMenuTrigger>
122
+ <FormDropdownMenu
123
+ className="w-16"
124
+ {...initialExpandLevelDropdownProps}
125
+ >
126
+ {[undefined, 1, 2, 3, 4, 5, 6, 7, 8].map((level) => (
127
+ <FormDropdownMenuItem
128
+ key={level ?? ''}
129
+ onClick={() => {
130
+ configuration.setInitialExpandLevel(level);
131
+ closeInitialExpandLevelDropdown();
132
+ }}
133
+ autoFocus={level === configuration.initialExpandLevel}
134
+ >
135
+ {level ?? '(None)'}
136
+ </FormDropdownMenuItem>
137
+ ))}
138
+ </FormDropdownMenu>
139
+ <FormBadge_WIP />
140
+ </div>
141
+
142
+ <div className="mt-2 flex h-5 w-full items-center">
143
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
144
+ Show Root Aggregation?
145
+ </div>
146
+ <FormCheckbox
147
+ checked={configuration.showRootAggregation}
148
+ onChange={() =>
149
+ configuration.setShowRootAggregation(
150
+ !configuration.showRootAggregation,
151
+ )
152
+ }
153
+ disabled={true}
154
+ />
155
+ <FormBadge_WIP />
156
+ </div>
157
+
158
+ <div className="mt-2 flex h-5 w-full items-center">
159
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
160
+ Show Leaf Count?
161
+ </div>
162
+ <FormCheckbox
163
+ checked={configuration.showLeafCount}
164
+ onChange={() =>
165
+ configuration.setShowLeafCount(!configuration.showLeafCount)
166
+ }
167
+ disabled={true}
168
+ />
169
+ <FormBadge_WIP />
170
+ </div>
171
+
172
+ <div className="mt-2 flex h-5 w-full items-center">
173
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
174
+ Show Lines?
175
+ </div>
176
+ <FormCheckbox
177
+ label="Tree"
178
+ checked={configuration.showTreeLines}
179
+ onChange={() =>
180
+ configuration.setShowTreeLines(!configuration.showTreeLines)
181
+ }
182
+ disabled={true}
183
+ />
184
+ <FormBadge_WIP />
185
+ <FormCheckbox
186
+ className="ml-2"
187
+ label="Horizontal"
188
+ checked={configuration.showHorizontalGridLines}
189
+ onChange={() =>
190
+ configuration.setShowHorizontalGridLines(
191
+ !configuration.showHorizontalGridLines,
192
+ )
193
+ }
194
+ />
195
+ <FormCheckbox
196
+ className="ml-2"
197
+ label="Vertical"
198
+ checked={configuration.showVerticalGridLines}
199
+ onChange={() =>
200
+ configuration.setShowVerticalGridLines(
201
+ !configuration.showVerticalGridLines,
202
+ )
203
+ }
204
+ />
205
+ <div className="ml-2 h-[1px] w-2 flex-shrink-0 bg-neutral-400" />
206
+ <FormColorPickerButton
207
+ className="ml-2"
208
+ color={configuration.gridLineColor}
209
+ defaultColor={DEFAULT_GRID_LINE_COLOR}
210
+ onChange={(value) => configuration.setGridLineColor(value)}
211
+ />
212
+ </div>
213
+
214
+ <div className="mt-2 flex h-5 w-full items-center">
215
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
216
+ Show Selection Stats:
217
+ </div>
218
+ <FormDropdownMenuTrigger
219
+ className="w-16"
220
+ onClick={openSelectionStatDropdown}
221
+ disabled={true}
222
+ open={selectionStatDropdownPropsOpen}
223
+ >
224
+ {'(None)'}
225
+ </FormDropdownMenuTrigger>
226
+ <FormDropdownMenu
227
+ className="w-16"
228
+ {...selectionStatDropdownProps}
229
+ >
230
+ {[
231
+ DataCubeSelectionStat.SUM,
232
+ DataCubeSelectionStat.AVERAGE,
233
+ DataCubeSelectionStat.COUNT,
234
+ DataCubeSelectionStat.MIN,
235
+ DataCubeSelectionStat.MAX,
236
+ ].map((operation) => (
237
+ <FormDropdownMenuItem
238
+ key={operation}
239
+ onClick={() => {
240
+ // TODO
241
+ closeSelectionStatDropdown();
242
+ }}
243
+ >
244
+ {operation}
245
+ </FormDropdownMenuItem>
246
+ ))}
247
+ </FormDropdownMenu>
248
+ <FormBadge_WIP />
249
+ </div>
250
+
251
+ <div className="mt-2 flex h-5 w-full items-center">
252
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
253
+ Row Limit:
254
+ </div>
255
+ <FormNumberInput
256
+ className="w-16 text-sm"
257
+ value={panel.limit}
258
+ min={-1}
259
+ step={1}
260
+ defaultValue={-1}
261
+ isValid={(value) => value !== undefined && value >= -1}
262
+ setValue={(value) => panel.setLimit(value ?? -1)}
263
+ />
264
+ <div className="flex-shrink-0 pl-1 text-sm italic text-neutral-500">
265
+ Truncate result to this many rows at every level. Use -1 for
266
+ unlimited.
267
+ </div>
268
+ </div>
269
+
270
+ <div className="mt-2 flex h-5 w-full items-center">
271
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm" />
272
+ <FormCheckbox
273
+ label="Display warning when truncated"
274
+ checked={configuration.showWarningForTruncatedResult}
275
+ onChange={() =>
276
+ configuration.setShowWarningForTruncatedResult(
277
+ !configuration.showWarningForTruncatedResult,
278
+ )
279
+ }
280
+ />
281
+ </div>
282
+
283
+ <div className="mt-2 flex h-5 w-full items-center">
284
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
285
+ Hightlight Rows:
286
+ </div>
287
+ <FormCheckbox
288
+ label="Standard mode"
289
+ checked={configuration.alternateRowsStandardMode}
290
+ onChange={() => {
291
+ if (configuration.alternateRowsStandardMode) {
292
+ configuration.setAlternateRowsStandardMode(false);
293
+ } else {
294
+ configuration.setAlternateRowsStandardMode(true);
295
+ configuration.setAlternateRows(false);
296
+ }
297
+ }}
298
+ />
299
+ <FormCheckbox
300
+ className="ml-3"
301
+ label="Custom: Alternate color every"
302
+ checked={configuration.alternateRows}
303
+ onChange={() => {
304
+ if (configuration.alternateRows) {
305
+ configuration.setAlternateRows(false);
306
+ } else {
307
+ configuration.setAlternateRows(true);
308
+ configuration.setAlternateRowsStandardMode(false);
309
+ }
310
+ }}
311
+ />
312
+ <FormNumberInput
313
+ className="ml-1.5 w-16 text-sm"
314
+ disabled={!configuration.alternateRows}
315
+ min={1}
316
+ step={1}
317
+ defaultValue={1}
318
+ isValid={(value) => value !== undefined && value > 0}
319
+ value={configuration.alternateRowsCount}
320
+ setValue={(value) =>
321
+ configuration.setAlternateRowsCount(value ?? 1)
322
+ }
323
+ />
324
+ <div className="ml-1.5 flex-shrink-0 text-sm">{`row(s)`}</div>
325
+ <FormColorPickerButton
326
+ className="ml-[5px]"
327
+ disabled={!configuration.alternateRows}
328
+ color={configuration.alternateRowsColor}
329
+ defaultColor={DEFAULT_ROW_HIGHLIGHT_BACKGROUND_COLOR}
330
+ onChange={(value) => configuration.setAlternateRowsColor(value)}
331
+ />
332
+ </div>
333
+
334
+ <div className="my-2 h-[1px] w-full bg-neutral-200" />
335
+
336
+ <div className="mt-2 flex h-5 w-full items-center">
337
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
338
+ Default Font:
339
+ </div>
340
+ <FormDropdownMenuTrigger
341
+ className="w-28"
342
+ onClick={openFontFamilyDropdown}
343
+ open={fontFamilyDropdownPropsOpen}
344
+ >
345
+ {configuration.fontFamily}
346
+ </FormDropdownMenuTrigger>
347
+ <FormDropdownMenu className="w-28" {...fontFamilyDropdownProps}>
348
+ {[
349
+ DataCubeFont.ARIAL,
350
+ DataCubeFont.ROBOTO,
351
+ DataCubeFont.ROBOTO_CONDENSED,
352
+ ].map((font) => (
353
+ <FormDropdownMenuItem
354
+ key={font}
355
+ onClick={() => {
356
+ configuration.setFontFamily(font);
357
+ closeFontFamilyDropdown();
358
+ }}
359
+ autoFocus={font === configuration.fontFamily}
360
+ >
361
+ {font}
362
+ </FormDropdownMenuItem>
363
+ ))}
364
+ <FormDropdownMenuItemSeparator />
365
+ {[
366
+ DataCubeFont.GEORGIA,
367
+ DataCubeFont.ROBOTO_SERIF,
368
+ DataCubeFont.TIMES_NEW_ROMAN,
369
+ ].map((font) => (
370
+ <FormDropdownMenuItem
371
+ key={font}
372
+ onClick={() => {
373
+ configuration.setFontFamily(font);
374
+ closeFontFamilyDropdown();
375
+ }}
376
+ autoFocus={font === configuration.fontFamily}
377
+ >
378
+ {font}
379
+ </FormDropdownMenuItem>
380
+ ))}
381
+ <FormDropdownMenuItemSeparator />
382
+ {[
383
+ DataCubeFont.JERBRAINS_MONO,
384
+ DataCubeFont.ROBOTO_MONO,
385
+ DataCubeFont.UBUNTU_MONO,
386
+ ].map((font) => (
387
+ <FormDropdownMenuItem
388
+ key={font}
389
+ onClick={() => {
390
+ configuration.setFontFamily(font);
391
+ closeFontFamilyDropdown();
392
+ }}
393
+ autoFocus={font === configuration.fontFamily}
394
+ >
395
+ {font}
396
+ </FormDropdownMenuItem>
397
+ ))}
398
+ </FormDropdownMenu>
399
+
400
+ <FormDropdownMenuTrigger
401
+ className="ml-1 w-10"
402
+ onClick={openFontSizeDropdown}
403
+ open={openFontSizeDropdownPropsOpen}
404
+ >
405
+ {configuration.fontSize}
406
+ </FormDropdownMenuTrigger>
407
+ <FormDropdownMenu className="w-10" {...openFontSizeDropdownProps}>
408
+ {[
409
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28,
410
+ 32, 36, 48, 72,
411
+ ].map((size) => (
412
+ <FormDropdownMenuItem
413
+ key={size}
414
+ onClick={() => {
415
+ configuration.setFontSize(size);
416
+ closeFontSizeDropdown();
417
+ }}
418
+ autoFocus={size === configuration.fontSize}
419
+ >
420
+ {size}
421
+ </FormDropdownMenuItem>
422
+ ))}
423
+ </FormDropdownMenu>
424
+
425
+ <div className="relative ml-2 flex h-5">
426
+ <button
427
+ title="Bold"
428
+ className={cn(
429
+ 'relative flex h-5 w-5 items-center justify-center rounded-bl-sm rounded-tl-sm border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
430
+ {
431
+ 'bg-neutral-200': configuration.fontBold,
432
+ },
433
+ )}
434
+ onClick={() =>
435
+ configuration.setFontBold(!configuration.fontBold)
436
+ }
437
+ >
438
+ <DataCubeIcon.FontBold />
439
+ </button>
440
+ <button
441
+ title="Italic"
442
+ className={cn(
443
+ 'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
444
+ {
445
+ 'bg-neutral-200': configuration.fontItalic,
446
+ },
447
+ )}
448
+ onClick={() =>
449
+ configuration.setFontItalic(!configuration.fontItalic)
450
+ }
451
+ >
452
+ <DataCubeIcon.FontItalic />
453
+ </button>
454
+ <button
455
+ title={`Underline${configuration.fontUnderline ? ` (${configuration.fontUnderline})` : ''}`}
456
+ className={cn(
457
+ 'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-r-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
458
+ {
459
+ 'bg-neutral-200':
460
+ configuration.fontUnderline !== undefined,
461
+ },
462
+ )}
463
+ onClick={() => {
464
+ if (configuration.fontUnderline === undefined) {
465
+ configuration.setFontUnderline(
466
+ DataCubeFontFormatUnderlineVariant.SOLID,
467
+ );
468
+ configuration.setFontStrikethrough(false);
469
+ } else {
470
+ configuration.setFontUnderline(undefined);
471
+ }
472
+ }}
473
+ >
474
+ <DataCubeIcon.FontUnderline />
475
+ </button>
476
+ <button
477
+ className="text-2xs relative -ml-[1px] flex h-5 w-2.5 items-center justify-center border border-l-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-600 focus:z-[1]"
478
+ onClick={openFontFormatUnderlineVariantDropdown}
479
+ >
480
+ <div
481
+ className={cn('h-4 w-[0.5px] bg-neutral-200', {
482
+ 'opacity-0': configuration.fontUnderline !== undefined,
483
+ })}
484
+ />
485
+ <DataCubeIcon.CaretDown />
486
+ </button>
487
+ <FormDropdownMenu
488
+ className="w-14"
489
+ {...fontFormatUnderlineVariantDropdownProps}
490
+ >
491
+ {[
492
+ DataCubeFontFormatUnderlineVariant.SOLID,
493
+ DataCubeFontFormatUnderlineVariant.DASHED,
494
+ DataCubeFontFormatUnderlineVariant.DOTTED,
495
+ DataCubeFontFormatUnderlineVariant.DOUBLE,
496
+ DataCubeFontFormatUnderlineVariant.WAVY,
497
+ ].map((variant) => (
498
+ <FormDropdownMenuItem
499
+ className="relative"
500
+ key={variant}
501
+ onClick={() => {
502
+ configuration.setFontUnderline(variant);
503
+ configuration.setFontStrikethrough(false);
504
+ closeFontFormatUnderlineVariantDropdown();
505
+ }}
506
+ autoFocus={variant === configuration.fontUnderline}
507
+ >
508
+ <div
509
+ className={cn(
510
+ '!hover:underline absolute top-0 !underline',
511
+ {
512
+ '!hover:decoration-solid !decoration-solid':
513
+ variant ===
514
+ DataCubeFontFormatUnderlineVariant.SOLID,
515
+ '!hover:decoration-dashed !decoration-dashed':
516
+ variant ===
517
+ DataCubeFontFormatUnderlineVariant.DASHED,
518
+ '!hover:decoration-dotted !decoration-dotted':
519
+ variant ===
520
+ DataCubeFontFormatUnderlineVariant.DOTTED,
521
+ '!hover:decoration-double !decoration-double':
522
+ variant ===
523
+ DataCubeFontFormatUnderlineVariant.DOUBLE,
524
+ '!hover:decoration-wavy !decoration-wavy':
525
+ variant ===
526
+ DataCubeFontFormatUnderlineVariant.WAVY,
527
+ },
528
+ )}
529
+ >
530
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
531
+ </div>
532
+ </FormDropdownMenuItem>
533
+ ))}
534
+ </FormDropdownMenu>
535
+ <button
536
+ title="Strikethrough"
537
+ className={cn(
538
+ 'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
539
+ {
540
+ 'bg-neutral-200': configuration.fontStrikethrough,
541
+ },
542
+ )}
543
+ onClick={() => {
544
+ if (configuration.fontStrikethrough) {
545
+ configuration.setFontStrikethrough(false);
546
+ } else {
547
+ configuration.setFontStrikethrough(true);
548
+ configuration.setFontUnderline(undefined);
549
+ }
550
+ }}
551
+ >
552
+ <DataCubeIcon.FontStrikethrough />
553
+ </button>
554
+ <button
555
+ title={`Case${configuration.fontCase ? ` (${configuration.fontCase})` : ''}`}
556
+ className={cn(
557
+ 'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-r-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
558
+ {
559
+ 'bg-neutral-200': configuration.fontCase !== undefined,
560
+ },
561
+ )}
562
+ onClick={() => {
563
+ configuration.setFontCase(
564
+ configuration.fontCase === undefined
565
+ ? DataCubeFontCase.UPPERCASE
566
+ : undefined,
567
+ );
568
+ }}
569
+ >
570
+ <DataCubeIcon.FontCase className="stroke-[0.5px]" />
571
+ </button>
572
+ <button
573
+ className="text-2xs relative -ml-[1px] flex h-5 w-2.5 items-center justify-center rounded-br-sm rounded-tr-sm border border-l-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-600 focus:z-[1]"
574
+ onClick={openFontCaseDropdown}
575
+ >
576
+ <div
577
+ className={cn('h-4 w-[0.5px] bg-neutral-200', {
578
+ 'opacity-0': configuration.fontCase !== undefined,
579
+ })}
580
+ />
581
+ <DataCubeIcon.CaretDown />
582
+ </button>
583
+ <FormDropdownMenu className="w-20" {...fontCaseDropdownProps}>
584
+ {[
585
+ DataCubeFontCase.LOWERCASE,
586
+ DataCubeFontCase.UPPERCASE,
587
+ DataCubeFontCase.CAPITALIZE,
588
+ ].map((fontCase) => (
589
+ <FormDropdownMenuItem
590
+ key={fontCase}
591
+ onClick={() => {
592
+ configuration.setFontCase(fontCase);
593
+ closeFontCaseDropdown();
594
+ }}
595
+ autoFocus={fontCase === configuration.fontCase}
596
+ >
597
+ <div
598
+ className={cn({
599
+ lowercase: fontCase === DataCubeFontCase.LOWERCASE,
600
+ uppercase: fontCase === DataCubeFontCase.UPPERCASE,
601
+ capitalize: fontCase === DataCubeFontCase.CAPITALIZE,
602
+ })}
603
+ >
604
+ {fontCase}
605
+ </div>
606
+ </FormDropdownMenuItem>
607
+ ))}
608
+ </FormDropdownMenu>
609
+ </div>
610
+
611
+ <div className="relative ml-2 flex h-5">
612
+ <button
613
+ title="Align Left"
614
+ className={cn(
615
+ 'relative flex h-5 w-5 items-center justify-center rounded-bl-sm rounded-tl-sm border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
616
+ {
617
+ 'bg-neutral-200':
618
+ configuration.textAlign ===
619
+ DataCubeFontTextAlignment.LEFT,
620
+ },
621
+ )}
622
+ onClick={() =>
623
+ configuration.setTextAlign(DataCubeFontTextAlignment.LEFT)
624
+ }
625
+ >
626
+ <DataCubeIcon.TextAlignLeft />
627
+ </button>
628
+ <button
629
+ title="Align Center"
630
+ className={cn(
631
+ 'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
632
+ {
633
+ 'bg-neutral-200':
634
+ configuration.textAlign ===
635
+ DataCubeFontTextAlignment.CENTER,
636
+ },
637
+ )}
638
+ onClick={() =>
639
+ configuration.setTextAlign(DataCubeFontTextAlignment.CENTER)
640
+ }
641
+ >
642
+ <DataCubeIcon.TextAlignCenter />
643
+ </button>
644
+ <button
645
+ title="Align Right"
646
+ className={cn(
647
+ 'relative -ml-[1px] flex h-5 w-5 items-center justify-center rounded-br-sm rounded-tr-sm border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus:z-[1]',
648
+ {
649
+ 'bg-neutral-200':
650
+ configuration.textAlign ===
651
+ DataCubeFontTextAlignment.RIGHT,
652
+ },
653
+ )}
654
+ onClick={() =>
655
+ configuration.setTextAlign(DataCubeFontTextAlignment.RIGHT)
656
+ }
657
+ >
658
+ <DataCubeIcon.TextAlignRight />
659
+ </button>
660
+ </div>
661
+ </div>
662
+
663
+ <div className="mt-2 flex w-full">
664
+ <div className="flex h-6 w-32 flex-shrink-0 items-center text-sm">
665
+ Default Colors:
666
+ </div>
667
+ <div className="h-18">
668
+ <div className="flex h-6">
669
+ <div className="w-16 flex-shrink-0" />
670
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center text-sm">
671
+ Normal
672
+ </div>
673
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center text-sm">
674
+ Negative
675
+ </div>
676
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center text-sm">
677
+ Zero
678
+ </div>
679
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center text-sm">
680
+ Error
681
+ </div>
682
+ </div>
683
+ <div className="flex h-6">
684
+ <div className="flex h-full w-16 flex-shrink-0 items-center text-sm">
685
+ Foreground:
686
+ </div>
687
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
688
+ <FormColorPickerButton
689
+ color={configuration.normalForegroundColor}
690
+ defaultColor={DEFAULT_FOREGROUND_COLOR}
691
+ onChange={(value) =>
692
+ configuration.setNormalForegroundColor(value)
693
+ }
694
+ />
695
+ </div>
696
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
697
+ <FormColorPickerButton
698
+ color={configuration.negativeForegroundColor}
699
+ defaultColor={DEFAULT_NEGATIVE_FOREGROUND_COLOR}
700
+ onChange={(value) =>
701
+ configuration.setNegativeForegroundColor(value)
702
+ }
703
+ />
704
+ </div>
705
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
706
+ <FormColorPickerButton
707
+ color={configuration.zeroForegroundColor}
708
+ defaultColor={DEFAULT_ZERO_FOREGROUND_COLOR}
709
+ onChange={(value) =>
710
+ configuration.setZeroForegroundColor(value)
711
+ }
712
+ />
713
+ </div>
714
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
715
+ <FormColorPickerButton
716
+ color={configuration.errorForegroundColor}
717
+ defaultColor={DEFAULT_ERROR_FOREGROUND_COLOR}
718
+ onChange={(value) =>
719
+ configuration.setErrorForegroundColor(value)
720
+ }
721
+ />
722
+ </div>
723
+ </div>
724
+ <div className="flex h-6">
725
+ <div className="flex h-full w-16 flex-shrink-0 items-center text-sm">
726
+ Background:
727
+ </div>
728
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
729
+ <FormColorPickerButton
730
+ color={configuration.normalBackgroundColor}
731
+ defaultColor={DEFAULT_BACKGROUND_COLOR}
732
+ onChange={(value) =>
733
+ configuration.setNormalBackgroundColor(value)
734
+ }
735
+ />
736
+ </div>
737
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
738
+ <FormColorPickerButton
739
+ color={configuration.negativeBackgroundColor}
740
+ defaultColor={DEFAULT_BACKGROUND_COLOR}
741
+ onChange={(value) =>
742
+ configuration.setNegativeBackgroundColor(value)
743
+ }
744
+ />
745
+ </div>
746
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
747
+ <FormColorPickerButton
748
+ color={configuration.zeroBackgroundColor}
749
+ defaultColor={DEFAULT_BACKGROUND_COLOR}
750
+ onChange={(value) =>
751
+ configuration.setZeroBackgroundColor(value)
752
+ }
753
+ />
754
+ </div>
755
+ <div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
756
+ <FormColorPickerButton
757
+ color={configuration.errorBackgroundColor}
758
+ defaultColor={DEFAULT_BACKGROUND_COLOR}
759
+ onChange={(value) =>
760
+ configuration.setErrorBackgroundColor(value)
761
+ }
762
+ />
763
+ </div>
764
+ </div>
765
+ </div>
766
+ </div>
767
+
768
+ <div className="mt-2 flex w-full">
769
+ <div className="flex h-6 w-32 flex-shrink-0 items-center text-sm" />
770
+ <div className="w-80">
771
+ <div className="mb-2 h-[1px] w-full bg-neutral-200" />
772
+ <button
773
+ className="flex h-5 items-center justify-center rounded-sm border border-neutral-400 bg-neutral-200 p-0 px-1 text-sm text-neutral-700 disabled:text-neutral-400"
774
+ disabled={configuration.isUsingDefaultStyling}
775
+ onClick={() => configuration.useDefaultStyling()}
776
+ >
777
+ Use Default Styling
778
+ </button>
779
+ </div>
780
+ </div>
781
+ </div>
782
+ </div>
783
+ </div>
784
+ );
785
+ },
786
+ );