flexdesk 0.1.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/LICENSE +21 -0
- package/README.md +195 -0
- package/THIRD_PARTY_LICENSES.md +53 -0
- package/css/base.css +3439 -0
- package/css/flexdesk.css +5797 -0
- package/css/overrides.css +2349 -0
- package/css/reset.css +46 -0
- package/css/tokens.css +137 -0
- package/dist/charts.js +780 -0
- package/dist/charts.js.map +7 -0
- package/dist/chunk-3PHCPZHT.js +222 -0
- package/dist/chunk-3PHCPZHT.js.map +7 -0
- package/dist/chunk-CT4YXXLP.js +1770 -0
- package/dist/chunk-CT4YXXLP.js.map +7 -0
- package/dist/chunk-DRYCDMEG.js +2217 -0
- package/dist/chunk-DRYCDMEG.js.map +7 -0
- package/dist/chunk-DVU44T77.js +855 -0
- package/dist/chunk-DVU44T77.js.map +7 -0
- package/dist/chunk-FL5KFNQH.js +640 -0
- package/dist/chunk-FL5KFNQH.js.map +7 -0
- package/dist/chunk-FOOS3T5L.js +117 -0
- package/dist/chunk-FOOS3T5L.js.map +7 -0
- package/dist/chunk-JYWURG5T.js +32 -0
- package/dist/chunk-JYWURG5T.js.map +7 -0
- package/dist/chunk-TLZUUFOE.js +276 -0
- package/dist/chunk-TLZUUFOE.js.map +7 -0
- package/dist/chunk-UCJ2WD4D.js +625 -0
- package/dist/chunk-UCJ2WD4D.js.map +7 -0
- package/dist/chunk-WVFGV5FT.js +205 -0
- package/dist/chunk-WVFGV5FT.js.map +7 -0
- package/dist/core.js +1098 -0
- package/dist/core.js.map +7 -0
- package/dist/editor.js +1661 -0
- package/dist/editor.js.map +7 -0
- package/dist/flexdesk.css +5797 -0
- package/dist/host.js +132 -0
- package/dist/host.js.map +7 -0
- package/dist/reset.css +46 -0
- package/dist/tile_registry-6WZPTUZV.js +28 -0
- package/dist/tile_registry-6WZPTUZV.js.map +7 -0
- package/dist/tiles.js +2068 -0
- package/dist/tiles.js.map +7 -0
- package/dist/tokens.css +137 -0
- package/dist/widgets.js +5438 -0
- package/dist/widgets.js.map +7 -0
- package/dist/wm.js +4830 -0
- package/dist/wm.js.map +7 -0
- package/package.json +80 -0
- package/src/charts/chart_types.js +699 -0
- package/src/charts/data_series_plot_window.js +761 -0
- package/src/charts/downsample.js +119 -0
- package/src/charts/plot_config.js +176 -0
- package/src/charts/plot_popout_window.js +1560 -0
- package/src/charts/plotly_wrapper.js +432 -0
- package/src/core/event_bus.js +230 -0
- package/src/core/logging.js +300 -0
- package/src/core/settings.js +813 -0
- package/src/core/state_guard.js +382 -0
- package/src/core/state_guard_config.js +309 -0
- package/src/core/state_machine.js +258 -0
- package/src/editor/editor_pane.js +264 -0
- package/src/editor/monaco_editor_factory.js +449 -0
- package/src/editor/monaco_loader.js +74 -0
- package/src/editor/notebook_search.js +460 -0
- package/src/editor/notebook_tab_bar.js +456 -0
- package/src/editor/notebook_undo_manager.js +108 -0
- package/src/editor/split_pane_container.js +197 -0
- package/src/help/help_modal.js +409 -0
- package/src/help/help_registry.js +65 -0
- package/src/host/host.js +69 -0
- package/src/host/pywebview_host.js +133 -0
- package/src/tiles/config_schema.js +256 -0
- package/src/tiles/layout_persistence.js +662 -0
- package/src/tiles/tile_base.js +785 -0
- package/src/tiles/tile_grid.js +905 -0
- package/src/tiles/tile_registry.js +136 -0
- package/src/tiling/command_palette.js +328 -0
- package/src/tiling/content_registry.js +110 -0
- package/src/tiling/desktops.js +133 -0
- package/src/tiling/entity_sources.js +179 -0
- package/src/tiling/keymap.js +156 -0
- package/src/tiling/kind_taxonomy.js +172 -0
- package/src/tiling/landing_table.js +717 -0
- package/src/tiling/loading_overlay.js +33 -0
- package/src/tiling/nav_panel.js +142 -0
- package/src/tiling/page_factory.js +215 -0
- package/src/tiling/panel_keys.js +145 -0
- package/src/tiling/shell.js +437 -0
- package/src/tiling/tile_breadcrumb.js +222 -0
- package/src/tiling/tile_renderer.js +459 -0
- package/src/tiling/tile_tab_menu.js +340 -0
- package/src/tiling/tile_tree.js +880 -0
- package/src/tiling/wm.js +1352 -0
- package/src/ui/base/component_base.js +30 -0
- package/src/ui/base/controller_base.js +48 -0
- package/src/ui/base/page_base.js +102 -0
- package/src/ui/components/about_dialog.js +224 -0
- package/src/ui/components/action_dropdown.js +389 -0
- package/src/ui/components/attribute_list_editor.js +652 -0
- package/src/ui/components/autocomplete_field.js +732 -0
- package/src/ui/components/computing_status_window.js +81 -0
- package/src/ui/components/confirm_dialog.js +307 -0
- package/src/ui/components/context_menu.js +87 -0
- package/src/ui/components/data_table.js +2228 -0
- package/src/ui/components/detail_header.js +177 -0
- package/src/ui/components/drag_reorder.js +0 -0
- package/src/ui/components/gallery_picker.js +147 -0
- package/src/ui/components/inline_renamer.js +129 -0
- package/src/ui/components/managed_window.js +804 -0
- package/src/ui/components/modal.js +512 -0
- package/src/ui/components/notification_history.js +264 -0
- package/src/ui/components/slide_out_panel.js +185 -0
- package/src/ui/components/slider_field.js +122 -0
- package/src/ui/components/sortable_list.js +309 -0
- package/src/ui/components/table_state_store.js +81 -0
- package/src/ui/components/toast.js +59 -0
- package/src/ui/components/tree_view.js +460 -0
- package/src/ui/components/window_taskbar.js +143 -0
- package/src/ui/controllers/panel_state_machine.js +634 -0
- package/src/ui/controllers/window_chrome_controller.js +659 -0
- package/src/ui/notification_center.js +576 -0
- package/src/ui/utils/overlay_scrollbar.js +492 -0
- package/src/ui/utils/raf_resize_observer.js +31 -0
- package/src/ui/utils/tooltip_service.js +406 -0
package/css/reset.css
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* ════════════════════════════════════════════════════════════════════
|
|
2
|
+
base.css — reset, body, scrollbars, headings.
|
|
3
|
+
|
|
4
|
+
Extracted from the inline block at the top of main_new.css so the
|
|
5
|
+
reset lives separately from the rest of the main stylesheet. Loaded
|
|
6
|
+
after tokens.css and before everything else.
|
|
7
|
+
|
|
8
|
+
Phase 1 contract: zero visible change. Every rule here is moved
|
|
9
|
+
verbatim from main_new.css; the only difference is that color/size
|
|
10
|
+
literals are expressed through tokens where the value already
|
|
11
|
+
matches a canonical token exactly.
|
|
12
|
+
|
|
13
|
+
See docs/UX_HARMONIZATION.md.
|
|
14
|
+
──────────────────────────────────────────────────────────────────── */
|
|
15
|
+
|
|
16
|
+
* {
|
|
17
|
+
margin: 0;
|
|
18
|
+
padding: 0;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
body {
|
|
23
|
+
font-family: var(--font-family-sans);
|
|
24
|
+
font-size: var(--font-size-sm); /* 12px */
|
|
25
|
+
background-color: var(--surface-0); /* #1e1e1e */
|
|
26
|
+
color: #d4d4d4;
|
|
27
|
+
margin: 0;
|
|
28
|
+
padding: 0;
|
|
29
|
+
height: 100vh;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
-webkit-user-select: none;
|
|
32
|
+
-moz-user-select: none;
|
|
33
|
+
-ms-user-select: none;
|
|
34
|
+
user-select: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Native <select> defaults — kept dark so unstyled selects don't pop. */
|
|
38
|
+
select {
|
|
39
|
+
background-color: var(--surface-3); /* #3c3c3c */
|
|
40
|
+
color: #cccccc;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
select option {
|
|
44
|
+
background-color: var(--surface-3);
|
|
45
|
+
color: #cccccc;
|
|
46
|
+
}
|
package/css/tokens.css
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/* ════════════════════════════════════════════════════════════════════
|
|
2
|
+
tokens.css — single source of truth for design tokens.
|
|
3
|
+
|
|
4
|
+
Loaded before every other stylesheet (see index.html). All other
|
|
5
|
+
stylesheets must reference these variables instead of writing
|
|
6
|
+
literal values.
|
|
7
|
+
|
|
8
|
+
Phase 1 contract: defining these tokens must not change the visible
|
|
9
|
+
UI. Each value is chosen to match what the existing CSS already
|
|
10
|
+
resolves to today — either the value of a dominant literal in use,
|
|
11
|
+
or the fallback that page-prefixed aliases (--config-*, --sm-*, …)
|
|
12
|
+
already evaluate to via `var(--ghost, #fallback)`.
|
|
13
|
+
|
|
14
|
+
See docs/UX_HARMONIZATION.md for the harmonization plan.
|
|
15
|
+
──────────────────────────────────────────────────────────────────── */
|
|
16
|
+
|
|
17
|
+
:root {
|
|
18
|
+
|
|
19
|
+
/* ── Spacing scale ─────────────────────────────────────────────
|
|
20
|
+
8-step scale derived from observed gap/padding usage.
|
|
21
|
+
Top-of-cluster values: 8 (237), 6 (165), 4 (148), 12 (93). */
|
|
22
|
+
--space-xxs: 2px;
|
|
23
|
+
--space-xs: 4px;
|
|
24
|
+
--space-sm: 6px;
|
|
25
|
+
--space-md: 8px;
|
|
26
|
+
--space-lg: 12px;
|
|
27
|
+
--space-xl: 16px;
|
|
28
|
+
--space-2xl: 24px;
|
|
29
|
+
--space-3xl: 32px;
|
|
30
|
+
|
|
31
|
+
/* ── Border radius ─────────────────────────────────────────────
|
|
32
|
+
3-step scale + special tokens for circles and pills. */
|
|
33
|
+
--radius-sm: 4px;
|
|
34
|
+
--radius-md: 6px;
|
|
35
|
+
--radius-lg: 8px;
|
|
36
|
+
--radius-pill: 999px;
|
|
37
|
+
--radius-circle: 50%;
|
|
38
|
+
|
|
39
|
+
/* ── Typography ─────────────────────────────────────────────── */
|
|
40
|
+
--font-family-sans: system-ui, -apple-system, BlinkMacSystemFont,
|
|
41
|
+
'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,
|
|
42
|
+
'Open Sans', 'Helvetica Neue', sans-serif;
|
|
43
|
+
--font-family-mono: ui-monospace, 'SF Mono', 'Consolas', 'Monaco', monospace;
|
|
44
|
+
|
|
45
|
+
/* 6-step scale: top-of-cluster sizes only. */
|
|
46
|
+
--font-size-xs: 11px;
|
|
47
|
+
--font-size-sm: 12px; /* body default */
|
|
48
|
+
--font-size-md: 13px;
|
|
49
|
+
--font-size-lg: 14px;
|
|
50
|
+
--font-size-xl: 16px;
|
|
51
|
+
--font-size-2xl: 18px;
|
|
52
|
+
|
|
53
|
+
--font-weight-regular: 400;
|
|
54
|
+
--font-weight-medium: 500;
|
|
55
|
+
--font-weight-semibold: 600; /* dominant in codebase */
|
|
56
|
+
--font-weight-bold: 700;
|
|
57
|
+
|
|
58
|
+
--line-height-tight: 1.2;
|
|
59
|
+
--line-height-normal: 1.5;
|
|
60
|
+
--line-height-relaxed: 1.7;
|
|
61
|
+
|
|
62
|
+
/* ── Surfaces (background hierarchy) ────────────────────────────
|
|
63
|
+
Values match the most-frequent gray literals in use today. */
|
|
64
|
+
--surface-0: #1e1e1e; /* page / tab background (103 uses) */
|
|
65
|
+
--surface-1: #252526; /* cards, panels (56 uses) */
|
|
66
|
+
--surface-2: #2d2d2d; /* elevated, hover bg (107 uses) */
|
|
67
|
+
--surface-3: #3c3c3c; /* form-control bg (240 uses) */
|
|
68
|
+
--surface-app: #121212; /* application chrome (root) */
|
|
69
|
+
--surface-well: #0d0d0d; /* recessed wells / sunken areas */
|
|
70
|
+
|
|
71
|
+
/* ── Borders ────────────────────────────────────────────────── */
|
|
72
|
+
--border-subtle: #2a2a2a; /* dividers within cards (174 uses) */
|
|
73
|
+
--border-default: #303030; /* card / panel borders (ghost-global fallback) */
|
|
74
|
+
--border-strong: #383838; /* emphasized borders (--layout-border-default value) */
|
|
75
|
+
|
|
76
|
+
/* ── Text ───────────────────────────────────────────────────── */
|
|
77
|
+
--text-primary: #e0e0e0; /* primary body text */
|
|
78
|
+
--text-secondary: #cccccc; /* lighter secondary (e.g. tree-view rows) */
|
|
79
|
+
--text-body: #d4d4d4; /* base.css body default — between primary & secondary */
|
|
80
|
+
--text-muted: #888888; /* de-facto canonical muted gray (268+ literal uses) */
|
|
81
|
+
--text-dim: #666666;
|
|
82
|
+
--text-bright: #ffffff;
|
|
83
|
+
|
|
84
|
+
/* ── Accent / brand ─────────────────────────────────────────────
|
|
85
|
+
Two accent values exist in the codebase today:
|
|
86
|
+
#0e639c (used by all --primary-color fallbacks, deep blue)
|
|
87
|
+
#007acc (used by --layout-accent, brighter VS Code blue)
|
|
88
|
+
Phase 5 will pick one. For Phase 1 we keep both wired. */
|
|
89
|
+
--accent: #0e639c;
|
|
90
|
+
--accent-hover: #1177bb;
|
|
91
|
+
--accent-bright: #007acc; /* --layout-accent value */
|
|
92
|
+
|
|
93
|
+
/* ── Semantic colors ───────────────────────────────────────── */
|
|
94
|
+
--color-success: #3fb950;
|
|
95
|
+
--color-warning: #ff9800;
|
|
96
|
+
--color-danger: #c74e4e;
|
|
97
|
+
--color-danger-hover: #d85858;
|
|
98
|
+
--color-info: #2196f3;
|
|
99
|
+
|
|
100
|
+
/* ── Surface state overlays ────────────────────────────────── */
|
|
101
|
+
--state-hover: rgba(255, 255, 255, 0.05);
|
|
102
|
+
--state-active: rgba(255, 255, 255, 0.08);
|
|
103
|
+
--state-selected: rgba(0, 122, 204, 0.15);
|
|
104
|
+
|
|
105
|
+
/* ── Shadows / elevation ──────────────────────────────────── */
|
|
106
|
+
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
107
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
108
|
+
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
109
|
+
--shadow-glow: 0 0 2px rgba(0, 122, 204, 0.3);
|
|
110
|
+
|
|
111
|
+
/* ── Z-index layers ───────────────────────────────────────── */
|
|
112
|
+
--z-base: 0;
|
|
113
|
+
--z-sticky: 10;
|
|
114
|
+
--z-dropdown: 100;
|
|
115
|
+
--z-popover: 200;
|
|
116
|
+
--z-modal: 1000;
|
|
117
|
+
--z-toast: 10000;
|
|
118
|
+
|
|
119
|
+
/* ── Transitions ──────────────────────────────────────────── */
|
|
120
|
+
--transition-fast: 120ms ease;
|
|
121
|
+
--transition-normal: 150ms ease; /* dominant duration in codebase */
|
|
122
|
+
--transition-slow: 300ms ease;
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
/* ── Layout-semantic tokens (page / section / tab-bar) ──────
|
|
126
|
+
Named for their purpose, not their value. Used by chrome
|
|
127
|
+
rules in main_new.css and a handful of page-specific files. */
|
|
128
|
+
--layout-pad-h: var(--space-2xl); /* 24px — page horizontal padding */
|
|
129
|
+
--layout-pad-section: var(--space-xl); /* 16px — internal section / card spacing */
|
|
130
|
+
--layout-tab-bar-pad-left: 22px; /* aligns first tab icon with title */
|
|
131
|
+
--layout-radius: var(--radius-lg); /* 8px — large container radius */
|
|
132
|
+
|
|
133
|
+
/* Ghost-global aliases (--panel-bg, --primary-color, --border-color,
|
|
134
|
+
--panel-surface, --panel-header-bg, --primary-color-hover) removed
|
|
135
|
+
in Phase 7 — all page CSS now references canonical tokens
|
|
136
|
+
directly. */
|
|
137
|
+
}
|