alinea 2.0.0-preview.2 → 2.0.0-preview.3
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/LICENSES.md +63 -63
- package/dist/adapter/next/previews.js +3 -1
- package/dist/adapter/next/previews.spec.d.ts +1 -0
- package/dist/bundled.d.ts +63 -17
- package/dist/chunks/{chunk-UVOEM4AH.js → chunk-HFBZMKIN.js} +1 -1
- package/dist/cli/Serve.js +1 -1
- package/dist/cli/bin.js +1 -1
- package/dist/cloud/CloudRemote.js +1 -1
- package/dist/components/Breadcrumbs.js +2 -2
- package/dist/components/Calendar.js +5 -5
- package/dist/components/Checkbox.js +3 -3
- package/dist/components/ComboBox.js +12 -12
- package/dist/components/DateField.js +3 -3
- package/dist/components/DatePicker.js +5 -5
- package/dist/components/DateRangePicker.js +7 -7
- package/dist/components/Disclosure.js +8 -8
- package/dist/components/Label.js +6 -6
- package/dist/components/List.js +29 -29
- package/dist/components/Menu.js +4 -4
- package/dist/components/Modal.js +4 -4
- package/dist/components/MultipleSelect.js +24 -24
- package/dist/components/NumberField.js +5 -5
- package/dist/components/ProgressCircle.js +3 -3
- package/dist/components/RadioGroup.js +2 -2
- package/dist/components/SearchField.js +7 -7
- package/dist/components/Select.js +8 -8
- package/dist/components/Surface.js +3 -3
- package/dist/components/Table.js +8 -8
- package/dist/components/Tabs.js +4 -4
- package/dist/components/TagGroup.js +2 -2
- package/dist/components/TextField.js +4 -4
- package/dist/components/TimeField.js +3 -3
- package/dist/components/Toolbar.js +3 -3
- package/dist/components/Tooltip.js +3 -3
- package/dist/components/Tree.d.ts +4 -2
- package/dist/components/Tree.js +18 -4
- package/dist/core/Graph.d.ts +1 -1
- package/dist/core/Infer.d.ts +8 -1
- package/dist/core/db/EntryAliases.js +1 -4
- package/dist/core/db/EntryResolver.js +6 -6
- package/dist/core/db/EntryTransaction.js +1 -0
- package/dist/core/db/Operation.d.ts +2 -2
- package/dist/core/db/Operation.js +11 -1
- package/dist/dashboard/App.js +8 -2
- package/dist/dashboard/app/AccessDenied.d.ts +16 -1
- package/dist/dashboard/app/AccessDenied.js +20 -11
- package/dist/dashboard/app/ActivityStatus.js +15 -15
- package/dist/dashboard/app/AppShell.js +2 -2
- package/dist/dashboard/app/AuthView.js +8 -8
- package/dist/dashboard/app/CompactField.js +13 -13
- package/dist/dashboard/app/DashboardErrorBoundary.js +5 -5
- package/dist/dashboard/app/EntryHeader.js +7 -7
- package/dist/dashboard/app/EntryReferences.js +10 -10
- package/dist/dashboard/app/EntrySidebar.js +11 -11
- package/dist/dashboard/app/EntrySidebarPreview.js +52 -26
- package/dist/dashboard/app/EntrySidebarPreview.story.d.ts +6 -1
- package/dist/dashboard/app/EntryTranslationBanner.js +5 -5
- package/dist/dashboard/app/Explorer.d.ts +2 -1
- package/dist/dashboard/app/Explorer.js +56 -44
- package/dist/dashboard/app/ExplorerCards.js +42 -46
- package/dist/dashboard/app/ExplorerFileCard.js +18 -18
- package/dist/dashboard/app/ExplorerList.js +11 -11
- package/dist/dashboard/app/ExplorerModal.js +5 -5
- package/dist/dashboard/app/ExplorerTable.js +53 -53
- package/dist/dashboard/app/LinkPicker.js +34 -9
- package/dist/dashboard/app/LocaleMenu.js +5 -5
- package/dist/dashboard/app/SidebarLayout.js +3 -3
- package/dist/dashboard/app/SidebarTree.js +48 -56
- package/dist/dashboard/app/WorkspaceMenu.js +11 -11
- package/dist/dashboard/app/WorkspaceRoots.js +24 -24
- package/dist/dashboard/app/editor/FileEditor.js +26 -26
- package/dist/dashboard/app/editor/FilePreview.js +4 -4
- package/dist/dashboard/app/modals/CreateEntry.js +2 -2
- package/dist/dashboard/app/pages/EntryPage.js +17 -17
- package/dist/dashboard/app/pages/UsersPage.js +35 -35
- package/dist/dashboard/app/ui/DashboardModal.js +17 -17
- package/dist/dashboard/app/ui/Rail.js +2 -2
- package/dist/dashboard/app/ui/Sidebar.js +2 -2
- package/dist/field/check/CheckField.view.js +2 -2
- package/dist/field/code/CodeField.view.js +11 -11
- package/dist/field/link/EntryLink.d.ts +1 -1
- package/dist/field/link/EntryLink.js +1 -0
- package/dist/field/link/Link.js +1 -0
- package/dist/field/link/LinkField.d.ts +5 -0
- package/dist/field/link/LinkField.view.js +58 -41
- package/dist/field/list/ListField.view.js +14 -14
- package/dist/field/metadata/MetadataField.d.ts +2 -0
- package/dist/field/metadata/MetadataField.js +2 -1
- package/dist/field/metadata/MetadataField.view.js +19 -19
- package/dist/field/richtext/RichTextBlock.js +2 -2
- package/dist/field/richtext/RichTextExtensions.js +24 -24
- package/dist/field/richtext/RichTextField.view.js +4 -4
- package/dist/field/richtext/RichTextInsertMenu.js +3 -3
- package/dist/index.css +21 -0
- package/dist/preview/PreviewMessage.d.ts +3 -0
- package/dist/preview/PreviewMessage.js +1 -0
- package/dist/preview/RegisterPreview.js +29 -9
- package/dist/preview/widget.js +6 -12
- package/dist/query.d.ts +7 -7
- package/package.json +1 -1
|
@@ -56,54 +56,54 @@ import { SidebarHeader } from "../ui/Sidebar.js";
|
|
|
56
56
|
|
|
57
57
|
// src/dashboard/app/pages/UsersPage.module.css
|
|
58
58
|
var UsersPage_default = {
|
|
59
|
-
"UsersPage-createButton": "alinea-UsersPage-createButton",
|
|
60
|
-
"UsersPageCreateButton": "alinea-UsersPage-createButton",
|
|
61
|
-
"UsersPage-noRoles": "alinea-UsersPage-noRoles",
|
|
62
|
-
"UsersPageNoRoles": "alinea-UsersPage-noRoles",
|
|
63
|
-
"UsersPageSidebar-item": "alinea-UsersPageSidebar-item",
|
|
64
|
-
"UsersPageSidebarItem": "alinea-UsersPageSidebar-item",
|
|
65
|
-
"UsersPage-identity-text": "alinea-UsersPage-identity-text",
|
|
66
|
-
"UsersPageIdentityText": "alinea-UsersPage-identity-text",
|
|
67
|
-
"UsersPageSidebar-footer": "alinea-UsersPageSidebar-footer",
|
|
68
|
-
"UsersPageSidebarFooter": "alinea-UsersPageSidebar-footer",
|
|
69
|
-
"UsersPage-header": "alinea-UsersPage-header",
|
|
70
|
-
"UsersPageHeader": "alinea-UsersPage-header",
|
|
71
|
-
"UsersPage-identity-email": "alinea-UsersPage-identity-email",
|
|
72
|
-
"UsersPageIdentityEmail": "alinea-UsersPage-identity-email",
|
|
73
|
-
"UsersPage-table": "alinea-UsersPage-table",
|
|
74
|
-
"UsersPageTable": "alinea-UsersPage-table",
|
|
75
|
-
"UsersPage-header-title": "alinea-UsersPage-header-title",
|
|
76
|
-
"UsersPageHeaderTitle": "alinea-UsersPage-header-title",
|
|
77
|
-
"UsersPage-content": "alinea-UsersPage-content",
|
|
78
|
-
"UsersPageContent": "alinea-UsersPage-content",
|
|
79
59
|
"UsersPage-empty": "alinea-UsersPage-empty",
|
|
80
60
|
"UsersPageEmpty": "alinea-UsersPage-empty",
|
|
81
|
-
"UsersPage-status": "alinea-UsersPage-status",
|
|
82
|
-
"UsersPageStatus": "alinea-UsersPage-status",
|
|
83
|
-
"UsersPage": "alinea-UsersPage",
|
|
84
|
-
"UsersPage-roles": "alinea-UsersPage-roles",
|
|
85
|
-
"UsersPageRoles": "alinea-UsersPage-roles",
|
|
86
|
-
"UsersPage-status-text": "alinea-UsersPage-status-text",
|
|
87
|
-
"UsersPageStatusText": "alinea-UsersPage-status-text",
|
|
88
|
-
"UsersPage-form-fields": "alinea-UsersPage-form-fields",
|
|
89
|
-
"UsersPageFormFields": "alinea-UsersPage-form-fields",
|
|
90
61
|
"UsersPage-identity": "alinea-UsersPage-identity",
|
|
91
62
|
"UsersPageIdentity": "alinea-UsersPage-identity",
|
|
63
|
+
"UsersPage-createButton": "alinea-UsersPage-createButton",
|
|
64
|
+
"UsersPageCreateButton": "alinea-UsersPage-createButton",
|
|
65
|
+
"UsersPage-status": "alinea-UsersPage-status",
|
|
66
|
+
"UsersPageStatus": "alinea-UsersPage-status",
|
|
67
|
+
"UsersPage-header": "alinea-UsersPage-header",
|
|
68
|
+
"UsersPageHeader": "alinea-UsersPage-header",
|
|
69
|
+
"UsersPage-confirmation": "alinea-UsersPage-confirmation",
|
|
70
|
+
"UsersPageConfirmation": "alinea-UsersPage-confirmation",
|
|
92
71
|
"UsersPage-identity-title": "alinea-UsersPage-identity-title",
|
|
93
72
|
"UsersPageIdentityTitle": "alinea-UsersPage-identity-title",
|
|
73
|
+
"UsersPage-status-text": "alinea-UsersPage-status-text",
|
|
74
|
+
"UsersPageStatusText": "alinea-UsersPage-status-text",
|
|
94
75
|
"UsersPage-rolesCell": "alinea-UsersPage-rolesCell",
|
|
95
76
|
"UsersPageRolesCell": "alinea-UsersPage-rolesCell",
|
|
96
|
-
"UsersPage
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
77
|
+
"UsersPage": "alinea-UsersPage",
|
|
78
|
+
"UsersPageSidebar-item": "alinea-UsersPageSidebar-item",
|
|
79
|
+
"UsersPageSidebarItem": "alinea-UsersPageSidebar-item",
|
|
80
|
+
"UsersPage-header-title": "alinea-UsersPage-header-title",
|
|
81
|
+
"UsersPageHeaderTitle": "alinea-UsersPage-header-title",
|
|
82
|
+
"UsersPage-noRoles": "alinea-UsersPage-noRoles",
|
|
83
|
+
"UsersPageNoRoles": "alinea-UsersPage-noRoles",
|
|
101
84
|
"UsersPageSidebar-nav": "alinea-UsersPageSidebar-nav",
|
|
102
85
|
"UsersPageSidebarNav": "alinea-UsersPageSidebar-nav",
|
|
86
|
+
"UsersPage-form-fields": "alinea-UsersPage-form-fields",
|
|
87
|
+
"UsersPageFormFields": "alinea-UsersPage-form-fields",
|
|
88
|
+
"UsersPage-form-error": "alinea-UsersPage-form-error",
|
|
89
|
+
"UsersPageFormError": "alinea-UsersPage-form-error",
|
|
103
90
|
"UsersPageSidebar-icon": "alinea-UsersPageSidebar-icon",
|
|
104
91
|
"UsersPageSidebarIcon": "alinea-UsersPageSidebar-icon",
|
|
92
|
+
"UsersPageSidebar-footer": "alinea-UsersPageSidebar-footer",
|
|
93
|
+
"UsersPageSidebarFooter": "alinea-UsersPageSidebar-footer",
|
|
94
|
+
"UsersPageSidebar": "alinea-UsersPageSidebar",
|
|
105
95
|
"UsersPage-search": "alinea-UsersPage-search",
|
|
106
|
-
"UsersPageSearch": "alinea-UsersPage-search"
|
|
96
|
+
"UsersPageSearch": "alinea-UsersPage-search",
|
|
97
|
+
"UsersPage-content": "alinea-UsersPage-content",
|
|
98
|
+
"UsersPageContent": "alinea-UsersPage-content",
|
|
99
|
+
"UsersPage-table": "alinea-UsersPage-table",
|
|
100
|
+
"UsersPageTable": "alinea-UsersPage-table",
|
|
101
|
+
"UsersPage-identity-text": "alinea-UsersPage-identity-text",
|
|
102
|
+
"UsersPageIdentityText": "alinea-UsersPage-identity-text",
|
|
103
|
+
"UsersPage-identity-email": "alinea-UsersPage-identity-email",
|
|
104
|
+
"UsersPageIdentityEmail": "alinea-UsersPage-identity-email",
|
|
105
|
+
"UsersPage-roles": "alinea-UsersPage-roles",
|
|
106
|
+
"UsersPageRoles": "alinea-UsersPage-roles"
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
// src/dashboard/app/pages/UsersPage.tsx
|
|
@@ -24,32 +24,32 @@ import { IcRoundClose } from "../../icons.js";
|
|
|
24
24
|
|
|
25
25
|
// src/dashboard/app/ui/DashboardModal.module.css
|
|
26
26
|
var DashboardModal_default = {
|
|
27
|
+
"DashboardModalFooter": "alinea-DashboardModalFooter",
|
|
27
28
|
"DashboardModalContent": "alinea-DashboardModalContent",
|
|
28
|
-
"is-explorer": "alinea-is-explorer",
|
|
29
|
-
"isExplorer": "alinea-is-explorer",
|
|
30
29
|
"DashboardModal": "alinea-DashboardModal",
|
|
30
|
+
"DashboardModalOverlay": "alinea-DashboardModalOverlay",
|
|
31
|
+
"DashboardModalFormHeader": "alinea-DashboardModalFormHeader",
|
|
32
|
+
"DashboardModalDialog": "alinea-DashboardModalDialog",
|
|
31
33
|
"DashboardModalDialog-header": "alinea-DashboardModalDialog-header",
|
|
32
34
|
"DashboardModalDialogHeader": "alinea-DashboardModalDialog-header",
|
|
33
|
-
"DashboardModalSeparator": "alinea-DashboardModalSeparator",
|
|
34
|
-
"DashboardModalFormFooter": "alinea-DashboardModalFormFooter",
|
|
35
|
-
"DashboardModalDialog": "alinea-DashboardModalDialog",
|
|
36
|
-
"DashboardModalForm": "alinea-DashboardModalForm",
|
|
37
|
-
"DashboardModalOverlay": "alinea-DashboardModalOverlay",
|
|
38
|
-
"DashboardModal-surface": "alinea-DashboardModal-surface",
|
|
39
|
-
"DashboardModalSurface": "alinea-DashboardModal-surface",
|
|
40
|
-
"DashboardModalCloseButton": "alinea-DashboardModalCloseButton",
|
|
41
|
-
"DashboardModalFooter": "alinea-DashboardModalFooter",
|
|
42
|
-
"DashboardModal-enter": "alinea-DashboardModal-enter",
|
|
43
|
-
"DashboardModalEnter": "alinea-DashboardModal-enter",
|
|
44
35
|
"DashboardModalDialog-controls": "alinea-DashboardModalDialog-controls",
|
|
45
36
|
"DashboardModalDialogControls": "alinea-DashboardModalDialog-controls",
|
|
37
|
+
"is-loading": "alinea-is-loading",
|
|
38
|
+
"isLoading": "alinea-is-loading",
|
|
39
|
+
"is-explorer": "alinea-is-explorer",
|
|
40
|
+
"isExplorer": "alinea-is-explorer",
|
|
41
|
+
"DashboardModal-enter": "alinea-DashboardModal-enter",
|
|
42
|
+
"DashboardModalEnter": "alinea-DashboardModal-enter",
|
|
43
|
+
"DashboardModalTitle": "alinea-DashboardModalTitle",
|
|
46
44
|
"DashboardModalFormBody": "alinea-DashboardModalFormBody",
|
|
47
45
|
"DashboardModalDialog-loader": "alinea-DashboardModalDialog-loader",
|
|
48
46
|
"DashboardModalDialogLoader": "alinea-DashboardModalDialog-loader",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
47
|
+
"DashboardModalSeparator": "alinea-DashboardModalSeparator",
|
|
48
|
+
"DashboardModal-surface": "alinea-DashboardModal-surface",
|
|
49
|
+
"DashboardModalSurface": "alinea-DashboardModal-surface",
|
|
50
|
+
"DashboardModalForm": "alinea-DashboardModalForm",
|
|
51
|
+
"DashboardModalCloseButton": "alinea-DashboardModalCloseButton",
|
|
52
|
+
"DashboardModalFormFooter": "alinea-DashboardModalFormFooter"
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
// src/dashboard/app/ui/DashboardModal.tsx
|
|
@@ -6,10 +6,10 @@ import "../../../chunks/chunk-CQ52GEHY.js";
|
|
|
6
6
|
// src/dashboard/app/ui/Rail.module.css
|
|
7
7
|
var Rail_default = {
|
|
8
8
|
"RailFooter": "alinea-RailFooter",
|
|
9
|
+
"RailHeader": "alinea-RailHeader",
|
|
10
|
+
"RailBody": "alinea-RailBody",
|
|
9
11
|
"is-main": "alinea-is-main",
|
|
10
12
|
"isMain": "alinea-is-main",
|
|
11
|
-
"RailBody": "alinea-RailBody",
|
|
12
|
-
"RailHeader": "alinea-RailHeader",
|
|
13
13
|
"Rail": "alinea-Rail",
|
|
14
14
|
"RailContent": "alinea-RailContent"
|
|
15
15
|
};
|
|
@@ -9,8 +9,8 @@ import { Rail, RailHeader } from "./Rail.js";
|
|
|
9
9
|
// src/dashboard/app/ui/Sidebar.module.css
|
|
10
10
|
var Sidebar_default = {
|
|
11
11
|
"SidebarHeader": "alinea-SidebarHeader",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
12
|
+
"Sidebar": "alinea-Sidebar",
|
|
13
|
+
"SidebarBody": "alinea-SidebarBody"
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
// src/dashboard/app/ui/Sidebar.tsx
|
|
@@ -9,9 +9,9 @@ import { useField, useFieldError, useFieldOptions } from "alinea/dashboard/hooks
|
|
|
9
9
|
|
|
10
10
|
// src/field/check/CheckField.module.css
|
|
11
11
|
var CheckField_default = {
|
|
12
|
-
"checkline": "alinea-checkline",
|
|
13
12
|
"checkline-required": "alinea-checkline-required",
|
|
14
|
-
"checklineRequired": "alinea-checkline-required"
|
|
13
|
+
"checklineRequired": "alinea-checkline-required",
|
|
14
|
+
"checkline": "alinea-checkline"
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
// src/field/check/CheckField.view.tsx
|
|
@@ -64,27 +64,27 @@ import { Fragment, useId } from "react";
|
|
|
64
64
|
|
|
65
65
|
// src/field/code/CodeField.module.css
|
|
66
66
|
var CodeField_default = {
|
|
67
|
-
"CodeEditorInput": "alinea-CodeEditorInput",
|
|
68
67
|
"CodeEditorInput-pre": "alinea-CodeEditorInput-pre",
|
|
69
68
|
"CodeEditorInputPre": "alinea-CodeEditorInput-pre",
|
|
70
|
-
"CodeEditorInput-
|
|
71
|
-
"
|
|
69
|
+
"CodeEditorInput-textarea": "alinea-CodeEditorInput-textarea",
|
|
70
|
+
"CodeEditorInputTextarea": "alinea-CodeEditorInput-textarea",
|
|
71
|
+
"CodeEditorInput-identifier": "alinea-CodeEditorInput-identifier",
|
|
72
|
+
"CodeEditorInputIdentifier": "alinea-CodeEditorInput-identifier",
|
|
73
|
+
"CodeEditorInput-editor": "alinea-CodeEditorInput-editor",
|
|
74
|
+
"CodeEditorInputEditor": "alinea-CodeEditorInput-editor",
|
|
75
|
+
"CodeEditorInput-punctuation": "alinea-CodeEditorInput-punctuation",
|
|
76
|
+
"CodeEditorInputPunctuation": "alinea-CodeEditorInput-punctuation",
|
|
72
77
|
"CodeEditorInput-string": "alinea-CodeEditorInput-string",
|
|
73
78
|
"CodeEditorInputString": "alinea-CodeEditorInput-string",
|
|
79
|
+
"CodeEditorInput": "alinea-CodeEditorInput",
|
|
74
80
|
"CodeEditorInput-number": "alinea-CodeEditorInput-number",
|
|
75
81
|
"CodeEditorInputNumber": "alinea-CodeEditorInput-number",
|
|
76
|
-
"CodeEditorInput-editor": "alinea-CodeEditorInput-editor",
|
|
77
|
-
"CodeEditorInputEditor": "alinea-CodeEditorInput-editor",
|
|
78
82
|
"CodeEditorInput-regex": "alinea-CodeEditorInput-regex",
|
|
79
83
|
"CodeEditorInputRegex": "alinea-CodeEditorInput-regex",
|
|
80
|
-
"CodeEditorInput-punctuation": "alinea-CodeEditorInput-punctuation",
|
|
81
|
-
"CodeEditorInputPunctuation": "alinea-CodeEditorInput-punctuation",
|
|
82
84
|
"CodeEditorInput-comment": "alinea-CodeEditorInput-comment",
|
|
83
85
|
"CodeEditorInputComment": "alinea-CodeEditorInput-comment",
|
|
84
|
-
"CodeEditorInput-
|
|
85
|
-
"
|
|
86
|
-
"CodeEditorInput-textarea": "alinea-CodeEditorInput-textarea",
|
|
87
|
-
"CodeEditorInputTextarea": "alinea-CodeEditorInput-textarea"
|
|
86
|
+
"CodeEditorInput-keyword": "alinea-CodeEditorInput-keyword",
|
|
87
|
+
"CodeEditorInputKeyword": "alinea-CodeEditorInput-keyword"
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
// src/field/code/CodeField.view.tsx
|
|
@@ -30,7 +30,7 @@ export declare namespace entry {
|
|
|
30
30
|
type EntryRow<Fields> = EntryLink<Type.Infer<Fields>> & ListRow;
|
|
31
31
|
interface EntryOptions<Fields> extends LinkFieldOptions<Array<EntryReference & ListRow & InferStoredValue<Fields>>>, Omit<EntryPickerOptions<Fields>, 'label' | 'selection'> {
|
|
32
32
|
}
|
|
33
|
-
export function multiple<Fields = undefined>(label: Label, options?: WithoutLabel<EntryOptions<Fields>>): import("alinea/field/link/LinkField").LinksField<EntryReference & ListRow
|
|
33
|
+
export function multiple<Fields = undefined>(label: Label, options?: WithoutLabel<EntryOptions<Fields>>): import("alinea/field/link/LinkField").LinksField<EntryReference & ListRow & InferStoredValue<Fields>, EntryRow<Fields>>;
|
|
34
34
|
export {};
|
|
35
35
|
}
|
|
36
36
|
export {};
|
package/dist/field/link/Link.js
CHANGED
|
@@ -8,6 +8,11 @@ import { ListRow } from 'alinea/core/ListRow';
|
|
|
8
8
|
import type { ReactNode } from 'react';
|
|
9
9
|
/** Optional settings to configure a link field */
|
|
10
10
|
export interface LinkFieldOptions<Value> extends FieldOptions<Value> {
|
|
11
|
+
/**
|
|
12
|
+
* Allow the same entry to be linked more than once.
|
|
13
|
+
* Defaults to false for entry fields and true for generic link fields.
|
|
14
|
+
*/
|
|
15
|
+
allowDuplicates?: boolean;
|
|
11
16
|
/** Width of the field in the dashboard UI (0-1) */
|
|
12
17
|
width?: number;
|
|
13
18
|
/** Add instructional text to a field */
|
|
@@ -89,56 +89,56 @@ import { Fragment, useMemo, useRef, useState } from "react";
|
|
|
89
89
|
|
|
90
90
|
// src/field/link/LinkField.module.css
|
|
91
91
|
var LinkField_default = {
|
|
92
|
-
"LinkFieldView-anchorOption-location": "alinea-LinkFieldView-anchorOption-location",
|
|
93
|
-
"LinkFieldViewAnchorOptionLocation": "alinea-LinkFieldView-anchorOption-location",
|
|
94
92
|
"is-loading": "alinea-is-loading",
|
|
95
93
|
"isLoading": "alinea-is-loading",
|
|
96
|
-
"LinkFieldView-
|
|
97
|
-
"
|
|
98
|
-
"LinkFieldView-
|
|
99
|
-
"
|
|
100
|
-
"LinkFieldView-title": "alinea-LinkFieldView-title",
|
|
101
|
-
"LinkFieldViewTitle": "alinea-LinkFieldView-title",
|
|
94
|
+
"LinkFieldView-metaLabel": "alinea-LinkFieldView-metaLabel",
|
|
95
|
+
"LinkFieldViewMetaLabel": "alinea-LinkFieldView-metaLabel",
|
|
96
|
+
"LinkFieldView-previewImage": "alinea-LinkFieldView-previewImage",
|
|
97
|
+
"LinkFieldViewPreviewImage": "alinea-LinkFieldView-previewImage",
|
|
102
98
|
"LinkFieldView-anchorOption-label": "alinea-LinkFieldView-anchorOption-label",
|
|
103
99
|
"LinkFieldViewAnchorOptionLabel": "alinea-LinkFieldView-anchorOption-label",
|
|
104
|
-
"LinkFieldView-
|
|
105
|
-
"
|
|
100
|
+
"LinkFieldView-anchorOption-location": "alinea-LinkFieldView-anchorOption-location",
|
|
101
|
+
"LinkFieldViewAnchorOptionLocation": "alinea-LinkFieldView-anchorOption-location",
|
|
106
102
|
"LinkFieldView-label": "alinea-LinkFieldView-label",
|
|
107
103
|
"LinkFieldViewLabel": "alinea-LinkFieldView-label",
|
|
108
|
-
"
|
|
109
|
-
"
|
|
104
|
+
"is-missing": "alinea-is-missing",
|
|
105
|
+
"isMissing": "alinea-is-missing",
|
|
110
106
|
"is-wide": "alinea-is-wide",
|
|
111
107
|
"isWide": "alinea-is-wide",
|
|
108
|
+
"LinkFieldView-labelText": "alinea-LinkFieldView-labelText",
|
|
109
|
+
"LinkFieldViewLabelText": "alinea-LinkFieldView-labelText",
|
|
110
|
+
"LinkFieldView-imagePlaceholder": "alinea-LinkFieldView-imagePlaceholder",
|
|
111
|
+
"LinkFieldViewImagePlaceholder": "alinea-LinkFieldView-imagePlaceholder",
|
|
112
|
+
"LinkFieldView-icon": "alinea-LinkFieldView-icon",
|
|
113
|
+
"LinkFieldViewIcon": "alinea-LinkFieldView-icon",
|
|
114
|
+
"LinkFieldView-title": "alinea-LinkFieldView-title",
|
|
115
|
+
"LinkFieldViewTitle": "alinea-LinkFieldView-title",
|
|
116
|
+
"LinkFieldView-rowAction": "alinea-LinkFieldView-rowAction",
|
|
117
|
+
"LinkFieldViewRowAction": "alinea-LinkFieldView-rowAction",
|
|
118
|
+
"LinkFieldView-dropIndicator": "alinea-LinkFieldView-dropIndicator",
|
|
119
|
+
"LinkFieldViewDropIndicator": "alinea-LinkFieldView-dropIndicator",
|
|
112
120
|
"LinkFieldView-create": "alinea-LinkFieldView-create",
|
|
113
121
|
"LinkFieldViewCreate": "alinea-LinkFieldView-create",
|
|
114
|
-
"LinkFieldView-
|
|
115
|
-
"
|
|
122
|
+
"LinkFieldView-anchorOption": "alinea-LinkFieldView-anchorOption",
|
|
123
|
+
"LinkFieldViewAnchorOption": "alinea-LinkFieldView-anchorOption",
|
|
124
|
+
"LinkFieldView-rowDropTarget": "alinea-LinkFieldView-rowDropTarget",
|
|
125
|
+
"LinkFieldViewRowDropTarget": "alinea-LinkFieldView-rowDropTarget",
|
|
126
|
+
"LinkFieldView-meta": "alinea-LinkFieldView-meta",
|
|
127
|
+
"LinkFieldViewMeta": "alinea-LinkFieldView-meta",
|
|
116
128
|
"LinkFieldView-type": "alinea-LinkFieldView-type",
|
|
117
129
|
"LinkFieldViewType": "alinea-LinkFieldView-type",
|
|
118
|
-
"LinkFieldView-dropIndicator": "alinea-LinkFieldView-dropIndicator",
|
|
119
|
-
"LinkFieldViewDropIndicator": "alinea-LinkFieldView-dropIndicator",
|
|
120
|
-
"is-missing": "alinea-is-missing",
|
|
121
|
-
"isMissing": "alinea-is-missing",
|
|
122
130
|
"LinkFieldView-image": "alinea-LinkFieldView-image",
|
|
123
131
|
"LinkFieldViewImage": "alinea-LinkFieldView-image",
|
|
124
|
-
"LinkFieldView-skeleton
|
|
125
|
-
"
|
|
126
|
-
"LinkFieldView-
|
|
127
|
-
"
|
|
132
|
+
"LinkFieldView-skeleton": "alinea-LinkFieldView-skeleton",
|
|
133
|
+
"LinkFieldViewSkeleton": "alinea-LinkFieldView-skeleton",
|
|
134
|
+
"LinkFieldView-createButton": "alinea-LinkFieldView-createButton",
|
|
135
|
+
"LinkFieldViewCreateButton": "alinea-LinkFieldView-createButton",
|
|
136
|
+
"LinkFieldView-inputHeader": "alinea-LinkFieldView-inputHeader",
|
|
137
|
+
"LinkFieldViewInputHeader": "alinea-LinkFieldView-inputHeader",
|
|
128
138
|
"LinkFieldView-previewImagePlaceholder": "alinea-LinkFieldView-previewImagePlaceholder",
|
|
129
139
|
"LinkFieldViewPreviewImagePlaceholder": "alinea-LinkFieldView-previewImagePlaceholder",
|
|
130
|
-
"LinkFieldView-
|
|
131
|
-
"
|
|
132
|
-
"LinkFieldView-imagePlaceholder": "alinea-LinkFieldView-imagePlaceholder",
|
|
133
|
-
"LinkFieldViewImagePlaceholder": "alinea-LinkFieldView-imagePlaceholder",
|
|
134
|
-
"LinkFieldView-anchorOption": "alinea-LinkFieldView-anchorOption",
|
|
135
|
-
"LinkFieldViewAnchorOption": "alinea-LinkFieldView-anchorOption",
|
|
136
|
-
"LinkFieldView-rowDropTarget": "alinea-LinkFieldView-rowDropTarget",
|
|
137
|
-
"LinkFieldViewRowDropTarget": "alinea-LinkFieldView-rowDropTarget",
|
|
138
|
-
"LinkFieldView-metaLabel": "alinea-LinkFieldView-metaLabel",
|
|
139
|
-
"LinkFieldViewMetaLabel": "alinea-LinkFieldView-metaLabel",
|
|
140
|
-
"LinkFieldView-rowAction": "alinea-LinkFieldView-rowAction",
|
|
141
|
-
"LinkFieldViewRowAction": "alinea-LinkFieldView-rowAction"
|
|
140
|
+
"LinkFieldView-skeleton-pulse": "alinea-LinkFieldView-skeleton-pulse",
|
|
141
|
+
"LinkFieldViewSkeletonPulse": "alinea-LinkFieldView-skeleton-pulse"
|
|
142
142
|
};
|
|
143
143
|
|
|
144
144
|
// src/field/link/LinkField.view.tsx
|
|
@@ -337,6 +337,7 @@ function initialFields(picker) {
|
|
|
337
337
|
return Type.initialValue(picker.fields);
|
|
338
338
|
}
|
|
339
339
|
function LinkPickerAction({
|
|
340
|
+
allowDuplicates = false,
|
|
340
341
|
anchorRef,
|
|
341
342
|
ariaLabel,
|
|
342
343
|
buttonAppearance = "plain",
|
|
@@ -397,8 +398,10 @@ function LinkPickerAction({
|
|
|
397
398
|
const location = childLocation ?? resolved.location ?? fallbackLocation;
|
|
398
399
|
const condition = resolved.condition;
|
|
399
400
|
const handlesMultiple = Boolean(onPickMany && picker.handlesMultiple);
|
|
401
|
+
const selectsMultiple = handlesMultiple && !allowDuplicates;
|
|
400
402
|
const pickerProps = {
|
|
401
403
|
condition,
|
|
404
|
+
enableNavigation: options.enableNavigation,
|
|
402
405
|
initialView: type === "file" || type === "image" ? "card" : void 0,
|
|
403
406
|
initialResultMode: entryPickerResultMode(
|
|
404
407
|
type,
|
|
@@ -416,13 +419,14 @@ function LinkPickerAction({
|
|
|
416
419
|
limitLocations: options.limitLocations,
|
|
417
420
|
nestedNavigation: !pickingChildren,
|
|
418
421
|
pickChildren: pickingChildren,
|
|
419
|
-
preselect:
|
|
420
|
-
selectionMode:
|
|
421
|
-
selectionBehavior:
|
|
422
|
+
preselect: selectsMultiple,
|
|
423
|
+
selectionMode: selectsMultiple ? "multiple" : "single",
|
|
424
|
+
selectionBehavior: selectsMultiple ? "toggle" : "replace",
|
|
422
425
|
initialSelection: initialSelection(value, selection),
|
|
423
|
-
onConfirm(
|
|
424
|
-
const
|
|
425
|
-
|
|
426
|
+
onConfirm(entryIds) {
|
|
427
|
+
const existing = allowDuplicates ? [] : selection;
|
|
428
|
+
const links = entryIds.map(
|
|
429
|
+
(entryId) => existing?.find((row) => "_entry" in row && row._entry === entryId) ?? createEntryLink(type, entryId, picker)
|
|
426
430
|
);
|
|
427
431
|
if (onPickMany) return onPickMany(links);
|
|
428
432
|
const [link] = links;
|
|
@@ -517,6 +521,7 @@ function LinkPickerDialog({
|
|
|
517
521
|
const handlesMultiple = Boolean(onPickMany && picker.handlesMultiple);
|
|
518
522
|
const pickerProps = {
|
|
519
523
|
condition,
|
|
524
|
+
enableNavigation: options.enableNavigation,
|
|
520
525
|
initialView: type === "file" || type === "image" ? "card" : void 0,
|
|
521
526
|
initialResultMode: entryPickerResultMode(
|
|
522
527
|
type,
|
|
@@ -683,13 +688,25 @@ function MultipleLinkCreateActions({ field }) {
|
|
|
683
688
|
return /* @__PURE__ */ jsx("div", { className: styles.LinkFieldView.create(), ref: anchorRef, children: Object.entries(options.pickers).map(([type, picker]) => /* @__PURE__ */ jsxs(
|
|
684
689
|
LinkPickerAction,
|
|
685
690
|
{
|
|
691
|
+
allowDuplicates: options.allowDuplicates,
|
|
686
692
|
anchorRef,
|
|
687
693
|
buttonSize: "small",
|
|
688
694
|
className: styles.LinkFieldView.createButton(),
|
|
689
695
|
onPick: (link) => {
|
|
690
696
|
setValue((links2) => [...links2 ?? [], link]);
|
|
691
697
|
},
|
|
692
|
-
onPickMany: (picked) => setValue((
|
|
698
|
+
onPickMany: (picked) => setValue((value2) => {
|
|
699
|
+
const current = value2 ?? [];
|
|
700
|
+
if (options.allowDuplicates) return [...current, ...picked];
|
|
701
|
+
const pickedIds = new Set(picked.map((row) => row._id));
|
|
702
|
+
const currentIds = new Set(current.map((row) => row._id));
|
|
703
|
+
return [
|
|
704
|
+
...current.filter(
|
|
705
|
+
(row) => row._type !== type || pickedIds.has(row._id)
|
|
706
|
+
),
|
|
707
|
+
...picked.filter((row) => !currentIds.has(row._id))
|
|
708
|
+
];
|
|
709
|
+
}),
|
|
693
710
|
picker,
|
|
694
711
|
selection: links.filter((row) => row._type === type),
|
|
695
712
|
type,
|
|
@@ -94,29 +94,29 @@ import {
|
|
|
94
94
|
|
|
95
95
|
// src/field/list/ListField.module.css
|
|
96
96
|
var ListField_default = {
|
|
97
|
-
"ListFieldTypePicker-item": "alinea-ListFieldTypePicker-item",
|
|
98
|
-
"ListFieldTypePickerItem": "alinea-ListFieldTypePicker-item",
|
|
99
|
-
"ListFieldView-insertAction": "alinea-ListFieldView-insertAction",
|
|
100
|
-
"ListFieldViewInsertAction": "alinea-ListFieldView-insertAction",
|
|
101
|
-
"ListFieldTypePicker-list": "alinea-ListFieldTypePicker-list",
|
|
102
|
-
"ListFieldTypePickerList": "alinea-ListFieldTypePicker-list",
|
|
103
|
-
"ListFieldView-dropIndicator": "alinea-ListFieldView-dropIndicator",
|
|
104
|
-
"ListFieldViewDropIndicator": "alinea-ListFieldView-dropIndicator",
|
|
105
97
|
"ListFieldCreateActions-button": "alinea-ListFieldCreateActions-button",
|
|
106
98
|
"ListFieldCreateActionsButton": "alinea-ListFieldCreateActions-button",
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
99
|
+
"ListFieldTypePicker-search": "alinea-ListFieldTypePicker-search",
|
|
100
|
+
"ListFieldTypePickerSearch": "alinea-ListFieldTypePicker-search",
|
|
101
|
+
"ListFieldView-insertAction": "alinea-ListFieldView-insertAction",
|
|
102
|
+
"ListFieldViewInsertAction": "alinea-ListFieldView-insertAction",
|
|
111
103
|
"ListFieldTypePicker-popover": "alinea-ListFieldTypePicker-popover",
|
|
112
104
|
"ListFieldTypePickerPopover": "alinea-ListFieldTypePicker-popover",
|
|
113
105
|
"ListFieldTypePicker-trigger": "alinea-ListFieldTypePicker-trigger",
|
|
114
106
|
"ListFieldTypePickerTrigger": "alinea-ListFieldTypePicker-trigger",
|
|
115
107
|
"ListFieldCreateActions": "alinea-ListFieldCreateActions",
|
|
108
|
+
"ListFieldTypePicker-empty": "alinea-ListFieldTypePicker-empty",
|
|
109
|
+
"ListFieldTypePickerEmpty": "alinea-ListFieldTypePicker-empty",
|
|
116
110
|
"ListFieldTypePicker-dialog": "alinea-ListFieldTypePicker-dialog",
|
|
117
111
|
"ListFieldTypePickerDialog": "alinea-ListFieldTypePicker-dialog",
|
|
118
|
-
"
|
|
119
|
-
"
|
|
112
|
+
"ListFieldView-dropIndicator": "alinea-ListFieldView-dropIndicator",
|
|
113
|
+
"ListFieldViewDropIndicator": "alinea-ListFieldView-dropIndicator",
|
|
114
|
+
"ListFieldTypePicker-list": "alinea-ListFieldTypePicker-list",
|
|
115
|
+
"ListFieldTypePickerList": "alinea-ListFieldTypePicker-list",
|
|
116
|
+
"ListFieldTypePicker-item": "alinea-ListFieldTypePicker-item",
|
|
117
|
+
"ListFieldTypePickerItem": "alinea-ListFieldTypePicker-item",
|
|
118
|
+
"ListFieldView-rowDropTarget": "alinea-ListFieldView-rowDropTarget",
|
|
119
|
+
"ListFieldViewRowDropTarget": "alinea-ListFieldView-rowDropTarget"
|
|
120
120
|
};
|
|
121
121
|
|
|
122
122
|
// src/field/list/ListField.view.tsx
|
|
@@ -50,6 +50,8 @@ export declare class MetadataField extends RecordField<Metadata, {
|
|
|
50
50
|
fields: Type<MetadataFields>;
|
|
51
51
|
}> {
|
|
52
52
|
}
|
|
53
|
+
export interface MetadataField extends MetadataFields {
|
|
54
|
+
}
|
|
53
55
|
export declare class MetadataTimestampField extends ScalarField<number | null, MetadataTimestampOptions> {
|
|
54
56
|
}
|
|
55
57
|
export declare class MetadataUserField extends ScalarField<MetadataAuditUser, MetadataUserOptions> {
|
|
@@ -51,7 +51,7 @@ function metadata(label = "Metadata") {
|
|
|
51
51
|
updatedBy: user("Updated by")
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
|
|
54
|
+
const result = new MetadataField(fields, {
|
|
55
55
|
options: {
|
|
56
56
|
label,
|
|
57
57
|
fields
|
|
@@ -73,6 +73,7 @@ function metadata(label = "Metadata") {
|
|
|
73
73
|
);
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
|
+
return Object.assign(result, fields);
|
|
76
77
|
}
|
|
77
78
|
function timestamp(label) {
|
|
78
79
|
return new MetadataTimestampField({
|
|
@@ -17,34 +17,34 @@ import { IcRoundPublic } from "alinea/dashboard/icons";
|
|
|
17
17
|
|
|
18
18
|
// src/field/metadata/MetadataField.module.css
|
|
19
19
|
var MetadataField_default = {
|
|
20
|
-
"OpenGraphPreview-site": "alinea-OpenGraphPreview-site",
|
|
21
|
-
"OpenGraphPreviewSite": "alinea-OpenGraphPreview-site",
|
|
22
|
-
"SearchEnginePreview-description": "alinea-SearchEnginePreview-description",
|
|
23
|
-
"SearchEnginePreviewDescription": "alinea-SearchEnginePreview-description",
|
|
24
20
|
"SearchEnginePreview-og-label-small": "alinea-SearchEnginePreview-og-label-small",
|
|
25
21
|
"SearchEnginePreviewOgLabelSmall": "alinea-SearchEnginePreview-og-label-small",
|
|
26
|
-
"OpenGraphPreview": "alinea-OpenGraphPreview",
|
|
27
|
-
"SearchEnginePreview-og-label": "alinea-SearchEnginePreview-og-label",
|
|
28
|
-
"SearchEnginePreviewOgLabel": "alinea-SearchEnginePreview-og-label",
|
|
29
22
|
"MetadataUserFieldView-person": "alinea-MetadataUserFieldView-person",
|
|
30
23
|
"MetadataUserFieldViewPerson": "alinea-MetadataUserFieldView-person",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"OpenGraphPreview-content": "alinea-OpenGraphPreview-content",
|
|
34
|
-
"OpenGraphPreviewContent": "alinea-OpenGraphPreview-content",
|
|
35
|
-
"OpenGraphPreview-image": "alinea-OpenGraphPreview-image",
|
|
36
|
-
"OpenGraphPreviewImage": "alinea-OpenGraphPreview-image",
|
|
37
|
-
"MetadataUserFieldView-contact": "alinea-MetadataUserFieldView-contact",
|
|
38
|
-
"MetadataUserFieldViewContact": "alinea-MetadataUserFieldView-contact",
|
|
39
|
-
"MetadataUserFieldView": "alinea-MetadataUserFieldView",
|
|
40
|
-
"OpenGraphPreview-title": "alinea-OpenGraphPreview-title",
|
|
41
|
-
"OpenGraphPreviewTitle": "alinea-OpenGraphPreview-title",
|
|
24
|
+
"SearchEnginePreview-og-label": "alinea-SearchEnginePreview-og-label",
|
|
25
|
+
"SearchEnginePreviewOgLabel": "alinea-SearchEnginePreview-og-label",
|
|
42
26
|
"SearchEnginePreview-link": "alinea-SearchEnginePreview-link",
|
|
43
27
|
"SearchEnginePreviewLink": "alinea-SearchEnginePreview-link",
|
|
28
|
+
"OpenGraphPreview": "alinea-OpenGraphPreview",
|
|
29
|
+
"MetadataUserFieldView-contact": "alinea-MetadataUserFieldView-contact",
|
|
30
|
+
"MetadataUserFieldViewContact": "alinea-MetadataUserFieldView-contact",
|
|
44
31
|
"SearchEnginePreview": "alinea-SearchEnginePreview",
|
|
45
32
|
"SearchEnginePreview-og": "alinea-SearchEnginePreview-og",
|
|
46
33
|
"SearchEnginePreviewOg": "alinea-SearchEnginePreview-og",
|
|
47
|
-
"
|
|
34
|
+
"OpenGraphPreview-title": "alinea-OpenGraphPreview-title",
|
|
35
|
+
"OpenGraphPreviewTitle": "alinea-OpenGraphPreview-title",
|
|
36
|
+
"MetadataUserFieldView": "alinea-MetadataUserFieldView",
|
|
37
|
+
"OpenGraphPreview-image": "alinea-OpenGraphPreview-image",
|
|
38
|
+
"OpenGraphPreviewImage": "alinea-OpenGraphPreview-image",
|
|
39
|
+
"SearchEnginePreview-description": "alinea-SearchEnginePreview-description",
|
|
40
|
+
"SearchEnginePreviewDescription": "alinea-SearchEnginePreview-description",
|
|
41
|
+
"MetadataTimestampFieldView": "alinea-MetadataTimestampFieldView",
|
|
42
|
+
"OpenGraphPreview-content": "alinea-OpenGraphPreview-content",
|
|
43
|
+
"OpenGraphPreviewContent": "alinea-OpenGraphPreview-content",
|
|
44
|
+
"OpenGraphPreview-description": "alinea-OpenGraphPreview-description",
|
|
45
|
+
"OpenGraphPreviewDescription": "alinea-OpenGraphPreview-description",
|
|
46
|
+
"OpenGraphPreview-site": "alinea-OpenGraphPreview-site",
|
|
47
|
+
"OpenGraphPreviewSite": "alinea-OpenGraphPreview-site"
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
// src/field/metadata/MetadataField.view.tsx
|
|
@@ -37,9 +37,9 @@ import { memo, useMemo, useState } from "react";
|
|
|
37
37
|
|
|
38
38
|
// src/field/richtext/RichTextBlock.module.css
|
|
39
39
|
var RichTextBlock_default = {
|
|
40
|
+
"RichTextBlock": "alinea-RichTextBlock",
|
|
40
41
|
"RichTextBlock-dragHandle": "alinea-RichTextBlock-dragHandle",
|
|
41
|
-
"RichTextBlockDragHandle": "alinea-RichTextBlock-dragHandle"
|
|
42
|
-
"RichTextBlock": "alinea-RichTextBlock"
|
|
42
|
+
"RichTextBlockDragHandle": "alinea-RichTextBlock-dragHandle"
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
// src/field/richtext/RichTextBlock.tsx
|