flexdesk 0.17.0 → 0.17.2

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 (45) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +399 -3
  3. package/canvas.js +18 -0
  4. package/charts.js +21 -0
  5. package/core.js +14 -0
  6. package/css/base.css +23 -1
  7. package/css/flexdesk.css +61 -1
  8. package/dist/charts.js +3 -5
  9. package/dist/charts.js.map +1 -1
  10. package/dist/{chunk-Q36EPT2R.js → chunk-LWV23YVE.js} +1614 -138
  11. package/dist/chunk-LWV23YVE.js.map +7 -0
  12. package/dist/{chunk-MCIXFNVF.js → chunk-RMTRWWEO.js} +2 -2
  13. package/dist/flexdesk.css +61 -1
  14. package/dist/flow.js +2 -2
  15. package/dist/flow.js.map +2 -2
  16. package/dist/tiles.js +2 -2
  17. package/dist/widgets.js +186 -55
  18. package/dist/widgets.js.map +2 -2
  19. package/dist/wm.js +90 -10
  20. package/dist/wm.js.map +2 -2
  21. package/editor.js +20 -0
  22. package/flow.js +21 -0
  23. package/host.js +14 -0
  24. package/package.json +10 -1
  25. package/src/flow/canvas_editor/editor.js +1 -1
  26. package/src/tiling/command_palette.js +46 -7
  27. package/src/tiling/content_registry.js +3 -0
  28. package/src/tiling/entity_sources.js +10 -0
  29. package/src/tiling/wm.js +65 -3
  30. package/src/ui/components/cell_editor_host.js +100 -18
  31. package/src/ui/components/cell_editors.js +480 -0
  32. package/src/ui/components/cell_grid.js +121 -8
  33. package/src/ui/components/cell_paste.js +243 -0
  34. package/src/ui/components/data_table.js +96 -10
  35. package/src/ui/components/settings_view.js +192 -51
  36. package/src/ui/components/staged_edits.js +19 -1
  37. package/src/ui/components/tsv.js +74 -0
  38. package/src/ui/notification_center.js +5 -5
  39. package/tiles.js +27 -0
  40. package/widgets.js +69 -0
  41. package/wm.js +28 -0
  42. package/dist/chunk-Q36EPT2R.js.map +0 -7
  43. package/dist/chunk-QWQJUDPD.js +0 -610
  44. package/dist/chunk-QWQJUDPD.js.map +0 -7
  45. /package/dist/{chunk-MCIXFNVF.js.map → chunk-RMTRWWEO.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DataTable,
3
3
  createRafResizeObserver
4
- } from "./chunk-Q36EPT2R.js";
4
+ } from "./chunk-LWV23YVE.js";
5
5
  import {
6
6
  ManagedWindow
7
7
  } from "./chunk-CVMCZZX2.js";
@@ -2799,4 +2799,4 @@ export {
2799
2799
  openPlotPopoutWindow,
2800
2800
  openRawTracesWindow
2801
2801
  };
2802
- //# sourceMappingURL=chunk-MCIXFNVF.js.map
2802
+ //# sourceMappingURL=chunk-RMTRWWEO.js.map
package/dist/flexdesk.css CHANGED
@@ -283,6 +283,28 @@
283
283
  flex-direction: column;
284
284
  gap: var(--space-lg);
285
285
  }
286
+ /* A toast card. The root takes no pointer events (it overlays the page), so the
287
+ * card takes them back: without this its buttons cannot be clicked (BUG-0033). */
288
+ .twm-notification {
289
+ pointer-events: auto;
290
+ background: #1f1f20;
291
+ border: 1px solid #2f2f31;
292
+ border-left: 4px solid #4fc1ff;
293
+ border-radius: var(--radius-lg);
294
+ padding: var(--space-lg) 14px;
295
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
296
+ animation: twm-notification-in 160ms ease-out;
297
+ min-width: 280px;
298
+ cursor: pointer;
299
+ }
300
+ .twm-notification--success { border-left-color: var(--color-success, #3fb950); }
301
+ .twm-notification--warn { border-left-color: var(--color-warning, #ff9800); }
302
+ .twm-notification--error,
303
+ .twm-notification--fatal { border-left-color: var(--color-danger, #c74e4e); }
304
+ @keyframes twm-notification-in {
305
+ from { opacity: 0; transform: translateY(6px); }
306
+ to { opacity: 1; transform: translateY(0); }
307
+ }
286
308
 
287
309
  /* NotificationCenter `overflow: 'collapse'`: the toasts past maxVisible, as one. */
288
310
  .twm-notification--summary {
@@ -455,7 +477,7 @@
455
477
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
456
478
  display: flex;
457
479
  flex-direction: column;
458
- animation: notification-in 160ms ease-out;
480
+ animation: twm-notification-in 160ms ease-out;
459
481
  }
460
482
  .twm-notification-history__header {
461
483
  display: flex;
@@ -862,6 +884,21 @@ body.twm-dt-col-resizing {
862
884
  color: inherit;
863
885
  font: inherit;
864
886
  }
887
+ /* STORY-0087 the built-in editors: a checkbox keeps its own size, a text
888
+ * area grows with what it holds, and the choice box shows no empty helper
889
+ * line under it. */
890
+ .twm-preview-table.twm-dt--cells tbody td.twm-dt-cell--editing .twm-dt-editor--bool {
891
+ width: auto;
892
+ margin: 4px 6px;
893
+ outline-offset: 1px;
894
+ }
895
+ .twm-preview-table.twm-dt--cells tbody td.twm-dt-cell--editing textarea.twm-dt-editor {
896
+ resize: vertical;
897
+ min-height: 3.5em;
898
+ }
899
+ .twm-preview-table.twm-dt--cells tbody td.twm-dt-cell--editing .twm-dt-editor--choice .twm-autocomplete-field__helper:empty {
900
+ display: none;
901
+ }
865
902
  .twm-preview-table.twm-dt--cells tbody td.twm-dt-cell--pending {
866
903
  opacity: 0.6;
867
904
  font-style: italic;
@@ -896,6 +933,11 @@ body.twm-dt-col-resizing {
896
933
  background-image: repeating-linear-gradient(45deg,
897
934
  color-mix(in srgb, var(--color-danger, #f14c4c) 22%, transparent) 0 4px, transparent 4px 8px);
898
935
  }
936
+ /* STORY-0090. A cell a paste skipped (not editable) carries the same mark. */
937
+ .twm-preview-table.twm-dt--cells tbody td.twm-dt-cell--paste-skipped {
938
+ background-image: repeating-linear-gradient(45deg,
939
+ color-mix(in srgb, var(--color-danger, #f14c4c) 22%, transparent) 0 4px, transparent 4px 8px);
940
+ }
899
941
  /* While cells are staged, sort, filters and pages are held: the held control
900
942
  * says why on itself (`data-refusal`). */
901
943
  .twm-data-table-component.twm-dt--frozen th.sortable[data-refusal] {
@@ -1068,6 +1110,10 @@ body.twm-dt-col-resizing {
1068
1110
  --twm-dt-pin-mark: repeating-linear-gradient(45deg,
1069
1111
  color-mix(in srgb, var(--color-danger, #f14c4c) 22%, transparent) 0 4px, transparent 4px 8px);
1070
1112
  }
1113
+ .twm-preview-table.twm-dt-crosstab.twm-dt--cells tbody td.twm-dt-pin.twm-dt-cell--paste-skipped {
1114
+ --twm-dt-pin-mark: repeating-linear-gradient(45deg,
1115
+ color-mix(in srgb, var(--color-danger, #f14c4c) 22%, transparent) 0 4px, transparent 4px 8px);
1116
+ }
1071
1117
  .twm-preview-table.twm-dt-crosstab td.twm-dt-pin.twm-dt-cell--placeholder {
1072
1118
  --twm-dt-pin-state: linear-gradient(rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0.015));
1073
1119
  }
@@ -8298,6 +8344,9 @@ body.twm-dragging * { user-select: none; }
8298
8344
  .twm-cmdpal__item--active .twm-cmdpal__acts { display: flex; }
8299
8345
  /* A copy verb a single kind refuses: drawn, greyed, with the reason as its title. */
8300
8346
  .twm-cmdpal__act--disabled { opacity: 0.45; }
8347
+ /* 0.17.2. A row whose `enabled()` says no: listed, reachable by the arrows,
8348
+ * greyed, with its `disabledReason` as the title; picking it does nothing. */
8349
+ .twm-cmdpal__item--disabled { opacity: 0.45; cursor: default; }
8301
8350
  .twm-cmdpal__item--active .twm-cmdpal__kind,
8302
8351
  .twm-cmdpal__item--active .twm-cmdpal__shortcut { display: none; }
8303
8352
  .twm-cmdpal__item--more { color: var(--text-muted); font-size: var(--font-size-sm); }
@@ -10517,6 +10566,17 @@ button.twm-alerts__ref:hover { text-decoration: underline; }
10517
10566
  padding: var(--space-xl) 0;
10518
10567
  color: var(--text-muted);
10519
10568
  }
10569
+ /* SettingsCategories (0.17.2): the sidebar's filter, categories and
10570
+ * Reset all, mounted outside the view; the host sets its width and padding. */
10571
+ .twm-settings-categories {
10572
+ display: flex;
10573
+ flex-direction: column;
10574
+ min-height: 0;
10575
+ height: 100%;
10576
+ gap: var(--space-sm);
10577
+ color: var(--text-body);
10578
+ font-size: var(--font-size-sm);
10579
+ }
10520
10580
  /* ══ end SETTINGS VIEW ══ */
10521
10581
 
10522
10582
  /* ══ DOCUMENT OUTLINE (0.17.0) ═══════════════════════════════════════
package/dist/flow.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-D3COLZZ2.js";
4
4
  import {
5
5
  DataTable
6
- } from "./chunk-Q36EPT2R.js";
6
+ } from "./chunk-LWV23YVE.js";
7
7
  import {
8
8
  choiceList,
9
9
  selectBox,
@@ -6232,7 +6232,7 @@ function createCanvasEditor(host, options = {}) {
6232
6232
  for (const c of g.connections) {
6233
6233
  const source = idOf.get(c.source);
6234
6234
  const target = idOf.get(c.target);
6235
- if (source && target) connect(graph, catalogue, { ...c, source, target }, { strings: S });
6235
+ if (source && target) connect(graph, catalogue, { ...c, source, target }, { strings: S, dataPorts: dataConnect });
6236
6236
  }
6237
6237
  const noteIds = [];
6238
6238
  for (const from of noting ? g.notes || [] : []) {