@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.
Files changed (140) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/LICENSE +3 -0
  3. package/README.md +26 -0
  4. package/dist/business/ComicReaderController.d.ts +37 -0
  5. package/dist/business/ComicReaderController.d.ts.map +1 -0
  6. package/dist/business/DanmakuController.d.ts +45 -0
  7. package/dist/business/DanmakuController.d.ts.map +1 -0
  8. package/dist/business/LiveRoomController.d.ts +37 -0
  9. package/dist/business/LiveRoomController.d.ts.map +1 -0
  10. package/dist/business/NovelReaderController.d.ts +63 -0
  11. package/dist/business/NovelReaderController.d.ts.map +1 -0
  12. package/dist/config.d.ts +89 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/data/TableController.d.ts +54 -0
  15. package/dist/data/TableController.d.ts.map +1 -0
  16. package/dist/data/UploadController.d.ts +27 -0
  17. package/dist/data/UploadController.d.ts.map +1 -0
  18. package/dist/display/BadgeController.d.ts +20 -0
  19. package/dist/display/BadgeController.d.ts.map +1 -0
  20. package/dist/display/CalendarController.d.ts +22 -0
  21. package/dist/display/CalendarController.d.ts.map +1 -0
  22. package/dist/display/CanvasEditorController.d.ts +87 -0
  23. package/dist/display/CanvasEditorController.d.ts.map +1 -0
  24. package/dist/display/CanvasImageController.d.ts +67 -0
  25. package/dist/display/CanvasImageController.d.ts.map +1 -0
  26. package/dist/display/CountdownController.d.ts +39 -0
  27. package/dist/display/CountdownController.d.ts.map +1 -0
  28. package/dist/display/DesignEffectController.d.ts +9 -0
  29. package/dist/display/DesignEffectController.d.ts.map +1 -0
  30. package/dist/display/FilePreviewController.d.ts +30 -0
  31. package/dist/display/FilePreviewController.d.ts.map +1 -0
  32. package/dist/display/GradientTextController.d.ts +8 -0
  33. package/dist/display/GradientTextController.d.ts.map +1 -0
  34. package/dist/display/HoneycombController.d.ts +18 -0
  35. package/dist/display/HoneycombController.d.ts.map +1 -0
  36. package/dist/display/ImagePreviewController.d.ts +17 -0
  37. package/dist/display/ImagePreviewController.d.ts.map +1 -0
  38. package/dist/display/LazyImageController.d.ts +11 -0
  39. package/dist/display/LazyImageController.d.ts.map +1 -0
  40. package/dist/display/MarqueeController.d.ts +17 -0
  41. package/dist/display/MarqueeController.d.ts.map +1 -0
  42. package/dist/display/ProgressController.d.ts +33 -0
  43. package/dist/display/ProgressController.d.ts.map +1 -0
  44. package/dist/display/RollingNumberController.d.ts +11 -0
  45. package/dist/display/RollingNumberController.d.ts.map +1 -0
  46. package/dist/display/SignatureController.d.ts +49 -0
  47. package/dist/display/SignatureController.d.ts.map +1 -0
  48. package/dist/display/SkeletonController.d.ts +16 -0
  49. package/dist/display/SkeletonController.d.ts.map +1 -0
  50. package/dist/display/SwiperController.d.ts +25 -0
  51. package/dist/display/SwiperController.d.ts.map +1 -0
  52. package/dist/display/TagController.d.ts +18 -0
  53. package/dist/display/TagController.d.ts.map +1 -0
  54. package/dist/display/TiltCardController.d.ts +10 -0
  55. package/dist/display/TiltCardController.d.ts.map +1 -0
  56. package/dist/display/TimelineController.d.ts +13 -0
  57. package/dist/display/TimelineController.d.ts.map +1 -0
  58. package/dist/display/TypewriterTextController.d.ts +17 -0
  59. package/dist/display/TypewriterTextController.d.ts.map +1 -0
  60. package/dist/display/VideoDetailTransitionController.d.ts +45 -0
  61. package/dist/display/VideoDetailTransitionController.d.ts.map +1 -0
  62. package/dist/display/VideoPlayerController.d.ts +18 -0
  63. package/dist/display/VideoPlayerController.d.ts.map +1 -0
  64. package/dist/display/types.d.ts +217 -0
  65. package/dist/display/types.d.ts.map +1 -0
  66. package/dist/feedback/AffixController.d.ts +11 -0
  67. package/dist/feedback/AffixController.d.ts.map +1 -0
  68. package/dist/feedback/BacktopController.d.ts +12 -0
  69. package/dist/feedback/BacktopController.d.ts.map +1 -0
  70. package/dist/feedback/FloatingBallController.d.ts +41 -0
  71. package/dist/feedback/FloatingBallController.d.ts.map +1 -0
  72. package/dist/feedback/ModalController.d.ts +13 -0
  73. package/dist/feedback/ModalController.d.ts.map +1 -0
  74. package/dist/feedback/PopupController.d.ts +24 -0
  75. package/dist/feedback/PopupController.d.ts.map +1 -0
  76. package/dist/feedback/ToastManager.d.ts +15 -0
  77. package/dist/feedback/ToastManager.d.ts.map +1 -0
  78. package/dist/feedback/TooltipController.d.ts +19 -0
  79. package/dist/feedback/TooltipController.d.ts.map +1 -0
  80. package/dist/feedback/placement.d.ts +5 -0
  81. package/dist/feedback/placement.d.ts.map +1 -0
  82. package/dist/feedback/types.d.ts +24 -0
  83. package/dist/feedback/types.d.ts.map +1 -0
  84. package/dist/form/ColorPickerController.d.ts +25 -0
  85. package/dist/form/ColorPickerController.d.ts.map +1 -0
  86. package/dist/form/DatePickerController.d.ts +39 -0
  87. package/dist/form/DatePickerController.d.ts.map +1 -0
  88. package/dist/form/DateRangePickerController.d.ts +56 -0
  89. package/dist/form/DateRangePickerController.d.ts.map +1 -0
  90. package/dist/form/FieldController.d.ts +16 -0
  91. package/dist/form/FieldController.d.ts.map +1 -0
  92. package/dist/form/FormController.d.ts +27 -0
  93. package/dist/form/FormController.d.ts.map +1 -0
  94. package/dist/form/MultiColumnPickerController.d.ts +37 -0
  95. package/dist/form/MultiColumnPickerController.d.ts.map +1 -0
  96. package/dist/form/PasswordInputController.d.ts +15 -0
  97. package/dist/form/PasswordInputController.d.ts.map +1 -0
  98. package/dist/form/SlideCaptchaController.d.ts +60 -0
  99. package/dist/form/SlideCaptchaController.d.ts.map +1 -0
  100. package/dist/form/VerificationCodeController.d.ts +29 -0
  101. package/dist/form/VerificationCodeController.d.ts.map +1 -0
  102. package/dist/form/VirtualSelectController.d.ts +34 -0
  103. package/dist/form/VirtualSelectController.d.ts.map +1 -0
  104. package/dist/form/emitter.d.ts +8 -0
  105. package/dist/form/emitter.d.ts.map +1 -0
  106. package/dist/form/index.d.ts +6 -0
  107. package/dist/form/index.d.ts.map +1 -0
  108. package/dist/form/path.d.ts +6 -0
  109. package/dist/form/path.d.ts.map +1 -0
  110. package/dist/form/types.d.ts +60 -0
  111. package/dist/form/types.d.ts.map +1 -0
  112. package/dist/form/validation.d.ts +3 -0
  113. package/dist/form/validation.d.ts.map +1 -0
  114. package/dist/index.cjs +4688 -0
  115. package/dist/index.cjs.map +1 -0
  116. package/dist/index.d.ts +104 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.js +4624 -0
  119. package/dist/index.js.map +1 -0
  120. package/dist/interaction/DragController.d.ts +47 -0
  121. package/dist/interaction/DragController.d.ts.map +1 -0
  122. package/dist/interaction/DropController.d.ts +22 -0
  123. package/dist/interaction/DropController.d.ts.map +1 -0
  124. package/dist/interaction/GestureController.d.ts +34 -0
  125. package/dist/interaction/GestureController.d.ts.map +1 -0
  126. package/dist/navigation/BreadcrumbController.d.ts +17 -0
  127. package/dist/navigation/BreadcrumbController.d.ts.map +1 -0
  128. package/dist/navigation/PaginationController.d.ts +27 -0
  129. package/dist/navigation/PaginationController.d.ts.map +1 -0
  130. package/dist/navigation/TabsController.d.ts +13 -0
  131. package/dist/navigation/TabsController.d.ts.map +1 -0
  132. package/dist/virtualization/ChatVirtualListController.d.ts +17 -0
  133. package/dist/virtualization/ChatVirtualListController.d.ts.map +1 -0
  134. package/dist/virtualization/MasonryVirtualListController.d.ts +32 -0
  135. package/dist/virtualization/MasonryVirtualListController.d.ts.map +1 -0
  136. package/dist/virtualization/VirtualListController.d.ts +29 -0
  137. package/dist/virtualization/VirtualListController.d.ts.map +1 -0
  138. package/dist/virtualization/types.d.ts +67 -0
  139. package/dist/virtualization/types.d.ts.map +1 -0
  140. 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":"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"}
@@ -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"}