@vuu-ui/vuu-table-extras 0.0.26

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 (247) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +0 -0
  3. package/cjs/cell-edit-validators/CaseValidator.js +24 -0
  4. package/cjs/cell-edit-validators/CaseValidator.js.map +1 -0
  5. package/cjs/cell-edit-validators/PatternValidator.js +26 -0
  6. package/cjs/cell-edit-validators/PatternValidator.js.map +1 -0
  7. package/cjs/cell-renderers/background-cell/BackgroundCell.css.js +6 -0
  8. package/cjs/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
  9. package/cjs/cell-renderers/background-cell/BackgroundCell.js +79 -0
  10. package/cjs/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
  11. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +6 -0
  12. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
  13. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +67 -0
  14. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
  15. package/cjs/cell-renderers/background-cell/BackgroundKeyframes.css.js +6 -0
  16. package/cjs/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
  17. package/cjs/cell-renderers/background-cell/useDirection.js +20 -0
  18. package/cjs/cell-renderers/background-cell/useDirection.js.map +1 -0
  19. package/cjs/cell-renderers/dropdown-cell/DropdownCell.css.js +6 -0
  20. package/cjs/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
  21. package/cjs/cell-renderers/dropdown-cell/DropdownCell.js +65 -0
  22. package/cjs/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
  23. package/cjs/cell-renderers/lookup-cell/LookupCell.js +26 -0
  24. package/cjs/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
  25. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.css.js +6 -0
  26. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
  27. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.js +62 -0
  28. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
  29. package/cjs/cell-renderers/progress-cell/ProgressCell.css.js +6 -0
  30. package/cjs/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
  31. package/cjs/cell-renderers/progress-cell/ProgressCell.js +69 -0
  32. package/cjs/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
  33. package/cjs/column-expression-input/ColumnExpressionInput.css.js +6 -0
  34. package/cjs/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
  35. package/cjs/column-expression-input/ColumnExpressionInput.js +39 -0
  36. package/cjs/column-expression-input/ColumnExpressionInput.js.map +1 -0
  37. package/cjs/column-expression-input/column-function-descriptors.js +307 -0
  38. package/cjs/column-expression-input/column-function-descriptors.js.map +1 -0
  39. package/cjs/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +29 -0
  40. package/cjs/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
  41. package/cjs/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +469 -0
  42. package/cjs/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
  43. package/cjs/column-expression-input/column-language-parser/column-expression-parse-utils.js +61 -0
  44. package/cjs/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
  45. package/cjs/column-expression-input/column-language-parser/generated/column-parser.js +21 -0
  46. package/cjs/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
  47. package/cjs/column-expression-input/functionDocInfo.js +39 -0
  48. package/cjs/column-expression-input/functionDocInfo.js.map +1 -0
  49. package/cjs/column-expression-input/highlighting.js +16 -0
  50. package/cjs/column-expression-input/highlighting.js.map +1 -0
  51. package/cjs/column-expression-input/theme.js +63 -0
  52. package/cjs/column-expression-input/theme.js.map +1 -0
  53. package/cjs/column-expression-input/useColumnAutoComplete.js +358 -0
  54. package/cjs/column-expression-input/useColumnAutoComplete.js.map +1 -0
  55. package/cjs/column-expression-input/useColumnExpressionEditor.js +131 -0
  56. package/cjs/column-expression-input/useColumnExpressionEditor.js.map +1 -0
  57. package/cjs/column-expression-input/useColumnExpressionSuggestionProvider.js +212 -0
  58. package/cjs/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
  59. package/cjs/column-expression-panel/ColumnExpressionPanel.js +87 -0
  60. package/cjs/column-expression-panel/ColumnExpressionPanel.js.map +1 -0
  61. package/cjs/column-expression-panel/useColumnExpression.js +69 -0
  62. package/cjs/column-expression-panel/useColumnExpression.js.map +1 -0
  63. package/cjs/column-formatting-settings/BaseNumericFormattingSettings.js +97 -0
  64. package/cjs/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
  65. package/cjs/column-formatting-settings/ColumnFormattingPanel.js +107 -0
  66. package/cjs/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
  67. package/cjs/column-formatting-settings/DateTimeFormattingSettings.js +90 -0
  68. package/cjs/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
  69. package/cjs/column-formatting-settings/LongTypeFormattingSettings.css.js +6 -0
  70. package/cjs/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
  71. package/cjs/column-formatting-settings/LongTypeFormattingSettings.js +49 -0
  72. package/cjs/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
  73. package/cjs/column-list/ColumnList.css.js +6 -0
  74. package/cjs/column-list/ColumnList.css.js.map +1 -0
  75. package/cjs/column-list/ColumnList.js +115 -0
  76. package/cjs/column-list/ColumnList.js.map +1 -0
  77. package/cjs/column-settings/ColumnNameLabel.css.js +6 -0
  78. package/cjs/column-settings/ColumnNameLabel.css.js.map +1 -0
  79. package/cjs/column-settings/ColumnNameLabel.js +45 -0
  80. package/cjs/column-settings/ColumnNameLabel.js.map +1 -0
  81. package/cjs/column-settings/ColumnSettingsPanel.css.js +6 -0
  82. package/cjs/column-settings/ColumnSettingsPanel.css.js.map +1 -0
  83. package/cjs/column-settings/ColumnSettingsPanel.js +195 -0
  84. package/cjs/column-settings/ColumnSettingsPanel.js.map +1 -0
  85. package/cjs/column-settings/useColumnSettings.js +235 -0
  86. package/cjs/column-settings/useColumnSettings.js.map +1 -0
  87. package/cjs/datasource-stats/DatasourceStats.css.js +6 -0
  88. package/cjs/datasource-stats/DatasourceStats.css.js.map +1 -0
  89. package/cjs/datasource-stats/DatasourceStats.js +48 -0
  90. package/cjs/datasource-stats/DatasourceStats.js.map +1 -0
  91. package/cjs/index.js +54 -0
  92. package/cjs/index.js.map +1 -0
  93. package/cjs/table-settings/TableSettingsPanel.css.js +6 -0
  94. package/cjs/table-settings/TableSettingsPanel.css.js.map +1 -0
  95. package/cjs/table-settings/TableSettingsPanel.js +123 -0
  96. package/cjs/table-settings/TableSettingsPanel.js.map +1 -0
  97. package/cjs/table-settings/useTableSettings.js +182 -0
  98. package/cjs/table-settings/useTableSettings.js.map +1 -0
  99. package/esm/cell-edit-validators/CaseValidator.js +22 -0
  100. package/esm/cell-edit-validators/CaseValidator.js.map +1 -0
  101. package/esm/cell-edit-validators/PatternValidator.js +24 -0
  102. package/esm/cell-edit-validators/PatternValidator.js.map +1 -0
  103. package/esm/cell-renderers/background-cell/BackgroundCell.css.js +4 -0
  104. package/esm/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
  105. package/esm/cell-renderers/background-cell/BackgroundCell.js +77 -0
  106. package/esm/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
  107. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +4 -0
  108. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
  109. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +65 -0
  110. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
  111. package/esm/cell-renderers/background-cell/BackgroundKeyframes.css.js +4 -0
  112. package/esm/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
  113. package/esm/cell-renderers/background-cell/useDirection.js +18 -0
  114. package/esm/cell-renderers/background-cell/useDirection.js.map +1 -0
  115. package/esm/cell-renderers/dropdown-cell/DropdownCell.css.js +4 -0
  116. package/esm/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
  117. package/esm/cell-renderers/dropdown-cell/DropdownCell.js +63 -0
  118. package/esm/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
  119. package/esm/cell-renderers/lookup-cell/LookupCell.js +24 -0
  120. package/esm/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
  121. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.css.js +4 -0
  122. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
  123. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.js +60 -0
  124. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
  125. package/esm/cell-renderers/progress-cell/ProgressCell.css.js +4 -0
  126. package/esm/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
  127. package/esm/cell-renderers/progress-cell/ProgressCell.js +67 -0
  128. package/esm/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
  129. package/esm/column-expression-input/ColumnExpressionInput.css.js +4 -0
  130. package/esm/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
  131. package/esm/column-expression-input/ColumnExpressionInput.js +37 -0
  132. package/esm/column-expression-input/ColumnExpressionInput.js.map +1 -0
  133. package/esm/column-expression-input/column-function-descriptors.js +305 -0
  134. package/esm/column-expression-input/column-function-descriptors.js.map +1 -0
  135. package/esm/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +27 -0
  136. package/esm/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
  137. package/esm/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +467 -0
  138. package/esm/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
  139. package/esm/column-expression-input/column-language-parser/column-expression-parse-utils.js +56 -0
  140. package/esm/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
  141. package/esm/column-expression-input/column-language-parser/generated/column-parser.js +19 -0
  142. package/esm/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
  143. package/esm/column-expression-input/functionDocInfo.js +37 -0
  144. package/esm/column-expression-input/functionDocInfo.js.map +1 -0
  145. package/esm/column-expression-input/highlighting.js +14 -0
  146. package/esm/column-expression-input/highlighting.js.map +1 -0
  147. package/esm/column-expression-input/theme.js +61 -0
  148. package/esm/column-expression-input/theme.js.map +1 -0
  149. package/esm/column-expression-input/useColumnAutoComplete.js +356 -0
  150. package/esm/column-expression-input/useColumnAutoComplete.js.map +1 -0
  151. package/esm/column-expression-input/useColumnExpressionEditor.js +129 -0
  152. package/esm/column-expression-input/useColumnExpressionEditor.js.map +1 -0
  153. package/esm/column-expression-input/useColumnExpressionSuggestionProvider.js +210 -0
  154. package/esm/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
  155. package/esm/column-expression-panel/ColumnExpressionPanel.js +85 -0
  156. package/esm/column-expression-panel/ColumnExpressionPanel.js.map +1 -0
  157. package/esm/column-expression-panel/useColumnExpression.js +67 -0
  158. package/esm/column-expression-panel/useColumnExpression.js.map +1 -0
  159. package/esm/column-formatting-settings/BaseNumericFormattingSettings.js +95 -0
  160. package/esm/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
  161. package/esm/column-formatting-settings/ColumnFormattingPanel.js +105 -0
  162. package/esm/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
  163. package/esm/column-formatting-settings/DateTimeFormattingSettings.js +88 -0
  164. package/esm/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
  165. package/esm/column-formatting-settings/LongTypeFormattingSettings.css.js +4 -0
  166. package/esm/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
  167. package/esm/column-formatting-settings/LongTypeFormattingSettings.js +47 -0
  168. package/esm/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
  169. package/esm/column-list/ColumnList.css.js +4 -0
  170. package/esm/column-list/ColumnList.css.js.map +1 -0
  171. package/esm/column-list/ColumnList.js +113 -0
  172. package/esm/column-list/ColumnList.js.map +1 -0
  173. package/esm/column-settings/ColumnNameLabel.css.js +4 -0
  174. package/esm/column-settings/ColumnNameLabel.css.js.map +1 -0
  175. package/esm/column-settings/ColumnNameLabel.js +43 -0
  176. package/esm/column-settings/ColumnNameLabel.js.map +1 -0
  177. package/esm/column-settings/ColumnSettingsPanel.css.js +4 -0
  178. package/esm/column-settings/ColumnSettingsPanel.css.js.map +1 -0
  179. package/esm/column-settings/ColumnSettingsPanel.js +193 -0
  180. package/esm/column-settings/ColumnSettingsPanel.js.map +1 -0
  181. package/esm/column-settings/useColumnSettings.js +233 -0
  182. package/esm/column-settings/useColumnSettings.js.map +1 -0
  183. package/esm/datasource-stats/DatasourceStats.css.js +4 -0
  184. package/esm/datasource-stats/DatasourceStats.css.js.map +1 -0
  185. package/esm/datasource-stats/DatasourceStats.js +46 -0
  186. package/esm/datasource-stats/DatasourceStats.js.map +1 -0
  187. package/esm/index.js +24 -0
  188. package/esm/index.js.map +1 -0
  189. package/esm/table-settings/TableSettingsPanel.css.js +4 -0
  190. package/esm/table-settings/TableSettingsPanel.css.js.map +1 -0
  191. package/esm/table-settings/TableSettingsPanel.js +121 -0
  192. package/esm/table-settings/TableSettingsPanel.js.map +1 -0
  193. package/esm/table-settings/useTableSettings.js +180 -0
  194. package/esm/table-settings/useTableSettings.js.map +1 -0
  195. package/package.json +47 -0
  196. package/types/cell-edit-validators/CaseValidator.d.ts +2 -0
  197. package/types/cell-edit-validators/PatternValidator.d.ts +2 -0
  198. package/types/cell-edit-validators/index.d.ts +2 -0
  199. package/types/cell-renderers/background-cell/BackgroundCell.d.ts +3 -0
  200. package/types/cell-renderers/background-cell/BackgroundCellConfigurationEditor.d.ts +3 -0
  201. package/types/cell-renderers/background-cell/index.d.ts +2 -0
  202. package/types/cell-renderers/background-cell/useDirection.d.ts +3 -0
  203. package/types/cell-renderers/dropdown-cell/DropdownCell.d.ts +3 -0
  204. package/types/cell-renderers/dropdown-cell/index.d.ts +1 -0
  205. package/types/cell-renderers/index.d.ts +5 -0
  206. package/types/cell-renderers/lookup-cell/LookupCell.d.ts +3 -0
  207. package/types/cell-renderers/lookup-cell/index.d.ts +1 -0
  208. package/types/cell-renderers/pct-progress-cell/PctProgressCell.d.ts +3 -0
  209. package/types/cell-renderers/pct-progress-cell/index.d.ts +1 -0
  210. package/types/cell-renderers/progress-cell/ProgressCell.d.ts +1 -0
  211. package/types/cell-renderers/progress-cell/index.d.ts +1 -0
  212. package/types/column-expression-input/ColumnExpressionInput.d.ts +10 -0
  213. package/types/column-expression-input/column-function-descriptors.d.ts +15 -0
  214. package/types/column-expression-input/column-language-parser/ColumnExpressionLanguage.d.ts +2 -0
  215. package/types/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.d.ts +58 -0
  216. package/types/column-expression-input/column-language-parser/column-expression-parse-utils.d.ts +5 -0
  217. package/types/column-expression-input/column-language-parser/generated/column-parser.d.ts +2 -0
  218. package/types/column-expression-input/column-language-parser/generated/column-parser.terms.d.ts +24 -0
  219. package/types/column-expression-input/column-language-parser/index.d.ts +3 -0
  220. package/types/column-expression-input/column-language-parser/test.d.mts +1 -0
  221. package/types/column-expression-input/functionDocInfo.d.ts +2 -0
  222. package/types/column-expression-input/highlighting.d.ts +1 -0
  223. package/types/column-expression-input/index.d.ts +4 -0
  224. package/types/column-expression-input/theme.d.ts +1 -0
  225. package/types/column-expression-input/useColumnAutoComplete.d.ts +6 -0
  226. package/types/column-expression-input/useColumnExpressionEditor.d.ts +25 -0
  227. package/types/column-expression-input/useColumnExpressionSuggestionProvider.d.ts +8 -0
  228. package/types/column-expression-panel/ColumnExpressionPanel.d.ts +13 -0
  229. package/types/column-expression-panel/index.d.ts +1 -0
  230. package/types/column-expression-panel/useColumnExpression.d.ts +10 -0
  231. package/types/column-formatting-settings/BaseNumericFormattingSettings.d.ts +3 -0
  232. package/types/column-formatting-settings/ColumnFormattingPanel.d.ts +9 -0
  233. package/types/column-formatting-settings/DateTimeFormattingSettings.d.ts +3 -0
  234. package/types/column-formatting-settings/LongTypeFormattingSettings.d.ts +3 -0
  235. package/types/column-formatting-settings/index.d.ts +3 -0
  236. package/types/column-list/ColumnList.d.ts +12 -0
  237. package/types/column-list/index.d.ts +1 -0
  238. package/types/column-settings/ColumnNameLabel.d.ts +7 -0
  239. package/types/column-settings/ColumnSettingsPanel.d.ts +3 -0
  240. package/types/column-settings/index.d.ts +1 -0
  241. package/types/column-settings/useColumnSettings.d.ts +22 -0
  242. package/types/datasource-stats/DatasourceStats.d.ts +7 -0
  243. package/types/datasource-stats/index.d.ts +1 -0
  244. package/types/index.d.ts +9 -0
  245. package/types/table-settings/TableSettingsPanel.d.ts +8 -0
  246. package/types/table-settings/index.d.ts +2 -0
  247. package/types/table-settings/useTableSettings.d.ts +18 -0
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var pctProgressCellCss = ".vuuPctProgressCell {\n --progress-bar-width: 2px;\n position: relative;\n}\n\n.vuuPctProgressCell-zero {\n --progress-bar-width: 0px;\n}\n.vuuPctProgressCell-complete {\n --progress-bar-width: 0px;\n}\n\n.vuuPctProgressCell-progressBar {\n background-color: var(--vuu-color-green-60-fade-30);\n border-right: solid var(--progress-bar-width) var(--vuu-color-green-60);\n display: inline-block;\n height: 20px;\n left: 0;\n overflow: hidden;\n position: absolute;\n width: var(--progress-bar-pct, 0);\n}\n\n\n.vuuPctProgressCell-text {\n display: inline-block;\n text-align: left;\n width: 80%;\n z-index: 1;\n}";
4
+
5
+ module.exports = pctProgressCellCss;
6
+ //# sourceMappingURL=PctProgressCell.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PctProgressCell.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var vuuUtils = require('@vuu-ui/vuu-utils');
5
+ var cx = require('clsx');
6
+ var styles = require('@salt-ds/styles');
7
+ var window = require('@salt-ds/window');
8
+ var PctProgressCell$1 = require('./PctProgressCell.css.js');
9
+
10
+ const classBase = "vuuPctProgressCell";
11
+ const getPercentageValue = (value) => {
12
+ if (value >= 0 && value <= 1) {
13
+ return value * 100;
14
+ } else if (value > 2) {
15
+ return 0;
16
+ } else if (value > 1) {
17
+ return 100;
18
+ } else {
19
+ return 0;
20
+ }
21
+ };
22
+ const PctProgressCell = ({ column, columnMap, row }) => {
23
+ const targetWindow = window.useWindow();
24
+ styles.useComponentCssInjection({
25
+ testId: "vuu-pct-progress-cell",
26
+ css: PctProgressCell$1,
27
+ window: targetWindow
28
+ });
29
+ const value = row[columnMap[column.name]];
30
+ const percentageValue = getPercentageValue(value);
31
+ const className = cx(classBase, {});
32
+ return /* @__PURE__ */ jsxRuntime.jsxs(
33
+ "div",
34
+ {
35
+ className: cx(className, {
36
+ [`${classBase}-zero`]: percentageValue === 0,
37
+ [`${classBase}-complete`]: percentageValue >= 100
38
+ }),
39
+ tabIndex: -1,
40
+ children: [
41
+ /* @__PURE__ */ jsxRuntime.jsx(
42
+ "span",
43
+ {
44
+ className: `${classBase}-progressBar`,
45
+ style: { "--progress-bar-pct": `${percentageValue}%` }
46
+ }
47
+ ),
48
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-text`, children: `${percentageValue.toFixed(
49
+ 2
50
+ )} %` })
51
+ ]
52
+ }
53
+ );
54
+ };
55
+ vuuUtils.registerComponent("vuu.pct-progress", PctProgressCell, "cell-renderer", {
56
+ description: "Percentage formatter",
57
+ label: "Percentage formatter",
58
+ serverDataType: "double"
59
+ });
60
+
61
+ exports.PctProgressCell = PctProgressCell;
62
+ //# sourceMappingURL=PctProgressCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PctProgressCell.js","sources":["../../../src/cell-renderers/pct-progress-cell/PctProgressCell.tsx"],"sourcesContent":["import { TableCellProps } from \"@vuu-ui/vuu-table-types\";\nimport { registerComponent } from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { CSSProperties } from \"react\";\n\nimport pctProgressCellCss from \"./PctProgressCell.css\";\n\nconst classBase = \"vuuPctProgressCell\";\n\nconst getPercentageValue = (value: number) => {\n if (value >= 0 && value <= 1) {\n return value * 100;\n } else if (value > 2) {\n return 0;\n } else if (value > 1) {\n return 100;\n } else {\n return 0;\n }\n};\n\nexport const PctProgressCell = ({ column, columnMap, row }: TableCellProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-pct-progress-cell\",\n css: pctProgressCellCss,\n window: targetWindow,\n });\n\n const value = row[columnMap[column.name]] as number;\n const percentageValue = getPercentageValue(value);\n const className = cx(classBase, {});\n\n return (\n <div\n className={cx(className, {\n [`${classBase}-zero`]: percentageValue === 0,\n [`${classBase}-complete`]: percentageValue >= 100,\n })}\n tabIndex={-1}\n >\n <span\n className={`${classBase}-progressBar`}\n style={{ \"--progress-bar-pct\": `${percentageValue}%` } as CSSProperties}\n />\n <span className={`${classBase}-text`}>{`${percentageValue.toFixed(\n 2\n )} %`}</span>\n </div>\n );\n};\n\nregisterComponent(\"vuu.pct-progress\", PctProgressCell, \"cell-renderer\", {\n description: \"Percentage formatter\",\n label: \"Percentage formatter\",\n serverDataType: \"double\",\n});\n"],"names":["useWindow","useComponentCssInjection","pctProgressCellCss","jsxs","jsx","registerComponent"],"mappings":";;;;;;;;;AASA,MAAM,SAAY,GAAA,oBAAA,CAAA;AAElB,MAAM,kBAAA,GAAqB,CAAC,KAAkB,KAAA;AAC5C,EAAI,IAAA,KAAA,IAAS,CAAK,IAAA,KAAA,IAAS,CAAG,EAAA;AAC5B,IAAA,OAAO,KAAQ,GAAA,GAAA,CAAA;AAAA,GACjB,MAAA,IAAW,QAAQ,CAAG,EAAA;AACpB,IAAO,OAAA,CAAA,CAAA;AAAA,GACT,MAAA,IAAW,QAAQ,CAAG,EAAA;AACpB,IAAO,OAAA,GAAA,CAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,CAAA,CAAA;AAAA,GACT;AACF,CAAA,CAAA;AAEO,MAAM,kBAAkB,CAAC,EAAE,MAAQ,EAAA,SAAA,EAAW,KAA0B,KAAA;AAC7E,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,iBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,KAAQ,GAAA,GAAA,CAAI,SAAU,CAAA,MAAA,CAAO,IAAI,CAAC,CAAA,CAAA;AACxC,EAAM,MAAA,eAAA,GAAkB,mBAAmB,KAAK,CAAA,CAAA;AAChD,EAAA,MAAM,SAAY,GAAA,EAAA,CAAG,SAAW,EAAA,EAAE,CAAA,CAAA;AAElC,EACE,uBAAAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,SAAW,EAAA;AAAA,QACvB,CAAC,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,GAAG,eAAoB,KAAA,CAAA;AAAA,QAC3C,CAAC,CAAA,EAAG,SAAS,CAAA,SAAA,CAAW,GAAG,eAAmB,IAAA,GAAA;AAAA,OAC/C,CAAA;AAAA,MACD,QAAU,EAAA,CAAA,CAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAAC,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,GAAG,SAAS,CAAA,YAAA,CAAA;AAAA,YACvB,KAAO,EAAA,EAAE,oBAAsB,EAAA,CAAA,EAAG,eAAe,CAAI,CAAA,CAAA,EAAA;AAAA,WAAA;AAAA,SACvD;AAAA,uCACC,MAAK,EAAA,EAAA,SAAA,EAAW,GAAG,SAAS,CAAA,KAAA,CAAA,EAAU,aAAG,eAAgB,CAAA,OAAA;AAAA,UACxD,CAAA;AAAA,SACD,CAAK,EAAA,CAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACR,CAAA;AAEJ,EAAA;AAEAC,0BAAkB,CAAA,kBAAA,EAAoB,iBAAiB,eAAiB,EAAA;AAAA,EACtE,WAAa,EAAA,sBAAA;AAAA,EACb,KAAO,EAAA,sBAAA;AAAA,EACP,cAAgB,EAAA,QAAA;AAClB,CAAC,CAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var progressCellCss = ".vuuProgressCell {\n align-items: center;\n display: flex;\n}\n\n.vuuProgressCell-track {\n display: inline-block;\n flex: auto 1 1;\n height: 4px;\n overflow: hidden;\n position: relative;\n}\n\n.vuuProgressCell-bg {\n background-color: var(--salt-measured-background);\n display: inline-block;\n height: 2px;\n left: 0;\n position: absolute;\n top: 1px;\n width: 100%;\n}\n\n\n.vuuProgressCell-bar {\n background-color: var(--salt-measured-fill);\n display: inline-block;\n height: 100%;\n left: 0;\n position: absolute;\n top:0;\n transform: translateX(var(--progress-bar-pct, -100%));\n width: 100%;\n}\n\n.vuuProgressCell-text {\n flex: 35px 0 0;\n text-align: right;\n}";
4
+
5
+ module.exports = progressCellCss;
6
+ //# sourceMappingURL=ProgressCell.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressCell.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var vuuUtils = require('@vuu-ui/vuu-utils');
5
+ var cx = require('clsx');
6
+ var styles = require('@salt-ds/styles');
7
+ var window = require('@salt-ds/window');
8
+ var ProgressCell$1 = require('./ProgressCell.css.js');
9
+
10
+ const classBase = "vuuProgressCell";
11
+ const ProgressCell = ({ column, columnMap, row }) => {
12
+ const targetWindow = window.useWindow();
13
+ styles.useComponentCssInjection({
14
+ testId: "vuu-progress-cell",
15
+ css: ProgressCell$1,
16
+ window: targetWindow
17
+ });
18
+ const { name, type } = column;
19
+ const value = row[columnMap[name]];
20
+ let showProgress = false;
21
+ let percentage = 0;
22
+ if (vuuUtils.isTypeDescriptor(type) && vuuUtils.isColumnTypeRenderer(type.renderer)) {
23
+ const { associatedField } = type.renderer;
24
+ if (associatedField) {
25
+ const associatedValue = row[columnMap[associatedField]];
26
+ if (vuuUtils.isValidNumber(value) && vuuUtils.isValidNumber(associatedValue)) {
27
+ percentage = Math.min(Math.round(value / associatedValue * 100), 100);
28
+ percentage = Math.min(Math.round(value / associatedValue * 100), 100);
29
+ showProgress = isFinite(percentage);
30
+ } else {
31
+ const floatValue = parseFloat(value);
32
+ if (Number.isFinite(floatValue)) {
33
+ const floatOtherValue = parseFloat(associatedValue);
34
+ if (Number.isFinite(floatOtherValue)) {
35
+ percentage = Math.min(
36
+ Math.round(floatValue / floatOtherValue * 100),
37
+ 100
38
+ );
39
+ showProgress = isFinite(percentage);
40
+ }
41
+ }
42
+ }
43
+ } else {
44
+ throw Error("ProgressCell associatedField is required to render");
45
+ }
46
+ }
47
+ const className = cx(classBase, {});
48
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, tabIndex: -1, children: [
49
+ showProgress ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `${classBase}-track`, children: [
50
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-bg` }),
51
+ /* @__PURE__ */ jsxRuntime.jsx(
52
+ "span",
53
+ {
54
+ className: `${classBase}-bar`,
55
+ style: { "--progress-bar-pct": `-${100 - percentage}%` }
56
+ }
57
+ )
58
+ ] }) : null,
59
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-text`, children: `${percentage} %` })
60
+ ] });
61
+ };
62
+ vuuUtils.registerComponent("vuu.progress", ProgressCell, "cell-renderer", {
63
+ description: "Progress formatter",
64
+ label: "Progress formatter",
65
+ serverDataType: ["long", "int", "double"],
66
+ // Not until we provide settings for associaetd field
67
+ userCanAssign: false
68
+ });
69
+ //# sourceMappingURL=ProgressCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressCell.js","sources":["../../../src/cell-renderers/progress-cell/ProgressCell.tsx"],"sourcesContent":["import { TableCellProps } from \"@vuu-ui/vuu-table-types\";\nimport {\n isColumnTypeRenderer,\n isTypeDescriptor,\n isValidNumber,\n registerComponent,\n} from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { CSSProperties } from \"react\";\n\nimport progressCellCss from \"./ProgressCell.css\";\n\nconst classBase = \"vuuProgressCell\";\n\nconst ProgressCell = ({ column, columnMap, row }: TableCellProps) => {\n //TODO what about click handling\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-progress-cell\",\n css: progressCellCss,\n window: targetWindow,\n });\n\n const { name, type } = column;\n const value = row[columnMap[name]];\n let showProgress = false;\n let percentage = 0;\n\n if (isTypeDescriptor(type) && isColumnTypeRenderer(type.renderer)) {\n const { associatedField } = type.renderer;\n if (associatedField) {\n const associatedValue = row[columnMap[associatedField]];\n if (isValidNumber(value) && isValidNumber(associatedValue)) {\n percentage = Math.min(Math.round((value / associatedValue) * 100), 100);\n percentage = Math.min(Math.round((value / associatedValue) * 100), 100);\n showProgress = isFinite(percentage);\n } else {\n // Temp workaround for bug on server that sends aggregated values as strings\n const floatValue = parseFloat(value as string);\n if (Number.isFinite(floatValue)) {\n const floatOtherValue = parseFloat(associatedValue as string);\n if (Number.isFinite(floatOtherValue)) {\n percentage = Math.min(\n Math.round((floatValue / floatOtherValue) * 100),\n 100\n );\n showProgress = isFinite(percentage);\n }\n }\n }\n } else {\n throw Error(\"ProgressCell associatedField is required to render\");\n }\n }\n\n const className = cx(classBase, {});\n\n return (\n <div className={className} tabIndex={-1}>\n {showProgress ? (\n <span className={`${classBase}-track`}>\n <span className={`${classBase}-bg`} />\n <span\n className={`${classBase}-bar`}\n style={\n { \"--progress-bar-pct\": `-${100 - percentage}%` } as CSSProperties\n }\n />\n </span>\n ) : null}\n <span className={`${classBase}-text`}>{`${percentage} %`}</span>\n </div>\n );\n};\n\nregisterComponent(\"vuu.progress\", ProgressCell, \"cell-renderer\", {\n description: \"Progress formatter\",\n label: \"Progress formatter\",\n serverDataType: [\"long\", \"int\", \"double\"],\n // Not until we provide settings for associaetd field\n userCanAssign: false,\n});\n"],"names":["useWindow","useComponentCssInjection","progressCellCss","isTypeDescriptor","isColumnTypeRenderer","isValidNumber","jsxs","jsx","registerComponent"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var colummExpressionInputCss = "\n.vuuColumnExpressionInput {\n --vuuFilterEditor-background: var(--salt-container-primary-background);\n --vuuFilterEditor-color: var(--salt-content-primary-foreground);\n --vuuFilterEditor-fontFamily: var(--salt-typography-fontFamily);\n --vuuFilterEditor-fontSize: var(--salt-text-fontSize);\n --vuuFilterEditor-cursorColor: var(--salt-text-secondary-foreground);\n --vuuFilterEditor-selectionBackground: var(--salt-text-background-selected);\n --vuuFilterEditor-tooltipBackground: var(--salt-container-primary-background);\n --vuuFilterEditor-tooltipBorder: solid 1px var(--vuu-color-purple-10); \n --vuuFilterEditor-tooltipElevation: var(--salt-overlayable-shadow-popout);\n --vuuFilterEditor-suggestion-selectedBackground: var(--vuu-color-gray-10);\n --vuuFilterEditor-suggestion-selectedColor: var(--salt-content-primary-foreground);\n --vuuFilterEditor-suggestion-detailColor: var(--salt-text-secondary-foreground-disabled);\n --vuuFilterEditor-suggestion-height: 24px;\n --vuuFilterEditor-variableColor: var(--vuu-color-purple-10);\n\n align-items: center;\n box-sizing: border-box;\n height: 30px;\n}\n\n.vuuColumnExpressionInput-FilterButton,\n.vuuColumnExpressionInput-ClearButton {\n --vuu-icon-size: 12px;\n --saltButton-width: 28px;\n}\n\n.expression-type-container {\n margin: 0 3px 0 auto;\n color: var(--salt-text-secondary-foreground)\n}\n\n.expression-kind {\n display: inline-block;\n width: 50px;\n}\n\n.expression-type {\n display: inline-block;\n text-align: right;\n width: 50px;\n}\n\n.vuuSuggestion {\n display: flex;\n align-items: center;\n}\n\n.vuuFunctionDoc {\n padding: 13px 7px;\n}\n\n.vuuFunctionDoc .function-heading {\n display: flex;\n gap: 3px;\n}\n\n.vuuFunctionDoc .function-name {\n font-weight: 700;\n text-transform: capitalize;\n}\n\n.vuuFunctionDoc .param-list {\n color: var(--vuu-color-gray-50);\n white-space: pre;\n}\n\n.vuuFunctionDoc .function-type {\n color: var(--vuu-color-gray-50);\n font-weight: 700;\n margin-left: auto;\n text-transform: capitalize;\n}\n\n.vuuFunctionDoc .example-container {\n background-color: var(--vuu-color-gray-03);\n margin: 6px 0;\n padding: 3px;\n}\n\n.vuuFunctionDoc .example-expression {\n color: var(--vuu-color-gray-80);\n font-family: var(--salt-typography-fontFamily-code);\n font-weight: 500;\n padding: 8px;\n}\n\n.vuuFunctionDoc .example-result {\n margin-left: 8px;\n margin-top: 6px;\n}";
4
+
5
+ module.exports = colummExpressionInputCss;
6
+ //# sourceMappingURL=ColumnExpressionInput.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnExpressionInput.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var styles = require('@salt-ds/styles');
6
+ var window = require('@salt-ds/window');
7
+ var useColumnExpressionEditor = require('./useColumnExpressionEditor.js');
8
+ var ColumnExpressionInput$1 = require('./ColumnExpressionInput.css.js');
9
+
10
+ const classBase = "vuuColumnExpressionInput";
11
+ const ColumnExpressionInput = react.memo(
12
+ ({
13
+ onChange,
14
+ onSubmitExpression,
15
+ source = "",
16
+ suggestionProvider
17
+ }) => {
18
+ const targetWindow = window.useWindow();
19
+ styles.useComponentCssInjection({
20
+ testId: "vuu-column-expression-input",
21
+ css: ColumnExpressionInput$1,
22
+ window: targetWindow
23
+ });
24
+ const { editorRef, onBlur } = useColumnExpressionEditor.useColumnExpressionEditor({
25
+ onChange,
26
+ onSubmitExpression,
27
+ source,
28
+ suggestionProvider
29
+ });
30
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${classBase}`, onBlur, ref: editorRef });
31
+ },
32
+ (prevProps, newProps) => {
33
+ return prevProps.source === newProps.source;
34
+ }
35
+ );
36
+ ColumnExpressionInput.displayName = "ColumnExpressionInput";
37
+
38
+ exports.ColumnExpressionInput = ColumnExpressionInput;
39
+ //# sourceMappingURL=ColumnExpressionInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnExpressionInput.js","sources":["../../src/column-expression-input/ColumnExpressionInput.tsx"],"sourcesContent":["import { HTMLAttributes, memo } from \"react\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { ColumnDefinitionExpression } from \"./column-language-parser\";\nimport {\n ExpressionSuggestionConsumer,\n useColumnExpressionEditor,\n} from \"./useColumnExpressionEditor\";\n\nimport colummExpressionInputCss from \"./ColumnExpressionInput.css\";\n\nconst classBase = \"vuuColumnExpressionInput\";\n\nexport type ColumnExpressionSubmitHandler = (\n source: string,\n expression: ColumnDefinitionExpression | undefined\n) => void;\n\nexport interface ColumnExpressionInputProps\n extends ExpressionSuggestionConsumer,\n Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n onChange?: (source: string) => void;\n onSubmitExpression?: ColumnExpressionSubmitHandler;\n source?: string;\n}\n\nexport const ColumnExpressionInput = memo(\n ({\n onChange,\n onSubmitExpression,\n source = \"\",\n suggestionProvider,\n }: ColumnExpressionInputProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-expression-input\",\n css: colummExpressionInputCss,\n window: targetWindow,\n });\n\n const { editorRef, onBlur } = useColumnExpressionEditor({\n onChange,\n onSubmitExpression,\n source,\n suggestionProvider,\n });\n\n return <div className={`${classBase}`} onBlur={onBlur} ref={editorRef} />;\n },\n (prevProps, newProps) => {\n return prevProps.source === newProps.source;\n }\n);\nColumnExpressionInput.displayName = \"ColumnExpressionInput\";\n"],"names":["memo","useWindow","useComponentCssInjection","colummExpressionInputCss","useColumnExpressionEditor","jsx"],"mappings":";;;;;;;;;AAWA,MAAM,SAAY,GAAA,0BAAA,CAAA;AAeX,MAAM,qBAAwB,GAAAA,UAAA;AAAA,EACnC,CAAC;AAAA,IACC,QAAA;AAAA,IACA,kBAAA;AAAA,IACA,MAAS,GAAA,EAAA;AAAA,IACT,kBAAA;AAAA,GACgC,KAAA;AAChC,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,6BAAA;AAAA,MACR,GAAK,EAAAC,uBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,EAAE,SAAA,EAAW,MAAO,EAAA,GAAIC,mDAA0B,CAAA;AAAA,MACtD,QAAA;AAAA,MACA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,kBAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAO,uBAAAC,cAAA,CAAC,SAAI,SAAW,EAAA,CAAA,EAAG,SAAS,CAAI,CAAA,EAAA,MAAA,EAAgB,KAAK,SAAW,EAAA,CAAA,CAAA;AAAA,GACzE;AAAA,EACA,CAAC,WAAW,QAAa,KAAA;AACvB,IAAO,OAAA,SAAA,CAAU,WAAW,QAAS,CAAA,MAAA,CAAA;AAAA,GACvC;AACF,EAAA;AACA,qBAAA,CAAsB,WAAc,GAAA,uBAAA;;;;"}
@@ -0,0 +1,307 @@
1
+ 'use strict';
2
+
3
+ const columnFunctionDescriptors = [
4
+ /**
5
+ * and
6
+ */
7
+ {
8
+ accepts: ["boolean"],
9
+ description: "Applies boolean and operator across supplied parameters to returns a single boolean result",
10
+ example: {
11
+ expression: 'and(ccy="EUR",quantity=0)',
12
+ result: "true | false"
13
+ },
14
+ name: "and",
15
+ params: {
16
+ description: "( boolean, [ boolean* ] )"
17
+ },
18
+ type: "boolean"
19
+ },
20
+ /**
21
+ * concatenate()
22
+ */
23
+ {
24
+ accepts: "string",
25
+ description: "Returns multiple string values as a single joined string. Arguments may be string literal values, string columns or other string expressions. Non string arguments may also be included, these will be converted to strings.",
26
+ example: {
27
+ expression: 'concatenate("example", "-test")',
28
+ result: '"example-test"'
29
+ },
30
+ name: "concatenate",
31
+ params: {
32
+ description: "( string, string, [ string* ] )"
33
+ },
34
+ type: "string"
35
+ },
36
+ /**
37
+ * contains()
38
+ */
39
+ {
40
+ accepts: ["string", "string"],
41
+ description: "Tests a string value to determine whether it contains a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> contains one or more occurrences of <target subscring>",
42
+ example: {
43
+ expression: 'contains("Royal Bank of Scotland", "bank")',
44
+ result: "true"
45
+ },
46
+ name: "contains",
47
+ params: {
48
+ description: "( string )"
49
+ },
50
+ type: "boolean"
51
+ },
52
+ /**
53
+ * left()
54
+ */
55
+ {
56
+ accepts: ["string", "number"],
57
+ description: "Returns the leftmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.",
58
+ example: {
59
+ expression: 'left("USD Benchmark Report", 3)',
60
+ result: '"USD"'
61
+ },
62
+ name: "left",
63
+ params: {
64
+ count: 2,
65
+ description: "( string, number )"
66
+ },
67
+ type: "string"
68
+ },
69
+ /**
70
+ * len()
71
+ */
72
+ {
73
+ accepts: "string",
74
+ description: "Returns the number of characters in <string>. Argument may be a string literal, string column or other string expression.",
75
+ example: {
76
+ expression: 'len("example")',
77
+ result: "7"
78
+ },
79
+ name: "len",
80
+ params: {
81
+ description: "(string)"
82
+ },
83
+ type: "number"
84
+ },
85
+ /**
86
+ * lower()
87
+ */
88
+ {
89
+ accepts: "string",
90
+ description: "Convert a string value to lowercase. Argument may be a string column or other string expression.",
91
+ example: {
92
+ expression: 'lower("examPLE")',
93
+ result: '"example"'
94
+ },
95
+ name: "lower",
96
+ params: {
97
+ description: "( string )"
98
+ },
99
+ type: "string"
100
+ },
101
+ /**
102
+ * or
103
+ */
104
+ {
105
+ accepts: ["boolean"],
106
+ description: "Applies boolean or operator across supplied parameters to returns a single boolean result",
107
+ example: {
108
+ expression: 'or(status="cancelled",quantity=0)',
109
+ result: "true | false"
110
+ },
111
+ name: "or",
112
+ params: {
113
+ description: "( boolean, [ boolean* ] )"
114
+ },
115
+ type: "boolean"
116
+ },
117
+ /**
118
+ * upper()
119
+ */
120
+ {
121
+ accepts: "string",
122
+ description: "Convert a string value to uppercase. Argument may be a string column or other string expression.",
123
+ example: {
124
+ expression: 'upper("example")',
125
+ result: '"EXAMPLE"'
126
+ },
127
+ name: "upper",
128
+ params: {
129
+ description: "( string )"
130
+ },
131
+ type: "string"
132
+ },
133
+ /**
134
+ * right()
135
+ */
136
+ {
137
+ accepts: ["string", "number"],
138
+ description: "Returns the rightmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.",
139
+ example: {
140
+ expression: "blah",
141
+ result: "blah"
142
+ },
143
+ name: "right",
144
+ params: {
145
+ description: "( string )"
146
+ },
147
+ type: "string"
148
+ },
149
+ /**
150
+ * replace()
151
+ */
152
+ {
153
+ accepts: ["string", "string", "string"],
154
+ description: "Replace characters within a string. Accepts three arguments: source text, text to replace and replacement text. Returns a copy of <source text> with any occurrences of <text to replace> replaced by <replacement text>",
155
+ example: {
156
+ expression: "blah",
157
+ result: "blah"
158
+ },
159
+ name: "replace",
160
+ params: {
161
+ description: "( string )"
162
+ },
163
+ type: "string"
164
+ },
165
+ /**
166
+ * text()
167
+ */
168
+ {
169
+ accepts: "number",
170
+ description: "Converts a number to a string.",
171
+ example: {
172
+ expression: "blah",
173
+ result: "blah"
174
+ },
175
+ name: "text",
176
+ params: {
177
+ description: "( string )"
178
+ },
179
+ type: "string"
180
+ },
181
+ /**
182
+ * starts()
183
+ */
184
+ {
185
+ accepts: "string",
186
+ description: "Tests a string value to determine whether it starts with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> starts with <target subscring>.",
187
+ example: {
188
+ expression: "blah",
189
+ result: "blah"
190
+ },
191
+ name: "starts",
192
+ params: {
193
+ description: "( string )"
194
+ },
195
+ type: "boolean"
196
+ },
197
+ /**
198
+ * starts()
199
+ */
200
+ {
201
+ accepts: "string",
202
+ description: "Tests a string value to determine whether it ends with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> ends with <target subscring>.",
203
+ example: {
204
+ expression: "blah",
205
+ result: "blah"
206
+ },
207
+ name: "ends",
208
+ params: {
209
+ description: "( string )"
210
+ },
211
+ type: "boolean"
212
+ },
213
+ {
214
+ accepts: "number",
215
+ description: "blah",
216
+ example: {
217
+ expression: "blah",
218
+ result: "blah"
219
+ },
220
+ name: "min",
221
+ params: {
222
+ description: "( string )"
223
+ },
224
+ type: "number"
225
+ },
226
+ {
227
+ accepts: "number",
228
+ description: "blah",
229
+ example: {
230
+ expression: "blah",
231
+ result: "blah"
232
+ },
233
+ name: "max",
234
+ params: {
235
+ description: "( string )"
236
+ },
237
+ type: "number"
238
+ },
239
+ {
240
+ accepts: "number",
241
+ description: "blah",
242
+ example: {
243
+ expression: "blah",
244
+ result: "blah"
245
+ },
246
+ name: "sum",
247
+ params: {
248
+ description: "( string )"
249
+ },
250
+ type: "number"
251
+ },
252
+ {
253
+ accepts: "number",
254
+ description: "blah",
255
+ example: {
256
+ expression: "blah",
257
+ result: "blah"
258
+ },
259
+ name: "round",
260
+ params: {
261
+ description: "( string )"
262
+ },
263
+ type: "number"
264
+ },
265
+ {
266
+ accepts: "any",
267
+ description: "blah",
268
+ example: {
269
+ expression: "blah",
270
+ result: "blah"
271
+ },
272
+ name: "or",
273
+ params: {
274
+ description: "( string )"
275
+ },
276
+ type: "boolean"
277
+ },
278
+ {
279
+ accepts: "any",
280
+ description: "blah",
281
+ example: {
282
+ expression: "blah",
283
+ result: "blah"
284
+ },
285
+ name: "and",
286
+ params: {
287
+ description: "( string )"
288
+ },
289
+ type: "boolean"
290
+ },
291
+ {
292
+ accepts: "any",
293
+ description: "Return one of two possible result values, depending on the evaluation of a filter expression. If <filterExpression> resolves to true, result is <expression1>, otherwise <expression2>. ",
294
+ example: {
295
+ expression: "blah",
296
+ result: "blah"
297
+ },
298
+ name: "if",
299
+ params: {
300
+ description: "( filterExpression, expression1, expression 2)"
301
+ },
302
+ type: "variable"
303
+ }
304
+ ];
305
+
306
+ exports.columnFunctionDescriptors = columnFunctionDescriptors;
307
+ //# sourceMappingURL=column-function-descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-function-descriptors.js","sources":["../../src/column-expression-input/column-function-descriptors.ts"],"sourcesContent":["export type ColumnFunctionDescriptor = {\n accepts:\n | \"string\"\n | \"number\"\n | \"boolean\"\n | \"any\"\n | Array<\"string\" | \"number\" | \"boolean\">;\n description: string;\n example: {\n expression: string;\n result: string;\n };\n name: string;\n params: {\n count?: number;\n description: string;\n };\n type: \"string\" | \"number\" | \"boolean\" | \"variable\";\n};\n\nexport const columnFunctionDescriptors: ColumnFunctionDescriptor[] = [\n /**\n * and\n */\n {\n accepts: [\"boolean\"],\n description:\n \"Applies boolean and operator across supplied parameters to returns a single boolean result\",\n example: {\n expression: 'and(ccy=\"EUR\",quantity=0)',\n result: \"true | false\",\n },\n name: \"and\",\n params: {\n description: \"( boolean, [ boolean* ] )\",\n },\n type: \"boolean\",\n },\n\n /**\n * concatenate()\n */\n {\n accepts: \"string\",\n description:\n \"Returns multiple string values as a single joined string. Arguments may be string literal values, string columns or other string expressions. Non string arguments may also be included, these will be converted to strings.\",\n example: {\n expression: 'concatenate(\"example\", \"-test\")',\n result: '\"example-test\"',\n },\n name: \"concatenate\",\n params: {\n description: \"( string, string, [ string* ] )\",\n },\n type: \"string\",\n },\n /**\n * contains()\n */\n {\n accepts: [\"string\", \"string\"],\n description:\n \"Tests a string value to determine whether it contains a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> contains one or more occurrences of <target subscring>\",\n example: {\n expression: 'contains(\"Royal Bank of Scotland\", \"bank\")',\n result: \"true\",\n },\n name: \"contains\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n\n /**\n * left()\n */\n {\n accepts: [\"string\", \"number\"],\n description:\n \"Returns the leftmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.\",\n example: {\n expression: 'left(\"USD Benchmark Report\", 3)',\n result: '\"USD\"',\n },\n name: \"left\",\n params: {\n count: 2,\n description: \"( string, number )\",\n },\n type: \"string\",\n },\n /**\n * len()\n */\n {\n accepts: \"string\",\n description:\n \"Returns the number of characters in <string>. Argument may be a string literal, string column or other string expression.\",\n example: {\n expression: 'len(\"example\")',\n result: \"7\",\n },\n name: \"len\",\n params: {\n description: \"(string)\",\n },\n type: \"number\",\n },\n /**\n * lower()\n */\n {\n accepts: \"string\",\n description:\n \"Convert a string value to lowercase. Argument may be a string column or other string expression.\",\n example: {\n expression: 'lower(\"examPLE\")',\n result: '\"example\"',\n },\n name: \"lower\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * or\n */\n {\n accepts: [\"boolean\"],\n description:\n \"Applies boolean or operator across supplied parameters to returns a single boolean result\",\n example: {\n expression: 'or(status=\"cancelled\",quantity=0)',\n result: \"true | false\",\n },\n name: \"or\",\n params: {\n description: \"( boolean, [ boolean* ] )\",\n },\n type: \"boolean\",\n },\n\n /**\n * upper()\n */\n {\n accepts: \"string\",\n description:\n \"Convert a string value to uppercase. Argument may be a string column or other string expression.\",\n example: {\n expression: 'upper(\"example\")',\n result: '\"EXAMPLE\"',\n },\n name: \"upper\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * right()\n */\n {\n accepts: [\"string\", \"number\"],\n description:\n \"Returns the rightmost <number> characters from <string>. First argument may be a string literal, string column or other string expression.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"right\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * replace()\n */\n {\n accepts: [\"string\", \"string\", \"string\"],\n description:\n \"Replace characters within a string. Accepts three arguments: source text, text to replace and replacement text. Returns a copy of <source text> with any occurrences of <text to replace> replaced by <replacement text>\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"replace\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * text()\n */\n {\n accepts: \"number\",\n description: \"Converts a number to a string.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"text\",\n params: {\n description: \"( string )\",\n },\n type: \"string\",\n },\n /**\n * starts()\n */\n {\n accepts: \"string\",\n description:\n \"Tests a string value to determine whether it starts with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> starts with <target subscring>.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"starts\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n /**\n * starts()\n */\n {\n accepts: \"string\",\n description:\n \"Tests a string value to determine whether it ends with a given substring. Accepts two arguments: source text and target substring. Returns true if <source text> ends with <target subscring>.\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"ends\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"min\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"max\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"sum\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"number\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"round\",\n params: {\n description: \"( string )\",\n },\n type: \"number\",\n },\n {\n accepts: \"any\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"or\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n {\n accepts: \"any\",\n description: \"blah\",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"and\",\n params: {\n description: \"( string )\",\n },\n type: \"boolean\",\n },\n {\n accepts: \"any\",\n description:\n \"Return one of two possible result values, depending on the evaluation of a filter expression. If <filterExpression> resolves to true, result is <expression1>, otherwise <expression2>. \",\n example: {\n expression: \"blah\",\n result: \"blah\",\n },\n name: \"if\",\n params: {\n description: \"( filterExpression, expression1, expression 2)\",\n },\n type: \"variable\",\n },\n];\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var vuuCodemirror = require('@vuu-ui/vuu-codemirror');
4
+ var columnParser = require('./generated/column-parser.js');
5
+
6
+ const columnExpressionLanguage = vuuCodemirror.LRLanguage.define({
7
+ name: "VuuColumnExpression",
8
+ parser: columnParser.parser.configure({
9
+ props: [
10
+ vuuCodemirror.styleTags({
11
+ Column: vuuCodemirror.tags.attributeValue,
12
+ Function: vuuCodemirror.tags.variableName,
13
+ String: vuuCodemirror.tags.string,
14
+ Or: vuuCodemirror.tags.emphasis,
15
+ Operator: vuuCodemirror.tags.operator
16
+ })
17
+ ]
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ })
20
+ });
21
+ const columnExpressionLanguageSupport = () => {
22
+ return new vuuCodemirror.LanguageSupport(
23
+ columnExpressionLanguage
24
+ /*, [exampleCompletion]*/
25
+ );
26
+ };
27
+
28
+ exports.columnExpressionLanguageSupport = columnExpressionLanguageSupport;
29
+ //# sourceMappingURL=ColumnExpressionLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnExpressionLanguage.js","sources":["../../../src/column-expression-input/column-language-parser/ColumnExpressionLanguage.ts"],"sourcesContent":["import {\n LanguageSupport,\n LRLanguage,\n styleTags,\n tags as tag,\n} from \"@vuu-ui/vuu-codemirror\";\nimport { parser } from \"./generated/column-parser\";\n\nconst columnExpressionLanguage = LRLanguage.define({\n name: \"VuuColumnExpression\",\n parser: parser.configure({\n props: [\n styleTags({\n Column: tag.attributeValue,\n Function: tag.variableName,\n String: tag.string,\n Or: tag.emphasis,\n Operator: tag.operator,\n }),\n ],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) as any,\n});\n\nexport const columnExpressionLanguageSupport = () => {\n return new LanguageSupport(\n columnExpressionLanguage /*, [exampleCompletion]*/\n );\n};\n"],"names":["LRLanguage","parser","styleTags","tag","LanguageSupport"],"mappings":";;;;;AAQA,MAAM,wBAAA,GAA2BA,yBAAW,MAAO,CAAA;AAAA,EACjD,IAAM,EAAA,qBAAA;AAAA,EACN,MAAA,EAAQC,oBAAO,SAAU,CAAA;AAAA,IACvB,KAAO,EAAA;AAAA,MACLC,uBAAU,CAAA;AAAA,QACR,QAAQC,kBAAI,CAAA,cAAA;AAAA,QACZ,UAAUA,kBAAI,CAAA,YAAA;AAAA,QACd,QAAQA,kBAAI,CAAA,MAAA;AAAA,QACZ,IAAIA,kBAAI,CAAA,QAAA;AAAA,QACR,UAAUA,kBAAI,CAAA,QAAA;AAAA,OACf,CAAA;AAAA,KACH;AAAA;AAAA,GAED,CAAA;AACH,CAAC,CAAA,CAAA;AAEM,MAAM,kCAAkC,MAAM;AACnD,EAAA,OAAO,IAAIC,6BAAA;AAAA,IACT,wBAAA;AAAA;AAAA,GACF,CAAA;AACF;;;;"}