@class-kit/core 0.1.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 +6 -0
- package/LICENSE +3 -0
- package/README.md +26 -0
- package/dist/business/ComicReaderController.d.ts +37 -0
- package/dist/business/ComicReaderController.d.ts.map +1 -0
- package/dist/business/DanmakuController.d.ts +45 -0
- package/dist/business/DanmakuController.d.ts.map +1 -0
- package/dist/business/LiveRoomController.d.ts +37 -0
- package/dist/business/LiveRoomController.d.ts.map +1 -0
- package/dist/business/NovelReaderController.d.ts +63 -0
- package/dist/business/NovelReaderController.d.ts.map +1 -0
- package/dist/config.d.ts +89 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/data/TableController.d.ts +54 -0
- package/dist/data/TableController.d.ts.map +1 -0
- package/dist/data/UploadController.d.ts +27 -0
- package/dist/data/UploadController.d.ts.map +1 -0
- package/dist/display/BadgeController.d.ts +20 -0
- package/dist/display/BadgeController.d.ts.map +1 -0
- package/dist/display/CalendarController.d.ts +22 -0
- package/dist/display/CalendarController.d.ts.map +1 -0
- package/dist/display/CanvasEditorController.d.ts +87 -0
- package/dist/display/CanvasEditorController.d.ts.map +1 -0
- package/dist/display/CanvasImageController.d.ts +67 -0
- package/dist/display/CanvasImageController.d.ts.map +1 -0
- package/dist/display/CountdownController.d.ts +39 -0
- package/dist/display/CountdownController.d.ts.map +1 -0
- package/dist/display/DesignEffectController.d.ts +9 -0
- package/dist/display/DesignEffectController.d.ts.map +1 -0
- package/dist/display/FilePreviewController.d.ts +30 -0
- package/dist/display/FilePreviewController.d.ts.map +1 -0
- package/dist/display/GradientTextController.d.ts +8 -0
- package/dist/display/GradientTextController.d.ts.map +1 -0
- package/dist/display/HoneycombController.d.ts +18 -0
- package/dist/display/HoneycombController.d.ts.map +1 -0
- package/dist/display/ImagePreviewController.d.ts +17 -0
- package/dist/display/ImagePreviewController.d.ts.map +1 -0
- package/dist/display/LazyImageController.d.ts +11 -0
- package/dist/display/LazyImageController.d.ts.map +1 -0
- package/dist/display/MarqueeController.d.ts +17 -0
- package/dist/display/MarqueeController.d.ts.map +1 -0
- package/dist/display/ProgressController.d.ts +33 -0
- package/dist/display/ProgressController.d.ts.map +1 -0
- package/dist/display/RollingNumberController.d.ts +11 -0
- package/dist/display/RollingNumberController.d.ts.map +1 -0
- package/dist/display/SignatureController.d.ts +49 -0
- package/dist/display/SignatureController.d.ts.map +1 -0
- package/dist/display/SkeletonController.d.ts +16 -0
- package/dist/display/SkeletonController.d.ts.map +1 -0
- package/dist/display/SwiperController.d.ts +25 -0
- package/dist/display/SwiperController.d.ts.map +1 -0
- package/dist/display/TagController.d.ts +18 -0
- package/dist/display/TagController.d.ts.map +1 -0
- package/dist/display/TiltCardController.d.ts +10 -0
- package/dist/display/TiltCardController.d.ts.map +1 -0
- package/dist/display/TimelineController.d.ts +13 -0
- package/dist/display/TimelineController.d.ts.map +1 -0
- package/dist/display/TypewriterTextController.d.ts +17 -0
- package/dist/display/TypewriterTextController.d.ts.map +1 -0
- package/dist/display/VideoDetailTransitionController.d.ts +45 -0
- package/dist/display/VideoDetailTransitionController.d.ts.map +1 -0
- package/dist/display/VideoPlayerController.d.ts +18 -0
- package/dist/display/VideoPlayerController.d.ts.map +1 -0
- package/dist/display/types.d.ts +217 -0
- package/dist/display/types.d.ts.map +1 -0
- package/dist/feedback/AffixController.d.ts +11 -0
- package/dist/feedback/AffixController.d.ts.map +1 -0
- package/dist/feedback/BacktopController.d.ts +12 -0
- package/dist/feedback/BacktopController.d.ts.map +1 -0
- package/dist/feedback/FloatingBallController.d.ts +41 -0
- package/dist/feedback/FloatingBallController.d.ts.map +1 -0
- package/dist/feedback/ModalController.d.ts +13 -0
- package/dist/feedback/ModalController.d.ts.map +1 -0
- package/dist/feedback/PopupController.d.ts +24 -0
- package/dist/feedback/PopupController.d.ts.map +1 -0
- package/dist/feedback/ToastManager.d.ts +15 -0
- package/dist/feedback/ToastManager.d.ts.map +1 -0
- package/dist/feedback/TooltipController.d.ts +19 -0
- package/dist/feedback/TooltipController.d.ts.map +1 -0
- package/dist/feedback/placement.d.ts +5 -0
- package/dist/feedback/placement.d.ts.map +1 -0
- package/dist/feedback/types.d.ts +24 -0
- package/dist/feedback/types.d.ts.map +1 -0
- package/dist/form/ColorPickerController.d.ts +25 -0
- package/dist/form/ColorPickerController.d.ts.map +1 -0
- package/dist/form/DatePickerController.d.ts +39 -0
- package/dist/form/DatePickerController.d.ts.map +1 -0
- package/dist/form/DateRangePickerController.d.ts +56 -0
- package/dist/form/DateRangePickerController.d.ts.map +1 -0
- package/dist/form/FieldController.d.ts +16 -0
- package/dist/form/FieldController.d.ts.map +1 -0
- package/dist/form/FormController.d.ts +27 -0
- package/dist/form/FormController.d.ts.map +1 -0
- package/dist/form/MultiColumnPickerController.d.ts +37 -0
- package/dist/form/MultiColumnPickerController.d.ts.map +1 -0
- package/dist/form/PasswordInputController.d.ts +15 -0
- package/dist/form/PasswordInputController.d.ts.map +1 -0
- package/dist/form/SlideCaptchaController.d.ts +60 -0
- package/dist/form/SlideCaptchaController.d.ts.map +1 -0
- package/dist/form/VerificationCodeController.d.ts +29 -0
- package/dist/form/VerificationCodeController.d.ts.map +1 -0
- package/dist/form/VirtualSelectController.d.ts +34 -0
- package/dist/form/VirtualSelectController.d.ts.map +1 -0
- package/dist/form/emitter.d.ts +8 -0
- package/dist/form/emitter.d.ts.map +1 -0
- package/dist/form/index.d.ts +6 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/path.d.ts +6 -0
- package/dist/form/path.d.ts.map +1 -0
- package/dist/form/types.d.ts +60 -0
- package/dist/form/types.d.ts.map +1 -0
- package/dist/form/validation.d.ts +3 -0
- package/dist/form/validation.d.ts.map +1 -0
- package/dist/index.cjs +4688 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +104 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4624 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction/DragController.d.ts +47 -0
- package/dist/interaction/DragController.d.ts.map +1 -0
- package/dist/interaction/DropController.d.ts +22 -0
- package/dist/interaction/DropController.d.ts.map +1 -0
- package/dist/interaction/GestureController.d.ts +34 -0
- package/dist/interaction/GestureController.d.ts.map +1 -0
- package/dist/navigation/BreadcrumbController.d.ts +17 -0
- package/dist/navigation/BreadcrumbController.d.ts.map +1 -0
- package/dist/navigation/PaginationController.d.ts +27 -0
- package/dist/navigation/PaginationController.d.ts.map +1 -0
- package/dist/navigation/TabsController.d.ts +13 -0
- package/dist/navigation/TabsController.d.ts.map +1 -0
- package/dist/virtualization/ChatVirtualListController.d.ts +17 -0
- package/dist/virtualization/ChatVirtualListController.d.ts.map +1 -0
- package/dist/virtualization/MasonryVirtualListController.d.ts +32 -0
- package/dist/virtualization/MasonryVirtualListController.d.ts.map +1 -0
- package/dist/virtualization/VirtualListController.d.ts +29 -0
- package/dist/virtualization/VirtualListController.d.ts.map +1 -0
- package/dist/virtualization/types.d.ts +67 -0
- package/dist/virtualization/types.d.ts.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface PickerOption {
|
|
2
|
+
children?: PickerOption[];
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
label: string;
|
|
5
|
+
value: string | number;
|
|
6
|
+
}
|
|
7
|
+
export interface MultiColumnPickerState {
|
|
8
|
+
columns: PickerOption[][];
|
|
9
|
+
selectedOptions: PickerOption[];
|
|
10
|
+
values: Array<string | number>;
|
|
11
|
+
}
|
|
12
|
+
export interface MultiColumnPickerDateSource {
|
|
13
|
+
endYear?: number;
|
|
14
|
+
startYear?: number;
|
|
15
|
+
type: "date";
|
|
16
|
+
yearCount?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface MultiColumnPickerOptions {
|
|
19
|
+
columns?: PickerOption[][];
|
|
20
|
+
cascade?: boolean;
|
|
21
|
+
source?: MultiColumnPickerDateSource;
|
|
22
|
+
values?: Array<string | number>;
|
|
23
|
+
}
|
|
24
|
+
export declare class MultiColumnPickerController {
|
|
25
|
+
private cascade;
|
|
26
|
+
private dateSource?;
|
|
27
|
+
private sourceColumns;
|
|
28
|
+
private values;
|
|
29
|
+
constructor(options: MultiColumnPickerOptions);
|
|
30
|
+
updateOptions(options: Partial<MultiColumnPickerOptions>): MultiColumnPickerState;
|
|
31
|
+
select(columnIndex: number, value: string | number): MultiColumnPickerState;
|
|
32
|
+
selectByDelta(columnIndex: number, delta: number): MultiColumnPickerState;
|
|
33
|
+
getState(): MultiColumnPickerState;
|
|
34
|
+
private createDateColumns;
|
|
35
|
+
private range;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=MultiColumnPickerController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiColumnPickerController.d.ts","sourceRoot":"","sources":["../../src/form/MultiColumnPickerController.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC;IAC1B,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,2BAA2B,CAAC;IACrC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACjC;AAED,qBAAa,2BAA2B;IACtC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,UAAU,CAAC,CAA8B;IACjD,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,MAAM,CAAyB;gBAE3B,OAAO,EAAE,wBAAwB;IAO7C,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,sBAAsB;IAcjF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,sBAAsB;IAK3E,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB;IAezE,QAAQ,IAAI,sBAAsB;IAgClC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,KAAK;CAKd"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface PasswordInputOptions {
|
|
2
|
+
visible?: boolean;
|
|
3
|
+
}
|
|
4
|
+
export interface PasswordInputState {
|
|
5
|
+
inputType: "password" | "text";
|
|
6
|
+
visible: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class PasswordInputController {
|
|
9
|
+
private visible;
|
|
10
|
+
constructor(options?: PasswordInputOptions);
|
|
11
|
+
setVisible(visible: boolean): PasswordInputState;
|
|
12
|
+
toggle(): PasswordInputState;
|
|
13
|
+
getState(): PasswordInputState;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=PasswordInputController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordInputController.d.ts","sourceRoot":"","sources":["../../src/form/PasswordInputController.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,oBAAyB;IAI9C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB;IAKhD,MAAM,IAAI,kBAAkB;IAK5B,QAAQ,IAAI,kBAAkB;CAM/B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export interface SlideCaptchaOptions {
|
|
2
|
+
height?: number;
|
|
3
|
+
moveAxis?: "x" | "xy";
|
|
4
|
+
originY?: number;
|
|
5
|
+
pieceHeight?: number;
|
|
6
|
+
pieceWidth?: number;
|
|
7
|
+
targetX?: number;
|
|
8
|
+
targetY?: number;
|
|
9
|
+
tolerance?: number;
|
|
10
|
+
value?: boolean;
|
|
11
|
+
width?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface SlideCaptchaState {
|
|
14
|
+
height: number;
|
|
15
|
+
maxOffset: number;
|
|
16
|
+
maxOffsetY: number;
|
|
17
|
+
minOffsetY: number;
|
|
18
|
+
moveAxis: "x" | "xy";
|
|
19
|
+
offsetX: number;
|
|
20
|
+
offsetY: number;
|
|
21
|
+
originY: number;
|
|
22
|
+
pieceHeight: number;
|
|
23
|
+
pieceWidth: number;
|
|
24
|
+
progress: number;
|
|
25
|
+
status: "idle" | "dragging" | "success" | "failed";
|
|
26
|
+
targetX: number;
|
|
27
|
+
targetY: number;
|
|
28
|
+
tolerance: number;
|
|
29
|
+
value: boolean;
|
|
30
|
+
width: number;
|
|
31
|
+
}
|
|
32
|
+
export declare class SlideCaptchaController {
|
|
33
|
+
private height;
|
|
34
|
+
private moveAxis;
|
|
35
|
+
private offsetX;
|
|
36
|
+
private offsetY;
|
|
37
|
+
private originY;
|
|
38
|
+
private pieceHeight;
|
|
39
|
+
private pieceWidth;
|
|
40
|
+
private status;
|
|
41
|
+
private targetX;
|
|
42
|
+
private targetY;
|
|
43
|
+
private tolerance;
|
|
44
|
+
private value;
|
|
45
|
+
private width;
|
|
46
|
+
constructor(options?: SlideCaptchaOptions);
|
|
47
|
+
updateOptions(options?: SlideCaptchaOptions): SlideCaptchaState;
|
|
48
|
+
start(): SlideCaptchaState;
|
|
49
|
+
move(offsetX: number, offsetY?: number): SlideCaptchaState;
|
|
50
|
+
verify(): SlideCaptchaState;
|
|
51
|
+
reset(): SlideCaptchaState;
|
|
52
|
+
getState(): SlideCaptchaState;
|
|
53
|
+
private getMaxOffset;
|
|
54
|
+
private getMinOffsetY;
|
|
55
|
+
private getMaxOffsetY;
|
|
56
|
+
private normalizeOriginY;
|
|
57
|
+
private normalizeTargetX;
|
|
58
|
+
private normalizeTargetY;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=SlideCaptchaController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideCaptchaController.d.ts","sourceRoot":"","sources":["../../src/form/SlideCaptchaController.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAeD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,GAAE,mBAAwB;IAkB7C,aAAa,CAAC,OAAO,GAAE,mBAAwB,GAAG,iBAAiB;IA+BnE,KAAK,IAAI,iBAAiB;IAM1B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,iBAAiB;IAWrD,MAAM,IAAI,iBAAiB;IAc3B,KAAK,IAAI,iBAAiB;IAQ1B,QAAQ,IAAI,iBAAiB;IAyB7B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;CAGzB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface VerificationCodeOptions {
|
|
2
|
+
length?: number;
|
|
3
|
+
value?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface VerificationCodeState {
|
|
6
|
+
chars: string[];
|
|
7
|
+
complete: boolean;
|
|
8
|
+
length: number;
|
|
9
|
+
value: string;
|
|
10
|
+
}
|
|
11
|
+
export interface VerificationCodeInputResult {
|
|
12
|
+
focusIndex: number;
|
|
13
|
+
state: VerificationCodeState;
|
|
14
|
+
writeIndex: number;
|
|
15
|
+
}
|
|
16
|
+
export declare class VerificationCodeController {
|
|
17
|
+
private length;
|
|
18
|
+
private value;
|
|
19
|
+
constructor(options?: VerificationCodeOptions);
|
|
20
|
+
updateOptions(options?: VerificationCodeOptions): VerificationCodeState;
|
|
21
|
+
getNextInputIndex(preferredIndex?: number): number;
|
|
22
|
+
input(index: number, char: string): VerificationCodeState;
|
|
23
|
+
inputAtNextSlot(index: number, char: string): VerificationCodeInputResult;
|
|
24
|
+
paste(value: string, startIndex?: number): VerificationCodeState;
|
|
25
|
+
remove(index: number): VerificationCodeState;
|
|
26
|
+
clear(): VerificationCodeState;
|
|
27
|
+
getState(): VerificationCodeState;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=VerificationCodeController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerificationCodeController.d.ts","sourceRoot":"","sources":["../../src/form/VerificationCodeController.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,GAAE,uBAA4B;IAKjD,aAAa,CAAC,OAAO,GAAE,uBAA4B,GAAG,qBAAqB;IAO3E,iBAAiB,CAAC,cAAc,SAAI,GAAG,MAAM;IAO7C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,qBAAqB;IAIzD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,2BAA2B;IAezE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,qBAAqB;IAU3D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IAQ5C,KAAK,IAAI,qBAAqB;IAK9B,QAAQ,IAAI,qBAAqB;CAIlC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type VirtualSelectValue = string | number;
|
|
2
|
+
export interface VirtualSelectOption<Value extends VirtualSelectValue = VirtualSelectValue> {
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
label: string;
|
|
5
|
+
value: Value;
|
|
6
|
+
}
|
|
7
|
+
export interface VirtualSelectOptions<Value extends VirtualSelectValue = VirtualSelectValue> {
|
|
8
|
+
multiple?: boolean;
|
|
9
|
+
options: Array<VirtualSelectOption<Value>>;
|
|
10
|
+
query?: string;
|
|
11
|
+
value?: Value | Value[] | "";
|
|
12
|
+
}
|
|
13
|
+
export interface VirtualSelectState<Value extends VirtualSelectValue = VirtualSelectValue> {
|
|
14
|
+
filteredOptions: Array<VirtualSelectOption<Value>>;
|
|
15
|
+
multiple: boolean;
|
|
16
|
+
query: string;
|
|
17
|
+
selectedOptions: Array<VirtualSelectOption<Value>>;
|
|
18
|
+
selectedValues: Value[];
|
|
19
|
+
}
|
|
20
|
+
export declare class VirtualSelectController<Value extends VirtualSelectValue = VirtualSelectValue> {
|
|
21
|
+
private multiple;
|
|
22
|
+
private options;
|
|
23
|
+
private query;
|
|
24
|
+
private selectedValues;
|
|
25
|
+
constructor(options: VirtualSelectOptions<Value>);
|
|
26
|
+
update(options: Partial<VirtualSelectOptions<Value>>): VirtualSelectState<Value>;
|
|
27
|
+
clear(): Value[] | "" | Value;
|
|
28
|
+
getState(): VirtualSelectState<Value>;
|
|
29
|
+
getValue(): Value[] | "" | Value;
|
|
30
|
+
isSelected(value: Value): boolean;
|
|
31
|
+
toggle(option: VirtualSelectOption<Value>): Value[] | "" | Value;
|
|
32
|
+
private getFilteredOptions;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=VirtualSelectController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualSelectController.d.ts","sourceRoot":"","sources":["../../src/form/VirtualSelectController.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,kBAAkB,GAAG,kBAAkB;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK,SAAS,kBAAkB,GAAG,kBAAkB;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,kBAAkB,GAAG,kBAAkB;IACvF,eAAe,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,cAAc,EAAE,KAAK,EAAE,CAAC;CACzB;AAED,qBAAa,uBAAuB,CAAC,KAAK,SAAS,kBAAkB,GAAG,kBAAkB;IACxF,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAU;gBAEpB,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAOhD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC;IAUhF,KAAK,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK;IAK7B,QAAQ,IAAI,kBAAkB,CAAC,KAAK,CAAC;IAcrC,QAAQ,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK;IAKhC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIjC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK;IAchE,OAAO,CAAC,kBAAkB;CAI3B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Unsubscribe } from "./types";
|
|
2
|
+
export declare class StateEmitter<State> {
|
|
3
|
+
private readonly listeners;
|
|
4
|
+
subscribe(listener: (state: Readonly<State>) => void): Unsubscribe;
|
|
5
|
+
emit(state: Readonly<State>): void;
|
|
6
|
+
clear(): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/form/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,qBAAa,YAAY,CAAC,KAAK;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+C;IAEzE,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,WAAW;IAOlE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI;IAIlC,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { FieldController } from "./FieldController";
|
|
2
|
+
export { FormController } from "./FormController";
|
|
3
|
+
export { getByPath, setByPath, toPath } from "./path";
|
|
4
|
+
export { validateValue } from "./validation";
|
|
5
|
+
export type { FieldMeta, FieldOptions, FieldPath, FieldState, FormOptions, FormState, FormStyleConfig, FormValues, StateListener, Unsubscribe, ValidationContext, ValidationRule, ValidationTrigger, Validator } from "./types";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,SAAS,EACT,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACV,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FormValues } from "./types";
|
|
2
|
+
export declare function toPath(path: string): string[];
|
|
3
|
+
export declare function getByPath(source: FormValues, path: string): unknown;
|
|
4
|
+
export declare function setByPath<Values extends FormValues>(source: Values, path: string, value: unknown): Values;
|
|
5
|
+
export declare function cloneValues<Values extends FormValues>(values: Partial<Values>): Values;
|
|
6
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/form/path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7C;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED,wBAAgB,SAAS,CAAC,MAAM,SAAS,UAAU,EACjD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,MAAM,CAwBR;AAED,wBAAgB,WAAW,CAAC,MAAM,SAAS,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAUtF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export type FieldPath = string;
|
|
2
|
+
export type FormValues = Record<string, unknown>;
|
|
3
|
+
export type ValidationTrigger = "change" | "blur" | "submit";
|
|
4
|
+
export interface FieldMeta {
|
|
5
|
+
dirty: boolean;
|
|
6
|
+
touched: boolean;
|
|
7
|
+
validating: boolean;
|
|
8
|
+
submitted: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface FieldState<Value = unknown> {
|
|
11
|
+
name: FieldPath;
|
|
12
|
+
value: Value;
|
|
13
|
+
initialValue: Value;
|
|
14
|
+
errors: string[];
|
|
15
|
+
meta: FieldMeta;
|
|
16
|
+
}
|
|
17
|
+
export interface FormState<Values extends FormValues = FormValues> {
|
|
18
|
+
values: Values;
|
|
19
|
+
errors: Record<FieldPath, string[]>;
|
|
20
|
+
fields: Record<FieldPath, FieldState>;
|
|
21
|
+
dirty: boolean;
|
|
22
|
+
touched: boolean;
|
|
23
|
+
validating: boolean;
|
|
24
|
+
submitting: boolean;
|
|
25
|
+
submitted: boolean;
|
|
26
|
+
valid: boolean;
|
|
27
|
+
submitCount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface ValidationContext<Values extends FormValues = FormValues> {
|
|
30
|
+
field: FieldPath;
|
|
31
|
+
value: unknown;
|
|
32
|
+
values: Values;
|
|
33
|
+
}
|
|
34
|
+
export type Validator<Values extends FormValues = FormValues> = (context: ValidationContext<Values>) => string | undefined | Promise<string | undefined>;
|
|
35
|
+
export interface ValidationRule<Values extends FormValues = FormValues> {
|
|
36
|
+
required?: boolean;
|
|
37
|
+
pattern?: RegExp;
|
|
38
|
+
minLength?: number;
|
|
39
|
+
maxLength?: number;
|
|
40
|
+
validate?: Validator<Values>;
|
|
41
|
+
message?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface FieldOptions<Values extends FormValues = FormValues> {
|
|
44
|
+
initialValue?: unknown;
|
|
45
|
+
rules?: Array<ValidationRule<Values>>;
|
|
46
|
+
validateOn?: ValidationTrigger[];
|
|
47
|
+
}
|
|
48
|
+
export interface FormOptions<Values extends FormValues = FormValues> {
|
|
49
|
+
initialValues?: Partial<Values>;
|
|
50
|
+
validateOn?: ValidationTrigger[];
|
|
51
|
+
onSubmit?: (values: Values, state: FormState<Values>) => void | Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
export type Unsubscribe = () => void;
|
|
54
|
+
export type StateListener<Values extends FormValues = FormValues> = (state: Readonly<FormState<Values>>) => void;
|
|
55
|
+
export interface FormStyleConfig {
|
|
56
|
+
namespace?: string;
|
|
57
|
+
density?: "compact" | "regular" | "comfortable";
|
|
58
|
+
tone?: "neutral" | "brand" | "danger";
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/form/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,OAAO;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,SAAS,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IACvE,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAAI,CAC9D,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAC/B,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtD,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAAI,CAClE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAC/B,IAAI,CAAC;AAEV,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;CACvC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { FormValues, ValidationContext, ValidationRule } from "./types";
|
|
2
|
+
export declare function validateValue<Values extends FormValues>(context: ValidationContext<Values>, rules: Array<ValidationRule<Values>>): Promise<string[]>;
|
|
3
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/form/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EAEf,MAAM,SAAS,CAAC;AAiBjB,wBAAsB,aAAa,CAAC,MAAM,SAAS,UAAU,EAC3D,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAClC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GACnC,OAAO,CAAC,MAAM,EAAE,CAAC,CAuCnB"}
|