@vuu-ui/vuu-table-extras 2.1.17 → 2.1.19-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 (311) hide show
  1. package/package.json +16 -17
  2. package/types/cell-renderers/background-cell/BackgroundCell.d.ts +1 -1
  3. package/types/cell-renderers/dropdown-cell/DropdownCell.d.ts +1 -1
  4. package/types/cell-renderers/lookup-cell/LookupCell.d.ts +1 -1
  5. package/types/column-expression-input/column-language-parser/generated/column-parser.d.ts +1 -1
  6. package/types/column-expression-input/column-language-parser/generated/column-parser.terms.d.ts +1 -24
  7. package/types/column-expression-input/column-language-parser/test.d.mts +1 -1
  8. package/types/csv-upload/CsvUpload.d.ts +47 -0
  9. package/types/csv-upload/index.d.ts +7 -0
  10. package/types/csv-upload/parse/csv-constants.d.ts +2 -0
  11. package/types/csv-upload/parse/csv-errors.d.ts +46 -0
  12. package/types/csv-upload/parse/csv-parse.d.ts +11 -0
  13. package/types/csv-upload/parse/csv-schema-validation.d.ts +16 -0
  14. package/types/csv-upload/parse/csv-upload-utils.d.ts +21 -0
  15. package/types/csv-upload/parse/index.d.ts +5 -0
  16. package/types/csv-upload/useCsvUpload.d.ts +26 -0
  17. package/types/csv-upload/useCsvUploadSessionPreview.d.ts +10 -0
  18. package/types/freeze-control/useFreezeControl.d.ts +1 -1
  19. package/types/index.d.ts +1 -0
  20. package/cjs/calculated-column/CalculatedColumnPanel.js +0 -85
  21. package/cjs/calculated-column/CalculatedColumnPanel.js.map +0 -1
  22. package/cjs/calculated-column/useCalculatedColumnPanel.js +0 -71
  23. package/cjs/calculated-column/useCalculatedColumnPanel.js.map +0 -1
  24. package/cjs/calculated-column/useEditCalculatedColumn.js +0 -138
  25. package/cjs/calculated-column/useEditCalculatedColumn.js.map +0 -1
  26. package/cjs/cell-edit-validators/CaseValidator.js +0 -25
  27. package/cjs/cell-edit-validators/CaseValidator.js.map +0 -1
  28. package/cjs/cell-edit-validators/PatternValidator.js +0 -31
  29. package/cjs/cell-edit-validators/PatternValidator.js.map +0 -1
  30. package/cjs/cell-renderers/background-cell/BackgroundCell.css.js +0 -6
  31. package/cjs/cell-renderers/background-cell/BackgroundCell.css.js.map +0 -1
  32. package/cjs/cell-renderers/background-cell/BackgroundCell.js +0 -81
  33. package/cjs/cell-renderers/background-cell/BackgroundCell.js.map +0 -1
  34. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -6
  35. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +0 -1
  36. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -67
  37. package/cjs/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +0 -1
  38. package/cjs/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -6
  39. package/cjs/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +0 -1
  40. package/cjs/cell-renderers/background-cell/useDirection.js +0 -20
  41. package/cjs/cell-renderers/background-cell/useDirection.js.map +0 -1
  42. package/cjs/cell-renderers/button-cell/IconButtonCell.css.js +0 -6
  43. package/cjs/cell-renderers/button-cell/IconButtonCell.css.js.map +0 -1
  44. package/cjs/cell-renderers/button-cell/IconButtonCell.js +0 -40
  45. package/cjs/cell-renderers/button-cell/IconButtonCell.js.map +0 -1
  46. package/cjs/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -6
  47. package/cjs/cell-renderers/dropdown-cell/DropdownCell.css.js.map +0 -1
  48. package/cjs/cell-renderers/dropdown-cell/DropdownCell.js +0 -103
  49. package/cjs/cell-renderers/dropdown-cell/DropdownCell.js.map +0 -1
  50. package/cjs/cell-renderers/lookup-cell/LookupCell.js +0 -21
  51. package/cjs/cell-renderers/lookup-cell/LookupCell.js.map +0 -1
  52. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -6
  53. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +0 -1
  54. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -62
  55. package/cjs/cell-renderers/pct-progress-cell/PctProgressCell.js.map +0 -1
  56. package/cjs/cell-renderers/progress-cell/ProgressCell.css.js +0 -6
  57. package/cjs/cell-renderers/progress-cell/ProgressCell.css.js.map +0 -1
  58. package/cjs/cell-renderers/progress-cell/ProgressCell.js +0 -69
  59. package/cjs/cell-renderers/progress-cell/ProgressCell.js.map +0 -1
  60. package/cjs/column-expression-input/ColumnExpressionInput.css.js +0 -6
  61. package/cjs/column-expression-input/ColumnExpressionInput.css.js.map +0 -1
  62. package/cjs/column-expression-input/ColumnExpressionInput.js +0 -39
  63. package/cjs/column-expression-input/ColumnExpressionInput.js.map +0 -1
  64. package/cjs/column-expression-input/column-function-descriptors.js +0 -307
  65. package/cjs/column-expression-input/column-function-descriptors.js.map +0 -1
  66. package/cjs/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -28
  67. package/cjs/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +0 -1
  68. package/cjs/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -465
  69. package/cjs/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +0 -1
  70. package/cjs/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -61
  71. package/cjs/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +0 -1
  72. package/cjs/column-expression-input/column-language-parser/generated/column-parser.js +0 -21
  73. package/cjs/column-expression-input/column-language-parser/generated/column-parser.js.map +0 -1
  74. package/cjs/column-expression-input/functionDocInfo.js +0 -39
  75. package/cjs/column-expression-input/functionDocInfo.js.map +0 -1
  76. package/cjs/column-expression-input/highlighting.js +0 -16
  77. package/cjs/column-expression-input/highlighting.js.map +0 -1
  78. package/cjs/column-expression-input/theme.js +0 -63
  79. package/cjs/column-expression-input/theme.js.map +0 -1
  80. package/cjs/column-expression-input/useColumnAutoComplete.js +0 -358
  81. package/cjs/column-expression-input/useColumnAutoComplete.js.map +0 -1
  82. package/cjs/column-expression-input/useColumnExpressionEditor.js +0 -131
  83. package/cjs/column-expression-input/useColumnExpressionEditor.js.map +0 -1
  84. package/cjs/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -213
  85. package/cjs/column-expression-input/useColumnExpressionSuggestionProvider.js.map +0 -1
  86. package/cjs/column-formatting-settings/BaseNumericFormattingSettings.js +0 -98
  87. package/cjs/column-formatting-settings/BaseNumericFormattingSettings.js.map +0 -1
  88. package/cjs/column-formatting-settings/ColumnFormattingPanel.js +0 -111
  89. package/cjs/column-formatting-settings/ColumnFormattingPanel.js.map +0 -1
  90. package/cjs/column-formatting-settings/DateTimeFormattingSettings.js +0 -102
  91. package/cjs/column-formatting-settings/DateTimeFormattingSettings.js.map +0 -1
  92. package/cjs/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -6
  93. package/cjs/column-formatting-settings/LongTypeFormattingSettings.css.js.map +0 -1
  94. package/cjs/column-formatting-settings/LongTypeFormattingSettings.js +0 -48
  95. package/cjs/column-formatting-settings/LongTypeFormattingSettings.js.map +0 -1
  96. package/cjs/column-menu/ColumnMenu.css.js +0 -6
  97. package/cjs/column-menu/ColumnMenu.css.js.map +0 -1
  98. package/cjs/column-menu/ColumnMenu.js +0 -107
  99. package/cjs/column-menu/ColumnMenu.js.map +0 -1
  100. package/cjs/column-menu/column-menu-utils.js +0 -459
  101. package/cjs/column-menu/column-menu-utils.js.map +0 -1
  102. package/cjs/column-menu/useColumnActions.js +0 -68
  103. package/cjs/column-menu/useColumnActions.js.map +0 -1
  104. package/cjs/column-picker/ColumnModel.js +0 -177
  105. package/cjs/column-picker/ColumnModel.js.map +0 -1
  106. package/cjs/column-picker/ColumnPicker.css.js +0 -6
  107. package/cjs/column-picker/ColumnPicker.css.js.map +0 -1
  108. package/cjs/column-picker/ColumnPicker.js +0 -252
  109. package/cjs/column-picker/ColumnPicker.js.map +0 -1
  110. package/cjs/column-picker/ColumnPickerAction.js +0 -34
  111. package/cjs/column-picker/ColumnPickerAction.js.map +0 -1
  112. package/cjs/column-picker/useColumnPicker.js +0 -55
  113. package/cjs/column-picker/useColumnPicker.js.map +0 -1
  114. package/cjs/column-picker/useTableColumnPicker.js +0 -35
  115. package/cjs/column-picker/useTableColumnPicker.js.map +0 -1
  116. package/cjs/column-settings-panel/ColumnNameLabel.css.js +0 -6
  117. package/cjs/column-settings-panel/ColumnNameLabel.css.js.map +0 -1
  118. package/cjs/column-settings-panel/ColumnNameLabel.js +0 -45
  119. package/cjs/column-settings-panel/ColumnNameLabel.js.map +0 -1
  120. package/cjs/column-settings-panel/ColumnSettingsPanel.css.js +0 -6
  121. package/cjs/column-settings-panel/ColumnSettingsPanel.css.js.map +0 -1
  122. package/cjs/column-settings-panel/ColumnSettingsPanel.js +0 -161
  123. package/cjs/column-settings-panel/ColumnSettingsPanel.js.map +0 -1
  124. package/cjs/column-settings-panel/useColumnSettings.js +0 -203
  125. package/cjs/column-settings-panel/useColumnSettings.js.map +0 -1
  126. package/cjs/datasource-stats/DatasourceStats.css.js +0 -6
  127. package/cjs/datasource-stats/DatasourceStats.css.js.map +0 -1
  128. package/cjs/datasource-stats/DatasourceStats.js +0 -76
  129. package/cjs/datasource-stats/DatasourceStats.js.map +0 -1
  130. package/cjs/datasource-stats/useDatasourceStats.js +0 -61
  131. package/cjs/datasource-stats/useDatasourceStats.js.map +0 -1
  132. package/cjs/freeze-control/FreezeControl.css.js +0 -6
  133. package/cjs/freeze-control/FreezeControl.css.js.map +0 -1
  134. package/cjs/freeze-control/FreezeControl.js +0 -106
  135. package/cjs/freeze-control/FreezeControl.js.map +0 -1
  136. package/cjs/freeze-control/FrozenBanner.css.js +0 -6
  137. package/cjs/freeze-control/FrozenBanner.css.js.map +0 -1
  138. package/cjs/freeze-control/FrozenBanner.js +0 -55
  139. package/cjs/freeze-control/FrozenBanner.js.map +0 -1
  140. package/cjs/freeze-control/freezeControlBadge.js +0 -10
  141. package/cjs/freeze-control/freezeControlBadge.js.map +0 -1
  142. package/cjs/freeze-control/useFreezeControl.js +0 -68
  143. package/cjs/freeze-control/useFreezeControl.js.map +0 -1
  144. package/cjs/index.js +0 -86
  145. package/cjs/index.js.map +0 -1
  146. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -6
  147. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +0 -1
  148. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -90
  149. package/cjs/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +0 -1
  150. package/cjs/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -44
  151. package/cjs/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +0 -1
  152. package/cjs/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -49
  153. package/cjs/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +0 -1
  154. package/cjs/table-footer/TableFooter.css.js +0 -6
  155. package/cjs/table-footer/TableFooter.css.js.map +0 -1
  156. package/cjs/table-footer/TableFooter.js +0 -34
  157. package/cjs/table-footer/TableFooter.js.map +0 -1
  158. package/cjs/table-provider/TableProvider.js +0 -61
  159. package/cjs/table-provider/TableProvider.js.map +0 -1
  160. package/cjs/table-settings-panel/TableSettingsPanel.css.js +0 -6
  161. package/cjs/table-settings-panel/TableSettingsPanel.css.js.map +0 -1
  162. package/cjs/table-settings-panel/TableSettingsPanel.js +0 -116
  163. package/cjs/table-settings-panel/TableSettingsPanel.js.map +0 -1
  164. package/cjs/table-settings-panel/useTableSettings.js +0 -60
  165. package/cjs/table-settings-panel/useTableSettings.js.map +0 -1
  166. package/esm/calculated-column/CalculatedColumnPanel.js +0 -83
  167. package/esm/calculated-column/CalculatedColumnPanel.js.map +0 -1
  168. package/esm/calculated-column/useCalculatedColumnPanel.js +0 -69
  169. package/esm/calculated-column/useCalculatedColumnPanel.js.map +0 -1
  170. package/esm/calculated-column/useEditCalculatedColumn.js +0 -136
  171. package/esm/calculated-column/useEditCalculatedColumn.js.map +0 -1
  172. package/esm/cell-edit-validators/CaseValidator.js +0 -23
  173. package/esm/cell-edit-validators/CaseValidator.js.map +0 -1
  174. package/esm/cell-edit-validators/PatternValidator.js +0 -29
  175. package/esm/cell-edit-validators/PatternValidator.js.map +0 -1
  176. package/esm/cell-renderers/background-cell/BackgroundCell.css.js +0 -4
  177. package/esm/cell-renderers/background-cell/BackgroundCell.css.js.map +0 -1
  178. package/esm/cell-renderers/background-cell/BackgroundCell.js +0 -79
  179. package/esm/cell-renderers/background-cell/BackgroundCell.js.map +0 -1
  180. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -4
  181. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +0 -1
  182. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -65
  183. package/esm/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +0 -1
  184. package/esm/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -4
  185. package/esm/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +0 -1
  186. package/esm/cell-renderers/background-cell/useDirection.js +0 -18
  187. package/esm/cell-renderers/background-cell/useDirection.js.map +0 -1
  188. package/esm/cell-renderers/button-cell/IconButtonCell.css.js +0 -4
  189. package/esm/cell-renderers/button-cell/IconButtonCell.css.js.map +0 -1
  190. package/esm/cell-renderers/button-cell/IconButtonCell.js +0 -38
  191. package/esm/cell-renderers/button-cell/IconButtonCell.js.map +0 -1
  192. package/esm/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -4
  193. package/esm/cell-renderers/dropdown-cell/DropdownCell.css.js.map +0 -1
  194. package/esm/cell-renderers/dropdown-cell/DropdownCell.js +0 -101
  195. package/esm/cell-renderers/dropdown-cell/DropdownCell.js.map +0 -1
  196. package/esm/cell-renderers/lookup-cell/LookupCell.js +0 -19
  197. package/esm/cell-renderers/lookup-cell/LookupCell.js.map +0 -1
  198. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -4
  199. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +0 -1
  200. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -60
  201. package/esm/cell-renderers/pct-progress-cell/PctProgressCell.js.map +0 -1
  202. package/esm/cell-renderers/progress-cell/ProgressCell.css.js +0 -4
  203. package/esm/cell-renderers/progress-cell/ProgressCell.css.js.map +0 -1
  204. package/esm/cell-renderers/progress-cell/ProgressCell.js +0 -67
  205. package/esm/cell-renderers/progress-cell/ProgressCell.js.map +0 -1
  206. package/esm/column-expression-input/ColumnExpressionInput.css.js +0 -4
  207. package/esm/column-expression-input/ColumnExpressionInput.css.js.map +0 -1
  208. package/esm/column-expression-input/ColumnExpressionInput.js +0 -37
  209. package/esm/column-expression-input/ColumnExpressionInput.js.map +0 -1
  210. package/esm/column-expression-input/column-function-descriptors.js +0 -305
  211. package/esm/column-expression-input/column-function-descriptors.js.map +0 -1
  212. package/esm/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -26
  213. package/esm/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +0 -1
  214. package/esm/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -463
  215. package/esm/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +0 -1
  216. package/esm/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -56
  217. package/esm/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +0 -1
  218. package/esm/column-expression-input/column-language-parser/generated/column-parser.js +0 -19
  219. package/esm/column-expression-input/column-language-parser/generated/column-parser.js.map +0 -1
  220. package/esm/column-expression-input/functionDocInfo.js +0 -37
  221. package/esm/column-expression-input/functionDocInfo.js.map +0 -1
  222. package/esm/column-expression-input/highlighting.js +0 -14
  223. package/esm/column-expression-input/highlighting.js.map +0 -1
  224. package/esm/column-expression-input/theme.js +0 -61
  225. package/esm/column-expression-input/theme.js.map +0 -1
  226. package/esm/column-expression-input/useColumnAutoComplete.js +0 -356
  227. package/esm/column-expression-input/useColumnAutoComplete.js.map +0 -1
  228. package/esm/column-expression-input/useColumnExpressionEditor.js +0 -129
  229. package/esm/column-expression-input/useColumnExpressionEditor.js.map +0 -1
  230. package/esm/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -211
  231. package/esm/column-expression-input/useColumnExpressionSuggestionProvider.js.map +0 -1
  232. package/esm/column-formatting-settings/BaseNumericFormattingSettings.js +0 -96
  233. package/esm/column-formatting-settings/BaseNumericFormattingSettings.js.map +0 -1
  234. package/esm/column-formatting-settings/ColumnFormattingPanel.js +0 -109
  235. package/esm/column-formatting-settings/ColumnFormattingPanel.js.map +0 -1
  236. package/esm/column-formatting-settings/DateTimeFormattingSettings.js +0 -100
  237. package/esm/column-formatting-settings/DateTimeFormattingSettings.js.map +0 -1
  238. package/esm/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -4
  239. package/esm/column-formatting-settings/LongTypeFormattingSettings.css.js.map +0 -1
  240. package/esm/column-formatting-settings/LongTypeFormattingSettings.js +0 -46
  241. package/esm/column-formatting-settings/LongTypeFormattingSettings.js.map +0 -1
  242. package/esm/column-menu/ColumnMenu.css.js +0 -4
  243. package/esm/column-menu/ColumnMenu.css.js.map +0 -1
  244. package/esm/column-menu/ColumnMenu.js +0 -105
  245. package/esm/column-menu/ColumnMenu.js.map +0 -1
  246. package/esm/column-menu/column-menu-utils.js +0 -451
  247. package/esm/column-menu/column-menu-utils.js.map +0 -1
  248. package/esm/column-menu/useColumnActions.js +0 -66
  249. package/esm/column-menu/useColumnActions.js.map +0 -1
  250. package/esm/column-picker/ColumnModel.js +0 -170
  251. package/esm/column-picker/ColumnModel.js.map +0 -1
  252. package/esm/column-picker/ColumnPicker.css.js +0 -4
  253. package/esm/column-picker/ColumnPicker.css.js.map +0 -1
  254. package/esm/column-picker/ColumnPicker.js +0 -249
  255. package/esm/column-picker/ColumnPicker.js.map +0 -1
  256. package/esm/column-picker/ColumnPickerAction.js +0 -32
  257. package/esm/column-picker/ColumnPickerAction.js.map +0 -1
  258. package/esm/column-picker/useColumnPicker.js +0 -53
  259. package/esm/column-picker/useColumnPicker.js.map +0 -1
  260. package/esm/column-picker/useTableColumnPicker.js +0 -33
  261. package/esm/column-picker/useTableColumnPicker.js.map +0 -1
  262. package/esm/column-settings-panel/ColumnNameLabel.css.js +0 -4
  263. package/esm/column-settings-panel/ColumnNameLabel.css.js.map +0 -1
  264. package/esm/column-settings-panel/ColumnNameLabel.js +0 -43
  265. package/esm/column-settings-panel/ColumnNameLabel.js.map +0 -1
  266. package/esm/column-settings-panel/ColumnSettingsPanel.css.js +0 -4
  267. package/esm/column-settings-panel/ColumnSettingsPanel.css.js.map +0 -1
  268. package/esm/column-settings-panel/ColumnSettingsPanel.js +0 -159
  269. package/esm/column-settings-panel/ColumnSettingsPanel.js.map +0 -1
  270. package/esm/column-settings-panel/useColumnSettings.js +0 -201
  271. package/esm/column-settings-panel/useColumnSettings.js.map +0 -1
  272. package/esm/datasource-stats/DatasourceStats.css.js +0 -4
  273. package/esm/datasource-stats/DatasourceStats.css.js.map +0 -1
  274. package/esm/datasource-stats/DatasourceStats.js +0 -74
  275. package/esm/datasource-stats/DatasourceStats.js.map +0 -1
  276. package/esm/datasource-stats/useDatasourceStats.js +0 -59
  277. package/esm/datasource-stats/useDatasourceStats.js.map +0 -1
  278. package/esm/freeze-control/FreezeControl.css.js +0 -4
  279. package/esm/freeze-control/FreezeControl.css.js.map +0 -1
  280. package/esm/freeze-control/FreezeControl.js +0 -104
  281. package/esm/freeze-control/FreezeControl.js.map +0 -1
  282. package/esm/freeze-control/FrozenBanner.css.js +0 -4
  283. package/esm/freeze-control/FrozenBanner.css.js.map +0 -1
  284. package/esm/freeze-control/FrozenBanner.js +0 -53
  285. package/esm/freeze-control/FrozenBanner.js.map +0 -1
  286. package/esm/freeze-control/freezeControlBadge.js +0 -8
  287. package/esm/freeze-control/freezeControlBadge.js.map +0 -1
  288. package/esm/freeze-control/useFreezeControl.js +0 -66
  289. package/esm/freeze-control/useFreezeControl.js.map +0 -1
  290. package/esm/index.js +0 -36
  291. package/esm/index.js.map +0 -1
  292. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -4
  293. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +0 -1
  294. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -88
  295. package/esm/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +0 -1
  296. package/esm/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -42
  297. package/esm/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +0 -1
  298. package/esm/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -47
  299. package/esm/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +0 -1
  300. package/esm/table-footer/TableFooter.css.js +0 -4
  301. package/esm/table-footer/TableFooter.css.js.map +0 -1
  302. package/esm/table-footer/TableFooter.js +0 -31
  303. package/esm/table-footer/TableFooter.js.map +0 -1
  304. package/esm/table-provider/TableProvider.js +0 -56
  305. package/esm/table-provider/TableProvider.js.map +0 -1
  306. package/esm/table-settings-panel/TableSettingsPanel.css.js +0 -4
  307. package/esm/table-settings-panel/TableSettingsPanel.css.js.map +0 -1
  308. package/esm/table-settings-panel/TableSettingsPanel.js +0 -112
  309. package/esm/table-settings-panel/TableSettingsPanel.js.map +0 -1
  310. package/esm/table-settings-panel/useTableSettings.js +0 -58
  311. package/esm/table-settings-panel/useTableSettings.js.map +0 -1
@@ -1,170 +0,0 @@
1
- import { EventEmitter, reorderColumnItems } from '@vuu-ui/vuu-utils';
2
-
3
- var __defProp = Object.defineProperty;
4
- var __typeError = (msg) => {
5
- throw TypeError(msg);
6
- };
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
9
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
10
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
11
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
12
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
13
- var _searchPattern, _selectedColumns;
14
- const ColumnChangeSource = {
15
- ColumnPicker: "column-picker",
16
- ColumnSettings: "column-settings",
17
- Table: "table"
18
- };
19
- const SelectedColumnChangeType = {
20
- CalculatedColumnAdded: "calculated-column-added",
21
- ColumnAdded: "column-added",
22
- ColumnRemoved: "column-removed",
23
- ColumnUpdated: "column-updated",
24
- ColumnsReordered: "columns-reordered"
25
- };
26
- const isColumnAdded = (change) => change?.type === SelectedColumnChangeType.ColumnAdded;
27
- const isColumnRemoved = (change) => change?.type === SelectedColumnChangeType.ColumnRemoved;
28
- const isColumnsReordered = (change) => change?.type === SelectedColumnChangeType.ColumnsReordered;
29
- const byColumnName = ({ name: n1, label: l1 = n1 }, { name: n2, label: l2 = n2 }) => l1 > l2 ? 1 : l2 > l1 ? -1 : 0;
30
- const filterColumns = (columns, pattern) => {
31
- if (pattern) {
32
- const lowerCasePattern = pattern.toLowerCase();
33
- return columns.filter(
34
- ({ name, label = name }) => label.toLowerCase().indexOf(lowerCasePattern) !== -1
35
- );
36
- } else {
37
- return columns;
38
- }
39
- };
40
- class ColumnModel extends EventEmitter {
41
- constructor(allColumns, selectedColumns) {
42
- super();
43
- this.allColumns = allColumns;
44
- __privateAdd(this, _searchPattern, "");
45
- __privateAdd(this, _selectedColumns);
46
- __publicField(this, "notifyListeners", (columns, source, changeType) => {
47
- this.emit("change", columns, source, changeType);
48
- this.emit("render", {});
49
- });
50
- __privateSet(this, _selectedColumns, selectedColumns);
51
- }
52
- get availableColumns() {
53
- return filterColumns(this.allColumns, __privateGet(this, _searchPattern)).filter(
54
- ({ name }) => __privateGet(this, _selectedColumns).findIndex((c) => c.name === name) === -1
55
- ).toSorted(byColumnName);
56
- }
57
- set searchPattern(pattern) {
58
- const searchPattern = pattern;
59
- if (searchPattern !== __privateGet(this, _searchPattern)) {
60
- __privateSet(this, _searchPattern, searchPattern);
61
- this.emit("render", {});
62
- }
63
- }
64
- get searchPattern() {
65
- return __privateGet(this, _searchPattern) ?? "";
66
- }
67
- get selectedColumns() {
68
- return filterColumns(__privateGet(this, _selectedColumns), __privateGet(this, _searchPattern));
69
- }
70
- setSelectedColumns(selectedColumns, source, changeDescriptor) {
71
- __privateSet(this, _selectedColumns, selectedColumns);
72
- this.notifyListeners(selectedColumns, source, changeDescriptor);
73
- }
74
- getColumn(name) {
75
- const col = __privateGet(this, _selectedColumns).find((col2) => col2.name === name);
76
- if (col) {
77
- return col;
78
- }
79
- throw Error(`[ColumnModel] columns does not contain column ${name}`);
80
- }
81
- addItemToSelectedColumns(name, source) {
82
- const column = this.allColumns.find((col) => col.name === name);
83
- if (column) {
84
- __privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).concat(column));
85
- this.notifyListeners(__privateGet(this, _selectedColumns), source, {
86
- type: SelectedColumnChangeType.ColumnAdded,
87
- column
88
- });
89
- } else {
90
- throw Error(
91
- `[ColumnModel] addItemToSelectedColumns, column '${name}' not found`
92
- );
93
- }
94
- }
95
- removeItemFromSelectedColumns(name, source) {
96
- const column = __privateGet(this, _selectedColumns).find((col) => col.name === name);
97
- if (column) {
98
- const index = __privateGet(this, _selectedColumns).indexOf(column);
99
- __privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).toSpliced(index, 1));
100
- this.notifyListeners(__privateGet(this, _selectedColumns), source, {
101
- type: SelectedColumnChangeType.ColumnRemoved,
102
- column
103
- });
104
- } else {
105
- throw Error(
106
- `[ColumnModel] removeItemFromSelectedColumns, column '${name}' not found`
107
- );
108
- }
109
- }
110
- reorderSelectedColumns(orderedColumnNames, source) {
111
- this.setSelectedColumns(
112
- reorderColumnItems(__privateGet(this, _selectedColumns), orderedColumnNames),
113
- source,
114
- { type: SelectedColumnChangeType.ColumnsReordered }
115
- );
116
- }
117
- updateColumn(column, newColumn = column) {
118
- const allIndex = this.allColumns.findIndex(
119
- (col) => col.name === column.name
120
- );
121
- const selectedIndex = __privateGet(this, _selectedColumns).findIndex(
122
- (col) => col.name === column.name
123
- );
124
- if (selectedIndex !== -1) {
125
- if (allIndex === -1) {
126
- throw Error(
127
- `[ColumnModel] updateColumn, selected column not in allColumns collection`
128
- );
129
- }
130
- __privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).toSpliced(
131
- selectedIndex,
132
- 1,
133
- newColumn
134
- ));
135
- this.allColumns = this.allColumns.toSpliced(allIndex, 1, newColumn);
136
- this.notifyListeners(__privateGet(this, _selectedColumns), "column-settings", {
137
- type: SelectedColumnChangeType.ColumnUpdated,
138
- column
139
- });
140
- } else {
141
- throw Error(
142
- `[ColumnModel] updateColumn, column ${column.name} not found`
143
- );
144
- }
145
- }
146
- /**
147
- * Used when adding a calculated column
148
- *
149
- * @param column
150
- *
151
- * @param addToSelectedColumns
152
- */
153
- addColumn(column, addToSelectedColumns = false) {
154
- console.log(`[ColumnModel] add column ${JSON.stringify(column)}`);
155
- if (addToSelectedColumns) {
156
- console.log(`add it to selected coliumns`);
157
- }
158
- this.allColumns = this.allColumns.concat(column);
159
- __privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).concat(column));
160
- this.notifyListeners(__privateGet(this, _selectedColumns), "column-picker", {
161
- type: SelectedColumnChangeType.CalculatedColumnAdded,
162
- column
163
- });
164
- }
165
- }
166
- _searchPattern = new WeakMap();
167
- _selectedColumns = new WeakMap();
168
-
169
- export { ColumnChangeSource, ColumnModel, SelectedColumnChangeType, isColumnAdded, isColumnRemoved, isColumnsReordered };
170
- //# sourceMappingURL=ColumnModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColumnModel.js","sources":["../../../../packages/vuu-table-extras/src/column-picker/ColumnModel.ts"],"sourcesContent":["import { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { EventEmitter, reorderColumnItems, ValueOf } from \"@vuu-ui/vuu-utils\";\n\nexport const ColumnChangeSource = {\n ColumnPicker: \"column-picker\",\n ColumnSettings: \"column-settings\",\n Table: \"table\",\n} as const;\nexport type ColumnChangeSource = ValueOf<typeof ColumnChangeSource>;\n\nexport const SelectedColumnChangeType = {\n CalculatedColumnAdded: \"calculated-column-added\",\n ColumnAdded: \"column-added\",\n ColumnRemoved: \"column-removed\",\n ColumnUpdated: \"column-updated\",\n ColumnsReordered: \"columns-reordered\",\n} as const;\nexport type SelectedColumnChangeType = ValueOf<typeof SelectedColumnChangeType>;\n\nexport interface SelectedColumnChangeColumnAdded {\n type: Extract<SelectedColumnChangeType, \"column-added\">;\n column: ColumnDescriptor;\n}\nexport interface SelectedColumnChangeCalculatedColumnAdded {\n type: Extract<SelectedColumnChangeType, \"calculated-column-added\">;\n column: ColumnDescriptor;\n}\nexport interface SelectedColumnChangeColumnUpdated {\n type: Extract<SelectedColumnChangeType, \"column-updated\">;\n column: ColumnDescriptor;\n}\n\nexport interface SelectedColumnChangeColumnRemoved {\n type: Extract<SelectedColumnChangeType, \"column-removed\">;\n column: ColumnDescriptor;\n}\n\nexport interface SelectedColumnChangeColumnsReordered {\n type: Extract<SelectedColumnChangeType, \"columns-reordered\">;\n}\n\nexport type SelectedColumnChangeDescriptor =\n | SelectedColumnChangeCalculatedColumnAdded\n | SelectedColumnChangeColumnAdded\n | SelectedColumnChangeColumnRemoved\n | SelectedColumnChangeColumnUpdated\n | SelectedColumnChangeColumnsReordered;\n\nexport const isColumnAdded = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnAdded =>\n change?.type === SelectedColumnChangeType.ColumnAdded;\nexport const isColumnRemoved = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnRemoved =>\n change?.type === SelectedColumnChangeType.ColumnRemoved;\nexport const isColumnUpdated = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnUpdated =>\n change?.type === SelectedColumnChangeType.ColumnUpdated;\nexport const isColumnsReordered = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnsReordered =>\n change?.type === SelectedColumnChangeType.ColumnsReordered;\n\nexport type ColumnsChangeHandler = (\n columns: readonly ColumnDescriptor[],\n changeSource: ColumnChangeSource,\n changeDescriptor?: SelectedColumnChangeDescriptor,\n) => void;\nexport type ColumnEvents = {\n change: ColumnsChangeHandler;\n render: (o: object) => void;\n};\n\nconst byColumnName = (\n { name: n1, label: l1 = n1 }: ColumnDescriptor,\n { name: n2, label: l2 = n2 }: ColumnDescriptor,\n) => (l1 > l2 ? 1 : l2 > l1 ? -1 : 0);\n\nconst filterColumns = (\n columns: readonly ColumnDescriptor[],\n pattern: string,\n) => {\n if (pattern) {\n const lowerCasePattern = pattern.toLowerCase();\n return columns.filter(\n ({ name, label = name }) =>\n label.toLowerCase().indexOf(lowerCasePattern) !== -1,\n );\n } else {\n return columns;\n }\n};\n\nexport class ColumnModel extends EventEmitter<ColumnEvents> {\n #searchPattern = \"\";\n #selectedColumns: readonly ColumnDescriptor[];\n constructor(\n /**\n * All available columns, including selected columns.\n */\n public allColumns: readonly ColumnDescriptor[],\n /**\n * Columns already selected and rendered in Table.\n */\n selectedColumns: readonly ColumnDescriptor[],\n ) {\n super();\n this.#selectedColumns = selectedColumns;\n }\n\n get availableColumns(): ColumnDescriptor[] {\n return filterColumns(this.allColumns, this.#searchPattern)\n .filter(\n ({ name }) =>\n this.#selectedColumns.findIndex((c) => c.name === name) === -1,\n )\n .toSorted(byColumnName);\n }\n\n set searchPattern(pattern: string) {\n const searchPattern = pattern;\n if (searchPattern !== this.#searchPattern) {\n this.#searchPattern = searchPattern;\n this.emit(\"render\", {});\n }\n }\n\n get searchPattern() {\n return this.#searchPattern ?? \"\";\n }\n\n get selectedColumns() {\n return filterColumns(this.#selectedColumns, this.#searchPattern);\n }\n setSelectedColumns(\n selectedColumns: ColumnDescriptor[],\n source: ColumnChangeSource,\n changeDescriptor?: SelectedColumnChangeDescriptor,\n ) {\n this.#selectedColumns = selectedColumns;\n this.notifyListeners(selectedColumns, source, changeDescriptor);\n }\n\n getColumn(name: string) {\n const col = this.#selectedColumns.find((col) => col.name === name);\n if (col) {\n return col;\n }\n throw Error(`[ColumnModel] columns does not contain column ${name}`);\n }\n\n addItemToSelectedColumns(name: string, source: ColumnChangeSource) {\n const column = this.allColumns.find((col) => col.name === name);\n if (column) {\n this.#selectedColumns = this.#selectedColumns.concat(column);\n this.notifyListeners(this.#selectedColumns, source, {\n type: SelectedColumnChangeType.ColumnAdded,\n column,\n });\n } else {\n throw Error(\n `[ColumnModel] addItemToSelectedColumns, column '${name}' not found`,\n );\n }\n }\n removeItemFromSelectedColumns(name: string, source: ColumnChangeSource) {\n const column = this.#selectedColumns.find((col) => col.name === name);\n if (column) {\n const index = this.#selectedColumns.indexOf(column);\n this.#selectedColumns = this.#selectedColumns.toSpliced(index, 1);\n this.notifyListeners(this.#selectedColumns, source, {\n type: SelectedColumnChangeType.ColumnRemoved,\n column,\n });\n } else {\n throw Error(\n `[ColumnModel] removeItemFromSelectedColumns, column '${name}' not found`,\n );\n }\n }\n\n reorderSelectedColumns(\n orderedColumnNames: string[],\n source: ColumnChangeSource,\n ) {\n this.setSelectedColumns(\n reorderColumnItems(this.#selectedColumns, orderedColumnNames),\n source,\n { type: SelectedColumnChangeType.ColumnsReordered },\n );\n }\n\n updateColumn(\n currentColumn: ColumnDescriptor,\n newColumn: ColumnDescriptor,\n ): void;\n updateColumn(column: ColumnDescriptor): void;\n updateColumn(column: ColumnDescriptor, newColumn: ColumnDescriptor = column) {\n const allIndex = this.allColumns.findIndex(\n (col) => col.name === column.name,\n );\n const selectedIndex = this.#selectedColumns.findIndex(\n (col) => col.name === column.name,\n );\n\n if (selectedIndex !== -1) {\n if (allIndex === -1) {\n throw Error(\n `[ColumnModel] updateColumn, selected column not in allColumns collection`,\n );\n }\n\n this.#selectedColumns = this.#selectedColumns.toSpliced(\n selectedIndex,\n 1,\n newColumn,\n );\n this.allColumns = this.allColumns.toSpliced(allIndex, 1, newColumn);\n\n this.notifyListeners(this.#selectedColumns, \"column-settings\", {\n type: SelectedColumnChangeType.ColumnUpdated,\n column,\n });\n } else {\n throw Error(\n `[ColumnModel] updateColumn, column ${column.name} not found`,\n );\n }\n }\n\n /**\n * Used when adding a calculated column\n *\n * @param column\n *\n * @param addToSelectedColumns\n */\n addColumn(column: ColumnDescriptor, addToSelectedColumns = false) {\n console.log(`[ColumnModel] add column ${JSON.stringify(column)}`);\n if (addToSelectedColumns) {\n console.log(`add it to selected coliumns`);\n }\n\n this.allColumns = this.allColumns.concat(column);\n this.#selectedColumns = this.#selectedColumns.concat(column);\n\n this.notifyListeners(this.#selectedColumns, \"column-picker\", {\n type: SelectedColumnChangeType.CalculatedColumnAdded,\n column,\n });\n }\n\n private notifyListeners: ColumnsChangeHandler = (\n columns,\n source,\n changeType,\n ) => {\n this.emit(\"change\", columns, source, changeType);\n this.emit(\"render\", {});\n };\n}\n"],"names":["col"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- var columnPickerCss = ".vuuColumnPicker {\n\n --label-margin-left: 0px;\n\n --columnpicker-background: var(--vuuColumnPicker-background, var(--salt-container-primary-background));\n background: var(--columnpicker-background);\n container-type: inline-size;\n display: flex; \n flex-direction: column;\n gap: var(--salt-spacing-300);\n height: var(--vuuColumnPicker-height, 100%);\n overflow: hidden;\n padding: var(--salt-spacing-300) 0;\n\n &.vuuColumnPicker-withCalculated {\n --label-margin-left: 8px;\n }\n\n .saltListBox {\n background-color: inherit;\n }\n\n .saltOption {\n align-items: center;\n background-color: inherit;\n border-bottom: var(--vuuColumnListItem-border, solid) 1px\n var(--salt-separable-tertiary-borderColor);\n gap: var(--salt-spacing-200);\n height: calc(var(--salt-size-base) + var(--salt-spacing-200));\n .vuuIcon {\n --vuu-icon-color: var(--salt-content-secondary-foreground);\n }\n\n .vuuCalculatedColumnIcon {\n --vuu-icon-color: var(--salt-content-secondary-foreground);\n left: 32px;\n position: absolute;\n top: 8px;\n }\n\n .vuuHighlight {\n color: var(--vuu-color-blue-40);\n text-decoration: underline;\n }\n\n .vuuColumnPicker-text {\n margin-left: var(--label-margin-left);\n }\n\n }\n\n .vuuColumnPickerListItem-action {\n margin-left: auto;\n visibility: hidden;\n }\n\n .saltOption:hover {\n .vuuColumnPickerListItem-action {\n visibility: visible;\n }\n }\n\n .vuuColumnPicker-search {\n --saltInput-paddingLeft: var(--salt-spacing-300);\n padding: var(--salt-spacing-200) var(--salt-spacing-300) 0 var(--salt-spacing-300);\n }\n\n .vuuColumnPicker-scrollContainer {\n\n flex: 1 1 0px;\n overflow: auto;\n\n\n .vuuColumnPicker-sectionHeader {\n align-items: center;\n background: var(--columnpicker-background);\n display: flex;\n height: 32px;\n padding: 0 var(--salt-spacing-300);\n position: sticky;\n top:0;\n z-index: 1;\n }\n\n .vuuColumnPicker-availableHeader {\n top: 32px;\n }\n\n\n .vuuColumnPicker-availableList {\n .saltOption {\n padding-left: var(--salt-spacing-300);\n }\n }\n\n }\n\n}";
2
-
3
- export { columnPickerCss as default };
4
- //# sourceMappingURL=ColumnPicker.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColumnPicker.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,249 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { useComponentCssInjection } from '@salt-ds/styles';
3
- import { useWindow } from '@salt-ds/window';
4
- import { isCalculatedColumn, DragDropProvider, getColumnLabel, useSortable } from '@vuu-ui/vuu-utils';
5
- import cx from 'clsx';
6
- import { forwardRef, useCallback, useRef, useMemo } from 'react';
7
- import { Input, ListBox, Button, Option } from '@salt-ds/core';
8
- import { applyHighlighting } from '@vuu-ui/vuu-table';
9
- import { IconButton, Icon } from '@vuu-ui/vuu-ui-controls';
10
- import { ColumnChangeSource } from './ColumnModel.js';
11
- import { useColumnPicker } from './useColumnPicker.js';
12
- import columnPickerCss from './ColumnPicker.css.js';
13
-
14
- const classBase = "vuuColumnPicker";
15
- const classBaseListItem = "vuuColumnPickerListItem";
16
- const searchIcon = /* @__PURE__ */ jsx("span", { "data-icon": "search" });
17
- const NO_SELECTION = [];
18
- const useSorting = (id, index) => {
19
- const { handleRef: sortableHandleRef, ref: sortableRef } = useSortable({
20
- id,
21
- index
22
- });
23
- const [handleRef, ref] = useMemo(() => {
24
- return [sortableHandleRef, sortableRef];
25
- }, [sortableHandleRef, sortableRef]);
26
- return {
27
- handleRef,
28
- ref
29
- };
30
- };
31
- const SelectedColumnListItem = ({
32
- className: classNameProp,
33
- index,
34
- column,
35
- onRemove,
36
- searchPattern = "",
37
- ...optionProps
38
- }) => {
39
- const { handleRef, ref } = useSorting(column.name, index);
40
- const value = getColumnLabel(column);
41
- const valueWithHighlighting = applyHighlighting(value, searchPattern);
42
- const handleRemoveButtonClick = useCallback(
43
- (e) => {
44
- e.stopPropagation();
45
- onRemove?.(e);
46
- },
47
- [onRemove]
48
- );
49
- return /* @__PURE__ */ jsxs(
50
- Option,
51
- {
52
- ...optionProps,
53
- className: cx(classNameProp, classBaseListItem),
54
- "data-name": column.name,
55
- ref,
56
- children: [
57
- /* @__PURE__ */ jsx(
58
- IconButton,
59
- {
60
- "data-embedded": true,
61
- appearance: "transparent",
62
- icon: "draggable",
63
- ref: handleRef,
64
- size: 16
65
- }
66
- ),
67
- isCalculatedColumn(column.name) ? /* @__PURE__ */ jsx(Icon, { className: "vuuCalculatedColumnIcon", name: "function" }) : null,
68
- /* @__PURE__ */ jsx("span", { className: `${classBase}-text`, children: valueWithHighlighting }),
69
- /* @__PURE__ */ jsx(
70
- IconButton,
71
- {
72
- className: `${classBaseListItem}-action`,
73
- "data-embedded": true,
74
- appearance: "transparent",
75
- icon: "cross",
76
- onClick: handleRemoveButtonClick,
77
- size: 16
78
- }
79
- )
80
- ]
81
- }
82
- );
83
- };
84
- const AvailableColumnListItem = ({
85
- className: classNameProp,
86
- index,
87
- column: item,
88
- onAdd,
89
- searchPattern = "",
90
- ...optionProps
91
- }) => {
92
- const value = getColumnLabel(item);
93
- const valueWithHighlighting = applyHighlighting(value, searchPattern);
94
- return /* @__PURE__ */ jsxs(
95
- Option,
96
- {
97
- ...optionProps,
98
- className: cx(classNameProp, classBaseListItem),
99
- "data-name": item.name,
100
- children: [
101
- /* @__PURE__ */ jsx("span", { className: `${classBase}-text`, children: valueWithHighlighting }),
102
- /* @__PURE__ */ jsx(
103
- IconButton,
104
- {
105
- className: `${classBaseListItem}-action`,
106
- "data-embedded": true,
107
- appearance: "transparent",
108
- icon: "plus",
109
- onClick: onAdd,
110
- size: 16
111
- }
112
- )
113
- ]
114
- }
115
- );
116
- };
117
- const ColumnPicker = forwardRef(function ColumnPicker2({
118
- allowCreateCalculatedColumn,
119
- columnModel,
120
- className,
121
- onClickCreateCalculatedColumn,
122
- onSelectionChange,
123
- selected = NO_SELECTION,
124
- ...htmlAttributes
125
- }, forwardedRef) {
126
- const targetWindow = useWindow();
127
- useComponentCssInjection({
128
- testId: "vuu-column-picker",
129
- css: columnPickerCss,
130
- window: targetWindow
131
- });
132
- const searchCallbackRef = useCallback((el) => {
133
- setTimeout(() => {
134
- el?.querySelector("input")?.focus();
135
- }, 100);
136
- }, []);
137
- const {
138
- availableColumns,
139
- onAddItemToSelectedList,
140
- onChangeSearchInput,
141
- onRemoveItemFromSelectedList,
142
- searchText,
143
- selectedColumns
144
- } = useColumnPicker({
145
- columnModel
146
- });
147
- const listRef = useRef(null);
148
- const getOptionName = (option) => {
149
- if (option) {
150
- const { name } = option.dataset;
151
- if (name) {
152
- return name;
153
- }
154
- }
155
- throw Error("[ColumnPicker] list option has no data-name");
156
- };
157
- const handleDragEnd = useCallback(() => {
158
- setTimeout(() => {
159
- const listItems = listRef.current?.querySelectorAll(".saltOption");
160
- if (listItems) {
161
- const orderedColumnNames = Array.from(listItems).map(getOptionName);
162
- columnModel.reorderSelectedColumns(
163
- orderedColumnNames,
164
- ColumnChangeSource.ColumnPicker
165
- );
166
- }
167
- }, 300);
168
- }, [columnModel]);
169
- const oneOrMoreColumnsIsCalculated = selectedColumns.some(
170
- (column) => isCalculatedColumn(column.name)
171
- );
172
- return /* @__PURE__ */ jsxs(
173
- "div",
174
- {
175
- ...htmlAttributes,
176
- className: cx(classBase, className, {
177
- [`${classBase}-withCalculated`]: oneOrMoreColumnsIsCalculated
178
- }),
179
- ref: forwardedRef,
180
- children: [
181
- /* @__PURE__ */ jsx("form", { className: `${classBase}-search`, role: "search", children: /* @__PURE__ */ jsx(
182
- Input,
183
- {
184
- startAdornment: searchIcon,
185
- placeholder: "Find column",
186
- ref: searchCallbackRef,
187
- value: searchText,
188
- onChange: onChangeSearchInput
189
- }
190
- ) }),
191
- /* @__PURE__ */ jsxs("div", { className: `${classBase}-scrollContainer vuuScrollable`, children: [
192
- /* @__PURE__ */ jsx("div", { className: `${classBase}-sectionHeader`, children: "Columns in view" }),
193
- /* @__PURE__ */ jsx(DragDropProvider, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsx(
194
- ListBox,
195
- {
196
- className: `${classBase}-selectedList`,
197
- onSelectionChange,
198
- ref: listRef,
199
- selected,
200
- children: selectedColumns.map((column, index) => /* @__PURE__ */ jsx(
201
- SelectedColumnListItem,
202
- {
203
- column,
204
- index,
205
- onRemove: onRemoveItemFromSelectedList,
206
- searchPattern: searchText.toLowerCase(),
207
- value: column
208
- },
209
- column.name
210
- ))
211
- }
212
- ) }),
213
- /* @__PURE__ */ jsx(
214
- "div",
215
- {
216
- className: cx(
217
- `${classBase}-sectionHeader`,
218
- `${classBase}-availableHeader`
219
- ),
220
- children: "Available columns"
221
- }
222
- ),
223
- /* @__PURE__ */ jsx(
224
- ListBox,
225
- {
226
- className: `${classBase}-availableList`,
227
- selected: NO_SELECTION,
228
- children: availableColumns.map((column, index) => /* @__PURE__ */ jsx(
229
- AvailableColumnListItem,
230
- {
231
- column,
232
- index,
233
- onAdd: onAddItemToSelectedList,
234
- searchPattern: searchText.toLowerCase(),
235
- value: column
236
- },
237
- column.name
238
- ))
239
- }
240
- )
241
- ] }),
242
- allowCreateCalculatedColumn ? /* @__PURE__ */ jsx("div", { className: `${classBase}-column-buttons`, children: /* @__PURE__ */ jsx(Button, { onClick: onClickCreateCalculatedColumn, children: "Create calculated column" }) }) : null
243
- ]
244
- }
245
- );
246
- });
247
-
248
- export { ColumnPicker, classBaseListItem };
249
- //# sourceMappingURL=ColumnPicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColumnPicker.js","sources":["../../../../packages/vuu-table-extras/src/column-picker/ColumnPicker.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport {\n DragDropProvider,\n getColumnLabel,\n isCalculatedColumn,\n useSortable,\n} from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n MouseEventHandler,\n RefCallback,\n useCallback,\n useMemo,\n useRef,\n} from \"react\";\n\nimport {\n Button,\n Input,\n ListBox,\n ListBoxProps,\n Option,\n OptionProps,\n} from \"@salt-ds/core\";\nimport { applyHighlighting } from \"@vuu-ui/vuu-table\";\nimport { Icon, IconButton } from \"@vuu-ui/vuu-ui-controls\";\nimport { ColumnChangeSource } from \"./ColumnModel\";\nimport { ColumnPickerHookProps, useColumnPicker } from \"./useColumnPicker\";\n\nimport columnPickerCss from \"./ColumnPicker.css\";\n\nconst classBase = \"vuuColumnPicker\";\nexport const classBaseListItem = \"vuuColumnPickerListItem\";\n\nexport interface ColumnPickerProps\n extends ColumnPickerHookProps,\n Pick<ListBoxProps<ColumnDescriptor>, \"selected\" | \"onSelectionChange\">,\n HTMLAttributes<HTMLDivElement> {\n allowCreateCalculatedColumn?: boolean;\n onClickCreateCalculatedColumn?: MouseEventHandler<HTMLButtonElement>;\n}\n\nconst searchIcon = <span data-icon=\"search\" />;\nconst NO_SELECTION: ColumnDescriptor[] = [] as const;\n\nconst useSorting = (id: string, index: number) => {\n const { handleRef: sortableHandleRef, ref: sortableRef } = useSortable({\n id,\n index,\n });\n\n const [handleRef, ref] = useMemo(() => {\n return [sortableHandleRef, sortableRef];\n }, [sortableHandleRef, sortableRef]);\n\n return {\n handleRef,\n ref,\n };\n};\n\nconst SelectedColumnListItem = ({\n className: classNameProp,\n index,\n column,\n onRemove,\n searchPattern = \"\",\n ...optionProps\n}: OptionProps & {\n index: number;\n column: ColumnDescriptor;\n onRemove: MouseEventHandler<HTMLButtonElement>;\n searchPattern?: Lowercase<string>;\n}) => {\n const { handleRef, ref } = useSorting(column.name, index);\n const value = getColumnLabel(column as ColumnDescriptor);\n const valueWithHighlighting = applyHighlighting(value, searchPattern);\n\n const handleRemoveButtonClick = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => {\n e.stopPropagation();\n onRemove?.(e);\n },\n [onRemove],\n );\n\n return (\n <Option\n {...optionProps}\n className={cx(classNameProp, classBaseListItem)}\n data-name={column.name}\n ref={ref}\n >\n <IconButton\n data-embedded\n appearance=\"transparent\"\n icon=\"draggable\"\n ref={handleRef}\n size={16}\n />\n {isCalculatedColumn(column.name) ? (\n <Icon className=\"vuuCalculatedColumnIcon\" name=\"function\" />\n ) : null}\n <span className={`${classBase}-text`}>{valueWithHighlighting}</span>\n <IconButton\n className={`${classBaseListItem}-action`}\n data-embedded\n appearance=\"transparent\"\n icon=\"cross\"\n onClick={handleRemoveButtonClick}\n size={16}\n />\n </Option>\n );\n};\n\nconst AvailableColumnListItem = ({\n className: classNameProp,\n index,\n column: item,\n onAdd,\n searchPattern = \"\",\n ...optionProps\n}: OptionProps & {\n index: number;\n column: ColumnDescriptor;\n onAdd: MouseEventHandler<HTMLButtonElement>;\n searchPattern?: Lowercase<string>;\n}) => {\n const value = getColumnLabel(item as ColumnDescriptor);\n const valueWithHighlighting = applyHighlighting(value, searchPattern);\n\n return (\n <Option\n {...optionProps}\n className={cx(classNameProp, classBaseListItem)}\n data-name={item.name}\n >\n <span className={`${classBase}-text`}>{valueWithHighlighting}</span>\n <IconButton\n className={`${classBaseListItem}-action`}\n data-embedded\n appearance=\"transparent\"\n icon=\"plus\"\n onClick={onAdd}\n size={16}\n />\n </Option>\n );\n};\n\nexport const ColumnPicker = forwardRef(function ColumnPicker(\n {\n allowCreateCalculatedColumn,\n columnModel,\n className,\n onClickCreateCalculatedColumn,\n onSelectionChange,\n selected = NO_SELECTION,\n ...htmlAttributes\n }: ColumnPickerProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-picker\",\n css: columnPickerCss,\n window: targetWindow,\n });\n\n const searchCallbackRef = useCallback<RefCallback<HTMLElement>>((el) => {\n setTimeout(() => {\n el?.querySelector(\"input\")?.focus();\n }, 100);\n }, []);\n\n const {\n availableColumns,\n onAddItemToSelectedList,\n onChangeSearchInput,\n onRemoveItemFromSelectedList,\n searchText,\n selectedColumns,\n } = useColumnPicker({\n columnModel: columnModel,\n });\n const listRef = useRef<HTMLDivElement>(null);\n\n const getOptionName = (option?: HTMLElement) => {\n if (option) {\n const { name } = option.dataset;\n if (name) {\n return name;\n }\n }\n throw Error(\"[ColumnPicker] list option has no data-name\");\n };\n\n const handleDragEnd = useCallback(() => {\n setTimeout(() => {\n const listItems =\n listRef.current?.querySelectorAll<HTMLDivElement>(\".saltOption\");\n if (listItems) {\n const orderedColumnNames = Array.from(listItems).map(getOptionName);\n columnModel.reorderSelectedColumns(\n orderedColumnNames,\n ColumnChangeSource.ColumnPicker,\n );\n }\n }, 300);\n }, [columnModel]);\n\n const oneOrMoreColumnsIsCalculated = selectedColumns.some((column) =>\n isCalculatedColumn(column.name),\n );\n return (\n <div\n {...htmlAttributes}\n className={cx(classBase, className, {\n [`${classBase}-withCalculated`]: oneOrMoreColumnsIsCalculated,\n })}\n ref={forwardedRef}\n >\n <form className={`${classBase}-search`} role=\"search\">\n <Input\n startAdornment={searchIcon}\n placeholder=\"Find column\"\n ref={searchCallbackRef}\n value={searchText}\n onChange={onChangeSearchInput}\n />\n </form>\n\n <div className={`${classBase}-scrollContainer vuuScrollable`}>\n <div className={`${classBase}-sectionHeader`}>Columns in view</div>\n <DragDropProvider onDragEnd={handleDragEnd}>\n <ListBox\n className={`${classBase}-selectedList`}\n onSelectionChange={onSelectionChange}\n ref={listRef}\n selected={selected}\n >\n {selectedColumns.map((column, index) => (\n <SelectedColumnListItem\n column={column}\n index={index}\n key={column.name}\n onRemove={onRemoveItemFromSelectedList}\n searchPattern={searchText.toLowerCase() as Lowercase<string>}\n value={column}\n />\n ))}\n </ListBox>\n </DragDropProvider>\n\n <div\n className={cx(\n `${classBase}-sectionHeader`,\n `${classBase}-availableHeader`,\n )}\n >\n Available columns\n </div>\n <ListBox\n className={`${classBase}-availableList`}\n selected={NO_SELECTION}\n >\n {availableColumns.map((column, index) => (\n <AvailableColumnListItem\n column={column}\n index={index}\n key={column.name}\n onAdd={onAddItemToSelectedList}\n searchPattern={searchText.toLowerCase() as Lowercase<string>}\n value={column}\n />\n ))}\n </ListBox>\n </div>\n {allowCreateCalculatedColumn ? (\n <div className={`${classBase}-column-buttons`}>\n <Button onClick={onClickCreateCalculatedColumn}>\n Create calculated column\n </Button>\n </div>\n ) : null}\n </div>\n );\n});\n"],"names":["ColumnPicker"],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { IconButton } from '@vuu-ui/vuu-ui-controls';
3
- import { useCallback } from 'react';
4
- import { useTableColumnPicker } from './useTableColumnPicker.js';
5
-
6
- const ColumnPickerAction = ({
7
- appearance = "transparent",
8
- columnModel,
9
- icon = "settings",
10
- sentiment = "neutral",
11
- ...IconButtonProps2
12
- }) => {
13
- const { showColumnPicker } = useTableColumnPicker({ columnModel });
14
- const handleClick = useCallback(() => {
15
- showColumnPicker();
16
- }, [showColumnPicker]);
17
- return /* @__PURE__ */ jsx(
18
- IconButton,
19
- {
20
- ...IconButtonProps2,
21
- appearance,
22
- "data-action": "table-settings",
23
- icon,
24
- onClick: handleClick,
25
- sentiment,
26
- size: 20
27
- }
28
- );
29
- };
30
-
31
- export { ColumnPickerAction };
32
- //# sourceMappingURL=ColumnPickerAction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColumnPickerAction.js","sources":["../../../../packages/vuu-table-extras/src/column-picker/ColumnPickerAction.tsx"],"sourcesContent":["import { IconButton, IconButtonProps } from \"@vuu-ui/vuu-ui-controls\";\nimport { ColumnPickerHookProps } from \"./useColumnPicker\";\nimport { useCallback } from \"react\";\nimport { useTableColumnPicker } from \"./useTableColumnPicker\";\n\nexport interface ColumnPickerActionProps\n extends Partial<IconButtonProps>,\n ColumnPickerHookProps {}\n\nexport const ColumnPickerAction = ({\n appearance = \"transparent\",\n columnModel,\n icon = \"settings\",\n sentiment = \"neutral\",\n ...IconButtonProps\n}: ColumnPickerActionProps) => {\n const { showColumnPicker } = useTableColumnPicker({ columnModel });\n\n const handleClick = useCallback(() => {\n showColumnPicker();\n }, [showColumnPicker]);\n\n return (\n <IconButton\n {...IconButtonProps}\n appearance={appearance}\n data-action=\"table-settings\"\n icon={icon}\n onClick={handleClick}\n sentiment={sentiment}\n size={20}\n />\n );\n};\n"],"names":["IconButtonProps"],"mappings":";;;;;AASO,MAAM,qBAAqB,CAAC;AAAA,EACjC,UAAa,GAAA,aAAA;AAAA,EACb,WAAA;AAAA,EACA,IAAO,GAAA,UAAA;AAAA,EACP,SAAY,GAAA,SAAA;AAAA,EACZ,GAAGA;AACL,CAA+B,KAAA;AAC7B,EAAA,MAAM,EAAE,gBAAiB,EAAA,GAAI,oBAAqB,CAAA,EAAE,aAAa,CAAA;AAEjE,EAAM,MAAA,WAAA,GAAc,YAAY,MAAM;AACpC,IAAiB,gBAAA,EAAA;AAAA,GACnB,EAAG,CAAC,gBAAgB,CAAC,CAAA;AAErB,EACE,uBAAA,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACE,GAAGA,gBAAAA;AAAA,MACJ,UAAA;AAAA,MACA,aAAY,EAAA,gBAAA;AAAA,MACZ,IAAA;AAAA,MACA,OAAS,EAAA,WAAA;AAAA,MACT,SAAA;AAAA,MACA,IAAM,EAAA;AAAA;AAAA,GACR;AAEJ;;;;"}
@@ -1,53 +0,0 @@
1
- import { queryClosest } from '@vuu-ui/vuu-utils';
2
- import { useState, useEffect, useCallback } from 'react';
3
- import { ColumnChangeSource } from './ColumnModel.js';
4
-
5
- const SOURCE = ColumnChangeSource.ColumnPicker;
6
- const columnName = (target) => {
7
- const listItem = queryClosest(target, ".saltOption", true);
8
- const { name } = listItem.dataset;
9
- if (name) {
10
- return name;
11
- } else {
12
- throw Error(
13
- "[useColumnPicker] column name could not be identified, data-name attribute not found"
14
- );
15
- }
16
- };
17
- const useColumnPicker = ({
18
- columnModel: model
19
- }) => {
20
- const [, forceRender] = useState({});
21
- useEffect(() => {
22
- model.on("render", forceRender);
23
- return () => {
24
- model.removeListener("render", forceRender);
25
- };
26
- }, [model]);
27
- const handleChangeSearchInput = useCallback(
28
- (evt) => {
29
- const { value } = evt.target;
30
- model.searchPattern = value;
31
- },
32
- [model]
33
- );
34
- const handleAddItemToSelectedList = useCallback(
35
- (e) => model.addItemToSelectedColumns(columnName(e.target), SOURCE),
36
- [model]
37
- );
38
- const handleRemoveItemFromSelectedList = useCallback(
39
- (e) => model.removeItemFromSelectedColumns(columnName(e.target), SOURCE),
40
- [model]
41
- );
42
- return {
43
- availableColumns: model.availableColumns,
44
- onAddItemToSelectedList: handleAddItemToSelectedList,
45
- onRemoveItemFromSelectedList: handleRemoveItemFromSelectedList,
46
- onChangeSearchInput: handleChangeSearchInput,
47
- searchText: model.searchPattern,
48
- selectedColumns: model.selectedColumns
49
- };
50
- };
51
-
52
- export { useColumnPicker };
53
- //# sourceMappingURL=useColumnPicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumnPicker.js","sources":["../../../../packages/vuu-table-extras/src/column-picker/useColumnPicker.tsx"],"sourcesContent":["import { ColumnDescriptor, TableSelectionModel } from \"@vuu-ui/vuu-table-types\";\nimport { queryClosest } from \"@vuu-ui/vuu-utils\";\nimport {\n FormEventHandler,\n MouseEventHandler,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport {\n ColumnChangeSource,\n ColumnModel,\n SelectedColumnChangeType,\n} from \"./ColumnModel\";\n\nexport type ColumnSelectionModel = Extract<\n TableSelectionModel,\n \"none\" | \"single\"\n>;\n\nconst SOURCE = ColumnChangeSource.ColumnPicker;\n\nconst columnName = (target: EventTarget) => {\n const listItem = queryClosest(target, \".saltOption\", true);\n const { name } = listItem.dataset;\n if (name) {\n return name;\n } else {\n throw Error(\n \"[useColumnPicker] column name could not be identified, data-name attribute not found\",\n );\n }\n};\nexport type SelectedColumnsChangeHandler = (\n columns: ColumnDescriptor[],\n changeType: SelectedColumnChangeType,\n) => void;\n\nexport interface ColumnPickerHookProps {\n columnModel: ColumnModel;\n}\n\nexport const useColumnPicker = ({\n columnModel: model,\n}: ColumnPickerHookProps) => {\n const [, forceRender] = useState({});\n useEffect(() => {\n model.on(\"render\", forceRender);\n return () => {\n model.removeListener(\"render\", forceRender);\n };\n }, [model]);\n\n const handleChangeSearchInput = useCallback<FormEventHandler>(\n (evt) => {\n const { value } = evt.target as HTMLInputElement;\n model.searchPattern = value;\n },\n [model],\n );\n\n const handleAddItemToSelectedList = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => model.addItemToSelectedColumns(columnName(e.target), SOURCE),\n [model],\n );\n\n const handleRemoveItemFromSelectedList = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => model.removeItemFromSelectedColumns(columnName(e.target), SOURCE),\n [model],\n );\n\n return {\n availableColumns: model.availableColumns,\n onAddItemToSelectedList: handleAddItemToSelectedList,\n onRemoveItemFromSelectedList: handleRemoveItemFromSelectedList,\n onChangeSearchInput: handleChangeSearchInput,\n searchText: model.searchPattern,\n selectedColumns: model.selectedColumns,\n };\n};\n"],"names":[],"mappings":";;;;AAoBA,MAAM,SAAS,kBAAmB,CAAA,YAAA;AAElC,MAAM,UAAA,GAAa,CAAC,MAAwB,KAAA;AAC1C,EAAA,MAAM,QAAW,GAAA,YAAA,CAAa,MAAQ,EAAA,aAAA,EAAe,IAAI,CAAA;AACzD,EAAM,MAAA,EAAE,IAAK,EAAA,GAAI,QAAS,CAAA,OAAA;AAC1B,EAAA,IAAI,IAAM,EAAA;AACR,IAAO,OAAA,IAAA;AAAA,GACF,MAAA;AACL,IAAM,MAAA,KAAA;AAAA,MACJ;AAAA,KACF;AAAA;AAEJ,CAAA;AAUO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,WAAa,EAAA;AACf,CAA6B,KAAA;AAC3B,EAAA,MAAM,GAAG,WAAW,CAAI,GAAA,QAAA,CAAS,EAAE,CAAA;AACnC,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,KAAA,CAAA,EAAA,CAAG,UAAU,WAAW,CAAA;AAC9B,IAAA,OAAO,MAAM;AACX,MAAM,KAAA,CAAA,cAAA,CAAe,UAAU,WAAW,CAAA;AAAA,KAC5C;AAAA,GACF,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,MAAM,uBAA0B,GAAA,WAAA;AAAA,IAC9B,CAAC,GAAQ,KAAA;AACP,MAAM,MAAA,EAAE,KAAM,EAAA,GAAI,GAAI,CAAA,MAAA;AACtB,MAAA,KAAA,CAAM,aAAgB,GAAA,KAAA;AAAA,KACxB;AAAA,IACA,CAAC,KAAK;AAAA,GACR;AAEA,EAAA,MAAM,2BAA8B,GAAA,WAAA;AAAA,IAGlC,CAAC,MAAM,KAAM,CAAA,wBAAA,CAAyB,WAAW,CAAE,CAAA,MAAM,GAAG,MAAM,CAAA;AAAA,IAClE,CAAC,KAAK;AAAA,GACR;AAEA,EAAA,MAAM,gCAAmC,GAAA,WAAA;AAAA,IAGvC,CAAC,MAAM,KAAM,CAAA,6BAAA,CAA8B,WAAW,CAAE,CAAA,MAAM,GAAG,MAAM,CAAA;AAAA,IACvE,CAAC,KAAK;AAAA,GACR;AAEA,EAAO,OAAA;AAAA,IACL,kBAAkB,KAAM,CAAA,gBAAA;AAAA,IACxB,uBAAyB,EAAA,2BAAA;AAAA,IACzB,4BAA8B,EAAA,gCAAA;AAAA,IAC9B,mBAAqB,EAAA,uBAAA;AAAA,IACrB,YAAY,KAAM,CAAA,aAAA;AAAA,IAClB,iBAAiB,KAAM,CAAA;AAAA,GACzB;AACF;;;;"}
@@ -1,33 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useContextPanel, useHideContextPanel } from '@vuu-ui/vuu-ui-controls';
3
- import { useRef, useCallback, useEffect } from 'react';
4
- import { ColumnPicker } from './ColumnPicker.js';
5
-
6
- const useTableColumnPicker = ({
7
- columnModel
8
- }) => {
9
- const showContextPanel = useContextPanel();
10
- const hideContextPanel = useHideContextPanel();
11
- const contextPanelShowing = useRef(false);
12
- const showColumnPicker = useCallback(
13
- (title = "Column Picker") => {
14
- contextPanelShowing.current = true;
15
- showContextPanel(/* @__PURE__ */ jsx(ColumnPicker, { columnModel }), title);
16
- },
17
- [columnModel, showContextPanel]
18
- );
19
- useEffect(
20
- () => () => {
21
- if (contextPanelShowing.current) {
22
- hideContextPanel?.();
23
- }
24
- },
25
- [hideContextPanel]
26
- );
27
- return {
28
- showColumnPicker
29
- };
30
- };
31
-
32
- export { useTableColumnPicker };
33
- //# sourceMappingURL=useTableColumnPicker.js.map
@@ -1 +0,0 @@
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":[],"mappings":";;;;;AASO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AACF,CAAkC,KAAA;AAChC,EAAA,MAAM,mBAAmB,eAAgB,EAAA;AACzC,EAAA,MAAM,mBAAmB,mBAAoB,EAAA;AAC7C,EAAM,MAAA,mBAAA,GAAsB,OAAO,KAAK,CAAA;AAExC,EAAA,MAAM,gBAAmB,GAAA,WAAA;AAAA,IACvB,CAAC,QAAQ,eAAoB,KAAA;AAC3B,MAAA,mBAAA,CAAoB,OAAU,GAAA,IAAA;AAC9B,MAAA,gBAAA,iBAAkB,GAAA,CAAA,YAAA,EAAA,EAAa,WAA0B,EAAA,CAAA,EAAI,KAAK,CAAA;AAAA,KACpE;AAAA,IACA,CAAC,aAAa,gBAAgB;AAAA,GAChC;AAGA,EAAA,SAAA;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;;;;"}
@@ -1,4 +0,0 @@
1
- var columnNameLabelCss = ".vuuColumnNameLabel-calculated {\n cursor: pointer;\n display: flex;\n gap: 2px;\n}\n\n.vuuColumnNameLabel-edit {\n margin-left: auto;\n}\n\n.vuuColumnNameLabel-placeholder {\n color: var(--vuu-color-gray-35);\n}";
2
-
3
- export { columnNameLabelCss as default };
4
- //# sourceMappingURL=ColumnNameLabel.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColumnNameLabel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}