@perspective-dev/viewer 4.3.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 (227) 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 -1
  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/perspective-viewer.inline.js +2 -2
  23. package/dist/esm/perspective-viewer.inline.js.map +4 -4
  24. package/dist/esm/perspective-viewer.js +2 -2
  25. package/dist/esm/perspective-viewer.js.map +4 -4
  26. package/dist/wasm/perspective-viewer.d.ts +57 -53
  27. package/dist/wasm/perspective-viewer.js +190 -165
  28. package/dist/wasm/perspective-viewer.wasm +0 -0
  29. package/dist/wasm/perspective-viewer.wasm.d.ts +17 -18
  30. package/package.json +7 -5
  31. package/src/{less/aggregate-selector.less → css/aggregate-selector.css} +23 -20
  32. package/src/css/column-dropdown.css +109 -0
  33. package/src/{less/column-selector.less → css/column-selector.css} +160 -158
  34. package/src/{less/column-settings-panel.less → css/column-settings-panel.css} +69 -59
  35. package/src/{less/column-style.less → css/column-style.css} +52 -66
  36. package/src/{less/column-symbol-attributes.less → css/column-symbol-attributes.css} +15 -14
  37. package/src/{less/config-selector.less → css/config-selector.css} +151 -135
  38. package/src/{less/containers/dropdown-menu.less → css/containers/dropdown-menu.css} +20 -19
  39. package/src/{less/containers/pairs-list.less → css/containers/pairs-list.css} +13 -12
  40. package/src/{themes/variables.less → css/containers/scroll-panel.css} +25 -22
  41. package/src/{less/containers/split-panel.less → css/containers/split-panel.css} +15 -14
  42. package/src/{less/containers/tabs.less → css/containers/tabs.css} +17 -19
  43. package/src/css/dom/checkbox.css +102 -0
  44. package/src/css/dom/scrollbar.css +35 -0
  45. package/src/{less/dom/select.less → css/dom/select.css} +17 -18
  46. package/src/{less/empty-column.less → css/empty-column.css} +19 -18
  47. package/src/{less/expression-editor.less → css/expression-editor.css} +19 -18
  48. package/src/{less/filter-dropdown.less → css/filter-dropdown.css} +12 -11
  49. package/src/{less/filter-item.less → css/filter-item.css} +16 -15
  50. package/src/{less/form/code-editor.less → css/form/code-editor.css} +26 -30
  51. package/src/{less/form/debug.less → css/form/debug.css} +19 -18
  52. package/src/{less/function-dropdown.less → css/function-dropdown.css} +12 -11
  53. package/src/css/plugin-selector.css +261 -0
  54. package/src/{less/render-warning.less → css/render-warning.css} +18 -17
  55. package/src/{less/status-bar.less → css/status-bar.css} +156 -144
  56. package/src/css/type-icon.css +116 -0
  57. package/src/{less/viewer.less → css/viewer.css} +112 -146
  58. package/src/rust/components/column_dropdown.rs +229 -119
  59. package/src/rust/components/column_selector/active_column.rs +81 -62
  60. package/src/rust/components/column_selector/add_expression_button.rs +1 -0
  61. package/src/rust/components/column_selector/aggregate_selector.rs +25 -15
  62. package/src/rust/components/column_selector/config_selector.rs +315 -199
  63. package/src/rust/components/column_selector/empty_column.rs +2 -2
  64. package/src/rust/components/column_selector/expr_edit_button.rs +8 -2
  65. package/src/rust/components/column_selector/filter_column.rs +37 -26
  66. package/src/rust/components/column_selector/inactive_column.rs +41 -29
  67. package/src/rust/components/column_selector/invalid_column.rs +7 -18
  68. package/src/rust/components/column_selector/pivot_column.rs +11 -5
  69. package/src/rust/components/column_selector/sort_column.rs +23 -13
  70. package/src/rust/components/column_selector.rs +163 -84
  71. package/src/rust/components/column_settings_sidebar/style_tab/symbol/row_selector.rs +1 -1
  72. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs.rs +3 -2
  73. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs_item.rs +3 -2
  74. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_selector.rs +2 -3
  75. package/src/rust/components/column_settings_sidebar/style_tab/symbol.rs +7 -1
  76. package/src/rust/components/column_settings_sidebar/style_tab.rs +153 -112
  77. package/src/rust/components/column_settings_sidebar.rs +91 -53
  78. package/src/rust/components/containers/dragdrop_list.rs +2 -1
  79. package/src/rust/components/containers/sidebar_close_button.rs +1 -1
  80. package/src/rust/components/containers/split_panel.rs +1 -0
  81. package/src/rust/components/containers/tab_list.rs +1 -1
  82. package/src/rust/components/copy_dropdown.rs +7 -28
  83. package/src/rust/components/datetime_column_style/custom.rs +2 -2
  84. package/src/rust/components/datetime_column_style/simple.rs +2 -2
  85. package/src/rust/components/datetime_column_style.rs +4 -2
  86. package/src/rust/components/editable_header.rs +7 -4
  87. package/src/rust/components/empty_row.rs +1 -1
  88. package/src/rust/components/export_dropdown.rs +4 -30
  89. package/src/rust/components/expression_editor.rs +19 -10
  90. package/src/rust/components/filter_dropdown.rs +246 -102
  91. package/src/rust/components/font_loader.rs +11 -28
  92. package/src/rust/components/form/code_editor.rs +17 -2
  93. package/src/rust/components/form/color_range_selector.rs +19 -6
  94. package/src/rust/components/form/debug.rs +30 -13
  95. package/src/rust/components/function_dropdown.rs +186 -113
  96. package/src/rust/components/main_panel.rs +71 -89
  97. package/src/rust/components/mod.rs +1 -1
  98. package/src/rust/components/modal.rs +7 -1
  99. package/src/rust/components/number_column_style.rs +22 -7
  100. package/src/rust/components/plugin_selector.rs +34 -102
  101. package/src/rust/components/portal.rs +274 -0
  102. package/src/rust/components/render_warning.rs +72 -123
  103. package/src/rust/components/settings_panel.rs +115 -11
  104. package/src/rust/components/status_bar.rs +222 -98
  105. package/src/rust/components/status_bar_counter.rs +8 -20
  106. package/src/rust/components/status_indicator.rs +64 -114
  107. package/src/rust/components/string_column_style.rs +2 -2
  108. package/src/rust/components/style/style_cache.rs +5 -1
  109. package/src/rust/components/viewer.rs +391 -39
  110. package/src/rust/custom_elements/copy_dropdown.rs +102 -21
  111. package/src/rust/custom_elements/export_dropdown.rs +102 -20
  112. package/src/rust/custom_elements/mod.rs +0 -7
  113. package/src/rust/custom_elements/modal.rs +7 -103
  114. package/src/rust/custom_elements/viewer.rs +99 -35
  115. package/src/rust/custom_events.rs +23 -2
  116. package/src/rust/dragdrop.rs +149 -10
  117. package/src/{less/containers/scroll-panel.less → rust/engines.rs} +15 -13
  118. package/src/rust/js/plugin.rs +1 -1
  119. package/src/rust/lib.rs +5 -4
  120. package/src/rust/presentation/props.rs +39 -0
  121. package/src/rust/presentation/sheets.rs +3 -3
  122. package/src/rust/presentation.rs +44 -8
  123. package/src/rust/renderer/limits.rs +32 -3
  124. package/src/{less/dom/scrollbar.less → rust/renderer/props.rs} +18 -19
  125. package/src/rust/renderer.rs +83 -9
  126. package/src/rust/session/column_defaults_update.rs +1 -1
  127. package/src/rust/session/metadata.rs +23 -2
  128. package/src/rust/session/props.rs +178 -0
  129. package/src/rust/session.rs +124 -117
  130. package/src/rust/tasks/column_locator.rs +133 -0
  131. package/src/rust/{model → tasks}/columns_iter_set.rs +14 -23
  132. package/src/rust/{model → tasks}/edit_expression.rs +34 -10
  133. package/src/rust/{model → tasks}/eject.rs +2 -2
  134. package/src/rust/{model → tasks}/get_viewer_config.rs +0 -11
  135. package/src/rust/{model → tasks}/intersection_observer.rs +19 -3
  136. package/src/{less/containers/radio-list.less → rust/tasks/is_invalid_drop.rs} +21 -14
  137. package/src/rust/tasks/mod.rs +52 -0
  138. package/src/rust/{model → tasks}/plugin_column_styles.rs +69 -46
  139. package/src/rust/{model → tasks}/resize_observer.rs +39 -6
  140. package/src/rust/{model → tasks}/send_plugin_config.rs +1 -1
  141. package/src/rust/tasks/structural.rs +53 -0
  142. package/src/rust/utils/mod.rs +4 -0
  143. package/src/rust/utils/modal_position.rs +110 -0
  144. package/src/rust/utils/ptr_eq_rc.rs +74 -0
  145. package/src/rust/utils/pubsub.rs +11 -1
  146. package/src/svg/bg-pattern.png +0 -0
  147. package/src/svg/close-icon.svg +1 -1
  148. package/src/svg/expression.svg +1 -1
  149. package/src/svg/mega-menu-icons-candlestick.svg +1 -1
  150. package/src/svg/mega-menu-icons-datagrid.svg +1 -2
  151. package/src/svg/mega-menu-icons-heatmap.svg +1 -1
  152. package/src/svg/mega-menu-icons-map-scatter.svg +1 -1
  153. package/src/svg/mega-menu-icons-ohlc.svg +1 -1
  154. package/src/svg/mega-menu-icons-sunburst.svg +1 -1
  155. package/src/svg/mega-menu-icons-treemap.svg +1 -1
  156. package/src/svg/mega-menu-icons-x-bar.svg +1 -1
  157. package/src/svg/mega-menu-icons-x-y-line.svg +1 -1
  158. package/src/svg/mega-menu-icons-x-y-scatter.svg +1 -1
  159. package/src/svg/mega-menu-icons-y-area.svg +1 -1
  160. package/src/svg/mega-menu-icons-y-bar.svg +1 -1
  161. package/src/svg/mega-menu-icons-y-line.svg +1 -1
  162. package/src/svg/mega-menu-icons-y-scatter.svg +1 -1
  163. package/src/svg/radio-hover.svg +1 -1
  164. package/src/svg/radio-off.svg +1 -1
  165. package/src/svg/radio-on.svg +1 -1
  166. package/src/themes/botanical.css +157 -0
  167. package/src/themes/defaults.css +139 -0
  168. package/src/themes/dracula.css +233 -0
  169. package/src/themes/gruvbox-dark.css +255 -0
  170. package/src/themes/gruvbox.css +134 -0
  171. package/src/themes/icons.css +124 -0
  172. package/src/themes/intl/de.css +102 -0
  173. package/src/themes/intl/es.css +102 -0
  174. package/src/themes/intl/fr.css +102 -0
  175. package/src/themes/intl/ja.css +102 -0
  176. package/src/themes/intl/pt.css +102 -0
  177. package/src/themes/intl/zh.css +102 -0
  178. package/src/themes/intl.css +102 -0
  179. package/src/themes/monokai.css +233 -0
  180. package/src/themes/pro-dark.css +158 -0
  181. package/src/themes/{themes.less → pro.css} +17 -21
  182. package/src/themes/solarized-dark.css +135 -0
  183. package/src/themes/solarized.css +95 -0
  184. package/src/themes/themes.css +22 -0
  185. package/src/themes/vaporwave.css +256 -0
  186. package/dist/css/variables.css +0 -0
  187. package/src/less/column-dropdown.less +0 -95
  188. package/src/less/dom/checkbox.less +0 -100
  189. package/src/less/plugin-selector.less +0 -183
  190. package/src/less/type-icon.less +0 -68
  191. package/src/rust/components/error_message.rs +0 -56
  192. package/src/rust/custom_elements/column_dropdown.rs +0 -123
  193. package/src/rust/custom_elements/filter_dropdown.rs +0 -179
  194. package/src/rust/custom_elements/function_dropdown.rs +0 -115
  195. package/src/rust/model/column_locator.rs +0 -82
  196. package/src/rust/model/is_invalid_drop.rs +0 -36
  197. package/src/rust/model/mod.rs +0 -100
  198. package/src/rust/model/reset_all.rs +0 -38
  199. package/src/rust/model/structural.rs +0 -244
  200. package/src/themes/botanical.less +0 -142
  201. package/src/themes/dracula.less +0 -101
  202. package/src/themes/gruvbox-dark.less +0 -116
  203. package/src/themes/gruvbox.less +0 -152
  204. package/src/themes/icons.less +0 -130
  205. package/src/themes/intl/de.less +0 -102
  206. package/src/themes/intl/es.less +0 -102
  207. package/src/themes/intl/fr.less +0 -102
  208. package/src/themes/intl/ja.less +0 -102
  209. package/src/themes/intl/pt.less +0 -102
  210. package/src/themes/intl/zh.less +0 -102
  211. package/src/themes/intl.less +0 -102
  212. package/src/themes/monokai.less +0 -107
  213. package/src/themes/pro-dark.less +0 -147
  214. package/src/themes/pro.less +0 -186
  215. package/src/themes/solarized-dark.less +0 -78
  216. package/src/themes/solarized.less +0 -102
  217. package/src/themes/vaporwave.less +0 -145
  218. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-68fef752754ffbc6}/inline0.js +0 -0
  219. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-68fef752754ffbc6}/inline1.js +0 -0
  220. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-68fef752754ffbc6}/inline2.js +0 -0
  221. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-68fef752754ffbc6}/inline3.js +0 -0
  222. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-68fef752754ffbc6}/inline4.js +0 -0
  223. /package/src/rust/{model → tasks}/copy_export.rs +0 -0
  224. /package/src/rust/{model → tasks}/export_app.rs +0 -0
  225. /package/src/rust/{model → tasks}/export_method.rs +0 -0
  226. /package/src/rust/{model → tasks}/restore_and_render.rs +0 -0
  227. /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
+ }