@perspective-dev/viewer 5.1.0 → 5.3.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.
- package/dist/cdn/perspective-viewer.js +9 -9
- package/dist/cdn/perspective-viewer.js.map +4 -4
- package/dist/css/botanical.css +1 -1
- package/dist/css/dracula.css +1 -1
- package/dist/css/gruvbox-dark.css +1 -1
- package/dist/css/gruvbox.css +1 -1
- package/dist/css/icons.css +1 -1
- package/dist/css/intl/de.css +1 -1
- package/dist/css/intl/es.css +1 -1
- package/dist/css/intl/fr.css +1 -1
- package/dist/css/intl/ja.css +1 -1
- package/dist/css/intl/pt.css +1 -1
- package/dist/css/intl/zh.css +1 -1
- package/dist/css/intl.css +1 -1
- package/dist/css/monokai.css +1 -1
- package/dist/css/phosphor.css +1 -1
- package/dist/css/pro-dark.css +1 -1
- package/dist/css/pro.css +1 -1
- package/dist/css/solarized-dark.css +1 -1
- package/dist/css/solarized.css +1 -1
- package/dist/css/themes.css +1 -1
- package/dist/css/vaporwave.css +1 -1
- package/dist/docs/perspective-docs.json +1 -0
- package/dist/esm/column-format.d.ts +19 -28
- package/dist/esm/perspective-viewer.d.ts +3 -0
- package/dist/esm/perspective-viewer.inline.js +9 -9
- package/dist/esm/perspective-viewer.inline.js.map +4 -4
- package/dist/esm/perspective-viewer.js +9 -9
- package/dist/esm/perspective-viewer.js.map +4 -4
- package/dist/esm/plugin.d.ts +10 -0
- package/dist/esm/providers.d.ts +79 -0
- package/dist/esm/ts-rs/CompactDisplay.d.ts +5 -0
- package/dist/esm/ts-rs/CurrencyCode.d.ts +1 -0
- package/dist/esm/ts-rs/CurrencyDisplay.d.ts +1 -0
- package/dist/esm/ts-rs/CurrencyNumberFormatStyle.d.ts +8 -0
- package/dist/esm/ts-rs/CurrencySign.d.ts +1 -0
- package/dist/esm/ts-rs/CustomDatetimeFormat.d.ts +1 -0
- package/dist/esm/ts-rs/CustomDatetimeStyleConfig.d.ts +54 -0
- package/dist/esm/ts-rs/CustomNumberFormatConfig.d.ts +34 -0
- package/dist/esm/ts-rs/DatetimeColorMode.d.ts +1 -0
- package/dist/esm/ts-rs/DatetimeFormatType.d.ts +6 -0
- package/dist/esm/ts-rs/FormatMode.d.ts +1 -0
- package/dist/esm/ts-rs/FormatUnit.d.ts +1 -0
- package/dist/esm/ts-rs/Notation.d.ts +17 -0
- package/dist/esm/ts-rs/NumberFormatStyle.d.ts +18 -0
- package/dist/esm/ts-rs/PanelViewerConfig.d.ts +42 -2
- package/dist/esm/ts-rs/PluginStaticConfig.d.ts +35 -0
- package/dist/esm/ts-rs/RestoreOptions.d.ts +19 -0
- package/dist/esm/ts-rs/RoundingMode.d.ts +1 -0
- package/dist/esm/ts-rs/RoundingPriority.d.ts +1 -0
- package/dist/esm/ts-rs/SaveWorkspaceOptions.d.ts +10 -0
- package/dist/esm/ts-rs/SignDisplay.d.ts +1 -0
- package/dist/esm/ts-rs/SimpleDatetimeFormat.d.ts +1 -0
- package/dist/esm/ts-rs/SimpleDatetimeStyleConfig.d.ts +24 -0
- package/dist/esm/ts-rs/SplitRollupMode.d.ts +9 -0
- package/dist/esm/ts-rs/StringColorMode.d.ts +1 -0
- package/dist/esm/ts-rs/TrailingZeroDisplay.d.ts +1 -0
- package/dist/esm/ts-rs/Unit.d.ts +1 -0
- package/dist/esm/ts-rs/UnitDisplay.d.ts +1 -0
- package/dist/esm/ts-rs/UnitNumberFormatStyle.d.ts +6 -0
- package/dist/esm/ts-rs/UseGrouping.d.ts +1 -0
- package/dist/esm/ts-rs/ViewerConfig.d.ts +42 -2
- package/dist/esm/ts-rs/ViewerConfigInitial.d.ts +175 -0
- package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +63 -0
- package/dist/esm/ts-rs/WindowSpec.d.ts +3 -2
- package/dist/esm/ts-rs/WorkspaceConfig.d.ts +9 -1
- package/dist/esm/ts-rs/WorkspaceConfigUpdate.d.ts +20 -9
- package/dist/wasm/perspective-viewer.d.ts +157 -41
- package/dist/wasm/perspective-viewer.js +452 -151
- package/dist/wasm/perspective-viewer.wasm +0 -0
- package/dist/wasm/perspective-viewer.wasm.d.ts +22 -17
- package/package.json +2 -1
- package/src/css/_viewer_bundle.css +1 -0
- package/src/css/column-selector.css +8 -0
- package/src/css/column-settings-panel.css +9 -5
- package/src/css/column-style.css +209 -31
- package/src/css/config-selector.css +38 -3
- package/src/css/dom/select.css +2 -1
- package/src/css/form/code-editor.css +6 -7
- package/src/css/form/mirrored-textarea.css +81 -0
- package/src/css/viewer.css +328 -0
- package/src/rust/agent/client/mod.rs +19 -0
- package/src/rust/agent/client/protocol.rs +320 -0
- package/src/rust/agent/client/transport.rs +287 -0
- package/src/rust/agent/client/turn.rs +174 -0
- package/src/rust/agent/config.rs +159 -0
- package/src/rust/agent/docs.rs +293 -0
- package/src/rust/agent/markdown/block.rs +509 -0
- package/src/rust/agent/markdown/entity.rs +52 -0
- package/src/rust/agent/markdown/events.rs +71 -0
- package/src/rust/agent/markdown/inline.rs +497 -0
- package/src/rust/agent/markdown/mod.rs +466 -0
- package/src/rust/agent/mod.rs +23 -0
- package/src/rust/agent/preamble.md +16 -0
- package/src/rust/agent/runtime.rs +201 -0
- package/src/rust/agent/slot.rs +236 -0
- package/src/rust/agent/tools.rs +1141 -0
- package/src/rust/components/chat_panel.rs +289 -0
- package/src/rust/components/column_selector/active_column.rs +2 -2
- package/src/rust/components/column_selector/add_expression_button.rs +3 -3
- package/src/rust/components/column_selector/aggregate_selector.rs +2 -3
- package/src/rust/components/column_selector/config_selector.rs +84 -7
- package/src/rust/components/column_selector/expr_edit_button.rs +4 -10
- package/src/rust/components/column_selector/inactive_column.rs +2 -2
- package/src/rust/components/column_selector.rs +55 -4
- package/src/rust/components/column_settings_sidebar/style_tab/primitive_field.rs +293 -126
- package/src/rust/components/column_settings_sidebar/style_tab.rs +262 -225
- package/src/rust/components/column_settings_sidebar.rs +88 -69
- package/src/rust/components/containers/dragdrop_list.rs +37 -0
- package/src/rust/components/editable_header.rs +85 -144
- package/src/rust/components/expression_editor.rs +9 -16
- package/src/rust/components/form/code_editor.rs +29 -28
- package/src/rust/components/form/debug.rs +9 -5
- package/src/rust/components/form/mirrored_textarea.rs +165 -0
- package/src/rust/components/form/mod.rs +4 -1
- package/src/rust/components/form/multi_stop_gradient_selector.rs +476 -0
- package/src/rust/components/form/named_value_picker.rs +86 -0
- package/src/rust/components/form/palette_selector.rs +440 -0
- package/src/rust/components/main_panel/msg.rs +2 -2
- package/src/rust/components/main_panel/reconcile.rs +4 -4
- package/src/rust/components/mod.rs +2 -0
- package/src/rust/components/plugin_tab.rs +4 -28
- package/src/rust/components/settings_panel.rs +105 -22
- package/src/rust/components/viewer/msg.rs +46 -7
- package/src/rust/components/viewer/panels.rs +17 -20
- package/src/rust/components/viewer/render.rs +10 -3
- package/src/rust/components/viewer/settings.rs +163 -23
- package/src/rust/components/viewer/snapshots.rs +46 -21
- package/src/rust/components/viewer/wiring.rs +14 -25
- package/src/rust/components/viewer.rs +12 -8
- package/src/rust/components/window_editor.rs +75 -103
- package/src/rust/config/column_config_schema.rs +100 -41
- package/src/rust/config/css_scale.rs +882 -0
- package/src/rust/config/datetime_column_style/custom.rs +17 -0
- package/src/rust/config/datetime_column_style/simple.rs +10 -0
- package/src/rust/config/mod.rs +2 -0
- package/src/rust/config/number_string_format.rs +33 -0
- package/src/rust/config/options.rs +28 -0
- package/src/rust/config/plugin_static_config.rs +120 -5
- package/src/rust/config/viewer_config.rs +216 -3
- package/src/rust/config/workspace_config.rs +138 -10
- package/src/rust/custom_elements/viewer.rs +369 -119
- package/src/rust/custom_events.rs +43 -1
- package/src/rust/js/regular_layout.rs +3 -3
- package/src/rust/lib.rs +15 -0
- package/src/rust/presentation/column_locator.rs +19 -5
- package/src/rust/presentation.rs +200 -36
- package/src/rust/queries/column_locator.rs +74 -44
- package/src/rust/queries/get_viewer_config.rs +2 -1
- package/src/rust/queries/mod.rs +2 -0
- package/src/rust/queries/palette_set.rs +82 -0
- package/src/rust/queries/plugin_column_styles.rs +6 -2
- package/src/rust/renderer/dispatch.rs +16 -4
- package/src/rust/renderer/plugin_config.rs +309 -47
- package/src/rust/renderer.rs +15 -42
- package/src/rust/session/column_defaults_update.rs +32 -7
- package/src/rust/session/metadata.rs +23 -21
- package/src/rust/session/props.rs +1 -0
- package/src/rust/session/replace_expression_update.rs +1 -0
- package/src/rust/session.rs +9 -6
- package/src/rust/tasks/create_panel.rs +46 -49
- package/src/rust/tasks/edit_expression.rs +19 -23
- package/src/rust/tasks/edit_window.rs +9 -11
- package/src/rust/tasks/eject.rs +4 -1
- package/src/rust/tasks/pipeline.rs +2 -2
- package/src/rust/tasks/presize_panels.rs +44 -5
- package/src/rust/tasks/reset_all.rs +4 -4
- package/src/rust/tasks/restore_and_render.rs +17 -44
- package/src/rust/tasks/restore_panel.rs +37 -22
- package/src/rust/tasks/set_edit_mode.rs +3 -1
- package/src/rust/tasks/sync_update_panels.rs +18 -24
- package/src/rust/tasks/update_theme.rs +23 -18
- package/src/rust/utils/css_vars.rs +26 -0
- package/src/rust/utils/mod.rs +2 -0
- package/src/rust/utils/spawn.rs +1 -1
- package/src/rust/workspace.rs +454 -199
- package/src/svg/lock.svg +7 -0
- package/src/themes/botanical.css +10 -0
- package/src/themes/defaults.css +12 -0
- package/src/themes/dracula.css +17 -0
- package/src/themes/gruvbox-dark.css +20 -0
- package/src/themes/gruvbox.css +10 -0
- package/src/themes/icons.css +1 -0
- package/src/themes/intl/de.css +16 -0
- package/src/themes/intl/es.css +16 -0
- package/src/themes/intl/fr.css +16 -0
- package/src/themes/intl/ja.css +16 -0
- package/src/themes/intl/pt.css +16 -0
- package/src/themes/intl/zh.css +16 -0
- package/src/themes/intl.css +16 -0
- package/src/themes/monokai.css +22 -0
- package/src/themes/phosphor.css +5 -0
- package/src/themes/pro-dark.css +10 -0
- package/src/themes/solarized-dark.css +7 -0
- package/src/themes/solarized.css +7 -0
- package/src/themes/vaporwave.css +20 -0
- package/src/ts/column-format.ts +67 -46
- package/src/ts/perspective-viewer.ts +3 -0
- package/src/ts/plugin.ts +14 -0
- package/src/ts/providers.ts +96 -0
- package/src/ts/ts-rs/CompactDisplay.ts +3 -0
- package/src/ts/ts-rs/CurrencyCode.ts +3 -0
- package/src/ts/ts-rs/CurrencyDisplay.ts +3 -0
- package/src/ts/ts-rs/CurrencyNumberFormatStyle.ts +6 -0
- package/src/ts/ts-rs/CurrencySign.ts +3 -0
- package/src/ts/ts-rs/CustomDatetimeFormat.ts +3 -0
- package/src/ts/ts-rs/CustomDatetimeStyleConfig.ts +54 -0
- package/src/ts/ts-rs/CustomNumberFormatConfig.ts +25 -0
- package/src/ts/ts-rs/DatetimeColorMode.ts +3 -0
- package/src/ts/ts-rs/DatetimeFormatType.ts +8 -0
- package/src/ts/ts-rs/FormatMode.ts +3 -0
- package/src/ts/ts-rs/FormatUnit.ts +3 -0
- package/src/ts/ts-rs/Notation.ts +11 -0
- package/src/ts/ts-rs/NumberFormatStyle.ts +12 -0
- package/src/ts/ts-rs/PanelViewerConfig.ts +48 -2
- package/src/ts/ts-rs/PluginStaticConfig.ts +36 -1
- package/src/ts/ts-rs/RestoreOptions.ts +20 -0
- package/src/ts/ts-rs/RoundingMode.ts +3 -0
- package/src/ts/ts-rs/RoundingPriority.ts +3 -0
- package/src/ts/ts-rs/SaveWorkspaceOptions.ts +11 -0
- package/src/ts/ts-rs/SignDisplay.ts +3 -0
- package/src/ts/ts-rs/SimpleDatetimeFormat.ts +3 -0
- package/src/ts/ts-rs/SimpleDatetimeStyleConfig.ts +25 -0
- package/src/ts/ts-rs/SplitRollupMode.ts +11 -0
- package/src/ts/ts-rs/StringColorMode.ts +3 -0
- package/src/ts/ts-rs/TrailingZeroDisplay.ts +3 -0
- package/src/ts/ts-rs/Unit.ts +3 -0
- package/src/ts/ts-rs/UnitDisplay.ts +3 -0
- package/src/ts/ts-rs/UnitNumberFormatStyle.ts +5 -0
- package/src/ts/ts-rs/UseGrouping.ts +3 -0
- package/src/ts/ts-rs/ViewerConfig.ts +48 -2
- package/src/ts/ts-rs/ViewerConfigInitial.ts +164 -0
- package/src/ts/ts-rs/ViewerConfigUpdate.ts +72 -2
- package/src/ts/ts-rs/WindowSpec.ts +3 -2
- package/src/ts/ts-rs/WorkspaceConfig.ts +8 -2
- package/src/ts/ts-rs/WorkspaceConfigUpdate.ts +18 -9
- package/dist/esm/ts-rs/WindowAggregate.d.ts +0 -1
- package/src/rust/components/form/color_range_selector.rs +0 -137
- package/src/ts/ts-rs/WindowAggregate.ts +0 -3
- /package/dist/wasm/snippets/{perspective-viewer-8a8c7d5d696b43ae → perspective-viewer-39c3c3b28e3cbd48}/inline0.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-8a8c7d5d696b43ae → perspective-viewer-39c3c3b28e3cbd48}/inline1.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-8a8c7d5d696b43ae → perspective-viewer-39c3c3b28e3cbd48}/inline2.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-8a8c7d5d696b43ae → perspective-viewer-39c3c3b28e3cbd48}/inline3.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-8a8c7d5d696b43ae → perspective-viewer-39c3c3b28e3cbd48}/inline4.js +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-8a8c7d5d696b43ae → perspective-viewer-39c3c3b28e3cbd48}/inline5.js +0 -0
|
Binary file
|
|
@@ -27,6 +27,9 @@ export const perspectivedebugpluginelement_select_mode: (a: number, b: number) =
|
|
|
27
27
|
export const perspectivedebugpluginelement_update: (a: number, b: number) => number;
|
|
28
28
|
export const perspectiveviewerelement___get_model: (a: number) => number;
|
|
29
29
|
export const perspectiveviewerelement_addPanel: (a: number, b: number) => number;
|
|
30
|
+
export const perspectiveviewerelement_agentConfig: (a: number, b: number, c: number) => void;
|
|
31
|
+
export const perspectiveviewerelement_agentPrompt: (a: number, b: number, c: number) => number;
|
|
32
|
+
export const perspectiveviewerelement_agentReset: (a: number) => number;
|
|
30
33
|
export const perspectiveviewerelement_connectedCallback: (a: number, b: number) => void;
|
|
31
34
|
export const perspectiveviewerelement_copy: (a: number, b: number) => number;
|
|
32
35
|
export const perspectiveviewerelement_delete: (a: number) => number;
|
|
@@ -43,6 +46,7 @@ export const perspectiveviewerelement_getPlugin: (a: number, b: number, c: numbe
|
|
|
43
46
|
export const perspectiveviewerelement_getRenderStats: (a: number, b: number, c: number) => void;
|
|
44
47
|
export const perspectiveviewerelement_getSelection: (a: number, b: number, c: number) => void;
|
|
45
48
|
export const perspectiveviewerelement_getTable: (a: number, b: number) => number;
|
|
49
|
+
export const perspectiveviewerelement_getThemes: (a: number) => number;
|
|
46
50
|
export const perspectiveviewerelement_getView: (a: number, b: number) => number;
|
|
47
51
|
export const perspectiveviewerelement_getViewConfig: (a: number, b: number) => number;
|
|
48
52
|
export const perspectiveviewerelement_load: (a: number, b: number, c: number) => void;
|
|
@@ -56,7 +60,7 @@ export const perspectiveviewerelement_restore: (a: number, b: number, c: number)
|
|
|
56
60
|
export const perspectiveviewerelement_restoreWorkspace: (a: number, b: number) => number;
|
|
57
61
|
export const perspectiveviewerelement_restyleElement: (a: number) => number;
|
|
58
62
|
export const perspectiveviewerelement_save: (a: number, b: number) => number;
|
|
59
|
-
export const perspectiveviewerelement_saveWorkspace: (a: number) => number;
|
|
63
|
+
export const perspectiveviewerelement_saveWorkspace: (a: number, b: number) => number;
|
|
60
64
|
export const perspectiveviewerelement_setActivePanel: (a: number, b: number, c: number) => number;
|
|
61
65
|
export const perspectiveviewerelement_setAutoPause: (a: number, b: number) => number;
|
|
62
66
|
export const perspectiveviewerelement_setAutoSize: (a: number, b: number) => void;
|
|
@@ -96,7 +100,7 @@ export const client_table: (a: number, b: number, c: number) => number;
|
|
|
96
100
|
export const client_terminate: (a: number, b: number) => void;
|
|
97
101
|
export const genericsqlvirtualservermodel_getHostedTables: (a: number, b: number) => void;
|
|
98
102
|
export const genericsqlvirtualservermodel_new: (a: number, b: number) => void;
|
|
99
|
-
export const genericsqlvirtualservermodel_tableMakeView: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
103
|
+
export const genericsqlvirtualservermodel_tableMakeView: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
100
104
|
export const genericsqlvirtualservermodel_tableSchema: (a: number, b: number, c: number, d: number) => void;
|
|
101
105
|
export const genericsqlvirtualservermodel_tableSize: (a: number, b: number, c: number, d: number) => void;
|
|
102
106
|
export const genericsqlvirtualservermodel_tableValidateExpression: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
@@ -163,21 +167,22 @@ export const virtualdataslice_setIntegerCol: (a: number, b: number, c: number, d
|
|
|
163
167
|
export const virtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
164
168
|
export const virtualserver_handleRequest: (a: number, b: number, c: number) => number;
|
|
165
169
|
export const virtualserver_new: (a: number, b: number) => void;
|
|
166
|
-
export const
|
|
167
|
-
export const
|
|
168
|
-
export const
|
|
169
|
-
export const
|
|
170
|
-
export const
|
|
171
|
-
export const
|
|
172
|
-
export const
|
|
173
|
-
export const
|
|
174
|
-
export const
|
|
175
|
-
export const
|
|
176
|
-
export const
|
|
177
|
-
export const
|
|
178
|
-
export const
|
|
179
|
-
export const
|
|
180
|
-
export const
|
|
170
|
+
export const __wasm_bindgen_func_elem_17916: (a: number, b: number) => void;
|
|
171
|
+
export const __wasm_bindgen_func_elem_18625: (a: number, b: number) => void;
|
|
172
|
+
export const __wasm_bindgen_func_elem_19491: (a: number, b: number) => void;
|
|
173
|
+
export const __wasm_bindgen_func_elem_4310: (a: number, b: number) => void;
|
|
174
|
+
export const __wasm_bindgen_func_elem_24164: (a: number, b: number) => void;
|
|
175
|
+
export const __wasm_bindgen_func_elem_32290: (a: number, b: number, c: number, d: number) => void;
|
|
176
|
+
export const __wasm_bindgen_func_elem_18035: (a: number, b: number, c: number) => void;
|
|
177
|
+
export const __wasm_bindgen_func_elem_18630: (a: number, b: number, c: number) => void;
|
|
178
|
+
export const __wasm_bindgen_func_elem_7520: (a: number, b: number, c: number) => void;
|
|
179
|
+
export const __wasm_bindgen_func_elem_7521: (a: number, b: number, c: number) => void;
|
|
180
|
+
export const __wasm_bindgen_func_elem_7522: (a: number, b: number, c: number) => void;
|
|
181
|
+
export const __wasm_bindgen_func_elem_7518: (a: number, b: number, c: number) => void;
|
|
182
|
+
export const __wasm_bindgen_func_elem_24181: (a: number, b: number, c: number) => void;
|
|
183
|
+
export const __wasm_bindgen_func_elem_20501: (a: number, b: number) => number;
|
|
184
|
+
export const __wasm_bindgen_func_elem_18629: (a: number, b: number) => void;
|
|
185
|
+
export const __wasm_bindgen_func_elem_20502: (a: number, b: number) => void;
|
|
181
186
|
export const __wbindgen_export: (a: number, b: number) => number;
|
|
182
187
|
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
183
188
|
export const __wbindgen_export3: (a: number) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@perspective-dev/viewer",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"description": "The `<perspective-viewer>` Custom Element, frontend for Perspective",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"perspective",
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"@types/node": ">=22",
|
|
70
70
|
"@types/react-dom": ">17 <20",
|
|
71
71
|
"prettier": ">=3 <4",
|
|
72
|
+
"ts-json-schema-generator": "^2.4.0",
|
|
72
73
|
"typedoc": "^0.28.7",
|
|
73
74
|
"typescript": ">=5 <6",
|
|
74
75
|
"zx": ">=8 <9"
|
|
@@ -181,6 +181,14 @@
|
|
|
181
181
|
border-color: var(--psp--color);
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
/* Composed inside a `.pivot-column` pill (the window editor's slots),
|
|
185
|
+
the row's `min-width: auto` floor would hold it at content width and
|
|
186
|
+
overflow the container-stretched pill - collapse-to-0 requires the
|
|
187
|
+
definite-width chain to pass through. */
|
|
188
|
+
.pivot-column > .column-selector-column {
|
|
189
|
+
min-width: 0;
|
|
190
|
+
}
|
|
191
|
+
|
|
184
192
|
.column-selector-column {
|
|
185
193
|
display: flex;
|
|
186
194
|
flex-direction: row-reverse;
|
|
@@ -150,15 +150,15 @@
|
|
|
150
150
|
content: var(--psp-label--number-fg-mode--content, "Foreground");
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
label#
|
|
153
|
+
label#fg_colors-label:before {
|
|
154
154
|
content: var(--psp-label--number-fg-mode--content, "Foreground");
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
label#number_bg_mode-label:before {
|
|
158
|
-
content: var(--psp-label--number-
|
|
158
|
+
content: var(--psp-label--number-bg-mode--content, "Background");
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
label#
|
|
161
|
+
label#bg_colors-label:before {
|
|
162
162
|
content: var(--psp-label--pos-bg-color--content, "Background");
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -187,8 +187,12 @@
|
|
|
187
187
|
content: var(--psp-label--series--content, "Series");
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
label#
|
|
191
|
-
content: var(--psp-label--
|
|
190
|
+
label#palette-label:before {
|
|
191
|
+
content: var(--psp-label--palette--content, "Palette");
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
label#gradient-label:before {
|
|
195
|
+
content: var(--psp-label--gradient--content, "Gradient");
|
|
192
196
|
}
|
|
193
197
|
|
|
194
198
|
label#style-label:before {
|
package/src/css/column-style.css
CHANGED
|
@@ -221,34 +221,224 @@
|
|
|
221
221
|
align-items: center;
|
|
222
222
|
flex-wrap: nowrap;
|
|
223
223
|
flex: 1 1 100%;
|
|
224
|
-
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.palette-selector {
|
|
227
|
+
.palette-swatches {
|
|
228
|
+
display: flex;
|
|
229
|
+
flex-wrap: wrap;
|
|
230
|
+
align-items: center;
|
|
231
|
+
gap: 4px;
|
|
225
232
|
flex: 1 1 auto;
|
|
233
|
+
width: 0px;
|
|
234
|
+
max-height: 84px;
|
|
235
|
+
overflow-y: auto;
|
|
236
|
+
overflow-x: hidden;
|
|
237
|
+
padding: 0px 0 4px 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.palette-swatch {
|
|
241
|
+
position: relative;
|
|
242
|
+
width: 24px;
|
|
226
243
|
height: 24px;
|
|
244
|
+
touch-action: none;
|
|
245
|
+
|
|
246
|
+
input[type="color"] {
|
|
247
|
+
width: 24px;
|
|
248
|
+
height: 24px;
|
|
249
|
+
border-radius: 3px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
&.dragging {
|
|
253
|
+
opacity: 0.5;
|
|
254
|
+
outline: 1px dashed var(--psp--color);
|
|
255
|
+
outline-offset: -1px;
|
|
256
|
+
border-radius: 3px;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.palette-swatch-remove {
|
|
260
|
+
position: absolute;
|
|
261
|
+
top: -2px;
|
|
262
|
+
right: -7px;
|
|
263
|
+
width: 14px;
|
|
264
|
+
height: 14px;
|
|
265
|
+
cursor: pointer;
|
|
266
|
+
display: none;
|
|
267
|
+
background-color: var(--psp--color);
|
|
268
|
+
-webkit-mask-size: cover;
|
|
269
|
+
mask-size: cover;
|
|
270
|
+
-webkit-mask-image: var(--psp-icon--close--mask-image);
|
|
271
|
+
mask-image: var(--psp-icon--close--mask-image);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
&:hover .palette-swatch-remove {
|
|
275
|
+
display: inline-block;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.palette-swatches.reordering .palette-swatch-remove {
|
|
280
|
+
display: none;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.palette-add {
|
|
284
|
+
width: 22px;
|
|
285
|
+
height: 22px;
|
|
286
|
+
border: 1px dashed var(--psp-inactive--color);
|
|
287
|
+
border-radius: 3px;
|
|
288
|
+
cursor: pointer;
|
|
289
|
+
display: flex;
|
|
290
|
+
align-items: center;
|
|
291
|
+
justify-content: center;
|
|
292
|
+
|
|
293
|
+
&:before {
|
|
294
|
+
content: "+";
|
|
295
|
+
font-size: 14px;
|
|
296
|
+
line-height: 1;
|
|
297
|
+
color: var(--psp-inactive--color);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
&:hover {
|
|
301
|
+
border-color: var(--psp--color);
|
|
302
|
+
|
|
303
|
+
&:before {
|
|
304
|
+
color: var(--psp--color);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
227
307
|
}
|
|
228
308
|
}
|
|
229
309
|
|
|
230
|
-
.
|
|
231
|
-
|
|
310
|
+
.gradient-stops-selector {
|
|
311
|
+
padding: 12px 0 16px 0;
|
|
232
312
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
313
|
+
.gradient-stops-bar {
|
|
314
|
+
cursor: copy;
|
|
315
|
+
position: relative;
|
|
316
|
+
flex: 1 1 auto;
|
|
317
|
+
height: 24px;
|
|
318
|
+
border-radius: 2px;
|
|
236
319
|
}
|
|
237
|
-
|
|
320
|
+
|
|
321
|
+
.gradient-stops-bar.discrete {
|
|
322
|
+
cursor: auto;
|
|
323
|
+
position: relative;
|
|
324
|
+
flex: 1 1 auto;
|
|
325
|
+
height: 24px;
|
|
326
|
+
border-radius: 2px;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.gradient-stop-handle {
|
|
330
|
+
position: absolute;
|
|
331
|
+
top: 0;
|
|
332
|
+
transform: translateX(-50%);
|
|
238
333
|
display: flex;
|
|
239
|
-
|
|
334
|
+
flex-direction: column;
|
|
240
335
|
align-items: center;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
color: var(--sign--color, white);
|
|
247
|
-
width: 36px;
|
|
336
|
+
width: 14px;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.gradient-stop-grip {
|
|
340
|
+
width: 14px;
|
|
248
341
|
height: 24px;
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
342
|
+
cursor: ew-resize;
|
|
343
|
+
touch-action: none;
|
|
344
|
+
|
|
345
|
+
&.disabled {
|
|
346
|
+
cursor: default;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
&:before {
|
|
350
|
+
content: "";
|
|
351
|
+
display: block;
|
|
352
|
+
width: 0px;
|
|
353
|
+
height: 100%;
|
|
354
|
+
margin: 0 auto;
|
|
355
|
+
border: 1px solid var(--psp--background-color, #fff);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.gradient-stop-remove {
|
|
360
|
+
position: absolute;
|
|
361
|
+
top: -14px;
|
|
362
|
+
width: 14px;
|
|
363
|
+
height: 13px;
|
|
364
|
+
cursor: pointer;
|
|
365
|
+
display: inline-block;
|
|
366
|
+
background-color: var(--psp--color);
|
|
367
|
+
-webkit-mask-size: cover;
|
|
368
|
+
mask-size: cover;
|
|
369
|
+
-webkit-mask-image: var(--psp-icon--close--mask-image);
|
|
370
|
+
mask-image: var(--psp-icon--close--mask-image);
|
|
371
|
+
|
|
372
|
+
&.disabled {
|
|
373
|
+
cursor: default;
|
|
374
|
+
background-color: var(--psp-inactive--color);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.gradient-stop-lock {
|
|
379
|
+
position: absolute;
|
|
380
|
+
top: -14px;
|
|
381
|
+
width: 14px;
|
|
382
|
+
height: 13px;
|
|
383
|
+
display: inline-block;
|
|
384
|
+
background-color: var(--psp--color);
|
|
385
|
+
-webkit-mask-size: cover;
|
|
386
|
+
mask-size: cover;
|
|
387
|
+
-webkit-mask-image: var(--psp-icon--lock--mask-image);
|
|
388
|
+
mask-image: var(--psp-icon--lock--mask-image);
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.gradient-stop-handle input[type="color"] {
|
|
392
|
+
width: 14px;
|
|
393
|
+
height: 14px;
|
|
394
|
+
margin-top: 2px;
|
|
395
|
+
border-radius: 3px;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.named-value-controls {
|
|
400
|
+
display: flex;
|
|
401
|
+
justify-content: flex-end;
|
|
402
|
+
align-items: center;
|
|
403
|
+
gap: 10px;
|
|
404
|
+
flex: 1 1 100%;
|
|
405
|
+
height: 0;
|
|
406
|
+
margin-top: 10px;
|
|
407
|
+
margin-bottom: -10px;
|
|
408
|
+
margin-right: 24px;
|
|
409
|
+
position: relative;
|
|
410
|
+
z-index: 1;
|
|
411
|
+
font-size: var(--label--font-size, 0.75em);
|
|
412
|
+
color: var(--psp-inactive--color);
|
|
413
|
+
|
|
414
|
+
select.named-value-select {
|
|
415
|
+
height: 15px;
|
|
416
|
+
padding: 0;
|
|
417
|
+
font-size: var(--label--font-size, 0.75em);
|
|
418
|
+
color: inherit;
|
|
419
|
+
background: none;
|
|
420
|
+
border: none;
|
|
421
|
+
cursor: pointer;
|
|
422
|
+
|
|
423
|
+
&:hover {
|
|
424
|
+
color: var(--psp--color, inherit);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.named-value-pin {
|
|
429
|
+
cursor: pointer;
|
|
430
|
+
user-select: none;
|
|
431
|
+
line-height: 15px;
|
|
432
|
+
|
|
433
|
+
&:before {
|
|
434
|
+
font-family: var(--psp-button--font-family, inherit);
|
|
435
|
+
color: var(--psp-inactive--color, #666);
|
|
436
|
+
content: var(--psp-label--pin-button--content, "Save");
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
&:hover:before {
|
|
440
|
+
color: var(--psp--color, inherit);
|
|
441
|
+
}
|
|
252
442
|
}
|
|
253
443
|
}
|
|
254
444
|
|
|
@@ -259,23 +449,11 @@
|
|
|
259
449
|
padding: 0;
|
|
260
450
|
font-family: inherit;
|
|
261
451
|
overflow: hidden;
|
|
262
|
-
border-radius:
|
|
452
|
+
border-radius: 3px;
|
|
263
453
|
|
|
264
454
|
&:hover {
|
|
265
455
|
opacity: 0.8;
|
|
266
456
|
}
|
|
267
|
-
|
|
268
|
-
&.pos-color-param {
|
|
269
|
-
width: 36px;
|
|
270
|
-
border-radius: 12px 0 0 12px;
|
|
271
|
-
margin: 0 1px 0 0;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
&.neg-color-param {
|
|
275
|
-
width: 36px;
|
|
276
|
-
border-radius: 0 12px 12px 0;
|
|
277
|
-
margin: 0 0 0 1px;
|
|
278
|
-
}
|
|
279
457
|
}
|
|
280
458
|
|
|
281
459
|
::-webkit-color-swatch-wrapper {
|
|
@@ -201,12 +201,46 @@
|
|
|
201
201
|
pointer-events: none;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
+
/* `--psp-label--pivot--content` is set inline by the pivot slot
|
|
205
|
+
* when the ACTIVE plugin declares what the field draws (a `Y Line`
|
|
206
|
+
* groups by its X axis; a `Treemap` by its hierarchy). The slot
|
|
207
|
+
* emits an intl var reference rather than words, so these labels
|
|
208
|
+
* localize like any other.
|
|
209
|
+
*
|
|
210
|
+
* The role leads and the field's own name follows as a secondary
|
|
211
|
+
* label, so the reader learns what this slot DRAWS without losing
|
|
212
|
+
* which config field it IS - and a plugin that declares no role
|
|
213
|
+
* shows just the field name, exactly as before. The slot sets
|
|
214
|
+
* `--psp-label--pivot-secondary--display` as a presence flag,
|
|
215
|
+
* since CSS cannot test whether a custom property is set. */
|
|
204
216
|
#group_by label.pivot-selector-label:before {
|
|
205
|
-
content: var(
|
|
217
|
+
content: var(
|
|
218
|
+
--psp-label--pivot--content,
|
|
219
|
+
var(--psp-label--group-by--content, "Group By")
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
#group_by label.pivot-selector-label:after {
|
|
224
|
+
content: "(" var(--psp-label--group-by--content, "Group By") ")";
|
|
206
225
|
}
|
|
207
226
|
|
|
208
227
|
#split_by label.pivot-selector-label:before {
|
|
209
|
-
content: var(
|
|
228
|
+
content: var(
|
|
229
|
+
--psp-label--pivot--content,
|
|
230
|
+
var(--psp-label--split-by--content, "Split By")
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
#split_by label.pivot-selector-label:after {
|
|
235
|
+
content: "(" var(--psp-label--split-by--content, "Split By") ")";
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
#group_by label.pivot-selector-label:after,
|
|
239
|
+
#split_by label.pivot-selector-label:after {
|
|
240
|
+
display: var(--psp-label--pivot-secondary--display, none);
|
|
241
|
+
margin-left: 6px;
|
|
242
|
+
opacity: 0.6;
|
|
243
|
+
font-size: 0.9em;
|
|
210
244
|
}
|
|
211
245
|
|
|
212
246
|
#sort label.pivot-selector-label:before {
|
|
@@ -320,7 +354,8 @@
|
|
|
320
354
|
}
|
|
321
355
|
}
|
|
322
356
|
|
|
323
|
-
.group_rollup_wrapper
|
|
357
|
+
.group_rollup_wrapper,
|
|
358
|
+
.split_rollup_wrapper {
|
|
324
359
|
margin-bottom: -30px;
|
|
325
360
|
flex: 0 1 auto;
|
|
326
361
|
color: var(--psp-inactive--color);
|
package/src/css/dom/select.css
CHANGED
|
@@ -16,12 +16,13 @@
|
|
|
16
16
|
position: relative;
|
|
17
17
|
flex: 1 1 auto;
|
|
18
18
|
height: 100%;
|
|
19
|
+
font-size: 12px;
|
|
19
20
|
|
|
20
21
|
&:after {
|
|
21
22
|
content: attr(data-value) " ";
|
|
22
23
|
visibility: hidden;
|
|
23
24
|
white-space: nowrap;
|
|
24
|
-
padding-right:
|
|
25
|
+
padding-right: 20px;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
select {
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
:host {
|
|
15
|
+
#editor.contained {
|
|
16
|
+
contain: inline-size;
|
|
17
|
+
}
|
|
18
|
+
|
|
15
19
|
#editor {
|
|
16
20
|
display: flex;
|
|
17
21
|
flex: 1 1 auto;
|
|
@@ -23,10 +27,9 @@
|
|
|
23
27
|
height: 100px;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
|
-
|
|
30
|
+
/* `position`/`display` come from `.mirrored-textarea`. */
|
|
31
|
+
.editor-inner {
|
|
27
32
|
overflow: hidden;
|
|
28
|
-
position: relative;
|
|
29
|
-
display: flex;
|
|
30
33
|
flex: 1 1 auto;
|
|
31
34
|
}
|
|
32
35
|
|
|
@@ -66,10 +69,6 @@
|
|
|
66
69
|
white-space: pre;
|
|
67
70
|
overflow: hidden;
|
|
68
71
|
|
|
69
|
-
span {
|
|
70
|
-
/* display: contents; */
|
|
71
|
-
}
|
|
72
|
-
|
|
73
72
|
.comment {
|
|
74
73
|
color: var(--psp-code-editor--comment--color, orange);
|
|
75
74
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
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
|
+
/* Geometry for `components/form/mirrored_textarea.rs`: an invisible
|
|
15
|
+
* `<textarea>` stacked over a `<pre>` mirror of its text, so that layout -
|
|
16
|
+
* not a JS resize loop - sizes the box.
|
|
17
|
+
*
|
|
18
|
+
* This file fixes ONLY what must agree between the two layers, because
|
|
19
|
+
* every disagreement shows up as a caret sitting somewhere other than the
|
|
20
|
+
* glyphs it is between. Consumers own the rest of the box (padding,
|
|
21
|
+
* border, min/max size) and choose the growth axes via `white-space`. */
|
|
22
|
+
|
|
23
|
+
:host {
|
|
24
|
+
.mirrored-textarea {
|
|
25
|
+
position: relative;
|
|
26
|
+
display: flex;
|
|
27
|
+
|
|
28
|
+
/* Anything affecting glyph advance or line breaking must be
|
|
29
|
+
* identical in both layers - hence one selector, never two. */
|
|
30
|
+
& > .mirrored-textarea-input,
|
|
31
|
+
& > .mirrored-textarea-mirror {
|
|
32
|
+
box-sizing: border-box;
|
|
33
|
+
font: inherit;
|
|
34
|
+
letter-spacing: inherit;
|
|
35
|
+
line-height: inherit;
|
|
36
|
+
tab-size: inherit;
|
|
37
|
+
margin: 0;
|
|
38
|
+
border: none;
|
|
39
|
+
white-space: pre-wrap;
|
|
40
|
+
overflow-wrap: anywhere;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
& > .mirrored-textarea-input {
|
|
44
|
+
position: absolute;
|
|
45
|
+
inset: 0;
|
|
46
|
+
width: 100%;
|
|
47
|
+
height: 100%;
|
|
48
|
+
|
|
49
|
+
/* The container's padding, so the two layers' text origins
|
|
50
|
+
* and wrap widths coincide however a consumer pads the box:
|
|
51
|
+
* the mirror starts at the content box, and this element
|
|
52
|
+
* covers the padding box and re-applies the same inset. */
|
|
53
|
+
padding: inherit;
|
|
54
|
+
|
|
55
|
+
resize: none;
|
|
56
|
+
outline: none;
|
|
57
|
+
overscroll-behavior: none;
|
|
58
|
+
|
|
59
|
+
/* Functional, not visual: keystrokes, selection and caret
|
|
60
|
+
* only. The glyphs the user reads are the mirror's. */
|
|
61
|
+
color: transparent;
|
|
62
|
+
background-color: transparent;
|
|
63
|
+
caret-color: var(--psp--color, #161616);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
& > .mirrored-textarea-mirror {
|
|
67
|
+
/* Clicks and drags belong to the input layer above. */
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* The mirror paints everything the user sees, INCLUDING the
|
|
72
|
+
* placeholder: a consumer supplies it as `content` on
|
|
73
|
+
* `.is-empty`, which the intl label mechanism can localize.
|
|
74
|
+
* The native `placeholder` attribute stays for assistive tech
|
|
75
|
+
* but is never painted - it would double up, and no stylesheet
|
|
76
|
+
* can translate an attribute. */
|
|
77
|
+
& > .mirrored-textarea-input::placeholder {
|
|
78
|
+
color: transparent;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|