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.cjs
CHANGED
|
@@ -135,7 +135,10 @@ var isStorybookEnv = () => {
|
|
|
135
135
|
return false;
|
|
136
136
|
}
|
|
137
137
|
};
|
|
138
|
-
var getBusinessWorkDivisionCode = () => {
|
|
138
|
+
var getBusinessWorkDivisionCode = (pathname) => {
|
|
139
|
+
if (pathname) {
|
|
140
|
+
return pathname.split("/")[1] ?? "";
|
|
141
|
+
}
|
|
139
142
|
return location.pathname.split("/")[1] ?? "";
|
|
140
143
|
};
|
|
141
144
|
var getServicePath = () => {
|
|
@@ -617,6 +620,11 @@ __publicField(_MessageEventManager, "instance");
|
|
|
617
620
|
var MessageEventManager = _MessageEventManager;
|
|
618
621
|
|
|
619
622
|
// src/utils/canvas-utils.ts
|
|
623
|
+
var getTextWidth = (text, font, context) => {
|
|
624
|
+
context.font = font;
|
|
625
|
+
const metrics = context.measureText(text);
|
|
626
|
+
return metrics.width;
|
|
627
|
+
};
|
|
620
628
|
var convertTextToImg = ({
|
|
621
629
|
targetStr,
|
|
622
630
|
canvasWidth,
|
|
@@ -632,8 +640,9 @@ var convertTextToImg = ({
|
|
|
632
640
|
if (!ctx) {
|
|
633
641
|
throw new Error("Canvas context\uB97C \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
634
642
|
}
|
|
643
|
+
const font = `${fontWeight ?? "normal"} ${fontSize ?? 75}px ${fontFamily}`;
|
|
635
644
|
const defaultHeight = 150;
|
|
636
|
-
const calculatedWidth = targetStr
|
|
645
|
+
const calculatedWidth = getTextWidth(targetStr, font, ctx);
|
|
637
646
|
canvas.width = canvasWidth ?? calculatedWidth;
|
|
638
647
|
canvas.height = canvasHeight ?? defaultHeight;
|
|
639
648
|
if (backgroundColor) {
|
|
@@ -642,8 +651,7 @@ var convertTextToImg = ({
|
|
|
642
651
|
}
|
|
643
652
|
ctx.fillStyle = fontColor ?? "black";
|
|
644
653
|
ctx.textAlign = "center";
|
|
645
|
-
ctx.font =
|
|
646
|
-
console.log("font", `${fontWeight ?? "normal"} ${fontSize ?? 75}px ${fontFamily}`);
|
|
654
|
+
ctx.font = font;
|
|
647
655
|
ctx.textBaseline = "middle";
|
|
648
656
|
ctx.fillText(targetStr, canvas.width / 2, canvas.height / 2);
|
|
649
657
|
return canvas.toDataURL();
|
|
@@ -685,23 +693,40 @@ function base64ToBlob(base64String, contentType = "") {
|
|
|
685
693
|
const regex = /^data:([a-zA-Z0-9/+.-]+);base64,/;
|
|
686
694
|
const matches = base64String.match(regex);
|
|
687
695
|
if (matches === null) {
|
|
688
|
-
|
|
696
|
+
const debugInfo = {
|
|
697
|
+
base64String
|
|
698
|
+
};
|
|
699
|
+
throw new Error(`Invalid base64 string format. Debug info: ${JSON.stringify(debugInfo, null, 2)}`);
|
|
689
700
|
}
|
|
690
701
|
const contentTypeFinal = contentType || matches[1];
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
702
|
+
try {
|
|
703
|
+
const byteCharacters = atob(base64String.replace(regex, ""));
|
|
704
|
+
const byteNumbers = new Array(byteCharacters.length);
|
|
705
|
+
for (let i = 0; i < byteCharacters.length; i++) {
|
|
706
|
+
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
707
|
+
}
|
|
708
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
709
|
+
return new Blob([byteArray], { type: contentTypeFinal });
|
|
710
|
+
} catch (error) {
|
|
711
|
+
throw new Error(
|
|
712
|
+
`Failed to decode base64 string. Original error: ${error instanceof Error ? error.message : "Unknown error"}. String length: ${base64String?.length}, Content type: ${contentTypeFinal}`
|
|
713
|
+
);
|
|
695
714
|
}
|
|
696
|
-
const byteArray = new Uint8Array(byteNumbers);
|
|
697
|
-
return new Blob([byteArray], { type: contentTypeFinal });
|
|
698
715
|
}
|
|
699
716
|
function base64ToFile(base64String, fileName, contentType = "") {
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
717
|
+
try {
|
|
718
|
+
const blob = base64ToBlob(base64String, contentType);
|
|
719
|
+
if (!blob) {
|
|
720
|
+
throw new Error(
|
|
721
|
+
`Failed to create blob. FileName: ${fileName}, ContentType: ${contentType}, StringLength: ${base64String?.length}`
|
|
722
|
+
);
|
|
723
|
+
}
|
|
724
|
+
return blobToFile(blob, fileName);
|
|
725
|
+
} catch (error) {
|
|
726
|
+
throw new Error(
|
|
727
|
+
`base64ToFile failed for "${fileName}". ${error instanceof Error ? error.message : "Unknown error"}`
|
|
728
|
+
);
|
|
703
729
|
}
|
|
704
|
-
return blobToFile(blob, fileName);
|
|
705
730
|
}
|
|
706
731
|
function blobToFile(blob, fileName) {
|
|
707
732
|
return new File([blob], fileName, {
|
|
@@ -1152,6 +1177,21 @@ function isOverEngCharCount(value, count) {
|
|
|
1152
1177
|
return false;
|
|
1153
1178
|
}
|
|
1154
1179
|
|
|
1180
|
+
// src/utils/gender.ts
|
|
1181
|
+
var GENDER_LABEL_MAP = {
|
|
1182
|
+
"1": "\uB0A8\uC131",
|
|
1183
|
+
"2": "\uC5EC\uC131",
|
|
1184
|
+
"3": "\uB0A8\uC131",
|
|
1185
|
+
"4": "\uC5EC\uC131",
|
|
1186
|
+
"5": "\uB0A8\uC131",
|
|
1187
|
+
"6": "\uC5EC\uC131",
|
|
1188
|
+
"7": "\uB0A8\uC131",
|
|
1189
|
+
"8": "\uC5EC\uC131"
|
|
1190
|
+
};
|
|
1191
|
+
var getGenderName = (genderCode) => {
|
|
1192
|
+
return genderCode ? GENDER_LABEL_MAP[genderCode] : "";
|
|
1193
|
+
};
|
|
1194
|
+
|
|
1155
1195
|
// src/utils/ga/ga.js
|
|
1156
1196
|
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";
|
|
1157
1197
|
|
|
@@ -1170,6 +1210,7 @@ var loadGaScript = () => {
|
|
|
1170
1210
|
}
|
|
1171
1211
|
};
|
|
1172
1212
|
|
|
1213
|
+
exports.GENDER_LABEL_MAP = GENDER_LABEL_MAP;
|
|
1173
1214
|
exports.MessageEventManager = MessageEventManager;
|
|
1174
1215
|
exports.addE2EObject = addE2EObject;
|
|
1175
1216
|
exports.base64ToBlob = base64ToBlob;
|
|
@@ -1206,6 +1247,7 @@ exports.getE2EDataIDs = getE2EDataIDs;
|
|
|
1206
1247
|
exports.getEnvironmentFromHostname = getEnvironmentFromHostname;
|
|
1207
1248
|
exports.getExt = getExt;
|
|
1208
1249
|
exports.getFormFactorFromUserAgent = getFormFactorFromUserAgent;
|
|
1250
|
+
exports.getGenderName = getGenderName;
|
|
1209
1251
|
exports.getLastDay = getLastDay;
|
|
1210
1252
|
exports.getNlcHostFromEnvironment = getNlcHostFromEnvironment;
|
|
1211
1253
|
exports.getOSName = getOSName;
|
|
@@ -1215,6 +1257,7 @@ exports.getOrCreateDeviceId = getOrCreateDeviceId;
|
|
|
1215
1257
|
exports.getPeriodDate = getPeriodDate;
|
|
1216
1258
|
exports.getServicePath = getServicePath;
|
|
1217
1259
|
exports.getSubdomain = getSubdomain;
|
|
1260
|
+
exports.getTextWidth = getTextWidth;
|
|
1218
1261
|
exports.hasAstx2 = hasAstx2;
|
|
1219
1262
|
exports.imageUrlToFile = imageUrlToFile;
|
|
1220
1263
|
exports.imageUrlToFileFetch = imageUrlToFileFetch;
|