alinea 1.5.0 → 1.5.1

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "_id": "31EeizZwUMWJXGD691jpFPBcelk",
2
+ "_id": "32jmmrahEGbj2XLJgk85LnTNyEt",
3
3
  "_type": "Page",
4
4
  "_index": "a0",
5
5
  "_seeded": "welcome.json",
package/dist/LICENSES.md CHANGED
@@ -1,32 +1,5 @@
1
1
  This file contains the licenses of the bundled modules in this distribution.
2
2
 
3
- ===
4
-
5
- # react-query@3.39.3 (MIT)
6
-
7
- MIT License
8
-
9
- Copyright (c) 2019 Tanner Linsley
10
-
11
- Permission is hereby granted, free of charge, to any person obtaining a copy
12
- of this software and associated documentation files (the "Software"), to deal
13
- in the Software without restriction, including without limitation the rights
14
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
- copies of the Software, and to permit persons to whom the Software is
16
- furnished to do so, subject to the following conditions:
17
-
18
- The above copyright notice and this permission notice shall be included in all
19
- copies or substantial portions of the Software.
20
-
21
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
- SOFTWARE.
28
-
29
-
30
3
  ===
31
4
 
32
5
  # rado@1.0.15 (MIT)
@@ -55,11 +28,11 @@ SOFTWARE.
55
28
 
56
29
  ===
57
30
 
58
- # @headlessui/react@2.2.0 (MIT)
31
+ # react-query@3.39.3 (MIT)
59
32
 
60
33
  MIT License
61
34
 
62
- Copyright (c) 2020 Tailwind Labs
35
+ Copyright (c) 2019 Tanner Linsley
63
36
 
64
37
  Permission is hereby granted, free of charge, to any person obtaining a copy
65
38
  of this software and associated documentation files (the "Software"), to deal
@@ -79,6 +52,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
79
52
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
80
53
  SOFTWARE.
81
54
 
55
+
82
56
  ===
83
57
 
84
58
  # lib0@0.2.88 (MIT)
@@ -131,11 +105,28 @@ IN THE SOFTWARE.
131
105
 
132
106
  ===
133
107
 
134
- # @badgateway/oauth2-client@3.2.0 (MIT)
108
+ # domutils@3.1.0 (BSD-2-Clause)
109
+
110
+ Copyright (c) Felix Böhm
111
+ All rights reserved.
112
+
113
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
114
+
115
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
116
+
117
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
118
+
119
+ THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,
120
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
121
+
122
+
123
+ ===
124
+
125
+ # @headlessui/react@2.2.0 (MIT)
135
126
 
136
127
  MIT License
137
128
 
138
- Copyright (c) 2019-2023 Evert Pot
129
+ Copyright (c) 2020 Tailwind Labs
139
130
 
140
131
  Permission is hereby granted, free of charge, to any person obtaining a copy
141
132
  of this software and associated documentation files (the "Software"), to deal
@@ -155,36 +146,26 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
155
146
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
156
147
  SOFTWARE.
157
148
 
158
-
159
149
  ===
160
150
 
161
- # @popperjs/core@2.11.8 (MIT)
151
+ # domhandler@5.0.3 (BSD-2-Clause)
162
152
 
163
- The MIT License (MIT)
153
+ Copyright (c) Felix Böhm
154
+ All rights reserved.
164
155
 
165
- Copyright (c) 2019 Federico Zivolo
156
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
166
157
 
167
- Permission is hereby granted, free of charge, to any person obtaining a copy of
168
- this software and associated documentation files (the "Software"), to deal in
169
- the Software without restriction, including without limitation the rights to
170
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
171
- the Software, and to permit persons to whom the Software is furnished to do so,
172
- subject to the following conditions:
158
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
173
159
 
174
- The above copyright notice and this permission notice shall be included in all
175
- copies or substantial portions of the Software.
160
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
176
161
 
177
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
178
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
179
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
180
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
181
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
182
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
162
+ THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,
163
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
183
164
 
184
165
 
185
166
  ===
186
167
 
187
- # domutils@3.1.0 (BSD-2-Clause)
168
+ # entities@4.5.0 (BSD-2-Clause)
188
169
 
189
170
  Copyright (c) Felix Böhm
190
171
  All rights reserved.
@@ -201,36 +182,56 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
201
182
 
202
183
  ===
203
184
 
204
- # domhandler@5.0.3 (BSD-2-Clause)
185
+ # @badgateway/oauth2-client@3.2.0 (MIT)
205
186
 
206
- Copyright (c) Felix Böhm
207
- All rights reserved.
187
+ MIT License
208
188
 
209
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
189
+ Copyright (c) 2019-2023 Evert Pot
210
190
 
211
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
191
+ Permission is hereby granted, free of charge, to any person obtaining a copy
192
+ of this software and associated documentation files (the "Software"), to deal
193
+ in the Software without restriction, including without limitation the rights
194
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
195
+ copies of the Software, and to permit persons to whom the Software is
196
+ furnished to do so, subject to the following conditions:
212
197
 
213
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
198
+ The above copyright notice and this permission notice shall be included in all
199
+ copies or substantial portions of the Software.
214
200
 
215
- THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,
216
- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
201
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
202
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
203
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
204
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
205
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
206
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
207
+ SOFTWARE.
217
208
 
218
209
 
219
210
  ===
220
211
 
221
- # entities@4.5.0 (BSD-2-Clause)
212
+ # prop-types@15.8.1 (MIT)
222
213
 
223
- Copyright (c) Felix Böhm
224
- All rights reserved.
214
+ MIT License
225
215
 
226
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
216
+ Copyright (c) 2013-present, Facebook, Inc.
227
217
 
228
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
218
+ Permission is hereby granted, free of charge, to any person obtaining a copy
219
+ of this software and associated documentation files (the "Software"), to deal
220
+ in the Software without restriction, including without limitation the rights
221
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
222
+ copies of the Software, and to permit persons to whom the Software is
223
+ furnished to do so, subject to the following conditions:
229
224
 
230
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
225
+ The above copyright notice and this permission notice shall be included in all
226
+ copies or substantial portions of the Software.
231
227
 
232
- THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,
233
- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
228
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
229
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
230
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
231
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
232
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
233
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
234
+ SOFTWARE.
234
235
 
235
236
 
236
237
  ===
@@ -442,29 +443,28 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
442
443
 
443
444
  ===
444
445
 
445
- # prop-types@15.8.1 (MIT)
446
+ # @popperjs/core@2.11.8 (MIT)
446
447
 
447
- MIT License
448
+ The MIT License (MIT)
448
449
 
449
- Copyright (c) 2013-present, Facebook, Inc.
450
+ Copyright (c) 2019 Federico Zivolo
450
451
 
451
- Permission is hereby granted, free of charge, to any person obtaining a copy
452
- of this software and associated documentation files (the "Software"), to deal
453
- in the Software without restriction, including without limitation the rights
454
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
455
- copies of the Software, and to permit persons to whom the Software is
456
- furnished to do so, subject to the following conditions:
452
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
453
+ this software and associated documentation files (the "Software"), to deal in
454
+ the Software without restriction, including without limitation the rights to
455
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
456
+ the Software, and to permit persons to whom the Software is furnished to do so,
457
+ subject to the following conditions:
457
458
 
458
459
  The above copyright notice and this permission notice shall be included in all
459
460
  copies or substantial portions of the Software.
460
461
 
461
462
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
462
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
463
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
464
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
465
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
466
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
467
- SOFTWARE.
463
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
464
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
465
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
466
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
467
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
468
468
 
469
469
 
470
470
  ===
@@ -523,33 +523,6 @@ MIT
523
523
 
524
524
  MIT
525
525
 
526
- ===
527
-
528
- # y-prosemirror@1.2.15 (MIT)
529
-
530
- The MIT License (MIT)
531
-
532
- Copyright (c) 2019 Kevin Jahns <kevin.jahns@protonmail.com>.
533
-
534
- Permission is hereby granted, free of charge, to any person obtaining a copy
535
- of this software and associated documentation files (the "Software"), to deal
536
- in the Software without restriction, including without limitation the rights
537
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
538
- copies of the Software, and to permit persons to whom the Software is
539
- furnished to do so, subject to the following conditions:
540
-
541
- The above copyright notice and this permission notice shall be included in all
542
- copies or substantial portions of the Software.
543
-
544
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
545
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
546
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
547
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
548
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
549
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
550
- SOFTWARE.
551
-
552
-
553
526
  ===
554
527
 
555
528
  # @babel/runtime@7.25.4 (MIT)
@@ -578,6 +551,33 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
578
551
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
579
552
 
580
553
 
554
+ ===
555
+
556
+ # y-prosemirror@1.2.15 (MIT)
557
+
558
+ The MIT License (MIT)
559
+
560
+ Copyright (c) 2019 Kevin Jahns <kevin.jahns@protonmail.com>.
561
+
562
+ Permission is hereby granted, free of charge, to any person obtaining a copy
563
+ of this software and associated documentation files (the "Software"), to deal
564
+ in the Software without restriction, including without limitation the rights
565
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
566
+ copies of the Software, and to permit persons to whom the Software is
567
+ furnished to do so, subject to the following conditions:
568
+
569
+ The above copyright notice and this permission notice shall be included in all
570
+ copies or substantial portions of the Software.
571
+
572
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
573
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
574
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
575
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
576
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
577
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
578
+ SOFTWARE.
579
+
580
+
581
581
  ===
582
582
 
583
583
  # @react-aria/focus@3.19.1 (Apache-2.0)
@@ -1612,33 +1612,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1612
1612
  See the License for the specific language governing permissions and
1613
1613
  limitations under the License.
1614
1614
 
1615
- ===
1616
-
1617
- # @tanstack/virtual-core@3.10.6 (MIT)
1618
-
1619
- MIT License
1620
-
1621
- Copyright (c) 2021-present Tanner Linsley
1622
-
1623
- Permission is hereby granted, free of charge, to any person obtaining a copy
1624
- of this software and associated documentation files (the "Software"), to deal
1625
- in the Software without restriction, including without limitation the rights
1626
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1627
- copies of the Software, and to permit persons to whom the Software is
1628
- furnished to do so, subject to the following conditions:
1629
-
1630
- The above copyright notice and this permission notice shall be included in all
1631
- copies or substantial portions of the Software.
1632
-
1633
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1634
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1635
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1636
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1637
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1638
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1639
- SOFTWARE.
1640
-
1641
-
1642
1615
  ===
1643
1616
 
1644
1617
  # @react-stately/utils@3.10.5 (Apache-2.0)
@@ -1844,3 +1817,30 @@ SOFTWARE.
1844
1817
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1845
1818
  See the License for the specific language governing permissions and
1846
1819
  limitations under the License.
1820
+
1821
+
1822
+ ===
1823
+
1824
+ # @tanstack/virtual-core@3.10.6 (MIT)
1825
+
1826
+ MIT License
1827
+
1828
+ Copyright (c) 2021-present Tanner Linsley
1829
+
1830
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1831
+ of this software and associated documentation files (the "Software"), to deal
1832
+ in the Software without restriction, including without limitation the rights
1833
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1834
+ copies of the Software, and to permit persons to whom the Software is
1835
+ furnished to do so, subject to the following conditions:
1836
+
1837
+ The above copyright notice and this permission notice shall be included in all
1838
+ copies or substantial portions of the Software.
1839
+
1840
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1841
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1842
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1843
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1844
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1845
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1846
+ SOFTWARE.
@@ -69,6 +69,11 @@ function createHandler({
69
69
  const acceptsJson = request.headers.get("accept")?.includes("application/json");
70
70
  if (!acceptsJson) throw new Response("Expected JSON", { status: 400 });
71
71
  };
72
+ if (action === HandleAction.Upload && request.method === "GET") {
73
+ const entryId = url.searchParams.get("entryId");
74
+ if (entryId && cnx.previewUpload)
75
+ return await cnx.previewUpload(entryId);
76
+ }
72
77
  try {
73
78
  userCtx = await cnx.verify(request);
74
79
  cnx = remote(userCtx);
@@ -184,24 +189,19 @@ function createHandler({
184
189
  return new Response(formData);
185
190
  }
186
191
  if (action === HandleAction.Upload) {
192
+ expectUser();
187
193
  const entryId = url.searchParams.get("entryId");
188
194
  if (!entryId) {
189
- expectUser();
190
195
  expectJson();
191
196
  return Response.json(
192
197
  await cnx.prepareUpload(PrepareBody(await body).filename)
193
198
  );
194
199
  }
195
200
  const isPost = request.method === "POST";
196
- if (isPost) {
197
- expectUser();
198
- if (!cnx.handleUpload)
199
- throw new Response("Bad Request", { status: 400 });
201
+ if (isPost && cnx.handleUpload) {
200
202
  await cnx.handleUpload(entryId, await request.blob());
201
203
  return new Response("OK", { status: 200 });
202
204
  }
203
- if (!cnx.previewUpload) throw new Response("Bad Request", { status: 400 });
204
- return await cnx.previewUpload(entryId);
205
205
  }
206
206
  if (action === HandleAction.Draft && request.method === "GET") {
207
207
  expectJson();
@@ -559,6 +559,22 @@ var OAuth2 = class {
559
559
  }
560
560
  });
561
561
  }
562
+ case AuthAction.Logout: {
563
+ const cookieHeader = request.headers.get("cookie");
564
+ if (!cookieHeader) throw new HttpError(400, "Missing cookies");
565
+ const cookies = parse(cookieHeader);
566
+ const accessToken = cookies[COOKIE_ACCESS_TOKEN];
567
+ const refreshToken = cookies[COOKIE_REFRESH_TOKEN];
568
+ const token = { accessToken, refreshToken, expiresAt: null };
569
+ await this.#client.revoke(token).catch(() => {
570
+ });
571
+ return new Response(void 0, {
572
+ status: 204,
573
+ headers: {
574
+ "set-cookie": clearCookies(redirectUri)
575
+ }
576
+ });
577
+ }
562
578
  default:
563
579
  return new Response("Bad request", { status: 400 });
564
580
  }
@@ -629,6 +645,28 @@ function selectKey(jwks, token) {
629
645
  if (!key) throw new Error(`No key found for kid: ${kid}`);
630
646
  return key;
631
647
  }
648
+ function clearCookies(redirectUri) {
649
+ return router.cookie(
650
+ {
651
+ name: COOKIE_ACCESS_TOKEN,
652
+ value: "",
653
+ expires: /* @__PURE__ */ new Date(0),
654
+ path: redirectUri.pathname,
655
+ secure: redirectUri.protocol === "https:",
656
+ httpOnly: true,
657
+ sameSite: "strict"
658
+ },
659
+ {
660
+ name: COOKIE_REFRESH_TOKEN,
661
+ value: "",
662
+ expires: /* @__PURE__ */ new Date(0),
663
+ path: redirectUri.pathname,
664
+ secure: redirectUri.protocol === "https:",
665
+ httpOnly: true,
666
+ sameSite: "strict"
667
+ }
668
+ );
669
+ }
632
670
  function tokenToCookie(token, redirectUri) {
633
671
  assert(token.refreshToken, "Missing refresh token in response");
634
672
  return router.cookie(
package/dist/bundled.d.ts CHANGED
@@ -1172,6 +1172,7 @@ declare module 'alinea/core/Client' {
1172
1172
  constructor(options: ClientOptions);
1173
1173
  get url(): string;
1174
1174
  authStatus(): Promise<AuthResult>;
1175
+ logout: () => Promise<void>;
1175
1176
  previewToken(request: PreviewInfo): Promise<string>;
1176
1177
  prepareUpload(file: string): Promise<UploadResponse>;
1177
1178
  user(): Promise<User | undefined>;
@@ -1286,6 +1287,9 @@ declare module 'alinea/core/Connection' {
1286
1287
  }
1287
1288
  export interface RemoteConnection extends Connection, AuthApi {
1288
1289
  }
1290
+ export interface BrowserConnection extends Connection {
1291
+ logout?(): Promise<void>;
1292
+ }
1289
1293
  export interface LocalConnection extends Connection {
1290
1294
  mutate(mutations: Array<Mutation>): Promise<{
1291
1295
  sha: string;
@@ -3132,12 +3136,11 @@ declare module 'alinea/core/Section' {
3132
3136
 
3133
3137
  declare module 'alinea/core/Session' {
3134
3138
 
3135
- import type { Connection } from 'alinea/core/Connection';
3139
+ import type { BrowserConnection } from 'alinea/core/Connection';
3136
3140
  import type { User } from 'alinea/core/User';
3137
3141
  export interface Session {
3138
- cnx: Connection;
3142
+ cnx: BrowserConnection;
3139
3143
  user: User;
3140
- end?: () => Promise<void>;
3141
3144
  }
3142
3145
 
3143
3146
  }
@@ -2,7 +2,7 @@
2
2
  var package_default = {
3
3
  bin: "./dist/cli.js",
4
4
  name: "alinea",
5
- version: "1.5.0",
5
+ version: "1.5.1",
6
6
  description: "Headless git-based CMS",
7
7
  repository: {
8
8
  type: "git",
package/dist/cli/Serve.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "../chunks/chunk-ABIK64FW.js";
3
+ } from "../chunks/chunk-Z3QMPIDC.js";
4
4
  import "../chunks/chunk-NZLE2WMY.js";
5
5
 
6
6
  // src/cli/Serve.ts
package/dist/cli/bin.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "../chunks/chunk-ABIK64FW.js";
3
+ } from "../chunks/chunk-Z3QMPIDC.js";
4
4
  import "../chunks/chunk-NZLE2WMY.js";
5
5
 
6
6
  // node_modules/mri/lib/index.mjs
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "../chunks/chunk-ABIK64FW.js";
3
+ } from "../chunks/chunk-Z3QMPIDC.js";
4
4
  import "../chunks/chunk-NZLE2WMY.js";
5
5
 
6
6
  // src/cloud/CloudRemote.ts
@@ -20,7 +20,8 @@ function CloudAuthView({ setSession }) {
20
20
  throw new Error("Cannot authenticate with non http client");
21
21
  const clientUrl = new URL(client.url, window.location.href);
22
22
  const { data, isError } = useQuery(["auth.status"], () => client.authStatus(), {
23
- keepPreviousData: true
23
+ cacheTime: 0,
24
+ keepPreviousData: false
24
25
  });
25
26
  if (isError)
26
27
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -57,10 +58,7 @@ function CloudAuthView({ setSession }) {
57
58
  cnx: client.authenticate(
58
59
  (options) => options,
59
60
  () => setSession(void 0)
60
- ),
61
- async end() {
62
- location.href = new URL("?auth=logout", clientUrl).href;
63
- }
61
+ )
64
62
  });
65
63
  return null;
66
64
  case AuthResultType.UnAuthenticated:
@@ -21,6 +21,7 @@ export declare class Client implements LocalConnection {
21
21
  constructor(options: ClientOptions);
22
22
  get url(): string;
23
23
  authStatus(): Promise<AuthResult>;
24
+ logout: () => Promise<void>;
24
25
  previewToken(request: PreviewInfo): Promise<string>;
25
26
  prepareUpload(file: string): Promise<UploadResponse>;
26
27
  user(): Promise<User | undefined>;
@@ -22,6 +22,13 @@ var Client = class _Client {
22
22
  auth: "status"
23
23
  }).then(this.#failOnHttpError);
24
24
  }
25
+ logout = async () => {
26
+ const endSession = this.#options.unauthorized;
27
+ await this.#request({
28
+ action: HandleAction.Auth,
29
+ auth: "logout"
30
+ }).then((res) => this.#failOnHttpError(res, false)).then(endSession);
31
+ };
25
32
  previewToken(request) {
26
33
  return this.#requestJson(
27
34
  { action: HandleAction.PreviewToken },
@@ -13,6 +13,9 @@ export interface AuthApi {
13
13
  }
14
14
  export interface RemoteConnection extends Connection, AuthApi {
15
15
  }
16
+ export interface BrowserConnection extends Connection {
17
+ logout?(): Promise<void>;
18
+ }
16
19
  export interface LocalConnection extends Connection {
17
20
  mutate(mutations: Array<Mutation>): Promise<{
18
21
  sha: string;
@@ -9,9 +9,8 @@ var Graph = class {
9
9
  return this.resolve({ ...query, first: true });
10
10
  }
11
11
  async get(query) {
12
- const error = globalThis.Bun ? new Error("Entry not found") : void 0;
13
12
  const result = await this.resolve({ ...query, get: true });
14
- if (!result) throw error ?? new Error("Entry not found");
13
+ if (!result) throw new Error("Entry not found");
15
14
  return result;
16
15
  }
17
16
  count(query) {
@@ -1,7 +1,6 @@
1
- import type { Connection } from './Connection.js';
1
+ import type { BrowserConnection } from './Connection.js';
2
2
  import type { User } from './User.js';
3
3
  export interface Session {
4
- cnx: Connection;
4
+ cnx: BrowserConnection;
5
5
  user: User;
6
- end?: () => Promise<void>;
7
6
  }
@@ -153,7 +153,7 @@ var UploadOperation = class extends Operation {
153
153
  const uploadFile = {
154
154
  op: "uploadFile",
155
155
  url: info.previewUrl,
156
- location: info.location
156
+ location: join(prefix, fileLocation)
157
157
  };
158
158
  const createEntry = {
159
159
  op: "create",
@@ -11,36 +11,36 @@ import "../chunks/chunk-NZLE2WMY.js";
11
11
  import { Config } from "alinea/core/Config";
12
12
  import { Root } from "alinea/core/Root";
13
13
  import { Icon, Loader, px } from "alinea/ui";
14
- import { Statusbar } from "alinea/ui/Statusbar";
15
14
  import { FavIcon } from "alinea/ui/branding/FavIcon";
16
15
  import { IcRoundCheck } from "alinea/ui/icons/IcRoundCheck";
17
16
  import { IcRoundDescription } from "alinea/ui/icons/IcRoundDescription";
18
17
  import { IcRoundSync } from "alinea/ui/icons/IcRoundSync";
19
18
  import { MaterialSymbolsDatabase } from "alinea/ui/icons/MaterialSymbolsDatabase";
19
+ import { Statusbar } from "alinea/ui/Statusbar";
20
20
  import { useEffect } from "react";
21
- import { navMatchers } from "./DashboardNav.js";
22
- import { DashboardProvider } from "./DashboardProvider.js";
23
- import { router } from "./Routes.js";
24
21
  import { sessionAtom } from "./atoms/DashboardAtoms.js";
25
22
  import { dbMetaAtom, pendingAtom, useDbUpdater } from "./atoms/DbAtoms.js";
26
23
  import { errorAtom } from "./atoms/ErrorAtoms.js";
27
24
  import { locationAtom, matchAtoms } from "./atoms/LocationAtoms.js";
28
25
  import { usePreferredLanguage } from "./atoms/NavigationAtoms.js";
29
- import { RouteView, RouterProvider } from "./atoms/RouterAtoms.js";
26
+ import { RouterProvider, RouteView } from "./atoms/RouterAtoms.js";
27
+ import { navMatchers } from "./DashboardNav.js";
28
+ import { DashboardProvider } from "./DashboardProvider.js";
30
29
  import { useDashboard } from "./hook/UseDashboard.js";
31
30
  import { useEntryLocation } from "./hook/UseEntryLocation.js";
32
31
  import { useLocale } from "./hook/UseLocale.js";
33
32
  import { useNav } from "./hook/UseNav.js";
34
33
  import { useRoot } from "./hook/UseRoot.js";
35
34
  import { useWorkspace } from "./hook/UseWorkspace.js";
35
+ import { router } from "./Routes.js";
36
36
  import { Head } from "./util/Head.js";
37
37
  import { SuspenseBoundary } from "./util/SuspenseBoundary.js";
38
38
  import { ErrorBoundary } from "./view/ErrorBoundary.js";
39
39
  import { Modal } from "./view/Modal.js";
40
40
  import { Sidebar } from "./view/Sidebar.js";
41
+ import { SidebarSettings } from "./view/sidebar/SidebarSettings.js";
41
42
  import { Toolbar } from "./view/Toolbar.js";
42
43
  import { Viewport } from "./view/Viewport.js";
43
- import { SidebarSettings } from "./view/sidebar/SidebarSettings.js";
44
44
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
45
45
  var isEntryAtom = atom((get) => {
46
46
  const location = get(locationAtom);
@@ -127,7 +127,7 @@ function AppRoot() {
127
127
  /* @__PURE__ */ jsx(Head, { children: /* @__PURE__ */ jsx(FavIcon, { color }) }),
128
128
  Auth && /* @__PURE__ */ jsx(SuspenseBoundary, { name: "auth", fallback: /* @__PURE__ */ jsx(Loader, { absolute: true }), children: /* @__PURE__ */ jsx(Auth, { setSession }) })
129
129
  ] });
130
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(SuspenseBoundary, { name: "router", fallback: /* @__PURE__ */ jsx(Loader, { absolute: true }), children: /* @__PURE__ */ jsx(RouterProvider, { router, children: /* @__PURE__ */ jsx(AppAuthenticated, {}) }) }) });
130
+ return /* @__PURE__ */ jsx(SuspenseBoundary, { name: "router", fallback: /* @__PURE__ */ jsx(Loader, { absolute: true }), children: /* @__PURE__ */ jsx(RouterProvider, { router, children: /* @__PURE__ */ jsx(AppAuthenticated, {}) }) });
131
131
  }
132
132
  function App(props) {
133
133
  const fullPage = props.fullPage !== false;
@@ -22,16 +22,14 @@ import "../../chunks/chunk-NZLE2WMY.js";
22
22
  // src/dashboard/view/Toolbar.tsx
23
23
  import { Config } from "alinea/core/Config";
24
24
  import { Root as AlineaRoot } from "alinea/core/Root";
25
- import { Workspace } from "alinea/core/Workspace";
26
25
  import { entries, fromEntries } from "alinea/core/util/Objects";
26
+ import { Workspace } from "alinea/core/Workspace";
27
27
  import { link, useNavigate } from "alinea/dashboard/util/HashRouter";
28
28
  import { select } from "alinea/field/select";
29
- import { Icon, TextLabel, VStack, px } from "alinea/ui";
29
+ import { Icon, px, TextLabel, VStack } from "alinea/ui";
30
30
  import { Avatar } from "alinea/ui/Avatar";
31
- import { DropdownMenu } from "alinea/ui/DropdownMenu";
32
- import { PopoverMenu } from "alinea/ui/PopoverMenu";
33
- import { HStack } from "alinea/ui/Stack";
34
31
  import { LogoShape } from "alinea/ui/branding/LogoShape";
32
+ import { DropdownMenu } from "alinea/ui/DropdownMenu";
35
33
  import { IcOutlineScreenshot } from "alinea/ui/icons/IcOutlineScreenshot";
36
34
  import { IcRoundKeyboardArrowDown } from "alinea/ui/icons/IcRoundKeyboardArrowDown";
37
35
  import { IcRoundKeyboardArrowUp } from "alinea/ui/icons/IcRoundKeyboardArrowUp";
@@ -40,6 +38,8 @@ import { IcRoundTextFields } from "alinea/ui/icons/IcRoundTextFields";
40
38
  import { IcRoundUnfoldMore } from "alinea/ui/icons/IcRoundUnfoldMore";
41
39
  import { IcSharpBrightnessMedium } from "alinea/ui/icons/IcSharpBrightnessMedium";
42
40
  import { RiFlashlightFill } from "alinea/ui/icons/RiFlashlightFill";
41
+ import { PopoverMenu } from "alinea/ui/PopoverMenu";
42
+ import { HStack } from "alinea/ui/Stack";
43
43
  import { contrastColor } from "alinea/ui/util/ContrastColor";
44
44
  import { createSlots } from "alinea/ui/util/Slots";
45
45
  import { dashboardOptionsAtom } from "../atoms/DashboardAtoms.js";
@@ -219,7 +219,7 @@ var Toolbar;
219
219
  )
220
220
  ] })
221
221
  ] }) }),
222
- Config.hasAuth(config) && /* @__PURE__ */ jsx(PopoverMenu.Footer, { children: /* @__PURE__ */ jsx(DropdownMenu.Root, { children: /* @__PURE__ */ jsx(DropdownMenu.Item, { onClick: session.end, children: "Logout" }) }) })
222
+ Config.hasAuth(config) && session.cnx.logout && /* @__PURE__ */ jsx(PopoverMenu.Footer, { children: /* @__PURE__ */ jsx(DropdownMenu.Root, { children: /* @__PURE__ */ jsx(DropdownMenu.Item, { onClick: session.cnx.logout, children: "Logout" }) }) })
223
223
  ] }) })
224
224
  ] }),
225
225
  /* @__PURE__ */ jsx(
@@ -389,7 +389,7 @@ function EntryHeader({ editor, editable = true }) {
389
389
  {
390
390
  icon: IcRoundLastPage,
391
391
  style: {
392
- transform: `rotate(${isPreviewOpen ? 180 : 0}deg)`
392
+ transform: `scaleX(${isPreviewOpen ? 1 : -1})`
393
393
  }
394
394
  }
395
395
  )
@@ -17,18 +17,18 @@ import "../../../chunks/chunk-WJ67RR7S.js";
17
17
  import "../../../chunks/chunk-NZLE2WMY.js";
18
18
 
19
19
  // src/dashboard/view/sidebar/SidebarSettings.tsx
20
- import { Workspace } from "alinea/core/Workspace";
21
20
  import { entries, fromEntries } from "alinea/core/util/Objects";
21
+ import { Workspace } from "alinea/core/Workspace";
22
22
  import { select } from "alinea/field";
23
23
  import { HStack, Icon, VStack, px } from "alinea/ui";
24
24
  import { DropdownMenu } from "alinea/ui/DropdownMenu";
25
25
  import { Ellipsis } from "alinea/ui/Ellipsis";
26
- import { PopoverMenu } from "alinea/ui/PopoverMenu";
27
26
  import { IcBaselineAccountCircle } from "alinea/ui/icons/IcBaselineAccountCircle";
28
27
  import { IcRoundKeyboardArrowDown } from "alinea/ui/icons/IcRoundKeyboardArrowDown";
29
28
  import { IcRoundKeyboardArrowUp } from "alinea/ui/icons/IcRoundKeyboardArrowUp";
30
29
  import { IcRoundTextFields } from "alinea/ui/icons/IcRoundTextFields";
31
30
  import { IcSharpBrightnessMedium } from "alinea/ui/icons/IcSharpBrightnessMedium";
31
+ import { PopoverMenu } from "alinea/ui/PopoverMenu";
32
32
  import { useMemo } from "react";
33
33
  import { dashboardOptionsAtom } from "../../atoms/DashboardAtoms.js";
34
34
  import {
@@ -147,7 +147,7 @@ function SidebarSettings() {
147
147
  )
148
148
  ] })
149
149
  ] }) }),
150
- session.end && /* @__PURE__ */ jsx(PopoverMenu.Footer, { children: /* @__PURE__ */ jsx(DropdownMenu.Root, { children: /* @__PURE__ */ jsx(DropdownMenu.Item, { onClick: session.end, children: "Logout" }) }) })
150
+ session.cnx.logout && /* @__PURE__ */ jsx(PopoverMenu.Footer, { children: /* @__PURE__ */ jsx(DropdownMenu.Root, { children: /* @__PURE__ */ jsx(DropdownMenu.Item, { onClick: session.cnx.logout, children: "Logout" }) }) })
151
151
  ] }) })
152
152
  ] });
153
153
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "bin": "./dist/cli.js",
3
3
  "name": "alinea",
4
- "version": "1.5.0",
4
+ "version": "1.5.1",
5
5
  "description": "Headless git-based CMS",
6
6
  "repository": {
7
7
  "type": "git",