alinea 1.5.0 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.init/content/pages/welcome.json +1 -1
- package/dist/LICENSES.md +132 -132
- package/dist/backend/Handler.js +7 -7
- package/dist/backend/api/OAuth2.js +40 -3
- package/dist/bundled.d.ts +6 -3
- package/dist/chunks/{chunk-SH4E6FUG.js → chunk-APLOCHCC.js} +1 -1
- package/dist/chunks/{chunk-ABIK64FW.js → chunk-MJSO2MPH.js} +1 -1
- package/dist/cli/Serve.js +1 -1
- package/dist/cli/bin.js +1 -1
- package/dist/cloud/CloudRemote.js +1 -1
- package/dist/cloud/view/CloudAuth.browser.js +3 -5
- package/dist/core/Client.d.ts +1 -0
- package/dist/core/Client.js +7 -0
- package/dist/core/Connection.d.ts +3 -0
- package/dist/core/Graph.js +1 -2
- package/dist/core/Session.d.ts +2 -3
- package/dist/core/db/EntryResolver.js +2 -2
- package/dist/core/db/Operation.js +1 -1
- package/dist/dashboard/App.js +7 -7
- package/dist/dashboard/view/Toolbar.js +6 -6
- package/dist/dashboard/view/entry/EntryHeader.js +1 -1
- package/dist/dashboard/view/sidebar/SidebarSettings.js +3 -3
- package/package.json +1 -1
package/dist/LICENSES.md
CHANGED
|
@@ -2,11 +2,11 @@ This file contains the licenses of the bundled modules in this distribution.
|
|
|
2
2
|
|
|
3
3
|
===
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# rado@1.0.15 (MIT)
|
|
6
6
|
|
|
7
7
|
MIT License
|
|
8
8
|
|
|
9
|
-
Copyright (c)
|
|
9
|
+
Copyright (c) 2024 Ben Merckx
|
|
10
10
|
|
|
11
11
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
12
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -26,14 +26,36 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
26
26
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
27
27
|
SOFTWARE.
|
|
28
28
|
|
|
29
|
+
===
|
|
30
|
+
|
|
31
|
+
# htmlparser2@9.1.0 (MIT)
|
|
32
|
+
|
|
33
|
+
Copyright 2010, 2011, Chris Winberry <chris@winberry.net>. All rights reserved.
|
|
34
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
35
|
+
of this software and associated documentation files (the "Software"), to
|
|
36
|
+
deal in the Software without restriction, including without limitation the
|
|
37
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
38
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
|
39
|
+
furnished to do so, subject to the following conditions:
|
|
40
|
+
|
|
41
|
+
The above copyright notice and this permission notice shall be included in
|
|
42
|
+
all copies or substantial portions of the Software.
|
|
43
|
+
|
|
44
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
45
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
46
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
47
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
48
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
49
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
50
|
+
IN THE SOFTWARE.
|
|
29
51
|
|
|
30
52
|
===
|
|
31
53
|
|
|
32
|
-
#
|
|
54
|
+
# react-query@3.39.3 (MIT)
|
|
33
55
|
|
|
34
56
|
MIT License
|
|
35
57
|
|
|
36
|
-
Copyright (c)
|
|
58
|
+
Copyright (c) 2019 Tanner Linsley
|
|
37
59
|
|
|
38
60
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
39
61
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -53,13 +75,14 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
53
75
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
54
76
|
SOFTWARE.
|
|
55
77
|
|
|
78
|
+
|
|
56
79
|
===
|
|
57
80
|
|
|
58
|
-
# @
|
|
81
|
+
# lib0@0.2.88 (MIT)
|
|
59
82
|
|
|
60
|
-
MIT License
|
|
83
|
+
The MIT License (MIT)
|
|
61
84
|
|
|
62
|
-
Copyright (c)
|
|
85
|
+
Copyright (c) 2019 Kevin Jahns <kevin.jahns@protonmail.com>.
|
|
63
86
|
|
|
64
87
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
65
88
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -79,13 +102,14 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
79
102
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
80
103
|
SOFTWARE.
|
|
81
104
|
|
|
105
|
+
|
|
82
106
|
===
|
|
83
107
|
|
|
84
|
-
#
|
|
108
|
+
# @headlessui/react@2.2.0 (MIT)
|
|
85
109
|
|
|
86
|
-
|
|
110
|
+
MIT License
|
|
87
111
|
|
|
88
|
-
Copyright (c)
|
|
112
|
+
Copyright (c) 2020 Tailwind Labs
|
|
89
113
|
|
|
90
114
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
91
115
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -105,29 +129,56 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
105
129
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
106
130
|
SOFTWARE.
|
|
107
131
|
|
|
132
|
+
===
|
|
133
|
+
|
|
134
|
+
# domutils@3.1.0 (BSD-2-Clause)
|
|
135
|
+
|
|
136
|
+
Copyright (c) Felix Böhm
|
|
137
|
+
All rights reserved.
|
|
138
|
+
|
|
139
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
140
|
+
|
|
141
|
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
142
|
+
|
|
143
|
+
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.
|
|
144
|
+
|
|
145
|
+
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,
|
|
146
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
147
|
+
|
|
108
148
|
|
|
109
149
|
===
|
|
110
150
|
|
|
111
|
-
#
|
|
151
|
+
# domhandler@5.0.3 (BSD-2-Clause)
|
|
152
|
+
|
|
153
|
+
Copyright (c) Felix Böhm
|
|
154
|
+
All rights reserved.
|
|
155
|
+
|
|
156
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
157
|
+
|
|
158
|
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
159
|
+
|
|
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.
|
|
161
|
+
|
|
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.
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
===
|
|
167
|
+
|
|
168
|
+
# entities@4.5.0 (BSD-2-Clause)
|
|
169
|
+
|
|
170
|
+
Copyright (c) Felix Böhm
|
|
171
|
+
All rights reserved.
|
|
172
|
+
|
|
173
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
174
|
+
|
|
175
|
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
176
|
+
|
|
177
|
+
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.
|
|
178
|
+
|
|
179
|
+
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,
|
|
180
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
112
181
|
|
|
113
|
-
Copyright 2010, 2011, Chris Winberry <chris@winberry.net>. All rights reserved.
|
|
114
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
115
|
-
of this software and associated documentation files (the "Software"), to
|
|
116
|
-
deal in the Software without restriction, including without limitation the
|
|
117
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
118
|
-
sell copies of the Software, and to permit persons to whom the Software is
|
|
119
|
-
furnished to do so, subject to the following conditions:
|
|
120
|
-
|
|
121
|
-
The above copyright notice and this permission notice shall be included in
|
|
122
|
-
all copies or substantial portions of the Software.
|
|
123
|
-
|
|
124
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
125
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
126
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
127
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
128
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
129
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
130
|
-
IN THE SOFTWARE.
|
|
131
182
|
|
|
132
183
|
===
|
|
133
184
|
|
|
@@ -184,53 +235,46 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
184
235
|
|
|
185
236
|
===
|
|
186
237
|
|
|
187
|
-
#
|
|
188
|
-
|
|
189
|
-
Copyright (c) Felix Böhm
|
|
190
|
-
All rights reserved.
|
|
191
|
-
|
|
192
|
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
193
|
-
|
|
194
|
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
195
|
-
|
|
196
|
-
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.
|
|
197
|
-
|
|
198
|
-
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,
|
|
199
|
-
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
===
|
|
238
|
+
# dom-serializer@2.0.0 (MIT)
|
|
203
239
|
|
|
204
|
-
|
|
240
|
+
License
|
|
205
241
|
|
|
206
|
-
|
|
207
|
-
All rights reserved.
|
|
242
|
+
(The MIT License)
|
|
208
243
|
|
|
209
|
-
|
|
244
|
+
Copyright (c) 2014 The cheeriojs contributors
|
|
210
245
|
|
|
211
|
-
|
|
246
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
212
247
|
|
|
213
|
-
|
|
248
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
214
249
|
|
|
215
|
-
|
|
216
|
-
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
250
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
217
251
|
|
|
218
252
|
|
|
219
253
|
===
|
|
220
254
|
|
|
221
|
-
#
|
|
255
|
+
# prop-types@15.8.1 (MIT)
|
|
222
256
|
|
|
223
|
-
|
|
224
|
-
All rights reserved.
|
|
257
|
+
MIT License
|
|
225
258
|
|
|
226
|
-
|
|
259
|
+
Copyright (c) 2013-present, Facebook, Inc.
|
|
227
260
|
|
|
228
|
-
|
|
261
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
262
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
263
|
+
in the Software without restriction, including without limitation the rights
|
|
264
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
265
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
266
|
+
furnished to do so, subject to the following conditions:
|
|
229
267
|
|
|
230
|
-
|
|
268
|
+
The above copyright notice and this permission notice shall be included in all
|
|
269
|
+
copies or substantial portions of the Software.
|
|
231
270
|
|
|
232
|
-
|
|
233
|
-
|
|
271
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
272
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
273
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
274
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
275
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
276
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
277
|
+
SOFTWARE.
|
|
234
278
|
|
|
235
279
|
|
|
236
280
|
===
|
|
@@ -440,33 +484,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
440
484
|
limitations under the License.
|
|
441
485
|
|
|
442
486
|
|
|
443
|
-
===
|
|
444
|
-
|
|
445
|
-
# prop-types@15.8.1 (MIT)
|
|
446
|
-
|
|
447
|
-
MIT License
|
|
448
|
-
|
|
449
|
-
Copyright (c) 2013-present, Facebook, Inc.
|
|
450
|
-
|
|
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:
|
|
457
|
-
|
|
458
|
-
The above copyright notice and this permission notice shall be included in all
|
|
459
|
-
copies or substantial portions of the Software.
|
|
460
|
-
|
|
461
|
-
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.
|
|
468
|
-
|
|
469
|
-
|
|
470
487
|
===
|
|
471
488
|
|
|
472
489
|
# react-is@16.13.1 (MIT)
|
|
@@ -494,23 +511,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
494
511
|
SOFTWARE.
|
|
495
512
|
|
|
496
513
|
|
|
497
|
-
===
|
|
498
|
-
|
|
499
|
-
# dom-serializer@2.0.0 (MIT)
|
|
500
|
-
|
|
501
|
-
License
|
|
502
|
-
|
|
503
|
-
(The MIT License)
|
|
504
|
-
|
|
505
|
-
Copyright (c) 2014 The cheeriojs contributors
|
|
506
|
-
|
|
507
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
508
|
-
|
|
509
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
510
|
-
|
|
511
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
512
|
-
|
|
513
|
-
|
|
514
514
|
===
|
|
515
515
|
|
|
516
516
|
# @headless-tree/core@0.0.15 (MIT)
|
|
@@ -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.
|
package/dist/backend/Handler.js
CHANGED
|
@@ -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();
|
|
@@ -525,8 +525,7 @@ var OAuth2 = class {
|
|
|
525
525
|
value: codeVerifier,
|
|
526
526
|
path: redirectUri.pathname,
|
|
527
527
|
secure: redirectUri.protocol === "https:",
|
|
528
|
-
httpOnly: true
|
|
529
|
-
sameSite: "strict"
|
|
528
|
+
httpOnly: true
|
|
530
529
|
})
|
|
531
530
|
}
|
|
532
531
|
}
|
|
@@ -559,6 +558,22 @@ var OAuth2 = class {
|
|
|
559
558
|
}
|
|
560
559
|
});
|
|
561
560
|
}
|
|
561
|
+
case AuthAction.Logout: {
|
|
562
|
+
const cookieHeader = request.headers.get("cookie");
|
|
563
|
+
if (!cookieHeader) throw new HttpError(400, "Missing cookies");
|
|
564
|
+
const cookies = parse(cookieHeader);
|
|
565
|
+
const accessToken = cookies[COOKIE_ACCESS_TOKEN];
|
|
566
|
+
const refreshToken = cookies[COOKIE_REFRESH_TOKEN];
|
|
567
|
+
const token = { accessToken, refreshToken, expiresAt: null };
|
|
568
|
+
await this.#client.revoke(token).catch(() => {
|
|
569
|
+
});
|
|
570
|
+
return new Response(void 0, {
|
|
571
|
+
status: 204,
|
|
572
|
+
headers: {
|
|
573
|
+
"set-cookie": clearCookies(redirectUri)
|
|
574
|
+
}
|
|
575
|
+
});
|
|
576
|
+
}
|
|
562
577
|
default:
|
|
563
578
|
return new Response("Bad request", { status: 400 });
|
|
564
579
|
}
|
|
@@ -629,6 +644,28 @@ function selectKey(jwks, token) {
|
|
|
629
644
|
if (!key) throw new Error(`No key found for kid: ${kid}`);
|
|
630
645
|
return key;
|
|
631
646
|
}
|
|
647
|
+
function clearCookies(redirectUri) {
|
|
648
|
+
return router.cookie(
|
|
649
|
+
{
|
|
650
|
+
name: COOKIE_ACCESS_TOKEN,
|
|
651
|
+
value: "",
|
|
652
|
+
expires: /* @__PURE__ */ new Date(0),
|
|
653
|
+
path: "/",
|
|
654
|
+
secure: redirectUri.protocol === "https:",
|
|
655
|
+
httpOnly: true,
|
|
656
|
+
sameSite: "strict"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
name: COOKIE_REFRESH_TOKEN,
|
|
660
|
+
value: "",
|
|
661
|
+
expires: /* @__PURE__ */ new Date(0),
|
|
662
|
+
path: redirectUri.pathname,
|
|
663
|
+
secure: redirectUri.protocol === "https:",
|
|
664
|
+
httpOnly: true,
|
|
665
|
+
sameSite: "strict"
|
|
666
|
+
}
|
|
667
|
+
);
|
|
668
|
+
}
|
|
632
669
|
function tokenToCookie(token, redirectUri) {
|
|
633
670
|
assert(token.refreshToken, "Missing refresh token in response");
|
|
634
671
|
return router.cookie(
|
|
@@ -636,7 +673,7 @@ function tokenToCookie(token, redirectUri) {
|
|
|
636
673
|
name: COOKIE_ACCESS_TOKEN,
|
|
637
674
|
value: token.accessToken,
|
|
638
675
|
expires: token.expiresAt ? new Date(token.expiresAt) : void 0,
|
|
639
|
-
path:
|
|
676
|
+
path: "/",
|
|
640
677
|
secure: redirectUri.protocol === "https:",
|
|
641
678
|
httpOnly: true,
|
|
642
679
|
sameSite: "strict"
|
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 {
|
|
3139
|
+
import type { BrowserConnection } from 'alinea/core/Connection';
|
|
3136
3140
|
import type { User } from 'alinea/core/User';
|
|
3137
3141
|
export interface Session {
|
|
3138
|
-
cnx:
|
|
3142
|
+
cnx: BrowserConnection;
|
|
3139
3143
|
user: User;
|
|
3140
|
-
end?: () => Promise<void>;
|
|
3141
3144
|
}
|
|
3142
3145
|
|
|
3143
3146
|
}
|
package/dist/cli/Serve.js
CHANGED
package/dist/cli/bin.js
CHANGED
|
@@ -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
|
-
|
|
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:
|
package/dist/core/Client.d.ts
CHANGED
|
@@ -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>;
|
package/dist/core/Client.js
CHANGED
|
@@ -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;
|
package/dist/core/Graph.js
CHANGED
|
@@ -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
|
|
13
|
+
if (!result) throw new Error("Entry not found");
|
|
15
14
|
return result;
|
|
16
15
|
}
|
|
17
16
|
count(query) {
|
package/dist/core/Session.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BrowserConnection } from './Connection.js';
|
|
2
2
|
import type { User } from './User.js';
|
|
3
3
|
export interface Session {
|
|
4
|
-
cnx:
|
|
4
|
+
cnx: BrowserConnection;
|
|
5
5
|
user: User;
|
|
6
|
-
end?: () => Promise<void>;
|
|
7
6
|
}
|
|
@@ -104,7 +104,7 @@ var EntryResolver = class {
|
|
|
104
104
|
case "next": {
|
|
105
105
|
const [next] = this.index.filter({
|
|
106
106
|
condition({ workspace, root, parentId, index, locale }) {
|
|
107
|
-
return workspace === entry.workspace && root === entry.root && parentId === entry.parentId && index
|
|
107
|
+
return workspace === entry.workspace && root === entry.root && parentId === entry.parentId && index > entry.index && locale === entry.locale;
|
|
108
108
|
}
|
|
109
109
|
}).sort((a, b) => compareStrings(a.index, b.index));
|
|
110
110
|
return { ids: next ? [next.id] : [] };
|
|
@@ -112,7 +112,7 @@ var EntryResolver = class {
|
|
|
112
112
|
case "previous": {
|
|
113
113
|
const [previous] = this.index.filter({
|
|
114
114
|
condition({ workspace, root, parentId, index, locale }) {
|
|
115
|
-
return workspace === entry.workspace && root === entry.root && parentId === entry.parentId && index
|
|
115
|
+
return workspace === entry.workspace && root === entry.root && parentId === entry.parentId && index < entry.index && locale === entry.locale;
|
|
116
116
|
}
|
|
117
117
|
}).sort((a, b) => compareStrings(b.index, a.index));
|
|
118
118
|
return { ids: previous ? [previous.id] : [] };
|
package/dist/dashboard/App.js
CHANGED
|
@@ -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 {
|
|
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(
|
|
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
|
|
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.
|
|
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(
|
|
@@ -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.
|
|
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
|
}
|