@vuu-ui/vuu-utils 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 (350) hide show
  1. package/package.json +10 -12
  2. package/types/ThemeProvider.d.ts +4 -4
  3. package/types/data-utils.d.ts +1 -1
  4. package/types/date/date-utils.d.ts +8 -8
  5. package/types/feature-utils.d.ts +1 -1
  6. package/types/filters/filter-utils.d.ts +15 -15
  7. package/cjs/node_modules/@dnd-kit/abstract/index.js +0 -1488
  8. package/cjs/node_modules/@dnd-kit/abstract/index.js.map +0 -1
  9. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js +0 -85
  10. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
  11. package/cjs/node_modules/@dnd-kit/collision/dist/index.js +0 -91
  12. package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
  13. package/cjs/node_modules/@dnd-kit/dom/index.js +0 -1991
  14. package/cjs/node_modules/@dnd-kit/dom/index.js.map +0 -1
  15. package/cjs/node_modules/@dnd-kit/dom/sortable.js +0 -828
  16. package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
  17. package/cjs/node_modules/@dnd-kit/dom/utilities.js +0 -1389
  18. package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
  19. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +0 -310
  20. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
  21. package/cjs/node_modules/@dnd-kit/react/hooks.js +0 -134
  22. package/cjs/node_modules/@dnd-kit/react/hooks.js.map +0 -1
  23. package/cjs/node_modules/@dnd-kit/react/index.js +0 -398
  24. package/cjs/node_modules/@dnd-kit/react/index.js.map +0 -1
  25. package/cjs/node_modules/@dnd-kit/react/sortable.js +0 -177
  26. package/cjs/node_modules/@dnd-kit/react/sortable.js.map +0 -1
  27. package/cjs/node_modules/@dnd-kit/react/utilities.js +0 -19
  28. package/cjs/node_modules/@dnd-kit/react/utilities.js.map +0 -1
  29. package/cjs/node_modules/@dnd-kit/state/dist/index.js +0 -280
  30. package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
  31. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +0 -11
  32. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
  33. package/cjs/packages/vuu-utils/src/Clock.js +0 -62
  34. package/cjs/packages/vuu-utils/src/Clock.js.map +0 -1
  35. package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js +0 -80
  36. package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
  37. package/cjs/packages/vuu-utils/src/ScaledDecimal.js +0 -43
  38. package/cjs/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
  39. package/cjs/packages/vuu-utils/src/ShellContext.js +0 -13
  40. package/cjs/packages/vuu-utils/src/ShellContext.js.map +0 -1
  41. package/cjs/packages/vuu-utils/src/ThemeProvider.js +0 -85
  42. package/cjs/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
  43. package/cjs/packages/vuu-utils/src/array-utils.js +0 -87
  44. package/cjs/packages/vuu-utils/src/array-utils.js.map +0 -1
  45. package/cjs/packages/vuu-utils/src/box-utils.js +0 -53
  46. package/cjs/packages/vuu-utils/src/box-utils.js.map +0 -1
  47. package/cjs/packages/vuu-utils/src/column-utils.js +0 -1057
  48. package/cjs/packages/vuu-utils/src/column-utils.js.map +0 -1
  49. package/cjs/packages/vuu-utils/src/common-types.js +0 -15
  50. package/cjs/packages/vuu-utils/src/common-types.js.map +0 -1
  51. package/cjs/packages/vuu-utils/src/component-registry.js +0 -144
  52. package/cjs/packages/vuu-utils/src/component-registry.js.map +0 -1
  53. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js +0 -21
  54. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
  55. package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -19
  56. package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
  57. package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -33
  58. package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
  59. package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -20
  60. package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
  61. package/cjs/packages/vuu-utils/src/cookie-utils.js +0 -22
  62. package/cjs/packages/vuu-utils/src/cookie-utils.js.map +0 -1
  63. package/cjs/packages/vuu-utils/src/css-utils.js +0 -9
  64. package/cjs/packages/vuu-utils/src/css-utils.js.map +0 -1
  65. package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -28
  66. package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
  67. package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js +0 -34
  68. package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
  69. package/cjs/packages/vuu-utils/src/data-editing/EditSession.js +0 -204
  70. package/cjs/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
  71. package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js +0 -37
  72. package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
  73. package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -81
  74. package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
  75. package/cjs/packages/vuu-utils/src/data-utils.js +0 -96
  76. package/cjs/packages/vuu-utils/src/data-utils.js.map +0 -1
  77. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -317
  78. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
  79. package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -14
  80. package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
  81. package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -40
  82. package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
  83. package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js +0 -218
  84. package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
  85. package/cjs/packages/vuu-utils/src/date/date-utils.js +0 -131
  86. package/cjs/packages/vuu-utils/src/date/date-utils.js.map +0 -1
  87. package/cjs/packages/vuu-utils/src/date/dateTimePattern.js +0 -26
  88. package/cjs/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
  89. package/cjs/packages/vuu-utils/src/date/formatter.js +0 -82
  90. package/cjs/packages/vuu-utils/src/date/formatter.js.map +0 -1
  91. package/cjs/packages/vuu-utils/src/date/types.js +0 -32
  92. package/cjs/packages/vuu-utils/src/date/types.js.map +0 -1
  93. package/cjs/packages/vuu-utils/src/debug-utils.js +0 -34
  94. package/cjs/packages/vuu-utils/src/debug-utils.js.map +0 -1
  95. package/cjs/packages/vuu-utils/src/event-emitter.js +0 -113
  96. package/cjs/packages/vuu-utils/src/event-emitter.js.map +0 -1
  97. package/cjs/packages/vuu-utils/src/feature-utils.js +0 -139
  98. package/cjs/packages/vuu-utils/src/feature-utils.js.map +0 -1
  99. package/cjs/packages/vuu-utils/src/filters/filter-utils.js +0 -182
  100. package/cjs/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
  101. package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js +0 -69
  102. package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
  103. package/cjs/packages/vuu-utils/src/form-utils.js +0 -117
  104. package/cjs/packages/vuu-utils/src/form-utils.js.map +0 -1
  105. package/cjs/packages/vuu-utils/src/formatting-utils.js +0 -98
  106. package/cjs/packages/vuu-utils/src/formatting-utils.js.map +0 -1
  107. package/cjs/packages/vuu-utils/src/getUniqueId.js +0 -6
  108. package/cjs/packages/vuu-utils/src/getUniqueId.js.map +0 -1
  109. package/cjs/packages/vuu-utils/src/group-utils.js +0 -27
  110. package/cjs/packages/vuu-utils/src/group-utils.js.map +0 -1
  111. package/cjs/packages/vuu-utils/src/html-utils.js +0 -162
  112. package/cjs/packages/vuu-utils/src/html-utils.js.map +0 -1
  113. package/cjs/packages/vuu-utils/src/index.js +0 -475
  114. package/cjs/packages/vuu-utils/src/index.js.map +0 -1
  115. package/cjs/packages/vuu-utils/src/input-utils.js +0 -10
  116. package/cjs/packages/vuu-utils/src/input-utils.js.map +0 -1
  117. package/cjs/packages/vuu-utils/src/invariant.js +0 -13
  118. package/cjs/packages/vuu-utils/src/invariant.js.map +0 -1
  119. package/cjs/packages/vuu-utils/src/itemToString.js +0 -23
  120. package/cjs/packages/vuu-utils/src/itemToString.js.map +0 -1
  121. package/cjs/packages/vuu-utils/src/json-utils.js +0 -105
  122. package/cjs/packages/vuu-utils/src/json-utils.js.map +0 -1
  123. package/cjs/packages/vuu-utils/src/keyboard-utils.js +0 -30
  124. package/cjs/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
  125. package/cjs/packages/vuu-utils/src/keyset.js +0 -72
  126. package/cjs/packages/vuu-utils/src/keyset.js.map +0 -1
  127. package/cjs/packages/vuu-utils/src/list-utils.js +0 -11
  128. package/cjs/packages/vuu-utils/src/list-utils.js.map +0 -1
  129. package/cjs/packages/vuu-utils/src/local-storage-utils.js +0 -35
  130. package/cjs/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
  131. package/cjs/packages/vuu-utils/src/logging-utils.js +0 -65
  132. package/cjs/packages/vuu-utils/src/logging-utils.js.map +0 -1
  133. package/cjs/packages/vuu-utils/src/module-utils.js +0 -6
  134. package/cjs/packages/vuu-utils/src/module-utils.js.map +0 -1
  135. package/cjs/packages/vuu-utils/src/nanoid/index.js +0 -22
  136. package/cjs/packages/vuu-utils/src/nanoid/index.js.map +0 -1
  137. package/cjs/packages/vuu-utils/src/perf-utils.js +0 -35
  138. package/cjs/packages/vuu-utils/src/perf-utils.js.map +0 -1
  139. package/cjs/packages/vuu-utils/src/promise-utils.js +0 -42
  140. package/cjs/packages/vuu-utils/src/promise-utils.js.map +0 -1
  141. package/cjs/packages/vuu-utils/src/protocol-message-utils.js +0 -104
  142. package/cjs/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
  143. package/cjs/packages/vuu-utils/src/range-utils.js +0 -115
  144. package/cjs/packages/vuu-utils/src/range-utils.js.map +0 -1
  145. package/cjs/packages/vuu-utils/src/react-utils.js +0 -72
  146. package/cjs/packages/vuu-utils/src/react-utils.js.map +0 -1
  147. package/cjs/packages/vuu-utils/src/round-decimal.js +0 -131
  148. package/cjs/packages/vuu-utils/src/round-decimal.js.map +0 -1
  149. package/cjs/packages/vuu-utils/src/row-utils.js +0 -59
  150. package/cjs/packages/vuu-utils/src/row-utils.js.map +0 -1
  151. package/cjs/packages/vuu-utils/src/selection-utils.js +0 -34
  152. package/cjs/packages/vuu-utils/src/selection-utils.js.map +0 -1
  153. package/cjs/packages/vuu-utils/src/shell-layout-types.js +0 -13
  154. package/cjs/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
  155. package/cjs/packages/vuu-utils/src/sort-utils.js +0 -78
  156. package/cjs/packages/vuu-utils/src/sort-utils.js.map +0 -1
  157. package/cjs/packages/vuu-utils/src/table-schema-utils.js +0 -13
  158. package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
  159. package/cjs/packages/vuu-utils/src/text-utils.js +0 -21
  160. package/cjs/packages/vuu-utils/src/text-utils.js.map +0 -1
  161. package/cjs/packages/vuu-utils/src/theme-utils.js +0 -36
  162. package/cjs/packages/vuu-utils/src/theme-utils.js.map +0 -1
  163. package/cjs/packages/vuu-utils/src/tree-utils.js +0 -114
  164. package/cjs/packages/vuu-utils/src/tree-utils.js.map +0 -1
  165. package/cjs/packages/vuu-utils/src/ts-utils.js +0 -12
  166. package/cjs/packages/vuu-utils/src/ts-utils.js.map +0 -1
  167. package/cjs/packages/vuu-utils/src/typeahead-utils.js +0 -6
  168. package/cjs/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
  169. package/cjs/packages/vuu-utils/src/url-utils.js +0 -21
  170. package/cjs/packages/vuu-utils/src/url-utils.js.map +0 -1
  171. package/cjs/packages/vuu-utils/src/useId.js +0 -9
  172. package/cjs/packages/vuu-utils/src/useId.js.map +0 -1
  173. package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -17
  174. package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
  175. package/cjs/packages/vuu-utils/src/useResizeObserver.js +0 -134
  176. package/cjs/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
  177. package/cjs/packages/vuu-utils/src/useStateRef.js +0 -23
  178. package/cjs/packages/vuu-utils/src/useStateRef.js.map +0 -1
  179. package/esm/node_modules/@dnd-kit/abstract/index.js +0 -1472
  180. package/esm/node_modules/@dnd-kit/abstract/index.js.map +0 -1
  181. package/esm/node_modules/@dnd-kit/abstract/modifiers.js +0 -82
  182. package/esm/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
  183. package/esm/node_modules/@dnd-kit/collision/dist/index.js +0 -86
  184. package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
  185. package/esm/node_modules/@dnd-kit/dom/index.js +0 -1977
  186. package/esm/node_modules/@dnd-kit/dom/index.js.map +0 -1
  187. package/esm/node_modules/@dnd-kit/dom/sortable.js +0 -822
  188. package/esm/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
  189. package/esm/node_modules/@dnd-kit/dom/utilities.js +0 -1344
  190. package/esm/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
  191. package/esm/node_modules/@dnd-kit/geometry/dist/index.js +0 -303
  192. package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
  193. package/esm/node_modules/@dnd-kit/react/hooks.js +0 -126
  194. package/esm/node_modules/@dnd-kit/react/hooks.js.map +0 -1
  195. package/esm/node_modules/@dnd-kit/react/index.js +0 -392
  196. package/esm/node_modules/@dnd-kit/react/index.js.map +0 -1
  197. package/esm/node_modules/@dnd-kit/react/sortable.js +0 -175
  198. package/esm/node_modules/@dnd-kit/react/sortable.js.map +0 -1
  199. package/esm/node_modules/@dnd-kit/react/utilities.js +0 -17
  200. package/esm/node_modules/@dnd-kit/react/utilities.js.map +0 -1
  201. package/esm/node_modules/@dnd-kit/state/dist/index.js +0 -266
  202. package/esm/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
  203. package/esm/node_modules/@preact/signals-core/dist/signals-core.js +0 -4
  204. package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
  205. package/esm/packages/vuu-utils/src/Clock.js +0 -60
  206. package/esm/packages/vuu-utils/src/Clock.js.map +0 -1
  207. package/esm/packages/vuu-utils/src/PageVisibilityObserver.js +0 -78
  208. package/esm/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
  209. package/esm/packages/vuu-utils/src/ScaledDecimal.js +0 -37
  210. package/esm/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
  211. package/esm/packages/vuu-utils/src/ShellContext.js +0 -10
  212. package/esm/packages/vuu-utils/src/ShellContext.js.map +0 -1
  213. package/esm/packages/vuu-utils/src/ThemeProvider.js +0 -78
  214. package/esm/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
  215. package/esm/packages/vuu-utils/src/array-utils.js +0 -79
  216. package/esm/packages/vuu-utils/src/array-utils.js.map +0 -1
  217. package/esm/packages/vuu-utils/src/box-utils.js +0 -47
  218. package/esm/packages/vuu-utils/src/box-utils.js.map +0 -1
  219. package/esm/packages/vuu-utils/src/column-utils.js +0 -970
  220. package/esm/packages/vuu-utils/src/column-utils.js.map +0 -1
  221. package/esm/packages/vuu-utils/src/common-types.js +0 -13
  222. package/esm/packages/vuu-utils/src/common-types.js.map +0 -1
  223. package/esm/packages/vuu-utils/src/component-registry.js +0 -128
  224. package/esm/packages/vuu-utils/src/component-registry.js.map +0 -1
  225. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js +0 -18
  226. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
  227. package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -16
  228. package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
  229. package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -29
  230. package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
  231. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -17
  232. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
  233. package/esm/packages/vuu-utils/src/cookie-utils.js +0 -19
  234. package/esm/packages/vuu-utils/src/cookie-utils.js.map +0 -1
  235. package/esm/packages/vuu-utils/src/css-utils.js +0 -7
  236. package/esm/packages/vuu-utils/src/css-utils.js.map +0 -1
  237. package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -25
  238. package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
  239. package/esm/packages/vuu-utils/src/data-editing/EditButtons.js +0 -32
  240. package/esm/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
  241. package/esm/packages/vuu-utils/src/data-editing/EditSession.js +0 -201
  242. package/esm/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
  243. package/esm/packages/vuu-utils/src/data-editing/edit-utils.js +0 -34
  244. package/esm/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
  245. package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -79
  246. package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
  247. package/esm/packages/vuu-utils/src/data-utils.js +0 -82
  248. package/esm/packages/vuu-utils/src/data-utils.js.map +0 -1
  249. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -314
  250. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
  251. package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -8
  252. package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
  253. package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -38
  254. package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
  255. package/esm/packages/vuu-utils/src/datasource/datasource-utils.js +0 -193
  256. package/esm/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
  257. package/esm/packages/vuu-utils/src/date/date-utils.js +0 -121
  258. package/esm/packages/vuu-utils/src/date/date-utils.js.map +0 -1
  259. package/esm/packages/vuu-utils/src/date/dateTimePattern.js +0 -22
  260. package/esm/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
  261. package/esm/packages/vuu-utils/src/date/formatter.js +0 -79
  262. package/esm/packages/vuu-utils/src/date/formatter.js.map +0 -1
  263. package/esm/packages/vuu-utils/src/date/types.js +0 -26
  264. package/esm/packages/vuu-utils/src/date/types.js.map +0 -1
  265. package/esm/packages/vuu-utils/src/debug-utils.js +0 -32
  266. package/esm/packages/vuu-utils/src/debug-utils.js.map +0 -1
  267. package/esm/packages/vuu-utils/src/event-emitter.js +0 -111
  268. package/esm/packages/vuu-utils/src/event-emitter.js.map +0 -1
  269. package/esm/packages/vuu-utils/src/feature-utils.js +0 -125
  270. package/esm/packages/vuu-utils/src/feature-utils.js.map +0 -1
  271. package/esm/packages/vuu-utils/src/filters/filter-utils.js +0 -159
  272. package/esm/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
  273. package/esm/packages/vuu-utils/src/filters/filterAsQuery.js +0 -65
  274. package/esm/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
  275. package/esm/packages/vuu-utils/src/form-utils.js +0 -110
  276. package/esm/packages/vuu-utils/src/form-utils.js.map +0 -1
  277. package/esm/packages/vuu-utils/src/formatting-utils.js +0 -93
  278. package/esm/packages/vuu-utils/src/formatting-utils.js.map +0 -1
  279. package/esm/packages/vuu-utils/src/getUniqueId.js +0 -4
  280. package/esm/packages/vuu-utils/src/getUniqueId.js.map +0 -1
  281. package/esm/packages/vuu-utils/src/group-utils.js +0 -23
  282. package/esm/packages/vuu-utils/src/group-utils.js.map +0 -1
  283. package/esm/packages/vuu-utils/src/html-utils.js +0 -145
  284. package/esm/packages/vuu-utils/src/html-utils.js.map +0 -1
  285. package/esm/packages/vuu-utils/src/index.js +0 -77
  286. package/esm/packages/vuu-utils/src/index.js.map +0 -1
  287. package/esm/packages/vuu-utils/src/input-utils.js +0 -7
  288. package/esm/packages/vuu-utils/src/input-utils.js.map +0 -1
  289. package/esm/packages/vuu-utils/src/invariant.js +0 -11
  290. package/esm/packages/vuu-utils/src/invariant.js.map +0 -1
  291. package/esm/packages/vuu-utils/src/itemToString.js +0 -21
  292. package/esm/packages/vuu-utils/src/itemToString.js.map +0 -1
  293. package/esm/packages/vuu-utils/src/json-utils.js +0 -103
  294. package/esm/packages/vuu-utils/src/json-utils.js.map +0 -1
  295. package/esm/packages/vuu-utils/src/keyboard-utils.js +0 -16
  296. package/esm/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
  297. package/esm/packages/vuu-utils/src/keyset.js +0 -70
  298. package/esm/packages/vuu-utils/src/keyset.js.map +0 -1
  299. package/esm/packages/vuu-utils/src/list-utils.js +0 -9
  300. package/esm/packages/vuu-utils/src/list-utils.js.map +0 -1
  301. package/esm/packages/vuu-utils/src/local-storage-utils.js +0 -30
  302. package/esm/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
  303. package/esm/packages/vuu-utils/src/logging-utils.js +0 -61
  304. package/esm/packages/vuu-utils/src/logging-utils.js.map +0 -1
  305. package/esm/packages/vuu-utils/src/module-utils.js +0 -4
  306. package/esm/packages/vuu-utils/src/module-utils.js.map +0 -1
  307. package/esm/packages/vuu-utils/src/nanoid/index.js +0 -20
  308. package/esm/packages/vuu-utils/src/nanoid/index.js.map +0 -1
  309. package/esm/packages/vuu-utils/src/perf-utils.js +0 -32
  310. package/esm/packages/vuu-utils/src/perf-utils.js.map +0 -1
  311. package/esm/packages/vuu-utils/src/promise-utils.js +0 -40
  312. package/esm/packages/vuu-utils/src/promise-utils.js.map +0 -1
  313. package/esm/packages/vuu-utils/src/protocol-message-utils.js +0 -75
  314. package/esm/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
  315. package/esm/packages/vuu-utils/src/range-utils.js +0 -108
  316. package/esm/packages/vuu-utils/src/range-utils.js.map +0 -1
  317. package/esm/packages/vuu-utils/src/react-utils.js +0 -66
  318. package/esm/packages/vuu-utils/src/react-utils.js.map +0 -1
  319. package/esm/packages/vuu-utils/src/round-decimal.js +0 -127
  320. package/esm/packages/vuu-utils/src/round-decimal.js.map +0 -1
  321. package/esm/packages/vuu-utils/src/row-utils.js +0 -54
  322. package/esm/packages/vuu-utils/src/row-utils.js.map +0 -1
  323. package/esm/packages/vuu-utils/src/selection-utils.js +0 -31
  324. package/esm/packages/vuu-utils/src/selection-utils.js.map +0 -1
  325. package/esm/packages/vuu-utils/src/shell-layout-types.js +0 -11
  326. package/esm/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
  327. package/esm/packages/vuu-utils/src/sort-utils.js +0 -73
  328. package/esm/packages/vuu-utils/src/sort-utils.js.map +0 -1
  329. package/esm/packages/vuu-utils/src/table-schema-utils.js +0 -11
  330. package/esm/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
  331. package/esm/packages/vuu-utils/src/text-utils.js +0 -18
  332. package/esm/packages/vuu-utils/src/text-utils.js.map +0 -1
  333. package/esm/packages/vuu-utils/src/theme-utils.js +0 -34
  334. package/esm/packages/vuu-utils/src/theme-utils.js.map +0 -1
  335. package/esm/packages/vuu-utils/src/tree-utils.js +0 -108
  336. package/esm/packages/vuu-utils/src/tree-utils.js.map +0 -1
  337. package/esm/packages/vuu-utils/src/ts-utils.js +0 -8
  338. package/esm/packages/vuu-utils/src/ts-utils.js.map +0 -1
  339. package/esm/packages/vuu-utils/src/typeahead-utils.js +0 -4
  340. package/esm/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
  341. package/esm/packages/vuu-utils/src/url-utils.js +0 -18
  342. package/esm/packages/vuu-utils/src/url-utils.js.map +0 -1
  343. package/esm/packages/vuu-utils/src/useId.js +0 -7
  344. package/esm/packages/vuu-utils/src/useId.js.map +0 -1
  345. package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -15
  346. package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
  347. package/esm/packages/vuu-utils/src/useResizeObserver.js +0 -130
  348. package/esm/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
  349. package/esm/packages/vuu-utils/src/useStateRef.js +0 -21
  350. package/esm/packages/vuu-utils/src/useStateRef.js.map +0 -1
@@ -1,159 +0,0 @@
1
- import { ScaledDecimal } from '../ScaledDecimal.js';
2
-
3
- const singleValueFilterOps = /* @__PURE__ */ new Set([
4
- "=",
5
- "!=",
6
- ">",
7
- ">=",
8
- "<",
9
- "<=",
10
- "contains",
11
- "starts",
12
- "ends"
13
- ]);
14
- const isBetweenOperator = (op) => op === "between" || op === "between-inclusive";
15
- const isValidFilterClauseOp = (op) => op === "in" || singleValueFilterOps.has(op);
16
- const isNamedFilter = (f) => f !== void 0 && f.name !== void 0;
17
- const isSingleValueFilter = (f) => f !== void 0 && singleValueFilterOps.has(f.op);
18
- const isScaledDecimalFilterClause = (f) => f.value instanceof ScaledDecimal;
19
- const isSerializableFilter = (f) => isSingleValueFilter(f) && "asQuery" in f && typeof f["asQuery"] === "function";
20
- const isFilter = (f) => typeof f === "object" && f !== null && (isFilterClause(f) || isMultiClauseFilter(f));
21
- const isFilterClause = (f) => f !== void 0 && (isSingleValueFilter(f) || isMultiValueFilter(f));
22
- const isMultiValueFilter = (f) => f !== void 0 && f.op === "in";
23
- const isInFilter = (f) => f.op === "in";
24
- const isAndFilter = (f) => f?.op === "and";
25
- const isBetweenFilter = (f) => isAndFilter(f) && f.filters.length === 2 && f.filters[0].column === f.filters[1].column && (f.filters[0].op === ">" && f.filters[1].op === "<" || f.filters[0].op === ">=" && f.filters[1].op === "<=");
26
- const isOrFilter = (f) => f?.op === "or";
27
- const isCompleteFilter = (filter) => isSingleValueFilter(filter) && filter.column !== void 0 && filter.op !== void 0 && filter.value !== void 0;
28
- function isMultiClauseFilter(f) {
29
- return f !== void 0 && (f.op === "and" || f.op === "or");
30
- }
31
- const isExtendedFilter = (f) => typeof f.extendedOptions === "object";
32
- const applyFilterToColumns = (columns, { filterStruct }) => columns.map((column) => {
33
- const filter = extractFilterForColumn(filterStruct, column.name);
34
- if (filter !== void 0) {
35
- return {
36
- ...column,
37
- filter
38
- };
39
- } else if (column.filter) {
40
- return {
41
- ...column,
42
- filter: void 0
43
- };
44
- } else {
45
- return column;
46
- }
47
- });
48
- const isFilteredColumn = (column) => column.filter !== void 0;
49
- const stripFilterFromColumns = (columns) => columns.map((col) => {
50
- const { filter, ...rest } = col;
51
- return filter ? rest : col;
52
- });
53
- const extractFilterForColumn = (filter, columnName) => {
54
- if (isMultiClauseFilter(filter)) {
55
- return collectFiltersForColumn(filter, columnName);
56
- }
57
- if (isFilterClause(filter)) {
58
- return filter.column === columnName ? filter : void 0;
59
- }
60
- return void 0;
61
- };
62
- const collectFiltersForColumn = (filter, columnName) => {
63
- const { filters, op } = filter;
64
- const results = [];
65
- filters.forEach((filter2) => {
66
- const ffc = extractFilterForColumn(filter2, columnName);
67
- if (ffc) {
68
- results.push(ffc);
69
- }
70
- });
71
- if (results.length === 0) {
72
- return void 0;
73
- } else if (results.length === 1) {
74
- return results[0];
75
- }
76
- return {
77
- op,
78
- filters: results
79
- };
80
- };
81
- const stringifyBoolean = (value) => typeof value === "boolean" ? "${filter.value}" : value;
82
- const getColumnValueFromFilter = (column, operator, filter) => {
83
- if (isSingleValueFilter(filter)) {
84
- if (filter.column === column.name) {
85
- if (operator.startsWith("between")) {
86
- if (filter.op === "=") {
87
- return [`${filter.value}`, ""];
88
- } else if (filter.op === "<") {
89
- return ["", `${filter.value}`];
90
- }
91
- } else {
92
- return stringifyBoolean(filter.value);
93
- }
94
- }
95
- } else if (isBetweenFilter(filter)) {
96
- if (filter.filters[0].column === column.name) {
97
- const [{ value: v1 }, { value: v2 }] = filter.filters;
98
- return [`${v1}`, `${v2}`];
99
- }
100
- } else if (isAndFilter(filter)) {
101
- const filterForColumn = filter.filters.find(
102
- (f) => isBetweenFilter(f) ? f.filters[0].column === column.name : f.column === column.name
103
- );
104
- if (isSingleValueFilter(filterForColumn)) {
105
- return stringifyBoolean(filterForColumn.value);
106
- } else if (operator.startsWith("between") && isBetweenFilter(filterForColumn)) {
107
- const [{ value: v1 }, { value: v2 }] = filterForColumn.filters;
108
- return [`${v1}`, `${v2}`];
109
- }
110
- }
111
- if (operator.startsWith("between")) {
112
- if (column.type === "time") {
113
- return ["00:00:00", "23:59:59"];
114
- } else {
115
- return ["", ""];
116
- }
117
- } else {
118
- return "";
119
- }
120
- };
121
- const betweenFiltersAreEqual = (f1, f2) => {
122
- const [from1, to1] = f1.filters;
123
- const [from2, to2] = f2.filters;
124
- return filtersAreEqual(from1, from2) && filtersAreEqual(to1, to2);
125
- };
126
- const singleValueFilterClausesAreEqual = (f1, f2) => f1.column === f2.column && f1.op === f2.op && f1.value === f2.value;
127
- const findEqualFilter = (filters) => (filter) => {
128
- if (isBetweenFilter(filter)) {
129
- const target = filters.find(
130
- (f) => isBetweenFilter(f) && betweenFiltersAreEqual(f, filter)
131
- );
132
- return target !== void 0;
133
- } else {
134
- const target = filters.find((f) => f.column === filter.column);
135
- if (target) {
136
- return target.op === filter.op && target.value === filter.value;
137
- }
138
- }
139
- return false;
140
- };
141
- const filtersAreEqual = (f1, f2) => {
142
- if (f1 == null && f2 == null) {
143
- return true;
144
- } else if (f1 == null || f2 == null) {
145
- return false;
146
- } else if (isSingleValueFilter(f1) && isSingleValueFilter(f2)) {
147
- return singleValueFilterClausesAreEqual(f1, f2);
148
- } else if (isBetweenFilter(f1) && isBetweenFilter(f2)) {
149
- return betweenFiltersAreEqual(f1, f2);
150
- } else if (isAndFilter(f1) && isAndFilter(f2)) {
151
- if (f1.filters.length === f2.filters.length) {
152
- return f1.filters.every(findEqualFilter(f2.filters));
153
- }
154
- }
155
- return false;
156
- };
157
-
158
- export { applyFilterToColumns, extractFilterForColumn, filtersAreEqual, getColumnValueFromFilter, isAndFilter, isBetweenFilter, isBetweenOperator, isCompleteFilter, isExtendedFilter, isFilter, isFilterClause, isFilteredColumn, isInFilter, isMultiClauseFilter, isMultiValueFilter, isNamedFilter, isOrFilter, isScaledDecimalFilterClause, isSerializableFilter, isSingleValueFilter, isValidFilterClauseOp, stripFilterFromColumns };
159
- //# sourceMappingURL=filter-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-utils.js","sources":["../../../../../../../packages/vuu-utils/src/filters/filter-utils.ts"],"sourcesContent":["import type { DataSourceFilter } from \"@vuu-ui/vuu-data-types\";\nimport {\n ColumnFilterOp,\n ColumnFilterValue,\n ExtendedFilter,\n Filter,\n FilterClauseOp,\n FilterClauseOpBetween,\n FilterContainerFilter,\n FilterWithPartialClause,\n MultiClauseFilter,\n MultiValueFilterClause,\n SingleValueFilterClause,\n SingleValueFilterClauseOp,\n} from \"@vuu-ui/vuu-filter-types\";\nimport { SerializableFilter } from \"@vuu-ui/vuu-filters/src/filter-container/ExtendedSingleValueFilterClause\";\nimport {\n ColumnDescriptor,\n RuntimeColumnDescriptor,\n} from \"@vuu-ui/vuu-table-types\";\nimport { ScaledDecimal } from \"../ScaledDecimal\";\n\nconst singleValueFilterOps = new Set<SingleValueFilterClauseOp>([\n \"=\",\n \"!=\",\n \">\",\n \">=\",\n \"<\",\n \"<=\",\n \"contains\",\n \"starts\",\n \"ends\",\n]);\n\nexport const isBetweenOperator = (\n op: ColumnFilterOp,\n): op is FilterClauseOpBetween =>\n op === \"between\" || op === \"between-inclusive\";\n\nexport const isValidFilterClauseOp = (op?: string): op is FilterClauseOp =>\n op === \"in\" || singleValueFilterOps.has(op as SingleValueFilterClauseOp);\n\nexport const isNamedFilter = (f?: Filter) =>\n f !== undefined && f.name !== undefined;\n\n// ... with type constraints\nexport const isSingleValueFilter = (\n f?: Partial<Filter>,\n): f is SingleValueFilterClause =>\n f !== undefined &&\n singleValueFilterOps.has(f.op as SingleValueFilterClauseOp);\n\nexport const isScaledDecimalFilterClause = (\n f: SingleValueFilterClause,\n): f is SingleValueFilterClause<ScaledDecimal> =>\n f.value instanceof ScaledDecimal;\n\nexport const isSerializableFilter = (f: object): f is SerializableFilter =>\n isSingleValueFilter(f) &&\n \"asQuery\" in f &&\n typeof f[\"asQuery\"] === \"function\";\n\nexport const isFilter = (f: unknown): f is Filter =>\n typeof f === \"object\" &&\n f !== null &&\n (isFilterClause(f) || isMultiClauseFilter(f));\n\nexport const isFilterClause = (\n f?: Partial<Filter>,\n): f is SingleValueFilterClause | MultiValueFilterClause =>\n f !== undefined && (isSingleValueFilter(f) || isMultiValueFilter(f));\n\nexport const isMultiValueFilter = (\n f?: Partial<Filter>,\n): f is MultiValueFilterClause => f !== undefined && f.op === \"in\";\n\nexport const isInFilter = (f: Partial<Filter>): f is MultiValueFilterClause =>\n f.op === \"in\";\nexport const isAndFilter = (\n f?: Partial<Filter>,\n): f is MultiClauseFilter<\"and\"> => f?.op === \"and\";\n\nexport const isBetweenFilter = (\n f?: Filter,\n): f is MultiClauseFilter<\"and\", SingleValueFilterClause> =>\n isAndFilter(f) &&\n f.filters.length === 2 &&\n f.filters[0].column === f.filters[1].column &&\n ((f.filters[0].op === \">\" && f.filters[1].op === \"<\") ||\n (f.filters[0].op === \">=\" && f.filters[1].op === \"<=\"));\n\nexport const isOrFilter = (f?: Partial<Filter>): f is MultiClauseFilter<\"or\"> =>\n f?.op === \"or\";\n\nexport const isCompleteFilter = (filter: Partial<Filter>): filter is Filter =>\n isSingleValueFilter(filter) &&\n filter.column !== undefined &&\n filter.op !== undefined &&\n filter.value !== undefined;\n\nexport function isMultiClauseFilter(\n f?: Partial<Filter> | FilterWithPartialClause,\n): f is MultiClauseFilter {\n return f !== undefined && (f.op === \"and\" || f.op === \"or\");\n}\n\nexport const isExtendedFilter = (f: Filter): f is ExtendedFilter =>\n typeof (f as ExtendedFilter).extendedOptions === \"object\";\n\nexport const applyFilterToColumns = (\n columns: RuntimeColumnDescriptor[],\n { filterStruct }: DataSourceFilter,\n) =>\n columns.map((column) => {\n // TODO this gives us a dependency on vuu-filters\n const filter = extractFilterForColumn(filterStruct, column.name);\n if (filter !== undefined) {\n return {\n ...column,\n filter,\n };\n } else if (column.filter) {\n return {\n ...column,\n filter: undefined,\n };\n } else {\n return column;\n }\n });\n\nexport const isFilteredColumn = (column: RuntimeColumnDescriptor) =>\n column.filter !== undefined;\n\nexport const stripFilterFromColumns = (columns: RuntimeColumnDescriptor[]) =>\n columns.map((col) => {\n const { filter, ...rest } = col;\n return filter ? rest : col;\n });\n\nexport const extractFilterForColumn = (\n filter: Filter | undefined,\n columnName: string,\n) => {\n if (isMultiClauseFilter(filter)) {\n return collectFiltersForColumn(filter, columnName);\n }\n if (isFilterClause(filter)) {\n return filter.column === columnName ? filter : undefined;\n }\n return undefined;\n};\n\nconst collectFiltersForColumn = (\n filter: MultiClauseFilter,\n columnName: string,\n) => {\n const { filters, op } = filter;\n const results: Filter[] = [];\n filters.forEach((filter) => {\n const ffc = extractFilterForColumn(filter, columnName);\n if (ffc) {\n results.push(ffc);\n }\n });\n if (results.length === 0) {\n return undefined;\n } else if (results.length === 1) {\n return results[0];\n }\n return {\n op,\n filters: results,\n };\n};\n\n// Just until we fully support bool values in filters\nconst stringifyBoolean = (value: string | number | boolean) =>\n typeof value === \"boolean\" ? \"${filter.value}\" : value;\n\nexport const getColumnValueFromFilter = (\n column: ColumnDescriptor,\n operator: ColumnFilterOp,\n filter?: FilterContainerFilter,\n): ColumnFilterValue => {\n if (isSingleValueFilter(filter)) {\n if (filter.column === column.name) {\n if (operator.startsWith(\"between\")) {\n if (filter.op === \"=\") {\n return [`${filter.value}`, \"\"];\n } else if (filter.op === \"<\") {\n return [\"\", `${filter.value}`];\n }\n } else {\n return stringifyBoolean(filter.value);\n }\n }\n } else if (isBetweenFilter(filter)) {\n if (filter.filters[0].column === column.name) {\n const [{ value: v1 }, { value: v2 }] = filter.filters;\n return [`${v1}`, `${v2}`];\n }\n } else if (isAndFilter(filter)) {\n const filterForColumn = filter.filters.find((f) =>\n isBetweenFilter(f)\n ? f.filters[0].column === column.name\n : f.column === column.name,\n );\n if (isSingleValueFilter(filterForColumn)) {\n return stringifyBoolean(filterForColumn.value);\n } else if (\n operator.startsWith(\"between\") &&\n isBetweenFilter(filterForColumn)\n ) {\n const [{ value: v1 }, { value: v2 }] = filterForColumn.filters;\n return [`${v1}`, `${v2}`];\n }\n }\n if (operator.startsWith(\"between\")) {\n if (column.type === \"time\") {\n return [\"00:00:00\", \"23:59:59\"];\n } else {\n return [\"\", \"\"];\n }\n } else {\n return \"\";\n }\n};\n\ntype BetweenFilter = MultiClauseFilter<\"and\", SingleValueFilterClause>;\ntype ChildFilterClause = SingleValueFilterClause | BetweenFilter;\n\nconst betweenFiltersAreEqual = (f1: BetweenFilter, f2: BetweenFilter) => {\n const [from1, to1] = f1.filters;\n const [from2, to2] = f2.filters;\n return filtersAreEqual(from1, from2) && filtersAreEqual(to1, to2);\n};\n\nconst singleValueFilterClausesAreEqual = (\n f1: SingleValueFilterClause,\n f2: SingleValueFilterClause,\n) => f1.column === f2.column && f1.op === f2.op && f1.value === f2.value;\n\nconst findEqualFilter =\n (filters: ChildFilterClause[]) => (filter: ChildFilterClause) => {\n if (isBetweenFilter(filter)) {\n const target = filters.find(\n (f) => isBetweenFilter(f) && betweenFiltersAreEqual(f, filter),\n );\n return target !== undefined;\n } else {\n // A FilterContainerFilter only has one filter clause per column\n const target = filters.find((f) => f.column === filter.column);\n if (target) {\n return target.op === filter.op && target.value === filter.value;\n }\n }\n return false;\n };\n\nexport const filtersAreEqual = (\n f1: FilterContainerFilter | null | undefined,\n f2: FilterContainerFilter | null | undefined,\n): boolean => {\n if (f1 == null && f2 == null) {\n return true;\n } else if (f1 == null || f2 == null) {\n return false;\n } else if (isSingleValueFilter(f1) && isSingleValueFilter(f2)) {\n return singleValueFilterClausesAreEqual(f1, f2);\n } else if (isBetweenFilter(f1) && isBetweenFilter(f2)) {\n return betweenFiltersAreEqual(f1, f2);\n } else if (isAndFilter(f1) && isAndFilter(f2)) {\n if (f1.filters.length === f2.filters.length) {\n return f1.filters.every(findEqualFilter(f2.filters));\n }\n }\n\n return false;\n};\n"],"names":["filter"],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { isDateTimeDataValue } from '../column-utils.js';
2
- import { isMultiClauseFilter, isMultiValueFilter, isSerializableFilter } from './filter-utils.js';
3
- import { ScaledDecimal } from '../ScaledDecimal.js';
4
-
5
- const filterValue = (value) => typeof value === "string" ? `"${value}"` : value instanceof ScaledDecimal ? value.toString() : value;
6
- const quotedStrings = (value) => typeof value === "string" ? `"${value}"` : value;
7
- const removeOuterMostParentheses = (s) => s.replace(/^\((.*)\)$/, "$1");
8
- const filterAsQuery = (f, opts) => {
9
- return removeOuterMostParentheses(filterAsQueryCore(f, opts));
10
- };
11
- const filterAsQueryCore = (f, opts) => {
12
- if (isMultiClauseFilter(f)) {
13
- const multiClauseFilter = f.filters.map((filter) => filterAsQueryCore(filter, opts)).join(` ${f.op} `);
14
- return `(${multiClauseFilter})`;
15
- } else if (isMultiValueFilter(f)) {
16
- return `${f.column} ${f.op} [${f.values.map(quotedStrings).join(",")}]`;
17
- } else {
18
- return singleValueFilterAsQuery(f, opts);
19
- }
20
- };
21
- function singleValueFilterAsQuery(f, opts) {
22
- if (isSerializableFilter(f)) {
23
- return f.asQuery();
24
- } else {
25
- const column = opts?.columnsByName?.[f.column];
26
- if (column && isDateTimeDataValue(column)) {
27
- return dateFilterAsQuery(f);
28
- } else {
29
- return defaultSingleValueFilterAsQuery(f);
30
- }
31
- }
32
- }
33
- const ONE_DAY_IN_MILLIS = 1e3 * 60 * 60 * 24;
34
- function dateFilterAsQuery(f) {
35
- switch (f.op) {
36
- case "=": {
37
- const filters = [
38
- { op: ">=", column: f.column, value: f.value },
39
- {
40
- op: "<",
41
- column: f.column,
42
- value: f.value + ONE_DAY_IN_MILLIS
43
- }
44
- ];
45
- return filterAsQueryCore({ op: "and", filters });
46
- }
47
- case "!=": {
48
- const filters = [
49
- { op: "<", column: f.column, value: f.value },
50
- {
51
- op: ">=",
52
- column: f.column,
53
- value: f.value + ONE_DAY_IN_MILLIS
54
- }
55
- ];
56
- return filterAsQueryCore({ op: "or", filters });
57
- }
58
- default:
59
- return defaultSingleValueFilterAsQuery(f);
60
- }
61
- }
62
- const defaultSingleValueFilterAsQuery = (f) => `${f.column} ${f.op} ${filterValue(f.value)}`;
63
-
64
- export { ONE_DAY_IN_MILLIS, dateFilterAsQuery, filterAsQuery };
65
- //# sourceMappingURL=filterAsQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filterAsQuery.js","sources":["../../../../../../../packages/vuu-utils/src/filters/filterAsQuery.ts"],"sourcesContent":["import {\n ColumnDescriptorsByName,\n Filter,\n SingleValueFilterClause,\n} from \"@vuu-ui/vuu-filter-types\";\nimport { isDateTimeDataValue } from \"../column-utils\";\nimport {\n isMultiClauseFilter,\n isMultiValueFilter,\n isSerializableFilter,\n} from \"./filter-utils\";\nimport { ScaledDecimal } from \"../ScaledDecimal\";\n\nconst filterValue = (value: string | number | boolean | ScaledDecimal) =>\n typeof value === \"string\"\n ? `\"${value}\"`\n : value instanceof ScaledDecimal\n ? value.toString()\n : value;\n\nconst quotedStrings = (value: string | number | boolean) =>\n typeof value === \"string\" ? `\"${value}\"` : value;\n\nconst removeOuterMostParentheses = (s: string) => s.replace(/^\\((.*)\\)$/, \"$1\");\n\nexport const filterAsQuery = (\n f: Filter,\n opts?: { columnsByName?: ColumnDescriptorsByName },\n): string => {\n return removeOuterMostParentheses(filterAsQueryCore(f, opts));\n};\n\nconst filterAsQueryCore = (\n f: Filter,\n opts?: { columnsByName?: ColumnDescriptorsByName },\n): string => {\n if (isMultiClauseFilter(f)) {\n const multiClauseFilter = f.filters\n .map((filter) => filterAsQueryCore(filter, opts))\n .join(` ${f.op} `);\n return `(${multiClauseFilter})`;\n } else if (isMultiValueFilter(f)) {\n return `${f.column} ${f.op} [${f.values.map(quotedStrings).join(\",\")}]`;\n } else {\n return singleValueFilterAsQuery(f, opts);\n }\n};\n\nfunction singleValueFilterAsQuery(\n f: SingleValueFilterClause,\n opts?: { columnsByName?: ColumnDescriptorsByName },\n): string {\n if (isSerializableFilter(f)) {\n return f.asQuery();\n } else {\n const column = opts?.columnsByName?.[f.column];\n if (column && isDateTimeDataValue(column)) {\n return dateFilterAsQuery(f as SingleValueFilterClause<number>);\n } else {\n return defaultSingleValueFilterAsQuery(f);\n }\n }\n}\n\nexport const ONE_DAY_IN_MILLIS = 1000 * 60 * 60 * 24;\nexport function dateFilterAsQuery(f: SingleValueFilterClause<number>): string {\n switch (f.op) {\n case \"=\": {\n const filters: Array<Filter> = [\n { op: \">=\", column: f.column, value: f.value },\n {\n op: \"<\",\n column: f.column,\n value: f.value + ONE_DAY_IN_MILLIS,\n },\n ];\n return filterAsQueryCore({ op: \"and\", filters });\n }\n case \"!=\": {\n const filters: Array<Filter> = [\n { op: \"<\", column: f.column, value: f.value },\n {\n op: \">=\",\n column: f.column,\n value: f.value + ONE_DAY_IN_MILLIS,\n },\n ];\n return filterAsQueryCore({ op: \"or\", filters });\n }\n default:\n return defaultSingleValueFilterAsQuery(f);\n }\n}\n\nconst defaultSingleValueFilterAsQuery = (f: SingleValueFilterClause) =>\n `${f.column} ${f.op} ${filterValue(f.value)}`;\n"],"names":[],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- import { stringIsValidDecimal, stringIsValidInt } from './data-utils.js';
2
- import { isValidTimeString, Time } from './date/date-utils.js';
3
- import './date/dateTimePattern.js';
4
- import '@internationalized/date';
5
- import { queryClosest } from './html-utils.js';
6
- import { ScaledDecimal8, ScaledDecimal6, ScaledDecimal4, ScaledDecimal2 } from './ScaledDecimal.js';
7
-
8
- var __defProp = Object.defineProperty;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
- class DataValidationError extends Error {
12
- constructor(message, expectedType, actualType) {
13
- super(message);
14
- __publicField(this, "actualType");
15
- __publicField(this, "expectedType");
16
- this.actualType = actualType;
17
- this.expectedType = expectedType;
18
- }
19
- }
20
- const getFieldName = (target) => {
21
- const saltFormField = queryClosest(target, "[data-field]");
22
- const fieldName = saltFormField?.dataset.field;
23
- if (fieldName) {
24
- return fieldName;
25
- } else {
26
- throw Error("named form field not found");
27
- }
28
- };
29
- const isNumber = (type, value) => type === "number";
30
- const isValidRange = ([val1, val2]) => {
31
- if (isValidTimeString(val1) && isValidTimeString(val2)) {
32
- return val2 > val1;
33
- }
34
- return true;
35
- };
36
- function getTypedRange([value1, value2], dataType, options) {
37
- return [
38
- getTypedValue(value1, dataType, false, options),
39
- getTypedValue(value2, dataType, false, options)
40
- ];
41
- }
42
- const getActualType = (value) => {
43
- if (typeof value === "boolean") {
44
- return "boolean";
45
- } else if (typeof value === "number") {
46
- return "number";
47
- } else if (typeof value === "string") {
48
- return "string";
49
- }
50
- return "string";
51
- };
52
- function getTypedValue(value, type, throwIfInvalid = false, options) {
53
- switch (type) {
54
- case "int":
55
- case "long": {
56
- if (stringIsValidInt(value)) {
57
- return parseInt(value, 10);
58
- } else if (isValidTimeString(value)) {
59
- return value;
60
- } else if (throwIfInvalid) {
61
- throw Error(`value ${value} is not a valid ${type}`);
62
- } else {
63
- return void 0;
64
- }
65
- }
66
- case "scaleddecimal2":
67
- return ScaledDecimal2(value);
68
- case "scaleddecimal4":
69
- return ScaledDecimal4(value);
70
- case "scaleddecimal6":
71
- return ScaledDecimal6(value);
72
- case "scaleddecimal8":
73
- return ScaledDecimal8(value);
74
- case "double":
75
- case "number": {
76
- if (stringIsValidDecimal(value)) {
77
- return parseFloat(value);
78
- } else if (throwIfInvalid) {
79
- throw new DataValidationError(
80
- `value ${value} is not a valid ${type}`,
81
- "decimal",
82
- getActualType(value)
83
- );
84
- } else {
85
- return void 0;
86
- }
87
- }
88
- case "boolean":
89
- return value === "true" ? true : false;
90
- case "time":
91
- if (isValidTimeString(value)) {
92
- if (options?.type === "TimeString") {
93
- return value;
94
- } else {
95
- return +Time(value).asDate();
96
- }
97
- } else if (value.length > 0 && Time.isDateInMillis(value)) {
98
- return Number(value);
99
- } else if (throwIfInvalid) {
100
- throw Error(`value ${value} is not a valid ${type}`);
101
- } else {
102
- return void 0;
103
- }
104
- default:
105
- return value;
106
- }
107
- }
108
-
109
- export { DataValidationError, getFieldName, getTypedRange, getTypedValue, isNumber, isValidRange };
110
- //# sourceMappingURL=form-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-utils.js","sources":["../../../../../../packages/vuu-utils/src/form-utils.ts"],"sourcesContent":["import { DataValueTypeSimple } from \"@vuu-ui/vuu-data-types\";\nimport {\n VuuColumnDataType,\n VuuRowDataItemType,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { KeyboardEvent, SyntheticEvent } from \"react\";\nimport { stringIsValidDecimal, stringIsValidInt } from \"./data-utils\";\nimport { isValidTimeString, Time } from \"./date\";\nimport { queryClosest } from \"./html-utils\";\nimport { ExtendedFilterOptions } from \"@vuu-ui/vuu-filter-types\";\nimport {\n type ScaledDecimal,\n ScaledDecimal2,\n ScaledDecimal4,\n ScaledDecimal6,\n ScaledDecimal8,\n} from \"./ScaledDecimal\";\n\nexport class DataValidationError extends Error {\n actualType: string;\n expectedType: string;\n constructor(message: string, expectedType: string, actualType: string) {\n super(message);\n this.actualType = actualType;\n this.expectedType = expectedType;\n }\n}\n\n/**\n * Use with the following convention:\n *\n * <FormField data-field=\"my-field-name\">\n */\nexport const getFieldName = (target: EventTarget | HTMLElement): string => {\n const saltFormField = queryClosest(target, \"[data-field]\") as HTMLElement;\n const fieldName = saltFormField?.dataset.field;\n if (fieldName) {\n return fieldName;\n } else {\n throw Error(\"named form field not found\");\n }\n};\n\nexport type InputSource = \"typeahead-suggestion\" | \"text-input\";\n\nexport const isNumber = (\n type: string,\n value: VuuRowDataItemType,\n): value is number => type === \"number\";\n\nexport type CommitHandler<\n E extends HTMLElement = HTMLInputElement,\n T = VuuRowDataItemType,\n> = (\n evt: SyntheticEvent<E> | KeyboardEvent<E>,\n value: T,\n source?: InputSource,\n) => void;\n\nexport const isValidRange = <T>([val1, val2]: [T, T]) => {\n if (isValidTimeString(val1) && isValidTimeString(val2)) {\n return val2 > val1;\n }\n return true;\n};\n\n/**\n * Convert a pair of string values to the type appropriate for the\n * associated column or form field. Can be used when processing a string value\n * from an input used for user editing.\n *\n */\nexport function getTypedRange(\n [value1, value2]: [string, string],\n dataType: VuuColumnDataType | DataValueTypeSimple,\n options?: ExtendedFilterOptions,\n) {\n return [\n getTypedValue(value1, dataType, false, options),\n getTypedValue(value2, dataType, false, options),\n ];\n}\n\nconst getActualType = (\n value: string | number | boolean,\n): \"string\" | \"number\" | \"boolean\" => {\n if (typeof value === \"boolean\") {\n return \"boolean\";\n } else if (typeof value === \"number\") {\n return \"number\";\n } else if (typeof value === \"string\") {\n return \"string\";\n }\n return \"string\";\n};\n\n/**\n * Convert a string value to the type appropriate for the associated\n * column or form field. Can be used when processing a string value\n * from an input used for user editing.\n *\n * @param value\n * @param type\n * @param throwIfInvalid\n */\nexport function getTypedValue(\n value: string,\n type: VuuColumnDataType | DataValueTypeSimple,\n throwIfInvalid?: false,\n options?: ExtendedFilterOptions,\n): VuuRowDataItemType | undefined;\nexport function getTypedValue(\n value: string,\n type: VuuColumnDataType | DataValueTypeSimple,\n throwIfInvalid: true,\n options?: ExtendedFilterOptions,\n): VuuRowDataItemType;\nexport function getTypedValue(\n value: string,\n type: VuuColumnDataType | DataValueTypeSimple,\n throwIfInvalid = false,\n options?: ExtendedFilterOptions,\n): VuuRowDataItemType | ScaledDecimal | undefined {\n switch (type) {\n case \"int\":\n case \"long\": {\n if (stringIsValidInt(value)) {\n return parseInt(value, 10);\n } else if (isValidTimeString(value)) {\n //TOCHECK\n return value;\n } else if (throwIfInvalid) {\n throw Error(`value ${value} is not a valid ${type}`);\n } else {\n return undefined;\n }\n }\n\n case \"scaleddecimal2\":\n return ScaledDecimal2(value);\n case \"scaleddecimal4\":\n return ScaledDecimal4(value);\n case \"scaleddecimal6\":\n return ScaledDecimal6(value);\n case \"scaleddecimal8\":\n return ScaledDecimal8(value);\n case \"double\":\n case \"number\": {\n if (stringIsValidDecimal(value)) {\n return parseFloat(value);\n } else if (throwIfInvalid) {\n throw new DataValidationError(\n `value ${value} is not a valid ${type}`,\n \"decimal\",\n getActualType(value),\n );\n } else {\n return undefined;\n }\n }\n\n case \"boolean\":\n return value === \"true\" ? true : false;\n\n case \"time\":\n if (isValidTimeString(value)) {\n // We don't manipulate the values of 'extended' filters, the\n // ExtendedFilter impementation will do that.\n if (options?.type === \"TimeString\") {\n return value;\n } else {\n return +Time(value).asDate();\n }\n } else if (value.length > 0 && Time.isDateInMillis(value)) {\n //if value previously converted\n return Number(value);\n } else if (throwIfInvalid) {\n throw Error(`value ${value} is not a valid ${type}`);\n } else {\n return undefined;\n }\n default:\n return value;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- import { isDateTimeDataValue, isTimeDataValue, isTypeDescriptor, isMappedValueTypeRenderer } from './column-utils.js';
2
- import './date/date-utils.js';
3
- import { dateTimePattern } from './date/dateTimePattern.js';
4
- import { formatDate } from './date/formatter.js';
5
- import { roundScaledDecimal, roundDecimal } from './round-decimal.js';
6
- import { isNumericType } from './protocol-message-utils.js';
7
-
8
- const DEFAULT_NUMERIC_FORMAT = {};
9
- const defaultValueFormatter = (value) => value == null ? "" : typeof value === "string" ? value : value.toString();
10
- const dateFormatter = (column) => {
11
- const pattern = dateTimePattern(column.type);
12
- const formatter = formatDate(pattern);
13
- return (value) => {
14
- if (typeof value === "number" && value !== 0) {
15
- return formatter(new Date(value));
16
- } else {
17
- return "";
18
- }
19
- };
20
- };
21
- const numericFormatter = ({
22
- align = "right",
23
- serverDataType,
24
- type
25
- }) => {
26
- if (type === void 0 || typeof type === "string") {
27
- return defaultValueFormatter;
28
- } else {
29
- const {
30
- alignOnDecimals = false,
31
- decimals,
32
- roundingRule,
33
- useLocaleString,
34
- zeroPad = false
35
- } = type.formatting ?? DEFAULT_NUMERIC_FORMAT;
36
- return (value) => {
37
- if (serverDataType?.startsWith("scaleddecimal")) {
38
- if (typeof value === "string") {
39
- return roundScaledDecimal(
40
- value,
41
- align,
42
- decimals,
43
- zeroPad,
44
- alignOnDecimals,
45
- useLocaleString,
46
- roundingRule
47
- );
48
- } else {
49
- throw Error(
50
- `[formatting-utils] numericFormatter, invalid data for ${serverDataType}: '${value}'`
51
- );
52
- }
53
- }
54
- if (typeof value === "string" && (value.startsWith("\u03A3") || value.startsWith("["))) {
55
- return value;
56
- }
57
- const number = typeof value === "number" ? value : typeof value === "string" ? parseFloat(value) : void 0;
58
- return roundDecimal(
59
- number,
60
- align,
61
- decimals,
62
- zeroPad,
63
- alignOnDecimals,
64
- useLocaleString,
65
- roundingRule
66
- );
67
- };
68
- }
69
- };
70
- const mapFormatter = (map) => {
71
- return (value) => {
72
- return map[value] ?? "";
73
- };
74
- };
75
- const NumericTypes = ["decimal", "number"];
76
- const getValueFormatter = (column, serverDataType = column.serverDataType) => {
77
- if (isDateTimeDataValue(column, serverDataType) || isTimeDataValue(column)) {
78
- return dateFormatter(column);
79
- }
80
- const { type } = column;
81
- if (isTypeDescriptor(type) && isMappedValueTypeRenderer(type?.renderer)) {
82
- return mapFormatter(type.renderer.map);
83
- } else if (isNumericType(serverDataType) || isTypeDescriptor(type) && NumericTypes.includes(type.name)) {
84
- return numericFormatter(column);
85
- } else if (serverDataType === "string" || serverDataType === "char") {
86
- return (value) => value;
87
- }
88
- return defaultValueFormatter;
89
- };
90
- const lowerCase = (str) => str.toLowerCase();
91
-
92
- export { defaultValueFormatter, getValueFormatter, lowerCase, numericFormatter };
93
- //# sourceMappingURL=formatting-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatting-utils.js","sources":["../../../../../../packages/vuu-utils/src/formatting-utils.ts"],"sourcesContent":["import { DataValueDescriptor } from \"@vuu-ui/vuu-data-types\";\nimport {\n ColumnDescriptor,\n ColumnTypeFormatting,\n ColumnTypeValueMap,\n ValueFormatter,\n} from \"@vuu-ui/vuu-table-types\";\nimport {\n isDateTimeDataValue,\n isMappedValueTypeRenderer,\n isTimeDataValue,\n isTypeDescriptor,\n} from \"./column-utils\";\nimport { dateTimePattern, formatDate } from \"./date\";\nimport { roundDecimal, roundScaledDecimal } from \"./round-decimal\";\nimport { isNumericType } from \"./protocol-message-utils\";\n\nexport type ValueFormatters = {\n [key: string]: ValueFormatter;\n};\n\nconst DEFAULT_NUMERIC_FORMAT: ColumnTypeFormatting = {};\n\nexport const defaultValueFormatter = (value: unknown) =>\n value == null ? \"\" : typeof value === \"string\" ? value : value.toString();\n\nconst dateFormatter = (column: DataValueDescriptor) => {\n const pattern = dateTimePattern(column.type);\n const formatter = formatDate(pattern);\n\n return (value: unknown) => {\n if (typeof value === \"number\" && value !== 0) {\n return formatter(new Date(value));\n } else {\n return \"\";\n }\n };\n};\n\nexport const numericFormatter = ({\n align = \"right\",\n serverDataType,\n type,\n}: Partial<ColumnDescriptor>) => {\n if (type === undefined || typeof type === \"string\") {\n return defaultValueFormatter;\n } else {\n const {\n alignOnDecimals = false,\n decimals,\n roundingRule,\n useLocaleString,\n zeroPad = false,\n } = type.formatting ?? DEFAULT_NUMERIC_FORMAT;\n return (value: unknown) => {\n if (serverDataType?.startsWith(\"scaleddecimal\")) {\n if (typeof value === \"string\") {\n return roundScaledDecimal(\n value,\n align,\n decimals,\n zeroPad,\n alignOnDecimals,\n useLocaleString,\n roundingRule,\n );\n } else {\n throw Error(\n `[formatting-utils] numericFormatter, invalid data for ${serverDataType}: '${value}'`,\n );\n }\n }\n if (\n typeof value === \"string\" &&\n (value.startsWith(\"Σ\") || value.startsWith(\"[\"))\n ) {\n return value;\n }\n const number =\n typeof value === \"number\"\n ? value\n : typeof value === \"string\"\n ? parseFloat(value)\n : undefined;\n return roundDecimal(\n number,\n align,\n decimals,\n zeroPad,\n alignOnDecimals,\n useLocaleString,\n roundingRule,\n );\n };\n }\n};\n\nconst mapFormatter = (map: ColumnTypeValueMap) => {\n return (value: unknown) => {\n return map[value as string] ?? \"\";\n };\n};\n\nconst NumericTypes = [\"decimal\", \"number\"];\n\nexport const getValueFormatter = (\n column: ColumnDescriptor,\n serverDataType = column.serverDataType,\n): ValueFormatter => {\n if (isDateTimeDataValue(column, serverDataType) || isTimeDataValue(column)) {\n return dateFormatter(column);\n }\n\n const { type } = column;\n if (isTypeDescriptor(type) && isMappedValueTypeRenderer(type?.renderer)) {\n return mapFormatter(type.renderer.map);\n } else if (\n isNumericType(serverDataType) ||\n (isTypeDescriptor(type) && NumericTypes.includes(type.name))\n ) {\n return numericFormatter(column);\n } else if (serverDataType === \"string\" || serverDataType === \"char\") {\n return (value: unknown) => value as string;\n }\n return defaultValueFormatter;\n};\n\n/**\n * Lowercases a string and returns as Lowercase typescript type\n *\n * @param str the input string\n * @returns str converted to Lowercase\n */\nexport const lowerCase = (str: string) =>\n str.toLowerCase() as Lowercase<string>;\n"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- const getUniqueId = () => `hw-${Math.round(Math.random() * 1e5)}`;
2
-
3
- export { getUniqueId };
4
- //# sourceMappingURL=getUniqueId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getUniqueId.js","sources":["../../../../../../packages/vuu-utils/src/getUniqueId.ts"],"sourcesContent":["export const getUniqueId = () => `hw-${Math.round(Math.random() * 1e5)}`;\n"],"names":[],"mappings":"AAAa,MAAA,WAAA,GAAc,MAAM,CAAM,GAAA,EAAA,IAAA,CAAK,MAAM,IAAK,CAAA,MAAA,EAAW,GAAA,GAAG,CAAC,CAAA;;;;"}
@@ -1,23 +0,0 @@
1
- function addGroupColumn(groupBy, column) {
2
- if (groupBy.length > 0) {
3
- return groupBy.concat(column.name);
4
- } else {
5
- return [column.name];
6
- }
7
- }
8
- const removeGroupColumn = (groupBy, column) => groupBy.filter((colName) => colName !== column.name);
9
- const getGroupStatus = (columnName, groupBy) => {
10
- if (groupBy === void 0 || groupBy.length === 0) {
11
- return "no-groupby";
12
- } else {
13
- const indexPos = groupBy.indexOf(columnName);
14
- if (indexPos === -1) {
15
- return groupBy.length === 1 ? "single-groupby-other-column" : "multi-groupby-other-columns";
16
- } else {
17
- return groupBy.length === 1 ? "single-groupby" : "single-groupby-other-column";
18
- }
19
- }
20
- };
21
-
22
- export { addGroupColumn, getGroupStatus, removeGroupColumn };
23
- //# sourceMappingURL=group-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-utils.js","sources":["../../../../../../packages/vuu-utils/src/group-utils.ts"],"sourcesContent":["import { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { VuuGroupBy } from \"@vuu-ui/vuu-protocol-types\";\n\nexport function addGroupColumn(groupBy: VuuGroupBy, column: ColumnDescriptor) {\n if (groupBy.length > 0) {\n return groupBy.concat(column.name);\n } else {\n return [column.name];\n }\n}\n\nexport const removeGroupColumn = (\n groupBy: VuuGroupBy,\n column: ColumnDescriptor,\n) => groupBy.filter((colName) => colName !== column.name);\n\nexport type ColumnGroupStatus =\n | \"no-groupby\"\n | \"single-groupby-other-column\"\n | \"single-groupby\"\n | \"multi-groupby-other-columns\"\n | \"multi-groupby-includes-column\";\n\n/**\n * Given a VuuGroupby definition and a column, determine whether the given column\n * is included in the grouping and if so, in what position/direction.\n */\nexport const getGroupStatus = (\n columnName: string,\n groupBy?: VuuGroupBy,\n): ColumnGroupStatus => {\n if (groupBy === undefined || groupBy.length === 0) {\n return \"no-groupby\";\n } else {\n const indexPos = groupBy.indexOf(columnName);\n if (indexPos === -1) {\n return groupBy.length === 1\n ? \"single-groupby-other-column\"\n : \"multi-groupby-other-columns\";\n } else {\n return groupBy.length === 1\n ? \"single-groupby\"\n : \"single-groupby-other-column\";\n }\n }\n};\n"],"names":[],"mappings":"AAGgB,SAAA,cAAA,CAAe,SAAqB,MAA0B,EAAA;AAC5E,EAAI,IAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACtB,IAAO,OAAA,OAAA,CAAQ,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA;AAAA,GAC5B,MAAA;AACL,IAAO,OAAA,CAAC,OAAO,IAAI,CAAA;AAAA;AAEvB;AAEa,MAAA,iBAAA,GAAoB,CAC/B,OAAA,EACA,MACG,KAAA,OAAA,CAAQ,OAAO,CAAC,OAAA,KAAY,OAAY,KAAA,MAAA,CAAO,IAAI;AAa3C,MAAA,cAAA,GAAiB,CAC5B,UAAA,EACA,OACsB,KAAA;AACtB,EAAA,IAAI,OAAY,KAAA,KAAA,CAAA,IAAa,OAAQ,CAAA,MAAA,KAAW,CAAG,EAAA;AACjD,IAAO,OAAA,YAAA;AAAA,GACF,MAAA;AACL,IAAM,MAAA,QAAA,GAAW,OAAQ,CAAA,OAAA,CAAQ,UAAU,CAAA;AAC3C,IAAA,IAAI,aAAa,CAAI,CAAA,EAAA;AACnB,MAAO,OAAA,OAAA,CAAQ,MAAW,KAAA,CAAA,GACtB,6BACA,GAAA,6BAAA;AAAA,KACC,MAAA;AACL,MAAO,OAAA,OAAA,CAAQ,MAAW,KAAA,CAAA,GACtB,gBACA,GAAA,6BAAA;AAAA;AACN;AAEJ;;;;"}