@perspective-dev/viewer 4.0.0

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 (394) hide show
  1. package/LICENSE.md +193 -0
  2. package/README.md +4 -0
  3. package/dist/cdn/perspective-viewer.js +3 -0
  4. package/dist/cdn/perspective-viewer.js.map +7 -0
  5. package/dist/css/dracula.css +1 -0
  6. package/dist/css/gruvbox-dark.css +1 -0
  7. package/dist/css/gruvbox.css +1 -0
  8. package/dist/css/icons.css +1 -0
  9. package/dist/css/intl/de.css +1 -0
  10. package/dist/css/intl/es.css +1 -0
  11. package/dist/css/intl/fr.css +1 -0
  12. package/dist/css/intl/ja.css +1 -0
  13. package/dist/css/intl/pt.css +1 -0
  14. package/dist/css/intl/zh.css +1 -0
  15. package/dist/css/intl.css +1 -0
  16. package/dist/css/monokai.css +1 -0
  17. package/dist/css/pro-dark.css +1 -0
  18. package/dist/css/pro.css +1 -0
  19. package/dist/css/solarized-dark.css +1 -0
  20. package/dist/css/solarized.css +1 -0
  21. package/dist/css/themes.css +1 -0
  22. package/dist/css/vaporwave.css +1 -0
  23. package/dist/css/variables.css +0 -0
  24. package/dist/esm/bootstrap.d.ts +1 -0
  25. package/dist/esm/extensions.d.ts +70 -0
  26. package/dist/esm/perspective-viewer.d.ts +39 -0
  27. package/dist/esm/perspective-viewer.inline.js +3 -0
  28. package/dist/esm/perspective-viewer.inline.js.map +7 -0
  29. package/dist/esm/perspective-viewer.js +3 -0
  30. package/dist/esm/perspective-viewer.js.map +7 -0
  31. package/dist/esm/plugin.d.ts +195 -0
  32. package/dist/esm/ts-rs/Aggregate.d.ts +1 -0
  33. package/dist/esm/ts-rs/ColumnConfigValues.d.ts +31 -0
  34. package/dist/esm/ts-rs/CustomDatetimeFormat.d.ts +1 -0
  35. package/dist/esm/ts-rs/CustomDatetimeStyleConfig.d.ts +15 -0
  36. package/dist/esm/ts-rs/CustomNumberFormatConfig.d.ts +18 -0
  37. package/dist/esm/ts-rs/DatetimeColorMode.d.ts +1 -0
  38. package/dist/esm/ts-rs/DatetimeFormatType.d.ts +6 -0
  39. package/dist/esm/ts-rs/Expressions.d.ts +3 -0
  40. package/dist/esm/ts-rs/Filter.d.ts +2 -0
  41. package/dist/esm/ts-rs/FilterReducer.d.ts +1 -0
  42. package/dist/esm/ts-rs/FilterTerm.d.ts +2 -0
  43. package/dist/esm/ts-rs/FormatMode.d.ts +1 -0
  44. package/dist/esm/ts-rs/FormatUnit.d.ts +1 -0
  45. package/dist/esm/ts-rs/NumberBackgroundMode.d.ts +1 -0
  46. package/dist/esm/ts-rs/NumberForegroundMode.d.ts +1 -0
  47. package/dist/esm/ts-rs/OptionalUpdate.d.ts +1 -0
  48. package/dist/esm/ts-rs/PluginConfig.d.ts +2 -0
  49. package/dist/esm/ts-rs/RoundingMode.d.ts +1 -0
  50. package/dist/esm/ts-rs/RoundingPriority.d.ts +1 -0
  51. package/dist/esm/ts-rs/Scalar.d.ts +5 -0
  52. package/dist/esm/ts-rs/SignDisplay.d.ts +1 -0
  53. package/dist/esm/ts-rs/SimpleDatetimeFormat.d.ts +1 -0
  54. package/dist/esm/ts-rs/SimpleDatetimeStyleConfig.d.ts +6 -0
  55. package/dist/esm/ts-rs/Sort.d.ts +2 -0
  56. package/dist/esm/ts-rs/SortDir.d.ts +1 -0
  57. package/dist/esm/ts-rs/StringColorMode.d.ts +1 -0
  58. package/dist/esm/ts-rs/TrailingZeroDisplay.d.ts +1 -0
  59. package/dist/esm/ts-rs/UseGrouping.d.ts +1 -0
  60. package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +102 -0
  61. package/dist/esm/ts-rs/serde_json/JsonValue.d.ts +3 -0
  62. package/dist/wasm/perspective-viewer.d.ts +1291 -0
  63. package/dist/wasm/perspective-viewer.js +3883 -0
  64. package/dist/wasm/perspective-viewer.wasm +0 -0
  65. package/dist/wasm/perspective-viewer.wasm.d.ts +142 -0
  66. package/dist/wasm/snippets/perspective-viewer-c69283f6f62a5f14/inline0.js +1 -0
  67. package/dist/wasm/snippets/perspective-viewer-c69283f6f62a5f14/inline1.js +1 -0
  68. package/dist/wasm/snippets/perspective-viewer-c69283f6f62a5f14/inline2.js +1 -0
  69. package/dist/wasm/snippets/perspective-viewer-c69283f6f62a5f14/inline3.js +44 -0
  70. package/dist/wasm/snippets/perspective-viewer-c69283f6f62a5f14/inline4.js +1 -0
  71. package/package.json +55 -0
  72. package/src/less/aggregate-selector.less +72 -0
  73. package/src/less/column-dropdown.less +95 -0
  74. package/src/less/column-selector.less +551 -0
  75. package/src/less/column-settings-panel.less +255 -0
  76. package/src/less/column-style.less +319 -0
  77. package/src/less/column-symbol-attributes.less +73 -0
  78. package/src/less/config-selector.less +363 -0
  79. package/src/less/containers/dropdown-menu.less +94 -0
  80. package/src/less/containers/pairs-list.less +46 -0
  81. package/src/less/containers/radio-list.less +29 -0
  82. package/src/less/containers/scroll-panel.less +27 -0
  83. package/src/less/containers/split-panel.less +80 -0
  84. package/src/less/containers/tabs.less +90 -0
  85. package/src/less/dom/checkbox.less +100 -0
  86. package/src/less/dom/scrollbar.less +35 -0
  87. package/src/less/dom/select.less +63 -0
  88. package/src/less/empty-column.less +72 -0
  89. package/src/less/expression-editor.less +152 -0
  90. package/src/less/filter-dropdown.less +53 -0
  91. package/src/less/filter-item.less +126 -0
  92. package/src/less/form/code-editor.less +137 -0
  93. package/src/less/form/debug.less +88 -0
  94. package/src/less/function-dropdown.less +45 -0
  95. package/src/less/plugin-selector.less +173 -0
  96. package/src/less/render-warning.less +81 -0
  97. package/src/less/status-bar.less +551 -0
  98. package/src/less/type-icon.less +68 -0
  99. package/src/less/viewer.less +368 -0
  100. package/src/rust/components/column_dropdown.rs +162 -0
  101. package/src/rust/components/column_selector/active_column.rs +462 -0
  102. package/src/rust/components/column_selector/add_expression_button.rs +59 -0
  103. package/src/rust/components/column_selector/aggregate_selector.rs +186 -0
  104. package/src/rust/components/column_selector/config_selector.rs +674 -0
  105. package/src/rust/components/column_selector/empty_column.rs +134 -0
  106. package/src/rust/components/column_selector/expression_toolbar.rs +45 -0
  107. package/src/rust/components/column_selector/filter_column.rs +530 -0
  108. package/src/rust/components/column_selector/inactive_column.rs +221 -0
  109. package/src/rust/components/column_selector/invalid_column.rs +37 -0
  110. package/src/rust/components/column_selector/pivot_column.rs +93 -0
  111. package/src/rust/components/column_selector/sort_column.rs +135 -0
  112. package/src/rust/components/column_selector.rs +426 -0
  113. package/src/rust/components/column_settings_sidebar/attributes_tab.rs +34 -0
  114. package/src/rust/components/column_settings_sidebar/mod.rs +17 -0
  115. package/src/rust/components/column_settings_sidebar/save_settings.rs +68 -0
  116. package/src/rust/components/column_settings_sidebar/sidebar.rs +396 -0
  117. package/src/rust/components/column_settings_sidebar/style_tab/column_style.rs +177 -0
  118. package/src/rust/components/column_settings_sidebar/style_tab/stub.rs +34 -0
  119. package/src/rust/components/column_settings_sidebar/style_tab/symbol/row_selector.rs +101 -0
  120. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_config.rs +24 -0
  121. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs.rs +185 -0
  122. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_selector.rs +55 -0
  123. package/src/rust/components/column_settings_sidebar/style_tab/symbol.rs +131 -0
  124. package/src/rust/components/column_settings_sidebar/style_tab.rs +231 -0
  125. package/src/rust/components/containers/dragdrop_list.rs +325 -0
  126. package/src/rust/components/containers/dropdown_menu.rs +104 -0
  127. package/src/rust/components/containers/kvpair.rs +47 -0
  128. package/src/rust/components/containers/mod.rs +28 -0
  129. package/src/rust/components/containers/scroll_panel.rs +311 -0
  130. package/src/rust/components/containers/scroll_panel_item.rs +111 -0
  131. package/src/rust/components/containers/select.rs +269 -0
  132. package/src/rust/components/containers/sidebar.rs +89 -0
  133. package/src/rust/components/containers/split_panel.rs +483 -0
  134. package/src/rust/components/containers/tab_list.rs +104 -0
  135. package/src/rust/components/containers/tests/mod.rs +11 -0
  136. package/src/rust/components/containers/tests/split_panel.rs +91 -0
  137. package/src/rust/components/containers/trap_door_panel.rs +50 -0
  138. package/src/rust/components/copy_dropdown.rs +136 -0
  139. package/src/rust/components/datetime_column_style/custom.rs +222 -0
  140. package/src/rust/components/datetime_column_style/simple.rs +122 -0
  141. package/src/rust/components/datetime_column_style.rs +284 -0
  142. package/src/rust/components/editable_header.rs +183 -0
  143. package/src/rust/components/empty_row.rs +169 -0
  144. package/src/rust/components/error_message.rs +56 -0
  145. package/src/rust/components/export_dropdown.rs +153 -0
  146. package/src/rust/components/expression_editor.rs +153 -0
  147. package/src/rust/components/filter_dropdown.rs +144 -0
  148. package/src/rust/components/font_loader.rs +254 -0
  149. package/src/rust/components/form/code_editor.rs +286 -0
  150. package/src/rust/components/form/color_range_selector.rs +115 -0
  151. package/src/rust/components/form/color_selector.rs +54 -0
  152. package/src/rust/components/form/debug.rs +253 -0
  153. package/src/rust/components/form/highlight.rs +50 -0
  154. package/src/rust/components/form/mod.rs +29 -0
  155. package/src/rust/components/form/number_field.rs +72 -0
  156. package/src/rust/components/form/number_input.rs +45 -0
  157. package/src/rust/components/form/number_range_field.rs +77 -0
  158. package/src/rust/components/form/optional_field.rs +53 -0
  159. package/src/rust/components/form/select_field.rs +104 -0
  160. package/src/rust/components/function_dropdown.rs +151 -0
  161. package/src/rust/components/mod.rs +45 -0
  162. package/src/rust/components/modal.rs +171 -0
  163. package/src/rust/components/number_column_style.rs +522 -0
  164. package/src/rust/components/plugin_selector.rs +196 -0
  165. package/src/rust/components/render_warning.rs +178 -0
  166. package/src/rust/components/status_bar.rs +315 -0
  167. package/src/rust/components/status_bar_counter.rs +229 -0
  168. package/src/rust/components/status_indicator.rs +164 -0
  169. package/src/rust/components/string_column_style.rs +186 -0
  170. package/src/rust/components/style/local_style.rs +35 -0
  171. package/src/rust/components/style/mod.rs +52 -0
  172. package/src/rust/components/style/style_cache.rs +132 -0
  173. package/src/rust/components/style/style_provider.rs +65 -0
  174. package/src/rust/components/style_controls/number_string_format/digits_section.rs +140 -0
  175. package/src/rust/components/style_controls/number_string_format/misc_section.rs +56 -0
  176. package/src/rust/components/style_controls/number_string_format/style_section.rs +69 -0
  177. package/src/rust/components/style_controls/number_string_format/types.rs +31 -0
  178. package/src/rust/components/style_controls/number_string_format.rs +259 -0
  179. package/src/rust/components/style_controls.rs +15 -0
  180. package/src/rust/components/type_icon.rs +53 -0
  181. package/src/rust/components/viewer.rs +668 -0
  182. package/src/rust/config/columns_config.rs +132 -0
  183. package/src/rust/config/datetime_column_style/color_mode.rs +62 -0
  184. package/src/rust/config/datetime_column_style/custom.rs +121 -0
  185. package/src/rust/config/datetime_column_style/custom_format.rs +90 -0
  186. package/src/rust/config/datetime_column_style/simple.rs +55 -0
  187. package/src/rust/config/datetime_column_style/simple_format.rs +86 -0
  188. package/src/rust/config/datetime_column_style.rs +104 -0
  189. package/src/rust/config/mod.rs +30 -0
  190. package/src/rust/config/number_column_style.rs +138 -0
  191. package/src/rust/config/number_string_format/enums.rs +298 -0
  192. package/src/rust/config/number_string_format.rs +269 -0
  193. package/src/rust/config/string_column_style.rs +140 -0
  194. package/src/rust/config/view_config.rs +24 -0
  195. package/src/rust/config/viewer_config.rs +337 -0
  196. package/src/rust/custom_elements/column_dropdown.rs +123 -0
  197. package/src/rust/custom_elements/copy_dropdown.rs +112 -0
  198. package/src/rust/custom_elements/debug_plugin.rs +114 -0
  199. package/src/rust/custom_elements/export_dropdown.rs +112 -0
  200. package/src/rust/custom_elements/filter_dropdown.rs +179 -0
  201. package/src/rust/custom_elements/function_dropdown.rs +115 -0
  202. package/src/rust/custom_elements/mod.rs +24 -0
  203. package/src/rust/custom_elements/modal.rs +395 -0
  204. package/src/rust/custom_elements/viewer.rs +880 -0
  205. package/src/rust/custom_events.rs +214 -0
  206. package/src/rust/dragdrop.rs +362 -0
  207. package/src/rust/exprtk/cursor.rs +81 -0
  208. package/src/rust/exprtk/mod.rs +17 -0
  209. package/src/rust/exprtk/tokenize/comment.rs +21 -0
  210. package/src/rust/exprtk/tokenize/number.rs +44 -0
  211. package/src/rust/exprtk/tokenize/string.rs +98 -0
  212. package/src/rust/exprtk/tokenize/symbol.rs +26 -0
  213. package/src/rust/exprtk/tokenize.rs +190 -0
  214. package/src/rust/js/clipboard.rs +77 -0
  215. package/src/rust/js/clipboard_item.rs +21 -0
  216. package/src/rust/js/intersection_observer.rs +32 -0
  217. package/src/rust/js/mimetype.rs +42 -0
  218. package/src/rust/js/mod.rs +29 -0
  219. package/src/rust/js/plugin.rs +167 -0
  220. package/src/rust/js/resize_observer.rs +37 -0
  221. package/src/rust/js/testing.rs +149 -0
  222. package/src/rust/lib.rs +116 -0
  223. package/src/rust/model/columns_iter_set.rs +340 -0
  224. package/src/rust/model/copy_export.rs +157 -0
  225. package/src/rust/model/create_col.rs +59 -0
  226. package/src/rust/model/edit_expression.rs +95 -0
  227. package/src/rust/model/export_app.rs +58 -0
  228. package/src/rust/model/export_method.rs +151 -0
  229. package/src/rust/model/get_viewer_config.rs +85 -0
  230. package/src/rust/model/intersection_observer.rs +81 -0
  231. package/src/rust/model/is_invalid_drop.rs +36 -0
  232. package/src/rust/model/mod.rs +93 -0
  233. package/src/rust/model/plugin_column_styles.rs +106 -0
  234. package/src/rust/model/resize_observer.rs +98 -0
  235. package/src/rust/model/restore_and_render.rs +113 -0
  236. package/src/rust/model/structural.rs +73 -0
  237. package/src/rust/model/update_and_render.rs +74 -0
  238. package/src/rust/presentation.rs +370 -0
  239. package/src/rust/renderer/activate.rs +49 -0
  240. package/src/rust/renderer/limits.rs +200 -0
  241. package/src/rust/renderer/plugin_store.rs +45 -0
  242. package/src/rust/renderer/registry.rs +135 -0
  243. package/src/rust/renderer/render_timer.rs +185 -0
  244. package/src/rust/renderer.rs +463 -0
  245. package/src/rust/session/column_defaults_update.rs +141 -0
  246. package/src/rust/session/drag_drop_update.rs +179 -0
  247. package/src/rust/session/metadata.rs +308 -0
  248. package/src/rust/session/replace_expression_update.rs +131 -0
  249. package/src/rust/session/view_subscription.rs +189 -0
  250. package/src/rust/session.rs +794 -0
  251. package/src/rust/utils/browser/blob.rs +49 -0
  252. package/src/rust/utils/browser/download.rs +26 -0
  253. package/src/rust/utils/browser/mod.rs +24 -0
  254. package/src/rust/utils/browser/request_animation_frame.rs +76 -0
  255. package/src/rust/utils/browser/selection.rs +79 -0
  256. package/src/rust/utils/browser/tests/debounce.rs +114 -0
  257. package/src/rust/utils/browser/tests/mod.rs +13 -0
  258. package/src/rust/utils/custom_element.rs +85 -0
  259. package/src/rust/utils/datetime.rs +49 -0
  260. package/src/rust/utils/debounce.rs +54 -0
  261. package/src/rust/utils/hooks/mod.rs +15 -0
  262. package/src/rust/utils/hooks/use_async_callback.rs +53 -0
  263. package/src/rust/utils/mod.rs +114 -0
  264. package/src/rust/utils/number_format.rs +48 -0
  265. package/src/rust/utils/pubsub.rs +222 -0
  266. package/src/rust/utils/scope.rs +54 -0
  267. package/src/rust/utils/tee.rs +88 -0
  268. package/src/rust/utils/tests/mod.rs +14 -0
  269. package/src/rust/utils/tests/pubsub.rs +95 -0
  270. package/src/rust/utils/tests/request_animation_frame.rs +42 -0
  271. package/src/rust/utils/wasm_abi.rs +61 -0
  272. package/src/rust/utils/weak_scope.rs +39 -0
  273. package/src/svg/align-scroll-icon.svg +7 -0
  274. package/src/svg/bg-pattern.png +0 -0
  275. package/src/svg/boolean-type.svg +3 -0
  276. package/src/svg/checkbox-checked-icon.svg +7 -0
  277. package/src/svg/checkbox-hover.svg +4 -0
  278. package/src/svg/checkbox-off.svg +4 -0
  279. package/src/svg/checkbox-on.svg +4 -0
  280. package/src/svg/checkbox-unchecked-icon.svg +3 -0
  281. package/src/svg/close-icon.svg +6 -0
  282. package/src/svg/column-settings-icon.svg +6 -0
  283. package/src/svg/datagrid-select-column.svg +15 -0
  284. package/src/svg/datagrid-select-region.svg +15 -0
  285. package/src/svg/datagrid-select-row.svg +13 -0
  286. package/src/svg/datagrid.svg +13 -0
  287. package/src/svg/date-type.svg +23 -0
  288. package/src/svg/downloading.gif +0 -0
  289. package/src/svg/drag-handle.svg +10 -0
  290. package/src/svg/drawer-bg-pattern-hidpi.png +0 -0
  291. package/src/svg/drawer-tab-hover.svg +8 -0
  292. package/src/svg/drawer-tab-invert-hover.svg +9 -0
  293. package/src/svg/drawer-tab-invert.svg +8 -0
  294. package/src/svg/drawer-tab.svg +7 -0
  295. package/src/svg/dropdown-selector-light.svg +3 -0
  296. package/src/svg/dropdown-selector.svg +3 -0
  297. package/src/svg/duplicate-icon.svg +4 -0
  298. package/src/svg/editable-icon.svg +5 -0
  299. package/src/svg/export-icon.svg +4 -0
  300. package/src/svg/expression.svg +10 -0
  301. package/src/svg/free-scroll-icon.svg +5 -0
  302. package/src/svg/inactive-mouseover.svg +4 -0
  303. package/src/svg/mega-menu-icons-candlestick.svg +38 -0
  304. package/src/svg/mega-menu-icons-datagrid.svg +38 -0
  305. package/src/svg/mega-menu-icons-heatmap.svg +60 -0
  306. package/src/svg/mega-menu-icons-map-scatter.svg +43 -0
  307. package/src/svg/mega-menu-icons-ohlc.svg +40 -0
  308. package/src/svg/mega-menu-icons-sunburst.svg +39 -0
  309. package/src/svg/mega-menu-icons-treemap.svg +44 -0
  310. package/src/svg/mega-menu-icons-x-bar.svg +36 -0
  311. package/src/svg/mega-menu-icons-x-y-line.svg +38 -0
  312. package/src/svg/mega-menu-icons-x-y-scatter.svg +72 -0
  313. package/src/svg/mega-menu-icons-y-area.svg +73 -0
  314. package/src/svg/mega-menu-icons-y-bar.svg +36 -0
  315. package/src/svg/mega-menu-icons-y-line.svg +36 -0
  316. package/src/svg/mega-menu-icons-y-scatter.svg +72 -0
  317. package/src/svg/number-type.svg +4 -0
  318. package/src/svg/radio-hover.svg +4 -0
  319. package/src/svg/radio-off.svg +3 -0
  320. package/src/svg/radio-on.svg +4 -0
  321. package/src/svg/read-only-icon.svg +6 -0
  322. package/src/svg/revert-icon.svg +4 -0
  323. package/src/svg/sort-abs-asc-icon.svg +3 -0
  324. package/src/svg/sort-abs-col-asc-icon.svg +3 -0
  325. package/src/svg/sort-abs-col-desc-icon.svg +3 -0
  326. package/src/svg/sort-abs-desc-icon.svg +3 -0
  327. package/src/svg/sort-asc-icon.svg +4 -0
  328. package/src/svg/sort-col-asc-icon.svg +4 -0
  329. package/src/svg/sort-col-desc-icon.svg +4 -0
  330. package/src/svg/sort-desc-icon.svg +4 -0
  331. package/src/svg/sort-none-icon.svg +3 -0
  332. package/src/svg/status_error.svg +70 -0
  333. package/src/svg/status_ok.svg +26 -0
  334. package/src/svg/string-type.svg +8 -0
  335. package/src/svg/theme-icon.svg +5 -0
  336. package/src/svg/updating.gif +0 -0
  337. package/src/themes/dracula.less +101 -0
  338. package/src/themes/gruvbox-dark.less +116 -0
  339. package/src/themes/gruvbox.less +152 -0
  340. package/src/themes/icons.less +130 -0
  341. package/src/themes/intl/de.less +102 -0
  342. package/src/themes/intl/es.less +102 -0
  343. package/src/themes/intl/fr.less +102 -0
  344. package/src/themes/intl/ja.less +102 -0
  345. package/src/themes/intl/pt.less +102 -0
  346. package/src/themes/intl/zh.less +102 -0
  347. package/src/themes/intl.less +102 -0
  348. package/src/themes/monokai.less +107 -0
  349. package/src/themes/pro-dark.less +147 -0
  350. package/src/themes/pro.less +186 -0
  351. package/src/themes/solarized-dark.less +78 -0
  352. package/src/themes/solarized.less +102 -0
  353. package/src/themes/themes.less +21 -0
  354. package/src/themes/vaporwave.less +145 -0
  355. package/src/themes/variables.less +24 -0
  356. package/src/ts/bootstrap.ts +26 -0
  357. package/src/ts/extensions.ts +124 -0
  358. package/src/ts/perspective-viewer.cdn.ts +19 -0
  359. package/src/ts/perspective-viewer.inline.ts +23 -0
  360. package/src/ts/perspective-viewer.ts +59 -0
  361. package/src/ts/plugin.ts +279 -0
  362. package/src/ts/ts-rs/Aggregate.ts +3 -0
  363. package/src/ts/ts-rs/ColumnConfigValues.ts +14 -0
  364. package/src/ts/ts-rs/CustomDatetimeFormat.ts +3 -0
  365. package/src/ts/ts-rs/CustomDatetimeStyleConfig.ts +5 -0
  366. package/src/ts/ts-rs/CustomNumberFormatConfig.ts +8 -0
  367. package/src/ts/ts-rs/DatetimeColorMode.ts +3 -0
  368. package/src/ts/ts-rs/DatetimeFormatType.ts +8 -0
  369. package/src/ts/ts-rs/Expressions.ts +3 -0
  370. package/src/ts/ts-rs/Filter.ts +4 -0
  371. package/src/ts/ts-rs/FilterReducer.ts +3 -0
  372. package/src/ts/ts-rs/FilterTerm.ts +4 -0
  373. package/src/ts/ts-rs/FormatMode.ts +3 -0
  374. package/src/ts/ts-rs/FormatUnit.ts +3 -0
  375. package/src/ts/ts-rs/NumberBackgroundMode.ts +3 -0
  376. package/src/ts/ts-rs/NumberForegroundMode.ts +3 -0
  377. package/src/ts/ts-rs/OnUpdateData.ts +8 -0
  378. package/src/ts/ts-rs/OptionalUpdate.ts +3 -0
  379. package/src/ts/ts-rs/PluginConfig.ts +4 -0
  380. package/src/ts/ts-rs/RoundingMode.ts +3 -0
  381. package/src/ts/ts-rs/RoundingPriority.ts +3 -0
  382. package/src/ts/ts-rs/Scalar.ts +7 -0
  383. package/src/ts/ts-rs/SignDisplay.ts +3 -0
  384. package/src/ts/ts-rs/SimpleDatetimeFormat.ts +3 -0
  385. package/src/ts/ts-rs/SimpleDatetimeStyleConfig.ts +4 -0
  386. package/src/ts/ts-rs/Sort.ts +4 -0
  387. package/src/ts/ts-rs/SortDir.ts +3 -0
  388. package/src/ts/ts-rs/StringColorMode.ts +3 -0
  389. package/src/ts/ts-rs/TrailingZeroDisplay.ts +3 -0
  390. package/src/ts/ts-rs/UseGrouping.ts +3 -0
  391. package/src/ts/ts-rs/ViewOnUpdateResp.ts +3 -0
  392. package/src/ts/ts-rs/ViewerConfigUpdate.ts +90 -0
  393. package/src/ts/ts-rs/serde_json/JsonValue.ts +3 -0
  394. package/tsconfig.json +15 -0
@@ -0,0 +1,142 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export const memory: WebAssembly.Memory;
4
+ export const __wbg_columndropdownelement_free: (a: number, b: number) => void;
5
+ export const __wbg_copydropdownmenuelement_free: (a: number, b: number) => void;
6
+ export const copydropdownmenuelement_new: (a: number) => number;
7
+ export const copydropdownmenuelement_open: (a: number, b: number) => void;
8
+ export const copydropdownmenuelement_hide: (a: number, b: number) => void;
9
+ export const copydropdownmenuelement_set_model: (a: number, b: number) => void;
10
+ export const copydropdownmenuelement_connected_callback: (a: number) => void;
11
+ export const __wbg_perspectivedebugpluginelement_free: (a: number, b: number) => void;
12
+ export const perspectivedebugpluginelement_new: (a: number) => number;
13
+ export const perspectivedebugpluginelement_name: (a: number, b: number) => void;
14
+ export const perspectivedebugpluginelement_select_mode: (a: number, b: number) => void;
15
+ export const perspectivedebugpluginelement_config_column_names: (a: number) => number;
16
+ export const perspectivedebugpluginelement_draw: (a: number, b: number) => number;
17
+ export const perspectivedebugpluginelement_clear: (a: number) => number;
18
+ export const perspectivedebugpluginelement_connectedCallback: (a: number) => void;
19
+ export const exportdropdownmenuelement_open: (a: number, b: number) => void;
20
+ export const exportdropdownmenuelement_hide: (a: number, b: number) => void;
21
+ export const exportdropdownmenuelement_set_model: (a: number, b: number) => void;
22
+ export const __wbg_filterdropdownelement_free: (a: number, b: number) => void;
23
+ export const __wbg_functiondropdownelement_free: (a: number, b: number) => void;
24
+ export const __wbg_perspectiveviewerelement_free: (a: number, b: number) => void;
25
+ export const perspectiveviewerelement_new: (a: number) => number;
26
+ export const perspectiveviewerelement_connectedCallback: (a: number) => void;
27
+ export const perspectiveviewerelement_load: (a: number, b: number) => number;
28
+ export const perspectiveviewerelement_delete: (a: number) => number;
29
+ export const perspectiveviewerelement_eject: (a: number) => number;
30
+ export const perspectiveviewerelement_getView: (a: number) => number;
31
+ export const perspectiveviewerelement_getTable: (a: number, b: number) => number;
32
+ export const perspectiveviewerelement_getRenderStats: (a: number, b: number) => void;
33
+ export const perspectiveviewerelement_flush: (a: number) => number;
34
+ export const perspectiveviewerelement_restore: (a: number, b: number) => number;
35
+ export const perspectiveviewerelement_resetError: (a: number) => number;
36
+ export const perspectiveviewerelement_save: (a: number, b: number, c: number) => number;
37
+ export const perspectiveviewerelement_download: (a: number, b: number) => number;
38
+ export const perspectiveviewerelement_copy: (a: number, b: number) => number;
39
+ export const perspectiveviewerelement_reset: (a: number, b: number) => number;
40
+ export const perspectiveviewerelement_resize: (a: number, b: number) => number;
41
+ export const perspectiveviewerelement_setAutoSize: (a: number, b: number) => void;
42
+ export const perspectiveviewerelement_setAutoPause: (a: number, b: number) => void;
43
+ export const perspectiveviewerelement_getSelection: (a: number) => number;
44
+ export const perspectiveviewerelement_setSelection: (a: number, b: number, c: number) => void;
45
+ export const perspectiveviewerelement_getEditPort: (a: number, b: number) => void;
46
+ export const perspectiveviewerelement_restyleElement: (a: number) => number;
47
+ export const perspectiveviewerelement_resetThemes: (a: number, b: number, c: number) => number;
48
+ export const perspectiveviewerelement_setThrottle: (a: number, b: number, c: number) => void;
49
+ export const perspectiveviewerelement_toggleConfig: (a: number, b: number) => number;
50
+ export const perspectiveviewerelement_getAllPlugins: (a: number) => number;
51
+ export const perspectiveviewerelement_getPlugin: (a: number, b: number, c: number, d: number) => void;
52
+ export const perspectiveviewerelement_get_model: (a: number) => number;
53
+ export const perspectiveviewerelement_toggleColumnSettings: (a: number, b: number, c: number) => number;
54
+ export const perspectiveviewerelement_openColumnSettings: (a: number, b: number, c: number, d: number) => number;
55
+ export const registerPlugin: (a: number, b: number) => void;
56
+ export const init: () => void;
57
+ export const perspectivedebugpluginelement_min_config_columns: (a: number) => number;
58
+ export const perspectivedebugpluginelement_update: (a: number, b: number) => number;
59
+ export const perspectivedebugpluginelement_resize: (a: number) => number;
60
+ export const perspectivedebugpluginelement_restyle: (a: number) => number;
61
+ export const perspectivedebugpluginelement_save: (a: number) => number;
62
+ export const perspectivedebugpluginelement_restore: (a: number) => number;
63
+ export const perspectivedebugpluginelement_delete: (a: number) => number;
64
+ export const exportdropdownmenuelement_new: (a: number) => number;
65
+ export const __wbg_exportdropdownmenuelement_free: (a: number, b: number) => void;
66
+ export const exportdropdownmenuelement_connected_callback: (a: number) => void;
67
+ export const __wbg_proxysession_free: (a: number, b: number) => void;
68
+ export const proxysession_handle_request: (a: number, b: number) => number;
69
+ export const proxysession_close: (a: number) => number;
70
+ export const __wbg_client_free: (a: number, b: number) => void;
71
+ export const client___getClassname: (a: number, b: number) => void;
72
+ export const client_new: (a: number, b: number, c: number) => void;
73
+ export const client_new_proxy_session: (a: number, b: number) => number;
74
+ export const client_handle_response: (a: number, b: number) => number;
75
+ export const client_handle_error: (a: number, b: number, c: number, d: number) => number;
76
+ export const client_on_error: (a: number, b: number) => number;
77
+ export const client_table: (a: number, b: number, c: number) => number;
78
+ export const client_terminate: (a: number, b: number) => void;
79
+ export const client_open_table: (a: number, b: number, c: number) => number;
80
+ export const client_get_hosted_table_names: (a: number) => number;
81
+ export const client_on_hosted_tables_update: (a: number, b: number) => number;
82
+ export const client_remove_hosted_tables_update: (a: number, b: number) => number;
83
+ export const client_system_info: (a: number) => number;
84
+ export const table___getClassname: (a: number, b: number) => void;
85
+ export const __wbg_table_free: (a: number, b: number) => void;
86
+ export const table_get_index: (a: number) => number;
87
+ export const table_get_client: (a: number) => number;
88
+ export const table_get_name: (a: number) => number;
89
+ export const table_get_limit: (a: number) => number;
90
+ export const table_clear: (a: number) => number;
91
+ export const table_delete: (a: number, b: number) => number;
92
+ export const table_size: (a: number) => number;
93
+ export const table_schema: (a: number) => number;
94
+ export const table_columns: (a: number) => number;
95
+ export const table_make_port: (a: number) => number;
96
+ export const table_on_delete: (a: number, b: number) => number;
97
+ export const table_remove_delete: (a: number, b: number) => number;
98
+ export const table_remove: (a: number, b: number, c: number) => number;
99
+ export const table_replace: (a: number, b: number, c: number) => number;
100
+ export const table_update: (a: number, b: number, c: number) => number;
101
+ export const table_view: (a: number, b: number) => number;
102
+ export const table_validate_expressions: (a: number, b: number) => number;
103
+ export const __wbg_view_free: (a: number, b: number) => void;
104
+ export const view___get_model: (a: number) => number;
105
+ export const view_column_paths: (a: number, b: number) => number;
106
+ export const view_delete: (a: number) => number;
107
+ export const view_dimensions: (a: number) => number;
108
+ export const view_expression_schema: (a: number) => number;
109
+ export const view_get_config: (a: number) => number;
110
+ export const view_get_min_max: (a: number, b: number, c: number) => number;
111
+ export const view_num_rows: (a: number) => number;
112
+ export const view_schema: (a: number) => number;
113
+ export const view_to_arrow: (a: number, b: number) => number;
114
+ export const view_to_columns_string: (a: number, b: number) => number;
115
+ export const view_to_columns: (a: number, b: number) => number;
116
+ export const view_to_json_string: (a: number, b: number) => number;
117
+ export const view_to_json: (a: number, b: number) => number;
118
+ export const view_to_ndjson: (a: number, b: number) => number;
119
+ export const view_to_csv: (a: number, b: number) => number;
120
+ export const view_on_update: (a: number, b: number, c: number) => number;
121
+ export const view_remove_update: (a: number, b: number) => number;
122
+ export const view_on_delete: (a: number, b: number) => number;
123
+ export const view_num_columns: (a: number) => number;
124
+ export const view_remove_delete: (a: number, b: number) => number;
125
+ export const view_collapse: (a: number, b: number) => number;
126
+ export const view_expand: (a: number, b: number) => number;
127
+ export const view_set_depth: (a: number, b: number) => number;
128
+ export const proxysession_new: (a: number, b: number) => number;
129
+ export const __wbindgen_export_0: (a: number, b: number) => number;
130
+ export const __wbindgen_export_1: (a: number, b: number, c: number, d: number) => number;
131
+ export const __wbindgen_export_2: (a: number) => void;
132
+ export const __wbindgen_export_3: (a: number, b: number, c: number) => void;
133
+ export const __wbindgen_export_4: WebAssembly.Table;
134
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
135
+ export const __wbindgen_export_5: (a: number, b: number, c: number) => void;
136
+ export const __wbindgen_export_6: (a: number, b: number, c: number) => void;
137
+ export const __wbindgen_export_7: (a: number, b: number, c: number) => void;
138
+ export const __wbindgen_export_8: (a: number, b: number) => number;
139
+ export const __wbindgen_export_9: (a: number, b: number, c: number) => void;
140
+ export const __wbindgen_export_10: (a: number, b: number) => void;
141
+ export const __wbindgen_export_11: (a: number, b: number, c: number) => void;
142
+ export const __wbindgen_export_12: (a: number, b: number, c: number, d: number) => void;
@@ -0,0 +1 @@
1
+ export const ClipboardItem = window.ClipboardItem
@@ -0,0 +1 @@
1
+ export const IntersectionObserver = window.IntersectionObserver
@@ -0,0 +1 @@
1
+ export const ResizeObserver = window.ResizeObserver
@@ -0,0 +1,44 @@
1
+
2
+ export function bootstrap(psp, name, clsname, statics) {
3
+ const cls = psp[clsname];
4
+ const proto = cls.prototype;
5
+ class x extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this._instance = new cls(this);
9
+ }
10
+ }
11
+
12
+ const names = Object.getOwnPropertyNames(proto);
13
+ for (const key of names) {
14
+ if ('get' in Object.getOwnPropertyDescriptor(proto, key)) {
15
+ Object.defineProperty(x.prototype, key, {
16
+ get: function() {
17
+ return this._instance[key];
18
+ }
19
+ });
20
+ } else {
21
+ Object.defineProperty(x.prototype, key, {
22
+ value: function(...args) {
23
+ return this._instance[key].call(this._instance, ...args);
24
+ }
25
+ });
26
+ }
27
+ }
28
+
29
+ for (const key of statics) {
30
+ Object.defineProperty(x, key, {
31
+ value: function(...args) {
32
+ return psp[key].call(psp, ...args);
33
+ }
34
+ });
35
+ }
36
+
37
+ Object.defineProperty(x, '__wasm_module__', {
38
+ get() {
39
+ return psp;
40
+ },
41
+ });
42
+
43
+ customElements.define(name, x);
44
+ }
@@ -0,0 +1 @@
1
+ export * as psp from '../../perspective-viewer.js'
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@perspective-dev/viewer",
3
+ "version": "4.0.0",
4
+ "description": "The `<perspective-viewer>` Custom Element, frontend for Perspective.js",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/perspective-dev/perspective"
8
+ },
9
+ "type": "module",
10
+ "license": "Apache-2.0",
11
+ "unpkg": "dist/cdn/perspective-viewer.js",
12
+ "jsdelivr": "dist/cdn/perspective-viewer.js",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/esm/perspective-viewer.d.ts",
16
+ "default": "./dist/esm/perspective-viewer.js"
17
+ },
18
+ "./dist/*": "./dist/*",
19
+ "./src/*": "./src/*",
20
+ "./test/*": "./test/*",
21
+ "./package.json": "./package.json",
22
+ "./tsconfig.json": "./tsconfig.json"
23
+ },
24
+ "files": [
25
+ "dist/**/*",
26
+ "src/**/*",
27
+ "tsconfig.json"
28
+ ],
29
+ "types": "dist/esm/perspective-viewer.d.ts",
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "dependencies": {
34
+ "@perspective-dev/client": "",
35
+ "pro_self_extracting_wasm": "0.0.9"
36
+ },
37
+ "devDependencies": {
38
+ "@perspective-dev/esbuild-plugin": "",
39
+ "@perspective-dev/test": "",
40
+ "@perspective-dev/metadata": "",
41
+ "@prospective.co/procss": "0.1.17",
42
+ "@playwright/test": "=1.52.0",
43
+ "@playwright/experimental-ct-react": "=1.52.0",
44
+ "@types/react": "^18",
45
+ "prettier": ">=3 <4",
46
+ "typedoc": "^0.28.7",
47
+ "typescript": ">=5 <6",
48
+ "zx": ">=8 <9"
49
+ },
50
+ "scripts": {
51
+ "build": "node ./build.mjs",
52
+ "clean": "node ./clean.mjs",
53
+ "docs": "node ./docs.mjs"
54
+ }
55
+ }
@@ -0,0 +1,72 @@
1
+ // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ // ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ // ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ // ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ // ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ // ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ // ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ // ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+
13
+ :host {
14
+ // Wrapper prevents the width of the selector options from increasing the width of
15
+ // the container it is embedded in.
16
+ .aggregate-selector-wrapper {
17
+ height: 19px;
18
+ display: flex;
19
+ padding-left: 23px;
20
+ width: 85px;
21
+ min-width: 85px;
22
+ max-width: 85px;
23
+ flex: 0 0 85px;
24
+
25
+ label {
26
+ font-size: 10px;
27
+ white-space: nowrap;
28
+ height: 19px;
29
+ display: flex;
30
+ align-items: center;
31
+ margin-right: 3px;
32
+ max-width: 60px;
33
+ overflow: hidden;
34
+ }
35
+
36
+ .aggregate-selector {
37
+ font-size: 10px;
38
+ border-bottom-width: 0px;
39
+ margin-top: 0px;
40
+ height: 19px;
41
+ white-space: nowrap;
42
+ overflow: hidden;
43
+ text-overflow: ellipsis;
44
+ padding-right: 12px;
45
+ border: 1px solid transparent;
46
+
47
+ &:hover {
48
+ border: 1px solid var(--icon--color);
49
+ border-radius: 2px;
50
+ transition: none;
51
+ }
52
+ }
53
+
54
+ label + .aggregate-selector {
55
+ display: none;
56
+ }
57
+
58
+ &:hover {
59
+ label + .aggregate-selector {
60
+ display: flex;
61
+ }
62
+
63
+ label {
64
+ display: none;
65
+ }
66
+ }
67
+
68
+ .dropdown-width-container:after {
69
+ content: none !important;
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,95 @@
1
+ // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ // ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ // ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ // ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ // ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ // ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ // ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ // ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+
13
+ @import "dom/scrollbar.less";
14
+
15
+ @mixin icon {
16
+ background-repeat: no-repeat;
17
+ background-color: var(--icon--color);
18
+ content: "";
19
+ display: inline-block;
20
+ -webkit-mask-size: cover;
21
+ mask-size: cover;
22
+ }
23
+
24
+ :host {
25
+ box-sizing: border-box;
26
+ position: fixed;
27
+ z-index: 10000;
28
+ outline: none;
29
+ font-size: 0.75em;
30
+ border: inherit;
31
+ // box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
32
+ user-select: none;
33
+ background-color: var(--icon--color, #fff) !important;
34
+ color: var(--plugin--background, #333) !important;
35
+ // padding: 6px 8px;
36
+ border: 1px solid var(--icon--color) !important;
37
+ max-width: 300px;
38
+ overflow: hidden;
39
+ max-height: 600px;
40
+ overflow: auto;
41
+ @include scrollbar;
42
+
43
+ display: flex;
44
+ flex-direction: column;
45
+
46
+ .selected {
47
+ background-color: var(--plugin--background) !important;
48
+ color: var(--icon--color) !important;
49
+ }
50
+
51
+ span {
52
+ cursor: pointer;
53
+ padding: 4px 5px;
54
+ }
55
+
56
+ .no-results {
57
+ padding: 3px 24px 6px 11px;
58
+ color: var(--error--color);
59
+ font-size: 8px;
60
+ }
61
+
62
+ .no-results:before {
63
+ content: var(--no-results--content, "Invalid Column");
64
+ }
65
+
66
+ #add-expression {
67
+ &:before {
68
+ @include icon;
69
+ width: 14px;
70
+ height: 12px;
71
+ margin-right: 5px;
72
+ -webkit-mask-image: var(--add-expression-icon--mask-image);
73
+ mask-image: var(--add-expression-icon--mask-image);
74
+ }
75
+ }
76
+ }
77
+
78
+ :host(:hover) {
79
+ .selected {
80
+ background-color: var(--icon--color, #fff) !important;
81
+ color: var(--plugin--background, #333) !important;
82
+ }
83
+
84
+ span:hover,
85
+ span.selected:hover {
86
+ background-color: var(--plugin--background) !important;
87
+ color: var(--icon--color) !important;
88
+ }
89
+ }
90
+
91
+ :host(.no-results) {
92
+ overflow: hidden;
93
+ background-color: transparent !important;
94
+ border: none !important;
95
+ }