@robot-admin/naive-ui-components 0.11.8 → 0.13.0
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 +26 -0
- package/README.md +172 -29
- package/README_EN.md +171 -28
- package/SECURITY.md +1 -0
- package/dist/C_ActionBar.cjs +1 -1
- package/dist/C_ActionBar.css +67 -67
- package/dist/C_ActionBar.d.cts +2 -2
- package/dist/C_ActionBar.d.ts +2 -2
- package/dist/C_ActionBar.js +1 -1
- package/dist/C_ActionBar2.cjs +1 -1
- package/dist/C_ActionBar2.js +1 -1
- package/dist/C_AntV.css +70 -70
- package/dist/C_AntV2.cjs +3 -3
- package/dist/C_AntV2.js +3 -3
- package/dist/C_AudioPlayer.css +81 -66
- package/dist/C_AudioPlayer.d.cts +1 -1
- package/dist/C_AudioPlayer.d.ts +1 -1
- package/dist/C_AudioPlayer2.cjs +1 -1
- package/dist/C_AudioPlayer2.js +1 -1
- package/dist/C_AvatarGroup.css +40 -25
- package/dist/C_AvatarGroup.d.cts +1 -1
- package/dist/C_AvatarGroup.d.ts +1 -1
- package/dist/C_AvatarGroup2.cjs +1 -1
- package/dist/C_AvatarGroup2.js +1 -1
- package/dist/C_Barcode.css +6 -6
- package/dist/C_Barcode.d.cts +1 -1
- package/dist/C_Barcode.d.ts +1 -1
- package/dist/C_Barcode2.cjs +1 -1
- package/dist/C_Barcode2.js +1 -1
- package/dist/C_Breadcrumb.css +14 -14
- package/dist/C_Breadcrumb.d.cts +1 -1
- package/dist/C_Breadcrumb.d.ts +1 -1
- package/dist/C_Breadcrumb2.cjs +1 -1
- package/dist/C_Breadcrumb2.js +1 -1
- package/dist/C_Captcha.cjs +1 -1
- package/dist/C_Captcha.css +193 -51
- package/dist/C_Captcha.d.cts +2 -3
- package/dist/C_Captcha.d.ts +2 -3
- package/dist/C_Captcha.js +1 -1
- package/dist/C_Captcha2.cjs +1 -1
- package/dist/C_Captcha2.js +1 -1
- package/dist/C_Cascade.css +2 -2
- package/dist/C_Cascade.d.cts +1 -1
- package/dist/C_Cascade.d.ts +1 -1
- package/dist/C_Cascade2.cjs +1 -1
- package/dist/C_Cascade2.js +1 -1
- package/dist/C_Chat.css +96 -78
- package/dist/C_Chat.d.cts +1 -1
- package/dist/C_Chat.d.ts +1 -1
- package/dist/C_Chat2.cjs +1 -1
- package/dist/C_Chat2.js +1 -1
- package/dist/C_City.css +52 -28
- package/dist/C_City.d.cts +1 -1
- package/dist/C_City.d.ts +1 -1
- package/dist/C_City2.cjs +1 -1
- package/dist/C_City2.js +1 -1
- package/dist/C_Code.css +48 -42
- package/dist/C_Code.d.cts +1 -1
- package/dist/C_Code.d.ts +1 -1
- package/dist/C_Code2.cjs +1 -1
- package/dist/C_Code2.js +1 -1
- package/dist/C_CollapsePanel.css +14 -14
- package/dist/C_CollapsePanel2.cjs +1 -1
- package/dist/C_CollapsePanel2.js +1 -1
- package/dist/C_ContextMenu.css +14 -14
- package/dist/C_ContextMenu.d.cts +1 -1
- package/dist/C_ContextMenu.d.ts +1 -1
- package/dist/C_ContextMenu2.cjs +1 -1
- package/dist/C_ContextMenu2.js +1 -1
- package/dist/C_Cron.css +94 -55
- package/dist/C_Cron2.cjs +1 -1
- package/dist/C_Cron2.js +1 -1
- package/dist/C_Date.d.cts +1 -1
- package/dist/C_Date.d.ts +1 -1
- package/dist/C_Date2.cjs +1 -1
- package/dist/C_Date2.js +1 -1
- package/dist/C_Draggable.css +48 -48
- package/dist/C_Draggable2.cjs +1 -1
- package/dist/C_Draggable2.js +1 -1
- package/dist/C_Editor.css +13 -14
- package/dist/C_Editor.d.cts +1 -1
- package/dist/C_Editor.d.ts +1 -1
- package/dist/C_Editor2.cjs +1 -1
- package/dist/C_Editor2.js +1 -1
- package/dist/C_FilePreview.css +18 -18
- package/dist/C_FilePreview2.cjs +1 -1
- package/dist/C_FilePreview2.js +1 -1
- package/dist/C_Form.base.css +36 -36
- package/dist/C_Form.css +49 -50
- package/dist/C_Form2.cjs +1 -1
- package/dist/C_Form2.js +1 -1
- package/dist/C_FormModal.cjs +1 -0
- package/dist/C_FormModal.css +41 -0
- package/dist/C_FormModal.d.cts +2 -0
- package/dist/C_FormModal.d.ts +3 -0
- package/dist/C_FormModal.js +1 -0
- package/dist/C_FormModal2.cjs +1 -0
- package/dist/C_FormModal2.js +1 -0
- package/dist/C_FormSearch.css +45 -45
- package/dist/C_FormSearch2.cjs +1 -1
- package/dist/C_FormSearch2.js +1 -1
- package/dist/C_FormulaEditor.css +94 -55
- package/dist/C_FormulaEditor2.cjs +2 -2
- package/dist/C_FormulaEditor2.js +2 -2
- package/dist/C_FullCalendar.css +8 -1
- package/dist/C_FullCalendar2.cjs +1 -1
- package/dist/C_FullCalendar2.js +1 -1
- package/dist/C_GlobalSearch2.cjs +1 -1
- package/dist/C_GlobalSearch2.js +1 -1
- package/dist/C_Guide.css +14 -14
- package/dist/C_Guide2.cjs +1 -1
- package/dist/C_Guide2.js +1 -1
- package/dist/C_Icon.css +14 -14
- package/dist/C_Icon2.cjs +1 -1
- package/dist/C_Icon2.js +1 -1
- package/dist/C_ImageCropper.css +22 -22
- package/dist/C_ImageCropper2.cjs +1 -1
- package/dist/C_ImageCropper2.js +1 -1
- package/dist/C_Language.css +14 -14
- package/dist/C_Language2.cjs +1 -1
- package/dist/C_Language2.js +1 -1
- package/dist/C_Login.css +232 -149
- package/dist/C_Login2.cjs +1 -1
- package/dist/C_Login2.js +1 -1
- package/dist/C_Map.css +3 -3
- package/dist/C_Map2.cjs +1 -1
- package/dist/C_Map2.js +1 -1
- package/dist/C_Markdown.css +35 -35
- package/dist/C_Markdown2.cjs +1 -1
- package/dist/C_Markdown2.js +1 -1
- package/dist/C_Menu.d.cts +1 -1
- package/dist/C_Menu2.cjs +1 -1
- package/dist/C_Menu2.js +1 -1
- package/dist/C_NotificationCenter.css +30 -30
- package/dist/C_NotificationCenter2.cjs +1 -1
- package/dist/C_NotificationCenter2.js +1 -1
- package/dist/C_OrgChart.css +4 -0
- package/dist/C_OrgChart2.cjs +1 -1
- package/dist/C_OrgChart2.js +1 -1
- package/dist/C_Progress2.cjs +1 -1
- package/dist/C_Progress2.js +1 -1
- package/dist/C_QRCode.css +8 -8
- package/dist/C_QRCode2.cjs +1 -1
- package/dist/C_QRCode2.js +1 -1
- package/dist/C_Signature.css +14 -14
- package/dist/C_Signature2.cjs +1 -1
- package/dist/C_Signature2.js +1 -1
- package/dist/C_Skeleton2.cjs +1 -1
- package/dist/C_Skeleton2.js +1 -1
- package/dist/C_SplitPane.css +39 -39
- package/dist/C_SplitPane2.cjs +1 -1
- package/dist/C_SplitPane2.js +1 -1
- package/dist/C_Steps.css +48 -38
- package/dist/C_Steps2.cjs +1 -1
- package/dist/C_Steps2.js +1 -1
- package/dist/C_Table.base.css +160 -160
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.css +173 -174
- package/dist/C_Table.d.ts +4 -3
- package/dist/C_Table.js +1 -1
- package/dist/C_Tabs.cjs +1 -0
- package/dist/C_Tabs.css +1 -0
- package/dist/C_Tabs.d.cts +2 -0
- package/dist/C_Tabs.d.ts +2 -0
- package/dist/C_Tabs.js +1 -0
- package/dist/C_TagsView.css +52 -52
- package/dist/C_TagsView2.cjs +1 -1
- package/dist/C_TagsView2.js +1 -1
- package/dist/C_Theme.css +14 -14
- package/dist/C_Theme2.cjs +1 -1
- package/dist/C_Theme2.js +1 -1
- package/dist/C_Time.css +4 -4
- package/dist/C_Time2.cjs +1 -1
- package/dist/C_Time2.js +1 -1
- package/dist/C_Timeline.css +76 -58
- package/dist/C_Timeline2.cjs +1 -1
- package/dist/C_Timeline2.js +1 -1
- package/dist/C_Transfer.css +51 -51
- package/dist/C_Transfer2.cjs +1 -1
- package/dist/C_Transfer2.js +1 -1
- package/dist/C_Tree.css +35 -32
- package/dist/C_Tree2.cjs +1 -1
- package/dist/C_Tree2.js +1 -1
- package/dist/C_Upload.css +53 -50
- package/dist/C_Upload2.cjs +1 -1
- package/dist/C_Upload2.js +1 -1
- package/dist/C_VideoPlayer.css +17 -13
- package/dist/C_VideoPlayer2.cjs +2 -2
- package/dist/C_VideoPlayer2.js +2 -2
- package/dist/C_VtableGantt.css +19 -19
- package/dist/C_VtableGantt2.cjs +1 -1
- package/dist/C_VtableGantt2.js +1 -1
- package/dist/C_WaterFall.css +19 -15
- package/dist/C_WaterFall2.cjs +1 -1
- package/dist/C_WaterFall2.js +1 -1
- package/dist/C_WorkFlow.css +123 -123
- package/dist/C_WorkFlow2.cjs +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/constants.d.cts +2 -2
- package/dist/constants.d.ts +2 -2
- package/dist/constants2.d.cts +3 -3
- package/dist/constants2.d.ts +3 -3
- package/dist/constants3.d.cts +8 -4
- package/dist/constants3.d.ts +8 -4
- package/dist/constants4.d.cts +6 -6
- package/dist/constants4.d.ts +6 -6
- package/dist/constants5.d.cts +2 -2
- package/dist/constants5.d.ts +2 -2
- package/dist/data.d.cts +108 -0
- package/dist/data.d.ts +108 -0
- package/dist/data2.cjs +1 -0
- package/dist/data2.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +49 -49
- package/dist/index.d.ts +51 -49
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +74 -69
- package/dist/index.vue.d.ts +74 -69
- package/dist/index10.vue.d.cts +80 -39
- package/dist/index10.vue.d.ts +68 -77
- package/dist/index11.vue.d.cts +68 -77
- package/dist/index11.vue.d.ts +54 -69
- package/dist/index12.vue.d.cts +54 -69
- package/dist/index12.vue.d.ts +52 -58
- package/dist/index13.vue.d.cts +52 -58
- package/dist/index13.vue.d.ts +1 -1
- package/dist/index14.vue.d.cts +1 -1
- package/dist/index14.vue.d.ts +14 -47
- package/dist/index15.vue.d.cts +14 -47
- package/dist/index16.vue.d.ts +15 -12
- package/dist/index17.vue.d.cts +15 -12
- package/dist/index17.vue.d.ts +4 -4
- package/dist/index18.vue.d.cts +4 -4
- package/dist/index18.vue.d.ts +2 -2
- package/dist/index19.vue.d.cts +1 -1
- package/dist/index19.vue.d.ts +1 -1
- package/dist/index2.vue.d.cts +70 -65
- package/dist/index2.vue.d.ts +70 -65
- package/dist/index20.vue.d.cts +1 -1
- package/dist/index20.vue.d.ts +1 -1
- package/dist/index24.vue.d.cts +3 -3
- package/dist/index24.vue.d.ts +3 -3
- package/dist/index25.vue.d.cts +1 -1
- package/dist/index25.vue.d.ts +1 -1
- package/dist/index26.vue.d.cts +5 -5
- package/dist/index26.vue.d.ts +5 -5
- package/dist/index27.vue.d.cts +1 -1
- package/dist/index27.vue.d.ts +1 -1
- package/dist/index3.vue.d.cts +30 -80
- package/dist/index3.vue.d.ts +30 -80
- package/dist/index4.vue.d.cts +130 -30
- package/dist/index4.vue.d.ts +22 -30
- package/dist/index5.vue.d.cts +18 -126
- package/dist/index5.vue.d.ts +22 -19
- package/dist/index6.vue.d.cts +22 -19
- package/dist/index6.vue.d.ts +117 -22
- package/dist/index7.vue.d.cts +117 -22
- package/dist/index7.vue.d.ts +17 -110
- package/dist/index8.vue.d.cts +17 -110
- package/dist/index8.vue.d.ts +37 -24
- package/dist/index9.vue.d.cts +37 -24
- package/dist/index9.vue.d.ts +80 -39
- package/dist/mapUtils.d.cts +2 -2
- package/dist/mapUtils.d.ts +2 -2
- package/dist/presets.d.cts +96 -0
- package/dist/presets.d.ts +96 -0
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.d.cts +1 -1
- package/dist/resolver.d.ts +1 -1
- package/dist/resolver.js +1 -1
- package/dist/style.css +1735 -1400
- package/dist/useCalendarEvents.d.cts +23 -18
- package/dist/useCalendarEvents.d.ts +23 -18
- package/dist/useCollapsePanel.d.cts +4 -3
- package/dist/useCollapsePanel.d.ts +4 -3
- package/dist/useCropperCore.d.cts +32 -17
- package/dist/useCropperCore.d.ts +32 -17
- package/dist/useDraggableLayout.d.cts +2 -2
- package/dist/useDraggableLayout.d.ts +2 -2
- package/dist/useDynamicFormState.d.cts +7 -2
- package/dist/useDynamicFormState.d.ts +7 -2
- package/dist/useEdgeInteraction.d.cts +20 -19
- package/dist/useEdgeInteraction.d.ts +20 -19
- package/dist/useFullscreen.d.cts +6 -6
- package/dist/useFullscreen.d.ts +6 -6
- package/dist/useInfiniteScroll.d.cts +1 -1
- package/dist/useInfiniteScroll.d.ts +1 -1
- package/dist/useQRCode.d.cts +5 -4
- package/dist/useQRCode.d.ts +5 -4
- package/dist/useSearchState.d.cts +9 -9
- package/dist/useSearchState.d.ts +9 -9
- package/dist/useSignatureHistory.d.cts +18 -10
- package/dist/useSignatureHistory.d.ts +18 -10
- package/dist/useSplitResize.d.cts +7 -7
- package/dist/useSplitResize.d.ts +7 -7
- package/dist/useTableQuery.cjs +3 -3
- package/dist/useTableQuery.d.cts +12 -5
- package/dist/useTableQuery.d.ts +12 -5
- package/dist/useTableQuery.js +3 -3
- package/dist/useTimeSelection.d.cts +6 -3
- package/dist/useTimeSelection.d.ts +6 -3
- package/dist/useTreeOperations.d.cts +8 -8
- package/dist/useTreeOperations.d.ts +8 -8
- package/dist/useWorkflowValidation.d.cts +6 -4
- package/dist/useWorkflowValidation.d.ts +6 -4
- package/dist/verification.d.cts +71 -6
- package/dist/verification.d.ts +71 -6
- package/package.json +5 -3
- package/dist/types.d.ts +0 -58
- package/dist/types2.d.cts +0 -58
package/dist/verification.d.cts
CHANGED
|
@@ -1,6 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as ComponentLocale, r as ComponentFeedback } from "./config.cjs";
|
|
2
2
|
import * as vue from "vue";
|
|
3
3
|
|
|
4
|
+
//#region src/components/C_Captcha/types.d.ts
|
|
5
|
+
interface CaptchaProof {
|
|
6
|
+
/** Client correlation value only; servers must never trust it as proof. */
|
|
7
|
+
token: string;
|
|
8
|
+
/** Client clock value only; servers must never use it as freshness proof. */
|
|
9
|
+
timestamp: number;
|
|
10
|
+
type: CaptchaProvider;
|
|
11
|
+
}
|
|
12
|
+
/** Built-in challenge renderers. ALTCHA requires application-server verification. */
|
|
13
|
+
type CaptchaProvider = 'puzzle-captcha' | 'altcha';
|
|
14
|
+
interface CaptchaVerificationRequest extends CaptchaProof {
|
|
15
|
+
/** Cancels superseded, reset, unmounted, or timed-out verification. */
|
|
16
|
+
signal: AbortSignal;
|
|
17
|
+
}
|
|
18
|
+
interface CaptchaVerificationResult {
|
|
19
|
+
valid: boolean;
|
|
20
|
+
/** Prefer a short-lived, single-use token issued by the application server. */
|
|
21
|
+
token?: string;
|
|
22
|
+
message?: string;
|
|
23
|
+
}
|
|
24
|
+
type CaptchaVerifier = (request: CaptchaVerificationRequest) => boolean | CaptchaVerificationResult | Promise<boolean | CaptchaVerificationResult>;
|
|
25
|
+
interface CaptchaSuccessPayload extends CaptchaProof {
|
|
26
|
+
verifiedBy: 'local' | 'server';
|
|
27
|
+
}
|
|
28
|
+
interface CaptchaProps {
|
|
29
|
+
/** Challenge renderer. The default puzzle mode remains backward compatible. */
|
|
30
|
+
provider?: CaptchaProvider;
|
|
31
|
+
/** Same-origin endpoint that issues a fresh ALTCHA challenge. */
|
|
32
|
+
challengeUrl?: string;
|
|
33
|
+
triggerText?: string;
|
|
34
|
+
images?: string[];
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
theme?: 'light' | 'dark';
|
|
37
|
+
/**
|
|
38
|
+
* Application-owned verification adapter. It must validate an independent,
|
|
39
|
+
* server/provider-issued challenge; client token/timestamp are telemetry only.
|
|
40
|
+
*/
|
|
41
|
+
verifier?: CaptchaVerifier;
|
|
42
|
+
/** Maximum time for `verifier`, in milliseconds. */
|
|
43
|
+
verificationTimeout?: number;
|
|
44
|
+
/** Fail closed when no server verifier is configured. */
|
|
45
|
+
requireServerVerification?: boolean;
|
|
46
|
+
feedback?: ComponentFeedback;
|
|
47
|
+
locale?: ComponentLocale;
|
|
48
|
+
}
|
|
49
|
+
interface CaptchaEmits {
|
|
50
|
+
(event: 'success', data: CaptchaSuccessPayload): void;
|
|
51
|
+
(event: 'fail', error: string): void;
|
|
52
|
+
(event: 'verify-error', error: unknown): void;
|
|
53
|
+
(event: 'load-error', error: unknown): void;
|
|
54
|
+
(event: 'change', valid: boolean): void;
|
|
55
|
+
(event: 'visible-change', visible: boolean): void;
|
|
56
|
+
(event: 'reset'): void;
|
|
57
|
+
}
|
|
58
|
+
interface CaptchaInstance {
|
|
59
|
+
validate: () => boolean;
|
|
60
|
+
getToken: () => string;
|
|
61
|
+
getVerificationData: () => CaptchaSuccessPayload | null;
|
|
62
|
+
reset: () => void;
|
|
63
|
+
show: () => void;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
4
66
|
//#region src/components/C_Captcha/index.vue.d.ts
|
|
5
67
|
declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
|
|
6
68
|
validate: () => boolean;
|
|
@@ -9,28 +71,31 @@ declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
|
|
|
9
71
|
verifiedBy: "local" | "server";
|
|
10
72
|
token: string;
|
|
11
73
|
timestamp: number;
|
|
12
|
-
type:
|
|
74
|
+
type: CaptchaProvider;
|
|
13
75
|
} | null;
|
|
14
76
|
reset: () => void;
|
|
15
77
|
show: () => void;
|
|
16
78
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
17
79
|
change: (valid: boolean) => any;
|
|
18
80
|
success: (data: CaptchaSuccessPayload) => any;
|
|
19
|
-
reset: () => any;
|
|
20
81
|
fail: (error: string) => any;
|
|
21
82
|
"verify-error": (error: unknown) => any;
|
|
22
83
|
"load-error": (error: unknown) => any;
|
|
84
|
+
"visible-change": (visible: boolean) => any;
|
|
85
|
+
reset: () => any;
|
|
23
86
|
}, string, vue.PublicProps, Readonly<CaptchaProps> & Readonly<{
|
|
24
87
|
onChange?: ((valid: boolean) => any) | undefined;
|
|
25
88
|
onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
|
|
26
|
-
onReset?: (() => any) | undefined;
|
|
27
89
|
onFail?: ((error: string) => any) | undefined;
|
|
28
90
|
"onVerify-error"?: ((error: unknown) => any) | undefined;
|
|
29
91
|
"onLoad-error"?: ((error: unknown) => any) | undefined;
|
|
92
|
+
"onVisible-change"?: ((visible: boolean) => any) | undefined;
|
|
93
|
+
onReset?: (() => any) | undefined;
|
|
30
94
|
}>, {
|
|
31
|
-
disabled: boolean;
|
|
32
95
|
theme: "light" | "dark";
|
|
96
|
+
provider: CaptchaProvider;
|
|
33
97
|
images: string[];
|
|
98
|
+
disabled: boolean;
|
|
34
99
|
verificationTimeout: number;
|
|
35
100
|
requireServerVerification: boolean;
|
|
36
101
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
@@ -55,4 +120,4 @@ interface VerifyCaptchaProofOptions {
|
|
|
55
120
|
/** Normalize local/server verification with cancellation and a hard timeout. */
|
|
56
121
|
declare function verifyCaptchaProof(proof: CaptchaProof, options?: VerifyCaptchaProofOptions): Promise<CaptchaSuccessPayload>;
|
|
57
122
|
//#endregion
|
|
58
|
-
export { _default as i, createCaptchaProof as n, verifyCaptchaProof as r, CaptchaVerificationError as t };
|
|
123
|
+
export { CaptchaEmits as a, CaptchaProps as c, CaptchaVerificationRequest as d, CaptchaVerificationResult as f, _default as i, CaptchaProvider as l, createCaptchaProof as n, CaptchaInstance as o, CaptchaVerifier as p, verifyCaptchaProof as r, CaptchaProof as s, CaptchaVerificationError as t, CaptchaSuccessPayload as u };
|
package/dist/verification.d.ts
CHANGED
|
@@ -1,6 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as ComponentLocale, r as ComponentFeedback } from "./config.js";
|
|
2
2
|
import * as vue from "vue";
|
|
3
3
|
|
|
4
|
+
//#region src/components/C_Captcha/types.d.ts
|
|
5
|
+
interface CaptchaProof {
|
|
6
|
+
/** Client correlation value only; servers must never trust it as proof. */
|
|
7
|
+
token: string;
|
|
8
|
+
/** Client clock value only; servers must never use it as freshness proof. */
|
|
9
|
+
timestamp: number;
|
|
10
|
+
type: CaptchaProvider;
|
|
11
|
+
}
|
|
12
|
+
/** Built-in challenge renderers. ALTCHA requires application-server verification. */
|
|
13
|
+
type CaptchaProvider = 'puzzle-captcha' | 'altcha';
|
|
14
|
+
interface CaptchaVerificationRequest extends CaptchaProof {
|
|
15
|
+
/** Cancels superseded, reset, unmounted, or timed-out verification. */
|
|
16
|
+
signal: AbortSignal;
|
|
17
|
+
}
|
|
18
|
+
interface CaptchaVerificationResult {
|
|
19
|
+
valid: boolean;
|
|
20
|
+
/** Prefer a short-lived, single-use token issued by the application server. */
|
|
21
|
+
token?: string;
|
|
22
|
+
message?: string;
|
|
23
|
+
}
|
|
24
|
+
type CaptchaVerifier = (request: CaptchaVerificationRequest) => boolean | CaptchaVerificationResult | Promise<boolean | CaptchaVerificationResult>;
|
|
25
|
+
interface CaptchaSuccessPayload extends CaptchaProof {
|
|
26
|
+
verifiedBy: 'local' | 'server';
|
|
27
|
+
}
|
|
28
|
+
interface CaptchaProps {
|
|
29
|
+
/** Challenge renderer. The default puzzle mode remains backward compatible. */
|
|
30
|
+
provider?: CaptchaProvider;
|
|
31
|
+
/** Same-origin endpoint that issues a fresh ALTCHA challenge. */
|
|
32
|
+
challengeUrl?: string;
|
|
33
|
+
triggerText?: string;
|
|
34
|
+
images?: string[];
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
theme?: 'light' | 'dark';
|
|
37
|
+
/**
|
|
38
|
+
* Application-owned verification adapter. It must validate an independent,
|
|
39
|
+
* server/provider-issued challenge; client token/timestamp are telemetry only.
|
|
40
|
+
*/
|
|
41
|
+
verifier?: CaptchaVerifier;
|
|
42
|
+
/** Maximum time for `verifier`, in milliseconds. */
|
|
43
|
+
verificationTimeout?: number;
|
|
44
|
+
/** Fail closed when no server verifier is configured. */
|
|
45
|
+
requireServerVerification?: boolean;
|
|
46
|
+
feedback?: ComponentFeedback;
|
|
47
|
+
locale?: ComponentLocale;
|
|
48
|
+
}
|
|
49
|
+
interface CaptchaEmits {
|
|
50
|
+
(event: 'success', data: CaptchaSuccessPayload): void;
|
|
51
|
+
(event: 'fail', error: string): void;
|
|
52
|
+
(event: 'verify-error', error: unknown): void;
|
|
53
|
+
(event: 'load-error', error: unknown): void;
|
|
54
|
+
(event: 'change', valid: boolean): void;
|
|
55
|
+
(event: 'visible-change', visible: boolean): void;
|
|
56
|
+
(event: 'reset'): void;
|
|
57
|
+
}
|
|
58
|
+
interface CaptchaInstance {
|
|
59
|
+
validate: () => boolean;
|
|
60
|
+
getToken: () => string;
|
|
61
|
+
getVerificationData: () => CaptchaSuccessPayload | null;
|
|
62
|
+
reset: () => void;
|
|
63
|
+
show: () => void;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
4
66
|
//#region src/components/C_Captcha/index.vue.d.ts
|
|
5
67
|
declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
|
|
6
68
|
validate: () => boolean;
|
|
@@ -9,28 +71,31 @@ declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
|
|
|
9
71
|
verifiedBy: "local" | "server";
|
|
10
72
|
token: string;
|
|
11
73
|
timestamp: number;
|
|
12
|
-
type:
|
|
74
|
+
type: CaptchaProvider;
|
|
13
75
|
} | null;
|
|
14
76
|
reset: () => void;
|
|
15
77
|
show: () => void;
|
|
16
78
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
17
79
|
change: (valid: boolean) => any;
|
|
18
80
|
success: (data: CaptchaSuccessPayload) => any;
|
|
19
|
-
reset: () => any;
|
|
20
81
|
fail: (error: string) => any;
|
|
21
82
|
"verify-error": (error: unknown) => any;
|
|
22
83
|
"load-error": (error: unknown) => any;
|
|
84
|
+
"visible-change": (visible: boolean) => any;
|
|
85
|
+
reset: () => any;
|
|
23
86
|
}, string, vue.PublicProps, Readonly<CaptchaProps> & Readonly<{
|
|
24
87
|
onChange?: ((valid: boolean) => any) | undefined;
|
|
25
88
|
onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
|
|
26
|
-
onReset?: (() => any) | undefined;
|
|
27
89
|
onFail?: ((error: string) => any) | undefined;
|
|
28
90
|
"onVerify-error"?: ((error: unknown) => any) | undefined;
|
|
29
91
|
"onLoad-error"?: ((error: unknown) => any) | undefined;
|
|
92
|
+
"onVisible-change"?: ((visible: boolean) => any) | undefined;
|
|
93
|
+
onReset?: (() => any) | undefined;
|
|
30
94
|
}>, {
|
|
31
|
-
disabled: boolean;
|
|
32
95
|
theme: "light" | "dark";
|
|
96
|
+
provider: CaptchaProvider;
|
|
33
97
|
images: string[];
|
|
98
|
+
disabled: boolean;
|
|
34
99
|
verificationTimeout: number;
|
|
35
100
|
requireServerVerification: boolean;
|
|
36
101
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
@@ -55,4 +120,4 @@ interface VerifyCaptchaProofOptions {
|
|
|
55
120
|
/** Normalize local/server verification with cancellation and a hard timeout. */
|
|
56
121
|
declare function verifyCaptchaProof(proof: CaptchaProof, options?: VerifyCaptchaProofOptions): Promise<CaptchaSuccessPayload>;
|
|
57
122
|
//#endregion
|
|
58
|
-
export { _default as i, createCaptchaProof as n, verifyCaptchaProof as r, CaptchaVerificationError as t };
|
|
123
|
+
export { CaptchaEmits as a, CaptchaProps as c, CaptchaVerificationRequest as d, CaptchaVerificationResult as f, _default as i, CaptchaProvider as l, createCaptchaProof as n, CaptchaInstance as o, CaptchaVerifier as p, verifyCaptchaProof as r, CaptchaProof as s, CaptchaVerificationError as t, CaptchaSuccessPayload as u };
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.13.0",
|
|
7
7
|
"description": "基于 Naive UI 的 Vue 3 组件库",
|
|
8
8
|
"packageManager": "bun@1.3.14",
|
|
9
9
|
"engines": {
|
|
@@ -74,7 +74,8 @@
|
|
|
74
74
|
"build:exports": "node scripts/gen-exports.js",
|
|
75
75
|
"build": "tsdown && bun run build:scss && bun run build:css && bun run build:exports && bun run check:dist && bun run check:size",
|
|
76
76
|
"type-check": "tsc --noEmit",
|
|
77
|
-
"
|
|
77
|
+
"type-check:vue": "vue-tsc --noEmit -p tsconfig.json",
|
|
78
|
+
"test": "bun test --isolate tests",
|
|
78
79
|
"check:exports": "node scripts/check-export-conflicts.js",
|
|
79
80
|
"check:dist": "node scripts/check-dist-entries.js",
|
|
80
81
|
"check:size": "node scripts/check-size-budget.js",
|
|
@@ -82,7 +83,7 @@
|
|
|
82
83
|
"check:package": "node scripts/check-package-contract.js",
|
|
83
84
|
"check:quality": "node scripts/check-source-quality.js",
|
|
84
85
|
"check:consumer-types": "vue-tsc --noEmit -p tests/consumer/tsconfig.json",
|
|
85
|
-
"verify": "bun run lint:check && bun run type-check && bun run test && bun run check:exports && bun run check:package && bun run check:quality && bun run build && bun run check:consumer-types",
|
|
86
|
+
"verify": "bun run lint:check && bun run type-check && bun run type-check:vue && bun run test && bun run check:exports && bun run check:package && bun run check:quality && bun run build && bun run check:consumer-types",
|
|
86
87
|
"prepublishOnly": "bun run verify",
|
|
87
88
|
"release": "changeset publish",
|
|
88
89
|
"changeset": "changeset",
|
|
@@ -125,6 +126,7 @@
|
|
|
125
126
|
"@vue-flow/core": "^1.48.2",
|
|
126
127
|
"@wangeditor-next/editor": "6.2.0",
|
|
127
128
|
"@wangeditor-next/editor-for-vue": "6.2.0",
|
|
129
|
+
"altcha": "3.2.2",
|
|
128
130
|
"dompurify": "^3.4.14",
|
|
129
131
|
"driver.js": "^1.8.0",
|
|
130
132
|
"highlight.js": "^11.12.0",
|
package/dist/types.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { i as ComponentLocale, r as ComponentFeedback } from "./config.js";
|
|
2
|
-
|
|
3
|
-
//#region src/components/C_Captcha/types.d.ts
|
|
4
|
-
interface CaptchaProof {
|
|
5
|
-
/** Client correlation value only; servers must never trust it as proof. */
|
|
6
|
-
token: string;
|
|
7
|
-
/** Client clock value only; servers must never use it as freshness proof. */
|
|
8
|
-
timestamp: number;
|
|
9
|
-
type: 'puzzle-captcha';
|
|
10
|
-
}
|
|
11
|
-
interface CaptchaVerificationRequest extends CaptchaProof {
|
|
12
|
-
/** Cancels superseded, reset, unmounted, or timed-out verification. */
|
|
13
|
-
signal: AbortSignal;
|
|
14
|
-
}
|
|
15
|
-
interface CaptchaVerificationResult {
|
|
16
|
-
valid: boolean;
|
|
17
|
-
/** Prefer a short-lived, single-use token issued by the application server. */
|
|
18
|
-
token?: string;
|
|
19
|
-
message?: string;
|
|
20
|
-
}
|
|
21
|
-
type CaptchaVerifier = (request: CaptchaVerificationRequest) => boolean | CaptchaVerificationResult | Promise<boolean | CaptchaVerificationResult>;
|
|
22
|
-
interface CaptchaSuccessPayload extends CaptchaProof {
|
|
23
|
-
verifiedBy: 'local' | 'server';
|
|
24
|
-
}
|
|
25
|
-
interface CaptchaProps {
|
|
26
|
-
triggerText?: string;
|
|
27
|
-
images?: string[];
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
theme?: 'light' | 'dark';
|
|
30
|
-
/**
|
|
31
|
-
* Application-owned verification adapter. It must validate an independent,
|
|
32
|
-
* server/provider-issued challenge; client token/timestamp are telemetry only.
|
|
33
|
-
*/
|
|
34
|
-
verifier?: CaptchaVerifier;
|
|
35
|
-
/** Maximum time for `verifier`, in milliseconds. */
|
|
36
|
-
verificationTimeout?: number;
|
|
37
|
-
/** Fail closed when no server verifier is configured. */
|
|
38
|
-
requireServerVerification?: boolean;
|
|
39
|
-
feedback?: ComponentFeedback;
|
|
40
|
-
locale?: ComponentLocale;
|
|
41
|
-
}
|
|
42
|
-
interface CaptchaEmits {
|
|
43
|
-
(event: 'success', data: CaptchaSuccessPayload): void;
|
|
44
|
-
(event: 'fail', error: string): void;
|
|
45
|
-
(event: 'verify-error', error: unknown): void;
|
|
46
|
-
(event: 'load-error', error: unknown): void;
|
|
47
|
-
(event: 'change', valid: boolean): void;
|
|
48
|
-
(event: 'reset'): void;
|
|
49
|
-
}
|
|
50
|
-
interface CaptchaInstance {
|
|
51
|
-
validate: () => boolean;
|
|
52
|
-
getToken: () => string;
|
|
53
|
-
getVerificationData: () => CaptchaSuccessPayload | null;
|
|
54
|
-
reset: () => void;
|
|
55
|
-
show: () => void;
|
|
56
|
-
}
|
|
57
|
-
//#endregion
|
|
58
|
-
export { CaptchaSuccessPayload as a, CaptchaVerifier as c, CaptchaProps as i, CaptchaInstance as n, CaptchaVerificationRequest as o, CaptchaProof as r, CaptchaVerificationResult as s, CaptchaEmits as t };
|
package/dist/types2.d.cts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { i as ComponentLocale, r as ComponentFeedback } from "./config.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/components/C_Captcha/types.d.ts
|
|
4
|
-
interface CaptchaProof {
|
|
5
|
-
/** Client correlation value only; servers must never trust it as proof. */
|
|
6
|
-
token: string;
|
|
7
|
-
/** Client clock value only; servers must never use it as freshness proof. */
|
|
8
|
-
timestamp: number;
|
|
9
|
-
type: 'puzzle-captcha';
|
|
10
|
-
}
|
|
11
|
-
interface CaptchaVerificationRequest extends CaptchaProof {
|
|
12
|
-
/** Cancels superseded, reset, unmounted, or timed-out verification. */
|
|
13
|
-
signal: AbortSignal;
|
|
14
|
-
}
|
|
15
|
-
interface CaptchaVerificationResult {
|
|
16
|
-
valid: boolean;
|
|
17
|
-
/** Prefer a short-lived, single-use token issued by the application server. */
|
|
18
|
-
token?: string;
|
|
19
|
-
message?: string;
|
|
20
|
-
}
|
|
21
|
-
type CaptchaVerifier = (request: CaptchaVerificationRequest) => boolean | CaptchaVerificationResult | Promise<boolean | CaptchaVerificationResult>;
|
|
22
|
-
interface CaptchaSuccessPayload extends CaptchaProof {
|
|
23
|
-
verifiedBy: 'local' | 'server';
|
|
24
|
-
}
|
|
25
|
-
interface CaptchaProps {
|
|
26
|
-
triggerText?: string;
|
|
27
|
-
images?: string[];
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
theme?: 'light' | 'dark';
|
|
30
|
-
/**
|
|
31
|
-
* Application-owned verification adapter. It must validate an independent,
|
|
32
|
-
* server/provider-issued challenge; client token/timestamp are telemetry only.
|
|
33
|
-
*/
|
|
34
|
-
verifier?: CaptchaVerifier;
|
|
35
|
-
/** Maximum time for `verifier`, in milliseconds. */
|
|
36
|
-
verificationTimeout?: number;
|
|
37
|
-
/** Fail closed when no server verifier is configured. */
|
|
38
|
-
requireServerVerification?: boolean;
|
|
39
|
-
feedback?: ComponentFeedback;
|
|
40
|
-
locale?: ComponentLocale;
|
|
41
|
-
}
|
|
42
|
-
interface CaptchaEmits {
|
|
43
|
-
(event: 'success', data: CaptchaSuccessPayload): void;
|
|
44
|
-
(event: 'fail', error: string): void;
|
|
45
|
-
(event: 'verify-error', error: unknown): void;
|
|
46
|
-
(event: 'load-error', error: unknown): void;
|
|
47
|
-
(event: 'change', valid: boolean): void;
|
|
48
|
-
(event: 'reset'): void;
|
|
49
|
-
}
|
|
50
|
-
interface CaptchaInstance {
|
|
51
|
-
validate: () => boolean;
|
|
52
|
-
getToken: () => string;
|
|
53
|
-
getVerificationData: () => CaptchaSuccessPayload | null;
|
|
54
|
-
reset: () => void;
|
|
55
|
-
show: () => void;
|
|
56
|
-
}
|
|
57
|
-
//#endregion
|
|
58
|
-
export { CaptchaSuccessPayload as a, CaptchaVerifier as c, CaptchaProps as i, CaptchaInstance as n, CaptchaVerificationRequest as o, CaptchaProof as r, CaptchaVerificationResult as s, CaptchaEmits as t };
|