@vuu-ui/vuu-table-extras 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/cjs/{column-expression-panel/ColumnExpressionPanel.js → calculated-column/CalculatedColumnPanel.js} +13 -13
  2. package/cjs/calculated-column/CalculatedColumnPanel.js.map +1 -0
  3. package/cjs/{column-expression-panel/useColumnExpression.js → calculated-column/useCalculatedColumnPanel.js} +12 -10
  4. package/cjs/calculated-column/useCalculatedColumnPanel.js.map +1 -0
  5. package/cjs/calculated-column/useEditCalculatedColumn.js +138 -0
  6. package/cjs/calculated-column/useEditCalculatedColumn.js.map +1 -0
  7. package/cjs/column-formatting-settings/BaseNumericFormattingSettings.js +1 -0
  8. package/cjs/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -1
  9. package/cjs/column-formatting-settings/ColumnFormattingPanel.js +1 -0
  10. package/cjs/column-formatting-settings/ColumnFormattingPanel.js.map +1 -1
  11. package/cjs/column-menu/ColumnMenu.js +3 -15
  12. package/cjs/column-menu/ColumnMenu.js.map +1 -1
  13. package/cjs/column-menu/column-menu-utils.js +1 -38
  14. package/cjs/column-menu/column-menu-utils.js.map +1 -1
  15. package/cjs/column-menu/useColumnActions.js +0 -2
  16. package/cjs/column-menu/useColumnActions.js.map +1 -1
  17. package/cjs/column-picker/ColumnModel.js +58 -0
  18. package/cjs/column-picker/ColumnModel.js.map +1 -1
  19. package/cjs/column-picker/ColumnPicker.css.js +1 -1
  20. package/cjs/column-picker/ColumnPicker.js +37 -14
  21. package/cjs/column-picker/ColumnPicker.js.map +1 -1
  22. package/cjs/column-picker/ColumnPickerAction.js +34 -0
  23. package/cjs/column-picker/ColumnPickerAction.js.map +1 -0
  24. package/cjs/column-picker/useColumnPicker.js.map +1 -1
  25. package/cjs/column-picker/useTableColumnPicker.js +35 -0
  26. package/cjs/column-picker/useTableColumnPicker.js.map +1 -0
  27. package/cjs/column-settings-panel/ColumnNameLabel.js.map +1 -0
  28. package/cjs/{table-column-settings → column-settings-panel}/ColumnSettingsPanel.css.js +1 -1
  29. package/cjs/column-settings-panel/ColumnSettingsPanel.js +161 -0
  30. package/cjs/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
  31. package/cjs/{table-column-settings → column-settings-panel}/useColumnSettings.js +42 -79
  32. package/cjs/column-settings-panel/useColumnSettings.js.map +1 -0
  33. package/cjs/datasource-stats/DatasourceStats.css.js +1 -1
  34. package/cjs/index.js +20 -19
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +6 -0
  37. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
  38. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.js +90 -0
  39. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
  40. package/cjs/tabbed-table-config-panel/TabbedTableSettingsAction.js +44 -0
  41. package/cjs/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
  42. package/cjs/tabbed-table-config-panel/useTabbedTableConfigPanel.js +49 -0
  43. package/cjs/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
  44. package/cjs/table-footer/TableFooter.css.js +6 -0
  45. package/cjs/table-footer/TableFooter.css.js.map +1 -0
  46. package/cjs/table-footer/TableFooter.js +34 -0
  47. package/cjs/table-footer/TableFooter.js.map +1 -0
  48. package/cjs/{table-column-settings → table-settings-panel}/TableSettingsPanel.css.js +1 -1
  49. package/cjs/{table-column-settings → table-settings-panel}/TableSettingsPanel.js +12 -47
  50. package/cjs/table-settings-panel/TableSettingsPanel.js.map +1 -0
  51. package/cjs/table-settings-panel/useTableSettings.js +60 -0
  52. package/cjs/table-settings-panel/useTableSettings.js.map +1 -0
  53. package/esm/{column-expression-panel/ColumnExpressionPanel.js → calculated-column/CalculatedColumnPanel.js} +13 -13
  54. package/esm/calculated-column/CalculatedColumnPanel.js.map +1 -0
  55. package/esm/{column-expression-panel/useColumnExpression.js → calculated-column/useCalculatedColumnPanel.js} +12 -10
  56. package/esm/calculated-column/useCalculatedColumnPanel.js.map +1 -0
  57. package/esm/calculated-column/useEditCalculatedColumn.js +136 -0
  58. package/esm/calculated-column/useEditCalculatedColumn.js.map +1 -0
  59. package/esm/column-formatting-settings/BaseNumericFormattingSettings.js +1 -0
  60. package/esm/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -1
  61. package/esm/column-formatting-settings/ColumnFormattingPanel.js +1 -0
  62. package/esm/column-formatting-settings/ColumnFormattingPanel.js.map +1 -1
  63. package/esm/column-menu/ColumnMenu.js +4 -16
  64. package/esm/column-menu/ColumnMenu.js.map +1 -1
  65. package/esm/column-menu/column-menu-utils.js +2 -38
  66. package/esm/column-menu/column-menu-utils.js.map +1 -1
  67. package/esm/column-menu/useColumnActions.js +0 -2
  68. package/esm/column-menu/useColumnActions.js.map +1 -1
  69. package/esm/column-picker/ColumnModel.js +58 -0
  70. package/esm/column-picker/ColumnModel.js.map +1 -1
  71. package/esm/column-picker/ColumnPicker.css.js +1 -1
  72. package/esm/column-picker/ColumnPicker.js +39 -16
  73. package/esm/column-picker/ColumnPicker.js.map +1 -1
  74. package/esm/column-picker/ColumnPickerAction.js +32 -0
  75. package/esm/column-picker/ColumnPickerAction.js.map +1 -0
  76. package/esm/column-picker/useColumnPicker.js.map +1 -1
  77. package/esm/column-picker/useTableColumnPicker.js +33 -0
  78. package/esm/column-picker/useTableColumnPicker.js.map +1 -0
  79. package/esm/column-settings-panel/ColumnNameLabel.js.map +1 -0
  80. package/esm/{table-column-settings → column-settings-panel}/ColumnSettingsPanel.css.js +1 -1
  81. package/esm/column-settings-panel/ColumnSettingsPanel.js +159 -0
  82. package/esm/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
  83. package/esm/{table-column-settings → column-settings-panel}/useColumnSettings.js +44 -81
  84. package/esm/column-settings-panel/useColumnSettings.js.map +1 -0
  85. package/esm/datasource-stats/DatasourceStats.css.js +1 -1
  86. package/esm/index.js +9 -7
  87. package/esm/index.js.map +1 -1
  88. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +4 -0
  89. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
  90. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.js +88 -0
  91. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
  92. package/esm/tabbed-table-config-panel/TabbedTableSettingsAction.js +42 -0
  93. package/esm/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
  94. package/esm/tabbed-table-config-panel/useTabbedTableConfigPanel.js +47 -0
  95. package/esm/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
  96. package/esm/table-footer/TableFooter.css.js +4 -0
  97. package/esm/table-footer/TableFooter.css.js.map +1 -0
  98. package/esm/table-footer/TableFooter.js +31 -0
  99. package/esm/table-footer/TableFooter.js.map +1 -0
  100. package/esm/{table-column-settings → table-settings-panel}/TableSettingsPanel.css.js +1 -1
  101. package/esm/{table-column-settings → table-settings-panel}/TableSettingsPanel.js +13 -48
  102. package/esm/table-settings-panel/TableSettingsPanel.js.map +1 -0
  103. package/esm/table-settings-panel/useTableSettings.js +58 -0
  104. package/esm/table-settings-panel/useTableSettings.js.map +1 -0
  105. package/package.json +12 -11
  106. package/types/calculated-column/CalculatedColumnPanel.d.ts +12 -0
  107. package/types/calculated-column/useCalculatedColumnPanel.d.ts +10 -0
  108. package/types/calculated-column/useEditCalculatedColumn.d.ts +13 -0
  109. package/types/column-menu/ColumnMenu.d.ts +1 -1
  110. package/types/column-menu/column-action-types.d.ts +1 -4
  111. package/types/column-menu/column-menu-utils.d.ts +3 -4
  112. package/types/column-picker/ColumnModel.d.ts +26 -3
  113. package/types/column-picker/ColumnPicker.d.ts +7 -3
  114. package/types/column-picker/ColumnPickerAction.d.ts +5 -0
  115. package/types/column-picker/useColumnPicker.d.ts +4 -4
  116. package/types/column-picker/useTableColumnPicker.d.ts +7 -0
  117. package/types/column-picker/useTableColumnPickerDeprecated.d.ts +14 -0
  118. package/types/{table-column-settings → column-settings-panel}/ColumnNameLabel.d.ts +1 -1
  119. package/types/column-settings-panel/ColumnSettingsPanel.d.ts +5 -0
  120. package/types/{table-column-settings → column-settings-panel}/useColumnSettings.d.ts +14 -7
  121. package/types/index.d.ts +10 -9
  122. package/types/tabbed-table-config-panel/TabbedTableConfigPanel.d.ts +17 -0
  123. package/types/tabbed-table-config-panel/TabbedTableSettingsAction.d.ts +7 -0
  124. package/types/tabbed-table-config-panel/useTabbedTableConfigPanel.d.ts +13 -0
  125. package/types/table-footer/TableFooter.d.ts +9 -0
  126. package/types/table-settings-panel/TableSettingsPanel.d.ts +22 -0
  127. package/types/table-settings-panel/useTableSettings.d.ts +14 -0
  128. package/cjs/column-expression-panel/ColumnExpressionPanel.js.map +0 -1
  129. package/cjs/column-expression-panel/useColumnExpression.js.map +0 -1
  130. package/cjs/column-list/ColumnList.css.js +0 -6
  131. package/cjs/column-list/ColumnList.css.js.map +0 -1
  132. package/cjs/column-list/ColumnList.js +0 -218
  133. package/cjs/column-list/ColumnList.js.map +0 -1
  134. package/cjs/column-list/useColumnList.js +0 -66
  135. package/cjs/column-list/useColumnList.js.map +0 -1
  136. package/cjs/table-column-settings/ColumnNameLabel.js.map +0 -1
  137. package/cjs/table-column-settings/ColumnSettingsPanel.js +0 -202
  138. package/cjs/table-column-settings/ColumnSettingsPanel.js.map +0 -1
  139. package/cjs/table-column-settings/TableSettingsPanel.js.map +0 -1
  140. package/cjs/table-column-settings/useColumnSettings.js.map +0 -1
  141. package/cjs/table-column-settings/useTableAndColumnSettings.js +0 -129
  142. package/cjs/table-column-settings/useTableAndColumnSettings.js.map +0 -1
  143. package/cjs/table-column-settings/useTableSettings.js +0 -176
  144. package/cjs/table-column-settings/useTableSettings.js.map +0 -1
  145. package/esm/column-expression-panel/ColumnExpressionPanel.js.map +0 -1
  146. package/esm/column-expression-panel/useColumnExpression.js.map +0 -1
  147. package/esm/column-list/ColumnList.css.js +0 -4
  148. package/esm/column-list/ColumnList.css.js.map +0 -1
  149. package/esm/column-list/ColumnList.js +0 -214
  150. package/esm/column-list/ColumnList.js.map +0 -1
  151. package/esm/column-list/useColumnList.js +0 -64
  152. package/esm/column-list/useColumnList.js.map +0 -1
  153. package/esm/table-column-settings/ColumnNameLabel.js.map +0 -1
  154. package/esm/table-column-settings/ColumnSettingsPanel.js +0 -200
  155. package/esm/table-column-settings/ColumnSettingsPanel.js.map +0 -1
  156. package/esm/table-column-settings/TableSettingsPanel.js.map +0 -1
  157. package/esm/table-column-settings/useColumnSettings.js.map +0 -1
  158. package/esm/table-column-settings/useTableAndColumnSettings.js +0 -125
  159. package/esm/table-column-settings/useTableAndColumnSettings.js.map +0 -1
  160. package/esm/table-column-settings/useTableSettings.js +0 -174
  161. package/esm/table-column-settings/useTableSettings.js.map +0 -1
  162. package/types/column-expression-panel/ColumnExpressionPanel.d.ts +0 -13
  163. package/types/column-expression-panel/index.d.ts +0 -1
  164. package/types/column-expression-panel/useColumnExpression.d.ts +0 -10
  165. package/types/column-list/ColumnList.d.ts +0 -11
  166. package/types/column-list/index.d.ts +0 -2
  167. package/types/column-list/useColumnList.d.ts +0 -22
  168. package/types/table-column-settings/ColumnSettingsPanel.d.ts +0 -2
  169. package/types/table-column-settings/TableSettingsPanel.d.ts +0 -9
  170. package/types/table-column-settings/useTableAndColumnSettings.d.ts +0 -18
  171. package/types/table-column-settings/useTableSettings.d.ts +0 -18
  172. /package/cjs/{table-column-settings → column-settings-panel}/ColumnNameLabel.css.js +0 -0
  173. /package/cjs/{table-column-settings → column-settings-panel}/ColumnNameLabel.css.js.map +0 -0
  174. /package/cjs/{table-column-settings → column-settings-panel}/ColumnNameLabel.js +0 -0
  175. /package/cjs/{table-column-settings → column-settings-panel}/ColumnSettingsPanel.css.js.map +0 -0
  176. /package/cjs/{table-column-settings → table-settings-panel}/TableSettingsPanel.css.js.map +0 -0
  177. /package/esm/{table-column-settings → column-settings-panel}/ColumnNameLabel.css.js +0 -0
  178. /package/esm/{table-column-settings → column-settings-panel}/ColumnNameLabel.css.js.map +0 -0
  179. /package/esm/{table-column-settings → column-settings-panel}/ColumnNameLabel.js +0 -0
  180. /package/esm/{table-column-settings → column-settings-panel}/ColumnSettingsPanel.css.js.map +0 -0
  181. /package/esm/{table-column-settings → table-settings-panel}/TableSettingsPanel.css.js.map +0 -0
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var vuuUiControls = require('@vuu-ui/vuu-ui-controls');
5
+ var react = require('react');
6
+ var ColumnPicker = require('./ColumnPicker.js');
7
+
8
+ const useTableColumnPicker = ({
9
+ columnModel
10
+ }) => {
11
+ const showContextPanel = vuuUiControls.useContextPanel();
12
+ const hideContextPanel = vuuUiControls.useHideContextPanel();
13
+ const contextPanelShowing = react.useRef(false);
14
+ const showColumnPicker = react.useCallback(
15
+ (title = "Column Picker") => {
16
+ contextPanelShowing.current = true;
17
+ showContextPanel(/* @__PURE__ */ jsxRuntime.jsx(ColumnPicker.ColumnPicker, { columnModel }), title);
18
+ },
19
+ [columnModel, showContextPanel]
20
+ );
21
+ react.useEffect(
22
+ () => () => {
23
+ if (contextPanelShowing.current) {
24
+ hideContextPanel?.();
25
+ }
26
+ },
27
+ [hideContextPanel]
28
+ );
29
+ return {
30
+ showColumnPicker
31
+ };
32
+ };
33
+
34
+ exports.useTableColumnPicker = useTableColumnPicker;
35
+ //# sourceMappingURL=useTableColumnPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableColumnPicker.js","sources":["../../../../packages/vuu-table-extras/src/column-picker/useTableColumnPicker.tsx"],"sourcesContent":["import { useContextPanel, useHideContextPanel } from \"@vuu-ui/vuu-ui-controls\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport { ColumnPicker } from \"./ColumnPicker\";\nimport { ColumnModel } from \"./ColumnModel\";\n\nexport interface TableColumnPickerHookProps {\n columnModel: ColumnModel;\n}\n\nexport const useTableColumnPicker = ({\n columnModel,\n}: TableColumnPickerHookProps) => {\n const showContextPanel = useContextPanel();\n const hideContextPanel = useHideContextPanel();\n const contextPanelShowing = useRef(false);\n\n const showColumnPicker = useCallback(\n (title = \"Column Picker\") => {\n contextPanelShowing.current = true;\n showContextPanel(<ColumnPicker columnModel={columnModel} />, title);\n },\n [columnModel, showContextPanel],\n );\n\n // TODO what's this for ?\n useEffect(\n () => () => {\n if (contextPanelShowing.current) {\n // It might already be closed, but this won't do any harm\n hideContextPanel?.();\n }\n },\n [hideContextPanel],\n );\n\n return {\n showColumnPicker,\n };\n};\n"],"names":["useContextPanel","useHideContextPanel","useRef","useCallback","jsx","ColumnPicker","useEffect"],"mappings":";;;;;;;AASO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AACF,CAAkC,KAAA;AAChC,EAAA,MAAM,mBAAmBA,6BAAgB,EAAA;AACzC,EAAA,MAAM,mBAAmBC,iCAAoB,EAAA;AAC7C,EAAM,MAAA,mBAAA,GAAsBC,aAAO,KAAK,CAAA;AAExC,EAAA,MAAM,gBAAmB,GAAAC,iBAAA;AAAA,IACvB,CAAC,QAAQ,eAAoB,KAAA;AAC3B,MAAA,mBAAA,CAAoB,OAAU,GAAA,IAAA;AAC9B,MAAA,gBAAA,iBAAkBC,cAAA,CAAAC,yBAAA,EAAA,EAAa,WAA0B,EAAA,CAAA,EAAI,KAAK,CAAA;AAAA,KACpE;AAAA,IACA,CAAC,aAAa,gBAAgB;AAAA,GAChC;AAGA,EAAAC,eAAA;AAAA,IACE,MAAM,MAAM;AACV,MAAA,IAAI,oBAAoB,OAAS,EAAA;AAE/B,QAAmB,gBAAA,IAAA;AAAA;AACrB,KACF;AAAA,IACA,CAAC,gBAAgB;AAAA,GACnB;AAEA,EAAO,OAAA;AAAA,IACL;AAAA,GACF;AACF;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnNameLabel.js","sources":["../../../../packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.tsx"],"sourcesContent":["import { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport cx from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport {\n getCalculatedColumnDetails,\n isCalculatedColumn,\n} from \"@vuu-ui/vuu-utils\";\nimport { MouseEventHandler } from \"react\";\n\nimport columnNameLabelCss from \"./ColumnNameLabel.css\";\n\nconst classBase = \"vuuColumnNameLabel\";\n\nexport interface ColumnNameLabelProps {\n column: ColumnDescriptor;\n onClick?: MouseEventHandler;\n}\n\nexport const ColumnNameLabel = ({ column, onClick }: ColumnNameLabelProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-label\",\n css: columnNameLabelCss,\n window: targetWindow,\n });\n\n if (isCalculatedColumn(column.name)) {\n const { name, serverDataType, expression } =\n getCalculatedColumnDetails(column);\n const displayName = name || \"name\";\n const displayExpression = \"=expression\";\n\n const nameClass =\n displayName === \"name\" ? `${classBase}-placeholder` : undefined;\n const expressionClass =\n expression === \"\" ? `${classBase}-placeholder` : undefined;\n return (\n <div\n className={cx(classBase, `${classBase}-calculated`)}\n onClick={onClick}\n >\n <span className={nameClass}>{displayName}</span>\n <span>:</span>\n <span>{serverDataType || \"string\"}</span>\n <span>:</span>\n <span className={expressionClass}>{displayExpression}</span>\n <span className={`${classBase}-edit`} data-icon=\"edit\" />\n </div>\n );\n } else {\n return <div className={classBase}>{column.name}</div>;\n }\n};\n"],"names":["useWindow","useComponentCssInjection","columnNameLabelCss","isCalculatedColumn","getCalculatedColumnDetails","jsxs","jsx"],"mappings":";;;;;;;;;AAYA,MAAM,SAAY,GAAA,oBAAA;AAOX,MAAM,eAAkB,GAAA,CAAC,EAAE,MAAA,EAAQ,SAAoC,KAAA;AAC5E,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,kBAAA;AAAA,IACR,GAAK,EAAAC,iBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAI,IAAAC,2BAAA,CAAmB,MAAO,CAAA,IAAI,CAAG,EAAA;AACnC,IAAA,MAAM,EAAE,IAAM,EAAA,cAAA,EAAgB,UAAW,EAAA,GACvCC,oCAA2B,MAAM,CAAA;AACnC,IAAA,MAAM,cAAc,IAAQ,IAAA,MAAA;AAC5B,IAAA,MAAM,iBAAoB,GAAA,aAAA;AAE1B,IAAA,MAAM,SACJ,GAAA,WAAA,KAAgB,MAAS,GAAA,CAAA,EAAG,SAAS,CAAiB,YAAA,CAAA,GAAA,KAAA,CAAA;AACxD,IAAA,MAAM,eACJ,GAAA,UAAA,KAAe,EAAK,GAAA,CAAA,EAAG,SAAS,CAAiB,YAAA,CAAA,GAAA,KAAA,CAAA;AACnD,IACE,uBAAAC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAA,EAAA,CAAG,SAAW,EAAA,CAAA,EAAG,SAAS,CAAa,WAAA,CAAA,CAAA;AAAA,QAClD,OAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAACC,cAAA,CAAA,MAAA,EAAA,EAAK,SAAW,EAAA,SAAA,EAAY,QAAY,EAAA,WAAA,EAAA,CAAA;AAAA,0BACzCA,cAAA,CAAC,UAAK,QAAC,EAAA,GAAA,EAAA,CAAA;AAAA,0BACPA,cAAA,CAAC,MAAM,EAAA,EAAA,QAAA,EAAA,cAAA,IAAkB,QAAS,EAAA,CAAA;AAAA,0BAClCA,cAAA,CAAC,UAAK,QAAC,EAAA,GAAA,EAAA,CAAA;AAAA,0BACNA,cAAA,CAAA,MAAA,EAAA,EAAK,SAAW,EAAA,eAAA,EAAkB,QAAkB,EAAA,iBAAA,EAAA,CAAA;AAAA,yCACpD,MAAK,EAAA,EAAA,SAAA,EAAW,GAAG,SAAS,CAAA,KAAA,CAAA,EAAS,aAAU,MAAO,EAAA;AAAA;AAAA;AAAA,KACzD;AAAA,GAEG,MAAA;AACL,IAAA,uBAAQA,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,SAAA,EAAY,iBAAO,IAAK,EAAA,CAAA;AAAA;AAEnD;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var colunSettingsPanelCss = ".vuuColumnSettingsPanel {\n --vuu-svg-align-left: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M9.33333 10H2.66667C2.3 10 2 10.3 2 10.6667C2 11.0333 2.3 11.3333 2.66667 11.3333H9.33333C9.7 11.3333 10 11.0333 10 10.6667C10 10.3 9.7 10 9.33333 10ZM9.33333 4.66667H2.66667C2.3 4.66667 2 4.96667 2 5.33333C2 5.7 2.3 6 2.66667 6H9.33333C9.7 6 10 5.7 10 5.33333C10 4.96667 9.7 4.66667 9.33333 4.66667ZM2.66667 8.66667H13.3333C13.7 8.66667 14 8.36667 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36667 2.3 8.66667 2.66667 8.66667ZM2.66667 14H13.3333C13.7 14 14 13.7 14 13.3333C14 12.9667 13.7 12.6667 13.3333 12.6667H2.66667C2.3 12.6667 2 12.9667 2 13.3333C2 13.7 2.3 14 2.66667 14ZM2 2.66667C2 3.03333 2.3 3.33333 2.66667 3.33333H13.3333C13.7 3.33333 14 3.03333 14 2.66667C14 2.3 13.7 2 13.3333 2H2.66667C2.3 2 2 2.3 2 2.66667Z\" /></svg>');\n --vuu-svg-align-right: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M2.66667 14H13.3333C13.7 14 14 13.7 14 13.3333C14 12.9667 13.7 12.6667 13.3333 12.6667H2.66667C2.3 12.6667 2 12.9667 2 13.3333C2 13.7 2.3 14 2.66667 14ZM6.66667 11.3333H13.3333C13.7 11.3333 14 11.0333 14 10.6667C14 10.3 13.7 10 13.3333 10H6.66667C6.3 10 6 10.3 6 10.6667C6 11.0333 6.3 11.3333 6.66667 11.3333ZM2.66667 8.66667H13.3333C13.7 8.66667 14 8.36667 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36667 2.3 8.66667 2.66667 8.66667ZM6.66667 6H13.3333C13.7 6 14 5.7 14 5.33333C14 4.96667 13.7 4.66667 13.3333 4.66667H6.66667C6.3 4.66667 6 4.96667 6 5.33333C6 5.7 6.3 6 6.66667 6ZM2 2.66667C2 3.03333 2.3 3.33333 2.66667 3.33333H13.3333C13.7 3.33333 14 3.03333 14 2.66667C14 2.3 13.7 2 13.3333 2H2.66667C2.3 2 2 2.3 2 2.66667Z\" /></svg>');\n --vuu-svg-pin-left: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M7.33333 9.86V8.66666H13.3333C13.7 8.66666 14 8.36666 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333L7.33333 7.33333V6.14C7.33333 5.84 6.97333 5.69333 6.76667 5.90666L4.90667 7.76666C4.77333 7.89999 4.77333 8.10666 4.90667 8.24L6.76667 10.1C6.97333 10.3067 7.33333 10.16 7.33333 9.86ZM2.66667 13.3333C3.03333 13.3333 3.33333 13.0333 3.33333 12.6667L3.33333 3.33333C3.33333 2.96666 3.03333 2.66666 2.66667 2.66666C2.3 2.66666 2 2.96666 2 3.33333L2 12.6667C2 13.0333 2.3 13.3333 2.66667 13.3333Z\" /></svg>');\n --vuu-svg-pin-float: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M6 4.66667H4.66667V6H6V4.66667ZM6 7.33333H4.66667V8.66667H6V7.33333ZM6 2C5.26 2 4.66667 2.6 4.66667 3.33333H6V2ZM8.66667 10H7.33333V11.3333H8.66667V10ZM12.6667 2V3.33333H14C14 2.6 13.4 2 12.6667 2ZM8.66667 2H7.33333V3.33333H8.66667V2ZM6 11.3333V10H4.66667C4.66667 10.7333 5.26 11.3333 6 11.3333ZM12.6667 8.66667H14V7.33333H12.6667V8.66667ZM12.6667 6H14V4.66667H12.6667V6ZM12.6667 11.3333C13.4 11.3333 14 10.7333 14 10H12.6667V11.3333ZM2.66667 4.66667C2.3 4.66667 2 4.96667 2 5.33333V12.6667C2 13.4 2.6 14 3.33333 14H10.6667C11.0333 14 11.3333 13.7 11.3333 13.3333C11.3333 12.9667 11.0333 12.6667 10.6667 12.6667H4C3.63333 12.6667 3.33333 12.3667 3.33333 12V5.33333C3.33333 4.96667 3.03333 4.66667 2.66667 4.66667ZM10 3.33333H11.3333V2H10V3.33333ZM10 11.3333H11.3333V10H10V11.3333Z\" /></svg>');\n --vuu-svg-pin-right: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M8.66667 6.14V7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36666 2.3 8.66666 2.66667 8.66666H8.66667V9.86C8.66667 10.16 9.02667 10.3067 9.23333 10.0933L11.0933 8.23333C11.2267 8.1 11.2267 7.89333 11.0933 7.76L9.23333 5.9C9.02667 5.69333 8.66667 5.84 8.66667 6.14ZM13.3333 13.3333C13.7 13.3333 14 13.0333 14 12.6667V3.33333C14 2.96666 13.7 2.66666 13.3333 2.66666C12.9667 2.66666 12.6667 2.96666 12.6667 3.33333V12.6667C12.6667 13.0333 12.9667 13.3333 13.3333 13.3333Z\"/></svg>');\n --vuuDropdown-height: 24px;\n --vuuDropdown-width: 100%;\n \n display: flex;\n flex-direction: column;\n gap: 24px;\n height: 100%;\n padding-top: 24px;\n}\n\n.vuuColumnSettingsPanel-header {\n border-top: solid 2px var(--vuu-color-gray-30);\n font-size: 14px;\n font-weight: 600;\n padding: 24px 2px 0 2px;\n}\n\n\n.vuuColumnSettingsPanel-buttonBar {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-top: auto;\n}\n\n.vuuColumnSettingsPanel-buttonBar[data-align=\"right\"]{\n gap: 6px;\n justify-content: flex-end;\n}\n\n.vuuColumnSettingsPanel-buttonNavPrev {\n --vuu-icon-left: 6px;\n padding-left: 24px\n}\n\n.vuuColumnSettingsPanel-buttonNavNext {\n --vuu-icon-left: calc(100% - 18px);\n padding-right: 24px\n}\n\n\n\n[data-icon='align-left'] {\n --vuu-icon-svg: var(--vuu-svg-align-left);\n }\n\n [data-icon='align-right'] {\n --vuu-icon-svg: var(--vuu-svg-align-right);\n }\n\n [data-icon='pin-left'] {\n --vuu-icon-svg: var(--vuu-svg-pin-left);\n }\n [data-icon='pin-float'] {\n --vuu-icon-svg: var(--vuu-svg-pin-float);\n }\n [data-icon='pin-right'] {\n --vuu-icon-svg: var(--vuu-svg-pin-right);\n }\n\n .vuuColumnSettingsPanel-editing .vuuColumnNameLabel-edit {\n display: none;\n }\n \n\n\n \n \n \n \n \n";
3
+ var colunSettingsPanelCss = ".vuuColumnSettingsPanel {\n --vuu-svg-align-left: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M9.33333 10H2.66667C2.3 10 2 10.3 2 10.6667C2 11.0333 2.3 11.3333 2.66667 11.3333H9.33333C9.7 11.3333 10 11.0333 10 10.6667C10 10.3 9.7 10 9.33333 10ZM9.33333 4.66667H2.66667C2.3 4.66667 2 4.96667 2 5.33333C2 5.7 2.3 6 2.66667 6H9.33333C9.7 6 10 5.7 10 5.33333C10 4.96667 9.7 4.66667 9.33333 4.66667ZM2.66667 8.66667H13.3333C13.7 8.66667 14 8.36667 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36667 2.3 8.66667 2.66667 8.66667ZM2.66667 14H13.3333C13.7 14 14 13.7 14 13.3333C14 12.9667 13.7 12.6667 13.3333 12.6667H2.66667C2.3 12.6667 2 12.9667 2 13.3333C2 13.7 2.3 14 2.66667 14ZM2 2.66667C2 3.03333 2.3 3.33333 2.66667 3.33333H13.3333C13.7 3.33333 14 3.03333 14 2.66667C14 2.3 13.7 2 13.3333 2H2.66667C2.3 2 2 2.3 2 2.66667Z\" /></svg>');\n --vuu-svg-align-right: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M2.66667 14H13.3333C13.7 14 14 13.7 14 13.3333C14 12.9667 13.7 12.6667 13.3333 12.6667H2.66667C2.3 12.6667 2 12.9667 2 13.3333C2 13.7 2.3 14 2.66667 14ZM6.66667 11.3333H13.3333C13.7 11.3333 14 11.0333 14 10.6667C14 10.3 13.7 10 13.3333 10H6.66667C6.3 10 6 10.3 6 10.6667C6 11.0333 6.3 11.3333 6.66667 11.3333ZM2.66667 8.66667H13.3333C13.7 8.66667 14 8.36667 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36667 2.3 8.66667 2.66667 8.66667ZM6.66667 6H13.3333C13.7 6 14 5.7 14 5.33333C14 4.96667 13.7 4.66667 13.3333 4.66667H6.66667C6.3 4.66667 6 4.96667 6 5.33333C6 5.7 6.3 6 6.66667 6ZM2 2.66667C2 3.03333 2.3 3.33333 2.66667 3.33333H13.3333C13.7 3.33333 14 3.03333 14 2.66667C14 2.3 13.7 2 13.3333 2H2.66667C2.3 2 2 2.3 2 2.66667Z\" /></svg>');\n --vuu-svg-pin-left: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M7.33333 9.86V8.66666H13.3333C13.7 8.66666 14 8.36666 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333L7.33333 7.33333V6.14C7.33333 5.84 6.97333 5.69333 6.76667 5.90666L4.90667 7.76666C4.77333 7.89999 4.77333 8.10666 4.90667 8.24L6.76667 10.1C6.97333 10.3067 7.33333 10.16 7.33333 9.86ZM2.66667 13.3333C3.03333 13.3333 3.33333 13.0333 3.33333 12.6667L3.33333 3.33333C3.33333 2.96666 3.03333 2.66666 2.66667 2.66666C2.3 2.66666 2 2.96666 2 3.33333L2 12.6667C2 13.0333 2.3 13.3333 2.66667 13.3333Z\" /></svg>');\n --vuu-svg-pin-float: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M6 4.66667H4.66667V6H6V4.66667ZM6 7.33333H4.66667V8.66667H6V7.33333ZM6 2C5.26 2 4.66667 2.6 4.66667 3.33333H6V2ZM8.66667 10H7.33333V11.3333H8.66667V10ZM12.6667 2V3.33333H14C14 2.6 13.4 2 12.6667 2ZM8.66667 2H7.33333V3.33333H8.66667V2ZM6 11.3333V10H4.66667C4.66667 10.7333 5.26 11.3333 6 11.3333ZM12.6667 8.66667H14V7.33333H12.6667V8.66667ZM12.6667 6H14V4.66667H12.6667V6ZM12.6667 11.3333C13.4 11.3333 14 10.7333 14 10H12.6667V11.3333ZM2.66667 4.66667C2.3 4.66667 2 4.96667 2 5.33333V12.6667C2 13.4 2.6 14 3.33333 14H10.6667C11.0333 14 11.3333 13.7 11.3333 13.3333C11.3333 12.9667 11.0333 12.6667 10.6667 12.6667H4C3.63333 12.6667 3.33333 12.3667 3.33333 12V5.33333C3.33333 4.96667 3.03333 4.66667 2.66667 4.66667ZM10 3.33333H11.3333V2H10V3.33333ZM10 11.3333H11.3333V10H10V11.3333Z\" /></svg>');\n --vuu-svg-pin-right: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M8.66667 6.14V7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36666 2.3 8.66666 2.66667 8.66666H8.66667V9.86C8.66667 10.16 9.02667 10.3067 9.23333 10.0933L11.0933 8.23333C11.2267 8.1 11.2267 7.89333 11.0933 7.76L9.23333 5.9C9.02667 5.69333 8.66667 5.84 8.66667 6.14ZM13.3333 13.3333C13.7 13.3333 14 13.0333 14 12.6667V3.33333C14 2.96666 13.7 2.66666 13.3333 2.66666C12.9667 2.66666 12.6667 2.96666 12.6667 3.33333V12.6667C12.6667 13.0333 12.9667 13.3333 13.3333 13.3333Z\"/></svg>');\n --vuuDropdown-height: 24px;\n --vuuDropdown-width: 100%;\n \n display: flex;\n flex-direction: column;\n gap: 24px;\n height: 100%;\n}\n\n.vuuColumnSettingsPanel-header {\n font-size: 14px;\n font-weight: 600;\n padding: 24px 2px 0 2px;\n}\n\n\n.vuuColumnSettingsPanel-buttonBar {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-top: auto;\n}\n\n.vuuColumnSettingsPanel-buttonBar[data-align=\"right\"]{\n gap: 6px;\n justify-content: flex-end;\n}\n\n.vuuColumnSettingsPanel-buttonNavPrev {\n --vuu-icon-left: 6px;\n padding-left: 24px\n}\n\n.vuuColumnSettingsPanel-buttonNavNext {\n --vuu-icon-left: calc(100% - 18px);\n padding-right: 24px\n}\n\n\n\n[data-icon='align-left'] {\n --vuu-icon-svg: var(--vuu-svg-align-left);\n }\n\n [data-icon='align-right'] {\n --vuu-icon-svg: var(--vuu-svg-align-right);\n }\n\n [data-icon='pin-left'] {\n --vuu-icon-svg: var(--vuu-svg-pin-left);\n }\n [data-icon='pin-float'] {\n --vuu-icon-svg: var(--vuu-svg-pin-float);\n }\n [data-icon='pin-right'] {\n --vuu-icon-svg: var(--vuu-svg-pin-right);\n }\n\n .vuuColumnSettingsPanel-editing .vuuColumnNameLabel-edit {\n display: none;\n }\n \n\n\n \n \n \n \n \n";
4
4
 
5
5
  module.exports = colunSettingsPanelCss;
6
6
  //# sourceMappingURL=ColumnSettingsPanel.css.js.map
@@ -0,0 +1,161 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var core = require('@salt-ds/core');
5
+ var styles = require('@salt-ds/styles');
6
+ var window = require('@salt-ds/window');
7
+ var vuuUiControls = require('@vuu-ui/vuu-ui-controls');
8
+ var vuuUtils = require('@vuu-ui/vuu-utils');
9
+ var ColumnFormattingPanel = require('../column-formatting-settings/ColumnFormattingPanel.js');
10
+ require('react');
11
+ var ColumnNameLabel = require('./ColumnNameLabel.js');
12
+ var useColumnSettings = require('./useColumnSettings.js');
13
+ var ColumnSettingsPanel$1 = require('./ColumnSettingsPanel.css.js');
14
+
15
+ const classBase = "vuuColumnSettingsPanel";
16
+ const getColumnLabel = (column) => {
17
+ const { name, label } = column;
18
+ if (vuuUtils.isCalculatedColumn(name)) {
19
+ return label ?? vuuUtils.getCalculatedColumnDetails(column).name;
20
+ } else {
21
+ return label ?? name;
22
+ }
23
+ };
24
+ const ColumnSettingsPanel = ({
25
+ column: columnProp,
26
+ columnModel,
27
+ onClickEditCalculatedColumn,
28
+ onConfigChange
29
+ }) => {
30
+ const targetWindow = window.useWindow();
31
+ styles.useComponentCssInjection({
32
+ testId: "vuu-column-settings-panel",
33
+ css: ColumnSettingsPanel$1,
34
+ window: targetWindow
35
+ });
36
+ const isNewCalculatedColumn = columnProp.name === "::";
37
+ const {
38
+ availableRenderers,
39
+ column,
40
+ navigateNextColumn,
41
+ navigatePrevColumn,
42
+ onChange,
43
+ onChangeFormatting,
44
+ onChangeRendering,
45
+ onChangeToggleButton,
46
+ onChangeType,
47
+ onInputCommit
48
+ } = useColumnSettings.useColumnSettings({
49
+ column: columnProp,
50
+ columnModel,
51
+ onConfigChange
52
+ });
53
+ const {
54
+ serverDataType,
55
+ align = vuuUtils.getDefaultAlignment(serverDataType),
56
+ pin,
57
+ width = ""
58
+ } = column;
59
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classBase, children: [
60
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${classBase}-header`, children: /* @__PURE__ */ jsxRuntime.jsx(
61
+ ColumnNameLabel.ColumnNameLabel,
62
+ {
63
+ column,
64
+ onClick: onClickEditCalculatedColumn
65
+ }
66
+ ) }),
67
+ /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-field": "column-label", children: [
68
+ /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: "Column Label" }),
69
+ /* @__PURE__ */ jsxRuntime.jsx(
70
+ vuuUiControls.VuuInput,
71
+ {
72
+ bordered: true,
73
+ className: "vuuInput",
74
+ "data-embedded": true,
75
+ onChange,
76
+ onCommit: onInputCommit,
77
+ value: getColumnLabel(column)
78
+ }
79
+ )
80
+ ] }),
81
+ /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-field": "column-width", children: [
82
+ /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: "Column Width" }),
83
+ /* @__PURE__ */ jsxRuntime.jsx(
84
+ vuuUiControls.VuuInput,
85
+ {
86
+ bordered: true,
87
+ className: "vuuInput",
88
+ "data-embedded": true,
89
+ onChange,
90
+ value: width,
91
+ onCommit: onInputCommit
92
+ }
93
+ )
94
+ ] }),
95
+ /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-field": "column-alignment", children: [
96
+ /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: "Alignment" }),
97
+ /* @__PURE__ */ jsxRuntime.jsxs(core.ToggleButtonGroup, { onChange: onChangeToggleButton, value: align, children: [
98
+ /* @__PURE__ */ jsxRuntime.jsx(core.ToggleButton, { value: "left", children: /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.Icon, { name: "align-left", size: 16 }) }),
99
+ /* @__PURE__ */ jsxRuntime.jsx(core.ToggleButton, { value: "right", children: /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.Icon, { name: "align-right", size: 16 }) })
100
+ ] })
101
+ ] }),
102
+ /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-field": "column-pin", children: [
103
+ /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: "Pin Column" }),
104
+ /* @__PURE__ */ jsxRuntime.jsxs(
105
+ core.ToggleButtonGroup,
106
+ {
107
+ onChange: onChangeToggleButton,
108
+ value: pin || "false",
109
+ children: [
110
+ /* @__PURE__ */ jsxRuntime.jsx(core.ToggleButton, { value: "left", children: /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.Icon, { name: "pin-left", size: 16 }) }),
111
+ /* @__PURE__ */ jsxRuntime.jsx(core.ToggleButton, { value: "floating", children: /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.Icon, { name: "pin-float", size: 16 }) }),
112
+ /* @__PURE__ */ jsxRuntime.jsx(core.ToggleButton, { value: "right", children: /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.Icon, { name: "pin-right", size: 16 }) }),
113
+ /* @__PURE__ */ jsxRuntime.jsx(core.ToggleButton, { value: "", children: /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.Icon, { name: "cross-circle", size: 16 }) })
114
+ ]
115
+ }
116
+ )
117
+ ] }),
118
+ /* @__PURE__ */ jsxRuntime.jsx(
119
+ ColumnFormattingPanel.ColumnFormattingPanel,
120
+ {
121
+ availableRenderers,
122
+ column,
123
+ onChangeFormatting,
124
+ onChangeRendering,
125
+ onChangeColumnType: onChangeType
126
+ }
127
+ ),
128
+ /* @__PURE__ */ jsxRuntime.jsxs(
129
+ "div",
130
+ {
131
+ className: `${classBase}-buttonBar`,
132
+ "data-align": isNewCalculatedColumn ? "right" : void 0,
133
+ children: [
134
+ /* @__PURE__ */ jsxRuntime.jsx(
135
+ core.Button,
136
+ {
137
+ className: `${classBase}-buttonNavPrev`,
138
+ variant: "secondary",
139
+ "data-icon": "arrow-left",
140
+ onClick: navigatePrevColumn,
141
+ children: "PREVIOUS"
142
+ }
143
+ ),
144
+ /* @__PURE__ */ jsxRuntime.jsx(
145
+ core.Button,
146
+ {
147
+ className: `${classBase}-buttonNavNext`,
148
+ variant: "secondary",
149
+ "data-icon": "arrow-right",
150
+ onClick: navigateNextColumn,
151
+ children: "NEXT"
152
+ }
153
+ )
154
+ ]
155
+ }
156
+ )
157
+ ] });
158
+ };
159
+
160
+ exports.ColumnSettingsPanel = ColumnSettingsPanel;
161
+ //# sourceMappingURL=ColumnSettingsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnSettingsPanel.js","sources":["../../../../packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.tsx"],"sourcesContent":["import {\n Button,\n FormField,\n FormFieldLabel,\n ToggleButton,\n ToggleButtonGroup,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { Icon, VuuInput } from \"@vuu-ui/vuu-ui-controls\";\nimport {\n getCalculatedColumnDetails,\n getDefaultAlignment,\n isCalculatedColumn,\n} from \"@vuu-ui/vuu-utils\";\nimport { ColumnFormattingPanel } from \"../column-formatting-settings\";\nimport { ColumnNameLabel } from \"./ColumnNameLabel\";\nimport { ColumnSettingsProps, useColumnSettings } from \"./useColumnSettings\";\n\nimport colunSettingsPanelCss from \"./ColumnSettingsPanel.css\";\n\nconst classBase = \"vuuColumnSettingsPanel\";\n\nconst getColumnLabel = (column: ColumnDescriptor) => {\n const { name, label } = column;\n if (isCalculatedColumn(name)) {\n return label ?? getCalculatedColumnDetails(column).name;\n } else {\n return label ?? name;\n }\n};\n\nexport interface ColumnSettinsPanelProps extends ColumnSettingsProps {\n onClickEditCalculatedColumn?: () => void;\n}\n\nexport const ColumnSettingsPanel = ({\n column: columnProp,\n columnModel,\n onClickEditCalculatedColumn,\n onConfigChange,\n}: ColumnSettinsPanelProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-settings-panel\",\n css: colunSettingsPanelCss,\n window: targetWindow,\n });\n\n const isNewCalculatedColumn = columnProp.name === \"::\";\n const {\n availableRenderers,\n column,\n navigateNextColumn,\n navigatePrevColumn,\n onChange,\n onChangeFormatting,\n onChangeRendering,\n onChangeToggleButton,\n onChangeType,\n onInputCommit,\n } = useColumnSettings({\n column: columnProp,\n columnModel,\n onConfigChange,\n });\n\n const {\n serverDataType,\n align = getDefaultAlignment(serverDataType),\n pin,\n width = \"\",\n } = column;\n\n return (\n <div className={classBase}>\n <div className={`${classBase}-header`}>\n <ColumnNameLabel\n column={column}\n onClick={onClickEditCalculatedColumn}\n />\n </div>\n\n <FormField data-field=\"column-label\">\n <FormFieldLabel>Column Label</FormFieldLabel>\n <VuuInput\n bordered\n className=\"vuuInput\"\n data-embedded\n onChange={onChange}\n onCommit={onInputCommit}\n value={getColumnLabel(column)}\n />\n </FormField>\n\n <FormField data-field=\"column-width\">\n <FormFieldLabel>Column Width</FormFieldLabel>\n <VuuInput\n bordered\n className=\"vuuInput\"\n data-embedded\n onChange={onChange}\n value={width}\n onCommit={onInputCommit}\n />\n </FormField>\n <FormField data-field=\"column-alignment\">\n <FormFieldLabel>Alignment</FormFieldLabel>\n <ToggleButtonGroup onChange={onChangeToggleButton} value={align}>\n <ToggleButton value=\"left\">\n <Icon name=\"align-left\" size={16} />\n </ToggleButton>\n <ToggleButton value=\"right\">\n <Icon name=\"align-right\" size={16} />\n </ToggleButton>\n </ToggleButtonGroup>\n </FormField>\n <FormField data-field=\"column-pin\">\n <FormFieldLabel>Pin Column</FormFieldLabel>\n <ToggleButtonGroup\n onChange={onChangeToggleButton}\n value={pin || \"false\"}\n >\n <ToggleButton value=\"left\">\n <Icon name=\"pin-left\" size={16} />\n </ToggleButton>\n <ToggleButton value=\"floating\">\n <Icon name=\"pin-float\" size={16} />\n </ToggleButton>\n <ToggleButton value=\"right\">\n <Icon name=\"pin-right\" size={16} />\n </ToggleButton>\n <ToggleButton value=\"\">\n <Icon name=\"cross-circle\" size={16} />\n </ToggleButton>\n </ToggleButtonGroup>\n </FormField>\n <ColumnFormattingPanel\n availableRenderers={availableRenderers}\n column={column}\n onChangeFormatting={onChangeFormatting}\n onChangeRendering={onChangeRendering}\n onChangeColumnType={onChangeType}\n />\n\n <div\n className={`${classBase}-buttonBar`}\n data-align={isNewCalculatedColumn ? \"right\" : undefined}\n >\n <Button\n className={`${classBase}-buttonNavPrev`}\n variant=\"secondary\"\n data-icon=\"arrow-left\"\n onClick={navigatePrevColumn}\n >\n PREVIOUS\n </Button>\n <Button\n className={`${classBase}-buttonNavNext`}\n variant=\"secondary\"\n data-icon=\"arrow-right\"\n onClick={navigateNextColumn}\n >\n NEXT\n </Button>\n </div>\n </div>\n );\n};\n"],"names":["isCalculatedColumn","getCalculatedColumnDetails","useWindow","useComponentCssInjection","colunSettingsPanelCss","useColumnSettings","getDefaultAlignment","jsxs","jsx","ColumnNameLabel","FormField","FormFieldLabel","VuuInput","ToggleButtonGroup","ToggleButton","Icon","ColumnFormattingPanel","Button"],"mappings":"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"}
@@ -33,7 +33,8 @@ const stringCellRenderers = [
33
33
  ];
34
34
  const booleanCellRenderers = [];
35
35
  const getAvailableCellRenderers = (column) => {
36
- switch (column.serverDataType) {
36
+ const serverDataType = vuuUtils.getServerDataType(column);
37
+ switch (serverDataType) {
37
38
  case "char":
38
39
  case "string":
39
40
  return stringCellRenderers.concat(vuuUtils.getRegisteredCellRenderers("string"));
@@ -57,49 +58,19 @@ const getAvailableCellRenderers = (column) => {
57
58
  return stringCellRenderers;
58
59
  }
59
60
  };
60
- const getColumn = (columns, column) => {
61
- if (column.name === "::") {
62
- return column;
63
- } else {
64
- const col = columns.find((col2) => col2.name === column.name);
65
- if (col) {
66
- return col;
67
- }
68
- throw Error(`columns does not contain column ${name}`);
69
- }
70
- };
71
- const replaceColumn = (tableConfig, column) => ({
72
- ...tableConfig,
73
- columns: tableConfig.columns.map(
74
- (col) => col.name === column.name ? column : col
75
- )
76
- });
77
61
  const useColumnSettings = ({
78
62
  column: columnProp,
79
- onCancelCreateColumn,
80
- onConfigChange,
81
- onCreateCalculatedColumn,
82
- tableConfig
63
+ columnModel
83
64
  }) => {
84
65
  const [column, setColumn] = react.useState(
85
- getColumn(tableConfig.columns, columnProp)
66
+ columnModel.getColumn(columnProp.name)
86
67
  );
87
- const columnRef = react.useRef(column);
88
- const [inEditMode, setEditMode] = react.useState(column.name === "::");
89
- const handleEditCalculatedcolumn = react.useCallback(() => {
90
- columnRef.current = column;
91
- setEditMode(true);
92
- }, [column]);
93
68
  react.useEffect(() => {
94
69
  setColumn(columnProp);
95
- setEditMode(columnProp.name === "::");
96
70
  }, [columnProp]);
97
71
  const availableRenderers = react.useMemo(() => {
98
72
  return getAvailableCellRenderers(column);
99
73
  }, [column]);
100
- const handleInputCommit = react.useCallback(() => {
101
- onConfigChange(replaceColumn(tableConfig, column));
102
- }, [column, onConfigChange, tableConfig]);
103
74
  const handleChangeToggleButton = react.useCallback(
104
75
  (evt) => {
105
76
  const button = vuuUtils.queryClosest(evt.target, "button");
@@ -111,10 +82,10 @@ const useColumnSettings = ({
111
82
  if (vuuUtils.isValidColumnAlignment(value)) {
112
83
  const newColumn = {
113
84
  ...column,
114
- align: value || void 0
85
+ align: value
115
86
  };
116
87
  setColumn(newColumn);
117
- onConfigChange(replaceColumn(tableConfig, newColumn));
88
+ columnModel.updateColumn(newColumn);
118
89
  }
119
90
  break;
120
91
  case "column-pin":
@@ -124,13 +95,13 @@ const useColumnSettings = ({
124
95
  pin: value || void 0
125
96
  };
126
97
  setColumn(newColumn);
127
- onConfigChange(replaceColumn(tableConfig, newColumn));
98
+ columnModel.updateColumn(newColumn);
128
99
  break;
129
100
  }
130
101
  }
131
102
  }
132
103
  },
133
- [column, onConfigChange, tableConfig]
104
+ [column, columnModel]
134
105
  );
135
106
  const handleChange = react.useCallback((evt) => {
136
107
  const input = evt.target;
@@ -144,28 +115,51 @@ const useColumnSettings = ({
144
115
  setColumn((state) => vuuUtils.setCalculatedColumnName(state, value));
145
116
  break;
146
117
  case "column-width":
147
- setColumn((state) => ({ ...state, width: parseInt(value) }));
118
+ {
119
+ const numericValue = parseInt(value, 10);
120
+ if (isNaN(numericValue)) {
121
+ setColumn((state) => ({ ...state, width: void 0 }));
122
+ } else {
123
+ setColumn((state) => ({ ...state, width: numericValue }));
124
+ }
125
+ }
148
126
  break;
149
127
  }
150
128
  }, []);
151
- const handleChangeCalculatedColumnName = react.useCallback((name2) => {
152
- setColumn((state) => ({ ...state, name: name2 }));
129
+ const handleInputCommit = react.useCallback(() => {
130
+ columnModel.updateColumn(column);
131
+ }, [column, columnModel]);
132
+ const handleChangeCalculatedColumnName = react.useCallback((name) => {
133
+ setColumn((state) => ({ ...state, name }));
153
134
  }, []);
135
+ const handleChangeRendering = react.useCallback(
136
+ (renderProps) => {
137
+ if (renderProps) {
138
+ const newColumn = vuuUtils.updateColumnRenderProps(
139
+ column,
140
+ renderProps
141
+ );
142
+ setColumn(newColumn);
143
+ columnModel.updateColumn(newColumn);
144
+ }
145
+ },
146
+ [column, columnModel]
147
+ );
154
148
  const handleChangeFormatting = react.useCallback(
155
149
  (formatting) => {
156
150
  const newColumn = vuuUtils.updateColumnFormatting(column, formatting);
157
151
  setColumn(newColumn);
158
- onConfigChange(replaceColumn(tableConfig, newColumn));
152
+ columnModel.updateColumn(newColumn);
159
153
  },
160
- [column, onConfigChange, tableConfig]
154
+ [column, columnModel]
161
155
  );
162
156
  const handleChangeType = react.useCallback(
163
157
  (type) => {
164
158
  const updatedColumn = vuuUtils.updateColumnType(column, type);
165
159
  setColumn(updatedColumn);
166
- onConfigChange(replaceColumn(tableConfig, updatedColumn));
160
+ columnModel.updateColumn(updatedColumn);
167
161
  },
168
- [column, onConfigChange, tableConfig]
162
+ [column, columnModel]
169
163
  );
170
164
  const handleChangeServerDataType = react.useCallback(
171
165
  (serverDataType) => {
@@ -173,29 +167,15 @@ const useColumnSettings = ({
173
167
  },
174
168
  []
175
169
  );
176
- const handleChangeRendering = react.useCallback(
177
- (renderProps) => {
178
- if (renderProps) {
179
- const newColumn = vuuUtils.updateColumnRenderProps(
180
- column,
181
- renderProps
182
- );
183
- setColumn(newColumn);
184
- onConfigChange(replaceColumn(tableConfig, newColumn));
185
- }
186
- },
187
- [column, onConfigChange, tableConfig]
188
- );
189
170
  const navigateColumn = react.useCallback(
190
171
  ({ moveBy }) => {
191
- const { columns } = tableConfig;
192
- const index = columns.indexOf(column) + moveBy;
193
- const newColumn = columns[index];
172
+ const index = columnModel.selectedColumns.indexOf(column) + moveBy;
173
+ const newColumn = columnModel.selectedColumns[index];
194
174
  if (newColumn) {
195
175
  setColumn(newColumn);
196
176
  }
197
177
  },
198
- [column, tableConfig]
178
+ [column, columnModel]
199
179
  );
200
180
  const navigateNextColumn = react.useCallback(() => {
201
181
  navigateColumn({ moveBy: 1 });
@@ -203,26 +183,11 @@ const useColumnSettings = ({
203
183
  const navigatePrevColumn = react.useCallback(() => {
204
184
  navigateColumn({ moveBy: -1 });
205
185
  }, [navigateColumn]);
206
- const handleSaveCalculatedColumn = react.useCallback(() => {
207
- onCreateCalculatedColumn(column);
208
- }, [column, onCreateCalculatedColumn]);
209
- const handleCancelEdit = react.useCallback(() => {
210
- if (columnProp.name === "::") {
211
- onCancelCreateColumn();
212
- } else {
213
- if (columnRef.current !== void 0 && columnRef.current !== column) {
214
- setColumn(columnRef.current);
215
- }
216
- setEditMode(false);
217
- }
218
- }, [column, columnProp.name, onCancelCreateColumn]);
219
186
  return {
220
187
  availableRenderers,
221
- editCalculatedColumn: inEditMode,
222
188
  column,
223
189
  navigateNextColumn,
224
190
  navigatePrevColumn,
225
- onCancel: handleCancelEdit,
226
191
  onChange: handleChange,
227
192
  onChangeCalculatedColumnName: handleChangeCalculatedColumnName,
228
193
  onChangeFormatting: handleChangeFormatting,
@@ -230,9 +195,7 @@ const useColumnSettings = ({
230
195
  onChangeServerDataType: handleChangeServerDataType,
231
196
  onChangeToggleButton: handleChangeToggleButton,
232
197
  onChangeType: handleChangeType,
233
- onEditCalculatedColumn: handleEditCalculatedcolumn,
234
- onInputCommit: handleInputCommit,
235
- onSave: handleSaveCalculatedColumn
198
+ onInputCommit: handleInputCommit
236
199
  };
237
200
  };
238
201
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumnSettings.js","sources":["../../../../packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.ts"],"sourcesContent":["import {\n ColumnDescriptor,\n TableConfig,\n ColumnTypeFormatting,\n} from \"@vuu-ui/vuu-table-types\";\n\nimport {\n CellRendererDescriptor,\n ColumnRenderPropsChangeHandler,\n getFieldName,\n getRegisteredCellRenderers,\n isValidColumnAlignment,\n isValidPinLocation,\n setCalculatedColumnName,\n updateColumnRenderProps,\n updateColumnFormatting,\n updateColumnType,\n queryClosest,\n getServerDataType,\n} from \"@vuu-ui/vuu-utils\";\nimport { VuuColumnDataType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport {\n FormEventHandler,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { DataValueTypeSimple } from \"@vuu-ui/vuu-data-types\";\nimport { ColumnModel } from \"../column-picker/ColumnModel\";\n\n/**\n * Describes the props for a Column Configuration Editor, for which\n * an implementation is provided in vuu-table-extras\n */\nexport interface ColumnSettingsProps {\n column: ColumnDescriptor;\n columnModel: ColumnModel;\n onConfigChange?: (config: TableConfig) => void;\n vuuTable?: VuuTable;\n}\n\nconst integerCellRenderers: CellRendererDescriptor[] = [\n {\n description: \"Default formatter for columns with data type integer\",\n label: \"Default Renderer (int, long)\",\n name: \"default-int\",\n },\n];\nconst doubleCellRenderers: CellRendererDescriptor[] = [\n {\n description: \"Default formatter for columns with data type double\",\n label: \"Default Renderer (double)\",\n name: \"default-double\",\n },\n];\nconst decimalCellRenderers: CellRendererDescriptor[] = [\n {\n description:\n \"Default formatter for columns with data type decimal (2,4,6 or 8)\",\n label: \"Default Renderer (decimal)\",\n name: \"default-decimal\",\n },\n];\n\nconst stringCellRenderers: CellRendererDescriptor[] = [\n {\n description: \"Default formatter for columns with data type string\",\n label: \"Default Renderer (string)\",\n name: \"default-string\",\n },\n];\n\nconst booleanCellRenderers: CellRendererDescriptor[] = [];\n\nconst getAvailableCellRenderers = (\n column: ColumnDescriptor,\n): CellRendererDescriptor[] => {\n const serverDataType = getServerDataType(column);\n switch (serverDataType) {\n case \"char\":\n case \"string\":\n return stringCellRenderers.concat(getRegisteredCellRenderers(\"string\"));\n case \"int\":\n case \"long\":\n return integerCellRenderers.concat(getRegisteredCellRenderers(\"int\"));\n case \"double\":\n return doubleCellRenderers.concat(\n getRegisteredCellRenderers(column.serverDataType),\n );\n case \"scaleddecimal2\":\n case \"scaleddecimal4\":\n case \"scaleddecimal6\":\n case \"scaleddecimal8\":\n return decimalCellRenderers.concat(\n getRegisteredCellRenderers(column.serverDataType),\n );\n case \"boolean\":\n return booleanCellRenderers.concat(getRegisteredCellRenderers(\"boolean\"));\n default:\n return stringCellRenderers;\n }\n};\n\nexport const useColumnSettings = ({\n column: columnProp,\n columnModel,\n}: Omit<ColumnSettingsProps, \"vuuTable\">) => {\n const [column, setColumn] = useState<ColumnDescriptor>(\n columnModel.getColumn(columnProp.name),\n );\n\n useEffect(() => {\n setColumn(columnProp);\n }, [columnProp]);\n\n const availableRenderers = useMemo(() => {\n return getAvailableCellRenderers(column);\n }, [column]);\n\n const handleChangeToggleButton = useCallback<FormEventHandler>(\n (evt) => {\n const button = queryClosest<HTMLButtonElement>(evt.target, \"button\");\n if (button) {\n const fieldName = getFieldName(button);\n const { value } = button;\n switch (fieldName) {\n case \"column-alignment\":\n if (isValidColumnAlignment(value)) {\n const newColumn: ColumnDescriptor = {\n ...column,\n align: value,\n };\n setColumn(newColumn);\n columnModel.updateColumn(newColumn);\n }\n break;\n case \"column-pin\":\n if (isValidPinLocation(value)) {\n const newColumn: ColumnDescriptor = {\n ...column,\n pin: value || undefined,\n };\n setColumn(newColumn);\n columnModel.updateColumn(newColumn);\n\n break;\n }\n }\n }\n },\n [column, columnModel],\n );\n\n const handleChange = useCallback<FormEventHandler>((evt) => {\n const input = evt.target as HTMLInputElement;\n const fieldName = getFieldName(input);\n const { value } = input;\n switch (fieldName) {\n case \"column-label\":\n setColumn((state) => ({ ...state, label: value }));\n break;\n case \"column-name\":\n setColumn((state) => setCalculatedColumnName(state, value));\n break;\n case \"column-width\":\n {\n const numericValue = parseInt(value, 10);\n if (isNaN(numericValue)) {\n setColumn((state) => ({ ...state, width: undefined }));\n } else {\n setColumn((state) => ({ ...state, width: numericValue }));\n }\n }\n break;\n }\n }, []);\n\n const handleInputCommit = useCallback(() => {\n columnModel.updateColumn(column);\n }, [column, columnModel]);\n\n const handleChangeCalculatedColumnName = useCallback((name: string) => {\n setColumn((state) => ({ ...state, name }));\n }, []);\n\n const handleChangeRendering = useCallback<ColumnRenderPropsChangeHandler>(\n (renderProps) => {\n if (renderProps) {\n const newColumn: ColumnDescriptor = updateColumnRenderProps(\n column,\n renderProps,\n );\n setColumn(newColumn);\n columnModel.updateColumn(newColumn);\n }\n },\n [column, columnModel],\n );\n\n const handleChangeFormatting = useCallback(\n (formatting: ColumnTypeFormatting) => {\n const newColumn = updateColumnFormatting(column, formatting);\n setColumn(newColumn);\n columnModel.updateColumn(newColumn);\n },\n [column, columnModel],\n );\n\n const handleChangeType = useCallback(\n (type: DataValueTypeSimple) => {\n const updatedColumn = updateColumnType(column, type);\n setColumn(updatedColumn);\n columnModel.updateColumn(updatedColumn);\n },\n [column, columnModel],\n );\n\n // Changing the server data type applies only to calculated columns\n const handleChangeServerDataType = useCallback(\n (serverDataType: VuuColumnDataType) => {\n setColumn((col) => ({ ...col, serverDataType }));\n },\n [],\n );\n\n const navigateColumn = useCallback(\n ({ moveBy }: { moveBy: number }) => {\n const index = columnModel.selectedColumns.indexOf(column) + moveBy;\n const newColumn = columnModel.selectedColumns[index];\n if (newColumn) {\n setColumn(newColumn);\n }\n },\n [column, columnModel],\n );\n const navigateNextColumn = useCallback(() => {\n navigateColumn({ moveBy: 1 });\n }, [navigateColumn]);\n\n const navigatePrevColumn = useCallback(() => {\n navigateColumn({ moveBy: -1 });\n }, [navigateColumn]);\n\n return {\n availableRenderers,\n column,\n navigateNextColumn,\n navigatePrevColumn,\n onChange: handleChange,\n onChangeCalculatedColumnName: handleChangeCalculatedColumnName,\n onChangeFormatting: handleChangeFormatting,\n onChangeRendering: handleChangeRendering,\n onChangeServerDataType: handleChangeServerDataType,\n onChangeToggleButton: handleChangeToggleButton,\n onChangeType: handleChangeType,\n onInputCommit: handleInputCommit,\n };\n};\n"],"names":["getServerDataType","getRegisteredCellRenderers","useState","useEffect","useMemo","useCallback","queryClosest","getFieldName","isValidColumnAlignment","isValidPinLocation","setCalculatedColumnName","updateColumnRenderProps","updateColumnFormatting","updateColumnType"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var dataSourceStats = ".vuuDatasourceStats {\n --datasourceStats-background: var(--vuuDatasourceStats-background);\n align-items: center;\n background: var(--datasourceStats-background, var(--salt-container-secondary-background));\n display: grid;\n font-size: var(--vuuDatasourceStats-fontSize, 10px);\n gap: var(--vuuDatasourceStats-gap, var(--salt-spacing-100));\n grid-template-areas: \"panel-start panel-center panel-end\";\n grid-template-columns: 1fr 1fr 1fr;\n grid-template-rows: auto;\n height: var(--vuuDatasourceStats-height, 100%);\n padding: 0 var(--salt-spacing-200);\n\n &.vuuDatasourceStats-withSelection {\n --datasourceStats-background: var(--vuuDatasourceStats-withSelection-background, var(--vuuDatasourceStats-background));\n }\n\n .vuuDatasourceStats-statsPanel {\n align-items: center;\n display: flex;\n gap: var(--salt-spacing-100);\n width: fit-content;\n }\n\n .vuuDatasourceStats-rowStats {\n justify-self: flex-start;\n grid-area: panel-start;\n }\n .vuuDatasourceStats-selected {\n margin-left: var(--salt-spacing-100);\n }\n\n .vuuDatasourceStats-range {\n white-space: nowrap;\n }\n\n .vuuDatasourceStats-label {\n color: var(--salt-content-secondary-foreground);\n white-space: nowrap;\n }\n\n .vuuDatasourceStats-selectionActions {\n grid-area: panel-center;\n justify-self: center;\n }\n\n .vuuDatasourceStats-value {\n color: var(--salt-content-primary-foreground);\n }\n .vuuDatasourceStats-tooltray {\n justify-self: end;;\n margin: 0 var(--salt-spacing-200);\n grid-area: panel-end;\n }\n\n}\n\n";
3
+ var dataSourceStats = ".vuuDatasourceStats {\n --datasourceStats-background: var(--vuuDatasourceStats-background);\n align-items: center;\n background: var(--datasourceStats-background, var(--salt-container-secondary-background));\n display: grid;\n font-size: var(--vuuDatasourceStats-fontSize, 10px);\n gap: var(--vuuDatasourceStats-gap, var(--salt-spacing-100));\n grid-template-areas: \"panel-start panel-center panel-end\";\n grid-template-columns: 1fr 1fr 1fr;\n grid-template-rows: auto;\n height: var(--vuuDatasourceStats-height, 100%);\n padding: 0 var(--salt-spacing-200);\n\n &.vuuDatasourceStats-withSelection {\n --datasourceStats-background: var(--vuuDatasourceStats-withSelection-background, var(--vuuDatasourceStats-background));\n }\n\n .vuuDatasourceStats-statsPanel {\n align-items: center;\n display: flex;\n gap: var(--salt-spacing-100);\n width: fit-content;\n }\n\n .vuuDatasourceStats-rowStats {\n justify-self: flex-start;\n grid-area: panel-start;\n }\n .vuuDatasourceStats-selected {\n margin-left: var(--salt-spacing-100);\n }\n\n .vuuDatasourceStats-range {\n white-space: nowrap;\n }\n\n .vuuDatasourceStats-label {\n color: var(--salt-content-secondary-foreground);\n white-space: nowrap;\n }\n .vuuDatasourceStats-range {\n white-space: nowrap;\n }\n\n .vuuDatasourceStats-value {\n color: var(--salt-content-primary-foreground);\n }\n .vuuDatasourceStats-tooltray {\n justify-self: end;;\n margin: 0 var(--salt-spacing-200);\n grid-area: panel-end;\n }\n\n}\n\n";
4
4
 
5
5
  module.exports = dataSourceStats;
6
6
  //# sourceMappingURL=DatasourceStats.css.js.map
package/cjs/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var CalculatedColumnPanel = require('./calculated-column/CalculatedColumnPanel.js');
3
4
  var CaseValidator = require('./cell-edit-validators/CaseValidator.js');
4
5
  var PatternValidator = require('./cell-edit-validators/PatternValidator.js');
5
6
  var BackgroundCell = require('./cell-renderers/background-cell/BackgroundCell.js');
@@ -15,27 +16,29 @@ var ColumnExpressionTreeWalker = require('./column-expression-input/column-langu
15
16
  var columnExpressionParseUtils = require('./column-expression-input/column-language-parser/column-expression-parse-utils.js');
16
17
  var useColumnExpressionEditor = require('./column-expression-input/useColumnExpressionEditor.js');
17
18
  var useColumnExpressionSuggestionProvider = require('./column-expression-input/useColumnExpressionSuggestionProvider.js');
18
- var ColumnExpressionPanel = require('./column-expression-panel/ColumnExpressionPanel.js');
19
19
  var ColumnFormattingPanel = require('./column-formatting-settings/ColumnFormattingPanel.js');
20
20
  var BaseNumericFormattingSettings = require('./column-formatting-settings/BaseNumericFormattingSettings.js');
21
21
  var DateTimeFormattingSettings = require('./column-formatting-settings/DateTimeFormattingSettings.js');
22
- var ColumnList = require('./column-list/ColumnList.js');
23
22
  var ColumnMenu = require('./column-menu/ColumnMenu.js');
24
23
  var useColumnActions = require('./column-menu/useColumnActions.js');
25
24
  var ColumnModel = require('./column-picker/ColumnModel.js');
26
25
  var ColumnPicker = require('./column-picker/ColumnPicker.js');
26
+ var ColumnPickerAction = require('./column-picker/ColumnPickerAction.js');
27
+ var useTableColumnPicker = require('./column-picker/useTableColumnPicker.js');
28
+ var ColumnSettingsPanel = require('./column-settings-panel/ColumnSettingsPanel.js');
29
+ var useColumnSettings = require('./column-settings-panel/useColumnSettings.js');
27
30
  var DatasourceStats = require('./datasource-stats/DatasourceStats.js');
28
31
  var FreezeControl = require('./freeze-control/FreezeControl.js');
29
32
  var FrozenBanner = require('./freeze-control/FrozenBanner.js');
30
- var ColumnSettingsPanel = require('./table-column-settings/ColumnSettingsPanel.js');
31
- var TableSettingsPanel = require('./table-column-settings/TableSettingsPanel.js');
32
- var useColumnSettings = require('./table-column-settings/useColumnSettings.js');
33
- var useTableAndColumnSettings = require('./table-column-settings/useTableAndColumnSettings.js');
34
- var useTableSettings = require('./table-column-settings/useTableSettings.js');
33
+ var TabbedTableConfigPanel = require('./tabbed-table-config-panel/TabbedTableConfigPanel.js');
34
+ var TabbedTableSettingsAction = require('./tabbed-table-config-panel/TabbedTableSettingsAction.js');
35
+ var TableFooter = require('./table-footer/TableFooter.js');
35
36
  var TableProvider = require('./table-provider/TableProvider.js');
37
+ var TableSettingsPanel = require('./table-settings-panel/TableSettingsPanel.js');
36
38
 
37
39
 
38
40
 
41
+ exports.CalculatedColumnPanel = CalculatedColumnPanel.CalculatedColumnPanel;
39
42
  exports.CaseValidator = CaseValidator.CaseValidator;
40
43
  exports.PatternValidator = PatternValidator.PatternValidator;
41
44
  exports.BackgroundCell = BackgroundCell.BackgroundCell;
@@ -53,13 +56,9 @@ exports.isCompleteRelationalExpression = columnExpressionParseUtils.isCompleteRe
53
56
  exports.lastNamedChild = columnExpressionParseUtils.lastNamedChild;
54
57
  exports.useColumnExpressionEditor = useColumnExpressionEditor.useColumnExpressionEditor;
55
58
  exports.useColumnExpressionSuggestionProvider = useColumnExpressionSuggestionProvider.useColumnExpressionSuggestionProvider;
56
- exports.ColumnExpressionPanel = ColumnExpressionPanel.ColumnExpressionPanel;
57
59
  exports.ColumnFormattingPanel = ColumnFormattingPanel.ColumnFormattingPanel;
58
60
  exports.BaseNumericFormattingSettings = BaseNumericFormattingSettings.BaseNumericFormattingSettings;
59
61
  exports.DateTimeFormattingSettings = DateTimeFormattingSettings.DateTimeFormattingSettings;
60
- exports.ColumnList = ColumnList.ColumnList;
61
- exports.classBase = ColumnList.classBase;
62
- exports.classBaseListItem = ColumnList.classBaseListItem;
63
62
  exports.ColumnMenu = ColumnMenu.ColumnMenu;
64
63
  exports.useColumnActions = useColumnActions.useColumnActions;
65
64
  exports.ColumnChangeSource = ColumnModel.ColumnChangeSource;
@@ -69,17 +68,19 @@ exports.isColumnAdded = ColumnModel.isColumnAdded;
69
68
  exports.isColumnRemoved = ColumnModel.isColumnRemoved;
70
69
  exports.isColumnsReordered = ColumnModel.isColumnsReordered;
71
70
  exports.ColumnPicker = ColumnPicker.ColumnPicker;
71
+ exports.ColumnPickerAction = ColumnPickerAction.ColumnPickerAction;
72
+ exports.useTableColumnPicker = useTableColumnPicker.useTableColumnPicker;
73
+ exports.ColumnSettingsPanel = ColumnSettingsPanel.ColumnSettingsPanel;
74
+ exports.useColumnSettings = useColumnSettings.useColumnSettings;
72
75
  exports.DataSourceStats = DatasourceStats.DataSourceStats;
73
76
  exports.FreezeControl = FreezeControl.FreezeControl;
74
77
  exports.FrozenBanner = FrozenBanner.FrozenBanner;
75
- exports.ColumnSettingsPanel = ColumnSettingsPanel.ColumnSettingsPanel;
76
- exports.TableSettingsPanel = TableSettingsPanel.TableSettingsPanel;
77
- exports.defaultTableSettingsPermissions = TableSettingsPanel.defaultTableSettingsPermissions;
78
- exports.useColumnSettings = useColumnSettings.useColumnSettings;
79
- exports.columnSettingsFromColumnMenuPermissions = useTableAndColumnSettings.columnSettingsFromColumnMenuPermissions;
80
- exports.tableSettingsFromColumnMenuPermissions = useTableAndColumnSettings.tableSettingsFromColumnMenuPermissions;
81
- exports.useTableAndColumnSettings = useTableAndColumnSettings.useTableAndColumnSettings;
82
- exports.useTableSettings = useTableSettings.useTableSettings;
78
+ exports.TabbedTableConfigPanel = TabbedTableConfigPanel.TabbedTableConfigPanel;
79
+ exports.TabbedTableSettingsAction = TabbedTableSettingsAction.TabbedTableSettingsAction;
80
+ exports.TableFooter = TableFooter.TableFooter;
81
+ exports.TableFooterTray = TableFooter.TableFooterTray;
83
82
  exports.TableProvider = TableProvider.TableProvider;
84
83
  exports.useTableContext = TableProvider.useTableContext;
84
+ exports.TableSettingsPanel = TableSettingsPanel.TableSettingsPanel;
85
+ exports.defaultTableSettingsPermissions = TableSettingsPanel.defaultTableSettingsPermissions;
85
86
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css = ".vuuTabbedTableConfigPanel {\n\n --tabs-height: 25px;\n\n inset: 0;\n position: absolute;\n .saltTabsNext {\n height: 100%;\n .saltTabListNext {\n border-bottom: solid var(--salt-separable-secondary-borderColor) 1px;\n height: var(--tabs-height);\n }\n\n .saltTabNextPanel {\n height: calc(100% - var(--tabs-height));\n }\n }\n}";
4
+
5
+ module.exports = css;
6
+ //# sourceMappingURL=TabbedTableConfigPanel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabbedTableConfigPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}