alinea 2.0.0-preview.6 → 2.0.0-preview.7

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 (96) hide show
  1. package/dist/.init/content/pages/welcome.json +1 -1
  2. package/dist/LICENSES.md +64 -64
  3. package/dist/adapter/next/previews.js +0 -2
  4. package/dist/bundled.d.ts +16 -5
  5. package/dist/chunks/{chunk-7IOKMUKO.js → chunk-6P4UVRPH.js} +1 -1
  6. package/dist/cli/Serve.js +1 -1
  7. package/dist/cli/bin.js +1 -1
  8. package/dist/cloud/CloudRemote.js +1 -1
  9. package/dist/components/Calendar.js +7 -7
  10. package/dist/components/Checkbox.js +3 -3
  11. package/dist/components/ColorSwatchPicker.js +2 -2
  12. package/dist/components/ComboBox.js +13 -13
  13. package/dist/components/DateField.js +3 -3
  14. package/dist/components/DatePicker.js +2 -2
  15. package/dist/components/DateRangePicker.js +7 -7
  16. package/dist/components/Disclosure.js +8 -8
  17. package/dist/components/Label.js +5 -5
  18. package/dist/components/List.js +52 -50
  19. package/dist/components/Menu.js +3 -3
  20. package/dist/components/Modal.js +2 -2
  21. package/dist/components/MultipleSelect.js +23 -23
  22. package/dist/components/NumberField.js +3 -3
  23. package/dist/components/ProgressCircle.js +4 -4
  24. package/dist/components/SearchField.js +9 -9
  25. package/dist/components/Select.js +8 -8
  26. package/dist/components/Surface.js +2 -2
  27. package/dist/components/Table.js +3 -3
  28. package/dist/components/Tabs.js +3 -3
  29. package/dist/components/TagGroup.js +3 -3
  30. package/dist/components/TextField.js +6 -6
  31. package/dist/components/TimeField.js +3 -3
  32. package/dist/components/Toolbar.js +2 -2
  33. package/dist/components/Tooltip.js +1 -1
  34. package/dist/components/Tree.js +6 -6
  35. package/dist/core/TextDoc.d.ts +1 -0
  36. package/dist/core/field/RichTextField.js +3 -3
  37. package/dist/dashboard/App.js +4 -2
  38. package/dist/dashboard/app/AccessDenied.js +4 -4
  39. package/dist/dashboard/app/ActivityStatus.js +14 -14
  40. package/dist/dashboard/app/AuthView.js +13 -13
  41. package/dist/dashboard/app/Badge.js +2 -2
  42. package/dist/dashboard/app/CompactField.js +9 -9
  43. package/dist/dashboard/app/DashboardErrorBoundary.js +6 -6
  44. package/dist/dashboard/app/DashboardLayout.js +6 -5
  45. package/dist/dashboard/app/EntryFields.js +2 -2
  46. package/dist/dashboard/app/EntryHeader.js +10 -10
  47. package/dist/dashboard/app/EntryReferences.js +8 -13
  48. package/dist/dashboard/app/EntrySidebar.js +27 -13
  49. package/dist/dashboard/app/EntrySidebarPreview.js +12 -12
  50. package/dist/dashboard/app/EntryTranslationBanner.js +5 -5
  51. package/dist/dashboard/app/Explorer.js +44 -44
  52. package/dist/dashboard/app/ExplorerCards.js +31 -31
  53. package/dist/dashboard/app/ExplorerFileCard.js +17 -17
  54. package/dist/dashboard/app/ExplorerList.js +12 -12
  55. package/dist/dashboard/app/ExplorerModal.js +4 -4
  56. package/dist/dashboard/app/ExplorerTable.js +44 -44
  57. package/dist/dashboard/app/LinkPicker.js +5 -5
  58. package/dist/dashboard/app/LocaleMenu.js +4 -4
  59. package/dist/dashboard/app/SidebarTree.js +40 -40
  60. package/dist/dashboard/app/WorkspaceMenu.js +14 -14
  61. package/dist/dashboard/app/WorkspaceRoots.js +22 -22
  62. package/dist/dashboard/app/editor/FileEditor.js +26 -26
  63. package/dist/dashboard/app/editor/FilePreview.js +5 -5
  64. package/dist/dashboard/app/modals/CreateEntry.js +5 -5
  65. package/dist/dashboard/app/pages/EntryPage.js +20 -20
  66. package/dist/dashboard/app/pages/SplashPage.js +45 -45
  67. package/dist/dashboard/app/pages/UsersPage.js +34 -34
  68. package/dist/dashboard/app/ui/DashboardModal.js +19 -19
  69. package/dist/dashboard/app/ui/Rail.js +3 -3
  70. package/dist/dashboard/app/ui/Sidebar.js +2 -2
  71. package/dist/dashboard/atoms/dashboard.js +2 -1
  72. package/dist/dashboard/atoms/editor.js +7 -0
  73. package/dist/dashboard/atoms/entry.d.ts +2 -4
  74. package/dist/dashboard/atoms/entry.js +8 -3
  75. package/dist/dashboard/atoms/root.d.ts +1 -0
  76. package/dist/dashboard/atoms/root.js +61 -35
  77. package/dist/dashboard/boot/Boot.js +7 -5
  78. package/dist/field/check/CheckField.view.js +2 -2
  79. package/dist/field/code/CodeField.view.js +12 -12
  80. package/dist/field/link/FileLink.js +1 -7
  81. package/dist/field/link/LinkField.view.js +35 -35
  82. package/dist/field/list/ListField.d.ts +5 -0
  83. package/dist/field/list/ListField.stories.d.ts +1 -0
  84. package/dist/field/list/ListField.view.js +59 -47
  85. package/dist/field/metadata/MetadataField.view.js +18 -18
  86. package/dist/field/richtext/PickTextLink.d.ts +3 -1
  87. package/dist/field/richtext/PickTextLink.js +7 -6
  88. package/dist/field/richtext/RichTextBlock.js +2 -2
  89. package/dist/field/richtext/RichTextDocument.js +8 -1
  90. package/dist/field/richtext/RichTextExtensions.js +23 -23
  91. package/dist/field/richtext/RichTextField.d.ts +3 -0
  92. package/dist/field/richtext/RichTextField.view.js +5 -5
  93. package/dist/field/richtext/RichTextInsertMenu.js +3 -3
  94. package/dist/index.css +17 -6
  95. package/dist/ui/RichText.js +33 -18
  96. package/package.json +1 -1
@@ -16,25 +16,25 @@ import { IcRoundArrowForward, IcRoundPublish } from "../icons.js";
16
16
 
17
17
  // src/dashboard/app/AuthView.module.css
18
18
  var AuthView_default = {
19
- "AuthView-heading": "alinea-AuthView-heading",
20
- "AuthViewHeading": "alinea-AuthView-heading",
21
- "AuthView-mark": "alinea-AuthView-mark",
22
- "AuthViewMark": "alinea-AuthView-mark",
23
- "AuthView-link": "alinea-AuthView-link",
24
- "AuthViewLink": "alinea-AuthView-link",
25
- "AuthView-text": "alinea-AuthView-text",
26
- "AuthViewText": "alinea-AuthView-text",
27
19
  "AuthView-panel": "alinea-AuthView-panel",
28
20
  "AuthViewPanel": "alinea-AuthView-panel",
29
- "AuthView-title": "alinea-AuthView-title",
30
- "AuthViewTitle": "alinea-AuthView-title",
31
21
  "AuthView-actionRow": "alinea-AuthView-actionRow",
32
22
  "AuthViewActionRow": "alinea-AuthView-actionRow",
33
- "AuthView-surface": "alinea-AuthView-surface",
34
- "AuthViewSurface": "alinea-AuthView-surface",
35
23
  "AuthView-loader": "alinea-AuthView-loader",
36
24
  "AuthViewLoader": "alinea-AuthView-loader",
37
- "AuthView": "alinea-AuthView"
25
+ "AuthView-link": "alinea-AuthView-link",
26
+ "AuthViewLink": "alinea-AuthView-link",
27
+ "AuthView-mark": "alinea-AuthView-mark",
28
+ "AuthViewMark": "alinea-AuthView-mark",
29
+ "AuthView-heading": "alinea-AuthView-heading",
30
+ "AuthViewHeading": "alinea-AuthView-heading",
31
+ "AuthView-text": "alinea-AuthView-text",
32
+ "AuthViewText": "alinea-AuthView-text",
33
+ "AuthView": "alinea-AuthView",
34
+ "AuthView-surface": "alinea-AuthView-surface",
35
+ "AuthViewSurface": "alinea-AuthView-surface",
36
+ "AuthView-title": "alinea-AuthView-title",
37
+ "AuthViewTitle": "alinea-AuthView-title"
38
38
  };
39
39
 
40
40
  // src/dashboard/app/AuthView.tsx
@@ -8,9 +8,9 @@ import { Icon } from "../../components/Icon.js";
8
8
 
9
9
  // src/dashboard/app/Badge.module.css
10
10
  var Badge_default = {
11
- "Badge": "alinea-Badge",
12
11
  "Badge-label": "alinea-Badge-label",
13
- "BadgeLabel": "alinea-Badge-label"
12
+ "BadgeLabel": "alinea-Badge-label",
13
+ "Badge": "alinea-Badge"
14
14
  };
15
15
 
16
16
  // src/dashboard/app/Badge.tsx
@@ -19,25 +19,25 @@ import { Badge } from "./Badge.js";
19
19
 
20
20
  // src/dashboard/app/CompactField.module.css
21
21
  var CompactField_default = {
22
- "CompactField-muted": "alinea-CompactField-muted",
23
- "CompactFieldMuted": "alinea-CompactField-muted",
24
- "CompactField-json": "alinea-CompactField-json",
25
- "CompactFieldJson": "alinea-CompactField-json",
26
22
  "CompactField-record-value": "alinea-CompactField-record-value",
27
23
  "CompactFieldRecordValue": "alinea-CompactField-record-value",
24
+ "CompactField-list-count": "alinea-CompactField-list-count",
25
+ "CompactFieldListCount": "alinea-CompactField-list-count",
28
26
  "CompactField-record-field": "alinea-CompactField-record-field",
29
27
  "CompactFieldRecordField": "alinea-CompactField-record-field",
28
+ "CompactField-muted": "alinea-CompactField-muted",
29
+ "CompactFieldMuted": "alinea-CompactField-muted",
30
30
  "CompactField": "alinea-CompactField",
31
- "CompactField-record-label": "alinea-CompactField-record-label",
32
- "CompactFieldRecordLabel": "alinea-CompactField-record-label",
33
- "CompactField-list-count": "alinea-CompactField-list-count",
34
- "CompactFieldListCount": "alinea-CompactField-list-count",
35
31
  "CompactField-text": "alinea-CompactField-text",
36
32
  "CompactFieldText": "alinea-CompactField-text",
33
+ "CompactField-record-label": "alinea-CompactField-record-label",
34
+ "CompactFieldRecordLabel": "alinea-CompactField-record-label",
37
35
  "CompactField-items": "alinea-CompactField-items",
38
36
  "CompactFieldItems": "alinea-CompactField-items",
39
37
  "CompactField-record": "alinea-CompactField-record",
40
- "CompactFieldRecord": "alinea-CompactField-record"
38
+ "CompactFieldRecord": "alinea-CompactField-record",
39
+ "CompactField-json": "alinea-CompactField-json",
40
+ "CompactFieldJson": "alinea-CompactField-json"
41
41
  };
42
42
 
43
43
  // src/dashboard/app/CompactField.tsx
@@ -65,17 +65,17 @@ import { IcRoundWarning } from "../icons.js";
65
65
 
66
66
  // src/dashboard/app/DashboardErrorBoundary.module.css
67
67
  var DashboardErrorBoundary_default = {
68
- "DashboardErrorBoundary": "alinea-DashboardErrorBoundary",
69
- "DashboardErrorBoundary-card": "alinea-DashboardErrorBoundary-card",
70
- "DashboardErrorBoundaryCard": "alinea-DashboardErrorBoundary-card",
71
- "DashboardErrorBoundary-title": "alinea-DashboardErrorBoundary-title",
72
- "DashboardErrorBoundaryTitle": "alinea-DashboardErrorBoundary-title",
73
68
  "DashboardErrorBoundary-actions": "alinea-DashboardErrorBoundary-actions",
74
69
  "DashboardErrorBoundaryActions": "alinea-DashboardErrorBoundary-actions",
75
70
  "DashboardErrorBoundary-heading": "alinea-DashboardErrorBoundary-heading",
76
71
  "DashboardErrorBoundaryHeading": "alinea-DashboardErrorBoundary-heading",
77
72
  "DashboardErrorBoundary-message": "alinea-DashboardErrorBoundary-message",
78
- "DashboardErrorBoundaryMessage": "alinea-DashboardErrorBoundary-message"
73
+ "DashboardErrorBoundaryMessage": "alinea-DashboardErrorBoundary-message",
74
+ "DashboardErrorBoundary": "alinea-DashboardErrorBoundary",
75
+ "DashboardErrorBoundary-card": "alinea-DashboardErrorBoundary-card",
76
+ "DashboardErrorBoundaryCard": "alinea-DashboardErrorBoundary-card",
77
+ "DashboardErrorBoundary-title": "alinea-DashboardErrorBoundary-title",
78
+ "DashboardErrorBoundaryTitle": "alinea-DashboardErrorBoundary-title"
79
79
  };
80
80
 
81
81
  // src/dashboard/app/DashboardErrorBoundary.tsx
@@ -9,7 +9,7 @@ import "../../chunks/chunk-CQ52GEHY.js";
9
9
 
10
10
  // src/dashboard/app/DashboardLayout.tsx
11
11
  import { Button, DialogTrigger } from "alinea/components";
12
- import { DashboardScope } from "../hooks.js";
12
+ import { DashboardScope, useDashboardContext } from "../hooks.js";
13
13
  import { IcRoundAdd } from "../icons.js";
14
14
  import { AppShell, AppShellContent, AppShellInner } from "./AppShell.js";
15
15
  import { SidebarTree } from "./SidebarTree.js";
@@ -22,10 +22,10 @@ import { Sidebar, SidebarFooter, SidebarHeader } from "./ui/Sidebar.js";
22
22
 
23
23
  // src/dashboard/app/DashboardLayout.module.css
24
24
  var DashboardLayout_default = {
25
- "is-toolbar": "alinea-is-toolbar",
26
- "isToolbar": "alinea-is-toolbar",
27
25
  "DashboardLayout-create": "alinea-DashboardLayout-create",
28
- "DashboardLayoutCreate": "alinea-DashboardLayout-create"
26
+ "DashboardLayoutCreate": "alinea-DashboardLayout-create",
27
+ "is-toolbar": "alinea-is-toolbar",
28
+ "isToolbar": "alinea-is-toolbar"
29
29
  };
30
30
 
31
31
  // src/dashboard/app/DashboardLayout.tsx
@@ -76,7 +76,8 @@ function CreateEntryButton({
76
76
  root,
77
77
  toolbar = false
78
78
  }) {
79
- const canCreate = useAtomValueRaw(root.canCreate);
79
+ const { page } = useDashboardContext();
80
+ const canCreate = useAtomValueRaw(root.tree(page.locale).canCreate);
80
81
  if (!canCreate) return null;
81
82
  return /* @__PURE__ */ jsxs(DialogTrigger, { children: [
82
83
  /* @__PURE__ */ jsx(
@@ -24,9 +24,9 @@ import {
24
24
 
25
25
  // src/dashboard/app/EntryFields.module.css
26
26
  var EntryFields_default = {
27
- "EditFields": "alinea-EditFields",
28
27
  "EditField-slot": "alinea-EditField-slot",
29
- "EditFieldSlot": "alinea-EditField-slot"
28
+ "EditFieldSlot": "alinea-EditField-slot",
29
+ "EditFields": "alinea-EditFields"
30
30
  };
31
31
 
32
32
  // src/dashboard/app/EntryFields.tsx
@@ -43,23 +43,23 @@ import { EditorBackButton } from "./EditorBackButton.js";
43
43
 
44
44
  // src/dashboard/app/EntryHeader.module.css
45
45
  var EntryHeader_default = {
46
- "EntryHeader-content": "alinea-EntryHeader-content",
47
- "EntryHeaderContent": "alinea-EntryHeader-content",
48
- "EntryHeader-sidebarToggle": "alinea-EntryHeader-sidebarToggle",
49
- "EntryHeaderSidebarToggle": "alinea-EntryHeader-sidebarToggle",
50
- "EntryHeader": "alinea-EntryHeader",
46
+ "EntryHeader-title": "alinea-EntryHeader-title",
47
+ "EntryHeaderTitle": "alinea-EntryHeader-title",
51
48
  "EntryHeader-status": "alinea-EntryHeader-status",
52
49
  "EntryHeaderStatus": "alinea-EntryHeader-status",
50
+ "EntryHeader-content": "alinea-EntryHeader-content",
51
+ "EntryHeaderContent": "alinea-EntryHeader-content",
53
52
  "EntryHeader-main": "alinea-EntryHeader-main",
54
53
  "EntryHeaderMain": "alinea-EntryHeader-main",
54
+ "is-dirty": "alinea-is-dirty",
55
+ "isDirty": "alinea-is-dirty",
56
+ "EntryHeader": "alinea-EntryHeader",
55
57
  "EntryHeader-actions": "alinea-EntryHeader-actions",
56
58
  "EntryHeaderActions": "alinea-EntryHeader-actions",
57
- "EntryHeader-title": "alinea-EntryHeader-title",
58
- "EntryHeaderTitle": "alinea-EntryHeader-title",
59
+ "EntryHeader-sidebarToggle": "alinea-EntryHeader-sidebarToggle",
60
+ "EntryHeaderSidebarToggle": "alinea-EntryHeader-sidebarToggle",
59
61
  "EntryHeader-type": "alinea-EntryHeader-type",
60
- "EntryHeaderType": "alinea-EntryHeader-type",
61
- "is-dirty": "alinea-is-dirty",
62
- "isDirty": "alinea-is-dirty"
62
+ "EntryHeaderType": "alinea-EntryHeader-type"
63
63
  };
64
64
 
65
65
  // src/dashboard/app/EntryHeader.tsx
@@ -19,28 +19,26 @@ import {
19
19
  ListItemTitle,
20
20
  ListItemVisual
21
21
  } from "alinea/components";
22
- import { MediaFile, MediaLibrary } from "alinea/core/media/MediaTypes";
23
- import { configAtom } from "alinea/dashboard/atoms/core";
24
22
  import { routeAtom } from "alinea/dashboard/atoms/nav";
25
23
  import { IcRoundImage, IcRoundInsertDriveFile, IcRoundLink } from "../icons.js";
26
24
 
27
25
  // src/dashboard/app/EntryReferences.module.css
28
26
  var EntryReferences_default = {
29
- "EntryReferences-loadingText": "alinea-EntryReferences-loadingText",
30
- "EntryReferencesLoadingText": "alinea-EntryReferences-loadingText",
27
+ "EntryReferences": "alinea-EntryReferences",
31
28
  "EntryReferences-pendingText": "alinea-EntryReferences-pendingText",
32
29
  "EntryReferencesPendingText": "alinea-EntryReferences-pendingText",
30
+ "EntryReferences-loadingText": "alinea-EntryReferences-loadingText",
31
+ "EntryReferencesLoadingText": "alinea-EntryReferences-loadingText",
32
+ "EntryReferences-pending": "alinea-EntryReferences-pending",
33
+ "EntryReferencesPending": "alinea-EntryReferences-pending",
33
34
  "EntryReferences-trailing": "alinea-EntryReferences-trailing",
34
35
  "EntryReferencesTrailing": "alinea-EntryReferences-trailing",
35
- "EntryReferences-list": "alinea-EntryReferences-list",
36
- "EntryReferencesList": "alinea-EntryReferences-list",
37
36
  "EntryReferences-other": "alinea-EntryReferences-other",
38
37
  "EntryReferencesOther": "alinea-EntryReferences-other",
39
38
  "EntryReferences-loading": "alinea-EntryReferences-loading",
40
39
  "EntryReferencesLoading": "alinea-EntryReferences-loading",
41
- "EntryReferences-pending": "alinea-EntryReferences-pending",
42
- "EntryReferencesPending": "alinea-EntryReferences-pending",
43
- "EntryReferences": "alinea-EntryReferences"
40
+ "EntryReferences-list": "alinea-EntryReferences-list",
41
+ "EntryReferencesList": "alinea-EntryReferences-list"
44
42
  };
45
43
 
46
44
  // src/dashboard/app/EntryReferences.tsx
@@ -48,13 +46,10 @@ import { jsx, jsxs } from "react/jsx-runtime";
48
46
  var styles = styler(EntryReferences_default);
49
47
  function EntryReferences({ entry, localeData }) {
50
48
  const data = useAtomValueRaw(entry.incomingReferences);
51
- const config = useAtomValueRaw(configAtom);
52
- const typeName = useAtomValueRaw(entry.type);
53
49
  const setRoute = useSetAtom(routeAtom);
54
50
  if (!data) return null;
55
- const type = config.schema[typeName];
56
- const showAllLocales = type === MediaFile || type === MediaLibrary;
57
51
  const selectedLocale = localeData.requestedLocale;
52
+ const showAllLocales = selectedLocale === null;
58
53
  const currentReferences = showAllLocales ? data.references : data.references.filter((item) => matchesLocale(item, selectedLocale));
59
54
  const otherReferences = showAllLocales ? [] : data.references.filter((item) => !matchesLocale(item, selectedLocale));
60
55
  const groups = groupReferences(currentReferences);
@@ -23,6 +23,7 @@ import {
23
23
  ListItemDescription,
24
24
  ListItemTitle,
25
25
  ListItemVisual,
26
+ ProgressCircle,
26
27
  Tab,
27
28
  TabList,
28
29
  TabPanel,
@@ -33,6 +34,7 @@ import { Type } from "alinea/core/Type";
33
34
  import { assert } from "alinea/core/util/Assert";
34
35
  import { isRecord } from "alinea/core/util/Objects";
35
36
  import { typeAtoms } from "alinea/dashboard/atoms/config";
37
+ import { localAtom } from "alinea/dashboard/atoms/core";
36
38
  import { MetadataField } from "alinea/field/metadata";
37
39
  import {
38
40
  IcOutlineDrafts,
@@ -47,28 +49,30 @@ import { EntryReferences } from "./EntryReferences.js";
47
49
 
48
50
  // src/dashboard/app/EntrySidebar.module.css
49
51
  var EntrySidebar_default = {
50
- "EntrySidebar-sectionTitle": "alinea-EntrySidebar-sectionTitle",
51
- "EntrySidebarSectionTitle": "alinea-EntrySidebar-sectionTitle",
52
- "EntrySidebar-disclosure": "alinea-EntrySidebar-disclosure",
53
- "EntrySidebarDisclosure": "alinea-EntrySidebar-disclosure",
54
- "EntrySidebar-body": "alinea-EntrySidebar-body",
55
- "EntrySidebarBody": "alinea-EntrySidebar-body",
52
+ "EntrySidebar-section": "alinea-EntrySidebar-section",
53
+ "EntrySidebarSection": "alinea-EntrySidebar-section",
56
54
  "EntrySidebar-referencesPanel": "alinea-EntrySidebar-referencesPanel",
57
55
  "EntrySidebarReferencesPanel": "alinea-EntrySidebar-referencesPanel",
56
+ "EntrySidebar-sectionTitle": "alinea-EntrySidebar-sectionTitle",
57
+ "EntrySidebarSectionTitle": "alinea-EntrySidebar-sectionTitle",
58
58
  "EntrySidebar-history": "alinea-EntrySidebar-history",
59
59
  "EntrySidebarHistory": "alinea-EntrySidebar-history",
60
- "EntrySidebar-section": "alinea-EntrySidebar-section",
61
- "EntrySidebarSection": "alinea-EntrySidebar-section",
60
+ "EntrySidebar-loading": "alinea-EntrySidebar-loading",
61
+ "EntrySidebarLoading": "alinea-EntrySidebar-loading",
62
62
  "EntrySidebar-header": "alinea-EntrySidebar-header",
63
63
  "EntrySidebarHeader": "alinea-EntrySidebar-header",
64
+ "EntrySidebar-body": "alinea-EntrySidebar-body",
65
+ "EntrySidebarBody": "alinea-EntrySidebar-body",
64
66
  "EntrySidebar-tabs": "alinea-EntrySidebar-tabs",
65
67
  "EntrySidebarTabs": "alinea-EntrySidebar-tabs",
68
+ "EntrySidebar-disclosure": "alinea-EntrySidebar-disclosure",
69
+ "EntrySidebarDisclosure": "alinea-EntrySidebar-disclosure",
70
+ "EntrySidebar-disclosurePanel": "alinea-EntrySidebar-disclosurePanel",
71
+ "EntrySidebarDisclosurePanel": "alinea-EntrySidebar-disclosurePanel",
66
72
  "EntrySidebar-previewPanel": "alinea-EntrySidebar-previewPanel",
67
73
  "EntrySidebarPreviewPanel": "alinea-EntrySidebar-previewPanel",
68
74
  "EntrySidebar-historyPanel": "alinea-EntrySidebar-historyPanel",
69
- "EntrySidebarHistoryPanel": "alinea-EntrySidebar-historyPanel",
70
- "EntrySidebar-disclosurePanel": "alinea-EntrySidebar-disclosurePanel",
71
- "EntrySidebarDisclosurePanel": "alinea-EntrySidebar-disclosurePanel"
75
+ "EntrySidebarHistoryPanel": "alinea-EntrySidebar-historyPanel"
72
76
  };
73
77
 
74
78
  // src/dashboard/app/EntrySidebar.tsx
@@ -96,7 +100,9 @@ async function entrySidebar(get, entry, localeData, isOpen = true) {
96
100
  break;
97
101
  }
98
102
  case "history":
99
- if (previousVersionsOpen) await get(localeData.historyReady);
103
+ if (!previousVersionsOpen) break;
104
+ if (get(localAtom)) void get(localeData.historyReady);
105
+ else await get(localeData.historyReady);
100
106
  break;
101
107
  case "references":
102
108
  await get(entry.incomingReferencesReady);
@@ -216,7 +222,15 @@ function EntrySidebarHistory({
216
222
  function EntrySidebarPreviousVersions({
217
223
  localeData
218
224
  }) {
219
- const history = useAtomValueRaw(localeData.history);
225
+ const [pending, history = []] = useAtomValueRaw(localeData.historyState);
226
+ if (pending && history.length === 0)
227
+ return /* @__PURE__ */ jsx("div", { className: styles.EntrySidebar.loading(), children: /* @__PURE__ */ jsx(
228
+ ProgressCircle,
229
+ {
230
+ isIndeterminate: true,
231
+ "aria-label": "Loading previous versions"
232
+ }
233
+ ) });
220
234
  if (history.length === 0)
221
235
  return /* @__PURE__ */ jsx(List, { "aria-label": "Previous versions", empty: true, children: /* @__PURE__ */ jsx(ListEmpty, { icon: IcRoundHistory, title: "No history", children: "No previous versions yet." }) });
222
236
  return /* @__PURE__ */ jsx(List, { "aria-label": "Previous versions", children: history.map((revision) => /* @__PURE__ */ jsx(
@@ -26,23 +26,23 @@ import {
26
26
 
27
27
  // src/dashboard/app/EntrySidebarPreview.module.css
28
28
  var EntrySidebarPreview_default = {
29
- "EntrySidebarPreview-loading": "alinea-EntrySidebarPreview-loading",
30
- "EntrySidebarPreviewLoading": "alinea-EntrySidebarPreview-loading",
31
- "EntrySidebarPreview-subheader": "alinea-EntrySidebarPreview-subheader",
32
- "EntrySidebarPreviewSubheader": "alinea-EntrySidebarPreview-subheader",
33
- "EntrySidebarPreview-empty": "alinea-EntrySidebarPreview-empty",
34
- "EntrySidebarPreviewEmpty": "alinea-EntrySidebarPreview-empty",
29
+ "EntrySidebarPreview-iframe": "alinea-EntrySidebarPreview-iframe",
30
+ "EntrySidebarPreviewIframe": "alinea-EntrySidebarPreview-iframe",
35
31
  "EntrySidebarPreview-controls": "alinea-EntrySidebarPreview-controls",
36
32
  "EntrySidebarPreviewControls": "alinea-EntrySidebarPreview-controls",
37
- "EntrySidebarPreview-browser": "alinea-EntrySidebarPreview-browser",
38
- "EntrySidebarPreviewBrowser": "alinea-EntrySidebarPreview-browser",
33
+ "EntrySidebarPreview-empty": "alinea-EntrySidebarPreview-empty",
34
+ "EntrySidebarPreviewEmpty": "alinea-EntrySidebarPreview-empty",
35
+ "EntrySidebarPreview": "alinea-EntrySidebarPreview",
36
+ "EntrySidebarPreview-loading": "alinea-EntrySidebarPreview-loading",
37
+ "EntrySidebarPreviewLoading": "alinea-EntrySidebarPreview-loading",
39
38
  "EntrySidebarPreview-browserMessage": "alinea-EntrySidebarPreview-browserMessage",
40
39
  "EntrySidebarPreviewBrowserMessage": "alinea-EntrySidebarPreview-browserMessage",
41
- "EntrySidebarPreview": "alinea-EntrySidebarPreview",
42
- "EntrySidebarPreview-iframe": "alinea-EntrySidebarPreview-iframe",
43
- "EntrySidebarPreviewIframe": "alinea-EntrySidebarPreview-iframe",
40
+ "EntrySidebarPreview-subheader": "alinea-EntrySidebarPreview-subheader",
41
+ "EntrySidebarPreviewSubheader": "alinea-EntrySidebarPreview-subheader",
44
42
  "EntrySidebarPreview-component": "alinea-EntrySidebarPreview-component",
45
- "EntrySidebarPreviewComponent": "alinea-EntrySidebarPreview-component"
43
+ "EntrySidebarPreviewComponent": "alinea-EntrySidebarPreview-component",
44
+ "EntrySidebarPreview-browser": "alinea-EntrySidebarPreview-browser",
45
+ "EntrySidebarPreviewBrowser": "alinea-EntrySidebarPreview-browser"
46
46
  };
47
47
 
48
48
  // src/dashboard/app/EntrySidebarPreview.tsx
@@ -9,15 +9,15 @@ import { memo } from "react";
9
9
 
10
10
  // src/dashboard/app/EntryTranslationBanner.module.css
11
11
  var EntryTranslationBanner_default = {
12
- "EntryTranslationBanner-actions": "alinea-EntryTranslationBanner-actions",
13
- "EntryTranslationBannerActions": "alinea-EntryTranslationBanner-actions",
12
+ "EntryTranslationBanner-message": "alinea-EntryTranslationBanner-message",
13
+ "EntryTranslationBannerMessage": "alinea-EntryTranslationBanner-message",
14
14
  "EntryTranslationBanner-body": "alinea-EntryTranslationBanner-body",
15
15
  "EntryTranslationBannerBody": "alinea-EntryTranslationBanner-body",
16
- "EntryTranslationBanner": "alinea-EntryTranslationBanner",
17
16
  "EntryTranslationBanner-title": "alinea-EntryTranslationBanner-title",
18
17
  "EntryTranslationBannerTitle": "alinea-EntryTranslationBanner-title",
19
- "EntryTranslationBanner-message": "alinea-EntryTranslationBanner-message",
20
- "EntryTranslationBannerMessage": "alinea-EntryTranslationBanner-message"
18
+ "EntryTranslationBanner-actions": "alinea-EntryTranslationBanner-actions",
19
+ "EntryTranslationBannerActions": "alinea-EntryTranslationBanner-actions",
20
+ "EntryTranslationBanner": "alinea-EntryTranslationBanner"
21
21
  };
22
22
 
23
23
  // src/dashboard/app/EntryTranslationBanner.tsx
@@ -60,65 +60,65 @@ import { EditorBackButton } from "./EditorBackButton.js";
60
60
 
61
61
  // src/dashboard/app/Explorer.module.css
62
62
  var Explorer_default = {
63
- "Explorer-searchSlot": "alinea-Explorer-searchSlot",
64
- "ExplorerSearchSlot": "alinea-Explorer-searchSlot",
65
- "ExplorerHeader": "alinea-ExplorerHeader",
66
- "ExplorerHeader-content": "alinea-ExplorerHeader-content",
67
- "ExplorerHeaderContent": "alinea-ExplorerHeader-content",
68
- "Popover-Label": "alinea-Popover-Label",
69
- "PopoverLabel": "alinea-Popover-Label",
63
+ "Explorer-locationBreadcrumbs": "alinea-Explorer-locationBreadcrumbs",
64
+ "ExplorerLocationBreadcrumbs": "alinea-Explorer-locationBreadcrumbs",
65
+ "Explorer-actions": "alinea-Explorer-actions",
66
+ "ExplorerActions": "alinea-Explorer-actions",
70
67
  "Sorting-button": "alinea-Sorting-button",
71
68
  "SortingButton": "alinea-Sorting-button",
69
+ "Explorer": "alinea-Explorer",
72
70
  "Explorer-locationBreadcrumbs-item": "alinea-Explorer-locationBreadcrumbs-item",
73
71
  "ExplorerLocationBreadcrumbsItem": "alinea-Explorer-locationBreadcrumbs-item",
74
- "Explorer-locationBreadcrumbs-root-locale": "alinea-Explorer-locationBreadcrumbs-root-locale",
75
- "ExplorerLocationBreadcrumbsRootLocale": "alinea-Explorer-locationBreadcrumbs-root-locale",
76
- "Explorer-resultMode": "alinea-Explorer-resultMode",
77
- "ExplorerResultMode": "alinea-Explorer-resultMode",
78
- "Explorer-toolbar": "alinea-Explorer-toolbar",
79
- "ExplorerToolbar": "alinea-Explorer-toolbar",
80
- "ExplorerHeader-title": "alinea-ExplorerHeader-title",
81
- "ExplorerHeaderTitle": "alinea-ExplorerHeader-title",
82
- "Explorer-locationBreadcrumbs-separator": "alinea-Explorer-locationBreadcrumbs-separator",
83
- "ExplorerLocationBreadcrumbsSeparator": "alinea-Explorer-locationBreadcrumbs-separator",
84
- "Explorer-locationBreadcrumbs-current": "alinea-Explorer-locationBreadcrumbs-current",
85
- "ExplorerLocationBreadcrumbsCurrent": "alinea-Explorer-locationBreadcrumbs-current",
86
- "Explorer-viewport": "alinea-Explorer-viewport",
87
- "ExplorerViewport": "alinea-Explorer-viewport",
72
+ "Explorer-locationBreadcrumbs-localeValue": "alinea-Explorer-locationBreadcrumbs-localeValue",
73
+ "ExplorerLocationBreadcrumbsLocaleValue": "alinea-Explorer-locationBreadcrumbs-localeValue",
88
74
  "ExplorerHeader-location": "alinea-ExplorerHeader-location",
89
75
  "ExplorerHeaderLocation": "alinea-ExplorerHeader-location",
90
- "Explorer": "alinea-Explorer",
91
- "Explorer-locationBreadcrumbs-parentValue": "alinea-Explorer-locationBreadcrumbs-parentValue",
92
- "ExplorerLocationBreadcrumbsParentValue": "alinea-Explorer-locationBreadcrumbs-parentValue",
93
- "Explorer-toolbar-tools": "alinea-Explorer-toolbar-tools",
94
- "ExplorerToolbarTools": "alinea-Explorer-toolbar-tools",
95
- "Explorer-toolbar-mediaActions": "alinea-Explorer-toolbar-mediaActions",
96
- "ExplorerToolbarMediaActions": "alinea-Explorer-toolbar-mediaActions",
97
76
  "is-navigation": "alinea-is-navigation",
98
77
  "isNavigation": "alinea-is-navigation",
99
- "Explorer-locationBreadcrumbs-value": "alinea-Explorer-locationBreadcrumbs-value",
100
- "ExplorerLocationBreadcrumbsValue": "alinea-Explorer-locationBreadcrumbs-value",
101
- "Explorer-locationBreadcrumbs-localeValue": "alinea-Explorer-locationBreadcrumbs-localeValue",
102
- "ExplorerLocationBreadcrumbsLocaleValue": "alinea-Explorer-locationBreadcrumbs-localeValue",
103
- "Explorer-locationBreadcrumbs-root": "alinea-Explorer-locationBreadcrumbs-root",
104
- "ExplorerLocationBreadcrumbsRoot": "alinea-Explorer-locationBreadcrumbs-root",
78
+ "Explorer-toolbar": "alinea-Explorer-toolbar",
79
+ "ExplorerToolbar": "alinea-Explorer-toolbar",
105
80
  "Explorer-searchScope": "alinea-Explorer-searchScope",
106
81
  "ExplorerSearchScope": "alinea-Explorer-searchScope",
107
- "Explorer-actions": "alinea-Explorer-actions",
108
- "ExplorerActions": "alinea-Explorer-actions",
109
- "Explorer-search": "alinea-Explorer-search",
110
- "ExplorerSearch": "alinea-Explorer-search",
111
- "Popover": "alinea-Popover",
82
+ "Explorer-toolbar-tools": "alinea-Explorer-toolbar-tools",
83
+ "ExplorerToolbarTools": "alinea-Explorer-toolbar-tools",
84
+ "Explorer-resultMode": "alinea-Explorer-resultMode",
85
+ "ExplorerResultMode": "alinea-Explorer-resultMode",
86
+ "Popover-Label": "alinea-Popover-Label",
87
+ "PopoverLabel": "alinea-Popover-Label",
88
+ "Explorer-locationBreadcrumbs-value": "alinea-Explorer-locationBreadcrumbs-value",
89
+ "ExplorerLocationBreadcrumbsValue": "alinea-Explorer-locationBreadcrumbs-value",
112
90
  "Explorer-locationBreadcrumbs-parentAction": "alinea-Explorer-locationBreadcrumbs-parentAction",
113
91
  "ExplorerLocationBreadcrumbsParentAction": "alinea-Explorer-locationBreadcrumbs-parentAction",
114
- "Explorer-locationBreadcrumbs": "alinea-Explorer-locationBreadcrumbs",
115
- "ExplorerLocationBreadcrumbs": "alinea-Explorer-locationBreadcrumbs",
116
- "Explorer-breadcrumbs": "alinea-Explorer-breadcrumbs",
117
- "ExplorerBreadcrumbs": "alinea-Explorer-breadcrumbs",
92
+ "Explorer-searchSlot": "alinea-Explorer-searchSlot",
93
+ "ExplorerSearchSlot": "alinea-Explorer-searchSlot",
94
+ "Explorer-viewport": "alinea-Explorer-viewport",
95
+ "ExplorerViewport": "alinea-Explorer-viewport",
96
+ "Explorer-locationBreadcrumbs-current": "alinea-Explorer-locationBreadcrumbs-current",
97
+ "ExplorerLocationBreadcrumbsCurrent": "alinea-Explorer-locationBreadcrumbs-current",
98
+ "Explorer-search": "alinea-Explorer-search",
99
+ "ExplorerSearch": "alinea-Explorer-search",
118
100
  "ExplorerHeader-main": "alinea-ExplorerHeader-main",
119
101
  "ExplorerHeaderMain": "alinea-ExplorerHeader-main",
102
+ "ExplorerHeader-content": "alinea-ExplorerHeader-content",
103
+ "ExplorerHeaderContent": "alinea-ExplorerHeader-content",
104
+ "Explorer-locationBreadcrumbs-parentValue": "alinea-Explorer-locationBreadcrumbs-parentValue",
105
+ "ExplorerLocationBreadcrumbsParentValue": "alinea-Explorer-locationBreadcrumbs-parentValue",
106
+ "Explorer-locationBreadcrumbs-root-locale": "alinea-Explorer-locationBreadcrumbs-root-locale",
107
+ "ExplorerLocationBreadcrumbsRootLocale": "alinea-Explorer-locationBreadcrumbs-root-locale",
120
108
  "ExplorerHeader-primary": "alinea-ExplorerHeader-primary",
121
- "ExplorerHeaderPrimary": "alinea-ExplorerHeader-primary"
109
+ "ExplorerHeaderPrimary": "alinea-ExplorerHeader-primary",
110
+ "Explorer-toolbar-mediaActions": "alinea-Explorer-toolbar-mediaActions",
111
+ "ExplorerToolbarMediaActions": "alinea-Explorer-toolbar-mediaActions",
112
+ "ExplorerHeader": "alinea-ExplorerHeader",
113
+ "Popover": "alinea-Popover",
114
+ "Explorer-locationBreadcrumbs-root": "alinea-Explorer-locationBreadcrumbs-root",
115
+ "ExplorerLocationBreadcrumbsRoot": "alinea-Explorer-locationBreadcrumbs-root",
116
+ "ExplorerHeader-title": "alinea-ExplorerHeader-title",
117
+ "ExplorerHeaderTitle": "alinea-ExplorerHeader-title",
118
+ "Explorer-locationBreadcrumbs-separator": "alinea-Explorer-locationBreadcrumbs-separator",
119
+ "ExplorerLocationBreadcrumbsSeparator": "alinea-Explorer-locationBreadcrumbs-separator",
120
+ "Explorer-breadcrumbs": "alinea-Explorer-breadcrumbs",
121
+ "ExplorerBreadcrumbs": "alinea-Explorer-breadcrumbs"
122
122
  };
123
123
 
124
124
  // src/dashboard/app/Explorer.tsx
@@ -42,51 +42,51 @@ import { configAtom } from "../atoms/core.js";
42
42
 
43
43
  // src/dashboard/app/ExplorerCards.module.css
44
44
  var ExplorerCards_default = {
45
- "is-wide": "alinea-is-wide",
46
- "isWide": "alinea-is-wide",
47
- "ExplorerCards-parents-separator": "alinea-ExplorerCards-parents-separator",
48
- "ExplorerCardsParentsSeparator": "alinea-ExplorerCards-parents-separator",
49
45
  "ExplorerCards-entry-skeleton": "alinea-ExplorerCards-entry-skeleton",
50
46
  "ExplorerCardsEntrySkeleton": "alinea-ExplorerCards-entry-skeleton",
51
- "ExplorerCards-item-drag-handle": "alinea-ExplorerCards-item-drag-handle",
52
- "ExplorerCardsItemDragHandle": "alinea-ExplorerCards-item-drag-handle",
47
+ "ExplorerCards-item-card": "alinea-ExplorerCards-item-card",
48
+ "ExplorerCardsItemCard": "alinea-ExplorerCards-item-card",
49
+ "ExplorerCards-entry-meta": "alinea-ExplorerCards-entry-meta",
50
+ "ExplorerCardsEntryMeta": "alinea-ExplorerCards-entry-meta",
53
51
  "ExplorerCards-entry-iconSkeleton": "alinea-ExplorerCards-entry-iconSkeleton",
54
52
  "ExplorerCardsEntryIconSkeleton": "alinea-ExplorerCards-entry-iconSkeleton",
55
- "ExplorerCards-item-checkbox": "alinea-ExplorerCards-item-checkbox",
56
- "ExplorerCardsItemCheckbox": "alinea-ExplorerCards-item-checkbox",
57
- "ExplorerCards-item": "alinea-ExplorerCards-item",
58
- "ExplorerCardsItem": "alinea-ExplorerCards-item",
53
+ "ExplorerCards": "alinea-ExplorerCards",
54
+ "ExplorerCards-surface": "alinea-ExplorerCards-surface",
55
+ "ExplorerCardsSurface": "alinea-ExplorerCards-surface",
59
56
  "is-breadcrumbs": "alinea-is-breadcrumbs",
60
57
  "isBreadcrumbs": "alinea-is-breadcrumbs",
61
- "ExplorerCards-skeleton-pulse": "alinea-ExplorerCards-skeleton-pulse",
62
- "ExplorerCardsSkeletonPulse": "alinea-ExplorerCards-skeleton-pulse",
58
+ "ExplorerCards-item-drag-handle": "alinea-ExplorerCards-item-drag-handle",
59
+ "ExplorerCardsItemDragHandle": "alinea-ExplorerCards-item-drag-handle",
60
+ "is-wide": "alinea-is-wide",
61
+ "isWide": "alinea-is-wide",
62
+ "ExplorerCards-entry": "alinea-ExplorerCards-entry",
63
+ "ExplorerCardsEntry": "alinea-ExplorerCards-entry",
64
+ "ExplorerCards-entry-body": "alinea-ExplorerCards-entry-body",
65
+ "ExplorerCardsEntryBody": "alinea-ExplorerCards-entry-body",
63
66
  "is-loading": "alinea-is-loading",
64
67
  "isLoading": "alinea-is-loading",
65
- "ExplorerCards-entry-meta": "alinea-ExplorerCards-entry-meta",
66
- "ExplorerCardsEntryMeta": "alinea-ExplorerCards-entry-meta",
68
+ "ExplorerCards-entry-body-inner": "alinea-ExplorerCards-entry-body-inner",
69
+ "ExplorerCardsEntryBodyInner": "alinea-ExplorerCards-entry-body-inner",
70
+ "ExplorerCards-parents": "alinea-ExplorerCards-parents",
71
+ "ExplorerCardsParents": "alinea-ExplorerCards-parents",
72
+ "ExplorerCards-parents-separator": "alinea-ExplorerCards-parents-separator",
73
+ "ExplorerCardsParentsSeparator": "alinea-ExplorerCards-parents-separator",
74
+ "ExplorerCards-skeleton-pulse": "alinea-ExplorerCards-skeleton-pulse",
75
+ "ExplorerCardsSkeletonPulse": "alinea-ExplorerCards-skeleton-pulse",
67
76
  "is-file": "alinea-is-file",
68
77
  "isFile": "alinea-is-file",
69
- "ExplorerCards-entry-top": "alinea-ExplorerCards-entry-top",
70
- "ExplorerCardsEntryTop": "alinea-ExplorerCards-entry-top",
78
+ "ExplorerCards-viewport": "alinea-ExplorerCards-viewport",
79
+ "ExplorerCardsViewport": "alinea-ExplorerCards-viewport",
71
80
  "ExplorerCards-entry-icon": "alinea-ExplorerCards-entry-icon",
72
81
  "ExplorerCardsEntryIcon": "alinea-ExplorerCards-entry-icon",
73
82
  "ExplorerCards-entry-label": "alinea-ExplorerCards-entry-label",
74
83
  "ExplorerCardsEntryLabel": "alinea-ExplorerCards-entry-label",
75
- "ExplorerCards-viewport": "alinea-ExplorerCards-viewport",
76
- "ExplorerCardsViewport": "alinea-ExplorerCards-viewport",
77
- "ExplorerCards-parents": "alinea-ExplorerCards-parents",
78
- "ExplorerCardsParents": "alinea-ExplorerCards-parents",
79
- "ExplorerCards-item-card": "alinea-ExplorerCards-item-card",
80
- "ExplorerCardsItemCard": "alinea-ExplorerCards-item-card",
81
- "ExplorerCards": "alinea-ExplorerCards",
82
- "ExplorerCards-surface": "alinea-ExplorerCards-surface",
83
- "ExplorerCardsSurface": "alinea-ExplorerCards-surface",
84
- "ExplorerCards-entry-body-inner": "alinea-ExplorerCards-entry-body-inner",
85
- "ExplorerCardsEntryBodyInner": "alinea-ExplorerCards-entry-body-inner",
86
- "ExplorerCards-entry-body": "alinea-ExplorerCards-entry-body",
87
- "ExplorerCardsEntryBody": "alinea-ExplorerCards-entry-body",
88
- "ExplorerCards-entry": "alinea-ExplorerCards-entry",
89
- "ExplorerCardsEntry": "alinea-ExplorerCards-entry"
84
+ "ExplorerCards-item-checkbox": "alinea-ExplorerCards-item-checkbox",
85
+ "ExplorerCardsItemCheckbox": "alinea-ExplorerCards-item-checkbox",
86
+ "ExplorerCards-entry-top": "alinea-ExplorerCards-entry-top",
87
+ "ExplorerCardsEntryTop": "alinea-ExplorerCards-entry-top",
88
+ "ExplorerCards-item": "alinea-ExplorerCards-item",
89
+ "ExplorerCardsItem": "alinea-ExplorerCards-item"
90
90
  };
91
91
 
92
92
  // src/dashboard/app/ExplorerCards.tsx