@vuu-ui/vuu-utils 3.0.0 → 3.1.0-beta.2

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 (408) hide show
  1. package/package.json +16 -12
  2. package/src/Clock.js +43 -0
  3. package/src/PageVisibilityObserver.js +42 -0
  4. package/src/ScaledDecimal.js +32 -0
  5. package/src/ShellContext.js +5 -0
  6. package/src/ThemeProvider.js +56 -0
  7. package/src/array-utils.js +61 -0
  8. package/src/box-utils.js +51 -0
  9. package/src/broadcast-channel.js +0 -0
  10. package/src/column-utils.js +787 -0
  11. package/src/common-types.js +11 -0
  12. package/src/component-registry.js +83 -0
  13. package/src/context-definitions/DataContext.js +15 -0
  14. package/src/context-definitions/DataProvider.js +13 -0
  15. package/src/context-definitions/DataSourceProvider.js +18 -0
  16. package/src/context-definitions/WorkspaceContext.js +14 -0
  17. package/src/cookie-utils.js +15 -0
  18. package/src/css-utils.js +5 -0
  19. package/src/data-utils.js +66 -0
  20. package/src/datasource/BaseDataSource.js +233 -0
  21. package/src/datasource/datasource-action-utils.js +6 -0
  22. package/src/datasource/datasource-filter-utils.js +27 -0
  23. package/src/datasource/datasource-utils.js +148 -0
  24. package/src/date/date-utils.js +80 -0
  25. package/src/date/dateTimePattern.js +17 -0
  26. package/src/date/formatter.js +101 -0
  27. package/src/date/index.js +4 -0
  28. package/src/date/types.js +27 -0
  29. package/src/debug-utils.js +25 -0
  30. package/src/edit-utils.js +2 -0
  31. package/{esm/packages/vuu-utils/src → src}/errors.js +0 -2
  32. package/src/event-emitter.js +78 -0
  33. package/src/feature-utils.js +86 -0
  34. package/src/filters/filter-utils.js +136 -0
  35. package/src/filters/filterAsQuery.js +70 -0
  36. package/src/filters/index.js +2 -0
  37. package/src/form-utils.js +71 -0
  38. package/src/formatting-utils.js +58 -0
  39. package/src/getUniqueId.js +2 -0
  40. package/src/group-utils.js +16 -0
  41. package/src/html-utils.js +108 -0
  42. package/src/index.js +74 -0
  43. package/src/input-utils.js +3 -0
  44. package/src/invariant.js +9 -0
  45. package/src/itemToString.js +9 -0
  46. package/src/json-types.js +0 -0
  47. package/src/json-utils.js +108 -0
  48. package/{esm/packages/vuu-utils/src → src}/keyboard-utils.js +1 -3
  49. package/src/keyset.js +57 -0
  50. package/src/layout-types.js +0 -0
  51. package/src/list-utils.js +5 -0
  52. package/src/local-storage-utils.js +23 -0
  53. package/src/logging-utils.js +52 -0
  54. package/src/module-utils.js +2 -0
  55. package/src/nanoid/index.js +13 -0
  56. package/src/perf-utils.js +28 -0
  57. package/src/promise-utils.js +26 -0
  58. package/src/protocol-message-utils.js +71 -0
  59. package/src/range-utils.js +125 -0
  60. package/src/react-utils.js +64 -0
  61. package/src/round-decimal.js +83 -0
  62. package/src/row-utils.js +43 -0
  63. package/src/selection-utils.js +50 -0
  64. package/src/shell-layout-types.js +9 -0
  65. package/src/sort-utils.js +75 -0
  66. package/src/table-schema-utils.js +16 -0
  67. package/src/text-utils.js +15 -0
  68. package/src/theme-utils.js +21 -0
  69. package/src/tree-types.js +0 -0
  70. package/src/tree-utils.js +96 -0
  71. package/src/ts-utils.js +6 -0
  72. package/src/typeahead-utils.js +4 -0
  73. package/src/url-utils.js +12 -0
  74. package/src/useId.js +6 -0
  75. package/src/useLayoutEffectSkipFirst.js +9 -0
  76. package/src/useResizeObserver.js +122 -0
  77. package/src/useStateRef.js +21 -0
  78. package/src/user-types.js +0 -0
  79. package/cjs/node_modules/@dnd-kit/abstract/index.js +0 -1488
  80. package/cjs/node_modules/@dnd-kit/abstract/index.js.map +0 -1
  81. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js +0 -85
  82. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
  83. package/cjs/node_modules/@dnd-kit/collision/dist/index.js +0 -91
  84. package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
  85. package/cjs/node_modules/@dnd-kit/dom/index.js +0 -1991
  86. package/cjs/node_modules/@dnd-kit/dom/index.js.map +0 -1
  87. package/cjs/node_modules/@dnd-kit/dom/sortable.js +0 -828
  88. package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
  89. package/cjs/node_modules/@dnd-kit/dom/utilities.js +0 -1389
  90. package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
  91. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +0 -310
  92. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
  93. package/cjs/node_modules/@dnd-kit/react/hooks.js +0 -134
  94. package/cjs/node_modules/@dnd-kit/react/hooks.js.map +0 -1
  95. package/cjs/node_modules/@dnd-kit/react/index.js +0 -398
  96. package/cjs/node_modules/@dnd-kit/react/index.js.map +0 -1
  97. package/cjs/node_modules/@dnd-kit/react/sortable.js +0 -177
  98. package/cjs/node_modules/@dnd-kit/react/sortable.js.map +0 -1
  99. package/cjs/node_modules/@dnd-kit/react/utilities.js +0 -19
  100. package/cjs/node_modules/@dnd-kit/react/utilities.js.map +0 -1
  101. package/cjs/node_modules/@dnd-kit/state/dist/index.js +0 -280
  102. package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
  103. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +0 -11
  104. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
  105. package/cjs/packages/vuu-utils/src/Clock.js +0 -62
  106. package/cjs/packages/vuu-utils/src/Clock.js.map +0 -1
  107. package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js +0 -80
  108. package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
  109. package/cjs/packages/vuu-utils/src/ScaledDecimal.js +0 -43
  110. package/cjs/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
  111. package/cjs/packages/vuu-utils/src/ShellContext.js +0 -13
  112. package/cjs/packages/vuu-utils/src/ShellContext.js.map +0 -1
  113. package/cjs/packages/vuu-utils/src/ThemeProvider.js +0 -85
  114. package/cjs/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
  115. package/cjs/packages/vuu-utils/src/array-utils.js +0 -102
  116. package/cjs/packages/vuu-utils/src/array-utils.js.map +0 -1
  117. package/cjs/packages/vuu-utils/src/box-utils.js +0 -53
  118. package/cjs/packages/vuu-utils/src/box-utils.js.map +0 -1
  119. package/cjs/packages/vuu-utils/src/column-utils.js +0 -1056
  120. package/cjs/packages/vuu-utils/src/column-utils.js.map +0 -1
  121. package/cjs/packages/vuu-utils/src/common-types.js +0 -15
  122. package/cjs/packages/vuu-utils/src/common-types.js.map +0 -1
  123. package/cjs/packages/vuu-utils/src/component-registry.js +0 -144
  124. package/cjs/packages/vuu-utils/src/component-registry.js.map +0 -1
  125. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js +0 -21
  126. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
  127. package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -19
  128. package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
  129. package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -33
  130. package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
  131. package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -20
  132. package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
  133. package/cjs/packages/vuu-utils/src/cookie-utils.js +0 -22
  134. package/cjs/packages/vuu-utils/src/cookie-utils.js.map +0 -1
  135. package/cjs/packages/vuu-utils/src/css-utils.js +0 -9
  136. package/cjs/packages/vuu-utils/src/css-utils.js.map +0 -1
  137. package/cjs/packages/vuu-utils/src/data-utils.js +0 -110
  138. package/cjs/packages/vuu-utils/src/data-utils.js.map +0 -1
  139. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -317
  140. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
  141. package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -14
  142. package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
  143. package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -40
  144. package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
  145. package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js +0 -218
  146. package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
  147. package/cjs/packages/vuu-utils/src/date/date-utils.js +0 -131
  148. package/cjs/packages/vuu-utils/src/date/date-utils.js.map +0 -1
  149. package/cjs/packages/vuu-utils/src/date/dateTimePattern.js +0 -26
  150. package/cjs/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
  151. package/cjs/packages/vuu-utils/src/date/formatter.js +0 -82
  152. package/cjs/packages/vuu-utils/src/date/formatter.js.map +0 -1
  153. package/cjs/packages/vuu-utils/src/date/types.js +0 -32
  154. package/cjs/packages/vuu-utils/src/date/types.js.map +0 -1
  155. package/cjs/packages/vuu-utils/src/debug-utils.js +0 -34
  156. package/cjs/packages/vuu-utils/src/debug-utils.js.map +0 -1
  157. package/cjs/packages/vuu-utils/src/edit-utils.js +0 -6
  158. package/cjs/packages/vuu-utils/src/edit-utils.js.map +0 -1
  159. package/cjs/packages/vuu-utils/src/errors.js +0 -7
  160. package/cjs/packages/vuu-utils/src/errors.js.map +0 -1
  161. package/cjs/packages/vuu-utils/src/event-emitter.js +0 -113
  162. package/cjs/packages/vuu-utils/src/event-emitter.js.map +0 -1
  163. package/cjs/packages/vuu-utils/src/feature-utils.js +0 -139
  164. package/cjs/packages/vuu-utils/src/feature-utils.js.map +0 -1
  165. package/cjs/packages/vuu-utils/src/filters/filter-utils.js +0 -182
  166. package/cjs/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
  167. package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js +0 -69
  168. package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
  169. package/cjs/packages/vuu-utils/src/form-utils.js +0 -123
  170. package/cjs/packages/vuu-utils/src/form-utils.js.map +0 -1
  171. package/cjs/packages/vuu-utils/src/formatting-utils.js +0 -114
  172. package/cjs/packages/vuu-utils/src/formatting-utils.js.map +0 -1
  173. package/cjs/packages/vuu-utils/src/getUniqueId.js +0 -6
  174. package/cjs/packages/vuu-utils/src/getUniqueId.js.map +0 -1
  175. package/cjs/packages/vuu-utils/src/group-utils.js +0 -27
  176. package/cjs/packages/vuu-utils/src/group-utils.js.map +0 -1
  177. package/cjs/packages/vuu-utils/src/html-utils.js +0 -162
  178. package/cjs/packages/vuu-utils/src/html-utils.js.map +0 -1
  179. package/cjs/packages/vuu-utils/src/index.js +0 -478
  180. package/cjs/packages/vuu-utils/src/index.js.map +0 -1
  181. package/cjs/packages/vuu-utils/src/input-utils.js +0 -10
  182. package/cjs/packages/vuu-utils/src/input-utils.js.map +0 -1
  183. package/cjs/packages/vuu-utils/src/invariant.js +0 -13
  184. package/cjs/packages/vuu-utils/src/invariant.js.map +0 -1
  185. package/cjs/packages/vuu-utils/src/itemToString.js +0 -23
  186. package/cjs/packages/vuu-utils/src/itemToString.js.map +0 -1
  187. package/cjs/packages/vuu-utils/src/json-utils.js +0 -105
  188. package/cjs/packages/vuu-utils/src/json-utils.js.map +0 -1
  189. package/cjs/packages/vuu-utils/src/keyboard-utils.js +0 -30
  190. package/cjs/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
  191. package/cjs/packages/vuu-utils/src/keyset.js +0 -72
  192. package/cjs/packages/vuu-utils/src/keyset.js.map +0 -1
  193. package/cjs/packages/vuu-utils/src/list-utils.js +0 -11
  194. package/cjs/packages/vuu-utils/src/list-utils.js.map +0 -1
  195. package/cjs/packages/vuu-utils/src/local-storage-utils.js +0 -35
  196. package/cjs/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
  197. package/cjs/packages/vuu-utils/src/logging-utils.js +0 -65
  198. package/cjs/packages/vuu-utils/src/logging-utils.js.map +0 -1
  199. package/cjs/packages/vuu-utils/src/module-utils.js +0 -6
  200. package/cjs/packages/vuu-utils/src/module-utils.js.map +0 -1
  201. package/cjs/packages/vuu-utils/src/nanoid/index.js +0 -22
  202. package/cjs/packages/vuu-utils/src/nanoid/index.js.map +0 -1
  203. package/cjs/packages/vuu-utils/src/perf-utils.js +0 -35
  204. package/cjs/packages/vuu-utils/src/perf-utils.js.map +0 -1
  205. package/cjs/packages/vuu-utils/src/promise-utils.js +0 -42
  206. package/cjs/packages/vuu-utils/src/promise-utils.js.map +0 -1
  207. package/cjs/packages/vuu-utils/src/protocol-message-utils.js +0 -110
  208. package/cjs/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
  209. package/cjs/packages/vuu-utils/src/range-utils.js +0 -140
  210. package/cjs/packages/vuu-utils/src/range-utils.js.map +0 -1
  211. package/cjs/packages/vuu-utils/src/react-utils.js +0 -72
  212. package/cjs/packages/vuu-utils/src/react-utils.js.map +0 -1
  213. package/cjs/packages/vuu-utils/src/round-decimal.js +0 -131
  214. package/cjs/packages/vuu-utils/src/round-decimal.js.map +0 -1
  215. package/cjs/packages/vuu-utils/src/row-utils.js +0 -59
  216. package/cjs/packages/vuu-utils/src/row-utils.js.map +0 -1
  217. package/cjs/packages/vuu-utils/src/selection-utils.js +0 -65
  218. package/cjs/packages/vuu-utils/src/selection-utils.js.map +0 -1
  219. package/cjs/packages/vuu-utils/src/shell-layout-types.js +0 -13
  220. package/cjs/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
  221. package/cjs/packages/vuu-utils/src/sort-utils.js +0 -78
  222. package/cjs/packages/vuu-utils/src/sort-utils.js.map +0 -1
  223. package/cjs/packages/vuu-utils/src/table-schema-utils.js +0 -23
  224. package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
  225. package/cjs/packages/vuu-utils/src/text-utils.js +0 -26
  226. package/cjs/packages/vuu-utils/src/text-utils.js.map +0 -1
  227. package/cjs/packages/vuu-utils/src/theme-utils.js +0 -36
  228. package/cjs/packages/vuu-utils/src/theme-utils.js.map +0 -1
  229. package/cjs/packages/vuu-utils/src/tree-utils.js +0 -114
  230. package/cjs/packages/vuu-utils/src/tree-utils.js.map +0 -1
  231. package/cjs/packages/vuu-utils/src/ts-utils.js +0 -12
  232. package/cjs/packages/vuu-utils/src/ts-utils.js.map +0 -1
  233. package/cjs/packages/vuu-utils/src/typeahead-utils.js +0 -6
  234. package/cjs/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
  235. package/cjs/packages/vuu-utils/src/url-utils.js +0 -21
  236. package/cjs/packages/vuu-utils/src/url-utils.js.map +0 -1
  237. package/cjs/packages/vuu-utils/src/useId.js +0 -9
  238. package/cjs/packages/vuu-utils/src/useId.js.map +0 -1
  239. package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -17
  240. package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
  241. package/cjs/packages/vuu-utils/src/useResizeObserver.js +0 -134
  242. package/cjs/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
  243. package/cjs/packages/vuu-utils/src/useStateRef.js +0 -23
  244. package/cjs/packages/vuu-utils/src/useStateRef.js.map +0 -1
  245. package/esm/node_modules/@dnd-kit/abstract/index.js +0 -1472
  246. package/esm/node_modules/@dnd-kit/abstract/index.js.map +0 -1
  247. package/esm/node_modules/@dnd-kit/abstract/modifiers.js +0 -82
  248. package/esm/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
  249. package/esm/node_modules/@dnd-kit/collision/dist/index.js +0 -86
  250. package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
  251. package/esm/node_modules/@dnd-kit/dom/index.js +0 -1977
  252. package/esm/node_modules/@dnd-kit/dom/index.js.map +0 -1
  253. package/esm/node_modules/@dnd-kit/dom/sortable.js +0 -822
  254. package/esm/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
  255. package/esm/node_modules/@dnd-kit/dom/utilities.js +0 -1344
  256. package/esm/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
  257. package/esm/node_modules/@dnd-kit/geometry/dist/index.js +0 -303
  258. package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
  259. package/esm/node_modules/@dnd-kit/react/hooks.js +0 -126
  260. package/esm/node_modules/@dnd-kit/react/hooks.js.map +0 -1
  261. package/esm/node_modules/@dnd-kit/react/index.js +0 -392
  262. package/esm/node_modules/@dnd-kit/react/index.js.map +0 -1
  263. package/esm/node_modules/@dnd-kit/react/sortable.js +0 -175
  264. package/esm/node_modules/@dnd-kit/react/sortable.js.map +0 -1
  265. package/esm/node_modules/@dnd-kit/react/utilities.js +0 -17
  266. package/esm/node_modules/@dnd-kit/react/utilities.js.map +0 -1
  267. package/esm/node_modules/@dnd-kit/state/dist/index.js +0 -266
  268. package/esm/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
  269. package/esm/node_modules/@preact/signals-core/dist/signals-core.js +0 -4
  270. package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
  271. package/esm/packages/vuu-utils/src/Clock.js +0 -60
  272. package/esm/packages/vuu-utils/src/Clock.js.map +0 -1
  273. package/esm/packages/vuu-utils/src/PageVisibilityObserver.js +0 -78
  274. package/esm/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
  275. package/esm/packages/vuu-utils/src/ScaledDecimal.js +0 -37
  276. package/esm/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
  277. package/esm/packages/vuu-utils/src/ShellContext.js +0 -10
  278. package/esm/packages/vuu-utils/src/ShellContext.js.map +0 -1
  279. package/esm/packages/vuu-utils/src/ThemeProvider.js +0 -78
  280. package/esm/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
  281. package/esm/packages/vuu-utils/src/array-utils.js +0 -93
  282. package/esm/packages/vuu-utils/src/array-utils.js.map +0 -1
  283. package/esm/packages/vuu-utils/src/box-utils.js +0 -47
  284. package/esm/packages/vuu-utils/src/box-utils.js.map +0 -1
  285. package/esm/packages/vuu-utils/src/column-utils.js +0 -968
  286. package/esm/packages/vuu-utils/src/column-utils.js.map +0 -1
  287. package/esm/packages/vuu-utils/src/common-types.js +0 -13
  288. package/esm/packages/vuu-utils/src/common-types.js.map +0 -1
  289. package/esm/packages/vuu-utils/src/component-registry.js +0 -128
  290. package/esm/packages/vuu-utils/src/component-registry.js.map +0 -1
  291. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js +0 -18
  292. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
  293. package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -16
  294. package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
  295. package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -29
  296. package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
  297. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -17
  298. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
  299. package/esm/packages/vuu-utils/src/cookie-utils.js +0 -19
  300. package/esm/packages/vuu-utils/src/cookie-utils.js.map +0 -1
  301. package/esm/packages/vuu-utils/src/css-utils.js +0 -7
  302. package/esm/packages/vuu-utils/src/css-utils.js.map +0 -1
  303. package/esm/packages/vuu-utils/src/data-utils.js +0 -95
  304. package/esm/packages/vuu-utils/src/data-utils.js.map +0 -1
  305. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -314
  306. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
  307. package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -8
  308. package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
  309. package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -38
  310. package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
  311. package/esm/packages/vuu-utils/src/datasource/datasource-utils.js +0 -193
  312. package/esm/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
  313. package/esm/packages/vuu-utils/src/date/date-utils.js +0 -121
  314. package/esm/packages/vuu-utils/src/date/date-utils.js.map +0 -1
  315. package/esm/packages/vuu-utils/src/date/dateTimePattern.js +0 -22
  316. package/esm/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
  317. package/esm/packages/vuu-utils/src/date/formatter.js +0 -79
  318. package/esm/packages/vuu-utils/src/date/formatter.js.map +0 -1
  319. package/esm/packages/vuu-utils/src/date/types.js +0 -26
  320. package/esm/packages/vuu-utils/src/date/types.js.map +0 -1
  321. package/esm/packages/vuu-utils/src/debug-utils.js +0 -32
  322. package/esm/packages/vuu-utils/src/debug-utils.js.map +0 -1
  323. package/esm/packages/vuu-utils/src/edit-utils.js +0 -4
  324. package/esm/packages/vuu-utils/src/edit-utils.js.map +0 -1
  325. package/esm/packages/vuu-utils/src/errors.js.map +0 -1
  326. package/esm/packages/vuu-utils/src/event-emitter.js +0 -111
  327. package/esm/packages/vuu-utils/src/event-emitter.js.map +0 -1
  328. package/esm/packages/vuu-utils/src/feature-utils.js +0 -125
  329. package/esm/packages/vuu-utils/src/feature-utils.js.map +0 -1
  330. package/esm/packages/vuu-utils/src/filters/filter-utils.js +0 -159
  331. package/esm/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
  332. package/esm/packages/vuu-utils/src/filters/filterAsQuery.js +0 -65
  333. package/esm/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
  334. package/esm/packages/vuu-utils/src/form-utils.js +0 -116
  335. package/esm/packages/vuu-utils/src/form-utils.js.map +0 -1
  336. package/esm/packages/vuu-utils/src/formatting-utils.js +0 -109
  337. package/esm/packages/vuu-utils/src/formatting-utils.js.map +0 -1
  338. package/esm/packages/vuu-utils/src/getUniqueId.js +0 -4
  339. package/esm/packages/vuu-utils/src/getUniqueId.js.map +0 -1
  340. package/esm/packages/vuu-utils/src/group-utils.js +0 -23
  341. package/esm/packages/vuu-utils/src/group-utils.js.map +0 -1
  342. package/esm/packages/vuu-utils/src/html-utils.js +0 -145
  343. package/esm/packages/vuu-utils/src/html-utils.js.map +0 -1
  344. package/esm/packages/vuu-utils/src/index.js +0 -74
  345. package/esm/packages/vuu-utils/src/index.js.map +0 -1
  346. package/esm/packages/vuu-utils/src/input-utils.js +0 -7
  347. package/esm/packages/vuu-utils/src/input-utils.js.map +0 -1
  348. package/esm/packages/vuu-utils/src/invariant.js +0 -11
  349. package/esm/packages/vuu-utils/src/invariant.js.map +0 -1
  350. package/esm/packages/vuu-utils/src/itemToString.js +0 -21
  351. package/esm/packages/vuu-utils/src/itemToString.js.map +0 -1
  352. package/esm/packages/vuu-utils/src/json-utils.js +0 -103
  353. package/esm/packages/vuu-utils/src/json-utils.js.map +0 -1
  354. package/esm/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
  355. package/esm/packages/vuu-utils/src/keyset.js +0 -70
  356. package/esm/packages/vuu-utils/src/keyset.js.map +0 -1
  357. package/esm/packages/vuu-utils/src/list-utils.js +0 -9
  358. package/esm/packages/vuu-utils/src/list-utils.js.map +0 -1
  359. package/esm/packages/vuu-utils/src/local-storage-utils.js +0 -30
  360. package/esm/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
  361. package/esm/packages/vuu-utils/src/logging-utils.js +0 -61
  362. package/esm/packages/vuu-utils/src/logging-utils.js.map +0 -1
  363. package/esm/packages/vuu-utils/src/module-utils.js +0 -4
  364. package/esm/packages/vuu-utils/src/module-utils.js.map +0 -1
  365. package/esm/packages/vuu-utils/src/nanoid/index.js +0 -20
  366. package/esm/packages/vuu-utils/src/nanoid/index.js.map +0 -1
  367. package/esm/packages/vuu-utils/src/perf-utils.js +0 -32
  368. package/esm/packages/vuu-utils/src/perf-utils.js.map +0 -1
  369. package/esm/packages/vuu-utils/src/promise-utils.js +0 -40
  370. package/esm/packages/vuu-utils/src/promise-utils.js.map +0 -1
  371. package/esm/packages/vuu-utils/src/protocol-message-utils.js +0 -78
  372. package/esm/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
  373. package/esm/packages/vuu-utils/src/range-utils.js +0 -132
  374. package/esm/packages/vuu-utils/src/range-utils.js.map +0 -1
  375. package/esm/packages/vuu-utils/src/react-utils.js +0 -66
  376. package/esm/packages/vuu-utils/src/react-utils.js.map +0 -1
  377. package/esm/packages/vuu-utils/src/round-decimal.js +0 -127
  378. package/esm/packages/vuu-utils/src/round-decimal.js.map +0 -1
  379. package/esm/packages/vuu-utils/src/row-utils.js +0 -54
  380. package/esm/packages/vuu-utils/src/row-utils.js.map +0 -1
  381. package/esm/packages/vuu-utils/src/selection-utils.js +0 -61
  382. package/esm/packages/vuu-utils/src/selection-utils.js.map +0 -1
  383. package/esm/packages/vuu-utils/src/shell-layout-types.js +0 -11
  384. package/esm/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
  385. package/esm/packages/vuu-utils/src/sort-utils.js +0 -73
  386. package/esm/packages/vuu-utils/src/sort-utils.js.map +0 -1
  387. package/esm/packages/vuu-utils/src/table-schema-utils.js +0 -20
  388. package/esm/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
  389. package/esm/packages/vuu-utils/src/text-utils.js +0 -20
  390. package/esm/packages/vuu-utils/src/text-utils.js.map +0 -1
  391. package/esm/packages/vuu-utils/src/theme-utils.js +0 -34
  392. package/esm/packages/vuu-utils/src/theme-utils.js.map +0 -1
  393. package/esm/packages/vuu-utils/src/tree-utils.js +0 -108
  394. package/esm/packages/vuu-utils/src/tree-utils.js.map +0 -1
  395. package/esm/packages/vuu-utils/src/ts-utils.js +0 -8
  396. package/esm/packages/vuu-utils/src/ts-utils.js.map +0 -1
  397. package/esm/packages/vuu-utils/src/typeahead-utils.js +0 -4
  398. package/esm/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
  399. package/esm/packages/vuu-utils/src/url-utils.js +0 -18
  400. package/esm/packages/vuu-utils/src/url-utils.js.map +0 -1
  401. package/esm/packages/vuu-utils/src/useId.js +0 -7
  402. package/esm/packages/vuu-utils/src/useId.js.map +0 -1
  403. package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -15
  404. package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
  405. package/esm/packages/vuu-utils/src/useResizeObserver.js +0 -130
  406. package/esm/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
  407. package/esm/packages/vuu-utils/src/useStateRef.js +0 -21
  408. package/esm/packages/vuu-utils/src/useStateRef.js.map +0 -1
@@ -1,140 +0,0 @@
1
- 'use strict';
2
-
3
- var __defProp = Object.defineProperty;
4
- var __typeError = (msg) => {
5
- throw TypeError(msg);
6
- };
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
9
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
10
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
11
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
12
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
13
- var _baseFrom, _renderBufferSize, _baseTo;
14
- const _RangeImpl = class _RangeImpl {
15
- // We have to keep from and to as simple public properties (not getters) so they survive structuredClone
16
- constructor(from, to, renderBufferSize = 0) {
17
- this.from = from;
18
- this.to = to;
19
- __privateAdd(this, _baseFrom);
20
- __privateAdd(this, _renderBufferSize, 0);
21
- __privateAdd(this, _baseTo);
22
- __privateSet(this, _baseFrom, from);
23
- __privateSet(this, _baseTo, to);
24
- __privateSet(this, _renderBufferSize, renderBufferSize);
25
- }
26
- get reset() {
27
- return new _RangeImpl(
28
- 0,
29
- __privateGet(this, _baseTo) - __privateGet(this, _baseFrom),
30
- __privateGet(this, _renderBufferSize)
31
- );
32
- }
33
- get withBuffer() {
34
- return getFullRange(this, __privateGet(this, _renderBufferSize));
35
- }
36
- equals(range) {
37
- return range.from === __privateGet(this, _baseFrom) && range.to === __privateGet(this, _baseTo);
38
- }
39
- toJson() {
40
- return {
41
- from: this.from,
42
- to: this.to,
43
- baseFrom: __privateGet(this, _baseFrom),
44
- baseTo: __privateGet(this, _baseTo),
45
- renderBufferSize: __privateGet(this, _renderBufferSize)
46
- };
47
- }
48
- };
49
- _baseFrom = new WeakMap();
50
- _renderBufferSize = new WeakMap();
51
- _baseTo = new WeakMap();
52
- let RangeImpl = _RangeImpl;
53
- const Range = (from, to, renderBufferSize) => new RangeImpl(from, to, renderBufferSize);
54
- const NULL_RANGE = Range(0, 0);
55
- function getFullRange({ from, to }, bufferSize = 0, maxRangeEnd = Number.MAX_SAFE_INTEGER) {
56
- if (from === 0 && to === 0) {
57
- return { from, to };
58
- } else if (bufferSize === 0) {
59
- if (maxRangeEnd < from) {
60
- return { from: 0, to: 0 };
61
- } else {
62
- return { from, to: Math.min(to, maxRangeEnd) };
63
- }
64
- } else if (from === 0) {
65
- return { from, to: Math.min(to + bufferSize, maxRangeEnd) };
66
- } else {
67
- const shortfallBefore = from - bufferSize < 0;
68
- const shortfallAfter = maxRangeEnd - (to + bufferSize) < 0;
69
- if (shortfallBefore && shortfallAfter) {
70
- return { from: 0, to: maxRangeEnd };
71
- } else if (shortfallBefore) {
72
- return { from: 0, to: to + bufferSize };
73
- } else if (shortfallAfter) {
74
- return {
75
- from: Math.max(0, from - bufferSize),
76
- to: maxRangeEnd
77
- };
78
- } else {
79
- return { from: from - bufferSize, to: to + bufferSize };
80
- }
81
- }
82
- }
83
- const withinRange = (value, { from, to }) => value >= from && value < to;
84
- const rangeNewItems = ({ from: from1, to: to1 }, newRange) => {
85
- const { from: from2, to: to2 } = newRange;
86
- const noOverlap = from2 >= to1 || to2 <= from1;
87
- const newFullySubsumesOld = from2 < from1 && to2 > to1;
88
- return noOverlap || newFullySubsumesOld ? newRange : to2 > to1 ? { from: to1, to: to2 } : { from: from2, to: from1 };
89
- };
90
- class WindowRange {
91
- constructor(from, to) {
92
- __publicField(this, "from");
93
- __publicField(this, "to");
94
- this.from = from;
95
- this.to = to;
96
- }
97
- isWithin(index) {
98
- return withinRange(index, this);
99
- }
100
- //find the overlap of this range and a new one
101
- overlap(from, to) {
102
- return from >= this.to || to < this.from ? [0, 0] : [Math.max(from, this.from), Math.min(to, this.to)];
103
- }
104
- copy() {
105
- return new WindowRange(this.from, this.to);
106
- }
107
- }
108
- const constrainRangeWidth = (range, maxRangeWidth = Number.MAX_SAFE_INTEGER) => {
109
- if (range.to - range.from < maxRangeWidth) {
110
- return range;
111
- }
112
- console.warn(`[range-utils] range ${range.from} - ${range.to} exceeds maxRangeWidth ${maxRangeWidth} for this table `);
113
- return {
114
- from: range.from,
115
- to: range.from + maxRangeWidth
116
- };
117
- };
118
- const constrainRange = (range, maxRangeEnd, maxRangeWidth) => {
119
- if (maxRangeEnd > 0 && maxRangeEnd < range.to) {
120
- if (maxRangeEnd > range.from) {
121
- return constrainRangeWidth({
122
- from: range.from,
123
- to: maxRangeEnd
124
- }, maxRangeWidth);
125
- } else {
126
- throw Error(`constrainRange: cannot apply the maxRangeEnd ${maxRangeEnd} to range ${range.from} - ${range.to}`);
127
- }
128
- } else {
129
- return constrainRangeWidth(range, maxRangeWidth);
130
- }
131
- };
132
-
133
- exports.NULL_RANGE = NULL_RANGE;
134
- exports.Range = Range;
135
- exports.WindowRange = WindowRange;
136
- exports.constrainRange = constrainRange;
137
- exports.getFullRange = getFullRange;
138
- exports.rangeNewItems = rangeNewItems;
139
- exports.withinRange = withinRange;
140
- //# sourceMappingURL=range-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"range-utils.js","sources":["../../../../../../packages/vuu-utils/src/range-utils.ts"],"sourcesContent":["import { VuuRange } from \"@vuu-ui/vuu-protocol-types\";\n\ninterface FromToRange {\n from: number;\n to: number;\n}\n\nexport interface Range extends VuuRange {\n equals: (vuuRange: VuuRange) => boolean;\n reset: Range;\n withBuffer: VuuRange;\n}\n\nexport interface RangeOptions {\n renderBufferSize?: number;\n rowCount?: number;\n}\n\nclass RangeImpl implements Range {\n #baseFrom: number;\n #renderBufferSize = 0;\n #baseTo: number;\n\n // We have to keep from and to as simple public properties (not getters) so they survive structuredClone\n constructor(\n /** Index position of first visible row in viewport */\n public from: number,\n /** Index position of last visible row in viewport + 1 */\n public to: number,\n renderBufferSize = 0,\n ) {\n this.#baseFrom = from;\n this.#baseTo = to;\n this.#renderBufferSize = renderBufferSize;\n }\n\n get reset() {\n return new RangeImpl(\n 0,\n this.#baseTo - this.#baseFrom,\n this.#renderBufferSize,\n );\n }\n\n get withBuffer() {\n return getFullRange(this, this.#renderBufferSize);\n }\n\n equals(range: VuuRange) {\n return range.from === this.#baseFrom && range.to === this.#baseTo;\n }\n\n toJson() {\n return {\n from: this.from,\n to: this.to,\n baseFrom: this.#baseFrom,\n baseTo: this.#baseTo,\n renderBufferSize: this.#renderBufferSize,\n };\n }\n}\n\nexport const Range = (\n from: number,\n to: number,\n renderBufferSize?: number,\n): Range => new RangeImpl(from, to, renderBufferSize);\n\nexport const NULL_RANGE = Range(0, 0);\n\nexport function getFullRange(\n { from, to }: VuuRange,\n bufferSize = 0,\n maxRangeEnd: number = Number.MAX_SAFE_INTEGER,\n): FromToRange {\n if (from === 0 && to === 0) {\n return { from, to };\n } else if (bufferSize === 0) {\n if (maxRangeEnd < from) {\n return { from: 0, to: 0 };\n } else {\n return { from, to: Math.min(to, maxRangeEnd) };\n }\n } else if (from === 0) {\n return { from, to: Math.min(to + bufferSize, maxRangeEnd) };\n } else {\n const shortfallBefore = from - bufferSize < 0;\n const shortfallAfter = maxRangeEnd - (to + bufferSize) < 0;\n if (shortfallBefore && shortfallAfter) {\n return { from: 0, to: maxRangeEnd };\n } else if (shortfallBefore) {\n return { from: 0, to: to + bufferSize };\n } else if (shortfallAfter) {\n return {\n from: Math.max(0, from - bufferSize),\n to: maxRangeEnd,\n };\n } else {\n return { from: from - bufferSize, to: to + bufferSize };\n }\n }\n}\n\nexport const withinRange = (value: number, { from, to }: VuuRange) =>\n value >= from && value < to;\n\nexport const rangeNewItems = (\n { from: from1, to: to1 }: VuuRange,\n newRange: VuuRange,\n): VuuRange => {\n const { from: from2, to: to2 } = newRange;\n const noOverlap = from2 >= to1 || to2 <= from1;\n const newFullySubsumesOld = from2 < from1 && to2 > to1;\n return noOverlap || newFullySubsumesOld\n ? newRange\n : to2 > to1\n ? { from: to1, to: to2 }\n : { from: from2, to: from1 };\n};\n\nexport class WindowRange {\n public from: number;\n public to: number;\n\n constructor(from: number, to: number) {\n this.from = from;\n this.to = to;\n }\n\n public isWithin(index: number) {\n return withinRange(index, this);\n }\n\n //find the overlap of this range and a new one\n public overlap(from: number, to: number): [number, number] {\n return from >= this.to || to < this.from\n ? [0, 0]\n : [Math.max(from, this.from), Math.min(to, this.to)];\n }\n\n public copy(): WindowRange {\n return new WindowRange(this.from, this.to);\n }\n}\n\n\nconst constrainRangeWidth = (range: VuuRange, maxRangeWidth = Number.MAX_SAFE_INTEGER) => {\n if (range.to - range.from < maxRangeWidth) {\n return range;\n }\n console.warn(`[range-utils] range ${range.from} - ${range.to} exceeds maxRangeWidth ${maxRangeWidth} for this table `);\n return {\n from: range.from,\n to: range.from + maxRangeWidth\n }\n}\nexport const constrainRange = (range: VuuRange, maxRangeEnd: number, maxRangeWidth?: number) => {\n if (maxRangeEnd > 0 && maxRangeEnd < range.to) {\n if (maxRangeEnd > range.from) {\n return constrainRangeWidth({\n from: range.from,\n to: maxRangeEnd\n }, maxRangeWidth);\n } else {\n throw Error(`constrainRange: cannot apply the maxRangeEnd ${maxRangeEnd} to range ${range.from} - ${range.to}`);\n }\n } else {\n return constrainRangeWidth(range, maxRangeWidth);\n }\n}"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
-
5
- const EMPTY_ARRAY = [];
6
- const asReactElements = (children) => {
7
- const isArray = Array.isArray(children);
8
- const count = isArray ? children.length : React.Children.count(children);
9
- if (isArray && children.every(React.isValidElement)) {
10
- return children;
11
- } else if (count === 1 && !isArray && React.isValidElement(children)) {
12
- return [children];
13
- } else if (count > 1) {
14
- return children;
15
- } else {
16
- return EMPTY_ARRAY;
17
- }
18
- };
19
- const useIsMounted = (id = "") => {
20
- const isMountedRef = React.useRef(false);
21
- React.useEffect(() => {
22
- console.log(`is MOUNTED ${id}`);
23
- isMountedRef.current = true;
24
- return () => {
25
- console.log(`is UNMOUNTED ${id}`);
26
- isMountedRef.current = false;
27
- };
28
- }, [id]);
29
- return isMountedRef;
30
- };
31
- const isSimpleStateValue = (arg) => typeof arg !== "function";
32
- const createSyntheticEvent = (event) => {
33
- let isDefaultPrevented = false;
34
- let isPropagationStopped = false;
35
- const preventDefault = () => {
36
- isDefaultPrevented = true;
37
- event.preventDefault();
38
- };
39
- const stopPropagation = () => {
40
- isPropagationStopped = true;
41
- event.stopPropagation();
42
- };
43
- return {
44
- nativeEvent: event,
45
- currentTarget: event.currentTarget,
46
- target: event.target,
47
- bubbles: event.bubbles,
48
- cancelable: event.cancelable,
49
- defaultPrevented: event.defaultPrevented,
50
- eventPhase: event.eventPhase,
51
- isTrusted: event.isTrusted,
52
- preventDefault,
53
- isDefaultPrevented: () => isDefaultPrevented,
54
- stopPropagation,
55
- isPropagationStopped: () => isPropagationStopped,
56
- persist: () => void 0,
57
- timeStamp: event.timeStamp,
58
- type: event.type
59
- };
60
- };
61
- const useStableReference = (value) => {
62
- const referenceToProp = React.useRef(value);
63
- React.useMemo(() => referenceToProp.current = value, [value]);
64
- return referenceToProp;
65
- };
66
-
67
- exports.asReactElements = asReactElements;
68
- exports.createSyntheticEvent = createSyntheticEvent;
69
- exports.isSimpleStateValue = isSimpleStateValue;
70
- exports.useIsMounted = useIsMounted;
71
- exports.useStableReference = useStableReference;
72
- //# sourceMappingURL=react-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-utils.js","sources":["../../../../../../packages/vuu-utils/src/react-utils.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n SetStateAction,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nconst EMPTY_ARRAY: ReactElement[] = [];\n\nexport const asReactElements = (children: ReactNode): ReactElement[] => {\n const isArray = Array.isArray(children);\n const count = isArray ? children.length : Children.count(children);\n if (isArray && children.every(isValidElement)) {\n return children;\n } else if (count === 1 && !isArray && isValidElement(children)) {\n return [children];\n } else if (count > 1) {\n return children as ReactElement[];\n } else {\n return EMPTY_ARRAY;\n }\n};\n\nexport const useIsMounted = (id = \"\") => {\n const isMountedRef = useRef(false);\n useEffect(() => {\n console.log(`is MOUNTED ${id}`);\n isMountedRef.current = true;\n return () => {\n console.log(`is UNMOUNTED ${id}`);\n isMountedRef.current = false;\n };\n }, [id]);\n\n return isMountedRef;\n};\n\nexport const isSimpleStateValue = <T>(arg: SetStateAction<T>): arg is T =>\n typeof arg !== \"function\";\n\n/**\n * From an example by stack overflow user Maxim G\n */\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E,\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => undefined,\n timeStamp: event.timeStamp,\n type: event.type,\n };\n};\n\n/**\n * Store a value in a RefObject and update that ref whenever the value changes.\n * Use to maintain a stable reference to a changing value that we need to use\n * within a hook, but when that hook does not need to be triggered just because\n * this value changes.\n */\nexport const useStableReference = <T>(value: T) => {\n const referenceToProp = useRef<T>(value);\n useMemo(() => (referenceToProp.current = value), [value]);\n return referenceToProp;\n};\n"],"names":["Children","isValidElement","useRef","useEffect","useMemo"],"mappings":";;;;AAWA,MAAM,cAA8B,EAAC;AAExB,MAAA,eAAA,GAAkB,CAAC,QAAwC,KAAA;AACtE,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA;AACtC,EAAA,MAAM,QAAQ,OAAU,GAAA,QAAA,CAAS,MAAS,GAAAA,cAAA,CAAS,MAAM,QAAQ,CAAA;AACjE,EAAA,IAAI,OAAW,IAAA,QAAA,CAAS,KAAM,CAAAC,oBAAc,CAAG,EAAA;AAC7C,IAAO,OAAA,QAAA;AAAA,aACE,KAAU,KAAA,CAAA,IAAK,CAAC,OAAW,IAAAA,oBAAA,CAAe,QAAQ,CAAG,EAAA;AAC9D,IAAA,OAAO,CAAC,QAAQ,CAAA;AAAA,GAClB,MAAA,IAAW,QAAQ,CAAG,EAAA;AACpB,IAAO,OAAA,QAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,WAAA;AAAA;AAEX;AAEa,MAAA,YAAA,GAAe,CAAC,EAAA,GAAK,EAAO,KAAA;AACvC,EAAM,MAAA,YAAA,GAAeC,aAAO,KAAK,CAAA;AACjC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAQ,OAAA,CAAA,GAAA,CAAI,CAAc,WAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAC9B,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAgB,aAAA,EAAA,EAAE,CAAE,CAAA,CAAA;AAChC,MAAA,YAAA,CAAa,OAAU,GAAA,KAAA;AAAA,KACzB;AAAA,GACF,EAAG,CAAC,EAAE,CAAC,CAAA;AAEP,EAAO,OAAA,YAAA;AACT;AAEO,MAAM,kBAAqB,GAAA,CAAI,GACpC,KAAA,OAAO,GAAQ,KAAA;AAKJ,MAAA,oBAAA,GAAuB,CAClC,KAC+B,KAAA;AAC/B,EAAA,IAAI,kBAAqB,GAAA,KAAA;AACzB,EAAA,IAAI,oBAAuB,GAAA,KAAA;AAC3B,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAqB,kBAAA,GAAA,IAAA;AACrB,IAAA,KAAA,CAAM,cAAe,EAAA;AAAA,GACvB;AACA,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAuB,oBAAA,GAAA,IAAA;AACvB,IAAA,KAAA,CAAM,eAAgB,EAAA;AAAA,GACxB;AACA,EAAO,OAAA;AAAA,IACL,WAAa,EAAA,KAAA;AAAA,IACb,eAAe,KAAM,CAAA,aAAA;AAAA,IACrB,QAAQ,KAAM,CAAA,MAAA;AAAA,IACd,SAAS,KAAM,CAAA,OAAA;AAAA,IACf,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,kBAAkB,KAAM,CAAA,gBAAA;AAAA,IACxB,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,WAAW,KAAM,CAAA,SAAA;AAAA,IACjB,cAAA;AAAA,IACA,oBAAoB,MAAM,kBAAA;AAAA,IAC1B,eAAA;AAAA,IACA,sBAAsB,MAAM,oBAAA;AAAA,IAC5B,SAAS,MAAM,KAAA,CAAA;AAAA,IACf,WAAW,KAAM,CAAA,SAAA;AAAA,IACjB,MAAM,KAAM,CAAA;AAAA,GACd;AACF;AAQa,MAAA,kBAAA,GAAqB,CAAI,KAAa,KAAA;AACjD,EAAM,MAAA,eAAA,GAAkBD,aAAU,KAAK,CAAA;AACvC,EAAAE,aAAA,CAAQ,MAAO,eAAgB,CAAA,OAAA,GAAU,KAAQ,EAAA,CAAC,KAAK,CAAC,CAAA;AACxD,EAAO,OAAA,eAAA;AACT;;;;;;;;"}
@@ -1,131 +0,0 @@
1
- 'use strict';
2
-
3
- const PUNCTUATION_STR = String.fromCharCode(8200);
4
- const DIGIT_STR = String.fromCharCode(8199);
5
- const DECIMALS_AUTO = -1;
6
- const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER.toString();
7
- const MAX_INTEGER_DIGITS = MAX_SAFE_INTEGER.length;
8
- const exceedsMaxSafeInteger = (value) => value.length > MAX_INTEGER_DIGITS || value.length === MAX_INTEGER_DIGITS && value > MAX_SAFE_INTEGER;
9
- const Space = {
10
- DIGIT: DIGIT_STR,
11
- TWO_DIGITS: DIGIT_STR + DIGIT_STR,
12
- THREE_DIGITS: DIGIT_STR + DIGIT_STR + DIGIT_STR,
13
- FULL_PADDING: [
14
- null,
15
- PUNCTUATION_STR + DIGIT_STR,
16
- PUNCTUATION_STR + DIGIT_STR + DIGIT_STR,
17
- PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,
18
- PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR
19
- ]
20
- };
21
- const Zero = {
22
- DIGIT: "0",
23
- TWO_DIGITS: "00",
24
- THREE_DIGITS: "000",
25
- FULL_PADDING: [null, "0", "00", "000", "0000"]
26
- };
27
- function padLeft(value, maxLength = 6) {
28
- return (LEADING_FILL + value).slice(-maxLength);
29
- }
30
- const LEADING_FILL = DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR;
31
- const Align = {
32
- Right: "right",
33
- Center: "center",
34
- Left: "left"
35
- };
36
- function pad(n, dp, Pad) {
37
- let len = n.length;
38
- const diff = dp - len;
39
- if (diff > 0) {
40
- if (diff === 1) {
41
- n = n + Pad.DIGIT;
42
- } else if (diff === 2) {
43
- n = n + Pad.TWO_DIGITS;
44
- } else if (diff === 3) {
45
- n = n + Pad.THREE_DIGITS;
46
- }
47
- } else {
48
- if (diff < 0) {
49
- n = n.slice(0, dp);
50
- len = dp;
51
- }
52
- if (Pad === Space && n.charAt(len - 1) === "0") {
53
- n = n.replace(/0+$/, "");
54
- return pad(n, dp, Pad);
55
- }
56
- }
57
- return n;
58
- }
59
- function roundDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true, roundingRule = "round") {
60
- if (value === void 0 || typeof value !== "number" || isNaN(value)) {
61
- return "";
62
- }
63
- let integral;
64
- let fraction;
65
- let Pad;
66
- const [part1, part2 = ""] = value.toString().split(".");
67
- const actualDecimals = part2.length;
68
- integral = part1 === "-0" ? "-0" : useLocaleString ? parseFloat(part1).toLocaleString() : parseFloat(part1).toString();
69
- if (align === Align.Left && alignOnDecimals) {
70
- integral = padLeft(integral);
71
- }
72
- if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {
73
- fraction = part2;
74
- } else if (actualDecimals > decimals) {
75
- if (roundingRule === "round") {
76
- fraction = parseFloat("0." + part2).toFixed(decimals).slice(2);
77
- } else {
78
- fraction = part2.slice(0, decimals);
79
- }
80
- } else {
81
- if (Pad = zeroPad ? Zero : alignOnDecimals && align !== Align.Left ? Space : null) {
82
- if (actualDecimals === 0) {
83
- fraction = Pad.FULL_PADDING[decimals] ?? "";
84
- } else {
85
- fraction = pad(part2, decimals, Pad);
86
- }
87
- } else {
88
- fraction = part2;
89
- }
90
- }
91
- return integral + (fraction ? "." + fraction : "");
92
- }
93
- function roundScaledDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true, roundingRule = "round") {
94
- let integral;
95
- let fraction;
96
- let Pad;
97
- if (value === "") {
98
- return "";
99
- }
100
- const [part1, part2 = ""] = value.split(".");
101
- const actualDecimals = part2.length;
102
- integral = part1 === "" ? "0" : part1 === "-0" ? "-0" : useLocaleString ? exceedsMaxSafeInteger(value) ? BigInt(part1).toLocaleString() : parseFloat(part1).toLocaleString() : part1;
103
- if (align === Align.Left && alignOnDecimals) {
104
- integral = padLeft(integral);
105
- }
106
- if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {
107
- fraction = part2;
108
- } else if (actualDecimals > decimals) {
109
- if (roundingRule === "round") {
110
- fraction = parseFloat("0." + part2).toFixed(decimals).slice(2);
111
- } else {
112
- fraction = part2.slice(0, decimals);
113
- }
114
- } else {
115
- if (Pad = zeroPad ? Zero : alignOnDecimals && align !== Align.Left ? Space : null) {
116
- if (actualDecimals === 0) {
117
- fraction = Pad.FULL_PADDING[decimals] ?? "";
118
- } else {
119
- fraction = pad(part2, decimals, Pad);
120
- }
121
- } else {
122
- fraction = part2;
123
- }
124
- }
125
- return integral + (fraction ? "." + fraction : "");
126
- }
127
-
128
- exports.exceedsMaxSafeInteger = exceedsMaxSafeInteger;
129
- exports.roundDecimal = roundDecimal;
130
- exports.roundScaledDecimal = roundScaledDecimal;
131
- //# sourceMappingURL=round-decimal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"round-decimal.js","sources":["../../../../../../packages/vuu-utils/src/round-decimal.ts"],"sourcesContent":["import { RoundingRule } from \"@vuu-ui/vuu-table-types\";\n\nconst PUNCTUATION_STR = String.fromCharCode(8200);\nconst DIGIT_STR = String.fromCharCode(8199);\nconst DECIMALS_AUTO = -1;\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER.toString();\nconst MAX_INTEGER_DIGITS = MAX_SAFE_INTEGER.length;\n\nexport const exceedsMaxSafeInteger = (value: string) =>\n value.length > MAX_INTEGER_DIGITS ||\n (value.length === MAX_INTEGER_DIGITS && value > MAX_SAFE_INTEGER);\n\ntype PadMap = {\n DIGIT: string;\n TWO_DIGITS: string;\n THREE_DIGITS: string;\n FULL_PADDING: [null, string, string, string, string];\n};\n\nconst Space: PadMap = {\n DIGIT: DIGIT_STR,\n TWO_DIGITS: DIGIT_STR + DIGIT_STR,\n THREE_DIGITS: DIGIT_STR + DIGIT_STR + DIGIT_STR,\n FULL_PADDING: [\n null,\n PUNCTUATION_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,\n PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,\n ],\n};\n\nconst Zero: PadMap = {\n DIGIT: \"0\",\n TWO_DIGITS: \"00\",\n THREE_DIGITS: \"000\",\n FULL_PADDING: [null, \"0\", \"00\", \"000\", \"0000\"],\n};\n\nfunction padLeft(value: string, maxLength = 6) {\n return (LEADING_FILL + value).slice(-maxLength);\n}\n\nconst LEADING_FILL =\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR +\n DIGIT_STR;\n\nconst Align = {\n Right: \"right\",\n Center: \"center\",\n Left: \"left\",\n};\n\nfunction pad(n: string, dp: number, Pad: PadMap): string {\n let len = n.length;\n const diff = dp - len;\n\n if (diff > 0) {\n if (diff === 1) {\n n = n + Pad.DIGIT;\n } else if (diff === 2) {\n n = n + Pad.TWO_DIGITS;\n } else if (diff === 3) {\n n = n + Pad.THREE_DIGITS;\n }\n } else {\n if (diff < 0) {\n n = n.slice(0, dp);\n len = dp;\n }\n\n if (Pad === Space && n.charAt(len - 1) === \"0\") {\n n = n.replace(/0+$/, \"\");\n return pad(n, dp, Pad);\n }\n }\n return n;\n}\n\nexport function roundDecimal(\n value?: number,\n align = Align.Right,\n decimals = 4,\n zeroPad?: boolean,\n alignOnDecimals?: boolean,\n useLocaleString = true,\n roundingRule: RoundingRule = \"round\",\n) {\n if (value === undefined || typeof value !== \"number\" || isNaN(value)) {\n return \"\";\n }\n let integral: string;\n let fraction: string;\n let Pad: PadMap | null;\n\n const [part1, part2 = \"\"] = value.toString().split(\".\");\n const actualDecimals = part2.length;\n\n integral =\n part1 === \"-0\"\n ? \"-0\"\n : useLocaleString\n ? parseFloat(part1).toLocaleString()\n : parseFloat(part1).toString();\n\n if (align === Align.Left && alignOnDecimals) {\n integral = padLeft(integral);\n }\n\n if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {\n fraction = part2;\n } else if (actualDecimals > decimals) {\n if (roundingRule === \"round\") {\n fraction = parseFloat(\"0.\" + part2)\n .toFixed(decimals)\n .slice(2);\n } else {\n fraction = part2.slice(0, decimals);\n }\n } else {\n /* eslint-disable no-cond-assign */\n if (\n (Pad = zeroPad\n ? Zero\n : alignOnDecimals && align !== Align.Left\n ? Space\n : null)\n ) {\n if (actualDecimals === 0) {\n fraction = Pad.FULL_PADDING[decimals] ?? \"\";\n } else {\n fraction = pad(part2, decimals, Pad);\n }\n } else {\n fraction = part2;\n }\n }\n\n return integral + (fraction ? \".\" + fraction : \"\");\n}\n\nexport function roundScaledDecimal(\n value: string,\n align = Align.Right,\n decimals = 4,\n zeroPad?: boolean,\n alignOnDecimals?: boolean,\n useLocaleString = true,\n roundingRule: RoundingRule = \"round\",\n) {\n let integral: string;\n let fraction: string;\n let Pad: PadMap | null;\n\n // nulls are returned from server as empty string\n if (value === \"\") {\n return \"\";\n }\n\n const [part1, part2 = \"\"] = value.split(\".\");\n const actualDecimals = part2.length;\n\n integral =\n part1 === \"\"\n ? \"0\"\n : part1 === \"-0\"\n ? \"-0\"\n : useLocaleString\n ? exceedsMaxSafeInteger(value)\n ? BigInt(part1).toLocaleString()\n : parseFloat(part1).toLocaleString()\n : part1;\n\n if (align === Align.Left && alignOnDecimals) {\n integral = padLeft(integral);\n }\n\n if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {\n fraction = part2;\n } else if (actualDecimals > decimals) {\n if (roundingRule === \"round\") {\n fraction = parseFloat(\"0.\" + part2)\n .toFixed(decimals)\n .slice(2);\n } else {\n fraction = part2.slice(0, decimals);\n }\n } else {\n /* eslint-disable no-cond-assign */\n if (\n (Pad = zeroPad\n ? Zero\n : alignOnDecimals && align !== Align.Left\n ? Space\n : null)\n ) {\n if (actualDecimals === 0) {\n fraction = Pad.FULL_PADDING[decimals] ?? \"\";\n } else {\n fraction = pad(part2, decimals, Pad);\n }\n } else {\n fraction = part2;\n }\n }\n\n return integral + (fraction ? \".\" + fraction : \"\");\n}\n"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- 'use strict';
2
-
3
- var columnUtils = require('./column-utils.js');
4
-
5
- const { IS_LEAF, KEY, IDX, SELECTED } = columnUtils.metadataKeys;
6
- const actualRowPositioning = (rowHeight) => [
7
- (dataRow) => dataRow.index * rowHeight,
8
- (position) => Math.floor(position / rowHeight),
9
- false
10
- ];
11
- const virtualRowPositioning = (rowHeight, virtualisedExtent, pctScrollTop) => [
12
- (dataRow, offset = 0) => {
13
- const rowOffset = pctScrollTop.current * virtualisedExtent;
14
- return (dataRow.index - offset) * rowHeight - rowOffset;
15
- },
16
- /*
17
- Return index position of closest row
18
- */
19
- (position) => {
20
- const rowOffset = pctScrollTop.current * virtualisedExtent;
21
- return Math.round((position + rowOffset) / rowHeight);
22
- },
23
- true
24
- ];
25
- const asDataSourceRowObject = (row, columnMap) => {
26
- const { [IS_LEAF]: isLeaf, [KEY]: key, [IDX]: index } = row;
27
- const rowObject = {
28
- key,
29
- index,
30
- isGroupRow: !isLeaf,
31
- isSelected: row[SELECTED] !== 0,
32
- data: {}
33
- };
34
- for (const [colName, colIdx] of Object.entries(columnMap)) {
35
- rowObject.data[colName] = row[colIdx];
36
- }
37
- return rowObject;
38
- };
39
- const vuuRowToDataSourceRow = ({ rowIndex, rowKey, sel: isSelected = 0, ts, data }, keys) => {
40
- return [
41
- rowIndex,
42
- keys.keyFor(rowIndex),
43
- true,
44
- false,
45
- 0,
46
- 0,
47
- rowKey,
48
- isSelected,
49
- ts,
50
- false
51
- // IsNew
52
- ].concat(data);
53
- };
54
-
55
- exports.actualRowPositioning = actualRowPositioning;
56
- exports.asDataSourceRowObject = asDataSourceRowObject;
57
- exports.virtualRowPositioning = virtualRowPositioning;
58
- exports.vuuRowToDataSourceRow = vuuRowToDataSourceRow;
59
- //# sourceMappingURL=row-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"row-utils.js","sources":["../../../../../../packages/vuu-utils/src/row-utils.ts"],"sourcesContent":["//TODO this all probably belongs in vuu-table\nimport type {\n DataSourceRow,\n DataSourceRowObject,\n} from \"@vuu-ui/vuu-data-types\";\nimport { ColumnMap, metadataKeys } from \"./column-utils\";\nimport { IKeySet } from \"./keyset\";\nimport { VuuRow } from \"@vuu-ui/vuu-protocol-types\";\nimport { RefObject } from \"react\";\nimport { DataRow } from \"@vuu-ui/vuu-table-types\";\n\nconst { IS_LEAF, KEY, IDX, SELECTED } = metadataKeys;\n\nexport type RowOffsetFunc = (dataRow: DataRow, pctScrollTop?: number) => number;\nexport type RowAtPositionFunc = (position: number) => number;\n\n/**\n * RowOffset function, RowAtPosition function, isVirtualScroll\n */\nexport type RowPositioning = [RowOffsetFunc, RowAtPositionFunc, boolean];\n\nexport const actualRowPositioning = (rowHeight: number): RowPositioning => [\n (dataRow) => dataRow.index * rowHeight,\n (position) => Math.floor(position / rowHeight),\n false,\n];\n\n/**\n * return functions for determining a) the pixel offset to apply to a row, given the\n * row index and b) the index of the row at a given scroll offset. This implementation\n * is used when we are forced to 'virtualise' scrolling - because the number of rows\n * is high enough that we cannot create a large enough HTML content container.\n *\n * @param rowHeight\n * @param virtualisedExtent\n * @param pctScrollTop\n * @returns\n */\nexport const virtualRowPositioning = (\n rowHeight: number,\n virtualisedExtent: number,\n pctScrollTop: RefObject<number>,\n): RowPositioning => [\n (dataRow, offset = 0) => {\n const rowOffset = pctScrollTop.current * virtualisedExtent;\n return (dataRow.index - offset) * rowHeight - rowOffset;\n },\n /*\n Return index position of closest row \n */\n (position) => {\n const rowOffset = pctScrollTop.current * virtualisedExtent;\n return Math.round((position + rowOffset) / rowHeight);\n },\n true,\n];\n\n// deprecated\nexport type RowToObjectMapper = (\n row: DataSourceRow,\n columnMap: ColumnMap,\n) => DataSourceRowObject;\n\n// deprecated\nexport const asDataSourceRowObject: RowToObjectMapper = (\n row,\n columnMap,\n): DataSourceRowObject => {\n const { [IS_LEAF]: isLeaf, [KEY]: key, [IDX]: index } = row;\n\n const rowObject: DataSourceRowObject = {\n key,\n index,\n isGroupRow: !isLeaf,\n isSelected: row[SELECTED] !== 0,\n data: {},\n };\n\n for (const [colName, colIdx] of Object.entries(columnMap)) {\n rowObject.data[colName] = row[colIdx];\n }\n\n return rowObject;\n};\n\n// deprecated\nexport const vuuRowToDataSourceRow = (\n { rowIndex, rowKey, sel: isSelected = 0, ts, data }: VuuRow,\n keys: IKeySet,\n) => {\n return [\n rowIndex,\n keys.keyFor(rowIndex),\n true,\n false,\n 0,\n 0,\n rowKey,\n isSelected,\n ts,\n false, // IsNew\n ].concat(data) as DataSourceRow;\n};\n"],"names":["metadataKeys"],"mappings":";;;;AAWA,MAAM,EAAE,OAAA,EAAS,GAAK,EAAA,GAAA,EAAK,UAAa,GAAAA,wBAAA;AAU3B,MAAA,oBAAA,GAAuB,CAAC,SAAsC,KAAA;AAAA,EACzE,CAAC,OAAY,KAAA,OAAA,CAAQ,KAAQ,GAAA,SAAA;AAAA,EAC7B,CAAC,QAAA,KAAa,IAAK,CAAA,KAAA,CAAM,WAAW,SAAS,CAAA;AAAA,EAC7C;AACF;AAaO,MAAM,qBAAwB,GAAA,CACnC,SACA,EAAA,iBAAA,EACA,YACmB,KAAA;AAAA,EACnB,CAAC,OAAS,EAAA,MAAA,GAAS,CAAM,KAAA;AACvB,IAAM,MAAA,SAAA,GAAY,aAAa,OAAU,GAAA,iBAAA;AACzC,IAAQ,OAAA,CAAA,OAAA,CAAQ,KAAQ,GAAA,MAAA,IAAU,SAAY,GAAA,SAAA;AAAA,GAChD;AAAA;AAAA;AAAA;AAAA,EAIA,CAAC,QAAa,KAAA;AACZ,IAAM,MAAA,SAAA,GAAY,aAAa,OAAU,GAAA,iBAAA;AACzC,IAAA,OAAO,IAAK,CAAA,KAAA,CAAA,CAAO,QAAW,GAAA,SAAA,IAAa,SAAS,CAAA;AAAA,GACtD;AAAA,EACA;AACF;AASa,MAAA,qBAAA,GAA2C,CACtD,GAAA,EACA,SACwB,KAAA;AACxB,EAAA,MAAM,EAAE,CAAC,OAAO,GAAG,MAAQ,EAAA,CAAC,GAAG,GAAG,GAAK,EAAA,CAAC,GAAG,GAAG,OAAU,GAAA,GAAA;AAExD,EAAA,MAAM,SAAiC,GAAA;AAAA,IACrC,GAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAY,CAAC,MAAA;AAAA,IACb,UAAA,EAAY,GAAI,CAAA,QAAQ,CAAM,KAAA,CAAA;AAAA,IAC9B,MAAM;AAAC,GACT;AAEA,EAAA,KAAA,MAAW,CAAC,OAAS,EAAA,MAAM,KAAK,MAAO,CAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACzD,IAAA,SAAA,CAAU,IAAK,CAAA,OAAO,CAAI,GAAA,GAAA,CAAI,MAAM,CAAA;AAAA;AAGtC,EAAO,OAAA,SAAA;AACT;AAGa,MAAA,qBAAA,GAAwB,CACnC,EAAE,QAAU,EAAA,MAAA,EAAQ,GAAK,EAAA,UAAA,GAAa,CAAG,EAAA,EAAA,EAAI,IAAK,EAAA,EAClD,IACG,KAAA;AACH,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,IAAA,CAAK,OAAO,QAAQ,CAAA;AAAA,IACpB,IAAA;AAAA,IACA,KAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,EAAA;AAAA,IACA;AAAA;AAAA,GACF,CAAE,OAAO,IAAI,CAAA;AACf;;;;;;;"}
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- const deselectItem = (selectionModel, rowKey, rangeSelect, preserveExistingSelection = false) => {
4
- return {
5
- preserveExistingSelection,
6
- rowKey,
7
- type: "DESELECT_ROW"
8
- };
9
- };
10
- const selectItem = (selectionModel, rowKey, rangeSelect, preserveExistingSelection = false, activeRowKey) => {
11
- const singleSelect = selectionModel === "single" || selectionModel === "single-no-deselect";
12
- const actsLikeSingleSelect = singleSelect || activeRowKey === void 0;
13
- if (selectionModel === "none") {
14
- return;
15
- } else if (actsLikeSingleSelect) {
16
- const preserveSelection = singleSelect ? false : preserveExistingSelection;
17
- return {
18
- preserveExistingSelection: preserveSelection,
19
- rowKey,
20
- type: "SELECT_ROW"
21
- };
22
- } else if (rangeSelect) {
23
- return {
24
- preserveExistingSelection,
25
- fromRowKey: rowKey,
26
- toRowKey: activeRowKey,
27
- type: "SELECT_ROW_RANGE"
28
- };
29
- }
30
- };
31
- const splitSelectableRanges = (rows, isRowSelectable, preserveExistingSelection) => {
32
- const requests = [];
33
- let fromKey;
34
- let toKey;
35
- for (const row of rows) {
36
- if (isRowSelectable(row)) {
37
- if (!fromKey) fromKey = row.key;
38
- toKey = row.key;
39
- } else if (fromKey && toKey) {
40
- requests.push({
41
- type: "SELECT_ROW_RANGE",
42
- fromRowKey: fromKey,
43
- toRowKey: toKey,
44
- // first sub-range respects the caller's preserve flag; subsequent ones must preserve
45
- preserveExistingSelection: requests.length > 0 ? true : preserveExistingSelection
46
- });
47
- fromKey = void 0;
48
- toKey = void 0;
49
- }
50
- }
51
- if (fromKey && toKey) {
52
- requests.push({
53
- type: "SELECT_ROW_RANGE",
54
- fromRowKey: fromKey,
55
- toRowKey: toKey,
56
- preserveExistingSelection: requests.length > 0 ? true : preserveExistingSelection
57
- });
58
- }
59
- return requests;
60
- };
61
-
62
- exports.deselectItem = deselectItem;
63
- exports.selectItem = selectItem;
64
- exports.splitSelectableRanges = splitSelectableRanges;
65
- //# sourceMappingURL=selection-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selection-utils.js","sources":["../../../../../../packages/vuu-utils/src/selection-utils.ts"],"sourcesContent":["import { DataRow, TableSelectionModel } from \"@vuu-ui/vuu-table-types\";\nimport { SelectRequest } from \"@vuu-ui/vuu-protocol-types\";\n\nexport const deselectItem = (\n selectionModel: TableSelectionModel,\n rowKey: string,\n rangeSelect: boolean,\n preserveExistingSelection = false,\n): Omit<SelectRequest, \"vpId\"> | undefined => {\n return {\n preserveExistingSelection,\n rowKey,\n type: \"DESELECT_ROW\",\n } as Omit<SelectRequest, \"vpId\">;\n};\n\nexport const selectItem = (\n selectionModel: TableSelectionModel,\n rowKey: string,\n rangeSelect: boolean,\n preserveExistingSelection = false,\n activeRowKey?: string,\n): Omit<SelectRequest, \"vpId\"> | undefined => {\n const singleSelect =\n selectionModel === \"single\" || selectionModel === \"single-no-deselect\";\n const actsLikeSingleSelect = singleSelect || activeRowKey === undefined;\n\n if (selectionModel === \"none\") {\n return;\n } else if (actsLikeSingleSelect) {\n const preserveSelection = singleSelect ? false : preserveExistingSelection;\n return {\n preserveExistingSelection: preserveSelection,\n rowKey,\n type: \"SELECT_ROW\",\n } as Omit<SelectRequest, \"vpId\">;\n } else if (rangeSelect) {\n return {\n preserveExistingSelection,\n fromRowKey: rowKey,\n toRowKey: activeRowKey,\n type: \"SELECT_ROW_RANGE\",\n } as Omit<SelectRequest, \"vpId\">;\n }\n};\n\n/**\n * Split a row range into sub-ranges that exclude non-selectable rows.\n * Returns one SELECT_ROW_RANGE per consecutive run of selectable rows.\n */\nexport const splitSelectableRanges = (\n rows: DataRow[],\n isRowSelectable: (row: DataRow) => boolean,\n preserveExistingSelection: boolean,\n): Omit<SelectRequest, \"vpId\">[] => {\n const requests: Omit<SelectRequest, \"vpId\">[] = [];\n let fromKey: string | undefined;\n let toKey: string | undefined;\n\n for (const row of rows) {\n if (isRowSelectable(row)) {\n if (!fromKey) fromKey = row.key;\n toKey = row.key;\n } else if (fromKey && toKey) {\n requests.push({\n type: \"SELECT_ROW_RANGE\",\n fromRowKey: fromKey,\n toRowKey: toKey,\n // first sub-range respects the caller's preserve flag; subsequent ones must preserve\n preserveExistingSelection: requests.length > 0 ? true : preserveExistingSelection,\n } as Omit<SelectRequest, \"vpId\">);\n fromKey = undefined;\n toKey = undefined;\n }\n }\n if (fromKey && toKey) {\n requests.push({\n type: \"SELECT_ROW_RANGE\",\n fromRowKey: fromKey,\n toRowKey: toKey,\n preserveExistingSelection: requests.length > 0 ? true : preserveExistingSelection,\n } as Omit<SelectRequest, \"vpId\">);\n }\n return requests;\n};\n"],"names":[],"mappings":";;AAGO,MAAM,eAAe,CAC1B,cAAA,EACA,MACA,EAAA,WAAA,EACA,4BAA4B,KACgB,KAAA;AAC5C,EAAO,OAAA;AAAA,IACL,yBAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAM,EAAA;AAAA,GACR;AACF;AAEO,MAAM,aAAa,CACxB,cAAA,EACA,QACA,WACA,EAAA,yBAAA,GAA4B,OAC5B,YAC4C,KAAA;AAC5C,EAAM,MAAA,YAAA,GACJ,cAAmB,KAAA,QAAA,IAAY,cAAmB,KAAA,oBAAA;AACpD,EAAM,MAAA,oBAAA,GAAuB,gBAAgB,YAAiB,KAAA,KAAA,CAAA;AAE9D,EAAA,IAAI,mBAAmB,MAAQ,EAAA;AAC7B,IAAA;AAAA,aACS,oBAAsB,EAAA;AAC/B,IAAM,MAAA,iBAAA,GAAoB,eAAe,KAAQ,GAAA,yBAAA;AACjD,IAAO,OAAA;AAAA,MACL,yBAA2B,EAAA,iBAAA;AAAA,MAC3B,MAAA;AAAA,MACA,IAAM,EAAA;AAAA,KACR;AAAA,aACS,WAAa,EAAA;AACtB,IAAO,OAAA;AAAA,MACL,yBAAA;AAAA,MACA,UAAY,EAAA,MAAA;AAAA,MACZ,QAAU,EAAA,YAAA;AAAA,MACV,IAAM,EAAA;AAAA,KACR;AAAA;AAEJ;AAMO,MAAM,qBAAwB,GAAA,CACnC,IACA,EAAA,eAAA,EACA,yBACkC,KAAA;AAClC,EAAA,MAAM,WAA0C,EAAC;AACjD,EAAI,IAAA,OAAA;AACJ,EAAI,IAAA,KAAA;AAEJ,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAI,IAAA,eAAA,CAAgB,GAAG,CAAG,EAAA;AACxB,MAAI,IAAA,CAAC,OAAS,EAAA,OAAA,GAAU,GAAI,CAAA,GAAA;AAC5B,MAAA,KAAA,GAAQ,GAAI,CAAA,GAAA;AAAA,KACd,MAAA,IAAW,WAAW,KAAO,EAAA;AAC3B,MAAA,QAAA,CAAS,IAAK,CAAA;AAAA,QACZ,IAAM,EAAA,kBAAA;AAAA,QACN,UAAY,EAAA,OAAA;AAAA,QACZ,QAAU,EAAA,KAAA;AAAA;AAAA,QAEV,yBAA2B,EAAA,QAAA,CAAS,MAAS,GAAA,CAAA,GAAI,IAAO,GAAA;AAAA,OAC1B,CAAA;AAChC,MAAU,OAAA,GAAA,KAAA,CAAA;AACV,MAAQ,KAAA,GAAA,KAAA,CAAA;AAAA;AACV;AAEF,EAAA,IAAI,WAAW,KAAO,EAAA;AACpB,IAAA,QAAA,CAAS,IAAK,CAAA;AAAA,MACZ,IAAM,EAAA,kBAAA;AAAA,MACN,UAAY,EAAA,OAAA;AAAA,MACZ,QAAU,EAAA,KAAA;AAAA,MACV,yBAA2B,EAAA,QAAA,CAAS,MAAS,GAAA,CAAA,GAAI,IAAO,GAAA;AAAA,KAC1B,CAAA;AAAA;AAElC,EAAO,OAAA,QAAA;AACT;;;;;;"}
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- const VuuShellLocation = {
4
- ContextPanel: "context-panel",
5
- MultiWorkspaceContainer: "vuu-multi-workspace-container",
6
- SidePanel: "vuu-side-panel",
7
- SideToolbar: "vuu-side-toolbar",
8
- Workspace: "vuu-workspace",
9
- WorkspaceContainer: "vuu-workspace-container"
10
- };
11
-
12
- exports.VuuShellLocation = VuuShellLocation;
13
- //# sourceMappingURL=shell-layout-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell-layout-types.js","sources":["../../../../../../packages/vuu-utils/src/shell-layout-types.ts"],"sourcesContent":["import { ValueOf } from \"./ts-utils\";\n\n/**\n * The Vuu Shell creates the outermost application layout. This includes some\n * 'special' identifiers that can be targetted by layout commands to effect or\n * react to layout changes.\n */\nexport const VuuShellLocation = {\n ContextPanel: \"context-panel\",\n MultiWorkspaceContainer: \"vuu-multi-workspace-container\",\n SidePanel: \"vuu-side-panel\",\n SideToolbar: \"vuu-side-toolbar\",\n Workspace: \"vuu-workspace\",\n WorkspaceContainer: \"vuu-workspace-container\",\n} as const;\n\nexport type VuuShellLocation = ValueOf<typeof VuuShellLocation>;\n"],"names":[],"mappings":";;AAOO,MAAM,gBAAmB,GAAA;AAAA,EAC9B,YAAc,EAAA,eAAA;AAAA,EACd,uBAAyB,EAAA,+BAAA;AAAA,EACzB,SAAW,EAAA,gBAAA;AAAA,EACX,WAAa,EAAA,kBAAA;AAAA,EACb,SAAW,EAAA,eAAA;AAAA,EACX,kBAAoB,EAAA;AACtB;;;;"}
@@ -1,78 +0,0 @@
1
- 'use strict';
2
-
3
- const cycleSortType = (sortType) => sortType === "A" ? "D" : sortType === "D" ? void 0 : "A";
4
- const NO_SORT = { sortDefs: [] };
5
- const toggleOrApplySort = ({ sortDefs }, { name: column }, extendSort = false, sortType) => {
6
- if (extendSort) {
7
- const existingDef = sortDefs.find((sortDef) => sortDef.column === column);
8
- if (existingDef) {
9
- return {
10
- sortDefs: sortDefs.map(
11
- (sortDef) => sortDef.column === column ? {
12
- column,
13
- sortType: sortDef.sortType === "A" ? "D" : "A"
14
- } : sortDef
15
- )
16
- };
17
- } else {
18
- return {
19
- sortDefs: sortDefs.concat({
20
- column,
21
- sortType: sortType ?? "A"
22
- })
23
- };
24
- }
25
- }
26
- const newSortType = typeof sortType === "string" ? sortType : sortDefs.length === 1 && sortDefs[0].column === column ? cycleSortType(sortDefs[0].sortType) : "A";
27
- return newSortType ? {
28
- sortDefs: [{ column, sortType: newSortType }]
29
- } : NO_SORT;
30
- };
31
- const setSortColumn = ({ sortDefs }, column, sortType) => {
32
- if (sortType === void 0) {
33
- const columnSort = sortDefs.find((item) => item.column === column.name);
34
- if (columnSort) {
35
- return {
36
- sortDefs: [
37
- {
38
- column: column.name,
39
- sortType: columnSort.sortType === "A" ? "D" : "A"
40
- }
41
- ]
42
- };
43
- }
44
- }
45
- return { sortDefs: [{ column: column.name, sortType: sortType ?? "A" }] };
46
- };
47
- const addSortColumn = ({ sortDefs }, column, sortType = "A") => {
48
- const sortEntry = { column: column.name, sortType };
49
- if (sortDefs.length > 0) {
50
- return {
51
- sortDefs: sortDefs.concat(sortEntry)
52
- };
53
- } else {
54
- return { sortDefs: [sortEntry] };
55
- }
56
- };
57
- const getSortStatus = (columnName, vuuSort) => {
58
- if (vuuSort === void 0 || vuuSort.sortDefs.length === 0) {
59
- return "no-sort";
60
- } else {
61
- const sortDef = vuuSort.sortDefs.find((sd) => sd.column === columnName);
62
- if (sortDef) {
63
- if (vuuSort.sortDefs.length === 1) {
64
- return sortDef.sortType === "A" ? "single-sort-asc" : "single-sort-desc";
65
- } else {
66
- return sortDef.sortType === "A" ? "multi-sort-includes-column-asc" : "multi-sort-includes-column-desc";
67
- }
68
- } else {
69
- return "sort-other-column";
70
- }
71
- }
72
- };
73
-
74
- exports.addSortColumn = addSortColumn;
75
- exports.getSortStatus = getSortStatus;
76
- exports.setSortColumn = setSortColumn;
77
- exports.toggleOrApplySort = toggleOrApplySort;
78
- //# sourceMappingURL=sort-utils.js.map