flexdesk 0.4.5 → 0.4.7
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/README.md +301 -276
- package/css/base.css +57 -12
- package/css/flexdesk.css +75 -18
- package/css/overrides.css +15 -5
- package/dist/charts.js +782 -782
- package/dist/{chunk-SWB5ARKN.js → chunk-F5FYDCOA.js} +2373 -2373
- package/dist/{chunk-SWB5ARKN.js.map → chunk-F5FYDCOA.js.map} +7 -7
- package/dist/{chunk-QNQHQ24V.js → chunk-NLTOY57M.js} +72 -1
- package/dist/chunk-NLTOY57M.js.map +7 -0
- package/dist/{chunk-BIAOGX6K.js → chunk-WMGOJ3I6.js} +2628 -2096
- package/dist/chunk-WMGOJ3I6.js.map +7 -0
- package/dist/editor.js +1 -1
- package/dist/flexdesk.css +75 -18
- package/dist/tiles.js +2195 -2195
- package/dist/widgets.js +5796 -5796
- package/dist/wm.js +8074 -8015
- package/dist/wm.js.map +7 -7
- package/package.json +81 -81
- package/src/editor/notebook_tab_bar.js +89 -0
- package/src/tiling/tile_breadcrumb.js +21 -0
- package/src/tiling/tile_renderer.js +11 -0
- package/src/tiling/wm.js +3916 -3872
- package/src/ui/components/data_table.js +3294 -2694
- package/dist/chunk-BIAOGX6K.js.map +0 -7
- package/dist/chunk-QNQHQ24V.js.map +0 -7
package/dist/flexdesk.css
CHANGED
|
@@ -553,6 +553,25 @@ body.twm-dt-col-resizing {
|
|
|
553
553
|
.twm-preview-table.twm-dt-measuring .twm-data-table__filter-row {
|
|
554
554
|
display: none !important;
|
|
555
555
|
}
|
|
556
|
+
/* ── C10. The virtual window (`DataTable` with `virtualize`) ─────────────
|
|
557
|
+
* The column track is a `<colgroup>` (see `_createTable`), so it is the
|
|
558
|
+
* `<col>` widths the measuring pass has to lift — the same `!important` it
|
|
559
|
+
* already uses on the cells. The floors on body cells (100px on the first,
|
|
560
|
+
* 80px on the rest) are off: a full render lifts them with inline styles on
|
|
561
|
+
* its first row, and a virtual one has no fixed first row to write them on.
|
|
562
|
+
* The spacers carry their geometry inline; this only keeps a hover or a
|
|
563
|
+
* stripe from painting them. */
|
|
564
|
+
.twm-preview-table.twm-dt-measuring col {
|
|
565
|
+
width: auto !important;
|
|
566
|
+
}
|
|
567
|
+
.twm-preview-table.twm-dt--virtual tbody td {
|
|
568
|
+
min-width: 0;
|
|
569
|
+
max-width: none;
|
|
570
|
+
}
|
|
571
|
+
.twm-preview-table tbody tr.twm-dt-spacer,
|
|
572
|
+
.twm-preview-table tbody tr.twm-dt-spacer > td {
|
|
573
|
+
background: transparent !important;
|
|
574
|
+
}
|
|
556
575
|
.twm-preview-table th {
|
|
557
576
|
position: sticky;
|
|
558
577
|
top: 0;
|
|
@@ -984,7 +1003,9 @@ body.twm-dt-col-resizing {
|
|
|
984
1003
|
outline-offset: -2px;
|
|
985
1004
|
}
|
|
986
1005
|
/* Unified collapsible arrow system */
|
|
987
|
-
|
|
1006
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
1007
|
+
.twm-collapsible-arrow,
|
|
1008
|
+
.twm-collapsible-arrow.material-symbols-outlined {
|
|
988
1009
|
transition: transform 0.2s ease;
|
|
989
1010
|
transform: rotate(0deg); /* Default: pointing down (expanded) */
|
|
990
1011
|
font-size: 10px;
|
|
@@ -1045,7 +1066,12 @@ body.twm-dt-col-resizing {
|
|
|
1045
1066
|
margin: 0 1px;
|
|
1046
1067
|
user-select: none;
|
|
1047
1068
|
}
|
|
1048
|
-
|
|
1069
|
+
/* Written twice for `.twm-leaf__icon`'s reason: the icon also carries
|
|
1070
|
+
* `.material-symbols-outlined`, and Google's stylesheet — loaded after this
|
|
1071
|
+
* one — sets that class to 24px. A single-class rule ties and loses on source
|
|
1072
|
+
* order, so every crumb drew a 24px glyph beside 12px text (Tables BUG-0024). */
|
|
1073
|
+
.twm-topbar-breadcrumb__icon,
|
|
1074
|
+
.twm-topbar-breadcrumb__icon.material-symbols-outlined {
|
|
1049
1075
|
font-size: var(--font-size-lg);
|
|
1050
1076
|
}
|
|
1051
1077
|
.twm-topbar-breadcrumb__item--current {
|
|
@@ -1343,7 +1369,9 @@ body.twm-dt-col-resizing {
|
|
|
1343
1369
|
.twm-autocomplete-field__item:hover {
|
|
1344
1370
|
background-color: #3a3a3a;
|
|
1345
1371
|
}
|
|
1346
|
-
|
|
1372
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
1373
|
+
.twm-autocomplete-field__icon,
|
|
1374
|
+
.twm-autocomplete-field__icon.material-symbols-outlined {
|
|
1347
1375
|
font-size: var(--font-size-2xl);
|
|
1348
1376
|
color: var(--text-muted);
|
|
1349
1377
|
flex-shrink: 0;
|
|
@@ -3356,7 +3384,9 @@ body.twm-window-maximized .twm-resize-handle {
|
|
|
3356
3384
|
.twm-managed-window--no-drag .twm-managed-window__topbar {
|
|
3357
3385
|
cursor: default;
|
|
3358
3386
|
}
|
|
3359
|
-
|
|
3387
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
3388
|
+
.twm-managed-window__icon,
|
|
3389
|
+
.twm-managed-window__icon.material-symbols-outlined {
|
|
3360
3390
|
font-size: var(--font-size-lg);
|
|
3361
3391
|
color: var(--text-muted);
|
|
3362
3392
|
flex-shrink: 0;
|
|
@@ -3518,7 +3548,9 @@ button.twm-managed-window__btn svg rect {
|
|
|
3518
3548
|
.twm-bar-windows__item:active {
|
|
3519
3549
|
background: #1a6aa5;
|
|
3520
3550
|
}
|
|
3521
|
-
|
|
3551
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
3552
|
+
.twm-bar-windows__item-icon,
|
|
3553
|
+
.twm-bar-windows__item-icon.material-symbols-outlined {
|
|
3522
3554
|
font-size: var(--font-size-sm);
|
|
3523
3555
|
flex-shrink: 0;
|
|
3524
3556
|
}
|
|
@@ -3569,7 +3601,9 @@ button.twm-managed-window__btn svg rect {
|
|
|
3569
3601
|
align-items: flex-start;
|
|
3570
3602
|
gap: var(--space-lg);
|
|
3571
3603
|
}
|
|
3572
|
-
|
|
3604
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
3605
|
+
.twm-confirm-dialog__icon,
|
|
3606
|
+
.twm-confirm-dialog__icon.material-symbols-outlined {
|
|
3573
3607
|
font-size: 32px;
|
|
3574
3608
|
color: var(--text-muted);
|
|
3575
3609
|
flex-shrink: 0;
|
|
@@ -3638,7 +3672,9 @@ button.twm-confirm-dialog__btn:focus {
|
|
|
3638
3672
|
border-bottom: 1px solid #333;
|
|
3639
3673
|
flex-shrink: 0;
|
|
3640
3674
|
}
|
|
3641
|
-
|
|
3675
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
3676
|
+
.twm-about-dialog__logo,
|
|
3677
|
+
.twm-about-dialog__logo.material-symbols-outlined {
|
|
3642
3678
|
font-size: 40px;
|
|
3643
3679
|
color: var(--accent-bright);
|
|
3644
3680
|
}
|
|
@@ -3788,7 +3824,9 @@ button.twm-about-dialog__btn--close:focus {
|
|
|
3788
3824
|
gap: 10px;
|
|
3789
3825
|
min-width: 0;
|
|
3790
3826
|
}
|
|
3791
|
-
|
|
3827
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
3828
|
+
.twm-detail-header__icon,
|
|
3829
|
+
.twm-detail-header__icon.material-symbols-outlined {
|
|
3792
3830
|
font-size: 20px;
|
|
3793
3831
|
color: var(--text-muted, var(--text-muted));
|
|
3794
3832
|
flex-shrink: 0;
|
|
@@ -4041,7 +4079,9 @@ button.twm-about-dialog__btn--close:focus {
|
|
|
4041
4079
|
background-color: var(--ea-input-bg, #1e1e1e);
|
|
4042
4080
|
border-color: rgba(96, 192, 96, 0.50);
|
|
4043
4081
|
}
|
|
4044
|
-
|
|
4082
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
4083
|
+
.twm-attr-editor__attention,
|
|
4084
|
+
.twm-attr-editor__attention.material-symbols-outlined {
|
|
4045
4085
|
/* Positioned in the row's left gutter so it doesn't push the
|
|
4046
4086
|
* cells. The row already has `position: relative`. */
|
|
4047
4087
|
position: absolute;
|
|
@@ -4052,7 +4092,9 @@ button.twm-about-dialog__btn--close:focus {
|
|
|
4052
4092
|
font-size: 0.85em;
|
|
4053
4093
|
pointer-events: none;
|
|
4054
4094
|
}
|
|
4055
|
-
|
|
4095
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
4096
|
+
.twm-attr-editor__revert,
|
|
4097
|
+
.twm-attr-editor__revert.material-symbols-outlined {
|
|
4056
4098
|
/* Floats over the right edge of the row, outside the column grid.
|
|
4057
4099
|
* Sits ABOVE the trailing remove-button gutter that sortable_list
|
|
4058
4100
|
* draws, so it stays visible. */
|
|
@@ -5609,8 +5651,11 @@ body.twm-dragging * { user-select: none; }
|
|
|
5609
5651
|
* scrolls under them — a tab that shrinks to nothing as you open the tenth
|
|
5610
5652
|
* one is a tab you cannot read or aim at. The scrollbar itself is hidden:
|
|
5611
5653
|
* it is a 26px strip, and a horizontal bar in it would eat a third of the
|
|
5612
|
-
* label.
|
|
5613
|
-
*
|
|
5654
|
+
* label. What replaces it is in `notebook_tab_bar.js` (1.5): a plain
|
|
5655
|
+
* vertical wheel scrolls the strip sideways (`#onWheel`), the tab that has
|
|
5656
|
+
* just become active is scrolled into view (`#revealActive`), and the edges
|
|
5657
|
+
* auto-scroll while a tab is dragged toward them
|
|
5658
|
+
* (`drag_reorder.js:_autoScrollEdge`). */
|
|
5614
5659
|
overflow-x: auto;
|
|
5615
5660
|
overflow-y: hidden;
|
|
5616
5661
|
scrollbar-width: none;
|
|
@@ -5862,7 +5907,9 @@ body.twm-dragging * { user-select: none; }
|
|
|
5862
5907
|
letter-spacing: 0.04em;
|
|
5863
5908
|
color: var(--text-secondary);
|
|
5864
5909
|
}
|
|
5865
|
-
|
|
5910
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
5911
|
+
.twm-tile-tabmenu__head-icon,
|
|
5912
|
+
.twm-tile-tabmenu__head-icon.material-symbols-outlined { font-size: 14px; }
|
|
5866
5913
|
.twm-tile-tabmenu__head-label { flex: 1 1 auto; }
|
|
5867
5914
|
.twm-tile-tabmenu__close {
|
|
5868
5915
|
background: transparent;
|
|
@@ -6038,7 +6085,9 @@ body.twm-dragging * { user-select: none; }
|
|
|
6038
6085
|
outline-offset: -1px;
|
|
6039
6086
|
}
|
|
6040
6087
|
.twm-tile-tabswitch__item--on { color: var(--text-bright); }
|
|
6041
|
-
|
|
6088
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
6089
|
+
.twm-tile-tabswitch__check,
|
|
6090
|
+
.twm-tile-tabswitch__check.material-symbols-outlined { font-size: 14px; color: var(--accent-bright, #1683c4); }
|
|
6042
6091
|
.twm-tile-tabswitch__label {
|
|
6043
6092
|
overflow: hidden;
|
|
6044
6093
|
text-overflow: ellipsis;
|
|
@@ -6098,7 +6147,9 @@ body.twm-dragging * { user-select: none; }
|
|
|
6098
6147
|
white-space: nowrap;
|
|
6099
6148
|
user-select: none;
|
|
6100
6149
|
}
|
|
6101
|
-
|
|
6150
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
6151
|
+
.twm-cmdpal__type-chip-icon,
|
|
6152
|
+
.twm-cmdpal__type-chip-icon.material-symbols-outlined {
|
|
6102
6153
|
font-size: 14px;
|
|
6103
6154
|
}
|
|
6104
6155
|
.twm-cmdpal__type-chip-label {
|
|
@@ -6181,7 +6232,9 @@ body.twm-dragging * { user-select: none; }
|
|
|
6181
6232
|
background: var(--state-selected);
|
|
6182
6233
|
color: var(--text-bright);
|
|
6183
6234
|
}
|
|
6184
|
-
|
|
6235
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
6236
|
+
.twm-cmdpal__icon,
|
|
6237
|
+
.twm-cmdpal__icon.material-symbols-outlined { color: var(--text-muted); font-size: 16px; }
|
|
6185
6238
|
.twm-cmdpal__label { font-weight: var(--font-weight-medium); }
|
|
6186
6239
|
.twm-cmdpal__kind,
|
|
6187
6240
|
.twm-cmdpal__hint {
|
|
@@ -7002,7 +7055,9 @@ tr:hover .twm-row-action { opacity: 1; }
|
|
|
7002
7055
|
color: var(--text-muted);
|
|
7003
7056
|
text-align: center;
|
|
7004
7057
|
}
|
|
7005
|
-
|
|
7058
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
7059
|
+
.twm-window-placeholder__icon,
|
|
7060
|
+
.twm-window-placeholder__icon.material-symbols-outlined {
|
|
7006
7061
|
font-size: 32px;
|
|
7007
7062
|
opacity: 0.5;
|
|
7008
7063
|
}
|
|
@@ -7081,7 +7136,9 @@ tr:hover .twm-row-action { opacity: 1; }
|
|
|
7081
7136
|
background: #000;
|
|
7082
7137
|
color: var(--text-bright);
|
|
7083
7138
|
}
|
|
7084
|
-
|
|
7139
|
+
/* Compounded for the Material Symbols tie — see `.twm-leaf__icon`. */
|
|
7140
|
+
.twm-top-nav__icon,
|
|
7141
|
+
.twm-top-nav__icon.material-symbols-outlined {
|
|
7085
7142
|
font-size: 16px;
|
|
7086
7143
|
font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
|
|
7087
7144
|
}
|