sales-frontend-utils 0.0.54 → 0.0.56
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 +58 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +56 -16
- package/dist/index.js.map +1 -1
- package/dist/types/common.types.d.cts +5 -1
- package/dist/types/common.types.d.ts +5 -1
- package/dist/utils/canvas-utils.cjs +9 -3
- package/dist/utils/canvas-utils.cjs.map +1 -1
- package/dist/utils/canvas-utils.d.cts +2 -1
- package/dist/utils/canvas-utils.d.ts +2 -1
- package/dist/utils/canvas-utils.js +9 -4
- package/dist/utils/canvas-utils.js.map +1 -1
- package/dist/utils/cookie-utils.cjs.map +1 -1
- package/dist/utils/cookie-utils.js.map +1 -1
- package/dist/utils/environment-utils.cjs +4 -1
- package/dist/utils/environment-utils.cjs.map +1 -1
- package/dist/utils/environment-utils.d.cts +1 -1
- package/dist/utils/environment-utils.d.ts +1 -1
- package/dist/utils/environment-utils.js +4 -1
- package/dist/utils/environment-utils.js.map +1 -1
- package/dist/utils/file-utils.cjs +28 -11
- package/dist/utils/file-utils.cjs.map +1 -1
- package/dist/utils/file-utils.js +28 -11
- package/dist/utils/file-utils.js.map +1 -1
- package/dist/utils/ga/index.cjs.map +1 -1
- package/dist/utils/ga/index.js.map +1 -1
- package/dist/utils/gender.cjs +21 -0
- package/dist/utils/gender.cjs.map +1 -0
- package/dist/utils/gender.d.cts +15 -0
- package/dist/utils/gender.d.ts +15 -0
- package/dist/utils/gender.js +18 -0
- package/dist/utils/gender.js.map +1 -0
- package/dist/utils/user-agent-utils.cjs.map +1 -1
- package/dist/utils/user-agent-utils.js.map +1 -1
- package/package.json +13 -3
package/dist/index.d.cts
CHANGED
|
@@ -2,13 +2,14 @@ export { debounce, throttle } from './utils/timing-utils.cjs';
|
|
|
2
2
|
export { checkUserAgentDspApp, getBrowserName, getBrowserVersion, getCurrentBrowserName, getCurrentBrowserVersion, getCurrentOSName, getCurrentOSVersion, getDeviceModel, getDspExecutionEnvironment, getFormFactorFromUserAgent, getOSName, getOSVersion, getOrCreateDeviceId, isAndroidDevice, isAndroidWebView, isDspApp, isFpPlannerApp, isIosDevice, isIosWebView, isPc, isPhone, isProductionApp, isSalesPortal, isTablet } from './utils/user-agent-utils.cjs';
|
|
3
3
|
export { getApiHostNameFromEnvironment, getBusinessWorkDivisionCode, getCdnHostNameFromEnvironment, getDspApiBasePathFromEnvironment, getDudApiBasePathFromEnvironment, getEnvironmentFromHostname, getNlcHostFromEnvironment, getServicePath, getSubdomain, isClient, isStorybookEnv } from './utils/environment-utils.cjs';
|
|
4
4
|
export { MessageEventManager } from './utils/event-handler-utils.cjs';
|
|
5
|
-
export { convertTextToImg, drawImageResizeCentered } from './utils/canvas-utils.cjs';
|
|
5
|
+
export { convertTextToImg, drawImageResizeCentered, getTextWidth } from './utils/canvas-utils.cjs';
|
|
6
6
|
export { deleteCookie, getCookie, setCookie } from './utils/cookie-utils.cjs';
|
|
7
7
|
export { base64ToBlob, base64ToFile, blobToFile, downloadBlob, fileToBase64, getExt, imageUrlToFile, imageUrlToFileFetch, imageUrlToFileWithCanvas, imageUrlToFileWithXMLHttpRequest, objectUrlToBase64, objectUrlToBlob } from './utils/file-utils.cjs';
|
|
8
8
|
export { addE2EObject, getE2EDataIDs, hasAstx2, initASTX2, loadScript } from './utils/astx2-utils.cjs';
|
|
9
9
|
export { DateFormat, PeriodType, convertDateFormat, convertDateString, getDateDiff, getLastDay, getOneMonthLater, getPeriodDate, isDate, isDateAfter, isFutureDate, isValidDate, validateBirthdate } from './utils/date-utils.cjs';
|
|
10
10
|
export { charFilterEng, charFilterKor, checkKeys, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isEnter, isEscape, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isTab } from './utils/key-trigger-utils.cjs';
|
|
11
|
+
export { GENDER_LABEL_MAP, getGenderName } from './utils/gender.cjs';
|
|
11
12
|
export { loadGaScript } from './utils/ga/index.cjs';
|
|
12
|
-
export { BrowserName, ExecutionEnvironment, OSName } from './types/common.types.cjs';
|
|
13
|
+
export { BrowserName, ExecutionEnvironment, GenderCode, OSName } from './types/common.types.cjs';
|
|
13
14
|
import 'dayjs';
|
|
14
15
|
import 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -2,13 +2,14 @@ export { debounce, throttle } from './utils/timing-utils.js';
|
|
|
2
2
|
export { checkUserAgentDspApp, getBrowserName, getBrowserVersion, getCurrentBrowserName, getCurrentBrowserVersion, getCurrentOSName, getCurrentOSVersion, getDeviceModel, getDspExecutionEnvironment, getFormFactorFromUserAgent, getOSName, getOSVersion, getOrCreateDeviceId, isAndroidDevice, isAndroidWebView, isDspApp, isFpPlannerApp, isIosDevice, isIosWebView, isPc, isPhone, isProductionApp, isSalesPortal, isTablet } from './utils/user-agent-utils.js';
|
|
3
3
|
export { getApiHostNameFromEnvironment, getBusinessWorkDivisionCode, getCdnHostNameFromEnvironment, getDspApiBasePathFromEnvironment, getDudApiBasePathFromEnvironment, getEnvironmentFromHostname, getNlcHostFromEnvironment, getServicePath, getSubdomain, isClient, isStorybookEnv } from './utils/environment-utils.js';
|
|
4
4
|
export { MessageEventManager } from './utils/event-handler-utils.js';
|
|
5
|
-
export { convertTextToImg, drawImageResizeCentered } from './utils/canvas-utils.js';
|
|
5
|
+
export { convertTextToImg, drawImageResizeCentered, getTextWidth } from './utils/canvas-utils.js';
|
|
6
6
|
export { deleteCookie, getCookie, setCookie } from './utils/cookie-utils.js';
|
|
7
7
|
export { base64ToBlob, base64ToFile, blobToFile, downloadBlob, fileToBase64, getExt, imageUrlToFile, imageUrlToFileFetch, imageUrlToFileWithCanvas, imageUrlToFileWithXMLHttpRequest, objectUrlToBase64, objectUrlToBlob } from './utils/file-utils.js';
|
|
8
8
|
export { addE2EObject, getE2EDataIDs, hasAstx2, initASTX2, loadScript } from './utils/astx2-utils.js';
|
|
9
9
|
export { DateFormat, PeriodType, convertDateFormat, convertDateString, getDateDiff, getLastDay, getOneMonthLater, getPeriodDate, isDate, isDateAfter, isFutureDate, isValidDate, validateBirthdate } from './utils/date-utils.js';
|
|
10
10
|
export { charFilterEng, charFilterKor, checkKeys, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isEnter, isEscape, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isTab } from './utils/key-trigger-utils.js';
|
|
11
|
+
export { GENDER_LABEL_MAP, getGenderName } from './utils/gender.js';
|
|
11
12
|
export { loadGaScript } from './utils/ga/index.js';
|
|
12
|
-
export { BrowserName, ExecutionEnvironment, OSName } from './types/common.types.js';
|
|
13
|
+
export { BrowserName, ExecutionEnvironment, GenderCode, OSName } from './types/common.types.js';
|
|
13
14
|
import 'dayjs';
|
|
14
15
|
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -128,7 +128,10 @@ var isStorybookEnv = () => {
|
|
|
128
128
|
return false;
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
|
-
var getBusinessWorkDivisionCode = () => {
|
|
131
|
+
var getBusinessWorkDivisionCode = (pathname) => {
|
|
132
|
+
if (pathname) {
|
|
133
|
+
return pathname.split("/")[1] ?? "";
|
|
134
|
+
}
|
|
132
135
|
return location.pathname.split("/")[1] ?? "";
|
|
133
136
|
};
|
|
134
137
|
var getServicePath = () => {
|
|
@@ -610,6 +613,11 @@ __publicField(_MessageEventManager, "instance");
|
|
|
610
613
|
var MessageEventManager = _MessageEventManager;
|
|
611
614
|
|
|
612
615
|
// src/utils/canvas-utils.ts
|
|
616
|
+
var getTextWidth = (text, font, context) => {
|
|
617
|
+
context.font = font;
|
|
618
|
+
const metrics = context.measureText(text);
|
|
619
|
+
return metrics.width;
|
|
620
|
+
};
|
|
613
621
|
var convertTextToImg = ({
|
|
614
622
|
targetStr,
|
|
615
623
|
canvasWidth,
|
|
@@ -625,8 +633,9 @@ var convertTextToImg = ({
|
|
|
625
633
|
if (!ctx) {
|
|
626
634
|
throw new Error("Canvas context\uB97C \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
627
635
|
}
|
|
636
|
+
const font = `${fontWeight ?? "normal"} ${fontSize ?? 75}px ${fontFamily}`;
|
|
628
637
|
const defaultHeight = 150;
|
|
629
|
-
const calculatedWidth = targetStr
|
|
638
|
+
const calculatedWidth = getTextWidth(targetStr, font, ctx);
|
|
630
639
|
canvas.width = canvasWidth ?? calculatedWidth;
|
|
631
640
|
canvas.height = canvasHeight ?? defaultHeight;
|
|
632
641
|
if (backgroundColor) {
|
|
@@ -635,8 +644,7 @@ var convertTextToImg = ({
|
|
|
635
644
|
}
|
|
636
645
|
ctx.fillStyle = fontColor ?? "black";
|
|
637
646
|
ctx.textAlign = "center";
|
|
638
|
-
ctx.font =
|
|
639
|
-
console.log("font", `${fontWeight ?? "normal"} ${fontSize ?? 75}px ${fontFamily}`);
|
|
647
|
+
ctx.font = font;
|
|
640
648
|
ctx.textBaseline = "middle";
|
|
641
649
|
ctx.fillText(targetStr, canvas.width / 2, canvas.height / 2);
|
|
642
650
|
return canvas.toDataURL();
|
|
@@ -678,23 +686,40 @@ function base64ToBlob(base64String, contentType = "") {
|
|
|
678
686
|
const regex = /^data:([a-zA-Z0-9/+.-]+);base64,/;
|
|
679
687
|
const matches = base64String.match(regex);
|
|
680
688
|
if (matches === null) {
|
|
681
|
-
|
|
689
|
+
const debugInfo = {
|
|
690
|
+
base64String
|
|
691
|
+
};
|
|
692
|
+
throw new Error(`Invalid base64 string format. Debug info: ${JSON.stringify(debugInfo, null, 2)}`);
|
|
682
693
|
}
|
|
683
694
|
const contentTypeFinal = contentType || matches[1];
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
695
|
+
try {
|
|
696
|
+
const byteCharacters = atob(base64String.replace(regex, ""));
|
|
697
|
+
const byteNumbers = new Array(byteCharacters.length);
|
|
698
|
+
for (let i = 0; i < byteCharacters.length; i++) {
|
|
699
|
+
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
700
|
+
}
|
|
701
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
702
|
+
return new Blob([byteArray], { type: contentTypeFinal });
|
|
703
|
+
} catch (error) {
|
|
704
|
+
throw new Error(
|
|
705
|
+
`Failed to decode base64 string. Original error: ${error instanceof Error ? error.message : "Unknown error"}. String length: ${base64String?.length}, Content type: ${contentTypeFinal}`
|
|
706
|
+
);
|
|
688
707
|
}
|
|
689
|
-
const byteArray = new Uint8Array(byteNumbers);
|
|
690
|
-
return new Blob([byteArray], { type: contentTypeFinal });
|
|
691
708
|
}
|
|
692
709
|
function base64ToFile(base64String, fileName, contentType = "") {
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
710
|
+
try {
|
|
711
|
+
const blob = base64ToBlob(base64String, contentType);
|
|
712
|
+
if (!blob) {
|
|
713
|
+
throw new Error(
|
|
714
|
+
`Failed to create blob. FileName: ${fileName}, ContentType: ${contentType}, StringLength: ${base64String?.length}`
|
|
715
|
+
);
|
|
716
|
+
}
|
|
717
|
+
return blobToFile(blob, fileName);
|
|
718
|
+
} catch (error) {
|
|
719
|
+
throw new Error(
|
|
720
|
+
`base64ToFile failed for "${fileName}". ${error instanceof Error ? error.message : "Unknown error"}`
|
|
721
|
+
);
|
|
696
722
|
}
|
|
697
|
-
return blobToFile(blob, fileName);
|
|
698
723
|
}
|
|
699
724
|
function blobToFile(blob, fileName) {
|
|
700
725
|
return new File([blob], fileName, {
|
|
@@ -1145,6 +1170,21 @@ function isOverEngCharCount(value, count) {
|
|
|
1145
1170
|
return false;
|
|
1146
1171
|
}
|
|
1147
1172
|
|
|
1173
|
+
// src/utils/gender.ts
|
|
1174
|
+
var GENDER_LABEL_MAP = {
|
|
1175
|
+
"1": "\uB0A8\uC131",
|
|
1176
|
+
"2": "\uC5EC\uC131",
|
|
1177
|
+
"3": "\uB0A8\uC131",
|
|
1178
|
+
"4": "\uC5EC\uC131",
|
|
1179
|
+
"5": "\uB0A8\uC131",
|
|
1180
|
+
"6": "\uC5EC\uC131",
|
|
1181
|
+
"7": "\uB0A8\uC131",
|
|
1182
|
+
"8": "\uC5EC\uC131"
|
|
1183
|
+
};
|
|
1184
|
+
var getGenderName = (genderCode) => {
|
|
1185
|
+
return genderCode ? GENDER_LABEL_MAP[genderCode] : "";
|
|
1186
|
+
};
|
|
1187
|
+
|
|
1148
1188
|
// src/utils/ga/ga.js
|
|
1149
1189
|
var ga_default = "(function (w, d, s, l, i) {\n w[l] = w[l] || [];\n w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });\n let f = d.getElementsByTagName(s)[0],\n j = d.createElement(s),\n dl = l !== 'dataLayer' ? `&l=${l}` : '';\n j.async = true;\n j.src = `https://www.googletagmanager.com/gtm.js?id=${i}${dl}`;\n f.parentNode.insertBefore(j, f);\n})(window, document, 'script', 'dataLayer', 'GTM-PPT3LJ56');\n";
|
|
1150
1190
|
|
|
@@ -1163,6 +1203,6 @@ var loadGaScript = () => {
|
|
|
1163
1203
|
}
|
|
1164
1204
|
};
|
|
1165
1205
|
|
|
1166
|
-
export { MessageEventManager, addE2EObject, base64ToBlob, base64ToFile, blobToFile, charFilterEng, charFilterKor, checkKeys, checkUserAgentDspApp, convertDateFormat, convertDateString, convertTextToImg, debounce, deleteCookie, downloadBlob, drawImageResizeCentered, fileToBase64, getApiHostNameFromEnvironment, getBrowserName, getBrowserVersion, getBusinessWorkDivisionCode, getCdnHostNameFromEnvironment, getCookie, getCurrentBrowserName, getCurrentBrowserVersion, getCurrentOSName, getCurrentOSVersion, getDateDiff, getDeviceModel, getDspApiBasePathFromEnvironment, getDspExecutionEnvironment, getDudApiBasePathFromEnvironment, getE2EDataIDs, getEnvironmentFromHostname, getExt, getFormFactorFromUserAgent, getLastDay, getNlcHostFromEnvironment, getOSName, getOSVersion, getOneMonthLater, getOrCreateDeviceId, getPeriodDate, getServicePath, getSubdomain, hasAstx2, imageUrlToFile, imageUrlToFileFetch, imageUrlToFileWithCanvas, imageUrlToFileWithXMLHttpRequest, initASTX2, isAndroidDevice, isAndroidWebView, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isClient, isDate, isDateAfter, isDspApp, isEnter, isEscape, isFpPlannerApp, isFutureDate, isIosDevice, isIosWebView, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isPc, isPhone, isProductionApp, isSalesPortal, isStorybookEnv, isTab, isTablet, isValidDate, loadGaScript, loadScript, objectUrlToBase64, objectUrlToBlob, setCookie, throttle, validateBirthdate };
|
|
1206
|
+
export { GENDER_LABEL_MAP, MessageEventManager, addE2EObject, base64ToBlob, base64ToFile, blobToFile, charFilterEng, charFilterKor, checkKeys, checkUserAgentDspApp, convertDateFormat, convertDateString, convertTextToImg, debounce, deleteCookie, downloadBlob, drawImageResizeCentered, fileToBase64, getApiHostNameFromEnvironment, getBrowserName, getBrowserVersion, getBusinessWorkDivisionCode, getCdnHostNameFromEnvironment, getCookie, getCurrentBrowserName, getCurrentBrowserVersion, getCurrentOSName, getCurrentOSVersion, getDateDiff, getDeviceModel, getDspApiBasePathFromEnvironment, getDspExecutionEnvironment, getDudApiBasePathFromEnvironment, getE2EDataIDs, getEnvironmentFromHostname, getExt, getFormFactorFromUserAgent, getGenderName, getLastDay, getNlcHostFromEnvironment, getOSName, getOSVersion, getOneMonthLater, getOrCreateDeviceId, getPeriodDate, getServicePath, getSubdomain, getTextWidth, hasAstx2, imageUrlToFile, imageUrlToFileFetch, imageUrlToFileWithCanvas, imageUrlToFileWithXMLHttpRequest, initASTX2, isAndroidDevice, isAndroidWebView, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isClient, isDate, isDateAfter, isDspApp, isEnter, isEscape, isFpPlannerApp, isFutureDate, isIosDevice, isIosWebView, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isPc, isPhone, isProductionApp, isSalesPortal, isStorybookEnv, isTab, isTablet, isValidDate, loadGaScript, loadScript, objectUrlToBase64, objectUrlToBlob, setCookie, throttle, validateBirthdate };
|
|
1167
1207
|
//# sourceMappingURL=index.js.map
|
|
1168
1208
|
//# sourceMappingURL=index.js.map
|