@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/es/layouts/number.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","names":[],"sources":["../../src/layouts/number.ts"],"sourcesContent":["/**\n * 数字键盘布局\n * @module layouts/number\n */\n\nimport type { KeyboardConfig, KeyDefinition } from '../types'\nimport {
|
|
1
|
+
{"version":3,"file":"number.js","names":[],"sources":["../../src/layouts/number.ts"],"sourcesContent":["/**\r\n * 数字键盘布局\r\n * @module layouts/number\r\n */\r\n\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\nimport { ICON_CLEAR, ICON_DELETE } from '../icons'\r\n\r\n/**\r\n * 创建数字按键\r\n */\r\nfunction createNumberKey(num: string): KeyDefinition {\r\n return {\r\n id: `num-${num}`,\r\n type: 'char',\r\n label: num,\r\n value: num,\r\n className: 'key-num',\r\n }\r\n}\r\n\r\n/**\r\n * 数字键盘配置 - 紧凑4x4布局\r\n */\r\nexport const numberLayout: KeyboardConfig = {\r\n type: 'number',\r\n name: '数字键盘',\r\n supportShift: false,\r\n switchable: ['qwerty', 'symbol'],\r\n rows: [\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('1'),\r\n createNumberKey('2'),\r\n createNumberKey('3'),\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n icon: ICON_DELETE,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('4'),\r\n createNumberKey('5'),\r\n createNumberKey('6'),\r\n {\r\n id: 'clear',\r\n type: 'clear',\r\n icon: ICON_CLEAR,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('7'),\r\n createNumberKey('8'),\r\n createNumberKey('9'),\r\n {\r\n id: 'close',\r\n type: 'close',\r\n label: '关闭',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n {\r\n id: 'decimal',\r\n type: 'char',\r\n label: '.',\r\n value: '.',\r\n className: 'key-num',\r\n },\r\n createNumberKey('0'),\r\n {\r\n id: 'done',\r\n type: 'done',\r\n label: '确定',\r\n width: 2,\r\n className: 'key-numpad-done',\r\n },\r\n ],\r\n },\r\n ],\r\n}\r\n\r\n/**\r\n * 纯整数键盘 - 紧凑4x4布局\r\n */\r\nexport const integerLayout: KeyboardConfig = {\r\n type: 'integer',\r\n name: '整数键盘',\r\n supportShift: false,\r\n switchable: ['qwerty'],\r\n rows: [\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('1'),\r\n createNumberKey('2'),\r\n createNumberKey('3'),\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n icon: ICON_DELETE,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('4'),\r\n createNumberKey('5'),\r\n createNumberKey('6'),\r\n {\r\n id: 'clear',\r\n type: 'clear',\r\n icon: ICON_CLEAR,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('7'),\r\n createNumberKey('8'),\r\n createNumberKey('9'),\r\n {\r\n id: 'close',\r\n type: 'close',\r\n label: '关闭',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n {\r\n id: 'switch-qwerty',\r\n type: 'tab',\r\n label: 'ABC',\r\n className: 'key-numpad-fn',\r\n data: { targetType: 'qwerty' },\r\n },\r\n createNumberKey('0'),\r\n {\r\n id: 'done',\r\n type: 'done',\r\n label: '确定',\r\n width: 2,\r\n className: 'key-numpad-done',\r\n },\r\n ],\r\n },\r\n ],\r\n}\r\n"],"mappings":";;;;;;;;;;;AAWA,SAAS,gBAAgB,KAA4B;CACnD,OAAO;EACL,IAAI,OAAO;EACX,MAAM;EACN,OAAO;EACP,OAAO;EACP,WAAW;CACb;AACF;AAKO,MAAM,eAA+B;CAC1C,MAAM;CACN,MAAM;CACN,cAAc;CACd,YAAY,CAAC,UAAU,QAAQ;CAC/B,MAAM;EACJ;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;IACA,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;GACF;EACF;CACF;AACF;AAKO,MAAM,gBAAgC;CAC3C,MAAM;CACN,MAAM;CACN,cAAc;CACd,YAAY,CAAC,QAAQ;CACrB,MAAM;EACJ;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,WAAW;KACX,MAAM,EAAE,YAAY,SAAS;IAC/B;IACA,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;GACF;EACF;CACF;AACF"}
|
package/es/layouts/phone.d.ts
CHANGED
package/es/layouts/phone.js
CHANGED
package/es/layouts/phone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone.js","names":[],"sources":["../../src/layouts/phone.ts"],"sourcesContent":["/**\n * 手机号键盘布局\n * @module layouts/phone\n */\n\nimport type { KeyboardConfig, KeyDefinition } from '../types'\nimport {
|
|
1
|
+
{"version":3,"file":"phone.js","names":[],"sources":["../../src/layouts/phone.ts"],"sourcesContent":["/**\r\n * 手机号键盘布局\r\n * @module layouts/phone\r\n */\r\n\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\nimport { ICON_CLEAR, ICON_DELETE } from '../icons'\r\n\r\n/**\r\n * 创建数字按键\r\n */\r\nfunction createNumberKey(num: string): KeyDefinition {\r\n return {\r\n id: `phone-${num}`,\r\n type: 'char',\r\n label: num,\r\n value: num,\r\n className: 'key-num',\r\n }\r\n}\r\n\r\n/**\r\n * 手机号键盘配置\r\n * 紧凑4x4布局\r\n */\r\nexport const phoneLayout: KeyboardConfig = {\r\n type: 'phone',\r\n name: '手机号键盘',\r\n supportShift: false,\r\n rows: [\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('1'),\r\n createNumberKey('2'),\r\n createNumberKey('3'),\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n icon: ICON_DELETE,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('4'),\r\n createNumberKey('5'),\r\n createNumberKey('6'),\r\n {\r\n id: 'clear',\r\n type: 'clear',\r\n icon: ICON_CLEAR,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('7'),\r\n createNumberKey('8'),\r\n createNumberKey('9'),\r\n {\r\n id: 'close',\r\n type: 'close',\r\n label: '关闭',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n {\r\n id: 'phone-plus',\r\n type: 'char',\r\n label: '+',\r\n value: '+',\r\n className: 'key-num',\r\n },\r\n createNumberKey('0'),\r\n {\r\n id: 'done',\r\n type: 'done',\r\n label: '确定',\r\n width: 2,\r\n className: 'key-numpad-done',\r\n },\r\n ],\r\n },\r\n ],\r\n data: {\r\n maxLength: 11,\r\n inputType: 'phone',\r\n },\r\n}\r\n\r\n/**\r\n * 简洁版拨号键盘(带 * #)\r\n */\r\nexport const phoneSimpleLayout: KeyboardConfig = {\r\n type: 'phone-simple',\r\n name: '拨号键盘',\r\n supportShift: false,\r\n rows: [\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('1'),\r\n createNumberKey('2'),\r\n createNumberKey('3'),\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n icon: ICON_DELETE,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('4'),\r\n createNumberKey('5'),\r\n createNumberKey('6'),\r\n {\r\n id: 'clear',\r\n type: 'clear',\r\n icon: ICON_CLEAR,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n createNumberKey('7'),\r\n createNumberKey('8'),\r\n createNumberKey('9'),\r\n {\r\n id: 'phone-hash',\r\n type: 'char',\r\n label: '#',\r\n value: '#',\r\n className: 'key-num',\r\n },\r\n ],\r\n },\r\n {\r\n className: 'numpad-row',\r\n keys: [\r\n {\r\n id: 'phone-star',\r\n type: 'char',\r\n label: '*',\r\n value: '*',\r\n className: 'key-num',\r\n },\r\n createNumberKey('0'),\r\n {\r\n id: 'done',\r\n type: 'done',\r\n label: '拨打',\r\n width: 2,\r\n className: 'key-numpad-done',\r\n },\r\n ],\r\n },\r\n ],\r\n data: {\r\n maxLength: 13,\r\n inputType: 'phone',\r\n },\r\n}\r\n"],"mappings":";;;;;;;;;;;AAWA,SAAS,gBAAgB,KAA4B;CACnD,OAAO;EACL,IAAI,SAAS;EACb,MAAM;EACN,OAAO;EACP,OAAO;EACP,WAAW;CACb;AACF;AAMO,MAAM,cAA8B;CACzC,MAAM;CACN,MAAM;CACN,cAAc;CACd,MAAM;EACJ;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;IACA,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;GACF;EACF;CACF;CACA,MAAM;EACJ,WAAW;EACX,WAAW;CACb;AACF;AAKO,MAAM,oBAAoC;CAC/C,MAAM;CACN,MAAM;CACN,cAAc;CACd,MAAM;EACJ;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;GACF;EACF;EACA;GACE,WAAW;GACX,MAAM;IACJ;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;IACA,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;GACF;EACF;CACF;CACA,MAAM;EACJ,WAAW;EACX,WAAW;CACb;AACF"}
|
package/es/layouts/punct.d.ts
CHANGED
package/es/layouts/punct.js
CHANGED
package/es/layouts/punct.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"punct.js","names":[],"sources":["../../src/layouts/punct.ts"],"sourcesContent":["/**\n * 标点符号键盘布局 (中文)\n * @module layouts/punct\n */\n\n// 导入键盘配置和按键定义的类型\nimport type { KeyboardConfig, KeyDefinition } from '../types'\n// 导入删除和确认图标资源\nimport {
|
|
1
|
+
{"version":3,"file":"punct.js","names":[],"sources":["../../src/layouts/punct.ts"],"sourcesContent":["/**\r\n * 标点符号键盘布局 (中文)\r\n * @module layouts/punct\r\n */\r\n\r\n// 导入键盘配置和按键定义的类型\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\n// 导入删除和确认图标资源\r\nimport { ICON_CHECK, ICON_DELETE } from '../icons'\r\n\r\n/**\r\n * 创建标点符号按键的快捷函数\r\n * @param label - 按键显示文本(同时也是默认输出值)\r\n * @param value - 可选,按键输出值,不传则与label相同\r\n * @returns 返回一个标点按键定义对象\r\n */\r\nfunction p(label: string, value?: string): KeyDefinition {\r\n return {\r\n id: `punct-${label}`,\r\n type: 'char',\r\n label,\r\n value: value ?? label,\r\n className: 'key-num',\r\n }\r\n}\r\n\r\n// 导出中文标点键盘布局配置\r\nexport const punctLayout: KeyboardConfig = {\r\n type: 'punct', // 布局类型标识为 punct\r\n name: '中文标点', // 布局显示名称\r\n supportShift: false, // 不支持Shift切换(标点键盘无需大小写)\r\n switchable: ['qwerty', 'punct-en'], // 可切换到QWERTY键盘和英文标点键盘\r\n rows: [\r\n // 第一行:常用中文标点符号\r\n {\r\n className: 'virtual-keyboard__row', // 行的CSS类名\r\n keys: [',', '。', '?', '!', ':', ';', '\"', '\"'].map(s => p(s)), // 逗号、句号、问号、感叹号、冒号、分号、左右双引号\r\n },\r\n // 第二行:括号类标点符号\r\n {\r\n className: 'virtual-keyboard__row', // 行的CSS类名\r\n keys: ['(', ')', '【', '】', '《', '》', '……', '——'].map(s => p(s)), // 小括号、中括号、书名号、省略号、破折号\r\n },\r\n // 第三行:其他标点 + 退格键\r\n {\r\n className: 'virtual-keyboard__row', // 行的CSS类名\r\n keys: [\r\n p('·'), // 间隔号(中间点)\r\n p('、'), // 顿号\r\n p('「'), // 左单书名号\r\n p('」'), // 右单书名号\r\n p('『'), // 左双书名号\r\n p('』'), // 右双书名号\r\n p('~'), // 波浪号\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n icon: ICON_DELETE,\r\n label: '',\r\n className: 'key-numpad-fn',\r\n }, // 退格键\r\n ],\r\n },\r\n // 底部行:切换键盘 + 空格 + 确认\r\n {\r\n className: 'virtual-keyboard__row', // 行的CSS类名\r\n keys: [\r\n {\r\n id: 'switch-punct-en',\r\n type: 'tab',\r\n label: '英',\r\n data: { targetType: 'punct-en' },\r\n className: 'key-numpad-fn',\r\n }, // 切换到英文标点键盘\r\n {\r\n id: 'switch-qwerty',\r\n type: 'tab',\r\n label: 'ABC',\r\n data: { targetType: 'qwerty' },\r\n className: 'key-numpad-fn',\r\n }, // 切换到QWERTY字母键盘\r\n {\r\n id: 'space',\r\n type: 'space',\r\n label: '空格',\r\n value: ' ',\r\n width: 4,\r\n className: 'key-num',\r\n }, // 空格键,宽度4倍\r\n {\r\n id: 'done',\r\n type: 'done',\r\n icon: ICON_CHECK,\r\n label: '',\r\n width: 2,\r\n className: 'key-numpad-done',\r\n }, // 确认/完成按钮,宽度2倍\r\n ],\r\n },\r\n ],\r\n}\r\n"],"mappings":";;;;;;;;;;;AAgBA,SAAS,EAAE,OAAe,OAA+B;CACvD,OAAO;EACL,IAAI,SAAS;EACb,MAAM;EACN;EACA,OAAO,SAAS;EAChB,WAAW;CACb;AACF;AAGO,MAAM,cAA8B;CACzC,MAAM;CACN,MAAM;CACN,cAAc;CACd,YAAY,CAAC,UAAU,UAAU;CACjC,MAAM;EAEJ;GACE,WAAW;GACX,MAAM;IAAC;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;GAAG,CAAA,CAAE,KAAI,MAAK,EAAE,CAAC,CAAC;EAC9D;EAEA;GACE,WAAW;GACX,MAAM;IAAC;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAM;GAAI,CAAA,CAAE,KAAI,MAAK,EAAE,CAAC,CAAC;EAChE;EAEA;GACE,WAAW;GACX,MAAM;IACJ,EAAE,GAAG;IACL,EAAE,GAAG;IACL,EAAE,GAAG;IACL,EAAE,GAAG;IACL,EAAE,GAAG;IACL,EAAE,GAAG;IACL,EAAE,GAAG;IACL;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EAEA;GACE,WAAW;GACX,MAAM;IACJ;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,MAAM,EAAE,YAAY,WAAW;KAC/B,WAAW;IACb;IACA;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,MAAM,EAAE,YAAY,SAAS;KAC7B,WAAW;IACb;IACA;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,OAAO;KACP,WAAW;IACb;IACA;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;GACF;EACF;CACF;AACF"}
|
package/es/layouts/qwerty.d.ts
CHANGED
package/es/layouts/qwerty.js
CHANGED
package/es/layouts/qwerty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qwerty.js","names":[],"sources":["../../src/layouts/qwerty.ts"],"sourcesContent":["/**\n * QWERTY 标准字母键盘布局\n * @module layouts/qwerty\n */\n\nimport type { KeyboardConfig, KeyDefinition } from '../types'\n\n/**\n * 创建字符按键\n */\nfunction createCharKey(char: string): KeyDefinition {\n return {\n id: `char-${char.toLowerCase()}`,\n type: 'char',\n label: { lower: char.toLowerCase(), upper: char.toUpperCase() },\n value: { lower: char.toLowerCase(), upper: char.toUpperCase() },\n }\n}\n\n/**\n * QWERTY 键盘配置\n */\nexport const qwertyLayout: KeyboardConfig = {\n type: 'qwerty',\n name: '字母键盘',\n supportShift: true,\n defaultUpperCase: false,\n switchable: ['number', 'symbol'],\n rows: [\n {\n keys: [\n createCharKey('Q'),\n createCharKey('W'),\n createCharKey('E'),\n createCharKey('R'),\n createCharKey('T'),\n createCharKey('Y'),\n createCharKey('U'),\n createCharKey('I'),\n createCharKey('O'),\n createCharKey('P'),\n ],\n },\n {\n keys: [\n createCharKey('A'),\n createCharKey('S'),\n createCharKey('D'),\n createCharKey('F'),\n createCharKey('G'),\n createCharKey('H'),\n createCharKey('J'),\n createCharKey('K'),\n createCharKey('L'),\n ],\n },\n {\n keys: [\n {\n id: 'shift',\n type: 'shift',\n label: '⇧',\n width: 1.5,\n className: 'key-shift',\n },\n createCharKey('Z'),\n createCharKey('X'),\n createCharKey('C'),\n createCharKey('V'),\n createCharKey('B'),\n createCharKey('N'),\n createCharKey('M'),\n {\n id: 'backspace',\n type: 'backspace',\n label: '⌫',\n width: 1.5,\n className: 'key-backspace',\n },\n ],\n },\n {\n keys: [\n {\n id: 'switch-number',\n type: 'tab',\n label: '123',\n width: 1.5,\n className: 'key-switch',\n data: { targetType: 'number' },\n },\n {\n id: 'switch-symbol',\n type: 'tab',\n label: '#+=',\n width: 1.25,\n className: 'key-switch',\n data: { targetType: 'symbol' },\n },\n {\n id: 'space',\n type: 'space',\n label: '空格',\n value: ' ',\n width: 4,\n className: 'key-space',\n },\n {\n id: 'done',\n type: 'done',\n label: '完成',\n width: 2,\n className: 'key-done',\n },\n ],\n },\n ],\n}\n"],"mappings":";;;;;;;;;;AAUA,SAAS,cAAc,MAA6B;CAClD,OAAO;EACL,IAAI,QAAQ,KAAK,YAAY;EAC7B,MAAM;EACN,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;EAC9D,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;CAChE;AACF;AAKO,MAAM,eAA+B;CAC1C,MAAM;CACN,MAAM;CACN,cAAc;CACd,kBAAkB;CAClB,YAAY,CAAC,UAAU,QAAQ;CAC/B,MAAM;EACJ,EACE,MAAM;GACJ,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;EACnB,EACF;EACA,EACE,MAAM;GACJ,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;EACnB,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"qwerty.js","names":[],"sources":["../../src/layouts/qwerty.ts"],"sourcesContent":["/**\r\n * QWERTY 标准字母键盘布局\r\n * @module layouts/qwerty\r\n */\r\n\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\n\r\n/**\r\n * 创建字符按键\r\n */\r\nfunction createCharKey(char: string): KeyDefinition {\r\n return {\r\n id: `char-${char.toLowerCase()}`,\r\n type: 'char',\r\n label: { lower: char.toLowerCase(), upper: char.toUpperCase() },\r\n value: { lower: char.toLowerCase(), upper: char.toUpperCase() },\r\n }\r\n}\r\n\r\n/**\r\n * QWERTY 键盘配置\r\n */\r\nexport const qwertyLayout: KeyboardConfig = {\r\n type: 'qwerty',\r\n name: '字母键盘',\r\n supportShift: true,\r\n defaultUpperCase: false,\r\n switchable: ['number', 'symbol'],\r\n rows: [\r\n {\r\n keys: [\r\n createCharKey('Q'),\r\n createCharKey('W'),\r\n createCharKey('E'),\r\n createCharKey('R'),\r\n createCharKey('T'),\r\n createCharKey('Y'),\r\n createCharKey('U'),\r\n createCharKey('I'),\r\n createCharKey('O'),\r\n createCharKey('P'),\r\n ],\r\n },\r\n {\r\n keys: [\r\n createCharKey('A'),\r\n createCharKey('S'),\r\n createCharKey('D'),\r\n createCharKey('F'),\r\n createCharKey('G'),\r\n createCharKey('H'),\r\n createCharKey('J'),\r\n createCharKey('K'),\r\n createCharKey('L'),\r\n ],\r\n },\r\n {\r\n keys: [\r\n {\r\n id: 'shift',\r\n type: 'shift',\r\n label: '⇧',\r\n width: 1.5,\r\n className: 'key-shift',\r\n },\r\n createCharKey('Z'),\r\n createCharKey('X'),\r\n createCharKey('C'),\r\n createCharKey('V'),\r\n createCharKey('B'),\r\n createCharKey('N'),\r\n createCharKey('M'),\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n label: '⌫',\r\n width: 1.5,\r\n className: 'key-backspace',\r\n },\r\n ],\r\n },\r\n {\r\n keys: [\r\n {\r\n id: 'switch-number',\r\n type: 'tab',\r\n label: '123',\r\n width: 1.5,\r\n className: 'key-switch',\r\n data: { targetType: 'number' },\r\n },\r\n {\r\n id: 'switch-symbol',\r\n type: 'tab',\r\n label: '#+=',\r\n width: 1.25,\r\n className: 'key-switch',\r\n data: { targetType: 'symbol' },\r\n },\r\n {\r\n id: 'space',\r\n type: 'space',\r\n label: '空格',\r\n value: ' ',\r\n width: 4,\r\n className: 'key-space',\r\n },\r\n {\r\n id: 'done',\r\n type: 'done',\r\n label: '完成',\r\n width: 2,\r\n className: 'key-done',\r\n },\r\n ],\r\n },\r\n ],\r\n}\r\n"],"mappings":";;;;;;;;;;AAUA,SAAS,cAAc,MAA6B;CAClD,OAAO;EACL,IAAI,QAAQ,KAAK,YAAY;EAC7B,MAAM;EACN,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;EAC9D,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;CAChE;AACF;AAKO,MAAM,eAA+B;CAC1C,MAAM;CACN,MAAM;CACN,cAAc;CACd,kBAAkB;CAClB,YAAY,CAAC,UAAU,QAAQ;CAC/B,MAAM;EACJ,EACE,MAAM;GACJ,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;EACnB,EACF;EACA,EACE,MAAM;GACJ,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;EACnB,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB,cAAc,GAAG;GACjB;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;CACF;AACF"}
|
package/es/layouts/search.d.ts
CHANGED
package/es/layouts/search.js
CHANGED
package/es/layouts/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","names":[],"sources":["../../src/layouts/search.ts"],"sourcesContent":["/**\n * 搜索键盘布局\n * @module layouts/search\n */\n\n// 导入键盘配置和按键定义的类型\nimport type { KeyboardConfig, KeyDefinition } from '../types'\n// 导入删除、Shift和语音图标资源\nimport { ICON_DELETE, ICON_SHIFT, ICON_VOICE } from '../icons'\n\n/**\n * 创建字符按键(支持大小写)\n * @param char - 字符,用于生成大小写标签和值\n * @returns 返回一个按键定义对象\n */\nfunction createCharKey(char: string): KeyDefinition {\n return {\n id: `search-char-${char.toLowerCase()}`,
|
|
1
|
+
{"version":3,"file":"search.js","names":[],"sources":["../../src/layouts/search.ts"],"sourcesContent":["/**\r\n * 搜索键盘布局\r\n * @module layouts/search\r\n */\r\n\r\n// 导入键盘配置和按键定义的类型\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\n// 导入删除、Shift和语音图标资源\r\nimport { ICON_DELETE, ICON_SHIFT, ICON_VOICE } from '../icons'\r\n\r\n/**\r\n * 创建字符按键(支持大小写)\r\n * @param char - 字符,用于生成大小写标签和值\r\n * @returns 返回一个按键定义对象\r\n */\r\nfunction createCharKey(char: string): KeyDefinition {\r\n return {\r\n id: `search-char-${char.toLowerCase()}`, // 按键唯一标识,格式为 search-char-x\r\n type: 'char', // 按键类型为字符键\r\n label: { lower: char.toLowerCase(), upper: char.toUpperCase() }, // 显示标签:小写/大写\r\n value: { lower: char.toLowerCase(), upper: char.toUpperCase() }, // 输出值:小写/大写\r\n }\r\n}\r\n\r\n// 导出搜索键盘布局配置\r\nexport const searchLayout: KeyboardConfig = {\r\n type: 'search', // 布局类型标识为 search\r\n name: '搜索键盘', // 布局显示名称\r\n supportShift: true, // 支持Shift切换大小写\r\n defaultUpperCase: false, // 默认为小写状态\r\n switchable: ['symbol', 'number'], // 可切换到符号键盘和数字键盘\r\n rows: [\r\n // QWERTY 第一行:q w e r t y u i o p\r\n {\r\n keys: 'qwertyuiop'.split('').map(createCharKey), // 将字符串拆分为字符数组,逐个创建按键\r\n },\r\n // QWERTY 第二行:a s d f g h j k l\r\n {\r\n keys: 'asdfghjkl'.split('').map(createCharKey), // 将字符串拆分为字符数组,逐个创建按键\r\n },\r\n // QWERTY 第三行 + Shift + 退格\r\n {\r\n keys: [\r\n {\r\n id: 'shift', // Shift键标识\r\n type: 'shift', // 按键类型为Shift\r\n icon: ICON_SHIFT, // 使用Shift图标\r\n label: '', // 无文字标签,仅显示图标\r\n width: 1.5, // 宽度为1.5倍\r\n className: 'key-shift', // CSS类名\r\n },\r\n ...'zxcvbnm'.split('').map(createCharKey), // 展开第三行字母 z x c v b n m 的按键定义\r\n {\r\n id: 'backspace', // 退格键标识\r\n type: 'backspace', // 按键类型为退格\r\n icon: ICON_DELETE, // 使用删除图标\r\n label: '', // 无文字标签,仅显示图标\r\n width: 1.5, // 宽度为1.5倍\r\n className: 'key-backspace', // CSS类名\r\n },\r\n ],\r\n },\r\n // 底部行:切换 + 空格 + 语音 + 搜索\r\n {\r\n keys: [\r\n {\r\n id: 'switch-number',\r\n type: 'tab',\r\n label: '123',\r\n width: 1.25,\r\n className: 'key-switch',\r\n data: { targetType: 'number' },\r\n }, // 切换到数字键盘,宽度1.25倍\r\n {\r\n id: 'switch-symbol',\r\n type: 'tab',\r\n label: '#+=',\r\n width: 1.25,\r\n className: 'key-switch',\r\n data: { targetType: 'symbol' },\r\n }, // 切换到符号键盘,宽度1.25倍\r\n {\r\n id: 'space',\r\n type: 'space',\r\n label: '',\r\n value: ' ',\r\n width: 4,\r\n className: 'key-space',\r\n }, // 空格键,宽度4倍\r\n {\r\n id: 'voice',\r\n type: 'custom',\r\n icon: ICON_VOICE,\r\n label: '',\r\n width: 1,\r\n className: 'key-voice',\r\n data: { action: 'voice' },\r\n }, // 语音输入按钮,宽度1倍\r\n {\r\n id: 'search-done',\r\n type: 'done',\r\n label: '搜索',\r\n width: 2,\r\n className: 'key-done',\r\n }, // 搜索/完成按钮,宽度2倍\r\n ],\r\n },\r\n ],\r\n}\r\n"],"mappings":";;;;;;;;;;;AAeA,SAAS,cAAc,MAA6B;CAClD,OAAO;EACL,IAAI,eAAe,KAAK,YAAY;EACpC,MAAM;EACN,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;EAC9D,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;CAChE;AACF;AAGO,MAAM,eAA+B;CAC1C,MAAM;CACN,MAAM;CACN,cAAc;CACd,kBAAkB;CAClB,YAAY,CAAC,UAAU,QAAQ;CAC/B,MAAM;EAEJ,EACE,MAAM,aAAa,MAAM,EAAE,CAAA,CAAE,IAAI,aAAa,EAChD;EAEA,EACE,MAAM,YAAY,MAAM,EAAE,CAAA,CAAE,IAAI,aAAa,EAC/C;EAEA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA,GAAG,UAAU,MAAM,EAAE,CAAA,CAAE,IAAI,aAAa;GACxC;IACE,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;EAEA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA;IACE,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,QAAQ,QAAQ;GAC1B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;CACF;AACF"}
|
package/es/layouts/symbol.d.ts
CHANGED
package/es/layouts/symbol.js
CHANGED
package/es/layouts/symbol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.js","names":[],"sources":["../../src/layouts/symbol.ts"],"sourcesContent":["/**\n * 符号键盘布局\n * @module layouts/symbol\n */\n\nimport type { KeyboardConfig, KeyDefinition } from '../types'\n\n/**\n * 创建符号按键\n */\nfunction createSymbolKey(symbol: string, id?: string): KeyDefinition {\n return {\n id: id || `symbol-${symbol.charCodeAt(0)}`,\n type: 'char',\n label: symbol,\n value: symbol,\n }\n}\n\n/**\n * 符号键盘配置\n */\nexport const symbolLayout: KeyboardConfig = {\n type: 'symbol',\n name: '符号键盘',\n supportShift: false,\n switchable: ['qwerty', 'number'],\n rows: [\n {\n keys: [\n createSymbolKey('1'),\n createSymbolKey('2'),\n createSymbolKey('3'),\n createSymbolKey('4'),\n createSymbolKey('5'),\n createSymbolKey('6'),\n createSymbolKey('7'),\n createSymbolKey('8'),\n createSymbolKey('9'),\n createSymbolKey('0'),\n ],\n },\n {\n keys: [\n createSymbolKey('-'),\n createSymbolKey('/'),\n createSymbolKey(':'),\n createSymbolKey(';'),\n createSymbolKey('('),\n createSymbolKey(')'),\n createSymbolKey('¥', 'yen'),\n createSymbolKey('@'),\n createSymbolKey('\"', 'quote'),\n ],\n },\n {\n keys: [\n {\n id: 'switch-symbol-2',\n type: 'tab',\n label: '#+= ',\n width: 1.5,\n className: 'key-switch',\n data: { targetType: 'symbol-2' },\n },\n createSymbolKey('.'),\n createSymbolKey(','),\n createSymbolKey('?'),\n createSymbolKey('!'),\n createSymbolKey('
|
|
1
|
+
{"version":3,"file":"symbol.js","names":[],"sources":["../../src/layouts/symbol.ts"],"sourcesContent":["/**\r\n * 符号键盘布局\r\n * @module layouts/symbol\r\n */\r\n\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\n\r\n/**\r\n * 创建符号按键\r\n */\r\nfunction createSymbolKey(symbol: string, id?: string): KeyDefinition {\r\n return {\r\n id: id || `symbol-${symbol.charCodeAt(0)}`,\r\n type: 'char',\r\n label: symbol,\r\n value: symbol,\r\n }\r\n}\r\n\r\n/**\r\n * 符号键盘配置\r\n */\r\nexport const symbolLayout: KeyboardConfig = {\r\n type: 'symbol',\r\n name: '符号键盘',\r\n supportShift: false,\r\n switchable: ['qwerty', 'number'],\r\n rows: [\r\n {\r\n keys: [\r\n createSymbolKey('1'),\r\n createSymbolKey('2'),\r\n createSymbolKey('3'),\r\n createSymbolKey('4'),\r\n createSymbolKey('5'),\r\n createSymbolKey('6'),\r\n createSymbolKey('7'),\r\n createSymbolKey('8'),\r\n createSymbolKey('9'),\r\n createSymbolKey('0'),\r\n ],\r\n },\r\n {\r\n keys: [\r\n createSymbolKey('-'),\r\n createSymbolKey('/'),\r\n createSymbolKey(':'),\r\n createSymbolKey(';'),\r\n createSymbolKey('('),\r\n createSymbolKey(')'),\r\n createSymbolKey('¥', 'yen'),\r\n createSymbolKey('@'),\r\n createSymbolKey('\"', 'quote'),\r\n ],\r\n },\r\n {\r\n keys: [\r\n {\r\n id: 'switch-symbol-2',\r\n type: 'tab',\r\n label: '#+= ',\r\n width: 1.5,\r\n className: 'key-switch',\r\n data: { targetType: 'symbol-2' },\r\n },\r\n createSymbolKey('.'),\r\n createSymbolKey(','),\r\n createSymbolKey('?'),\r\n createSymbolKey('!'),\r\n createSymbolKey(\"'\", 'apostrophe'),\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n label: '⌫',\r\n width: 1.5,\r\n className: 'key-backspace',\r\n },\r\n ],\r\n },\r\n {\r\n keys: [\r\n {\r\n id: 'switch-qwerty',\r\n type: 'tab',\r\n label: 'ABC',\r\n width: 1.5,\r\n className: 'key-switch',\r\n data: { targetType: 'qwerty' },\r\n },\r\n {\r\n id: 'switch-number',\r\n type: 'tab',\r\n label: '123',\r\n width: 1.25,\r\n className: 'key-switch',\r\n data: { targetType: 'number' },\r\n },\r\n {\r\n id: 'space',\r\n type: 'space',\r\n label: '空格',\r\n value: ' ',\r\n width: 4,\r\n className: 'key-space',\r\n },\r\n {\r\n id: 'done',\r\n type: 'done',\r\n label: '完成',\r\n width: 2,\r\n className: 'key-done',\r\n },\r\n ],\r\n },\r\n ],\r\n}\r\n\r\n/**\r\n * 符号键盘第二页\r\n */\r\nexport const symbolLayout2: KeyboardConfig = {\r\n type: 'symbol',\r\n name: '符号键盘2',\r\n supportShift: false,\r\n switchable: ['qwerty', 'number'],\r\n rows: [\r\n {\r\n keys: [\r\n createSymbolKey('['),\r\n createSymbolKey(']'),\r\n createSymbolKey('{'),\r\n createSymbolKey('}'),\r\n createSymbolKey('#'),\r\n createSymbolKey('%'),\r\n createSymbolKey('^'),\r\n createSymbolKey('*'),\r\n createSymbolKey('+'),\r\n createSymbolKey('='),\r\n ],\r\n },\r\n {\r\n keys: [\r\n createSymbolKey('_'),\r\n createSymbolKey('\\\\'),\r\n createSymbolKey('|'),\r\n createSymbolKey('~'),\r\n createSymbolKey('<'),\r\n createSymbolKey('>'),\r\n createSymbolKey('€', 'euro'),\r\n createSymbolKey('$'),\r\n createSymbolKey('&'),\r\n ],\r\n },\r\n {\r\n keys: [\r\n {\r\n id: 'switch-symbol-1',\r\n type: 'tab',\r\n label: '123',\r\n width: 1.5,\r\n className: 'key-switch',\r\n data: { targetType: 'symbol' },\r\n },\r\n createSymbolKey('`', 'backtick'),\r\n createSymbolKey('·', 'middle-dot'),\r\n createSymbolKey('…', 'ellipsis'),\r\n createSymbolKey('°', 'degree'),\r\n createSymbolKey('•', 'bullet'),\r\n {\r\n id: 'backspace',\r\n type: 'backspace',\r\n label: '⌫',\r\n width: 1.5,\r\n className: 'key-backspace',\r\n },\r\n ],\r\n },\r\n {\r\n keys: [\r\n {\r\n id: 'switch-qwerty',\r\n type: 'tab',\r\n label: 'ABC',\r\n width: 1.5,\r\n className: 'key-switch',\r\n data: { targetType: 'qwerty' },\r\n },\r\n {\r\n id: 'switch-number',\r\n type: 'tab',\r\n label: '123',\r\n width: 1.25,\r\n className: 'key-switch',\r\n data: { targetType: 'number' },\r\n },\r\n {\r\n id: 'space',\r\n type: 'space',\r\n label: '空格',\r\n value: ' ',\r\n width: 4,\r\n className: 'key-space',\r\n },\r\n {\r\n id: 'done',\r\n type: 'done',\r\n label: '完成',\r\n width: 2,\r\n className: 'key-done',\r\n },\r\n ],\r\n },\r\n ],\r\n}\r\n"],"mappings":";;;;;;;;;;AAUA,SAAS,gBAAgB,QAAgB,IAA4B;CACnE,OAAO;EACL,IAAI,MAAM,UAAU,OAAO,WAAW,CAAC;EACvC,MAAM;EACN,OAAO;EACP,OAAO;CACT;AACF;AAKO,MAAM,eAA+B;CAC1C,MAAM;CACN,MAAM;CACN,cAAc;CACd,YAAY,CAAC,UAAU,QAAQ;CAC/B,MAAM;EACJ,EACE,MAAM;GACJ,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;EACrB,EACF;EACA,EACE,MAAM;GACJ,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,KAAK,KAAK;GAC1B,gBAAgB,GAAG;GACnB,gBAAgB,MAAK,OAAO;EAC9B,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,WAAW;GACjC;GACA,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,KAAK,YAAY;GACjC;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;CACF;AACF;AAKO,MAAM,gBAAgC;CAC3C,MAAM;CACN,MAAM;CACN,cAAc;CACd,YAAY,CAAC,UAAU,QAAQ;CAC/B,MAAM;EACJ,EACE,MAAM;GACJ,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;EACrB,EACF;EACA,EACE,MAAM;GACJ,gBAAgB,GAAG;GACnB,gBAAgB,IAAI;GACpB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;GACnB,gBAAgB,KAAK,MAAM;GAC3B,gBAAgB,GAAG;GACnB,gBAAgB,GAAG;EACrB,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA,gBAAgB,KAAK,UAAU;GAC/B,gBAAgB,KAAK,YAAY;GACjC,gBAAgB,KAAK,UAAU;GAC/B,gBAAgB,KAAK,QAAQ;GAC7B,gBAAgB,KAAK,QAAQ;GAC7B;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;EACA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;CACF;AACF"}
|
package/es/layouts/url.d.ts
CHANGED
package/es/layouts/url.js
CHANGED
package/es/layouts/url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","names":[],"sources":["../../src/layouts/url.ts"],"sourcesContent":["/**\n * URL/链接键盘布局\n * @module layouts/url\n */\n\n// 导入键盘配置和按键定义的类型\nimport type { KeyboardConfig, KeyDefinition } from '../types'\n// 导入删除和Shift图标资源\nimport { ICON_DELETE, ICON_SHIFT } from '../icons'\n\n/**\n * 创建字符按键(支持大小写)\n * @param char - 字符,用于生成大小写标签和值\n * @returns 返回一个按键定义对象\n */\nfunction createCharKey(char: string): KeyDefinition {\n return {\n id: `url-char-${char.toLowerCase()}`,
|
|
1
|
+
{"version":3,"file":"url.js","names":[],"sources":["../../src/layouts/url.ts"],"sourcesContent":["/**\r\n * URL/链接键盘布局\r\n * @module layouts/url\r\n */\r\n\r\n// 导入键盘配置和按键定义的类型\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\n// 导入删除和Shift图标资源\r\nimport { ICON_DELETE, ICON_SHIFT } from '../icons'\r\n\r\n/**\r\n * 创建字符按键(支持大小写)\r\n * @param char - 字符,用于生成大小写标签和值\r\n * @returns 返回一个按键定义对象\r\n */\r\nfunction createCharKey(char: string): KeyDefinition {\r\n return {\r\n id: `url-char-${char.toLowerCase()}`, // 按键唯一标识,格式为 url-char-x\r\n type: 'char', // 按键类型为字符键\r\n label: { lower: char.toLowerCase(), upper: char.toUpperCase() }, // 显示标签:小写/大写\r\n value: { lower: char.toLowerCase(), upper: char.toUpperCase() }, // 输出值:小写/大写\r\n }\r\n}\r\n\r\n/**\r\n * 创建快捷片段按键\r\n * 用于URL键盘中常用的符号和域名后缀\r\n * @param label - 按键显示文本\r\n * @param width - 可选,按键宽度倍数\r\n * @returns 返回一个片段按键定义对象\r\n */\r\nfunction snippet(label: string, width?: number): KeyDefinition {\r\n // 生成唯一 ID:用 label 的字符编码(去除非法字符后拼接)\r\n const idSuffix =\r\n label.replace(/[^a-z0-9]/gi, '') ||\r\n label\r\n .split('')\r\n .map(c => c.charCodeAt(0))\r\n .join('')\r\n return {\r\n id: `url-snippet-${idSuffix}`, // 按键唯一标识,格式为 url-snippet-xxx\r\n type: 'char', // 按键类型为字符键\r\n label, // 显示文本\r\n value: label, // 输出值与显示文本相同\r\n width, // 按键宽度倍数\r\n className: 'key-snippet', // 自定义CSS类名,用于样式控制\r\n }\r\n}\r\n\r\n// 导出URL键盘布局配置\r\nexport const urlLayout: KeyboardConfig = {\r\n type: 'url', // 布局类型标识为 url\r\n name: '网址键盘', // 布局显示名称\r\n supportShift: true, // 支持Shift切换大小写\r\n defaultUpperCase: false, // 默认为小写状态\r\n switchable: ['symbol', 'number'], // 可切换到符号键盘和数字键盘\r\n rows: [\r\n // QWERTY 第一行:q w e r t y u i o p\r\n {\r\n keys: 'qwertyuiop'.split('').map(createCharKey), // 将字符串拆分为字符数组,逐个创建按键\r\n },\r\n // QWERTY 第二行:a s d f g h j k l\r\n {\r\n keys: 'asdfghjkl'.split('').map(createCharKey), // 将字符串拆分为字符数组,逐个创建按键\r\n },\r\n // QWERTY 第三行 + Shift + 退格\r\n {\r\n keys: [\r\n {\r\n id: 'shift', // Shift键标识\r\n type: 'shift', // 按键类型为Shift\r\n icon: ICON_SHIFT, // 使用Shift图标\r\n label: '', // 无文字标签,仅显示图标\r\n width: 1.5, // 宽度为1.5倍\r\n className: 'key-shift', // CSS类名\r\n },\r\n ...'zxcvbnm'.split('').map(createCharKey), // 展开第三行字母 z x c v b n m 的按键定义\r\n {\r\n id: 'backspace', // 退格键标识\r\n type: 'backspace', // 按键类型为退格\r\n icon: ICON_DELETE, // 使用删除图标\r\n label: '', // 无文字标签,仅显示图标\r\n width: 1.5, // 宽度为1.5倍\r\n className: 'key-backspace', // CSS类名\r\n },\r\n ],\r\n },\r\n // 底部行:切换 + 符号 + 域名后缀 + 前往\r\n {\r\n keys: [\r\n {\r\n id: 'switch-number',\r\n type: 'tab',\r\n label: '123',\r\n width: 1.2,\r\n className: 'key-switch',\r\n data: { targetType: 'number' },\r\n }, // 切换到数字键盘\r\n snippet('/', 0.8), // 斜杠快捷键,宽度0.8倍\r\n snippet('.', 0.8), // 点号快捷键,宽度0.8倍\r\n snippet('-', 0.8), // 横杠快捷键,宽度0.8倍\r\n snippet('.com', 1.5), // .com域名后缀快捷键,宽度1.5倍\r\n snippet('.cn', 1.2), // .cn域名后缀快捷键,宽度1.2倍\r\n {\r\n id: 'space',\r\n type: 'space',\r\n label: '',\r\n value: ' ',\r\n width: 1.5,\r\n className: 'key-space',\r\n }, // 空格键,宽度1.5倍\r\n {\r\n id: 'url-go',\r\n type: 'done',\r\n label: '前往',\r\n width: 1.5,\r\n className: 'key-done',\r\n }, // 前往/完成按钮,宽度1.5倍\r\n ],\r\n },\r\n ],\r\n}\r\n"],"mappings":";;;;;;;;;;;AAeA,SAAS,cAAc,MAA6B;CAClD,OAAO;EACL,IAAI,YAAY,KAAK,YAAY;EACjC,MAAM;EACN,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;EAC9D,OAAO;GAAE,OAAO,KAAK,YAAY;GAAG,OAAO,KAAK,YAAY;EAAE;CAChE;AACF;AASA,SAAS,QAAQ,OAAe,OAA+B;CAQ7D,OAAO;EACL,IAAI,eANJ,MAAM,QAAQ,eAAe,EAAE,KAC/B,MACG,MAAM,EAAE,CAAA,CACR,KAAI,MAAK,EAAE,WAAW,CAAC,CAAC,CAAA,CACxB,KAAK,EAAE;EAGV,MAAM;EACN;EACA,OAAO;EACP;EACA,WAAW;CACb;AACF;AAGO,MAAM,YAA4B;CACvC,MAAM;CACN,MAAM;CACN,cAAc;CACd,kBAAkB;CAClB,YAAY,CAAC,UAAU,QAAQ;CAC/B,MAAM;EAEJ,EACE,MAAM,aAAa,MAAM,EAAE,CAAA,CAAE,IAAI,aAAa,EAChD;EAEA,EACE,MAAM,YAAY,MAAM,EAAE,CAAA,CAAE,IAAI,aAAa,EAC/C;EAEA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA,GAAG,UAAU,MAAM,EAAE,CAAA,CAAE,IAAI,aAAa;GACxC;IACE,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;EAEA,EACE,MAAM;GACJ;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM,EAAE,YAAY,SAAS;GAC/B;GACA,QAAQ,KAAK,EAAG;GAChB,QAAQ,KAAK,EAAG;GAChB,QAAQ,KAAK,EAAG;GAChB,QAAQ,QAAQ,GAAG;GACnB,QAAQ,OAAO,GAAG;GAClB;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;GACb;GACA;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;GACb;EACF,EACF;CACF;AACF"}
|
package/es/layouts/verifycode.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifycode.js","names":[],"sources":["../../src/layouts/verifycode.ts"],"sourcesContent":["/**\n * 验证码键盘布局\n * @module layouts/verifycode\n */\n\n// 从类型定义文件中导入 KeyboardConfig(键盘配置)和 KeyDefinition(按键定义)类型\nimport type { KeyboardConfig, KeyDefinition } from '../types'\n// 从图标模块中导入删除键图标和清除键图标\nimport {
|
|
1
|
+
{"version":3,"file":"verifycode.js","names":[],"sources":["../../src/layouts/verifycode.ts"],"sourcesContent":["/**\r\n * 验证码键盘布局\r\n * @module layouts/verifycode\r\n */\r\n\r\n// 从类型定义文件中导入 KeyboardConfig(键盘配置)和 KeyDefinition(按键定义)类型\r\nimport type { KeyboardConfig, KeyDefinition } from '../types'\r\n// 从图标模块中导入删除键图标和清除键图标\r\nimport { ICON_CLEAR, ICON_DELETE } from '../icons'\r\n\r\n/**\r\n * 创建数字按键\r\n * @param num - 数字字符串(如 '0'-'9')\r\n * @returns 返回一个按键定义对象\r\n */\r\nfunction createNumberKey(num: string): KeyDefinition {\r\n return {\r\n id: `verify-${num}`, // 按键唯一标识符,格式为 verify-数字\r\n type: 'char', // 按键类型为字符键\r\n label: num, // 按键上显示的文本\r\n value: num, // 按键按下后输出的值\r\n className: 'key-num', // 按键的 CSS 类名,用于样式定制\r\n }\r\n}\r\n\r\n/**\r\n * 验证码键盘配置 - 4x4布局(与其他数字键盘一致)\r\n * 布局结构:\r\n * 第1行: 1 2 3 [退格]\r\n * 第2行: 4 5 6 [清除]\r\n * 第3行: 7 8 9 [关闭]\r\n * 第4行: [空] 0 [确定(占2格)]\r\n */\r\nexport const verifycodeLayout: KeyboardConfig = {\r\n type: 'verifycode', // 键盘类型标识\r\n name: '验证码键盘', // 键盘的显示名称\r\n supportShift: false, // 不支持 Shift 切换(纯数字键盘无需切换)\r\n rows: [\r\n // 键盘的行数组\r\n // ---- 第1行 ----\r\n {\r\n className: 'numpad-row', // 行的 CSS 类名\r\n keys: [\r\n // 该行包含的按键数组\r\n createNumberKey('1'), // 数字键 1\r\n createNumberKey('2'), // 数字键 2\r\n createNumberKey('3'), // 数字键 3\r\n {\r\n id: 'backspace', // 退格键的唯一标识\r\n type: 'backspace', // 按键类型为退格,删除最后一个字符\r\n icon: ICON_DELETE, // 使用删除图标作为显示内容\r\n label: '', // 无文本标签(由图标替代)\r\n className: 'key-numpad-fn', // 功能键的 CSS 类名\r\n },\r\n ],\r\n },\r\n // ---- 第2行 ----\r\n {\r\n className: 'numpad-row', // 行的 CSS 类名\r\n keys: [\r\n createNumberKey('4'), // 数字键 4\r\n createNumberKey('5'), // 数字键 5\r\n createNumberKey('6'), // 数字键 6\r\n {\r\n id: 'clear', // 清除键的唯一标识\r\n type: 'clear', // 按键类型为清除,清空所有输入\r\n icon: ICON_CLEAR, // 使用清除图标作为显示内容\r\n label: '', // 无文本标签\r\n className: 'key-numpad-fn', // 功能键的 CSS 类名\r\n },\r\n ],\r\n },\r\n // ---- 第3行 ----\r\n {\r\n className: 'numpad-row', // 行的 CSS 类名\r\n keys: [\r\n createNumberKey('7'), // 数字键 7\r\n createNumberKey('8'), // 数字键 8\r\n createNumberKey('9'), // 数字键 9\r\n {\r\n id: 'close', // 关闭键的唯一标识\r\n type: 'close', // 按键类型为关闭,收起键盘\r\n label: '关闭', // 按钮上显示的文本\r\n className: 'key-numpad-fn', // 功能键的 CSS 类名\r\n },\r\n ],\r\n },\r\n // ---- 第4行 ----\r\n {\r\n className: 'numpad-row', // 行的 CSS 类名\r\n keys: [\r\n {\r\n id: 'empty', // 占位空键的唯一标识\r\n type: 'char', // 类型为字符键(但被禁用)\r\n label: '', // 无显示文本\r\n value: '', // 无输出值\r\n disabled: true, // 禁用状态,不可点击\r\n className: 'key-numpad-empty', // 空占位键的 CSS 类名\r\n },\r\n createNumberKey('0'), // 数字键 0\r\n {\r\n id: 'done', // 确定键的唯一标识\r\n type: 'done', // 按键类型为确定,完成输入\r\n label: '确定', // 按钮上显示的文本\r\n width: 2, // 占据 2 个键的宽度\r\n className: 'key-numpad-done', // 确定键的 CSS 类名\r\n },\r\n ],\r\n },\r\n ],\r\n data: {\r\n // 键盘的附加数据\r\n maxLength: 6, // 验证码最大输入长度为 6 位\r\n inputType: 'verifycode', // 输入类型标识,用于外部判断\r\n },\r\n}\r\n"],"mappings":";;;;;;;;;;;AAeA,SAAS,gBAAgB,KAA4B;CACnD,OAAO;EACL,IAAI,UAAU;EACd,MAAM;EACN,OAAO;EACP,OAAO;EACP,WAAW;CACb;AACF;AAUO,MAAM,mBAAmC;CAC9C,MAAM;CACN,MAAM;CACN,cAAc;CACd,MAAM;EAGJ;GACE,WAAW;GACX,MAAM;IAEJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EAEA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EAEA;GACE,WAAW;GACX,MAAM;IACJ,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,WAAW;IACb;GACF;EACF;EAEA;GACE,WAAW;GACX,MAAM;IACJ;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,UAAU;KACV,WAAW;IACb;IACA,gBAAgB,GAAG;IACnB;KACE,IAAI;KACJ,MAAM;KACN,OAAO;KACP,OAAO;KACP,WAAW;IACb;GACF;EACF;CACF;CACA,MAAM;EAEJ,WAAW;EACX,WAAW;CACb;AACF"}
|
package/es/managers/index.d.ts
CHANGED
package/es/managers/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export declare class KeyboardManager extends EventEmitter<KeyboardEventMap> {
|
|
|
15
15
|
private state;
|
|
16
16
|
/** 当前布局配置 */
|
|
17
17
|
private currentLayout;
|
|
18
|
+
private destroyed;
|
|
18
19
|
constructor(options?: KeyboardOptions);
|
|
19
20
|
/**
|
|
20
21
|
* 获取当前状态
|
|
@@ -118,6 +119,7 @@ export declare class KeyboardManager extends EventEmitter<KeyboardEventMap> {
|
|
|
118
119
|
* 发送状态变化事件
|
|
119
120
|
*/
|
|
120
121
|
private emitStateChange;
|
|
122
|
+
private dispatchInputEvent;
|
|
121
123
|
/**
|
|
122
124
|
* 销毁
|
|
123
125
|
*/
|
|
@@ -127,4 +129,3 @@ export declare class KeyboardManager extends EventEmitter<KeyboardEventMap> {
|
|
|
127
129
|
* 创建键盘管理器实例
|
|
128
130
|
*/
|
|
129
131
|
export declare function createKeyboardManager(options?: KeyboardOptions): KeyboardManager;
|
|
130
|
-
//# sourceMappingURL=keyboard-manager.d.ts.map
|