@vuu-ui/vuu-data-test 0.13.45 → 0.13.46

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 (143) hide show
  1. package/cjs/simul/reference-data/instruments.js +5 -4
  2. package/cjs/simul/reference-data/instruments.js.map +1 -1
  3. package/esm/simul/reference-data/instruments.js +5 -4
  4. package/esm/simul/reference-data/instruments.js.map +1 -1
  5. package/package.json +6 -6
  6. package/types/vuu-context-menu/src/ContextMenu.d.ts +10 -0
  7. package/types/vuu-context-menu/src/ContextMenuProvider.d.ts +16 -0
  8. package/types/vuu-context-menu/src/index.d.ts +3 -0
  9. package/types/vuu-context-menu/src/menu-utils.d.ts +17 -0
  10. package/types/vuu-context-menu/src/useContextMenu.d.ts +10 -0
  11. package/types/{basket → vuu-data-test/src/basket}/BasketModule.d.ts +1 -1
  12. package/types/{simul → vuu-data-test/src/simul}/SimulModule.d.ts +1 -1
  13. package/types/{simul → vuu-data-test/src/simul}/reference-data/instrument-prices.d.ts +8 -2
  14. package/types/{simul → vuu-data-test/src/simul}/reference-data/instruments.d.ts +5 -4
  15. package/types/{test → vuu-data-test/src/test}/TestModule.d.ts +1 -1
  16. package/types/vuu-utils/src/Clock.d.ts +20 -0
  17. package/types/vuu-utils/src/DataWindow.d.ts +39 -0
  18. package/types/vuu-utils/src/ShellContext.d.ts +11 -0
  19. package/types/vuu-utils/src/ThemeProvider.d.ts +32 -0
  20. package/types/vuu-utils/src/array-utils.d.ts +8 -0
  21. package/types/vuu-utils/src/box-utils.d.ts +24 -0
  22. package/types/vuu-utils/src/broadcast-channel.d.ts +16 -0
  23. package/types/vuu-utils/src/column-utils.d.ts +181 -0
  24. package/types/vuu-utils/src/common-types.d.ts +6 -0
  25. package/types/vuu-utils/src/component-registry.d.ts +65 -0
  26. package/types/vuu-utils/src/context-definitions/DataContext.d.ts +18 -0
  27. package/types/vuu-utils/src/context-definitions/DataProvider.d.ts +7 -0
  28. package/types/vuu-utils/src/context-definitions/DataSourceProvider.d.ts +12 -0
  29. package/types/vuu-utils/src/context-definitions/WorkspaceContext.d.ts +17 -0
  30. package/types/vuu-utils/src/cookie-utils.d.ts +1 -0
  31. package/types/vuu-utils/src/css-utils.d.ts +1 -0
  32. package/types/vuu-utils/src/data-utils.d.ts +19 -0
  33. package/types/vuu-utils/src/datasource/BaseDataSource.d.ts +60 -0
  34. package/types/vuu-utils/src/datasource/datasource-action-utils.d.ts +7 -0
  35. package/types/vuu-utils/src/datasource/datasource-filter-utils.d.ts +2 -0
  36. package/types/vuu-utils/src/datasource/datasource-utils.d.ts +49 -0
  37. package/types/vuu-utils/src/date/date-utils.d.ts +36 -0
  38. package/types/vuu-utils/src/date/dateTimePattern.d.ts +8 -0
  39. package/types/vuu-utils/src/date/formatter.d.ts +4 -0
  40. package/types/vuu-utils/src/date/index.d.ts +4 -0
  41. package/types/vuu-utils/src/date/types.d.ts +24 -0
  42. package/types/vuu-utils/src/debug-utils.d.ts +9 -0
  43. package/types/vuu-utils/src/event-emitter.d.ts +21 -0
  44. package/types/vuu-utils/src/feature-utils.d.ts +110 -0
  45. package/types/vuu-utils/src/filters/filter-utils.d.ts +82 -0
  46. package/types/vuu-utils/src/filters/filterAsQuery.d.ts +7 -0
  47. package/types/vuu-utils/src/filters/index.d.ts +2 -0
  48. package/types/vuu-utils/src/form-utils.d.ts +23 -0
  49. package/types/vuu-utils/src/formatting-utils.d.ts +14 -0
  50. package/types/vuu-utils/src/getUniqueId.d.ts +1 -0
  51. package/types/vuu-utils/src/group-utils.d.ts +10 -0
  52. package/types/vuu-utils/src/html-utils.d.ts +21 -0
  53. package/types/vuu-utils/src/index.d.ts +74 -0
  54. package/types/vuu-utils/src/input-utils.d.ts +2 -0
  55. package/types/vuu-utils/src/invariant.d.ts +1 -0
  56. package/types/vuu-utils/src/itemToString.d.ts +2 -0
  57. package/types/vuu-utils/src/json-types.d.ts +52 -0
  58. package/types/vuu-utils/src/json-utils.d.ts +6 -0
  59. package/types/vuu-utils/src/keyboard-utils.d.ts +15 -0
  60. package/types/vuu-utils/src/keyset.d.ts +16 -0
  61. package/types/vuu-utils/src/layout-types.d.ts +22 -0
  62. package/types/vuu-utils/src/list-utils.d.ts +2 -0
  63. package/types/vuu-utils/src/local-storage-utils.d.ts +3 -0
  64. package/types/vuu-utils/src/logging-utils.d.ts +45 -0
  65. package/types/vuu-utils/src/menu-utils.d.ts +6 -0
  66. package/types/vuu-utils/src/module-utils.d.ts +8 -0
  67. package/types/vuu-utils/src/moving-window.d.ts +18 -0
  68. package/types/vuu-utils/src/nanoid/index.d.ts +1 -0
  69. package/types/vuu-utils/src/perf-utils.d.ts +5 -0
  70. package/types/vuu-utils/src/promise-utils.d.ts +8 -0
  71. package/types/vuu-utils/src/protocol-message-utils.d.ts +34 -0
  72. package/types/vuu-utils/src/range-utils.d.ts +31 -0
  73. package/types/vuu-utils/src/react-utils.d.ts +8 -0
  74. package/types/vuu-utils/src/round-decimal.d.ts +1 -0
  75. package/types/vuu-utils/src/row-utils.d.ts +27 -0
  76. package/types/vuu-utils/src/selection-utils.d.ts +4 -0
  77. package/types/vuu-utils/src/shell-layout-types.d.ts +15 -0
  78. package/types/vuu-utils/src/sort-utils.d.ts +11 -0
  79. package/types/vuu-utils/src/table-schema-utils.d.ts +3 -0
  80. package/types/vuu-utils/src/text-utils.d.ts +2 -0
  81. package/types/vuu-utils/src/tree-types.d.ts +9 -0
  82. package/types/vuu-utils/src/tree-utils.d.ts +9 -0
  83. package/types/vuu-utils/src/ts-utils.d.ts +20 -0
  84. package/types/vuu-utils/src/typeahead-utils.d.ts +1 -0
  85. package/types/vuu-utils/src/url-utils.d.ts +2 -0
  86. package/types/vuu-utils/src/useId.d.ts +1 -0
  87. package/types/vuu-utils/src/useLayoutEffectSkipFirst.d.ts +2 -0
  88. package/types/vuu-utils/src/useStateRef.d.ts +2 -0
  89. package/types/vuu-utils/src/user-types.d.ts +4 -0
  90. /package/types/{ArrayProxy.d.ts → vuu-data-test/src/ArrayProxy.d.ts} +0 -0
  91. /package/types/{RuntimeVisualLink.d.ts → vuu-data-test/src/RuntimeVisualLink.d.ts} +0 -0
  92. /package/types/{Table.d.ts → vuu-data-test/src/Table.d.ts} +0 -0
  93. /package/types/{TickingArrayDataSource.d.ts → vuu-data-test/src/TickingArrayDataSource.d.ts} +0 -0
  94. /package/types/{UpdateGenerator.d.ts → vuu-data-test/src/UpdateGenerator.d.ts} +0 -0
  95. /package/types/{basket → vuu-data-test/src/basket}/basket-schemas.d.ts +0 -0
  96. /package/types/{basket → vuu-data-test/src/basket}/index.d.ts +0 -0
  97. /package/types/{basket → vuu-data-test/src/basket}/reference-data/constituents.d.ts +0 -0
  98. /package/types/{basket → vuu-data-test/src/basket}/reference-data/ftse100.d.ts +0 -0
  99. /package/types/{basket → vuu-data-test/src/basket}/reference-data/hsi.d.ts +0 -0
  100. /package/types/{basket → vuu-data-test/src/basket}/reference-data/nasdaq100.d.ts +0 -0
  101. /package/types/{basket → vuu-data-test/src/basket}/reference-data/prices.d.ts +0 -0
  102. /package/types/{basket → vuu-data-test/src/basket}/reference-data/sp500.d.ts +0 -0
  103. /package/types/{core → vuu-data-test/src/core}/module/ModuleContainer.d.ts +0 -0
  104. /package/types/{core → vuu-data-test/src/core}/module/VuuModule.d.ts +0 -0
  105. /package/types/{core → vuu-data-test/src/core}/table/TableContainer.d.ts +0 -0
  106. /package/types/{data-utils.d.ts → vuu-data-test/src/data-utils.d.ts} +0 -0
  107. /package/types/{index.d.ts → vuu-data-test/src/index.d.ts} +0 -0
  108. /package/types/{local-datasource-provider → vuu-data-test/src/local-datasource-provider}/LocalDatasourceProvider.d.ts +0 -0
  109. /package/types/{makeSuggestions.d.ts → vuu-data-test/src/makeSuggestions.d.ts} +0 -0
  110. /package/types/{rowUpdates.d.ts → vuu-data-test/src/rowUpdates.d.ts} +0 -0
  111. /package/types/{schemas.d.ts → vuu-data-test/src/schemas.d.ts} +0 -0
  112. /package/types/{session-table-utils.d.ts → vuu-data-test/src/session-table-utils.d.ts} +0 -0
  113. /package/types/{simul → vuu-data-test/src/simul}/index.d.ts +0 -0
  114. /package/types/{simul → vuu-data-test/src/simul}/reference-data/accounts.d.ts +0 -0
  115. /package/types/{simul → vuu-data-test/src/simul}/reference-data/algos.d.ts +0 -0
  116. /package/types/{simul → vuu-data-test/src/simul}/reference-data/currencies.d.ts +0 -0
  117. /package/types/{simul → vuu-data-test/src/simul}/reference-data/index.d.ts +0 -0
  118. /package/types/{simul → vuu-data-test/src/simul}/reference-data/instruments-extended.d.ts +0 -0
  119. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/convert-string-to-base-ten-number.d.ts +0 -0
  120. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/fixtures/alphabet.d.ts +0 -0
  121. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/fixtures/alphanumeric-values.d.ts +0 -0
  122. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/fixtures/base-ten-numbers.d.ts +0 -0
  123. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/generate-cusip-check-code.d.ts +0 -0
  124. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/generate-cusip-without-check-code.d.ts +0 -0
  125. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/generate-cusip.d.ts +0 -0
  126. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/generate-random-alphanumeric.d.ts +0 -0
  127. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/generate-random-base-ten-number.d.ts +0 -0
  128. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.d.ts +0 -0
  129. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/generate-random-string-of-base-ten-chars.d.ts +0 -0
  130. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/index.d.ts +0 -0
  131. /package/types/{simul → vuu-data-test/src/simul}/reference-data/isin-generator/is-odd.d.ts +0 -0
  132. /package/types/{simul → vuu-data-test/src/simul}/reference-data/locations.d.ts +0 -0
  133. /package/types/{simul → vuu-data-test/src/simul}/reference-data/lotsizes.d.ts +0 -0
  134. /package/types/{simul → vuu-data-test/src/simul}/reference-data/orderStatus.d.ts +0 -0
  135. /package/types/{simul → vuu-data-test/src/simul}/reference-data/orders.d.ts +0 -0
  136. /package/types/{simul → vuu-data-test/src/simul}/reference-data/parent-child-orders.d.ts +0 -0
  137. /package/types/{simul → vuu-data-test/src/simul}/reference-data/priceStrategies.d.ts +0 -0
  138. /package/types/{simul → vuu-data-test/src/simul}/reference-data/prices.d.ts +0 -0
  139. /package/types/{simul → vuu-data-test/src/simul}/reference-data/sides.d.ts +0 -0
  140. /package/types/{simul → vuu-data-test/src/simul}/simul-schemas.d.ts +0 -0
  141. /package/types/{test → vuu-data-test/src/test}/index.d.ts +0 -0
  142. /package/types/{test → vuu-data-test/src/test}/test-schemas.d.ts +0 -0
  143. /package/types/{vuu-row-generator.d.ts → vuu-data-test/src/vuu-row-generator.d.ts} +0 -0
@@ -28,9 +28,10 @@ const InstrumentColumnMap = {
28
28
  exchange: 3,
29
29
  string: 4,
30
30
  number: 5,
31
- ric: 6,
32
- price: 7,
33
- date: 8
31
+ price: 6,
32
+ ric: 7,
33
+ vuuCreatedTimestamp: 8,
34
+ vuuUpdatedTimestamp: 9
34
35
  };
35
36
  const instrumentsData = [];
36
37
  const chars1 = Array.from("ABCEFGHKMN");
@@ -64,8 +65,8 @@ for (const char1 of chars1) {
64
65
  exchange,
65
66
  String(isin),
66
67
  lotSize,
67
- ric,
68
68
  price,
69
+ ric,
69
70
  timestamp,
70
71
  timestamp
71
72
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n ric,\n price,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n ric: 6,\n price: 7,\n date: 8,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n ric,\n price,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":["tableContainer","Clock","random","suffixes","currencies","isinGenerator","lotsizes","locations","schemas","buildDataColumnMap"],"mappings":"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"}
1
+ {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n price,\n ric,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n price: 6,\n ric: 7,\n vuuCreatedTimestamp: 8,\n vuuUpdatedTimestamp: 9,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n price,\n ric,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":["tableContainer","Clock","random","suffixes","currencies","isinGenerator","lotsizes","locations","schemas","buildDataColumnMap"],"mappings":"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"}
@@ -26,9 +26,10 @@ const InstrumentColumnMap = {
26
26
  exchange: 3,
27
27
  string: 4,
28
28
  number: 5,
29
- ric: 6,
30
- price: 7,
31
- date: 8
29
+ price: 6,
30
+ ric: 7,
31
+ vuuCreatedTimestamp: 8,
32
+ vuuUpdatedTimestamp: 9
32
33
  };
33
34
  const instrumentsData = [];
34
35
  const chars1 = Array.from("ABCEFGHKMN");
@@ -62,8 +63,8 @@ for (const char1 of chars1) {
62
63
  exchange,
63
64
  String(isin),
64
65
  lotSize,
65
- ric,
66
66
  price,
67
+ ric,
67
68
  timestamp,
68
69
  timestamp
69
70
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n ric,\n price,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n ric: 6,\n price: 7,\n date: 8,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n ric,\n price,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instruments.js","sources":["../../../../../packages/vuu-data-test/src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport tableContainer from \"../../core/table/TableContainer\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\nimport { Clock } from \"@vuu-ui/vuu-utils\";\n\nconst { createTable } = tableContainer;\n\nconst today = new Date();\nconst clock = new Clock({\n year: today.getFullYear(),\n month: today.getMonth() + 1,\n day: today.getDate(),\n hours: 7,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n price,\n ric,\n date,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n price: 6,\n ric: 7,\n vuuCreatedTimestamp: 8,\n vuuUpdatedTimestamp: 9,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n\n const timestamp = clock.now;\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n price,\n ric,\n timestamp,\n timestamp,\n ]);\n count++;\n clock.advance(random(0, 10000));\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = createTable(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
- "version": "0.13.45",
2
+ "version": "0.13.46",
3
3
  "author": "heswell",
4
4
  "license": "Apache-2.0",
5
5
  "dependencies": {
6
- "@vuu-ui/vuu-data-local": "0.13.45",
7
- "@vuu-ui/vuu-utils": "0.13.45"
6
+ "@vuu-ui/vuu-data-local": "0.13.46",
7
+ "@vuu-ui/vuu-utils": "0.13.46"
8
8
  },
9
9
  "devDependencies": {
10
- "@vuu-ui/vuu-protocol-types": "0.13.45",
11
- "@vuu-ui/vuu-data-types": "0.13.45",
12
- "@vuu-ui/vuu-table-types": "0.13.45"
10
+ "@vuu-ui/vuu-protocol-types": "0.13.46",
11
+ "@vuu-ui/vuu-data-types": "0.13.46",
12
+ "@vuu-ui/vuu-table-types": "0.13.46"
13
13
  },
14
14
  "sideEffects": false,
15
15
  "files": [
@@ -0,0 +1,10 @@
1
+ import { MenuProps } from "@salt-ds/core";
2
+ import { MenuActionHandler } from "./ContextMenuProvider";
3
+ import { ContextMenuItemDescriptor } from "./menu-utils";
4
+ export interface ContextMenuProps extends Pick<MenuProps, "open" | "onOpenChange"> {
5
+ menuHandler: MenuActionHandler;
6
+ menuItemDescriptors: ContextMenuItemDescriptor[];
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export declare const ContextMenu: ({ menuHandler, menuItemDescriptors, onOpenChange, open, x, y, }: ContextMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { ReactElement, ReactNode } from "react";
2
+ import { ContextMenuItemDescriptor } from "./menu-utils";
3
+ export type MenuActionHandler<T extends string = string, Options = unknown> = (menuItemId: T, options?: Options) => boolean | undefined;
4
+ export type MenuBuilder<Location extends string = string, Options = unknown> = (location: Location, options: Options) => ContextMenuItemDescriptor[];
5
+ export interface ContextMenuContextType {
6
+ menuBuilders: MenuBuilder[];
7
+ menuActionHandler: MenuActionHandler;
8
+ showContextMenu: (contextMenu: ReactElement | null) => void;
9
+ }
10
+ export declare const ContextMenuContext: import("react").Context<ContextMenuContextType | null>;
11
+ export interface ContextMenuProviderProps<L extends string = string, O = unknown> {
12
+ children: ReactNode;
13
+ menuActionHandler?: MenuActionHandler;
14
+ menuBuilder?: MenuBuilder<L, O>;
15
+ }
16
+ export declare const ContextMenuProvider: <L extends string = string, O = unknown>({ children, menuActionHandler, menuBuilder, }: ContextMenuProviderProps<L, O>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { ContextMenuProvider, type MenuActionHandler, type MenuBuilder, } from "./ContextMenuProvider";
2
+ export { isGroupMenuItemDescriptor, type ContextMenuGroupItemDescriptor, type ContextMenuItemDescriptor, } from "./menu-utils";
3
+ export { useContextMenu } from "./useContextMenu";
@@ -0,0 +1,17 @@
1
+ import { MenuActionHandler } from "./ContextMenuProvider";
2
+ export interface ContextMenuItemBase {
3
+ className?: string;
4
+ icon?: string;
5
+ label: string;
6
+ location?: string;
7
+ }
8
+ export interface ContextMenuLeafItemDescriptor extends ContextMenuItemBase {
9
+ id: string;
10
+ options?: unknown;
11
+ }
12
+ export interface ContextMenuGroupItemDescriptor extends ContextMenuItemBase {
13
+ children: ContextMenuItemDescriptor[];
14
+ }
15
+ export type ContextMenuItemDescriptor = ContextMenuLeafItemDescriptor | ContextMenuGroupItemDescriptor;
16
+ export declare const isGroupMenuItemDescriptor: (menuItem?: ContextMenuItemDescriptor) => menuItem is ContextMenuGroupItemDescriptor;
17
+ export declare const menuItemsFromMenuDescriptors: (menuDescriptors: ContextMenuItemDescriptor[], menuActionHandler: MenuActionHandler) => import("react/jsx-runtime").JSX.Element[];
@@ -0,0 +1,10 @@
1
+ import { ContextMenuProps } from "./ContextMenu";
2
+ import { MenuActionHandler, MenuBuilder } from "./ContextMenuProvider";
3
+ export type EventLike = {
4
+ clientX: number;
5
+ clientY: number;
6
+ preventDefault?: () => void;
7
+ stopPropagation?: () => void;
8
+ };
9
+ export type ShowContextMenu = (e: EventLike, location: string, options: unknown, contextMenuProps?: Partial<Pick<ContextMenuProps, "onOpenChange" | "x" | "y">>) => boolean;
10
+ export declare const useContextMenu: (menuBuilder?: MenuBuilder, menuActionHandler?: MenuActionHandler) => ShowContextMenu;
@@ -12,7 +12,7 @@ export declare class BasketModule extends VuuModule<BasketsTableName> {
12
12
  #private;
13
13
  constructor();
14
14
  get menus(): Record<BasketsTableName, VuuMenu | undefined>;
15
- get schemas(): Readonly<Record<BasketsTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
15
+ get schemas(): Readonly<Record<BasketsTableName, Readonly<import("packages/vuu-data-types").TableSchema>>>;
16
16
  get services(): {
17
17
  basket: {
18
18
  rpcName: string;
@@ -11,7 +11,7 @@ export declare class SimulModule extends VuuModule<SimulTableName> {
11
11
  #private;
12
12
  constructor();
13
13
  get menus(): Record<SimulTableName, VuuMenu | undefined> | undefined;
14
- get schemas(): Readonly<Record<SimulTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
14
+ get schemas(): Readonly<Record<SimulTableName, Readonly<import("packages/vuu-data-types").TableSchema>>>;
15
15
  get editServices(): undefined;
16
16
  get menuServices(): Record<SimulTableName, RpcMenuService[] | undefined> | undefined;
17
17
  get services(): Record<SimulTableName, RpcService[] | undefined> | undefined;
@@ -14,6 +14,8 @@ type open = number;
14
14
  type phase = string;
15
15
  type ric = string;
16
16
  type scenario = string;
17
+ type vuuCreatedTimestamp = number;
18
+ type vuuUpdatedTimestamp = number;
17
19
  export type InstrumentPricesDataRow = [
18
20
  ask,
19
21
  askSize,
@@ -30,7 +32,9 @@ export type InstrumentPricesDataRow = [
30
32
  open,
31
33
  phase,
32
34
  ric,
33
- scenario
35
+ scenario,
36
+ vuuCreatedTimestamp,
37
+ vuuUpdatedTimestamp
34
38
  ];
35
39
  export declare const InstrumentPricesColumnMap: {
36
40
  ask: number;
@@ -48,7 +52,9 @@ export declare const InstrumentPricesColumnMap: {
48
52
  open: number;
49
53
  phase: number;
50
54
  ric: number;
51
- scenari: number;
55
+ scenario: number;
56
+ vuuCreatedTimestamp: number;
57
+ vuuUpdatedTimestamp: number;
52
58
  };
53
59
  declare const instrumentPrices: InstrumentPricesDataRow[];
54
60
  export { instrumentPrices };
@@ -12,8 +12,8 @@ export type InstrumentsDataRow = [
12
12
  exchange,
13
13
  string,
14
14
  number,
15
- ric,
16
15
  price,
16
+ ric,
17
17
  date,
18
18
  date
19
19
  ];
@@ -24,9 +24,10 @@ export declare const InstrumentColumnMap: {
24
24
  readonly exchange: 3;
25
25
  readonly string: 4;
26
26
  readonly number: 5;
27
- readonly ric: 6;
28
- readonly price: 7;
29
- readonly date: 8;
27
+ readonly price: 6;
28
+ readonly ric: 7;
29
+ readonly vuuCreatedTimestamp: 8;
30
+ readonly vuuUpdatedTimestamp: 9;
30
31
  };
31
32
  declare const instrumentsData: InstrumentsDataRow[];
32
33
  export declare const getRic: (defaultRic: string) => string;
@@ -8,7 +8,7 @@ declare class TestModule extends VuuModule<TestTableName> {
8
8
  get services(): undefined;
9
9
  get editServices(): Record<TestTableName, RpcEditService[] | undefined> | undefined;
10
10
  get menuServices(): Record<TestTableName, RpcMenuService[] | undefined> | undefined;
11
- get schemas(): Readonly<Record<TestTableName, Readonly<import("@vuu-ui/vuu-data-types").TableSchema>>>;
11
+ get schemas(): Readonly<Record<TestTableName, Readonly<import("packages/vuu-data-types").TableSchema>>>;
12
12
  get tables(): Record<TestTableName, Table>;
13
13
  get visualLinks(): undefined;
14
14
  }
@@ -0,0 +1,20 @@
1
+ export interface ClockProps {
2
+ year?: number;
3
+ month?: number;
4
+ day?: number;
5
+ hours?: number;
6
+ minutes?: number;
7
+ seconds?: number;
8
+ milliseconds?: number;
9
+ }
10
+ export type TimeUnit = "minutes" | "seconds" | "ms";
11
+ export declare class Clock {
12
+ #private;
13
+ constructor(props?: ClockProps);
14
+ goBack(value: number, units?: TimeUnit): this;
15
+ advance(value: number, units?: TimeUnit): this;
16
+ set showCurrentTime(value: boolean);
17
+ toString(): string;
18
+ get now(): number;
19
+ get date(): Date;
20
+ }
@@ -0,0 +1,39 @@
1
+ export type DataItem = string | number | boolean;
2
+ export type DataRow = [
3
+ /** index */
4
+ number,
5
+ /** render index */
6
+ number,
7
+ /** isLeaf */
8
+ boolean,
9
+ /** isExpanded */
10
+ boolean,
11
+ /** depth */
12
+ number,
13
+ /** child count */
14
+ number,
15
+ /** key */
16
+ string,
17
+ /** selected */
18
+ number,
19
+ /** data values */
20
+ ...DataItem[]
21
+ ];
22
+ export type RangeLike = {
23
+ from: number;
24
+ to: number;
25
+ };
26
+ export declare class DataWindow {
27
+ private range;
28
+ data: DataRow[];
29
+ rowCount: number;
30
+ constructor({ from, to }: RangeLike);
31
+ setRowCount: (rowCount: number) => void;
32
+ add(data: DataRow): boolean;
33
+ getAtIndex(index: number): DataRow | undefined;
34
+ getByKey(key: string): DataRow | undefined;
35
+ isWithinRange(index: number): boolean;
36
+ setRange(from: number, to: number): void;
37
+ hasData(from: number, to: number): boolean;
38
+ getData(from: number, to: number): DataRow[];
39
+ }
@@ -0,0 +1,11 @@
1
+ import type { RpcResponseHandler } from "@vuu-ui/vuu-data-types";
2
+ import type { DefaultColumnConfiguration, DefaultTableConfiguration } from "@vuu-ui/vuu-table-types";
3
+ import { LookupTableProvider } from "./feature-utils";
4
+ export interface ShellContextProps {
5
+ getDefaultColumnConfig?: DefaultColumnConfiguration;
6
+ getDefaultTableConfig?: DefaultTableConfiguration;
7
+ getLookupValues?: LookupTableProvider;
8
+ handleRpcResponse?: RpcResponseHandler;
9
+ }
10
+ export declare const ShellContext: import("react").Context<ShellContextProps>;
11
+ export declare const useShellContext: () => ShellContextProps;
@@ -0,0 +1,32 @@
1
+ import React, { ReactNode } from "react";
2
+ export declare const DEFAULT_DENSITY: Density;
3
+ export declare const DEFAULT_THEME = "salt-theme";
4
+ export declare const DEFAULT_THEME_MODE: ThemeMode;
5
+ export type Density = "high" | "medium" | "low" | "touch";
6
+ export type ThemeMode = "light" | "dark";
7
+ export type TargetElement = "root" | "scope" | "child";
8
+ export interface ThemeContextProps {
9
+ density: Density;
10
+ theme: string;
11
+ themeMode: ThemeMode;
12
+ }
13
+ export declare const ThemeContext: React.Context<ThemeContextProps>;
14
+ export type ThemeClasses = [string, string, ThemeMode];
15
+ export type ThemeAttributes = {
16
+ themeClass: string;
17
+ densityClass: string;
18
+ dataMode: ThemeMode;
19
+ };
20
+ export declare const useThemeAttributes: (themeAttributes?: ThemeAttributes) => [string, string, ThemeMode];
21
+ interface ThemeProviderProps {
22
+ applyThemeClasses?: boolean;
23
+ children: ReactNode;
24
+ density?: Density;
25
+ theme?: string;
26
+ themeMode?: ThemeMode;
27
+ }
28
+ export declare const ThemeProvider: {
29
+ ({ applyThemeClasses, children, theme: themeProp, themeMode: themeModeProp, density: densityProp, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
30
+ displayName: string;
31
+ };
32
+ export {};
@@ -0,0 +1,8 @@
1
+ export type PartitionTest<T> = (value: T, index: number) => boolean;
2
+ export declare function partition<T>(array: T[], test: PartitionTest<T>, pass?: T[], fail?: T[]): [T[], T[]];
3
+ export declare function itemsChanged<T = unknown>(currentItems: T[], newItems: T[], identityProperty?: string): boolean;
4
+ export declare function itemsOrOrderChanged<T = unknown>(currentItems: T[], newItems: T[], identityProperty?: string): boolean;
5
+ export declare const moveItemDeprecated: <T = unknown>(items: T[], item: T, moveTo: number) => T[];
6
+ export declare const moveItem: <T = unknown>(items: T[], fromIndex: number, toIndex: number) => T[];
7
+ export declare const getAddedItems: <T>(values: undefined | T[], newValues: T[]) => T[];
8
+ export declare const getMissingItems: <T, I>(sourceItems: T[], items: I[], identity: (s: T) => I) => I[];
@@ -0,0 +1,24 @@
1
+ export interface rect {
2
+ bottom: number;
3
+ left: number;
4
+ right: number;
5
+ top: number;
6
+ }
7
+ export type rectTuple = [number, number, number, number];
8
+ export type dimension = "width" | "height";
9
+ export declare function boxContainsPoint(rect: rect, x: number, y: number): boolean | undefined;
10
+ export type GridLayoutSplitDirection = "north" | "south" | "east" | "west";
11
+ export type GridLayoutDropPosition = GridLayoutSplitDirection | "header" | "centre";
12
+ export declare function getCenteredBox({ right, left, top, bottom }: rect, pctSize: number): {
13
+ left: number;
14
+ top: number;
15
+ right: number;
16
+ bottom: number;
17
+ };
18
+ export declare function pointPositionWithinRect(x: number, y: number, rect: rect, borderZone?: number): {
19
+ pctX: number;
20
+ pctY: number;
21
+ closeToTheEdge: number;
22
+ };
23
+ export declare const isGridLayoutSplitDirection: (position: GridLayoutDropPosition) => position is GridLayoutSplitDirection;
24
+ export declare function getPositionWithinBox(x: number, y: number, rect: rect, pctX: number, pctY: number): GridLayoutDropPosition;
@@ -0,0 +1,16 @@
1
+ interface VuuBroadcastChannelEventMap<T> {
2
+ message: MessageEvent<T>;
3
+ messageerror: MessageEvent<T>;
4
+ }
5
+ export interface VuuBroadcastChannel<T> extends EventTarget {
6
+ readonly name: string;
7
+ onmessage: ((this: BroadcastChannel, evt: MessageEvent<T>) => void) | null;
8
+ onmessageerror: ((this: BroadcastChannel, evt: MessageEvent<T>) => void) | null;
9
+ close(): void;
10
+ postMessage<M extends T = T>(message: M): void;
11
+ addEventListener<K extends keyof VuuBroadcastChannelEventMap<T>>(type: K, listener: (this: BroadcastChannel, evt: VuuBroadcastChannelEventMap<T>[K]) => void, options?: boolean | AddEventListenerOptions): void;
12
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13
+ removeEventListener<K extends keyof VuuBroadcastChannelEventMap<T>>(type: K, listener: (this: BroadcastChannel, evt: VuuBroadcastChannelEventMap<T>[K]) => void, options?: boolean | EventListenerOptions): void;
14
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
15
+ }
16
+ export {};
@@ -0,0 +1,181 @@
1
+ import type { DataSourceRow, DataValueType, DataValueTypeSimple, DateTimeDataValueDescriptor, SchemaColumn, TableSchema, TimeDataValueDescriptor } from "@vuu-ui/vuu-data-types";
2
+ import type { VuuAggType, VuuAggregation, VuuColumnDataType, VuuDataRow, VuuDataRowDto, VuuGroupBy, VuuSort } from "@vuu-ui/vuu-protocol-types";
3
+ import type { ColumnAlignment, ColumnDescriptor, ColumnLayout, DataValueTypeDescriptor, ColumnTypeFormatting, ColumnTypeRendering, ColumnTypeWithValidationRules, DefaultColumnConfiguration, GroupColumnDescriptor, LookupRenderer, MappedValueTypeRenderer, PinLocation, RuntimeColumnDescriptor, TableCellRendererProps, TableConfig, TableHeadings, ValueListRenderer } from "@vuu-ui/vuu-table-types";
4
+ import { type CSSProperties } from "react";
5
+ import { TableModel } from "@vuu-ui/vuu-table";
6
+ /**
7
+ * ColumnMap provides a lookup of the index position of a data item within a row
8
+ * by column name.
9
+ */
10
+ export interface ColumnMap {
11
+ [columnName: string]: number;
12
+ }
13
+ export interface ReverseColumnMap {
14
+ [columnIndex: number]: string;
15
+ }
16
+ export type SortCriteriaItem = string | [string, "asc"];
17
+ export declare const AggregationType: {
18
+ [key: string]: VuuAggType;
19
+ };
20
+ export declare function mapSortCriteria(sortCriteria: SortCriteriaItem[], columnMap: ColumnMap, metadataOffset?: number): [number, "asc"][];
21
+ export declare const getDefaultAlignment: (serverDataType?: VuuColumnDataType) => ColumnAlignment;
22
+ export declare const getRuntimeColumnWidth: (col: ColumnDescriptor, runtimeColumns: RuntimeColumnDescriptor[]) => number;
23
+ export declare const applyRuntimeColumnWidthsToConfig: (tableConfig: TableConfig, columns: RuntimeColumnDescriptor[]) => TableConfig;
24
+ export declare const isValidColumnAlignment: (v: string) => v is ColumnAlignment;
25
+ export declare const isValidPinLocation: (v: string) => v is PinLocation;
26
+ export type CalculatedColumn = {
27
+ name: string;
28
+ expression: string;
29
+ serverDataType: VuuColumnDataType;
30
+ };
31
+ export declare const isVuuColumnDataType: (value: string | undefined | null) => value is VuuColumnDataType;
32
+ export declare const fromServerDataType: (serverDataType: VuuColumnDataType) => DataValueTypeSimple;
33
+ export declare const isNumericColumn: ({ serverDataType, type }: ColumnDescriptor) => boolean;
34
+ export declare const isDateTimeDataValue: (column: ColumnDescriptor) => column is DateTimeDataValueDescriptor;
35
+ export declare const isTimeDataValue: (column?: ColumnDescriptor) => column is TimeDataValueDescriptor;
36
+ export declare const isPinned: (column: ColumnDescriptor) => boolean;
37
+ export declare const hasHeadings: (column: ColumnDescriptor) => boolean;
38
+ export declare const isResizing: (column: RuntimeColumnDescriptor) => boolean | undefined;
39
+ export declare const isTextColumn: ({ serverDataType }: ColumnDescriptor) => boolean;
40
+ export declare const toColumnDescriptor: (name: string, serverDataType?: ColumnDescriptor["serverDataType"]) => ColumnDescriptor;
41
+ /**
42
+ *
43
+ */
44
+ export declare const isTypeDescriptor: (type?: DataValueType) => type is DataValueTypeDescriptor;
45
+ export declare const isColumnTypeRenderer: (renderer?: unknown) => renderer is ColumnTypeRendering;
46
+ export declare const hasCustomRenderer: (type?: DataValueType) => type is DataValueTypeDescriptor;
47
+ export declare const isLookupRenderer: (renderer?: unknown) => renderer is LookupRenderer;
48
+ export declare const isValueListRenderer: (renderer?: unknown) => renderer is ValueListRenderer;
49
+ export declare const hasValidationRules: (type?: DataValueType) => type is ColumnTypeWithValidationRules;
50
+ export declare const isMappedValueTypeRenderer: (renderer?: unknown) => renderer is MappedValueTypeRenderer;
51
+ export declare function buildColumnMap(columns?: (ColumnDescriptor | SchemaColumn | string)[]): ColumnMap;
52
+ export declare function projectUpdates(updates: number[]): number[];
53
+ export declare const metadataKeys: {
54
+ readonly IDX: 0;
55
+ readonly RENDER_IDX: 1;
56
+ readonly IS_LEAF: 2;
57
+ readonly IS_EXPANDED: 3;
58
+ readonly DEPTH: 4;
59
+ readonly COUNT: 5;
60
+ readonly KEY: 6;
61
+ readonly SELECTED: 7;
62
+ readonly TIMESTAMP: 8;
63
+ readonly IS_NEW: 9;
64
+ readonly count: 10;
65
+ readonly PARENT_IDX: "parent_idx";
66
+ readonly IDX_POINTER: "idx_pointer";
67
+ readonly FILTER_COUNT: "filter_count";
68
+ readonly NEXT_FILTER_IDX: "next_filter_idx";
69
+ };
70
+ export declare const flattenColumnGroup: (columns: RuntimeColumnDescriptor[]) => RuntimeColumnDescriptor[];
71
+ export declare function extractGroupColumn({ availableWidth, columns, groupBy, confirmed, }: ColumnGroupProps): [
72
+ GroupColumnDescriptor | null,
73
+ RuntimeColumnDescriptor[]
74
+ ];
75
+ export declare const isGroupColumn: (column: RuntimeColumnDescriptor) => column is GroupColumnDescriptor;
76
+ /**
77
+ * groupConfirmed is currently the only 'pending' attribute we use. A
78
+ * value of true is only reset by a follow-up value of false. Intermediary
79
+ * values of undefined are discounted.
80
+ */
81
+ export declare const checkConfirmationPending: (previousConfig?: TableModel) => boolean | undefined;
82
+ export declare const isJsonAttribute: (value: unknown) => boolean;
83
+ export declare const isJsonGroup: (column: RuntimeColumnDescriptor, row: VuuDataRow, columnMap: ColumnMap) => boolean;
84
+ export declare const isJsonColumn: (column: RuntimeColumnDescriptor) => boolean;
85
+ export declare const sortPinnedColumns: (columns: RuntimeColumnDescriptor[]) => RuntimeColumnDescriptor[];
86
+ export declare const measurePinnedColumns: (columns: RuntimeColumnDescriptor[], selectionEndSize: number) => {
87
+ pinnedWidthLeft: number;
88
+ pinnedWidthRight: number;
89
+ unpinnedWidth: number;
90
+ };
91
+ export declare const getTableHeadings: (columns: RuntimeColumnDescriptor[]) => TableHeadings;
92
+ export declare const getColumnStyle: ({ pin, pinnedOffset, width, }: RuntimeColumnDescriptor) => CSSProperties;
93
+ export declare const setAggregations: (aggregations: VuuAggregation[], column: ColumnDescriptor, aggType: VuuAggType) => VuuAggregation[];
94
+ export type ColumnGroupProps = {
95
+ columns: RuntimeColumnDescriptor[];
96
+ groupBy: VuuGroupBy;
97
+ confirmed?: boolean;
98
+ availableWidth: number;
99
+ };
100
+ export declare const applyGroupByToColumns: (props: ColumnGroupProps) => RuntimeColumnDescriptor[];
101
+ export declare const applySortToColumns: (columns: RuntimeColumnDescriptor[], sort: VuuSort) => RuntimeColumnDescriptor[];
102
+ export declare const removeSort: (columns: RuntimeColumnDescriptor[]) => RuntimeColumnDescriptor[];
103
+ export declare const existingSort: (columns: RuntimeColumnDescriptor[]) => boolean;
104
+ export declare const getColumnName: (name: string) => string;
105
+ export declare const getColumnLabel: (column: ColumnDescriptor) => string;
106
+ export declare const findColumn: (columns: RuntimeColumnDescriptor[], columnName: string) => RuntimeColumnDescriptor | undefined;
107
+ export declare function updateColumn<T extends ColumnDescriptor>(columns: T[], column: T): T[];
108
+ export declare function updateColumn(columns: RuntimeColumnDescriptor[], column: string, options: Partial<ColumnDescriptor>): RuntimeColumnDescriptor[];
109
+ export declare const toDataSourceColumns: (column: ColumnDescriptor) => string;
110
+ export declare const dataSourceRowToDataRowDto: (row: DataSourceRow, columnMap: ColumnMap) => VuuDataRowDto;
111
+ export declare const isDataLoading: (columns: RuntimeColumnDescriptor[]) => boolean;
112
+ export declare const getColumnsInViewport: (columns: RuntimeColumnDescriptor[], vpStart: number, vpEnd: number) => [RuntimeColumnDescriptor[], number];
113
+ export declare const isNotHidden: (column: RuntimeColumnDescriptor) => boolean;
114
+ export declare const visibleColumnAtIndex: (columns: RuntimeColumnDescriptor[], index: number) => RuntimeColumnDescriptor | undefined;
115
+ export declare const getGroupIcon: (columns: RuntimeColumnDescriptor[], row: DataSourceRow) => string | undefined;
116
+ export declare const getGroupValue: (columns: RuntimeColumnDescriptor[], row: DataSourceRow, columnMap: ColumnMap) => string | null;
117
+ export declare const getDefaultColumnType: (serverDataType?: VuuColumnDataType) => DataValueTypeSimple;
118
+ export declare const updateColumnFormatting: <T extends ColumnDescriptor = ColumnDescriptor>(column: T, formatting: ColumnTypeFormatting) => T;
119
+ export declare function updateColumnType<T extends ColumnDescriptor = ColumnDescriptor>(column: T, type: DataValueTypeSimple): T;
120
+ export declare const updateColumnRenderProps: <T extends ColumnDescriptor = ColumnDescriptor>(column: T, renderer: ColumnTypeRendering) => T;
121
+ export declare const getTypeFormattingFromColumn: (column: ColumnDescriptor) => ColumnTypeFormatting;
122
+ /**
123
+ * Return a filter predicate that will reject columns, names of which
124
+ * are not in provided list. Exception made for columns explicitly
125
+ * configured as client columns.
126
+ */
127
+ export declare const subscribedOnly: (columnNames?: string[]) => (column: ColumnDescriptor) => boolean | undefined;
128
+ export declare const addColumnToSubscribedColumns: (subscribedColumns: ColumnDescriptor[], availableColumns: SchemaColumn[], columnName: string) => ColumnDescriptor[];
129
+ export declare const isCalculatedColumn: (columnName?: string) => boolean;
130
+ export declare const getCalculatedColumnDetails: (column: ColumnDescriptor) => Partial<CalculatedColumn>;
131
+ export declare const setCalculatedColumnName: (column: ColumnDescriptor, name: string) => ColumnDescriptor;
132
+ export declare const setCalculatedColumnType: (column: ColumnDescriptor, type: string) => ColumnDescriptor;
133
+ export declare const setCalculatedColumnExpression: (column: ColumnDescriptor, expression: string) => ColumnDescriptor;
134
+ export declare const moveColumnTo: (columns: ColumnDescriptor[], column: ColumnDescriptor, newIndex: number) => ColumnDescriptor[];
135
+ export declare function replaceColumn<C extends ColumnDescriptor = RuntimeColumnDescriptor>(columns: C[], column: C): C[];
136
+ export declare const applyDefaultColumnConfig: ({ columns, table }: TableSchema, getDefaultColumnConfig?: DefaultColumnConfiguration) => SchemaColumn[];
137
+ export type columnOptions = {
138
+ availableWidth?: number;
139
+ columnLayout?: ColumnLayout;
140
+ defaultWidth?: number;
141
+ defaultMinWidth?: number;
142
+ defaultMaxWidth?: number;
143
+ defaultFlex?: number;
144
+ };
145
+ type ColumnLayoutOptions = Pick<columnOptions, "defaultMinWidth" | "defaultMaxWidth" | "defaultWidth">;
146
+ interface StaticColumnLayoutOptions extends ColumnLayoutOptions {
147
+ columnLayout: "manual" | "static";
148
+ }
149
+ interface FitColumnLayoutOptions extends ColumnLayoutOptions {
150
+ availableWidth?: number;
151
+ columnLayout: "fit";
152
+ }
153
+ export declare function applyWidthToColumns(columns: RuntimeColumnDescriptor[], options: StaticColumnLayoutOptions | FitColumnLayoutOptions): RuntimeColumnDescriptor[];
154
+ /**
155
+ * A memo compare function for cell renderers. Can be used to suppress
156
+ * render where column and data are both unchanged. Avoids render
157
+ * when row changes, where changes in row are unrelated to this cell.
158
+ * Suitabnle only for readonly cell renderers. See below for editable
159
+ * cell renderers.
160
+ */
161
+ export declare const dataAndColumnUnchanged: (p: TableCellRendererProps, p1: TableCellRendererProps) => boolean;
162
+ /**
163
+ * A memo compare function for cell renderers. Can be used to suppress
164
+ * render where column, row key and data are all unchanged. Avoids render
165
+ * when row changes, where changes in row are unrelated to this cell.
166
+ * Suitable for editable cells. Including key in compare is not strictly
167
+ * necessary for rendering, but it is important in the event that user
168
+ * edits data - ensures we never have a stale key.
169
+ */
170
+ export declare const dataColumnAndKeyUnchanged: (p: TableCellRendererProps, p1: TableCellRendererProps) => boolean;
171
+ export declare const toColumnName: (column: ColumnDescriptor) => string;
172
+ export declare const isStringColumn: (column: ColumnDescriptor) => boolean;
173
+ /**
174
+ * Given an ordered list of column names, return column items in same order
175
+ */
176
+ export declare const reorderColumnItems: <T extends {
177
+ name: string;
178
+ } = {
179
+ name: string;
180
+ }>(columnItems: Array<T>, orderedNames: string[]) => T[];
181
+ export {};
@@ -0,0 +1,6 @@
1
+ export type orientationType = "horizontal" | "vertical";
2
+ type measureProp = keyof DOMRect;
3
+ type measureType = Record<string, measureProp>;
4
+ type measuresType = Record<orientationType, measureType>;
5
+ export declare const MEASURES: measuresType;
6
+ export {};