@civic/auth 0.0.1-beta.2 → 0.0.1-beta.21
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/README.md +26 -0
- package/dist/AuthProvider-Bj_Prt1x.d.ts +21 -0
- package/dist/AuthProvider-DUAoX4G9.d.mts +21 -0
- package/dist/UserProvider-CMLaYOUD.d.ts +16 -0
- package/dist/UserProvider-Cbm8MZkJ.d.mts +16 -0
- package/dist/chunk-4PLCDPEN.mjs +599 -0
- package/dist/chunk-4PLCDPEN.mjs.map +1 -0
- package/dist/chunk-5UQQYXCX.js +1 -0
- package/dist/chunk-5UQQYXCX.js.map +1 -0
- package/dist/chunk-6RFRDWIP.js +223 -0
- package/dist/chunk-6RFRDWIP.js.map +1 -0
- package/dist/chunk-7K3QN2AT.js +599 -0
- package/dist/chunk-7K3QN2AT.js.map +1 -0
- package/dist/chunk-AP4627CS.mjs +223 -0
- package/dist/chunk-AP4627CS.mjs.map +1 -0
- package/dist/chunk-CRTRMMJ7.js.map +1 -1
- package/dist/chunk-CTVJJBBA.js +118 -0
- package/dist/chunk-CTVJJBBA.js.map +1 -0
- package/dist/chunk-FHRZSX3C.js +710 -0
- package/dist/chunk-FHRZSX3C.js.map +1 -0
- package/dist/chunk-JDZPCA3P.js +173 -0
- package/dist/chunk-JDZPCA3P.js.map +1 -0
- package/dist/chunk-MK7557NR.mjs +118 -0
- package/dist/chunk-MK7557NR.mjs.map +1 -0
- package/dist/chunk-NLRREFOX.mjs +710 -0
- package/dist/chunk-NLRREFOX.mjs.map +1 -0
- package/dist/chunk-O3WGNLRO.mjs +173 -0
- package/dist/chunk-O3WGNLRO.mjs.map +1 -0
- package/dist/chunk-PMJAV4JJ.mjs +1 -0
- package/dist/chunk-PMJAV4JJ.mjs.map +1 -0
- package/dist/index.css +63 -70
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/nextjs/client.css +335 -0
- package/dist/nextjs/client.css.map +1 -0
- package/dist/nextjs/client.d.mts +12 -0
- package/dist/nextjs/client.d.ts +12 -0
- package/dist/nextjs/client.js +179 -0
- package/dist/nextjs/client.js.map +1 -0
- package/dist/nextjs/client.mjs +179 -0
- package/dist/nextjs/client.mjs.map +1 -0
- package/dist/nextjs.d.mts +67 -15
- package/dist/nextjs.d.ts +67 -15
- package/dist/nextjs.js +158 -180
- package/dist/nextjs.js.map +1 -1
- package/dist/nextjs.mjs +155 -177
- package/dist/nextjs.mjs.map +1 -1
- package/dist/react.d.mts +31 -81
- package/dist/react.d.ts +31 -81
- package/dist/react.js +35 -634
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +65 -664
- package/dist/react.mjs.map +1 -1
- package/dist/server.d.mts +14 -34
- package/dist/server.d.ts +14 -34
- package/dist/server.js +4 -185
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +10 -191
- package/dist/server.mjs.map +1 -1
- package/dist/storage-B2eAQNdv.d.ts +25 -0
- package/dist/storage-BJPUpxhm.d.mts +25 -0
- package/dist/types-Bqm9OCZN.d.mts +22 -0
- package/dist/types-Bqm9OCZN.d.ts +22 -0
- package/dist/types-HdCjGldB.d.mts +58 -0
- package/dist/types-HdCjGldB.d.ts +58 -0
- package/package.json +26 -17
- package/dist/chunk-5NUJ7LFF.mjs +0 -17
- package/dist/chunk-5NUJ7LFF.mjs.map +0 -1
- package/dist/chunk-KS7ERXGZ.js +0 -481
- package/dist/chunk-KS7ERXGZ.js.map +0 -1
- package/dist/chunk-NINRO7GS.js +0 -209
- package/dist/chunk-NINRO7GS.js.map +0 -1
- package/dist/chunk-NXBKSUKI.mjs +0 -481
- package/dist/chunk-NXBKSUKI.mjs.map +0 -1
- package/dist/chunk-T7HUHQ3J.mjs +0 -209
- package/dist/chunk-T7HUHQ3J.mjs.map +0 -1
- package/dist/chunk-WZLC5B4C.js +0 -17
- package/dist/chunk-WZLC5B4C.js.map +0 -1
- package/dist/index-DoDoIY_K.d.mts +0 -79
- package/dist/index-DoDoIY_K.d.ts +0 -79
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export { C as Config, D as DisplayMode, E as Endpoints, F as ForwardedTokens, T as Tokens, U as User } from './
|
|
1
|
+
export { A as AuthStorage, C as Config, D as DisplayMode, E as Endpoints, F as ForwardedTokens, T as Tokens, U as User } from './types-HdCjGldB.mjs';
|
|
2
|
+
export { C as CodeVerifier, a as CookieConfig, O as OAuthTokens, T as TokensCookieConfig, U as UserStorage } from './types-Bqm9OCZN.mjs';
|
|
3
|
+
export { U as UserContextType } from './UserProvider-Cbm8MZkJ.mjs';
|
|
2
4
|
import 'oslo/oauth2';
|
|
3
5
|
import 'oslo/jwt';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export { C as Config, D as DisplayMode, E as Endpoints, F as ForwardedTokens, T as Tokens, U as User } from './
|
|
1
|
+
export { A as AuthStorage, C as Config, D as DisplayMode, E as Endpoints, F as ForwardedTokens, T as Tokens, U as User } from './types-HdCjGldB.js';
|
|
2
|
+
export { C as CodeVerifier, a as CookieConfig, O as OAuthTokens, T as TokensCookieConfig, U as UserStorage } from './types-Bqm9OCZN.js';
|
|
3
|
+
export { U as UserContextType } from './UserProvider-CMLaYOUD.js';
|
|
2
4
|
import 'oslo/oauth2';
|
|
3
5
|
import 'oslo/jwt';
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/
|
|
1
|
+
{"version":3,"sources":["/Users/flippie/civic/repos/civic-auth/packages/civic-auth-client/dist/index.js"],"names":[],"mappings":"AAAA,4CAA4B;AAC5B,+BAA4B","file":"/Users/flippie/civic/repos/civic-auth/packages/civic-auth-client/dist/index.js"}
|
package/dist/index.mjs
CHANGED
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/* src/styles.css */
|
|
2
|
+
*,
|
|
3
|
+
::before,
|
|
4
|
+
::after {
|
|
5
|
+
--tw-border-spacing-x: 0;
|
|
6
|
+
--tw-border-spacing-y: 0;
|
|
7
|
+
--tw-translate-x: 0;
|
|
8
|
+
--tw-translate-y: 0;
|
|
9
|
+
--tw-rotate: 0;
|
|
10
|
+
--tw-skew-x: 0;
|
|
11
|
+
--tw-skew-y: 0;
|
|
12
|
+
--tw-scale-x: 1;
|
|
13
|
+
--tw-scale-y: 1;
|
|
14
|
+
--tw-pan-x: ;
|
|
15
|
+
--tw-pan-y: ;
|
|
16
|
+
--tw-pinch-zoom: ;
|
|
17
|
+
--tw-scroll-snap-strictness: proximity;
|
|
18
|
+
--tw-gradient-from-position: ;
|
|
19
|
+
--tw-gradient-via-position: ;
|
|
20
|
+
--tw-gradient-to-position: ;
|
|
21
|
+
--tw-ordinal: ;
|
|
22
|
+
--tw-slashed-zero: ;
|
|
23
|
+
--tw-numeric-figure: ;
|
|
24
|
+
--tw-numeric-spacing: ;
|
|
25
|
+
--tw-numeric-fraction: ;
|
|
26
|
+
--tw-ring-inset: ;
|
|
27
|
+
--tw-ring-offset-width: 0px;
|
|
28
|
+
--tw-ring-offset-color: #fff;
|
|
29
|
+
--tw-ring-color: rgb(59 130 246 / 0.5);
|
|
30
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
31
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
32
|
+
--tw-shadow: 0 0 #0000;
|
|
33
|
+
--tw-shadow-colored: 0 0 #0000;
|
|
34
|
+
--tw-blur: ;
|
|
35
|
+
--tw-brightness: ;
|
|
36
|
+
--tw-contrast: ;
|
|
37
|
+
--tw-grayscale: ;
|
|
38
|
+
--tw-hue-rotate: ;
|
|
39
|
+
--tw-invert: ;
|
|
40
|
+
--tw-saturate: ;
|
|
41
|
+
--tw-sepia: ;
|
|
42
|
+
--tw-drop-shadow: ;
|
|
43
|
+
--tw-backdrop-blur: ;
|
|
44
|
+
--tw-backdrop-brightness: ;
|
|
45
|
+
--tw-backdrop-contrast: ;
|
|
46
|
+
--tw-backdrop-grayscale: ;
|
|
47
|
+
--tw-backdrop-hue-rotate: ;
|
|
48
|
+
--tw-backdrop-invert: ;
|
|
49
|
+
--tw-backdrop-opacity: ;
|
|
50
|
+
--tw-backdrop-saturate: ;
|
|
51
|
+
--tw-backdrop-sepia: ;
|
|
52
|
+
--tw-contain-size: ;
|
|
53
|
+
--tw-contain-layout: ;
|
|
54
|
+
--tw-contain-paint: ;
|
|
55
|
+
--tw-contain-style: ;
|
|
56
|
+
}
|
|
57
|
+
::backdrop {
|
|
58
|
+
--tw-border-spacing-x: 0;
|
|
59
|
+
--tw-border-spacing-y: 0;
|
|
60
|
+
--tw-translate-x: 0;
|
|
61
|
+
--tw-translate-y: 0;
|
|
62
|
+
--tw-rotate: 0;
|
|
63
|
+
--tw-skew-x: 0;
|
|
64
|
+
--tw-skew-y: 0;
|
|
65
|
+
--tw-scale-x: 1;
|
|
66
|
+
--tw-scale-y: 1;
|
|
67
|
+
--tw-pan-x: ;
|
|
68
|
+
--tw-pan-y: ;
|
|
69
|
+
--tw-pinch-zoom: ;
|
|
70
|
+
--tw-scroll-snap-strictness: proximity;
|
|
71
|
+
--tw-gradient-from-position: ;
|
|
72
|
+
--tw-gradient-via-position: ;
|
|
73
|
+
--tw-gradient-to-position: ;
|
|
74
|
+
--tw-ordinal: ;
|
|
75
|
+
--tw-slashed-zero: ;
|
|
76
|
+
--tw-numeric-figure: ;
|
|
77
|
+
--tw-numeric-spacing: ;
|
|
78
|
+
--tw-numeric-fraction: ;
|
|
79
|
+
--tw-ring-inset: ;
|
|
80
|
+
--tw-ring-offset-width: 0px;
|
|
81
|
+
--tw-ring-offset-color: #fff;
|
|
82
|
+
--tw-ring-color: rgb(59 130 246 / 0.5);
|
|
83
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
84
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
85
|
+
--tw-shadow: 0 0 #0000;
|
|
86
|
+
--tw-shadow-colored: 0 0 #0000;
|
|
87
|
+
--tw-blur: ;
|
|
88
|
+
--tw-brightness: ;
|
|
89
|
+
--tw-contrast: ;
|
|
90
|
+
--tw-grayscale: ;
|
|
91
|
+
--tw-hue-rotate: ;
|
|
92
|
+
--tw-invert: ;
|
|
93
|
+
--tw-saturate: ;
|
|
94
|
+
--tw-sepia: ;
|
|
95
|
+
--tw-drop-shadow: ;
|
|
96
|
+
--tw-backdrop-blur: ;
|
|
97
|
+
--tw-backdrop-brightness: ;
|
|
98
|
+
--tw-backdrop-contrast: ;
|
|
99
|
+
--tw-backdrop-grayscale: ;
|
|
100
|
+
--tw-backdrop-hue-rotate: ;
|
|
101
|
+
--tw-backdrop-invert: ;
|
|
102
|
+
--tw-backdrop-opacity: ;
|
|
103
|
+
--tw-backdrop-saturate: ;
|
|
104
|
+
--tw-backdrop-sepia: ;
|
|
105
|
+
--tw-contain-size: ;
|
|
106
|
+
--tw-contain-layout: ;
|
|
107
|
+
--tw-contain-paint: ;
|
|
108
|
+
--tw-contain-style: ;
|
|
109
|
+
}
|
|
110
|
+
.cac-sr-only {
|
|
111
|
+
position: absolute;
|
|
112
|
+
width: 1px;
|
|
113
|
+
height: 1px;
|
|
114
|
+
padding: 0;
|
|
115
|
+
margin: -1px;
|
|
116
|
+
overflow: hidden;
|
|
117
|
+
clip: rect(0, 0, 0, 0);
|
|
118
|
+
white-space: nowrap;
|
|
119
|
+
border-width: 0;
|
|
120
|
+
}
|
|
121
|
+
.cac-absolute {
|
|
122
|
+
position: absolute;
|
|
123
|
+
}
|
|
124
|
+
.cac-relative {
|
|
125
|
+
position: relative;
|
|
126
|
+
}
|
|
127
|
+
.cac-inset-0 {
|
|
128
|
+
inset: 0px;
|
|
129
|
+
}
|
|
130
|
+
.cac-left-0 {
|
|
131
|
+
left: 0px;
|
|
132
|
+
}
|
|
133
|
+
.cac-right-0 {
|
|
134
|
+
right: 0px;
|
|
135
|
+
}
|
|
136
|
+
.cac-right-4 {
|
|
137
|
+
right: 1rem;
|
|
138
|
+
}
|
|
139
|
+
.cac-top-0 {
|
|
140
|
+
top: 0px;
|
|
141
|
+
}
|
|
142
|
+
.cac-top-4 {
|
|
143
|
+
top: 1rem;
|
|
144
|
+
}
|
|
145
|
+
.cac-z-50 {
|
|
146
|
+
z-index: 50;
|
|
147
|
+
}
|
|
148
|
+
.cac-mt-2 {
|
|
149
|
+
margin-top: 0.5rem;
|
|
150
|
+
}
|
|
151
|
+
.cac-block {
|
|
152
|
+
display: block;
|
|
153
|
+
}
|
|
154
|
+
.cac-inline {
|
|
155
|
+
display: inline;
|
|
156
|
+
}
|
|
157
|
+
.cac-flex {
|
|
158
|
+
display: flex;
|
|
159
|
+
}
|
|
160
|
+
.cac-hidden {
|
|
161
|
+
display: none;
|
|
162
|
+
}
|
|
163
|
+
.cac-h-10 {
|
|
164
|
+
height: 2.5rem;
|
|
165
|
+
}
|
|
166
|
+
.cac-h-8 {
|
|
167
|
+
height: 2rem;
|
|
168
|
+
}
|
|
169
|
+
.cac-h-\[26rem\] {
|
|
170
|
+
height: 26rem;
|
|
171
|
+
}
|
|
172
|
+
.cac-h-full {
|
|
173
|
+
height: 100%;
|
|
174
|
+
}
|
|
175
|
+
.cac-h-screen {
|
|
176
|
+
height: 100vh;
|
|
177
|
+
}
|
|
178
|
+
.cac-w-10 {
|
|
179
|
+
width: 2.5rem;
|
|
180
|
+
}
|
|
181
|
+
.cac-w-8 {
|
|
182
|
+
width: 2rem;
|
|
183
|
+
}
|
|
184
|
+
.cac-w-80 {
|
|
185
|
+
width: 20rem;
|
|
186
|
+
}
|
|
187
|
+
.cac-w-full {
|
|
188
|
+
width: 100%;
|
|
189
|
+
}
|
|
190
|
+
.cac-w-screen {
|
|
191
|
+
width: 100vw;
|
|
192
|
+
}
|
|
193
|
+
.cac-shrink-0 {
|
|
194
|
+
flex-shrink: 0;
|
|
195
|
+
}
|
|
196
|
+
@keyframes cac-spin {
|
|
197
|
+
to {
|
|
198
|
+
transform: rotate(360deg);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
.cac-animate-spin {
|
|
202
|
+
animation: cac-spin 1s linear infinite;
|
|
203
|
+
}
|
|
204
|
+
.cac-cursor-pointer {
|
|
205
|
+
cursor: pointer;
|
|
206
|
+
}
|
|
207
|
+
.cac-items-center {
|
|
208
|
+
align-items: center;
|
|
209
|
+
}
|
|
210
|
+
.cac-justify-center {
|
|
211
|
+
justify-content: center;
|
|
212
|
+
}
|
|
213
|
+
.cac-justify-between {
|
|
214
|
+
justify-content: space-between;
|
|
215
|
+
}
|
|
216
|
+
.cac-gap-2 {
|
|
217
|
+
gap: 0.5rem;
|
|
218
|
+
}
|
|
219
|
+
.cac-overflow-hidden {
|
|
220
|
+
overflow: hidden;
|
|
221
|
+
}
|
|
222
|
+
.cac-rounded-3xl {
|
|
223
|
+
border-radius: 1.5rem;
|
|
224
|
+
}
|
|
225
|
+
.cac-rounded-full {
|
|
226
|
+
border-radius: 9999px;
|
|
227
|
+
}
|
|
228
|
+
.cac-rounded-lg {
|
|
229
|
+
border-radius: 0.5rem;
|
|
230
|
+
}
|
|
231
|
+
.cac-border {
|
|
232
|
+
border-width: 1px;
|
|
233
|
+
}
|
|
234
|
+
.cac-border-none {
|
|
235
|
+
border-style: none;
|
|
236
|
+
}
|
|
237
|
+
.cac-border-neutral-500 {
|
|
238
|
+
--tw-border-opacity: 1;
|
|
239
|
+
border-color: rgb(115 115 115 / var(--tw-border-opacity));
|
|
240
|
+
}
|
|
241
|
+
.cac-bg-neutral-950 {
|
|
242
|
+
--tw-bg-opacity: 1;
|
|
243
|
+
background-color: rgb(10 10 10 / var(--tw-bg-opacity));
|
|
244
|
+
}
|
|
245
|
+
.cac-bg-transparent {
|
|
246
|
+
background-color: transparent;
|
|
247
|
+
}
|
|
248
|
+
.cac-bg-white {
|
|
249
|
+
--tw-bg-opacity: 1;
|
|
250
|
+
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
|
251
|
+
}
|
|
252
|
+
.cac-bg-opacity-50 {
|
|
253
|
+
--tw-bg-opacity: 0.5 ;
|
|
254
|
+
}
|
|
255
|
+
.cac-fill-neutral-600 {
|
|
256
|
+
fill: #525252;
|
|
257
|
+
}
|
|
258
|
+
.cac-object-cover {
|
|
259
|
+
-o-object-fit: cover;
|
|
260
|
+
object-fit: cover;
|
|
261
|
+
}
|
|
262
|
+
.cac-p-1 {
|
|
263
|
+
padding: 0.25rem;
|
|
264
|
+
}
|
|
265
|
+
.cac-p-6 {
|
|
266
|
+
padding: 1.5rem;
|
|
267
|
+
}
|
|
268
|
+
.cac-px-3 {
|
|
269
|
+
padding-left: 0.75rem;
|
|
270
|
+
padding-right: 0.75rem;
|
|
271
|
+
}
|
|
272
|
+
.cac-px-4 {
|
|
273
|
+
padding-left: 1rem;
|
|
274
|
+
padding-right: 1rem;
|
|
275
|
+
}
|
|
276
|
+
.cac-py-2 {
|
|
277
|
+
padding-top: 0.5rem;
|
|
278
|
+
padding-bottom: 0.5rem;
|
|
279
|
+
}
|
|
280
|
+
.cac-text-neutral-200 {
|
|
281
|
+
--tw-text-opacity: 1;
|
|
282
|
+
color: rgb(229 229 229 / var(--tw-text-opacity));
|
|
283
|
+
}
|
|
284
|
+
.cac-text-neutral-400 {
|
|
285
|
+
--tw-text-opacity: 1;
|
|
286
|
+
color: rgb(163 163 163 / var(--tw-text-opacity));
|
|
287
|
+
}
|
|
288
|
+
.cac-text-neutral-500 {
|
|
289
|
+
--tw-text-opacity: 1;
|
|
290
|
+
color: rgb(115 115 115 / var(--tw-text-opacity));
|
|
291
|
+
}
|
|
292
|
+
.cac-shadow-lg {
|
|
293
|
+
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
294
|
+
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
295
|
+
box-shadow:
|
|
296
|
+
var(--tw-ring-offset-shadow, 0 0 #0000),
|
|
297
|
+
var(--tw-ring-shadow, 0 0 #0000),
|
|
298
|
+
var(--tw-shadow);
|
|
299
|
+
}
|
|
300
|
+
.cac-shadow-xl {
|
|
301
|
+
--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
302
|
+
--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
|
|
303
|
+
box-shadow:
|
|
304
|
+
var(--tw-ring-offset-shadow, 0 0 #0000),
|
|
305
|
+
var(--tw-ring-shadow, 0 0 #0000),
|
|
306
|
+
var(--tw-shadow);
|
|
307
|
+
}
|
|
308
|
+
.cac-transition-colors {
|
|
309
|
+
transition-property:
|
|
310
|
+
color,
|
|
311
|
+
background-color,
|
|
312
|
+
border-color,
|
|
313
|
+
text-decoration-color,
|
|
314
|
+
fill,
|
|
315
|
+
stroke;
|
|
316
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
317
|
+
transition-duration: 150ms;
|
|
318
|
+
}
|
|
319
|
+
.hover\:cac-bg-neutral-200:hover {
|
|
320
|
+
--tw-bg-opacity: 1;
|
|
321
|
+
background-color: rgb(229 229 229 / var(--tw-bg-opacity));
|
|
322
|
+
}
|
|
323
|
+
.hover\:cac-bg-opacity-50:hover {
|
|
324
|
+
--tw-bg-opacity: 0.5 ;
|
|
325
|
+
}
|
|
326
|
+
@media (prefers-color-scheme: dark) {
|
|
327
|
+
.dark\:cac-fill-neutral-300 {
|
|
328
|
+
fill: #d4d4d4;
|
|
329
|
+
}
|
|
330
|
+
.dark\:cac-text-neutral-600 {
|
|
331
|
+
--tw-text-opacity: 1;
|
|
332
|
+
color: rgb(82 82 82 / var(--tw-text-opacity));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/*# sourceMappingURL=client.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/styles.css"],"sourcesContent":["*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: \n}\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: \n}\n.cac-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0\n}\n.cac-absolute {\n position: absolute\n}\n.cac-relative {\n position: relative\n}\n.cac-inset-0 {\n inset: 0px\n}\n.cac-left-0 {\n left: 0px\n}\n.cac-right-0 {\n right: 0px\n}\n.cac-right-4 {\n right: 1rem\n}\n.cac-top-0 {\n top: 0px\n}\n.cac-top-4 {\n top: 1rem\n}\n.cac-z-50 {\n z-index: 50\n}\n.cac-mt-2 {\n margin-top: 0.5rem\n}\n.cac-block {\n display: block\n}\n.cac-inline {\n display: inline\n}\n.cac-flex {\n display: flex\n}\n.cac-hidden {\n display: none\n}\n.cac-h-10 {\n height: 2.5rem\n}\n.cac-h-8 {\n height: 2rem\n}\n.cac-h-\\[26rem\\] {\n height: 26rem\n}\n.cac-h-full {\n height: 100%\n}\n.cac-h-screen {\n height: 100vh\n}\n.cac-w-10 {\n width: 2.5rem\n}\n.cac-w-8 {\n width: 2rem\n}\n.cac-w-80 {\n width: 20rem\n}\n.cac-w-full {\n width: 100%\n}\n.cac-w-screen {\n width: 100vw\n}\n.cac-shrink-0 {\n flex-shrink: 0\n}\n@keyframes cac-spin {\n to {\n transform: rotate(360deg)\n }\n}\n.cac-animate-spin {\n animation: cac-spin 1s linear infinite\n}\n.cac-cursor-pointer {\n cursor: pointer\n}\n.cac-items-center {\n align-items: center\n}\n.cac-justify-center {\n justify-content: center\n}\n.cac-justify-between {\n justify-content: space-between\n}\n.cac-gap-2 {\n gap: 0.5rem\n}\n.cac-overflow-hidden {\n overflow: hidden\n}\n.cac-rounded-3xl {\n border-radius: 1.5rem\n}\n.cac-rounded-full {\n border-radius: 9999px\n}\n.cac-rounded-lg {\n border-radius: 0.5rem\n}\n.cac-border {\n border-width: 1px\n}\n.cac-border-none {\n border-style: none\n}\n.cac-border-neutral-500 {\n --tw-border-opacity: 1;\n border-color: rgb(115 115 115 / var(--tw-border-opacity))\n}\n.cac-bg-neutral-950 {\n --tw-bg-opacity: 1;\n background-color: rgb(10 10 10 / var(--tw-bg-opacity))\n}\n.cac-bg-transparent {\n background-color: transparent\n}\n.cac-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity))\n}\n.cac-bg-opacity-50 {\n --tw-bg-opacity: 0.5\n}\n.cac-fill-neutral-600 {\n fill: #525252\n}\n.cac-object-cover {\n -o-object-fit: cover;\n object-fit: cover\n}\n.cac-p-1 {\n padding: 0.25rem\n}\n.cac-p-6 {\n padding: 1.5rem\n}\n.cac-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem\n}\n.cac-px-4 {\n padding-left: 1rem;\n padding-right: 1rem\n}\n.cac-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem\n}\n.cac-text-neutral-200 {\n --tw-text-opacity: 1;\n color: rgb(229 229 229 / var(--tw-text-opacity))\n}\n.cac-text-neutral-400 {\n --tw-text-opacity: 1;\n color: rgb(163 163 163 / var(--tw-text-opacity))\n}\n.cac-text-neutral-500 {\n --tw-text-opacity: 1;\n color: rgb(115 115 115 / var(--tw-text-opacity))\n}\n.cac-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)\n}\n.cac-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)\n}\n.cac-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n.hover\\:cac-bg-neutral-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(229 229 229 / var(--tw-bg-opacity))\n}\n.hover\\:cac-bg-opacity-50:hover {\n --tw-bg-opacity: 0.5\n}\n@media (prefers-color-scheme: dark) {\n .dark\\:cac-fill-neutral-300 {\n fill: #d4d4d4\n }\n .dark\\:cac-text-neutral-600 {\n --tw-text-opacity: 1;\n color: rgb(82 82 82 / var(--tw-text-opacity))\n }\n}\n"],"mappings":";AAAA;AAAG;AAAU;AACT,yBAAuB;AACvB,yBAAuB;AACvB,oBAAkB;AAClB,oBAAkB;AAClB,eAAa;AACb,eAAa;AACb,eAAa;AACb,gBAAc;AACd,gBAAc;AACd;AACA;AACA;AACA,+BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAwB;AACxB,0BAAwB;AACxB,mBAAiB,IAAI,GAAG,IAAI,IAAI,EAAE;AAClC,2BAAyB,EAAE,EAAE;AAC7B,oBAAkB,EAAE,EAAE;AACtB,eAAa,EAAE,EAAE;AACjB,uBAAqB,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACJ;AACA;AACI,yBAAuB;AACvB,yBAAuB;AACvB,oBAAkB;AAClB,oBAAkB;AAClB,eAAa;AACb,eAAa;AACb,eAAa;AACb,gBAAc;AACd,gBAAc;AACd;AACA;AACA;AACA,+BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAwB;AACxB,0BAAwB;AACxB,mBAAiB,IAAI,GAAG,IAAI,IAAI,EAAE;AAClC,2BAAyB,EAAE,EAAE;AAC7B,oBAAkB,EAAE,EAAE;AACtB,eAAa,EAAE,EAAE;AACjB,uBAAqB,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACJ;AACA,CAAC;AACG,YAAU;AACV,SAAO;AACP,UAAQ;AACR,WAAS;AACT,UAAQ;AACR,YAAU;AACV,QAAM,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpB,eAAa;AACb,gBAAc;AAClB;AACA,CAAC;AACG,YAAU;AACd;AACA,CAAC;AACG,YAAU;AACd;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,QAAM;AACV;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,OAAK;AACT;AACA,CAAC;AACG,OAAK;AACT;AACA,CAAC;AACG,WAAS;AACb;AACA,CAAC;AACG,cAAY;AAChB;AACA,CAAC;AACG,WAAS;AACb;AACA,CAAC;AACG,WAAS;AACb;AACA,CAAC;AACG,WAAS;AACb;AACA,CAAC;AACG,WAAS;AACb;AACA,CAAC;AACG,UAAQ;AACZ;AACA,CAAC;AACG,UAAQ;AACZ;AACA,CAAC;AACG,UAAQ;AACZ;AACA,CAAC;AACG,UAAQ;AACZ;AACA,CAAC;AACG,UAAQ;AACZ;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,SAAO;AACX;AACA,CAAC;AACG,eAAa;AACjB;AACA,WAAW;AACP;AACI,eAAW,OAAO;AACtB;AACJ;AACA,CAAC;AACG,aAAW,SAAS,GAAG,OAAO;AAClC;AACA,CAAC;AACG,UAAQ;AACZ;AACA,CAAC;AACG,eAAa;AACjB;AACA,CAAC;AACG,mBAAiB;AACrB;AACA,CAAC;AACG,mBAAiB;AACrB;AACA,CAAC;AACG,OAAK;AACT;AACA,CAAC;AACG,YAAU;AACd;AACA,CAAC;AACG,iBAAe;AACnB;AACA,CAAC;AACG,iBAAe;AACnB;AACA,CAAC;AACG,iBAAe;AACnB;AACA,CAAC;AACG,gBAAc;AAClB;AACA,CAAC;AACG,gBAAc;AAClB;AACA,CAAC;AACG,uBAAqB;AACrB,gBAAc,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI;AACxC;AACA,CAAC;AACG,mBAAiB;AACjB,oBAAkB,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI;AACzC;AACA,CAAC;AACG,oBAAkB;AACtB;AACA,CAAC;AACG,mBAAiB;AACjB,oBAAkB,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI;AAC5C;AACA,CAAC;AACG,mBAAiB;AACrB;AACA,CAAC;AACG,QAAM;AACV;AACA,CAAC;AACG,iBAAe;AACZ,cAAY;AACnB;AACA,CAAC;AACG,WAAS;AACb;AACA,CAAC;AACG,WAAS;AACb;AACA,CAAC;AACG,gBAAc;AACd,iBAAe;AACnB;AACA,CAAC;AACG,gBAAc;AACd,iBAAe;AACnB;AACA,CAAC;AACG,eAAa;AACb,kBAAgB;AACpB;AACA,CAAC;AACG,qBAAmB;AACnB,SAAO,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI;AACjC;AACA,CAAC;AACG,qBAAmB;AACnB,SAAO,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI;AACjC;AACA,CAAC;AACG,qBAAmB;AACnB,SAAO,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI;AACjC;AACA,CAAC;AACG,eAAa,EAAE,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE;AAC3E,uBAAqB,EAAE,KAAK,KAAK,KAAK,IAAI,kBAAkB,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI;AACjF;AAAA,IAAY,IAAI,uBAAuB,EAAE,EAAE,EAAE,MAAM;AAAA,IAAE,IAAI,gBAAgB,EAAE,EAAE,EAAE,MAAM;AAAA,IAAE,IAAI;AAC/F;AACA,CAAC;AACG,eAAa,EAAE,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE;AAC5E,uBAAqB,EAAE,KAAK,KAAK,KAAK,IAAI,kBAAkB,EAAE,EAAE,IAAI,KAAK,KAAK,IAAI;AAClF;AAAA,IAAY,IAAI,uBAAuB,EAAE,EAAE,EAAE,MAAM;AAAA,IAAE,IAAI,gBAAgB,EAAE,EAAE,EAAE,MAAM;AAAA,IAAE,IAAI;AAC/F;AACA,CAAC;AACG;AAAA,IAAqB,KAAK;AAAA,IAAE,gBAAgB;AAAA,IAAE,YAAY;AAAA,IAAE,qBAAqB;AAAA,IAAE,IAAI;AAAA,IAAE;AACzF,8BAA4B,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;AACtD,uBAAqB;AACzB;AACA,CAAC,yBAAyB;AACtB,mBAAiB;AACjB,oBAAkB,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI;AAC5C;AACA,CAAC,wBAAwB;AACrB,mBAAiB;AACrB;AACA,OAAO,CAAC,oBAAoB,EAAE;AAC1B,GAAC;AACG,UAAM;AACV;AACA,GAAC;AACG,uBAAmB;AACnB,WAAO,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI;AAC9B;AACJ;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { A as AuthProviderProps } from '../AuthProvider-DUAoX4G9.mjs';
|
|
3
|
+
import { b as EmptyObject, U as User } from '../types-HdCjGldB.mjs';
|
|
4
|
+
import 'react';
|
|
5
|
+
import 'oslo/oauth2';
|
|
6
|
+
|
|
7
|
+
type NextCivicAuthProviderProps = Omit<AuthProviderProps, "clientId">;
|
|
8
|
+
declare const CivicNextAuthProvider: ({ children, ...props }: NextCivicAuthProviderProps) => react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
declare const useUserCookie: <T extends EmptyObject>() => User<T> | null;
|
|
11
|
+
|
|
12
|
+
export { type NextCivicAuthProviderProps as AuthProviderProps, CivicNextAuthProvider as CivicAuthProvider, useUserCookie };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { A as AuthProviderProps } from '../AuthProvider-Bj_Prt1x.js';
|
|
3
|
+
import { b as EmptyObject, U as User } from '../types-HdCjGldB.js';
|
|
4
|
+
import 'react';
|
|
5
|
+
import 'oslo/oauth2';
|
|
6
|
+
|
|
7
|
+
type NextCivicAuthProviderProps = Omit<AuthProviderProps, "clientId">;
|
|
8
|
+
declare const CivicNextAuthProvider: ({ children, ...props }: NextCivicAuthProviderProps) => react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
declare const useUserCookie: <T extends EmptyObject>() => User<T> | null;
|
|
11
|
+
|
|
12
|
+
export { type NextCivicAuthProviderProps as AuthProviderProps, CivicNextAuthProvider as CivicAuthProvider, useUserCookie };
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5UQQYXCX.js');
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkFHRZSX3Cjs = require('../chunk-FHRZSX3C.js');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkCTVJJBBAjs = require('../chunk-CTVJJBBA.js');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkJDZPCA3Pjs = require('../chunk-JDZPCA3P.js');
|
|
13
|
+
require('../chunk-6RFRDWIP.js');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _chunk7K3QN2ATjs = require('../chunk-7K3QN2AT.js');
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
var _chunkCRTRMMJ7js = require('../chunk-CRTRMMJ7.js');
|
|
23
|
+
|
|
24
|
+
// src/nextjs/providers/NextAuthProvider.tsx
|
|
25
|
+
var _react = require('react');
|
|
26
|
+
var _reactquery = require('@tanstack/react-query');
|
|
27
|
+
|
|
28
|
+
// src/nextjs/hooks/useUserCookie.ts
|
|
29
|
+
|
|
30
|
+
var _navigationjs = require('next/navigation.js');
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
// src/lib/cookies.ts
|
|
34
|
+
var getWindowCookieValue = ({
|
|
35
|
+
key,
|
|
36
|
+
window: window2,
|
|
37
|
+
parseJson = false
|
|
38
|
+
}) => {
|
|
39
|
+
const cookie = window2.document.cookie;
|
|
40
|
+
if (!cookie) return null;
|
|
41
|
+
const cookies = cookie.split(";");
|
|
42
|
+
for (const c of cookies) {
|
|
43
|
+
const [name, value] = c.trim().split("=");
|
|
44
|
+
if (value && name === key) {
|
|
45
|
+
try {
|
|
46
|
+
const decodeURIComponentValue = decodeURIComponent(value);
|
|
47
|
+
return parseJson === true ? JSON.parse(decodeURIComponentValue) : decodeURIComponentValue;
|
|
48
|
+
} catch (e) {
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// src/nextjs/hooks/useUserCookie.ts
|
|
57
|
+
var getUserFromCookie = () => {
|
|
58
|
+
const userCookie = getWindowCookieValue({
|
|
59
|
+
key: "user" /* USER */,
|
|
60
|
+
window: globalThis.window,
|
|
61
|
+
parseJson: true
|
|
62
|
+
});
|
|
63
|
+
return userCookie;
|
|
64
|
+
};
|
|
65
|
+
var useUserCookie = () => {
|
|
66
|
+
const hasRunRef = _react.useRef.call(void 0, false);
|
|
67
|
+
const router = _navigationjs.useRouter.call(void 0, );
|
|
68
|
+
const { data: user } = _reactquery.useQuery.call(void 0, {
|
|
69
|
+
queryKey: ["user"],
|
|
70
|
+
queryFn: () => getUserFromCookie(),
|
|
71
|
+
refetchInterval: 2e3,
|
|
72
|
+
refetchIntervalInBackground: true,
|
|
73
|
+
enabled: !hasRunRef.current,
|
|
74
|
+
refetchOnWindowFocus: true
|
|
75
|
+
});
|
|
76
|
+
_react.useEffect.call(void 0, () => {
|
|
77
|
+
if (user) {
|
|
78
|
+
if (!hasRunRef.current) {
|
|
79
|
+
hasRunRef.current = true;
|
|
80
|
+
router.refresh();
|
|
81
|
+
}
|
|
82
|
+
} else {
|
|
83
|
+
hasRunRef.current = false;
|
|
84
|
+
}
|
|
85
|
+
}, [user, router]);
|
|
86
|
+
return user != null ? user : null;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// src/nextjs/hooks/useTokenCookie.ts
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
var getTokenFromCookie = (tokenName) => {
|
|
94
|
+
return getWindowCookieValue({
|
|
95
|
+
key: tokenName,
|
|
96
|
+
window: globalThis.window,
|
|
97
|
+
parseJson: false
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
var useTokenCookie = (tokenName) => {
|
|
101
|
+
const hasRunRef = _react.useRef.call(void 0, false);
|
|
102
|
+
const router = _navigationjs.useRouter.call(void 0, );
|
|
103
|
+
const { data: token } = _reactquery.useQuery.call(void 0, {
|
|
104
|
+
queryKey: ["token", tokenName],
|
|
105
|
+
queryFn: () => getTokenFromCookie(tokenName) || null,
|
|
106
|
+
refetchInterval: 2e3,
|
|
107
|
+
refetchIntervalInBackground: true,
|
|
108
|
+
enabled: !hasRunRef.current,
|
|
109
|
+
refetchOnWindowFocus: true
|
|
110
|
+
});
|
|
111
|
+
_react.useEffect.call(void 0, () => {
|
|
112
|
+
if (token) {
|
|
113
|
+
if (!hasRunRef.current) {
|
|
114
|
+
hasRunRef.current = true;
|
|
115
|
+
router.refresh();
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
hasRunRef.current = false;
|
|
119
|
+
}
|
|
120
|
+
}, [token, router]);
|
|
121
|
+
return token != null ? token : null;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// src/nextjs/providers/NextAuthProvider.tsx
|
|
125
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
126
|
+
var queryClient = new (0, _reactquery.QueryClient)();
|
|
127
|
+
var CivicNextAuthProvider = (_a) => {
|
|
128
|
+
var _b = _a, {
|
|
129
|
+
children
|
|
130
|
+
} = _b, props = _chunkCRTRMMJ7js.__objRest.call(void 0, _b, [
|
|
131
|
+
"children"
|
|
132
|
+
]);
|
|
133
|
+
const [redirectUrl, setRedirectUrl] = _react.useState.call(void 0, "");
|
|
134
|
+
const resolvedConfig = _chunkJDZPCA3Pjs.resolveAuthConfig.call(void 0, );
|
|
135
|
+
const { clientId, oauthServer, callbackUrl, challengeUrl, logoutUrl } = resolvedConfig;
|
|
136
|
+
_react.useEffect.call(void 0, () => {
|
|
137
|
+
if (typeof globalThis.window !== "undefined") {
|
|
138
|
+
const currentUrl = globalThis.window.location.href;
|
|
139
|
+
setRedirectUrl(_chunkCTVJJBBAjs.resolveCallbackUrl.call(void 0, resolvedConfig, currentUrl));
|
|
140
|
+
}
|
|
141
|
+
}, [callbackUrl, resolvedConfig]);
|
|
142
|
+
const user = useUserCookie();
|
|
143
|
+
const idToken = useTokenCookie("id_token" /* ID_TOKEN */);
|
|
144
|
+
const combinedUser = user ? _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, user || {}), { idToken }) : null;
|
|
145
|
+
const sessionData = _chunkCRTRMMJ7js.__spreadValues.call(void 0, {
|
|
146
|
+
authenticated: !!user
|
|
147
|
+
}, idToken ? { idToken } : {});
|
|
148
|
+
const signOut = () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
|
|
149
|
+
if (props.onSignOut) {
|
|
150
|
+
yield props.onSignOut();
|
|
151
|
+
}
|
|
152
|
+
window.location.href = logoutUrl;
|
|
153
|
+
return;
|
|
154
|
+
});
|
|
155
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
156
|
+
_chunkFHRZSX3Cjs.AuthProvider,
|
|
157
|
+
_chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, props), {
|
|
158
|
+
redirectUrl,
|
|
159
|
+
config: { oauthServer },
|
|
160
|
+
clientId,
|
|
161
|
+
pkceConsumer: new (0, _chunk7K3QN2ATjs.ConfidentialClientPKCEConsumer)(challengeUrl),
|
|
162
|
+
sessionData,
|
|
163
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
164
|
+
_chunkFHRZSX3Cjs.UserProvider,
|
|
165
|
+
{
|
|
166
|
+
storage: new (0, _chunkCTVJJBBAjs.NextjsClientStorage)(),
|
|
167
|
+
user: combinedUser,
|
|
168
|
+
signOut,
|
|
169
|
+
children
|
|
170
|
+
}
|
|
171
|
+
)
|
|
172
|
+
})
|
|
173
|
+
) });
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
exports.CivicAuthProvider = CivicNextAuthProvider; exports.useUserCookie = useUserCookie;
|
|
179
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/flippie/civic/repos/civic-auth/packages/civic-auth-client/dist/nextjs/client.js","../../src/nextjs/providers/NextAuthProvider.tsx","../../src/nextjs/hooks/useUserCookie.ts","../../src/lib/cookies.ts","../../src/nextjs/hooks/useTokenCookie.ts"],"names":["window","useRef","useRouter","useQuery","useEffect"],"mappings":"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","file":"/Users/flippie/civic/repos/civic-auth/packages/civic-auth-client/dist/nextjs/client.js","sourcesContent":[null,"\"use client\";\n/**\n * A very small context provider for the user object - it takes the user object from the cookie and provides it to the app.\n */\nimport { useEffect, useState } from \"react\";\nimport { AuthProvider, AuthProviderProps } from \"@/shared/AuthProvider.js\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { resolveAuthConfig } from \"@/nextjs/config.js\";\nimport { resolveCallbackUrl } from \"@/nextjs/utils.js\";\n\n// adding the styles import here to be added to the bundle\nimport \"@/styles.css\";\nimport { ConfidentialClientPKCEConsumer } from \"@/services/PKCE.js\";\nimport { NextjsClientStorage } from \"@/nextjs/cookies\";\nimport { UserProvider } from \"@/shared/UserProvider\";\nimport { useUserCookie } from \"../hooks/useUserCookie\";\nimport { OAuthTokens } from \"@/shared/types\";\nimport { useTokenCookie } from \"../hooks/useTokenCookie\";\nimport { User } from \"@/types\";\n\nconst queryClient = new QueryClient();\n\nexport type NextCivicAuthProviderProps = Omit<AuthProviderProps, \"clientId\">;\n\nexport const CivicNextAuthProvider = ({\n children,\n ...props\n}: NextCivicAuthProviderProps) => {\n const [redirectUrl, setRedirectUrl] = useState<string>(\"\");\n const resolvedConfig = resolveAuthConfig();\n const { clientId, oauthServer, callbackUrl, challengeUrl, logoutUrl } =\n resolvedConfig;\n\n useEffect(() => {\n if (typeof globalThis.window !== \"undefined\") {\n const currentUrl = globalThis.window.location.href;\n setRedirectUrl(resolveCallbackUrl(resolvedConfig, currentUrl));\n }\n }, [callbackUrl, resolvedConfig]);\n\n const user = useUserCookie();\n const idToken = useTokenCookie(OAuthTokens.ID_TOKEN);\n const combinedUser = user ? ({ ...(user || {}), idToken } as User) : null;\n const sessionData = {\n authenticated: !!user,\n ...(idToken ? { idToken } : {}),\n };\n const signOut = async (): Promise<void> => {\n if (props.onSignOut) {\n await props.onSignOut();\n }\n window.location.href = logoutUrl;\n return;\n };\n return (\n <QueryClientProvider client={queryClient}>\n <AuthProvider\n {...props}\n redirectUrl={redirectUrl}\n config={{ oauthServer }}\n clientId={clientId}\n pkceConsumer={new ConfidentialClientPKCEConsumer(challengeUrl)}\n sessionData={sessionData}\n >\n <UserProvider\n storage={new NextjsClientStorage()}\n user={combinedUser}\n signOut={signOut}\n >\n {children}\n </UserProvider>\n </AuthProvider>\n </QueryClientProvider>\n );\n};\n","\"use client\";\nimport { useEffect, useRef } from \"react\";\nimport { useRouter } from \"next/navigation.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { getWindowCookieValue } from \"@/lib/cookies.js\";\nimport { EmptyObject, User } from \"@/types\";\nimport { UserStorage } from \"@/shared/types\";\n\nconst getUserFromCookie = () => {\n const userCookie = getWindowCookieValue({\n key: UserStorage.USER,\n window: globalThis.window,\n parseJson: true,\n });\n return userCookie;\n};\n\nexport const useUserCookie = <T extends EmptyObject>() => {\n const hasRunRef = useRef(false);\n const router = useRouter();\n\n const { data: user } = useQuery({\n queryKey: [\"user\"],\n queryFn: () => getUserFromCookie() as User<T> | null,\n refetchInterval: 2000,\n refetchIntervalInBackground: true,\n enabled: !hasRunRef.current,\n refetchOnWindowFocus: true,\n });\n\n useEffect(() => {\n if (user) {\n if (!hasRunRef.current) {\n hasRunRef.current = true;\n router.refresh();\n }\n } else {\n hasRunRef.current = false;\n }\n }, [user, router]);\n\n return user ?? null;\n};\n","const getWindowCookieValue = ({\n key,\n window,\n parseJson = false,\n}: {\n key: string;\n window: Window;\n parseJson?: boolean;\n}) => {\n const cookie = window.document.cookie;\n if (!cookie) return null;\n const cookies = cookie.split(\";\");\n for (const c of cookies) {\n const [name, value] = c.trim().split(\"=\");\n if (value && name === key) {\n try {\n const decodeURIComponentValue = decodeURIComponent(value);\n return parseJson === true\n ? JSON.parse(decodeURIComponentValue)\n : decodeURIComponentValue;\n } catch {\n return value;\n }\n }\n }\n return null;\n};\nexport { getWindowCookieValue };\n","\"use client\";\nimport { useEffect, useRef } from \"react\";\nimport { useRouter } from \"next/navigation.js\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { getWindowCookieValue } from \"@/lib/cookies.js\";\nimport { OAuthTokens } from \"@/shared/types\";\n\nconst getTokenFromCookie = (tokenName: OAuthTokens): string => {\n return getWindowCookieValue({\n key: tokenName,\n window: globalThis.window,\n parseJson: false,\n });\n};\n\nexport const useTokenCookie = (tokenName: OAuthTokens): string | null => {\n const hasRunRef = useRef(false);\n const router = useRouter();\n\n const { data: token } = useQuery({\n queryKey: [\"token\", tokenName],\n queryFn: () => getTokenFromCookie(tokenName) || null,\n refetchInterval: 2000,\n refetchIntervalInBackground: true,\n enabled: !hasRunRef.current,\n refetchOnWindowFocus: true,\n });\n\n useEffect(() => {\n if (token) {\n if (!hasRunRef.current) {\n hasRunRef.current = true;\n router.refresh();\n }\n } else {\n hasRunRef.current = false;\n }\n }, [token, router]);\n\n return token ?? null;\n};\n"]}
|