flexdesk 0.16.1 → 0.17.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 (252) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/LICENSE +0 -0
  3. package/README.md +2217 -42
  4. package/THIRD_PARTY_LICENSES.md +0 -0
  5. package/css/base.css +1834 -75
  6. package/css/flexdesk.css +3146 -164
  7. package/css/overrides.css +16 -0
  8. package/css/reset.css +0 -0
  9. package/css/tokens.css +0 -0
  10. package/dist/canvas.js +6 -239
  11. package/dist/canvas.js.map +3 -3
  12. package/dist/charts.js +709 -18
  13. package/dist/charts.js.map +4 -4
  14. package/dist/chunk-3PHCPZHT.js +0 -0
  15. package/dist/chunk-3PHCPZHT.js.map +0 -0
  16. package/dist/chunk-4A7SJC3T.js +503 -0
  17. package/dist/chunk-4A7SJC3T.js.map +7 -0
  18. package/dist/{chunk-6JSOVNID.js → chunk-CVMCZZX2.js} +635 -10
  19. package/dist/chunk-CVMCZZX2.js.map +7 -0
  20. package/dist/chunk-D3COLZZ2.js +1311 -0
  21. package/dist/chunk-D3COLZZ2.js.map +7 -0
  22. package/dist/chunk-FOOS3T5L.js +0 -0
  23. package/dist/chunk-FOOS3T5L.js.map +0 -0
  24. package/dist/{chunk-SN4LSOAR.js → chunk-GOQLR5WR.js} +452 -2
  25. package/dist/chunk-GOQLR5WR.js.map +7 -0
  26. package/dist/{chunk-FL5KFNQH.js → chunk-HNU6MM2B.js} +52 -17
  27. package/dist/chunk-HNU6MM2B.js.map +7 -0
  28. package/dist/chunk-HYJYYEPK.js +375 -0
  29. package/dist/chunk-HYJYYEPK.js.map +7 -0
  30. package/dist/chunk-JKZLNKG6.js +2041 -0
  31. package/dist/chunk-JKZLNKG6.js.map +7 -0
  32. package/dist/chunk-JYWURG5T.js +0 -0
  33. package/dist/chunk-JYWURG5T.js.map +0 -0
  34. package/dist/{chunk-RQM5Z2MU.js → chunk-MCIXFNVF.js} +633 -311
  35. package/dist/chunk-MCIXFNVF.js.map +7 -0
  36. package/dist/chunk-N7HC3ADV.js +30 -0
  37. package/dist/chunk-N7HC3ADV.js.map +7 -0
  38. package/dist/{chunk-FBGP5KN5.js → chunk-Q36EPT2R.js} +3268 -203
  39. package/dist/chunk-Q36EPT2R.js.map +7 -0
  40. package/dist/chunk-QWQJUDPD.js +610 -0
  41. package/dist/chunk-QWQJUDPD.js.map +7 -0
  42. package/dist/{chunk-NLTOY57M.js → chunk-UURZ37SD.js} +28 -48
  43. package/dist/chunk-UURZ37SD.js.map +7 -0
  44. package/dist/{chunk-B5Q53LAJ.js → chunk-UWO43BZU.js} +2 -2
  45. package/dist/chunk-UWO43BZU.js.map +7 -0
  46. package/dist/chunk-WVFGV5FT.js +0 -0
  47. package/dist/chunk-WVFGV5FT.js.map +0 -0
  48. package/dist/core.js +170 -118
  49. package/dist/core.js.map +2 -2
  50. package/dist/editor.js +156 -70
  51. package/dist/editor.js.map +2 -2
  52. package/dist/flexdesk.css +3146 -164
  53. package/dist/flow.js +2789 -306
  54. package/dist/flow.js.map +4 -4
  55. package/dist/host.js +109 -3
  56. package/dist/host.js.map +3 -3
  57. package/dist/reset.css +0 -0
  58. package/dist/tile_registry-6WZPTUZV.js +0 -0
  59. package/dist/tile_registry-6WZPTUZV.js.map +0 -0
  60. package/dist/tiles.js +657 -234
  61. package/dist/tiles.js.map +4 -4
  62. package/dist/tokens.css +0 -0
  63. package/dist/widgets.js +3252 -2124
  64. package/dist/widgets.js.map +4 -4
  65. package/dist/wm.js +1227 -347
  66. package/dist/wm.js.map +4 -4
  67. package/package.json +3 -1
  68. package/src/canvas/canvas_adapter.js +5 -0
  69. package/src/canvas/edge_router.js +0 -0
  70. package/src/canvas/graph/connector_router.js +0 -0
  71. package/src/canvas/graph/history_service.js +0 -0
  72. package/src/canvas/graph/node_platform.js +0 -0
  73. package/src/canvas/index.js +1 -0
  74. package/src/canvas/layered_layout.js +244 -0
  75. package/src/charts/chart_types.js +0 -0
  76. package/src/charts/data_series_plot_window.js +0 -0
  77. package/src/charts/downsample.js +2 -2
  78. package/src/charts/plot_config.js +53 -29
  79. package/src/charts/plot_config_editor.js +627 -0
  80. package/src/charts/plot_grid.js +449 -0
  81. package/src/charts/plot_popout_window.js +103 -317
  82. package/src/charts/plotly_wrapper.js +22 -2
  83. package/src/charts/series_transforms.js +206 -0
  84. package/src/core/event_bus.js +0 -0
  85. package/src/core/logging.js +1 -1
  86. package/src/core/settings.js +105 -19
  87. package/src/core/state_guard.js +93 -51
  88. package/src/core/state_guard_config.js +85 -74
  89. package/src/core/state_machine.js +0 -0
  90. package/src/editor/editor_pane.js +3 -3
  91. package/src/editor/monaco_editor_factory.js +124 -60
  92. package/src/editor/monaco_loader.js +103 -28
  93. package/src/editor/notebook_search.js +0 -0
  94. package/src/editor/notebook_tab_bar.js +38 -52
  95. package/src/editor/notebook_undo_manager.js +0 -0
  96. package/src/editor/split_pane_container.js +6 -3
  97. package/src/flow/canvas_editor/connections.js +90 -0
  98. package/src/flow/canvas_editor/editor.js +2351 -153
  99. package/src/flow/canvas_editor/index.js +2 -1
  100. package/src/flow/canvas_editor/layout.js +119 -12
  101. package/src/flow/canvas_editor/strings.js +80 -0
  102. package/src/flow/kit/always_before.js +0 -0
  103. package/src/flow/kit/catalogue.js +97 -3
  104. package/src/flow/kit/chip_input.js +0 -0
  105. package/src/flow/kit/dom.js +0 -0
  106. package/src/flow/kit/findings.js +0 -0
  107. package/src/flow/kit/history.js +0 -0
  108. package/src/flow/kit/index.js +3 -3
  109. package/src/flow/kit/keys.js +7 -1
  110. package/src/flow/kit/logic_graph.js +97 -15
  111. package/src/flow/kit/references.js +0 -0
  112. package/src/flow/kit/settings_panel.js +0 -0
  113. package/src/flow/kit/settings_schema.js +2 -1
  114. package/src/flow/kit/step_picker.js +0 -0
  115. package/src/flow/kit/strings.js +3 -1
  116. package/src/flow/kit/value_picker.js +0 -0
  117. package/src/flow/kit/widgets.js +86 -109
  118. package/src/flow/lanes/editor.js +136 -14
  119. package/src/flow/lanes/index.js +3 -1
  120. package/src/flow/lanes/layout.js +0 -0
  121. package/src/flow/lanes/pipeline.js +44 -2
  122. package/src/flow/lanes/preview.js +0 -0
  123. package/src/flow/lanes/strings.js +1 -0
  124. package/src/flow/outline/editor.js +0 -0
  125. package/src/flow/outline/index.js +0 -0
  126. package/src/flow/outline/mapping.js +0 -0
  127. package/src/flow/outline/menu.js +0 -0
  128. package/src/flow/outline/operations.js +0 -0
  129. package/src/flow/outline/recognise.js +0 -0
  130. package/src/flow/outline/strings.js +0 -0
  131. package/src/help/help_modal.js +168 -42
  132. package/src/help/help_registry.js +12 -1
  133. package/src/host/external_links.js +0 -0
  134. package/src/host/file_picker.js +117 -0
  135. package/src/host/host.js +10 -2
  136. package/src/host/photino_host.js +9 -0
  137. package/src/host/photino_host.md +21 -3
  138. package/src/host/pywebview_host.js +10 -0
  139. package/src/tiles/chart_tiles.js +53 -245
  140. package/src/tiles/config_schema.js +8 -0
  141. package/src/tiles/figure_tile.js +322 -0
  142. package/src/tiles/layout_persistence.js +3 -3
  143. package/src/tiles/list_tiles.js +7 -7
  144. package/src/tiles/scope_picker.js +0 -0
  145. package/src/tiles/tile_base.js +1 -1
  146. package/src/tiles/tile_config_form.js +442 -0
  147. package/src/tiles/tile_grid.js +2 -0
  148. package/src/tiles/tile_registry.js +0 -0
  149. package/src/tiling/bottom_panel_tabs.js +67 -99
  150. package/src/tiling/command_palette.js +64 -19
  151. package/src/tiling/content_registry.js +4 -1
  152. package/src/tiling/desktops.js +11 -1
  153. package/src/tiling/entity_sources.js +0 -0
  154. package/src/tiling/keymap.js +403 -128
  155. package/src/tiling/kind_taxonomy.js +78 -0
  156. package/src/tiling/landing_table.js +0 -0
  157. package/src/tiling/loading_overlay.js +0 -0
  158. package/src/tiling/nav_panel.js +59 -10
  159. package/src/tiling/page_factory.js +5 -5
  160. package/src/tiling/panel_availability.js +49 -0
  161. package/src/tiling/panel_keys.js +0 -0
  162. package/src/tiling/shell.js +114 -12
  163. package/src/tiling/tab_strip.js +0 -0
  164. package/src/tiling/tile_breadcrumb.js +0 -0
  165. package/src/tiling/tile_renderer.js +105 -9
  166. package/src/tiling/tile_tab_menu.js +0 -0
  167. package/src/tiling/tile_tree.js +0 -0
  168. package/src/tiling/wm.js +562 -30
  169. package/src/tiling/zoom.js +0 -0
  170. package/src/ui/base/component_base.js +0 -0
  171. package/src/ui/base/controller_base.js +0 -0
  172. package/src/ui/base/page_base.js +0 -0
  173. package/src/ui/components/about_dialog.js +0 -0
  174. package/src/ui/components/action_dropdown.js +30 -2
  175. package/src/ui/components/alert_log.js +0 -0
  176. package/src/ui/components/alerts_pane.js +0 -0
  177. package/src/ui/components/attribute_list_editor.js +0 -0
  178. package/src/ui/components/autocomplete_field.js +0 -0
  179. package/src/ui/components/cell_editor_host.js +211 -0
  180. package/src/ui/components/cell_grid.js +648 -0
  181. package/src/ui/components/cell_selection.js +220 -0
  182. package/src/ui/components/choice_controls.js +351 -0
  183. package/src/ui/components/color_field.js +211 -0
  184. package/src/ui/components/color_list_field.js +210 -0
  185. package/src/ui/components/column_fit.js +0 -0
  186. package/src/ui/components/column_groups.js +314 -0
  187. package/src/ui/components/column_order.js +142 -0
  188. package/src/ui/components/computing_status_window.js +98 -25
  189. package/src/ui/components/confirm_dialog.js +81 -38
  190. package/src/ui/components/context_menu.js +2 -2
  191. package/src/ui/components/conversation_view.js +440 -0
  192. package/src/ui/components/crosstab.js +289 -0
  193. package/src/ui/components/data_table.js +601 -62
  194. package/src/ui/components/detail_header.js +22 -11
  195. package/src/ui/components/document_outline.js +397 -0
  196. package/src/ui/components/drag_reorder.js +0 -0
  197. package/src/ui/components/fact_table.js +0 -0
  198. package/src/ui/components/fill_handle.js +322 -0
  199. package/src/ui/components/gallery_picker.js +19 -8
  200. package/src/ui/components/header_actions.js +55 -0
  201. package/src/ui/components/inline_renamer.js +0 -0
  202. package/src/ui/components/job_progress.js +51 -0
  203. package/src/ui/components/managed_window.js +27 -4
  204. package/src/ui/components/menu_bar.js +745 -0
  205. package/src/ui/components/modal.js +449 -75
  206. package/src/ui/components/notification_history.js +3 -3
  207. package/src/ui/components/progress.js +483 -0
  208. package/src/ui/components/record_list.js +0 -0
  209. package/src/ui/components/row_activation.js +0 -0
  210. package/src/ui/components/section_stack.js +298 -0
  211. package/src/ui/components/series.js +173 -0
  212. package/src/ui/components/settings_view.js +634 -0
  213. package/src/ui/components/slide_out_panel.js +43 -6
  214. package/src/ui/components/slider_field.js +275 -18
  215. package/src/ui/components/sortable_list.js +0 -0
  216. package/src/ui/components/staged_edits.js +343 -0
  217. package/src/ui/components/staged_history.js +172 -0
  218. package/src/ui/components/table_filter_chips.js +0 -0
  219. package/src/ui/components/table_state_store.js +0 -0
  220. package/src/ui/components/table_structure.js +182 -0
  221. package/src/ui/components/table_values.js +0 -0
  222. package/src/ui/components/tabs.js +497 -0
  223. package/src/ui/components/tag_input.js +215 -0
  224. package/src/ui/components/toast.js +25 -8
  225. package/src/ui/components/toggle_field.js +175 -0
  226. package/src/ui/components/tree_view.js +55 -34
  227. package/src/ui/components/window_taskbar.js +0 -0
  228. package/src/ui/components/wizard.js +563 -0
  229. package/src/ui/controllers/window_chrome_controller.js +2 -2
  230. package/src/ui/notification_center.js +375 -119
  231. package/src/ui/utils/auto_scrollbars.js +0 -0
  232. package/src/ui/utils/markdown.js +709 -0
  233. package/src/ui/utils/native_context_menu.js +0 -0
  234. package/src/ui/utils/overlay_scrollbar.js +16 -12
  235. package/src/ui/utils/raf_resize_observer.js +0 -0
  236. package/src/ui/utils/scroll_lock.js +0 -0
  237. package/src/ui/utils/strip_scroll.js +55 -0
  238. package/src/ui/utils/tooltip_service.js +0 -8
  239. package/dist/chunk-6JSOVNID.js.map +0 -7
  240. package/dist/chunk-B5Q53LAJ.js.map +0 -7
  241. package/dist/chunk-FBGP5KN5.js.map +0 -7
  242. package/dist/chunk-FL5KFNQH.js.map +0 -7
  243. package/dist/chunk-NLTOY57M.js.map +0 -7
  244. package/dist/chunk-NNFTETK3.js +0 -633
  245. package/dist/chunk-NNFTETK3.js.map +0 -7
  246. package/dist/chunk-O5OHMWBB.js +0 -284
  247. package/dist/chunk-O5OHMWBB.js.map +0 -7
  248. package/dist/chunk-RQM5Z2MU.js.map +0 -7
  249. package/dist/chunk-SN4LSOAR.js.map +0 -7
  250. package/dist/chunk-W6FBJLPW.js +0 -367
  251. package/dist/chunk-W6FBJLPW.js.map +0 -7
  252. package/src/ui/controllers/panel_state_machine.js +0 -634
package/CHANGELOG.md ADDED
@@ -0,0 +1,93 @@
1
+ # Changelog
2
+
3
+ ## 0.17.0 (2026-10-21)
4
+
5
+ Every feature below is documented in a README section headed "(0.17.0)"; each
6
+ entry links to it.
7
+
8
+ ### Added and changed
9
+
10
+ - [A menu bar: `createMenuBar`](README.md#a-menu-bar-createmenubar-0170): File / Edit / View menus from one declarative model of items, separators, checks, radios and submenus.
11
+ - [A kind that exists once: `single`](README.md#a-kind-that-exists-once-single-0170): a taxonomy kind marked `single` is mounted once; opening it again goes to the open one.
12
+ - [Panels a page does not offer](README.md#panels-a-page-does-not-offer-0170): a kind declares the panels it offers (`panels: {bottom: false | {reason}}`), content overrides them with `wm.setPanelAvailability`, and withheld panels are left out of the layout.
13
+ - [Panels keep the size you dragged them to](README.md#panels-keep-the-size-you-dragged-them-to-0170): each desktop remembers every panel's share of the window and saves it with the layout as `panelShares`.
14
+ - [A navigation panel you drive yourself: `mountNavPanel`](README.md#a-navigation-panel-you-drive-yourself-mountnavpanel-0170): a mode strip, a shared filter and lazily mounted panes, switched from code with `select(modeId)`.
15
+ - [Buttons that change with the pane: `ctx.setChromeActions`](README.md#buttons-that-change-with-the-pane-ctxsetchromeactions-0170): a pane replaces its chrome buttons at any time, with labels, pressed and disabled states and separators.
16
+ - [Your keys, not the window manager's: `keymap`](README.md#your-keys-not-the-window-managers-keymap-0170): every window-manager chord can be disabled or rebound; `?` is installed by the shell, not by importing `HelpModal`.
17
+ - [DataTable: columns in the order somebody puts them](README.md#datatable-columns-in-the-order-somebody-puts-them-0170): columns reorder by dragging their headers or from code, and the order is persisted.
18
+ - [DataTable: a grid of cells you can edit](README.md#datatable-a-grid-of-cells-you-can-edit-0170): `selectionMode: 'cells'` with keyboard cell navigation, and `editable` cells with in-place editors.
19
+ - [Staged edits, undo and redo, one commit](README.md#staged-edits-undo-and-redo-one-commit-0170): `staged: true` keeps edits in the table, with Ctrl+Z / Ctrl+Y, until `commit()` hands them over in one call.
20
+ - [Fill handle](README.md#fill-handle-0170): `fillHandle: true` drags a range's values over neighbouring cells as a spreadsheet does, staged.
21
+ - [DataTable: column groups and structural edits](README.md#datatable-column-groups-and-structural-edits-0170): a grouped header row and callbacks to add, rename and delete columns and rows.
22
+ - [DataTable: a crosstab, with spanned header rows and pinned label columns](README.md#datatable-a-crosstab-with-spanned-header-rows-and-pinned-label-columns-0170): `crosstab` draws a matrix in one table and one scroller, with sticky header rows and label columns.
23
+ - [SliderField: a number box, a readout, a default and an enable toggle](README.md#sliderfield-a-number-box-a-readout-a-default-and-an-enable-toggle-0170): opt-in companions for the range input.
24
+ - [A stack of collapsible sections: `createSectionStack`](README.md#a-stack-of-collapsible-sections-createsectionstack-0170): inspector-style titled sections, each opened and closed from its header.
25
+ - [Node bodies](README.md#node-bodies-0170): a catalogue type draws its own controls inside its canvas node (`render`, `update`, `size`, `accent`).
26
+ - [Edited on the node](README.md#edited-on-the-node-0170): `inline` settings drawn and edited on the node, and `renameInPlace` for step titles.
27
+ - [Live values and folded steps](README.md#live-values-and-folded-steps-0170): `setNodeValues` paints badges and port values in place; `collapsible` folds a step to its header. The canvas editor also gains `multiSelect`, `groups`, `notes`, `clipboard`, `zoomControls`, `minimap`, `layout: 'layered'` (with `layeredLayout` from `@flexdesk/canvas`) and viewport persistence, documented in the same chapter.
28
+ - [Options: typed, unavailable, grouped, and changed while open](README.md#options-typed-unavailable-grouped-and-changed-while-open-0170): form select options keep their type, can be unavailable with a reason, grouped, and replaced while the form is open.
29
+ - [Colours: `type: 'color'` and `type: 'colorList'`](README.md#colours-type-color-and-type-colorlist-0170): colour fields in forms (`ColorField`, `ColorListField`).
30
+ - [Number bounds and fields side by side: `min`, `max` and `{ row }`](README.md#number-bounds-and-fields-side-by-side-min-max-and--row--0170): bounded number fields and form rows.
31
+ - [A switch: `ToggleField` and `type: 'toggle'`](README.md#a-switch-togglefield-and-type-toggle-0170): an on/off switch, standalone or in a form.
32
+ - [A settings page: `SettingsView`](README.md#a-settings-page-settingsview-0170): a settings store's schema drawn as a page (`getSettingsStore()` from `@flexdesk/core` for the app-global binding).
33
+ - [A step wizard: `Wizard`](README.md#a-step-wizard-wizard-0170): a multi-step flow, inline or in a modal window.
34
+ - [Confirms show text, not markup](README.md#confirms-show-text-not-markup-0170): `openConfirm`'s message and labels, and the delete and close confirms' item names, are set as text.
35
+ - [Markdown: `renderMarkdown`](README.md#markdown-rendermarkdown-0170): a CommonMark-ish subset rendered to an HTML string, with a highlight hook.
36
+ - [A document outline: `createDocumentOutline`](README.md#a-document-outline-createdocumentoutline-0170): a numbered section list that marks the section in view and scrolls to one on click.
37
+ - [Action dropdowns: separators](README.md#action-dropdowns-separators-0170): `{ separator: true }` entries in `ActionDropdown` options.
38
+ - [A list of tags: `createTagInput`](README.md#a-list-of-tags-createtaginput-0170): removable chips followed by a text box.
39
+ - [Progress: bars, lists and phases](README.md#progress-bars-lists-and-phases-0170): `ProgressBar`, `ProgressList` and `StepProgress`, updated in place.
40
+ - [Tabs: `createTabs`](README.md#tabs-createtabs-0170): one tab strip keyed by your own ids, with or without panes; `createBottomPanelTabs` is built on it.
41
+ - [Progress toasts](README.md#progress-toasts-0170): a toast that tracks a job, with a progress bar, status and counts; the toast helpers emit on the mounted `NotificationCenter`'s bus (`setToastBus`, `getToastBus`).
42
+ - [A conversation: `mountConversationView`](README.md#a-conversation-mountconversationview-0170): a transcript of role-tagged messages above a composer.
43
+ - [Opening a file: `pickFile`](README.md#opening-a-file-pickfile-0170): one file picker over every host, from `@flexdesk/host`.
44
+ - [The state guard: who wrote that attribute](README.md#the-state-guard-who-wrote-that-attribute-0170): writes are attributed to the calling file, `moduleFramePattern` is configurable, and the defaults carry no application's override.
45
+ - [The defaults cover FlexDesk's own keys](README.md#the-defaults-cover-flexdesks-own-keys-0170): `DEFAULT_STATE_GUARD_CONFIG` allows every key FlexDesk writes, and camelCase and kebab-case entries are the same key.
46
+ - [Auto-height editors: `maxHeight`](README.md#auto-height-editors-maxheight-0170): `createEditor({ maxHeight })` and `setMaxHeight` replace the fixed 400px cap.
47
+ - [Storage keys and names are yours](README.md#storage-keys-and-names-are-yours-0170): every storage key, theme name, drag MIME, export file name and log service name is configurable, with FlexDesk's own defaults.
48
+ - [Derived series: `seriesTransforms`](README.md#derived-series-seriestransforms-0170): plots draw derived series from transforms the embedder passes in.
49
+ - [No application globals: the gallery picker and plot-window events](README.md#no-application-globals-the-gallery-picker-and-plot-window-events-0170): the gallery picker takes `entries` or a host `gallery` capability; `PlotPopoutWindow` listens only to the `streamEvents` it is given.
50
+ - [A plot config in any container: `renderPlotGrid`](README.md#a-plot-config-in-any-container-renderplotgrid-0170): the plot window's subplot renderer, exported for any container.
51
+ - [Editing a plot config: `renderPlotConfigEditor`](README.md#editing-a-plot-config-renderplotconfigeditor-0170): an in-place editor for a plot config.
52
+ - [Figure tiles: one override, the draw is the base's](README.md#figure-tiles-one-override-the-draw-is-the-bases-0170): `FigureTile` is the base of every Plotly tile; a subclass overrides `figure(data)`.
53
+ - [A tile's settings as a form: `mountTileConfigForm`](README.md#a-tiles-settings-as-a-form-mounttileconfigform-0170): a tile's `getConfigSchema()` drawn as a form, or opened with `openTileConfig`.
54
+
55
+ The package also gains the `flexdesk/css/reset` export (`dist/reset.css`).
56
+
57
+ ### Removed or renamed exports
58
+
59
+ Compared with 0.16.1, across every entry point (`core`, `widgets`, `wm`, `host`,
60
+ `canvas`, `flow`, `charts`, `tiles`, `editor`) and the package `exports` map:
61
+
62
+ | Removed from | Name | Replacement |
63
+ |---|---|---|
64
+ | `@flexdesk/widgets` | `PanelStateMachine` | None as a class. Which panels a page offers is declared on its kind (`panels` in `createTaxonomy`) and changed at runtime with `wm.setPanelAvailability`; read it with `wm.isPanelAvailable(side)` / `wm.getPanelAvailability()`, hear changes with `wm.onPanelAvailabilityChange(fn)` or the `wm:panels:availability` bus event, and open or close with `wm.togglePanel(side)`, which answers `false` while a panel is withheld. See [Panels a page does not offer](README.md#panels-a-page-does-not-offer-0170). |
65
+ | `@flexdesk/widgets` | `PANEL_STATES` | As for `PanelStateMachine`: a panel's state is the desktop's `panels` (open or not) plus its availability. |
66
+ | `@flexdesk/widgets` | `PANEL_TRANSITIONS` | As for `PanelStateMachine`: `togglePanel` and `setPanelAvailability` are the only transitions. |
67
+
68
+ No export was renamed, and no `exports` specifier was removed.
69
+
70
+ ### Other removed or renamed names
71
+
72
+ Not exports, but names an embedder may depend on:
73
+
74
+ | What | 0.16.1 | 0.17.0 |
75
+ |---|---|---|
76
+ | `PlotPopoutWindow` chart cells | `div.plot-tile-chart` | `div.twm-plot-grid__cell` inside a `.twm-plot-grid` ([renderPlotGrid](README.md#a-plot-config-in-any-container-renderplotgrid-0170)) |
77
+ | `PlotPopoutWindow` default `streamEvents` | `'streaming:delta'` / `'streaming:complete'` | No defaults: pass `streamEvents: { delta, complete }` ([No application globals](README.md#no-application-globals-the-gallery-picker-and-plot-window-events-0170)) |
78
+ | Plot subplot keys | `showHpTrend`, `showHpCycle`, `hpLambda` (ignored now) | `subplot.transforms` with the `seriesTransforms` option ([Derived series](README.md#derived-series-seriestransforms-0170)) |
79
+ | Toast helpers' bus | a window global | the mounted `NotificationCenter`'s bus, or `setToastBus(bus)` |
80
+ | Gallery picker entries | a pywebview bridge method | `entries`, or the host's `gallery.list(kind)` capability |
81
+ | State guard defaults | one application's module override and debug global | `mode: 'warn'`, no overrides; configure `moduleOverrides` / `allow()` and `mode` yourself |
82
+ | Settings storage key | `'ecosim.settings.v1'` | `'flexdesk.settings.v1'`; `configureSettings({ storageKey })` |
83
+ | ManagedWindow geometry key | `'ecosim.managedWindows.v1'` | `'flexdesk.managedWindows.v1'`; `ManagedWindow.configure({ storageKey })` |
84
+ | Built-in Monaco themes | `'ecosim-dark'`, `'ecosim-light'` | `'flexdesk-dark'`, `'flexdesk-light'`; `setEditorThemeNames`, `getEditorThemeNames()` |
85
+ | Editor tab drag MIME | `'application/x-ecosim-tab'` | `'application/x-flexdesk-tab'`; `setTabDragMime`, `getTabDragMime()` |
86
+ | Chart PNG export file name | `'ecosim_chart'` | `'chart'`; `setChartExportFilename` |
87
+ | `LoggingService` service name | `'ecosim'` | `'flexdesk'`; `new LoggingService({ name })` |
88
+ | Editor height cap | `data-code-max-height="true"` on a `.notebook-editor-container` ancestor (400px) | `createEditor(el, src, { maxHeight })`, `setMaxHeight(px)` ([Auto-height editors](README.md#auto-height-editors-maxheight-0170)) |
89
+ | `?` help shortcut | installed when `HelpModal` was imported | installed by the shell; without one call `installHelpShortcut()` from `@flexdesk/widgets` |
90
+ | `createDetailHeader` classes | `detail-header__badge`, `detail-header__btn--<variant>` | `twm-detail-header__badge`, `twm-detail-header__btn--<variant>` (plus `twm-btn`, `twm-btn--primary` / `--danger`) |
91
+ | `openConfirm` message and labels | HTML | text; write `\n` for a line break, use `openModal` for markup |
92
+ | `installCollapsibleScrollbars()` scope | the `#twm-fixed-200` element | `installCollapsibleScrollbars(root = document.body)` |
93
+ | Flow kit CSS | `.twm-flow-field__kept` (unused) | removed |
package/LICENSE CHANGED
File without changes