alinea 2.0.0-preview.4 → 2.0.0-preview.6

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 (187) hide show
  1. package/dist/.init/content/pages/welcome.json +1 -1
  2. package/dist/.init/src/cms.ts +1 -4
  3. package/dist/LICENSES.md +137 -137
  4. package/dist/adapter/next/cms.js +5 -1
  5. package/dist/adapter/next/handler.js +35 -6
  6. package/dist/adapter/next/previews.js +7 -1
  7. package/dist/adapter/next/syncCheck.d.ts +12 -0
  8. package/dist/adapter/next/syncCheck.js +59 -0
  9. package/dist/adapter/next/with-alinea.d.ts +0 -8
  10. package/dist/adapter/next/with-alinea.js +43 -19
  11. package/dist/adapter/vite/plugin.js +9 -4
  12. package/dist/backend/Handler.js +106 -0
  13. package/dist/backend/api/GithubApi.js +16 -7
  14. package/dist/backend/api/ProxyMedia.d.ts +3 -0
  15. package/dist/backend/api/ProxyMedia.js +39 -0
  16. package/dist/backend/api/S3Uploads.d.ts +1 -1
  17. package/dist/backend/router/Router.js +2 -0
  18. package/dist/backend/util/Syncable.js +1 -1
  19. package/dist/bundled.d.ts +166 -73
  20. package/dist/chunks/{chunk-XMOVGDFI.js → chunk-7IOKMUKO.js} +1 -1
  21. package/dist/chunks/{chunk-O7XWTMCB.js → chunk-D6RGFNUW.js} +73 -72
  22. package/dist/chunks/{chunk-VXZM6V4P.js → chunk-OFEKTDRF.js} +41 -41
  23. package/dist/cli/Generate.js +3 -4
  24. package/dist/cli/Serve.js +3 -2
  25. package/dist/cli/bin.js +1 -1
  26. package/dist/cli/generate/FillCache.d.ts +1 -1
  27. package/dist/cli/generate/FillCache.js +20 -9
  28. package/dist/cli/generate/GenerateDashboard.js +1 -0
  29. package/dist/cli/serve/CreateLocalServer.d.ts +1 -1
  30. package/dist/cli/serve/CreateLocalServer.js +42 -34
  31. package/dist/cli/serve/DevServer.js +1 -0
  32. package/dist/cli/static/init/cms.js +1 -4
  33. package/dist/cli/util/ContentType.d.ts +1 -0
  34. package/dist/cli/util/ContentType.js +36 -0
  35. package/dist/cli/util/Emitter.js +1 -1
  36. package/dist/cloud/CloudHandshake.d.ts +6 -0
  37. package/dist/cloud/CloudHandshake.js +67 -10
  38. package/dist/cloud/CloudRemote.js +24 -11
  39. package/dist/components/Breadcrumbs.js +7 -7
  40. package/dist/components/Button.js +5 -5
  41. package/dist/components/Calendar.js +7 -7
  42. package/dist/components/Checkbox.js +8 -8
  43. package/dist/components/CheckboxGroup.js +5 -5
  44. package/dist/components/ColorSwatch.js +5 -5
  45. package/dist/components/ColorSwatchPicker.js +7 -7
  46. package/dist/components/ComboBox.js +14 -14
  47. package/dist/components/DateField.js +8 -8
  48. package/dist/components/DatePicker.js +10 -10
  49. package/dist/components/DateRangePicker.js +11 -11
  50. package/dist/components/Dialog.js +5 -5
  51. package/dist/components/Disclosure.js +11 -11
  52. package/dist/components/DropZone.js +5 -5
  53. package/dist/components/Label.js +9 -9
  54. package/dist/components/Link.js +5 -5
  55. package/dist/components/List.d.ts +1 -1
  56. package/dist/components/List.js +37 -36
  57. package/dist/components/Menu.js +9 -9
  58. package/dist/components/Modal.js +8 -8
  59. package/dist/components/MultipleSelect.js +33 -33
  60. package/dist/components/NumberField.js +11 -11
  61. package/dist/components/Popover.js +5 -5
  62. package/dist/components/ProgressCircle.js +8 -8
  63. package/dist/components/RadioGroup.js +7 -7
  64. package/dist/components/SearchField.js +10 -10
  65. package/dist/components/Select.js +12 -12
  66. package/dist/components/Surface.js +3 -3
  67. package/dist/components/Switch.js +7 -7
  68. package/dist/components/Table.js +11 -11
  69. package/dist/components/Tabs.js +9 -9
  70. package/dist/components/TagGroup.js +7 -7
  71. package/dist/components/TextField.js +10 -10
  72. package/dist/components/TimeField.js +5 -5
  73. package/dist/components/Toggle.js +5 -5
  74. package/dist/components/Toolbar.js +6 -6
  75. package/dist/components/Tooltip.js +8 -8
  76. package/dist/components/Tree.js +13 -13
  77. package/dist/core/Config.d.ts +10 -3
  78. package/dist/core/Config.js +16 -1
  79. package/dist/core/Graph.d.ts +2 -2
  80. package/dist/core/Role.js +16 -14
  81. package/dist/core/TextDoc.d.ts +2 -0
  82. package/dist/core/TextDoc.js +1 -0
  83. package/dist/core/Workspace.d.ts +6 -5
  84. package/dist/core/db/EntryIndex.d.ts +3 -0
  85. package/dist/core/db/EntryIndex.js +55 -0
  86. package/dist/core/db/EntryTransaction.js +34 -32
  87. package/dist/core/db/EntryUrlConflictError.js +1 -1
  88. package/dist/core/db/LinkResolver.d.ts +8 -2
  89. package/dist/core/db/LinkResolver.js +27 -5
  90. package/dist/core/field/RichTextField.js +16 -10
  91. package/dist/core/media/MediaLocation.d.ts +9 -15
  92. package/dist/core/media/MediaLocation.js +29 -19
  93. package/dist/core/media/MediaTypes.js +1 -2
  94. package/dist/dashboard/App.js +4 -4
  95. package/dist/dashboard/app/ActivityStatus.js +31 -37
  96. package/dist/dashboard/app/AppShell.js +2 -2
  97. package/dist/dashboard/app/AuthView.js +12 -12
  98. package/dist/dashboard/app/Badge.js +2 -2
  99. package/dist/dashboard/app/CompactField.js +9 -9
  100. package/dist/dashboard/app/DashboardErrorBoundary.js +6 -6
  101. package/dist/dashboard/app/EntryFields.d.ts +3 -1
  102. package/dist/dashboard/app/EntryFields.js +11 -8
  103. package/dist/dashboard/app/EntryHeader.js +116 -84
  104. package/dist/dashboard/app/EntryHeaderActions.d.ts +21 -4
  105. package/dist/dashboard/app/EntryHeaderActions.js +48 -27
  106. package/dist/dashboard/app/EntryReferences.js +6 -6
  107. package/dist/dashboard/app/EntrySidebar.js +15 -15
  108. package/dist/dashboard/app/EntrySidebarPreview.js +4 -4
  109. package/dist/dashboard/app/EntryTranslationBanner.d.ts +3 -1
  110. package/dist/dashboard/app/EntryTranslationBanner.js +23 -20
  111. package/dist/dashboard/app/Explorer.d.ts +4 -2
  112. package/dist/dashboard/app/Explorer.js +53 -49
  113. package/dist/dashboard/app/ExplorerCards.js +31 -31
  114. package/dist/dashboard/app/ExplorerFileCard.js +16 -16
  115. package/dist/dashboard/app/ExplorerList.js +14 -15
  116. package/dist/dashboard/app/ExplorerModal.js +4 -4
  117. package/dist/dashboard/app/ExplorerTable.js +54 -54
  118. package/dist/dashboard/app/LinkPicker.js +5 -5
  119. package/dist/dashboard/app/LocaleMenu.d.ts +7 -0
  120. package/dist/dashboard/app/LocaleMenu.js +34 -18
  121. package/dist/dashboard/app/ReadOnlyBadge.d.ts +4 -0
  122. package/dist/dashboard/app/ReadOnlyBadge.js +33 -0
  123. package/dist/dashboard/app/SidebarTree.d.ts +3 -6
  124. package/dist/dashboard/app/SidebarTree.js +62 -57
  125. package/dist/dashboard/app/WorkspaceMenu.js +16 -16
  126. package/dist/dashboard/app/WorkspaceRoots.js +21 -21
  127. package/dist/dashboard/app/editor/FileEditor.d.ts +2 -3
  128. package/dist/dashboard/app/editor/FileEditor.js +24 -27
  129. package/dist/dashboard/app/editor/FilePreview.js +4 -4
  130. package/dist/dashboard/app/modals/CreateEntry.js +5 -5
  131. package/dist/dashboard/app/pages/EntryPage.js +72 -29
  132. package/dist/dashboard/app/pages/RootPage.js +3 -3
  133. package/dist/dashboard/app/pages/SplashPage.js +45 -45
  134. package/dist/dashboard/app/pages/UsersPage.js +36 -36
  135. package/dist/dashboard/app/ui/DashboardModal.js +21 -21
  136. package/dist/dashboard/app/ui/Rail.js +5 -5
  137. package/dist/dashboard/app/ui/Sidebar.js +2 -2
  138. package/dist/dashboard/atoms/activity.d.ts +0 -2
  139. package/dist/dashboard/atoms/activity.js +4 -10
  140. package/dist/dashboard/atoms/editor.d.ts +2 -1
  141. package/dist/dashboard/atoms/editor.js +4 -2
  142. package/dist/dashboard/atoms/entry.d.ts +2 -0
  143. package/dist/dashboard/atoms/entry.js +32 -14
  144. package/dist/dashboard/atoms/explorer.d.ts +4 -3
  145. package/dist/dashboard/atoms/explorer.js +61 -22
  146. package/dist/dashboard/atoms/link.d.ts +1 -1
  147. package/dist/dashboard/atoms/link.js +39 -55
  148. package/dist/dashboard/atoms/root.d.ts +7 -2
  149. package/dist/dashboard/atoms/root.js +51 -16
  150. package/dist/dashboard/atoms/upload.d.ts +1 -0
  151. package/dist/dashboard/atoms/upload.js +2 -1
  152. package/dist/dashboard/boot/ActivityEvent.d.ts +1 -1
  153. package/dist/dashboard/boot/DashboardWorker.js +2 -28
  154. package/dist/dashboard/fixture/cms.js +1 -4
  155. package/dist/dashboard/hook/UseSaveShortcut.d.ts +1 -0
  156. package/dist/dashboard/hook/UseSaveShortcut.js +24 -0
  157. package/dist/dashboard/hooks.d.ts +1 -1
  158. package/dist/dashboard/hooks.js +12 -3
  159. package/dist/field/check/CheckField.view.js +2 -2
  160. package/dist/field/code/CodeField.view.js +11 -11
  161. package/dist/field/date/DateField.view.js +5 -5
  162. package/dist/field/link/ImageLink.js +1 -3
  163. package/dist/field/link/LinkField.view.js +88 -62
  164. package/dist/field/list/ListField.view.js +25 -25
  165. package/dist/field/metadata/MetadataField.d.ts +3 -3
  166. package/dist/field/metadata/MetadataField.view.js +27 -20
  167. package/dist/field/object/ObjectField.view.js +11 -4
  168. package/dist/field/richtext/PickTextLink.js +5 -2
  169. package/dist/field/richtext/ReferenceLink.d.ts +2 -0
  170. package/dist/field/richtext/ReferenceLink.js +5 -0
  171. package/dist/field/richtext/RichTextBlock.js +2 -2
  172. package/dist/field/richtext/RichTextExtensions.js +24 -24
  173. package/dist/field/richtext/RichTextField.view.js +2 -2
  174. package/dist/field/richtext/RichTextInsertMenu.js +3 -3
  175. package/dist/field/richtext/extensions/Link.d.ts +1 -0
  176. package/dist/field/richtext/extensions/Link.js +1 -0
  177. package/dist/field/select/SelectField.view.js +1 -1
  178. package/dist/field/time/TimeField.d.ts +0 -2
  179. package/dist/field/time/TimeField.view.js +1 -1
  180. package/dist/index.css +44 -38
  181. package/dist/next.cjs +96 -19
  182. package/dist/picker/entry/EntryPicker.js +10 -12
  183. package/dist/picker/entry/EntryReference.d.ts +2 -0
  184. package/dist/picker/entry/EntryReference.js +1 -0
  185. package/dist/types.d.ts +0 -1
  186. package/package.json +1 -1
  187. package/dist/chunks/{chunk-6V4TAD2N.js → chunk-DNJX6CRV.js} +4 -4
@@ -4,25 +4,72 @@ import "../chunks/chunk-CQ52GEHY.js";
4
4
  import { decode, verify } from "alinea/core/util/JWT";
5
5
  import { isRecord } from "alinea/core/util/Objects";
6
6
  import { cloudConfig } from "./CloudConfig.js";
7
+ var CloudHandshakeError = class extends Error {
8
+ name = "CloudHandshakeError";
9
+ };
10
+ var CloudHandshakeServiceError = class extends Error {
11
+ name = "CloudHandshakeServiceError";
12
+ };
7
13
  var keysPromise;
8
14
  var keysExpireAt = 0;
9
15
  var lastForcedRefreshAt = 0;
10
16
  var keyCacheLifetime = 5 * 60 * 1e3;
11
17
  var forcedRefreshInterval = 60 * 1e3;
18
+ var verificationMessages = {
19
+ "Invalid signature": "Handshake token signature is invalid",
20
+ "Token expired": "Handshake token has expired",
21
+ "Token not yet valid": "Handshake token is not yet valid",
22
+ "Invalid exp value": "Handshake token expiration is invalid",
23
+ "Invalid nbf value": "Handshake token not-before claim is invalid"
24
+ };
12
25
  async function verifyCloudHandshake(token, options) {
13
- const { header } = decode(token);
14
- if (header.alg !== "RS256" || typeof header.kid !== "string")
15
- throw new Error("Invalid handshake token header");
26
+ const { header } = decodeHandshakeToken(token);
27
+ if (!isRecord(header) || header.alg !== "RS256" || typeof header.kid !== "string" || !header.kid)
28
+ throw new CloudHandshakeError("Handshake token header is invalid");
16
29
  let key = (await cloudKeys()).find((key2) => key2.kid === header.kid);
17
30
  if (!key) {
18
31
  key = (await refreshCloudKeys()).find((key2) => key2.kid === header.kid);
19
32
  }
20
- if (!key) throw new Error("Unknown handshake signing key");
21
- const payload = await verify(token, key, { algorithms: ["RS256"] });
22
- if (!isRecord(payload) || payload.purpose !== "handshake" || payload.handshake_id !== options.handshakeId || payload.aud !== options.clientId || payload.iss !== normalizedCloudUrl() || payload.origin !== options.origin || typeof payload.project !== "string" || typeof payload.iat !== "number" || typeof payload.exp !== "number") {
23
- throw new Error("Invalid handshake token claims");
33
+ if (!key)
34
+ throw new CloudHandshakeError("Handshake token signing key is unknown");
35
+ const payload = await verify(token, key, { algorithms: ["RS256"] }).catch(
36
+ (cause) => {
37
+ throw verificationError(cause);
38
+ }
39
+ );
40
+ if (!isRecord(payload))
41
+ throw new CloudHandshakeError("Handshake token payload is invalid");
42
+ assertClaim("purpose", payload.purpose, "handshake");
43
+ assertClaim("ID", payload.handshake_id, options.handshakeId);
44
+ assertClaim("audience", payload.aud, options.clientId);
45
+ assertClaim("issuer", payload.iss, normalizedCloudUrl());
46
+ assertClaim("origin", payload.origin, options.origin);
47
+ if (typeof payload.project !== "string")
48
+ throw new CloudHandshakeError("Handshake project claim is invalid");
49
+ if (typeof payload.iat !== "number")
50
+ throw new CloudHandshakeError("Handshake issued-at claim is invalid");
51
+ if (typeof payload.exp !== "number")
52
+ throw new CloudHandshakeError("Handshake expiration claim is invalid");
53
+ }
54
+ function assertClaim(name, received, expected) {
55
+ if (received !== expected)
56
+ throw new CloudHandshakeError(
57
+ `Handshake ${name} mismatch: expected ${expected}, received ${String(received)}`
58
+ );
59
+ }
60
+ function decodeHandshakeToken(token) {
61
+ try {
62
+ return decode(token);
63
+ } catch (cause) {
64
+ throw new CloudHandshakeError("Handshake token is malformed", { cause });
24
65
  }
25
66
  }
67
+ function verificationError(cause) {
68
+ const reason = cause instanceof Error && verificationMessages[cause.message];
69
+ return reason ? new CloudHandshakeError(reason, { cause }) : new CloudHandshakeServiceError("Could not verify handshake token", {
70
+ cause
71
+ });
72
+ }
26
73
  function cloudKeys() {
27
74
  if (keysPromise && (keysExpireAt === 0 || Date.now() < keysExpireAt))
28
75
  return keysPromise;
@@ -40,16 +87,24 @@ function loadCloudKeys() {
40
87
  keysExpireAt = 0;
41
88
  keysPromise = fetch(cloudConfig.jwks).then(async (response) => {
42
89
  if (!response.ok)
43
- throw new Error(`Could not load handshake keys: ${response.status}`);
90
+ throw new CloudHandshakeServiceError(
91
+ `Could not load handshake signing keys: ${response.status}`
92
+ );
44
93
  const body = await response.json();
45
94
  if (!isRecord(body) || !Array.isArray(body.keys))
46
- throw new Error("Invalid handshake key response");
95
+ throw new CloudHandshakeServiceError(
96
+ "Cloud returned invalid handshake signing keys"
97
+ );
47
98
  keysExpireAt = Date.now() + keyCacheLifetime;
48
99
  return body.keys.filter(isCloudKey);
49
100
  }).catch((cause) => {
50
101
  keysPromise = void 0;
51
102
  keysExpireAt = 0;
52
- throw cause;
103
+ if (cause instanceof CloudHandshakeServiceError) throw cause;
104
+ throw new CloudHandshakeServiceError(
105
+ "Could not load handshake signing keys",
106
+ { cause }
107
+ );
53
108
  });
54
109
  return keysPromise;
55
110
  }
@@ -60,5 +115,7 @@ function normalizedCloudUrl() {
60
115
  return cloudConfig.url.replace(/\/$/, "");
61
116
  }
62
117
  export {
118
+ CloudHandshakeError,
119
+ CloudHandshakeServiceError,
63
120
  verifyCloudHandshake
64
121
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "../chunks/chunk-XMOVGDFI.js";
3
+ } from "../chunks/chunk-7IOKMUKO.js";
4
4
  import "../chunks/chunk-CQ52GEHY.js";
5
5
 
6
6
  // src/cloud/CloudRemote.ts
@@ -15,12 +15,17 @@ import { HttpError } from "alinea/core/HttpError";
15
15
  import { ShaMismatchError } from "alinea/core/source/ShaMismatchError";
16
16
  import { ReadonlyTree } from "alinea/core/source/Tree";
17
17
  import { base64 } from "alinea/core/util/Encoding";
18
- import { entries, values } from "alinea/core/util/Objects";
18
+ import { entries } from "alinea/core/util/Objects";
19
19
  import { Workspace } from "alinea/core/Workspace";
20
+ import { MediaLocation } from "alinea/core/media/MediaLocation";
20
21
  import { Response } from "@alinea/iso";
21
22
  import { AuthResultType } from "./AuthResult.js";
22
23
  import { cloudConfig } from "./CloudConfig.js";
23
- import { verifyCloudHandshake } from "./CloudHandshake.js";
24
+ import {
25
+ CloudHandshakeError,
26
+ CloudHandshakeServiceError,
27
+ verifyCloudHandshake
28
+ } from "./CloudHandshake.js";
24
29
  var CloudRemote = class extends OAuth2 {
25
30
  #context;
26
31
  #config;
@@ -125,9 +130,9 @@ var CloudRemote = class extends OAuth2 {
125
130
  }
126
131
  // The cloud server will request a handshake confirmation on this route
127
132
  case AuthAction.Handshake: {
128
- const handShakeId = url.searchParams.get("handshake_id");
133
+ const handshakeId = url.searchParams.get("handshake_id");
129
134
  const handshakeToken = url.searchParams.get("handshake_token");
130
- if (!handShakeId || !handshakeToken)
135
+ if (!handshakeId || !handshakeToken)
131
136
  throw new HttpError(
132
137
  400,
133
138
  "Provide valid handshake credentials to initiate handshake"
@@ -138,14 +143,22 @@ var CloudRemote = class extends OAuth2 {
138
143
  try {
139
144
  await verifyCloudHandshake(handshakeToken, {
140
145
  clientId,
141
- handshakeId: handShakeId,
146
+ handshakeId,
142
147
  origin: new URL(ctx.handlerUrl).origin
143
148
  });
144
149
  } catch (cause) {
145
- throw new HttpError(401, "Invalid handshake token", { cause });
150
+ if (cause instanceof CloudHandshakeError)
151
+ throw new HttpError(
152
+ 401,
153
+ `Invalid handshake token: ${cause.message}`,
154
+ { cause }
155
+ );
156
+ if (cause instanceof CloudHandshakeServiceError)
157
+ throw new HttpError(503, cause.message, { cause });
158
+ throw new HttpError(500, "Could not verify handshake token", { cause });
146
159
  }
147
160
  const body = {
148
- handshake_id: handShakeId,
161
+ handshake_id: handshakeId,
149
162
  handshake_token: handshakeToken,
150
163
  status: {
151
164
  version: package_default.version,
@@ -157,9 +170,9 @@ var CloudRemote = class extends OAuth2 {
157
170
  };
158
171
  }),
159
172
  enableOAuth2: true,
160
- sourceDirectories: values(config.workspaces).flatMap((workspace) => {
161
- const { source, mediaDir } = Workspace.data(workspace);
162
- return [source, mediaDir];
173
+ sourceDirectories: entries(config.workspaces).flatMap(([key, workspace]) => {
174
+ const { source } = Workspace.data(workspace);
175
+ return [source, MediaLocation.directory(config, key)];
163
176
  }).filter(Boolean)
164
177
  }
165
178
  };
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  $65dbe90f868fa5f4$export$2dc68d50d56fbbd,
3
3
  $65dbe90f868fa5f4$export$dabcc1ec9dd9d1cc
4
- } from "../chunks/chunk-VXZM6V4P.js";
5
- import "../chunks/chunk-O7XWTMCB.js";
6
- import "../chunks/chunk-RKDPDEF7.js";
4
+ } from "../chunks/chunk-OFEKTDRF.js";
7
5
  import "../chunks/chunk-NIVGVRDS.js";
8
6
  import "../chunks/chunk-IYAQC63Y.js";
7
+ import "../chunks/chunk-DNJX6CRV.js";
8
+ import "../chunks/chunk-AC4U3IMS.js";
9
+ import "../chunks/chunk-D6RGFNUW.js";
10
+ import "../chunks/chunk-RKDPDEF7.js";
9
11
  import "../chunks/chunk-SJBZFMQ2.js";
10
- import "../chunks/chunk-6V4TAD2N.js";
11
12
  import "../chunks/chunk-S4AU6SRS.js";
12
- import "../chunks/chunk-AC4U3IMS.js";
13
13
  import {
14
14
  styler
15
15
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -17,8 +17,8 @@ import "../chunks/chunk-CQ52GEHY.js";
17
17
 
18
18
  // src/components/Breadcrumbs.module.css
19
19
  var Breadcrumbs_default = {
20
- "Breadcrumb": "alinea-Breadcrumb",
21
- "Breadcrumbs": "alinea-Breadcrumbs"
20
+ "Breadcrumbs": "alinea-Breadcrumbs",
21
+ "Breadcrumb": "alinea-Breadcrumb"
22
22
  };
23
23
 
24
24
  // src/components/Breadcrumbs.tsx
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  $7705c033048f6da7$export$353f5b6fc5456de1
3
- } from "../chunks/chunk-VXZM6V4P.js";
4
- import "../chunks/chunk-O7XWTMCB.js";
5
- import "../chunks/chunk-RKDPDEF7.js";
3
+ } from "../chunks/chunk-OFEKTDRF.js";
6
4
  import "../chunks/chunk-NIVGVRDS.js";
7
5
  import "../chunks/chunk-IYAQC63Y.js";
6
+ import "../chunks/chunk-DNJX6CRV.js";
7
+ import "../chunks/chunk-AC4U3IMS.js";
8
+ import "../chunks/chunk-D6RGFNUW.js";
9
+ import "../chunks/chunk-RKDPDEF7.js";
8
10
  import "../chunks/chunk-SJBZFMQ2.js";
9
- import "../chunks/chunk-6V4TAD2N.js";
10
11
  import "../chunks/chunk-S4AU6SRS.js";
11
- import "../chunks/chunk-AC4U3IMS.js";
12
12
  import {
13
13
  dist_default
14
14
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -5,15 +5,15 @@ import {
5
5
  $6f9a1820b787aac7$export$a4f5c8b89d277a8d,
6
6
  $6f9a1820b787aac7$export$e1aef45b828286de,
7
7
  $7705c033048f6da7$export$353f5b6fc5456de1
8
- } from "../chunks/chunk-VXZM6V4P.js";
9
- import "../chunks/chunk-O7XWTMCB.js";
10
- import "../chunks/chunk-RKDPDEF7.js";
8
+ } from "../chunks/chunk-OFEKTDRF.js";
11
9
  import "../chunks/chunk-NIVGVRDS.js";
12
10
  import "../chunks/chunk-IYAQC63Y.js";
11
+ import "../chunks/chunk-DNJX6CRV.js";
12
+ import "../chunks/chunk-AC4U3IMS.js";
13
+ import "../chunks/chunk-D6RGFNUW.js";
14
+ import "../chunks/chunk-RKDPDEF7.js";
13
15
  import "../chunks/chunk-SJBZFMQ2.js";
14
- import "../chunks/chunk-6V4TAD2N.js";
15
16
  import "../chunks/chunk-S4AU6SRS.js";
16
- import "../chunks/chunk-AC4U3IMS.js";
17
17
  import {
18
18
  dist_default
19
19
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -27,8 +27,6 @@ import {
27
27
 
28
28
  // src/components/Calendar.module.css
29
29
  var Calendar_default = {
30
- "Calendar-button": "alinea-Calendar-button",
31
- "CalendarButton": "alinea-Calendar-button",
32
30
  "Calendar-grid": "alinea-Calendar-grid",
33
31
  "CalendarGrid": "alinea-Calendar-grid",
34
32
  "Calendar-cell": "alinea-Calendar-cell",
@@ -36,6 +34,8 @@ var Calendar_default = {
36
34
  "Calendar": "alinea-Calendar",
37
35
  "Calendar-header": "alinea-Calendar-header",
38
36
  "CalendarHeader": "alinea-Calendar-header",
37
+ "Calendar-button": "alinea-Calendar-button",
38
+ "CalendarButton": "alinea-Calendar-button",
39
39
  "Calendar-heading": "alinea-Calendar-heading",
40
40
  "CalendarHeading": "alinea-Calendar-heading"
41
41
  };
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  $ed8ccb2e23e76301$export$48513f6b9f8ce62d
3
- } from "../chunks/chunk-VXZM6V4P.js";
4
- import "../chunks/chunk-O7XWTMCB.js";
5
- import "../chunks/chunk-RKDPDEF7.js";
3
+ } from "../chunks/chunk-OFEKTDRF.js";
6
4
  import "../chunks/chunk-NIVGVRDS.js";
7
5
  import "../chunks/chunk-IYAQC63Y.js";
6
+ import "../chunks/chunk-DNJX6CRV.js";
7
+ import "../chunks/chunk-AC4U3IMS.js";
8
+ import "../chunks/chunk-D6RGFNUW.js";
9
+ import "../chunks/chunk-RKDPDEF7.js";
8
10
  import "../chunks/chunk-SJBZFMQ2.js";
9
- import "../chunks/chunk-6V4TAD2N.js";
10
11
  import "../chunks/chunk-S4AU6SRS.js";
11
- import "../chunks/chunk-AC4U3IMS.js";
12
12
  import {
13
13
  dist_default
14
14
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -16,11 +16,11 @@ import "../chunks/chunk-CQ52GEHY.js";
16
16
 
17
17
  // src/components/Checkbox.module.css
18
18
  var Checkbox_default = {
19
- "Checkbox": "alinea-Checkbox",
19
+ "Checkbox-mark": "alinea-Checkbox-mark",
20
+ "CheckboxMark": "alinea-Checkbox-mark",
20
21
  "Checkbox-box": "alinea-Checkbox-box",
21
22
  "CheckboxBox": "alinea-Checkbox-box",
22
- "Checkbox-mark": "alinea-Checkbox-mark",
23
- "CheckboxMark": "alinea-Checkbox-mark"
23
+ "Checkbox": "alinea-Checkbox"
24
24
  };
25
25
 
26
26
  // src/components/Checkbox.tsx
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  $ed8ccb2e23e76301$export$4aa08d5625cb8ead
3
- } from "../chunks/chunk-VXZM6V4P.js";
4
- import "../chunks/chunk-O7XWTMCB.js";
5
- import "../chunks/chunk-RKDPDEF7.js";
3
+ } from "../chunks/chunk-OFEKTDRF.js";
6
4
  import "../chunks/chunk-NIVGVRDS.js";
7
5
  import "../chunks/chunk-IYAQC63Y.js";
6
+ import "../chunks/chunk-DNJX6CRV.js";
7
+ import "../chunks/chunk-AC4U3IMS.js";
8
+ import "../chunks/chunk-D6RGFNUW.js";
9
+ import "../chunks/chunk-RKDPDEF7.js";
8
10
  import "../chunks/chunk-SJBZFMQ2.js";
9
- import "../chunks/chunk-6V4TAD2N.js";
10
11
  import "../chunks/chunk-S4AU6SRS.js";
11
- import "../chunks/chunk-AC4U3IMS.js";
12
12
  import {
13
13
  dist_default
14
14
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  $eeaff5a2d2421ecc$export$cae13e90592f246a
3
- } from "../chunks/chunk-VXZM6V4P.js";
4
- import "../chunks/chunk-O7XWTMCB.js";
5
- import "../chunks/chunk-RKDPDEF7.js";
3
+ } from "../chunks/chunk-OFEKTDRF.js";
6
4
  import "../chunks/chunk-NIVGVRDS.js";
7
5
  import "../chunks/chunk-IYAQC63Y.js";
6
+ import "../chunks/chunk-DNJX6CRV.js";
7
+ import "../chunks/chunk-AC4U3IMS.js";
8
+ import "../chunks/chunk-D6RGFNUW.js";
9
+ import "../chunks/chunk-RKDPDEF7.js";
8
10
  import "../chunks/chunk-SJBZFMQ2.js";
9
- import "../chunks/chunk-6V4TAD2N.js";
10
11
  import "../chunks/chunk-S4AU6SRS.js";
11
- import "../chunks/chunk-AC4U3IMS.js";
12
12
  import {
13
13
  dist_default
14
14
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  $a36727cf8b43b57f$export$abcd89c27081c2ef,
3
3
  $a36727cf8b43b57f$export$b46792416e3d8515
4
- } from "../chunks/chunk-VXZM6V4P.js";
5
- import "../chunks/chunk-O7XWTMCB.js";
6
- import "../chunks/chunk-RKDPDEF7.js";
4
+ } from "../chunks/chunk-OFEKTDRF.js";
7
5
  import "../chunks/chunk-NIVGVRDS.js";
8
6
  import "../chunks/chunk-IYAQC63Y.js";
7
+ import "../chunks/chunk-DNJX6CRV.js";
8
+ import "../chunks/chunk-AC4U3IMS.js";
9
+ import "../chunks/chunk-D6RGFNUW.js";
10
+ import "../chunks/chunk-RKDPDEF7.js";
9
11
  import "../chunks/chunk-SJBZFMQ2.js";
10
- import "../chunks/chunk-6V4TAD2N.js";
11
12
  import "../chunks/chunk-S4AU6SRS.js";
12
- import "../chunks/chunk-AC4U3IMS.js";
13
13
  import {
14
14
  dist_default
15
15
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -20,8 +20,8 @@ import { ColorSwatch } from "./ColorSwatch.js";
20
20
 
21
21
  // src/components/ColorSwatchPicker.module.css
22
22
  var ColorSwatchPicker_default = {
23
- "ColorSwatchPicker": "alinea-ColorSwatchPicker",
24
- "ColorSwatchPickerItem": "alinea-ColorSwatchPickerItem"
23
+ "ColorSwatchPickerItem": "alinea-ColorSwatchPickerItem",
24
+ "ColorSwatchPicker": "alinea-ColorSwatchPicker"
25
25
  };
26
26
 
27
27
  // src/components/ColorSwatchPicker.tsx
@@ -5,15 +5,15 @@ import {
5
5
  $928221da08ecbc62$export$a11e76429ed99b4,
6
6
  $dbdc5e6e7ce01b4b$export$72b9695b8216309a,
7
7
  $dbdc5e6e7ce01b4b$export$c02625b26074192c
8
- } from "../chunks/chunk-VXZM6V4P.js";
9
- import "../chunks/chunk-O7XWTMCB.js";
10
- import "../chunks/chunk-RKDPDEF7.js";
8
+ } from "../chunks/chunk-OFEKTDRF.js";
11
9
  import "../chunks/chunk-NIVGVRDS.js";
12
10
  import "../chunks/chunk-IYAQC63Y.js";
11
+ import "../chunks/chunk-DNJX6CRV.js";
12
+ import "../chunks/chunk-AC4U3IMS.js";
13
+ import "../chunks/chunk-D6RGFNUW.js";
14
+ import "../chunks/chunk-RKDPDEF7.js";
13
15
  import "../chunks/chunk-SJBZFMQ2.js";
14
- import "../chunks/chunk-6V4TAD2N.js";
15
16
  import "../chunks/chunk-S4AU6SRS.js";
16
- import "../chunks/chunk-AC4U3IMS.js";
17
17
  import {
18
18
  dist_default
19
19
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -29,24 +29,24 @@ import {
29
29
 
30
30
  // src/components/ComboBox.module.css
31
31
  var ComboBox_default = {
32
- "ComboBoxPopover-listbox": "alinea-ComboBoxPopover-listbox",
33
- "ComboBoxPopoverListbox": "alinea-ComboBoxPopover-listbox",
34
32
  "ComboBoxItem-check": "alinea-ComboBoxItem-check",
35
33
  "ComboBoxItemCheck": "alinea-ComboBoxItem-check",
36
- "ComboBoxTrigger-actions": "alinea-ComboBoxTrigger-actions",
37
- "ComboBoxTriggerActions": "alinea-ComboBoxTrigger-actions",
38
- "ComboBox": "alinea-ComboBox",
39
34
  "ComboBoxTrigger-button-value": "alinea-ComboBoxTrigger-button-value",
40
35
  "ComboBoxTriggerButtonValue": "alinea-ComboBoxTrigger-button-value",
41
36
  "ComboBoxTrigger-button-arrow": "alinea-ComboBoxTrigger-button-arrow",
42
37
  "ComboBoxTriggerButtonArrow": "alinea-ComboBoxTrigger-button-arrow",
43
- "ComboBoxTrigger": "alinea-ComboBoxTrigger",
44
- "ComboBoxClear": "alinea-ComboBoxClear",
45
- "ComboBoxItem": "alinea-ComboBoxItem",
46
38
  "ComboBoxTrigger-button": "alinea-ComboBoxTrigger-button",
47
39
  "ComboBoxTriggerButton": "alinea-ComboBoxTrigger-button",
40
+ "ComboBoxTrigger": "alinea-ComboBoxTrigger",
41
+ "ComboBoxClear": "alinea-ComboBoxClear",
48
42
  "ComboBoxTrigger-input": "alinea-ComboBoxTrigger-input",
49
- "ComboBoxTriggerInput": "alinea-ComboBoxTrigger-input"
43
+ "ComboBoxTriggerInput": "alinea-ComboBoxTrigger-input",
44
+ "ComboBoxPopover-listbox": "alinea-ComboBoxPopover-listbox",
45
+ "ComboBoxPopoverListbox": "alinea-ComboBoxPopover-listbox",
46
+ "ComboBoxTrigger-actions": "alinea-ComboBoxTrigger-actions",
47
+ "ComboBoxTriggerActions": "alinea-ComboBoxTrigger-actions",
48
+ "ComboBoxItem": "alinea-ComboBoxItem",
49
+ "ComboBox": "alinea-ComboBox"
50
50
  };
51
51
 
52
52
  // src/components/ComboBox.tsx
@@ -3,15 +3,15 @@ import {
3
3
  $5400c097f4765e59$export$336ab7fa954c4b5f,
4
4
  $5400c097f4765e59$export$7edc06cf1783b30f,
5
5
  $5400c097f4765e59$export$d9781c7894a82487
6
- } from "../chunks/chunk-VXZM6V4P.js";
7
- import "../chunks/chunk-O7XWTMCB.js";
8
- import "../chunks/chunk-RKDPDEF7.js";
6
+ } from "../chunks/chunk-OFEKTDRF.js";
9
7
  import "../chunks/chunk-NIVGVRDS.js";
10
8
  import "../chunks/chunk-IYAQC63Y.js";
9
+ import "../chunks/chunk-DNJX6CRV.js";
10
+ import "../chunks/chunk-AC4U3IMS.js";
11
+ import "../chunks/chunk-D6RGFNUW.js";
12
+ import "../chunks/chunk-RKDPDEF7.js";
11
13
  import "../chunks/chunk-SJBZFMQ2.js";
12
- import "../chunks/chunk-6V4TAD2N.js";
13
14
  import "../chunks/chunk-S4AU6SRS.js";
14
- import "../chunks/chunk-AC4U3IMS.js";
15
15
  import {
16
16
  dist_default
17
17
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -19,11 +19,11 @@ import "../chunks/chunk-CQ52GEHY.js";
19
19
 
20
20
  // src/components/DateField.module.css
21
21
  var DateField_default = {
22
- "DateField-input": "alinea-DateField-input",
23
- "DateFieldInput": "alinea-DateField-input",
24
22
  "DateField": "alinea-DateField",
25
23
  "DateField-input-segment": "alinea-DateField-input-segment",
26
- "DateFieldInputSegment": "alinea-DateField-input-segment"
24
+ "DateFieldInputSegment": "alinea-DateField-input-segment",
25
+ "DateField-input": "alinea-DateField-input",
26
+ "DateFieldInput": "alinea-DateField-input"
27
27
  };
28
28
 
29
29
  // src/components/DateField.tsx
@@ -5,15 +5,15 @@ import {
5
5
  $7705c033048f6da7$export$353f5b6fc5456de1,
6
6
  $e539d00f123fdfd8$export$5109c6dd95d8fb00,
7
7
  $f2ff30fde7b014be$export$3ddf2d174ce01153
8
- } from "../chunks/chunk-VXZM6V4P.js";
9
- import "../chunks/chunk-O7XWTMCB.js";
10
- import "../chunks/chunk-RKDPDEF7.js";
8
+ } from "../chunks/chunk-OFEKTDRF.js";
11
9
  import "../chunks/chunk-NIVGVRDS.js";
12
10
  import "../chunks/chunk-IYAQC63Y.js";
11
+ import "../chunks/chunk-DNJX6CRV.js";
12
+ import "../chunks/chunk-AC4U3IMS.js";
13
+ import "../chunks/chunk-D6RGFNUW.js";
14
+ import "../chunks/chunk-RKDPDEF7.js";
13
15
  import "../chunks/chunk-SJBZFMQ2.js";
14
- import "../chunks/chunk-6V4TAD2N.js";
15
16
  import "../chunks/chunk-S4AU6SRS.js";
16
- import "../chunks/chunk-AC4U3IMS.js";
17
17
  import {
18
18
  dist_default
19
19
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -25,14 +25,14 @@ import { Calendar } from "./Calendar.js";
25
25
 
26
26
  // src/components/DatePicker.module.css
27
27
  var DatePicker_default = {
28
- "DatePicker": "alinea-DatePicker",
29
- "DatePicker-input": "alinea-DatePicker-input",
30
- "DatePickerInput": "alinea-DatePicker-input",
28
+ "Icon": "alinea-Icon",
31
29
  "DatePicker-input-segment": "alinea-DatePicker-input-segment",
32
30
  "DatePickerInputSegment": "alinea-DatePicker-input-segment",
33
- "Icon": "alinea-Icon",
34
31
  "DatePicker-trigger": "alinea-DatePicker-trigger",
35
- "DatePickerTrigger": "alinea-DatePicker-trigger"
32
+ "DatePickerTrigger": "alinea-DatePicker-trigger",
33
+ "DatePicker-input": "alinea-DatePicker-input",
34
+ "DatePickerInput": "alinea-DatePicker-input",
35
+ "DatePicker": "alinea-DatePicker"
36
36
  };
37
37
 
38
38
  // src/components/DatePicker.tsx
@@ -5,15 +5,15 @@ import {
5
5
  $7705c033048f6da7$export$353f5b6fc5456de1,
6
6
  $e539d00f123fdfd8$export$17334619f3ac2224,
7
7
  $f2ff30fde7b014be$export$3ddf2d174ce01153
8
- } from "../chunks/chunk-VXZM6V4P.js";
9
- import "../chunks/chunk-O7XWTMCB.js";
10
- import "../chunks/chunk-RKDPDEF7.js";
8
+ } from "../chunks/chunk-OFEKTDRF.js";
11
9
  import "../chunks/chunk-NIVGVRDS.js";
12
10
  import "../chunks/chunk-IYAQC63Y.js";
11
+ import "../chunks/chunk-DNJX6CRV.js";
12
+ import "../chunks/chunk-AC4U3IMS.js";
13
+ import "../chunks/chunk-D6RGFNUW.js";
14
+ import "../chunks/chunk-RKDPDEF7.js";
13
15
  import "../chunks/chunk-SJBZFMQ2.js";
14
- import "../chunks/chunk-6V4TAD2N.js";
15
16
  import "../chunks/chunk-S4AU6SRS.js";
16
- import "../chunks/chunk-AC4U3IMS.js";
17
17
  import {
18
18
  dist_default
19
19
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -27,16 +27,16 @@ import { RangeCalendar } from "./Calendar.js";
27
27
  var DateRangePicker_default = {
28
28
  "DateRangePicker-input-segment": "alinea-DateRangePicker-input-segment",
29
29
  "DateRangePickerInputSegment": "alinea-DateRangePicker-input-segment",
30
- "DateRangePicker-trigger": "alinea-DateRangePicker-trigger",
31
- "DateRangePickerTrigger": "alinea-DateRangePicker-trigger",
30
+ "Icon": "alinea-Icon",
32
31
  "DateRangePicker-inputs": "alinea-DateRangePicker-inputs",
33
32
  "DateRangePickerInputs": "alinea-DateRangePicker-inputs",
34
- "DateRangePicker-input": "alinea-DateRangePicker-input",
35
- "DateRangePickerInput": "alinea-DateRangePicker-input",
33
+ "DateRangePicker": "alinea-DateRangePicker",
36
34
  "DateRangePicker-separator": "alinea-DateRangePicker-separator",
37
35
  "DateRangePickerSeparator": "alinea-DateRangePicker-separator",
38
- "Icon": "alinea-Icon",
39
- "DateRangePicker": "alinea-DateRangePicker"
36
+ "DateRangePicker-trigger": "alinea-DateRangePicker-trigger",
37
+ "DateRangePickerTrigger": "alinea-DateRangePicker-trigger",
38
+ "DateRangePicker-input": "alinea-DateRangePicker-input",
39
+ "DateRangePickerInput": "alinea-DateRangePicker-input"
40
40
  };
41
41
 
42
42
  // src/components/DateRangePicker.tsx
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  $f2ff30fde7b014be$export$2e1e1122cf0cba88,
3
3
  $f2ff30fde7b014be$export$3ddf2d174ce01153
4
- } from "../chunks/chunk-VXZM6V4P.js";
5
- import "../chunks/chunk-O7XWTMCB.js";
6
- import "../chunks/chunk-RKDPDEF7.js";
4
+ } from "../chunks/chunk-OFEKTDRF.js";
7
5
  import "../chunks/chunk-NIVGVRDS.js";
8
6
  import "../chunks/chunk-IYAQC63Y.js";
7
+ import "../chunks/chunk-DNJX6CRV.js";
8
+ import "../chunks/chunk-AC4U3IMS.js";
9
+ import "../chunks/chunk-D6RGFNUW.js";
10
+ import "../chunks/chunk-RKDPDEF7.js";
9
11
  import "../chunks/chunk-SJBZFMQ2.js";
10
- import "../chunks/chunk-6V4TAD2N.js";
11
12
  import "../chunks/chunk-S4AU6SRS.js";
12
- import "../chunks/chunk-AC4U3IMS.js";
13
13
  import {
14
14
  dist_default
15
15
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -3,15 +3,15 @@ import {
3
3
  $7705c033048f6da7$export$353f5b6fc5456de1,
4
4
  $a3e16eab0ea4036c$export$74a362b31437ec83,
5
5
  $a3e16eab0ea4036c$export$feabaa331e1d464c
6
- } from "../chunks/chunk-VXZM6V4P.js";
7
- import "../chunks/chunk-O7XWTMCB.js";
8
- import "../chunks/chunk-RKDPDEF7.js";
6
+ } from "../chunks/chunk-OFEKTDRF.js";
9
7
  import "../chunks/chunk-NIVGVRDS.js";
10
8
  import "../chunks/chunk-IYAQC63Y.js";
9
+ import "../chunks/chunk-DNJX6CRV.js";
10
+ import "../chunks/chunk-AC4U3IMS.js";
11
+ import "../chunks/chunk-D6RGFNUW.js";
12
+ import "../chunks/chunk-RKDPDEF7.js";
11
13
  import "../chunks/chunk-SJBZFMQ2.js";
12
- import "../chunks/chunk-6V4TAD2N.js";
13
14
  import "../chunks/chunk-S4AU6SRS.js";
14
- import "../chunks/chunk-AC4U3IMS.js";
15
15
  import {
16
16
  dist_default
17
17
  } from "../chunks/chunk-I4OYYAX5.js";
@@ -25,17 +25,17 @@ import { Icon } from "./Icon.js";
25
25
  var Disclosure_default = {
26
26
  "Disclosure-panel-content": "alinea-Disclosure-panel-content",
27
27
  "DisclosurePanelContent": "alinea-Disclosure-panel-content",
28
- "Disclosure-title": "alinea-Disclosure-title",
29
- "DisclosureTitle": "alinea-Disclosure-title",
30
- "Disclosure-panel": "alinea-Disclosure-panel",
31
- "DisclosurePanel": "alinea-Disclosure-panel",
32
28
  "Disclosure-trigger": "alinea-Disclosure-trigger",
33
29
  "DisclosureTrigger": "alinea-Disclosure-trigger",
34
- "Disclosure": "alinea-Disclosure",
35
30
  "Disclosure-heading": "alinea-Disclosure-heading",
36
31
  "DisclosureHeading": "alinea-Disclosure-heading",
37
32
  "Disclosure-chevron": "alinea-Disclosure-chevron",
38
- "DisclosureChevron": "alinea-Disclosure-chevron"
33
+ "DisclosureChevron": "alinea-Disclosure-chevron",
34
+ "Disclosure": "alinea-Disclosure",
35
+ "Disclosure-title": "alinea-Disclosure-title",
36
+ "DisclosureTitle": "alinea-Disclosure-title",
37
+ "Disclosure-panel": "alinea-Disclosure-panel",
38
+ "DisclosurePanel": "alinea-Disclosure-panel"
39
39
  };
40
40
 
41
41
  // src/components/Disclosure.tsx