flexdesk 0.17.17 → 0.17.18

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 (211) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +0 -0
  3. package/README.md +0 -0
  4. package/THIRD_PARTY_LICENSES.md +0 -0
  5. package/canvas.js +0 -0
  6. package/charts.js +0 -0
  7. package/core.js +0 -0
  8. package/css/base.css +20 -0
  9. package/css/flexdesk.css +20 -0
  10. package/css/reset.css +0 -0
  11. package/dist/canvas.js +0 -0
  12. package/dist/canvas.js.map +0 -0
  13. package/dist/chunk-3PHCPZHT.js +0 -0
  14. package/dist/chunk-3PHCPZHT.js.map +0 -0
  15. package/dist/chunk-FOOS3T5L.js +0 -0
  16. package/dist/chunk-FOOS3T5L.js.map +0 -0
  17. package/dist/chunk-GOQLR5WR.js +0 -0
  18. package/dist/chunk-GOQLR5WR.js.map +0 -0
  19. package/dist/{chunk-JKZLNKG6.js → chunk-HKPB6OFA.js} +90 -25
  20. package/dist/{chunk-JKZLNKG6.js.map → chunk-HKPB6OFA.js.map} +2 -2
  21. package/dist/chunk-HNU6MM2B.js +0 -0
  22. package/dist/chunk-HNU6MM2B.js.map +0 -0
  23. package/dist/chunk-JYWURG5T.js +0 -0
  24. package/dist/chunk-JYWURG5T.js.map +0 -0
  25. package/dist/chunk-N7HC3ADV.js +0 -0
  26. package/dist/chunk-N7HC3ADV.js.map +0 -0
  27. package/dist/editor.js.map +0 -0
  28. package/dist/flexdesk.css +20 -0
  29. package/dist/flow.js.map +0 -0
  30. package/dist/host.js +0 -0
  31. package/dist/host.js.map +0 -0
  32. package/dist/reset.css +0 -0
  33. package/dist/tile_registry-6WZPTUZV.js +0 -0
  34. package/dist/tile_registry-6WZPTUZV.js.map +0 -0
  35. package/dist/widgets.js +2 -1
  36. package/dist/widgets.js.map +2 -2
  37. package/dist/wm.js +1 -1
  38. package/docs/components/command-palette.md +0 -0
  39. package/docs/components/conversation.md +0 -0
  40. package/docs/components/data-table-grid.md +0 -0
  41. package/docs/components/data-table.md +0 -0
  42. package/docs/components/editor.md +0 -0
  43. package/docs/components/flow-canvas-editor.md +0 -0
  44. package/docs/components/flow-editors.md +0 -0
  45. package/docs/components/flow-lane-editor.md +0 -0
  46. package/docs/components/flow-outline-editor.md +0 -0
  47. package/docs/components/input-fields.md +0 -0
  48. package/docs/components/markdown-and-outline.md +0 -0
  49. package/docs/components/menus.md +38 -1
  50. package/docs/components/record-list-and-fact-table.md +0 -0
  51. package/docs/components/settings-view.md +0 -0
  52. package/docs/components/wizard.md +0 -0
  53. package/docs/concepts/building-and-packaging.md +0 -0
  54. package/docs/concepts/domain-neutrality.md +0 -0
  55. package/docs/concepts/host-port.md +0 -0
  56. package/docs/concepts/packages-and-entry-points.md +0 -0
  57. package/docs/concepts/peer-dependencies.md +0 -0
  58. package/docs/quickstart.md +0 -0
  59. package/editor.js +0 -0
  60. package/flow.js +0 -0
  61. package/host.js +0 -0
  62. package/package.json +1 -1
  63. package/src/canvas/canvas_adapter.js +0 -0
  64. package/src/canvas/edge_router.js +0 -0
  65. package/src/canvas/graph/connector_router.js +0 -0
  66. package/src/canvas/graph/history_service.js +0 -0
  67. package/src/canvas/graph/node_platform.js +0 -0
  68. package/src/canvas/index.js +0 -0
  69. package/src/canvas/layered_layout.js +0 -0
  70. package/src/charts/data_series_plot_window.js +0 -0
  71. package/src/charts/downsample.js +0 -0
  72. package/src/charts/plot_config.js +0 -0
  73. package/src/charts/plotly_wrapper.js +0 -0
  74. package/src/core/event_bus.js +0 -0
  75. package/src/core/logging.js +0 -0
  76. package/src/core/settings.js +0 -0
  77. package/src/core/state_guard.js +0 -0
  78. package/src/core/state_machine.js +0 -0
  79. package/src/editor/editor_pane.js +0 -0
  80. package/src/editor/monaco_editor_factory.js +0 -0
  81. package/src/editor/monaco_loader.js +0 -0
  82. package/src/editor/notebook_search.js +0 -0
  83. package/src/editor/notebook_undo_manager.js +0 -0
  84. package/src/editor/split_pane_container.js +0 -0
  85. package/src/flow/canvas_editor/connections.js +0 -0
  86. package/src/flow/canvas_editor/editor.js +0 -0
  87. package/src/flow/canvas_editor/index.js +0 -0
  88. package/src/flow/canvas_editor/layout.js +0 -0
  89. package/src/flow/canvas_editor/strings.js +0 -0
  90. package/src/flow/kit/always_before.js +0 -0
  91. package/src/flow/kit/catalogue.js +0 -0
  92. package/src/flow/kit/chip_input.js +0 -0
  93. package/src/flow/kit/dom.js +0 -0
  94. package/src/flow/kit/findings.js +0 -0
  95. package/src/flow/kit/history.js +0 -0
  96. package/src/flow/kit/index.js +0 -0
  97. package/src/flow/kit/keys.js +0 -0
  98. package/src/flow/kit/logic_graph.js +0 -0
  99. package/src/flow/kit/references.js +0 -0
  100. package/src/flow/kit/settings_panel.js +0 -0
  101. package/src/flow/kit/settings_schema.js +0 -0
  102. package/src/flow/kit/step_picker.js +0 -0
  103. package/src/flow/kit/strings.js +0 -0
  104. package/src/flow/kit/value_picker.js +0 -0
  105. package/src/flow/kit/widgets.js +0 -0
  106. package/src/flow/lanes/editor.js +0 -0
  107. package/src/flow/lanes/index.js +0 -0
  108. package/src/flow/lanes/layout.js +0 -0
  109. package/src/flow/lanes/pipeline.js +0 -0
  110. package/src/flow/lanes/preview.js +0 -0
  111. package/src/flow/lanes/strings.js +0 -0
  112. package/src/flow/outline/editor.js +0 -0
  113. package/src/flow/outline/index.js +0 -0
  114. package/src/flow/outline/mapping.js +0 -0
  115. package/src/flow/outline/menu.js +0 -0
  116. package/src/flow/outline/operations.js +0 -0
  117. package/src/flow/outline/recognise.js +0 -0
  118. package/src/flow/outline/strings.js +0 -0
  119. package/src/help/help_modal.js +0 -0
  120. package/src/help/help_registry.js +0 -0
  121. package/src/host/external_links.js +0 -0
  122. package/src/host/file_picker.js +0 -0
  123. package/src/host/host.js +0 -0
  124. package/src/host/photino_host.js +0 -0
  125. package/src/host/photino_host.md +0 -0
  126. package/src/host/pywebview_host.js +0 -0
  127. package/src/tiles/chart_tiles.js +0 -0
  128. package/src/tiles/config_schema.js +0 -0
  129. package/src/tiles/figure_tile.js +0 -0
  130. package/src/tiles/layout_persistence.js +0 -0
  131. package/src/tiles/list_tiles.js +0 -0
  132. package/src/tiles/scope_picker.js +0 -0
  133. package/src/tiles/tile_config_form.js +0 -0
  134. package/src/tiles/tile_registry.js +0 -0
  135. package/src/tiling/bottom_panel_tabs.js +0 -0
  136. package/src/tiling/command_palette.js +0 -0
  137. package/src/tiling/content_registry.js +0 -0
  138. package/src/tiling/entity_sources.js +0 -0
  139. package/src/tiling/landing_table.js +0 -0
  140. package/src/tiling/loading_overlay.js +0 -0
  141. package/src/tiling/nav_panel.js +0 -0
  142. package/src/tiling/page_factory.js +0 -0
  143. package/src/tiling/panel_availability.js +0 -0
  144. package/src/tiling/panel_keys.js +0 -0
  145. package/src/tiling/tab_strip.js +0 -0
  146. package/src/tiling/tile_renderer.js +0 -0
  147. package/src/tiling/tile_tab_menu.js +0 -0
  148. package/src/tiling/zoom.js +0 -0
  149. package/src/ui/base/component_base.js +0 -0
  150. package/src/ui/base/controller_base.js +0 -0
  151. package/src/ui/base/page_base.js +0 -0
  152. package/src/ui/components/about_dialog.js +0 -0
  153. package/src/ui/components/alert_log.js +0 -0
  154. package/src/ui/components/alerts_pane.js +0 -0
  155. package/src/ui/components/attribute_list_editor.js +0 -0
  156. package/src/ui/components/autocomplete_field.js +0 -0
  157. package/src/ui/components/cell_editor_host.js +0 -0
  158. package/src/ui/components/cell_editors.js +0 -0
  159. package/src/ui/components/cell_grid.js +0 -0
  160. package/src/ui/components/cell_paste.js +0 -0
  161. package/src/ui/components/cell_selection.js +0 -0
  162. package/src/ui/components/choice_controls.js +0 -0
  163. package/src/ui/components/color_field.js +0 -0
  164. package/src/ui/components/color_list_field.js +0 -0
  165. package/src/ui/components/column_fit.js +0 -0
  166. package/src/ui/components/column_groups.js +0 -0
  167. package/src/ui/components/column_order.js +0 -0
  168. package/src/ui/components/conversation_view.js +0 -0
  169. package/src/ui/components/crosstab.js +0 -0
  170. package/src/ui/components/detail_header.js +0 -0
  171. package/src/ui/components/document_outline.js +0 -0
  172. package/src/ui/components/drag_reorder.js +0 -0
  173. package/src/ui/components/fact_table.js +0 -0
  174. package/src/ui/components/fill_handle.js +0 -0
  175. package/src/ui/components/gallery_picker.js +0 -0
  176. package/src/ui/components/header_actions.js +0 -0
  177. package/src/ui/components/inline_renamer.js +0 -0
  178. package/src/ui/components/job_progress.js +0 -0
  179. package/src/ui/components/menu_bar.js +101 -24
  180. package/src/ui/components/progress.js +0 -0
  181. package/src/ui/components/record_list.js +0 -0
  182. package/src/ui/components/row_activation.js +0 -0
  183. package/src/ui/components/section_stack.js +0 -0
  184. package/src/ui/components/series.js +0 -0
  185. package/src/ui/components/settings_view.js +0 -0
  186. package/src/ui/components/slide_out_panel.js +0 -0
  187. package/src/ui/components/slider_field.js +0 -0
  188. package/src/ui/components/sortable_list.js +0 -0
  189. package/src/ui/components/staged_edits.js +0 -0
  190. package/src/ui/components/staged_history.js +0 -0
  191. package/src/ui/components/table_filter_chips.js +0 -0
  192. package/src/ui/components/table_state_store.js +0 -0
  193. package/src/ui/components/table_structure.js +0 -0
  194. package/src/ui/components/table_values.js +0 -0
  195. package/src/ui/components/tabs.js +0 -0
  196. package/src/ui/components/tag_input.js +0 -0
  197. package/src/ui/components/toast.js +0 -0
  198. package/src/ui/components/toggle_field.js +0 -0
  199. package/src/ui/components/tsv.js +0 -0
  200. package/src/ui/components/window_taskbar.js +0 -0
  201. package/src/ui/controllers/window_chrome_controller.js +4 -1
  202. package/src/ui/utils/auto_scrollbars.js +0 -0
  203. package/src/ui/utils/markdown.js +0 -0
  204. package/src/ui/utils/native_context_menu.js +0 -0
  205. package/src/ui/utils/overlay_scrollbar.js +0 -0
  206. package/src/ui/utils/raf_resize_observer.js +0 -0
  207. package/src/ui/utils/scroll_lock.js +0 -0
  208. package/src/ui/utils/strip_scroll.js +0 -0
  209. package/src/ui/utils/tooltip_service.js +0 -0
  210. package/tiles.js +0 -0
  211. package/wm.js +0 -0
package/dist/wm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HelpModal,
3
3
  createMenuBar
4
- } from "./chunk-JKZLNKG6.js";
4
+ } from "./chunk-HKPB6OFA.js";
5
5
  import {
6
6
  TAB_LEVELS,
7
7
  createTabs
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -66,7 +66,8 @@ bar.setChecked('dark', true); // …and unchecks the rest of the radio group
66
66
  `createMenuBar(el, opts)` returns a `MenuBar` (also exported, for
67
67
  `instanceof`). Its methods: `open(menuId, { focusItem })`, `close()`,
68
68
  `focus()`, `isOpen()`, `isEnabled(id)`, `isChecked(id)`, `setEnabled(id, on)`,
69
- `setChecked(id, on)`, `commands()` and `dispose()`.
69
+ `setChecked(id, on)`, `commands()`, `setStyle(style)` (0.17.18, below) and
70
+ `dispose()`.
70
71
 
71
72
  - **Pointer.** Clicking a title opens its menu; while one is open, hovering
72
73
  another title switches to it. Hovering an item with a submenu opens it.
@@ -101,6 +102,42 @@ The bar is `.twm-menubar` (not the older `.twm-menu-bar` icon strip).
101
102
  `tests/menu_bar.test.mjs` drives it in jsdom; `tests/menu_bar_css.test.mjs`
102
103
  holds its stylesheet.
103
104
 
105
+ ## A hamburger instead of the bar: `style: 'hamburger'` (0.17.18)
106
+
107
+ The same menus can be drawn as one icon button in place of the row of titles,
108
+ for a top bar with no room for File / Edit / Help. Its menu lists the menus,
109
+ and each one flies out its items: ☰ › File › Open…
110
+
111
+ ```js
112
+ const bar = createMenuBar(el, { menus, onAction, style: 'hamburger', label: 'Main menu' });
113
+ bar.setStyle('bar'); // and back: bar.setStyle('hamburger')
114
+ bar.style; // 'bar' | 'hamburger'
115
+ ```
116
+
117
+ - **Options.** `style` is `'bar'` (the default) or `'hamburger'`; anything
118
+ else is a boot error. `icon` is the button's Material Symbols glyph
119
+ (`'menu'`). `label` names the button (its `aria-label` and its tooltip).
120
+ - **The same model.** `onAction`, `setEnabled`, `setChecked`, `isEnabled`,
121
+ `isChecked` and `commands()` work as in the bar; an item fires with its own
122
+ id, never a hamburger id.
123
+ - **`open(menuId, { focusItem })`** opens the hamburger with that menu flown
124
+ out, focus on its row (or, with `focusItem`, on its first item).
125
+ - **Keyboard.** Alt or F10 focuses the button; Down, Enter or Space opens it.
126
+ In its menu Up/Down move across the menus, Right flies one out and Left
127
+ closes it. There is no next or previous title, so Left/Right on the button
128
+ itself, and at the top level of its menu, go nowhere. Esc closes one level.
129
+ - **`setStyle(style)`** switches at run time (a setting, a narrow window). It
130
+ closes whatever is open and keeps every `setEnabled` / `setChecked`; if the
131
+ bar had focus, the first title (or the button) gets it.
132
+ - **Styling.** The bar gets `.twm-menubar--hamburger`, the button
133
+ `.twm-menubar__title--icon`, the size of the top bar's other icon buttons
134
+ (`.twm-panel-toggle-btn`).
135
+
136
+ In a shell, pass it with the model: `menuBar: { menus, onAction, style:
137
+ 'hamburger' }`, and switch later through `shell.chrome.menuBar.setStyle(…)`.
138
+ A hamburger belongs in the top bar itself (at the left, before the app's
139
+ icon), not in the `.twm-global-menu-bar` row below.
140
+
104
141
  ## The menu bar in its own row under the top bar (0.17.13)
105
142
 
106
143
  A shell's menu bar can sit on a second line, as a full-width strip directly
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/editor.js CHANGED
File without changes
package/flow.js CHANGED
File without changes
package/host.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flexdesk",
3
- "version": "0.17.17",
3
+ "version": "0.17.18",
4
4
  "description": "A tiling window manager and widget set for desktop-class web applications. Zero runtime dependencies.",
5
5
  "license": "MIT",
6
6
  "repository": {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/src/host/host.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes