@ory/elements-react 0.0.0-pr.f3c2f07 → 0.0.0-pr.fd92d9ce
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/CHANGELOG.md +174 -0
- package/DEVELOPMENT.md +2 -1
- package/README.md +253 -4
- package/dist/client/index.js +3 -3
- package/dist/index.d.mts +88 -49
- package/dist/index.d.ts +88 -49
- package/dist/index.js +892 -514
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +891 -515
- package/dist/index.mjs.map +1 -1
- package/dist/theme/default/index.css +16 -7
- package/dist/theme/default/index.css.map +1 -1
- package/dist/theme/default/index.d.mts +1 -1
- package/dist/theme/default/index.d.ts +1 -1
- package/dist/theme/default/index.js +3589 -3254
- package/dist/theme/default/index.js.map +1 -1
- package/dist/theme/default/index.mjs +3688 -3334
- package/dist/theme/default/index.mjs.map +1 -1
- package/dist/theme/default/tailwind/defaults.d.mts +737 -0
- package/dist/theme/default/tailwind/defaults.d.ts +737 -0
- package/package.json +17 -16
- package/tailwind/generated/default-variables.css +1 -1
- package/tsconfig.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,177 @@
|
|
|
1
|
+
## 1.0.0-rc.5 (2025-05-16)
|
|
2
|
+
|
|
3
|
+
### 🩹 Fixes
|
|
4
|
+
|
|
5
|
+
- properly detect OIDC account linking ([#538](https://github.com/ory/elements/pull/538))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Jonas Hungershausen
|
|
10
|
+
|
|
11
|
+
## 1.0.0-rc.4 (2025-05-15)
|
|
12
|
+
|
|
13
|
+
### 🩹 Fixes
|
|
14
|
+
|
|
15
|
+
- properly handle missing fields in OIDC registration ([#534](https://github.com/ory/elements/pull/534))
|
|
16
|
+
- incorrect if branching in handle error ([#533](https://github.com/ory/elements/pull/533))
|
|
17
|
+
- re-enable method chooser on mfa method active screens ([#530](https://github.com/ory/elements/pull/530))
|
|
18
|
+
|
|
19
|
+
### ❤️ Thank You
|
|
20
|
+
|
|
21
|
+
- hackerman @aeneasr
|
|
22
|
+
- Jonas Hungershausen
|
|
23
|
+
|
|
24
|
+
## 1.0.0-rc.3 (2025-05-09)
|
|
25
|
+
|
|
26
|
+
### 🩹 Fixes
|
|
27
|
+
|
|
28
|
+
- captcha reloading and duplication ([#518](https://github.com/ory/elements/pull/518))
|
|
29
|
+
- ⚠️ rework configuration management ([#515](https://github.com/ory/elements/pull/515))
|
|
30
|
+
- add missing testids to method selector and checkbox ([#517](https://github.com/ory/elements/pull/517))
|
|
31
|
+
|
|
32
|
+
### ⚠️ Breaking Changes
|
|
33
|
+
|
|
34
|
+
- ⚠️ rework configuration management ([#515](https://github.com/ory/elements/pull/515))
|
|
35
|
+
|
|
36
|
+
### ❤️ Thank You
|
|
37
|
+
|
|
38
|
+
- hackerman @aeneasr
|
|
39
|
+
- Jonas Hungershausen
|
|
40
|
+
|
|
41
|
+
## 1.0.0-rc.2 (2025-04-30)
|
|
42
|
+
|
|
43
|
+
### 🚀 Features
|
|
44
|
+
|
|
45
|
+
- method translation for totp, code, webauthn ([#500](https://github.com/ory/elements/pull/500))
|
|
46
|
+
- add all missing stories ([#480](https://github.com/ory/elements/pull/480))
|
|
47
|
+
- preview deployments for example apps ([#488](https://github.com/ory/elements/pull/488))
|
|
48
|
+
- add back button to settings page ([#464](https://github.com/ory/elements/pull/464))
|
|
49
|
+
|
|
50
|
+
### 🩹 Fixes
|
|
51
|
+
|
|
52
|
+
- ⚠️ align configuration types to Ory Network APIs ([#423](https://github.com/ory/elements/pull/423))
|
|
53
|
+
- sort captcha before submit button ([#507](https://github.com/ory/elements/pull/507))
|
|
54
|
+
- cors credentials in default client ([#508](https://github.com/ory/elements/pull/508))
|
|
55
|
+
- back button should return to application ([#465](https://github.com/ory/elements/pull/465))
|
|
56
|
+
- adjust design of generic OIDC provider ([#492](https://github.com/ory/elements/pull/492))
|
|
57
|
+
- use proper id for react element arrays ([#495](https://github.com/ory/elements/pull/495))
|
|
58
|
+
- add test id to header messages ([#489](https://github.com/ory/elements/pull/489))
|
|
59
|
+
- re-add missing error message when no methods provided ([#460](https://github.com/ory/elements/pull/460))
|
|
60
|
+
- resend not working for registration ([#468](https://github.com/ory/elements/pull/468))
|
|
61
|
+
- add missing color class to registration footer ([#473](https://github.com/ory/elements/pull/473))
|
|
62
|
+
- resend not working for registration ([#467](https://github.com/ory/elements/pull/467))
|
|
63
|
+
|
|
64
|
+
### ⚠️ Breaking Changes
|
|
65
|
+
|
|
66
|
+
- ⚠️ align configuration types to Ory Network APIs ([#423](https://github.com/ory/elements/pull/423))
|
|
67
|
+
|
|
68
|
+
### ❤️ Thank You
|
|
69
|
+
|
|
70
|
+
- hackerman @aeneasr
|
|
71
|
+
- Jonas Hungershausen
|
|
72
|
+
|
|
73
|
+
## 1.0.0-rc.1 (2025-04-21)
|
|
74
|
+
|
|
75
|
+
### 🩹 Fixes
|
|
76
|
+
|
|
77
|
+
- re-add missing error message when no methods provided ([#460](https://github.com/ory/elements/pull/460))
|
|
78
|
+
- resend not working for registration ([#468](https://github.com/ory/elements/pull/468))
|
|
79
|
+
- add missing color class to registration footer ([#473](https://github.com/ory/elements/pull/473))
|
|
80
|
+
- resend not working for registration ([#467](https://github.com/ory/elements/pull/467))
|
|
81
|
+
|
|
82
|
+
### ❤️ Thank You
|
|
83
|
+
|
|
84
|
+
- hackerman @aeneasr
|
|
85
|
+
- Jonas Hungershausen
|
|
86
|
+
|
|
87
|
+
## 1.0.0-rc.0 (2025-04-17)
|
|
88
|
+
|
|
89
|
+
### 🚀 Features
|
|
90
|
+
|
|
91
|
+
- add missing translations for de, es and fr ([#456](https://github.com/ory/elements/pull/456))
|
|
92
|
+
|
|
93
|
+
### 🩹 Fixes
|
|
94
|
+
|
|
95
|
+
- correctly set input field value ([#447](https://github.com/ory/elements/pull/447))
|
|
96
|
+
- add missing settings padding ([#446](https://github.com/ory/elements/pull/446))
|
|
97
|
+
- always omit conflicting keys ([#444](https://github.com/ory/elements/pull/444))
|
|
98
|
+
|
|
99
|
+
### ❤️ Thank You
|
|
100
|
+
|
|
101
|
+
- hackerman @aeneasr
|
|
102
|
+
- Jonas Hungershausen
|
|
103
|
+
|
|
104
|
+
## 1.0.0-next.46 (2025-04-16)
|
|
105
|
+
|
|
106
|
+
### 🩹 Fixes
|
|
107
|
+
|
|
108
|
+
- missing hidden field regression ([#439](https://github.com/ory/elements/pull/439))
|
|
109
|
+
- use correct testid ([#438](https://github.com/ory/elements/pull/438))
|
|
110
|
+
|
|
111
|
+
### ❤️ Thank You
|
|
112
|
+
|
|
113
|
+
- hackerman @aeneasr
|
|
114
|
+
|
|
115
|
+
## 1.0.0-next.45 (2025-04-15)
|
|
116
|
+
|
|
117
|
+
### 🩹 Fixes
|
|
118
|
+
|
|
119
|
+
- add missing test id to scope checkbox label ([#437](https://github.com/ory/elements/pull/437))
|
|
120
|
+
- add missing captcha group to all methods ([#432](https://github.com/ory/elements/pull/432))
|
|
121
|
+
|
|
122
|
+
### ❤️ Thank You
|
|
123
|
+
|
|
124
|
+
- hackerman @aeneasr
|
|
125
|
+
- Jonas Hungershausen
|
|
126
|
+
|
|
127
|
+
## 1.0.0-next.44 (2025-04-10)
|
|
128
|
+
|
|
129
|
+
### 🩹 Fixes
|
|
130
|
+
|
|
131
|
+
- use currentColor in eye icons ([#433](https://github.com/ory/elements/pull/433))
|
|
132
|
+
|
|
133
|
+
### ❤️ Thank You
|
|
134
|
+
|
|
135
|
+
- Jonas Hungershausen
|
|
136
|
+
|
|
137
|
+
## 1.0.0-next.43 (2025-04-10)
|
|
138
|
+
|
|
139
|
+
### 🚀 Features
|
|
140
|
+
|
|
141
|
+
- add missing French translations ([#401](https://github.com/ory/elements/pull/401))
|
|
142
|
+
|
|
143
|
+
### 🩹 Fixes
|
|
144
|
+
|
|
145
|
+
- two-step registration back button ([#428](https://github.com/ory/elements/pull/428))
|
|
146
|
+
- resolve wcag2aa color contrast issues ([#367](https://github.com/ory/elements/pull/367))
|
|
147
|
+
|
|
148
|
+
### ❤️ Thank You
|
|
149
|
+
|
|
150
|
+
- hackerman @aeneasr
|
|
151
|
+
- Jonas Hungershausen
|
|
152
|
+
- Jordan Labrosse
|
|
153
|
+
|
|
154
|
+
## 1.0.0-next.41 (2025-04-07)
|
|
155
|
+
|
|
156
|
+
### 🩹 Fixes
|
|
157
|
+
|
|
158
|
+
- resolve wcag2aa color contrast issues ([#367](https://github.com/ory/elements/pull/367))
|
|
159
|
+
|
|
160
|
+
### ❤️ Thank You
|
|
161
|
+
|
|
162
|
+
- Jonas Hungershausen
|
|
163
|
+
- Jordan Labrosse
|
|
164
|
+
|
|
165
|
+
## 1.0.0-next.40 (2025-04-02)
|
|
166
|
+
|
|
167
|
+
### 🚀 Features
|
|
168
|
+
|
|
169
|
+
- support SAML-native ([#395](https://github.com/ory/elements/pull/395))
|
|
170
|
+
|
|
171
|
+
### ❤️ Thank You
|
|
172
|
+
|
|
173
|
+
- hackerman @aeneasr
|
|
174
|
+
|
|
1
175
|
## 1.0.0-next.39 (2025-03-25)
|
|
2
176
|
|
|
3
177
|
### 🚀 Features
|
package/DEVELOPMENT.md
CHANGED
|
@@ -73,7 +73,8 @@ Usage:
|
|
|
73
73
|
```bash
|
|
74
74
|
./scripts/release.sh <project> <tag>
|
|
75
75
|
|
|
76
|
-
./scripts/release.sh @ory/elements-react next
|
|
76
|
+
./scripts/release.sh @ory/elements-react next # next release preview (-next.X)
|
|
77
|
+
./scripts/release.sh @ory/elements-react rc # release candidate (-rc.X)
|
|
77
78
|
```
|
|
78
79
|
|
|
79
80
|
The script asks the user before executing each steps. Please double check
|
package/README.md
CHANGED
|
@@ -202,16 +202,243 @@ import "@ory/elements-react/theme/styles.css"
|
|
|
202
202
|
|
|
203
203
|
### Theming
|
|
204
204
|
|
|
205
|
-
|
|
205
|
+
The styling for specific elements or groups of elements in the UI can be
|
|
206
|
+
overwritten by providing your own custom CSS variables. For more complex
|
|
207
|
+
customizations see the [Component System](#component-system).
|
|
206
208
|
|
|
207
209
|
```css
|
|
208
210
|
:root {
|
|
209
|
-
/*
|
|
210
|
-
|
|
211
|
+
/* primitives */
|
|
212
|
+
/* Overriding these may affect more variables "down stream" */
|
|
213
|
+
--ui-100: #f1f5f9;
|
|
214
|
+
--ui-200: #e2e8f0;
|
|
215
|
+
--ui-300: #cbd5e1;
|
|
216
|
+
--ui-400: #94a3b8;
|
|
217
|
+
--ui-50: #f8fafc;
|
|
218
|
+
--ui-500: #64748b;
|
|
219
|
+
--ui-600: #475569;
|
|
220
|
+
--ui-700: #334155;
|
|
221
|
+
--ui-800: #1e293b;
|
|
222
|
+
--ui-900: #0f172a;
|
|
223
|
+
--ui-950: #020617;
|
|
224
|
+
--ui-black: #000000;
|
|
225
|
+
--ui-danger: #dc2626;
|
|
226
|
+
--ui-success: #22c55e;
|
|
227
|
+
--ui-transparent: #ffffff00;
|
|
228
|
+
--ui-warning: #eab308;
|
|
229
|
+
--ui-white: #ffffff;
|
|
230
|
+
/* primitives end */
|
|
231
|
+
|
|
232
|
+
/* brand */
|
|
233
|
+
--brand-100: var(--ui-100);
|
|
234
|
+
--brand-200: var(--ui-300);
|
|
235
|
+
--brand-300: var(--ui-500);
|
|
236
|
+
--brand-400: var(--ui-700);
|
|
237
|
+
--brand-50: var(--ui-50);
|
|
238
|
+
--brand-500: var(--ui-900);
|
|
239
|
+
--brand-600: var(--ui-white);
|
|
240
|
+
--brand-700: var(--ui-200);
|
|
241
|
+
--brand-800: var(--ui-400);
|
|
242
|
+
--brand-900: var(--ui-600);
|
|
243
|
+
--brand-950: var(--ui-800);
|
|
244
|
+
/* brand end */
|
|
245
|
+
|
|
246
|
+
/* interface */
|
|
247
|
+
/* These variables affect "groups" of variables, and are re-used in the more specific variables below */
|
|
248
|
+
--interface-background-brand-primary: var(--brand-500);
|
|
249
|
+
--interface-background-brand-primary-hover: var(--brand-400);
|
|
250
|
+
--interface-background-brand-secondary: var(--brand-50);
|
|
251
|
+
--interface-background-brand-secondary-hover: var(--brand-100);
|
|
252
|
+
--interface-background-default-inverted: var(--ui-900);
|
|
253
|
+
--interface-background-default-inverted-hover: var(--ui-800);
|
|
254
|
+
--interface-background-default-none: var(--ui-transparent);
|
|
255
|
+
--interface-background-default-primary: var(--ui-white);
|
|
256
|
+
--interface-background-default-primary-hover: var(--ui-50);
|
|
257
|
+
--interface-background-default-secondary: var(--ui-50);
|
|
258
|
+
--interface-background-default-secondary-hover: var(--ui-200);
|
|
259
|
+
--interface-background-default-tertiary: var(--ui-200);
|
|
260
|
+
--interface-background-default-tertiary-hover: var(--ui-300);
|
|
261
|
+
--interface-background-disabled-disabled: var(--ui-200);
|
|
262
|
+
--interface-background-validation-danger: var(--ui-danger);
|
|
263
|
+
--interface-background-validation-success: var(--ui-success);
|
|
264
|
+
--interface-background-validation-warning: var(--ui-warning);
|
|
265
|
+
--interface-border-brand-brand: var(--brand-500);
|
|
266
|
+
--interface-border-default-inverted: var(--ui-700);
|
|
267
|
+
--interface-border-default-none: var(--ui-transparent);
|
|
268
|
+
--interface-border-default-primary: var(--ui-300);
|
|
269
|
+
--interface-border-disabled-disabled: var(--ui-300);
|
|
270
|
+
--interface-border-validation-danger: var(--ui-danger);
|
|
271
|
+
--interface-border-validation-success: var(--ui-success);
|
|
272
|
+
--interface-border-validation-warning: var(--ui-warning);
|
|
273
|
+
--interface-foreground-brand-on-primary: var(--brand-50);
|
|
274
|
+
--interface-foreground-brand-on-secondary: var(--brand-950);
|
|
275
|
+
--interface-foreground-brand-primary: var(--brand-500);
|
|
276
|
+
--interface-foreground-brand-secondary: var(--brand-50);
|
|
277
|
+
--interface-foreground-default-inverted: var(--ui-white);
|
|
278
|
+
--interface-foreground-default-primary: var(--ui-900);
|
|
279
|
+
--interface-foreground-default-secondary: var(--ui-700);
|
|
280
|
+
--interface-foreground-default-tertiary: var(--ui-500);
|
|
281
|
+
--interface-foreground-disabled-disabled: var(--ui-300);
|
|
282
|
+
--interface-foreground-disabled-on-disabled: var(--ui-400);
|
|
283
|
+
--interface-foreground-validation-danger: var(--ui-danger);
|
|
284
|
+
--interface-foreground-validation-success: var(--ui-success);
|
|
285
|
+
--interface-foreground-validation-warning: var(--ui-warning);
|
|
286
|
+
/* interface end */
|
|
287
|
+
|
|
288
|
+
/* Specific elements */
|
|
289
|
+
--button-identifier-background-default: var(
|
|
290
|
+
--interface-background-brand-secondary
|
|
291
|
+
);
|
|
292
|
+
--button-identifier-background-hover: var(
|
|
293
|
+
--interface-background-brand-secondary-hover
|
|
294
|
+
);
|
|
295
|
+
--button-identifier-border-border-default: var(
|
|
296
|
+
--interface-border-brand-brand
|
|
297
|
+
);
|
|
298
|
+
--button-identifier-border-border-hover: var(--interface-border-brand-brand);
|
|
299
|
+
--button-identifier-foreground-default: var(
|
|
300
|
+
--interface-foreground-brand-on-secondary
|
|
301
|
+
);
|
|
302
|
+
--button-identifier-foreground-hover: var(
|
|
303
|
+
--interface-foreground-brand-on-secondary
|
|
304
|
+
);
|
|
305
|
+
--button-link-brand-brand: var(--interface-foreground-brand-primary);
|
|
306
|
+
--button-link-brand-brand-hover: var(--interface-foreground-default-primary);
|
|
307
|
+
--button-link-default-primary: var(--interface-foreground-default-primary);
|
|
308
|
+
--button-link-default-primary-hover: var(
|
|
309
|
+
--interface-foreground-brand-primary
|
|
310
|
+
);
|
|
311
|
+
--button-link-default-secondary: var(
|
|
312
|
+
--interface-foreground-default-secondary
|
|
313
|
+
);
|
|
314
|
+
--button-link-default-secondary-hover: var(
|
|
315
|
+
--interface-foreground-default-tertiary
|
|
316
|
+
);
|
|
317
|
+
--button-link-disabled-disabled: var(
|
|
318
|
+
--interface-foreground-disabled-disabled
|
|
319
|
+
);
|
|
320
|
+
--button-primary-background-default: var(
|
|
321
|
+
--interface-background-brand-primary
|
|
322
|
+
);
|
|
323
|
+
--button-primary-background-disabled: var(
|
|
324
|
+
--interface-background-disabled-disabled
|
|
325
|
+
);
|
|
326
|
+
--button-primary-background-hover: var(
|
|
327
|
+
--interface-background-brand-primary-hover
|
|
328
|
+
);
|
|
329
|
+
--button-primary-border-default: var(--interface-border-default-none);
|
|
330
|
+
--button-primary-border-disabled: var(--interface-border-disabled-disabled);
|
|
331
|
+
--button-primary-border-hover: var(--interface-border-default-none);
|
|
332
|
+
--button-primary-foreground-default: var(
|
|
333
|
+
--interface-foreground-brand-on-primary
|
|
334
|
+
);
|
|
335
|
+
--button-primary-foreground-disabled: var(
|
|
336
|
+
--interface-foreground-disabled-on-disabled
|
|
337
|
+
);
|
|
338
|
+
--button-primary-foreground-hover: var(
|
|
339
|
+
--interface-foreground-brand-on-primary
|
|
340
|
+
);
|
|
341
|
+
--button-secondary-background-default: var(
|
|
342
|
+
--interface-background-default-primary
|
|
343
|
+
);
|
|
344
|
+
--button-secondary-background-disabled: var(
|
|
345
|
+
--interface-background-disabled-disabled
|
|
346
|
+
);
|
|
347
|
+
--button-secondary-background-hover: var(
|
|
348
|
+
--interface-background-default-primary-hover
|
|
349
|
+
);
|
|
350
|
+
--button-secondary-border-default: var(--interface-border-default-primary);
|
|
351
|
+
--button-secondary-border-disabled: var(--interface-border-disabled-disabled);
|
|
352
|
+
--button-secondary-border-hover: var(--interface-border-default-primary);
|
|
353
|
+
--button-secondary-foreground-default: var(
|
|
354
|
+
--interface-foreground-default-primary
|
|
355
|
+
);
|
|
356
|
+
--button-secondary-foreground-disabled: var(
|
|
357
|
+
--interface-foreground-disabled-on-disabled
|
|
358
|
+
);
|
|
359
|
+
--button-secondary-foreground-hover: var(
|
|
360
|
+
--interface-foreground-default-secondary
|
|
361
|
+
);
|
|
362
|
+
--button-social-background-default: var(
|
|
363
|
+
--interface-background-default-primary
|
|
364
|
+
);
|
|
365
|
+
--button-social-background-disabled: var(
|
|
366
|
+
--interface-background-disabled-disabled
|
|
367
|
+
);
|
|
368
|
+
--button-social-background-generic-provider: var(
|
|
369
|
+
--interface-background-default-inverted
|
|
370
|
+
);
|
|
371
|
+
--button-social-background-hover: var(
|
|
372
|
+
--interface-background-default-primary-hover
|
|
373
|
+
);
|
|
374
|
+
--button-social-border-default: var(--interface-border-default-primary);
|
|
375
|
+
--button-social-border-disabled: var(--interface-border-disabled-disabled);
|
|
376
|
+
--button-social-border-generic-provider: var(--interface-border-default-none);
|
|
377
|
+
--button-social-border-hover: var(--interface-border-default-primary);
|
|
378
|
+
--button-social-foreground-default: var(
|
|
379
|
+
--interface-foreground-default-primary
|
|
380
|
+
);
|
|
381
|
+
--button-social-foreground-disabled: var(
|
|
382
|
+
--interface-foreground-disabled-on-disabled
|
|
383
|
+
);
|
|
384
|
+
--button-social-foreground-generic-provider: var(
|
|
385
|
+
--interface-foreground-default-inverted
|
|
386
|
+
);
|
|
387
|
+
--button-social-foreground-hover: var(
|
|
388
|
+
--interface-foreground-default-secondary
|
|
389
|
+
);
|
|
390
|
+
--checkbox-background-checked: var(--interface-background-brand-primary);
|
|
391
|
+
--checkbox-background-default: var(--interface-background-default-secondary);
|
|
392
|
+
--checkbox-border-checkbox-border-checked: var(
|
|
393
|
+
--interface-border-brand-brand
|
|
394
|
+
);
|
|
395
|
+
--checkbox-border-checkbox-border-default: var(
|
|
396
|
+
--interface-border-default-primary
|
|
397
|
+
);
|
|
398
|
+
--checkbox-foreground-checked: var(--interface-foreground-brand-on-primary);
|
|
399
|
+
--checkbox-foreground-default: var(--interface-foreground-default-primary);
|
|
400
|
+
--form-background-default: var(--interface-background-default-primary);
|
|
401
|
+
--form-border-default: var(--interface-border-default-primary);
|
|
402
|
+
--input-background-default: var(--interface-background-default-primary);
|
|
403
|
+
--input-background-disabled: var(--interface-background-disabled-disabled);
|
|
404
|
+
--input-background-hover: var(--interface-background-default-primary-hover);
|
|
405
|
+
--input-border-default: var(--interface-border-default-primary);
|
|
406
|
+
--input-border-disabled: var(--interface-border-disabled-disabled);
|
|
407
|
+
--input-border-focus: var(--interface-border-brand-brand);
|
|
408
|
+
--input-border-hover: var(--interface-border-default-primary);
|
|
409
|
+
--input-foreground-disabled: var(--interface-foreground-disabled-on-disabled);
|
|
410
|
+
--input-foreground-primary: var(--interface-foreground-default-primary);
|
|
411
|
+
--input-foreground-secondary: var(--interface-foreground-default-secondary);
|
|
412
|
+
--input-foreground-tertiary: var(--interface-foreground-default-tertiary);
|
|
413
|
+
--ory-background-default: var(--interface-background-default-primary);
|
|
414
|
+
--ory-border-default: var(--interface-border-default-primary);
|
|
415
|
+
--ory-foreground-default: var(--interface-foreground-default-primary);
|
|
416
|
+
--radio-background-checked: var(--interface-background-brand-primary);
|
|
417
|
+
--radio-background-default: var(--interface-background-default-secondary);
|
|
418
|
+
--radio-border-checked: var(--interface-border-brand-brand);
|
|
419
|
+
--radio-border-default: var(--interface-border-default-primary);
|
|
420
|
+
--radio-foreground-checked: var(--interface-foreground-brand-on-primary);
|
|
421
|
+
--radio-foreground-default: var(--interface-foreground-default-primary);
|
|
422
|
+
--toggle-background-checked: var(--interface-background-brand-primary);
|
|
423
|
+
--toggle-background-default: var(--interface-background-default-secondary);
|
|
424
|
+
--toggle-border-checked: var(--interface-border-default-none);
|
|
425
|
+
--toggle-border-default: var(--interface-border-default-primary);
|
|
426
|
+
--toggle-foreground-checked: var(--interface-foreground-brand-on-primary);
|
|
427
|
+
--toggle-foreground-default: var(--interface-foreground-brand-primary);
|
|
428
|
+
/* Specific elements end */
|
|
429
|
+
|
|
430
|
+
/* border radius */
|
|
431
|
+
--border-radius-buttons: 0.25rem;
|
|
432
|
+
--border-radius-forms: 0.25rem;
|
|
433
|
+
--border-radius-general: 0.25rem;
|
|
434
|
+
--border-radius-branding: 0.5rem;
|
|
435
|
+
--border-radius-cards: 0.75rem;
|
|
436
|
+
--border-radius-identifier: 62.4375rem;
|
|
437
|
+
/* border radius end*/
|
|
211
438
|
}
|
|
212
439
|
```
|
|
213
440
|
|
|
214
|
-
### Component
|
|
441
|
+
### Component system
|
|
215
442
|
|
|
216
443
|
Many components in Ory Elements can be overriden with your own implementation.
|
|
217
444
|
Ory Elements also provides useful hooks that be used inside of your custom
|
|
@@ -249,6 +476,28 @@ export default async function RegistrationPage({ searchParams }: PageProps) {
|
|
|
249
476
|
}
|
|
250
477
|
```
|
|
251
478
|
|
|
479
|
+
### internationalization (i18n)
|
|
480
|
+
|
|
481
|
+
`@ory/elements-react` comes with default translations for many languages.
|
|
482
|
+
Additionally, it provides a way to override the default messages, through the
|
|
483
|
+
`locale` property of the `OryClientConfiguration`.
|
|
484
|
+
|
|
485
|
+
```ts
|
|
486
|
+
const config = {
|
|
487
|
+
intl: {
|
|
488
|
+
locale: "en", // Or any of the other supported locales.
|
|
489
|
+
customTranslations: {
|
|
490
|
+
en: {
|
|
491
|
+
"identities.messages.1040006": "This is a custom translation",
|
|
492
|
+
},
|
|
493
|
+
},
|
|
494
|
+
},
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
For a full list of messages, see
|
|
499
|
+
[en.json](https://github.com/ory/elements/blob/main/packages/elements-react/src/locales/en.json).
|
|
500
|
+
|
|
252
501
|
## Development
|
|
253
502
|
|
|
254
503
|
See [DEVELOPMENT.md](./DEVELOPMENT.md).
|
package/dist/client/index.js
CHANGED
|
@@ -17,12 +17,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
var
|
|
21
|
-
__export(
|
|
20
|
+
var index_exports = {};
|
|
21
|
+
__export(index_exports, {
|
|
22
22
|
SessionProvider: () => import_session_provider.SessionProvider,
|
|
23
23
|
useSession: () => import_useSession.useSession
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
25
|
+
module.exports = __toCommonJS(index_exports);
|
|
26
26
|
var import_session_provider = require("./session-provider");
|
|
27
27
|
var import_useSession = require("./useSession");
|
|
28
28
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UiNodeInputAttributes, UiNode, UiNodeAnchorAttributes, UiNodeTextAttributes, UiNodeImageAttributes, UiNodeGroupEnum, UiText,
|
|
1
|
+
import { UiNodeInputAttributes, UiNode, UiNodeAnchorAttributes, UiNodeTextAttributes, UiNodeImageAttributes, UiNodeGroupEnum, UiText, FlowType, LoginFlow, RegistrationFlow, RecoveryFlow, VerificationFlow, SettingsFlow, UiContainer, OAuth2ConsentRequest, Session, FlowError, ConfigurationParameters, AccountExperienceConfiguration, UpdateLoginFlowBody, UpdateRegistrationFlowBody, UpdateVerificationFlowBody, UpdateRecoveryFlowBody, UpdateSettingsFlowBody, OnRedirectHandler, FrontendApi } from '@ory/client-fetch';
|
|
2
2
|
import { ComponentPropsWithoutRef, FormEventHandler, MouseEventHandler, PropsWithChildren, DetailedHTMLProps, HTMLAttributes, ComponentType, Dispatch } from 'react';
|
|
3
3
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
4
|
import { VariantProps } from 'class-variance-authority';
|
|
@@ -53,6 +53,7 @@ type OryNodeImageProps = {
|
|
|
53
53
|
type FormValues = Record<string, string | boolean | number | undefined>;
|
|
54
54
|
type OryFormRootProps = ComponentPropsWithoutRef<"form"> & {
|
|
55
55
|
onSubmit: FormEventHandler<HTMLFormElement>;
|
|
56
|
+
"data-testid"?: string;
|
|
56
57
|
};
|
|
57
58
|
type OryNodeInputProps = {
|
|
58
59
|
attributes: UiNodeInputAttributes;
|
|
@@ -374,52 +375,15 @@ type DeepPartialTwoLevels<T> = {
|
|
|
374
375
|
type OryFlowComponentOverrides = DeepPartialTwoLevels<OryFlowComponents>;
|
|
375
376
|
type OryFormProps = PropsWithChildren<{
|
|
376
377
|
onAfterSubmit?: (method: string | number | boolean | undefined) => void;
|
|
378
|
+
"data-testid"?: string;
|
|
377
379
|
}>;
|
|
378
|
-
declare function OryForm({ children, onAfterSubmit }: OryFormProps): react_jsx_runtime.JSX.Element;
|
|
380
|
+
declare function OryForm({ children, onAfterSubmit, "data-testid": dataTestId, }: OryFormProps): react_jsx_runtime.JSX.Element;
|
|
379
381
|
|
|
380
382
|
declare function useComponents(): OryFlowComponents;
|
|
381
383
|
declare function useNodeSorter(): (a: UiNode, b: UiNode, ctx: {
|
|
382
384
|
flowType: string;
|
|
383
385
|
}) => number;
|
|
384
386
|
|
|
385
|
-
type LocaleMap = Record<string, Record<string, string>>;
|
|
386
|
-
declare const OryLocales: LocaleMap;
|
|
387
|
-
|
|
388
|
-
type Locale = keyof typeof OryLocales;
|
|
389
|
-
type IntlContextProps = {
|
|
390
|
-
locale: Locale;
|
|
391
|
-
customTranslations?: Partial<LocaleMap>;
|
|
392
|
-
};
|
|
393
|
-
|
|
394
|
-
type IntlConfig = IntlContextProps;
|
|
395
|
-
type OryClientConfiguration = {
|
|
396
|
-
/**
|
|
397
|
-
* The name of the application the user is logging in to.
|
|
398
|
-
*/
|
|
399
|
-
name: string;
|
|
400
|
-
/**
|
|
401
|
-
* An optional logo URL to display in the UI instead of the name.
|
|
402
|
-
*/
|
|
403
|
-
logoUrl?: string;
|
|
404
|
-
stylesheet?: string;
|
|
405
|
-
favicon?: string;
|
|
406
|
-
sdk: {
|
|
407
|
-
url: string;
|
|
408
|
-
options?: Partial<ConfigurationParameters>;
|
|
409
|
-
};
|
|
410
|
-
project: {
|
|
411
|
-
registration_enabled: boolean;
|
|
412
|
-
verification_enabled: boolean;
|
|
413
|
-
recovery_enabled: boolean;
|
|
414
|
-
recovery_ui_url: string;
|
|
415
|
-
registration_ui_url: string;
|
|
416
|
-
verification_ui_url: string;
|
|
417
|
-
login_ui_url: string;
|
|
418
|
-
default_redirect_url?: string;
|
|
419
|
-
};
|
|
420
|
-
intl?: IntlConfig;
|
|
421
|
-
};
|
|
422
|
-
|
|
423
387
|
/**
|
|
424
388
|
* A generic flow container, containing a flowType, the flow itself and the config object
|
|
425
389
|
*
|
|
@@ -428,7 +392,6 @@ type OryClientConfiguration = {
|
|
|
428
392
|
type OryFlow<TFlowType extends FlowType, TFlow> = {
|
|
429
393
|
flowType: TFlowType;
|
|
430
394
|
flow: TFlow;
|
|
431
|
-
config: OryClientConfiguration;
|
|
432
395
|
};
|
|
433
396
|
/**
|
|
434
397
|
* A flow container for the login flow
|
|
@@ -484,6 +447,7 @@ type ConsentFlow = {
|
|
|
484
447
|
ui: UiContainer;
|
|
485
448
|
consent_request: OAuth2ConsentRequest;
|
|
486
449
|
session: Session;
|
|
450
|
+
return_to?: string;
|
|
487
451
|
};
|
|
488
452
|
type ConsentFlowContainer = OryFlow<FlowType.OAuth2Consent, ConsentFlow>;
|
|
489
453
|
/**
|
|
@@ -491,6 +455,48 @@ type ConsentFlowContainer = OryFlow<FlowType.OAuth2Consent, ConsentFlow>;
|
|
|
491
455
|
*/
|
|
492
456
|
type OryFlowContainer = LoginFlowContainer | RegistrationFlowContainer | RecoveryFlowContainer | VerificationFlowContainer | SettingsFlowContainer | ConsentFlowContainer;
|
|
493
457
|
|
|
458
|
+
type LocaleMap = Record<string, Record<string, string>>;
|
|
459
|
+
declare const OryLocales: LocaleMap;
|
|
460
|
+
|
|
461
|
+
type Locale = keyof typeof OryLocales;
|
|
462
|
+
type IntlContextProps = {
|
|
463
|
+
locale: Locale;
|
|
464
|
+
customTranslations?: Partial<LocaleMap>;
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
type IntlConfig = IntlContextProps;
|
|
468
|
+
/**
|
|
469
|
+
* The configuration for Ory Elements.
|
|
470
|
+
*
|
|
471
|
+
* This configuration is used to customize the behavior and appearance of Ory Elements.
|
|
472
|
+
*
|
|
473
|
+
* By setting UI urls, you can override the default URLs for the login, registration, recovery, and verification flows.
|
|
474
|
+
*
|
|
475
|
+
* You can also set the name of the application, the logo URL, and the SDK configuration.
|
|
476
|
+
* By default, the name and logo are displayed in the card's header.
|
|
477
|
+
*/
|
|
478
|
+
type OryClientConfiguration = {
|
|
479
|
+
/**
|
|
480
|
+
* The SDK configuration.
|
|
481
|
+
* This configuration is used to set the URL of the Ory SDK and any additional options used for the SDK client.
|
|
482
|
+
*/
|
|
483
|
+
sdk?: {
|
|
484
|
+
url?: string;
|
|
485
|
+
options?: Partial<ConfigurationParameters>;
|
|
486
|
+
};
|
|
487
|
+
/**
|
|
488
|
+
* The internationalization configuration.
|
|
489
|
+
* This configuration is used to set the locale and any additional options used for the i18n library.
|
|
490
|
+
* The locale is used to determine the language of the UI.
|
|
491
|
+
* The default locale is "en".
|
|
492
|
+
*/
|
|
493
|
+
intl?: IntlConfig;
|
|
494
|
+
/**
|
|
495
|
+
* The configuration for the project.
|
|
496
|
+
*/
|
|
497
|
+
project: AccountExperienceConfiguration;
|
|
498
|
+
};
|
|
499
|
+
|
|
494
500
|
/**
|
|
495
501
|
* Converts a UiText to a FormattedMessage.
|
|
496
502
|
* The UiText contains the id of the message and the context.
|
|
@@ -559,18 +565,23 @@ type OnSubmitHandlerProps<T extends UpdateLoginFlowBody | UpdateRegistrationFlow
|
|
|
559
565
|
* @param message - the UiText message to generate a test id for
|
|
560
566
|
* @returns a unique, stable test id for the message
|
|
561
567
|
*/
|
|
562
|
-
declare function messageTestId(message:
|
|
568
|
+
declare function messageTestId(message: {
|
|
569
|
+
id: number | string;
|
|
570
|
+
}): {
|
|
563
571
|
"data-testid": string;
|
|
564
572
|
};
|
|
565
573
|
|
|
566
|
-
type
|
|
567
|
-
current: "provide_identifier";
|
|
568
|
-
} | {
|
|
574
|
+
type FormStateSelectMethod = {
|
|
569
575
|
current: "select_method";
|
|
570
|
-
}
|
|
576
|
+
};
|
|
577
|
+
type FormStateProvideIdentifier = {
|
|
578
|
+
current: "provide_identifier";
|
|
579
|
+
};
|
|
580
|
+
type FormStateMethodActive = {
|
|
571
581
|
current: "method_active";
|
|
572
582
|
method: UiNodeGroupEnum;
|
|
573
|
-
}
|
|
583
|
+
};
|
|
584
|
+
type FormState = FormStateSelectMethod | FormStateProvideIdentifier | FormStateMethodActive | {
|
|
574
585
|
current: "success_screen";
|
|
575
586
|
} | {
|
|
576
587
|
current: "settings";
|
|
@@ -581,6 +592,8 @@ type FormStateAction = {
|
|
|
581
592
|
} | {
|
|
582
593
|
type: "action_select_method";
|
|
583
594
|
method: UiNodeGroupEnum;
|
|
595
|
+
} | {
|
|
596
|
+
type: "action_clear_active_method";
|
|
584
597
|
};
|
|
585
598
|
|
|
586
599
|
/**
|
|
@@ -614,7 +627,33 @@ type FlowContextValue = OryFlowContainer & {
|
|
|
614
627
|
|
|
615
628
|
type OryProviderProps = {
|
|
616
629
|
components: OryFlowComponents;
|
|
630
|
+
config: OryClientConfiguration;
|
|
617
631
|
} & OryFlowContainer & PropsWithChildren;
|
|
618
|
-
declare function OryProvider({ children, components: Components, ...oryFlowProps }: OryProviderProps): react_jsx_runtime.JSX.Element;
|
|
632
|
+
declare function OryProvider({ children, components: Components, config, ...oryFlowProps }: OryProviderProps): react_jsx_runtime.JSX.Element;
|
|
633
|
+
|
|
634
|
+
type OryElementsConfiguration = {
|
|
635
|
+
sdk: OrySDK;
|
|
636
|
+
project: AccountExperienceConfiguration;
|
|
637
|
+
};
|
|
638
|
+
declare function useOryConfiguration(): OryElementsConfiguration;
|
|
639
|
+
type OrySDK = SDKConfig & {
|
|
640
|
+
/**
|
|
641
|
+
* The frontend client for the Ory SDK.
|
|
642
|
+
* This client is used to interact with the Ory SDK and should be used to make API calls.
|
|
643
|
+
*/
|
|
644
|
+
frontend: FrontendApi;
|
|
645
|
+
};
|
|
646
|
+
type SDKConfig = {
|
|
647
|
+
/**
|
|
648
|
+
* The URL of the Ory SDK.
|
|
649
|
+
* This URL is used to connect to the Ory SDK and should be set to the base URL of your Ory instance.
|
|
650
|
+
*/
|
|
651
|
+
url: string;
|
|
652
|
+
options?: Partial<ConfigurationParameters>;
|
|
653
|
+
};
|
|
654
|
+
declare function OryConfigurationProvider({ children, sdk: initialConfig, project, }: PropsWithChildren<{
|
|
655
|
+
sdk?: Partial<OryClientConfiguration["sdk"]>;
|
|
656
|
+
project?: Partial<AccountExperienceConfiguration>;
|
|
657
|
+
}>): react_jsx_runtime.JSX.Element;
|
|
619
658
|
|
|
620
|
-
export { type ConsentFlow, type ConsentFlowContainer, type ErrorFlowContainer, type FlowContainerSetter, type FlowContextValue, type FormState, type FormStateAction, type FormValues, HeadlessPageHeader, type IntlConfig, type LoginFlowContainer, type OnSubmitHandlerProps, OryCard, type OryCardAuthMethodListItemProps, OryCardContent, type OryCardContentProps, type OryCardDividerProps, OryCardFooter, type OryCardFooterProps, OryCardHeader, type OryCardHeaderProps, type OryCardLogoProps, type OryCardRootProps as OryCardProps, type OryCardSettingsSectionProps, OryCardValidationMessages, type OryClientConfiguration, OryConsentCard, type OryFlowComponentOverrides, type OryFlowComponents, type OryFlowContainer, OryForm, OryFormGroupDivider, type OryFormGroupProps, OryFormGroups, type OryFormGroupsProps, OryFormOidcButtons, type OryFormOidcRootProps, type OryFormProps, type OryFormRootProps, OryFormSection, type OryFormSectionContentProps, type OryFormSectionFooterProps, type OryFormSectionProps, OryFormSocialButtonsForm, OryLocales, type OryMessageContentProps, type OryMessageRootProps, type OryNodeAnchorProps, type OryNodeButtonProps, type OryNodeCaptchaProps, type OryNodeConsentScopeCheckboxProps, type OryNodeImageProps, type OryNodeInputProps, type OryNodeLabelProps, type OryNodeOidcButtonProps, type OryNodeTextProps, type OryPageHeaderProps, OryProvider, type OryProviderProps, OrySettingsCard, type OrySettingsOidcProps, type OrySettingsPasskeyProps, type OrySettingsRecoveryCodesProps, type OrySettingsTotpProps, type OrySettingsWebauthnProps, OryTwoStepCard, type RecoveryFlowContainer, type RegistrationFlowContainer, type SettingsFlowContainer, type VerificationFlowContainer, messageTestId, uiTextToFormattedMessage, useComponents, useNodeSorter, useOryFlow };
|
|
659
|
+
export { type ConsentFlow, type ConsentFlowContainer, type ErrorFlowContainer, type FlowContainerSetter, type FlowContextValue, type FormState, type FormStateAction, type FormStateMethodActive, type FormStateProvideIdentifier, type FormStateSelectMethod, type FormValues, HeadlessPageHeader, type IntlConfig, type LoginFlowContainer, type OnSubmitHandlerProps, OryCard, type OryCardAuthMethodListItemProps, OryCardContent, type OryCardContentProps, type OryCardDividerProps, OryCardFooter, type OryCardFooterProps, OryCardHeader, type OryCardHeaderProps, type OryCardLogoProps, type OryCardRootProps as OryCardProps, type OryCardSettingsSectionProps, OryCardValidationMessages, type OryClientConfiguration, OryConfigurationProvider, OryConsentCard, type OryElementsConfiguration, type OryFlowComponentOverrides, type OryFlowComponents, type OryFlowContainer, OryForm, OryFormGroupDivider, type OryFormGroupProps, OryFormGroups, type OryFormGroupsProps, OryFormOidcButtons, type OryFormOidcRootProps, type OryFormProps, type OryFormRootProps, OryFormSection, type OryFormSectionContentProps, type OryFormSectionFooterProps, type OryFormSectionProps, OryFormSocialButtonsForm, OryLocales, type OryMessageContentProps, type OryMessageRootProps, type OryNodeAnchorProps, type OryNodeButtonProps, type OryNodeCaptchaProps, type OryNodeConsentScopeCheckboxProps, type OryNodeImageProps, type OryNodeInputProps, type OryNodeLabelProps, type OryNodeOidcButtonProps, type OryNodeTextProps, type OryPageHeaderProps, OryProvider, type OryProviderProps, OrySettingsCard, type OrySettingsOidcProps, type OrySettingsPasskeyProps, type OrySettingsRecoveryCodesProps, type OrySettingsTotpProps, type OrySettingsWebauthnProps, OryTwoStepCard, type RecoveryFlowContainer, type RegistrationFlowContainer, type SettingsFlowContainer, type VerificationFlowContainer, messageTestId, uiTextToFormattedMessage, useComponents, useNodeSorter, useOryConfiguration, useOryFlow };
|