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.
- package/dist/.init/content/pages/welcome.json +1 -1
- package/dist/.mcp/later/dev.json +1 -1
- package/dist/.mcp/online/dev.json +1 -1
- package/dist/adapter/next/cms.js +6 -2
- package/dist/adapter/next/context.js +1 -4
- package/dist/adapter/next/handler.js +12 -1
- package/dist/backend/CommitEntries.d.ts +17 -0
- package/dist/backend/CommitEntries.js +39 -0
- package/dist/backend/Handler.d.ts +9 -0
- package/dist/backend/Handler.js +80 -20
- package/dist/backend/api/BasicAuth.js +5 -1
- package/dist/backend/api/CreateBackend.js +2 -2
- package/dist/backend/api/DatabaseApi.js +18 -5
- package/dist/backend/api/GithubApi.d.ts +13 -0
- package/dist/backend/api/GithubApi.js +170 -30
- package/dist/backend/api/database.js +2 -2
- package/dist/backend/util/Syncable.d.ts +6 -0
- package/dist/backend/util/Syncable.js +3 -1
- package/dist/bundled.d.ts +911 -151
- package/dist/chunks/{chunk-5H4D5JQL.js → chunk-2PP7WJUJ.js} +1 -11
- package/dist/chunks/{chunk-QHHMKJUO.js → chunk-7DDPSWRY.js} +465 -2
- package/dist/chunks/{chunk-HOETF6HN.js → chunk-PMGIIYDD.js} +1 -0
- package/dist/chunks/{chunk-3QFSGTGF.js → chunk-SCV3TEXM.js} +1 -1
- package/dist/chunks/{chunk-UPY2RUZF.js → chunk-TWBREZWC.js} +30 -0
- package/dist/cli/Generate.js +20 -7
- package/dist/cli/Mcp.js +1 -1
- package/dist/cli/Serve.js +1 -1
- package/dist/cli/bin.js +1 -1
- package/dist/cli/build/BuildEmitter.d.ts +5 -1
- package/dist/cli/build/BuildEmitter.js +8 -3
- package/dist/cli/generate/CompileConfig.js +10 -6
- package/dist/cli/generate/DevDB.d.ts +4 -1
- package/dist/cli/generate/DevDB.js +15 -7
- package/dist/cli/generate/GenerateDashboard.js +1 -0
- package/dist/cli/generate/MediaLocations.d.ts +18 -0
- package/dist/cli/generate/MediaLocations.js +69 -0
- package/dist/cli/serve/CreateLocalServer.js +1 -0
- package/dist/cli/serve/mcp/DevMcp.js +1 -1
- package/dist/cloud/CloudRemote.js +21 -7
- package/dist/cms.d.ts +4 -2
- package/dist/components/Alert.js +2 -2
- package/dist/components/AppShell.js +2 -2
- package/dist/components/AsyncList.d.ts +52 -0
- package/dist/components/AsyncList.js +69 -0
- package/dist/components/Breadcrumbs.js +6 -6
- package/dist/components/Button.js +4 -4
- package/dist/components/Calendar.js +18 -18
- package/dist/components/Checkbox.js +10 -10
- package/dist/components/CheckboxGroup.js +2 -2
- package/dist/components/Collapsible.js +5 -5
- package/dist/components/ColorSwatch.js +2 -2
- package/dist/components/ColorSwatchPicker.js +4 -4
- package/dist/components/ComboBox.d.ts +27 -9
- package/dist/components/ComboBox.js +40 -9
- package/dist/components/Command.js +13 -13
- package/dist/components/ContentCard.js +28 -28
- package/dist/components/ContentGrid.js +11 -11
- package/dist/components/DataList.js +1 -1
- package/dist/components/DateField.d.ts +4 -0
- package/dist/components/DateField.js +2 -2
- package/dist/components/DatePicker.js +2 -2
- package/dist/components/DateRangePicker.js +2 -2
- package/dist/components/Dialog.d.ts +14 -3
- package/dist/components/Dialog.js +38 -11
- package/dist/components/DropZone.js +6 -6
- package/dist/components/DropdownMenu.js +8 -8
- package/dist/components/Empty.js +4 -4
- package/dist/components/Field.d.ts +1 -1
- package/dist/components/Field.js +18 -12
- package/dist/components/Form.d.ts +23 -0
- package/dist/components/Form.js +64 -0
- package/dist/components/Link.d.ts +8 -1
- package/dist/components/List.js +27 -27
- package/dist/components/MediaPreview.js +5 -5
- package/dist/components/MultipleSelect.d.ts +13 -8
- package/dist/components/MultipleSelect.js +25 -25
- package/dist/components/NavRail.js +7 -7
- package/dist/components/NumberField.d.ts +5 -1
- package/dist/components/NumberField.js +6 -4
- package/dist/components/Page.js +6 -6
- package/dist/components/Popover.js +2 -2
- package/dist/components/PreviewFrame.js +8 -8
- package/dist/components/RadioGroup.js +10 -10
- package/dist/components/Resizable.js +1 -1
- package/dist/components/SearchField.js +8 -8
- package/dist/components/Select.d.ts +13 -10
- package/dist/components/Select.js +18 -32
- package/dist/components/Sheet.js +6 -6
- package/dist/components/Sidebar.js +5 -5
- package/dist/components/SortableList.js +12 -12
- package/dist/components/Spinner.js +4 -4
- package/dist/components/Stack.d.ts +20 -0
- package/dist/components/Stack.js +45 -0
- package/dist/components/Surface.js +1 -1
- package/dist/components/Switch.js +5 -5
- package/dist/components/Table.d.ts +11 -1
- package/dist/components/Table.js +81 -53
- package/dist/components/Tabs.js +6 -6
- package/dist/components/TagGroup.js +10 -10
- package/dist/components/TextField.d.ts +7 -1
- package/dist/components/TextField.js +20 -11
- package/dist/components/TimeField.d.ts +6 -1
- package/dist/components/TimeField.js +51 -26
- package/dist/components/Timestamp.js +1 -1
- package/dist/components/ToggleGroup.js +2 -2
- package/dist/components/Toolbar.js +3 -3
- package/dist/components/Tooltip.js +5 -4
- package/dist/components/Tree.js +27 -27
- package/dist/components/internal/DateControl.js +11 -11
- package/dist/components/internal/FormScope.d.ts +2 -0
- package/dist/components/internal/FormScope.js +8 -0
- package/dist/components/internal/ListBoxGroup.d.ts +12 -0
- package/dist/components/internal/ListBoxGroup.js +46 -0
- package/dist/components/internal/ListBoxOption.d.ts +2 -2
- package/dist/components/internal/ListBoxOption.js +5 -5
- package/dist/components/internal/Locale.js +2 -2
- package/dist/components/internal/PopoverSurface.js +5 -4
- package/dist/components/internal/SelectionCheckbox.js +5 -5
- package/dist/components/internal/Slot.js +1 -1
- package/dist/components/internal/ToggleButton.js +4 -4
- package/dist/components/internal/Trigger.js +2 -2
- package/dist/components/internal/useDragDrop.js +2 -2
- package/dist/components/types.d.ts +4 -0
- package/dist/components.d.ts +3 -0
- package/dist/components.js +3 -0
- package/dist/core/Client.js +12 -1
- package/dist/core/Config.d.ts +6 -0
- package/dist/core/Config.js +12 -0
- package/dist/core/DashboardEntry.d.ts +19 -0
- package/dist/core/DashboardEntry.js +0 -0
- package/dist/core/Document.d.ts +2 -2
- package/dist/core/Document.js +10 -3
- package/dist/core/EntryFields.d.ts +8 -2
- package/dist/core/Field.d.ts +5 -0
- package/dist/core/Filter.d.ts +19 -2
- package/dist/core/Filter.js +5 -0
- package/dist/core/Graph.d.ts +10 -2
- package/dist/core/Overview.d.ts +74 -5
- package/dist/core/Overview.js +1 -0
- package/dist/core/Root.js +1 -1
- package/dist/core/Scope.d.ts +5 -0
- package/dist/core/Scope.js +22 -5
- package/dist/core/Type.d.ts +25 -6
- package/dist/core/Type.js +25 -7
- package/dist/core/db/LocalStore.d.ts +7 -0
- package/dist/core/field/CreateField.d.ts +1 -2
- package/dist/core/source/Source.d.ts +2 -0
- package/dist/core/source/Source.js +11 -0
- package/dist/core/util/Async.d.ts +2 -0
- package/dist/core/util/Async.js +12 -1
- package/dist/core/util/Checks.js +1 -1
- package/dist/core/util/Slugs.js +4 -3
- package/dist/dashboard/App.css +13 -11
- package/dist/dashboard/App.d.ts +1 -0
- package/dist/dashboard/App.js +22 -6
- package/dist/dashboard/Href.d.ts +37 -0
- package/dist/dashboard/Href.js +46 -0
- package/dist/dashboard/app/ActivityStatus.js +34 -12
- package/dist/dashboard/app/AuthView.js +2 -2
- package/dist/dashboard/app/BlockSettings.d.ts +9 -0
- package/dist/dashboard/app/BlockSettings.js +16 -0
- package/dist/dashboard/app/BlockSheet.js +3 -3
- package/dist/dashboard/app/BlockSheetStoryFrame.js +2 -2
- package/dist/dashboard/app/CompactField.js +15 -15
- package/dist/dashboard/app/CroppedImage.js +2 -2
- package/dist/dashboard/app/DashboardLayout.d.ts +1 -1
- package/dist/dashboard/app/DashboardLayout.js +12 -0
- package/dist/dashboard/app/EntryActions.d.ts +11 -0
- package/dist/dashboard/app/EntryActions.js +30 -0
- package/dist/dashboard/app/EntryFields.d.ts +15 -2
- package/dist/dashboard/app/EntryFields.js +26 -5
- package/dist/dashboard/app/EntryHeader.js +17 -7
- package/dist/dashboard/app/EntryReferences.js +2 -2
- package/dist/dashboard/app/EntrySidebar.js +25 -23
- package/dist/dashboard/app/EntrySidebarPreview.js +2 -2
- package/dist/dashboard/app/EntryValidationModal.js +3 -3
- package/dist/dashboard/app/Explorer.js +84 -45
- package/dist/dashboard/app/ExplorerBatchActions.js +4 -4
- package/dist/dashboard/app/ExplorerControls.js +5 -5
- package/dist/dashboard/app/ExplorerList.js +2 -2
- package/dist/dashboard/app/ExplorerModal.js +3 -3
- package/dist/dashboard/app/ExplorerOverviewHeader.d.ts +6 -0
- package/dist/dashboard/app/ExplorerOverviewHeader.js +28 -0
- package/dist/dashboard/app/ExplorerTable.js +7 -7
- package/dist/dashboard/app/ExplorerTabs.d.ts +12 -0
- package/dist/dashboard/app/ExplorerTabs.js +42 -0
- package/dist/dashboard/app/ImageEditor.js +31 -31
- package/dist/dashboard/app/LinkPicker.js +3 -3
- package/dist/dashboard/app/LocaleMenu.js +9 -9
- package/dist/dashboard/app/MediaPreviewCell.js +5 -5
- package/dist/dashboard/app/OverviewCell.js +12 -10
- package/dist/dashboard/app/RemoveDialog.js +5 -0
- package/dist/dashboard/app/SearchBar.js +4 -4
- package/dist/dashboard/app/SettingsTab.d.ts +6 -0
- package/dist/dashboard/app/SettingsTab.js +27 -0
- package/dist/dashboard/app/SidebarTree.js +19 -19
- package/dist/dashboard/app/WorkspaceMenu.js +6 -6
- package/dist/dashboard/app/WorkspaceRoots.js +102 -98
- package/dist/dashboard/app/editor/FileEditor.js +18 -18
- package/dist/dashboard/app/pages/EntryPage.js +42 -39
- package/dist/dashboard/app/pages/RootPage.js +3 -3
- package/dist/dashboard/app/pages/SplashPage.js +94 -79
- package/dist/dashboard/app/pages/UsersPage.js +9 -9
- package/dist/dashboard/app/ui/DashboardModal.js +14 -14
- package/dist/dashboard/atoms/activity.d.ts +1 -0
- package/dist/dashboard/atoms/activity.js +8 -5
- package/dist/dashboard/atoms/config.d.ts +2 -0
- package/dist/dashboard/atoms/dashboard.d.ts +11 -0
- package/dist/dashboard/atoms/dashboard.js +8 -0
- package/dist/dashboard/atoms/editor.d.ts +7 -1
- package/dist/dashboard/atoms/editor.js +14 -2
- package/dist/dashboard/atoms/explorer.d.ts +15 -0
- package/dist/dashboard/atoms/explorer.js +43 -14
- package/dist/dashboard/atoms/graph.d.ts +5 -0
- package/dist/dashboard/atoms/graph.js +26 -1
- package/dist/dashboard/atoms/nav.d.ts +16 -10
- package/dist/dashboard/atoms/nav.js +96 -36
- package/dist/dashboard/atoms/overview.d.ts +26 -4
- package/dist/dashboard/atoms/overview.js +41 -12
- package/dist/dashboard/atoms/root.js +7 -1
- package/dist/dashboard/boot/ActivityEvent.d.ts +1 -1
- package/dist/dashboard/boot/Boot.js +6 -0
- package/dist/dashboard/boot/DashboardWorker.d.ts +6 -0
- package/dist/dashboard/boot/DashboardWorker.js +89 -8
- package/dist/dashboard/boot/LoadWorker.js +3 -0
- package/dist/dashboard/boot/SyncEvent.d.ts +7 -0
- package/dist/dashboard/boot/SyncEvent.js +14 -0
- package/dist/dashboard/boot/WorkerDB.d.ts +1 -0
- package/dist/dashboard/boot/WorkerDB.js +3 -0
- package/dist/dashboard/cms/EntryTable.d.ts +4 -3
- package/dist/dashboard/cms/EntryTable.js +2 -2
- package/dist/dashboard/cms/ViewProps.d.ts +3 -2
- package/dist/dashboard/cms/hooks.d.ts +34 -18
- package/dist/dashboard/cms/hooks.js +43 -18
- package/dist/dashboard/contexts.d.ts +3 -2
- package/dist/dashboard/contexts.js +3 -2
- package/dist/dashboard/hook/UseEntryEditor.d.ts +1 -1
- package/dist/dashboard/hook/UseEntryEditor.js +7 -3
- package/dist/dashboard/icons.d.ts +1 -0
- package/dist/dashboard/icons.js +15 -0
- package/dist/database/BrowserEntryStore.js +35 -13
- package/dist/database/DatabaseTables.js +1 -1
- package/dist/database/EntryDatabase.d.ts +10 -1
- package/dist/database/EntryDatabase.js +31 -10
- package/dist/database/EntryStore.js +1 -11
- package/dist/database/entry/EntryTable.d.ts +5 -3
- package/dist/database/entry/EntryTable.js +25 -8
- package/dist/database/query/Condition.d.ts +4 -1
- package/dist/database/query/Condition.js +16 -5
- package/dist/database/query/EntryQuery.js +59 -7
- package/dist/database/query/Relation.d.ts +13 -1
- package/dist/database/query/Relation.js +19 -1
- package/dist/database/query/Search.d.ts +7 -1
- package/dist/database/query/Search.js +54 -9
- package/dist/database/sync/EntrySyncer.d.ts +2 -0
- package/dist/database/sync/EntrySyncer.js +4 -2
- package/dist/database/sync/Ingest.d.ts +2 -1
- package/dist/database/sync/Ingest.js +20 -6
- package/dist/field/code/CodeField.view.js +12 -12
- package/dist/field/link/EntryLink.d.ts +4 -5
- package/dist/field/link/FileLink.d.ts +2 -2
- package/dist/field/link/ImageLink.d.ts +2 -5
- package/dist/field/link/ImageLink.js +0 -1
- package/dist/field/link/LinkField.view.js +18 -15
- package/dist/field/list/ListField.view.js +50 -35
- package/dist/field/metadata/MetadataField.view.js +14 -14
- package/dist/field/richtext/RichTextBlock.js +39 -35
- package/dist/field/richtext/RichTextExtensions.js +23 -23
- package/dist/field/richtext/RichTextField.view.js +6 -6
- package/dist/field/richtext/RichTextInsertMenu.js +5 -5
- package/dist/field/richtext/RichTextToolbar.js +26 -1
- package/dist/field/richtext/Toolbar.d.ts +9 -1
- package/dist/field/richtext/Toolbar.js +12 -2
- package/dist/field/select/SelectField.view.js +1 -0
- package/dist/index.css +174 -23
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/next.d.ts +2 -0
- package/dist/next.edge.d.ts +2 -0
- package/dist/picker/entry/EntryPicker.d.ts +3 -1
- package/dist/picker/entry/EntryPicker.js +15 -1
- package/dist/preview/react.js +3 -0
- package/dist/query.d.ts +26 -14
- package/dist/query.js +4 -0
- package/dist/types.d.ts +8 -5
- package/dist/ui/Stack.d.ts +4 -2
- package/docs/ai-setup.md +3 -3
- package/docs/cli.md +4 -2
- package/docs/components/combo-box.md +105 -16
- package/docs/components/date-field.md +1 -1
- package/docs/components/dialog.md +51 -0
- package/docs/components/form.md +67 -0
- package/docs/components/link.md +10 -0
- package/docs/components/multiple-select.md +9 -17
- package/docs/components/number-field.md +5 -1
- package/docs/components/select.md +9 -20
- package/docs/components/stack.md +42 -0
- package/docs/components/table.md +83 -0
- package/docs/components/text-field.md +9 -1
- package/docs/components/time-field.md +5 -1
- package/docs/components.md +39 -1
- package/docs/configuration.md +3 -1
- package/docs/custom-fields.md +135 -7
- package/docs/deploy/self-host.md +2 -0
- package/docs/deploy.md +7 -4
- package/docs/fields/image.md +0 -1
- package/docs/fields/list.md +19 -0
- package/docs/fields/object.md +5 -3
- package/docs/fields/rich-text.md +31 -0
- package/docs/index.md +8 -6
- package/docs/instant-publishing.md +23 -2
- package/docs/overviews.md +128 -4
- package/docs/query/filtering.md +2 -0
- package/docs/query/related.md +58 -9
- package/docs/query.md +52 -1
- package/docs/quickstart.md +5 -5
- package/docs/schema/document.md +2 -0
- package/docs/schema/type.md +3 -1
- package/docs/upgrading.md +100 -19
- package/llms-full.txt +1022 -125
- package/package.json +1 -1
- package/readme.md +2 -2
- package/dist/chunks/{chunk-4ZA6KZHS.js → chunk-6FQ5IMNA.js} +3 -3
package/dist/index.css
CHANGED
|
@@ -794,6 +794,9 @@
|
|
|
794
794
|
color: var(--alinea-fg-disabled);
|
|
795
795
|
}
|
|
796
796
|
}
|
|
797
|
+
.alinea-ComboBoxTrigger-spinner {
|
|
798
|
+
color: var(--alinea-fg-muted);
|
|
799
|
+
}
|
|
797
800
|
.alinea-ComboBoxTrigger-action {
|
|
798
801
|
z-index: 0;
|
|
799
802
|
width: 24px;
|
|
@@ -1394,6 +1397,9 @@
|
|
|
1394
1397
|
min-height: 0;
|
|
1395
1398
|
}
|
|
1396
1399
|
}
|
|
1400
|
+
.alinea-DialogContent-form {
|
|
1401
|
+
display: contents;
|
|
1402
|
+
}
|
|
1397
1403
|
.alinea-DialogContent-close {
|
|
1398
1404
|
position: absolute;
|
|
1399
1405
|
top: 12px;
|
|
@@ -1659,6 +1665,11 @@
|
|
|
1659
1665
|
rotate: 90deg;
|
|
1660
1666
|
}
|
|
1661
1667
|
|
|
1668
|
+
/* src/components/Form.module.css */
|
|
1669
|
+
.alinea-Form {
|
|
1670
|
+
display: block;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1662
1673
|
/* src/components/Heading.module.css */
|
|
1663
1674
|
.alinea-Heading {
|
|
1664
1675
|
color: var(--alinea-fg);
|
|
@@ -1795,6 +1806,17 @@
|
|
|
1795
1806
|
outline: none;
|
|
1796
1807
|
}
|
|
1797
1808
|
|
|
1809
|
+
/* src/components/internal/ListBoxGroup.module.css */
|
|
1810
|
+
.alinea-ListBoxGroup {
|
|
1811
|
+
display: block;
|
|
1812
|
+
}
|
|
1813
|
+
.alinea-ListBoxGroup-label {
|
|
1814
|
+
color: var(--alinea-fg-muted);
|
|
1815
|
+
padding: 4px 6px;
|
|
1816
|
+
font-size: .8rem;
|
|
1817
|
+
font-weight: 500;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1798
1820
|
/* src/components/internal/ListBoxOption.module.css */
|
|
1799
1821
|
.alinea-ListBoxOption {
|
|
1800
1822
|
border-radius: var(--alinea-radius-sm);
|
|
@@ -3349,15 +3371,6 @@
|
|
|
3349
3371
|
.alinea-SelectContent-list {
|
|
3350
3372
|
outline: none;
|
|
3351
3373
|
}
|
|
3352
|
-
.alinea-SelectGroup {
|
|
3353
|
-
display: block;
|
|
3354
|
-
}
|
|
3355
|
-
.alinea-SelectGroup-label {
|
|
3356
|
-
color: var(--alinea-fg-muted);
|
|
3357
|
-
padding: 4px 6px;
|
|
3358
|
-
font-size: .8rem;
|
|
3359
|
-
font-weight: 500;
|
|
3360
|
-
}
|
|
3361
3374
|
.alinea-SelectSeparator {
|
|
3362
3375
|
background: var(--alinea-border);
|
|
3363
3376
|
border: none;
|
|
@@ -3786,12 +3799,57 @@
|
|
|
3786
3799
|
animation: 1s cubic-bezier(.4, 0, .2, 1) infinite alinea-Spinner-spin;
|
|
3787
3800
|
}
|
|
3788
3801
|
}
|
|
3802
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3803
|
+
.alinea-Spinner-indicator {
|
|
3804
|
+
transition: none;
|
|
3805
|
+
}
|
|
3806
|
+
}
|
|
3789
3807
|
@keyframes alinea-Spinner-spin {
|
|
3790
3808
|
to {
|
|
3791
3809
|
transform: rotate(270deg);
|
|
3792
3810
|
}
|
|
3793
3811
|
}
|
|
3794
3812
|
|
|
3813
|
+
/* src/components/Stack.module.css */
|
|
3814
|
+
.alinea-Stack {
|
|
3815
|
+
flex-direction: column;
|
|
3816
|
+
min-width: 0;
|
|
3817
|
+
display: flex;
|
|
3818
|
+
&[data-direction=row] {
|
|
3819
|
+
flex-direction: row;
|
|
3820
|
+
}
|
|
3821
|
+
&[data-align=start] {
|
|
3822
|
+
align-items: flex-start;
|
|
3823
|
+
}
|
|
3824
|
+
&[data-align=center] {
|
|
3825
|
+
align-items: center;
|
|
3826
|
+
}
|
|
3827
|
+
&[data-align=end] {
|
|
3828
|
+
align-items: flex-end;
|
|
3829
|
+
}
|
|
3830
|
+
&[data-align=stretch] {
|
|
3831
|
+
align-items: stretch;
|
|
3832
|
+
}
|
|
3833
|
+
&[data-align=baseline] {
|
|
3834
|
+
align-items: baseline;
|
|
3835
|
+
}
|
|
3836
|
+
&[data-justify=start] {
|
|
3837
|
+
justify-content: flex-start;
|
|
3838
|
+
}
|
|
3839
|
+
&[data-justify=center] {
|
|
3840
|
+
justify-content: center;
|
|
3841
|
+
}
|
|
3842
|
+
&[data-justify=end] {
|
|
3843
|
+
justify-content: flex-end;
|
|
3844
|
+
}
|
|
3845
|
+
&[data-justify=between] {
|
|
3846
|
+
justify-content: space-between;
|
|
3847
|
+
}
|
|
3848
|
+
&[data-wrap] {
|
|
3849
|
+
flex-wrap: wrap;
|
|
3850
|
+
}
|
|
3851
|
+
}
|
|
3852
|
+
|
|
3795
3853
|
/* src/components/Surface.module.css */
|
|
3796
3854
|
.alinea-Surface {
|
|
3797
3855
|
background: var(--alinea-bg);
|
|
@@ -3966,13 +4024,19 @@
|
|
|
3966
4024
|
}
|
|
3967
4025
|
}
|
|
3968
4026
|
.alinea-Table-empty {
|
|
4027
|
+
height: 100%;
|
|
4028
|
+
min-height: calc(var(--alinea-table-row-height) * 2);
|
|
4029
|
+
color: var(--alinea-fg-muted);
|
|
4030
|
+
justify-content: center;
|
|
4031
|
+
align-items: center;
|
|
4032
|
+
display: flex;
|
|
4033
|
+
}
|
|
4034
|
+
.alinea-Table-loader {
|
|
4035
|
+
height: var(--alinea-table-row-height);
|
|
3969
4036
|
color: var(--alinea-fg-muted);
|
|
3970
|
-
pointer-events: none;
|
|
3971
4037
|
justify-content: center;
|
|
3972
4038
|
align-items: center;
|
|
3973
4039
|
display: flex;
|
|
3974
|
-
position: absolute;
|
|
3975
|
-
inset: 0;
|
|
3976
4040
|
}
|
|
3977
4041
|
.alinea-Table-dropIndicator {
|
|
3978
4042
|
pointer-events: none;
|
|
@@ -4022,8 +4086,14 @@
|
|
|
4022
4086
|
padding-inline-start: calc(34px + var(--alinea-table-indent));
|
|
4023
4087
|
}
|
|
4024
4088
|
}
|
|
4089
|
+
.alinea-TableHeader-label {
|
|
4090
|
+
text-overflow: ellipsis;
|
|
4091
|
+
min-width: 0;
|
|
4092
|
+
overflow: hidden;
|
|
4093
|
+
}
|
|
4025
4094
|
.alinea-TableHeader-sort {
|
|
4026
4095
|
border-radius: var(--alinea-radius-sm);
|
|
4096
|
+
min-width: 0;
|
|
4027
4097
|
color: inherit;
|
|
4028
4098
|
font: inherit;
|
|
4029
4099
|
cursor: pointer;
|
|
@@ -4043,6 +4113,7 @@
|
|
|
4043
4113
|
}
|
|
4044
4114
|
}
|
|
4045
4115
|
.alinea-TableHeader-sortIcon {
|
|
4116
|
+
flex: none;
|
|
4046
4117
|
font-size: 14px;
|
|
4047
4118
|
}
|
|
4048
4119
|
.alinea-TableRow {
|
|
@@ -4603,6 +4674,9 @@
|
|
|
4603
4674
|
grid-area: 1 / 1 / 2 / 2;
|
|
4604
4675
|
overflow: hidden;
|
|
4605
4676
|
}
|
|
4677
|
+
.alinea-TextFieldGrow &.alinea-is-limited {
|
|
4678
|
+
overflow-y: auto;
|
|
4679
|
+
}
|
|
4606
4680
|
&.alinea-is-start {
|
|
4607
4681
|
padding-left: calc(20px + 1em);
|
|
4608
4682
|
}
|
|
@@ -5037,6 +5111,17 @@
|
|
|
5037
5111
|
}
|
|
5038
5112
|
.alinea-AppLoading-progress {
|
|
5039
5113
|
animation: .25s ease-out both alinea-AppLoading-progress-fade-in;
|
|
5114
|
+
display: flex;
|
|
5115
|
+
position: relative;
|
|
5116
|
+
}
|
|
5117
|
+
.alinea-AppLoading-status {
|
|
5118
|
+
white-space: nowrap;
|
|
5119
|
+
font-variant-numeric: tabular-nums;
|
|
5120
|
+
margin-top: .75rem;
|
|
5121
|
+
position: absolute;
|
|
5122
|
+
top: 100%;
|
|
5123
|
+
left: 50%;
|
|
5124
|
+
transform: translateX(-50%);
|
|
5040
5125
|
}
|
|
5041
5126
|
@keyframes alinea-AppLoading-progress-fade-in {
|
|
5042
5127
|
from {
|
|
@@ -5514,6 +5599,9 @@
|
|
|
5514
5599
|
}
|
|
5515
5600
|
|
|
5516
5601
|
/* src/dashboard/app/EntryHeader.module.css */
|
|
5602
|
+
.alinea-EntryHeader {
|
|
5603
|
+
min-height: var(--alinea-header-height, 48px);
|
|
5604
|
+
}
|
|
5517
5605
|
@media (width <= 768px) {
|
|
5518
5606
|
.alinea-EntryHeader {
|
|
5519
5607
|
gap: 4px;
|
|
@@ -6070,6 +6158,18 @@
|
|
|
6070
6158
|
display: flex;
|
|
6071
6159
|
}
|
|
6072
6160
|
|
|
6161
|
+
/* src/dashboard/app/ExplorerOverviewHeader.module.css */
|
|
6162
|
+
.alinea-ExplorerOverviewHeader {
|
|
6163
|
+
border-bottom: 1px solid var(--alinea-border);
|
|
6164
|
+
flex-shrink: 0;
|
|
6165
|
+
padding: 12px 16px;
|
|
6166
|
+
}
|
|
6167
|
+
@media (width <= 768px) {
|
|
6168
|
+
.alinea-ExplorerOverviewHeader {
|
|
6169
|
+
padding: 8px;
|
|
6170
|
+
}
|
|
6171
|
+
}
|
|
6172
|
+
|
|
6073
6173
|
/* src/dashboard/app/ExplorerTable.module.css */
|
|
6074
6174
|
.alinea-ExplorerTable-viewport {
|
|
6075
6175
|
box-sizing: border-box;
|
|
@@ -6116,6 +6216,34 @@
|
|
|
6116
6216
|
}
|
|
6117
6217
|
}
|
|
6118
6218
|
|
|
6219
|
+
/* src/dashboard/app/ExplorerTabs.module.css */
|
|
6220
|
+
.alinea-ExplorerTabs {
|
|
6221
|
+
flex: 1;
|
|
6222
|
+
min-height: 0;
|
|
6223
|
+
}
|
|
6224
|
+
.alinea-ExplorerTabs-bar {
|
|
6225
|
+
border-bottom: 1px solid var(--alinea-border);
|
|
6226
|
+
background: var(--alinea-bg);
|
|
6227
|
+
flex-shrink: 0;
|
|
6228
|
+
height: 40px;
|
|
6229
|
+
padding: 0 16px;
|
|
6230
|
+
}
|
|
6231
|
+
.alinea-ExplorerTabs-panel {
|
|
6232
|
+
border-radius: 0;
|
|
6233
|
+
flex-direction: column;
|
|
6234
|
+
flex: 1;
|
|
6235
|
+
min-height: 0;
|
|
6236
|
+
display: flex;
|
|
6237
|
+
&:focus-visible {
|
|
6238
|
+
outline-offset: -2px;
|
|
6239
|
+
}
|
|
6240
|
+
}
|
|
6241
|
+
@media (width <= 768px) {
|
|
6242
|
+
.alinea-ExplorerTabs-bar {
|
|
6243
|
+
padding: 0 8px;
|
|
6244
|
+
}
|
|
6245
|
+
}
|
|
6246
|
+
|
|
6119
6247
|
/* src/dashboard/app/ImageEditor.module.css */
|
|
6120
6248
|
.alinea-ImageEditor {
|
|
6121
6249
|
--alinea-image-editor-height: min(56vh, 520px);
|
|
@@ -6418,10 +6546,17 @@
|
|
|
6418
6546
|
}
|
|
6419
6547
|
.alinea-OverviewCell-link {
|
|
6420
6548
|
flex: 0 auto;
|
|
6549
|
+
gap: 0;
|
|
6421
6550
|
&:not(:last-child):after {
|
|
6422
6551
|
content: ",";
|
|
6423
6552
|
}
|
|
6424
6553
|
}
|
|
6554
|
+
.alinea-OverviewCell-link-text {
|
|
6555
|
+
text-overflow: ellipsis;
|
|
6556
|
+
white-space: nowrap;
|
|
6557
|
+
min-width: 0;
|
|
6558
|
+
overflow: hidden;
|
|
6559
|
+
}
|
|
6425
6560
|
.alinea-OverviewCell-thumbnail {
|
|
6426
6561
|
border-radius: var(--alinea-radius-sm);
|
|
6427
6562
|
background: var(--alinea-bg-muted);
|
|
@@ -6438,6 +6573,9 @@
|
|
|
6438
6573
|
}
|
|
6439
6574
|
|
|
6440
6575
|
/* src/dashboard/app/pages/EntryPage.module.css */
|
|
6576
|
+
.alinea-EntryEditor {
|
|
6577
|
+
--alinea-header-height: 48px;
|
|
6578
|
+
}
|
|
6441
6579
|
.alinea-EntryEditor-body {
|
|
6442
6580
|
background: var(--alinea-bg-muted);
|
|
6443
6581
|
min-width: 0;
|
|
@@ -6452,6 +6590,14 @@
|
|
|
6452
6590
|
.alinea-EntryEditor-banner {
|
|
6453
6591
|
background: var(--alinea-bg-muted);
|
|
6454
6592
|
}
|
|
6593
|
+
.alinea-EntryEditor-viewBanner {
|
|
6594
|
+
flex-shrink: 0;
|
|
6595
|
+
padding: 16px 16px 0;
|
|
6596
|
+
}
|
|
6597
|
+
.alinea-EntryEditor-view {
|
|
6598
|
+
min-width: 0;
|
|
6599
|
+
min-height: 0;
|
|
6600
|
+
}
|
|
6455
6601
|
.alinea-EntryEditor-toolbar {
|
|
6456
6602
|
z-index: 1;
|
|
6457
6603
|
border-top: 1px solid var(--alinea-border);
|
|
@@ -6487,6 +6633,9 @@
|
|
|
6487
6633
|
.alinea-EntryEditor-body {
|
|
6488
6634
|
padding: 8px;
|
|
6489
6635
|
}
|
|
6636
|
+
.alinea-EntryEditor-viewBanner {
|
|
6637
|
+
padding: 8px 8px 0;
|
|
6638
|
+
}
|
|
6490
6639
|
.alinea-MissingEntry {
|
|
6491
6640
|
padding: 12px;
|
|
6492
6641
|
}
|
|
@@ -7521,14 +7670,14 @@
|
|
|
7521
7670
|
}
|
|
7522
7671
|
|
|
7523
7672
|
/* src/dashboard/global.css */
|
|
7524
|
-
html,
|
|
7525
|
-
body,
|
|
7526
|
-
#root {
|
|
7673
|
+
:where(html[data-alinea-theme]),
|
|
7674
|
+
:where(html[data-alinea-theme]) body,
|
|
7675
|
+
:where(html[data-alinea-theme]) #root {
|
|
7527
7676
|
height: 100%;
|
|
7528
7677
|
margin: 0;
|
|
7529
7678
|
font-family: var(--alinea-font);
|
|
7530
7679
|
}
|
|
7531
|
-
* {
|
|
7680
|
+
:where([data-alinea-theme], [data-alinea-theme] *) {
|
|
7532
7681
|
box-sizing: border-box;
|
|
7533
7682
|
padding: 0;
|
|
7534
7683
|
margin: 0;
|
|
@@ -7540,12 +7689,12 @@ body[data-disable-transition=true] {
|
|
|
7540
7689
|
transition: none !important;
|
|
7541
7690
|
}
|
|
7542
7691
|
}
|
|
7543
|
-
a {
|
|
7692
|
+
:where([data-alinea-theme] a) {
|
|
7544
7693
|
color: inherit;
|
|
7545
7694
|
font: inherit;
|
|
7546
7695
|
text-decoration: none;
|
|
7547
7696
|
}
|
|
7548
|
-
button {
|
|
7697
|
+
:where([data-alinea-theme] button) {
|
|
7549
7698
|
background: none;
|
|
7550
7699
|
border: none;
|
|
7551
7700
|
color: inherit;
|
|
@@ -8341,8 +8490,10 @@ button {
|
|
|
8341
8490
|
}
|
|
8342
8491
|
|
|
8343
8492
|
/* src/theme.css */
|
|
8344
|
-
:root {
|
|
8493
|
+
:root[data-alinea-theme] {
|
|
8345
8494
|
color-scheme: light dark;
|
|
8495
|
+
}
|
|
8496
|
+
:where([data-alinea-theme]:not([data-alinea-theme] *)) {
|
|
8346
8497
|
--alinea-gray-0: #ffffff;
|
|
8347
8498
|
--alinea-gray-50: #f9fafb;
|
|
8348
8499
|
--alinea-gray-100: #f3f4f7;
|
|
@@ -8390,7 +8541,7 @@ button {
|
|
|
8390
8541
|
--alinea-green-700: #007a55;
|
|
8391
8542
|
--alinea-green-800: #006045;
|
|
8392
8543
|
}
|
|
8393
|
-
:
|
|
8544
|
+
:where([data-alinea-theme]:not([data-alinea-theme] *)) {
|
|
8394
8545
|
--alinea-font: "Inter", sans-serif;
|
|
8395
8546
|
--alinea-mono-font: "JetBrains Mono", monospace;
|
|
8396
8547
|
--alinea-font-size-base: 0.8125rem;
|
|
@@ -8407,8 +8558,8 @@ button {
|
|
|
8407
8558
|
--alinea-warning-fg: var(--alinea-gray-900);
|
|
8408
8559
|
--alinea-success: light-dark(var(--alinea-green-600), var(--alinea-green-500));
|
|
8409
8560
|
--alinea-ring: var(--alinea-blue-500);
|
|
8561
|
+
--alinea-workspace-color: var(--alinea-primary);
|
|
8410
8562
|
}
|
|
8411
|
-
:root,
|
|
8412
8563
|
[data-alinea-theme] {
|
|
8413
8564
|
--alinea-transition: 0.2s ease-out;
|
|
8414
8565
|
--alinea-radius-sm: calc(var(--alinea-radius) / 2);
|
|
@@ -8449,10 +8600,10 @@ button {
|
|
|
8449
8600
|
--alinea-shadow-tooltip: 0 8px 20px rgb(0 0 0 / 10%);
|
|
8450
8601
|
--alinea-shadow-modal: 0 2px 13px rgb(0 0 0 / 11%);
|
|
8451
8602
|
}
|
|
8452
|
-
|
|
8603
|
+
[data-alinea-theme][data-theme=light] {
|
|
8453
8604
|
color-scheme: light;
|
|
8454
8605
|
}
|
|
8455
|
-
|
|
8606
|
+
[data-alinea-theme][data-theme=dark] {
|
|
8456
8607
|
color-scheme: dark;
|
|
8457
8608
|
}
|
|
8458
8609
|
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -5,9 +5,11 @@ import * as Config from "./config.js";
|
|
|
5
5
|
import * as Edit from "./edit.js";
|
|
6
6
|
import * as Field from "./field.js";
|
|
7
7
|
import * as Query from "./query.js";
|
|
8
|
+
import { href } from "./dashboard/Href.js";
|
|
8
9
|
export {
|
|
9
10
|
Config,
|
|
10
11
|
Edit,
|
|
11
12
|
Field,
|
|
12
|
-
Query
|
|
13
|
+
Query,
|
|
14
|
+
href
|
|
13
15
|
};
|
package/dist/next.d.ts
CHANGED
|
@@ -2,4 +2,6 @@ export type { SyncStatus } from 'alinea/adapter/next/cms';
|
|
|
2
2
|
export type { NextHandlerOptions } from 'alinea/adapter/next/handler';
|
|
3
3
|
export { createCMS, createHandler } from 'alinea/adapter/next/node';
|
|
4
4
|
export { withAlinea } from 'alinea/adapter/next/with-alinea';
|
|
5
|
+
export type { RemovedEntry } from 'alinea/backend/CommitEntries';
|
|
5
6
|
export type { AfterCommitContext, BeforeCommitContext } from 'alinea/backend/Handler';
|
|
7
|
+
export type { DashboardEntry } from 'alinea/core/DashboardEntry';
|
package/dist/next.edge.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { createCMS, type SyncStatus } from 'alinea/adapter/next/cms';
|
|
2
2
|
export { createHandler, type NextHandlerOptions } from 'alinea/adapter/next/handler';
|
|
3
|
+
export type { RemovedEntry } from 'alinea/backend/CommitEntries';
|
|
3
4
|
export type { AfterCommitContext, BeforeCommitContext } from 'alinea/backend/Handler';
|
|
5
|
+
export type { DashboardEntry } from 'alinea/core/DashboardEntry';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EntryFields } from 'alinea/core/EntryFields';
|
|
2
|
-
import type
|
|
2
|
+
import { type OpenFilter } from 'alinea/core/Filter';
|
|
3
3
|
import type { Graph, Projection } from 'alinea/core/Graph';
|
|
4
4
|
import type { Label } from 'alinea/core/Label';
|
|
5
5
|
import type { Picker } from 'alinea/core/Picker';
|
|
@@ -52,4 +52,6 @@ export interface EntryPickerOptions<Definition = {}> extends EntryPickerConditio
|
|
|
52
52
|
fields?: Definition | Type<Definition>;
|
|
53
53
|
}
|
|
54
54
|
export declare function entryPicker<Ref extends EntryReference, Fields>(options: EntryPickerOptions<Fields>): Picker<Ref, EntryPickerOptions<Fields>>;
|
|
55
|
+
/** @internal Throws for conditions an entry picker can't check, eg. relation filters */
|
|
56
|
+
export declare function assertPickerCondition(condition: OpenFilter<EntryFields>): void;
|
|
55
57
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "../../chunks/chunk-CQ52GEHY.js";
|
|
2
2
|
|
|
3
3
|
// src/picker/entry/EntryPicker.ts
|
|
4
|
+
import { filterChecker } from "alinea/core/Filter";
|
|
4
5
|
import { Reference } from "alinea/core/Reference";
|
|
5
6
|
import { Root } from "alinea/core/Root";
|
|
6
7
|
import { Type, type } from "alinea/core/Type";
|
|
@@ -12,6 +13,8 @@ import { selectLocalisedValue } from "alinea/field/localiser";
|
|
|
12
13
|
import { EntryReference } from "./EntryReference.js";
|
|
13
14
|
var unresolvedEntryMarker = /* @__PURE__ */ Symbol("unresolvedEntryMarker");
|
|
14
15
|
function entryPicker(options) {
|
|
16
|
+
if (options.condition && typeof options.condition !== "function")
|
|
17
|
+
assertPickerCondition(options.condition);
|
|
15
18
|
const fieldType = Type.isType(options.fields) ? options.fields : options.fields && type("Entry fields", { fields: options.fields });
|
|
16
19
|
return {
|
|
17
20
|
fields: fieldType,
|
|
@@ -71,7 +74,7 @@ function entryPicker(options) {
|
|
|
71
74
|
});
|
|
72
75
|
const version = typeof rest.hash === "string" ? rest.hash : void 0;
|
|
73
76
|
const versionedSrc = typeof src === "string" ? MediaLocation.versionedUrl(src, version) : src;
|
|
74
|
-
assign(row, rest, { extension, src: versionedSrc
|
|
77
|
+
assign(row, rest, { extension, src: versionedSrc });
|
|
75
78
|
if (typeof selectedAlt === "string") row.alt = selectedAlt;
|
|
76
79
|
}
|
|
77
80
|
};
|
|
@@ -104,7 +107,18 @@ function linkedLocalisation(loader, { workspace, root }) {
|
|
|
104
107
|
const rootData = Root.data(rootConfig);
|
|
105
108
|
return Root.mediaI18n(rootData) ?? rootData.i18n;
|
|
106
109
|
}
|
|
110
|
+
function assertPickerCondition(condition) {
|
|
111
|
+
try {
|
|
112
|
+
filterChecker(condition);
|
|
113
|
+
} catch (error) {
|
|
114
|
+
throw new Error(
|
|
115
|
+
`Invalid entry picker condition: ${error.message}`,
|
|
116
|
+
{ cause: error }
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
107
120
|
export {
|
|
121
|
+
assertPickerCondition,
|
|
108
122
|
entryPicker,
|
|
109
123
|
unresolvedEntryMarker
|
|
110
124
|
};
|
package/dist/preview/react.js
CHANGED
|
@@ -7,10 +7,13 @@ function usePreview(options) {
|
|
|
7
7
|
const [isPreviewing, setIsPreviewing] = useState(false);
|
|
8
8
|
const previewRef = useRef(options.preview);
|
|
9
9
|
previewRef.current = options.preview;
|
|
10
|
+
const applied = useRef();
|
|
10
11
|
useEffect(() => {
|
|
11
12
|
return registerPreview(
|
|
12
13
|
{
|
|
13
14
|
preview(update) {
|
|
15
|
+
if (update?.payload === applied.current) return Promise.resolve();
|
|
16
|
+
applied.current = update?.payload;
|
|
14
17
|
return previewRef.current(update);
|
|
15
18
|
},
|
|
16
19
|
setIsPreviewing
|
package/dist/query.d.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import type { Expr } from 'alinea/core/Expr';
|
|
1
2
|
import type { GraphQuery, IncludeGuard, PickModifiers, QueryModifiers, SelectionGuard, TypeGuard } from 'alinea/core/Graph';
|
|
2
|
-
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
3
|
+
import type { HasField } from 'alinea/core/Internal';
|
|
4
|
+
export declare const id: Expr<string>;
|
|
5
|
+
export declare const title: Expr<string>;
|
|
6
|
+
export declare const type: Expr<string>;
|
|
7
|
+
export declare const index: Expr<string>;
|
|
8
|
+
export declare const workspace: Expr<string>;
|
|
9
|
+
export declare const root: Expr<string>;
|
|
10
|
+
export declare const status: Expr<import("alinea/core/Entry").EntryStatus>;
|
|
11
|
+
export declare const parentId: Expr<string | null>;
|
|
12
|
+
export declare const locale: Expr<string | null>;
|
|
13
|
+
export declare const path: Expr<string>;
|
|
14
|
+
export declare const url: Expr<string>;
|
|
15
|
+
export declare const aliases: Expr<import("alinea/core/Entry").EntryAlias[]>;
|
|
16
|
+
export declare const createdAt: Expr<number | null>;
|
|
17
|
+
export declare const updatedAt: Expr<number | null>;
|
|
16
18
|
export { snippet } from 'alinea/core/pages/Snippet';
|
|
17
19
|
/** A relation query, see PickModifiers */
|
|
18
20
|
type RelationQuery<Edge extends string, Selection, Type, Include, Modifiers> = {
|
|
@@ -41,3 +43,13 @@ export declare function siblings<Selection extends SelectionGuard = undefined, T
|
|
|
41
43
|
export declare function parent<Selection extends SelectionGuard = undefined, Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined, Modifiers extends QueryModifiers = {}>(query: GraphQuery<Selection, Type, Include> & Modifiers): RelationQuery<'parent', Selection, Type, Include, Modifiers>;
|
|
42
44
|
export declare function next<Selection extends SelectionGuard = undefined, Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined, Modifiers extends QueryModifiers = {}>(query: GraphQuery<Selection, Type, Include> & Modifiers): RelationQuery<'next', Selection, Type, Include, Modifiers>;
|
|
43
45
|
export declare function previous<Selection extends SelectionGuard = undefined, Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined, Modifiers extends QueryModifiers = {}>(query: GraphQuery<Selection, Type, Include> & Modifiers): RelationQuery<'previous', Selection, Type, Include, Modifiers>;
|
|
46
|
+
/**
|
|
47
|
+
* The entries that link to the entry, eg. the products of a brand:
|
|
48
|
+
* `Query.referencedBy({type: Product})`. Set `field` to only follow one
|
|
49
|
+
* link field, eg. `{type: Product, field: Product.brand}`.
|
|
50
|
+
*/
|
|
51
|
+
export declare function referencedBy<Selection extends SelectionGuard = undefined, Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined, Modifiers extends QueryModifiers = {}>(query: GraphQuery<Selection, Type, Include> & Modifiers & {
|
|
52
|
+
field?: HasField & Expr;
|
|
53
|
+
}): RelationQuery<'referencedBy', Selection, Type, Include, Modifiers> & {
|
|
54
|
+
field?: HasField & Expr;
|
|
55
|
+
};
|
package/dist/query.js
CHANGED
|
@@ -38,6 +38,9 @@ function next(query) {
|
|
|
38
38
|
function previous(query) {
|
|
39
39
|
return { edge: "previous", ...query };
|
|
40
40
|
}
|
|
41
|
+
function referencedBy(query) {
|
|
42
|
+
return { edge: "referencedBy", ...query };
|
|
43
|
+
}
|
|
41
44
|
export {
|
|
42
45
|
aliases,
|
|
43
46
|
children,
|
|
@@ -51,6 +54,7 @@ export {
|
|
|
51
54
|
parents,
|
|
52
55
|
path,
|
|
53
56
|
previous,
|
|
57
|
+
referencedBy,
|
|
54
58
|
root,
|
|
55
59
|
siblings,
|
|
56
60
|
snippet,
|
package/dist/types.d.ts
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
|
+
export type { DashboardEntry, EntryActionProps } from 'alinea/core/DashboardEntry';
|
|
2
|
+
export type { FieldOptions, WithoutLabel } from 'alinea/core/Field';
|
|
1
3
|
export type { Filter } from 'alinea/core/Filter';
|
|
2
|
-
export type { Graph, GraphQuery } from 'alinea/core/Graph';
|
|
4
|
+
export type { Graph, GraphQuery, QuerySettings } from 'alinea/core/Graph';
|
|
3
5
|
export type { Infer } from 'alinea/core/Infer';
|
|
4
6
|
export type { ListRow } from 'alinea/core/ListRow';
|
|
5
|
-
export type { OverviewActionProps, OverviewBuiltins, OverviewCellProps, OverviewColumn, OverviewEntry, OverviewFilter, OverviewFilterOption, OverviewFormatContext, OverviewOptions, OverviewSort, OverviewSortBy, OverviewSortDirection, OverviewSortOption } from 'alinea/core/Overview';
|
|
7
|
+
export type { OverviewActionProps, OverviewBuiltins, OverviewCellProps, OverviewColumn, OverviewEntry, OverviewFilter, OverviewFilterContext, OverviewFilterOption, OverviewFilterOptions, OverviewFormatContext, OverviewHeaderProps, OverviewOptions, OverviewSort, OverviewSortBy, OverviewSortDirection, OverviewSortOption, OverviewTab } from 'alinea/core/Overview';
|
|
6
8
|
export type { Root } from 'alinea/core/Root';
|
|
7
9
|
export type { Schema } from 'alinea/core/Schema';
|
|
8
10
|
export type { BlockNode, ElementNode, ImageNode, LinkMark, Mark, TextDoc, TextNode } from 'alinea/core/TextDoc';
|
|
9
11
|
export type { EntryUrlMeta, Type } from 'alinea/core/Type';
|
|
10
12
|
export type { Workspace } from 'alinea/core/Workspace';
|
|
11
|
-
export type {
|
|
12
|
-
export type {
|
|
13
|
-
export type {
|
|
13
|
+
export type { DashboardLocation } from 'alinea/dashboard/Href';
|
|
14
|
+
export type { EntriesOptions, EntryLink, EntryOptions } from 'alinea/field/link/EntryLink';
|
|
15
|
+
export type { FileLink, FileOptions, FilesOptions } from 'alinea/field/link/FileLink';
|
|
16
|
+
export type { ImageLink, ImageOptions, ImagesOptions } from 'alinea/field/link/ImageLink';
|
|
14
17
|
export type { Link } from 'alinea/field/link/Link';
|
|
15
18
|
export type { UrlLink } from 'alinea/field/link/UrlLink';
|
|
16
19
|
export type { EntryReference } from 'alinea/picker/entry/EntryReference';
|
package/dist/ui/Stack.d.ts
CHANGED
|
@@ -12,10 +12,12 @@ export interface StackProps extends PropsWithChildren<Omit<HTMLAttributes<HTMLEl
|
|
|
12
12
|
autoWidth?: boolean;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* @deprecated Compatibility component for legacy dashboard extensions
|
|
15
|
+
* @deprecated Compatibility component for legacy dashboard extensions, use
|
|
16
|
+
* `Stack` from `alinea/components`.
|
|
16
17
|
*/
|
|
17
18
|
export declare const VStack: import("react").ForwardRefExoticComponent<StackProps & import("react").RefAttributes<HTMLElement>>;
|
|
18
19
|
/**
|
|
19
|
-
* @deprecated Compatibility component for legacy dashboard extensions
|
|
20
|
+
* @deprecated Compatibility component for legacy dashboard extensions, use
|
|
21
|
+
* `<Stack direction="row">` from `alinea/components`.
|
|
20
22
|
*/
|
|
21
23
|
export declare const HStack: import("react").ForwardRefExoticComponent<StackProps & import("react").RefAttributes<HTMLElement>>;
|
package/docs/ai-setup.md
CHANGED
|
@@ -19,15 +19,15 @@ The rest of this page is written for the agent. You are adding Alinea, a git-bas
|
|
|
19
19
|
Install the package in the project root.
|
|
20
20
|
|
|
21
21
|
```shellscript
|
|
22
|
-
npm install alinea@
|
|
22
|
+
npm install alinea@rc
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
With other package managers: `pnpm add alinea@
|
|
25
|
+
With other package managers: `pnpm add alinea@rc`, `yarn add alinea@rc` or `bun add alinea@rc`.
|
|
26
26
|
|
|
27
27
|
## 3. Run alinea init
|
|
28
28
|
|
|
29
29
|
```shellscript
|
|
30
|
-
npx alinea@
|
|
30
|
+
npx alinea@rc init
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
In a Next.js project `alinea init` creates:
|
package/docs/cli.md
CHANGED
|
@@ -85,9 +85,11 @@ Options
|
|
|
85
85
|
--fix Any missing or incorrect properties will be overwritten by their default
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
`--config` and `--dir` work as for `alinea dev`. `--fix` rewrites content files whose data doesn't match the schema, filling missing or invalid properties with their defaults, and exits without running the command after `--`. Commit the result.
|
|
88
|
+
`--config` and `--dir` work as for `alinea dev`. `--fix` rewrites content files whose data doesn't match the schema, filling missing or invalid properties with their defaults, and points media files whose `location` is a url at the file of the same name in the `mediaDir`. It exits without running the command after `--`. Commit the result.
|
|
89
89
|
|
|
90
|
-
The build stops with an error when the config can't be loaded, when `handlerUrl` is missing or when `baseUrl` has no production URL, see [Configuration](configuration.md).
|
|
90
|
+
The build stops with an error when the config can't be loaded, when `handlerUrl` is missing or when `baseUrl` has no production URL while `handlerUrl` is relative, see [Configuration](configuration.md).
|
|
91
|
+
|
|
92
|
+
`alinea dev` and `alinea build` warn about media files whose `location` is a url, which can't be served (some 1.x saves wrote the upload url there). The warning names the file and, when the `mediaDir` holds a file of the same name, suggests `alinea build --fix` to point the location at it.
|
|
91
93
|
|
|
92
94
|
## Deploying
|
|
93
95
|
|