sales-frontend-utils 0.0.53 → 0.0.54
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/dist/index.cjs +94 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +81 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/key-trigger-utils.cjs +98 -0
- package/dist/utils/key-trigger-utils.cjs.map +1 -0
- package/dist/utils/key-trigger-utils.d.cts +58 -0
- package/dist/utils/key-trigger-utils.d.ts +58 -0
- package/dist/utils/key-trigger-utils.js +83 -0
- package/dist/utils/key-trigger-utils.js.map +1 -0
- package/package.json +14 -3
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/utils/key-trigger-utils.ts
|
|
4
|
+
var charFilterEng = (value) => value.replace(/[^a-zA-Z]/g, "");
|
|
5
|
+
var charFilterKor = (value) => value.replace(/[^\uAC00-\uD7AF]/g, "");
|
|
6
|
+
function isOverCharCount(value, count) {
|
|
7
|
+
const hangulLength = charFilterKor(value).length;
|
|
8
|
+
const englishLength = charFilterEng(value).length;
|
|
9
|
+
if (hangulLength + englishLength >= count) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
function checkKeys(event, keys) {
|
|
15
|
+
if (keys.includes(event.key)) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
function isEnter(event) {
|
|
21
|
+
if (checkKeys(event, ["Enter"]) || event.code === "NumpadEnter") {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
function isBackspace(event) {
|
|
27
|
+
if (checkKeys(event, ["Backspace"])) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
function isArrowUp(event) {
|
|
33
|
+
if (checkKeys(event, ["ArrowUp"])) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
function isArrowDown(event) {
|
|
39
|
+
if (checkKeys(event, ["ArrowDown"])) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
function isArrowLeft(event) {
|
|
45
|
+
if (checkKeys(event, ["ArrowLeft"])) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
function isArrowRight(event) {
|
|
51
|
+
if (checkKeys(event, ["ArrowRight"])) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
function isTab(event) {
|
|
57
|
+
if (checkKeys(event, ["Tab"])) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
function isEscape(event) {
|
|
63
|
+
if (checkKeys(event, ["Escape"])) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
function isOverKorCharCount(value, count) {
|
|
69
|
+
const hangulLength = charFilterKor(value).length;
|
|
70
|
+
if (hangulLength > count) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
function isOverEngCharCount(value, count) {
|
|
76
|
+
const englishLength = charFilterEng(value).length;
|
|
77
|
+
if (englishLength > count) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
exports.charFilterEng = charFilterEng;
|
|
84
|
+
exports.charFilterKor = charFilterKor;
|
|
85
|
+
exports.checkKeys = checkKeys;
|
|
86
|
+
exports.isArrowDown = isArrowDown;
|
|
87
|
+
exports.isArrowLeft = isArrowLeft;
|
|
88
|
+
exports.isArrowRight = isArrowRight;
|
|
89
|
+
exports.isArrowUp = isArrowUp;
|
|
90
|
+
exports.isBackspace = isBackspace;
|
|
91
|
+
exports.isEnter = isEnter;
|
|
92
|
+
exports.isEscape = isEscape;
|
|
93
|
+
exports.isOverCharCount = isOverCharCount;
|
|
94
|
+
exports.isOverEngCharCount = isOverEngCharCount;
|
|
95
|
+
exports.isOverKorCharCount = isOverKorCharCount;
|
|
96
|
+
exports.isTab = isTab;
|
|
97
|
+
//# sourceMappingURL=key-trigger-utils.cjs.map
|
|
98
|
+
//# sourceMappingURL=key-trigger-utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/key-trigger-utils.ts"],"names":[],"mappings":"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","file":"key-trigger-utils.cjs","sourcesContent":["import React from 'react';\n\nexport const charFilterEng = (value: string) => value.replace(/[^a-zA-Z]/g, '');\nexport const charFilterKor = (value: string) => value.replace(/[^\\uAC00-\\uD7AF]/g, '');\n\n/**\n * 영문+한글포함 N글자 이상 입력시 트리거 발생\n */\nexport function isOverCharCount(value: string, count: number) {\n // value에서 한글만 추출\n const hangulLength = charFilterKor(value).length;\n\n // value에서 영문만 추출\n const englishLength = charFilterEng(value).length;\n\n //영문 한글 조합일때, count 이상 일경우, 트리거 발생\n if (hangulLength + englishLength >= count) {\n return true;\n }\n\n return false;\n}\n\n/**\n * 배열 keys에 포함된 key를 입력시 true 리턴\n * @param event React.KeyboardEvent<HTMLInputElement>\n * @param keys React.KeyboardEvent<HTMLInputElement>['key'][]\n * @returns boolean\n */\nexport function checkKeys(event: React.KeyboardEvent<HTMLInputElement>, keys: React.KeyboardEvent<HTMLInputElement>['key'][]) {\n if (keys.includes(event.key)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Enter 키 입력시 트리거 발생\n * 일반 엔터키 + numberpad 엔터키\n */\nexport function isEnter(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Enter']) || event.code === 'NumpadEnter') {\n return true;\n }\n\n return false;\n}\n\n\n/**\n * Backspace 키 입력시 트리거 발생\n */\nexport function isBackspace(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Backspace'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowUp 키 입력시 트리거 발생\n */\nexport function isArrowUp(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowUp'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowDown 키 입력시 트리거 발생\n */\nexport function isArrowDown(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowDown'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowLeft 키 입력시 트리거 발생\n */\nexport function isArrowLeft(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowLeft'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowRight 키 입력시 트리거 발생\n */\nexport function isArrowRight(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowRight'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Tab 키 입력시 트리거 발생\n */\nexport function isTab(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Tab'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Escape 키 입력시 트리거 발생\n */\nexport function isEscape(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Escape'])) {\n return true;\n }\n\n return false;\n}\n\n\n/**\n * 한글 N글자 이상 입력시 트리거 발생\n */\nexport function isOverKorCharCount(value: string, count: number) {\n //value에서 한글만 추출\n const hangulLength = charFilterKor(value).length;\n\n //한글 count 초과 일경우, 트리거 발생\n if (hangulLength > count) {\n return true;\n }\n\n return false;\n}\n\n\n\n/**\n * 영문 N글자 이상 입력시 트리거 발생\n */\nexport function isOverEngCharCount(value: string, count: number) {\n\n //value에서 영문만 추출\n const englishLength = charFilterEng(value).length;\n\n //영문 count 초과 일경우, 트리거 발생\n if (englishLength > count) {\n return true;\n }\n\n return false;\n}\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
declare const charFilterEng: (value: string) => string;
|
|
4
|
+
declare const charFilterKor: (value: string) => string;
|
|
5
|
+
/**
|
|
6
|
+
* 영문+한글포함 N글자 이상 입력시 트리거 발생
|
|
7
|
+
*/
|
|
8
|
+
declare function isOverCharCount(value: string, count: number): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* 배열 keys에 포함된 key를 입력시 true 리턴
|
|
11
|
+
* @param event React.KeyboardEvent<HTMLInputElement>
|
|
12
|
+
* @param keys React.KeyboardEvent<HTMLInputElement>['key'][]
|
|
13
|
+
* @returns boolean
|
|
14
|
+
*/
|
|
15
|
+
declare function checkKeys(event: React.KeyboardEvent<HTMLInputElement>, keys: React.KeyboardEvent<HTMLInputElement>['key'][]): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Enter 키 입력시 트리거 발생
|
|
18
|
+
* 일반 엔터키 + numberpad 엔터키
|
|
19
|
+
*/
|
|
20
|
+
declare function isEnter(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Backspace 키 입력시 트리거 발생
|
|
23
|
+
*/
|
|
24
|
+
declare function isBackspace(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* ArrowUp 키 입력시 트리거 발생
|
|
27
|
+
*/
|
|
28
|
+
declare function isArrowUp(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* ArrowDown 키 입력시 트리거 발생
|
|
31
|
+
*/
|
|
32
|
+
declare function isArrowDown(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* ArrowLeft 키 입력시 트리거 발생
|
|
35
|
+
*/
|
|
36
|
+
declare function isArrowLeft(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* ArrowRight 키 입력시 트리거 발생
|
|
39
|
+
*/
|
|
40
|
+
declare function isArrowRight(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Tab 키 입력시 트리거 발생
|
|
43
|
+
*/
|
|
44
|
+
declare function isTab(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Escape 키 입력시 트리거 발생
|
|
47
|
+
*/
|
|
48
|
+
declare function isEscape(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* 한글 N글자 이상 입력시 트리거 발생
|
|
51
|
+
*/
|
|
52
|
+
declare function isOverKorCharCount(value: string, count: number): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* 영문 N글자 이상 입력시 트리거 발생
|
|
55
|
+
*/
|
|
56
|
+
declare function isOverEngCharCount(value: string, count: number): boolean;
|
|
57
|
+
|
|
58
|
+
export { charFilterEng, charFilterKor, checkKeys, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isEnter, isEscape, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isTab };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
declare const charFilterEng: (value: string) => string;
|
|
4
|
+
declare const charFilterKor: (value: string) => string;
|
|
5
|
+
/**
|
|
6
|
+
* 영문+한글포함 N글자 이상 입력시 트리거 발생
|
|
7
|
+
*/
|
|
8
|
+
declare function isOverCharCount(value: string, count: number): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* 배열 keys에 포함된 key를 입력시 true 리턴
|
|
11
|
+
* @param event React.KeyboardEvent<HTMLInputElement>
|
|
12
|
+
* @param keys React.KeyboardEvent<HTMLInputElement>['key'][]
|
|
13
|
+
* @returns boolean
|
|
14
|
+
*/
|
|
15
|
+
declare function checkKeys(event: React.KeyboardEvent<HTMLInputElement>, keys: React.KeyboardEvent<HTMLInputElement>['key'][]): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Enter 키 입력시 트리거 발생
|
|
18
|
+
* 일반 엔터키 + numberpad 엔터키
|
|
19
|
+
*/
|
|
20
|
+
declare function isEnter(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Backspace 키 입력시 트리거 발생
|
|
23
|
+
*/
|
|
24
|
+
declare function isBackspace(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* ArrowUp 키 입력시 트리거 발생
|
|
27
|
+
*/
|
|
28
|
+
declare function isArrowUp(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* ArrowDown 키 입력시 트리거 발생
|
|
31
|
+
*/
|
|
32
|
+
declare function isArrowDown(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* ArrowLeft 키 입력시 트리거 발생
|
|
35
|
+
*/
|
|
36
|
+
declare function isArrowLeft(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* ArrowRight 키 입력시 트리거 발생
|
|
39
|
+
*/
|
|
40
|
+
declare function isArrowRight(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Tab 키 입력시 트리거 발생
|
|
43
|
+
*/
|
|
44
|
+
declare function isTab(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Escape 키 입력시 트리거 발생
|
|
47
|
+
*/
|
|
48
|
+
declare function isEscape(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* 한글 N글자 이상 입력시 트리거 발생
|
|
51
|
+
*/
|
|
52
|
+
declare function isOverKorCharCount(value: string, count: number): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* 영문 N글자 이상 입력시 트리거 발생
|
|
55
|
+
*/
|
|
56
|
+
declare function isOverEngCharCount(value: string, count: number): boolean;
|
|
57
|
+
|
|
58
|
+
export { charFilterEng, charFilterKor, checkKeys, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isEnter, isEscape, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isTab };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// src/utils/key-trigger-utils.ts
|
|
2
|
+
var charFilterEng = (value) => value.replace(/[^a-zA-Z]/g, "");
|
|
3
|
+
var charFilterKor = (value) => value.replace(/[^\uAC00-\uD7AF]/g, "");
|
|
4
|
+
function isOverCharCount(value, count) {
|
|
5
|
+
const hangulLength = charFilterKor(value).length;
|
|
6
|
+
const englishLength = charFilterEng(value).length;
|
|
7
|
+
if (hangulLength + englishLength >= count) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
function checkKeys(event, keys) {
|
|
13
|
+
if (keys.includes(event.key)) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
function isEnter(event) {
|
|
19
|
+
if (checkKeys(event, ["Enter"]) || event.code === "NumpadEnter") {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
function isBackspace(event) {
|
|
25
|
+
if (checkKeys(event, ["Backspace"])) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
function isArrowUp(event) {
|
|
31
|
+
if (checkKeys(event, ["ArrowUp"])) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
function isArrowDown(event) {
|
|
37
|
+
if (checkKeys(event, ["ArrowDown"])) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
function isArrowLeft(event) {
|
|
43
|
+
if (checkKeys(event, ["ArrowLeft"])) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
function isArrowRight(event) {
|
|
49
|
+
if (checkKeys(event, ["ArrowRight"])) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
function isTab(event) {
|
|
55
|
+
if (checkKeys(event, ["Tab"])) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
function isEscape(event) {
|
|
61
|
+
if (checkKeys(event, ["Escape"])) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
function isOverKorCharCount(value, count) {
|
|
67
|
+
const hangulLength = charFilterKor(value).length;
|
|
68
|
+
if (hangulLength > count) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
function isOverEngCharCount(value, count) {
|
|
74
|
+
const englishLength = charFilterEng(value).length;
|
|
75
|
+
if (englishLength > count) {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export { charFilterEng, charFilterKor, checkKeys, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isEnter, isEscape, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isTab };
|
|
82
|
+
//# sourceMappingURL=key-trigger-utils.js.map
|
|
83
|
+
//# sourceMappingURL=key-trigger-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/key-trigger-utils.ts"],"names":[],"mappings":";AAEO,IAAM,gBAAgB,CAAC,KAAA,KAAkB,KAAM,CAAA,OAAA,CAAQ,cAAc,EAAE;AACvE,IAAM,gBAAgB,CAAC,KAAA,KAAkB,KAAM,CAAA,OAAA,CAAQ,qBAAqB,EAAE;AAK9E,SAAS,eAAA,CAAgB,OAAe,KAAe,EAAA;AAE1D,EAAM,MAAA,YAAA,GAAe,aAAc,CAAA,KAAK,CAAE,CAAA,MAAA;AAG1C,EAAM,MAAA,aAAA,GAAgB,aAAc,CAAA,KAAK,CAAE,CAAA,MAAA;AAG3C,EAAI,IAAA,YAAA,GAAe,iBAAiB,KAAO,EAAA;AACvC,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAQO,SAAS,SAAA,CAAU,OAA8C,IAAsD,EAAA;AAC1H,EAAA,IAAI,IAAK,CAAA,QAAA,CAAS,KAAM,CAAA,GAAG,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAMO,SAAS,QAAQ,KAA8C,EAAA;AAClE,EAAI,IAAA,SAAA,CAAU,OAAO,CAAC,OAAO,CAAC,CAAK,IAAA,KAAA,CAAM,SAAS,aAAe,EAAA;AAC7D,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAMO,SAAS,YAAY,KAA8C,EAAA;AACtE,EAAA,IAAI,SAAU,CAAA,KAAA,EAAO,CAAC,WAAW,CAAC,CAAG,EAAA;AACjC,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAKO,SAAS,UAAU,KAA8C,EAAA;AACpE,EAAA,IAAI,SAAU,CAAA,KAAA,EAAO,CAAC,SAAS,CAAC,CAAG,EAAA;AAC/B,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAKO,SAAS,YAAY,KAA8C,EAAA;AACtE,EAAA,IAAI,SAAU,CAAA,KAAA,EAAO,CAAC,WAAW,CAAC,CAAG,EAAA;AACjC,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAKO,SAAS,YAAY,KAA8C,EAAA;AACtE,EAAA,IAAI,SAAU,CAAA,KAAA,EAAO,CAAC,WAAW,CAAC,CAAG,EAAA;AACjC,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAKO,SAAS,aAAa,KAA8C,EAAA;AACvE,EAAA,IAAI,SAAU,CAAA,KAAA,EAAO,CAAC,YAAY,CAAC,CAAG,EAAA;AAClC,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAKO,SAAS,MAAM,KAA8C,EAAA;AAChE,EAAA,IAAI,SAAU,CAAA,KAAA,EAAO,CAAC,KAAK,CAAC,CAAG,EAAA;AAC3B,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAKO,SAAS,SAAS,KAA8C,EAAA;AACnE,EAAA,IAAI,SAAU,CAAA,KAAA,EAAO,CAAC,QAAQ,CAAC,CAAG,EAAA;AAC9B,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAMO,SAAS,kBAAA,CAAmB,OAAe,KAAe,EAAA;AAE7D,EAAM,MAAA,YAAA,GAAe,aAAc,CAAA,KAAK,CAAE,CAAA,MAAA;AAG1C,EAAA,IAAI,eAAe,KAAO,EAAA;AACtB,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX;AAOO,SAAS,kBAAA,CAAmB,OAAe,KAAe,EAAA;AAG7D,EAAM,MAAA,aAAA,GAAgB,aAAc,CAAA,KAAK,CAAE,CAAA,MAAA;AAG3C,EAAA,IAAI,gBAAgB,KAAO,EAAA;AACvB,IAAO,OAAA,IAAA;AAAA;AAGX,EAAO,OAAA,KAAA;AACX","file":"key-trigger-utils.js","sourcesContent":["import React from 'react';\n\nexport const charFilterEng = (value: string) => value.replace(/[^a-zA-Z]/g, '');\nexport const charFilterKor = (value: string) => value.replace(/[^\\uAC00-\\uD7AF]/g, '');\n\n/**\n * 영문+한글포함 N글자 이상 입력시 트리거 발생\n */\nexport function isOverCharCount(value: string, count: number) {\n // value에서 한글만 추출\n const hangulLength = charFilterKor(value).length;\n\n // value에서 영문만 추출\n const englishLength = charFilterEng(value).length;\n\n //영문 한글 조합일때, count 이상 일경우, 트리거 발생\n if (hangulLength + englishLength >= count) {\n return true;\n }\n\n return false;\n}\n\n/**\n * 배열 keys에 포함된 key를 입력시 true 리턴\n * @param event React.KeyboardEvent<HTMLInputElement>\n * @param keys React.KeyboardEvent<HTMLInputElement>['key'][]\n * @returns boolean\n */\nexport function checkKeys(event: React.KeyboardEvent<HTMLInputElement>, keys: React.KeyboardEvent<HTMLInputElement>['key'][]) {\n if (keys.includes(event.key)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Enter 키 입력시 트리거 발생\n * 일반 엔터키 + numberpad 엔터키\n */\nexport function isEnter(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Enter']) || event.code === 'NumpadEnter') {\n return true;\n }\n\n return false;\n}\n\n\n/**\n * Backspace 키 입력시 트리거 발생\n */\nexport function isBackspace(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Backspace'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowUp 키 입력시 트리거 발생\n */\nexport function isArrowUp(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowUp'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowDown 키 입력시 트리거 발생\n */\nexport function isArrowDown(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowDown'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowLeft 키 입력시 트리거 발생\n */\nexport function isArrowLeft(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowLeft'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * ArrowRight 키 입력시 트리거 발생\n */\nexport function isArrowRight(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['ArrowRight'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Tab 키 입력시 트리거 발생\n */\nexport function isTab(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Tab'])) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Escape 키 입력시 트리거 발생\n */\nexport function isEscape(event: React.KeyboardEvent<HTMLInputElement>) {\n if (checkKeys(event, ['Escape'])) {\n return true;\n }\n\n return false;\n}\n\n\n/**\n * 한글 N글자 이상 입력시 트리거 발생\n */\nexport function isOverKorCharCount(value: string, count: number) {\n //value에서 한글만 추출\n const hangulLength = charFilterKor(value).length;\n\n //한글 count 초과 일경우, 트리거 발생\n if (hangulLength > count) {\n return true;\n }\n\n return false;\n}\n\n\n\n/**\n * 영문 N글자 이상 입력시 트리거 발생\n */\nexport function isOverEngCharCount(value: string, count: number) {\n\n //value에서 영문만 추출\n const englishLength = charFilterEng(value).length;\n\n //영문 count 초과 일경우, 트리거 발생\n if (englishLength > count) {\n return true;\n }\n\n return false;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sales-frontend-utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.54",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -138,6 +138,16 @@
|
|
|
138
138
|
"types": "./dist/utils/ga/index.d.cts",
|
|
139
139
|
"default": "./dist/utils/ga/index.cjs"
|
|
140
140
|
}
|
|
141
|
+
},
|
|
142
|
+
"./key-trigger": {
|
|
143
|
+
"import": {
|
|
144
|
+
"types": "./dist/utils/key-trigger-utils.d.ts",
|
|
145
|
+
"default": "./dist/utils/key-trigger-utils.js"
|
|
146
|
+
},
|
|
147
|
+
"require": {
|
|
148
|
+
"types": "./dist/utils/key-trigger-utils.d.cts",
|
|
149
|
+
"default": "./dist/utils/key-trigger-utils.cjs"
|
|
150
|
+
}
|
|
141
151
|
}
|
|
142
152
|
},
|
|
143
153
|
"dependencies": {
|
|
@@ -145,10 +155,11 @@
|
|
|
145
155
|
},
|
|
146
156
|
"devDependencies": {
|
|
147
157
|
"@types/node": "^22.14.1",
|
|
158
|
+
"@types/react": "19.1.0",
|
|
148
159
|
"tsup": "^8.4.0",
|
|
149
160
|
"typescript": "5.8.2",
|
|
150
|
-
"
|
|
151
|
-
"sales-frontend-
|
|
161
|
+
"sales-frontend-typescript-config": "0.0.2",
|
|
162
|
+
"eslint-config-sales-frontend-eslint-config-v8": "^0.0.7"
|
|
152
163
|
},
|
|
153
164
|
"scripts": {
|
|
154
165
|
"lint": "eslint . --max-warnings 0",
|