@vuu-ui/vuu-utils 0.13.8 → 0.13.10

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 (317) hide show
  1. package/cjs/node_modules/@dnd-kit/abstract/index.js +625 -0
  2. package/cjs/node_modules/@dnd-kit/abstract/index.js.map +1 -0
  3. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js +85 -0
  4. package/cjs/node_modules/@dnd-kit/abstract/modifiers.js.map +1 -0
  5. package/cjs/node_modules/@dnd-kit/collision/dist/index.js +91 -0
  6. package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
  7. package/cjs/node_modules/@dnd-kit/dom/index.js +1649 -0
  8. package/cjs/node_modules/@dnd-kit/dom/index.js.map +1 -0
  9. package/cjs/node_modules/@dnd-kit/dom/sortable.js +833 -0
  10. package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
  11. package/cjs/node_modules/@dnd-kit/dom/utilities.js +1389 -0
  12. package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
  13. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +310 -0
  14. package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
  15. package/cjs/node_modules/@dnd-kit/react/hooks.js +86 -0
  16. package/cjs/node_modules/@dnd-kit/react/hooks.js.map +1 -0
  17. package/cjs/node_modules/@dnd-kit/react/sortable.js +177 -0
  18. package/cjs/node_modules/@dnd-kit/react/sortable.js.map +1 -0
  19. package/cjs/node_modules/@dnd-kit/react/utilities.js +19 -0
  20. package/cjs/node_modules/@dnd-kit/react/utilities.js.map +1 -0
  21. package/cjs/node_modules/@dnd-kit/state/dist/index.js +272 -0
  22. package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
  23. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +11 -0
  24. package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
  25. package/cjs/packages/vuu-utils/src/DataWindow.js +76 -0
  26. package/cjs/packages/vuu-utils/src/DataWindow.js.map +1 -0
  27. package/cjs/packages/vuu-utils/src/ShellContext.js +13 -0
  28. package/cjs/packages/vuu-utils/src/ShellContext.js.map +1 -0
  29. package/cjs/packages/vuu-utils/src/ThemeProvider.js +85 -0
  30. package/cjs/packages/vuu-utils/src/ThemeProvider.js.map +1 -0
  31. package/cjs/packages/vuu-utils/src/array-utils.js +87 -0
  32. package/cjs/packages/vuu-utils/src/array-utils.js.map +1 -0
  33. package/cjs/packages/vuu-utils/src/box-utils.js +53 -0
  34. package/cjs/packages/vuu-utils/src/box-utils.js.map +1 -0
  35. package/cjs/packages/vuu-utils/src/column-utils.js +891 -0
  36. package/cjs/packages/vuu-utils/src/column-utils.js.map +1 -0
  37. package/cjs/packages/vuu-utils/src/common-types.js +15 -0
  38. package/cjs/packages/vuu-utils/src/common-types.js.map +1 -0
  39. package/cjs/packages/vuu-utils/src/component-registry.js +140 -0
  40. package/cjs/packages/vuu-utils/src/component-registry.js.map +1 -0
  41. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js +20 -0
  42. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js.map +1 -0
  43. package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js +24 -0
  44. package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js.map +1 -0
  45. package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +33 -0
  46. package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +1 -0
  47. package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +20 -0
  48. package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +1 -0
  49. package/cjs/packages/vuu-utils/src/cookie-utils.js +10 -0
  50. package/cjs/packages/vuu-utils/src/cookie-utils.js.map +1 -0
  51. package/cjs/packages/vuu-utils/src/css-utils.js +9 -0
  52. package/cjs/packages/vuu-utils/src/css-utils.js.map +1 -0
  53. package/cjs/packages/vuu-utils/src/data-utils.js +81 -0
  54. package/cjs/packages/vuu-utils/src/data-utils.js.map +1 -0
  55. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js +248 -0
  56. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js.map +1 -0
  57. package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js +14 -0
  58. package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +1 -0
  59. package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js +23 -0
  60. package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +1 -0
  61. package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js +207 -0
  62. package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js.map +1 -0
  63. package/cjs/packages/vuu-utils/src/date/date-utils.js +10 -0
  64. package/cjs/packages/vuu-utils/src/date/date-utils.js.map +1 -0
  65. package/cjs/packages/vuu-utils/src/date/dateTimePattern.js +25 -0
  66. package/cjs/packages/vuu-utils/src/date/dateTimePattern.js.map +1 -0
  67. package/cjs/packages/vuu-utils/src/date/formatter.js +66 -0
  68. package/cjs/packages/vuu-utils/src/date/formatter.js.map +1 -0
  69. package/cjs/packages/vuu-utils/src/date/types.js +27 -0
  70. package/cjs/packages/vuu-utils/src/date/types.js.map +1 -0
  71. package/cjs/packages/vuu-utils/src/debug-utils.js +34 -0
  72. package/cjs/packages/vuu-utils/src/debug-utils.js.map +1 -0
  73. package/cjs/packages/vuu-utils/src/event-emitter.js +113 -0
  74. package/cjs/packages/vuu-utils/src/event-emitter.js.map +1 -0
  75. package/cjs/packages/vuu-utils/src/feature-utils.js +139 -0
  76. package/cjs/packages/vuu-utils/src/feature-utils.js.map +1 -0
  77. package/cjs/packages/vuu-utils/src/filters/filter-utils.js +136 -0
  78. package/cjs/packages/vuu-utils/src/filters/filter-utils.js.map +1 -0
  79. package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js +76 -0
  80. package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js.map +1 -0
  81. package/cjs/packages/vuu-utils/src/form-utils.js +48 -0
  82. package/cjs/packages/vuu-utils/src/form-utils.js.map +1 -0
  83. package/cjs/packages/vuu-utils/src/formatting-utils.js +68 -0
  84. package/cjs/packages/vuu-utils/src/formatting-utils.js.map +1 -0
  85. package/cjs/packages/vuu-utils/src/getUniqueId.js +6 -0
  86. package/cjs/packages/vuu-utils/src/getUniqueId.js.map +1 -0
  87. package/cjs/packages/vuu-utils/src/group-utils.js +27 -0
  88. package/cjs/packages/vuu-utils/src/group-utils.js.map +1 -0
  89. package/cjs/packages/vuu-utils/src/html-utils.js +162 -0
  90. package/cjs/packages/vuu-utils/src/html-utils.js.map +1 -0
  91. package/cjs/packages/vuu-utils/src/index.js +414 -0
  92. package/cjs/packages/vuu-utils/src/index.js.map +1 -0
  93. package/cjs/packages/vuu-utils/src/input-utils.js +10 -0
  94. package/cjs/packages/vuu-utils/src/input-utils.js.map +1 -0
  95. package/cjs/packages/vuu-utils/src/invariant.js +13 -0
  96. package/cjs/packages/vuu-utils/src/invariant.js.map +1 -0
  97. package/cjs/packages/vuu-utils/src/itemToString.js +23 -0
  98. package/cjs/packages/vuu-utils/src/itemToString.js.map +1 -0
  99. package/cjs/packages/vuu-utils/src/json-utils.js +103 -0
  100. package/cjs/packages/vuu-utils/src/json-utils.js.map +1 -0
  101. package/cjs/packages/vuu-utils/src/keyboard-utils.js +30 -0
  102. package/cjs/packages/vuu-utils/src/keyboard-utils.js.map +1 -0
  103. package/cjs/packages/vuu-utils/src/keyset.js +72 -0
  104. package/cjs/packages/vuu-utils/src/keyset.js.map +1 -0
  105. package/cjs/packages/vuu-utils/src/list-utils.js +11 -0
  106. package/cjs/packages/vuu-utils/src/list-utils.js.map +1 -0
  107. package/cjs/packages/vuu-utils/src/local-storage-utils.js +20 -0
  108. package/cjs/packages/vuu-utils/src/local-storage-utils.js.map +1 -0
  109. package/cjs/packages/vuu-utils/src/logging-utils.js +65 -0
  110. package/cjs/packages/vuu-utils/src/logging-utils.js.map +1 -0
  111. package/cjs/packages/vuu-utils/src/menu-utils.js +10 -0
  112. package/cjs/packages/vuu-utils/src/menu-utils.js.map +1 -0
  113. package/cjs/packages/vuu-utils/src/module-utils.js +6 -0
  114. package/cjs/packages/vuu-utils/src/module-utils.js.map +1 -0
  115. package/cjs/packages/vuu-utils/src/moving-window.js +103 -0
  116. package/cjs/packages/vuu-utils/src/moving-window.js.map +1 -0
  117. package/cjs/packages/vuu-utils/src/nanoid/index.js +22 -0
  118. package/cjs/packages/vuu-utils/src/nanoid/index.js.map +1 -0
  119. package/cjs/packages/vuu-utils/src/perf-utils.js +35 -0
  120. package/cjs/packages/vuu-utils/src/perf-utils.js.map +1 -0
  121. package/cjs/packages/vuu-utils/src/promise-utils.js +42 -0
  122. package/cjs/packages/vuu-utils/src/promise-utils.js.map +1 -0
  123. package/cjs/packages/vuu-utils/src/protocol-message-utils.js +86 -0
  124. package/cjs/packages/vuu-utils/src/protocol-message-utils.js.map +1 -0
  125. package/cjs/packages/vuu-utils/src/range-utils.js +152 -0
  126. package/cjs/packages/vuu-utils/src/range-utils.js.map +1 -0
  127. package/cjs/packages/vuu-utils/src/react-utils.js +36 -0
  128. package/cjs/packages/vuu-utils/src/react-utils.js.map +1 -0
  129. package/cjs/packages/vuu-utils/src/round-decimal.js +86 -0
  130. package/cjs/packages/vuu-utils/src/round-decimal.js.map +1 -0
  131. package/cjs/packages/vuu-utils/src/row-utils.js +44 -0
  132. package/cjs/packages/vuu-utils/src/row-utils.js.map +1 -0
  133. package/cjs/packages/vuu-utils/src/selection-utils.js +246 -0
  134. package/cjs/packages/vuu-utils/src/selection-utils.js.map +1 -0
  135. package/cjs/packages/vuu-utils/src/shell-layout-types.js +13 -0
  136. package/cjs/packages/vuu-utils/src/shell-layout-types.js.map +1 -0
  137. package/cjs/packages/vuu-utils/src/sort-utils.js +78 -0
  138. package/cjs/packages/vuu-utils/src/sort-utils.js.map +1 -0
  139. package/cjs/packages/vuu-utils/src/table-schema-utils.js +13 -0
  140. package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +1 -0
  141. package/cjs/packages/vuu-utils/src/text-utils.js +21 -0
  142. package/cjs/packages/vuu-utils/src/text-utils.js.map +1 -0
  143. package/cjs/packages/vuu-utils/src/tree-utils.js +106 -0
  144. package/cjs/packages/vuu-utils/src/tree-utils.js.map +1 -0
  145. package/cjs/packages/vuu-utils/src/ts-utils.js +12 -0
  146. package/cjs/packages/vuu-utils/src/ts-utils.js.map +1 -0
  147. package/cjs/packages/vuu-utils/src/typeahead-utils.js +6 -0
  148. package/cjs/packages/vuu-utils/src/typeahead-utils.js.map +1 -0
  149. package/cjs/packages/vuu-utils/src/url-utils.js +21 -0
  150. package/cjs/packages/vuu-utils/src/url-utils.js.map +1 -0
  151. package/cjs/packages/vuu-utils/src/useId.js +9 -0
  152. package/cjs/packages/vuu-utils/src/useId.js.map +1 -0
  153. package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +17 -0
  154. package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +1 -0
  155. package/cjs/packages/vuu-utils/src/useStateRef.js +23 -0
  156. package/cjs/packages/vuu-utils/src/useStateRef.js.map +1 -0
  157. package/esm/node_modules/@dnd-kit/abstract/index.js +612 -0
  158. package/esm/node_modules/@dnd-kit/abstract/index.js.map +1 -0
  159. package/esm/node_modules/@dnd-kit/abstract/modifiers.js +82 -0
  160. package/esm/node_modules/@dnd-kit/abstract/modifiers.js.map +1 -0
  161. package/esm/node_modules/@dnd-kit/collision/dist/index.js +86 -0
  162. package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +1 -0
  163. package/esm/node_modules/@dnd-kit/dom/index.js +1642 -0
  164. package/esm/node_modules/@dnd-kit/dom/index.js.map +1 -0
  165. package/esm/node_modules/@dnd-kit/dom/sortable.js +827 -0
  166. package/esm/node_modules/@dnd-kit/dom/sortable.js.map +1 -0
  167. package/esm/node_modules/@dnd-kit/dom/utilities.js +1344 -0
  168. package/esm/node_modules/@dnd-kit/dom/utilities.js.map +1 -0
  169. package/esm/node_modules/@dnd-kit/geometry/dist/index.js +303 -0
  170. package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +1 -0
  171. package/esm/node_modules/@dnd-kit/react/hooks.js +80 -0
  172. package/esm/node_modules/@dnd-kit/react/hooks.js.map +1 -0
  173. package/esm/node_modules/@dnd-kit/react/sortable.js +175 -0
  174. package/esm/node_modules/@dnd-kit/react/sortable.js.map +1 -0
  175. package/esm/node_modules/@dnd-kit/react/utilities.js +17 -0
  176. package/esm/node_modules/@dnd-kit/react/utilities.js.map +1 -0
  177. package/esm/node_modules/@dnd-kit/state/dist/index.js +259 -0
  178. package/esm/node_modules/@dnd-kit/state/dist/index.js.map +1 -0
  179. package/esm/node_modules/@preact/signals-core/dist/signals-core.js +4 -0
  180. package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +1 -0
  181. package/esm/packages/vuu-utils/src/DataWindow.js +74 -0
  182. package/esm/packages/vuu-utils/src/DataWindow.js.map +1 -0
  183. package/esm/packages/vuu-utils/src/ShellContext.js +10 -0
  184. package/esm/packages/vuu-utils/src/ShellContext.js.map +1 -0
  185. package/esm/packages/vuu-utils/src/ThemeProvider.js +78 -0
  186. package/esm/packages/vuu-utils/src/ThemeProvider.js.map +1 -0
  187. package/esm/packages/vuu-utils/src/array-utils.js +79 -0
  188. package/esm/packages/vuu-utils/src/array-utils.js.map +1 -0
  189. package/esm/packages/vuu-utils/src/box-utils.js +47 -0
  190. package/esm/packages/vuu-utils/src/box-utils.js.map +1 -0
  191. package/esm/packages/vuu-utils/src/column-utils.js +815 -0
  192. package/esm/packages/vuu-utils/src/column-utils.js.map +1 -0
  193. package/esm/packages/vuu-utils/src/common-types.js +13 -0
  194. package/esm/packages/vuu-utils/src/common-types.js.map +1 -0
  195. package/esm/packages/vuu-utils/src/component-registry.js +124 -0
  196. package/esm/packages/vuu-utils/src/component-registry.js.map +1 -0
  197. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js +18 -0
  198. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js.map +1 -0
  199. package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js +20 -0
  200. package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js.map +1 -0
  201. package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +29 -0
  202. package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +1 -0
  203. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +17 -0
  204. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +1 -0
  205. package/esm/packages/vuu-utils/src/cookie-utils.js +8 -0
  206. package/esm/packages/vuu-utils/src/cookie-utils.js.map +1 -0
  207. package/esm/packages/vuu-utils/src/css-utils.js +7 -0
  208. package/esm/packages/vuu-utils/src/css-utils.js.map +1 -0
  209. package/esm/packages/vuu-utils/src/data-utils.js +68 -0
  210. package/esm/packages/vuu-utils/src/data-utils.js.map +1 -0
  211. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js +246 -0
  212. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js.map +1 -0
  213. package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js +8 -0
  214. package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +1 -0
  215. package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js +21 -0
  216. package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +1 -0
  217. package/esm/packages/vuu-utils/src/datasource/datasource-utils.js +184 -0
  218. package/esm/packages/vuu-utils/src/datasource/datasource-utils.js.map +1 -0
  219. package/esm/packages/vuu-utils/src/date/date-utils.js +8 -0
  220. package/esm/packages/vuu-utils/src/date/date-utils.js.map +1 -0
  221. package/esm/packages/vuu-utils/src/date/dateTimePattern.js +21 -0
  222. package/esm/packages/vuu-utils/src/date/dateTimePattern.js.map +1 -0
  223. package/esm/packages/vuu-utils/src/date/formatter.js +63 -0
  224. package/esm/packages/vuu-utils/src/date/formatter.js.map +1 -0
  225. package/esm/packages/vuu-utils/src/date/types.js +21 -0
  226. package/esm/packages/vuu-utils/src/date/types.js.map +1 -0
  227. package/esm/packages/vuu-utils/src/debug-utils.js +32 -0
  228. package/esm/packages/vuu-utils/src/debug-utils.js.map +1 -0
  229. package/esm/packages/vuu-utils/src/event-emitter.js +111 -0
  230. package/esm/packages/vuu-utils/src/event-emitter.js.map +1 -0
  231. package/esm/packages/vuu-utils/src/feature-utils.js +125 -0
  232. package/esm/packages/vuu-utils/src/feature-utils.js.map +1 -0
  233. package/esm/packages/vuu-utils/src/filters/filter-utils.js +120 -0
  234. package/esm/packages/vuu-utils/src/filters/filter-utils.js.map +1 -0
  235. package/esm/packages/vuu-utils/src/filters/filterAsQuery.js +72 -0
  236. package/esm/packages/vuu-utils/src/filters/filterAsQuery.js.map +1 -0
  237. package/esm/packages/vuu-utils/src/form-utils.js +44 -0
  238. package/esm/packages/vuu-utils/src/form-utils.js.map +1 -0
  239. package/esm/packages/vuu-utils/src/formatting-utils.js +63 -0
  240. package/esm/packages/vuu-utils/src/formatting-utils.js.map +1 -0
  241. package/esm/packages/vuu-utils/src/getUniqueId.js +4 -0
  242. package/esm/packages/vuu-utils/src/getUniqueId.js.map +1 -0
  243. package/esm/packages/vuu-utils/src/group-utils.js +23 -0
  244. package/esm/packages/vuu-utils/src/group-utils.js.map +1 -0
  245. package/esm/packages/vuu-utils/src/html-utils.js +145 -0
  246. package/esm/packages/vuu-utils/src/html-utils.js.map +1 -0
  247. package/esm/packages/vuu-utils/src/index.js +70 -0
  248. package/esm/packages/vuu-utils/src/index.js.map +1 -0
  249. package/esm/packages/vuu-utils/src/input-utils.js +7 -0
  250. package/esm/packages/vuu-utils/src/input-utils.js.map +1 -0
  251. package/esm/packages/vuu-utils/src/invariant.js +11 -0
  252. package/esm/packages/vuu-utils/src/invariant.js.map +1 -0
  253. package/esm/packages/vuu-utils/src/itemToString.js +21 -0
  254. package/esm/packages/vuu-utils/src/itemToString.js.map +1 -0
  255. package/esm/packages/vuu-utils/src/json-utils.js +101 -0
  256. package/esm/packages/vuu-utils/src/json-utils.js.map +1 -0
  257. package/esm/packages/vuu-utils/src/keyboard-utils.js +16 -0
  258. package/esm/packages/vuu-utils/src/keyboard-utils.js.map +1 -0
  259. package/esm/packages/vuu-utils/src/keyset.js +70 -0
  260. package/esm/packages/vuu-utils/src/keyset.js.map +1 -0
  261. package/esm/packages/vuu-utils/src/list-utils.js +9 -0
  262. package/esm/packages/vuu-utils/src/list-utils.js.map +1 -0
  263. package/esm/packages/vuu-utils/src/local-storage-utils.js +16 -0
  264. package/esm/packages/vuu-utils/src/local-storage-utils.js.map +1 -0
  265. package/esm/packages/vuu-utils/src/logging-utils.js +61 -0
  266. package/esm/packages/vuu-utils/src/logging-utils.js.map +1 -0
  267. package/esm/packages/vuu-utils/src/menu-utils.js +6 -0
  268. package/esm/packages/vuu-utils/src/menu-utils.js.map +1 -0
  269. package/esm/packages/vuu-utils/src/module-utils.js +4 -0
  270. package/esm/packages/vuu-utils/src/module-utils.js.map +1 -0
  271. package/esm/packages/vuu-utils/src/moving-window.js +101 -0
  272. package/esm/packages/vuu-utils/src/moving-window.js.map +1 -0
  273. package/esm/packages/vuu-utils/src/nanoid/index.js +20 -0
  274. package/esm/packages/vuu-utils/src/nanoid/index.js.map +1 -0
  275. package/esm/packages/vuu-utils/src/perf-utils.js +32 -0
  276. package/esm/packages/vuu-utils/src/perf-utils.js.map +1 -0
  277. package/esm/packages/vuu-utils/src/promise-utils.js +40 -0
  278. package/esm/packages/vuu-utils/src/promise-utils.js.map +1 -0
  279. package/esm/packages/vuu-utils/src/protocol-message-utils.js +71 -0
  280. package/esm/packages/vuu-utils/src/protocol-message-utils.js.map +1 -0
  281. package/esm/packages/vuu-utils/src/range-utils.js +145 -0
  282. package/esm/packages/vuu-utils/src/range-utils.js.map +1 -0
  283. package/esm/packages/vuu-utils/src/react-utils.js +32 -0
  284. package/esm/packages/vuu-utils/src/react-utils.js.map +1 -0
  285. package/esm/packages/vuu-utils/src/round-decimal.js +84 -0
  286. package/esm/packages/vuu-utils/src/round-decimal.js.map +1 -0
  287. package/esm/packages/vuu-utils/src/row-utils.js +40 -0
  288. package/esm/packages/vuu-utils/src/row-utils.js.map +1 -0
  289. package/esm/packages/vuu-utils/src/selection-utils.js +236 -0
  290. package/esm/packages/vuu-utils/src/selection-utils.js.map +1 -0
  291. package/esm/packages/vuu-utils/src/shell-layout-types.js +11 -0
  292. package/esm/packages/vuu-utils/src/shell-layout-types.js.map +1 -0
  293. package/esm/packages/vuu-utils/src/sort-utils.js +73 -0
  294. package/esm/packages/vuu-utils/src/sort-utils.js.map +1 -0
  295. package/esm/packages/vuu-utils/src/table-schema-utils.js +11 -0
  296. package/esm/packages/vuu-utils/src/table-schema-utils.js.map +1 -0
  297. package/esm/packages/vuu-utils/src/text-utils.js +18 -0
  298. package/esm/packages/vuu-utils/src/text-utils.js.map +1 -0
  299. package/esm/packages/vuu-utils/src/tree-utils.js +100 -0
  300. package/esm/packages/vuu-utils/src/tree-utils.js.map +1 -0
  301. package/esm/packages/vuu-utils/src/ts-utils.js +8 -0
  302. package/esm/packages/vuu-utils/src/ts-utils.js.map +1 -0
  303. package/esm/packages/vuu-utils/src/typeahead-utils.js +4 -0
  304. package/esm/packages/vuu-utils/src/typeahead-utils.js.map +1 -0
  305. package/esm/packages/vuu-utils/src/url-utils.js +18 -0
  306. package/esm/packages/vuu-utils/src/url-utils.js.map +1 -0
  307. package/esm/packages/vuu-utils/src/useId.js +7 -0
  308. package/esm/packages/vuu-utils/src/useId.js.map +1 -0
  309. package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +15 -0
  310. package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +1 -0
  311. package/esm/packages/vuu-utils/src/useStateRef.js +21 -0
  312. package/esm/packages/vuu-utils/src/useStateRef.js.map +1 -0
  313. package/package.json +9 -9
  314. package/cjs/index.js +0 -9622
  315. package/cjs/index.js.map +0 -1
  316. package/esm/index.js +0 -9283
  317. package/esm/index.js.map +0 -1
@@ -0,0 +1,248 @@
1
+ 'use strict';
2
+
3
+ var vuuFilterParser = require('@vuu-ui/vuu-filter-parser');
4
+ var eventEmitter = require('../event-emitter.js');
5
+ var index = require('../nanoid/index.js');
6
+ var datasourceUtils = require('./datasource-utils.js');
7
+ var rangeUtils = require('../range-utils.js');
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __typeError = (msg) => {
11
+ throw TypeError(msg);
12
+ };
13
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
15
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
16
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
17
+ 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);
18
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
19
+ var _pageCount;
20
+ class BaseDataSource extends eventEmitter.EventEmitter {
21
+ constructor({
22
+ aggregations,
23
+ baseFilterSpec,
24
+ columns,
25
+ filterSpec,
26
+ groupBy,
27
+ sort,
28
+ title,
29
+ viewport
30
+ }) {
31
+ super();
32
+ // This should simply be id
33
+ __publicField(this, "viewport");
34
+ __publicField(this, "_clientCallback");
35
+ __publicField(this, "_config", datasourceUtils.vanillaConfig);
36
+ __publicField(this, "_impendingConfig");
37
+ __publicField(this, "_range", rangeUtils.Range(0, 0));
38
+ __publicField(this, "_size", 0);
39
+ __publicField(this, "_title");
40
+ __privateAdd(this, _pageCount, 0);
41
+ __publicField(this, "awaitingConfirmationOfConfigChanges", false);
42
+ this._config = {
43
+ ...this._config,
44
+ aggregations: aggregations || this._config.aggregations,
45
+ baseFilterSpec: baseFilterSpec || this._config.baseFilterSpec,
46
+ columns: columns || this._config.columns,
47
+ filterSpec: filterSpec || this._config.filterSpec,
48
+ groupBy: groupBy || this._config.groupBy,
49
+ sort: sort || this._config.sort
50
+ };
51
+ this._title = title;
52
+ this.viewport = viewport ?? "";
53
+ }
54
+ subscribe({
55
+ baseFilterSpec,
56
+ columns,
57
+ aggregations,
58
+ range,
59
+ sort,
60
+ groupBy,
61
+ filterSpec,
62
+ viewport = this.viewport || (this.viewport = index.uuid())
63
+ }, callback) {
64
+ this._clientCallback = callback;
65
+ this.viewport = viewport;
66
+ if (aggregations || baseFilterSpec || columns || filterSpec || groupBy || sort) {
67
+ this._config = {
68
+ ...this._config,
69
+ aggregations: aggregations || this._config.aggregations,
70
+ baseFilterSpec: baseFilterSpec || this._config.baseFilterSpec,
71
+ columns: columns || this._config.columns,
72
+ filterSpec: filterSpec || this._config.filterSpec,
73
+ groupBy: groupBy || this._config.groupBy,
74
+ sort: sort || this._config.sort
75
+ };
76
+ }
77
+ if (range) {
78
+ this._range = range;
79
+ }
80
+ }
81
+ get aggregations() {
82
+ return this._config.aggregations;
83
+ }
84
+ set aggregations(aggregations) {
85
+ this.config = {
86
+ ...this._config,
87
+ aggregations
88
+ };
89
+ this.emit("config", this._config, this.range);
90
+ }
91
+ get baseFilter() {
92
+ return this._config.baseFilterSpec;
93
+ }
94
+ set baseFilter(baseFilter) {
95
+ this.config = {
96
+ ...this._config,
97
+ baseFilterSpec: baseFilter
98
+ };
99
+ }
100
+ get columns() {
101
+ return this._config.columns;
102
+ }
103
+ set columns(columns) {
104
+ this.config = {
105
+ ...this._config,
106
+ columns
107
+ };
108
+ this.emit("config", this._config, this.range);
109
+ }
110
+ get filter() {
111
+ return this._config.filterSpec;
112
+ }
113
+ set filter(filter) {
114
+ this.config = {
115
+ ...this._config,
116
+ filterSpec: filter
117
+ };
118
+ }
119
+ get isAwaitingConfirmationOfConfigChange() {
120
+ return this._impendingConfig !== void 0;
121
+ }
122
+ confirmConfigChange() {
123
+ if (this._impendingConfig) {
124
+ this._config = this._impendingConfig;
125
+ console.log(
126
+ "%cclear impending config and emit config change",
127
+ "color:red"
128
+ );
129
+ this._impendingConfig = void 0;
130
+ this.emit("config", this._config, this.range, true);
131
+ } else {
132
+ throw Error(
133
+ `[BaseDataSource], unexpected call to confirmConfigChange, no changes pending`
134
+ );
135
+ }
136
+ }
137
+ get config() {
138
+ return this._impendingConfig ?? this._config;
139
+ }
140
+ set config(config) {
141
+ const confirmed = this.awaitingConfirmationOfConfigChanges ? true : void 0;
142
+ this.awaitingConfirmationOfConfigChanges = false;
143
+ const configChanges = this.applyConfig(config);
144
+ if (configChanges) {
145
+ this.emit("config", this.config, this.range, confirmed, configChanges);
146
+ }
147
+ }
148
+ set impendingConfig(config) {
149
+ this.awaitingConfirmationOfConfigChanges = true;
150
+ const configChanges = this.applyConfig(config);
151
+ if (configChanges) {
152
+ this.emit("config", this.config, this.range, false, configChanges);
153
+ }
154
+ }
155
+ get pageCount() {
156
+ return __privateGet(this, _pageCount);
157
+ }
158
+ set pageCount(pageCount) {
159
+ if (pageCount !== __privateGet(this, _pageCount)) {
160
+ __privateSet(this, _pageCount, pageCount);
161
+ this.emit("page-count", pageCount);
162
+ }
163
+ }
164
+ get range() {
165
+ return this._range;
166
+ }
167
+ set range(range) {
168
+ if (range.from !== this._range.from || range.to !== this._range.to) {
169
+ this._range = range;
170
+ this.pageCount = Math.ceil(this._size / (range.to - range.from));
171
+ this.rangeRequest(range);
172
+ requestAnimationFrame(() => {
173
+ this.emit("range", range);
174
+ });
175
+ }
176
+ }
177
+ get size() {
178
+ return this._size;
179
+ }
180
+ set size(size) {
181
+ this._size = size;
182
+ if (this.range.to !== 0) {
183
+ const pageCount = Math.ceil(size / (this.range.to - this.range.from));
184
+ this.pageCount = pageCount;
185
+ }
186
+ }
187
+ get sort() {
188
+ return this._config.sort;
189
+ }
190
+ set sort(sort) {
191
+ this.config = {
192
+ ...this._config,
193
+ sort
194
+ };
195
+ this.emit("config", this._config, this.range);
196
+ }
197
+ get title() {
198
+ return this._title ?? "";
199
+ }
200
+ set title(title) {
201
+ this._title = title;
202
+ this.emit("title-changed", this.viewport ?? "", title);
203
+ }
204
+ // Public while we use this from useSessionDataSource
205
+ applyConfig(config, preserveExistingConfigAttributes = false) {
206
+ const { noChanges, ...otherChanges } = datasourceUtils.isConfigChanged(
207
+ this._config,
208
+ config
209
+ );
210
+ if (noChanges !== true) {
211
+ if (config) {
212
+ const newConfig = config?.filterSpec?.filter && config?.filterSpec.filterStruct === void 0 ? {
213
+ ...config,
214
+ filterSpec: {
215
+ filter: config.filterSpec.filter,
216
+ filterStruct: vuuFilterParser.parseFilter(config.filterSpec.filter)
217
+ }
218
+ } : config;
219
+ if (preserveExistingConfigAttributes) {
220
+ if (this.awaitingConfirmationOfConfigChanges) {
221
+ this._impendingConfig = {
222
+ ...this._config,
223
+ ...config
224
+ };
225
+ } else {
226
+ this._impendingConfig = void 0;
227
+ this._config = {
228
+ ...this._config,
229
+ ...config
230
+ };
231
+ }
232
+ } else {
233
+ if (this.awaitingConfirmationOfConfigChanges) {
234
+ this._impendingConfig = datasourceUtils.withConfigDefaults(newConfig);
235
+ } else {
236
+ this._impendingConfig = void 0;
237
+ this._config = datasourceUtils.withConfigDefaults(newConfig);
238
+ }
239
+ }
240
+ return otherChanges;
241
+ }
242
+ }
243
+ }
244
+ }
245
+ _pageCount = new WeakMap();
246
+
247
+ exports.BaseDataSource = BaseDataSource;
248
+ //# sourceMappingURL=BaseDataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseDataSource.js","sources":["../../../../../src/datasource/BaseDataSource.ts"],"sourcesContent":["import type {\n DataSource,\n DataSourceConfig,\n DataSourceConstructorProps,\n DataSourceEvents,\n DataSourceFilter,\n DataSourceSubscribeCallback,\n DataSourceSubscribeProps,\n WithBaseFilter,\n WithFullConfig,\n} from \"@vuu-ui/vuu-data-types\";\nimport { parseFilter } from \"@vuu-ui/vuu-filter-parser\";\nimport {\n LinkDescriptorWithLabel,\n VuuAggregation,\n VuuRange,\n VuuSort,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { EventEmitter } from \"../event-emitter\";\nimport { uuid } from \"../nanoid\";\nimport {\n DataSourceConfigChanges,\n isConfigChanged,\n vanillaConfig,\n withConfigDefaults,\n} from \"./datasource-utils\";\nimport { Range } from \"../range-utils\";\n\nexport type RuntimeConfig = WithBaseFilter<WithFullConfig> & {\n visualLink?: LinkDescriptorWithLabel;\n};\n\nexport abstract class BaseDataSource\n extends EventEmitter<DataSourceEvents>\n implements Pick<DataSource, \"config\">\n{\n // This should simply be id\n public viewport: string;\n\n protected _clientCallback: DataSourceSubscribeCallback | undefined;\n protected _config: RuntimeConfig = vanillaConfig;\n protected _impendingConfig: RuntimeConfig | undefined = undefined;\n protected _range = Range(0, 0);\n protected _size = 0;\n protected _title: string | undefined;\n\n #pageCount = 0;\n\n private awaitingConfirmationOfConfigChanges = false;\n\n constructor({\n aggregations,\n baseFilterSpec,\n columns,\n filterSpec,\n groupBy,\n sort,\n title,\n viewport,\n }: Omit<DataSourceConstructorProps, \"table\">) {\n super();\n this._config = {\n ...this._config,\n aggregations: aggregations || this._config.aggregations,\n baseFilterSpec: baseFilterSpec || this._config.baseFilterSpec,\n columns: columns || this._config.columns,\n filterSpec: filterSpec || this._config.filterSpec,\n groupBy: groupBy || this._config.groupBy,\n sort: sort || this._config.sort,\n };\n\n this._title = title;\n this.viewport = viewport ?? \"\";\n }\n\n subscribe(\n {\n baseFilterSpec,\n columns,\n aggregations,\n range,\n sort,\n groupBy,\n filterSpec,\n viewport = this.viewport || (this.viewport = uuid()),\n }: DataSourceSubscribeProps,\n callback: DataSourceSubscribeCallback,\n ) {\n this._clientCallback = callback;\n this.viewport = viewport;\n\n if (\n aggregations ||\n baseFilterSpec ||\n columns ||\n filterSpec ||\n groupBy ||\n sort\n ) {\n this._config = {\n ...this._config,\n aggregations: aggregations || this._config.aggregations,\n baseFilterSpec: baseFilterSpec || this._config.baseFilterSpec,\n columns: columns || this._config.columns,\n filterSpec: filterSpec || this._config.filterSpec,\n groupBy: groupBy || this._config.groupBy,\n sort: sort || this._config.sort,\n };\n }\n\n // store the range before we await the server. It's is possible the\n // range will be updated from the client before we have been able to\n // subscribe. This ensures we will subscribe with latest value.\n if (range) {\n this._range = range;\n }\n }\n\n get aggregations() {\n return this._config.aggregations;\n }\n\n set aggregations(aggregations: VuuAggregation[]) {\n this.config = {\n ...this._config,\n aggregations,\n };\n this.emit(\"config\", this._config, this.range);\n }\n\n get baseFilter() {\n return this._config.baseFilterSpec;\n }\n\n set baseFilter(baseFilter: DataSourceFilter | undefined) {\n this.config = {\n ...this._config,\n baseFilterSpec: baseFilter,\n };\n }\n\n get columns() {\n return this._config.columns;\n }\n\n set columns(columns: string[]) {\n this.config = {\n ...this._config,\n columns,\n };\n this.emit(\"config\", this._config, this.range);\n }\n\n get filter() {\n return this._config.filterSpec;\n }\n\n set filter(filter: DataSourceFilter) {\n this.config = {\n ...this._config,\n filterSpec: filter,\n };\n }\n\n get isAwaitingConfirmationOfConfigChange() {\n return this._impendingConfig !== undefined;\n }\n\n protected confirmConfigChange() {\n if (this._impendingConfig) {\n this._config = this._impendingConfig;\n console.log(\n \"%cclear impending config and emit config change\",\n \"color:red\",\n );\n this._impendingConfig = undefined;\n this.emit(\"config\", this._config, this.range, true);\n } else {\n throw Error(\n `[BaseDataSource], unexpected call to confirmConfigChange, no changes pending`,\n );\n }\n }\n\n get config() {\n return this._impendingConfig ?? this._config;\n }\n\n set config(config: WithBaseFilter<WithFullConfig>) {\n const confirmed = this.awaitingConfirmationOfConfigChanges\n ? true\n : undefined;\n // TODO what happens if config is set and we still have an unconfirmed change ?\n this.awaitingConfirmationOfConfigChanges = false;\n const configChanges = this.applyConfig(config);\n if (configChanges) {\n this.emit(\"config\", this.config, this.range, confirmed, configChanges);\n }\n }\n\n set impendingConfig(config: WithBaseFilter<WithFullConfig>) {\n this.awaitingConfirmationOfConfigChanges = true;\n const configChanges = this.applyConfig(config);\n if (configChanges) {\n this.emit(\"config\", this.config, this.range, false, configChanges);\n }\n }\n\n get pageCount() {\n return this.#pageCount;\n }\n\n set pageCount(pageCount: number) {\n if (pageCount !== this.#pageCount) {\n this.#pageCount = pageCount;\n this.emit(\"page-count\", pageCount);\n }\n }\n\n get range() {\n return this._range;\n }\n\n set range(range: Range) {\n if (range.from !== this._range.from || range.to !== this._range.to) {\n this._range = range;\n this.pageCount = Math.ceil(this._size / (range.to - range.from));\n this.rangeRequest(range);\n requestAnimationFrame(() => {\n this.emit(\"range\", range);\n });\n }\n }\n\n get size() {\n return this._size;\n }\n\n set size(size: number) {\n this._size = size;\n if (this.range.to !== 0) {\n const pageCount = Math.ceil(size / (this.range.to - this.range.from));\n this.pageCount = pageCount;\n }\n }\n\n get sort() {\n return this._config.sort;\n }\n\n set sort(sort: VuuSort) {\n this.config = {\n ...this._config,\n sort,\n };\n this.emit(\"config\", this._config, this.range);\n }\n\n get title() {\n return this._title ?? \"\";\n }\n\n set title(title: string) {\n this._title = title;\n this.emit(\"title-changed\", this.viewport ?? \"\", title);\n }\n\n // Public while we use this from useSessionDataSource\n public applyConfig(\n config: WithBaseFilter<DataSourceConfig>,\n preserveExistingConfigAttributes = false,\n ): DataSourceConfigChanges | undefined {\n const { noChanges, ...otherChanges } = isConfigChanged(\n this._config,\n config,\n );\n if (noChanges !== true) {\n if (config) {\n const newConfig: DataSourceConfig =\n config?.filterSpec?.filter &&\n config?.filterSpec.filterStruct === undefined\n ? {\n ...config,\n filterSpec: {\n filter: config.filterSpec.filter,\n filterStruct: parseFilter(config.filterSpec.filter),\n },\n }\n : config;\n if (preserveExistingConfigAttributes) {\n if (this.awaitingConfirmationOfConfigChanges) {\n this._impendingConfig = {\n ...this._config,\n ...config,\n };\n } else {\n this._impendingConfig = undefined;\n this._config = {\n ...this._config,\n ...config,\n };\n }\n } else {\n if (this.awaitingConfirmationOfConfigChanges) {\n this._impendingConfig = withConfigDefaults(newConfig);\n } else {\n this._impendingConfig = undefined;\n this._config = withConfigDefaults(newConfig);\n }\n }\n return otherChanges;\n }\n }\n }\n\n abstract rangeRequest(range: VuuRange): void;\n}\n"],"names":["EventEmitter","vanillaConfig","Range","uuid","isConfigChanged","parseFilter","withConfigDefaults"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ const isVisualLinksAction = (action) => action.type === "vuu-links";
4
+ const isVisualLinkCreatedAction = (action) => action.type === "vuu-link-created";
5
+ const isVisualLinkRemovedAction = (action) => action.type === "vuu-link-removed";
6
+ const isViewportMenusAction = (action) => action.type === "vuu-menu";
7
+ const isVuuFeatureAction = (action) => isViewportMenusAction(action) || isVisualLinksAction(action);
8
+
9
+ exports.isViewportMenusAction = isViewportMenusAction;
10
+ exports.isVisualLinkCreatedAction = isVisualLinkCreatedAction;
11
+ exports.isVisualLinkRemovedAction = isVisualLinkRemovedAction;
12
+ exports.isVisualLinksAction = isVisualLinksAction;
13
+ exports.isVuuFeatureAction = isVuuFeatureAction;
14
+ //# sourceMappingURL=datasource-action-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasource-action-utils.js","sources":["../../../../../src/datasource/datasource-action-utils.ts"],"sourcesContent":["import {\n DataSourceMenusMessage,\n DataSourceVisualLinkCreatedMessage,\n DataSourceVisualLinkRemovedMessage,\n DataSourceVisualLinksMessage,\n VuuFeatureMessage,\n} from \"@vuu-ui/vuu-data-types\";\nimport { GridAction } from \"@vuu-ui/vuu-table-types\";\n\nexport const isVisualLinksAction = (\n action: GridAction,\n): action is DataSourceVisualLinksMessage => action.type === \"vuu-links\";\n\nexport const isVisualLinkCreatedAction = (\n action: GridAction,\n): action is DataSourceVisualLinkCreatedMessage =>\n action.type === \"vuu-link-created\";\n\nexport const isVisualLinkRemovedAction = (\n action: GridAction,\n): action is DataSourceVisualLinkRemovedMessage =>\n action.type === \"vuu-link-removed\";\n\nexport const isViewportMenusAction = (\n action: GridAction,\n): action is DataSourceMenusMessage => action.type === \"vuu-menu\";\n\nexport const isVuuFeatureAction = (\n action: GridAction,\n): action is VuuFeatureMessage =>\n isViewportMenusAction(action) || isVisualLinksAction(action);\n"],"names":[],"mappings":";;AASO,MAAM,mBAAsB,GAAA,CACjC,MAC2C,KAAA,MAAA,CAAO,IAAS,KAAA;AAEtD,MAAM,yBAA4B,GAAA,CACvC,MAEA,KAAA,MAAA,CAAO,IAAS,KAAA;AAEX,MAAM,yBAA4B,GAAA,CACvC,MAEA,KAAA,MAAA,CAAO,IAAS,KAAA;AAEX,MAAM,qBAAwB,GAAA,CACnC,MACqC,KAAA,MAAA,CAAO,IAAS,KAAA;AAEhD,MAAM,qBAAqB,CAChC,MAAA,KAEA,sBAAsB,MAAM,CAAA,IAAK,oBAAoB,MAAM;;;;;;;;"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var vuuFilterParser = require('@vuu-ui/vuu-filter-parser');
4
+
5
+ const combineFilters = ({
6
+ baseFilterSpec,
7
+ filterSpec,
8
+ ...config
9
+ }) => {
10
+ const baseFilterQuery = baseFilterSpec?.filter ?? "";
11
+ const combinedFilter = filterSpec.filter.length > 0 && baseFilterQuery.length > 0 ? `${filterSpec.filter} and ${baseFilterQuery}` : filterSpec.filter || baseFilterQuery;
12
+ const newConfig = {
13
+ ...config,
14
+ filterSpec: {
15
+ filter: combinedFilter,
16
+ filterStruct: combinedFilter.length > 0 ? vuuFilterParser.parseFilter(combinedFilter) : void 0
17
+ }
18
+ };
19
+ return newConfig;
20
+ };
21
+
22
+ exports.combineFilters = combineFilters;
23
+ //# sourceMappingURL=datasource-filter-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasource-filter-utils.js","sources":["../../../../../src/datasource/datasource-filter-utils.ts"],"sourcesContent":["import { WithBaseFilter, WithFullConfig } from \"@vuu-ui/vuu-data-types\";\nimport { parseFilter } from \"@vuu-ui/vuu-filter-parser\";\n\nexport const combineFilters = ({\n baseFilterSpec,\n filterSpec,\n ...config\n}: WithBaseFilter<WithFullConfig>) => {\n const baseFilterQuery = baseFilterSpec?.filter ?? \"\";\n const combinedFilter =\n filterSpec.filter.length > 0 && baseFilterQuery.length > 0\n ? `${filterSpec.filter} and ${baseFilterQuery}`\n : filterSpec.filter || baseFilterQuery;\n\n const newConfig: WithFullConfig = {\n ...config,\n filterSpec: {\n filter: combinedFilter,\n filterStruct:\n combinedFilter.length > 0 ? parseFilter(combinedFilter) : undefined,\n },\n };\n\n return newConfig;\n};\n"],"names":["parseFilter"],"mappings":";;;;AAGO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,cAAA;AAAA,EACA,UAAA;AAAA,EACA,GAAG;AACL,CAAsC,KAAA;AACpC,EAAM,MAAA,eAAA,GAAkB,gBAAgB,MAAU,IAAA,EAAA;AAClD,EAAA,MAAM,cACJ,GAAA,UAAA,CAAW,MAAO,CAAA,MAAA,GAAS,KAAK,eAAgB,CAAA,MAAA,GAAS,CACrD,GAAA,CAAA,EAAG,WAAW,MAAM,CAAA,KAAA,EAAQ,eAAe,CAAA,CAAA,GAC3C,WAAW,MAAU,IAAA,eAAA;AAE3B,EAAA,MAAM,SAA4B,GAAA;AAAA,IAChC,GAAG,MAAA;AAAA,IACH,UAAY,EAAA;AAAA,MACV,MAAQ,EAAA,cAAA;AAAA,MACR,cACE,cAAe,CAAA,MAAA,GAAS,CAAI,GAAAA,2BAAA,CAAY,cAAc,CAAI,GAAA,KAAA;AAAA;AAC9D,GACF;AAEA,EAAO,OAAA,SAAA;AACT;;;;"}
@@ -0,0 +1,207 @@
1
+ 'use strict';
2
+
3
+ const NoFilter = { filter: "" };
4
+ const NoSort = { sortDefs: [] };
5
+ const vanillaConfig = {
6
+ aggregations: [],
7
+ columns: [],
8
+ filterSpec: NoFilter,
9
+ groupBy: [],
10
+ sort: NoSort
11
+ };
12
+ const equivalentAggregations = ({ aggregations: agg1 }, { aggregations: agg2 }) => agg1 === void 0 && agg2?.length === 0 || agg2 === void 0 && agg1?.length === 0;
13
+ const equivalentColumns = ({ columns: cols1 }, { columns: cols2 }) => cols1 === void 0 && cols2?.length === 0 || cols2 === void 0 && cols1?.length === 0;
14
+ const equivalentFilter = ({ filterSpec: f1 }, { filterSpec: f2 }) => f1 === void 0 && f2?.filter === "" || f2 === void 0 && f1?.filter === "";
15
+ const equivalentGroupBy = ({ groupBy: val1 }, { groupBy: val2 }) => val1 === void 0 && val2?.length === 0 || val2 === void 0 && val1?.length === 0;
16
+ const equivalentSort = ({ sort: s1 }, { sort: s2 }) => s1 === void 0 && s2?.sortDefs.length === 0 || s2 === void 0 && s1?.sortDefs.length === 0;
17
+ const exactlyTheSame = (a, b) => {
18
+ if (a === b) {
19
+ return true;
20
+ } else if (a === void 0 && b === void 0) {
21
+ return true;
22
+ } else {
23
+ return false;
24
+ }
25
+ };
26
+ const isAggregationsChanged = (config, newConfig) => {
27
+ const { aggregations: agg1 } = config;
28
+ const { aggregations: agg2 } = newConfig;
29
+ if (exactlyTheSame(agg1, agg2) || equivalentAggregations(config, newConfig)) {
30
+ return false;
31
+ } else if (agg1 === void 0 || agg2 === void 0) {
32
+ return true;
33
+ } else if (agg1.length !== agg2.length) {
34
+ return true;
35
+ }
36
+ return agg1.some(
37
+ ({ column, aggType }, i) => column !== agg2[i].column || aggType !== agg2[i].aggType
38
+ );
39
+ };
40
+ const isColumnsChanged = (config, newConfig) => {
41
+ const { columns: cols1 } = config;
42
+ const { columns: cols2 } = newConfig;
43
+ if (exactlyTheSame(cols1, cols2) || equivalentColumns(config, newConfig)) {
44
+ return false;
45
+ } else if (cols1 === void 0 || cols2 === void 0) {
46
+ return true;
47
+ } else if (cols1?.length !== cols2?.length) {
48
+ return true;
49
+ }
50
+ return cols1.some((column, i) => column !== cols2?.[i]);
51
+ };
52
+ const isBaseFilterChanged = (c1, c2) => {
53
+ if (equivalentFilter(c1, c2)) {
54
+ return false;
55
+ } else {
56
+ return c1.baseFilterSpec?.filter !== c2.baseFilterSpec?.filter;
57
+ }
58
+ };
59
+ const isFilterChanged = (c1, c2) => {
60
+ if (equivalentFilter(c1, c2)) {
61
+ return false;
62
+ } else {
63
+ return c1.filterSpec?.filter !== c2.filterSpec?.filter;
64
+ }
65
+ };
66
+ const isGroupByChanged = (config, newConfig) => {
67
+ const { groupBy: g1 } = config;
68
+ const { groupBy: g2 } = newConfig;
69
+ if (exactlyTheSame(g1, g2) || equivalentGroupBy(config, newConfig)) {
70
+ return false;
71
+ } else if (g1 === void 0 || g2 === void 0) {
72
+ return true;
73
+ } else if (g1?.length !== g2?.length) {
74
+ return true;
75
+ }
76
+ return g1.some((column, i) => column !== g2?.[i]);
77
+ };
78
+ const isSortChanged = (config, newConfig) => {
79
+ const { sort: s1 } = config;
80
+ const { sort: s2 } = newConfig;
81
+ if (exactlyTheSame(s1, s2) || equivalentSort(config, newConfig)) {
82
+ return false;
83
+ } else if (s1 === void 0 || s2 === void 0) {
84
+ return true;
85
+ } else if (s1?.sortDefs.length !== s2?.sortDefs.length) {
86
+ return true;
87
+ }
88
+ return s1.sortDefs.some(
89
+ ({ column, sortType }, i) => column !== s2.sortDefs[i].column || sortType !== s2.sortDefs[i].sortType
90
+ );
91
+ };
92
+ const isVisualLinkChanged = ({ visualLink: v1 }, { visualLink: v2 }) => {
93
+ if (exactlyTheSame(v1, v2)) {
94
+ return false;
95
+ }
96
+ if (v1 === void 0 || v2 === void 0) {
97
+ return true;
98
+ }
99
+ return v1.label !== v2.label || v2.parentVpId !== v2.parentVpId;
100
+ };
101
+ const NO_CONFIG_CHANGES = {
102
+ aggregationsChanged: false,
103
+ baseFilterChanged: false,
104
+ columnsChanged: false,
105
+ filterChanged: false,
106
+ groupByChanged: false,
107
+ noChanges: true,
108
+ sortChanged: false,
109
+ visualLinkChanged: false
110
+ };
111
+ const isConfigChanged = (config, newConfig) => {
112
+ if (exactlyTheSame(config, newConfig)) {
113
+ return NO_CONFIG_CHANGES;
114
+ }
115
+ if (config === void 0 && newConfig == void 0) {
116
+ return NO_CONFIG_CHANGES;
117
+ } else if (config === void 0) {
118
+ return isConfigChanged({}, newConfig);
119
+ } else if (newConfig === void 0) {
120
+ return isConfigChanged(config, {});
121
+ }
122
+ const aggregationsChanged = isAggregationsChanged(config, newConfig);
123
+ const baseFilterChanged = isBaseFilterChanged(config, newConfig);
124
+ const columnsChanged = isColumnsChanged(config, newConfig);
125
+ const filterChanged = isFilterChanged(config, newConfig);
126
+ const groupByChanged = isGroupByChanged(config, newConfig);
127
+ const sortChanged = isSortChanged(config, newConfig);
128
+ const visualLinkChanged = isVisualLinkChanged(config, newConfig);
129
+ const noChanges = !(aggregationsChanged || baseFilterChanged || columnsChanged || filterChanged || groupByChanged || sortChanged || visualLinkChanged);
130
+ return {
131
+ aggregationsChanged,
132
+ baseFilterChanged,
133
+ columnsChanged,
134
+ filterChanged,
135
+ groupByChanged,
136
+ noChanges,
137
+ sortChanged,
138
+ visualLinkChanged
139
+ };
140
+ };
141
+ const hasGroupBy = (config) => config !== void 0 && config.groupBy !== void 0 && config.groupBy.length > 0;
142
+ const hasBaseFilter = (config) => config?.baseFilterSpec !== void 0 && config.baseFilterSpec.filter.length > 0;
143
+ const hasFilter = (config) => config?.filterSpec !== void 0 && config.filterSpec.filter.length > 0;
144
+ const hasSort = (config) => config?.sort !== void 0 && Array.isArray(config.sort?.sortDefs) && config.sort.sortDefs.length > 0;
145
+ const isTypeaheadSuggestionProvider = (source) => typeof source["getTypeaheadSuggestions"] === "function";
146
+ const isTableSchemaMessage = (message) => message.type === "TABLE_META_RESP";
147
+ const isConnectionQualityMetrics = (msg) => msg.type === "connection-metrics";
148
+ const messageHasResult = (msg) => typeof msg.result !== "undefined";
149
+ const isErrorResponse = (response) => response?.type === "VP_EDIT_RPC_REJECT";
150
+ const isVisualLinkMessage = (msg) => msg.type.endsWith("_VISUAL_LINK");
151
+ const isViewportMessage = (msg) => "viewport" in msg;
152
+ const messageHasDataRows = (message) => message.type === "viewport-update" && Array.isArray(message.rows);
153
+ const withConfigDefaults = (config) => {
154
+ if (config.aggregations && config.baseFilterSpec && config.columns && config.filterSpec && config.groupBy && config.sort) {
155
+ return config;
156
+ } else {
157
+ const {
158
+ aggregations = [],
159
+ baseFilterSpec: baseFilter = { filter: "" },
160
+ columns = [],
161
+ filterSpec: filter = { filter: "" },
162
+ groupBy = [],
163
+ sort = { sortDefs: [] },
164
+ visualLink
165
+ } = config;
166
+ return {
167
+ aggregations,
168
+ baseFilterSpec: baseFilter,
169
+ columns,
170
+ filterSpec: filter,
171
+ groupBy,
172
+ sort,
173
+ visualLink
174
+ };
175
+ }
176
+ };
177
+ const dataSourceRowToEntity = (row, columnMap) => Object.entries(columnMap).reduce(
178
+ (entity, [name, index]) => ({
179
+ ...entity,
180
+ [name]: row[index]
181
+ }),
182
+ {}
183
+ );
184
+
185
+ exports.NO_CONFIG_CHANGES = NO_CONFIG_CHANGES;
186
+ exports.NoFilter = NoFilter;
187
+ exports.NoSort = NoSort;
188
+ exports.dataSourceRowToEntity = dataSourceRowToEntity;
189
+ exports.hasBaseFilter = hasBaseFilter;
190
+ exports.hasFilter = hasFilter;
191
+ exports.hasGroupBy = hasGroupBy;
192
+ exports.hasSort = hasSort;
193
+ exports.isBaseFilterChanged = isBaseFilterChanged;
194
+ exports.isConfigChanged = isConfigChanged;
195
+ exports.isConnectionQualityMetrics = isConnectionQualityMetrics;
196
+ exports.isErrorResponse = isErrorResponse;
197
+ exports.isFilterChanged = isFilterChanged;
198
+ exports.isGroupByChanged = isGroupByChanged;
199
+ exports.isTableSchemaMessage = isTableSchemaMessage;
200
+ exports.isTypeaheadSuggestionProvider = isTypeaheadSuggestionProvider;
201
+ exports.isViewportMessage = isViewportMessage;
202
+ exports.isVisualLinkMessage = isVisualLinkMessage;
203
+ exports.messageHasDataRows = messageHasDataRows;
204
+ exports.messageHasResult = messageHasResult;
205
+ exports.vanillaConfig = vanillaConfig;
206
+ exports.withConfigDefaults = withConfigDefaults;
207
+ //# sourceMappingURL=datasource-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasource-utils.js","sources":["../../../../../src/datasource/datasource-utils.ts"],"sourcesContent":["import {\n ConnectionQualityMetrics,\n DataSourceCallbackMessage,\n DataSourceConfig,\n DataSourceDataMessage,\n DataSourceRow,\n RpcResponse,\n TypeaheadSuggestionProvider,\n VuuUIMessageIn,\n VuuUIMessageInRPC,\n VuuUIMessageInRPCEditReject,\n VuuUIMessageInTableMeta,\n VuuUIMessageOutViewport,\n WithBaseFilter,\n WithFilter,\n WithFullConfig,\n WithGroupBy,\n WithSort,\n} from \"@vuu-ui/vuu-data-types\";\nimport {\n LinkDescriptorWithLabel,\n VuuCreateVisualLink,\n VuuFilter,\n VuuRemoveVisualLink,\n VuuRowDataItemType,\n VuuSort,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"../column-utils\";\n\nexport const NoFilter: VuuFilter = { filter: \"\" };\nexport const NoSort: VuuSort = { sortDefs: [] };\n\nexport const vanillaConfig: WithFullConfig = {\n aggregations: [],\n columns: [],\n filterSpec: NoFilter,\n groupBy: [],\n sort: NoSort,\n};\n\nexport type DataSourceConfigChanges = {\n aggregationsChanged: boolean;\n baseFilterChanged: boolean;\n columnsChanged: boolean;\n filterChanged: boolean;\n groupByChanged: boolean;\n sortChanged: boolean;\n visualLinkChanged: boolean;\n};\n\nexport type MaybeDataSourceConfigChanges = DataSourceConfigChanges & {\n noChanges: boolean;\n};\n\ntype DataConfigPredicate = (\n config: WithBaseFilter<DataSourceConfig>,\n newConfig: WithBaseFilter<DataSourceConfig>,\n) => boolean;\n\nconst equivalentAggregations: DataConfigPredicate = (\n { aggregations: agg1 },\n { aggregations: agg2 },\n) =>\n (agg1 === undefined && agg2?.length === 0) ||\n (agg2 === undefined && agg1?.length === 0);\n\nconst equivalentColumns: DataConfigPredicate = (\n { columns: cols1 },\n { columns: cols2 },\n) =>\n (cols1 === undefined && cols2?.length === 0) ||\n (cols2 === undefined && cols1?.length === 0);\n\nconst equivalentFilter: DataConfigPredicate = (\n { filterSpec: f1 },\n { filterSpec: f2 },\n) =>\n (f1 === undefined && f2?.filter === \"\") ||\n (f2 === undefined && f1?.filter === \"\");\n\nconst equivalentGroupBy: DataConfigPredicate = (\n { groupBy: val1 },\n { groupBy: val2 },\n) =>\n (val1 === undefined && val2?.length === 0) ||\n (val2 === undefined && val1?.length === 0);\n\nconst equivalentSort: DataConfigPredicate = ({ sort: s1 }, { sort: s2 }) =>\n (s1 === undefined && s2?.sortDefs.length === 0) ||\n (s2 === undefined && s1?.sortDefs.length === 0);\n\nconst exactlyTheSame = (a: unknown, b: unknown) => {\n if (a === b) {\n return true;\n } else if (a === undefined && b === undefined) {\n return true;\n } else {\n return false;\n }\n};\n\nconst isAggregationsChanged: DataConfigPredicate = (config, newConfig) => {\n const { aggregations: agg1 } = config;\n const { aggregations: agg2 } = newConfig;\n if (exactlyTheSame(agg1, agg2) || equivalentAggregations(config, newConfig)) {\n return false;\n } else if (agg1 === undefined || agg2 === undefined) {\n return true;\n } else if (agg1.length !== agg2.length) {\n return true;\n }\n return agg1.some(\n ({ column, aggType }, i) =>\n column !== agg2[i].column || aggType !== agg2[i].aggType,\n );\n};\n\nconst isColumnsChanged: DataConfigPredicate = (config, newConfig) => {\n const { columns: cols1 } = config;\n const { columns: cols2 } = newConfig;\n\n if (exactlyTheSame(cols1, cols2) || equivalentColumns(config, newConfig)) {\n return false;\n } else if (cols1 === undefined || cols2 === undefined) {\n return true;\n } else if (cols1?.length !== cols2?.length) {\n return true;\n }\n return cols1.some((column, i) => column !== cols2?.[i]);\n};\n\nexport const isBaseFilterChanged: DataConfigPredicate = (c1, c2) => {\n if (equivalentFilter(c1, c2)) {\n return false;\n } else {\n return c1.baseFilterSpec?.filter !== c2.baseFilterSpec?.filter;\n }\n};\n\nexport const isFilterChanged: DataConfigPredicate = (c1, c2) => {\n if (equivalentFilter(c1, c2)) {\n return false;\n } else {\n return c1.filterSpec?.filter !== c2.filterSpec?.filter;\n }\n};\n\nexport const isGroupByChanged: DataConfigPredicate = (config, newConfig) => {\n const { groupBy: g1 } = config;\n const { groupBy: g2 } = newConfig;\n if (exactlyTheSame(g1, g2) || equivalentGroupBy(config, newConfig)) {\n return false;\n } else if (g1 === undefined || g2 === undefined) {\n return true;\n } else if (g1?.length !== g2?.length) {\n return true;\n }\n return g1.some((column, i) => column !== g2?.[i]);\n};\n\nconst isSortChanged: DataConfigPredicate = (config, newConfig) => {\n const { sort: s1 } = config;\n const { sort: s2 } = newConfig;\n if (exactlyTheSame(s1, s2) || equivalentSort(config, newConfig)) {\n return false;\n } else if (s1 === undefined || s2 === undefined) {\n return true;\n } else if (s1?.sortDefs.length !== s2?.sortDefs.length) {\n return true;\n }\n return s1.sortDefs.some(\n ({ column, sortType }, i) =>\n column !== s2.sortDefs[i].column || sortType !== s2.sortDefs[i].sortType,\n );\n};\n\nconst isVisualLinkChanged: DataConfigPredicate = (\n { visualLink: v1 },\n { visualLink: v2 },\n) => {\n if (exactlyTheSame(v1, v2)) {\n return false;\n }\n if (v1 === undefined || v2 === undefined) {\n return true;\n }\n return v1.label !== v2.label || v2.parentVpId !== v2.parentVpId;\n};\n\nexport const NO_CONFIG_CHANGES: MaybeDataSourceConfigChanges = {\n aggregationsChanged: false,\n baseFilterChanged: false,\n columnsChanged: false,\n filterChanged: false,\n groupByChanged: false,\n noChanges: true,\n sortChanged: false,\n visualLinkChanged: false,\n};\n\nexport const isConfigChanged = (\n config: DataSourceConfig | undefined,\n newConfig: DataSourceConfig | undefined,\n): MaybeDataSourceConfigChanges => {\n if (exactlyTheSame(config, newConfig)) {\n return NO_CONFIG_CHANGES;\n }\n\n if (config === undefined && newConfig == undefined) {\n return NO_CONFIG_CHANGES;\n } else if (config === undefined) {\n return isConfigChanged({}, newConfig);\n } else if (newConfig === undefined) {\n return isConfigChanged(config, {});\n }\n\n const aggregationsChanged = isAggregationsChanged(config, newConfig);\n const baseFilterChanged = isBaseFilterChanged(config, newConfig);\n const columnsChanged = isColumnsChanged(config, newConfig);\n const filterChanged = isFilterChanged(config, newConfig);\n const groupByChanged = isGroupByChanged(config, newConfig);\n const sortChanged = isSortChanged(config, newConfig);\n const visualLinkChanged = isVisualLinkChanged(config, newConfig);\n\n const noChanges = !(\n aggregationsChanged ||\n baseFilterChanged ||\n columnsChanged ||\n filterChanged ||\n groupByChanged ||\n sortChanged ||\n visualLinkChanged\n );\n\n return {\n aggregationsChanged,\n baseFilterChanged,\n columnsChanged,\n filterChanged,\n groupByChanged,\n noChanges,\n sortChanged,\n visualLinkChanged,\n };\n};\n\nexport const hasGroupBy = (\n config?: WithBaseFilter<DataSourceConfig>,\n): config is WithGroupBy =>\n config !== undefined &&\n config.groupBy !== undefined &&\n config.groupBy.length > 0;\n\nexport const hasBaseFilter = (\n config?: WithBaseFilter<DataSourceConfig>,\n): config is WithFilter =>\n config?.baseFilterSpec !== undefined &&\n config.baseFilterSpec.filter.length > 0;\n\nexport const hasFilter = (config?: DataSourceConfig): config is WithFilter =>\n config?.filterSpec !== undefined && config.filterSpec.filter.length > 0;\n\nexport const hasSort = (config?: DataSourceConfig): config is WithSort =>\n config?.sort !== undefined &&\n Array.isArray(config.sort?.sortDefs) &&\n config.sort.sortDefs.length > 0;\n\nexport const isTypeaheadSuggestionProvider = (\n source: unknown,\n): source is TypeaheadSuggestionProvider =>\n typeof (source as TypeaheadSuggestionProvider)[\"getTypeaheadSuggestions\"] ===\n \"function\";\n\nexport const isTableSchemaMessage = (\n message: VuuUIMessageIn,\n): message is VuuUIMessageInTableMeta => message.type === \"TABLE_META_RESP\";\n\nexport const isConnectionQualityMetrics = (\n msg: object,\n): msg is ConnectionQualityMetrics =>\n (msg as ConnectionQualityMetrics).type === \"connection-metrics\";\n\nexport const messageHasResult = (msg: object): msg is VuuUIMessageInRPC =>\n typeof (msg as VuuUIMessageInRPC).result !== \"undefined\";\n\nexport const isErrorResponse = (\n response?: Partial<RpcResponse>,\n): response is VuuUIMessageInRPCEditReject =>\n response?.type === \"VP_EDIT_RPC_REJECT\";\n\nexport const isVisualLinkMessage = (\n msg: unknown,\n): msg is VuuCreateVisualLink | VuuRemoveVisualLink =>\n (msg as VuuCreateVisualLink).type.endsWith(\"_VISUAL_LINK\");\n\nexport const isViewportMessage = (\n msg: object,\n): msg is VuuUIMessageOutViewport => \"viewport\" in msg;\n\nexport type DataSourceDataMessageWithRows = Omit<\n DataSourceDataMessage,\n \"rows\"\n> & {\n rows: DataSourceRow[];\n};\nexport const messageHasDataRows = (\n message: DataSourceCallbackMessage,\n): message is DataSourceDataMessageWithRows =>\n message.type === \"viewport-update\" && Array.isArray(message.rows);\n\nexport const withConfigDefaults = (\n config: WithBaseFilter<DataSourceConfig>,\n): WithBaseFilter<WithFullConfig> & {\n visualLink?: LinkDescriptorWithLabel;\n} => {\n if (\n config.aggregations &&\n config.baseFilterSpec &&\n config.columns &&\n config.filterSpec &&\n config.groupBy &&\n config.sort\n ) {\n return config as WithFullConfig;\n } else {\n const {\n aggregations = [],\n baseFilterSpec: baseFilter = { filter: \"\" },\n columns = [],\n filterSpec: filter = { filter: \"\" },\n groupBy = [],\n sort = { sortDefs: [] },\n visualLink,\n } = config;\n\n return {\n aggregations,\n baseFilterSpec: baseFilter,\n columns,\n filterSpec: filter,\n groupBy,\n sort,\n visualLink,\n };\n }\n};\n\nexport type Entity = Record<string, VuuRowDataItemType>;\n// export type EntityKey<T extends Entity = Entity> = Extract<keyof T, \"string\">;\n\nexport const dataSourceRowToEntity = <T extends Entity = Entity>(\n row: DataSourceRow,\n columnMap: ColumnMap,\n) =>\n Object.entries(columnMap).reduce(\n (entity, [name, index]) => ({\n ...entity,\n [name]: row[index],\n }),\n {} as T,\n );\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var date = require('@internationalized/date');
4
+
5
+ function toCalendarDate(d) {
6
+ return new date.CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());
7
+ }
8
+
9
+ exports.toCalendarDate = toCalendarDate;
10
+ //# sourceMappingURL=date-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.js","sources":["../../../../../src/date/date-utils.ts"],"sourcesContent":["import { CalendarDate } from \"@internationalized/date\";\n\nexport function toCalendarDate(d: Date) {\n return new CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n}\n"],"names":["CalendarDate"],"mappings":";;;;AAEO,SAAS,eAAe,CAAS,EAAA;AACtC,EAAO,OAAA,IAAIA,iBAAa,CAAA,CAAA,CAAE,WAAY,EAAA,EAAG,CAAE,CAAA,QAAA,EAAa,GAAA,CAAA,EAAG,CAAE,CAAA,OAAA,EAAS,CAAA;AACxE;;;;"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var columnUtils = require('../column-utils.js');
4
+ var types = require('./types.js');
5
+
6
+ const defaultPatternsByType = {
7
+ time: "hh:mm:ss",
8
+ date: "dd.mm.yyyy"
9
+ };
10
+ const fallbackDateTimePattern = {
11
+ date: defaultPatternsByType["date"]
12
+ };
13
+ function dateTimePattern(type) {
14
+ if (columnUtils.isTypeDescriptor(type)) {
15
+ if (type.formatting && types.isDateTimePattern(type.formatting.pattern)) {
16
+ return type.formatting.pattern;
17
+ }
18
+ }
19
+ return fallbackDateTimePattern;
20
+ }
21
+
22
+ exports.dateTimePattern = dateTimePattern;
23
+ exports.defaultPatternsByType = defaultPatternsByType;
24
+ exports.fallbackDateTimePattern = fallbackDateTimePattern;
25
+ //# sourceMappingURL=dateTimePattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateTimePattern.js","sources":["../../../../../src/date/dateTimePattern.ts"],"sourcesContent":["import { DateTimeDataValueDescriptor } from \"@vuu-ui/vuu-data-types\";\nimport { isTypeDescriptor } from \"../column-utils\";\nimport { DateTimePattern, isDateTimePattern } from \"./types\";\n\nexport const defaultPatternsByType = {\n time: \"hh:mm:ss\",\n date: \"dd.mm.yyyy\",\n} as const;\n\nexport const fallbackDateTimePattern: DateTimePattern = {\n date: defaultPatternsByType[\"date\"],\n};\n\nexport function dateTimePattern(\n type: DateTimeDataValueDescriptor[\"type\"],\n): DateTimePattern {\n if (isTypeDescriptor(type)) {\n if (type.formatting && isDateTimePattern(type.formatting.pattern)) {\n return type.formatting.pattern;\n }\n }\n\n return fallbackDateTimePattern;\n}\n"],"names":["isTypeDescriptor","isDateTimePattern"],"mappings":";;;;;AAIO,MAAM,qBAAwB,GAAA;AAAA,EACnC,IAAM,EAAA,UAAA;AAAA,EACN,IAAM,EAAA;AACR;AAEO,MAAM,uBAA2C,GAAA;AAAA,EACtD,IAAA,EAAM,sBAAsB,MAAM;AACpC;AAEO,SAAS,gBACd,IACiB,EAAA;AACjB,EAAI,IAAAA,4BAAA,CAAiB,IAAI,CAAG,EAAA;AAC1B,IAAA,IAAI,KAAK,UAAc,IAAAC,uBAAA,CAAkB,IAAK,CAAA,UAAA,CAAW,OAAO,CAAG,EAAA;AACjE,MAAA,OAAO,KAAK,UAAW,CAAA,OAAA;AAAA;AACzB;AAGF,EAAO,OAAA,uBAAA;AACT;;;;;;"}