@book.dev/ui 1.60.0 → 1.64.0
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/{EmojiGrid-xK5mPJPo.js → EmojiGrid-THzuvC4K.js} +75 -84
- package/dist/blockeditor/BlockEditor.d.ts +16 -0
- package/dist/blockeditor/EmojiMenu.d.ts +17 -0
- package/dist/blockeditor/__tests__/EmojiMenu.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/readOnly.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/titleHandoff.test.d.ts +1 -0
- package/dist/blockeditor/__tests__/triggerMenus.test.d.ts +1 -0
- package/dist/blockeditor/kit/KitFrame.d.ts +5 -0
- package/dist/blockeditor/kit/lock.d.ts +14 -0
- package/dist/components/LastEditedBy.d.ts +11 -0
- package/dist/components/OnboardingNudge.d.ts +11 -0
- package/dist/components/ShareDialog.d.ts +25 -0
- package/dist/components/__tests__/lastEditedBy.test.d.ts +1 -0
- package/dist/components/__tests__/membersSettings.test.d.ts +1 -0
- package/dist/components/__tests__/sharingSettings.test.d.ts +1 -0
- package/dist/components/settings/AccountSettings.d.ts +4 -0
- package/dist/components/settings/AccountSwitcher.d.ts +12 -0
- package/dist/components/settings/MembersSettings.d.ts +1 -0
- package/dist/components/settings/SharingSettings.d.ts +9 -0
- package/dist/emoji-Bmft6RPl.js +11 -0
- package/dist/{format-CLQoRoYP.js → format-D9FO3jG9.js} +114 -114
- package/dist/i18n/messages/en.d.ts +169 -0
- package/dist/index.js +7238 -5976
- package/dist/lib/__tests__/useCanWrite.test.d.ts +1 -0
- package/dist/lib/hud.d.ts +2 -2
- package/dist/lib/sidebarStyles.d.ts +7 -0
- package/dist/lib/useCanWrite.d.ts +45 -0
- package/dist/{lucideIcons-B6pmC-WQ.js → lucideIcons-Dv5yzk2L.js} +1916 -1016
- package/dist/providers/AccountProvider.d.ts +47 -7
- package/dist/providers/ForwardingProvider.d.ts +19 -0
- package/dist/providers/PlatformLibraryProvider.d.ts +20 -0
- package/dist/providers/__tests__/AccountProvider.test.d.ts +1 -0
- package/dist/providers/__tests__/forwardingAudience.test.d.ts +9 -0
- package/dist/providers/forwardingAudience.d.ts +165 -0
- package/dist/screens/pageChrome.d.ts +11 -0
- package/dist/style.css +1 -1
- package/dist/{toHtml-BoPr8Ce4.js → toHtml-DeWpCU0o.js} +2 -2
- package/package.json +7 -2
|
@@ -36,6 +36,7 @@ export declare const en: {
|
|
|
36
36
|
readonly signin: "Sign-in & email";
|
|
37
37
|
readonly support: "Support OpenBook";
|
|
38
38
|
readonly connection: "Connection";
|
|
39
|
+
readonly members: "Members";
|
|
39
40
|
readonly integrations: "Integrations";
|
|
40
41
|
readonly extensions: "Extensions";
|
|
41
42
|
readonly ai: "AI";
|
|
@@ -167,6 +168,51 @@ export declare const en: {
|
|
|
167
168
|
readonly linkToPage: "Link to page";
|
|
168
169
|
};
|
|
169
170
|
};
|
|
171
|
+
readonly share: {
|
|
172
|
+
readonly open: "Share";
|
|
173
|
+
readonly title: "Share this page";
|
|
174
|
+
readonly description: "Choose who can access this page, and invite people to view or edit it.";
|
|
175
|
+
readonly loadError: "Couldn’t load sharing settings for this page.";
|
|
176
|
+
readonly unclaimedNotice: "Sharing takes effect once you claim this instance. Until then, anyone who can reach it can view and edit — these settings are saved but not yet enforced.";
|
|
177
|
+
readonly enforcementCaveat: "People you invite may not be able to open this page through its published book.pub link yet — that’s rolling out. Direct access is already limited as set here.";
|
|
178
|
+
readonly scopeLabel: "Who can access";
|
|
179
|
+
readonly scope: {
|
|
180
|
+
readonly inherit: "Workspace default";
|
|
181
|
+
readonly inheritHint: "Follows the workspace’s default access setting.";
|
|
182
|
+
readonly public: "Anyone with the link";
|
|
183
|
+
readonly publicHint: "Visible to anyone, including people who aren’t signed in.";
|
|
184
|
+
readonly authenticated: "Anyone signed in";
|
|
185
|
+
readonly authenticatedHint: "Limits viewing to people who are signed in.";
|
|
186
|
+
readonly members: "Workspace members";
|
|
187
|
+
readonly membersHint: "Limits viewing to members of this workspace.";
|
|
188
|
+
readonly restricted: "Only people invited";
|
|
189
|
+
readonly restrictedHint: "Limits access to you and the people you invite below.";
|
|
190
|
+
};
|
|
191
|
+
readonly addLabel: "Invite people";
|
|
192
|
+
readonly addPlaceholder: "Email or handle";
|
|
193
|
+
readonly levelLabel: "Access level";
|
|
194
|
+
readonly levelRead: "Can view";
|
|
195
|
+
readonly levelWrite: "Can edit";
|
|
196
|
+
readonly peopleLabel: "People with access";
|
|
197
|
+
readonly loadingPeople: "Loading people…";
|
|
198
|
+
readonly noPeople: "No one’s been invited yet.";
|
|
199
|
+
readonly remove: "Remove {name}";
|
|
200
|
+
readonly linkHints: {
|
|
201
|
+
readonly inherit: "People with workspace access can open this link.";
|
|
202
|
+
readonly public: "Anyone with the link can open this page.";
|
|
203
|
+
readonly authenticated: "Anyone signed in who opens this link can view this page.";
|
|
204
|
+
readonly members: "Only workspace members who open this link can view this page.";
|
|
205
|
+
readonly restricted: "Only the people you invite can open this link.";
|
|
206
|
+
};
|
|
207
|
+
readonly copyLink: "Copy link";
|
|
208
|
+
readonly copied: "Copied";
|
|
209
|
+
readonly error: {
|
|
210
|
+
readonly network: "Couldn’t reach the server. Check your connection and try again.";
|
|
211
|
+
readonly forbidden: "You don’t have permission to change sharing for this page.";
|
|
212
|
+
readonly notFound: "This page no longer exists.";
|
|
213
|
+
readonly generic: "Something went wrong. Please try again.";
|
|
214
|
+
};
|
|
215
|
+
};
|
|
170
216
|
readonly command: {
|
|
171
217
|
readonly title: "Command palette";
|
|
172
218
|
readonly placeholder: "Search pages or run a command…";
|
|
@@ -342,6 +388,36 @@ export declare const en: {
|
|
|
342
388
|
readonly confirmBodyNone: "No existing pages match — these will be added as new pages.";
|
|
343
389
|
readonly confirmOverwrite: "Overwrite";
|
|
344
390
|
};
|
|
391
|
+
readonly schedule: {
|
|
392
|
+
readonly heading: "Scheduled backups";
|
|
393
|
+
readonly intro: "Automatic snapshots on a rolling schedule — kept alongside your manual exports, with older ones pruned for you.";
|
|
394
|
+
readonly webOnly: "Scheduled backups run in the desktop app or on a connected server. In the browser, use Export above to save a copy.";
|
|
395
|
+
readonly enable: "Enable scheduled backups";
|
|
396
|
+
readonly enableHint: "When on, OpenBook writes snapshots to the folder below and keeps a rolling set per interval.";
|
|
397
|
+
readonly cadenceDaily: "Daily";
|
|
398
|
+
readonly cadenceWeekly: "Weekly";
|
|
399
|
+
readonly cadenceMonthly: "Monthly";
|
|
400
|
+
readonly cadenceYearly: "Yearly";
|
|
401
|
+
readonly keptLast: "Last {when} · {count} kept";
|
|
402
|
+
readonly never: "No backup yet";
|
|
403
|
+
readonly backupNow: "Back up now";
|
|
404
|
+
readonly backingUp: "Backing up…";
|
|
405
|
+
readonly ranNow: "Backed up — {file}";
|
|
406
|
+
readonly folder: "Backup folder";
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
readonly storage: {
|
|
410
|
+
readonly heading: "Storage";
|
|
411
|
+
readonly intro: "Compact the local database to reclaim disk space. Editing leaves behind storage overhead that this rewrites away; the app pauses briefly while it runs.";
|
|
412
|
+
readonly compact: "Compact database";
|
|
413
|
+
readonly compacting: "Compacting…";
|
|
414
|
+
readonly confirmTitle: "Compact the database?";
|
|
415
|
+
readonly confirmBody: "This rewrites the local database to reclaim space and may take a moment. The app will pause until it finishes.";
|
|
416
|
+
readonly confirmAction: "Compact";
|
|
417
|
+
readonly reclaimed: "Reclaimed {amount} — database is now {size}.";
|
|
418
|
+
readonly alreadyCompact: "Already compact — nothing to reclaim ({size}).";
|
|
419
|
+
readonly unavailable: "Compaction isn’t available for this server.";
|
|
420
|
+
readonly failed: "Compaction failed: {error}";
|
|
345
421
|
};
|
|
346
422
|
readonly workspace: {
|
|
347
423
|
readonly workspaces: "Workspaces";
|
|
@@ -890,6 +966,33 @@ export declare const en: {
|
|
|
890
966
|
readonly manualPlaceholder: "Paste your code or openbook://auth-callback#token=… link";
|
|
891
967
|
readonly manualSubmit: "Sign in with code";
|
|
892
968
|
};
|
|
969
|
+
readonly switcher: {
|
|
970
|
+
readonly heading: "Accounts";
|
|
971
|
+
readonly activeAccount: "Active account";
|
|
972
|
+
readonly active: "Active";
|
|
973
|
+
readonly syncing: "Syncing…";
|
|
974
|
+
readonly error: "Needs attention";
|
|
975
|
+
readonly dormant: "Signed in";
|
|
976
|
+
readonly switchTo: "Switch to {name}";
|
|
977
|
+
readonly addAnother: "Add another account";
|
|
978
|
+
readonly removeAccount: "Remove {name} from this device";
|
|
979
|
+
readonly removeConfirmTitle: "Remove {name}?";
|
|
980
|
+
readonly removeConfirmBody: "This forgets {name} on this device only — sign in again any time to restore it. Your other accounts and your local data are untouched.";
|
|
981
|
+
readonly signOutActiveHint: "Sign out forgets the active account on this device; your other accounts stay signed in. To fully revoke a device, remove it in your account dashboard.";
|
|
982
|
+
};
|
|
983
|
+
readonly error: {
|
|
984
|
+
readonly rejected: "That sign-in was rejected. Please try again.";
|
|
985
|
+
readonly rejectedReauth: "That sign-in was rejected. Please sign in again.";
|
|
986
|
+
readonly unreachable: "Could not reach account.book.pub. Check your connection.";
|
|
987
|
+
readonly syncFailed: "Sync failed — will retry on the next change.";
|
|
988
|
+
readonly invalidCode: "That doesn’t look like a valid code. Paste the code (or the whole openbook:// link) from the browser.";
|
|
989
|
+
};
|
|
990
|
+
readonly nudge: {
|
|
991
|
+
readonly title: "Sync and publish";
|
|
992
|
+
readonly body: "Sign up free to keep your preferences and workspaces in sync across devices — then publish your work to the web. Local-first stays the default.";
|
|
993
|
+
readonly cta: "Get started free";
|
|
994
|
+
readonly dismiss: "Dismiss";
|
|
995
|
+
};
|
|
893
996
|
readonly support: {
|
|
894
997
|
readonly title: "Support OpenBook";
|
|
895
998
|
readonly description: "OpenBook is independent and open source. Sharing it and sending feedback helps it grow. Sponsorship options are on the way.";
|
|
@@ -907,6 +1010,14 @@ export declare const en: {
|
|
|
907
1010
|
readonly copy: "Copy";
|
|
908
1011
|
readonly copied: "Copied";
|
|
909
1012
|
readonly failed: "Couldn’t register: {error}";
|
|
1013
|
+
readonly partialUnscoped: "Forwarding is on, but your account did not issue a site-scoped owner token, so strict audience isolation stays off (a token minted for a different site is still rejected, and the tunnel works normally).";
|
|
1014
|
+
readonly ensureRescope: "Forwarding resumed, but this session could not scope your owner token to the site yet. Your existing access is unchanged; sign in again if a request is refused.";
|
|
1015
|
+
readonly bindFailed: "Forwarding is on, but securing the site audience didn’t finish: {error}";
|
|
1016
|
+
readonly unbindHeld: "Couldn’t fully relax the audience binding while turning forwarding off: {error}";
|
|
1017
|
+
readonly claimWarning: "The first time you turn this on, this device’s books are claimed to your account and made private — only you and members you invite can open them. This can’t be undone.";
|
|
1018
|
+
readonly claimRefusedUnverified: "To publish, your account identity needs to be verified first.";
|
|
1019
|
+
readonly refreshIdentity: "Refresh identity";
|
|
1020
|
+
readonly claimFailed: "Couldn’t claim this device for your account, so it wasn’t published. Try again.";
|
|
910
1021
|
readonly status: {
|
|
911
1022
|
readonly live: "Live";
|
|
912
1023
|
readonly connecting: "Connecting";
|
|
@@ -951,6 +1062,64 @@ export declare const en: {
|
|
|
951
1062
|
readonly changeFolder: "Change…";
|
|
952
1063
|
readonly reveal: "Reveal in Finder";
|
|
953
1064
|
};
|
|
1065
|
+
readonly sharing: {
|
|
1066
|
+
readonly title: "Guests & access";
|
|
1067
|
+
readonly description: "Control what people who haven’t signed in can do on this shared workspace. Your own access is never affected.";
|
|
1068
|
+
readonly youUser: "You’re acting as {name}.";
|
|
1069
|
+
readonly youGuestNamed: "You’re editing as guest “{name}”.";
|
|
1070
|
+
readonly youGuestAnon: "You’re editing as an anonymous guest.";
|
|
1071
|
+
readonly guestAccess: "Guest access";
|
|
1072
|
+
readonly guestAccessHint: "Applies to anyone reaching this workspace without signing in — over the network or a shared ✦.book.pub link.";
|
|
1073
|
+
readonly guestWrite: "Read & edit";
|
|
1074
|
+
readonly guestRead: "Read only";
|
|
1075
|
+
readonly guestOff: "No access";
|
|
1076
|
+
readonly ownerLocked: "Only the workspace owner can change this.";
|
|
1077
|
+
readonly saveError: "Couldn’t update access — {error}";
|
|
1078
|
+
};
|
|
1079
|
+
readonly members: {
|
|
1080
|
+
readonly title: "Members";
|
|
1081
|
+
readonly description: "People with a role on this workspace. Invite by email or handle, change who can manage, and remove access.";
|
|
1082
|
+
readonly youUser: "You’re signed in as {name}.";
|
|
1083
|
+
readonly youGuest: "You’re browsing as a guest.";
|
|
1084
|
+
readonly loading: "Loading members…";
|
|
1085
|
+
readonly empty: "No members yet. Invite someone above to get started.";
|
|
1086
|
+
readonly loadError: "Couldn’t load members — {error}";
|
|
1087
|
+
readonly retry: "Try again";
|
|
1088
|
+
readonly unavailable: "This workspace’s server doesn’t support members yet.";
|
|
1089
|
+
readonly lockedTitle: "Members are managed by admins";
|
|
1090
|
+
readonly locked: "Ask a workspace admin to invite you or change a role.";
|
|
1091
|
+
readonly lockedRoleOwner: "You can’t change the owner’s role";
|
|
1092
|
+
readonly lockedRoleSelf: "You can’t change your own role here";
|
|
1093
|
+
readonly lockedRemoveOwner: "You can’t remove the owner";
|
|
1094
|
+
readonly lockedRemoveSelf: "You can’t remove yourself";
|
|
1095
|
+
readonly inviteLabel: "Invite a member";
|
|
1096
|
+
readonly inviteHint: "Enter an email address or a handle (iss#sub). An email invite is claimed when that person first signs in.";
|
|
1097
|
+
readonly invitePlaceholder: "name@example.com or iss#sub";
|
|
1098
|
+
readonly inviteRole: "Role for the invite";
|
|
1099
|
+
readonly invite: "Invite";
|
|
1100
|
+
readonly inviteError: "Couldn’t invite — {error}";
|
|
1101
|
+
readonly listLabel: "Current members";
|
|
1102
|
+
readonly roleAdmin: "Admin";
|
|
1103
|
+
readonly roleViewer: "Viewer";
|
|
1104
|
+
readonly changeRole: "Change role for {name}";
|
|
1105
|
+
readonly statusActive: "Active";
|
|
1106
|
+
readonly statusInvited: "Invited";
|
|
1107
|
+
readonly statusSuspended: "Suspended";
|
|
1108
|
+
readonly you: "You";
|
|
1109
|
+
readonly owner: "Owner";
|
|
1110
|
+
readonly remove: "Remove {name}";
|
|
1111
|
+
readonly removeTitle: "Remove {name}?";
|
|
1112
|
+
readonly removeBody: "They’ll lose their role on this workspace. An email invite can be re-sent later.";
|
|
1113
|
+
readonly removeConfirm: "Remove";
|
|
1114
|
+
readonly actionError: "Couldn’t update member — {error}";
|
|
1115
|
+
};
|
|
1116
|
+
readonly provenance: {
|
|
1117
|
+
readonly editedBy: "Edited by {name}";
|
|
1118
|
+
readonly justNow: "just now";
|
|
1119
|
+
readonly aGuest: "a guest";
|
|
1120
|
+
readonly someone: "someone";
|
|
1121
|
+
readonly unverified: "unverified identity";
|
|
1122
|
+
};
|
|
954
1123
|
readonly integrations: {
|
|
955
1124
|
readonly title: "Integrations";
|
|
956
1125
|
readonly description: "Connect OpenBook to other tools. Integrations aren’t available yet — this is where they’ll live.";
|