@liberation-data/desk 0.4.0 → 0.7.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 (46) hide show
  1. package/README.md +63 -2
  2. package/dist/core/desk.d.ts +13 -0
  3. package/dist/core/desk.d.ts.map +1 -1
  4. package/dist/core/desk.js +55 -1
  5. package/dist/core/desk.js.map +1 -1
  6. package/dist/core/index.d.ts +2 -2
  7. package/dist/core/index.d.ts.map +1 -1
  8. package/dist/core/types.d.ts +7 -0
  9. package/dist/core/types.d.ts.map +1 -1
  10. package/dist/css/apps.css +57 -0
  11. package/dist/css/controls.css +975 -0
  12. package/dist/css/conversation.css +232 -0
  13. package/dist/css/dock.css +272 -0
  14. package/dist/css/menus.css +204 -0
  15. package/dist/css/overlays.css +237 -0
  16. package/dist/css/search.css +149 -0
  17. package/dist/css/setup.css +284 -0
  18. package/dist/css/tokens.css +90 -0
  19. package/dist/css/windows.css +321 -0
  20. package/dist/desk.css +1080 -1070
  21. package/dist/react/Desktop.d.ts +9 -2
  22. package/dist/react/Desktop.d.ts.map +1 -1
  23. package/dist/react/Desktop.js +85 -23
  24. package/dist/react/Desktop.js.map +1 -1
  25. package/dist/react/appFrame.d.ts +9 -2
  26. package/dist/react/appFrame.d.ts.map +1 -1
  27. package/dist/react/appFrame.js +26 -5
  28. package/dist/react/appFrame.js.map +1 -1
  29. package/llms.txt +12 -1
  30. package/package.json +4 -3
  31. package/src/core/desk.ts +67 -1
  32. package/src/core/index.ts +2 -1
  33. package/src/core/types.ts +8 -0
  34. package/src/css/apps.css +56 -0
  35. package/src/css/controls.css +974 -0
  36. package/src/css/conversation.css +231 -0
  37. package/src/css/dock.css +271 -0
  38. package/src/css/menus.css +203 -0
  39. package/src/css/overlays.css +236 -0
  40. package/src/css/search.css +148 -0
  41. package/src/css/setup.css +283 -0
  42. package/src/css/tokens.css +89 -0
  43. package/src/css/windows.css +320 -0
  44. package/src/react/Desktop.tsx +97 -26
  45. package/src/react/appFrame.tsx +48 -5
  46. package/src/desk.css +0 -2820
package/README.md CHANGED
@@ -18,6 +18,20 @@ Drag a window by its title bar to free it where it sits. Drop it against the lef
18
18
  that half. Resize from the sides, the bottom or the corner. Double-click the title bar, or press the green
19
19
  control, to fill the desk and back.
20
20
 
21
+ Windows survive the desk changing size. Unplug an external display and the ones you spread across it
22
+ are past the edge of the laptop screen, where nothing can drag them back — so they are brought in,
23
+ shrunk if they must be, and a window too small to be one fills the desk instead. Plug the display
24
+ back in and each goes out again exactly as it was. Move one yourself while the desk is small and
25
+ that is a decision, so it stays where you put it.
26
+
27
+ When more than one window has to be made smaller, the layout itself is gone — each was clamped on
28
+ its own, so windows that sat side by side now sit on top of each other — and they are laid out the
29
+ way **Arrange** would, for the screen there is now. The frames from the big screen are still
30
+ remembered, and come back with it.
31
+
32
+ A mounted `<Desktop>` watches its own size and does all of this. Without one, call
33
+ `desk.fitToStage()`: it returns which windows it `moved`, `squeezed` and `restored`.
34
+
21
35
  Give the desk somewhere to keep layouts and windows come back the way they were left:
22
36
 
23
37
  ```ts
@@ -70,6 +84,22 @@ what went wrong and offers Reload, which tries the import again rather than reme
70
84
  `renderWindow` is called with a window's id. The desk never owns your content, and a window keeps its DOM
71
85
  when focus moves, so scroll positions, carets and iframes survive.
72
86
 
87
+ ### How big a window may be
88
+
89
+ ```tsx
90
+ <Desktop
91
+ title={id => TITLES[id]}
92
+ limits={id => (id === 'about' ? { maxWidth: 720, maxHeight: 560 } : null)}
93
+ renderWindow={render}
94
+ />
95
+ ```
96
+
97
+ Most windows want the whole desk when filled and whatever they are dragged to when free, which is
98
+ what `null` says. A window whose content has a natural size — an About box, a short form — says so
99
+ and is never stretched past it, however it is filled, arranged or dragged; filled, it sits in the
100
+ middle of the room it was given rather than in a corner of it. `minWidth` and `minHeight` work the
101
+ same way.
102
+
73
103
  ### What a window is looking at
74
104
 
75
105
  ```tsx
@@ -308,8 +338,23 @@ part like any other:
308
338
  />
309
339
  ```
310
340
 
341
+ Give it `theme` and the app wears the desk's look instead of whatever its author hard-coded:
342
+
343
+ ```tsx
344
+ <AppFrame
345
+ title="Ride Card"
346
+ srcDoc={withAppBridge(generatedHtml)}
347
+ theme={{ mode: 'dark', tokens: { '--sb-bg-dark': '#0b0f1a', '--sb-accent': '#625fff' } }}
348
+ />
349
+ ```
350
+
351
+ The bridge sets those custom properties on the app's own root, stamps `data-desk-theme` and
352
+ `color-scheme` with the mode, and re-sends the lot whenever it changes — a person switching theme
353
+ switched the app too, not just the chrome around it. An app that would rather decide for itself can
354
+ read `desk.theme`, watch `desk.onTheme(…)`, or ignore both.
355
+
311
356
  Inside the page, the bridge gives it a small `desk` object: `desk.on(topic, …)`, `desk.onDrop(…)`,
312
- `desk.publish(topic, payload)` and `desk.open(window)`. The page runs sandboxed with no access to the host's
357
+ `desk.publish(topic, payload)`, `desk.open(window)`, `desk.theme` and `desk.onTheme()`. The page runs sandboxed with no access to the host's
313
358
  origin, and talks only through messages. The host grants each app its topics, drop types and windows;
314
359
  anything else it sends is dropped, and messages from anywhere but its own frame are ignored.
315
360
 
@@ -540,7 +585,23 @@ replace the entry. Other hash parameters are left alone.
540
585
  ## Theming
541
586
 
542
587
  Every value in `desk.css` reads a `--desk-*` custom property. Redefine the tokens; don't override the
543
- selectors. Light and dark follow `prefers-color-scheme`, and `data-theme="light|dark"` on the root wins.
588
+ selectors.
589
+
590
+ `desk.css` is every part of the stylesheet. An app that draws only some of it can take the parts it
591
+ uses instead, and ship less:
592
+
593
+ ```ts
594
+ import '@liberation-data/desk/css/tokens.css' // always: every other part reads these
595
+ import '@liberation-data/desk/css/windows.css' // the stage, windows, panes and toolbars
596
+ import '@liberation-data/desk/css/dock.css'
597
+ import '@liberation-data/desk/css/menus.css' // menu bar and context menus
598
+ import '@liberation-data/desk/css/controls.css' // buttons, fields, table, sidebar, icon view
599
+ import '@liberation-data/desk/css/overlays.css' // popovers, sheets, alerts, toasts, the (i)
600
+ import '@liberation-data/desk/css/conversation.css'
601
+ import '@liberation-data/desk/css/search.css'
602
+ import '@liberation-data/desk/css/setup.css' // the wizard and tours
603
+ import '@liberation-data/desk/css/apps.css' // app frames and dragging between windows
604
+ ``` Light and dark follow `prefers-color-scheme`, and `data-theme="light|dark"` on the root wins.
544
605
 
545
606
  ## Docs
546
607
 
@@ -20,6 +20,19 @@ export interface Desk {
20
20
  /** Replaces the whole state, e.g. from a URL. Unknown shapes are normalised, not trusted. */
21
21
  restore(state: DeskState): void;
22
22
  setStage(stage: () => Size): void;
23
+ /**
24
+ * The desk changed size — an external display unplugged, a window resized. Brings every free
25
+ * window back onto it, and puts each one back where it was when the room returns. Says which
26
+ * windows had to be made smaller to fit, because more than one of those means a layout that no
27
+ * longer exists and is worth laying out again.
28
+ */
29
+ fitToStage(): FitResult;
30
+ }
31
+ /** What a resize did: nothing, moved a window in, shrank one, or gave one its old frame back. */
32
+ export interface FitResult {
33
+ readonly moved: readonly WindowId[];
34
+ readonly squeezed: readonly WindowId[];
35
+ readonly restored: readonly WindowId[];
23
36
  }
24
37
  export declare const EMPTY: DeskState;
25
38
  export declare const focusedId: (state: DeskState) => WindowId | null;
@@ -1 +1 @@
1
- {"version":3,"file":"desk.d.ts","sourceRoot":"","sources":["../../src/core/desk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACT,MAAM,YAAY,CAAA;AAGnB,MAAM,WAAW,IAAI;IACnB,QAAQ,IAAI,SAAS,CAAA;IACrB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3D,4GAA4G;IAC5G,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC/C,6FAA6F;IAC7F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC3D,KAAK,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,QAAQ,IAAI,IAAI,CAAA;IAChB,KAAK,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,2GAA2G;IAC3G,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACxC,+FAA+F;IAC/F,IAAI,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,yDAAyD;IACzD,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAA;IACzD,6FAA6F;IAC7F,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;CAClC;AAED,eAAO,MAAM,KAAK,EAAE,SAAsC,CAAA;AAY1D,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,QAAQ,GAAG,IAAkC,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,UAAU,OAAQ,QAAQ,KAAG,MAAgC,CAAA;AAE1E,eAAO,MAAM,WAAW,UAAW,SAAS,QAAQ,MAAM,KAAG,SAAS,UAAU,EAC1B,CAAA;AAEtD,eAAO,MAAM,MAAM,UAAW,SAAS,MAAM,QAAQ,KAAG,OAA+C,CAAA;AAEvG,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,cAAgC,GAAG,KAAK,CAUjH;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,cAAgC,GAAG,MAAM,CAMxG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,cAAgC,GAAG,KAAK,CAM9H;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAMrD;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,WAAgB,GAAG,IAAI,CA2I1D"}
1
+ {"version":3,"file":"desk.d.ts","sourceRoot":"","sources":["../../src/core/desk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACT,MAAM,YAAY,CAAA;AAGnB,MAAM,WAAW,IAAI;IACnB,QAAQ,IAAI,SAAS,CAAA;IACrB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3D,4GAA4G;IAC5G,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC/C,6FAA6F;IAC7F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC3D,KAAK,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,QAAQ,IAAI,IAAI,CAAA;IAChB,KAAK,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,2GAA2G;IAC3G,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACxC,+FAA+F;IAC/F,IAAI,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,yDAAyD;IACzD,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAA;IACzD,6FAA6F;IAC7F,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IACjC;;;;;OAKG;IACH,UAAU,IAAI,SAAS,CAAA;CACxB;AAED,iGAAiG;AACjG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAA;CACvC;AAED,eAAO,MAAM,KAAK,EAAE,SAAsC,CAAA;AAY1D,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,QAAQ,GAAG,IAAkC,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,UAAU,OAAQ,QAAQ,KAAG,MAAgC,CAAA;AAE1E,eAAO,MAAM,WAAW,UAAW,SAAS,QAAQ,MAAM,KAAG,SAAS,UAAU,EAC1B,CAAA;AAEtD,eAAO,MAAM,MAAM,UAAW,SAAS,MAAM,QAAQ,KAAG,OAA+C,CAAA;AAEvG,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,cAAgC,GAAG,KAAK,CAUjH;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,cAAgC,GAAG,MAAM,CAMxG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,cAAgC,GAAG,KAAK,CAM9H;AAMD,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAMrD;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,WAAgB,GAAG,IAAI,CA2L1D"}
package/dist/core/desk.js CHANGED
@@ -49,6 +49,8 @@ export function nextCascadeFrame(windows, stage, options = DEFAULT_CASCADE) {
49
49
  return cascadeFrame(slot, stage, options);
50
50
  return cascadeFrame(taken.size % options.wrap, stage, options);
51
51
  }
52
+ /** Is this frame wholly on a desk of this size? */
53
+ const withinStage = (frame, stage) => frame.x >= 0 && frame.y >= 0 && frame.x + frame.width <= stage.width && frame.y + frame.height <= stage.height;
52
54
  /** Drops duplicate ids and makes the stack agree with the windows. */
53
55
  export function normalise(state) {
54
56
  const windows = state.windows.filter((w, i, all) => all.findIndex(o => o.id === w.id) === i);
@@ -78,6 +80,15 @@ export function createDesk(options = {}) {
78
80
  const find = (id) => state.windows.find(w => w.id === id);
79
81
  /** Where each window was last free, so filling it and freeing it again is not a surprise. */
80
82
  const remembered = new Map();
83
+ /*
84
+ * Where a window was before the desk got smaller.
85
+ *
86
+ * Undocking a laptop is not a decision about your layout: the windows you spread across a big
87
+ * screen are suddenly past its edge, where they cannot be dragged back from. They are brought in
88
+ * — and kept, so plugging the display back in puts them out again exactly as they were. Move a
89
+ * window yourself while small and that is a decision, so the old frame is forgotten.
90
+ */
91
+ const beforeShrink = new Map();
81
92
  /** A remembered frame is only worth restoring while it still lands on this screen. */
82
93
  const fits = (frame) => {
83
94
  if (!frame)
@@ -93,8 +104,11 @@ export function createDesk(options = {}) {
93
104
  if (window.mode === 'floating' && !frame)
94
105
  return;
95
106
  const next = frame ?? fits(remembered.get(id)) ?? nextFrame(state);
96
- if (frame)
107
+ if (frame) {
97
108
  remembered.set(id, frame);
109
+ // Put here on purpose, so this is where it belongs now.
110
+ beforeShrink.delete(id);
111
+ }
98
112
  layouts?.save(windowType(id), { mode: 'floating', frame: next });
99
113
  commit(toFront(replace(state, { id, mode: 'floating', frame: next }), id));
100
114
  };
@@ -190,6 +204,46 @@ export function createDesk(options = {}) {
190
204
  setStage(next) {
191
205
  stage = next;
192
206
  },
207
+ fitToStage() {
208
+ const nothing = { moved: [], squeezed: [], restored: [] };
209
+ const size = stage();
210
+ if (size.width <= 0 || size.height <= 0)
211
+ return nothing;
212
+ const moved = [];
213
+ const squeezed = [];
214
+ const restored = [];
215
+ const windows = state.windows.map(window => {
216
+ if (window.mode !== 'floating')
217
+ return window;
218
+ // The desk is big enough again for where this window used to be: put it back.
219
+ const before = beforeShrink.get(window.id);
220
+ if (before && withinStage(before, size)) {
221
+ beforeShrink.delete(window.id);
222
+ restored.push(window.id);
223
+ return { ...window, frame: before };
224
+ }
225
+ if (withinStage(window.frame, size))
226
+ return window;
227
+ const fitted = fitFrame(window.frame, size);
228
+ if (!beforeShrink.has(window.id))
229
+ beforeShrink.set(window.id, before ?? window.frame);
230
+ if (!fitted) {
231
+ // Too small to be a window here at all: it fills the desk until there is room again.
232
+ squeezed.push(window.id);
233
+ return { id: window.id, mode: 'filled' };
234
+ }
235
+ // Only nudged back in, or actually made smaller? The second means its place is gone.
236
+ if (fitted.width < window.frame.width || fitted.height < window.frame.height)
237
+ squeezed.push(window.id);
238
+ else
239
+ moved.push(window.id);
240
+ return { ...window, frame: fitted };
241
+ });
242
+ if (!moved.length && !squeezed.length && !restored.length)
243
+ return nothing;
244
+ commit({ ...state, windows });
245
+ return { moved, squeezed, restored };
246
+ },
193
247
  };
194
248
  }
195
249
  //# sourceMappingURL=desk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/core/desk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/core/desk.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { createDesk, cascadeFrame, cascadeSlot, focusedId, instancesOf, isOpen, nextCascadeFrame, normalise, windowType, EMPTY, } from './desk.js';
2
- export type { Desk } from './desk.js';
2
+ export type { Desk, FitResult } from './desk.js';
3
3
  export { addCommandHandler, addDeskCommands, canPerform, chainStart, DeskCommands, perform, STAGE_ATTRIBUTE, WINDOW_ATTRIBUTE, windowElement, } from './commands.js';
4
4
  export type { ChainOptions, CommandHandler, CommandId, CommandOptions } from './commands.js';
5
5
  export { createBus, InputCommands, topicMatches } from './events.js';
@@ -11,5 +11,5 @@ export { isTitleCase, titleCase } from './titles.js';
11
11
  export { fitFrame, localLayoutStore, stepFrom } from './layouts.js';
12
12
  export type { LayoutStore, SavedLayout } from './layouts.js';
13
13
  export type { LocationEnv, LocationOptions } from './location.js';
14
- export type { CascadeOptions, DeskOptions, DeskState, DeskWindow, Frame, OpenOptions, Size, WindowId, WindowMode, } from './types.js';
14
+ export type { CascadeOptions, DeskOptions, DeskState, DeskWindow, Frame, OpenOptions, Size, WindowId, WindowLimits, WindowMode, } from './types.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,KAAK,GACN,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACpE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC/H,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACjE,YAAY,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,KAAK,GACN,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACpE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC/H,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACjE,YAAY,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAA"}
@@ -51,4 +51,11 @@ export interface OpenOptions {
51
51
  readonly mode?: WindowMode;
52
52
  readonly frame?: Frame;
53
53
  }
54
+ /** How big a window may be. Everything is optional; a window with no limits takes what it is given. */
55
+ export interface WindowLimits {
56
+ readonly minWidth?: number;
57
+ readonly minHeight?: number;
58
+ readonly maxWidth?: number;
59
+ readonly maxHeight?: number;
60
+ }
54
61
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,UAAU;AACpB,oDAAoD;AAClD;IAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAE/E,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;AAE3C,MAAM,WAAW,SAAS;IACxB,0HAA0H;IAC1H,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IACvC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1C,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,UAAU;AACpB,oDAAoD;AAClD;IAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAE/E,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;AAE3C,MAAM,WAAW,SAAS;IACxB,0HAA0H;IAC1H,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IACvC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1C,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB;AAED,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B"}
@@ -0,0 +1,57 @@
1
+ /* @liberation-data/desk — apps.css */
2
+ /* ── Dragging between windows ── */
3
+
4
+ .desk-drag-preview {
5
+ position: fixed;
6
+ z-index: 1600;
7
+ transform: translate(12px, 12px);
8
+ padding: var(--desk-space-1) var(--desk-space-3);
9
+ border: 1px solid var(--desk-rule);
10
+ border-radius: 8px;
11
+ background: var(--desk-surface);
12
+ box-shadow: var(--desk-shadow-floating);
13
+ color: var(--desk-ink);
14
+ font-family: var(--desk-font);
15
+ font-size: 12.5px;
16
+ pointer-events: none;
17
+ }
18
+
19
+ [data-desk-draggable] {
20
+ cursor: grab;
21
+ touch-action: none;
22
+ /* Pressing to drag should pick the thing up, not start selecting its text. */
23
+ user-select: none;
24
+ -webkit-user-select: none;
25
+ }
26
+
27
+ [data-desk-draggable]:active {
28
+ cursor: grabbing;
29
+ }
30
+
31
+ /* A target says it could take this while something is being carried, and lights up under it. */
32
+ [data-desk-drop][data-ready] {
33
+ outline: 1px dashed color-mix(in srgb, var(--desk-accent) 55%, transparent);
34
+ outline-offset: -3px;
35
+ border-radius: 8px;
36
+ }
37
+
38
+ [data-desk-drop][data-over] {
39
+ outline: 2px solid var(--desk-accent);
40
+ background: color-mix(in srgb, var(--desk-accent) 12%, transparent);
41
+ }
42
+
43
+ /* ── A generated app in a window ── */
44
+
45
+ .desk-app-frame {
46
+ position: relative;
47
+ height: 100%;
48
+ min-height: 0;
49
+ display: flex;
50
+ }
51
+
52
+ .desk-app-frame-page {
53
+ flex: 1;
54
+ width: 100%;
55
+ border: 0;
56
+ background: var(--desk-surface);
57
+ }