@vuu-ui/vuu-table-extras 2.1.19-beta.2 → 2.1.19-beta.4

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 (436) hide show
  1. package/cjs/node_modules/csv-parse/dist/esm/sync.js +3978 -0
  2. package/cjs/node_modules/csv-parse/dist/esm/sync.js.map +1 -0
  3. package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +85 -0
  4. package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +1 -0
  5. package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +71 -0
  6. package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +1 -0
  7. package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +138 -0
  8. package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +1 -0
  9. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +25 -0
  10. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +1 -0
  11. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +31 -0
  12. package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +1 -0
  13. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +6 -0
  14. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
  15. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +81 -0
  16. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
  17. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +6 -0
  18. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
  19. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +67 -0
  20. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
  21. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +6 -0
  22. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
  23. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +20 -0
  24. package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +1 -0
  25. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +6 -0
  26. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +1 -0
  27. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +40 -0
  28. package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +1 -0
  29. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +6 -0
  30. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
  31. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +103 -0
  32. package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
  33. package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +21 -0
  34. package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
  35. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +6 -0
  36. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
  37. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +62 -0
  38. package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
  39. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +6 -0
  40. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
  41. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +69 -0
  42. package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
  43. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +6 -0
  44. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
  45. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +39 -0
  46. package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +1 -0
  47. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +307 -0
  48. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +1 -0
  49. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +28 -0
  50. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
  51. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +465 -0
  52. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
  53. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +61 -0
  54. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
  55. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +21 -0
  56. package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
  57. package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +39 -0
  58. package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +1 -0
  59. package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js +16 -0
  60. package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +1 -0
  61. package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js +63 -0
  62. package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js.map +1 -0
  63. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +358 -0
  64. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +1 -0
  65. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +131 -0
  66. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +1 -0
  67. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +213 -0
  68. package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
  69. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +98 -0
  70. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
  71. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +111 -0
  72. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
  73. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +102 -0
  74. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
  75. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +6 -0
  76. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
  77. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +48 -0
  78. package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
  79. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +6 -0
  80. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +1 -0
  81. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +107 -0
  82. package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +1 -0
  83. package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +459 -0
  84. package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +1 -0
  85. package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js +68 -0
  86. package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +1 -0
  87. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js +177 -0
  88. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +1 -0
  89. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +6 -0
  90. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +1 -0
  91. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +252 -0
  92. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +1 -0
  93. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +34 -0
  94. package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +1 -0
  95. package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +55 -0
  96. package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +1 -0
  97. package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +35 -0
  98. package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +1 -0
  99. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +6 -0
  100. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +1 -0
  101. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +45 -0
  102. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +1 -0
  103. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +6 -0
  104. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +1 -0
  105. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +161 -0
  106. package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
  107. package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +203 -0
  108. package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +1 -0
  109. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +6 -0
  110. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +1 -0
  111. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +95 -0
  112. package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +1 -0
  113. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js +8 -0
  114. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +1 -0
  115. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +64 -0
  116. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +1 -0
  117. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +199 -0
  118. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +1 -0
  119. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +100 -0
  120. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +1 -0
  121. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +86 -0
  122. package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +1 -0
  123. package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +303 -0
  124. package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +1 -0
  125. package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +73 -0
  126. package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +1 -0
  127. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +6 -0
  128. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +1 -0
  129. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +76 -0
  130. package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +1 -0
  131. package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +61 -0
  132. package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +1 -0
  133. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +6 -0
  134. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +1 -0
  135. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +106 -0
  136. package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +1 -0
  137. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +6 -0
  138. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +1 -0
  139. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +55 -0
  140. package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +1 -0
  141. package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +10 -0
  142. package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +1 -0
  143. package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +68 -0
  144. package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +1 -0
  145. package/cjs/packages/vuu-table-extras/src/index.js +102 -0
  146. package/cjs/packages/vuu-table-extras/src/index.js.map +1 -0
  147. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +6 -0
  148. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
  149. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +90 -0
  150. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
  151. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +44 -0
  152. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
  153. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +49 -0
  154. package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
  155. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +6 -0
  156. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +1 -0
  157. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js +34 -0
  158. package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +1 -0
  159. package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js +61 -0
  160. package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +1 -0
  161. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +6 -0
  162. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +1 -0
  163. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +116 -0
  164. package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +1 -0
  165. package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +60 -0
  166. package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +1 -0
  167. package/esm/node_modules/csv-parse/dist/esm/sync.js +3974 -0
  168. package/esm/node_modules/csv-parse/dist/esm/sync.js.map +1 -0
  169. package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +83 -0
  170. package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +1 -0
  171. package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +69 -0
  172. package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +1 -0
  173. package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +136 -0
  174. package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +1 -0
  175. package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +23 -0
  176. package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +1 -0
  177. package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +29 -0
  178. package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +1 -0
  179. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +4 -0
  180. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
  181. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +79 -0
  182. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
  183. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +4 -0
  184. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
  185. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +65 -0
  186. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
  187. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +4 -0
  188. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
  189. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +18 -0
  190. package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +1 -0
  191. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +4 -0
  192. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +1 -0
  193. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +38 -0
  194. package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +1 -0
  195. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +4 -0
  196. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
  197. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +101 -0
  198. package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
  199. package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +19 -0
  200. package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
  201. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +4 -0
  202. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
  203. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +60 -0
  204. package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
  205. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +4 -0
  206. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
  207. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +67 -0
  208. package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
  209. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +4 -0
  210. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
  211. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +37 -0
  212. package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +1 -0
  213. package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +305 -0
  214. package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +1 -0
  215. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +26 -0
  216. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
  217. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +463 -0
  218. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
  219. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +56 -0
  220. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
  221. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +19 -0
  222. package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
  223. package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +37 -0
  224. package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +1 -0
  225. package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js +14 -0
  226. package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +1 -0
  227. package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js +61 -0
  228. package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js.map +1 -0
  229. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +356 -0
  230. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +1 -0
  231. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +129 -0
  232. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +1 -0
  233. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +211 -0
  234. package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
  235. package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +96 -0
  236. package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
  237. package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +109 -0
  238. package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
  239. package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +100 -0
  240. package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
  241. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +4 -0
  242. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
  243. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +46 -0
  244. package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
  245. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +4 -0
  246. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +1 -0
  247. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +105 -0
  248. package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +1 -0
  249. package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +451 -0
  250. package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +1 -0
  251. package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js +66 -0
  252. package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +1 -0
  253. package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js +170 -0
  254. package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +1 -0
  255. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +4 -0
  256. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +1 -0
  257. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +249 -0
  258. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +1 -0
  259. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +32 -0
  260. package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +1 -0
  261. package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +53 -0
  262. package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +1 -0
  263. package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +33 -0
  264. package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +1 -0
  265. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +4 -0
  266. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +1 -0
  267. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +43 -0
  268. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +1 -0
  269. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +4 -0
  270. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +1 -0
  271. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +159 -0
  272. package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
  273. package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +201 -0
  274. package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +1 -0
  275. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +4 -0
  276. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +1 -0
  277. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +93 -0
  278. package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +1 -0
  279. package/{src → esm/packages/vuu-table-extras/src}/csv-upload/parse/csv-constants.js +2 -0
  280. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +1 -0
  281. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +57 -0
  282. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +1 -0
  283. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +196 -0
  284. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +1 -0
  285. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +97 -0
  286. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +1 -0
  287. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +76 -0
  288. package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +1 -0
  289. package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +301 -0
  290. package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +1 -0
  291. package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +71 -0
  292. package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +1 -0
  293. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +4 -0
  294. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +1 -0
  295. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +74 -0
  296. package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +1 -0
  297. package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +59 -0
  298. package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +1 -0
  299. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +4 -0
  300. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +1 -0
  301. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +104 -0
  302. package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +1 -0
  303. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +4 -0
  304. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +1 -0
  305. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +53 -0
  306. package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +1 -0
  307. package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +8 -0
  308. package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +1 -0
  309. package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +66 -0
  310. package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +1 -0
  311. package/esm/packages/vuu-table-extras/src/index.js +43 -0
  312. package/esm/packages/vuu-table-extras/src/index.js.map +1 -0
  313. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +4 -0
  314. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
  315. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +88 -0
  316. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
  317. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +42 -0
  318. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
  319. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +47 -0
  320. package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
  321. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +4 -0
  322. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +1 -0
  323. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js +31 -0
  324. package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +1 -0
  325. package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js +56 -0
  326. package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +1 -0
  327. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +4 -0
  328. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +1 -0
  329. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +112 -0
  330. package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +1 -0
  331. package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +58 -0
  332. package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +1 -0
  333. package/package.json +18 -15
  334. package/types/cell-renderers/background-cell/BackgroundCell.d.ts +1 -1
  335. package/types/cell-renderers/dropdown-cell/DropdownCell.d.ts +1 -1
  336. package/types/cell-renderers/lookup-cell/LookupCell.d.ts +1 -1
  337. package/types/column-expression-input/column-language-parser/generated/column-parser.d.ts +1 -1
  338. package/types/column-expression-input/column-language-parser/generated/column-parser.terms.d.ts +24 -1
  339. package/types/column-expression-input/column-language-parser/test.d.mts +1 -1
  340. package/types/csv-upload/CsvUpload.d.ts +2 -2
  341. package/types/csv-upload/useCsvUpload.d.ts +3 -3
  342. package/types/freeze-control/useFreezeControl.d.ts +1 -1
  343. package/src/calculated-column/CalculatedColumnPanel.js +0 -95
  344. package/src/calculated-column/useCalculatedColumnPanel.js +0 -60
  345. package/src/calculated-column/useEditCalculatedColumn.js +0 -104
  346. package/src/cell-edit-validators/CaseValidator.js +0 -21
  347. package/src/cell-edit-validators/PatternValidator.js +0 -23
  348. package/src/cell-edit-validators/index.js +0 -2
  349. package/src/cell-renderers/background-cell/BackgroundCell.css.js +0 -103
  350. package/src/cell-renderers/background-cell/BackgroundCell.js +0 -76
  351. package/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -9
  352. package/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -71
  353. package/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -187
  354. package/src/cell-renderers/background-cell/index.js +0 -2
  355. package/src/cell-renderers/background-cell/useDirection.js +0 -25
  356. package/src/cell-renderers/button-cell/IconButtonCell.css.js +0 -23
  357. package/src/cell-renderers/button-cell/IconButtonCell.js +0 -33
  358. package/src/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -36
  359. package/src/cell-renderers/dropdown-cell/DropdownCell.js +0 -84
  360. package/src/cell-renderers/dropdown-cell/index.js +0 -1
  361. package/src/cell-renderers/index.js +0 -6
  362. package/src/cell-renderers/lookup-cell/LookupCell.js +0 -15
  363. package/src/cell-renderers/lookup-cell/index.js +0 -1
  364. package/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -31
  365. package/src/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -49
  366. package/src/cell-renderers/pct-progress-cell/index.js +0 -1
  367. package/src/cell-renderers/progress-cell/ProgressCell.css.js +0 -43
  368. package/src/cell-renderers/progress-cell/ProgressCell.js +0 -74
  369. package/src/cell-renderers/progress-cell/index.js +0 -1
  370. package/src/column-expression-input/ColumnExpressionInput.css.js +0 -94
  371. package/src/column-expression-input/ColumnExpressionInput.js +0 -28
  372. package/src/column-expression-input/column-function-descriptors.js +0 -281
  373. package/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -18
  374. package/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -381
  375. package/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -56
  376. package/src/column-expression-input/column-language-parser/index.js +0 -3
  377. package/src/column-expression-input/functionDocInfo.js +0 -24
  378. package/src/column-expression-input/highlighting.js +0 -18
  379. package/src/column-expression-input/index.js +0 -4
  380. package/src/column-expression-input/theme.js +0 -57
  381. package/src/column-expression-input/useColumnAutoComplete.js +0 -307
  382. package/src/column-expression-input/useColumnExpressionEditor.js +0 -133
  383. package/src/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -211
  384. package/src/column-formatting-settings/BaseNumericFormattingSettings.js +0 -96
  385. package/src/column-formatting-settings/ColumnFormattingPanel.js +0 -112
  386. package/src/column-formatting-settings/DateTimeFormattingSettings.js +0 -116
  387. package/src/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -11
  388. package/src/column-formatting-settings/LongTypeFormattingSettings.js +0 -54
  389. package/src/column-formatting-settings/index.js +0 -3
  390. package/src/column-menu/ColumnMenu.css.js +0 -25
  391. package/src/column-menu/ColumnMenu.js +0 -69
  392. package/src/column-menu/column-action-types.js +0 -0
  393. package/src/column-menu/column-menu-utils.js +0 -318
  394. package/src/column-menu/useColumnActions.js +0 -77
  395. package/src/column-picker/ColumnModel.js +0 -113
  396. package/src/column-picker/ColumnPicker.css.js +0 -96
  397. package/src/column-picker/ColumnPicker.js +0 -204
  398. package/src/column-picker/ColumnPickerAction.js +0 -24
  399. package/src/column-picker/useColumnPicker.js +0 -42
  400. package/src/column-picker/useTableColumnPicker.js +0 -27
  401. package/src/column-picker/useTableColumnPickerDeprecated.js +0 -87
  402. package/src/column-settings-panel/ColumnNameLabel.css.js +0 -18
  403. package/src/column-settings-panel/ColumnNameLabel.js +0 -54
  404. package/src/column-settings-panel/ColumnSettingsPanel.css.js +0 -70
  405. package/src/column-settings-panel/ColumnSettingsPanel.js +0 -173
  406. package/src/column-settings-panel/useColumnSettings.js +0 -205
  407. package/src/csv-upload/CsvUpload.css.js +0 -28
  408. package/src/csv-upload/CsvUpload.js +0 -95
  409. package/src/csv-upload/index.js +0 -7
  410. package/src/csv-upload/parse/csv-errors.js +0 -54
  411. package/src/csv-upload/parse/csv-parse.js +0 -79
  412. package/src/csv-upload/parse/csv-schema-validation.js +0 -45
  413. package/src/csv-upload/parse/csv-upload-utils.js +0 -59
  414. package/src/csv-upload/parse/index.js +0 -5
  415. package/src/csv-upload/useCsvUpload.js +0 -260
  416. package/src/csv-upload/useCsvUploadSessionPreview.js +0 -70
  417. package/src/datasource-stats/DatasourceStats.css.js +0 -56
  418. package/src/datasource-stats/DatasourceStats.js +0 -89
  419. package/src/datasource-stats/useDatasourceStats.js +0 -48
  420. package/src/freeze-control/FreezeControl.css.js +0 -108
  421. package/src/freeze-control/FreezeControl.js +0 -96
  422. package/src/freeze-control/FrozenBanner.css.js +0 -16
  423. package/src/freeze-control/FrozenBanner.js +0 -48
  424. package/src/freeze-control/freezeControlBadge.js +0 -9
  425. package/src/freeze-control/useFreezeControl.js +0 -68
  426. package/src/index.js +0 -22
  427. package/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -23
  428. package/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -99
  429. package/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -28
  430. package/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -29
  431. package/src/table-footer/TableFooter.css.js +0 -22
  432. package/src/table-footer/TableFooter.js +0 -30
  433. package/src/table-provider/TableProvider.js +0 -33
  434. package/src/table-settings-panel/TableSettingsPanel.css.js +0 -70
  435. package/src/table-settings-panel/TableSettingsPanel.js +0 -128
  436. package/src/table-settings-panel/useTableSettings.js +0 -50
@@ -0,0 +1,100 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { getTypeFormattingFromColumn, defaultPatternsByType, dateTimeLabelByType, supportedDateTimePatterns, isDatePattern, isTimePattern, fallbackDateTimePattern } from '@vuu-ui/vuu-utils';
3
+ import { FormField, FormFieldLabel, ToggleButtonGroup, ToggleButton, Dropdown, Option } from '@salt-ds/core';
4
+ import { useMemo, useState, useCallback } from 'react';
5
+
6
+ const toggleValues = ["date", "time", "both"];
7
+ function getToggleValue(pattern) {
8
+ return !pattern.time ? "date" : !pattern.date ? "time" : "both";
9
+ }
10
+ const getSelectedPattern = (pattern) => {
11
+ if (isDatePattern(pattern)) {
12
+ return [pattern];
13
+ } else if (isTimePattern(pattern)) {
14
+ return [pattern];
15
+ } else {
16
+ return void 0;
17
+ }
18
+ };
19
+ const DateTimeFormattingSettings = ({
20
+ column,
21
+ onChangeFormatting: onChange
22
+ }) => {
23
+ const formatting = getTypeFormattingFromColumn(column);
24
+ const { pattern = fallbackDateTimePattern } = formatting;
25
+ const toggleValue = useMemo(() => getToggleValue(pattern), [pattern]);
26
+ const [fallbackState, setFallbackState] = useState(
27
+ {
28
+ time: pattern.time ?? defaultPatternsByType.time,
29
+ date: pattern.date ?? defaultPatternsByType.date
30
+ }
31
+ );
32
+ const onPatternChange = useCallback(
33
+ (pattern2) => onChange({ ...formatting, pattern: pattern2 }),
34
+ [onChange, formatting]
35
+ );
36
+ const onDropdownChange = useCallback(
37
+ (dateTime) => (_, [selectedPattern]) => {
38
+ const updatedPattern = {
39
+ ...pattern ?? {},
40
+ [dateTime]: selectedPattern
41
+ };
42
+ setFallbackState((s) => ({
43
+ time: updatedPattern.time ?? s.time,
44
+ date: updatedPattern.date ?? s.date
45
+ }));
46
+ onPatternChange(updatedPattern);
47
+ },
48
+ [onPatternChange, pattern]
49
+ );
50
+ const onToggleChange = useCallback(
51
+ (evnt) => {
52
+ const value = evnt.currentTarget.value;
53
+ switch (value) {
54
+ case "time":
55
+ return onPatternChange({
56
+ [value]: pattern[value] ?? fallbackState[value]
57
+ });
58
+ case "date":
59
+ return onPatternChange({
60
+ [value]: pattern[value] ?? fallbackState[value]
61
+ });
62
+ case "both":
63
+ return onPatternChange({
64
+ time: pattern.time ?? fallbackState.time,
65
+ date: pattern.date ?? fallbackState.date
66
+ });
67
+ }
68
+ },
69
+ [onPatternChange, pattern, fallbackState]
70
+ );
71
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
72
+ /* @__PURE__ */ jsxs(FormField, { labelPlacement: "top", children: [
73
+ /* @__PURE__ */ jsx(FormFieldLabel, { children: "Display" }),
74
+ /* @__PURE__ */ jsx(
75
+ ToggleButtonGroup,
76
+ {
77
+ className: "vuuToggleButtonGroup",
78
+ onChange: onToggleChange,
79
+ value: toggleValue,
80
+ "data-variant": "primary",
81
+ children: toggleValues.map((v) => /* @__PURE__ */ jsx(ToggleButton, { value: v, children: v.toUpperCase() }, v))
82
+ }
83
+ )
84
+ ] }),
85
+ ["date", "time"].filter((v) => !!pattern[v]).map((v) => /* @__PURE__ */ jsxs(FormField, { labelPlacement: "top", children: [
86
+ /* @__PURE__ */ jsx(FormFieldLabel, { children: `${dateTimeLabelByType[v]} pattern` }),
87
+ /* @__PURE__ */ jsx(
88
+ Dropdown,
89
+ {
90
+ onSelectionChange: onDropdownChange(v),
91
+ selected: getSelectedPattern(pattern[v]),
92
+ children: supportedDateTimePatterns[v].map((pattern2, i) => /* @__PURE__ */ jsx(Option, { value: pattern2, children: pattern2 }, i))
93
+ }
94
+ )
95
+ ] }, v))
96
+ ] });
97
+ };
98
+
99
+ export { DateTimeFormattingSettings };
100
+ //# sourceMappingURL=DateTimeFormattingSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeFormattingSettings.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.tsx"],"sourcesContent":["import { FormattingSettingsProps } from \"@vuu-ui/vuu-table-types\";\nimport {\n DatePattern,\n DateTimePattern,\n TimePattern,\n dateTimeLabelByType,\n defaultPatternsByType,\n fallbackDateTimePattern,\n getTypeFormattingFromColumn,\n isDatePattern,\n isTimePattern,\n supportedDateTimePatterns,\n} from \"@vuu-ui/vuu-utils\";\nimport {\n Dropdown,\n FormField,\n FormFieldLabel,\n Option,\n ToggleButton,\n ToggleButtonGroup,\n} from \"@salt-ds/core\";\nimport React, { SyntheticEvent, useCallback, useMemo, useState } from \"react\";\n\nconst toggleValues = [\"date\", \"time\", \"both\"] as const;\ntype ToggleValue = (typeof toggleValues)[number];\n\nfunction getToggleValue(pattern: DateTimePattern): ToggleValue {\n return !pattern.time ? \"date\" : !pattern.date ? \"time\" : \"both\";\n}\n\ntype DateTime = keyof DateTimePattern;\n\nconst getSelectedPattern = (\n pattern?: DatePattern | TimePattern,\n): DatePattern[] | TimePattern[] | undefined => {\n if (isDatePattern(pattern)) {\n return [pattern] as DatePattern[];\n } else if (isTimePattern(pattern)) {\n return [pattern] as TimePattern[];\n } else {\n return undefined;\n }\n};\n\nexport const DateTimeFormattingSettings: React.FC<FormattingSettingsProps> = ({\n column,\n onChangeFormatting: onChange,\n}) => {\n const formatting = getTypeFormattingFromColumn(column);\n const { pattern = fallbackDateTimePattern } = formatting;\n const toggleValue = useMemo(() => getToggleValue(pattern), [pattern]);\n\n const [fallbackState, setFallbackState] = useState<Required<DateTimePattern>>(\n {\n time: pattern.time ?? defaultPatternsByType.time,\n date: pattern.date ?? defaultPatternsByType.date,\n },\n );\n\n const onPatternChange = useCallback(\n (pattern: DateTimePattern) => onChange({ ...formatting, pattern }),\n [onChange, formatting],\n );\n\n const onDropdownChange = useCallback<\n <T extends DateTime>(\n dateTime: T,\n ) => (\n e: SyntheticEvent,\n newSelected: Array<Required<DateTimePattern>[T]>,\n ) => void\n >(\n (dateTime) =>\n (_, [selectedPattern]) => {\n const updatedPattern = {\n ...(pattern ?? {}),\n [dateTime]: selectedPattern,\n };\n setFallbackState((s) => ({\n time: updatedPattern.time ?? s.time,\n date: updatedPattern.date ?? s.date,\n }));\n onPatternChange(updatedPattern);\n },\n [onPatternChange, pattern],\n );\n\n const onToggleChange = useCallback(\n (evnt: SyntheticEvent<HTMLButtonElement, Event>) => {\n const value = evnt.currentTarget.value as ToggleValue;\n switch (value) {\n case \"time\":\n return onPatternChange({\n [value]: pattern[value] ?? fallbackState[value],\n });\n case \"date\":\n return onPatternChange({\n [value]: pattern[value] ?? fallbackState[value],\n });\n case \"both\":\n return onPatternChange({\n time: pattern.time ?? fallbackState.time,\n date: pattern.date ?? fallbackState.date,\n });\n }\n },\n [onPatternChange, pattern, fallbackState],\n );\n\n return (\n <>\n <FormField labelPlacement=\"top\">\n <FormFieldLabel>{\"Display\"}</FormFieldLabel>\n <ToggleButtonGroup\n className=\"vuuToggleButtonGroup\"\n onChange={onToggleChange}\n value={toggleValue}\n data-variant=\"primary\"\n >\n {toggleValues.map((v) => (\n <ToggleButton key={v} value={v}>\n {v.toUpperCase()}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n </FormField>\n\n {([\"date\", \"time\"] as const)\n .filter((v) => !!pattern[v])\n .map((v) => (\n <FormField labelPlacement=\"top\" key={v}>\n <FormFieldLabel>{`${dateTimeLabelByType[v]} pattern`}</FormFieldLabel>\n <Dropdown<Required<DateTimePattern>[typeof v]>\n onSelectionChange={onDropdownChange(v)}\n selected={getSelectedPattern(pattern[v])}\n >\n {supportedDateTimePatterns[v].map((pattern, i) => (\n <Option key={i} value={pattern}>\n {pattern}\n </Option>\n ))}\n </Dropdown>\n </FormField>\n ))}\n </>\n );\n};\n"],"names":["pattern"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var longTypeFormattingSettingsCss = ".vuuLongColumnFormattingSettings {\n display: flex;\n flex-direction: column;\n gap: var(--salt-spacing-200);\n padding-top: 6px;\n}\n";
2
+
3
+ export { longTypeFormattingSettingsCss as default };
4
+ //# sourceMappingURL=LongTypeFormattingSettings.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LongTypeFormattingSettings.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,46 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { FormField, FormFieldLabel, ToggleButtonGroup, ToggleButton } from '@salt-ds/core';
3
+ import { useComponentCssInjection } from '@salt-ds/styles';
4
+ import { useWindow } from '@salt-ds/window';
5
+ import { useCallback } from 'react';
6
+ import { BaseNumericFormattingSettings } from './BaseNumericFormattingSettings.js';
7
+ import longTypeFormattingSettingsCss from './LongTypeFormattingSettings.css.js';
8
+ import { isTypeDescriptor } from '@vuu-ui/vuu-utils';
9
+
10
+ const classBase = "vuuLongColumnFormattingSettings";
11
+ const LongTypeFormattingSettings = (props) => {
12
+ const targetWindow = useWindow();
13
+ useComponentCssInjection({
14
+ testId: "vuu-long-formatting-settings",
15
+ css: longTypeFormattingSettingsCss,
16
+ window: targetWindow
17
+ });
18
+ const { column, onChangeColumnType: onChangeType } = props;
19
+ const type = isTypeDescriptor(column.type) ? column.type.name : column.type;
20
+ const handleToggleChange = useCallback(
21
+ (event) => {
22
+ const value = event.currentTarget.value;
23
+ onChangeType(value);
24
+ },
25
+ [onChangeType]
26
+ );
27
+ return /* @__PURE__ */ jsxs("div", { className: classBase, children: [
28
+ /* @__PURE__ */ jsxs(FormField, { children: [
29
+ /* @__PURE__ */ jsx(FormFieldLabel, { children: "Type inferred as" }),
30
+ /* @__PURE__ */ jsx(
31
+ ToggleButtonGroup,
32
+ {
33
+ className: "vuuToggleButtonGroup",
34
+ onChange: handleToggleChange,
35
+ value: type ?? "number",
36
+ children: toggleValues.map((v) => /* @__PURE__ */ jsx(ToggleButton, { value: v, children: v.toUpperCase() }, v))
37
+ }
38
+ )
39
+ ] }),
40
+ /* @__PURE__ */ jsx(BaseNumericFormattingSettings, { ...props })
41
+ ] });
42
+ };
43
+ const toggleValues = ["number", "date/time"];
44
+
45
+ export { LongTypeFormattingSettings };
46
+ //# sourceMappingURL=LongTypeFormattingSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LongTypeFormattingSettings.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.tsx"],"sourcesContent":["import {\n FormField,\n FormFieldLabel,\n ToggleButton,\n ToggleButtonGroup,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { FormattingSettingsProps } from \"@vuu-ui/vuu-table-types\";\nimport React, { useCallback } from \"react\";\nimport { BaseNumericFormattingSettings } from \"./BaseNumericFormattingSettings\";\n\nimport longTypeFormattingSettingsCss from \"./LongTypeFormattingSettings.css\";\nimport { isTypeDescriptor } from \"@vuu-ui/vuu-utils\";\n\nconst classBase = \"vuuLongColumnFormattingSettings\";\n\nexport const LongTypeFormattingSettings = (props: FormattingSettingsProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-long-formatting-settings\",\n css: longTypeFormattingSettingsCss,\n window: targetWindow,\n });\n\n const { column, onChangeColumnType: onChangeType } = props;\n const type = isTypeDescriptor(column.type) ? column.type.name : column.type;\n\n const handleToggleChange = useCallback(\n (event: React.SyntheticEvent<HTMLButtonElement, Event>) => {\n const value = event.currentTarget.value as ToggleValue;\n onChangeType(value);\n },\n [onChangeType],\n );\n\n return (\n <div className={classBase}>\n <FormField>\n <FormFieldLabel>{\"Type inferred as\"}</FormFieldLabel>\n <ToggleButtonGroup\n className=\"vuuToggleButtonGroup\"\n onChange={handleToggleChange}\n value={type ?? \"number\"}\n >\n {toggleValues.map((v) => (\n <ToggleButton key={v} value={v}>\n {v.toUpperCase()}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n </FormField>\n <BaseNumericFormattingSettings {...props} />\n </div>\n );\n};\n\nconst toggleValues = [\"number\", \"date/time\"] as const;\ntype ToggleValue = (typeof toggleValues)[number];\n"],"names":[],"mappings":";;;;;;;;;AAeA,MAAM,SAAY,GAAA,iCAAA;AAEL,MAAA,0BAAA,GAA6B,CAAC,KAAmC,KAAA;AAC5E,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,8BAAA;AAAA,IACR,GAAK,EAAA,6BAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,MAAA,EAAQ,kBAAoB,EAAA,YAAA,EAAiB,GAAA,KAAA;AACrD,EAAM,MAAA,IAAA,GAAO,iBAAiB,MAAO,CAAA,IAAI,IAAI,MAAO,CAAA,IAAA,CAAK,OAAO,MAAO,CAAA,IAAA;AAEvE,EAAA,MAAM,kBAAqB,GAAA,WAAA;AAAA,IACzB,CAAC,KAA0D,KAAA;AACzD,MAAM,MAAA,KAAA,GAAQ,MAAM,aAAc,CAAA,KAAA;AAClC,MAAA,YAAA,CAAa,KAAK,CAAA;AAAA,KACpB;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EACE,uBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,SACd,EAAA,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,SACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,kBAAgB,QAAmB,EAAA,kBAAA,EAAA,CAAA;AAAA,sBACpC,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,SAAU,EAAA,sBAAA;AAAA,UACV,QAAU,EAAA,kBAAA;AAAA,UACV,OAAO,IAAQ,IAAA,QAAA;AAAA,UAEd,QAAa,EAAA,YAAA,CAAA,GAAA,CAAI,CAAC,CAAA,qBAChB,GAAA,CAAA,YAAA,EAAA,EAAqB,KAAO,EAAA,CAAA,EAC1B,QAAE,EAAA,CAAA,CAAA,WAAA,EADc,EAAA,EAAA,CAEnB,CACD;AAAA;AAAA;AACH,KACF,EAAA,CAAA;AAAA,oBACA,GAAA,CAAC,6BAA+B,EAAA,EAAA,GAAG,KAAO,EAAA;AAAA,GAC5C,EAAA,CAAA;AAEJ;AAEA,MAAM,YAAA,GAAe,CAAC,QAAA,EAAU,WAAW,CAAA;;;;"}
@@ -0,0 +1,4 @@
1
+ var columnMenuCss = ".vuuMenuItem {\n --vuu-svg-cog: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M12.9533 8.65331C12.98 8.43998 13 8.22665 13 7.99998C13 7.77331 12.98 7.55998 12.9533 7.34665L14.36 6.24665C14.4867 6.14665 14.52 5.96665 14.44 5.81998L13.1067 3.51331C13.0267 3.36665 12.8467 3.31331 12.7 3.36665L11.04 4.03331C10.6933 3.76665 10.32 3.54665 9.91333 3.37998L9.66 1.61331C9.64 1.45331 9.5 1.33331 9.33333 1.33331H6.66667C6.5 1.33331 6.36 1.45331 6.34 1.61331L6.08667 3.37998C5.68 3.54665 5.30667 3.77331 4.96 4.03331L3.3 3.36665C3.14667 3.30665 2.97333 3.36665 2.89333 3.51331L1.56 5.81998C1.47333 5.96665 1.51333 6.14665 1.64 6.24665L3.04667 7.34665C3.02 7.55998 3 7.77998 3 7.99998C3 8.21998 3.02 8.43998 3.04667 8.65331L1.64 9.75331C1.51333 9.85331 1.48 10.0333 1.56 10.18L2.89333 12.4866C2.97333 12.6333 3.15333 12.6866 3.3 12.6333L4.96 11.9666C5.30667 12.2333 5.68 12.4533 6.08667 12.62L6.34 14.3866C6.36 14.5466 6.5 14.6666 6.66667 14.6666H9.33333C9.5 14.6666 9.64 14.5466 9.66 14.3866L9.91333 12.62C10.32 12.4533 10.6933 12.2266 11.04 11.9666L12.7 12.6333C12.8533 12.6933 13.0267 12.6333 13.1067 12.4866L14.44 10.18C14.52 10.0333 14.4867 9.85331 14.36 9.75331L12.9533 8.65331V8.65331ZM8 10.3333C6.71333 10.3333 5.66667 9.28665 5.66667 7.99998C5.66667 6.71331 6.71333 5.66665 8 5.66665C9.28667 5.66665 10.3333 6.71331 10.3333 7.99998C10.3333 9.28665 9.28667 10.3333 8 10.3333Z\"/></svg>');\n}\n.vuuColumnMenu {\n --menu-button-size: calc(var(--salt-size-base) - var(--salt-spacing-100));\n --saltButton-borderRadius: 3px;\n --saltButton-padding: var(--salt-spacing-50);\n --saltButton-minWidth: var(--menu-button-size);\n --saltButton-height: var(--vuuColumnMenu-height,var(--menu-button-size));\n --saltButton-width: var(--vuuColumnMenu-width, var(--menu-button-size));\n\n --vuu-icon-height: var(--menu-button-size);\n --vuu-icon-left: 0px;\n --vuu-icon-top: 0px;\n --vuu-icon-width: var(--menu-button-size);\n\n border: none;\n flex: 0 0 var(--menu-button-size);\n margin: var(--vuuTable-columnMenu-margin, 0);\n padding: 0;\n}\n";
2
+
3
+ export { columnMenuCss as default };
4
+ //# sourceMappingURL=ColumnMenu.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnMenu.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,105 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Menu, MenuTrigger, MenuPanel } from '@salt-ds/core';
3
+ import { useComponentCssInjection } from '@salt-ds/styles';
4
+ import { useWindow } from '@salt-ds/window';
5
+ import { IconButton } from '@vuu-ui/vuu-ui-controls';
6
+ import cx from 'clsx';
7
+ import { useCallback } from 'react';
8
+ import { useTableContext } from '../table-provider/TableProvider.js';
9
+ import { getColumnMenuActionType, buildSortMenu, buildGroupMenu, buildAggregationMenuItems, buildVisibilityMenuItems, buildPinMenuItems } from './column-menu-utils.js';
10
+ import columnMenuCss from './ColumnMenu.css.js';
11
+
12
+ const classBase = "vuuColumnMenu";
13
+ const defaultColumnMenuPermissions = {
14
+ allowSort: true,
15
+ allowGroup: true,
16
+ allowAggregation: true,
17
+ allowHide: true,
18
+ allowRemove: true,
19
+ allowPin: true
20
+ };
21
+ const ColumnMenu = ({
22
+ className,
23
+ column,
24
+ menuActionHandler: menuActionHandlerProp,
25
+ menuPermissions: {
26
+ allowSort,
27
+ allowGroup,
28
+ allowAggregation,
29
+ allowHide,
30
+ allowRemove,
31
+ allowPin
32
+ } = defaultColumnMenuPermissions
33
+ }) => {
34
+ const targetWindow = useWindow();
35
+ useComponentCssInjection({
36
+ testId: "vuu-column-menu",
37
+ css: columnMenuCss,
38
+ window: targetWindow
39
+ });
40
+ const { dataSource, menuActionHandler } = useTableContext(true);
41
+ const menuActionClickHandler = useCallback(
42
+ (evt) => {
43
+ const columnMenuActionType = getColumnMenuActionType(evt.target);
44
+ if (menuActionHandlerProp?.(columnMenuActionType, column) !== true) {
45
+ return menuActionHandler(columnMenuActionType, column);
46
+ }
47
+ },
48
+ [column, menuActionHandler, menuActionHandlerProp]
49
+ );
50
+ const sortMenu = buildSortMenu(
51
+ column,
52
+ dataSource,
53
+ menuActionClickHandler,
54
+ allowSort
55
+ );
56
+ const groupMenu = buildGroupMenu(
57
+ column,
58
+ dataSource,
59
+ menuActionClickHandler,
60
+ allowGroup
61
+ );
62
+ const aggregationMenu = buildAggregationMenuItems(
63
+ column,
64
+ dataSource,
65
+ menuActionClickHandler,
66
+ allowAggregation
67
+ );
68
+ const visibilityMenuItems = buildVisibilityMenuItems(
69
+ column,
70
+ menuActionClickHandler,
71
+ allowHide,
72
+ allowRemove
73
+ );
74
+ const pinMenu = buildPinMenuItems(column, menuActionClickHandler, allowPin);
75
+ const handleClick = useCallback(
76
+ (evt) => {
77
+ evt.stopPropagation();
78
+ },
79
+ []
80
+ );
81
+ return /* @__PURE__ */ jsxs(Menu, { children: [
82
+ /* @__PURE__ */ jsx(MenuTrigger, { children: /* @__PURE__ */ jsx(
83
+ IconButton,
84
+ {
85
+ appearance: "transparent",
86
+ className: cx(classBase, className),
87
+ "data-embedded": true,
88
+ icon: "more-vert",
89
+ sentiment: "neutral",
90
+ "aria-label": "Open Column Menu",
91
+ onClick: handleClick
92
+ }
93
+ ) }),
94
+ /* @__PURE__ */ jsxs(MenuPanel, { children: [
95
+ sortMenu,
96
+ groupMenu,
97
+ aggregationMenu,
98
+ visibilityMenuItems,
99
+ pinMenu
100
+ ] })
101
+ ] });
102
+ };
103
+
104
+ export { ColumnMenu };
105
+ //# sourceMappingURL=ColumnMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnMenu.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-menu/ColumnMenu.tsx"],"sourcesContent":["import { Menu, MenuPanel, MenuTrigger } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { MenuActionHandler } from \"@vuu-ui/vuu-context-menu\";\nimport {\n ColumnDescriptor,\n ColumnMenuPermissions,\n} from \"@vuu-ui/vuu-table-types\";\nimport { IconButton } from \"@vuu-ui/vuu-ui-controls\";\nimport cx from \"clsx\";\nimport { HTMLAttributes, MouseEventHandler, useCallback } from \"react\";\nimport { useTableContext } from \"../table-provider/TableProvider\";\nimport {\n buildAggregationMenuItems,\n buildGroupMenu,\n buildPinMenuItems,\n buildSortMenu,\n buildVisibilityMenuItems,\n ColumnMenuActionType,\n getColumnMenuActionType,\n type MenuItemClickHandler,\n} from \"./column-menu-utils\";\n\nimport columnMenuCss from \"./ColumnMenu.css\";\n\nconst classBase = \"vuuColumnMenu\";\n\nconst defaultColumnMenuPermissions: Readonly<ColumnMenuPermissions> = {\n allowSort: true,\n allowGroup: true,\n allowAggregation: true,\n allowHide: true,\n allowRemove: true,\n allowPin: true,\n};\n\nexport interface ColumnMenuProps extends HTMLAttributes<HTMLSpanElement> {\n column: ColumnDescriptor;\n menuActionHandler?: MenuActionHandler<ColumnMenuActionType, ColumnDescriptor>;\n menuPermissions?: ColumnMenuPermissions;\n}\n\nexport const ColumnMenu = ({\n className,\n column,\n menuActionHandler: menuActionHandlerProp,\n menuPermissions: {\n allowSort,\n allowGroup,\n allowAggregation,\n allowHide,\n allowRemove,\n allowPin,\n } = defaultColumnMenuPermissions,\n}: ColumnMenuProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-menu\",\n css: columnMenuCss,\n window: targetWindow,\n });\n\n const { dataSource, menuActionHandler } = useTableContext(true);\n\n const menuActionClickHandler = useCallback<MenuItemClickHandler>(\n (evt) => {\n const columnMenuActionType = getColumnMenuActionType(evt.target);\n if (menuActionHandlerProp?.(columnMenuActionType, column) !== true) {\n return menuActionHandler(columnMenuActionType, column);\n }\n },\n [column, menuActionHandler, menuActionHandlerProp],\n );\n\n const sortMenu = buildSortMenu(\n column,\n dataSource,\n menuActionClickHandler,\n allowSort,\n );\n const groupMenu = buildGroupMenu(\n column,\n dataSource,\n menuActionClickHandler,\n allowGroup,\n );\n const aggregationMenu = buildAggregationMenuItems(\n column,\n dataSource,\n menuActionClickHandler,\n allowAggregation,\n );\n const visibilityMenuItems = buildVisibilityMenuItems(\n column,\n menuActionClickHandler,\n allowHide,\n allowRemove,\n );\n const pinMenu = buildPinMenuItems(column, menuActionClickHandler, allowPin);\n\n const handleClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (evt) => {\n // Prevent sort from triggering if the click were to bubble.\n evt.stopPropagation();\n },\n [],\n );\n\n return (\n <Menu>\n <MenuTrigger>\n <IconButton\n appearance=\"transparent\"\n className={cx(classBase, className)}\n data-embedded\n icon=\"more-vert\"\n sentiment=\"neutral\"\n aria-label=\"Open Column Menu\"\n onClick={handleClick}\n />\n </MenuTrigger>\n <MenuPanel>\n {sortMenu}\n {groupMenu}\n {aggregationMenu}\n {visibilityMenuItems}\n {pinMenu}\n </MenuPanel>\n </Menu>\n );\n};\n"],"names":[],"mappings":"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"}