@skdx/vue-blocks 0.41.0 → 0.43.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sign-in-page/SignInPage.vue.d.cts +27 -3
- package/dist/sign-in-page/SignInPage.vue.d.ts +27 -3
- package/dist/sign-in-page/SignInPage.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/sign-in-page/SignInPage.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/sign-in-page/types.d.cts +2 -2
- package/dist/sign-in-page/types.d.ts +2 -2
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SignInDetail, type SignInProvider } from './types.cjs';
|
|
2
2
|
/**
|
|
3
|
-
* A sign-in panel: provider buttons, an email and password form,
|
|
3
|
+
* A sign-in panel: provider buttons (Google and Microsoft carry their brand marks), an email and password form, a magic-link form and an email-only form, reporting the user's choice as one `sign-in` event.
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
6
|
* ```vue
|
|
@@ -17,7 +17,7 @@ type __VLS_Props = {
|
|
|
17
17
|
* @default 'Sign in'
|
|
18
18
|
*/
|
|
19
19
|
title?: string;
|
|
20
|
-
/** The ways to sign in, in render order; `'credentials'
|
|
20
|
+
/** The ways to sign in, in render order; `'credentials'`, `'magic-link'` and `'email'` render forms, anything else a button. */
|
|
21
21
|
providers: readonly SignInProvider[];
|
|
22
22
|
/**
|
|
23
23
|
* Message rendered into a derived error Alert; the block never clears it, the consumer does.
|
|
@@ -25,7 +25,22 @@ type __VLS_Props = {
|
|
|
25
25
|
*/
|
|
26
26
|
error?: string | undefined;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Informational message rendered into a derived status Alert below the error, such as "Redirecting…".
|
|
29
|
+
* @default undefined — no notice renders.
|
|
30
|
+
*/
|
|
31
|
+
notice?: string | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Disables every provider button and submit while the consumer is signing in or redirecting.
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
busy?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Initial value of the email field in every form, for a second step that already knows the address.
|
|
39
|
+
* @default undefined — the field starts empty.
|
|
40
|
+
*/
|
|
41
|
+
email?: string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Label of the email field in every form.
|
|
29
44
|
* @default 'Email'
|
|
30
45
|
*/
|
|
31
46
|
emailLabel?: string;
|
|
@@ -44,6 +59,11 @@ type __VLS_Props = {
|
|
|
44
59
|
* @default 'Send magic link'
|
|
45
60
|
*/
|
|
46
61
|
magicLinkLabel?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Text of the email form's submit button (an email-only first step).
|
|
64
|
+
* @default 'Continue'
|
|
65
|
+
*/
|
|
66
|
+
continueLabel?: string;
|
|
47
67
|
/**
|
|
48
68
|
* Formats a provider button's text from its entry, for wording or translation.
|
|
49
69
|
* @default defaultProviderLabel — reads "Sign in with Google".
|
|
@@ -57,10 +77,14 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
57
77
|
}>, {
|
|
58
78
|
title: string;
|
|
59
79
|
error: string | undefined;
|
|
80
|
+
notice: string | undefined;
|
|
81
|
+
busy: boolean;
|
|
82
|
+
email: string | undefined;
|
|
60
83
|
emailLabel: string;
|
|
61
84
|
passwordLabel: string;
|
|
62
85
|
submitLabel: string;
|
|
63
86
|
magicLinkLabel: string;
|
|
87
|
+
continueLabel: string;
|
|
64
88
|
getProviderLabel: (provider: SignInProvider) => string;
|
|
65
89
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
66
90
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SignInDetail, type SignInProvider } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* A sign-in panel: provider buttons, an email and password form,
|
|
3
|
+
* A sign-in panel: provider buttons (Google and Microsoft carry their brand marks), an email and password form, a magic-link form and an email-only form, reporting the user's choice as one `sign-in` event.
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
6
|
* ```vue
|
|
@@ -17,7 +17,7 @@ type __VLS_Props = {
|
|
|
17
17
|
* @default 'Sign in'
|
|
18
18
|
*/
|
|
19
19
|
title?: string;
|
|
20
|
-
/** The ways to sign in, in render order; `'credentials'
|
|
20
|
+
/** The ways to sign in, in render order; `'credentials'`, `'magic-link'` and `'email'` render forms, anything else a button. */
|
|
21
21
|
providers: readonly SignInProvider[];
|
|
22
22
|
/**
|
|
23
23
|
* Message rendered into a derived error Alert; the block never clears it, the consumer does.
|
|
@@ -25,7 +25,22 @@ type __VLS_Props = {
|
|
|
25
25
|
*/
|
|
26
26
|
error?: string | undefined;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Informational message rendered into a derived status Alert below the error, such as "Redirecting…".
|
|
29
|
+
* @default undefined — no notice renders.
|
|
30
|
+
*/
|
|
31
|
+
notice?: string | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Disables every provider button and submit while the consumer is signing in or redirecting.
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
busy?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Initial value of the email field in every form, for a second step that already knows the address.
|
|
39
|
+
* @default undefined — the field starts empty.
|
|
40
|
+
*/
|
|
41
|
+
email?: string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Label of the email field in every form.
|
|
29
44
|
* @default 'Email'
|
|
30
45
|
*/
|
|
31
46
|
emailLabel?: string;
|
|
@@ -44,6 +59,11 @@ type __VLS_Props = {
|
|
|
44
59
|
* @default 'Send magic link'
|
|
45
60
|
*/
|
|
46
61
|
magicLinkLabel?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Text of the email form's submit button (an email-only first step).
|
|
64
|
+
* @default 'Continue'
|
|
65
|
+
*/
|
|
66
|
+
continueLabel?: string;
|
|
47
67
|
/**
|
|
48
68
|
* Formats a provider button's text from its entry, for wording or translation.
|
|
49
69
|
* @default defaultProviderLabel — reads "Sign in with Google".
|
|
@@ -57,10 +77,14 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
57
77
|
}>, {
|
|
58
78
|
title: string;
|
|
59
79
|
error: string | undefined;
|
|
80
|
+
notice: string | undefined;
|
|
81
|
+
busy: boolean;
|
|
82
|
+
email: string | undefined;
|
|
60
83
|
emailLabel: string;
|
|
61
84
|
passwordLabel: string;
|
|
62
85
|
submitLabel: string;
|
|
63
86
|
magicLinkLabel: string;
|
|
87
|
+
continueLabel: string;
|
|
64
88
|
getProviderLabel: (provider: SignInProvider) => string;
|
|
65
89
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
66
90
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const r=require("../internal/part.cjs"),P=require("./types.cjs");let e=require("vue"),n=require("@skdx/vue");var v=["aria-labelledby"],B=(0,e.defineComponent)({__name:"SignInPage",props:{title:{default:"Sign in"},providers:{},error:{default:void 0},notice:{default:void 0},busy:{type:Boolean,default:!1},email:{default:void 0},emailLabel:{default:"Email"},passwordLabel:{default:"Password"},submitLabel:{default:"Sign in"},magicLinkLabel:{default:"Send magic link"},continueLabel:{default:"Continue"},getProviderLabel:{type:Function,default:P.defaultProviderLabel}},emits:["sign-in"],setup(l,{emit:k}){const o=l,s=k,c=(0,e.useId)(),f=new Set(["credentials","magic-link","email"]),u=(0,e.computed)(()=>o.providers.filter(a=>!f.has(a.id))),m=(0,e.computed)(()=>o.providers.filter(a=>f.has(a.id)));function p(a){return a==="credentials"?o.submitLabel:a==="email"?o.continueLabel:o.magicLinkLabel}const x=(0,e.computed)(()=>u.value.length>0&&m.value.length>0);function g(a,i){const t=a.get(i);return typeof t=="string"?t:""}function b(a,i){i.preventDefault();const t=new FormData(i.target),d=g(t,"email");s("sign-in",a==="credentials"?{providerId:a,email:d,password:g(t,"password")}:{providerId:a,email:d})}return(a,i)=>((0,e.openBlock)(),(0,e.createElementBlock)("section",(0,e.mergeProps)((0,e.unref)(r.skdxPart)("sign-in-page","root"),{"aria-labelledby":(0,e.unref)(c)}),[(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(r.skdxPart)("sign-in-page","panel"))),[(0,e.createVNode)((0,e.unref)(n.SkdxHeading),(0,e.mergeProps)({id:(0,e.unref)(c)},(0,e.unref)(r.skdxPart)("sign-in-page","title"),{as:"h1"}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(l.title),1)]),_:1},16,["id"]),l.error?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.SkdxAlert),(0,e.mergeProps)({key:0},(0,e.unref)(r.skdxPart)("sign-in-page","error"),{role:"alert",status:"danger"}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(l.error),1)]),_:1},16)):(0,e.createCommentVNode)("",!0),l.notice?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.SkdxAlert),(0,e.mergeProps)({key:1},(0,e.unref)(r.skdxPart)("sign-in-page","notice"),{role:"status",status:"info"}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(l.notice),1)]),_:1},16)):(0,e.createCommentVNode)("",!0),u.value.length?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:2},(0,e.unref)(r.skdxPart)("sign-in-page","providers"))),[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(u.value,t=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.SkdxButton),(0,e.mergeProps)({key:t.id},{ref_for:!0},(0,e.unref)(r.skdxPart)("sign-in-page","provider"),{type:"button","data-provider":t.id,disabled:!!l.busy,onClick:d=>s("sign-in",{providerId:t.id})}),{default:(0,e.withCtx)(()=>[t.id==="google"?((0,e.openBlock)(),(0,e.createElementBlock)("svg",(0,e.mergeProps)({key:0,ref_for:!0},(0,e.unref)(r.skdxPart)("sign-in-page","provider-icon"),{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"}),[...i[0]||(i[0]=[(0,e.createElementVNode)("path",{fill:"#4285F4",d:"M23.5 12.3c0-.8-.1-1.6-.2-2.3H12v4.5h6.5c-.3 1.5-1.1 2.7-2.4 3.6v3h3.9c2.3-2.1 3.5-5.2 3.5-8.8z"},null,-1),(0,e.createElementVNode)("path",{fill:"#34A853",d:"M12 24c3.2 0 6-1.1 8-2.9l-3.9-3c-1.1.7-2.5 1.2-4.1 1.2-3.1 0-5.8-2.1-6.7-5H1.3v3.1C3.3 21.3 7.3 24 12 24z"},null,-1),(0,e.createElementVNode)("path",{fill:"#FBBC05",d:"M5.3 14.3c-.5-1.5-.5-3.1 0-4.6V6.6H1.3c-1.7 3.4-1.7 7.4 0 10.8l4-3.1z"},null,-1),(0,e.createElementVNode)("path",{fill:"#EA4335",d:"M12 4.7c1.7 0 3.3.6 4.5 1.8l3.4-3.4C17.9 1.2 15.1 0 12 0 7.3 0 3.3 2.7 1.3 6.6l4 3.1c.9-2.9 3.6-5 6.7-5z"},null,-1)])],16)):t.id==="microsoft"?((0,e.openBlock)(),(0,e.createElementBlock)("svg",(0,e.mergeProps)({key:1,ref_for:!0},(0,e.unref)(r.skdxPart)("sign-in-page","provider-icon"),{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"}),[...i[1]||(i[1]=[(0,e.createElementVNode)("rect",{x:"1",y:"1",width:"10.5",height:"10.5",fill:"#F25022"},null,-1),(0,e.createElementVNode)("rect",{x:"12.5",y:"1",width:"10.5",height:"10.5",fill:"#7FBA00"},null,-1),(0,e.createElementVNode)("rect",{x:"1",y:"12.5",width:"10.5",height:"10.5",fill:"#00A4EF"},null,-1),(0,e.createElementVNode)("rect",{x:"12.5",y:"12.5",width:"10.5",height:"10.5",fill:"#FFB900"},null,-1)])],16)):(0,e.createCommentVNode)("",!0),(0,e.createTextVNode)(" "+(0,e.toDisplayString)(o.getProviderLabel(t)),1)]),_:2},1040,["data-provider","disabled","onClick"]))),128))],16)):(0,e.createCommentVNode)("",!0),x.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.SkdxDivider),(0,e.normalizeProps)((0,e.mergeProps)({key:3},(0,e.unref)(r.skdxPart)("sign-in-page","divider"))),null,16)):(0,e.createCommentVNode)("",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(m.value,t=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.SkdxForm),(0,e.mergeProps)({key:t.id,ref_for:!0},(0,e.unref)(r.skdxPart)("sign-in-page","form"),{"data-provider":t.id,onSubmit:d=>b(t.id,d)}),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.SkdxField),(0,e.mergeProps)({ref_for:!0},(0,e.unref)(r.skdxPart)("sign-in-page","field"),{label:l.emailLabel,required:""}),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.SkdxTextField),{type:"email",name:"email",autocomplete:"email","default-value":l.email??"",required:""},null,8,["default-value"])]),_:1},16,["label"]),t.id==="credentials"?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.SkdxField),(0,e.mergeProps)({key:0,ref_for:!0},(0,e.unref)(r.skdxPart)("sign-in-page","field"),{label:l.passwordLabel,required:""}),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.SkdxPasswordInput),{name:"password",autocomplete:"current-password",required:""})]),_:1},16,["label"])):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(n.SkdxButton),(0,e.mergeProps)({ref_for:!0},(0,e.unref)(r.skdxPart)("sign-in-page","submit"),{type:"submit",disabled:!!l.busy}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(p(t.id)),1)]),_:2},1040,["disabled"])]),_:2},1040,["data-provider","onSubmit"]))),128))],16)],16,v))}});exports.default=B;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{skdxPart as e}from"../internal/part.js";import{defaultProviderLabel as a}from"./types.js";import{Fragment as i,computed as
|
|
1
|
+
import{skdxPart as e}from"../internal/part.js";import{defaultProviderLabel as a}from"./types.js";import{Fragment as i,computed as l,createBlock as t,createCommentVNode as r,createElementBlock as d,createElementVNode as n,createTextVNode as s,createVNode as o,defineComponent as u,guardReactiveProps as f,mergeProps as p,normalizeProps as g,openBlock as c,renderList as m,toDisplayString as v,unref as b,useId as k,withCtx as h}from"vue";import{SkdxAlert as y,SkdxButton as x,SkdxDivider as w,SkdxField as _,SkdxForm as L,SkdxHeading as S,SkdxPasswordInput as F,SkdxTextField as B}from"@skdx/vue";var P=["aria-labelledby"],C=/* @__PURE__ */u({__name:"SignInPage",props:{title:{default:"Sign in"},providers:{},error:{default:void 0},notice:{default:void 0},busy:{type:Boolean,default:!1},email:{default:void 0},emailLabel:{default:"Email"},passwordLabel:{default:"Password"},submitLabel:{default:"Sign in"},magicLinkLabel:{default:"Send magic link"},continueLabel:{default:"Continue"},getProviderLabel:{type:Function,default:a}},emits:["sign-in"],setup(a,{emit:u}){const C=a,I=u,z=k(),A=/* @__PURE__ */new Set(["credentials","magic-link","email"]),E=l(()=>C.providers.filter(e=>!A.has(e.id))),V=l(()=>C.providers.filter(e=>A.has(e.id)));function q(e){return"credentials"===e?C.submitLabel:"email"===e?C.continueLabel:C.magicLinkLabel}const D=l(()=>E.value.length>0&&V.value.length>0);function H(e,a){const i=e.get(a);return"string"==typeof i?i:""}return(l,u)=>(c(),d("section",p(b(e)("sign-in-page","root"),{"aria-labelledby":b(z)}),[n("div",g(f(b(e)("sign-in-page","panel"))),[o(b(S),p({id:b(z)},b(e)("sign-in-page","title"),{as:"h1"}),{default:h(()=>[s(v(a.title),1)]),_:1},16,["id"]),a.error?(c(),t(b(y),p({key:0},b(e)("sign-in-page","error"),{role:"alert",status:"danger"}),{default:h(()=>[s(v(a.error),1)]),_:1},16)):r("",!0),a.notice?(c(),t(b(y),p({key:1},b(e)("sign-in-page","notice"),{role:"status",status:"info"}),{default:h(()=>[s(v(a.notice),1)]),_:1},16)):r("",!0),E.value.length?(c(),d("div",g(p({key:2},b(e)("sign-in-page","providers"))),[(c(!0),d(i,null,m(E.value,i=>(c(),t(b(x),p({key:i.id},{ref_for:!0},b(e)("sign-in-page","provider"),{type:"button","data-provider":i.id,disabled:!!a.busy,onClick:e=>I("sign-in",{providerId:i.id})}),{default:h(()=>["google"===i.id?(c(),d("svg",p({key:0,ref_for:!0},b(e)("sign-in-page","provider-icon"),{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"}),[...u[0]||(u[0]=[n("path",{fill:"#4285F4",d:"M23.5 12.3c0-.8-.1-1.6-.2-2.3H12v4.5h6.5c-.3 1.5-1.1 2.7-2.4 3.6v3h3.9c2.3-2.1 3.5-5.2 3.5-8.8z"},null,-1),n("path",{fill:"#34A853",d:"M12 24c3.2 0 6-1.1 8-2.9l-3.9-3c-1.1.7-2.5 1.2-4.1 1.2-3.1 0-5.8-2.1-6.7-5H1.3v3.1C3.3 21.3 7.3 24 12 24z"},null,-1),n("path",{fill:"#FBBC05",d:"M5.3 14.3c-.5-1.5-.5-3.1 0-4.6V6.6H1.3c-1.7 3.4-1.7 7.4 0 10.8l4-3.1z"},null,-1),n("path",{fill:"#EA4335",d:"M12 4.7c1.7 0 3.3.6 4.5 1.8l3.4-3.4C17.9 1.2 15.1 0 12 0 7.3 0 3.3 2.7 1.3 6.6l4 3.1c.9-2.9 3.6-5 6.7-5z"},null,-1)])],16)):"microsoft"===i.id?(c(),d("svg",p({key:1,ref_for:!0},b(e)("sign-in-page","provider-icon"),{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"}),[...u[1]||(u[1]=[n("rect",{x:"1",y:"1",width:"10.5",height:"10.5",fill:"#F25022"},null,-1),n("rect",{x:"12.5",y:"1",width:"10.5",height:"10.5",fill:"#7FBA00"},null,-1),n("rect",{x:"1",y:"12.5",width:"10.5",height:"10.5",fill:"#00A4EF"},null,-1),n("rect",{x:"12.5",y:"12.5",width:"10.5",height:"10.5",fill:"#FFB900"},null,-1)])],16)):r("",!0),s(" "+v(C.getProviderLabel(i)),1)]),_:2},1040,["data-provider","disabled","onClick"]))),128))],16)):r("",!0),D.value?(c(),t(b(w),g(p({key:3},b(e)("sign-in-page","divider"))),null,16)):r("",!0),(c(!0),d(i,null,m(V.value,i=>(c(),t(b(L),p({key:i.id,ref_for:!0},b(e)("sign-in-page","form"),{"data-provider":i.id,onSubmit:e=>function(e,a){a.preventDefault();const i=new FormData(a.target),l=H(i,"email");I("sign-in","credentials"===e?{providerId:e,email:l,password:H(i,"password")}:{providerId:e,email:l})}(i.id,e)}),{default:h(()=>[o(b(_),p({ref_for:!0},b(e)("sign-in-page","field"),{label:a.emailLabel,required:""}),{default:h(()=>[o(b(B),{type:"email",name:"email",autocomplete:"email","default-value":a.email??"",required:""},null,8,["default-value"])]),_:1},16,["label"]),"credentials"===i.id?(c(),t(b(_),p({key:0,ref_for:!0},b(e)("sign-in-page","field"),{label:a.passwordLabel,required:""}),{default:h(()=>[o(b(F),{name:"password",autocomplete:"current-password",required:""})]),_:1},16,["label"])):r("",!0),o(b(x),p({ref_for:!0},b(e)("sign-in-page","submit"),{type:"submit",disabled:!!a.busy}),{default:h(()=>[s(v(q(i.id)),1)]),_:2},1040,["disabled"])]),_:2},1040,["data-provider","onSubmit"]))),128))],16)],16,P))}});export{C as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** One way to sign in, listed in a `SkdxSignInPage`'s `providers`. */
|
|
2
2
|
export interface SignInProvider {
|
|
3
|
-
/** The provider's id, `'credentials'
|
|
3
|
+
/** The provider's id, `'credentials'`, `'magic-link'` and `'email'` rendering forms and anything else a button. */
|
|
4
4
|
id: string;
|
|
5
5
|
/** The provider's display name, from which its button label is formatted. */
|
|
6
6
|
name: string;
|
|
@@ -10,7 +10,7 @@ export interface SignInDetail {
|
|
|
10
10
|
/** The id of the provider the user chose. */
|
|
11
11
|
providerId: string;
|
|
12
12
|
/**
|
|
13
|
-
* The submitted email address, present for the credentials
|
|
13
|
+
* The submitted email address, present for the credentials, magic-link and email forms.
|
|
14
14
|
* @default undefined — a provider button carries no email.
|
|
15
15
|
*/
|
|
16
16
|
email?: string | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** One way to sign in, listed in a `SkdxSignInPage`'s `providers`. */
|
|
2
2
|
export interface SignInProvider {
|
|
3
|
-
/** The provider's id, `'credentials'
|
|
3
|
+
/** The provider's id, `'credentials'`, `'magic-link'` and `'email'` rendering forms and anything else a button. */
|
|
4
4
|
id: string;
|
|
5
5
|
/** The provider's display name, from which its button label is formatted. */
|
|
6
6
|
name: string;
|
|
@@ -10,7 +10,7 @@ export interface SignInDetail {
|
|
|
10
10
|
/** The id of the provider the user chose. */
|
|
11
11
|
providerId: string;
|
|
12
12
|
/**
|
|
13
|
-
* The submitted email address, present for the credentials
|
|
13
|
+
* The submitted email address, present for the credentials, magic-link and email forms.
|
|
14
14
|
* @default undefined — a provider button carries no email.
|
|
15
15
|
*/
|
|
16
16
|
email?: string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skdx/vue-blocks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.1",
|
|
4
4
|
"description": "Vue blocks for the SkandaDX design system — page-level compositions of @skdx/vue styled by @skdx/skins",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
"sideEffects": false,
|
|
255
255
|
"peerDependencies": {
|
|
256
256
|
"vue": "^3.5.0",
|
|
257
|
-
"@skdx/vue": "^0.
|
|
257
|
+
"@skdx/vue": "^0.43.1"
|
|
258
258
|
},
|
|
259
259
|
"devDependencies": {
|
|
260
260
|
"@vitejs/plugin-vue": "^5.0.0",
|
|
@@ -266,7 +266,7 @@
|
|
|
266
266
|
"vitest": "^4.1.10",
|
|
267
267
|
"vue": "^3.5.39",
|
|
268
268
|
"vue-tsc": "^2.0.0",
|
|
269
|
-
"@skdx/vue": "0.
|
|
269
|
+
"@skdx/vue": "0.43.1"
|
|
270
270
|
},
|
|
271
271
|
"scripts": {
|
|
272
272
|
"lint": "eslint . --cache --cache-location node_modules/.cache/eslint/",
|