@vuu-ui/vuu-table-extras 3.0.0-beta.3 → 3.1.0-beta.1

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 (453) hide show
  1. package/package.json +22 -18
  2. package/src/calculated-column/CalculatedColumnPanel.js +95 -0
  3. package/src/calculated-column/useCalculatedColumnPanel.js +60 -0
  4. package/src/calculated-column/useEditCalculatedColumn.js +104 -0
  5. package/src/cell-edit-validators/CaseValidator.js +21 -0
  6. package/src/cell-edit-validators/PatternValidator.js +23 -0
  7. package/src/cell-edit-validators/index.js +2 -0
  8. package/src/cell-renderers/background-cell/BackgroundCell.css.js +103 -0
  9. package/src/cell-renderers/background-cell/BackgroundCell.js +76 -0
  10. package/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +9 -0
  11. package/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +71 -0
  12. package/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +187 -0
  13. package/src/cell-renderers/background-cell/index.js +2 -0
  14. package/src/cell-renderers/background-cell/useDirection.js +25 -0
  15. package/src/cell-renderers/button-cell/IconButtonCell.css.js +23 -0
  16. package/src/cell-renderers/button-cell/IconButtonCell.js +33 -0
  17. package/src/cell-renderers/dropdown-cell/DropdownCell.css.js +36 -0
  18. package/src/cell-renderers/dropdown-cell/DropdownCell.js +87 -0
  19. package/src/cell-renderers/dropdown-cell/index.js +1 -0
  20. package/src/cell-renderers/index.js +6 -0
  21. package/src/cell-renderers/lookup-cell/LookupCell.js +15 -0
  22. package/src/cell-renderers/lookup-cell/index.js +1 -0
  23. package/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +31 -0
  24. package/src/cell-renderers/pct-progress-cell/PctProgressCell.js +49 -0
  25. package/src/cell-renderers/pct-progress-cell/index.js +1 -0
  26. package/src/cell-renderers/progress-cell/ProgressCell.css.js +43 -0
  27. package/src/cell-renderers/progress-cell/ProgressCell.js +74 -0
  28. package/src/cell-renderers/progress-cell/index.js +1 -0
  29. package/src/column-expression-input/ColumnExpressionInput.css.js +94 -0
  30. package/src/column-expression-input/ColumnExpressionInput.js +28 -0
  31. package/src/column-expression-input/column-function-descriptors.js +281 -0
  32. package/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +18 -0
  33. package/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +381 -0
  34. package/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +56 -0
  35. package/src/column-expression-input/column-language-parser/index.js +3 -0
  36. package/src/column-expression-input/functionDocInfo.js +24 -0
  37. package/src/column-expression-input/highlighting.js +18 -0
  38. package/src/column-expression-input/index.js +4 -0
  39. package/src/column-expression-input/theme.js +57 -0
  40. package/src/column-expression-input/useColumnAutoComplete.js +307 -0
  41. package/src/column-expression-input/useColumnExpressionEditor.js +133 -0
  42. package/src/column-expression-input/useColumnExpressionSuggestionProvider.js +211 -0
  43. package/src/column-formatting-settings/BaseNumericFormattingSettings.js +96 -0
  44. package/src/column-formatting-settings/ColumnFormattingPanel.js +112 -0
  45. package/src/column-formatting-settings/DateTimeFormattingSettings.js +116 -0
  46. package/src/column-formatting-settings/LongTypeFormattingSettings.css.js +11 -0
  47. package/src/column-formatting-settings/LongTypeFormattingSettings.js +54 -0
  48. package/src/column-formatting-settings/index.js +3 -0
  49. package/src/column-menu/ColumnMenu.css.js +25 -0
  50. package/src/column-menu/ColumnMenu.js +69 -0
  51. package/src/column-menu/column-action-types.js +0 -0
  52. package/src/column-menu/column-menu-utils.js +318 -0
  53. package/src/column-menu/useColumnActions.js +77 -0
  54. package/src/column-picker/ColumnModel.js +113 -0
  55. package/src/column-picker/ColumnPicker.css.js +96 -0
  56. package/src/column-picker/ColumnPicker.js +204 -0
  57. package/src/column-picker/ColumnPickerAction.js +24 -0
  58. package/src/column-picker/useColumnPicker.js +42 -0
  59. package/src/column-picker/useTableColumnPicker.js +27 -0
  60. package/src/column-picker/useTableColumnPickerDeprecated.js +87 -0
  61. package/src/column-settings-panel/ColumnNameLabel.css.js +18 -0
  62. package/src/column-settings-panel/ColumnNameLabel.js +54 -0
  63. package/src/column-settings-panel/ColumnSettingsPanel.css.js +70 -0
  64. package/src/column-settings-panel/ColumnSettingsPanel.js +173 -0
  65. package/src/column-settings-panel/useColumnSettings.js +205 -0
  66. package/src/csv-upload/CsvUpload.css.js +28 -0
  67. package/src/csv-upload/CsvUpload.js +105 -0
  68. package/src/csv-upload/data-upload-preview/DataUploadPreview.css.js +15 -0
  69. package/src/csv-upload/data-upload-preview/DataUploadPreview.js +113 -0
  70. package/src/csv-upload/data-upload-preview/useDataUploadPreview.js +63 -0
  71. package/src/csv-upload/index.js +7 -0
  72. package/{esm/packages/vuu-table-extras/src → src}/csv-upload/parse/csv-constants.js +0 -2
  73. package/src/csv-upload/parse/csv-errors.js +54 -0
  74. package/src/csv-upload/parse/csv-parse.js +79 -0
  75. package/src/csv-upload/parse/csv-schema-validation.js +45 -0
  76. package/src/csv-upload/parse/csv-upload-utils.js +59 -0
  77. package/src/csv-upload/parse/index.js +5 -0
  78. package/src/csv-upload/useCsvUpload.js +305 -0
  79. package/src/datasource-stats/DatasourceStats.css.js +56 -0
  80. package/src/datasource-stats/DatasourceStats.js +89 -0
  81. package/src/datasource-stats/useDatasourceStats.js +51 -0
  82. package/src/freeze-control/FreezeControl.css.js +108 -0
  83. package/src/freeze-control/FreezeControl.js +96 -0
  84. package/src/freeze-control/FrozenBanner.css.js +16 -0
  85. package/src/freeze-control/FrozenBanner.js +48 -0
  86. package/src/freeze-control/freezeControlBadge.js +9 -0
  87. package/src/freeze-control/useFreezeControl.js +68 -0
  88. package/src/index.js +23 -0
  89. package/src/inline-add-row/InlineAddRow.css.js +16 -0
  90. package/src/inline-add-row/InlineAddRow.js +34 -0
  91. package/src/inline-add-row/index.js +2 -0
  92. package/src/inline-add-row/useInlineAddRow.js +120 -0
  93. package/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +23 -0
  94. package/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +99 -0
  95. package/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +28 -0
  96. package/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +29 -0
  97. package/src/table-footer/TableFooter.css.js +31 -0
  98. package/src/table-footer/TableFooter.js +33 -0
  99. package/src/table-provider/TableProvider.js +33 -0
  100. package/src/table-settings-panel/TableSettingsPanel.css.js +70 -0
  101. package/src/table-settings-panel/TableSettingsPanel.js +128 -0
  102. package/src/table-settings-panel/useTableSettings.js +50 -0
  103. package/cjs/node_modules/csv-parse/dist/esm/sync.js +0 -3978
  104. package/cjs/node_modules/csv-parse/dist/esm/sync.js.map +0 -1
  105. package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +0 -85
  106. package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +0 -1
  107. package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +0 -71
  108. package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +0 -1
  109. package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +0 -138
  110. package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +0 -1
  111. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +0 -25
  112. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +0 -1
  113. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +0 -31
  114. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +0 -1
  115. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +0 -6
  116. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +0 -1
  117. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +0 -81
  118. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +0 -1
  119. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -6
  120. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +0 -1
  121. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -67
  122. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +0 -1
  123. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -6
  124. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +0 -1
  125. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +0 -20
  126. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +0 -1
  127. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +0 -6
  128. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +0 -1
  129. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +0 -40
  130. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +0 -1
  131. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -6
  132. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +0 -1
  133. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +0 -106
  134. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +0 -1
  135. package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +0 -21
  136. package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +0 -1
  137. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -6
  138. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +0 -1
  139. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -62
  140. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +0 -1
  141. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +0 -6
  142. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +0 -1
  143. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +0 -69
  144. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +0 -1
  145. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +0 -6
  146. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +0 -1
  147. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +0 -39
  148. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +0 -1
  149. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +0 -307
  150. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +0 -1
  151. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -28
  152. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +0 -1
  153. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -465
  154. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +0 -1
  155. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -61
  156. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +0 -1
  157. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +0 -21
  158. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +0 -1
  159. package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +0 -39
  160. package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +0 -1
  161. package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js +0 -16
  162. package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +0 -1
  163. package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js +0 -63
  164. package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js.map +0 -1
  165. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +0 -358
  166. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +0 -1
  167. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +0 -131
  168. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +0 -1
  169. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -213
  170. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +0 -1
  171. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +0 -98
  172. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +0 -1
  173. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +0 -111
  174. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +0 -1
  175. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +0 -102
  176. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +0 -1
  177. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -6
  178. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +0 -1
  179. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +0 -48
  180. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +0 -1
  181. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +0 -6
  182. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +0 -1
  183. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +0 -107
  184. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +0 -1
  185. package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +0 -459
  186. package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +0 -1
  187. package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js +0 -68
  188. package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +0 -1
  189. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js +0 -177
  190. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +0 -1
  191. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +0 -6
  192. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +0 -1
  193. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +0 -252
  194. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +0 -1
  195. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +0 -34
  196. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +0 -1
  197. package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +0 -55
  198. package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +0 -1
  199. package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +0 -35
  200. package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +0 -1
  201. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +0 -6
  202. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +0 -1
  203. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +0 -45
  204. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +0 -1
  205. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +0 -6
  206. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +0 -1
  207. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +0 -161
  208. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +0 -1
  209. package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +0 -203
  210. package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +0 -1
  211. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +0 -6
  212. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +0 -1
  213. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +0 -109
  214. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +0 -1
  215. package/cjs/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.css.js +0 -6
  216. package/cjs/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.css.js.map +0 -1
  217. package/cjs/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.js +0 -118
  218. package/cjs/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.js.map +0 -1
  219. package/cjs/packages/vuu-table-extras/src/csv-upload/data-upload-preview/useDataUploadPreview.js +0 -76
  220. package/cjs/packages/vuu-table-extras/src/csv-upload/data-upload-preview/useDataUploadPreview.js.map +0 -1
  221. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js +0 -8
  222. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +0 -1
  223. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +0 -64
  224. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +0 -1
  225. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +0 -199
  226. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +0 -1
  227. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +0 -100
  228. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +0 -1
  229. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +0 -43
  230. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +0 -1
  231. package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +0 -391
  232. package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +0 -1
  233. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +0 -6
  234. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +0 -1
  235. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +0 -76
  236. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +0 -1
  237. package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +0 -66
  238. package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +0 -1
  239. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +0 -6
  240. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +0 -1
  241. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +0 -106
  242. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +0 -1
  243. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +0 -6
  244. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +0 -1
  245. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +0 -55
  246. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +0 -1
  247. package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +0 -10
  248. package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +0 -1
  249. package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +0 -68
  250. package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +0 -1
  251. package/cjs/packages/vuu-table-extras/src/index.js +0 -106
  252. package/cjs/packages/vuu-table-extras/src/index.js.map +0 -1
  253. package/cjs/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.css.js +0 -6
  254. package/cjs/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.css.js.map +0 -1
  255. package/cjs/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.js +0 -44
  256. package/cjs/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.js.map +0 -1
  257. package/cjs/packages/vuu-table-extras/src/inline-add-row/useInlineAddRow.js +0 -137
  258. package/cjs/packages/vuu-table-extras/src/inline-add-row/useInlineAddRow.js.map +0 -1
  259. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -6
  260. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +0 -1
  261. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -90
  262. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +0 -1
  263. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -44
  264. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +0 -1
  265. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -49
  266. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +0 -1
  267. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +0 -6
  268. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +0 -1
  269. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js +0 -37
  270. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +0 -1
  271. package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js +0 -61
  272. package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +0 -1
  273. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +0 -6
  274. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +0 -1
  275. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +0 -116
  276. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +0 -1
  277. package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +0 -60
  278. package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +0 -1
  279. package/esm/node_modules/csv-parse/dist/esm/sync.js +0 -3974
  280. package/esm/node_modules/csv-parse/dist/esm/sync.js.map +0 -1
  281. package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +0 -83
  282. package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +0 -1
  283. package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +0 -69
  284. package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +0 -1
  285. package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +0 -136
  286. package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +0 -1
  287. package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +0 -23
  288. package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +0 -1
  289. package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +0 -29
  290. package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +0 -1
  291. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +0 -4
  292. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +0 -1
  293. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +0 -79
  294. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +0 -1
  295. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -4
  296. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +0 -1
  297. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -65
  298. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +0 -1
  299. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -4
  300. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +0 -1
  301. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +0 -18
  302. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +0 -1
  303. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +0 -4
  304. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +0 -1
  305. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +0 -38
  306. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +0 -1
  307. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -4
  308. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +0 -1
  309. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +0 -104
  310. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +0 -1
  311. package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +0 -19
  312. package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +0 -1
  313. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -4
  314. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +0 -1
  315. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -60
  316. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +0 -1
  317. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +0 -4
  318. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +0 -1
  319. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +0 -67
  320. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +0 -1
  321. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +0 -4
  322. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +0 -1
  323. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +0 -37
  324. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +0 -1
  325. package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +0 -305
  326. package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +0 -1
  327. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -26
  328. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +0 -1
  329. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -463
  330. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +0 -1
  331. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -56
  332. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +0 -1
  333. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +0 -19
  334. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +0 -1
  335. package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +0 -37
  336. package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +0 -1
  337. package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js +0 -14
  338. package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +0 -1
  339. package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js +0 -61
  340. package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js.map +0 -1
  341. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +0 -356
  342. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +0 -1
  343. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +0 -129
  344. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +0 -1
  345. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -211
  346. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +0 -1
  347. package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +0 -96
  348. package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +0 -1
  349. package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +0 -109
  350. package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +0 -1
  351. package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +0 -100
  352. package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +0 -1
  353. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -4
  354. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +0 -1
  355. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +0 -46
  356. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +0 -1
  357. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +0 -4
  358. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +0 -1
  359. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +0 -105
  360. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +0 -1
  361. package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +0 -451
  362. package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +0 -1
  363. package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js +0 -66
  364. package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +0 -1
  365. package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js +0 -170
  366. package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +0 -1
  367. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +0 -4
  368. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +0 -1
  369. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +0 -249
  370. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +0 -1
  371. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +0 -32
  372. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +0 -1
  373. package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +0 -53
  374. package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +0 -1
  375. package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +0 -33
  376. package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +0 -1
  377. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +0 -4
  378. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +0 -1
  379. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +0 -43
  380. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +0 -1
  381. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +0 -4
  382. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +0 -1
  383. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +0 -159
  384. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +0 -1
  385. package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +0 -201
  386. package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +0 -1
  387. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +0 -4
  388. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +0 -1
  389. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +0 -107
  390. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +0 -1
  391. package/esm/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.css.js +0 -4
  392. package/esm/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.css.js.map +0 -1
  393. package/esm/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.js +0 -116
  394. package/esm/packages/vuu-table-extras/src/csv-upload/data-upload-preview/DataUploadPreview.js.map +0 -1
  395. package/esm/packages/vuu-table-extras/src/csv-upload/data-upload-preview/useDataUploadPreview.js +0 -73
  396. package/esm/packages/vuu-table-extras/src/csv-upload/data-upload-preview/useDataUploadPreview.js.map +0 -1
  397. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +0 -1
  398. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +0 -57
  399. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +0 -1
  400. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +0 -196
  401. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +0 -1
  402. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +0 -97
  403. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +0 -1
  404. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +0 -35
  405. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +0 -1
  406. package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +0 -389
  407. package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +0 -1
  408. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +0 -4
  409. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +0 -1
  410. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +0 -74
  411. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +0 -1
  412. package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +0 -64
  413. package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +0 -1
  414. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +0 -4
  415. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +0 -1
  416. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +0 -104
  417. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +0 -1
  418. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +0 -4
  419. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +0 -1
  420. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +0 -53
  421. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +0 -1
  422. package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +0 -8
  423. package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +0 -1
  424. package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +0 -66
  425. package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +0 -1
  426. package/esm/packages/vuu-table-extras/src/index.js +0 -45
  427. package/esm/packages/vuu-table-extras/src/index.js.map +0 -1
  428. package/esm/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.css.js +0 -4
  429. package/esm/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.css.js.map +0 -1
  430. package/esm/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.js +0 -42
  431. package/esm/packages/vuu-table-extras/src/inline-add-row/InlineAddRow.js.map +0 -1
  432. package/esm/packages/vuu-table-extras/src/inline-add-row/useInlineAddRow.js +0 -135
  433. package/esm/packages/vuu-table-extras/src/inline-add-row/useInlineAddRow.js.map +0 -1
  434. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -4
  435. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +0 -1
  436. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -88
  437. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +0 -1
  438. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -42
  439. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +0 -1
  440. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -47
  441. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +0 -1
  442. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +0 -4
  443. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +0 -1
  444. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js +0 -34
  445. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +0 -1
  446. package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js +0 -56
  447. package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +0 -1
  448. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +0 -4
  449. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +0 -1
  450. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +0 -112
  451. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +0 -1
  452. package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +0 -58
  453. package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +0 -1
@@ -0,0 +1,120 @@
1
+ import { EditSession, useEditSession, withDataRowEditErrors } from "@vuu-ui/vuu-data-editing";
2
+ import { getCellRenderer, isDataValueEditable, isNotHidden } from "@vuu-ui/vuu-utils";
3
+ import { useCallback, useEffect, useMemo, useRef, useSyncExternalStore } from "react";
4
+ const createSyntheticDataRow = (newRowState, columns)=>withDataRowEditErrors({
5
+ ...newRowState.values,
6
+ childCount: 0,
7
+ depth: 1,
8
+ hasColumn: (name)=>columns.some((column)=>column.name === name),
9
+ index: -1,
10
+ isExpanded: false,
11
+ isLeaf: true,
12
+ isSelected: false,
13
+ key: EditSession.newRowKey,
14
+ renderIndex: -1
15
+ }, newRowState.errors);
16
+ const useInlineAddRow = ({ columns })=>{
17
+ const editSession = useEditSession(true);
18
+ const containerRef = useRef(null);
19
+ const inlineAddColumns = useMemo(()=>columns.map((column)=>{
20
+ const editable = isDataValueEditable(column, "insert");
21
+ const inlineAddColumn = {
22
+ ...column,
23
+ editable
24
+ };
25
+ return {
26
+ ...inlineAddColumn,
27
+ CellRenderer: editable ? getCellRenderer(inlineAddColumn) : void 0
28
+ };
29
+ }), [
30
+ columns
31
+ ]);
32
+ const visibleColumns = useMemo(()=>inlineAddColumns.filter(isNotHidden), [
33
+ inlineAddColumns
34
+ ]);
35
+ const visibleInsertColumns = useMemo(()=>visibleColumns.filter((column)=>isDataValueEditable(column, "insert")), [
36
+ visibleColumns
37
+ ]);
38
+ const subscribeToNewRow = useCallback((onStoreChange)=>{
39
+ editSession.on("newRow", onStoreChange);
40
+ return ()=>editSession.removeListener("newRow", onStoreChange);
41
+ }, [
42
+ editSession
43
+ ]);
44
+ const newRowState = useSyncExternalStore(subscribeToNewRow, ()=>editSession.newRowState, ()=>editSession.newRowState);
45
+ const dataRow = useMemo(()=>createSyntheticDataRow(newRowState, inlineAddColumns), [
46
+ inlineAddColumns,
47
+ newRowState
48
+ ]);
49
+ const previousValuesRef = useRef(newRowState.values);
50
+ const focusEditor = useCallback((index)=>{
51
+ const cell = containerRef.current?.querySelectorAll("[data-field]")[index];
52
+ cell?.querySelector("input, button, [tabindex]")?.focus();
53
+ }, []);
54
+ useEffect(()=>{
55
+ editSession.configureNewRow(visibleInsertColumns.map(({ name })=>name));
56
+ }, [
57
+ editSession,
58
+ visibleInsertColumns
59
+ ]);
60
+ useEffect(()=>{
61
+ visibleInsertColumns.filter((column)=>"boolean" === column.serverDataType && void 0 === newRowState.values[column.name]).forEach((column)=>{
62
+ editSession.setNewRowValue(column.name, false);
63
+ });
64
+ }, [
65
+ editSession,
66
+ newRowState.values,
67
+ visibleInsertColumns
68
+ ]);
69
+ useEffect(()=>{
70
+ const firstInvalidIndex = visibleColumns.findIndex(({ name })=>void 0 !== newRowState.errors[name]);
71
+ if (-1 !== firstInvalidIndex) focusEditor(firstInvalidIndex);
72
+ }, [
73
+ focusEditor,
74
+ newRowState.errors,
75
+ visibleColumns
76
+ ]);
77
+ useEffect(()=>{
78
+ const previousValues = previousValuesRef.current;
79
+ previousValuesRef.current = newRowState.values;
80
+ if (Object.keys(previousValues).length > 0 && 0 === Object.keys(newRowState.values).length && 0 === Object.keys(newRowState.errors).length) {
81
+ const firstEditableIndex = visibleColumns.findIndex((column)=>isDataValueEditable(column, "insert"));
82
+ if (-1 !== firstEditableIndex) requestAnimationFrame(()=>focusEditor(firstEditableIndex));
83
+ }
84
+ }, [
85
+ focusEditor,
86
+ newRowState.errors,
87
+ newRowState.values,
88
+ visibleColumns
89
+ ]);
90
+ useEffect(()=>{
91
+ const container = containerRef.current;
92
+ if (!container) return;
93
+ const handleCommit = (event)=>{
94
+ const target = event.target;
95
+ if (!(target instanceof Element)) return;
96
+ const cell = target.closest("[data-field]");
97
+ const cells = container.querySelectorAll("[data-field]");
98
+ const currentIndex = Array.from(cells).indexOf(cell ?? container);
99
+ const firstInvalidIndex = visibleColumns.findIndex(({ name })=>void 0 !== editSession.newRowState.errors[name]);
100
+ const firstEditableIndex = visibleColumns.findIndex((column)=>isDataValueEditable(column, "insert"));
101
+ const nextEditableIndex = visibleColumns.findIndex((column, index)=>index > currentIndex && isDataValueEditable(column, "insert"));
102
+ if (-1 !== firstInvalidIndex) requestAnimationFrame(()=>focusEditor(firstInvalidIndex));
103
+ else if (-1 !== nextEditableIndex) focusEditor(nextEditableIndex);
104
+ else if (-1 !== firstEditableIndex) requestAnimationFrame(()=>focusEditor(firstEditableIndex));
105
+ };
106
+ container.addEventListener("vuu-commit", handleCommit);
107
+ return ()=>container.removeEventListener("vuu-commit", handleCommit);
108
+ }, [
109
+ editSession,
110
+ focusEditor,
111
+ visibleColumns
112
+ ]);
113
+ return {
114
+ containerRef,
115
+ dataRow,
116
+ draftRevision: newRowState.draftRevision,
117
+ inlineAddColumns
118
+ };
119
+ };
120
+ export { useInlineAddRow };
@@ -0,0 +1,23 @@
1
+ const css = `
2
+ .vuuTabbedTableConfigPanel {
3
+ --tabs-height: 25px;
4
+ position: absolute;
5
+ inset: 0;
6
+
7
+ & .saltTabsNext {
8
+ height: 100%;
9
+
10
+ & .saltTabListNext {
11
+ border-bottom: solid var(--salt-separable-secondary-borderColor) 1px;
12
+ height: var(--tabs-height);
13
+ }
14
+
15
+ & .saltTabNextPanel {
16
+ height: calc(100% - var(--tabs-height));
17
+ }
18
+ }
19
+ }
20
+
21
+
22
+ `;
23
+ export default css;
@@ -0,0 +1,99 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { TabListNext, TabNext, TabNextPanel, TabNextTrigger, TabsNext } from "@salt-ds/lab";
3
+ import { useComponentCssInjection } from "@salt-ds/styles";
4
+ import { useWindow } from "@salt-ds/window";
5
+ import clsx from "clsx";
6
+ import { useCallback, useState } from "react";
7
+ import { useEditCalculatedColumn } from "../calculated-column/useEditCalculatedColumn.js";
8
+ import { ColumnPicker } from "../column-picker/ColumnPicker.js";
9
+ import { ColumnSettingsPanel } from "../column-settings-panel/ColumnSettingsPanel.js";
10
+ import { TableSettingsPanel } from "../table-settings-panel/TableSettingsPanel.js";
11
+ import TabbedTableConfigPanel from "./TabbedTableConfigPanel.css";
12
+ const classBase = "vuuTabbedTableConfigPanel";
13
+ const TabbedTableConfigPanel_TabbedTableConfigPanel = ({ allowCreateCalculatedColumn = false, className, columnModel, config, onDisplayAttributeChange, selectedTab = "table-settings", vuuTable, ...htmlAttributes })=>{
14
+ const targetWindow = useWindow();
15
+ useComponentCssInjection({
16
+ testId: "vuu-tabbed-table-config-panel",
17
+ css: TabbedTableConfigPanel,
18
+ window: targetWindow
19
+ });
20
+ const [columns, setColumns] = useState([]);
21
+ const [value, setValue] = useState(selectedTab);
22
+ const handleChange = useCallback((_e, value)=>{
23
+ setValue(value);
24
+ }, []);
25
+ const handleSelectionChange = useCallback((_e, selectedItems)=>{
26
+ setColumns(selectedItems);
27
+ }, []);
28
+ const handleSaveCalculatedColumn = useCallback((column)=>{
29
+ setColumns([
30
+ column
31
+ ]);
32
+ }, []);
33
+ const { onCreateCalculatedColumn, onEditCalculatedColumn } = useEditCalculatedColumn({
34
+ columnModel,
35
+ calculatedColumn: columns[0],
36
+ onSaveColumn: handleSaveCalculatedColumn,
37
+ vuuTable
38
+ });
39
+ return /*#__PURE__*/ jsx("div", {
40
+ ...htmlAttributes,
41
+ className: clsx(classBase, className),
42
+ children: /*#__PURE__*/ jsxs(TabsNext, {
43
+ onChange: handleChange,
44
+ value: value,
45
+ children: [
46
+ /*#__PURE__*/ jsxs(TabListNext, {
47
+ appearance: "transparent",
48
+ children: [
49
+ /*#__PURE__*/ jsx(TabNext, {
50
+ value: "table-settings",
51
+ children: /*#__PURE__*/ jsx(TabNextTrigger, {
52
+ children: "Table settings"
53
+ })
54
+ }),
55
+ /*#__PURE__*/ jsx(TabNext, {
56
+ value: "table-columns",
57
+ children: /*#__PURE__*/ jsx(TabNextTrigger, {
58
+ children: "Table columns"
59
+ })
60
+ }),
61
+ /*#__PURE__*/ jsx(TabNext, {
62
+ disabled: 0 === columns.length,
63
+ value: "column-settings",
64
+ children: /*#__PURE__*/ jsx(TabNextTrigger, {
65
+ children: "Column settings"
66
+ })
67
+ })
68
+ ]
69
+ }),
70
+ /*#__PURE__*/ jsx(TabNextPanel, {
71
+ value: "table-settings",
72
+ children: /*#__PURE__*/ jsx(TableSettingsPanel, {
73
+ onDisplayAttributeChange: onDisplayAttributeChange,
74
+ tableDisplayAttributes: config
75
+ })
76
+ }),
77
+ /*#__PURE__*/ jsx(TabNextPanel, {
78
+ value: "table-columns",
79
+ children: /*#__PURE__*/ jsx(ColumnPicker, {
80
+ allowCreateCalculatedColumn: allowCreateCalculatedColumn,
81
+ columnModel: columnModel,
82
+ onClickCreateCalculatedColumn: onCreateCalculatedColumn,
83
+ onSelectionChange: handleSelectionChange,
84
+ selected: columns
85
+ })
86
+ }),
87
+ /*#__PURE__*/ jsx(TabNextPanel, {
88
+ value: "column-settings",
89
+ children: columns.length > 0 ? /*#__PURE__*/ jsx(ColumnSettingsPanel, {
90
+ column: columns[0],
91
+ columnModel: columnModel,
92
+ onClickEditCalculatedColumn: onEditCalculatedColumn
93
+ }) : null
94
+ })
95
+ ]
96
+ })
97
+ });
98
+ };
99
+ export { TabbedTableConfigPanel_TabbedTableConfigPanel as TabbedTableConfigPanel };
@@ -0,0 +1,28 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { IconButton } from "@vuu-ui/vuu-ui-controls";
3
+ import { useCallback } from "react";
4
+ import { useTabbedTableConfigPanel } from "./useTabbedTableConfigPanel.js";
5
+ const TabbedTableSettingsAction = ({ allowCreateCalculatedColumn, appearance = "transparent", columnModel, config, icon = "settings", onDisplayAttributeChange, sentiment = "neutral", vuuTable, ...IconButtonProps })=>{
6
+ const { showTabbedTableConfigPanel } = useTabbedTableConfigPanel({
7
+ allowCreateCalculatedColumn,
8
+ columnModel,
9
+ config,
10
+ onDisplayAttributeChange,
11
+ vuuTable
12
+ });
13
+ const handleClick = useCallback(()=>{
14
+ showTabbedTableConfigPanel();
15
+ }, [
16
+ showTabbedTableConfigPanel
17
+ ]);
18
+ return /*#__PURE__*/ jsx(IconButton, {
19
+ ...IconButtonProps,
20
+ appearance: appearance,
21
+ "data-action": "table-settings",
22
+ icon: icon,
23
+ onClick: handleClick,
24
+ sentiment: sentiment,
25
+ size: 20
26
+ });
27
+ };
28
+ export { TabbedTableSettingsAction };
@@ -0,0 +1,29 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useCallback, useRef } from "react";
3
+ import { useContextPanel } from "@vuu-ui/vuu-ui-controls";
4
+ import { TabbedTableConfigPanel } from "./TabbedTableConfigPanel.js";
5
+ const useTabbedTableConfigPanel = ({ allowCreateCalculatedColumn, columnModel, config, onDisplayAttributeChange, vuuTable })=>{
6
+ const showContextPanel = useContextPanel();
7
+ const contextPanelShowing = useRef(false);
8
+ const showTabbedTableConfigPanel = useCallback((title = "Table settings")=>{
9
+ contextPanelShowing.current = true;
10
+ showContextPanel(/*#__PURE__*/ jsx(TabbedTableConfigPanel, {
11
+ allowCreateCalculatedColumn: allowCreateCalculatedColumn,
12
+ columnModel: columnModel,
13
+ config: config,
14
+ onDisplayAttributeChange: onDisplayAttributeChange,
15
+ vuuTable: vuuTable
16
+ }), title);
17
+ }, [
18
+ allowCreateCalculatedColumn,
19
+ columnModel,
20
+ config,
21
+ onDisplayAttributeChange,
22
+ showContextPanel,
23
+ vuuTable
24
+ ]);
25
+ return {
26
+ showTabbedTableConfigPanel
27
+ };
28
+ };
29
+ export { useTabbedTableConfigPanel };
@@ -0,0 +1,31 @@
1
+ const css = `
2
+ .vuuTableFooter {
3
+ background-color: var(--salt-container-secondary-background);
4
+ --table-footer-height: var(--vuuTableFooter-height, 32px);
5
+ flex: 0 0 var(--table-footer-height);
6
+ height: var(--table-footer-height);
7
+ grid-template: "panel-start panel-center panel-end"
8
+ / 1fr 1fr 1fr;
9
+ display: grid;
10
+
11
+ & .vuuTableFooterTray {
12
+ align-items: center;
13
+ gap: var(--salt-spacing-100);
14
+ margin: 0 var(--salt-spacing-200);
15
+ display: flex;
16
+
17
+ &.vuuTableFooterTray-center {
18
+ grid-area: panel-center;
19
+ justify-self: center;
20
+ }
21
+
22
+ &.vuuTableFooterTray-end {
23
+ grid-area: panel-end;
24
+ justify-self: end;
25
+ }
26
+ }
27
+ }
28
+
29
+
30
+ `;
31
+ export default css;
@@ -0,0 +1,33 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import { useComponentCssInjection } from "@salt-ds/styles";
4
+ import { useWindow } from "@salt-ds/window";
5
+ import TableFooter from "./TableFooter.css";
6
+ const classBase = "vuuTableFooter";
7
+ const TableFooterTray = ({ children, position = 'end' })=>/*#__PURE__*/ jsx("div", {
8
+ className: clsx(`${classBase}Tray`, {
9
+ [`${classBase}Tray-center`]: 'center' === position,
10
+ [`${classBase}Tray-end`]: 'end' === position
11
+ }),
12
+ children: children
13
+ });
14
+ const TableFooter_TableFooter = ({ children, className, onInvokeAction, tooltrayActions, ...htmlAttributes })=>{
15
+ const targetWindow = useWindow();
16
+ useComponentCssInjection({
17
+ testId: "vuu-table-footer",
18
+ css: TableFooter,
19
+ window: targetWindow
20
+ });
21
+ return /*#__PURE__*/ jsxs("div", {
22
+ ...htmlAttributes,
23
+ className: clsx(classBase, className),
24
+ children: [
25
+ children,
26
+ tooltrayActions ? /*#__PURE__*/ jsx("div", {
27
+ className: `${classBase}-tooltray`,
28
+ children: tooltrayActions
29
+ }) : null
30
+ ]
31
+ });
32
+ };
33
+ export { TableFooterTray, TableFooter_TableFooter as TableFooter };
@@ -0,0 +1,33 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext } from "react";
3
+ const NullMenuActionHandler = (menuItemId)=>{
4
+ console.log(`[TableContext] no menu action handler installed (menuItemHandler invoked with ${menuItemId})`);
5
+ return false;
6
+ };
7
+ const NullDataSource = {};
8
+ const TableContext = /*#__PURE__*/ createContext({
9
+ dataSource: NullDataSource,
10
+ menuActionHandler: NullMenuActionHandler
11
+ });
12
+ const TableProvider = ({ children, dataSource, menuActionHandler, rowActionHandlers })=>/*#__PURE__*/ jsx(TableContext.Provider, {
13
+ value: {
14
+ dataSource,
15
+ menuActionHandler,
16
+ rowActionHandlers
17
+ },
18
+ children: children
19
+ });
20
+ function useTableContext(throwIfNoDataSource = false) {
21
+ const { dataSource, menuActionHandler } = useContext(TableContext);
22
+ if (dataSource !== NullDataSource || menuActionHandler != NullMenuActionHandler || !throwIfNoDataSource) return {
23
+ dataSource,
24
+ menuActionHandler
25
+ };
26
+ throw Error("[TableProvider] no DataSourceProvider has been declared");
27
+ }
28
+ const useRowAction = (actionId)=>{
29
+ const { rowActionHandlers } = useContext(TableContext);
30
+ if (rowActionHandlers?.[actionId]) return rowActionHandlers[actionId];
31
+ throw Error(`[TableProvider] useRowAction, no action configured #${actionId}`);
32
+ };
33
+ export { TableContext, TableProvider, useRowAction, useTableContext };
@@ -0,0 +1,70 @@
1
+ const css = `
2
+ .vuuTableSettingsPanel {
3
+ --vuuScrollable-size: 6px;
4
+ --vuu-svg-text-strikethrough: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 24\"><path d=\"M28.3333 9.33334C28.8867 9.33334 29.3333 8.88668 29.3333 8.33334C29.3333 7.78001 28.8867 7.33334 28.3333 7.33334H20.26L22.26 9.33334H23.48L23.1133 10.1867L24.5067 11.58L25.4733 9.33334H28.3333ZM27.6267 16.5867L18.7467 7.70668C18.4867 7.44668 18.0667 7.44668 17.8067 7.70668C17.5467 7.96668 17.5467 8.38668 17.8067 8.64668L21.98 12.82L20.88 15.38C20.62 15.9933 21.0667 16.6667 21.7267 16.6667C22.0933 16.6667 22.4267 16.4467 22.5733 16.1067L23.38 14.22L26.68 17.52C26.94 17.78 27.36 17.78 27.62 17.52C27.8867 17.2667 27.8867 16.8467 27.6267 16.5867Z\"/></svg>");
5
+ --vuu-svg-text-Tt: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 24\"><path d=\"M17.6667 7.66666C17.6667 8.21999 18.1133 8.66666 18.6667 8.66666H21V15.6667C21 16.22 21.4467 16.6667 22 16.6667C22.5533 16.6667 23 16.22 23 15.6667V8.66666H25.3333C25.8867 8.66666 26.3333 8.21999 26.3333 7.66666C26.3333 7.11332 25.8867 6.66666 25.3333 6.66666H18.6667C18.1133 6.66666 17.6667 7.11332 17.6667 7.66666ZM29.3333 9.99999H25.3333C24.78 9.99999 24.3333 10.4467 24.3333 11C24.3333 11.5533 24.78 12 25.3333 12H26.3333V15.6667C26.3333 16.22 26.78 16.6667 27.3333 16.6667C27.8867 16.6667 28.3333 16.22 28.3333 15.6667V12H29.3333C29.8867 12 30.3333 11.5533 30.3333 11C30.3333 10.4467 29.8867 9.99999 29.3333 9.99999Z\" /></svg>");
6
+ --vuu-svg-text-T: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 24\"><path d=\"M19.3333 7.66666C19.3333 8.21999 19.78 8.66666 20.3333 8.66666H23V15.6667C23 16.22 23.4467 16.6667 24 16.6667C24.5533 16.6667 25 16.22 25 15.6667V8.66666H27.6667C28.22 8.66666 28.6667 8.21999 28.6667 7.66666C28.6667 7.11332 28.22 6.66666 27.6667 6.66666H20.3333C19.78 6.66666 19.3333 7.11332 19.3333 7.66666Z\"/></svg>");
7
+ --vuu-svg-stripes: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><rect x=\"2\" y=\"2\" width=\"12\" height=\"2\" rx=\"0.3\"/><rect x=\"2\" y=\"5\" width=\"12\" height=\"2\" rx=\"0.3\"/><rect x=\"2\" y=\"8\" width=\"12\" height=\"2\" rx=\"0.3\"/><rect x=\"2\" y=\"11\" width=\"12\" height=\"2\" rx=\"0.3\"/></svg>");
8
+ --vuu-svg-row-lines: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><rect x=\"2\" y=\"3\" width=\"12\" height=\"1\" rx=\"0.3\" /><rect x=\"2\" y=\"6\" width=\"12\" height=\"1\" rx=\"0.3\" /><rect x=\"2\" y=\"9\" width=\"12\" height=\"1\" rx=\"0.3\" /><rect x=\"2\" y=\"12\" width=\"12\" height=\"1\" rx=\"0.3\"/></svg>");
9
+ --vuu-svg-col-lines: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><rect x=\"3\" y=\"14\" width=\"12\" height=\"1\" rx=\"0.3\" transform=\"rotate%28-90 3 14%29\"/><rect x=\"6\" y=\"14\" width=\"12\" height=\"1\" rx=\"0.3\" transform=\"rotate%28-90 6 14%29\"/><rect x=\"9\" y=\"14\" width=\"12\" height=\"1\" rx=\"0.3\" transform=\"rotate%28-90 9 14%29\"/><rect x=\"12\" y=\"14\" width=\"12\" height=\"1\" rx=\"0.3\" transform=\"rotate%28-90 12 14%29\"/></svg>");
10
+ max-width: 254px;
11
+ height: 100%;
12
+ padding: 12px 2px var(--salt-spacing-200) 2px;
13
+ flex-direction: column;
14
+ gap: 24px;
15
+ display: flex;
16
+ }
17
+
18
+ .vuuTableSettingsPanel [data-icon="text-strikethrough"] {
19
+ --vuu-icon-svg: var(--vuu-svg-text-strikethrough);
20
+ }
21
+
22
+ .vuuTableSettingsPanel [data-icon="text-Tt"] {
23
+ --vuu-icon-svg: var(--vuu-svg-text-Tt);
24
+ }
25
+
26
+ .vuuTableSettingsPanel [data-icon="text-T"] {
27
+ --vuu-icon-svg: var(--vuu-svg-text-T);
28
+ }
29
+
30
+ .vuuTableSettingsPanel [data-icon="col-lines"] {
31
+ --vuu-icon-svg: var(--vuu-svg-col-lines);
32
+ }
33
+
34
+ .vuuTableSettingsPanel [data-icon="row-lines"] {
35
+ --vuu-icon-svg: var(--vuu-svg-row-lines);
36
+ }
37
+
38
+ .vuuTableSettingsPanel [data-icon="row-striping"] {
39
+ --vuu-icon-svg: var(--vuu-svg-stripes);
40
+ }
41
+
42
+ .vuuTableSettingsPanel-header {
43
+ padding-top: 24px;
44
+ font-size: 14px;
45
+ font-weight: 600;
46
+ }
47
+
48
+ .vuuTableSettingsPanel-columnListContainer {
49
+ flex: 1 1 0;
50
+ position: relative;
51
+ overflow: auto;
52
+
53
+ & .vuuColumnList {
54
+ height: 100%;
55
+ }
56
+ }
57
+
58
+ .vuuTableSettingsPanel-calculatedButtonbar {
59
+ --vuu-icon-size: 16px;
60
+ --saltButton-height: 24px;
61
+ --saltButton-width: 24px;
62
+ flex: 0 0 32px;
63
+ align-items: center;
64
+ gap: 12px;
65
+ display: flex;
66
+ }
67
+
68
+
69
+ `;
70
+ export default css;
@@ -0,0 +1,128 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { FormField, FormFieldLabel, ToggleButton, ToggleButtonGroup } from "@salt-ds/core";
3
+ import { useComponentCssInjection } from "@salt-ds/styles";
4
+ import { useWindow } from "@salt-ds/window";
5
+ import { useTableSettings } from "./useTableSettings.js";
6
+ import { Icon, VuuInput } from "@vuu-ui/vuu-ui-controls";
7
+ import TableSettingsPanel from "./TableSettingsPanel.css";
8
+ const classBase = "vuuTableSettingsPanel";
9
+ const defaultTableSettingsPermissions = {
10
+ allowColumnLabelCase: true,
11
+ allowColumnDefaultWidth: true,
12
+ allowGridSeparators: true
13
+ };
14
+ const noTableSettingsPermissions = {
15
+ allowColumnLabelCase: false,
16
+ allowColumnDefaultWidth: false,
17
+ allowGridSeparators: false
18
+ };
19
+ const TableSettingsPanel_TableSettingsPanel = ({ onDisplayAttributeChange, tableDisplayAttributes: tableDisplayAttributesProp, permissions: permissionsProp })=>{
20
+ const targetWindow = useWindow();
21
+ useComponentCssInjection({
22
+ testId: "vuu-table-settings-panel",
23
+ css: TableSettingsPanel,
24
+ window: targetWindow
25
+ });
26
+ const permissions = void 0 === permissionsProp || true === permissionsProp ? defaultTableSettingsPermissions : false === permissionsProp ? noTableSettingsPermissions : permissionsProp;
27
+ const { columnLabelsValue, onChangeColumnLabels, onChangeTableAttribute, onCommitColumnWidth, tableDisplayAttributes } = useTableSettings({
28
+ onDisplayAttributeChange,
29
+ tableDisplayAttributes: tableDisplayAttributesProp
30
+ });
31
+ const { allowColumnLabelCase = true, allowColumnDefaultWidth = true, allowGridSeparators = true } = permissions;
32
+ return /*#__PURE__*/ jsxs("div", {
33
+ className: classBase,
34
+ children: [
35
+ allowColumnDefaultWidth ? /*#__PURE__*/ jsxs(FormField, {
36
+ children: [
37
+ /*#__PURE__*/ jsx(FormFieldLabel, {
38
+ children: "Column Width"
39
+ }),
40
+ /*#__PURE__*/ jsx(VuuInput, {
41
+ bordered: true,
42
+ className: "vuuInput",
43
+ "data-embedded": true,
44
+ onCommit: onCommitColumnWidth
45
+ })
46
+ ]
47
+ }) : null,
48
+ allowColumnLabelCase ? /*#__PURE__*/ jsxs(FormField, {
49
+ children: [
50
+ /*#__PURE__*/ jsx(FormFieldLabel, {
51
+ children: "Column Labels"
52
+ }),
53
+ /*#__PURE__*/ jsxs(ToggleButtonGroup, {
54
+ className: "vuuToggleButtonGroup",
55
+ onChange: onChangeColumnLabels,
56
+ value: columnLabelsValue,
57
+ children: [
58
+ /*#__PURE__*/ jsx(ToggleButton, {
59
+ className: "vuuIconToggleButton",
60
+ value: 0,
61
+ children: /*#__PURE__*/ jsx(Icon, {
62
+ name: "text-strikethrough",
63
+ size: 48
64
+ })
65
+ }),
66
+ /*#__PURE__*/ jsx(ToggleButton, {
67
+ className: "vuuIconToggleButton",
68
+ value: 1,
69
+ children: /*#__PURE__*/ jsx(Icon, {
70
+ name: "text-Tt",
71
+ size: 48
72
+ })
73
+ }),
74
+ /*#__PURE__*/ jsx(ToggleButton, {
75
+ className: "vuuIconToggleButton",
76
+ value: 2,
77
+ children: /*#__PURE__*/ jsx(Icon, {
78
+ name: "text-T",
79
+ size: 48
80
+ })
81
+ })
82
+ ]
83
+ })
84
+ ]
85
+ }) : null,
86
+ allowGridSeparators ? /*#__PURE__*/ jsxs(FormField, {
87
+ children: [
88
+ /*#__PURE__*/ jsx(FormFieldLabel, {
89
+ children: "Grid separators"
90
+ }),
91
+ /*#__PURE__*/ jsxs("div", {
92
+ className: "saltToggleButtonGroup vuuStateButtonGroup saltToggleButtonGroup-horizontal",
93
+ children: [
94
+ /*#__PURE__*/ jsx(ToggleButton, {
95
+ selected: tableDisplayAttributes.zebraStripes ?? false,
96
+ onChange: onChangeTableAttribute,
97
+ value: "zebraStripes",
98
+ children: /*#__PURE__*/ jsx(Icon, {
99
+ name: "row-striping",
100
+ size: 16
101
+ })
102
+ }),
103
+ /*#__PURE__*/ jsx(ToggleButton, {
104
+ selected: tableDisplayAttributes.rowSeparators ?? false,
105
+ onChange: onChangeTableAttribute,
106
+ value: "rowSeparators",
107
+ children: /*#__PURE__*/ jsx(Icon, {
108
+ name: "row-lines",
109
+ size: 16
110
+ })
111
+ }),
112
+ /*#__PURE__*/ jsx(ToggleButton, {
113
+ selected: tableDisplayAttributes.columnSeparators ?? false,
114
+ onChange: onChangeTableAttribute,
115
+ value: "columnSeparators",
116
+ children: /*#__PURE__*/ jsx(Icon, {
117
+ name: "col-lines",
118
+ size: 16
119
+ })
120
+ })
121
+ ]
122
+ })
123
+ ]
124
+ }) : null
125
+ ]
126
+ });
127
+ };
128
+ export { TableSettingsPanel_TableSettingsPanel as TableSettingsPanel, defaultTableSettingsPermissions, noTableSettingsPermissions };
@@ -0,0 +1,50 @@
1
+ import { queryClosest, useLayoutEffectSkipFirst } from "@vuu-ui/vuu-utils";
2
+ import { useCallback, useState } from "react";
3
+ const useTableSettings = ({ onDisplayAttributeChange, tableDisplayAttributes: tableDisplayAttributesProp })=>{
4
+ const [tableDisplayAttributes, setDisplayTableAttributes] = useState(tableDisplayAttributesProp);
5
+ const handleChangeColumnLabels = useCallback((evt)=>{
6
+ const button = queryClosest(evt.target, "button");
7
+ if (button) {
8
+ const value = parseInt(button.value);
9
+ const columnFormatHeader = 0 === value ? void 0 : 1 === value ? "capitalize" : "uppercase";
10
+ setDisplayTableAttributes((state)=>({
11
+ ...state,
12
+ columnFormatHeader
13
+ }));
14
+ }
15
+ }, []);
16
+ const handleChangeTableAttribute = useCallback((evt)=>{
17
+ const button = queryClosest(evt.target, "button");
18
+ if (button) {
19
+ const { ariaPressed, value } = button;
20
+ setDisplayTableAttributes((state)=>({
21
+ ...state,
22
+ [value]: "true" !== ariaPressed
23
+ }));
24
+ }
25
+ }, []);
26
+ const handleCommitColumnWidth = useCallback((_, value)=>{
27
+ if ("string" == typeof value) {
28
+ const columnDefaultWidth = parseInt(value);
29
+ if (!isNaN(columnDefaultWidth)) setDisplayTableAttributes((state)=>({
30
+ ...state,
31
+ columnDefaultWidth
32
+ }));
33
+ }
34
+ }, []);
35
+ useLayoutEffectSkipFirst(()=>{
36
+ onDisplayAttributeChange?.(tableDisplayAttributes);
37
+ }, [
38
+ onDisplayAttributeChange,
39
+ tableDisplayAttributes
40
+ ]);
41
+ const columnLabelsValue = void 0 === tableDisplayAttributes.columnFormatHeader ? 0 : "capitalize" === tableDisplayAttributes.columnFormatHeader ? 1 : 2;
42
+ return {
43
+ columnLabelsValue,
44
+ onChangeColumnLabels: handleChangeColumnLabels,
45
+ onChangeTableAttribute: handleChangeTableAttribute,
46
+ onCommitColumnWidth: handleCommitColumnWidth,
47
+ tableDisplayAttributes
48
+ };
49
+ };
50
+ export { useTableSettings };