@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,66 +0,0 @@
1
- import { Children, isValidElement, useRef, useEffect, useMemo } from 'react';
2
-
3
- const EMPTY_ARRAY = [];
4
- const asReactElements = (children) => {
5
- const isArray = Array.isArray(children);
6
- const count = isArray ? children.length : Children.count(children);
7
- if (isArray && children.every(isValidElement)) {
8
- return children;
9
- } else if (count === 1 && !isArray && isValidElement(children)) {
10
- return [children];
11
- } else if (count > 1) {
12
- return children;
13
- } else {
14
- return EMPTY_ARRAY;
15
- }
16
- };
17
- const useIsMounted = (id = "") => {
18
- const isMountedRef = useRef(false);
19
- useEffect(() => {
20
- console.log(`is MOUNTED ${id}`);
21
- isMountedRef.current = true;
22
- return () => {
23
- console.log(`is UNMOUNTED ${id}`);
24
- isMountedRef.current = false;
25
- };
26
- }, [id]);
27
- return isMountedRef;
28
- };
29
- const isSimpleStateValue = (arg) => typeof arg !== "function";
30
- const createSyntheticEvent = (event) => {
31
- let isDefaultPrevented = false;
32
- let isPropagationStopped = false;
33
- const preventDefault = () => {
34
- isDefaultPrevented = true;
35
- event.preventDefault();
36
- };
37
- const stopPropagation = () => {
38
- isPropagationStopped = true;
39
- event.stopPropagation();
40
- };
41
- return {
42
- nativeEvent: event,
43
- currentTarget: event.currentTarget,
44
- target: event.target,
45
- bubbles: event.bubbles,
46
- cancelable: event.cancelable,
47
- defaultPrevented: event.defaultPrevented,
48
- eventPhase: event.eventPhase,
49
- isTrusted: event.isTrusted,
50
- preventDefault,
51
- isDefaultPrevented: () => isDefaultPrevented,
52
- stopPropagation,
53
- isPropagationStopped: () => isPropagationStopped,
54
- persist: () => void 0,
55
- timeStamp: event.timeStamp,
56
- type: event.type
57
- };
58
- };
59
- const useStableReference = (value) => {
60
- const referenceToProp = useRef(value);
61
- useMemo(() => referenceToProp.current = value, [value]);
62
- return referenceToProp;
63
- };
64
-
65
- export { asReactElements, createSyntheticEvent, isSimpleStateValue, useIsMounted, useStableReference };
66
- //# 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":[],"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,GAAA,QAAA,CAAS,MAAM,QAAQ,CAAA;AACjE,EAAA,IAAI,OAAW,IAAA,QAAA,CAAS,KAAM,CAAA,cAAc,CAAG,EAAA;AAC7C,IAAO,OAAA,QAAA;AAAA,aACE,KAAU,KAAA,CAAA,IAAK,CAAC,OAAW,IAAA,cAAA,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,GAAe,OAAO,KAAK,CAAA;AACjC,EAAA,SAAA,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,GAAkB,OAAU,KAAK,CAAA;AACvC,EAAA,OAAA,CAAQ,MAAO,eAAgB,CAAA,OAAA,GAAU,KAAQ,EAAA,CAAC,KAAK,CAAC,CAAA;AACxD,EAAO,OAAA,eAAA;AACT;;;;"}
@@ -1,127 +0,0 @@
1
- const PUNCTUATION_STR = String.fromCharCode(8200);
2
- const DIGIT_STR = String.fromCharCode(8199);
3
- const DECIMALS_AUTO = -1;
4
- const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER.toString();
5
- const MAX_INTEGER_DIGITS = MAX_SAFE_INTEGER.length;
6
- const exceedsMaxSafeInteger = (value) => value.length > MAX_INTEGER_DIGITS || value.length === MAX_INTEGER_DIGITS && value > MAX_SAFE_INTEGER;
7
- const Space = {
8
- DIGIT: DIGIT_STR,
9
- TWO_DIGITS: DIGIT_STR + DIGIT_STR,
10
- THREE_DIGITS: DIGIT_STR + DIGIT_STR + DIGIT_STR,
11
- FULL_PADDING: [
12
- null,
13
- PUNCTUATION_STR + DIGIT_STR,
14
- PUNCTUATION_STR + DIGIT_STR + DIGIT_STR,
15
- PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR,
16
- PUNCTUATION_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR
17
- ]
18
- };
19
- const Zero = {
20
- DIGIT: "0",
21
- TWO_DIGITS: "00",
22
- THREE_DIGITS: "000",
23
- FULL_PADDING: [null, "0", "00", "000", "0000"]
24
- };
25
- function padLeft(value, maxLength = 6) {
26
- return (LEADING_FILL + value).slice(-maxLength);
27
- }
28
- const LEADING_FILL = DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR + DIGIT_STR;
29
- const Align = {
30
- Right: "right",
31
- Center: "center",
32
- Left: "left"
33
- };
34
- function pad(n, dp, Pad) {
35
- let len = n.length;
36
- const diff = dp - len;
37
- if (diff > 0) {
38
- if (diff === 1) {
39
- n = n + Pad.DIGIT;
40
- } else if (diff === 2) {
41
- n = n + Pad.TWO_DIGITS;
42
- } else if (diff === 3) {
43
- n = n + Pad.THREE_DIGITS;
44
- }
45
- } else {
46
- if (diff < 0) {
47
- n = n.slice(0, dp);
48
- len = dp;
49
- }
50
- if (Pad === Space && n.charAt(len - 1) === "0") {
51
- n = n.replace(/0+$/, "");
52
- return pad(n, dp, Pad);
53
- }
54
- }
55
- return n;
56
- }
57
- function roundDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true, roundingRule = "round") {
58
- if (value === void 0 || typeof value !== "number" || isNaN(value)) {
59
- return "";
60
- }
61
- let integral;
62
- let fraction;
63
- let Pad;
64
- const [part1, part2 = ""] = value.toString().split(".");
65
- const actualDecimals = part2.length;
66
- integral = part1 === "-0" ? "-0" : useLocaleString ? parseFloat(part1).toLocaleString() : parseFloat(part1).toString();
67
- if (align === Align.Left && alignOnDecimals) {
68
- integral = padLeft(integral);
69
- }
70
- if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {
71
- fraction = part2;
72
- } else if (actualDecimals > decimals) {
73
- if (roundingRule === "round") {
74
- fraction = parseFloat("0." + part2).toFixed(decimals).slice(2);
75
- } else {
76
- fraction = part2.slice(0, decimals);
77
- }
78
- } else {
79
- if (Pad = zeroPad ? Zero : alignOnDecimals && align !== Align.Left ? Space : null) {
80
- if (actualDecimals === 0) {
81
- fraction = Pad.FULL_PADDING[decimals] ?? "";
82
- } else {
83
- fraction = pad(part2, decimals, Pad);
84
- }
85
- } else {
86
- fraction = part2;
87
- }
88
- }
89
- return integral + (fraction ? "." + fraction : "");
90
- }
91
- function roundScaledDecimal(value, align = Align.Right, decimals = 4, zeroPad, alignOnDecimals, useLocaleString = true, roundingRule = "round") {
92
- let integral;
93
- let fraction;
94
- let Pad;
95
- if (value === "") {
96
- return "";
97
- }
98
- const [part1, part2 = ""] = value.split(".");
99
- const actualDecimals = part2.length;
100
- integral = part1 === "" ? "0" : part1 === "-0" ? "-0" : useLocaleString ? exceedsMaxSafeInteger(value) ? BigInt(part1).toLocaleString() : parseFloat(part1).toLocaleString() : part1;
101
- if (align === Align.Left && alignOnDecimals) {
102
- integral = padLeft(integral);
103
- }
104
- if (decimals === DECIMALS_AUTO || actualDecimals === decimals) {
105
- fraction = part2;
106
- } else if (actualDecimals > decimals) {
107
- if (roundingRule === "round") {
108
- fraction = parseFloat("0." + part2).toFixed(decimals).slice(2);
109
- } else {
110
- fraction = part2.slice(0, decimals);
111
- }
112
- } else {
113
- if (Pad = zeroPad ? Zero : alignOnDecimals && align !== Align.Left ? Space : null) {
114
- if (actualDecimals === 0) {
115
- fraction = Pad.FULL_PADDING[decimals] ?? "";
116
- } else {
117
- fraction = pad(part2, decimals, Pad);
118
- }
119
- } else {
120
- fraction = part2;
121
- }
122
- }
123
- return integral + (fraction ? "." + fraction : "");
124
- }
125
-
126
- export { exceedsMaxSafeInteger, roundDecimal, roundScaledDecimal };
127
- //# 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,54 +0,0 @@
1
- import { metadataKeys } from './column-utils.js';
2
-
3
- const { IS_LEAF, KEY, IDX, SELECTED } = metadataKeys;
4
- const actualRowPositioning = (rowHeight) => [
5
- (dataRow) => dataRow.index * rowHeight,
6
- (position) => Math.floor(position / rowHeight),
7
- false
8
- ];
9
- const virtualRowPositioning = (rowHeight, virtualisedExtent, pctScrollTop) => [
10
- (dataRow, offset = 0) => {
11
- const rowOffset = pctScrollTop.current * virtualisedExtent;
12
- return (dataRow.index - offset) * rowHeight - rowOffset;
13
- },
14
- /*
15
- Return index position of closest row
16
- */
17
- (position) => {
18
- const rowOffset = pctScrollTop.current * virtualisedExtent;
19
- return Math.round((position + rowOffset) / rowHeight);
20
- },
21
- true
22
- ];
23
- const asDataSourceRowObject = (row, columnMap) => {
24
- const { [IS_LEAF]: isLeaf, [KEY]: key, [IDX]: index } = row;
25
- const rowObject = {
26
- key,
27
- index,
28
- isGroupRow: !isLeaf,
29
- isSelected: row[SELECTED] !== 0,
30
- data: {}
31
- };
32
- for (const [colName, colIdx] of Object.entries(columnMap)) {
33
- rowObject.data[colName] = row[colIdx];
34
- }
35
- return rowObject;
36
- };
37
- const vuuRowToDataSourceRow = ({ rowIndex, rowKey, sel: isSelected = 0, ts, data }, keys) => {
38
- return [
39
- rowIndex,
40
- keys.keyFor(rowIndex),
41
- true,
42
- false,
43
- 0,
44
- 0,
45
- rowKey,
46
- isSelected,
47
- ts,
48
- false
49
- // IsNew
50
- ].concat(data);
51
- };
52
-
53
- export { actualRowPositioning, asDataSourceRowObject, virtualRowPositioning, vuuRowToDataSourceRow };
54
- //# 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":[],"mappings":";;AAWA,MAAM,EAAE,OAAA,EAAS,GAAK,EAAA,GAAA,EAAK,UAAa,GAAA,YAAA;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,61 +0,0 @@
1
- const deselectItem = (selectionModel, rowKey, rangeSelect, preserveExistingSelection = false) => {
2
- return {
3
- preserveExistingSelection,
4
- rowKey,
5
- type: "DESELECT_ROW"
6
- };
7
- };
8
- const selectItem = (selectionModel, rowKey, rangeSelect, preserveExistingSelection = false, activeRowKey) => {
9
- const singleSelect = selectionModel === "single" || selectionModel === "single-no-deselect";
10
- const actsLikeSingleSelect = singleSelect || activeRowKey === void 0;
11
- if (selectionModel === "none") {
12
- return;
13
- } else if (actsLikeSingleSelect) {
14
- const preserveSelection = singleSelect ? false : preserveExistingSelection;
15
- return {
16
- preserveExistingSelection: preserveSelection,
17
- rowKey,
18
- type: "SELECT_ROW"
19
- };
20
- } else if (rangeSelect) {
21
- return {
22
- preserveExistingSelection,
23
- fromRowKey: rowKey,
24
- toRowKey: activeRowKey,
25
- type: "SELECT_ROW_RANGE"
26
- };
27
- }
28
- };
29
- const splitSelectableRanges = (rows, isRowSelectable, preserveExistingSelection) => {
30
- const requests = [];
31
- let fromKey;
32
- let toKey;
33
- for (const row of rows) {
34
- if (isRowSelectable(row)) {
35
- if (!fromKey) fromKey = row.key;
36
- toKey = row.key;
37
- } else if (fromKey && toKey) {
38
- requests.push({
39
- type: "SELECT_ROW_RANGE",
40
- fromRowKey: fromKey,
41
- toRowKey: toKey,
42
- // first sub-range respects the caller's preserve flag; subsequent ones must preserve
43
- preserveExistingSelection: requests.length > 0 ? true : preserveExistingSelection
44
- });
45
- fromKey = void 0;
46
- toKey = void 0;
47
- }
48
- }
49
- if (fromKey && toKey) {
50
- requests.push({
51
- type: "SELECT_ROW_RANGE",
52
- fromRowKey: fromKey,
53
- toRowKey: toKey,
54
- preserveExistingSelection: requests.length > 0 ? true : preserveExistingSelection
55
- });
56
- }
57
- return requests;
58
- };
59
-
60
- export { deselectItem, selectItem, splitSelectableRanges };
61
- //# 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,11 +0,0 @@
1
- const VuuShellLocation = {
2
- ContextPanel: "context-panel",
3
- MultiWorkspaceContainer: "vuu-multi-workspace-container",
4
- SidePanel: "vuu-side-panel",
5
- SideToolbar: "vuu-side-toolbar",
6
- Workspace: "vuu-workspace",
7
- WorkspaceContainer: "vuu-workspace-container"
8
- };
9
-
10
- export { VuuShellLocation };
11
- //# 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,73 +0,0 @@
1
- const cycleSortType = (sortType) => sortType === "A" ? "D" : sortType === "D" ? void 0 : "A";
2
- const NO_SORT = { sortDefs: [] };
3
- const toggleOrApplySort = ({ sortDefs }, { name: column }, extendSort = false, sortType) => {
4
- if (extendSort) {
5
- const existingDef = sortDefs.find((sortDef) => sortDef.column === column);
6
- if (existingDef) {
7
- return {
8
- sortDefs: sortDefs.map(
9
- (sortDef) => sortDef.column === column ? {
10
- column,
11
- sortType: sortDef.sortType === "A" ? "D" : "A"
12
- } : sortDef
13
- )
14
- };
15
- } else {
16
- return {
17
- sortDefs: sortDefs.concat({
18
- column,
19
- sortType: sortType ?? "A"
20
- })
21
- };
22
- }
23
- }
24
- const newSortType = typeof sortType === "string" ? sortType : sortDefs.length === 1 && sortDefs[0].column === column ? cycleSortType(sortDefs[0].sortType) : "A";
25
- return newSortType ? {
26
- sortDefs: [{ column, sortType: newSortType }]
27
- } : NO_SORT;
28
- };
29
- const setSortColumn = ({ sortDefs }, column, sortType) => {
30
- if (sortType === void 0) {
31
- const columnSort = sortDefs.find((item) => item.column === column.name);
32
- if (columnSort) {
33
- return {
34
- sortDefs: [
35
- {
36
- column: column.name,
37
- sortType: columnSort.sortType === "A" ? "D" : "A"
38
- }
39
- ]
40
- };
41
- }
42
- }
43
- return { sortDefs: [{ column: column.name, sortType: sortType ?? "A" }] };
44
- };
45
- const addSortColumn = ({ sortDefs }, column, sortType = "A") => {
46
- const sortEntry = { column: column.name, sortType };
47
- if (sortDefs.length > 0) {
48
- return {
49
- sortDefs: sortDefs.concat(sortEntry)
50
- };
51
- } else {
52
- return { sortDefs: [sortEntry] };
53
- }
54
- };
55
- const getSortStatus = (columnName, vuuSort) => {
56
- if (vuuSort === void 0 || vuuSort.sortDefs.length === 0) {
57
- return "no-sort";
58
- } else {
59
- const sortDef = vuuSort.sortDefs.find((sd) => sd.column === columnName);
60
- if (sortDef) {
61
- if (vuuSort.sortDefs.length === 1) {
62
- return sortDef.sortType === "A" ? "single-sort-asc" : "single-sort-desc";
63
- } else {
64
- return sortDef.sortType === "A" ? "multi-sort-includes-column-asc" : "multi-sort-includes-column-desc";
65
- }
66
- } else {
67
- return "sort-other-column";
68
- }
69
- }
70
- };
71
-
72
- export { addSortColumn, getSortStatus, setSortColumn, toggleOrApplySort };
73
- //# sourceMappingURL=sort-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-utils.js","sources":["../../../../../../packages/vuu-utils/src/sort-utils.ts"],"sourcesContent":["import { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { VuuSort, VuuSortCol, VuuSortType } from \"@vuu-ui/vuu-protocol-types\";\n\nconst cycleSortType = (sortType: VuuSortType) =>\n sortType === \"A\" ? \"D\" : sortType === \"D\" ? undefined : \"A\";\n\nconst NO_SORT: VuuSort = { sortDefs: [] };\n\n// Given an existing sort spec and a column we wish to sort by,\n// construct and return a new sort spec.\nexport const toggleOrApplySort = (\n { sortDefs }: VuuSort,\n { name: column }: ColumnDescriptor,\n extendSort = false,\n sortType?: VuuSortType,\n): VuuSort => {\n if (extendSort) {\n const existingDef = sortDefs.find((sortDef) => sortDef.column === column);\n if (existingDef) {\n return {\n sortDefs: sortDefs.map((sortDef) =>\n sortDef.column === column\n ? {\n column,\n sortType: sortDef.sortType === \"A\" ? \"D\" : \"A\",\n }\n : sortDef,\n ),\n };\n } else {\n return {\n sortDefs: sortDefs.concat({\n column,\n sortType: sortType ?? \"A\",\n }),\n };\n }\n }\n\n const newSortType =\n typeof sortType === \"string\"\n ? sortType\n : sortDefs.length === 1 && sortDefs[0].column === column\n ? cycleSortType(sortDefs[0].sortType)\n : \"A\";\n\n return newSortType\n ? {\n sortDefs: [{ column, sortType: newSortType }],\n }\n : NO_SORT;\n};\n\nexport const setSortColumn = (\n { sortDefs }: VuuSort,\n column: ColumnDescriptor,\n sortType?: \"A\" | \"D\",\n): VuuSort => {\n if (sortType === undefined) {\n const columnSort = sortDefs.find((item) => item.column === column.name);\n if (columnSort) {\n return {\n sortDefs: [\n {\n column: column.name,\n sortType: columnSort.sortType === \"A\" ? \"D\" : \"A\",\n },\n ],\n };\n }\n }\n return { sortDefs: [{ column: column.name, sortType: sortType ?? \"A\" }] };\n};\n\nexport const addSortColumn = (\n { sortDefs }: VuuSort,\n column: ColumnDescriptor,\n sortType: \"A\" | \"D\" = \"A\",\n): VuuSort => {\n const sortEntry: VuuSortCol = { column: column.name, sortType };\n if (sortDefs.length > 0) {\n return {\n sortDefs: sortDefs.concat(sortEntry),\n };\n } else {\n return { sortDefs: [sortEntry] };\n }\n};\n\nexport type ColumnSortStatus =\n | \"no-sort\"\n | \"sort-other-column\"\n | \"single-sort-asc\"\n | \"single-sort-desc\"\n | \"multi-sort-includes-column-asc\"\n | \"multi-sort-includes-column-desc\";\n\n/**\n * Given a VuuSort definition and a column, determine whether the given column\n * is included in the sort and if so, in what position/direction.\n */\nexport const getSortStatus = (\n columnName: string,\n vuuSort?: VuuSort,\n): ColumnSortStatus => {\n if (vuuSort === undefined || vuuSort.sortDefs.length === 0) {\n return \"no-sort\";\n } else {\n const sortDef = vuuSort.sortDefs.find((sd) => sd.column === columnName);\n if (sortDef) {\n if (vuuSort.sortDefs.length === 1) {\n return sortDef.sortType === \"A\"\n ? \"single-sort-asc\"\n : \"single-sort-desc\";\n } else {\n return sortDef.sortType === \"A\"\n ? \"multi-sort-includes-column-asc\"\n : \"multi-sort-includes-column-desc\";\n }\n } else {\n return \"sort-other-column\";\n }\n }\n};\n"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- const toSchemaColumn = ({
2
- editable,
3
- name,
4
- serverDataType = "string"
5
- }) => ({
6
- editable: typeof editable === "boolean" ? editable : void 0,
7
- name,
8
- serverDataType
9
- });
10
- const getVuuTable = (schemaTable) => {
11
- if (schemaTable.session) {
12
- const { module, session } = schemaTable;
13
- return { module, table: session };
14
- } else {
15
- return schemaTable;
16
- }
17
- };
18
-
19
- export { getVuuTable, toSchemaColumn };
20
- //# sourceMappingURL=table-schema-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-schema-utils.js","sources":["../../../../../../packages/vuu-utils/src/table-schema-utils.ts"],"sourcesContent":["import type { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport type { SchemaColumn, TableSchemaTable } from \"@vuu-ui/vuu-data-types\";\nimport type { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nexport const toSchemaColumn = ({\n editable,\n name,\n serverDataType = \"string\",\n}: ColumnDescriptor): SchemaColumn => ({\n editable: typeof editable === \"boolean\" ? editable : undefined,\n name,\n serverDataType,\n});\n\nexport const getVuuTable = (schemaTable: TableSchemaTable): VuuTable => {\n if (schemaTable.session) {\n const { module, session } = schemaTable;\n return { module, table: session };\n } else {\n return schemaTable;\n }\n};\n"],"names":[],"mappings":"AAIO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,QAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAiB,GAAA;AACnB,CAAuC,MAAA;AAAA,EACrC,QAAU,EAAA,OAAO,QAAa,KAAA,SAAA,GAAY,QAAW,GAAA,KAAA,CAAA;AAAA,EACrD,IAAA;AAAA,EACA;AACF,CAAA;AAEa,MAAA,WAAA,GAAc,CAAC,WAA4C,KAAA;AACtE,EAAA,IAAI,YAAY,OAAS,EAAA;AACvB,IAAM,MAAA,EAAE,MAAQ,EAAA,OAAA,EAAY,GAAA,WAAA;AAC5B,IAAO,OAAA,EAAE,MAAQ,EAAA,KAAA,EAAO,OAAQ,EAAA;AAAA,GAC3B,MAAA;AACL,IAAO,OAAA,WAAA;AAAA;AAEX;;;;"}
@@ -1,20 +0,0 @@
1
- const lastWord = (text) => {
2
- const trimmedText = text.trim();
3
- const pos = trimmedText.lastIndexOf(" ");
4
- if (pos === -1) {
5
- return trimmedText;
6
- } else {
7
- return trimmedText.slice(pos + 1);
8
- }
9
- };
10
- const capitalize = (text) => text.length === 0 ? "" : text[0].toUpperCase() + text.slice(1);
11
- const singularForm = (typeName) => typeof typeName === "string" ? typeName : typeName.singular;
12
- const pluralForm = (typeName) => typeof typeName === "string" ? `${typeName}s` : typeName.plural;
13
- const regexp_worfify = /(?<!(^|[A-Z]))(?=[A-Z])|(?<!^)(?=[A-Z][a-z])/;
14
- const wordify = (text) => {
15
- const [firstWord, ...rest] = text.split(regexp_worfify);
16
- return `${capitalize(firstWord)} ${rest.join(" ")}`;
17
- };
18
-
19
- export { capitalize, lastWord, pluralForm, singularForm, wordify };
20
- //# sourceMappingURL=text-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-utils.js","sources":["../../../../../../packages/vuu-utils/src/text-utils.ts"],"sourcesContent":["export type SingularPluralForm = {\n singular: string;\n plural: string;\n};\n\nexport type ItemTypeName = string | SingularPluralForm;\n\nexport const lastWord = (text: string): string => {\n const trimmedText = text.trim();\n const pos = trimmedText.lastIndexOf(\" \");\n if (pos === -1) {\n return trimmedText;\n } else {\n return trimmedText.slice(pos + 1);\n }\n};\n\nexport const capitalize = (text: string) =>\n text.length === 0 ? \"\" : text[0].toUpperCase() + text.slice(1);\n\nexport const singularForm = (typeName: ItemTypeName) =>\n typeof typeName === \"string\" ? typeName : typeName.singular;\n\nexport const pluralForm = (typeName: ItemTypeName) =>\n typeof typeName === \"string\" ? `${typeName}s` : typeName.plural;\n\nconst regexp_worfify = /(?<!(^|[A-Z]))(?=[A-Z])|(?<!^)(?=[A-Z][a-z])/;\nexport const wordify = (text: string) => {\n const [firstWord, ...rest] = text.split(regexp_worfify);\n return `${capitalize(firstWord)} ${rest.join(\" \")}`;\n};\n"],"names":[],"mappings":"AAOa,MAAA,QAAA,GAAW,CAAC,IAAyB,KAAA;AAChD,EAAM,MAAA,WAAA,GAAc,KAAK,IAAK,EAAA;AAC9B,EAAM,MAAA,GAAA,GAAM,WAAY,CAAA,WAAA,CAAY,GAAG,CAAA;AACvC,EAAA,IAAI,QAAQ,CAAI,CAAA,EAAA;AACd,IAAO,OAAA,WAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,WAAA,CAAY,KAAM,CAAA,GAAA,GAAM,CAAC,CAAA;AAAA;AAEpC;AAEO,MAAM,UAAa,GAAA,CAAC,IACzB,KAAA,IAAA,CAAK,WAAW,CAAI,GAAA,EAAA,GAAK,IAAK,CAAA,CAAC,CAAE,CAAA,WAAA,EAAgB,GAAA,IAAA,CAAK,MAAM,CAAC;AAExD,MAAM,eAAe,CAAC,QAAA,KAC3B,OAAO,QAAa,KAAA,QAAA,GAAW,WAAW,QAAS,CAAA;AAExC,MAAA,UAAA,GAAa,CAAC,QACzB,KAAA,OAAO,aAAa,QAAW,GAAA,CAAA,EAAG,QAAQ,CAAA,CAAA,CAAA,GAAM,QAAS,CAAA;AAE3D,MAAM,cAAiB,GAAA,8CAAA;AACV,MAAA,OAAA,GAAU,CAAC,IAAiB,KAAA;AACvC,EAAA,MAAM,CAAC,SAAW,EAAA,GAAG,IAAI,CAAI,GAAA,IAAA,CAAK,MAAM,cAAc,CAAA;AACtD,EAAO,OAAA,CAAA,EAAG,WAAW,SAAS,CAAC,IAAI,IAAK,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACnD;;;;"}
@@ -1,34 +0,0 @@
1
- import { useState, useMemo } from 'react';
2
-
3
- const checkCssToken = (tokenName) => new Promise((resolve) => {
4
- requestAnimationFrame(() => {
5
- const saltSpacing100 = getComputedStyle(
6
- document.documentElement
7
- ).getPropertyValue(tokenName);
8
- resolve(saltSpacing100 !== "");
9
- });
10
- });
11
- const ThemeLoadChecker = ({
12
- children,
13
- cssToken = "--salt-spacing-100",
14
- theme
15
- }) => {
16
- const [ready, setReady] = useState(false);
17
- useMemo(async () => {
18
- let ready2 = await checkCssToken(cssToken);
19
- while (!ready2) {
20
- ready2 = await checkCssToken(cssToken);
21
- }
22
- setReady(true);
23
- }, [cssToken]);
24
- if (theme === "no-theme") {
25
- return children;
26
- }
27
- if (ready === false) {
28
- return null;
29
- }
30
- return children;
31
- };
32
-
33
- export { ThemeLoadChecker };
34
- //# sourceMappingURL=theme-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-utils.js","sources":["../../../../../../packages/vuu-utils/src/theme-utils.ts"],"sourcesContent":["import { ReactNode, useMemo, useState } from \"react\";\n\nconst checkCssToken = (tokenName: string): Promise<boolean> =>\n new Promise((resolve) => {\n requestAnimationFrame(() => {\n const saltSpacing100 = getComputedStyle(\n document.documentElement,\n ).getPropertyValue(tokenName);\n resolve(saltSpacing100 !== \"\");\n });\n });\n\n/**\n * Checks that a theme is loaded by making sure a known css variable\n * returns a value. Not normally needed except for cases where a theme\n * is loaded dynamically on startup and there may be components that\n * may fail if theme is not in place (eg component that rely on taking dom\n * measurements).\n * Used by Showcase.\n */\nexport const ThemeLoadChecker = ({\n children,\n cssToken = \"--salt-spacing-100\",\n theme,\n}: {\n children: ReactNode;\n cssToken?: string;\n theme: string;\n}) => {\n const [ready, setReady] = useState(false);\n\n useMemo(async () => {\n let ready = await checkCssToken(cssToken);\n while (!ready) {\n ready = await checkCssToken(cssToken);\n }\n setReady(true);\n }, [cssToken]);\n\n if (theme === \"no-theme\") {\n return children;\n }\n\n if (ready === false) {\n return null;\n }\n\n return children;\n};\n"],"names":["ready"],"mappings":";;AAEA,MAAM,gBAAgB,CAAC,SAAA,KACrB,IAAI,OAAA,CAAQ,CAAC,OAAY,KAAA;AACvB,EAAA,qBAAA,CAAsB,MAAM;AAC1B,IAAA,MAAM,cAAiB,GAAA,gBAAA;AAAA,MACrB,QAAS,CAAA;AAAA,KACX,CAAE,iBAAiB,SAAS,CAAA;AAC5B,IAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC9B,CAAA;AACH,CAAC,CAAA;AAUI,MAAM,mBAAmB,CAAC;AAAA,EAC/B,QAAA;AAAA,EACA,QAAW,GAAA,oBAAA;AAAA,EACX;AACF,CAIM,KAAA;AACJ,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,KAAK,CAAA;AAExC,EAAA,OAAA,CAAQ,YAAY;AAClB,IAAIA,IAAAA,MAAAA,GAAQ,MAAM,aAAA,CAAc,QAAQ,CAAA;AACxC,IAAA,OAAO,CAACA,MAAO,EAAA;AACb,MAAAA,MAAAA,GAAQ,MAAM,aAAA,CAAc,QAAQ,CAAA;AAAA;AAEtC,IAAA,QAAA,CAAS,IAAI,CAAA;AAAA,GACf,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,IAAI,UAAU,UAAY,EAAA;AACxB,IAAO,OAAA,QAAA;AAAA;AAGT,EAAA,IAAI,UAAU,KAAO,EAAA;AACnB,IAAO,OAAA,IAAA;AAAA;AAGT,EAAO,OAAA,QAAA;AACT;;;;"}