alinea 2.0.0-preview.13 → 2.0.0-preview.14

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 (323) hide show
  1. package/dist/.init/content/pages/welcome.json +1 -1
  2. package/dist/.mcp/later/dev.json +1 -1
  3. package/dist/.mcp/online/dev.json +1 -1
  4. package/dist/adapter/next/cms.js +6 -2
  5. package/dist/adapter/next/context.js +1 -4
  6. package/dist/adapter/next/handler.js +12 -1
  7. package/dist/backend/CommitEntries.d.ts +17 -0
  8. package/dist/backend/CommitEntries.js +39 -0
  9. package/dist/backend/Handler.d.ts +9 -0
  10. package/dist/backend/Handler.js +80 -20
  11. package/dist/backend/api/BasicAuth.js +5 -1
  12. package/dist/backend/api/CreateBackend.js +2 -2
  13. package/dist/backend/api/DatabaseApi.js +18 -5
  14. package/dist/backend/api/GithubApi.d.ts +13 -0
  15. package/dist/backend/api/GithubApi.js +170 -30
  16. package/dist/backend/api/database.js +2 -2
  17. package/dist/backend/util/Syncable.d.ts +6 -0
  18. package/dist/backend/util/Syncable.js +3 -1
  19. package/dist/bundled.d.ts +911 -151
  20. package/dist/chunks/{chunk-5H4D5JQL.js → chunk-2PP7WJUJ.js} +1 -11
  21. package/dist/chunks/{chunk-QHHMKJUO.js → chunk-7DDPSWRY.js} +465 -2
  22. package/dist/chunks/{chunk-HOETF6HN.js → chunk-PMGIIYDD.js} +1 -0
  23. package/dist/chunks/{chunk-3QFSGTGF.js → chunk-SCV3TEXM.js} +1 -1
  24. package/dist/chunks/{chunk-UPY2RUZF.js → chunk-TWBREZWC.js} +30 -0
  25. package/dist/cli/Generate.js +20 -7
  26. package/dist/cli/Mcp.js +1 -1
  27. package/dist/cli/Serve.js +1 -1
  28. package/dist/cli/bin.js +1 -1
  29. package/dist/cli/build/BuildEmitter.d.ts +5 -1
  30. package/dist/cli/build/BuildEmitter.js +8 -3
  31. package/dist/cli/generate/CompileConfig.js +10 -6
  32. package/dist/cli/generate/DevDB.d.ts +4 -1
  33. package/dist/cli/generate/DevDB.js +15 -7
  34. package/dist/cli/generate/GenerateDashboard.js +1 -0
  35. package/dist/cli/generate/MediaLocations.d.ts +18 -0
  36. package/dist/cli/generate/MediaLocations.js +69 -0
  37. package/dist/cli/serve/CreateLocalServer.js +1 -0
  38. package/dist/cli/serve/mcp/DevMcp.js +1 -1
  39. package/dist/cloud/CloudRemote.js +21 -7
  40. package/dist/cms.d.ts +4 -2
  41. package/dist/components/Alert.js +2 -2
  42. package/dist/components/AppShell.js +2 -2
  43. package/dist/components/AsyncList.d.ts +52 -0
  44. package/dist/components/AsyncList.js +69 -0
  45. package/dist/components/Breadcrumbs.js +6 -6
  46. package/dist/components/Button.js +4 -4
  47. package/dist/components/Calendar.js +18 -18
  48. package/dist/components/Checkbox.js +10 -10
  49. package/dist/components/CheckboxGroup.js +2 -2
  50. package/dist/components/Collapsible.js +5 -5
  51. package/dist/components/ColorSwatch.js +2 -2
  52. package/dist/components/ColorSwatchPicker.js +4 -4
  53. package/dist/components/ComboBox.d.ts +27 -9
  54. package/dist/components/ComboBox.js +40 -9
  55. package/dist/components/Command.js +13 -13
  56. package/dist/components/ContentCard.js +28 -28
  57. package/dist/components/ContentGrid.js +11 -11
  58. package/dist/components/DataList.js +1 -1
  59. package/dist/components/DateField.d.ts +4 -0
  60. package/dist/components/DateField.js +2 -2
  61. package/dist/components/DatePicker.js +2 -2
  62. package/dist/components/DateRangePicker.js +2 -2
  63. package/dist/components/Dialog.d.ts +14 -3
  64. package/dist/components/Dialog.js +38 -11
  65. package/dist/components/DropZone.js +6 -6
  66. package/dist/components/DropdownMenu.js +8 -8
  67. package/dist/components/Empty.js +4 -4
  68. package/dist/components/Field.d.ts +1 -1
  69. package/dist/components/Field.js +18 -12
  70. package/dist/components/Form.d.ts +23 -0
  71. package/dist/components/Form.js +64 -0
  72. package/dist/components/Link.d.ts +8 -1
  73. package/dist/components/List.js +27 -27
  74. package/dist/components/MediaPreview.js +5 -5
  75. package/dist/components/MultipleSelect.d.ts +13 -8
  76. package/dist/components/MultipleSelect.js +25 -25
  77. package/dist/components/NavRail.js +7 -7
  78. package/dist/components/NumberField.d.ts +5 -1
  79. package/dist/components/NumberField.js +6 -4
  80. package/dist/components/Page.js +6 -6
  81. package/dist/components/Popover.js +2 -2
  82. package/dist/components/PreviewFrame.js +8 -8
  83. package/dist/components/RadioGroup.js +10 -10
  84. package/dist/components/Resizable.js +1 -1
  85. package/dist/components/SearchField.js +8 -8
  86. package/dist/components/Select.d.ts +13 -10
  87. package/dist/components/Select.js +18 -32
  88. package/dist/components/Sheet.js +6 -6
  89. package/dist/components/Sidebar.js +5 -5
  90. package/dist/components/SortableList.js +12 -12
  91. package/dist/components/Spinner.js +4 -4
  92. package/dist/components/Stack.d.ts +20 -0
  93. package/dist/components/Stack.js +45 -0
  94. package/dist/components/Surface.js +1 -1
  95. package/dist/components/Switch.js +5 -5
  96. package/dist/components/Table.d.ts +11 -1
  97. package/dist/components/Table.js +81 -53
  98. package/dist/components/Tabs.js +6 -6
  99. package/dist/components/TagGroup.js +10 -10
  100. package/dist/components/TextField.d.ts +7 -1
  101. package/dist/components/TextField.js +20 -11
  102. package/dist/components/TimeField.d.ts +6 -1
  103. package/dist/components/TimeField.js +51 -26
  104. package/dist/components/Timestamp.js +1 -1
  105. package/dist/components/ToggleGroup.js +2 -2
  106. package/dist/components/Toolbar.js +3 -3
  107. package/dist/components/Tooltip.js +5 -4
  108. package/dist/components/Tree.js +27 -27
  109. package/dist/components/internal/DateControl.js +11 -11
  110. package/dist/components/internal/FormScope.d.ts +2 -0
  111. package/dist/components/internal/FormScope.js +8 -0
  112. package/dist/components/internal/ListBoxGroup.d.ts +12 -0
  113. package/dist/components/internal/ListBoxGroup.js +46 -0
  114. package/dist/components/internal/ListBoxOption.d.ts +2 -2
  115. package/dist/components/internal/ListBoxOption.js +5 -5
  116. package/dist/components/internal/Locale.js +2 -2
  117. package/dist/components/internal/PopoverSurface.js +5 -4
  118. package/dist/components/internal/SelectionCheckbox.js +5 -5
  119. package/dist/components/internal/Slot.js +1 -1
  120. package/dist/components/internal/ToggleButton.js +4 -4
  121. package/dist/components/internal/Trigger.js +2 -2
  122. package/dist/components/internal/useDragDrop.js +2 -2
  123. package/dist/components/types.d.ts +4 -0
  124. package/dist/components.d.ts +3 -0
  125. package/dist/components.js +3 -0
  126. package/dist/core/Client.js +12 -1
  127. package/dist/core/Config.d.ts +6 -0
  128. package/dist/core/Config.js +12 -0
  129. package/dist/core/DashboardEntry.d.ts +19 -0
  130. package/dist/core/DashboardEntry.js +0 -0
  131. package/dist/core/Document.d.ts +2 -2
  132. package/dist/core/Document.js +10 -3
  133. package/dist/core/EntryFields.d.ts +8 -2
  134. package/dist/core/Field.d.ts +5 -0
  135. package/dist/core/Filter.d.ts +19 -2
  136. package/dist/core/Filter.js +5 -0
  137. package/dist/core/Graph.d.ts +10 -2
  138. package/dist/core/Overview.d.ts +74 -5
  139. package/dist/core/Overview.js +1 -0
  140. package/dist/core/Root.js +1 -1
  141. package/dist/core/Scope.d.ts +5 -0
  142. package/dist/core/Scope.js +22 -5
  143. package/dist/core/Type.d.ts +25 -6
  144. package/dist/core/Type.js +25 -7
  145. package/dist/core/db/LocalStore.d.ts +7 -0
  146. package/dist/core/field/CreateField.d.ts +1 -2
  147. package/dist/core/source/Source.d.ts +2 -0
  148. package/dist/core/source/Source.js +11 -0
  149. package/dist/core/util/Async.d.ts +2 -0
  150. package/dist/core/util/Async.js +12 -1
  151. package/dist/core/util/Checks.js +1 -1
  152. package/dist/core/util/Slugs.js +4 -3
  153. package/dist/dashboard/App.css +13 -11
  154. package/dist/dashboard/App.d.ts +1 -0
  155. package/dist/dashboard/App.js +22 -6
  156. package/dist/dashboard/Href.d.ts +37 -0
  157. package/dist/dashboard/Href.js +46 -0
  158. package/dist/dashboard/app/ActivityStatus.js +34 -12
  159. package/dist/dashboard/app/AuthView.js +2 -2
  160. package/dist/dashboard/app/BlockSettings.d.ts +9 -0
  161. package/dist/dashboard/app/BlockSettings.js +16 -0
  162. package/dist/dashboard/app/BlockSheet.js +3 -3
  163. package/dist/dashboard/app/BlockSheetStoryFrame.js +2 -2
  164. package/dist/dashboard/app/CompactField.js +15 -15
  165. package/dist/dashboard/app/CroppedImage.js +2 -2
  166. package/dist/dashboard/app/DashboardLayout.d.ts +1 -1
  167. package/dist/dashboard/app/DashboardLayout.js +12 -0
  168. package/dist/dashboard/app/EntryActions.d.ts +11 -0
  169. package/dist/dashboard/app/EntryActions.js +30 -0
  170. package/dist/dashboard/app/EntryFields.d.ts +15 -2
  171. package/dist/dashboard/app/EntryFields.js +26 -5
  172. package/dist/dashboard/app/EntryHeader.js +17 -7
  173. package/dist/dashboard/app/EntryReferences.js +2 -2
  174. package/dist/dashboard/app/EntrySidebar.js +25 -23
  175. package/dist/dashboard/app/EntrySidebarPreview.js +2 -2
  176. package/dist/dashboard/app/EntryValidationModal.js +3 -3
  177. package/dist/dashboard/app/Explorer.js +84 -45
  178. package/dist/dashboard/app/ExplorerBatchActions.js +4 -4
  179. package/dist/dashboard/app/ExplorerControls.js +5 -5
  180. package/dist/dashboard/app/ExplorerList.js +2 -2
  181. package/dist/dashboard/app/ExplorerModal.js +3 -3
  182. package/dist/dashboard/app/ExplorerOverviewHeader.d.ts +6 -0
  183. package/dist/dashboard/app/ExplorerOverviewHeader.js +28 -0
  184. package/dist/dashboard/app/ExplorerTable.js +7 -7
  185. package/dist/dashboard/app/ExplorerTabs.d.ts +12 -0
  186. package/dist/dashboard/app/ExplorerTabs.js +42 -0
  187. package/dist/dashboard/app/ImageEditor.js +31 -31
  188. package/dist/dashboard/app/LinkPicker.js +3 -3
  189. package/dist/dashboard/app/LocaleMenu.js +9 -9
  190. package/dist/dashboard/app/MediaPreviewCell.js +5 -5
  191. package/dist/dashboard/app/OverviewCell.js +12 -10
  192. package/dist/dashboard/app/RemoveDialog.js +5 -0
  193. package/dist/dashboard/app/SearchBar.js +4 -4
  194. package/dist/dashboard/app/SettingsTab.d.ts +6 -0
  195. package/dist/dashboard/app/SettingsTab.js +27 -0
  196. package/dist/dashboard/app/SidebarTree.js +19 -19
  197. package/dist/dashboard/app/WorkspaceMenu.js +6 -6
  198. package/dist/dashboard/app/WorkspaceRoots.js +102 -98
  199. package/dist/dashboard/app/editor/FileEditor.js +18 -18
  200. package/dist/dashboard/app/pages/EntryPage.js +42 -39
  201. package/dist/dashboard/app/pages/RootPage.js +3 -3
  202. package/dist/dashboard/app/pages/SplashPage.js +94 -79
  203. package/dist/dashboard/app/pages/UsersPage.js +9 -9
  204. package/dist/dashboard/app/ui/DashboardModal.js +14 -14
  205. package/dist/dashboard/atoms/activity.d.ts +1 -0
  206. package/dist/dashboard/atoms/activity.js +8 -5
  207. package/dist/dashboard/atoms/config.d.ts +2 -0
  208. package/dist/dashboard/atoms/dashboard.d.ts +11 -0
  209. package/dist/dashboard/atoms/dashboard.js +8 -0
  210. package/dist/dashboard/atoms/editor.d.ts +7 -1
  211. package/dist/dashboard/atoms/editor.js +14 -2
  212. package/dist/dashboard/atoms/explorer.d.ts +15 -0
  213. package/dist/dashboard/atoms/explorer.js +43 -14
  214. package/dist/dashboard/atoms/graph.d.ts +5 -0
  215. package/dist/dashboard/atoms/graph.js +26 -1
  216. package/dist/dashboard/atoms/nav.d.ts +16 -10
  217. package/dist/dashboard/atoms/nav.js +96 -36
  218. package/dist/dashboard/atoms/overview.d.ts +26 -4
  219. package/dist/dashboard/atoms/overview.js +41 -12
  220. package/dist/dashboard/atoms/root.js +7 -1
  221. package/dist/dashboard/boot/ActivityEvent.d.ts +1 -1
  222. package/dist/dashboard/boot/Boot.js +6 -0
  223. package/dist/dashboard/boot/DashboardWorker.d.ts +6 -0
  224. package/dist/dashboard/boot/DashboardWorker.js +89 -8
  225. package/dist/dashboard/boot/LoadWorker.js +3 -0
  226. package/dist/dashboard/boot/SyncEvent.d.ts +7 -0
  227. package/dist/dashboard/boot/SyncEvent.js +14 -0
  228. package/dist/dashboard/boot/WorkerDB.d.ts +1 -0
  229. package/dist/dashboard/boot/WorkerDB.js +3 -0
  230. package/dist/dashboard/cms/EntryTable.d.ts +4 -3
  231. package/dist/dashboard/cms/EntryTable.js +2 -2
  232. package/dist/dashboard/cms/ViewProps.d.ts +3 -2
  233. package/dist/dashboard/cms/hooks.d.ts +34 -18
  234. package/dist/dashboard/cms/hooks.js +43 -18
  235. package/dist/dashboard/contexts.d.ts +3 -2
  236. package/dist/dashboard/contexts.js +3 -2
  237. package/dist/dashboard/hook/UseEntryEditor.d.ts +1 -1
  238. package/dist/dashboard/hook/UseEntryEditor.js +7 -3
  239. package/dist/dashboard/icons.d.ts +1 -0
  240. package/dist/dashboard/icons.js +15 -0
  241. package/dist/database/BrowserEntryStore.js +35 -13
  242. package/dist/database/DatabaseTables.js +1 -1
  243. package/dist/database/EntryDatabase.d.ts +10 -1
  244. package/dist/database/EntryDatabase.js +31 -10
  245. package/dist/database/EntryStore.js +1 -11
  246. package/dist/database/entry/EntryTable.d.ts +5 -3
  247. package/dist/database/entry/EntryTable.js +25 -8
  248. package/dist/database/query/Condition.d.ts +4 -1
  249. package/dist/database/query/Condition.js +16 -5
  250. package/dist/database/query/EntryQuery.js +59 -7
  251. package/dist/database/query/Relation.d.ts +13 -1
  252. package/dist/database/query/Relation.js +19 -1
  253. package/dist/database/query/Search.d.ts +7 -1
  254. package/dist/database/query/Search.js +54 -9
  255. package/dist/database/sync/EntrySyncer.d.ts +2 -0
  256. package/dist/database/sync/EntrySyncer.js +4 -2
  257. package/dist/database/sync/Ingest.d.ts +2 -1
  258. package/dist/database/sync/Ingest.js +20 -6
  259. package/dist/field/code/CodeField.view.js +12 -12
  260. package/dist/field/link/EntryLink.d.ts +4 -5
  261. package/dist/field/link/FileLink.d.ts +2 -2
  262. package/dist/field/link/ImageLink.d.ts +2 -5
  263. package/dist/field/link/ImageLink.js +0 -1
  264. package/dist/field/link/LinkField.view.js +18 -15
  265. package/dist/field/list/ListField.view.js +50 -35
  266. package/dist/field/metadata/MetadataField.view.js +14 -14
  267. package/dist/field/richtext/RichTextBlock.js +39 -35
  268. package/dist/field/richtext/RichTextExtensions.js +23 -23
  269. package/dist/field/richtext/RichTextField.view.js +6 -6
  270. package/dist/field/richtext/RichTextInsertMenu.js +5 -5
  271. package/dist/field/richtext/RichTextToolbar.js +26 -1
  272. package/dist/field/richtext/Toolbar.d.ts +9 -1
  273. package/dist/field/richtext/Toolbar.js +12 -2
  274. package/dist/field/select/SelectField.view.js +1 -0
  275. package/dist/index.css +174 -23
  276. package/dist/index.d.ts +1 -0
  277. package/dist/index.js +3 -1
  278. package/dist/next.d.ts +2 -0
  279. package/dist/next.edge.d.ts +2 -0
  280. package/dist/picker/entry/EntryPicker.d.ts +3 -1
  281. package/dist/picker/entry/EntryPicker.js +15 -1
  282. package/dist/preview/react.js +3 -0
  283. package/dist/query.d.ts +26 -14
  284. package/dist/query.js +4 -0
  285. package/dist/types.d.ts +8 -5
  286. package/dist/ui/Stack.d.ts +4 -2
  287. package/docs/ai-setup.md +3 -3
  288. package/docs/cli.md +4 -2
  289. package/docs/components/combo-box.md +105 -16
  290. package/docs/components/date-field.md +1 -1
  291. package/docs/components/dialog.md +51 -0
  292. package/docs/components/form.md +67 -0
  293. package/docs/components/link.md +10 -0
  294. package/docs/components/multiple-select.md +9 -17
  295. package/docs/components/number-field.md +5 -1
  296. package/docs/components/select.md +9 -20
  297. package/docs/components/stack.md +42 -0
  298. package/docs/components/table.md +83 -0
  299. package/docs/components/text-field.md +9 -1
  300. package/docs/components/time-field.md +5 -1
  301. package/docs/components.md +39 -1
  302. package/docs/configuration.md +3 -1
  303. package/docs/custom-fields.md +135 -7
  304. package/docs/deploy/self-host.md +2 -0
  305. package/docs/deploy.md +7 -4
  306. package/docs/fields/image.md +0 -1
  307. package/docs/fields/list.md +19 -0
  308. package/docs/fields/object.md +5 -3
  309. package/docs/fields/rich-text.md +31 -0
  310. package/docs/index.md +8 -6
  311. package/docs/instant-publishing.md +23 -2
  312. package/docs/overviews.md +128 -4
  313. package/docs/query/filtering.md +2 -0
  314. package/docs/query/related.md +58 -9
  315. package/docs/query.md +52 -1
  316. package/docs/quickstart.md +5 -5
  317. package/docs/schema/document.md +2 -0
  318. package/docs/schema/type.md +3 -1
  319. package/docs/upgrading.md +100 -19
  320. package/llms-full.txt +1022 -125
  321. package/package.json +1 -1
  322. package/readme.md +2 -2
  323. package/dist/chunks/{chunk-4ZA6KZHS.js → chunk-6FQ5IMNA.js} +3 -3
@@ -9,13 +9,13 @@ import { fileKindVisual } from "./FileKind.js";
9
9
 
10
10
  // src/dashboard/app/MediaPreviewCell.module.css
11
11
  var MediaPreviewCell_default = {
12
- "MediaPreviewCell-image": "alinea-MediaPreviewCell-image",
13
- "MediaPreviewCellImage": "alinea-MediaPreviewCell-image",
14
- "MediaPreviewCell": "alinea-MediaPreviewCell",
12
+ "MediaPreviewCell-icon": "alinea-MediaPreviewCell-icon",
13
+ "MediaPreviewCellIcon": "alinea-MediaPreviewCell-icon",
15
14
  "is-file": "alinea-is-file",
16
15
  "isFile": "alinea-is-file",
17
- "MediaPreviewCell-icon": "alinea-MediaPreviewCell-icon",
18
- "MediaPreviewCellIcon": "alinea-MediaPreviewCell-icon"
16
+ "MediaPreviewCell": "alinea-MediaPreviewCell",
17
+ "MediaPreviewCell-image": "alinea-MediaPreviewCell-image",
18
+ "MediaPreviewCellImage": "alinea-MediaPreviewCell-image"
19
19
  };
20
20
 
21
21
  // src/dashboard/app/MediaPreviewCell.tsx
@@ -29,20 +29,22 @@ import {
29
29
 
30
30
  // src/dashboard/app/OverviewCell.module.css
31
31
  var OverviewCell_default = {
32
- "OverviewCell-text": "alinea-OverviewCell-text",
33
- "OverviewCellText": "alinea-OverviewCell-text",
34
- "OverviewCell-items": "alinea-OverviewCell-items",
35
- "OverviewCellItems": "alinea-OverviewCell-items",
36
- "OverviewCell-count": "alinea-OverviewCell-count",
37
- "OverviewCellCount": "alinea-OverviewCell-count",
38
- "OverviewCell-link": "alinea-OverviewCell-link",
39
- "OverviewCellLink": "alinea-OverviewCell-link",
40
32
  "OverviewCell-empty": "alinea-OverviewCell-empty",
41
33
  "OverviewCellEmpty": "alinea-OverviewCell-empty",
34
+ "OverviewCell-link": "alinea-OverviewCell-link",
35
+ "OverviewCellLink": "alinea-OverviewCell-link",
42
36
  "OverviewCell-thumbnail": "alinea-OverviewCell-thumbnail",
43
37
  "OverviewCellThumbnail": "alinea-OverviewCell-thumbnail",
38
+ "OverviewCell-count": "alinea-OverviewCell-count",
39
+ "OverviewCellCount": "alinea-OverviewCell-count",
40
+ "OverviewCell-link-text": "alinea-OverviewCell-link-text",
41
+ "OverviewCellLinkText": "alinea-OverviewCell-link-text",
42
+ "OverviewCell-items": "alinea-OverviewCell-items",
43
+ "OverviewCellItems": "alinea-OverviewCell-items",
44
44
  "OverviewCell-thumbnail-image": "alinea-OverviewCell-thumbnail-image",
45
- "OverviewCellThumbnailImage": "alinea-OverviewCell-thumbnail-image"
45
+ "OverviewCellThumbnailImage": "alinea-OverviewCell-thumbnail-image",
46
+ "OverviewCell-text": "alinea-OverviewCell-text",
47
+ "OverviewCellText": "alinea-OverviewCell-text"
46
48
  };
47
49
 
48
50
  // src/dashboard/app/OverviewCell.tsx
@@ -235,7 +237,7 @@ function OverviewItem({ value, onOpenEntry }) {
235
237
  variant: "link",
236
238
  className: styles.OverviewCell.link(),
237
239
  onClick: () => onOpenEntry(entryId),
238
- children: text
240
+ children: /* @__PURE__ */ jsx("span", { className: styles.OverviewCell.link.text(), children: text })
239
241
  }
240
242
  );
241
243
  }
@@ -23,6 +23,7 @@ import { MediaFile, MediaLibrary } from "alinea/core/media/MediaTypes";
23
23
  import { configAtom } from "alinea/dashboard/atoms/core";
24
24
  import {
25
25
  entrySidebarOpenAtom,
26
+ entrySidebarOpenWithoutPreviewAtom,
26
27
  entrySidebarTabAtom
27
28
  } from "alinea/dashboard/atoms/dashboard";
28
29
  import { routeAtom } from "alinea/dashboard/atoms/nav";
@@ -95,6 +96,9 @@ function RemoveDialogContent({
95
96
  const setRoute = useSetAtom(routeAtom);
96
97
  const setSidebarTab = useSetAtom(entrySidebarTabAtom);
97
98
  const setSidebarOpen = useSetAtom(entrySidebarOpenAtom);
99
+ const setSidebarOpenWithoutPreview = useSetAtom(
100
+ entrySidebarOpenWithoutPreviewAtom
101
+ );
98
102
  const [isConfirming, startConfirm] = useTransition();
99
103
  const [isArchiving, startArchive] = useTransition();
100
104
  const [skipDialog, setSkipDialog] = useState(false);
@@ -209,6 +213,7 @@ function RemoveDialogContent({
209
213
  });
210
214
  setSidebarTab("references");
211
215
  setSidebarOpen(true);
216
+ setSidebarOpenWithoutPreview(true);
212
217
  },
213
218
  children: [
214
219
  "See all ",
@@ -5,13 +5,13 @@ import "../../chunks/chunk-CQ52GEHY.js";
5
5
 
6
6
  // src/dashboard/app/SearchBar.module.css
7
7
  var SearchBar_default = {
8
- "SearchBar-divider": "alinea-SearchBar-divider",
9
- "SearchBarDivider": "alinea-SearchBar-divider",
10
8
  "SearchBar": "alinea-SearchBar",
9
+ "SearchBar-search": "alinea-SearchBar-search",
10
+ "SearchBarSearch": "alinea-SearchBar-search",
11
11
  "SearchBar-controls": "alinea-SearchBar-controls",
12
12
  "SearchBarControls": "alinea-SearchBar-controls",
13
- "SearchBar-search": "alinea-SearchBar-search",
14
- "SearchBarSearch": "alinea-SearchBar-search"
13
+ "SearchBar-divider": "alinea-SearchBar-divider",
14
+ "SearchBarDivider": "alinea-SearchBar-divider"
15
15
  };
16
16
 
17
17
  // src/dashboard/app/SearchBar.tsx
@@ -0,0 +1,6 @@
1
+ import { Type } from 'alinea/core/Type';
2
+ /**
3
+ * The type an entry's form renders: the settings of a type that is not a
4
+ * document (documents add their own tab) move to a Settings tab.
5
+ */
6
+ export declare function withSettingsTab(entryType: Type): Type;
@@ -0,0 +1,27 @@
1
+ import "../../chunks/chunk-CQ52GEHY.js";
2
+
3
+ // src/dashboard/app/SettingsTab.ts
4
+ import { getType } from "alinea/core/Internal";
5
+ import { Type, type } from "alinea/core/Type";
6
+ import { IcOutlineSettings, IcRoundDescription } from "alinea/dashboard/icons";
7
+ import { tab, tabs } from "alinea/field/tabs";
8
+ var formTypes = /* @__PURE__ */ new WeakMap();
9
+ function withSettingsTab(entryType) {
10
+ const settings = Type.settings(entryType);
11
+ if (!settings) return entryType;
12
+ let result = formTypes.get(entryType);
13
+ if (result) return result;
14
+ const { fields, settings: _, ...config } = getType(entryType);
15
+ result = type(Type.label(entryType), {
16
+ ...config,
17
+ fields: tabs(
18
+ tab("Content", { icon: IcRoundDescription, fields }),
19
+ tab("Settings", { icon: IcOutlineSettings, fields: settings })
20
+ )
21
+ });
22
+ formTypes.set(entryType, result);
23
+ return result;
24
+ }
25
+ export {
26
+ withSettingsTab
27
+ };
@@ -33,34 +33,34 @@ import { LocaleMenu } from "./LocaleMenu.js";
33
33
 
34
34
  // src/dashboard/app/SidebarTree.module.css
35
35
  var SidebarTree_default = {
36
- "is-untranslated": "alinea-is-untranslated",
37
- "isUntranslated": "alinea-is-untranslated",
38
- "SidebarTree-tree": "alinea-SidebarTree-tree",
39
- "SidebarTreeTree": "alinea-SidebarTree-tree",
36
+ "SidebarTree-rootButton-locale": "alinea-SidebarTree-rootButton-locale",
37
+ "SidebarTreeRootButtonLocale": "alinea-SidebarTree-rootButton-locale",
40
38
  "SidebarTree-rootButton": "alinea-SidebarTree-rootButton",
41
39
  "SidebarTreeRootButton": "alinea-SidebarTree-rootButton",
42
- "SidebarTree-rootButton-action": "alinea-SidebarTree-rootButton-action",
43
- "SidebarTreeRootButtonAction": "alinea-SidebarTree-rootButton-action",
44
- "is-selected": "alinea-is-selected",
45
- "isSelected": "alinea-is-selected",
46
- "is-parentSelected": "alinea-is-parentSelected",
47
- "isParentSelected": "alinea-is-parentSelected",
48
- "SidebarTree-item": "alinea-SidebarTree-item",
49
- "SidebarTreeItem": "alinea-SidebarTree-item",
50
- "is-groupEnd": "alinea-is-groupEnd",
51
- "isGroupEnd": "alinea-is-groupEnd",
52
40
  "SidebarTree-rootButton-label": "alinea-SidebarTree-rootButton-label",
53
41
  "SidebarTreeRootButtonLabel": "alinea-SidebarTree-rootButton-label",
54
- "SidebarTree-rootButton-locale": "alinea-SidebarTree-rootButton-locale",
55
- "SidebarTreeRootButtonLocale": "alinea-SidebarTree-rootButton-locale",
42
+ "is-archived": "alinea-is-archived",
43
+ "isArchived": "alinea-is-archived",
44
+ "SidebarTree-item": "alinea-SidebarTree-item",
45
+ "SidebarTreeItem": "alinea-SidebarTree-item",
46
+ "is-untranslated": "alinea-is-untranslated",
47
+ "isUntranslated": "alinea-is-untranslated",
48
+ "SidebarTree-tree": "alinea-SidebarTree-tree",
49
+ "SidebarTreeTree": "alinea-SidebarTree-tree",
56
50
  "SidebarTree-root": "alinea-SidebarTree-root",
57
51
  "SidebarTreeRoot": "alinea-SidebarTree-root",
52
+ "is-parentSelected": "alinea-is-parentSelected",
53
+ "isParentSelected": "alinea-is-parentSelected",
54
+ "SidebarTree-rootButton-action": "alinea-SidebarTree-rootButton-action",
55
+ "SidebarTreeRootButtonAction": "alinea-SidebarTree-rootButton-action",
58
56
  "is-unpublished": "alinea-is-unpublished",
59
57
  "isUnpublished": "alinea-is-unpublished",
58
+ "is-groupEnd": "alinea-is-groupEnd",
59
+ "isGroupEnd": "alinea-is-groupEnd",
60
+ "is-selected": "alinea-is-selected",
61
+ "isSelected": "alinea-is-selected",
60
62
  "SidebarTree-tree-viewport": "alinea-SidebarTree-tree-viewport",
61
- "SidebarTreeTreeViewport": "alinea-SidebarTree-tree-viewport",
62
- "is-archived": "alinea-is-archived",
63
- "isArchived": "alinea-is-archived"
63
+ "SidebarTreeTreeViewport": "alinea-SidebarTree-tree-viewport"
64
64
  };
65
65
 
66
66
  // src/dashboard/app/SidebarTree.tsx
@@ -44,20 +44,20 @@ import {
44
44
 
45
45
  // src/dashboard/app/WorkspaceMenu.module.css
46
46
  var WorkspaceMenu_default = {
47
- "WorkspaceMenu-trigger": "alinea-WorkspaceMenu-trigger",
48
- "WorkspaceMenuTrigger": "alinea-WorkspaceMenu-trigger",
49
47
  "WorkspaceMenu-parent": "alinea-WorkspaceMenu-parent",
50
48
  "WorkspaceMenuParent": "alinea-WorkspaceMenu-parent",
51
49
  "WorkspaceMenu-avatar": "alinea-WorkspaceMenu-avatar",
52
50
  "WorkspaceMenuAvatar": "alinea-WorkspaceMenu-avatar",
53
- "WorkspaceMenu-avatar-logo": "alinea-WorkspaceMenu-avatar-logo",
54
- "WorkspaceMenuAvatarLogo": "alinea-WorkspaceMenu-avatar-logo",
55
51
  "WorkspaceMenu-avatarTrigger": "alinea-WorkspaceMenu-avatarTrigger",
56
52
  "WorkspaceMenuAvatarTrigger": "alinea-WorkspaceMenu-avatarTrigger",
53
+ "WorkspaceMenu-trigger-text": "alinea-WorkspaceMenu-trigger-text",
54
+ "WorkspaceMenuTriggerText": "alinea-WorkspaceMenu-trigger-text",
55
+ "WorkspaceMenu-trigger": "alinea-WorkspaceMenu-trigger",
56
+ "WorkspaceMenuTrigger": "alinea-WorkspaceMenu-trigger",
57
57
  "WorkspaceMenu-search": "alinea-WorkspaceMenu-search",
58
58
  "WorkspaceMenuSearch": "alinea-WorkspaceMenu-search",
59
- "WorkspaceMenu-trigger-text": "alinea-WorkspaceMenu-trigger-text",
60
- "WorkspaceMenuTriggerText": "alinea-WorkspaceMenu-trigger-text"
59
+ "WorkspaceMenu-avatar-logo": "alinea-WorkspaceMenu-avatar-logo",
60
+ "WorkspaceMenuAvatarLogo": "alinea-WorkspaceMenu-avatar-logo"
61
61
  };
62
62
 
63
63
  // src/dashboard/app/WorkspaceMenu.tsx
@@ -49,22 +49,22 @@ import { WorkspaceAvatarMenu } from "./WorkspaceMenu.js";
49
49
 
50
50
  // src/dashboard/app/WorkspaceRoots.module.css
51
51
  var WorkspaceRoots_default = {
52
- "WorkspaceRoots-trigger": "alinea-WorkspaceRoots-trigger",
53
- "WorkspaceRootsTrigger": "alinea-WorkspaceRoots-trigger",
54
- "WorkspaceRoots-profile-popover-action-button": "alinea-WorkspaceRoots-profile-popover-action-button",
55
- "WorkspaceRootsProfilePopoverActionButton": "alinea-WorkspaceRoots-profile-popover-action-button",
56
52
  "WorkspaceRoots-profile-popover-user-icon": "alinea-WorkspaceRoots-profile-popover-user-icon",
57
53
  "WorkspaceRootsProfilePopoverUserIcon": "alinea-WorkspaceRoots-profile-popover-user-icon",
58
54
  "WorkspaceRoots-profile-popover-surface": "alinea-WorkspaceRoots-profile-popover-surface",
59
55
  "WorkspaceRootsProfilePopoverSurface": "alinea-WorkspaceRoots-profile-popover-surface",
60
- "WorkspaceRoots-profile-popover-user": "alinea-WorkspaceRoots-profile-popover-user",
61
- "WorkspaceRootsProfilePopoverUser": "alinea-WorkspaceRoots-profile-popover-user",
62
56
  "WorkspaceRoots-profile-popover-item": "alinea-WorkspaceRoots-profile-popover-item",
63
57
  "WorkspaceRootsProfilePopoverItem": "alinea-WorkspaceRoots-profile-popover-item",
58
+ "WorkspaceRoots-trigger": "alinea-WorkspaceRoots-trigger",
59
+ "WorkspaceRootsTrigger": "alinea-WorkspaceRoots-trigger",
64
60
  "WorkspaceRoots-profile-popover": "alinea-WorkspaceRoots-profile-popover",
65
61
  "WorkspaceRootsProfilePopover": "alinea-WorkspaceRoots-profile-popover",
66
62
  "WorkspaceRoots-profile-popover-user-title": "alinea-WorkspaceRoots-profile-popover-user-title",
67
63
  "WorkspaceRootsProfilePopoverUserTitle": "alinea-WorkspaceRoots-profile-popover-user-title",
64
+ "WorkspaceRoots-profile-popover-action-button": "alinea-WorkspaceRoots-profile-popover-action-button",
65
+ "WorkspaceRootsProfilePopoverActionButton": "alinea-WorkspaceRoots-profile-popover-action-button",
66
+ "WorkspaceRoots-profile-popover-user": "alinea-WorkspaceRoots-profile-popover-user",
67
+ "WorkspaceRootsProfilePopoverUser": "alinea-WorkspaceRoots-profile-popover-user",
68
68
  "WorkspaceRoots-profile-popover-action": "alinea-WorkspaceRoots-profile-popover-action",
69
69
  "WorkspaceRootsProfilePopoverAction": "alinea-WorkspaceRoots-profile-popover-action"
70
70
  };
@@ -126,102 +126,106 @@ function WorkspaceProfileMenu({
126
126
  else roles.delete(role);
127
127
  setUserRoles([...roles]);
128
128
  }
129
- return /* @__PURE__ */ jsxs(Popover, { children: [
130
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Tooltip, { delayDuration: 100, children: [
131
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
132
- Button,
133
- {
134
- size: "icon-lg",
135
- variant: "ghost",
136
- icon: IcBaselineAccountCircle,
137
- "aria-label": userName
138
- }
139
- ) }),
140
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: userName })
141
- ] }) }),
142
- /* @__PURE__ */ jsx(
143
- PopoverContent,
144
- {
145
- "aria-label": userName,
146
- className: styles.WorkspaceRoots.profile.popover.surface(),
147
- side: "right",
148
- align: "end",
149
- sideOffset: 16,
150
- children: /* @__PURE__ */ jsxs("ul", { className: styles.WorkspaceRoots.profile.popover(), children: [
151
- /* @__PURE__ */ jsxs("li", { className: styles.WorkspaceRoots.profile.popover.user(), children: [
152
- /* @__PURE__ */ jsx(
153
- Icon,
154
- {
155
- icon: IcBaselineAccountCircle,
156
- className: styles.WorkspaceRoots.profile.popover.user.icon()
157
- }
158
- ),
159
- /* @__PURE__ */ jsx(
160
- Text,
161
- {
162
- weight: "medium",
163
- truncate: true,
164
- className: styles.WorkspaceRoots.profile.popover.user.title(),
165
- children: userName
166
- }
167
- )
168
- ] }),
169
- canManageMembers && /* @__PURE__ */ jsx("li", { className: styles.WorkspaceRoots.profile.popover.action(), children: /* @__PURE__ */ jsx(
170
- Button,
171
- {
172
- variant: "ghost",
173
- "aria-label": "Manage users",
174
- icon: IcOutlineSettings,
175
- className: styles.WorkspaceRoots.profile.popover.action.button(),
176
- onClick: () => setRoute({ page: "users" }),
177
- children: /* @__PURE__ */ jsx(Text, { truncate: true, children: "Manage users" })
178
- }
179
- ) }),
180
- /* @__PURE__ */ jsxs("li", { className: styles.WorkspaceRoots.profile.popover.item(), children: [
181
- /* @__PURE__ */ jsx(Text, { as: "p", children: "Appearance" }),
182
- /* @__PURE__ */ jsx(AppearanceToggle, {})
183
- ] }),
184
- isLocal && roleEntries.length > 0 && /* @__PURE__ */ jsxs("li", { className: styles.WorkspaceRoots.profile.popover.item(), children: [
185
- /* @__PURE__ */ jsx(Text, { as: "p", children: "Role" }),
186
- /* @__PURE__ */ jsxs(DropdownMenu, { children: [
187
- /* @__PURE__ */ jsxs(
188
- DropdownMenuTrigger,
129
+ return (
130
+ // The tooltip wraps the popover: an element-less Tooltip inside the
131
+ // PopoverTrigger can't receive the trigger's ref (see ActivityStatus)
132
+ /* @__PURE__ */ jsxs(Tooltip, { delayDuration: 100, children: [
133
+ /* @__PURE__ */ jsxs(Popover, { children: [
134
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
135
+ Button,
136
+ {
137
+ size: "icon-lg",
138
+ variant: "ghost",
139
+ icon: IcBaselineAccountCircle,
140
+ "aria-label": userName
141
+ }
142
+ ) }) }),
143
+ /* @__PURE__ */ jsx(
144
+ PopoverContent,
145
+ {
146
+ "aria-label": userName,
147
+ className: styles.WorkspaceRoots.profile.popover.surface(),
148
+ side: "right",
149
+ align: "end",
150
+ sideOffset: 16,
151
+ children: /* @__PURE__ */ jsxs("ul", { className: styles.WorkspaceRoots.profile.popover(), children: [
152
+ /* @__PURE__ */ jsxs("li", { className: styles.WorkspaceRoots.profile.popover.user(), children: [
153
+ /* @__PURE__ */ jsx(
154
+ Icon,
155
+ {
156
+ icon: IcBaselineAccountCircle,
157
+ className: styles.WorkspaceRoots.profile.popover.user.icon()
158
+ }
159
+ ),
160
+ /* @__PURE__ */ jsx(
161
+ Text,
162
+ {
163
+ weight: "medium",
164
+ truncate: true,
165
+ className: styles.WorkspaceRoots.profile.popover.user.title(),
166
+ children: userName
167
+ }
168
+ )
169
+ ] }),
170
+ canManageMembers && /* @__PURE__ */ jsx("li", { className: styles.WorkspaceRoots.profile.popover.action(), children: /* @__PURE__ */ jsx(
171
+ Button,
189
172
  {
190
- variant: "outline",
191
- className: styles.WorkspaceRoots.trigger(),
192
- children: [
193
- /* @__PURE__ */ jsx(Text, { truncate: true, children: roleLabel }),
194
- /* @__PURE__ */ jsx(IcRoundUnfoldMore, {})
195
- ]
173
+ variant: "ghost",
174
+ "aria-label": "Manage users",
175
+ icon: IcOutlineSettings,
176
+ className: styles.WorkspaceRoots.profile.popover.action.button(),
177
+ onClick: () => setRoute({ page: "users" }),
178
+ children: /* @__PURE__ */ jsx(Text, { truncate: true, children: "Manage users" })
196
179
  }
197
- ),
198
- /* @__PURE__ */ jsx(DropdownMenuContent, { "aria-label": "Development roles", children: roleEntries.map(([name, role]) => /* @__PURE__ */ jsx(
199
- DropdownMenuCheckboxItem,
180
+ ) }),
181
+ /* @__PURE__ */ jsxs("li", { className: styles.WorkspaceRoots.profile.popover.item(), children: [
182
+ /* @__PURE__ */ jsx(Text, { as: "p", children: "Appearance" }),
183
+ /* @__PURE__ */ jsx(AppearanceToggle, {})
184
+ ] }),
185
+ isLocal && roleEntries.length > 0 && /* @__PURE__ */ jsxs("li", { className: styles.WorkspaceRoots.profile.popover.item(), children: [
186
+ /* @__PURE__ */ jsx(Text, { as: "p", children: "Role" }),
187
+ /* @__PURE__ */ jsxs(DropdownMenu, { children: [
188
+ /* @__PURE__ */ jsxs(
189
+ DropdownMenuTrigger,
190
+ {
191
+ variant: "outline",
192
+ className: styles.WorkspaceRoots.trigger(),
193
+ children: [
194
+ /* @__PURE__ */ jsx(Text, { truncate: true, children: roleLabel }),
195
+ /* @__PURE__ */ jsx(IcRoundUnfoldMore, {})
196
+ ]
197
+ }
198
+ ),
199
+ /* @__PURE__ */ jsx(DropdownMenuContent, { "aria-label": "Development roles", children: roleEntries.map(([name, role]) => /* @__PURE__ */ jsx(
200
+ DropdownMenuCheckboxItem,
201
+ {
202
+ textValue: role.label,
203
+ checked: selectedRoles.has(name),
204
+ onCheckedChange: (checked) => toggleRole(name, checked),
205
+ children: role.label
206
+ },
207
+ name
208
+ )) })
209
+ ] })
210
+ ] }),
211
+ canLogout && /* @__PURE__ */ jsx("li", { className: styles.WorkspaceRoots.profile.popover.action(), children: /* @__PURE__ */ jsx(
212
+ Button,
200
213
  {
201
- textValue: role.label,
202
- checked: selectedRoles.has(name),
203
- onCheckedChange: (checked) => toggleRole(name, checked),
204
- children: role.label
205
- },
206
- name
207
- )) })
214
+ variant: "ghost",
215
+ "aria-label": "Logout",
216
+ icon: IcRoundLogout,
217
+ className: styles.WorkspaceRoots.profile.popover.action.button(),
218
+ onClick: logout,
219
+ children: /* @__PURE__ */ jsx(Text, { truncate: true, children: "Logout" })
220
+ }
221
+ ) })
208
222
  ] })
209
- ] }),
210
- canLogout && /* @__PURE__ */ jsx("li", { className: styles.WorkspaceRoots.profile.popover.action(), children: /* @__PURE__ */ jsx(
211
- Button,
212
- {
213
- variant: "ghost",
214
- "aria-label": "Logout",
215
- icon: IcRoundLogout,
216
- className: styles.WorkspaceRoots.profile.popover.action.button(),
217
- onClick: logout,
218
- children: /* @__PURE__ */ jsx(Text, { truncate: true, children: "Logout" })
219
- }
220
- ) })
221
- ] })
222
- }
223
- )
224
- ] });
223
+ }
224
+ )
225
+ ] }),
226
+ /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: userName })
227
+ ] })
228
+ );
225
229
  }
226
230
  export {
227
231
  WorkspaceRoots
@@ -47,33 +47,33 @@ import { NodeEditor } from "../NodeEditor.js";
47
47
 
48
48
  // src/dashboard/app/editor/FileEditor.module.css
49
49
  var FileEditor_default = {
50
- "FileEditor-tabs-header": "alinea-FileEditor-tabs-header",
51
- "FileEditorTabsHeader": "alinea-FileEditor-tabs-header",
52
- "FileEditor-details": "alinea-FileEditor-details",
53
- "FileEditorDetails": "alinea-FileEditor-details",
54
- "FileEditor-surface": "alinea-FileEditor-surface",
55
- "FileEditorSurface": "alinea-FileEditor-surface",
56
- "FileEditor-tabs": "alinea-FileEditor-tabs",
57
- "FileEditorTabs": "alinea-FileEditor-tabs",
58
- "FileEditor-focus-header": "alinea-FileEditor-focus-header",
59
- "FileEditorFocusHeader": "alinea-FileEditor-focus-header",
60
- "FileEditor": "alinea-FileEditor",
61
- "FileEditor-focus-label": "alinea-FileEditor-focus-label",
62
- "FileEditorFocusLabel": "alinea-FileEditor-focus-label",
63
- "FileEditor-tabPanel": "alinea-FileEditor-tabPanel",
64
- "FileEditorTabPanel": "alinea-FileEditor-tabPanel",
65
50
  "FileEditor-focus-value": "alinea-FileEditor-focus-value",
66
51
  "FileEditorFocusValue": "alinea-FileEditor-focus-value",
52
+ "FileEditor-tabs": "alinea-FileEditor-tabs",
53
+ "FileEditorTabs": "alinea-FileEditor-tabs",
67
54
  "FileEditor-content": "alinea-FileEditor-content",
68
55
  "FileEditorContent": "alinea-FileEditor-content",
69
56
  "FileEditor-focus": "alinea-FileEditor-focus",
70
57
  "FileEditorFocus": "alinea-FileEditor-focus",
71
- "FileEditor-focus-description": "alinea-FileEditor-focus-description",
72
- "FileEditorFocusDescription": "alinea-FileEditor-focus-description",
58
+ "FileEditor-focus-header": "alinea-FileEditor-focus-header",
59
+ "FileEditorFocusHeader": "alinea-FileEditor-focus-header",
60
+ "FileEditor-tabPanel": "alinea-FileEditor-tabPanel",
61
+ "FileEditorTabPanel": "alinea-FileEditor-tabPanel",
73
62
  "FileEditor-metadata": "alinea-FileEditor-metadata",
74
63
  "FileEditorMetadata": "alinea-FileEditor-metadata",
75
64
  "FileEditor-fields": "alinea-FileEditor-fields",
76
- "FileEditorFields": "alinea-FileEditor-fields"
65
+ "FileEditorFields": "alinea-FileEditor-fields",
66
+ "FileEditor-tabs-header": "alinea-FileEditor-tabs-header",
67
+ "FileEditorTabsHeader": "alinea-FileEditor-tabs-header",
68
+ "FileEditor-surface": "alinea-FileEditor-surface",
69
+ "FileEditorSurface": "alinea-FileEditor-surface",
70
+ "FileEditor-details": "alinea-FileEditor-details",
71
+ "FileEditorDetails": "alinea-FileEditor-details",
72
+ "FileEditor-focus-label": "alinea-FileEditor-focus-label",
73
+ "FileEditorFocusLabel": "alinea-FileEditor-focus-label",
74
+ "FileEditor": "alinea-FileEditor",
75
+ "FileEditor-focus-description": "alinea-FileEditor-focus-description",
76
+ "FileEditorFocusDescription": "alinea-FileEditor-focus-description"
77
77
  };
78
78
 
79
79
  // src/dashboard/app/editor/FileEditor.tsx