@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,363 +0,0 @@
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
- @mixin icon {
14
- background-repeat: no-repeat;
15
- background-color: var(--icon--color);
16
- content: "";
17
- display: inline-block;
18
- -webkit-mask-size: cover;
19
- mask-size: cover;
20
- }
21
-
22
- :host {
23
- #top_panel.dragdrop-highlight {
24
- .psp-text-field {
25
- border-bottom-color: var(--icon--color) !important;
26
- }
27
-
28
- .pivot-column-border {
29
- border-color: var(--icon--color) !important;
30
- }
31
- }
32
-
33
- #top_panel {
34
- display: flex;
35
- flex-direction: column;
36
- justify-content: stretch;
37
- padding: 0px 0px 12px 0px;
38
- max-width: 1000px;
39
- z-index: 1;
40
-
41
- .row_close {
42
- margin: 0 6.5px 4px 6.5px;
43
- cursor: pointer;
44
- height: 14px;
45
- }
46
-
47
- .row_close:before {
48
- height: 14px;
49
- width: 14px;
50
- background-repeat: no-repeat;
51
- background-color: var(--icon--color);
52
- content: "";
53
- -webkit-mask-size: cover;
54
- mask-size: cover;
55
- display: inline-block;
56
- -webkit-mask-image: var(--column-checkbox-on--mask-image);
57
- mask-image: var(--column-checkbox-on--mask-image);
58
- }
59
-
60
- .row_close:hover:before {
61
- -webkit-mask-image: var(--column-checkbox-hover--mask-image);
62
- mask-image: var(--column-checkbox-hover--mask-image);
63
- }
64
-
65
- .pivot-column {
66
- display: inline-flex;
67
- align-items: center;
68
- min-height: 28px;
69
- position: relative;
70
-
71
- .pivot-column-border {
72
- flex: 1 1 auto;
73
- overflow: hidden;
74
- background-color: var(--plugin--background);
75
- border: 1px solid var(--inactive--color, #ababab);
76
- border-radius: 2px;
77
- display: flex;
78
- align-items: center;
79
- position: relative;
80
- padding-right: 8px;
81
-
82
- .column_name {
83
- display: block;
84
- }
85
-
86
- .input-sizer {
87
- flex: 1 100000 auto;
88
- }
89
- }
90
-
91
- &:hover .pivot-column-border {
92
- border-color: var(--icon--color);
93
- }
94
-
95
- .pivot-column-draggable {
96
- position: relative;
97
- width: calc(100% - 27px);
98
- min-height: 28px;
99
- padding-bottom: 4px;
100
- display: flex;
101
- align-items: stretch;
102
- cursor: move;
103
- }
104
-
105
- &:not(.column-empty) .pivot-column-border:before {
106
- flex: 0 0 auto;
107
- height: 12px;
108
- width: 5px;
109
- -webkit-mask-image: var(--column-drag-handle--mask-image);
110
- mask-image: var(--column-drag-handle--mask-image);
111
- margin: 0px 0 0 6px;
112
- background-repeat: no-repeat;
113
- background-color: var(--icon--color);
114
- content: "";
115
- display: inline-block;
116
- -webkit-mask-size: cover;
117
- mask-size: cover;
118
- }
119
-
120
- span {
121
- white-space: nowrap;
122
- }
123
-
124
- span:first-child {
125
- text-overflow: ellipsis;
126
- // max-width: 250px;
127
- overflow: hidden;
128
- }
129
-
130
- // Column is being dragged-over, e.g. this is the drop indicator.
131
- & .config-drop {
132
- background-color: #8b868045;
133
- margin-right: 7px;
134
- margin-bottom: 4px;
135
- border: 1px solid var(--icon--color);
136
- border-radius: 2px;
137
- overflow: visible;
138
- flex: 1 1 auto;
139
- align-self: stretch;
140
- position: relative;
141
- &:before {
142
- content: " ";
143
- position: absolute;
144
- z-index: -1;
145
- top: 5px;
146
- left: 5px;
147
- right: 5px;
148
- bottom: 5px;
149
- border-radius: 2px;
150
- background-color: var(--icon--color);
151
- opacity: 0.3;
152
- }
153
-
154
- & > * {
155
- color: transparent;
156
- }
157
- }
158
- }
159
-
160
- label.pivot-selector-label {
161
- pointer-events: none;
162
- }
163
-
164
- #group_by label.pivot-selector-label:before {
165
- content: var(--group-by-label--content, "Group By");
166
- }
167
-
168
- #split_by label.pivot-selector-label:before {
169
- content: var(--split-by-label--content, "Split By");
170
- }
171
-
172
- #sort label.pivot-selector-label:before {
173
- content: var(--sort-label--content, "Order By");
174
- }
175
-
176
- #filter label.pivot-selector-label:before {
177
- content: var(--filter-label--content, "Where");
178
- }
179
-
180
- .highlight-drop {
181
- background-color: rgba(0, 0, 0, 0.5);
182
- }
183
-
184
- .rrow {
185
- display: flex;
186
- min-height: 24px;
187
- align-items: center;
188
- list-style: none;
189
- padding: 24px 0px 12px 0px;
190
-
191
- span[draggable] {
192
- cursor: move;
193
- }
194
- }
195
-
196
- .rrow > div {
197
- display: flex;
198
- min-height: 24px;
199
- flex-direction: column;
200
- justify-content: flex-end;
201
- }
202
-
203
- .rrow > * {
204
- width: 100%;
205
- padding: 0;
206
- margin: 0px 0px -12px 0px;
207
- }
208
-
209
- .psp-text-field ul {
210
- min-height: 20px;
211
- }
212
-
213
- .psp-text-field {
214
- position: relative;
215
- border-width: 0;
216
- border-style: solid;
217
- display: flex;
218
- flex-direction: column;
219
- justify-content: flex-end;
220
- min-height: 24px;
221
- background-size: 100% 200%;
222
- }
223
-
224
- .psp-text-field > .psp-text-field__input {
225
- flex-direction: column;
226
- justify-content: stretch;
227
- border: 0px;
228
- line-height: 20px;
229
- vertical-align: bottom;
230
- padding-bottom: 0px;
231
- display: none;
232
- margin: 0;
233
- padding: 0 0 0 0;
234
- min-height: 26px;
235
- // margin-bottom: -1px;
236
-
237
- // // Comma separators
238
- // &> :not(.config-drop):after {
239
- // width: 0px;
240
- // content: ",";
241
- // }
242
-
243
- // &> :last-child:after {
244
- // display: none;
245
- // content: "" !important;
246
- // }
247
- }
248
-
249
- .psp-text-field__input + label {
250
- width: 0px;
251
- height: 20px;
252
- line-height: 17px;
253
- box-sizing: border-box;
254
- // color: var(--inactive--color);
255
- white-space: nowrap;
256
- padding: var(--column-drop-container--padding, 0px);
257
- font-size: var(--label--font-size, 0.75em);
258
- display: inline-block;
259
- }
260
-
261
- .psp-text-field__input {
262
- display: flex !important;
263
- }
264
-
265
- .psp-text-field__input + label {
266
- position: absolute;
267
- top: 0px;
268
- margin: var(--column-drop-label--margin, -16px 0px 0px 0px);
269
- font-size: var(--label--font-size, 0.75em);
270
- display: inline-block;
271
- }
272
-
273
- #transpose_button {
274
- cursor: pointer;
275
- flex-grow: 0;
276
- font-family: inherit;
277
- font-size: var(--label--font-size, 0.75em);
278
- user-select: none;
279
- padding: 0;
280
- align-self: center;
281
- margin-bottom: -23px;
282
- margin-top: 11.5px;
283
- align-self: flex-end;
284
- z-index: 1;
285
- min-height: 0px;
286
- margin-right: 30px;
287
-
288
- &:hover:before {
289
- color: var(--icon--color, inherit);
290
- }
291
-
292
- &:before {
293
- font-family: var(--button--font-family, inherit);
294
- color: var(--inactive--color, #666);
295
- content: var(--transpose-button--content, "Swap");
296
- }
297
- }
298
- }
299
-
300
- .sort-icon {
301
- display: inline-flex;
302
- margin-left: auto;
303
- // margin-right: 8px;
304
- cursor: pointer;
305
- font-family: var(--button--font-family, inherit);
306
-
307
- &:hover {
308
- opacity: 1;
309
- color: var(--active--color, inherit);
310
- }
311
-
312
- &:before {
313
- @include icon;
314
- width: 16px;
315
- height: 16px;
316
- }
317
-
318
- &.desc:before {
319
- -webkit-mask-image: var(--sort-desc-icon--mask-image);
320
- mask-image: var(--sort-desc-icon--mask-image);
321
- }
322
-
323
- &.asc:before {
324
- -webkit-mask-image: var(--sort-asc-icon--mask-image);
325
- mask-image: var(--sort-asc-icon--mask-image);
326
- }
327
-
328
- &.none:before {
329
- -webkit-mask-image: var(--sort-none-icon--mask-image);
330
- mask-image: var(--sort-none-icon--mask-image);
331
- }
332
-
333
- &.asc.abs:before {
334
- -webkit-mask-image: var(--sort-abs-asc-icon--mask-image);
335
- mask-image: var(--sort-abs-asc-icon--mask-image);
336
- }
337
-
338
- &.desc.abs:before {
339
- -webkit-mask-image: var(--sort-abs-desc-icon--mask-image);
340
- mask-image: var(--sort-abs-desc-icon--mask-image);
341
- }
342
-
343
- &.col.asc:before {
344
- -webkit-mask-image: var(--sort-col-asc-icon--mask-image);
345
- mask-image: var(--sort-col-asc-icon--mask-image);
346
- }
347
-
348
- &.col.desc:before {
349
- -webkit-mask-image: var(--sort-col-desc-icon--mask-image);
350
- mask-image: var(--sort-col-desc-icon--mask-image);
351
- }
352
-
353
- &.col.asc.abs:before {
354
- -webkit-mask-image: var(--sort-abs-col-asc-icon--mask-image);
355
- mask-image: var(--sort-abs-col-asc-icon--mask-image);
356
- }
357
-
358
- &.col.desc.abs:before {
359
- -webkit-mask-image: var(--sort-abs-col-desc-icon--mask-image);
360
- mask-image: var(--sort-abs-col-desc-icon--mask-image);
361
- }
362
- }
363
- }
@@ -1,100 +0,0 @@
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
- @mixin icon {
14
- background-repeat: no-repeat;
15
- background-color: var(--icon--color);
16
- content: "";
17
- display: inline-block;
18
- -webkit-mask-size: cover;
19
- mask-size: cover;
20
- }
21
-
22
- :host {
23
- input[type="checkbox"].alternate {
24
- appearance: none;
25
- height: 14px;
26
- width: 14px;
27
- padding: 0px;
28
- cursor: pointer;
29
- outline: none;
30
- margin: 0 5px;
31
-
32
- &:before {
33
- @include icon;
34
- width: 14px;
35
- height: 14px;
36
- font-family: var(--button--font-family, inherit);
37
- background-color: var(--icon--color, #ccc);
38
- -webkit-mask-image: var(--inactive-column-selector--content, none);
39
- mask-image: var(--inactive-column-selector--content, none);
40
- }
41
-
42
- &:hover {
43
- border-radius: 2px;
44
- outline: 1px solid var(--icon--color);
45
- }
46
-
47
- &:checked:hover {
48
- background-color: var(--icon--color, #ccc);
49
- &:before {
50
- background-color: var(--plugin--background, #ccc);
51
- }
52
- }
53
-
54
- &:checked:before {
55
- -webkit-mask-image: var(--active-column-selector--content, none);
56
- mask-image: var(--active-column-selector--content, none);
57
- }
58
- }
59
-
60
- input[type="checkbox"] {
61
- float: left;
62
- appearance: none;
63
- height: 14px;
64
- width: 14px;
65
- padding: 0px;
66
- cursor: pointer;
67
- outline: none;
68
- margin: 0 5px 0 0;
69
-
70
- &:checked:before {
71
- -webkit-mask-image: var(--column-checkbox-on--mask-image);
72
- mask-image: var(--column-checkbox-on--mask-image);
73
- }
74
-
75
- &[disabled]:before {
76
- opacity: 0.2s;
77
- }
78
-
79
- &:before {
80
- @include icon;
81
- height: 13px;
82
- width: 13px;
83
- -webkit-mask-image: var(--column-checkbox-off--mask-image);
84
- mask-image: var(--column-checkbox-off--mask-image);
85
- }
86
-
87
- &:hover {
88
- background-color: transparent;
89
- }
90
-
91
- &:hover:before {
92
- -webkit-mask-image: var(--column-checkbox-hover--mask-image);
93
- mask-image: var(--column-checkbox-hover--mask-image);
94
- }
95
- }
96
-
97
- input[type="checkbox"]:not(:disabled) {
98
- cursor: pointer;
99
- }
100
- }
@@ -1,183 +0,0 @@
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
- :host {
16
- #settings_panel {
17
- #plugin_selector_container.open ~ * {
18
- opacity: 0;
19
- }
20
-
21
- #plugin_selector_container {
22
- min-height: var(
23
- --plugin-selector--height,
24
- var(--status-bar--height, 48px)
25
- );
26
- display: flex;
27
- white-space: nowrap;
28
- flex-direction: column;
29
- flex: 0 0 auto;
30
-
31
- // Overflow the padding bounds of the container
32
- // TODO these bounds exist to protext the resizer and scrollbar (left &
33
- // right resp) but we really should find a way to remove it and delegate
34
- // to sub-containers.
35
- margin: 0 0px 0 -9px;
36
-
37
- #plugin_selector_border {
38
- height: 2px;
39
- min-height: 2px;
40
- width: 100%;
41
- background-color: var(--inactive--color, #6e6e6e);
42
- margin-top: 2px;
43
- }
44
-
45
- .plugin-selector-options {
46
- overflow-y: auto;
47
- @include scrollbar;
48
- }
49
-
50
- &.open {
51
- position: absolute;
52
- margin: 0;
53
- top: 0;
54
- left: 0;
55
- right: 0;
56
- bottom: 0;
57
-
58
- // This element is first in the container but visually "overlaps"
59
- // when expanded
60
- z-index: 3;
61
- color: var(--icon--color, #042121);
62
- // background: var(--plugin--background);
63
-
64
- .plugin-select-item {
65
- padding-left: 8px;
66
- }
67
- }
68
-
69
- .plugin-select-item-name {
70
- padding-left: 10px;
71
- font-size: 1.33333em;
72
- }
73
-
74
- .plugin-select-item-name:before {
75
- // This value is set in a `style` tag from Yew!
76
- content: var(--default-column-title);
77
- }
78
-
79
- .plugin-select-item {
80
- // width: 48px;
81
- padding-left: 9px;
82
- height: var(
83
- --plugin-selector--height,
84
- var(--status-bar--height, 48px)
85
- );
86
- min-height: var(
87
- --plugin-selector--height,
88
- var(--status-bar--height, 48px)
89
- );
90
- display: flex;
91
- align-items: center;
92
- border-bottom: 1px solid transparent;
93
- box-shadow: 0px 1px var(--inactive--color, #6e6e6e);
94
- cursor: pointer;
95
- }
96
-
97
- // Hadn't seen this technique before, makes sizing/positioning these
98
- // trivial. There's some indication this doesn't work on non-chrome
99
- // https://stackoverflow.com/questions/36259410/how-to-set-size-of-svg-image-in-before-pseudo-class
100
- // https://stackoverflow.com/questions/21509982/change-svg-fill-color-in-before-or-after-css
101
- .plugin-select-item:before {
102
- content: "";
103
- display: inline-block;
104
- height: 35px;
105
- width: 40px;
106
- -webkit-mask-size: cover;
107
- mask-size: cover;
108
- background-repeat: no-repeat;
109
- background-color: var(--icon--color);
110
- }
111
-
112
- .plugin-select-item:hover {
113
- background-color: var(--icon--color, #042121);
114
- color: var(--plugin--background, #fdfffd);
115
- }
116
-
117
- .plugin-select-item:hover:before {
118
- background-color: var(--plugin--background, #fdfffd);
119
- }
120
-
121
- .plugin-select-item[data-plugin="Candlestick"]:before {
122
- // mask-image: var(--plugin-selector-candlestick--content);
123
- -webkit-mask-image: var(--plugin-selector-candlestick--content);
124
- }
125
-
126
- .plugin-select-item[data-plugin="Heatmap"]:before {
127
- -webkit-mask-image: var(--plugin-selector-heatmap--content);
128
- }
129
-
130
- .plugin-select-item[data-plugin="Map Scatter"]:before {
131
- -webkit-mask-image: var(--plugin-selector-map-scatter--content);
132
- }
133
-
134
- .plugin-select-item[data-plugin="OHLC"]:before {
135
- -webkit-mask-image: var(--plugin-selector-ohlc--content);
136
- }
137
-
138
- .plugin-select-item[data-plugin="Sunburst"]:before {
139
- -webkit-mask-image: var(--plugin-selector-sunburst--content);
140
- }
141
-
142
- .plugin-select-item[data-plugin="Treemap"]:before {
143
- -webkit-mask-image: var(--plugin-selector-treemap--content);
144
- }
145
-
146
- .plugin-select-item[data-plugin="X Bar"]:before {
147
- -webkit-mask-image: var(--plugin-selector-x-bar--content);
148
- }
149
-
150
- .plugin-select-item[data-plugin="X/Y Line"]:before {
151
- -webkit-mask-image: var(--plugin-selector-x-y-line--content);
152
- }
153
-
154
- .plugin-select-item[data-plugin="X/Y Scatter"]:before {
155
- -webkit-mask-image: var(--plugin-selector-x-y-scatter--content);
156
- }
157
-
158
- .plugin-select-item[data-plugin="Y Area"]:before {
159
- -webkit-mask-image: var(--plugin-selector-y-area--content);
160
- }
161
-
162
- .plugin-select-item[data-plugin="Y Bar"]:before {
163
- -webkit-mask-image: var(--plugin-selector-y-bar--content);
164
- }
165
-
166
- .plugin-select-item[data-plugin="Y Line"]:before {
167
- -webkit-mask-image: var(--plugin-selector-y-line--content);
168
- }
169
-
170
- .plugin-select-item[data-plugin="Y Scatter"]:before {
171
- -webkit-mask-image: var(--plugin-selector-y-scatter--content);
172
- }
173
-
174
- .plugin-select-item[data-plugin="Datagrid"]:before {
175
- -webkit-mask-image: var(--plugin-selector-datagrid--content);
176
- }
177
- }
178
-
179
- #plugin_selector {
180
- flex-grow: 1;
181
- }
182
- }
183
- }