@perspective-dev/viewer 4.2.0 → 4.4.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 (240) hide show
  1. package/dist/cdn/perspective-viewer.js +2 -2
  2. package/dist/cdn/perspective-viewer.js.map +4 -4
  3. package/dist/css/botanical.css +1 -0
  4. package/dist/css/dracula.css +1 -1
  5. package/dist/css/gruvbox-dark.css +1 -1
  6. package/dist/css/gruvbox.css +1 -1
  7. package/dist/css/icons.css +1 -1
  8. package/dist/css/intl/de.css +1 -1
  9. package/dist/css/intl/es.css +1 -1
  10. package/dist/css/intl/fr.css +1 -1
  11. package/dist/css/intl/ja.css +1 -1
  12. package/dist/css/intl/pt.css +1 -1
  13. package/dist/css/intl/zh.css +1 -1
  14. package/dist/css/intl.css +1 -1
  15. package/dist/css/monokai.css +1 -1
  16. package/dist/css/pro-dark.css +1 -1
  17. package/dist/css/pro.css +1 -1
  18. package/dist/css/solarized-dark.css +1 -1
  19. package/dist/css/solarized.css +1 -1
  20. package/dist/css/themes.css +1 -1
  21. package/dist/css/vaporwave.css +1 -1
  22. package/dist/esm/extensions.d.ts +32 -1
  23. package/dist/esm/perspective-viewer.d.ts +1 -0
  24. package/dist/esm/perspective-viewer.inline.js +2 -2
  25. package/dist/esm/perspective-viewer.inline.js.map +4 -4
  26. package/dist/esm/perspective-viewer.js +2 -2
  27. package/dist/esm/perspective-viewer.js.map +4 -4
  28. package/dist/esm/ts-rs/GroupRollupMode.d.ts +1 -0
  29. package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +2 -0
  30. package/dist/wasm/perspective-viewer.d.ts +57 -53
  31. package/dist/wasm/perspective-viewer.js +197 -164
  32. package/dist/wasm/perspective-viewer.wasm +0 -0
  33. package/dist/wasm/perspective-viewer.wasm.d.ts +17 -18
  34. package/package.json +9 -6
  35. package/src/{less/aggregate-selector.less → css/aggregate-selector.css} +23 -20
  36. package/src/css/column-dropdown.css +109 -0
  37. package/src/{less/column-selector.less → css/column-selector.css} +161 -159
  38. package/src/{less/column-settings-panel.less → css/column-settings-panel.css} +69 -59
  39. package/src/{less/column-style.less → css/column-style.css} +52 -66
  40. package/src/{less/column-symbol-attributes.less → css/column-symbol-attributes.css} +15 -14
  41. package/src/css/config-selector.css +441 -0
  42. package/src/{less/containers/dropdown-menu.less → css/containers/dropdown-menu.css} +20 -19
  43. package/src/{less/containers/pairs-list.less → css/containers/pairs-list.css} +13 -12
  44. package/src/{themes/variables.less → css/containers/scroll-panel.css} +25 -22
  45. package/src/{less/containers/split-panel.less → css/containers/split-panel.css} +15 -14
  46. package/src/{less/containers/tabs.less → css/containers/tabs.css} +17 -19
  47. package/src/css/dom/checkbox.css +102 -0
  48. package/src/css/dom/scrollbar.css +35 -0
  49. package/src/{less/dom/select.less → css/dom/select.css} +17 -18
  50. package/src/{less/empty-column.less → css/empty-column.css} +19 -18
  51. package/src/{less/expression-editor.less → css/expression-editor.css} +19 -18
  52. package/src/{less/filter-dropdown.less → css/filter-dropdown.css} +12 -11
  53. package/src/{less/filter-item.less → css/filter-item.css} +16 -15
  54. package/src/{less/form/code-editor.less → css/form/code-editor.css} +26 -30
  55. package/src/{less/form/debug.less → css/form/debug.css} +19 -18
  56. package/src/{less/function-dropdown.less → css/function-dropdown.css} +12 -11
  57. package/src/css/plugin-selector.css +261 -0
  58. package/src/{less/render-warning.less → css/render-warning.css} +18 -17
  59. package/src/{less/status-bar.less → css/status-bar.css} +156 -144
  60. package/src/css/type-icon.css +116 -0
  61. package/src/{less/viewer.less → css/viewer.css} +112 -146
  62. package/src/rust/components/column_dropdown.rs +229 -119
  63. package/src/rust/components/column_selector/active_column.rs +81 -62
  64. package/src/rust/components/column_selector/add_expression_button.rs +1 -0
  65. package/src/rust/components/column_selector/aggregate_selector.rs +25 -15
  66. package/src/rust/components/column_selector/config_selector.rs +374 -185
  67. package/src/rust/components/column_selector/empty_column.rs +2 -2
  68. package/src/rust/components/column_selector/expr_edit_button.rs +8 -2
  69. package/src/rust/components/column_selector/filter_column.rs +37 -26
  70. package/src/rust/components/column_selector/inactive_column.rs +41 -29
  71. package/src/rust/components/column_selector/invalid_column.rs +7 -18
  72. package/src/rust/components/column_selector/pivot_column.rs +21 -10
  73. package/src/rust/components/column_selector/sort_column.rs +23 -13
  74. package/src/rust/components/column_selector.rs +189 -100
  75. package/src/rust/components/column_settings_sidebar/style_tab/symbol/row_selector.rs +1 -1
  76. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs.rs +3 -2
  77. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs_item.rs +3 -2
  78. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_selector.rs +2 -3
  79. package/src/rust/components/column_settings_sidebar/style_tab/symbol.rs +7 -1
  80. package/src/rust/components/column_settings_sidebar/style_tab.rs +153 -112
  81. package/src/rust/components/column_settings_sidebar.rs +91 -53
  82. package/src/rust/components/containers/dragdrop_list.rs +29 -7
  83. package/src/rust/components/containers/scroll_panel.rs +8 -1
  84. package/src/rust/components/containers/select.rs +3 -3
  85. package/src/rust/components/containers/sidebar_close_button.rs +1 -1
  86. package/src/rust/components/containers/split_panel.rs +3 -2
  87. package/src/rust/components/containers/tab_list.rs +1 -1
  88. package/src/rust/components/copy_dropdown.rs +7 -28
  89. package/src/rust/components/datetime_column_style/custom.rs +2 -2
  90. package/src/rust/components/datetime_column_style/simple.rs +2 -2
  91. package/src/rust/components/datetime_column_style.rs +4 -2
  92. package/src/rust/components/editable_header.rs +7 -4
  93. package/src/rust/components/empty_row.rs +1 -1
  94. package/src/rust/components/export_dropdown.rs +4 -30
  95. package/src/rust/components/expression_editor.rs +19 -10
  96. package/src/rust/components/filter_dropdown.rs +246 -102
  97. package/src/rust/components/font_loader.rs +11 -28
  98. package/src/rust/components/form/code_editor.rs +17 -2
  99. package/src/rust/components/form/color_range_selector.rs +19 -6
  100. package/src/rust/components/form/debug.rs +30 -13
  101. package/src/rust/components/function_dropdown.rs +186 -113
  102. package/src/rust/components/main_panel.rs +71 -89
  103. package/src/rust/components/mod.rs +1 -1
  104. package/src/rust/components/modal.rs +7 -1
  105. package/src/rust/components/number_column_style.rs +22 -7
  106. package/src/rust/components/plugin_selector.rs +34 -92
  107. package/src/rust/components/portal.rs +274 -0
  108. package/src/rust/components/render_warning.rs +72 -123
  109. package/src/rust/components/settings_panel.rs +115 -11
  110. package/src/rust/components/status_bar.rs +222 -98
  111. package/src/rust/components/status_bar_counter.rs +8 -20
  112. package/src/rust/components/status_indicator.rs +64 -111
  113. package/src/rust/components/string_column_style.rs +2 -2
  114. package/src/rust/components/style/style_cache.rs +5 -1
  115. package/src/rust/components/viewer.rs +391 -39
  116. package/src/rust/custom_elements/copy_dropdown.rs +102 -21
  117. package/src/rust/custom_elements/export_dropdown.rs +102 -20
  118. package/src/rust/custom_elements/mod.rs +0 -7
  119. package/src/rust/custom_elements/modal.rs +7 -103
  120. package/src/rust/custom_elements/viewer.rs +99 -35
  121. package/src/rust/custom_events.rs +23 -2
  122. package/src/rust/dragdrop.rs +149 -10
  123. package/src/{less/containers/scroll-panel.less → rust/engines.rs} +15 -13
  124. package/src/rust/js/plugin.rs +20 -1
  125. package/src/rust/lib.rs +5 -4
  126. package/src/rust/presentation/props.rs +39 -0
  127. package/src/rust/presentation/sheets.rs +3 -3
  128. package/src/rust/presentation.rs +44 -8
  129. package/src/rust/renderer/limits.rs +32 -3
  130. package/src/{less/dom/scrollbar.less → rust/renderer/props.rs} +18 -19
  131. package/src/rust/renderer/registry.rs +8 -1
  132. package/src/rust/renderer.rs +83 -9
  133. package/src/rust/session/column_defaults_update.rs +18 -0
  134. package/src/rust/session/metadata.rs +23 -2
  135. package/src/rust/session/props.rs +178 -0
  136. package/src/rust/session/replace_expression_update.rs +1 -0
  137. package/src/rust/session.rs +124 -117
  138. package/src/rust/tasks/column_locator.rs +133 -0
  139. package/src/rust/{model → tasks}/columns_iter_set.rs +14 -23
  140. package/src/rust/{model → tasks}/edit_expression.rs +34 -10
  141. package/src/rust/{model → tasks}/eject.rs +2 -2
  142. package/src/rust/{model → tasks}/get_viewer_config.rs +0 -11
  143. package/src/rust/{model → tasks}/intersection_observer.rs +22 -4
  144. package/src/{less/containers/radio-list.less → rust/tasks/is_invalid_drop.rs} +21 -14
  145. package/src/rust/tasks/mod.rs +52 -0
  146. package/src/rust/{model → tasks}/plugin_column_styles.rs +69 -46
  147. package/src/rust/{model → tasks}/resize_observer.rs +39 -6
  148. package/src/rust/{model → tasks}/send_plugin_config.rs +1 -1
  149. package/src/rust/tasks/structural.rs +53 -0
  150. package/src/rust/utils/mod.rs +4 -0
  151. package/src/rust/utils/modal_position.rs +110 -0
  152. package/src/rust/utils/ptr_eq_rc.rs +74 -0
  153. package/src/rust/utils/pubsub.rs +11 -1
  154. package/src/svg/bg-pattern.png +0 -0
  155. package/src/svg/close-icon.svg +1 -1
  156. package/src/svg/expression.svg +1 -1
  157. package/src/svg/mega-menu-icons-candlestick.svg +1 -1
  158. package/src/svg/mega-menu-icons-datagrid.svg +1 -2
  159. package/src/svg/mega-menu-icons-heatmap.svg +1 -1
  160. package/src/svg/mega-menu-icons-map-scatter.svg +1 -1
  161. package/src/svg/mega-menu-icons-ohlc.svg +1 -1
  162. package/src/svg/mega-menu-icons-sunburst.svg +1 -1
  163. package/src/svg/mega-menu-icons-treemap.svg +1 -1
  164. package/src/svg/mega-menu-icons-x-bar.svg +1 -1
  165. package/src/svg/mega-menu-icons-x-y-line.svg +1 -1
  166. package/src/svg/mega-menu-icons-x-y-scatter.svg +1 -1
  167. package/src/svg/mega-menu-icons-y-area.svg +1 -1
  168. package/src/svg/mega-menu-icons-y-bar.svg +1 -1
  169. package/src/svg/mega-menu-icons-y-line.svg +1 -1
  170. package/src/svg/mega-menu-icons-y-scatter.svg +1 -1
  171. package/src/svg/radio-hover.svg +1 -1
  172. package/src/svg/radio-off.svg +1 -1
  173. package/src/svg/radio-on.svg +1 -1
  174. package/src/themes/botanical.css +157 -0
  175. package/src/themes/defaults.css +139 -0
  176. package/src/themes/dracula.css +233 -0
  177. package/src/themes/gruvbox-dark.css +255 -0
  178. package/src/themes/gruvbox.css +134 -0
  179. package/src/themes/icons.css +124 -0
  180. package/src/themes/intl/de.css +102 -0
  181. package/src/themes/intl/es.css +102 -0
  182. package/src/themes/intl/fr.css +102 -0
  183. package/src/themes/intl/ja.css +102 -0
  184. package/src/themes/intl/pt.css +102 -0
  185. package/src/themes/intl/zh.css +102 -0
  186. package/src/themes/intl.css +102 -0
  187. package/src/themes/monokai.css +233 -0
  188. package/src/themes/pro-dark.css +158 -0
  189. package/src/themes/{themes.less → pro.css} +17 -20
  190. package/src/themes/solarized-dark.css +135 -0
  191. package/src/themes/solarized.css +95 -0
  192. package/src/themes/themes.css +22 -0
  193. package/src/themes/vaporwave.css +256 -0
  194. package/src/ts/extensions.ts +73 -2
  195. package/src/ts/perspective-viewer.ts +1 -0
  196. package/src/ts/ts-rs/GroupRollupMode.ts +3 -0
  197. package/src/ts/ts-rs/ViewerConfigUpdate.ts +2 -1
  198. package/tsconfig.json +1 -0
  199. package/dist/css/variables.css +0 -0
  200. package/src/less/column-dropdown.less +0 -95
  201. package/src/less/config-selector.less +0 -363
  202. package/src/less/dom/checkbox.less +0 -100
  203. package/src/less/plugin-selector.less +0 -183
  204. package/src/less/type-icon.less +0 -68
  205. package/src/rust/components/error_message.rs +0 -56
  206. package/src/rust/custom_elements/column_dropdown.rs +0 -123
  207. package/src/rust/custom_elements/filter_dropdown.rs +0 -179
  208. package/src/rust/custom_elements/function_dropdown.rs +0 -115
  209. package/src/rust/model/column_locator.rs +0 -82
  210. package/src/rust/model/is_invalid_drop.rs +0 -36
  211. package/src/rust/model/mod.rs +0 -100
  212. package/src/rust/model/reset_all.rs +0 -38
  213. package/src/rust/model/structural.rs +0 -244
  214. package/src/themes/dracula.less +0 -101
  215. package/src/themes/gruvbox-dark.less +0 -116
  216. package/src/themes/gruvbox.less +0 -152
  217. package/src/themes/icons.less +0 -130
  218. package/src/themes/intl/de.less +0 -102
  219. package/src/themes/intl/es.less +0 -102
  220. package/src/themes/intl/fr.less +0 -102
  221. package/src/themes/intl/ja.less +0 -102
  222. package/src/themes/intl/pt.less +0 -102
  223. package/src/themes/intl/zh.less +0 -102
  224. package/src/themes/intl.less +0 -102
  225. package/src/themes/monokai.less +0 -107
  226. package/src/themes/pro-dark.less +0 -147
  227. package/src/themes/pro.less +0 -186
  228. package/src/themes/solarized-dark.less +0 -78
  229. package/src/themes/solarized.less +0 -102
  230. package/src/themes/vaporwave.less +0 -145
  231. /package/dist/wasm/snippets/{perspective-viewer-1586156e058be573 → perspective-viewer-68fef752754ffbc6}/inline0.js +0 -0
  232. /package/dist/wasm/snippets/{perspective-viewer-1586156e058be573 → perspective-viewer-68fef752754ffbc6}/inline1.js +0 -0
  233. /package/dist/wasm/snippets/{perspective-viewer-1586156e058be573 → perspective-viewer-68fef752754ffbc6}/inline2.js +0 -0
  234. /package/dist/wasm/snippets/{perspective-viewer-1586156e058be573 → perspective-viewer-68fef752754ffbc6}/inline3.js +0 -0
  235. /package/dist/wasm/snippets/{perspective-viewer-1586156e058be573 → perspective-viewer-68fef752754ffbc6}/inline4.js +0 -0
  236. /package/src/rust/{model → tasks}/copy_export.rs +0 -0
  237. /package/src/rust/{model → tasks}/export_app.rs +0 -0
  238. /package/src/rust/{model → tasks}/export_method.rs +0 -0
  239. /package/src/rust/{model → tasks}/restore_and_render.rs +0 -0
  240. /package/src/rust/{model → tasks}/update_and_render.rs +0 -0
@@ -1,14 +1,15 @@
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
- // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
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
+ */
12
13
 
13
14
  :host(:hover) {
14
15
  #status_bar.settings-closed.floating {
@@ -18,13 +19,11 @@
18
19
  }
19
20
 
20
21
  :host {
21
- // When settings open ...
22
+ /* When settings open ... */
22
23
  #main_column #status_bar,
23
24
  #main_column #status_bar.titled {
24
- // padding-right: 10px;
25
-
26
25
  input::placeholder {
27
- color: var(--inactive--color);
26
+ color: var(--psp-inactive--color);
28
27
  }
29
28
  }
30
29
 
@@ -45,23 +44,25 @@
45
44
  min-height: auto;
46
45
  max-height: none;
47
46
  gap: 6px;
48
- top: calc((var(--status-bar--height, 48px) - 20px) / 2);
49
- right: calc(min(48px, (var(--status-bar--height, 48px) - 20px) / 2));
47
+ top: calc((var(--psp-status-bar--height, 48px) - 20px) / 2);
48
+ right: calc(
49
+ min(48px, (var(--psp-status-bar--height, 48px) - 20px) / 2)
50
+ );
50
51
  }
51
52
 
52
53
  #status_bar {
53
- box-shadow: 0 13px 0 -12px var(--inactive--border-color);
54
+ box-shadow: 0 13px 0 -12px var(--psp-inactive--border-color);
54
55
  z-index: 1;
55
- display: var(--status-bar--display, flex);
56
+ display: var(--psp-status-bar--display, flex);
56
57
  gap: 6px;
57
58
  align-items: center;
58
- background: var(--plugin--background);
59
- padding: var(--status-bar--padding, 0 31px 0 8px);
59
+ background: var(--psp--background-color);
60
+ padding: var(--psp-status-bar--padding, 0 31px 0 8px);
60
61
  position: relative;
61
- height: var(--status-bar--height, 48px);
62
- min-height: var(--status-bar--height, 48px);
63
- max-height: var(--status-bar--height, 48px);
64
- border-radius: var(--status-bar--border-radius);
62
+ height: var(--psp-status-bar--height, 48px);
63
+ min-height: var(--psp-status-bar--height, 48px);
64
+ max-height: var(--psp-status-bar--height, 48px);
65
+ border-radius: var(--psp-status-bar--border-radius);
65
66
  #status-bar-placeholder {
66
67
  margin: 0px;
67
68
  margin-right: -5px;
@@ -73,8 +74,8 @@
73
74
  }
74
75
 
75
76
  input:placeholder-shown + #status-bar-placeholder:before {
76
- content: var(--untitled--content, "untitled");
77
- color: var(--inactive--color);
77
+ content: var(--psp-label--untitled--content, "untitled");
78
+ color: var(--psp-inactive--color);
78
79
  }
79
80
 
80
81
  .input-sizer {
@@ -95,7 +96,6 @@
95
96
 
96
97
  input,
97
98
  textarea {
98
- // grid-area: 1 / 1;
99
99
  position: absolute;
100
100
  left: 0;
101
101
  right: 0;
@@ -109,7 +109,7 @@
109
109
 
110
110
  &:after {
111
111
  content: attr(data-value) " ";
112
- color: var(--inactive--color, inherit);
112
+ color: var(--psp-inactive--color, inherit);
113
113
  visibility: hidden;
114
114
  white-space: nowrap;
115
115
  padding-right: 12px;
@@ -123,11 +123,6 @@
123
123
  }
124
124
  }
125
125
 
126
- .app-title {
127
- margin-left: 12px;
128
- font-size: 16px;
129
- }
130
-
131
126
  .section {
132
127
  display: flex;
133
128
  align-items: center;
@@ -156,11 +151,11 @@
156
151
 
157
152
  span.x,
158
153
  span.total {
159
- color: var(--inactive--color);
154
+ color: var(--psp-inactive--color);
160
155
  }
161
156
  }
162
157
 
163
- // Exceptions when the menu bar is visible and the settings panel is closed.
158
+ /* Exceptions when the menu bar is visible and the settings panel is closed. */
164
159
  #menu-bar {
165
160
  flex: 0 1000000 auto;
166
161
  height: 100%;
@@ -171,44 +166,25 @@
171
166
  align-self: stretch;
172
167
  }
173
168
 
174
- #counter-arrow:before {
175
- content: var(--status-bar-counter--content, "arrow_back");
176
- }
177
-
178
169
  span {
179
170
  white-space: nowrap;
180
-
181
- // font-size: var(--label--font-size, 0.75em);
182
171
  margin: 0px 14px;
183
172
  user-select: none;
184
- // height: 100%;
185
- // line-height: 36px;
186
-
187
- // &:before {
188
- // position: relative;
189
- // }
190
173
 
191
174
  &:hover {
192
175
  color: inherit;
193
176
  }
194
177
  }
195
178
 
196
- // span#rows {
197
- // margin-left: 2px;
198
- // }
199
-
200
179
  span.icon {
201
180
  height: 100%;
202
- line-height: 36px;
181
+ /* line-height: 36px; */
203
182
  margin: 0;
204
183
  }
205
184
 
206
185
  span#status {
207
- width: 20px;
208
- height: 20px;
209
186
  background-repeat: no-repeat;
210
- background-color: var(--icon--color);
211
- content: "";
187
+ background-color: var(--psp--color);
212
188
  mask-size: contain;
213
189
  mask-repeat: no-repeat;
214
190
  mask-position: center;
@@ -217,12 +193,17 @@
217
193
  margin: 0 5px;
218
194
  }
219
195
 
220
- // span#status_updating
196
+ /* span#status_updating */
221
197
 
222
198
  span#status.loading {
223
199
  image-rendering: pixelated;
224
- mask-image: var(--downloading-icon--mask-image);
225
- -webkit-mask-image: var(--downloading-icon--mask-image);
200
+ mask-image: var(--psp-icon--downloading--mask-image);
201
+ -webkit-mask-image: var(--psp-icon--downloading--mask-image);
202
+ &:before {
203
+ visibility: hidden;
204
+ content: var(--psp-icon--downloading--mask-image);
205
+ line-height: 0;
206
+ }
226
207
  }
227
208
 
228
209
  span#status.uninitialized {
@@ -231,8 +212,13 @@
231
212
 
232
213
  span#status.connected,
233
214
  span#status.updating {
234
- mask-image: var(--status-ok-icon--mask-image);
235
- -webkit-mask-image: var(--status-ok-icon--mask-image);
215
+ mask-image: var(--psp-icon--status-ok--mask-image);
216
+ -webkit-mask-image: var(--psp-icon--status-ok--mask-image);
217
+ &:before {
218
+ visibility: hidden;
219
+ content: var(--psp-icon--status-ok--mask-image);
220
+ line-height: 0;
221
+ }
236
222
  }
237
223
 
238
224
  .error-dialog {
@@ -246,9 +232,9 @@
246
232
  padding: 0px 0px 0px 50px;
247
233
  display: none;
248
234
  white-space: pre-wrap;
249
- color: var(--plugin--background);
250
- background: var(--icon--color);
251
- border-radius: var(--status-bar--border-radius);
235
+ color: var(--psp--background-color);
236
+ background: var(--psp--color);
237
+ border-radius: var(--psp-status-bar--border-radius);
252
238
  }
253
239
 
254
240
  .error-dialog-message {
@@ -257,14 +243,14 @@
257
243
  align-items: center;
258
244
  display: flex;
259
245
  padding-right: 17px;
260
- height: var(--status-bar--height, 48px);
261
- min-height: var(--status-bar--height, 48px);
246
+ height: var(--psp-status-bar--height, 48px);
247
+ min-height: var(--psp-status-bar--height, 48px);
262
248
  }
263
249
 
264
250
  .error-dialog-stack {
265
251
  font-size: 10px;
266
252
  padding-right: 17px;
267
- color: var(--inactive--color);
253
+ color: var(--psp-inactive--color);
268
254
  overflow-y: auto;
269
255
  padding-bottom: 24px;
270
256
  }
@@ -279,26 +265,26 @@
279
265
  align-items: center;
280
266
  border-radius: 3px;
281
267
  margin: 0;
282
- height: auto; //var(--status-bar--height, 48px);
283
- border: 1px solid var(--status-ok-icon--border-color, transparent);
284
- cursor: var(--status-ok-icon--cursor);
285
- pointer-events: var(--status-indicator--pointer-events, none);
268
+ height: auto;
269
+ border: 1px solid
270
+ var(--psp-status-icon--ok--border-color, transparent);
271
+ cursor: var(--psp-status-icon--ok--cursor);
272
+ pointer-events: var(--psp-status-icon--pointer-events, none);
286
273
  &:hover {
287
274
  background-color: var(
288
- --status-ok-icon--hover--background-color,
275
+ --psp-status-icon--ok-hover--background-color,
289
276
  transparent
290
277
  );
291
278
  border-color: var(
292
- --status-ok-icon--hover--border-color,
279
+ --psp-status-icon--ok-hover--border-color,
293
280
  transparent
294
281
  );
295
282
  span#status {
296
283
  background-color: var(
297
- --status-ok-icon--hover--color,
298
- var(--icon--color)
284
+ --psp-status-icon--ok-hover--color,
285
+ var(--psp--color)
299
286
  );
300
287
  }
301
- // color: var(--status-ok-icon--hover--background-color);
302
288
  }
303
289
 
304
290
  &.errored {
@@ -317,47 +303,44 @@
317
303
  align-items: center;
318
304
  justify-content: center;
319
305
  height: 20px;
320
- height: 20px;
306
+ width: 20px;
321
307
  border-radius: 10px;
322
- color: var(--plugin--background);
323
- // pointer-events: all;
324
- // mask-image: url(../svg/status_error.svg);
325
- // -webkit-mask-image: url(../svg/status_error.svg);
308
+ color: var(--psp--background-color);
326
309
  &:before {
327
310
  content: "!";
328
311
  }
329
312
  }
330
313
 
331
314
  &.errored:hover {
332
- background-color: var(--icon--color);
315
+ background-color: var(--psp--color);
333
316
  span#status.errored {
334
- color: var(--icon--color);
335
- background-color: var(--plugin--background);
317
+ color: var(--psp--color);
318
+ background-color: var(--psp--background-color);
336
319
  }
337
320
  }
338
321
  }
339
322
 
340
- // Status bar status icon animations
323
+ /* Status bar status icon animations */
341
324
  span#status_updating {
342
325
  position: absolute;
326
+ display: inline-flex;
327
+ margin: 0 5px;
343
328
  opacity: 0;
344
- width: 20px;
345
- height: 20px;
346
329
  background-repeat: no-repeat;
347
- background-color: var(--icon--color);
348
- content: "";
330
+ background-color: var(--psp--color);
349
331
  -webkit-mask-size: cover;
350
332
  mask-size: cover;
351
333
  pointer-events: none;
352
334
  image-rendering: pixelated;
353
- mask-image: var(--updating-icon--mask-image);
354
- -webkit-mask-image: var(--updating-icon--mask-image);
335
+ mask-image: var(--psp-icon--updating--mask-image);
336
+ -webkit-mask-image: var(--psp-icon--updating--mask-image);
337
+ &:before {
338
+ visibility: hidden;
339
+ content: var(--psp-icon--updating--mask-image);
340
+ line-height: 0;
341
+ }
355
342
  }
356
343
 
357
- // span#status.uninitialized {
358
-
359
- // }
360
-
361
344
  span#status.updating {
362
345
  animation-name: status-bar-updating-inverse;
363
346
  animation-fill-mode: forwards;
@@ -372,51 +355,76 @@
372
355
  animation-duration: 0.3s;
373
356
  }
374
357
 
375
- .button:before {
376
- height: 21px;
377
- width: 21px;
358
+ .button > .icon {
378
359
  background-repeat: no-repeat;
379
- background-color: var(--icon--color);
380
- content: "";
360
+ background-color: var(--psp--color);
381
361
  -webkit-mask-size: cover;
382
362
  mask-size: cover;
383
363
  pointer-events: none;
364
+ display: inline-block;
384
365
  }
385
366
 
386
367
  span#export {
387
- &:before {
388
- -webkit-mask-image: var(--export-icon--mask-image);
389
- mask-image: var(--export-icon--mask-image);
368
+ & > .icon {
369
+ -webkit-mask-image: var(--psp-icon--export--mask-image);
370
+ mask-image: var(--psp-icon--export--mask-image);
371
+ display: inline-flex;
372
+ &:before {
373
+ line-height: 0;
374
+ content: var(--psp-icon--export--mask-image);
375
+ visibility: hidden;
376
+ }
390
377
  }
391
- span:before {
392
- content: var(--export-button--content, "Export");
378
+
379
+ span:not(.icon):before {
380
+ content: var(--psp-label--export-button--content, "Export");
393
381
  }
394
382
  }
395
383
 
396
384
  span#lock {
397
- &:before {
398
- -webkit-mask-image: var(--free-scroll-icon--mask-image);
399
- mask-image: var(--free-scroll-icon--mask-image);
385
+ & > .icon {
386
+ -webkit-mask-image: var(--psp-icon--free-scroll--mask-image);
387
+ mask-image: var(--psp-icon--free-scroll--mask-image);
388
+
389
+ &:before {
390
+ line-height: 0;
391
+ content: var(--psp-icon--free-scroll--mask-image);
392
+ visibility: hidden;
393
+ }
400
394
  }
401
395
  }
402
396
 
403
397
  span#reset {
404
- &:before {
405
- -webkit-mask-image: var(--reset-icon--mask-image);
406
- mask-image: var(--reset-icon--mask-image);
398
+ & > .icon {
399
+ -webkit-mask-image: var(--psp-icon--reset--mask-image);
400
+ mask-image: var(--psp-icon--reset--mask-image);
401
+ display: inline-flex;
402
+ &:before {
403
+ line-height: 0;
404
+ content: var(--psp-icon--reset--mask-image);
405
+ visibility: hidden;
406
+ }
407
407
  }
408
- span:before {
409
- content: var(--reset-button--content);
408
+ span:not(.icon):before {
409
+ content: var(--psp-label--reset-button--content);
410
410
  }
411
411
  }
412
412
 
413
413
  span#copy {
414
- &:before {
415
- -webkit-mask-image: var(--copy-icon--mask-image);
416
- mask-image: var(--copy-icon--mask-image);
414
+ & > .icon {
415
+ -webkit-mask-image: var(--psp-icon--copy--mask-image);
416
+ mask-image: var(--psp-icon--copy--mask-image);
417
+ display: inline-flex;
418
+
419
+ &:before {
420
+ line-height: 0;
421
+ content: var(--psp-icon--copy--mask-image);
422
+ visibility: hidden;
423
+ }
417
424
  }
418
- span:before {
419
- content: var(--copy-button--content);
425
+
426
+ span:not(.icon):before {
427
+ content: var(--psp-label--copy-button--content);
420
428
  }
421
429
  }
422
430
 
@@ -438,21 +446,29 @@
438
446
  height: 100%;
439
447
  }
440
448
 
441
- &:before {
449
+ & > .icon {
442
450
  margin: 0 6px 0 4px;
443
- -webkit-mask-image: var(--theme-icon--mask-image);
444
- mask-image: var(--theme-icon--mask-image);
451
+ height: auto;
452
+ -webkit-mask-image: var(--psp-icon--theme--mask-image);
453
+ mask-image: var(--psp-icon--theme--mask-image);
454
+ display: inline-flex;
455
+ &:before {
456
+ line-height: 0;
457
+ content: var(--psp-icon--theme--mask-image);
458
+ visibility: hidden;
459
+ }
445
460
  }
446
461
  }
447
462
 
448
- #theme_icon.modified:hover + #theme:before {
449
- -webkit-mask-image: var(--close-icon--mask-image);
450
- mask-image: var(--close-icon--mask-image);
463
+ #theme_icon.modified:hover + #theme > .icon {
464
+ -webkit-mask-image: var(--psp-icon--close--mask-image);
465
+ mask-image: var(--psp-icon--close--mask-image);
451
466
  }
452
467
 
453
468
  #theme_selector {
454
469
  max-width: 100px;
455
470
  text-overflow: ellipsis;
471
+ font-size: 0.8em;
456
472
  }
457
473
 
458
474
  .button {
@@ -461,7 +477,7 @@
461
477
  align-items: center;
462
478
  margin: 0px;
463
479
  padding: 0 5px;
464
- color: var(--inactive--color, #ccc);
480
+ color: var(--psp-inactive--color, #ccc);
465
481
  border: 1px solid transparent;
466
482
  border-radius: 3px;
467
483
  font-size: var(--label--font-size, 0.75em);
@@ -473,7 +489,7 @@
473
489
  display: none;
474
490
  }
475
491
 
476
- &:before {
492
+ & > .icon {
477
493
  z-index: 1;
478
494
  }
479
495
  }
@@ -488,9 +504,9 @@
488
504
  &:hover,
489
505
  &.modal-target {
490
506
  box-shadow:
491
- -4px 0 0 var(--icon--color),
492
- 4px 0 0 var(--icon--color);
493
- background-color: var(--icon--color);
507
+ -4px 0 0 var(--psp--color),
508
+ 4px 0 0 var(--psp--color);
509
+ background-color: var(--psp--color);
494
510
  }
495
511
 
496
512
  &:focus-within .button select,
@@ -499,26 +515,26 @@
499
515
  }
500
516
 
501
517
  .modal-target .button > span {
502
- color: var(--icon--color) !important;
518
+ color: var(--psp--color) !important;
503
519
  }
504
520
 
505
521
  &:focus-within .button,
506
522
  &:hover .button,
507
523
  &.modal-target .button {
508
524
  position: relative;
509
- min-width: var(--button--min-width, 33px);
525
+ min-width: var(--psp-button--min-width, 33px);
510
526
  color: inherit;
511
527
  cursor: pointer;
512
528
  transition: none;
513
- background-color: var(--icon--color);
514
- color: var(--plugin--background);
529
+ background-color: var(--psp--color);
530
+ color: var(--psp--background-color);
515
531
 
516
- &:before {
517
- background-color: var(--plugin--background);
532
+ & > .icon {
533
+ background-color: var(--psp--background-color);
518
534
  }
519
535
 
520
- // The label.
521
- @mixin label {
536
+ & > span:not(.icon) {
537
+ /* The label. */
522
538
  display: block;
523
539
  text-align: center;
524
540
  position: absolute;
@@ -531,20 +547,16 @@
531
547
  white-space: nowrap;
532
548
  line-height: 1;
533
549
  width: 41px;
534
- background-color: var(--icon--color);
550
+ background-color: var(--psp--color);
535
551
  border-radius: 0 0 3px 3px;
536
552
  }
537
553
 
538
- & > span {
539
- @include label;
540
- }
541
-
542
554
  & > .dropdown-width-container {
543
555
  display: block;
544
556
  margin: 0;
545
557
  white-space: nowrap;
546
558
  line-height: 1;
547
- background-color: var(--icon--color);
559
+ background-color: var(--psp--color);
548
560
  pointer-events: all;
549
561
 
550
562
  & > select {
@@ -0,0 +1,116 @@
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
+
14
+ :host #selected-columns .type-icon,
15
+ :host #sub-columns .type-icon {
16
+ /* position: absolute; */
17
+ /* left: 15px; */
18
+ margin-left: 4px;
19
+ }
20
+
21
+ :host .icon {
22
+ background-repeat: no-repeat;
23
+ background-color: var(--psp--color);
24
+ display: inline-block;
25
+ -webkit-mask-size: cover;
26
+ mask-size: cover;
27
+ flex-shrink: 0;
28
+ line-height: 0;
29
+ &.integer {
30
+ -webkit-mask-image: var(--icon-image);
31
+ mask-image: var(--icon-image);
32
+
33
+ &:before {
34
+ content: var(--icon-image);
35
+ visibility: hidden;
36
+ }
37
+ }
38
+ }
39
+
40
+ :host .type-icon {
41
+ background-repeat: no-repeat;
42
+ background-color: var(--psp--color);
43
+ display: inline-block;
44
+ -webkit-mask-size: cover;
45
+ mask-size: cover;
46
+ flex-shrink: 0;
47
+ line-height: 0;
48
+
49
+ &.none {
50
+ content: none;
51
+ }
52
+
53
+ &.integer {
54
+ -webkit-mask-image: var(--psp-column-type--integer--mask-image);
55
+ mask-image: var(--psp-column-type--integer--mask-image);
56
+
57
+ &:before {
58
+ content: var(--psp-column-type--integer--mask-image);
59
+ visibility: hidden;
60
+ }
61
+ }
62
+
63
+ &.float {
64
+ -webkit-mask-image: var(--psp-column-type--float--mask-image);
65
+ mask-image: var(--psp-column-type--float--mask-image);
66
+ &:before {
67
+ content: var(--psp-column-type--float--mask-image);
68
+ visibility: hidden;
69
+ }
70
+ }
71
+
72
+ &.string {
73
+ -webkit-mask-image: var(--psp-column-type--string--mask-image);
74
+ mask-image: var(--psp-column-type--string--mask-image);
75
+ &:before {
76
+ content: var(--psp-column-type--string--mask-image);
77
+ visibility: hidden;
78
+ }
79
+ }
80
+
81
+ &.boolean {
82
+ -webkit-mask-image: var(--psp-column-type--boolean--mask-image);
83
+ mask-image: var(--psp-column-type--boolean--mask-image);
84
+ &:before {
85
+ content: var(--psp-column-type--boolean--mask-image);
86
+ visibility: hidden;
87
+ }
88
+ }
89
+
90
+ &.date {
91
+ -webkit-mask-image: var(--psp-column-type--date--mask-image);
92
+ mask-image: var(--psp-column-type--date--mask-image);
93
+ &:before {
94
+ content: var(--psp-column-type--date--mask-image);
95
+ visibility: hidden;
96
+ }
97
+ }
98
+
99
+ &.datetime {
100
+ -webkit-mask-image: var(--psp-column-type--datetime--mask-image);
101
+ mask-image: var(--psp-column-type--datetime--mask-image);
102
+ &:before {
103
+ content: var(--psp-column-type--datetime--mask-image);
104
+ visibility: hidden;
105
+ }
106
+ }
107
+
108
+ &.expression {
109
+ -webkit-mask-image: var(--psp-icon--add-expression--mask-image);
110
+ mask-image: var(--psp-icon--add-expression--mask-image);
111
+ &:before {
112
+ content: var(--psp-icon--add-expression--mask-image);
113
+ visibility: hidden;
114
+ }
115
+ }
116
+ }