alinea 2.0.0-preview.1 → 2.0.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/.init/content/pages/welcome.json +1 -1
  2. package/dist/LICENSES.md +61 -34
  3. package/dist/adapter/next/DevRemote.d.ts +3 -0
  4. package/dist/adapter/next/DevRemote.js +37 -0
  5. package/dist/adapter/next/ForwardCredentials.d.ts +1 -0
  6. package/dist/adapter/next/ForwardCredentials.js +17 -0
  7. package/dist/adapter/next/cms.js +86 -38
  8. package/dist/adapter/next/context.d.ts +1 -1
  9. package/dist/adapter/next/context.js +11 -3
  10. package/dist/adapter/next/handler.d.ts +2 -0
  11. package/dist/adapter/next/handler.js +23 -16
  12. package/dist/adapter/next/with-alinea.js +18 -16
  13. package/dist/backend/Handler.d.ts +14 -13
  14. package/dist/backend/Handler.js +53 -22
  15. package/dist/backend/resolver/ParsePreview.d.ts +8 -4
  16. package/dist/backend/resolver/ParsePreview.js +40 -43
  17. package/dist/bundled.d.ts +255 -60
  18. package/dist/chunks/{chunk-LUBOGJCG.js → chunk-6V4TAD2N.js} +1 -1
  19. package/dist/chunks/{chunk-TL7ZW6BX.js → chunk-A3XXZBOQ.js} +2535 -2999
  20. package/dist/chunks/chunk-AC5ATYI3.js +1434 -0
  21. package/dist/chunks/{chunk-7ORQ7BYK.js → chunk-KMLLLZ6X.js} +202 -269
  22. package/dist/chunks/{chunk-IWN3T3FL.js → chunk-O7XWTMCB.js} +1 -1
  23. package/dist/chunks/{chunk-53DZYORR.js → chunk-PAYSVIYI.js} +76 -176
  24. package/dist/chunks/{chunk-YK3OSMDM.js → chunk-S4AU6SRS.js} +188 -158
  25. package/dist/chunks/{chunk-FRYHNUEK.js → chunk-UVOEM4AH.js} +6 -3
  26. package/dist/chunks/{chunk-I7X64JTZ.js → chunk-VXZM6V4P.js} +4 -4
  27. package/dist/cli/Generate.js +3 -13
  28. package/dist/cli/Serve.js +7 -3
  29. package/dist/cli/bin.js +8 -5
  30. package/dist/cli/generate/CopyStaticFiles.js +2 -3
  31. package/dist/cli/generate/DevDB.d.ts +1 -1
  32. package/dist/cli/generate/DevDB.js +3 -5
  33. package/dist/cli/serve/CreateLocalServer.d.ts +1 -1
  34. package/dist/cli/serve/CreateLocalServer.js +3 -2
  35. package/dist/cli/serve/DevServer.d.ts +3 -2
  36. package/dist/cli/serve/DevServer.js +60 -3
  37. package/dist/cli/serve/ServeContext.d.ts +1 -0
  38. package/dist/cli/serve/StartServer.d.ts +1 -0
  39. package/dist/cli/serve/StartServer.js +6 -1
  40. package/dist/cli/util/EnsureLibs.js +2 -2
  41. package/dist/cli/util/EnsureNode.js +2 -2
  42. package/dist/cloud/CloudRemote.js +1 -1
  43. package/dist/components/Breadcrumbs.js +8 -8
  44. package/dist/components/Button.js +6 -6
  45. package/dist/components/Calendar.js +9 -9
  46. package/dist/components/Checkbox.js +9 -9
  47. package/dist/components/CheckboxGroup.js +6 -6
  48. package/dist/components/ColorSwatch.js +6 -6
  49. package/dist/components/ColorSwatchPicker.js +6 -6
  50. package/dist/components/ComboBox.js +16 -16
  51. package/dist/components/DateField.js +9 -9
  52. package/dist/components/DatePicker.js +11 -11
  53. package/dist/components/DateRangePicker.js +14 -14
  54. package/dist/components/Dialog.js +6 -6
  55. package/dist/components/Disclosure.js +14 -14
  56. package/dist/components/DropZone.js +6 -6
  57. package/dist/components/Label.js +14 -14
  58. package/dist/components/Link.js +6 -6
  59. package/dist/components/List.js +32 -32
  60. package/dist/components/Menu.js +10 -10
  61. package/dist/components/Modal.js +8 -8
  62. package/dist/components/MultipleSelect.js +25 -25
  63. package/dist/components/NumberField.d.ts +2 -1
  64. package/dist/components/NumberField.js +25 -15
  65. package/dist/components/Popover.js +6 -6
  66. package/dist/components/ProgressCircle.js +9 -9
  67. package/dist/components/RadioGroup.js +8 -8
  68. package/dist/components/SearchField.js +15 -15
  69. package/dist/components/Select.js +14 -14
  70. package/dist/components/Surface.js +2 -2
  71. package/dist/components/Switch.js +8 -8
  72. package/dist/components/Table.js +14 -14
  73. package/dist/components/Tabs.js +7 -7
  74. package/dist/components/TagGroup.js +8 -8
  75. package/dist/components/TextField.js +10 -10
  76. package/dist/components/TimeField.js +8 -8
  77. package/dist/components/Toggle.js +8 -8
  78. package/dist/components/Toolbar.js +9 -9
  79. package/dist/components/Tooltip.js +7 -7
  80. package/dist/components/Tree.js +10 -10
  81. package/dist/core/Client.js +3 -2
  82. package/dist/core/Config.d.ts +4 -0
  83. package/dist/core/Config.js +6 -0
  84. package/dist/core/Connection.d.ts +2 -2
  85. package/dist/core/Connection.js +7 -0
  86. package/dist/core/Graph.d.ts +3 -4
  87. package/dist/core/ListRow.d.ts +2 -0
  88. package/dist/core/OrderBy.d.ts +7 -3
  89. package/dist/core/TextDoc.d.ts +11 -0
  90. package/dist/core/Trace.d.ts +8 -0
  91. package/dist/core/Trace.js +32 -0
  92. package/dist/core/db/CommitRequest.d.ts +0 -3
  93. package/dist/core/db/CommitRequest.js +0 -9
  94. package/dist/core/db/EntryDB.js +1 -1
  95. package/dist/core/db/EntryIndex.d.ts +10 -0
  96. package/dist/core/db/EntryIndex.js +117 -9
  97. package/dist/core/db/EntryResolver.js +104 -29
  98. package/dist/core/db/EntryTransaction.d.ts +1 -2
  99. package/dist/core/db/EntryTransaction.js +25 -13
  100. package/dist/core/db/LocalDB.d.ts +2 -3
  101. package/dist/core/db/LocalDB.js +24 -19
  102. package/dist/core/field/RichTextField.d.ts +30 -3
  103. package/dist/core/field/RichTextField.js +125 -41
  104. package/dist/core/media/MediaAltField.d.ts +1 -0
  105. package/dist/core/media/MediaAltField.js +9 -1
  106. package/dist/core/source/OverlaySource.d.ts +12 -0
  107. package/dist/core/source/OverlaySource.js +50 -0
  108. package/dist/core/source/Source.d.ts +1 -1
  109. package/dist/core/source/Source.js +3 -3
  110. package/dist/dashboard/App.css +158 -0
  111. package/dist/dashboard/App.js +3 -3
  112. package/dist/dashboard/app/AccessDenied.js +1 -1
  113. package/dist/dashboard/app/ActivityStatus.js +14 -14
  114. package/dist/dashboard/app/AppShell.js +2 -2
  115. package/dist/dashboard/app/AuthView.js +12 -12
  116. package/dist/dashboard/app/Badge.js +2 -2
  117. package/dist/dashboard/app/CompactField.js +13 -13
  118. package/dist/dashboard/app/DashboardErrorBoundary.js +6 -6
  119. package/dist/dashboard/app/DashboardLayout.js +22 -19
  120. package/dist/dashboard/app/EntryHeader.js +10 -10
  121. package/dist/dashboard/app/EntryReferences.js +9 -9
  122. package/dist/dashboard/app/EntrySidebar.d.ts +1 -1
  123. package/dist/dashboard/app/EntrySidebar.js +19 -18
  124. package/dist/dashboard/app/EntrySidebarPreview.d.ts +1 -1
  125. package/dist/dashboard/app/EntrySidebarPreview.js +20 -15
  126. package/dist/dashboard/app/EntryTranslationBanner.js +6 -6
  127. package/dist/dashboard/app/Explorer.js +46 -46
  128. package/dist/dashboard/app/ExplorerCards.js +42 -42
  129. package/dist/dashboard/app/ExplorerFileCard.js +16 -16
  130. package/dist/dashboard/app/ExplorerList.js +15 -15
  131. package/dist/dashboard/app/ExplorerModal.js +5 -5
  132. package/dist/dashboard/app/ExplorerTable.js +54 -54
  133. package/dist/dashboard/app/ExternalLinkPicker.js +15 -4
  134. package/dist/dashboard/app/LinkPicker.js +6 -6
  135. package/dist/dashboard/app/LocaleMenu.js +11 -11
  136. package/dist/dashboard/app/SidebarLayout.d.ts +8 -0
  137. package/dist/dashboard/app/SidebarLayout.js +1169 -0
  138. package/dist/dashboard/app/SidebarTree.js +44 -44
  139. package/dist/dashboard/app/WorkspaceMenu.js +17 -17
  140. package/dist/dashboard/app/WorkspaceRoots.js +26 -26
  141. package/dist/dashboard/app/editor/FileEditor.js +28 -29
  142. package/dist/dashboard/app/editor/FilePreview.js +2 -2
  143. package/dist/dashboard/app/editor/MediaAltField.view.d.ts +1 -1
  144. package/dist/dashboard/app/editor/MediaAltField.view.js +6 -9
  145. package/dist/dashboard/app/modals/CreateEntry.js +4 -4
  146. package/dist/dashboard/app/pages/EntryPage.js +49 -25
  147. package/dist/dashboard/app/pages/UsersPage.js +38 -38
  148. package/dist/dashboard/app/ui/DashboardModal.js +22 -22
  149. package/dist/dashboard/app/ui/Rail.js +2 -2
  150. package/dist/dashboard/app/ui/Sidebar.js +2 -2
  151. package/dist/dashboard/atoms/auth.js +2 -0
  152. package/dist/dashboard/atoms/dashboard.d.ts +9 -0
  153. package/dist/dashboard/atoms/dashboard.js +17 -0
  154. package/dist/dashboard/atoms/editor.d.ts +7 -1
  155. package/dist/dashboard/atoms/editor.js +4 -1
  156. package/dist/dashboard/atoms/entry.d.ts +3 -1
  157. package/dist/dashboard/atoms/entry.js +55 -15
  158. package/dist/dashboard/atoms/explorer.js +3 -8
  159. package/dist/dashboard/atoms/preview.d.ts +3 -0
  160. package/dist/dashboard/atoms/preview.js +18 -1
  161. package/dist/dashboard/hooks.d.ts +4 -2
  162. package/dist/dashboard/hooks.js +9 -5
  163. package/dist/dashboard/icons.d.ts +1 -0
  164. package/dist/dashboard/icons.js +10 -0
  165. package/dist/field/check/CheckField.view.js +2 -2
  166. package/dist/field/code/CodeField.view.js +13 -13
  167. package/dist/field/date/DateField.view.js +12 -2
  168. package/dist/field/link/Link.js +2 -2
  169. package/dist/field/link/LinkField.view.js +88 -77
  170. package/dist/field/list/ListField.view.js +22 -33
  171. package/dist/field/metadata/MetadataField.view.js +20 -20
  172. package/dist/field/number/NumberField.d.ts +2 -0
  173. package/dist/field/number/NumberField.view.js +4 -2
  174. package/dist/field/richtext/PickTextLink.d.ts +7 -0
  175. package/dist/field/richtext/PickTextLink.js +104 -2
  176. package/dist/field/richtext/ReferenceLink.d.ts +4 -1
  177. package/dist/field/richtext/ReferenceLink.js +18 -4
  178. package/dist/field/richtext/RichTextDocument.d.ts +7 -2
  179. package/dist/field/richtext/RichTextDocument.js +34 -5
  180. package/dist/field/richtext/RichTextExtensions.d.ts +3 -1
  181. package/dist/field/richtext/RichTextExtensions.js +2704 -7467
  182. package/dist/field/richtext/RichTextField.d.ts +4 -0
  183. package/dist/field/richtext/RichTextField.story.d.ts +4 -0
  184. package/dist/field/richtext/RichTextField.view.js +44 -21
  185. package/dist/field/richtext/RichTextInsertMenu.js +281 -495
  186. package/dist/field/richtext/RichTextToolbar.d.ts +5 -2
  187. package/dist/field/richtext/RichTextToolbar.js +38 -3
  188. package/dist/field/richtext/Toolbar.d.ts +19 -1
  189. package/dist/field/richtext/Toolbar.js +18 -13
  190. package/dist/field/richtext/extensions/Anchor.js +1 -1
  191. package/dist/field/richtext/extensions/Link.js +1 -1
  192. package/dist/field/richtext/extensions/Small.js +1 -1
  193. package/dist/field/select/SelectField.view.js +8 -6
  194. package/dist/index.css +219 -14
  195. package/dist/next.cjs +18 -16
  196. package/dist/next.d.ts +2 -1
  197. package/dist/next.edge.d.ts +2 -1
  198. package/dist/ui/RichText.d.ts +1 -0
  199. package/dist/ui/RichText.js +29 -2
  200. package/package.json +6 -3
  201. package/dist/chunks/{chunk-JFROOUG6.js → chunk-NIVGVRDS.js} +17 -17
@@ -6,20 +6,20 @@ import {
6
6
  import "../../chunks/chunk-Y7XOMJOC.js";
7
7
  import {
8
8
  $143fb904d86051ce$export$89be5a243e59c4b2
9
- } from "../../chunks/chunk-I7X64JTZ.js";
9
+ } from "../../chunks/chunk-VXZM6V4P.js";
10
10
  import {
11
11
  $42ceafc619f9c3ba$export$fb8073518f34e6ec
12
- } from "../../chunks/chunk-IWN3T3FL.js";
12
+ } from "../../chunks/chunk-O7XWTMCB.js";
13
13
  import "../../chunks/chunk-RKDPDEF7.js";
14
14
  import {
15
15
  $942f06a693c162e2$export$cacbb3924155d68e
16
- } from "../../chunks/chunk-JFROOUG6.js";
17
- import "../../chunks/chunk-SJBZFMQ2.js";
16
+ } from "../../chunks/chunk-NIVGVRDS.js";
18
17
  import "../../chunks/chunk-IYAQC63Y.js";
18
+ import "../../chunks/chunk-SJBZFMQ2.js";
19
19
  import {
20
20
  $32ef394310635fd5$export$2cfc5be7a55829f6
21
- } from "../../chunks/chunk-LUBOGJCG.js";
22
- import "../../chunks/chunk-YK3OSMDM.js";
21
+ } from "../../chunks/chunk-6V4TAD2N.js";
22
+ import "../../chunks/chunk-S4AU6SRS.js";
23
23
  import "../../chunks/chunk-AC4U3IMS.js";
24
24
  import {
25
25
  dist_default
@@ -43,62 +43,62 @@ import { LocaleMenu } from "./LocaleMenu.js";
43
43
 
44
44
  // src/dashboard/app/SidebarTree.module.css
45
45
  var SidebarTree_default = {
46
+ "SidebarTree-rootButton": "alinea-SidebarTree-rootButton",
47
+ "SidebarTreeRootButton": "alinea-SidebarTree-rootButton",
48
+ "SidebarTree-itemSkeleton-label": "alinea-SidebarTree-itemSkeleton-label",
49
+ "SidebarTreeItemSkeletonLabel": "alinea-SidebarTree-itemSkeleton-label",
46
50
  "is-selected": "alinea-is-selected",
47
51
  "isSelected": "alinea-is-selected",
48
- "is-short": "alinea-is-short",
49
- "isShort": "alinea-is-short",
50
- "is-unpublished": "alinea-is-unpublished",
51
- "isUnpublished": "alinea-is-unpublished",
52
+ "SidebarTree-rootButton-label": "alinea-SidebarTree-rootButton-label",
53
+ "SidebarTreeRootButtonLabel": "alinea-SidebarTree-rootButton-label",
54
+ "SidebarTree-root": "alinea-SidebarTree-root",
55
+ "SidebarTreeRoot": "alinea-SidebarTree-root",
52
56
  "SidebarTree-rootButton-locale": "alinea-SidebarTree-rootButton-locale",
53
57
  "SidebarTreeRootButtonLocale": "alinea-SidebarTree-rootButton-locale",
54
- "SidebarTree-tree-viewport": "alinea-SidebarTree-tree-viewport",
55
- "SidebarTreeTreeViewport": "alinea-SidebarTree-tree-viewport",
56
- "SidebarTree-skeleton-chevron": "alinea-SidebarTree-skeleton-chevron",
57
- "SidebarTreeSkeletonChevron": "alinea-SidebarTree-skeleton-chevron",
58
+ "is-draft": "alinea-is-draft",
59
+ "isDraft": "alinea-is-draft",
60
+ "SidebarTree-tree": "alinea-SidebarTree-tree",
61
+ "SidebarTreeTree": "alinea-SidebarTree-tree",
58
62
  "SidebarTree-skeleton-pulse": "alinea-SidebarTree-skeleton-pulse",
59
63
  "SidebarTreeSkeletonPulse": "alinea-SidebarTree-skeleton-pulse",
64
+ "SidebarTree-skeleton-label": "alinea-SidebarTree-skeleton-label",
65
+ "SidebarTreeSkeletonLabel": "alinea-SidebarTree-skeleton-label",
66
+ "SidebarTree-skeleton-row": "alinea-SidebarTree-skeleton-row",
67
+ "SidebarTreeSkeletonRow": "alinea-SidebarTree-skeleton-row",
68
+ "is-archived": "alinea-is-archived",
69
+ "isArchived": "alinea-is-archived",
60
70
  "is-untranslated": "alinea-is-untranslated",
61
71
  "isUntranslated": "alinea-is-untranslated",
62
- "SidebarTree-itemSkeleton-label": "alinea-SidebarTree-itemSkeleton-label",
63
- "SidebarTreeItemSkeletonLabel": "alinea-SidebarTree-itemSkeleton-label",
64
- "SidebarTree-status": "alinea-SidebarTree-status",
65
- "SidebarTreeStatus": "alinea-SidebarTree-status",
66
- "SidebarTree-itemLoading-pulse": "alinea-SidebarTree-itemLoading-pulse",
67
- "SidebarTreeItemLoadingPulse": "alinea-SidebarTree-itemLoading-pulse",
68
72
  "SidebarTree-entryLink": "alinea-SidebarTree-entryLink",
69
73
  "SidebarTreeEntryLink": "alinea-SidebarTree-entryLink",
70
- "SidebarTree-rootButton-label": "alinea-SidebarTree-rootButton-label",
71
- "SidebarTreeRootButtonLabel": "alinea-SidebarTree-rootButton-label",
72
- "is-parentSelected": "alinea-is-parentSelected",
73
- "isParentSelected": "alinea-is-parentSelected",
74
- "SidebarTree-skeleton-icon": "alinea-SidebarTree-skeleton-icon",
75
- "SidebarTreeSkeletonIcon": "alinea-SidebarTree-skeleton-icon",
76
74
  "SidebarTree-skeleton": "alinea-SidebarTree-skeleton",
77
75
  "SidebarTreeSkeleton": "alinea-SidebarTree-skeleton",
78
- "SidebarTree-rootButton": "alinea-SidebarTree-rootButton",
79
- "SidebarTreeRootButton": "alinea-SidebarTree-rootButton",
80
- "SidebarTree-skeleton-label": "alinea-SidebarTree-skeleton-label",
81
- "SidebarTreeSkeletonLabel": "alinea-SidebarTree-skeleton-label",
82
- "is-archived": "alinea-is-archived",
83
- "isArchived": "alinea-is-archived",
84
- "SidebarTree-tree": "alinea-SidebarTree-tree",
85
- "SidebarTreeTree": "alinea-SidebarTree-tree",
86
- "is-draft": "alinea-is-draft",
87
- "isDraft": "alinea-is-draft",
76
+ "is-short": "alinea-is-short",
77
+ "isShort": "alinea-is-short",
88
78
  "SidebarTree-loading": "alinea-SidebarTree-loading",
89
79
  "SidebarTreeLoading": "alinea-SidebarTree-loading",
90
- "SidebarTree-rootButton-action": "alinea-SidebarTree-rootButton-action",
91
- "SidebarTreeRootButtonAction": "alinea-SidebarTree-rootButton-action",
92
- "SidebarTree-skeleton-row": "alinea-SidebarTree-skeleton-row",
93
- "SidebarTreeSkeletonRow": "alinea-SidebarTree-skeleton-row",
80
+ "SidebarTree-itemLoading": "alinea-SidebarTree-itemLoading",
81
+ "SidebarTreeItemLoading": "alinea-SidebarTree-itemLoading",
82
+ "SidebarTree-itemLoading-pulse": "alinea-SidebarTree-itemLoading-pulse",
83
+ "SidebarTreeItemLoadingPulse": "alinea-SidebarTree-itemLoading-pulse",
94
84
  "SidebarTree-item": "alinea-SidebarTree-item",
95
85
  "SidebarTreeItem": "alinea-SidebarTree-item",
86
+ "SidebarTree-skeleton-chevron": "alinea-SidebarTree-skeleton-chevron",
87
+ "SidebarTreeSkeletonChevron": "alinea-SidebarTree-skeleton-chevron",
88
+ "SidebarTree-skeleton-icon": "alinea-SidebarTree-skeleton-icon",
89
+ "SidebarTreeSkeletonIcon": "alinea-SidebarTree-skeleton-icon",
96
90
  "is-loading": "alinea-is-loading",
97
91
  "isLoading": "alinea-is-loading",
98
- "SidebarTree-root": "alinea-SidebarTree-root",
99
- "SidebarTreeRoot": "alinea-SidebarTree-root",
100
- "SidebarTree-itemLoading": "alinea-SidebarTree-itemLoading",
101
- "SidebarTreeItemLoading": "alinea-SidebarTree-itemLoading"
92
+ "SidebarTree-tree-viewport": "alinea-SidebarTree-tree-viewport",
93
+ "SidebarTreeTreeViewport": "alinea-SidebarTree-tree-viewport",
94
+ "is-unpublished": "alinea-is-unpublished",
95
+ "isUnpublished": "alinea-is-unpublished",
96
+ "is-parentSelected": "alinea-is-parentSelected",
97
+ "isParentSelected": "alinea-is-parentSelected",
98
+ "SidebarTree-status": "alinea-SidebarTree-status",
99
+ "SidebarTreeStatus": "alinea-SidebarTree-status",
100
+ "SidebarTree-rootButton-action": "alinea-SidebarTree-rootButton-action",
101
+ "SidebarTreeRootButtonAction": "alinea-SidebarTree-rootButton-action"
102
102
  };
103
103
 
104
104
  // src/dashboard/app/SidebarTree.tsx
@@ -5,14 +5,14 @@ import {
5
5
  import "../../chunks/chunk-Y7XOMJOC.js";
6
6
  import {
7
7
  $7705c033048f6da7$export$353f5b6fc5456de1
8
- } from "../../chunks/chunk-I7X64JTZ.js";
9
- import "../../chunks/chunk-IWN3T3FL.js";
8
+ } from "../../chunks/chunk-VXZM6V4P.js";
9
+ import "../../chunks/chunk-O7XWTMCB.js";
10
10
  import "../../chunks/chunk-RKDPDEF7.js";
11
- import "../../chunks/chunk-JFROOUG6.js";
12
- import "../../chunks/chunk-SJBZFMQ2.js";
11
+ import "../../chunks/chunk-NIVGVRDS.js";
13
12
  import "../../chunks/chunk-IYAQC63Y.js";
14
- import "../../chunks/chunk-LUBOGJCG.js";
15
- import "../../chunks/chunk-YK3OSMDM.js";
13
+ import "../../chunks/chunk-SJBZFMQ2.js";
14
+ import "../../chunks/chunk-6V4TAD2N.js";
15
+ import "../../chunks/chunk-S4AU6SRS.js";
16
16
  import "../../chunks/chunk-AC4U3IMS.js";
17
17
  import {
18
18
  dist_default
@@ -47,22 +47,22 @@ import {
47
47
 
48
48
  // src/dashboard/app/WorkspaceMenu.module.css
49
49
  var WorkspaceMenu_default = {
50
- "WorkspaceMenu-avatar": "alinea-WorkspaceMenu-avatar",
51
- "WorkspaceMenuAvatar": "alinea-WorkspaceMenu-avatar",
52
- "WorkspaceMenu-avatarTrigger": "alinea-WorkspaceMenu-avatarTrigger",
53
- "WorkspaceMenuAvatarTrigger": "alinea-WorkspaceMenu-avatarTrigger",
54
- "WorkspaceMenu-parent": "alinea-WorkspaceMenu-parent",
55
- "WorkspaceMenuParent": "alinea-WorkspaceMenu-parent",
56
- "WorkspaceMenu-trigger-text": "alinea-WorkspaceMenu-trigger-text",
57
- "WorkspaceMenuTriggerText": "alinea-WorkspaceMenu-trigger-text",
58
50
  "WorkspaceMenu-trigger": "alinea-WorkspaceMenu-trigger",
59
51
  "WorkspaceMenuTrigger": "alinea-WorkspaceMenu-trigger",
60
- "WorkspaceMenu-menuItemIcon": "alinea-WorkspaceMenu-menuItemIcon",
61
- "WorkspaceMenuMenuItemIcon": "alinea-WorkspaceMenu-menuItemIcon",
62
52
  "WorkspaceMenu-search": "alinea-WorkspaceMenu-search",
63
53
  "WorkspaceMenuSearch": "alinea-WorkspaceMenu-search",
54
+ "WorkspaceMenu-avatarTrigger": "alinea-WorkspaceMenu-avatarTrigger",
55
+ "WorkspaceMenuAvatarTrigger": "alinea-WorkspaceMenu-avatarTrigger",
56
+ "WorkspaceMenu-avatar": "alinea-WorkspaceMenu-avatar",
57
+ "WorkspaceMenuAvatar": "alinea-WorkspaceMenu-avatar",
58
+ "WorkspaceMenu-menuItemIcon": "alinea-WorkspaceMenu-menuItemIcon",
59
+ "WorkspaceMenuMenuItemIcon": "alinea-WorkspaceMenu-menuItemIcon",
64
60
  "WorkspaceMenu-avatar-logo": "alinea-WorkspaceMenu-avatar-logo",
65
- "WorkspaceMenuAvatarLogo": "alinea-WorkspaceMenu-avatar-logo"
61
+ "WorkspaceMenuAvatarLogo": "alinea-WorkspaceMenu-avatar-logo",
62
+ "WorkspaceMenu-parent": "alinea-WorkspaceMenu-parent",
63
+ "WorkspaceMenuParent": "alinea-WorkspaceMenu-parent",
64
+ "WorkspaceMenu-trigger-text": "alinea-WorkspaceMenu-trigger-text",
65
+ "WorkspaceMenuTriggerText": "alinea-WorkspaceMenu-trigger-text"
66
66
  };
67
67
 
68
68
  // src/dashboard/app/WorkspaceMenu.tsx
@@ -46,43 +46,43 @@ import { WorkspaceAvatarMenu } from "./WorkspaceMenu.js";
46
46
 
47
47
  // src/dashboard/app/WorkspaceRoots.module.css
48
48
  var WorkspaceRoots_default = {
49
- "WorkspaceRoots-footer": "alinea-WorkspaceRoots-footer",
50
- "WorkspaceRootsFooter": "alinea-WorkspaceRoots-footer",
51
- "WorkspaceRoots-rootButton": "alinea-WorkspaceRoots-rootButton",
52
- "WorkspaceRootsRootButton": "alinea-WorkspaceRoots-rootButton",
53
- "WorkspaceRoots-profile-popover-surface": "alinea-WorkspaceRoots-profile-popover-surface",
54
- "WorkspaceRootsProfilePopoverSurface": "alinea-WorkspaceRoots-profile-popover-surface",
49
+ "WorkspaceRoots-profile": "alinea-WorkspaceRoots-profile",
50
+ "WorkspaceRootsProfile": "alinea-WorkspaceRoots-profile",
51
+ "WorkspaceRoots-profile-popover-user-title": "alinea-WorkspaceRoots-profile-popover-user-title",
52
+ "WorkspaceRootsProfilePopoverUserTitle": "alinea-WorkspaceRoots-profile-popover-user-title",
53
+ "WorkspaceRoots-profile-popover-item-label": "alinea-WorkspaceRoots-profile-popover-item-label",
54
+ "WorkspaceRootsProfilePopoverItemLabel": "alinea-WorkspaceRoots-profile-popover-item-label",
55
+ "WorkspaceRoots-profile-popover-user-icon": "alinea-WorkspaceRoots-profile-popover-user-icon",
56
+ "WorkspaceRootsProfilePopoverUserIcon": "alinea-WorkspaceRoots-profile-popover-user-icon",
57
+ "WorkspaceRoots": "alinea-WorkspaceRoots",
55
58
  "WorkspaceRoots-profile-popover-user": "alinea-WorkspaceRoots-profile-popover-user",
56
59
  "WorkspaceRootsProfilePopoverUser": "alinea-WorkspaceRoots-profile-popover-user",
57
- "WorkspaceRoots-profile-popover-themeOptions": "alinea-WorkspaceRoots-profile-popover-themeOptions",
58
- "WorkspaceRootsProfilePopoverThemeOptions": "alinea-WorkspaceRoots-profile-popover-themeOptions",
59
- "WorkspaceRoots-profile-popover-action-button": "alinea-WorkspaceRoots-profile-popover-action-button",
60
- "WorkspaceRootsProfilePopoverActionButton": "alinea-WorkspaceRoots-profile-popover-action-button",
61
60
  "WorkspaceRoots-profile-popover-action-label": "alinea-WorkspaceRoots-profile-popover-action-label",
62
61
  "WorkspaceRootsProfilePopoverActionLabel": "alinea-WorkspaceRoots-profile-popover-action-label",
62
+ "WorkspaceRoots-profile-popover-action-button": "alinea-WorkspaceRoots-profile-popover-action-button",
63
+ "WorkspaceRootsProfilePopoverActionButton": "alinea-WorkspaceRoots-profile-popover-action-button",
64
+ "WorkspaceRoots-profile-popover-surface": "alinea-WorkspaceRoots-profile-popover-surface",
65
+ "WorkspaceRootsProfilePopoverSurface": "alinea-WorkspaceRoots-profile-popover-surface",
66
+ "WorkspaceRoots-workspace": "alinea-WorkspaceRoots-workspace",
67
+ "WorkspaceRootsWorkspace": "alinea-WorkspaceRoots-workspace",
68
+ "WorkspaceRoots-profile-popover": "alinea-WorkspaceRoots-profile-popover",
69
+ "WorkspaceRootsProfilePopover": "alinea-WorkspaceRoots-profile-popover",
70
+ "WorkspaceRoots-footer": "alinea-WorkspaceRoots-footer",
71
+ "WorkspaceRootsFooter": "alinea-WorkspaceRoots-footer",
72
+ "WorkspaceRoots-profile-popover-themeOptions": "alinea-WorkspaceRoots-profile-popover-themeOptions",
73
+ "WorkspaceRootsProfilePopoverThemeOptions": "alinea-WorkspaceRoots-profile-popover-themeOptions",
63
74
  "WorkspaceRoots-trigger-text": "alinea-WorkspaceRoots-trigger-text",
64
75
  "WorkspaceRootsTriggerText": "alinea-WorkspaceRoots-trigger-text",
65
- "WorkspaceRoots": "alinea-WorkspaceRoots",
66
- "WorkspaceRoots-roots": "alinea-WorkspaceRoots-roots",
67
- "WorkspaceRootsRoots": "alinea-WorkspaceRoots-roots",
68
- "WorkspaceRoots-profile": "alinea-WorkspaceRoots-profile",
69
- "WorkspaceRootsProfile": "alinea-WorkspaceRoots-profile",
70
- "WorkspaceRoots-profile-popover-user-icon": "alinea-WorkspaceRoots-profile-popover-user-icon",
71
- "WorkspaceRootsProfilePopoverUserIcon": "alinea-WorkspaceRoots-profile-popover-user-icon",
72
76
  "WorkspaceRoots-profile-popover-action": "alinea-WorkspaceRoots-profile-popover-action",
73
77
  "WorkspaceRootsProfilePopoverAction": "alinea-WorkspaceRoots-profile-popover-action",
74
- "WorkspaceRoots-profile-popover-item-label": "alinea-WorkspaceRoots-profile-popover-item-label",
75
- "WorkspaceRootsProfilePopoverItemLabel": "alinea-WorkspaceRoots-profile-popover-item-label",
76
78
  "WorkspaceRoots-profile-popover-item": "alinea-WorkspaceRoots-profile-popover-item",
77
79
  "WorkspaceRootsProfilePopoverItem": "alinea-WorkspaceRoots-profile-popover-item",
78
- "WorkspaceRoots-profile-popover": "alinea-WorkspaceRoots-profile-popover",
79
- "WorkspaceRootsProfilePopover": "alinea-WorkspaceRoots-profile-popover",
80
- "WorkspaceRoots-workspace": "alinea-WorkspaceRoots-workspace",
81
- "WorkspaceRootsWorkspace": "alinea-WorkspaceRoots-workspace",
82
- "WorkspaceRoots-profile-popover-user-title": "alinea-WorkspaceRoots-profile-popover-user-title",
83
- "WorkspaceRootsProfilePopoverUserTitle": "alinea-WorkspaceRoots-profile-popover-user-title",
80
+ "WorkspaceRoots-rootButton": "alinea-WorkspaceRoots-rootButton",
81
+ "WorkspaceRootsRootButton": "alinea-WorkspaceRoots-rootButton",
84
82
  "WorkspaceRoots-trigger": "alinea-WorkspaceRoots-trigger",
85
- "WorkspaceRootsTrigger": "alinea-WorkspaceRoots-trigger"
83
+ "WorkspaceRootsTrigger": "alinea-WorkspaceRoots-trigger",
84
+ "WorkspaceRoots-roots": "alinea-WorkspaceRoots-roots",
85
+ "WorkspaceRootsRoots": "alinea-WorkspaceRoots-roots"
86
86
  };
87
87
 
88
88
  // src/dashboard/app/WorkspaceRoots.tsx
@@ -20,7 +20,6 @@ import { Config } from "alinea/core/Config";
20
20
  import { isImage as isImageExtension } from "alinea/core/media/IsImage";
21
21
  import { MediaLocation } from "alinea/core/media/MediaLocation";
22
22
  import { MediaFile } from "alinea/core/media/MediaTypes";
23
- import { outcome } from "alinea/core/Outcome";
24
23
  import { base64 } from "alinea/core/util/Encoding";
25
24
  import { configAtom } from "alinea/dashboard/atoms/core";
26
25
  import { useEditor, useField, useFieldValue } from "alinea/dashboard/hooks";
@@ -29,45 +28,45 @@ import { NodeEditor } from "../EntryFields.js";
29
28
 
30
29
  // src/dashboard/app/editor/FileEditor.module.css
31
30
  var FileEditor_default = {
31
+ "FileEditor-focus-header": "alinea-FileEditor-focus-header",
32
+ "FileEditorFocusHeader": "alinea-FileEditor-focus-header",
33
+ "is-full": "alinea-is-full",
34
+ "isFull": "alinea-is-full",
35
+ "FileEditor-metadata-value": "alinea-FileEditor-metadata-value",
36
+ "FileEditorMetadataValue": "alinea-FileEditor-metadata-value",
37
+ "FileEditor-metadata-term": "alinea-FileEditor-metadata-term",
38
+ "FileEditorMetadataTerm": "alinea-FileEditor-metadata-term",
39
+ "FileEditor-tabs": "alinea-FileEditor-tabs",
40
+ "FileEditorTabs": "alinea-FileEditor-tabs",
41
+ "FileEditor-metadata-item": "alinea-FileEditor-metadata-item",
42
+ "FileEditorMetadataItem": "alinea-FileEditor-metadata-item",
43
+ "is-link": "alinea-is-link",
44
+ "isLink": "alinea-is-link",
32
45
  "FileEditor-metadataPanel": "alinea-FileEditor-metadataPanel",
33
46
  "FileEditorMetadataPanel": "alinea-FileEditor-metadataPanel",
34
- "FileEditor-focus-value": "alinea-FileEditor-focus-value",
35
- "FileEditorFocusValue": "alinea-FileEditor-focus-value",
36
- "FileEditor-content": "alinea-FileEditor-content",
37
- "FileEditorContent": "alinea-FileEditor-content",
38
- "is-image": "alinea-is-image",
39
- "isImage": "alinea-is-image",
47
+ "FileEditor-focus-label": "alinea-FileEditor-focus-label",
48
+ "FileEditorFocusLabel": "alinea-FileEditor-focus-label",
40
49
  "FileEditor-surface": "alinea-FileEditor-surface",
41
50
  "FileEditorSurface": "alinea-FileEditor-surface",
42
51
  "FileEditor-tabPanel": "alinea-FileEditor-tabPanel",
43
52
  "FileEditorTabPanel": "alinea-FileEditor-tabPanel",
44
- "FileEditor-metadata-grid": "alinea-FileEditor-metadata-grid",
45
- "FileEditorMetadataGrid": "alinea-FileEditor-metadata-grid",
46
- "is-link": "alinea-is-link",
47
- "isLink": "alinea-is-link",
48
53
  "FileEditor-focus": "alinea-FileEditor-focus",
49
54
  "FileEditorFocus": "alinea-FileEditor-focus",
50
- "FileEditor-focus-label": "alinea-FileEditor-focus-label",
51
- "FileEditorFocusLabel": "alinea-FileEditor-focus-label",
52
- "FileEditor-focus-description": "alinea-FileEditor-focus-description",
53
- "FileEditorFocusDescription": "alinea-FileEditor-focus-description",
54
55
  "FileEditor-tabs-header": "alinea-FileEditor-tabs-header",
55
56
  "FileEditorTabsHeader": "alinea-FileEditor-tabs-header",
56
- "is-full": "alinea-is-full",
57
- "isFull": "alinea-is-full",
58
- "FileEditor": "alinea-FileEditor",
59
- "FileEditor-metadata-term": "alinea-FileEditor-metadata-term",
60
- "FileEditorMetadataTerm": "alinea-FileEditor-metadata-term",
61
- "FileEditor-metadata-item": "alinea-FileEditor-metadata-item",
62
- "FileEditorMetadataItem": "alinea-FileEditor-metadata-item",
63
- "FileEditor-metadata-value": "alinea-FileEditor-metadata-value",
64
- "FileEditorMetadataValue": "alinea-FileEditor-metadata-value",
65
- "FileEditor-tabs": "alinea-FileEditor-tabs",
66
- "FileEditorTabs": "alinea-FileEditor-tabs",
57
+ "FileEditor-content": "alinea-FileEditor-content",
58
+ "FileEditorContent": "alinea-FileEditor-content",
67
59
  "FileEditor-metadata": "alinea-FileEditor-metadata",
68
60
  "FileEditorMetadata": "alinea-FileEditor-metadata",
69
- "FileEditor-focus-header": "alinea-FileEditor-focus-header",
70
- "FileEditorFocusHeader": "alinea-FileEditor-focus-header"
61
+ "FileEditor": "alinea-FileEditor",
62
+ "FileEditor-metadata-grid": "alinea-FileEditor-metadata-grid",
63
+ "FileEditorMetadataGrid": "alinea-FileEditor-metadata-grid",
64
+ "FileEditor-focus-description": "alinea-FileEditor-focus-description",
65
+ "FileEditorFocusDescription": "alinea-FileEditor-focus-description",
66
+ "FileEditor-focus-value": "alinea-FileEditor-focus-value",
67
+ "FileEditorFocusValue": "alinea-FileEditor-focus-value",
68
+ "is-image": "alinea-is-image",
69
+ "isImage": "alinea-is-image"
71
70
  };
72
71
 
73
72
  // src/dashboard/app/editor/FileEditor.tsx
@@ -108,7 +107,7 @@ function FileEditor({ entry, parentPaths }) {
108
107
  workspace: entry.workspace
109
108
  });
110
109
  const baseUrl = Config.baseUrl(config) ?? window.location.href;
111
- const [liveUrl] = outcome(() => new URL(publicLocation, baseUrl));
110
+ const liveUrl = URL.parse(publicLocation, baseUrl);
112
111
  const parsedBaseUrl = URL.parse(baseUrl);
113
112
  const displayedUrl = liveUrl ? parsedBaseUrl && liveUrl.origin === parsedBaseUrl.origin ? `${liveUrl.pathname}${liveUrl.search}${liveUrl.hash}` : liveUrl.href : void 0;
114
113
  const displayedFocusPoint = hoverPoint ?? focusPoint;
@@ -10,12 +10,12 @@ import { useEffect, useRef, useState } from "react";
10
10
 
11
11
  // src/dashboard/app/editor/FilePreview.module.css
12
12
  var FilePreview_default = {
13
- "FilePreview-focus-dot": "alinea-FilePreview-focus-dot",
14
- "FilePreviewFocusDot": "alinea-FilePreview-focus-dot",
15
13
  "FilePreview-interactive": "alinea-FilePreview-interactive",
16
14
  "FilePreviewInteractive": "alinea-FilePreview-interactive",
17
15
  "FilePreview-image": "alinea-FilePreview-image",
18
16
  "FilePreviewImage": "alinea-FilePreview-image",
17
+ "FilePreview-focus-dot": "alinea-FilePreview-focus-dot",
18
+ "FilePreviewFocusDot": "alinea-FilePreview-focus-dot",
19
19
  "FilePreview-focus": "alinea-FilePreview-focus",
20
20
  "FilePreviewFocus": "alinea-FilePreview-focus",
21
21
  "FilePreview-focus-inner": "alinea-FilePreview-focus-inner",
@@ -1,4 +1,4 @@
1
- import type { MediaAltField } from 'alinea/core/media/MediaAltField';
1
+ import { type MediaAltField } from 'alinea/core/media/MediaAltField';
2
2
  export interface MediaAltFieldViewProps {
3
3
  field: MediaAltField;
4
4
  }
@@ -6,13 +6,16 @@ import "../../../chunks/chunk-CQ52GEHY.js";
6
6
 
7
7
  // src/dashboard/app/editor/MediaAltField.view.tsx
8
8
  import { TextField } from "alinea/components";
9
+ import {
10
+ mediaAltText
11
+ } from "alinea/core/media/MediaAltField";
12
+ import { isRecord } from "alinea/core/util/Objects";
9
13
  import {
10
14
  useEntryAtoms,
11
15
  useField,
12
16
  useFieldError,
13
17
  useFieldOptions
14
18
  } from "alinea/dashboard/hooks";
15
- import { isRecord } from "alinea/core/util/Objects";
16
19
  import { LocalisedFieldTabs } from "alinea/field/localiser/LocalisedFieldTabs";
17
20
  import { useState } from "react";
18
21
  import { jsx } from "react/jsx-runtime";
@@ -29,7 +32,7 @@ function MediaAltFieldView({ field }) {
29
32
  {
30
33
  error,
31
34
  options,
32
- value: mediaAltString(value),
35
+ value: mediaAltText(value),
33
36
  onChange: (next) => setValue(next)
34
37
  }
35
38
  );
@@ -46,7 +49,7 @@ function MediaAltFieldView({ field }) {
46
49
  {
47
50
  error,
48
51
  options,
49
- value: mediaAltString(value, locale2),
52
+ value: mediaAltText(value, locale2),
50
53
  onChange: (next) => {
51
54
  setValue((current) => mediaAltLocalise(current, locale2, next));
52
55
  }
@@ -78,12 +81,6 @@ function MediaAltTextField({
78
81
  }
79
82
  );
80
83
  }
81
- function mediaAltString(value, locale) {
82
- if (typeof value === "string") return value;
83
- if (!isRecord(value)) return "";
84
- if (locale && typeof value[locale] === "string") return value[locale];
85
- return Object.values(value).find((value2) => typeof value2 === "string") ?? "";
86
- }
87
84
  function mediaAltLocalise(value, locale, next) {
88
85
  const current = isRecord(value) ? Object.fromEntries(
89
86
  Object.entries(value).filter(
@@ -49,12 +49,12 @@ import {
49
49
  var CreateEntry_default = {
50
50
  "CreateEntry-parentRow": "alinea-CreateEntry-parentRow",
51
51
  "CreateEntryParentRow": "alinea-CreateEntry-parentRow",
52
- "CreateEntry-message": "alinea-CreateEntry-message",
53
- "CreateEntryMessage": "alinea-CreateEntry-message",
52
+ "CreateEntry-insertOrder": "alinea-CreateEntry-insertOrder",
53
+ "CreateEntryInsertOrder": "alinea-CreateEntry-insertOrder",
54
54
  "CreateEntry-parentField": "alinea-CreateEntry-parentField",
55
55
  "CreateEntryParentField": "alinea-CreateEntry-parentField",
56
- "CreateEntry-insertOrder": "alinea-CreateEntry-insertOrder",
57
- "CreateEntryInsertOrder": "alinea-CreateEntry-insertOrder"
56
+ "CreateEntry-message": "alinea-CreateEntry-message",
57
+ "CreateEntryMessage": "alinea-CreateEntry-message"
58
58
  };
59
59
 
60
60
  // src/dashboard/app/modals/CreateEntry.tsx
@@ -31,7 +31,9 @@ import { EntryScope } from "../../hooks.js";
31
31
  import {
32
32
  IcBaselineErrorOutline,
33
33
  IcOutlineViewList,
34
- IcRoundEdit
34
+ IcRoundEdit,
35
+ IcRoundCheck,
36
+ IcRoundSave
35
37
  } from "../../icons.js";
36
38
  import { FileEditor } from "./../editor/FileEditor.js";
37
39
  import { CreateEntryButton } from "./../DashboardLayout.js";
@@ -43,6 +45,7 @@ import {
43
45
  } from "./../EntrySidebar.js";
44
46
  import { EntryTranslationBanner } from "./../EntryTranslationBanner.js";
45
47
  import { Explorer } from "./../Explorer.js";
48
+ import { SidebarLayout } from "../SidebarLayout.js";
46
49
  import {
47
50
  DashboardModal,
48
51
  DashboardModalContent,
@@ -53,31 +56,31 @@ import { Rail, RailBody, RailContent } from "./../ui/Rail.js";
53
56
 
54
57
  // src/dashboard/app/pages/EntryPage.module.css
55
58
  var EntryPage_default = {
56
- "EntryEditor-title": "alinea-EntryEditor-title",
57
- "EntryEditorTitle": "alinea-EntryEditor-title",
58
- "MissingEntry-title": "alinea-MissingEntry-title",
59
- "MissingEntryTitle": "alinea-MissingEntry-title",
60
- "MissingEntry-message": "alinea-MissingEntry-message",
61
- "MissingEntryMessage": "alinea-MissingEntry-message",
62
59
  "EntryEditor-fields": "alinea-EntryEditor-fields",
63
60
  "EntryEditorFields": "alinea-EntryEditor-fields",
64
- "EntryEditor-banner": "alinea-EntryEditor-banner",
65
- "EntryEditorBanner": "alinea-EntryEditor-banner",
66
- "EntryEditor-header": "alinea-EntryEditor-header",
67
- "EntryEditorHeader": "alinea-EntryEditor-header",
61
+ "EntryEditor-title": "alinea-EntryEditor-title",
62
+ "EntryEditorTitle": "alinea-EntryEditor-title",
63
+ "EntryEditor-toolbar": "alinea-EntryEditor-toolbar",
64
+ "EntryEditorToolbar": "alinea-EntryEditor-toolbar",
68
65
  "EntryOverview-mobileActions": "alinea-EntryOverview-mobileActions",
69
66
  "EntryOverviewMobileActions": "alinea-EntryOverview-mobileActions",
67
+ "EntryEditor-header": "alinea-EntryEditor-header",
68
+ "EntryEditorHeader": "alinea-EntryEditor-header",
70
69
  "MissingEntry-card": "alinea-MissingEntry-card",
71
70
  "MissingEntryCard": "alinea-MissingEntry-card",
72
- "EntryEditor-toolbar": "alinea-EntryEditor-toolbar",
73
- "EntryEditorToolbar": "alinea-EntryEditor-toolbar",
74
71
  "MissingEntry": "alinea-MissingEntry",
75
- "MissingEntry-icon": "alinea-MissingEntry-icon",
76
- "MissingEntryIcon": "alinea-MissingEntry-icon",
77
72
  "EntryEditor-body": "alinea-EntryEditor-body",
78
73
  "EntryEditorBody": "alinea-EntryEditor-body",
74
+ "MissingEntry-icon": "alinea-MissingEntry-icon",
75
+ "MissingEntryIcon": "alinea-MissingEntry-icon",
76
+ "MissingEntry-title": "alinea-MissingEntry-title",
77
+ "MissingEntryTitle": "alinea-MissingEntry-title",
78
+ "MissingEntry-message": "alinea-MissingEntry-message",
79
+ "MissingEntryMessage": "alinea-MissingEntry-message",
79
80
  "MissingEntry-id": "alinea-MissingEntry-id",
80
- "MissingEntryId": "alinea-MissingEntry-id"
81
+ "MissingEntryId": "alinea-MissingEntry-id",
82
+ "EntryEditor-banner": "alinea-EntryEditor-banner",
83
+ "EntryEditorBanner": "alinea-EntryEditor-banner"
81
84
  };
82
85
 
83
86
  // src/dashboard/app/pages/EntryPage.tsx
@@ -106,17 +109,21 @@ var entryPage = page(async (page2, get) => {
106
109
  );
107
110
  }
108
111
  const selectedNode = await get(localeData.selectedNode);
112
+ const richTextImages = await get(localeData.richTextImages);
109
113
  const parentNeedsTranslation = type.customView ? false : await get(localeData.parentNeedsTranslation);
110
114
  const sourceLocale = get(localeData.translationSourceLocale);
111
- const sidebar = await entrySidebar(get, entry, localeData);
115
+ const isSidebarOpen = get(entrySidebarOpenAtom);
116
+ const sidebar = await entrySidebar(get, entry, localeData, isSidebarOpen);
112
117
  return /* @__PURE__ */ jsx(
113
118
  EntryEditorContent,
114
119
  {
115
120
  entry,
121
+ isSidebarOpen: Boolean(sidebar && isSidebarOpen),
116
122
  localeData,
117
123
  node: selectedNode,
118
124
  page: page2,
119
125
  parentNeedsTranslation,
126
+ richTextImages,
120
127
  selectedEntry,
121
128
  sidebar,
122
129
  sourceLocale
@@ -229,8 +236,10 @@ function EntryOverview({
229
236
  function EntryEditorContent({
230
237
  page: page2,
231
238
  entry,
239
+ isSidebarOpen,
232
240
  localeData,
233
241
  parentNeedsTranslation,
242
+ richTextImages,
234
243
  selectedEntry,
235
244
  sidebar,
236
245
  sourceLocale,
@@ -252,7 +261,7 @@ function EntryEditorContent({
252
261
  const reset = useSetAtom(node.reset);
253
262
  const [routeBlock, setRouteBlock] = useAtom(routeBlockAtom);
254
263
  const setRouteGuard = useSetAtom(routeGuardAtom);
255
- const [isSidebarOpen, setSidebarOpen] = useAtom(entrySidebarOpenAtom);
264
+ const setSidebarOpen = useSetAtom(entrySidebarOpenAtom);
256
265
  const editorBodyRef = useRef(null);
257
266
  const isMediaFile = type.type === MediaFile;
258
267
  const isMediaLibrary = type.type === MediaLibrary;
@@ -299,6 +308,7 @@ function EntryEditorContent({
299
308
  {
300
309
  entry,
301
310
  localeData,
311
+ richTextImages,
302
312
  selectedEntry,
303
313
  children: /* @__PURE__ */ jsx(View, { type: type.type })
304
314
  }
@@ -330,22 +340,36 @@ function EntryEditorContent({
330
340
  children: routeBlock && /* @__PURE__ */ jsxs(DashboardModalDialog, { label: "Confirm navigation", children: [
331
341
  /* @__PURE__ */ jsx(DashboardModalContent, { children: "This entry has unsaved changes" }),
332
342
  /* @__PURE__ */ jsxs(DashboardModalFooter, { children: [
333
- /* @__PURE__ */ jsx(Button, { onPress: discardAndConfirm, intent: "secondary", children: "Discard my changes" }),
334
- /* @__PURE__ */ jsx(Button, { onPress: saveAndConfirm, intent: "primary", children: mediaDraftsDisabled ? "Publish" : "Save as draft" })
343
+ /* @__PURE__ */ jsx(Button, { onPress: discardAndConfirm, appearance: "plain", children: "Discard my changes" }),
344
+ /* @__PURE__ */ jsx(
345
+ Button,
346
+ {
347
+ onPress: saveAndConfirm,
348
+ intent: "primary",
349
+ icon: mediaDraftsDisabled ? IcRoundCheck : IcRoundSave,
350
+ children: mediaDraftsDisabled ? "Publish" : "Save as draft"
351
+ }
352
+ )
335
353
  ] })
336
354
  ] })
337
355
  }
338
356
  ),
339
- /* @__PURE__ */ jsxs(
357
+ /* @__PURE__ */ jsx(
340
358
  EntryScope,
341
359
  {
342
360
  entry,
343
361
  localeData,
362
+ richTextImages,
344
363
  selectedEntry,
345
- children: [
346
- mainEditor,
347
- sidebar && isSidebarOpen && /* @__PURE__ */ jsx(EntrySidebar, { ...sidebar, onOpenChange: setSidebarOpen })
348
- ]
364
+ children: /* @__PURE__ */ jsx(
365
+ SidebarLayout,
366
+ {
367
+ side: "right",
368
+ visible: Boolean(sidebar && isSidebarOpen),
369
+ sidebar: sidebar && isSidebarOpen && /* @__PURE__ */ jsx(EntrySidebar, { ...sidebar, onOpenChange: setSidebarOpen }),
370
+ children: mainEditor
371
+ }
372
+ )
349
373
  }
350
374
  )
351
375
  ] });