@composy/keyboard-core 0.0.1 → 0.0.2
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/README.md +156 -37
- package/dist/index.js +1540 -1395
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2981 -1
- package/dist/index.min.js.map +1 -0
- package/es/.dts-output-manifest.json +1 -0
- package/es/.dts.tsbuildinfo +1 -0
- package/es/icons.d.ts +0 -1
- package/es/icons.js +1 -1
- package/es/icons.js.map +1 -1
- package/es/index.d.ts +3 -4
- package/es/index.js +15 -15
- package/es/layouts/amount.d.ts +0 -1
- package/es/layouts/amount.js +1 -1
- package/es/layouts/amount.js.map +1 -1
- package/es/layouts/bankcard.d.ts +0 -1
- package/es/layouts/bankcard.js +1 -1
- package/es/layouts/bankcard.js.map +1 -1
- package/es/layouts/email.d.ts +0 -1
- package/es/layouts/email.js +1 -1
- package/es/layouts/email.js.map +1 -1
- package/es/layouts/idcard.d.ts +0 -1
- package/es/layouts/idcard.js +1 -1
- package/es/layouts/idcard.js.map +1 -1
- package/es/layouts/index.d.ts +11 -12
- package/es/layouts/index.js +23 -23
- package/es/layouts/index.js.map +1 -1
- package/es/layouts/license-plate.d.ts +0 -1
- package/es/layouts/license-plate.js +1 -1
- package/es/layouts/license-plate.js.map +1 -1
- package/es/layouts/number.d.ts +0 -1
- package/es/layouts/number.js +1 -1
- package/es/layouts/number.js.map +1 -1
- package/es/layouts/phone.d.ts +0 -1
- package/es/layouts/phone.js +1 -1
- package/es/layouts/phone.js.map +1 -1
- package/es/layouts/punct.d.ts +0 -1
- package/es/layouts/punct.js +1 -1
- package/es/layouts/punct.js.map +1 -1
- package/es/layouts/qwerty.d.ts +0 -1
- package/es/layouts/qwerty.js +1 -1
- package/es/layouts/qwerty.js.map +1 -1
- package/es/layouts/search.d.ts +0 -1
- package/es/layouts/search.js +1 -1
- package/es/layouts/search.js.map +1 -1
- package/es/layouts/symbol.d.ts +0 -1
- package/es/layouts/symbol.js +1 -1
- package/es/layouts/symbol.js.map +1 -1
- package/es/layouts/url.d.ts +0 -1
- package/es/layouts/url.js +1 -1
- package/es/layouts/url.js.map +1 -1
- package/es/layouts/verifycode.d.ts +0 -1
- package/es/layouts/verifycode.js +1 -1
- package/es/layouts/verifycode.js.map +1 -1
- package/es/managers/index.d.ts +1 -2
- package/es/managers/index.js +1 -1
- package/es/managers/keyboard-manager.d.ts +2 -1
- package/es/managers/keyboard-manager.js +79 -22
- package/es/managers/keyboard-manager.js.map +1 -1
- package/es/managers/keyboard-renderer.d.ts +3 -2
- package/es/managers/keyboard-renderer.js +81 -39
- package/es/managers/keyboard-renderer.js.map +1 -1
- package/es/managers/position-manager.d.ts +4 -3
- package/es/managers/position-manager.js +42 -21
- package/es/managers/position-manager.js.map +1 -1
- package/es/themes/index.d.ts +1 -2
- package/es/themes/index.js +2 -1
- package/es/themes/index.js.map +1 -1
- package/es/themes/presets.d.ts +0 -1
- package/es/themes/presets.js +1 -1
- package/es/themes/presets.js.map +1 -1
- package/es/themes/types.d.ts +1 -1
- package/es/themes/types.js +1 -1
- package/es/types/index.d.ts +0 -1
- package/es/types/index.js +1 -1
- package/es/types/keyboard.d.ts +0 -1
- package/es/types/keyboard.js +1 -1
- package/es/types/position.d.ts +0 -1
- package/es/types/position.js +1 -1
- package/es/utils/device.d.ts +0 -1
- package/es/utils/device.js +11 -7
- package/es/utils/device.js.map +1 -1
- package/es/utils/dom.d.ts +4 -1
- package/es/utils/dom.js +25 -7
- package/es/utils/dom.js.map +1 -1
- package/es/utils/event-emitter.d.ts +0 -1
- package/es/utils/event-emitter.js +2 -1
- package/es/utils/event-emitter.js.map +1 -1
- package/es/utils/formatters.d.ts +0 -1
- package/es/utils/formatters.js +4 -4
- package/es/utils/formatters.js.map +1 -1
- package/es/utils/index.d.ts +2 -3
- package/es/utils/index.js +5 -5
- package/es/utils/random.d.ts +4 -1
- package/es/utils/random.js +2 -2
- package/es/utils/random.js.map +1 -1
- package/esm/icons.js +1 -1
- package/esm/icons.js.map +1 -1
- package/esm/index.js +15 -15
- package/esm/layouts/amount.js +1 -1
- package/esm/layouts/amount.js.map +1 -1
- package/esm/layouts/bankcard.js +1 -1
- package/esm/layouts/bankcard.js.map +1 -1
- package/esm/layouts/email.js +1 -1
- package/esm/layouts/email.js.map +1 -1
- package/esm/layouts/idcard.js +1 -1
- package/esm/layouts/idcard.js.map +1 -1
- package/esm/layouts/index.js +23 -23
- package/esm/layouts/index.js.map +1 -1
- package/esm/layouts/license-plate.js +1 -1
- package/esm/layouts/license-plate.js.map +1 -1
- package/esm/layouts/number.js +1 -1
- package/esm/layouts/number.js.map +1 -1
- package/esm/layouts/phone.js +1 -1
- package/esm/layouts/phone.js.map +1 -1
- package/esm/layouts/punct.js +1 -1
- package/esm/layouts/punct.js.map +1 -1
- package/esm/layouts/qwerty.js +1 -1
- package/esm/layouts/qwerty.js.map +1 -1
- package/esm/layouts/search.js +1 -1
- package/esm/layouts/search.js.map +1 -1
- package/esm/layouts/symbol.js +1 -1
- package/esm/layouts/symbol.js.map +1 -1
- package/esm/layouts/url.js +1 -1
- package/esm/layouts/url.js.map +1 -1
- package/esm/layouts/verifycode.js +1 -1
- package/esm/layouts/verifycode.js.map +1 -1
- package/esm/managers/index.js +1 -1
- package/esm/managers/keyboard-manager.js +79 -22
- package/esm/managers/keyboard-manager.js.map +1 -1
- package/esm/managers/keyboard-renderer.js +81 -39
- package/esm/managers/keyboard-renderer.js.map +1 -1
- package/esm/managers/position-manager.js +42 -21
- package/esm/managers/position-manager.js.map +1 -1
- package/esm/themes/index.js +2 -1
- package/esm/themes/index.js.map +1 -1
- package/esm/themes/presets.js +1 -1
- package/esm/themes/presets.js.map +1 -1
- package/esm/utils/device.js +11 -7
- package/esm/utils/device.js.map +1 -1
- package/esm/utils/dom.js +25 -7
- package/esm/utils/dom.js.map +1 -1
- package/esm/utils/event-emitter.js +2 -1
- package/esm/utils/event-emitter.js.map +1 -1
- package/esm/utils/formatters.js +4 -4
- package/esm/utils/formatters.js.map +1 -1
- package/esm/utils/random.js +2 -2
- package/esm/utils/random.js.map +1 -1
- package/lib/icons.cjs +1 -1
- package/lib/icons.cjs.map +1 -1
- package/{esm/icons.d.ts → lib/icons.d.cts} +0 -1
- package/lib/index.cjs +14 -13
- package/{esm/index.d.ts → lib/index.d.cts} +3 -4
- package/lib/layouts/amount.cjs +1 -1
- package/lib/layouts/amount.cjs.map +1 -1
- package/{esm/layouts/amount.d.ts → lib/layouts/amount.d.cts} +0 -1
- package/lib/layouts/bankcard.cjs +1 -1
- package/lib/layouts/bankcard.cjs.map +1 -1
- package/{esm/layouts/bankcard.d.ts → lib/layouts/bankcard.d.cts} +0 -1
- package/lib/layouts/email.cjs +1 -1
- package/lib/layouts/email.cjs.map +1 -1
- package/lib/layouts/{email.d.ts → email.d.cts} +0 -1
- package/lib/layouts/idcard.cjs +1 -1
- package/lib/layouts/idcard.cjs.map +1 -1
- package/{esm/layouts/idcard.d.ts → lib/layouts/idcard.d.cts} +0 -1
- package/lib/layouts/index.cjs +23 -23
- package/lib/layouts/index.cjs.map +1 -1
- package/{esm/layouts/index.d.ts → lib/layouts/index.d.cts} +11 -12
- package/lib/layouts/license-plate.cjs +1 -1
- package/lib/layouts/license-plate.cjs.map +1 -1
- package/{esm/layouts/license-plate.d.ts → lib/layouts/license-plate.d.cts} +0 -1
- package/lib/layouts/number.cjs +1 -1
- package/lib/layouts/number.cjs.map +1 -1
- package/{esm/layouts/number.d.ts → lib/layouts/number.d.cts} +0 -1
- package/lib/layouts/phone.cjs +1 -1
- package/lib/layouts/phone.cjs.map +1 -1
- package/lib/layouts/{phone.d.ts → phone.d.cts} +0 -1
- package/lib/layouts/punct.cjs +1 -1
- package/lib/layouts/punct.cjs.map +1 -1
- package/lib/layouts/{punct.d.ts → punct.d.cts} +0 -1
- package/lib/layouts/qwerty.cjs +1 -1
- package/lib/layouts/qwerty.cjs.map +1 -1
- package/{esm/layouts/qwerty.d.ts → lib/layouts/qwerty.d.cts} +0 -1
- package/lib/layouts/search.cjs +1 -1
- package/lib/layouts/search.cjs.map +1 -1
- package/{esm/layouts/search.d.ts → lib/layouts/search.d.cts} +0 -1
- package/lib/layouts/symbol.cjs +1 -1
- package/lib/layouts/symbol.cjs.map +1 -1
- package/{esm/layouts/symbol.d.ts → lib/layouts/symbol.d.cts} +0 -1
- package/lib/layouts/url.cjs +1 -1
- package/lib/layouts/url.cjs.map +1 -1
- package/{esm/layouts/url.d.ts → lib/layouts/url.d.cts} +0 -1
- package/lib/layouts/verifycode.cjs +1 -1
- package/lib/layouts/verifycode.cjs.map +1 -1
- package/lib/layouts/{verifycode.d.ts → verifycode.d.cts} +0 -1
- package/lib/managers/index.cjs +1 -1
- package/lib/managers/{index.d.ts → index.d.cts} +1 -2
- package/lib/managers/keyboard-manager.cjs +79 -22
- package/lib/managers/keyboard-manager.cjs.map +1 -1
- package/lib/managers/{keyboard-manager.d.ts → keyboard-manager.d.cts} +2 -1
- package/lib/managers/keyboard-renderer.cjs +80 -38
- package/lib/managers/keyboard-renderer.cjs.map +1 -1
- package/lib/managers/{keyboard-renderer.d.ts → keyboard-renderer.d.cts} +3 -2
- package/lib/managers/position-manager.cjs +42 -21
- package/lib/managers/position-manager.cjs.map +1 -1
- package/lib/managers/{position-manager.d.ts → position-manager.d.cts} +4 -3
- package/lib/themes/index.cjs +2 -1
- package/lib/themes/index.cjs.map +1 -1
- package/lib/themes/{index.d.ts → index.d.cts} +1 -2
- package/lib/themes/presets.cjs +1 -1
- package/lib/themes/presets.cjs.map +1 -1
- package/lib/themes/{presets.d.ts → presets.d.cts} +0 -1
- package/lib/themes/types.cjs +1 -1
- package/{esm/themes/types.d.ts → lib/themes/types.d.cts} +1 -1
- package/lib/types/index.cjs +1 -1
- package/{esm/types/index.d.ts → lib/types/index.d.cts} +0 -1
- package/lib/types/keyboard.cjs +1 -1
- package/{esm/types/keyboard.d.ts → lib/types/keyboard.d.cts} +0 -1
- package/lib/types/position.cjs +1 -1
- package/lib/types/{position.d.ts → position.d.cts} +0 -1
- package/lib/utils/device.cjs +11 -7
- package/lib/utils/device.cjs.map +1 -1
- package/{esm/utils/device.d.ts → lib/utils/device.d.cts} +0 -1
- package/lib/utils/dom.cjs +25 -6
- package/lib/utils/dom.cjs.map +1 -1
- package/{esm/utils/dom.d.ts → lib/utils/dom.d.cts} +4 -1
- package/lib/utils/event-emitter.cjs +2 -1
- package/lib/utils/event-emitter.cjs.map +1 -1
- package/{esm/utils/event-emitter.d.ts → lib/utils/event-emitter.d.cts} +0 -1
- package/lib/utils/formatters.cjs +4 -4
- package/lib/utils/formatters.cjs.map +1 -1
- package/{esm/utils/formatters.d.ts → lib/utils/formatters.d.cts} +0 -1
- package/lib/utils/index.cjs +4 -3
- package/{esm/utils/index.d.ts → lib/utils/index.d.cts} +2 -3
- package/lib/utils/random.cjs +2 -2
- package/lib/utils/random.cjs.map +1 -1
- package/{esm/utils/random.d.ts → lib/utils/random.d.cts} +4 -1
- package/package.json +28 -14
- package/es/icons.d.ts.map +0 -1
- package/es/index.d.ts.map +0 -1
- package/es/layouts/amount.d.ts.map +0 -1
- package/es/layouts/bankcard.d.ts.map +0 -1
- package/es/layouts/email.d.ts.map +0 -1
- package/es/layouts/idcard.d.ts.map +0 -1
- package/es/layouts/index.d.ts.map +0 -1
- package/es/layouts/license-plate.d.ts.map +0 -1
- package/es/layouts/number.d.ts.map +0 -1
- package/es/layouts/phone.d.ts.map +0 -1
- package/es/layouts/punct.d.ts.map +0 -1
- package/es/layouts/qwerty.d.ts.map +0 -1
- package/es/layouts/search.d.ts.map +0 -1
- package/es/layouts/symbol.d.ts.map +0 -1
- package/es/layouts/url.d.ts.map +0 -1
- package/es/layouts/verifycode.d.ts.map +0 -1
- package/es/managers/index.d.ts.map +0 -1
- package/es/managers/keyboard-manager.d.ts.map +0 -1
- package/es/managers/keyboard-renderer.d.ts.map +0 -1
- package/es/managers/position-manager.d.ts.map +0 -1
- package/es/themes/index.d.ts.map +0 -1
- package/es/themes/presets.d.ts.map +0 -1
- package/es/themes/types.d.ts.map +0 -1
- package/es/types/index.d.ts.map +0 -1
- package/es/types/keyboard.d.ts.map +0 -1
- package/es/types/position.d.ts.map +0 -1
- package/es/utils/device.d.ts.map +0 -1
- package/es/utils/dom.d.ts.map +0 -1
- package/es/utils/event-emitter.d.ts.map +0 -1
- package/es/utils/formatters.d.ts.map +0 -1
- package/es/utils/index.d.ts.map +0 -1
- package/es/utils/random.d.ts.map +0 -1
- package/esm/icons.d.ts.map +0 -1
- package/esm/index.d.ts.map +0 -1
- package/esm/layouts/amount.d.ts.map +0 -1
- package/esm/layouts/bankcard.d.ts.map +0 -1
- package/esm/layouts/email.d.ts +0 -11
- package/esm/layouts/email.d.ts.map +0 -1
- package/esm/layouts/idcard.d.ts.map +0 -1
- package/esm/layouts/index.d.ts.map +0 -1
- package/esm/layouts/license-plate.d.ts.map +0 -1
- package/esm/layouts/number.d.ts.map +0 -1
- package/esm/layouts/phone.d.ts +0 -15
- package/esm/layouts/phone.d.ts.map +0 -1
- package/esm/layouts/punct.d.ts +0 -7
- package/esm/layouts/punct.d.ts.map +0 -1
- package/esm/layouts/qwerty.d.ts.map +0 -1
- package/esm/layouts/search.d.ts.map +0 -1
- package/esm/layouts/symbol.d.ts.map +0 -1
- package/esm/layouts/url.d.ts.map +0 -1
- package/esm/layouts/verifycode.d.ts +0 -15
- package/esm/layouts/verifycode.d.ts.map +0 -1
- package/esm/managers/index.d.ts +0 -8
- package/esm/managers/index.d.ts.map +0 -1
- package/esm/managers/keyboard-manager.d.ts +0 -130
- package/esm/managers/keyboard-manager.d.ts.map +0 -1
- package/esm/managers/keyboard-renderer.d.ts +0 -115
- package/esm/managers/keyboard-renderer.d.ts.map +0 -1
- package/esm/managers/position-manager.d.ts +0 -72
- package/esm/managers/position-manager.d.ts.map +0 -1
- package/esm/themes/index.d.ts +0 -70
- package/esm/themes/index.d.ts.map +0 -1
- package/esm/themes/presets.d.ts +0 -39
- package/esm/themes/presets.d.ts.map +0 -1
- package/esm/themes/types.d.ts.map +0 -1
- package/esm/themes/types.js +0 -10
- package/esm/types/index.d.ts.map +0 -1
- package/esm/types/index.js +0 -10
- package/esm/types/keyboard.d.ts.map +0 -1
- package/esm/types/keyboard.js +0 -10
- package/esm/types/position.d.ts +0 -139
- package/esm/types/position.d.ts.map +0 -1
- package/esm/types/position.js +0 -10
- package/esm/utils/device.d.ts.map +0 -1
- package/esm/utils/dom.d.ts.map +0 -1
- package/esm/utils/event-emitter.d.ts.map +0 -1
- package/esm/utils/formatters.d.ts.map +0 -1
- package/esm/utils/index.d.ts.map +0 -1
- package/esm/utils/index.js +0 -16
- package/esm/utils/random.d.ts.map +0 -1
- package/lib/icons.d.ts +0 -58
- package/lib/index.d.ts +0 -12
- package/lib/layouts/amount.d.ts +0 -14
- package/lib/layouts/bankcard.d.ts +0 -15
- package/lib/layouts/idcard.d.ts +0 -16
- package/lib/layouts/index.d.ts +0 -54
- package/lib/layouts/license-plate.d.ts +0 -35
- package/lib/layouts/number.d.ts +0 -14
- package/lib/layouts/qwerty.d.ts +0 -10
- package/lib/layouts/search.d.ts +0 -7
- package/lib/layouts/symbol.d.ts +0 -14
- package/lib/layouts/url.d.ts +0 -7
- package/lib/themes/types.d.ts +0 -118
- package/lib/types/index.d.ts +0 -7
- package/lib/types/keyboard.d.ts +0 -253
- package/lib/utils/device.d.ts +0 -45
- package/lib/utils/dom.d.ts +0 -69
- package/lib/utils/event-emitter.d.ts +0 -52
- package/lib/utils/formatters.d.ts +0 -51
- package/lib/utils/index.d.ts +0 -10
- package/lib/utils/random.d.ts +0 -71
package/lib/types/keyboard.d.ts
DELETED
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 键盘类型定义
|
|
3
|
-
* @module types/keyboard
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 键盘类型
|
|
7
|
-
*/
|
|
8
|
-
export type KeyboardType = 'qwerty' | 'number' | 'integer' | 'symbol' | 'license-plate' | 'license-plate-province' | 'license-plate-alphanumeric' | 'license-plate-letter' | 'punct' | 'punct-en' | 'idcard' | 'phone' | 'phone-simple' | 'amount' | 'amount-simple' | 'bankcard' | 'verifycode' | 'email' | 'url' | 'search' | 'custom';
|
|
9
|
-
/**
|
|
10
|
-
* 按键类型
|
|
11
|
-
*/
|
|
12
|
-
export type KeyType = 'char' | 'backspace' | 'shift' | 'space' | 'enter' | 'tab' | 'close' | 'clear' | 'done' | 'custom';
|
|
13
|
-
/**
|
|
14
|
-
* 按键定义
|
|
15
|
-
*/
|
|
16
|
-
export interface KeyDefinition {
|
|
17
|
-
/**
|
|
18
|
-
* 按键唯一标识
|
|
19
|
-
*/
|
|
20
|
-
id: string;
|
|
21
|
-
/**
|
|
22
|
-
* 按键类型
|
|
23
|
-
*/
|
|
24
|
-
type: KeyType;
|
|
25
|
-
/**
|
|
26
|
-
* 显示的文本(支持小写/大写状态)
|
|
27
|
-
*/
|
|
28
|
-
label: string | {
|
|
29
|
-
lower: string;
|
|
30
|
-
upper: string;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* 按键输出的值(支持小写/大写状态)
|
|
34
|
-
*/
|
|
35
|
-
value?: string | {
|
|
36
|
-
lower: string;
|
|
37
|
-
upper: string;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* 按键宽度(相对单位,默认 1)
|
|
41
|
-
*/
|
|
42
|
-
width?: number;
|
|
43
|
-
/**
|
|
44
|
-
* 是否禁用
|
|
45
|
-
*/
|
|
46
|
-
disabled?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* 自定义类名
|
|
49
|
-
*/
|
|
50
|
-
className?: string;
|
|
51
|
-
/**
|
|
52
|
-
* 自定义图标(用于功能键)
|
|
53
|
-
*/
|
|
54
|
-
icon?: string;
|
|
55
|
-
/**
|
|
56
|
-
* 下拉选项(点击按键时弹出选项列表)
|
|
57
|
-
*/
|
|
58
|
-
options?: string[];
|
|
59
|
-
/**
|
|
60
|
-
* 自定义数据
|
|
61
|
-
*/
|
|
62
|
-
data?: Record<string, unknown>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* 键盘行定义
|
|
66
|
-
*/
|
|
67
|
-
export interface KeyboardRow {
|
|
68
|
-
/**
|
|
69
|
-
* 行内按键列表
|
|
70
|
-
*/
|
|
71
|
-
keys: KeyDefinition[];
|
|
72
|
-
/**
|
|
73
|
-
* 行自定义类名
|
|
74
|
-
*/
|
|
75
|
-
className?: string;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* 键盘配置
|
|
79
|
-
*/
|
|
80
|
-
export interface KeyboardConfig {
|
|
81
|
-
/**
|
|
82
|
-
* 键盘类型
|
|
83
|
-
*/
|
|
84
|
-
type: KeyboardType;
|
|
85
|
-
/**
|
|
86
|
-
* 键盘名称
|
|
87
|
-
*/
|
|
88
|
-
name: string;
|
|
89
|
-
/**
|
|
90
|
-
* 键盘布局(行列结构)
|
|
91
|
-
*/
|
|
92
|
-
rows: KeyboardRow[];
|
|
93
|
-
/**
|
|
94
|
-
* 是否支持大小写切换
|
|
95
|
-
*/
|
|
96
|
-
supportShift?: boolean;
|
|
97
|
-
/**
|
|
98
|
-
* 默认大小写状态
|
|
99
|
-
*/
|
|
100
|
-
defaultUpperCase?: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* 是否支持切换到其他键盘
|
|
103
|
-
*/
|
|
104
|
-
switchable?: KeyboardType[];
|
|
105
|
-
/**
|
|
106
|
-
* 自定义数据
|
|
107
|
-
*/
|
|
108
|
-
data?: Record<string, unknown>;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* 键盘状态
|
|
112
|
-
*/
|
|
113
|
-
export interface KeyboardState {
|
|
114
|
-
/**
|
|
115
|
-
* 是否可见
|
|
116
|
-
*/
|
|
117
|
-
visible: boolean;
|
|
118
|
-
/**
|
|
119
|
-
* 当前键盘类型
|
|
120
|
-
*/
|
|
121
|
-
type: KeyboardType;
|
|
122
|
-
/**
|
|
123
|
-
* 是否大写状态
|
|
124
|
-
*/
|
|
125
|
-
isUpperCase: boolean;
|
|
126
|
-
/**
|
|
127
|
-
* 当前输入值
|
|
128
|
-
*/
|
|
129
|
-
value: string;
|
|
130
|
-
/**
|
|
131
|
-
* 光标位置
|
|
132
|
-
*/
|
|
133
|
-
cursorPosition: number;
|
|
134
|
-
/**
|
|
135
|
-
* 最大长度限制
|
|
136
|
-
*/
|
|
137
|
-
maxLength?: number;
|
|
138
|
-
/**
|
|
139
|
-
* 当前绑定的输入框元素
|
|
140
|
-
*/
|
|
141
|
-
inputElement?: HTMLInputElement | HTMLTextAreaElement | null;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* 键盘事件映射
|
|
145
|
-
*/
|
|
146
|
-
export interface KeyboardEventMap {
|
|
147
|
-
[key: string]: unknown;
|
|
148
|
-
/**
|
|
149
|
-
* 按键按下
|
|
150
|
-
*/
|
|
151
|
-
keypress: {
|
|
152
|
-
key: KeyDefinition;
|
|
153
|
-
value: string;
|
|
154
|
-
};
|
|
155
|
-
/**
|
|
156
|
-
* 输入值变化
|
|
157
|
-
*/
|
|
158
|
-
input: {
|
|
159
|
-
value: string;
|
|
160
|
-
key: KeyDefinition;
|
|
161
|
-
};
|
|
162
|
-
/**
|
|
163
|
-
* 退格
|
|
164
|
-
*/
|
|
165
|
-
backspace: {
|
|
166
|
-
deletedChar: string;
|
|
167
|
-
value: string;
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* 清空
|
|
171
|
-
*/
|
|
172
|
-
clear: {
|
|
173
|
-
previousValue: string;
|
|
174
|
-
};
|
|
175
|
-
/**
|
|
176
|
-
* 确认/完成
|
|
177
|
-
*/
|
|
178
|
-
confirm: {
|
|
179
|
-
value: string;
|
|
180
|
-
};
|
|
181
|
-
/**
|
|
182
|
-
* 键盘显示
|
|
183
|
-
*/
|
|
184
|
-
show: {
|
|
185
|
-
type: KeyboardType;
|
|
186
|
-
};
|
|
187
|
-
/**
|
|
188
|
-
* 键盘隐藏
|
|
189
|
-
*/
|
|
190
|
-
hide: {
|
|
191
|
-
type: KeyboardType;
|
|
192
|
-
};
|
|
193
|
-
/**
|
|
194
|
-
* 键盘类型切换
|
|
195
|
-
*/
|
|
196
|
-
switch: {
|
|
197
|
-
from: KeyboardType;
|
|
198
|
-
to: KeyboardType;
|
|
199
|
-
};
|
|
200
|
-
/**
|
|
201
|
-
* 大小写切换
|
|
202
|
-
*/
|
|
203
|
-
shift: {
|
|
204
|
-
isUpperCase: boolean;
|
|
205
|
-
};
|
|
206
|
-
/**
|
|
207
|
-
* 状态变化
|
|
208
|
-
*/
|
|
209
|
-
stateChange: KeyboardState;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* 键盘选项
|
|
213
|
-
*/
|
|
214
|
-
export interface KeyboardOptions {
|
|
215
|
-
/**
|
|
216
|
-
* 初始键盘类型
|
|
217
|
-
* @default 'qwerty'
|
|
218
|
-
*/
|
|
219
|
-
type?: KeyboardType;
|
|
220
|
-
/**
|
|
221
|
-
* 初始值
|
|
222
|
-
*/
|
|
223
|
-
value?: string;
|
|
224
|
-
/**
|
|
225
|
-
* 最大输入长度
|
|
226
|
-
*/
|
|
227
|
-
maxLength?: number;
|
|
228
|
-
/**
|
|
229
|
-
* 是否默认大写
|
|
230
|
-
* @default false
|
|
231
|
-
*/
|
|
232
|
-
defaultUpperCase?: boolean;
|
|
233
|
-
/**
|
|
234
|
-
* 点击外部是否关闭键盘
|
|
235
|
-
* @default true
|
|
236
|
-
*/
|
|
237
|
-
closeOnClickOutside?: boolean;
|
|
238
|
-
/**
|
|
239
|
-
* 按键声音
|
|
240
|
-
* @default false
|
|
241
|
-
*/
|
|
242
|
-
enableSound?: boolean;
|
|
243
|
-
/**
|
|
244
|
-
* 按键震动(移动端)
|
|
245
|
-
* @default true
|
|
246
|
-
*/
|
|
247
|
-
enableVibrate?: boolean;
|
|
248
|
-
/**
|
|
249
|
-
* 自定义键盘布局
|
|
250
|
-
*/
|
|
251
|
-
customLayouts?: Record<string, KeyboardConfig>;
|
|
252
|
-
}
|
|
253
|
-
//# sourceMappingURL=keyboard.d.ts.map
|
package/lib/utils/device.d.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 设备检测工具
|
|
3
|
-
* @module utils/device
|
|
4
|
-
*/
|
|
5
|
-
import type { DeviceType, ViewportInfo } from '../types';
|
|
6
|
-
/**
|
|
7
|
-
* 检测是否为触摸设备
|
|
8
|
-
*/
|
|
9
|
-
export declare function isTouchDevice(): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* 检测是否为移动设备(基于 UA)
|
|
12
|
-
*/
|
|
13
|
-
export declare function isMobileUA(): boolean;
|
|
14
|
-
/**
|
|
15
|
-
* 检测是否为移动设备(综合判断)
|
|
16
|
-
*/
|
|
17
|
-
export declare function isMobile(): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* 获取设备类型
|
|
20
|
-
*/
|
|
21
|
-
export declare function getDeviceType(): DeviceType;
|
|
22
|
-
/**
|
|
23
|
-
* 获取视口信息
|
|
24
|
-
*/
|
|
25
|
-
export declare function getViewportInfo(): ViewportInfo;
|
|
26
|
-
/**
|
|
27
|
-
* 获取安全区域边距
|
|
28
|
-
*/
|
|
29
|
-
export declare function getSafeAreaInsets(): ViewportInfo['safeArea'];
|
|
30
|
-
/**
|
|
31
|
-
* 检测是否支持震动 API
|
|
32
|
-
*/
|
|
33
|
-
export declare function supportsVibrate(): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* 触发震动反馈
|
|
36
|
-
* @param pattern - 震动模式(毫秒)
|
|
37
|
-
*/
|
|
38
|
-
export declare function vibrate(pattern?: number | number[]): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* 监听视口变化
|
|
41
|
-
* @param callback - 回调函数
|
|
42
|
-
* @returns 取消监听函数
|
|
43
|
-
*/
|
|
44
|
-
export declare function onViewportChange(callback: (info: ViewportInfo) => void): () => void;
|
|
45
|
-
//# sourceMappingURL=device.d.ts.map
|
package/lib/utils/dom.d.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOM 操作工具
|
|
3
|
-
* @module utils/dom
|
|
4
|
-
*/
|
|
5
|
-
import type { BoundingRect, Position } from '../types';
|
|
6
|
-
/**
|
|
7
|
-
* 获取元素的边界矩形
|
|
8
|
-
*/
|
|
9
|
-
export declare function getBoundingRect(element: HTMLElement): BoundingRect;
|
|
10
|
-
/**
|
|
11
|
-
* 获取元素相对于文档的位置
|
|
12
|
-
*/
|
|
13
|
-
export declare function getElementOffset(element: HTMLElement): Position;
|
|
14
|
-
/**
|
|
15
|
-
* 检查元素是否在视口内
|
|
16
|
-
*/
|
|
17
|
-
export declare function isElementInViewport(element: HTMLElement): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* 检查点击是否在元素外部
|
|
20
|
-
*/
|
|
21
|
-
export declare function isClickOutside(event: MouseEvent | TouchEvent, element: HTMLElement): boolean;
|
|
22
|
-
/**
|
|
23
|
-
* 阻止元素默认事件(用于防止输入框获取焦点)
|
|
24
|
-
*/
|
|
25
|
-
export declare function preventDefaultAndStopPropagation(event: Event): void;
|
|
26
|
-
/**
|
|
27
|
-
* 添加点击外部监听
|
|
28
|
-
*/
|
|
29
|
-
export declare function onClickOutside(element: HTMLElement, callback: (event: MouseEvent | TouchEvent) => void): () => void;
|
|
30
|
-
/**
|
|
31
|
-
* 滚动元素到可视区域
|
|
32
|
-
*/
|
|
33
|
-
export declare function scrollIntoViewIfNeeded(element: HTMLElement, container?: HTMLElement): void;
|
|
34
|
-
/**
|
|
35
|
-
* 获取输入框的光标位置
|
|
36
|
-
*/
|
|
37
|
-
export declare function getInputCursorPosition(input: HTMLInputElement | HTMLTextAreaElement): number;
|
|
38
|
-
/**
|
|
39
|
-
* 设置输入框的光标位置
|
|
40
|
-
*/
|
|
41
|
-
export declare function setInputCursorPosition(input: HTMLInputElement | HTMLTextAreaElement, position: number): void;
|
|
42
|
-
/**
|
|
43
|
-
* 在输入框当前光标位置插入文本
|
|
44
|
-
*/
|
|
45
|
-
export declare function insertTextAtCursor(input: HTMLInputElement | HTMLTextAreaElement, text: string, maxLength?: number): {
|
|
46
|
-
value: string;
|
|
47
|
-
cursorPosition: number;
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* 删除输入框光标前的字符
|
|
51
|
-
*/
|
|
52
|
-
export declare function deleteCharBeforeCursor(input: HTMLInputElement | HTMLTextAreaElement): {
|
|
53
|
-
value: string;
|
|
54
|
-
deletedChar: string;
|
|
55
|
-
cursorPosition: number;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* 创建 DOM 元素
|
|
59
|
-
*/
|
|
60
|
-
export declare function createElement<K extends keyof HTMLElementTagNameMap>(tag: K, attrs?: Record<string, string>, children?: (HTMLElement | string)[]): HTMLElementTagNameMap[K];
|
|
61
|
-
/**
|
|
62
|
-
* 添加/移除 CSS 类
|
|
63
|
-
*/
|
|
64
|
-
export declare function toggleClass(element: HTMLElement, className: string, force?: boolean): void;
|
|
65
|
-
/**
|
|
66
|
-
* 设置 CSS 样式
|
|
67
|
-
*/
|
|
68
|
-
export declare function setStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): void;
|
|
69
|
-
//# sourceMappingURL=dom.d.ts.map
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 事件发射器
|
|
3
|
-
* @module utils/event-emitter
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 事件处理函数类型
|
|
7
|
-
*/
|
|
8
|
-
export type EventHandler<T = unknown> = (data: T) => void;
|
|
9
|
-
/**
|
|
10
|
-
* 事件处理器配置
|
|
11
|
-
*/
|
|
12
|
-
export interface EventHandlerOptions {
|
|
13
|
-
/**
|
|
14
|
-
* 是否只触发一次
|
|
15
|
-
*/
|
|
16
|
-
once?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* 优先级(数字越大优先级越高)
|
|
19
|
-
*/
|
|
20
|
-
priority?: number;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 事件发射器类
|
|
24
|
-
*/
|
|
25
|
-
export declare class EventEmitter<EventMap extends Record<string, unknown>> {
|
|
26
|
-
private handlers;
|
|
27
|
-
/**
|
|
28
|
-
* 订阅事件
|
|
29
|
-
*/
|
|
30
|
-
on<K extends keyof EventMap>(event: K, handler: EventHandler<EventMap[K]>, options?: EventHandlerOptions): () => void;
|
|
31
|
-
/**
|
|
32
|
-
* 订阅事件(仅触发一次)
|
|
33
|
-
*/
|
|
34
|
-
once<K extends keyof EventMap>(event: K, handler: EventHandler<EventMap[K]>, options?: EventHandlerOptions): () => void;
|
|
35
|
-
/**
|
|
36
|
-
* 取消订阅事件
|
|
37
|
-
*/
|
|
38
|
-
off<K extends keyof EventMap>(event: K, handler?: EventHandler<EventMap[K]>): void;
|
|
39
|
-
/**
|
|
40
|
-
* 发布事件
|
|
41
|
-
*/
|
|
42
|
-
emit<K extends keyof EventMap>(event: K, data: EventMap[K]): void;
|
|
43
|
-
/**
|
|
44
|
-
* 清除所有事件订阅
|
|
45
|
-
*/
|
|
46
|
-
clear(): void;
|
|
47
|
-
/**
|
|
48
|
-
* 获取事件订阅数量
|
|
49
|
-
*/
|
|
50
|
-
listenerCount(event?: keyof EventMap): number;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 输入格式化工具
|
|
3
|
-
* @module utils/formatters
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 格式化手机号 (3-4-4)
|
|
7
|
-
* @example formatPhone('13812345678') => '138 1234 5678'
|
|
8
|
-
*/
|
|
9
|
-
export declare function formatPhone(value: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* 格式化银行卡号 (4-4-4-4-3)
|
|
12
|
-
* @example formatBankCard('6222021234567890123') => '6222 0212 3456 7890 123'
|
|
13
|
-
*/
|
|
14
|
-
export declare function formatBankCard(value: string): string;
|
|
15
|
-
/**
|
|
16
|
-
* 格式化金额(限制小数位数)
|
|
17
|
-
* @param value - 输入值
|
|
18
|
-
* @param decimalPlaces - 小数位数,默认 2
|
|
19
|
-
*/
|
|
20
|
-
export declare function formatAmount(value: string, decimalPlaces?: number): string;
|
|
21
|
-
/**
|
|
22
|
-
* 格式化身份证号(自动大写 X)
|
|
23
|
-
*/
|
|
24
|
-
export declare function formatIdCard(value: string): string;
|
|
25
|
-
/**
|
|
26
|
-
* 格式化车牌号
|
|
27
|
-
*/
|
|
28
|
-
export declare function formatLicensePlate(value: string): string;
|
|
29
|
-
/**
|
|
30
|
-
* 格式化验证码(纯数字)
|
|
31
|
-
* @param value - 输入值
|
|
32
|
-
* @param length - 验证码长度,默认 6
|
|
33
|
-
*/
|
|
34
|
-
export declare function formatVerifyCode(value: string, length?: number): string;
|
|
35
|
-
/**
|
|
36
|
-
* 通用格式化器注册表
|
|
37
|
-
*/
|
|
38
|
-
export type FormatterFunction = (value: string) => string;
|
|
39
|
-
/**
|
|
40
|
-
* 注册自定义格式化器
|
|
41
|
-
*/
|
|
42
|
-
export declare function registerFormatter(name: string, formatter: FormatterFunction): void;
|
|
43
|
-
/**
|
|
44
|
-
* 获取格式化器
|
|
45
|
-
*/
|
|
46
|
-
export declare function getFormatter(name: string): FormatterFunction | undefined;
|
|
47
|
-
/**
|
|
48
|
-
* 应用格式化
|
|
49
|
-
*/
|
|
50
|
-
export declare function applyFormatter(name: string, value: string): string;
|
|
51
|
-
//# sourceMappingURL=formatters.d.ts.map
|
package/lib/utils/index.d.ts
DELETED
package/lib/utils/random.d.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 随机工具函数
|
|
3
|
-
* @module utils/random
|
|
4
|
-
*/
|
|
5
|
-
import type { KeyboardConfig } from '../types';
|
|
6
|
-
/**
|
|
7
|
-
* Fisher-Yates 洗牌算法
|
|
8
|
-
* @param array - 要洗牌的数组
|
|
9
|
-
* @returns 洗牌后的新数组
|
|
10
|
-
*/
|
|
11
|
-
export declare function shuffleArray<T>(array: T[]): T[];
|
|
12
|
-
/**
|
|
13
|
-
* 生成随机数字数组 (0-9)
|
|
14
|
-
*/
|
|
15
|
-
export declare function getRandomNumbers(): string[];
|
|
16
|
-
/**
|
|
17
|
-
* 生成随机字母数组 (A-Z)
|
|
18
|
-
*/
|
|
19
|
-
export declare function getRandomLetters(): string[];
|
|
20
|
-
/**
|
|
21
|
-
* 生成随机数字+字母数组
|
|
22
|
-
*/
|
|
23
|
-
export declare function getRandomAlphanumeric(): string[];
|
|
24
|
-
/**
|
|
25
|
-
* 生成随机数字键盘布局
|
|
26
|
-
* @param options - 配置选项
|
|
27
|
-
*/
|
|
28
|
-
export declare function createRandomNumberLayout(options?: {
|
|
29
|
-
/** 每行按键数 */
|
|
30
|
-
keysPerRow?: number;
|
|
31
|
-
/** 是否包含退格键 */
|
|
32
|
-
includeBackspace?: boolean;
|
|
33
|
-
/** 是否包含完成键 */
|
|
34
|
-
includeDone?: boolean;
|
|
35
|
-
/** 是否包含清空键 */
|
|
36
|
-
includeClear?: boolean;
|
|
37
|
-
}): KeyboardConfig;
|
|
38
|
-
/**
|
|
39
|
-
* 生成4x3随机数字键盘(密码输入常用)
|
|
40
|
-
*/
|
|
41
|
-
export declare function createRandomPinLayout(options?: {
|
|
42
|
-
/** 是否包含退格键 */
|
|
43
|
-
includeBackspace?: boolean;
|
|
44
|
-
/** 是否包含完成键 */
|
|
45
|
-
includeDone?: boolean;
|
|
46
|
-
}): KeyboardConfig;
|
|
47
|
-
/**
|
|
48
|
-
* 生成随机字母键盘布局
|
|
49
|
-
* 默认使用 QWERTY 风格行分布 (10/9/7),看起来像真实键盘
|
|
50
|
-
*/
|
|
51
|
-
export declare function createRandomLetterLayout(options?: {
|
|
52
|
-
/** 是否大写 */
|
|
53
|
-
uppercase?: boolean;
|
|
54
|
-
/** 行分布,默认 [10, 9, 7] 模拟 QWERTY 布局 */
|
|
55
|
-
rowDistribution?: number[];
|
|
56
|
-
}): KeyboardConfig;
|
|
57
|
-
/**
|
|
58
|
-
* 生成混合随机键盘(数字+字母)
|
|
59
|
-
* 默认使用 QWERTY 风格行分布 (10/10/9/7),看起来像真实键盘
|
|
60
|
-
*/
|
|
61
|
-
export declare function createRandomMixedLayout(options?: {
|
|
62
|
-
/** 行分布,默认 [10, 10, 9, 7] */
|
|
63
|
-
rowDistribution?: number[];
|
|
64
|
-
}): KeyboardConfig;
|
|
65
|
-
/**
|
|
66
|
-
* 刷新随机键盘布局
|
|
67
|
-
* @param layout - 现有布局
|
|
68
|
-
* @returns 新的随机布局
|
|
69
|
-
*/
|
|
70
|
-
export declare function refreshRandomLayout(layout: KeyboardConfig): KeyboardConfig;
|
|
71
|
-
//# sourceMappingURL=random.d.ts.map
|