@arbidocs/blocks 0.5.23 → 0.5.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/{ConnectedNativeDocxComparison-GMQHSY3Z.js → ConnectedNativeDocxComparison-MZX222GC.js} +6 -6
  2. package/dist/{ConnectedNativeDocxComparison-GMQHSY3Z.js.map → ConnectedNativeDocxComparison-MZX222GC.js.map} +1 -1
  3. package/dist/{ConnectedNativeDocxComparison-HH3PHNXU.cjs → ConnectedNativeDocxComparison-WRO3J6VV.cjs} +7 -7
  4. package/dist/{ConnectedNativeDocxComparison-HH3PHNXU.cjs.map → ConnectedNativeDocxComparison-WRO3J6VV.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxEditor-4IAKVBEF.js → ConnectedNativeDocxEditor-OJ6SYZ3W.js} +5 -5
  6. package/dist/{ConnectedNativeDocxEditor-4IAKVBEF.js.map → ConnectedNativeDocxEditor-OJ6SYZ3W.js.map} +1 -1
  7. package/dist/{ConnectedNativeDocxEditor-JNHNZG3P.cjs → ConnectedNativeDocxEditor-XTUJWL25.cjs} +7 -7
  8. package/dist/{ConnectedNativeDocxEditor-JNHNZG3P.cjs.map → ConnectedNativeDocxEditor-XTUJWL25.cjs.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-CZZOH667.cjs → ConnectedStreamedWordArtifact-5JURNV4L.cjs} +7 -7
  10. package/dist/ConnectedStreamedWordArtifact-5JURNV4L.cjs.map +1 -0
  11. package/dist/{ConnectedStreamedWordArtifact-GLJCJPTP.js → ConnectedStreamedWordArtifact-KURJRZH3.js} +6 -6
  12. package/dist/{ConnectedStreamedWordArtifact-GLJCJPTP.js.map → ConnectedStreamedWordArtifact-KURJRZH3.js.map} +1 -1
  13. package/dist/{WorkspaceTableView-ECPHGWHF.js → WorkspaceTableView-2XI6FIOO.js} +7 -7
  14. package/dist/WorkspaceTableView-2XI6FIOO.js.map +1 -0
  15. package/dist/{WorkspaceTableView-6JVHGDUB.cjs → WorkspaceTableView-KG4D53SK.cjs} +13 -13
  16. package/dist/WorkspaceTableView-KG4D53SK.cjs.map +1 -0
  17. package/dist/agents/index.cjs +326 -326
  18. package/dist/agents/index.js +4 -4
  19. package/dist/{chunk-X4Y7ZHFB.js → chunk-2GDKBLD5.js} +11 -6
  20. package/dist/chunk-2GDKBLD5.js.map +1 -0
  21. package/dist/{chunk-DXO2RXVQ.cjs → chunk-3FQHFFV5.cjs} +4 -4
  22. package/dist/{chunk-DXO2RXVQ.cjs.map → chunk-3FQHFFV5.cjs.map} +1 -1
  23. package/dist/{chunk-AAVFCPKD.js → chunk-3OATYBZK.js} +4 -4
  24. package/dist/{chunk-AAVFCPKD.js.map → chunk-3OATYBZK.js.map} +1 -1
  25. package/dist/{chunk-AF24CV6J.js → chunk-4I2V55LL.js} +3 -3
  26. package/dist/{chunk-AF24CV6J.js.map → chunk-4I2V55LL.js.map} +1 -1
  27. package/dist/{chunk-VNHLFS6T.cjs → chunk-4KLBM5K5.cjs} +4 -4
  28. package/dist/{chunk-VNHLFS6T.cjs.map → chunk-4KLBM5K5.cjs.map} +1 -1
  29. package/dist/{chunk-7DDMF3DZ.cjs → chunk-53T2FY4Z.cjs} +5 -31
  30. package/dist/chunk-53T2FY4Z.cjs.map +1 -0
  31. package/dist/{chunk-BTF4AZMG.js → chunk-57CG33XJ.js} +5 -5
  32. package/dist/chunk-57CG33XJ.js.map +1 -0
  33. package/dist/chunk-5ZBXFHZW.js +434 -0
  34. package/dist/chunk-5ZBXFHZW.js.map +1 -0
  35. package/dist/{chunk-KJVDYWAM.cjs → chunk-6UKNYQ7Q.cjs} +13 -8
  36. package/dist/chunk-6UKNYQ7Q.cjs.map +1 -0
  37. package/dist/{chunk-TTJGCJWX.cjs → chunk-6UZ6YTML.cjs} +46 -6
  38. package/dist/chunk-6UZ6YTML.cjs.map +1 -0
  39. package/dist/{chunk-NVRJ6WTR.js → chunk-7RFDYAK7.js} +3 -3
  40. package/dist/{chunk-NVRJ6WTR.js.map → chunk-7RFDYAK7.js.map} +1 -1
  41. package/dist/{chunk-ZYGQFD5Y.js → chunk-BSDZXG55.js} +3 -3
  42. package/dist/{chunk-ZYGQFD5Y.js.map → chunk-BSDZXG55.js.map} +1 -1
  43. package/dist/{chunk-O4EQYPLO.cjs → chunk-C2SZQKX2.cjs} +169 -27
  44. package/dist/chunk-C2SZQKX2.cjs.map +1 -0
  45. package/dist/{chunk-I5RK4WAE.cjs → chunk-FGZQUH2Y.cjs} +3 -3
  46. package/dist/{chunk-I5RK4WAE.cjs.map → chunk-FGZQUH2Y.cjs.map} +1 -1
  47. package/dist/{chunk-7S76Q5RK.js → chunk-GA2A7OX6.js} +3 -3
  48. package/dist/{chunk-7S76Q5RK.js.map → chunk-GA2A7OX6.js.map} +1 -1
  49. package/dist/{chunk-XL55UDLO.js → chunk-IJJKUTKM.js} +5 -30
  50. package/dist/chunk-IJJKUTKM.js.map +1 -0
  51. package/dist/{chunk-BL74GYSA.cjs → chunk-JGCYM3II.cjs} +9 -9
  52. package/dist/{chunk-BL74GYSA.cjs.map → chunk-JGCYM3II.cjs.map} +1 -1
  53. package/dist/{chunk-ZX663X3X.cjs → chunk-KNRAKOCO.cjs} +6 -428
  54. package/dist/chunk-KNRAKOCO.cjs.map +1 -0
  55. package/dist/chunk-KUQOHPKP.cjs +443 -0
  56. package/dist/chunk-KUQOHPKP.cjs.map +1 -0
  57. package/dist/{chunk-JUUOJP7I.cjs → chunk-KWJW5TMH.cjs} +5 -5
  58. package/dist/chunk-KWJW5TMH.cjs.map +1 -0
  59. package/dist/{chunk-FZVAJFRH.cjs → chunk-LAGHW4JM.cjs} +24 -10
  60. package/dist/chunk-LAGHW4JM.cjs.map +1 -0
  61. package/dist/{chunk-6XW3CMU4.js → chunk-N3KNAQ55.js} +144 -4
  62. package/dist/chunk-N3KNAQ55.js.map +1 -0
  63. package/dist/{chunk-C6P2QW36.js → chunk-NZIVQ4Q4.js} +4 -4
  64. package/dist/{chunk-C6P2QW36.js.map → chunk-NZIVQ4Q4.js.map} +1 -1
  65. package/dist/{chunk-44FPFTU2.js → chunk-ORUV4MEP.js} +3 -3
  66. package/dist/{chunk-44FPFTU2.js.map → chunk-ORUV4MEP.js.map} +1 -1
  67. package/dist/{chunk-75Z5AUMM.js → chunk-QB6JCNVG.js} +3 -3
  68. package/dist/{chunk-75Z5AUMM.js.map → chunk-QB6JCNVG.js.map} +1 -1
  69. package/dist/{chunk-S4G3DNMA.cjs → chunk-QZTA2M4U.cjs} +9 -9
  70. package/dist/{chunk-S4G3DNMA.cjs.map → chunk-QZTA2M4U.cjs.map} +1 -1
  71. package/dist/{chunk-F2BYURQZ.cjs → chunk-T67EFI43.cjs} +5 -5
  72. package/dist/{chunk-F2BYURQZ.cjs.map → chunk-T67EFI43.cjs.map} +1 -1
  73. package/dist/{chunk-RVKVGS72.js → chunk-TDFL676I.js} +25 -11
  74. package/dist/chunk-TDFL676I.js.map +1 -0
  75. package/dist/{chunk-YD3RN2FY.cjs → chunk-U72QI2W3.cjs} +3 -3
  76. package/dist/{chunk-YD3RN2FY.cjs.map → chunk-U72QI2W3.cjs.map} +1 -1
  77. package/dist/{chunk-75UVQKQ5.cjs → chunk-WTGJHS7F.cjs} +48 -48
  78. package/dist/{chunk-75UVQKQ5.cjs.map → chunk-WTGJHS7F.cjs.map} +1 -1
  79. package/dist/{chunk-SLRVI2YU.js → chunk-X6U6L6BG.js} +29 -4
  80. package/dist/chunk-X6U6L6BG.js.map +1 -0
  81. package/dist/{chunk-SQ5F5BFW.cjs → chunk-XDU3HHUU.cjs} +32 -6
  82. package/dist/chunk-XDU3HHUU.cjs.map +1 -0
  83. package/dist/{chunk-SKVVOEMX.js → chunk-XXUPUXBF.js} +8 -423
  84. package/dist/chunk-XXUPUXBF.js.map +1 -0
  85. package/dist/{chunk-PZRTRYPD.js → chunk-ZKAIT3M2.js} +46 -7
  86. package/dist/chunk-ZKAIT3M2.js.map +1 -0
  87. package/dist/connect/docx.cjs +9 -9
  88. package/dist/connect/docx.js +5 -5
  89. package/dist/connect/index.cjs +1393 -891
  90. package/dist/connect/index.cjs.map +1 -1
  91. package/dist/connect/index.js +739 -242
  92. package/dist/connect/index.js.map +1 -1
  93. package/dist/connect/viewer.cjs +4 -4
  94. package/dist/connect/viewer.js +4 -4
  95. package/dist/connection/auth/CompactLogin.d.ts +26 -0
  96. package/dist/connection/auth/ConnectedLoginPage.d.ts +9 -1
  97. package/dist/connection/auth/index.d.ts +3 -1
  98. package/dist/connection/auth/sso-popup.d.ts +13 -0
  99. package/dist/connection/auth/sso-sign-in.d.ts +38 -0
  100. package/dist/connection/auth/useLoginActions.d.ts +4 -2
  101. package/dist/connection/projects/ConnectedProjectsPanel.d.ts +9 -1
  102. package/dist/connection/projects/ProjectsListPage.d.ts +41 -0
  103. package/dist/connection/projects/index.d.ts +1 -0
  104. package/dist/connection/settings-page/appearanceSection.d.ts +30 -0
  105. package/dist/connection/settings-page/index.d.ts +1 -0
  106. package/dist/facts/index.cjs +55 -55
  107. package/dist/facts/index.js +3 -3
  108. package/dist/index.cjs +498 -526
  109. package/dist/index.cjs.map +1 -1
  110. package/dist/index.d.ts +2 -0
  111. package/dist/index.js +15 -54
  112. package/dist/index.js.map +1 -1
  113. package/dist/settings/AppearanceSettings.d.ts +1 -2
  114. package/dist/settings/index.cjs +162 -162
  115. package/dist/settings/index.d.ts +2 -1
  116. package/dist/settings/index.js +2 -2
  117. package/dist/site/index.cjs +82 -74
  118. package/dist/site/index.d.ts +2 -0
  119. package/dist/site/index.js +3 -3
  120. package/dist/studio/index.cjs +73 -73
  121. package/dist/studio/index.js +5 -5
  122. package/dist/theme/appearance.d.ts +47 -0
  123. package/dist/theme/fromCss.d.ts +33 -0
  124. package/dist/workflow-canvas/index.cjs +20 -18
  125. package/dist/workflow-canvas/index.cjs.map +1 -1
  126. package/dist/workflow-canvas/index.js +8 -6
  127. package/dist/workflow-canvas/index.js.map +1 -1
  128. package/dist/workspaces/index.cjs +43 -43
  129. package/dist/workspaces/index.js +3 -3
  130. package/node_modules/@arbidocs/coedit/package.json +1 -1
  131. package/package.json +5 -5
  132. package/dist/ConnectedStreamedWordArtifact-CZZOH667.cjs.map +0 -1
  133. package/dist/WorkspaceTableView-6JVHGDUB.cjs.map +0 -1
  134. package/dist/WorkspaceTableView-ECPHGWHF.js.map +0 -1
  135. package/dist/chunk-6XW3CMU4.js.map +0 -1
  136. package/dist/chunk-7DDMF3DZ.cjs.map +0 -1
  137. package/dist/chunk-AMTWY22T.js +0 -11
  138. package/dist/chunk-AMTWY22T.js.map +0 -1
  139. package/dist/chunk-BTF4AZMG.js.map +0 -1
  140. package/dist/chunk-FZVAJFRH.cjs.map +0 -1
  141. package/dist/chunk-JUUOJP7I.cjs.map +0 -1
  142. package/dist/chunk-KJVDYWAM.cjs.map +0 -1
  143. package/dist/chunk-O4EQYPLO.cjs.map +0 -1
  144. package/dist/chunk-PZRTRYPD.js.map +0 -1
  145. package/dist/chunk-RVKVGS72.js.map +0 -1
  146. package/dist/chunk-SKVVOEMX.js.map +0 -1
  147. package/dist/chunk-SLRVI2YU.js.map +0 -1
  148. package/dist/chunk-SQ5F5BFW.cjs.map +0 -1
  149. package/dist/chunk-TTJGCJWX.cjs.map +0 -1
  150. package/dist/chunk-X4Y7ZHFB.js.map +0 -1
  151. package/dist/chunk-XL55UDLO.js.map +0 -1
  152. package/dist/chunk-ZU2B2RZK.cjs +0 -13
  153. package/dist/chunk-ZU2B2RZK.cjs.map +0 -1
  154. package/dist/chunk-ZX663X3X.cjs.map +0 -1
@@ -14,8 +14,8 @@ require('../chunk-ASTMGLHT.cjs');
14
14
  var chunkTM2D4XT4_cjs = require('../chunk-TM2D4XT4.cjs');
15
15
  require('../chunk-5Y6V7F6W.cjs');
16
16
  require('../chunk-AXAHA4LL.cjs');
17
- var chunkB26FXLMG_cjs = require('../chunk-B26FXLMG.cjs');
18
17
  var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
18
+ var chunkB26FXLMG_cjs = require('../chunk-B26FXLMG.cjs');
19
19
  require('../chunk-SIB6C7P7.cjs');
20
20
  require('../chunk-DVUZTGVL.cjs');
21
21
  require('../chunk-V4ISCZJ7.cjs');
@@ -1719,17 +1719,17 @@ function ViewerPdfPane({
1719
1719
  return /* @__PURE__ */ jsxRuntime.jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
1720
1720
  }
1721
1721
  var NativeDocxEditor = React.lazy(
1722
- () => import('../ConnectedNativeDocxEditor-JNHNZG3P.cjs').then((m) => ({
1722
+ () => import('../ConnectedNativeDocxEditor-XTUJWL25.cjs').then((m) => ({
1723
1723
  default: m.ConnectedNativeDocxEditor
1724
1724
  }))
1725
1725
  );
1726
1726
  var StreamedWordArtifact = React.lazy(
1727
- () => import('../ConnectedStreamedWordArtifact-CZZOH667.cjs').then((m) => ({
1727
+ () => import('../ConnectedStreamedWordArtifact-5JURNV4L.cjs').then((m) => ({
1728
1728
  default: m.ConnectedStreamedWordArtifact
1729
1729
  }))
1730
1730
  );
1731
1731
  var NativeDocxComparison = React.lazy(
1732
- () => import('../ConnectedNativeDocxComparison-HH3PHNXU.cjs').then((m) => ({
1732
+ () => import('../ConnectedNativeDocxComparison-WRO3J6VV.cjs').then((m) => ({
1733
1733
  default: m.ConnectedNativeDocxComparison
1734
1734
  }))
1735
1735
  );
@@ -13,8 +13,8 @@ import '../chunk-Y7DWW5XD.js';
13
13
  import { ErrorBoundary } from '../chunk-EQ3WRY2N.js';
14
14
  import '../chunk-JMQLTMJ7.js';
15
15
  import '../chunk-6MMYWBYS.js';
16
- import { PassageMark, NoteMark, LabelMark, PassagePill } from '../chunk-FUOCCKE4.js';
17
16
  import { ShareControl } from '../chunk-K4BGOPGG.js';
17
+ import { PassageMark, NoteMark, LabelMark, PassagePill } from '../chunk-FUOCCKE4.js';
18
18
  import '../chunk-M4S75AEJ.js';
19
19
  import '../chunk-5LXQPP2K.js';
20
20
  import '../chunk-NUNKSZKU.js';
@@ -1714,17 +1714,17 @@ function ViewerPdfPane({
1714
1714
  return /* @__PURE__ */ jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
1715
1715
  }
1716
1716
  var NativeDocxEditor = lazy(
1717
- () => import('../ConnectedNativeDocxEditor-4IAKVBEF.js').then((m) => ({
1717
+ () => import('../ConnectedNativeDocxEditor-OJ6SYZ3W.js').then((m) => ({
1718
1718
  default: m.ConnectedNativeDocxEditor
1719
1719
  }))
1720
1720
  );
1721
1721
  var StreamedWordArtifact = lazy(
1722
- () => import('../ConnectedStreamedWordArtifact-GLJCJPTP.js').then((m) => ({
1722
+ () => import('../ConnectedStreamedWordArtifact-KURJRZH3.js').then((m) => ({
1723
1723
  default: m.ConnectedStreamedWordArtifact
1724
1724
  }))
1725
1725
  );
1726
1726
  var NativeDocxComparison = lazy(
1727
- () => import('../ConnectedNativeDocxComparison-GMQHSY3Z.js').then((m) => ({
1727
+ () => import('../ConnectedNativeDocxComparison-MZX222GC.js').then((m) => ({
1728
1728
  default: m.ConnectedNativeDocxComparison
1729
1729
  }))
1730
1730
  );
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The compact sign-in of embedded hosts (an Office task pane, a browser extension): email and
3
+ * password, or SSO in a popup (the host opens it, `onSsoSignIn`) followed by the master password
4
+ * the account's keys are derived from. The same actions as the sign-in page (`useLoginActions`)
5
+ * and the same SSO completion as the callback page (`completeSsoSignIn`), arranged for a narrow
6
+ * pane, with errors shown in place.
7
+ */
8
+ import { type ReactElement } from 'react';
9
+ import { type SsoUser } from './support';
10
+ export interface CompactLoginOptions {
11
+ /**
12
+ * Sign in at the SSO provider in a popup: the provider's token and user, or `null` when the
13
+ * popup closed without one. Absent: no SSO.
14
+ */
15
+ onSsoSignIn?: () => Promise<{
16
+ accessToken: string;
17
+ user: SsoUser;
18
+ } | null>;
19
+ /** Signed in, with the person's first name. */
20
+ onSignedIn?: (name: string) => void;
21
+ /** The product name in the copy ("Sign in with …", "your … master password"). */
22
+ appName?: string;
23
+ /** The SSO provider's name on its buttons. Default: the product name. */
24
+ ssoName?: string;
25
+ }
26
+ export declare function CompactLogin({ onSsoSignIn, onSignedIn, appName, ssoName, }: CompactLoginOptions): ReactElement;
@@ -6,4 +6,12 @@
6
6
  * configuration's `auth` (and `sso`), see `./support`.
7
7
  */
8
8
  import { type ReactElement } from 'react';
9
- export declare function ConnectedLoginPage(): ReactElement;
9
+ import { type CompactLoginOptions } from './CompactLogin';
10
+ export interface ConnectedLoginPageProps extends CompactLoginOptions {
11
+ /**
12
+ * `page` (default): the full sign-in and registration page. `compact`: the sign-in of an embedded
13
+ * host's narrow pane (email and password, or SSO in a popup, `onSsoSignIn`).
14
+ */
15
+ layout?: 'page' | 'compact';
16
+ }
17
+ export declare function ConnectedLoginPage({ layout, ...compact }?: ConnectedLoginPageProps): ReactElement;
@@ -1,4 +1,6 @@
1
- export { ConnectedLoginPage } from './ConnectedLoginPage';
1
+ export { ConnectedLoginPage, type ConnectedLoginPageProps } from './ConnectedLoginPage';
2
+ export { type CompactLoginOptions } from './CompactLogin';
3
+ export { openSsoPopup } from './sso-popup';
2
4
  export { ConnectedSsoCallback } from './ConnectedSsoCallback';
3
5
  export { SsoResendVerificationButton } from './SsoResendVerificationButton';
4
6
  export { resolveSsoName, type NameSource, type ResolvedName } from './sso-name';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SSO in a popup, for hosts that cannot leave their page (an Office task pane, an extension): open
3
+ * the provider's sign-in, and wait for the callback page in the popup to post the provider's token
4
+ * and user back (`window.opener.postMessage({ accessToken, user }, origin)`). Resolves `null` when
5
+ * the popup is closed first; rejects with the provider's error.
6
+ */
7
+ import type { SsoUser } from './support';
8
+ export declare function openSsoPopup(url: string, { features }?: {
9
+ features?: string;
10
+ }): Promise<{
11
+ accessToken: string;
12
+ user: SsoUser;
13
+ } | null>;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Finishing a sign-in through SSO, once the provider has signed the person in: what their account
3
+ * is for the provider's email (`arbi.sso.status`), then, with the master password, register a new
4
+ * account (and back it up), link a local one, or sign in. One implementation for the full-page
5
+ * callback (`ConnectedSsoCallback`) and the compact sign-in of embedded hosts.
6
+ */
7
+ import type { components, LoginResult } from '@arbidocs/client';
8
+ import type { useArbi } from '@arbidocs/react';
9
+ import type { SsoUser } from './support';
10
+ export type SsoAccountStatus = components['schemas']['SSOStatusResponse'];
11
+ type Arbi = ReturnType<typeof useArbi>;
12
+ /** What the provider's account is on this deployment (`new_user`, `sso_exists`, `local_exists`). */
13
+ export declare function ssoAccountStatus(arbi: Arbi, token: string, user: SsoUser): Promise<{
14
+ status: string;
15
+ email: string;
16
+ given_name?: string | null;
17
+ family_name?: string | null;
18
+ }>;
19
+ export interface CompleteSsoSignIn {
20
+ token: string;
21
+ user: SsoUser;
22
+ status: SsoAccountStatus;
23
+ /** The master password: a new one for `new_user`, the account's otherwise. */
24
+ password: string;
25
+ /** A new account: download its recovery key (default on). */
26
+ saveRecoveryKey?: boolean;
27
+ }
28
+ /**
29
+ * Sign in with the master password by account status. A new account is registered (the SSO token
30
+ * stands in for the verification code), backed up, and signed in with the provider's name and
31
+ * picture; `registered` says so. A local account is linked to SSO (`linked`).
32
+ */
33
+ export declare function completeSsoSignIn(arbi: Arbi, { token, user, status, password, saveRecoveryKey }: CompleteSsoSignIn): Promise<{
34
+ login: LoginResult | undefined;
35
+ registered: boolean;
36
+ linked: boolean;
37
+ }>;
38
+ export {};
@@ -5,9 +5,11 @@
5
5
  * session in, and the site's sign-in hooks run around it.
6
6
  */
7
7
  import type { LoginFormActions, LoginFormState } from './useLoginForm';
8
- export declare function useLoginActions({ formState, formActions, }: {
8
+ export declare function useLoginActions({ formState, formActions, onError, }: {
9
9
  formState: LoginFormState;
10
10
  formActions: LoginFormActions;
11
+ /** Show a refusal in the form itself. Default: a notice. */
12
+ onError?: (message: string) => void;
11
13
  }): {
12
14
  isAuthenticating: boolean;
13
15
  isRequestingCode: boolean;
@@ -19,7 +21,7 @@ export declare function useLoginActions({ formState, formActions, }: {
19
21
  email: string;
20
22
  password: string;
21
23
  };
22
- }) => Promise<void>;
24
+ }) => Promise<import("@arbidocs/client").LoginResult | undefined>;
23
25
  handleRegister: (saveRecoveryKey?: boolean) => Promise<void>;
24
26
  handleRequestVerificationCode: () => Promise<void>;
25
27
  };
@@ -8,6 +8,7 @@
8
8
  * (`tabs`); without it the panel keeps them and opens its own projects' tabs.
9
9
  */
10
10
  import { type ReactNode } from 'react';
11
+ import { type ProjectsListPageProps } from './ProjectsListPage';
11
12
  /** The base tab's id. */
12
13
  export declare const PROJECTS_BASE_TAB_ID = "projects";
13
14
  /** The panel's project tabs, kept by a host. */
@@ -21,6 +22,13 @@ export interface ProjectPanelTabs {
21
22
  onClose: (projectId: string) => void;
22
23
  }
23
24
  export interface ConnectedProjectsPanelProps {
25
+ /**
26
+ * `panel` (default): the Plan & Usage panel with a tab per open project. `page`: the projects
27
+ * list as a page (`page` options), a row opening the project through `environment.openProject`.
28
+ */
29
+ layout?: 'panel' | 'page';
30
+ /** The list page's words, columns and header actions (`layout="page"`). */
31
+ page?: ProjectsListPageProps;
24
32
  /** Host-kept tabs; the panel keeps its own without. */
25
33
  tabs?: ProjectPanelTabs;
26
34
  /** A project's storage section, at the foot of its detail. */
@@ -31,4 +39,4 @@ export interface ConnectedProjectsPanelProps {
31
39
  headerRight?: ReactNode;
32
40
  className?: string;
33
41
  }
34
- export declare function ConnectedProjectsPanel({ tabs: hostTabs, projectStorage, footer, headerRight, className, }: ConnectedProjectsPanelProps): import("react").JSX.Element;
42
+ export declare function ConnectedProjectsPanel({ layout, page, ...panel }: ConnectedProjectsPanelProps): import("react").JSX.Element;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The projects list as a page (`ConnectedProjectsPanel layout="page"`): every project with its
3
+ * client, stage, documents, threads, people and storage (`useProjectSummaries`), searchable by
4
+ * project or workspace name; a row opens the project (`environment.openProject`). The project
5
+ * noun is the site's (`ArbiHostConfig.vocabulary`); a site can still reword any label (`labels`)
6
+ * and picks the columns (`columns`).
7
+ */
8
+ import { type ReactNode } from 'react';
9
+ /** The list's columns, in order. */
10
+ export type ProjectListColumn = 'name' | 'client' | 'stage' | 'documents' | 'conversations' | 'members' | 'storage';
11
+ export declare const DEFAULT_PROJECT_LIST_COLUMNS: readonly ProjectListColumn[];
12
+ export interface ProjectsListLabels {
13
+ eyebrow?: ReactNode;
14
+ title: string;
15
+ description?: ReactNode;
16
+ searchPlaceholder: string;
17
+ /** Column headers. */
18
+ columns: Record<ProjectListColumn, string>;
19
+ /** "opened 3 Oct 2026" under a project's name. */
20
+ opened: string;
21
+ loadingTitle: string;
22
+ loadingDescription?: string;
23
+ emptyTitle: string;
24
+ emptyDescription?: string;
25
+ }
26
+ export declare const DEFAULT_PROJECTS_LIST_LABELS: ProjectsListLabels;
27
+ export interface ProjectsListPageProps {
28
+ /** The site's words; each field falls back to the default. */
29
+ labels?: Partial<Omit<ProjectsListLabels, 'columns'>> & {
30
+ columns?: Partial<Record<ProjectListColumn, string>>;
31
+ };
32
+ /** The columns shown, in order. Default: all. */
33
+ columns?: readonly ProjectListColumn[];
34
+ /** The header's actions (a "new project" button). */
35
+ actions?: ReactNode;
36
+ /** The page's test-id prefix. Default: `projects`. */
37
+ testId?: string;
38
+ }
39
+ /** One decimal GB, or MB when tiny; "—" with nothing stored. */
40
+ export declare function formatStorageGb(gb: number): string;
41
+ export declare function ProjectsListPage({ labels: given, columns: shown, actions, testId, }: ProjectsListPageProps): import("react").JSX.Element;
@@ -1,2 +1,3 @@
1
1
  export { ConnectedProjectsPanel, PROJECTS_BASE_TAB_ID, type ConnectedProjectsPanelProps, type ProjectPanelTabs, } from './ConnectedProjectsPanel';
2
2
  export { buildProjectSummaries, primaryProjectWorkspace, useProjectSummaries, useProjectSummary, type ProjectMemberSummary, type ProjectSummary, type ProjectWorkspaceSummary, } from './useProjectSummaries';
3
+ export { DEFAULT_PROJECT_LIST_COLUMNS, DEFAULT_PROJECTS_LIST_LABELS, formatStorageGb, type ProjectListColumn, type ProjectsListLabels, type ProjectsListPageProps, } from './ProjectsListPage';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Appearance, as a settings section a site adds as data (`ConnectedSettingsPage sections`).
3
+ *
4
+ * Two parts, each shown when the site supplies its store:
5
+ * - `appearance`: the reader's colour scheme, text size and typeface on this device
6
+ * ({@link createAppearanceStore});
7
+ * - `theme`: the site's brand tokens, edited live ({@link createThemeStore} + `ThemeEditor`).
8
+ */
9
+ import type { ReactNode } from 'react';
10
+ import type { SettingsPageSection } from '../../settings/SettingsPage';
11
+ import type { AppearanceBundle } from '../../theme/appearance';
12
+ import type { ThemeBundle } from '../../theme/store';
13
+ import { type ThemeEditorProps } from '../../theme/ThemeEditor';
14
+ export interface AppearanceSettingsSectionOptions {
15
+ /** The reader's appearance store: shows colour scheme, text size and typeface. */
16
+ appearance?: AppearanceBundle;
17
+ /** The site's theme bundle: shows the token editor. */
18
+ theme?: ThemeBundle;
19
+ /** The theme editor's live preview card. */
20
+ themePreview?: ThemeEditorProps['preview'];
21
+ /** The theme editor's heading icon (a site's accent). Default: a palette. */
22
+ icon?: ReactNode;
23
+ /** The theme editor's description. */
24
+ description?: string;
25
+ }
26
+ /**
27
+ * Appearance. The tab shows a palette when the section edits the theme's colours, a type glyph
28
+ * when it only sets the reader's own scheme, size and typeface.
29
+ */
30
+ export declare function appearanceSettingsSection(options: AppearanceSettingsSectionOptions): SettingsPageSection;
@@ -5,3 +5,4 @@ export { ConnectedPrivacySettings, type ConnectedPrivacySettingsProps, } from '.
5
5
  export { ConnectedPremiumModels } from './ConnectedPremiumModels';
6
6
  export { SessionStatusIcon, renderSessionStatusIcon } from './SessionStatusIcon';
7
7
  export { usageSettingsSection, connectionSettingsSection, organisationSettingsSection, type UsageSettingsSectionOptions, type ConnectionSettingsSectionOptions, type OrganisationSettingsSectionOptions, } from './sections';
8
+ export { appearanceSettingsSection, type AppearanceSettingsSectionOptions, } from './appearanceSection';
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkYD3RN2FY_cjs = require('../chunk-YD3RN2FY.cjs');
4
+ var chunkU72QI2W3_cjs = require('../chunk-U72QI2W3.cjs');
5
5
  require('../chunk-2WLXQGWC.cjs');
6
6
  var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
7
7
  var chunkYBTKLOGG_cjs = require('../chunk-YBTKLOGG.cjs');
@@ -10,7 +10,6 @@ var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
10
10
  require('../chunk-V4ISCZJ7.cjs');
11
11
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
12
12
  var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
13
- require('../chunk-QUMUAJ2P.cjs');
14
13
  require('../chunk-MEMWZ72Y.cjs');
15
14
  var chunkUFEXJIEY_cjs = require('../chunk-UFEXJIEY.cjs');
16
15
  require('../chunk-FX3K6LNZ.cjs');
@@ -19,6 +18,7 @@ require('../chunk-2QQUGL2V.cjs');
19
18
  require('../chunk-SI222Z3A.cjs');
20
19
  require('../chunk-ULWRNGGE.cjs');
21
20
  var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
21
+ require('../chunk-QUMUAJ2P.cjs');
22
22
  require('../chunk-DES3K4SD.cjs');
23
23
  var react = require('react');
24
24
  var ui = require('@arbidocs/react/ui');
@@ -76,13 +76,13 @@ function FactsTable({
76
76
  gridProps,
77
77
  testId = "facts-table"
78
78
  }) {
79
- const l = { ...chunkYD3RN2FY_cjs.DEFAULT_FACT_COLUMN_LABELS, ...columnLabels };
79
+ const l = { ...chunkU72QI2W3_cjs.DEFAULT_FACT_COLUMN_LABELS, ...columnLabels };
80
80
  const columnDefs = react.useMemo(
81
- () => chunkYD3RN2FY_cjs.createFactColumns({
81
+ () => chunkU72QI2W3_cjs.createFactColumns({
82
82
  isInChat,
83
83
  onToggleInChat,
84
84
  renderHeader: (params) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[12.5px] font-medium", children: params.displayName }),
85
- renderRowActions: (fact) => onEdit && onDelete ? /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactRowActions, { onEdit: () => onEdit(fact), onDelete: () => onDelete(fact) }) : null,
85
+ renderRowActions: (fact) => onEdit && onDelete ? /* @__PURE__ */ jsxRuntime.jsx(chunkU72QI2W3_cjs.FactRowActions, { onEdit: () => onEdit(fact), onDelete: () => onDelete(fact) }) : null,
86
86
  renderLabels: (fact) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex flex-wrap items-center gap-1", children: (fact.tags ?? []).map((tag) => /* @__PURE__ */ jsxRuntime.jsx(
87
87
  "span",
88
88
  {
@@ -412,203 +412,203 @@ function FactSearchResult({
412
412
 
413
413
  Object.defineProperty(exports, "DEFAULT_FACTS_BULK_BAR_LABELS", {
414
414
  enumerable: true,
415
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACTS_BULK_BAR_LABELS; }
415
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACTS_BULK_BAR_LABELS; }
416
416
  });
417
417
  Object.defineProperty(exports, "DEFAULT_FACTS_EMPTY_STATE_LABELS", {
418
418
  enumerable: true,
419
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACTS_EMPTY_STATE_LABELS; }
419
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACTS_EMPTY_STATE_LABELS; }
420
420
  });
421
421
  Object.defineProperty(exports, "DEFAULT_FACTS_FIELDS_BUTTON_LABELS", {
422
422
  enumerable: true,
423
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACTS_FIELDS_BUTTON_LABELS; }
423
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACTS_FIELDS_BUTTON_LABELS; }
424
424
  });
425
425
  Object.defineProperty(exports, "DEFAULT_FACTS_TOOLBAR_LABELS", {
426
426
  enumerable: true,
427
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACTS_TOOLBAR_LABELS; }
427
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACTS_TOOLBAR_LABELS; }
428
428
  });
429
429
  Object.defineProperty(exports, "DEFAULT_FACTS_VIEW_TOGGLE_LABELS", {
430
430
  enumerable: true,
431
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACTS_VIEW_TOGGLE_LABELS; }
431
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACTS_VIEW_TOGGLE_LABELS; }
432
432
  });
433
433
  Object.defineProperty(exports, "DEFAULT_FACT_COLUMN_LABELS", {
434
434
  enumerable: true,
435
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_COLUMN_LABELS; }
435
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_COLUMN_LABELS; }
436
436
  });
437
437
  Object.defineProperty(exports, "DEFAULT_FACT_COLUMN_ORDER", {
438
438
  enumerable: true,
439
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_COLUMN_ORDER; }
439
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_COLUMN_ORDER; }
440
440
  });
441
441
  Object.defineProperty(exports, "DEFAULT_FACT_COMPOSER_LABELS", {
442
442
  enumerable: true,
443
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_COMPOSER_LABELS; }
443
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_COMPOSER_LABELS; }
444
444
  });
445
445
  Object.defineProperty(exports, "DEFAULT_FACT_DATE_INPUT_LABELS", {
446
446
  enumerable: true,
447
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_DATE_INPUT_LABELS; }
447
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_DATE_INPUT_LABELS; }
448
448
  });
449
449
  Object.defineProperty(exports, "DEFAULT_FACT_LABELS_CELL_LABELS", {
450
450
  enumerable: true,
451
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_LABELS_CELL_LABELS; }
451
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_LABELS_CELL_LABELS; }
452
452
  });
453
453
  Object.defineProperty(exports, "DEFAULT_FACT_ROW_ACTIONS_LABELS", {
454
454
  enumerable: true,
455
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_ROW_ACTIONS_LABELS; }
455
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_ROW_ACTIONS_LABELS; }
456
456
  });
457
457
  Object.defineProperty(exports, "DEFAULT_FACT_SOURCES_ROW_LABELS", {
458
458
  enumerable: true,
459
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_SOURCES_ROW_LABELS; }
459
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_SOURCES_ROW_LABELS; }
460
460
  });
461
461
  Object.defineProperty(exports, "DEFAULT_FACT_SOURCE_GROUP_LABELS", {
462
462
  enumerable: true,
463
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_SOURCE_GROUP_LABELS; }
463
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_SOURCE_GROUP_LABELS; }
464
464
  });
465
465
  Object.defineProperty(exports, "DEFAULT_FACT_TIMELINE_LABELS", {
466
466
  enumerable: true,
467
- get: function () { return chunkYD3RN2FY_cjs.DEFAULT_FACT_TIMELINE_LABELS; }
467
+ get: function () { return chunkU72QI2W3_cjs.DEFAULT_FACT_TIMELINE_LABELS; }
468
468
  });
469
469
  Object.defineProperty(exports, "EMPTY_FACT_DATE_FIELDS", {
470
470
  enumerable: true,
471
- get: function () { return chunkYD3RN2FY_cjs.EMPTY_FACT_DATE_FIELDS; }
471
+ get: function () { return chunkU72QI2W3_cjs.EMPTY_FACT_DATE_FIELDS; }
472
472
  });
473
473
  Object.defineProperty(exports, "FactComposer", {
474
474
  enumerable: true,
475
- get: function () { return chunkYD3RN2FY_cjs.FactComposer; }
475
+ get: function () { return chunkU72QI2W3_cjs.FactComposer; }
476
476
  });
477
477
  Object.defineProperty(exports, "FactDateInput", {
478
478
  enumerable: true,
479
- get: function () { return chunkYD3RN2FY_cjs.FactDateInput; }
479
+ get: function () { return chunkU72QI2W3_cjs.FactDateInput; }
480
480
  });
481
481
  Object.defineProperty(exports, "FactFieldRow", {
482
482
  enumerable: true,
483
- get: function () { return chunkYD3RN2FY_cjs.FactFieldRow; }
483
+ get: function () { return chunkU72QI2W3_cjs.FactFieldRow; }
484
484
  });
485
485
  Object.defineProperty(exports, "FactLabelsCell", {
486
486
  enumerable: true,
487
- get: function () { return chunkYD3RN2FY_cjs.FactLabelsCell; }
487
+ get: function () { return chunkU72QI2W3_cjs.FactLabelsCell; }
488
488
  });
489
489
  Object.defineProperty(exports, "FactRowActions", {
490
490
  enumerable: true,
491
- get: function () { return chunkYD3RN2FY_cjs.FactRowActions; }
491
+ get: function () { return chunkU72QI2W3_cjs.FactRowActions; }
492
492
  });
493
493
  Object.defineProperty(exports, "FactSourceGroup", {
494
494
  enumerable: true,
495
- get: function () { return chunkYD3RN2FY_cjs.FactSourceGroup; }
495
+ get: function () { return chunkU72QI2W3_cjs.FactSourceGroup; }
496
496
  });
497
497
  Object.defineProperty(exports, "FactSourcesRow", {
498
498
  enumerable: true,
499
- get: function () { return chunkYD3RN2FY_cjs.FactSourcesRow; }
499
+ get: function () { return chunkU72QI2W3_cjs.FactSourcesRow; }
500
500
  });
501
501
  Object.defineProperty(exports, "FactsBulkBar", {
502
502
  enumerable: true,
503
- get: function () { return chunkYD3RN2FY_cjs.FactsBulkBar; }
503
+ get: function () { return chunkU72QI2W3_cjs.FactsBulkBar; }
504
504
  });
505
505
  Object.defineProperty(exports, "FactsCalendar", {
506
506
  enumerable: true,
507
- get: function () { return chunkYD3RN2FY_cjs.FactsCalendar; }
507
+ get: function () { return chunkU72QI2W3_cjs.FactsCalendar; }
508
508
  });
509
509
  Object.defineProperty(exports, "FactsEmptyState", {
510
510
  enumerable: true,
511
- get: function () { return chunkYD3RN2FY_cjs.FactsEmptyState; }
511
+ get: function () { return chunkU72QI2W3_cjs.FactsEmptyState; }
512
512
  });
513
513
  Object.defineProperty(exports, "FactsFieldsButton", {
514
514
  enumerable: true,
515
- get: function () { return chunkYD3RN2FY_cjs.FactsFieldsButton; }
515
+ get: function () { return chunkU72QI2W3_cjs.FactsFieldsButton; }
516
516
  });
517
517
  Object.defineProperty(exports, "FactsGanttPane", {
518
518
  enumerable: true,
519
- get: function () { return chunkYD3RN2FY_cjs.FactsGanttPane; }
519
+ get: function () { return chunkU72QI2W3_cjs.FactsGanttPane; }
520
520
  });
521
521
  Object.defineProperty(exports, "FactsLoadError", {
522
522
  enumerable: true,
523
- get: function () { return chunkYD3RN2FY_cjs.FactsLoadError; }
523
+ get: function () { return chunkU72QI2W3_cjs.FactsLoadError; }
524
524
  });
525
525
  Object.defineProperty(exports, "FactsLoading", {
526
526
  enumerable: true,
527
- get: function () { return chunkYD3RN2FY_cjs.FactsLoading; }
527
+ get: function () { return chunkU72QI2W3_cjs.FactsLoading; }
528
528
  });
529
529
  Object.defineProperty(exports, "FactsToolbar", {
530
530
  enumerable: true,
531
- get: function () { return chunkYD3RN2FY_cjs.FactsToolbar; }
531
+ get: function () { return chunkU72QI2W3_cjs.FactsToolbar; }
532
532
  });
533
533
  Object.defineProperty(exports, "FactsViewToggle", {
534
534
  enumerable: true,
535
- get: function () { return chunkYD3RN2FY_cjs.FactsViewToggle; }
535
+ get: function () { return chunkU72QI2W3_cjs.FactsViewToggle; }
536
536
  });
537
537
  Object.defineProperty(exports, "ISO_DATE_FILTER_PARAMS", {
538
538
  enumerable: true,
539
- get: function () { return chunkYD3RN2FY_cjs.ISO_DATE_FILTER_PARAMS; }
539
+ get: function () { return chunkU72QI2W3_cjs.ISO_DATE_FILTER_PARAMS; }
540
540
  });
541
541
  Object.defineProperty(exports, "buildFactCitations", {
542
542
  enumerable: true,
543
- get: function () { return chunkYD3RN2FY_cjs.buildFactCitations; }
543
+ get: function () { return chunkU72QI2W3_cjs.buildFactCitations; }
544
544
  });
545
545
  Object.defineProperty(exports, "chronologyFactBodies", {
546
546
  enumerable: true,
547
- get: function () { return chunkYD3RN2FY_cjs.chronologyFactBodies; }
547
+ get: function () { return chunkU72QI2W3_cjs.chronologyFactBodies; }
548
548
  });
549
549
  Object.defineProperty(exports, "chunkIdsOf", {
550
550
  enumerable: true,
551
- get: function () { return chunkYD3RN2FY_cjs.chunkIdsOf; }
551
+ get: function () { return chunkU72QI2W3_cjs.chunkIdsOf; }
552
552
  });
553
553
  Object.defineProperty(exports, "citedVersionRef", {
554
554
  enumerable: true,
555
- get: function () { return chunkYD3RN2FY_cjs.citedVersionRef; }
555
+ get: function () { return chunkU72QI2W3_cjs.citedVersionRef; }
556
556
  });
557
557
  Object.defineProperty(exports, "createFactColumns", {
558
558
  enumerable: true,
559
- get: function () { return chunkYD3RN2FY_cjs.createFactColumns; }
559
+ get: function () { return chunkU72QI2W3_cjs.createFactColumns; }
560
560
  });
561
561
  Object.defineProperty(exports, "docIdsOf", {
562
562
  enumerable: true,
563
- get: function () { return chunkYD3RN2FY_cjs.docIdsOf; }
563
+ get: function () { return chunkU72QI2W3_cjs.docIdsOf; }
564
564
  });
565
565
  Object.defineProperty(exports, "enableFactTableColumnResize", {
566
566
  enumerable: true,
567
- get: function () { return chunkYD3RN2FY_cjs.enableFactTableColumnResize; }
567
+ get: function () { return chunkU72QI2W3_cjs.enableFactTableColumnResize; }
568
568
  });
569
569
  Object.defineProperty(exports, "factDateFieldsToSpan", {
570
570
  enumerable: true,
571
- get: function () { return chunkYD3RN2FY_cjs.factDateFieldsToSpan; }
571
+ get: function () { return chunkU72QI2W3_cjs.factDateFieldsToSpan; }
572
572
  });
573
573
  Object.defineProperty(exports, "factDateSpanToFields", {
574
574
  enumerable: true,
575
- get: function () { return chunkYD3RN2FY_cjs.factDateSpanToFields; }
575
+ get: function () { return chunkU72QI2W3_cjs.factDateSpanToFields; }
576
576
  });
577
577
  Object.defineProperty(exports, "hasChunk", {
578
578
  enumerable: true,
579
- get: function () { return chunkYD3RN2FY_cjs.hasChunk; }
579
+ get: function () { return chunkU72QI2W3_cjs.hasChunk; }
580
580
  });
581
581
  Object.defineProperty(exports, "isWholeDoc", {
582
582
  enumerable: true,
583
- get: function () { return chunkYD3RN2FY_cjs.isWholeDoc; }
583
+ get: function () { return chunkU72QI2W3_cjs.isWholeDoc; }
584
584
  });
585
585
  Object.defineProperty(exports, "parseChronologyDate", {
586
586
  enumerable: true,
587
- get: function () { return chunkYD3RN2FY_cjs.parseChronologyDate; }
587
+ get: function () { return chunkU72QI2W3_cjs.parseChronologyDate; }
588
588
  });
589
589
  Object.defineProperty(exports, "sourceDocCount", {
590
590
  enumerable: true,
591
- get: function () { return chunkYD3RN2FY_cjs.sourceDocCount; }
591
+ get: function () { return chunkU72QI2W3_cjs.sourceDocCount; }
592
592
  });
593
593
  Object.defineProperty(exports, "toFactCitations", {
594
594
  enumerable: true,
595
- get: function () { return chunkYD3RN2FY_cjs.toFactCitations; }
595
+ get: function () { return chunkU72QI2W3_cjs.toFactCitations; }
596
596
  });
597
597
  Object.defineProperty(exports, "withChunk", {
598
598
  enumerable: true,
599
- get: function () { return chunkYD3RN2FY_cjs.withChunk; }
599
+ get: function () { return chunkU72QI2W3_cjs.withChunk; }
600
600
  });
601
601
  Object.defineProperty(exports, "withDoc", {
602
602
  enumerable: true,
603
- get: function () { return chunkYD3RN2FY_cjs.withDoc; }
603
+ get: function () { return chunkU72QI2W3_cjs.withDoc; }
604
604
  });
605
605
  Object.defineProperty(exports, "withoutChunk", {
606
606
  enumerable: true,
607
- get: function () { return chunkYD3RN2FY_cjs.withoutChunk; }
607
+ get: function () { return chunkU72QI2W3_cjs.withoutChunk; }
608
608
  });
609
609
  Object.defineProperty(exports, "withoutDoc", {
610
610
  enumerable: true,
611
- get: function () { return chunkYD3RN2FY_cjs.withoutDoc; }
611
+ get: function () { return chunkU72QI2W3_cjs.withoutDoc; }
612
612
  });
613
613
  Object.defineProperty(exports, "DEFAULT_FACT_PASSAGES_LABELS", {
614
614
  enumerable: true,
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { DEFAULT_FACT_COLUMN_LABELS, createFactColumns, FactRowActions } from '../chunk-75Z5AUMM.js';
3
- export { DEFAULT_FACTS_BULK_BAR_LABELS, DEFAULT_FACTS_EMPTY_STATE_LABELS, DEFAULT_FACTS_FIELDS_BUTTON_LABELS, DEFAULT_FACTS_TOOLBAR_LABELS, DEFAULT_FACTS_VIEW_TOGGLE_LABELS, DEFAULT_FACT_COLUMN_LABELS, DEFAULT_FACT_COLUMN_ORDER, DEFAULT_FACT_COMPOSER_LABELS, DEFAULT_FACT_DATE_INPUT_LABELS, DEFAULT_FACT_LABELS_CELL_LABELS, DEFAULT_FACT_ROW_ACTIONS_LABELS, DEFAULT_FACT_SOURCES_ROW_LABELS, DEFAULT_FACT_SOURCE_GROUP_LABELS, DEFAULT_FACT_TIMELINE_LABELS, EMPTY_FACT_DATE_FIELDS, FactComposer, FactDateInput, FactFieldRow, FactLabelsCell, FactRowActions, FactSourceGroup, FactSourcesRow, FactsBulkBar, FactsCalendar, FactsEmptyState, FactsFieldsButton, FactsGanttPane, FactsLoadError, FactsLoading, FactsToolbar, FactsViewToggle, ISO_DATE_FILTER_PARAMS, buildFactCitations, chronologyFactBodies, chunkIdsOf, citedVersionRef, createFactColumns, docIdsOf, enableFactTableColumnResize, factDateFieldsToSpan, factDateSpanToFields, hasChunk, isWholeDoc, parseChronologyDate, sourceDocCount, toFactCitations, withChunk, withDoc, withoutChunk, withoutDoc } from '../chunk-75Z5AUMM.js';
2
+ import { DEFAULT_FACT_COLUMN_LABELS, createFactColumns, FactRowActions } from '../chunk-QB6JCNVG.js';
3
+ export { DEFAULT_FACTS_BULK_BAR_LABELS, DEFAULT_FACTS_EMPTY_STATE_LABELS, DEFAULT_FACTS_FIELDS_BUTTON_LABELS, DEFAULT_FACTS_TOOLBAR_LABELS, DEFAULT_FACTS_VIEW_TOGGLE_LABELS, DEFAULT_FACT_COLUMN_LABELS, DEFAULT_FACT_COLUMN_ORDER, DEFAULT_FACT_COMPOSER_LABELS, DEFAULT_FACT_DATE_INPUT_LABELS, DEFAULT_FACT_LABELS_CELL_LABELS, DEFAULT_FACT_ROW_ACTIONS_LABELS, DEFAULT_FACT_SOURCES_ROW_LABELS, DEFAULT_FACT_SOURCE_GROUP_LABELS, DEFAULT_FACT_TIMELINE_LABELS, EMPTY_FACT_DATE_FIELDS, FactComposer, FactDateInput, FactFieldRow, FactLabelsCell, FactRowActions, FactSourceGroup, FactSourcesRow, FactsBulkBar, FactsCalendar, FactsEmptyState, FactsFieldsButton, FactsGanttPane, FactsLoadError, FactsLoading, FactsToolbar, FactsViewToggle, ISO_DATE_FILTER_PARAMS, buildFactCitations, chronologyFactBodies, chunkIdsOf, citedVersionRef, createFactColumns, docIdsOf, enableFactTableColumnResize, factDateFieldsToSpan, factDateSpanToFields, hasChunk, isWholeDoc, parseChronologyDate, sourceDocCount, toFactCitations, withChunk, withDoc, withoutChunk, withoutDoc } from '../chunk-QB6JCNVG.js';
4
4
  import '../chunk-JJA6GQKH.js';
5
5
  export { DEFAULT_FACT_PASSAGES_LABELS, FactPassageItem, FactSourcesPanel, renderPreviewInline, toPreviewLine } from '../chunk-HFZ45FD3.js';
6
6
  import { SearchHit } from '../chunk-V5HVPQP7.js';
@@ -9,7 +9,6 @@ export { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
9
9
  import '../chunk-NUNKSZKU.js';
10
10
  export { DEFAULT_FILTER_INPUT_LABELS as DEFAULT_FACTS_FILTER_INPUT_LABELS, DEFAULT_FILTER_FIELDS as FACTS_SEARCH_FIELD_OPTIONS, FilterInput as FactsFilterInput } from '../chunk-YU2KUMGE.js';
11
11
  import { GridView } from '../chunk-7F5Z4K5W.js';
12
- import '../chunk-OJIX5NBN.js';
13
12
  import '../chunk-ABEKUV6L.js';
14
13
  import { initials } from '../chunk-5VYJP6XD.js';
15
14
  import '../chunk-SLSBJRWW.js';
@@ -18,6 +17,7 @@ import '../chunk-GRT4EH76.js';
18
17
  import '../chunk-U4HWVCRN.js';
19
18
  import '../chunk-TX2ZICS7.js';
20
19
  import { testIdOr } from '../chunk-7F6CBP3Z.js';
20
+ import '../chunk-OJIX5NBN.js';
21
21
  import '../chunk-VUNV25KB.js';
22
22
  import { useMemo } from 'react';
23
23
  import { Button, cn } from '@arbidocs/react/ui';