@libs-ui/components-inputs-keyboard 0.2.30-6.1
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 +3 -0
- package/defines/keyboard.define.d.ts +2 -0
- package/esm2022/defines/keyboard.define.mjs +53 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/interfaces/keyboard.interface.mjs +2 -0
- package/esm2022/keyboard.component.mjs +44 -0
- package/esm2022/libs-ui-components-inputs-keyboard.mjs +5 -0
- package/fesm2022/libs-ui-components-inputs-keyboard.mjs +103 -0
- package/fesm2022/libs-ui-components-inputs-keyboard.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/interfaces/keyboard.interface.d.ts +4 -0
- package/keyboard.component.d.ts +16 -0
- package/package.json +25 -0
package/README.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export const keypadConfig = () => {
|
|
2
|
+
return [
|
|
3
|
+
{
|
|
4
|
+
code: '1',
|
|
5
|
+
label: '1'
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
code: '2',
|
|
9
|
+
label: '2'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
code: '3',
|
|
13
|
+
label: '3'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
code: '4',
|
|
17
|
+
label: '4'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
code: '5',
|
|
21
|
+
label: '5'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
code: '6',
|
|
25
|
+
label: '6'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
code: '7',
|
|
29
|
+
label: '7'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
code: '8',
|
|
33
|
+
label: '8'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
code: '9',
|
|
37
|
+
label: '9'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
code: '*',
|
|
41
|
+
label: '*'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
code: '0',
|
|
45
|
+
label: '0'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
code: '#',
|
|
49
|
+
label: '#'
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuZGVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9rZXlib2FyZC9zcmMvZGVmaW5lcy9rZXlib2FyZC5kZWZpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQW9CLEVBQUU7SUFDaEQsT0FBTztRQUNMO1lBQ0UsSUFBSSxFQUFFLEdBQUc7WUFDVCxLQUFLLEVBQUUsR0FBRztTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsR0FBRztZQUNULEtBQUssRUFBRSxHQUFHO1NBQ1g7UUFDRDtZQUNFLElBQUksRUFBRSxHQUFHO1lBQ1QsS0FBSyxFQUFFLEdBQUc7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLEdBQUc7WUFDVCxLQUFLLEVBQUUsR0FBRztTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsR0FBRztZQUNULEtBQUssRUFBRSxHQUFHO1NBQ1g7UUFDRDtZQUNFLElBQUksRUFBRSxHQUFHO1lBQ1QsS0FBSyxFQUFFLEdBQUc7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLEdBQUc7WUFDVCxLQUFLLEVBQUUsR0FBRztTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsR0FBRztZQUNULEtBQUssRUFBRSxHQUFHO1NBQ1g7UUFDRDtZQUNFLElBQUksRUFBRSxHQUFHO1lBQ1QsS0FBSyxFQUFFLEdBQUc7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLEdBQUc7WUFDVCxLQUFLLEVBQUUsR0FBRztTQUNYO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsR0FBRztZQUNULEtBQUssRUFBRSxHQUFHO1NBQ1g7UUFDRDtZQUNFLElBQUksRUFBRSxHQUFHO1lBQ1QsS0FBSyxFQUFFLEdBQUc7U0FDWDtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJS2V5Q29kZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2tleWJvYXJkLmludGVyZmFjZVwiO1xuXG5leHBvcnQgY29uc3Qga2V5cGFkQ29uZmlnID0gKCk6IEFycmF5PElLZXlDb2RlPiA9PiB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgY29kZTogJzEnLFxuICAgICAgbGFiZWw6ICcxJ1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzInLFxuICAgICAgbGFiZWw6ICcyJ1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzMnLFxuICAgICAgbGFiZWw6ICczJ1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzQnLFxuICAgICAgbGFiZWw6ICc0J1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzUnLFxuICAgICAgbGFiZWw6ICc1J1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzYnLFxuICAgICAgbGFiZWw6ICc2J1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzcnLFxuICAgICAgbGFiZWw6ICc3J1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzgnLFxuICAgICAgbGFiZWw6ICc4J1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzknLFxuICAgICAgbGFiZWw6ICc5J1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJyonLFxuICAgICAgbGFiZWw6ICcqJ1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJzAnLFxuICAgICAgbGFiZWw6ICcwJ1xuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJyMnLFxuICAgICAgbGFiZWw6ICcjJ1xuICAgIH1cbiAgXTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './keyboard.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL2tleWJvYXJkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9rZXlib2FyZC5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9rZXlib2FyZC9zcmMvaW50ZXJmYWNlcy9rZXlib2FyZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUtleUNvZGUge1xuICBjb2RlOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, inject, NgZone, output, signal } from '@angular/core';
|
|
2
|
+
import { keypadConfig } from './defines/keyboard.define';
|
|
3
|
+
import { fromEvent, Subject, takeUntil } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class LibsUiComponentsInputsKeyboardComponent {
|
|
6
|
+
resultSelectKey = signal('');
|
|
7
|
+
configKeyCodes = signal(keypadConfig());
|
|
8
|
+
onDestroy = new Subject();
|
|
9
|
+
zone = inject(NgZone);
|
|
10
|
+
outKeyCodeSelected = output();
|
|
11
|
+
ngAfterViewInit() {
|
|
12
|
+
fromEvent(document, 'keyup').pipe(takeUntil(this.onDestroy)).subscribe(event => {
|
|
13
|
+
this.zone.run(() => {
|
|
14
|
+
this.listenerKeyUp(event);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
handlerClickItem(event, config) {
|
|
19
|
+
event?.stopPropagation();
|
|
20
|
+
this.resultSelectKey.set(`${this.resultSelectKey()}${config.label}`);
|
|
21
|
+
this.outKeyCodeSelected.emit(config.code);
|
|
22
|
+
}
|
|
23
|
+
listenerKeyUp(event) {
|
|
24
|
+
const keyCode = event.keyCode;
|
|
25
|
+
if (48 <= keyCode && keyCode <= 57 || 96 <= keyCode && keyCode <= 105) {
|
|
26
|
+
const config = this.configKeyCodes().find(item => item.code === `${event.key}`);
|
|
27
|
+
if (config) {
|
|
28
|
+
this.resultSelectKey.set(`${this.resultSelectKey()}${config.label}`);
|
|
29
|
+
this.outKeyCodeSelected.emit(config.code);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.onDestroy.next();
|
|
35
|
+
this.onDestroy.complete();
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsKeyboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsInputsKeyboardComponent, isStandalone: true, selector: "libs_ui-components-inputs-keyboard", outputs: { outKeyCodeSelected: "outKeyCodeSelected" }, ngImport: i0, template: "<div class=\"libs-ui-inputs-keyboard\">\n <span class=\"libs-ui-font-h1s flex justify-center mt-[12px] h-[24px]\">{{ resultSelectKey() }}</span>\n <hr class=\"mt-[12px] mb-[20px]\">\n <div class=\"flex w-full justify-center\">\n <div class=\"flex flex-wrap -mx-2 p-0 m-0\">\n @for (config of configKeyCodes(); track config) {\n <div class=\"w-1/3 p-0 m-0 flex justify-center !mb-[28px]\">\n <div class=\"libs-ui-border-general libs-ui-inputs-keyboard-item libs-ui-font-h1s\"\n (click)=\"handlerClickItem($event,config)\"> {{ config.label }}</div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [".libs-ui-inputs-keyboard{background-color:#fff;padding:8px 20px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item{display:flex;align-items:center;justify-content:center;border-radius:50%;height:52px;width:52px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item:hover{background-color:#4e4e4e20;cursor:pointer}\n"] });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsKeyboardComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'libs_ui-components-inputs-keyboard', standalone: true, template: "<div class=\"libs-ui-inputs-keyboard\">\n <span class=\"libs-ui-font-h1s flex justify-center mt-[12px] h-[24px]\">{{ resultSelectKey() }}</span>\n <hr class=\"mt-[12px] mb-[20px]\">\n <div class=\"flex w-full justify-center\">\n <div class=\"flex flex-wrap -mx-2 p-0 m-0\">\n @for (config of configKeyCodes(); track config) {\n <div class=\"w-1/3 p-0 m-0 flex justify-center !mb-[28px]\">\n <div class=\"libs-ui-border-general libs-ui-inputs-keyboard-item libs-ui-font-h1s\"\n (click)=\"handlerClickItem($event,config)\"> {{ config.label }}</div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [".libs-ui-inputs-keyboard{background-color:#fff;padding:8px 20px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item{display:flex;align-items:center;justify-content:center;border-radius:50%;height:52px;width:52px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item:hover{background-color:#4e4e4e20;cursor:pointer}\n"] }]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9rZXlib2FyZC9zcmMva2V5Ym9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9rZXlib2FyZC9zcmMva2V5Ym9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBVXJELE1BQU0sT0FBTyx1Q0FBdUM7SUFFeEMsZUFBZSxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUNyQyxjQUFjLEdBQUcsTUFBTSxDQUFrQixZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRTNELFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2hDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckIsa0JBQWtCLEdBQUcsTUFBTSxFQUFVLENBQUM7SUFFL0MsZUFBZTtRQUNiLFNBQVMsQ0FBUyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsS0FBWSxFQUFFLE1BQWdCO1FBQ3ZELEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWE7UUFDakMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU5QixJQUFJLEVBQUUsSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBRWhGLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt3R0F4Q1UsdUNBQXVDOzRGQUF2Qyx1Q0FBdUMscUpDYnBELHFzQkFjQTs7NEZERGEsdUNBQXVDO2tCQVBuRCxTQUFTOytCQUVFLG9DQUFvQyxjQUNsQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBpbmplY3QsIE5nWm9uZSwgT25EZXN0cm95LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsga2V5cGFkQ29uZmlnIH0gZnJvbSAnLi9kZWZpbmVzL2tleWJvYXJkLmRlZmluZSc7XG5pbXBvcnQgeyBJS2V5Q29kZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9rZXlib2FyZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ0BsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLWtleWJvYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2tleWJvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2tleWJvYXJkLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c0tleWJvYXJkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcm90ZWN0ZWQgcmVzdWx0U2VsZWN0S2V5ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBwcm90ZWN0ZWQgY29uZmlnS2V5Q29kZXMgPSBzaWduYWw8QXJyYXk8SUtleUNvZGU+PihrZXlwYWRDb25maWcoKSk7XG5cbiAgcHJpdmF0ZSBvbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICByZWFkb25seSBvdXRLZXlDb2RlU2VsZWN0ZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBmcm9tRXZlbnQ8SUV2ZW50Pihkb2N1bWVudCwgJ2tleXVwJykucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJLZXlVcChldmVudCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyQ2xpY2tJdGVtKGV2ZW50OiBFdmVudCwgY29uZmlnOiBJS2V5Q29kZSkge1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnJlc3VsdFNlbGVjdEtleS5zZXQoYCR7dGhpcy5yZXN1bHRTZWxlY3RLZXkoKX0ke2NvbmZpZy5sYWJlbH1gKTtcbiAgICB0aGlzLm91dEtleUNvZGVTZWxlY3RlZC5lbWl0KGNvbmZpZy5jb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuZXJLZXlVcChldmVudDogSUV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG5cbiAgICBpZiAoNDggPD0ga2V5Q29kZSAmJiBrZXlDb2RlIDw9IDU3IHx8IDk2IDw9IGtleUNvZGUgJiYga2V5Q29kZSA8PSAxMDUpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnS2V5Q29kZXMoKS5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlID09PSBgJHtldmVudC5rZXl9YCk7XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgdGhpcy5yZXN1bHRTZWxlY3RLZXkuc2V0KGAke3RoaXMucmVzdWx0U2VsZWN0S2V5KCl9JHtjb25maWcubGFiZWx9YCk7XG4gICAgICAgIHRoaXMub3V0S2V5Q29kZVNlbGVjdGVkLmVtaXQoY29uZmlnLmNvZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsaWJzLXVpLWlucHV0cy1rZXlib2FyZFwiPlxuICAgIDxzcGFuIGNsYXNzPVwibGlicy11aS1mb250LWgxcyBmbGV4IGp1c3RpZnktY2VudGVyIG10LVsxMnB4XSBoLVsyNHB4XVwiPnt7IHJlc3VsdFNlbGVjdEtleSgpIH19PC9zcGFuPlxuICAgIDxociBjbGFzcz1cIm10LVsxMnB4XSBtYi1bMjBweF1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIC1teC0yIHAtMCBtLTBcIj5cbiAgICAgICAgICAgIEBmb3IgKGNvbmZpZyBvZiBjb25maWdLZXlDb2RlcygpOyB0cmFjayBjb25maWcpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xLzMgcC0wIG0tMCBmbGV4IGp1c3RpZnktY2VudGVyICFtYi1bMjhweF1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpYnMtdWktYm9yZGVyLWdlbmVyYWwgbGlicy11aS1pbnB1dHMta2V5Ym9hcmQtaXRlbSBsaWJzLXVpLWZvbnQtaDFzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVyQ2xpY2tJdGVtKCRldmVudCxjb25maWcpXCI+IHt7IGNvbmZpZy5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLWlucHV0cy1rZXlib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMva2V5Ym9hcmQvc3JjL2xpYnMtdWktY29tcG9uZW50cy1pbnB1dHMta2V5Ym9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { signal, inject, NgZone, output, Component } from '@angular/core';
|
|
3
|
+
import { Subject, fromEvent, takeUntil } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
const keypadConfig = () => {
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
code: '1',
|
|
9
|
+
label: '1'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
code: '2',
|
|
13
|
+
label: '2'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
code: '3',
|
|
17
|
+
label: '3'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
code: '4',
|
|
21
|
+
label: '4'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
code: '5',
|
|
25
|
+
label: '5'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
code: '6',
|
|
29
|
+
label: '6'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
code: '7',
|
|
33
|
+
label: '7'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
code: '8',
|
|
37
|
+
label: '8'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
code: '9',
|
|
41
|
+
label: '9'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
code: '*',
|
|
45
|
+
label: '*'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
code: '0',
|
|
49
|
+
label: '0'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
code: '#',
|
|
53
|
+
label: '#'
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
class LibsUiComponentsInputsKeyboardComponent {
|
|
59
|
+
resultSelectKey = signal('');
|
|
60
|
+
configKeyCodes = signal(keypadConfig());
|
|
61
|
+
onDestroy = new Subject();
|
|
62
|
+
zone = inject(NgZone);
|
|
63
|
+
outKeyCodeSelected = output();
|
|
64
|
+
ngAfterViewInit() {
|
|
65
|
+
fromEvent(document, 'keyup').pipe(takeUntil(this.onDestroy)).subscribe(event => {
|
|
66
|
+
this.zone.run(() => {
|
|
67
|
+
this.listenerKeyUp(event);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
handlerClickItem(event, config) {
|
|
72
|
+
event?.stopPropagation();
|
|
73
|
+
this.resultSelectKey.set(`${this.resultSelectKey()}${config.label}`);
|
|
74
|
+
this.outKeyCodeSelected.emit(config.code);
|
|
75
|
+
}
|
|
76
|
+
listenerKeyUp(event) {
|
|
77
|
+
const keyCode = event.keyCode;
|
|
78
|
+
if (48 <= keyCode && keyCode <= 57 || 96 <= keyCode && keyCode <= 105) {
|
|
79
|
+
const config = this.configKeyCodes().find(item => item.code === `${event.key}`);
|
|
80
|
+
if (config) {
|
|
81
|
+
this.resultSelectKey.set(`${this.resultSelectKey()}${config.label}`);
|
|
82
|
+
this.outKeyCodeSelected.emit(config.code);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
ngOnDestroy() {
|
|
87
|
+
this.onDestroy.next();
|
|
88
|
+
this.onDestroy.complete();
|
|
89
|
+
}
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsKeyboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsInputsKeyboardComponent, isStandalone: true, selector: "libs_ui-components-inputs-keyboard", outputs: { outKeyCodeSelected: "outKeyCodeSelected" }, ngImport: i0, template: "<div class=\"libs-ui-inputs-keyboard\">\n <span class=\"libs-ui-font-h1s flex justify-center mt-[12px] h-[24px]\">{{ resultSelectKey() }}</span>\n <hr class=\"mt-[12px] mb-[20px]\">\n <div class=\"flex w-full justify-center\">\n <div class=\"flex flex-wrap -mx-2 p-0 m-0\">\n @for (config of configKeyCodes(); track config) {\n <div class=\"w-1/3 p-0 m-0 flex justify-center !mb-[28px]\">\n <div class=\"libs-ui-border-general libs-ui-inputs-keyboard-item libs-ui-font-h1s\"\n (click)=\"handlerClickItem($event,config)\"> {{ config.label }}</div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [".libs-ui-inputs-keyboard{background-color:#fff;padding:8px 20px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item{display:flex;align-items:center;justify-content:center;border-radius:50%;height:52px;width:52px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item:hover{background-color:#4e4e4e20;cursor:pointer}\n"] });
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsInputsKeyboardComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{ selector: 'libs_ui-components-inputs-keyboard', standalone: true, template: "<div class=\"libs-ui-inputs-keyboard\">\n <span class=\"libs-ui-font-h1s flex justify-center mt-[12px] h-[24px]\">{{ resultSelectKey() }}</span>\n <hr class=\"mt-[12px] mb-[20px]\">\n <div class=\"flex w-full justify-center\">\n <div class=\"flex flex-wrap -mx-2 p-0 m-0\">\n @for (config of configKeyCodes(); track config) {\n <div class=\"w-1/3 p-0 m-0 flex justify-center !mb-[28px]\">\n <div class=\"libs-ui-border-general libs-ui-inputs-keyboard-item libs-ui-font-h1s\"\n (click)=\"handlerClickItem($event,config)\"> {{ config.label }}</div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [".libs-ui-inputs-keyboard{background-color:#fff;padding:8px 20px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item{display:flex;align-items:center;justify-content:center;border-radius:50%;height:52px;width:52px}.libs-ui-inputs-keyboard .libs-ui-inputs-keyboard-item:hover{background-color:#4e4e4e20;cursor:pointer}\n"] }]
|
|
96
|
+
}] });
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Generated bundle index. Do not edit.
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
export { LibsUiComponentsInputsKeyboardComponent };
|
|
103
|
+
//# sourceMappingURL=libs-ui-components-inputs-keyboard.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libs-ui-components-inputs-keyboard.mjs","sources":["../../../../../../libs-ui/components/inputs/keyboard/src/defines/keyboard.define.ts","../../../../../../libs-ui/components/inputs/keyboard/src/keyboard.component.ts","../../../../../../libs-ui/components/inputs/keyboard/src/keyboard.component.html","../../../../../../libs-ui/components/inputs/keyboard/src/libs-ui-components-inputs-keyboard.ts"],"sourcesContent":["import { IKeyCode } from \"../interfaces/keyboard.interface\";\n\nexport const keypadConfig = (): Array<IKeyCode> => {\n return [\n {\n code: '1',\n label: '1'\n },\n {\n code: '2',\n label: '2'\n },\n {\n code: '3',\n label: '3'\n },\n {\n code: '4',\n label: '4'\n },\n {\n code: '5',\n label: '5'\n },\n {\n code: '6',\n label: '6'\n },\n {\n code: '7',\n label: '7'\n },\n {\n code: '8',\n label: '8'\n },\n {\n code: '9',\n label: '9'\n },\n {\n code: '*',\n label: '*'\n },\n {\n code: '0',\n label: '0'\n },\n {\n code: '#',\n label: '#'\n }\n ];\n};\n","import { AfterViewInit, Component, inject, NgZone, OnDestroy, output, signal } from '@angular/core';\nimport { keypadConfig } from './defines/keyboard.define';\nimport { IKeyCode } from './interfaces/keyboard.interface';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { IEvent } from '@libs-ui/interfaces-types';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-keyboard',\n standalone: true,\n templateUrl: './keyboard.component.html',\n styleUrl: './keyboard.component.scss',\n})\nexport class LibsUiComponentsInputsKeyboardComponent implements AfterViewInit, OnDestroy {\n\n protected resultSelectKey = signal<string>('');\n protected configKeyCodes = signal<Array<IKeyCode>>(keypadConfig());\n\n private onDestroy = new Subject<void>();\n private zone = inject(NgZone);\n\n readonly outKeyCodeSelected = output<string>();\n\n ngAfterViewInit() {\n fromEvent<IEvent>(document, 'keyup').pipe(takeUntil(this.onDestroy)).subscribe(event => {\n this.zone.run(() => {\n this.listenerKeyUp(event);\n });\n });\n }\n\n protected handlerClickItem(event: Event, config: IKeyCode) {\n event?.stopPropagation();\n this.resultSelectKey.set(`${this.resultSelectKey()}${config.label}`);\n this.outKeyCodeSelected.emit(config.code);\n }\n\n private listenerKeyUp(event: IEvent) {\n const keyCode = event.keyCode;\n\n if (48 <= keyCode && keyCode <= 57 || 96 <= keyCode && keyCode <= 105) {\n const config = this.configKeyCodes().find(item => item.code === `${event.key}`);\n\n if (config) {\n this.resultSelectKey.set(`${this.resultSelectKey()}${config.label}`);\n this.outKeyCodeSelected.emit(config.code);\n }\n }\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n\n}\n","<div class=\"libs-ui-inputs-keyboard\">\n <span class=\"libs-ui-font-h1s flex justify-center mt-[12px] h-[24px]\">{{ resultSelectKey() }}</span>\n <hr class=\"mt-[12px] mb-[20px]\">\n <div class=\"flex w-full justify-center\">\n <div class=\"flex flex-wrap -mx-2 p-0 m-0\">\n @for (config of configKeyCodes(); track config) {\n <div class=\"w-1/3 p-0 m-0 flex justify-center !mb-[28px]\">\n <div class=\"libs-ui-border-general libs-ui-inputs-keyboard-item libs-ui-font-h1s\"\n (click)=\"handlerClickItem($event,config)\"> {{ config.label }}</div>\n </div>\n }\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './keyboard.component';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { IKeyCode } from './interfaces/keyboard.interface';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LibsUiComponentsInputsKeyboardComponent implements AfterViewInit, OnDestroy {
|
|
5
|
+
protected resultSelectKey: import("@angular/core").WritableSignal<string>;
|
|
6
|
+
protected configKeyCodes: import("@angular/core").WritableSignal<IKeyCode[]>;
|
|
7
|
+
private onDestroy;
|
|
8
|
+
private zone;
|
|
9
|
+
readonly outKeyCodeSelected: import("@angular/core").OutputEmitterRef<string>;
|
|
10
|
+
ngAfterViewInit(): void;
|
|
11
|
+
protected handlerClickItem(event: Event, config: IKeyCode): void;
|
|
12
|
+
private listenerKeyUp;
|
|
13
|
+
ngOnDestroy(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsInputsKeyboardComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsInputsKeyboardComponent, "libs_ui-components-inputs-keyboard", never, {}, { "outKeyCodeSelected": "outKeyCodeSelected"; }, never, never, true, never>;
|
|
16
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@libs-ui/components-inputs-keyboard",
|
|
3
|
+
"version": "0.2.306.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": ">=18.0.0",
|
|
6
|
+
"@angular/core": ">=18.0.0"
|
|
7
|
+
},
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"module": "fesm2022/libs-ui-components-inputs-keyboard.mjs",
|
|
10
|
+
"typings": "index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
"./package.json": {
|
|
13
|
+
"default": "./package.json"
|
|
14
|
+
},
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./index.d.ts",
|
|
17
|
+
"esm2022": "./esm2022/libs-ui-components-inputs-keyboard.mjs",
|
|
18
|
+
"esm": "./esm2022/libs-ui-components-inputs-keyboard.mjs",
|
|
19
|
+
"default": "./fesm2022/libs-ui-components-inputs-keyboard.mjs"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"tslib": "^2.3.0"
|
|
24
|
+
}
|
|
25
|
+
}
|