sales-frontend-components 0.0.104 → 0.0.106
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.js +1 -129
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -21
- package/dist/index.esm.js +4 -130
- package/dist/index.esm.js.map +1 -1
- package/package.json +16 -16
package/dist/index.d.ts
CHANGED
|
@@ -414,6 +414,7 @@ declare function useJobVehicleSearchModal(): {
|
|
|
414
414
|
selectedVehicle: sales_frontend_api_method.VehicleTypeResponseDto | undefined;
|
|
415
415
|
riskGrade: string;
|
|
416
416
|
hospitalizationGrade: string;
|
|
417
|
+
isOpenJobVehicleModal: boolean;
|
|
417
418
|
openJobVehicleModal: () => void;
|
|
418
419
|
closeJobVehicleModal: () => void;
|
|
419
420
|
JobVehicleSearchModalComponent: react_jsx_runtime.JSX.Element;
|
|
@@ -505,25 +506,5 @@ declare const useRemoteIdentityVerificationPopup: (config: UseRemoteIdentityVeri
|
|
|
505
506
|
isCreatingUrl: boolean;
|
|
506
507
|
};
|
|
507
508
|
|
|
508
|
-
|
|
509
|
-
* 앱 시작 시 ClientSession을 플랫폼(웹뷰, 순수 웹)에 맞게 자동 설정하는 훅
|
|
510
|
-
*
|
|
511
|
-
* @returns {boolean} 초기화 완료 여부
|
|
512
|
-
*/
|
|
513
|
-
declare const useSetupClientSession: () => boolean;
|
|
514
|
-
|
|
515
|
-
interface ClientSessionProviderProps {
|
|
516
|
-
children: React.ReactNode;
|
|
517
|
-
/**
|
|
518
|
-
* 초기화 중 표시할 로딩 컴포넌트
|
|
519
|
-
*/
|
|
520
|
-
loadingComponent?: React.ReactNode;
|
|
521
|
-
}
|
|
522
|
-
/**
|
|
523
|
-
* ClientSession 초기화를 담당하는 Provider 컴포넌트
|
|
524
|
-
* 앱의 최상위에서 사용하여 플랫폼별 세션 정보를 자동으로 설정합니다.
|
|
525
|
-
*/
|
|
526
|
-
declare const ClientSessionProvider: ({ children, loadingComponent }: ClientSessionProviderProps) => react_jsx_runtime.JSX.Element;
|
|
527
|
-
|
|
528
|
-
export { Attachment, BankStockSearchModal, CODES, ClientSessionProvider, CustomerSearch, DeaCustomerSearchModal, EmployeeSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobVehicleSearchModal, OrganizationSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobSearchModal, useJobVehicleSearchModal, useNationalityComponent, useNxlOneModal, useRemoteIdentityVerification, useRemoteIdentityVerificationIframe, useRemoteIdentityVerificationPopup, useSearchAddress, useSearchNationality, useSearchVisa, useSetupClientSession, useVisaComponent };
|
|
509
|
+
export { Attachment, BankStockSearchModal, CODES, CustomerSearch, DeaCustomerSearchModal, EmployeeSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobVehicleSearchModal, OrganizationSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobSearchModal, useJobVehicleSearchModal, useNationalityComponent, useNxlOneModal, useRemoteIdentityVerification, useRemoteIdentityVerificationIframe, useRemoteIdentityVerificationPopup, useSearchAddress, useSearchNationality, useSearchVisa, useVisaComponent };
|
|
529
510
|
export type { AttachedPhoto, AttachmentProps, BankStockSearchModalProps, CodeSet, DownloadProps, FormSegmentGroupProps, NxlOneProps, NxlOneResponse, PaintProps, Pen, RemoteIdentityVerificationSuccess, RivUrlParams, Step, StepIndicatorProps, StepItem, UseRemoteIdentityVerificationProps, VerificationResponse, cameraItemType, cameraOptions };
|
package/dist/index.esm.js
CHANGED
|
@@ -2,13 +2,13 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useController } from 'react-hook-form';
|
|
3
3
|
import { CheckboxButton, Checkbox, isDate, DatePicker, DateRangePicker, FormCore, Modal, Button, RadioGroup, Radio, FormField, useModalState, ModalUtils, useDropDown, List, ListItem, Table, Select, Accordion, Tab, SegmentGroup, Loading } from 'sales-frontend-design-system';
|
|
4
4
|
import React, { useState, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
5
|
-
import { useSearchAddressQuery, useSearchPostalCodeQuery, useSearchAddressStandardizationQuery, useSearchCommonCodeQuery, useSearchCustomerListQuery, useSearchNationalityQuery, useSearchVisaQuery, getDspCustomerListMethod, useSearchEmployeeProfileQuery, useSearchOccupationDetailQuery, useSearchOccupationQuery, useSearchVehicleQuery, useSearchRiskGradeQuery, useSearchOrganizationQuery, getRemoteIdentityVerificationSystemToken
|
|
5
|
+
import { useSearchAddressQuery, useSearchPostalCodeQuery, useSearchAddressStandardizationQuery, useSearchCommonCodeQuery, useSearchCustomerListQuery, useSearchNationalityQuery, useSearchVisaQuery, getDspCustomerListMethod, useSearchEmployeeProfileQuery, useSearchOccupationDetailQuery, useSearchOccupationQuery, useSearchVehicleQuery, useSearchRiskGradeQuery, useSearchOrganizationQuery, getRemoteIdentityVerificationSystemToken } from 'sales-frontend-api/method';
|
|
6
6
|
import { IconMainUiSearch, IconGraphicsBankSaneop, IconGraphicsBankKiup, IconGraphicsBankKukmin, IconGraphicsBankSuhyeop, IconGraphicsBankJangGiSinYong, IconGraphicsBankNhNonghyeop, IconGraphicsBankJiyeokNonghyeop, IconGraphicsBankWoori, IconGraphicsBankScJeil, IconGraphicsBankSinhan, IconGraphicsBankHankookCity, IconGraphicsBankDaegu, IconGraphicsBankBusan, IconGraphicsBankGwangju, IconGraphicsBankJeju, IconGraphicsBankJeonbuk, IconGraphicsBankGyeongnam, IconGraphicsBankSaemaulGeumgo, IconGraphicsBankSinhyeop, IconGraphicsBankJeochuk, IconGraphicsBankHsbc, IconGraphicsBankABNAMRO, IconGraphicsBankSanlim, IconGraphicsBankPost, IconGraphicsBankKebHana, IconGraphicsBankKBank, IconGraphicsBankKakaoBank, IconGraphicsBankTossBank, IconGraphicsStockYuantaJeungkwon, IconGraphicsStockKbJeungkwon, IconGraphicsStockMiraeAssetJeungkwon, IconGraphicsStockSamsungJeungkwon, IconGraphicsStockHankookTujajeungkwon, IconGraphicsStockNhWooriTujajeungkwon, IconGraphicsStockGyoboJeungkwon, IconGraphicsStockHiTujajeungkwon, IconGraphicsStockHyundaiChaJeungkwon, IconGraphicsStockKiwoomJeungkwon, IconGraphicsStockSkJeungkwon, IconGraphicsStockDaesinJeungkwon, IconGraphicsStockHanwhaTujajeungkwon, IconGraphicsStockHanaGeumyungTujajeungkwon, IconGraphicsStockSinhanTujajeungkwon, IconGraphicsStockDbGeumyungTujajeungkwon, IconGraphicsStockYujinTujajeungkwon, IconGraphicsStockMeritzJeungkwon, IconGraphicsStockKakaoPayJeungkwon, IconGraphicsStockNhTujajeungkwon, IconGraphicsStockBugukJeungkwon, IconGraphicsStockSinyeongJeungkwon, IconGraphicsStockHochulEopsum, IconGraphicsFeedbackEmpty, IconIllustGrade, IconIllustJob, IconSubUiArrowRight, IconIllustVehicle, IconIllustCamera } from 'sales-frontend-assets';
|
|
7
7
|
import styles from './modal/standard/address-search/select-address.module.scss';
|
|
8
8
|
import styles$1 from './modal/standard/bank-stock-search/bank-stock-search-modal.module.scss';
|
|
9
9
|
import styles$2 from './modal/standard/customer-search/customer-search.module.scss';
|
|
10
10
|
import styles$3 from './modal/standard/nationality-search/select-nationality.module.scss';
|
|
11
|
-
import { isClient, MessageEventManager
|
|
11
|
+
import { isClient, MessageEventManager } from 'sales-frontend-utils';
|
|
12
12
|
import styles$4 from './modal/standard/visa-search/select-visa.module.scss';
|
|
13
13
|
import { useQuery } from '@tanstack/react-query';
|
|
14
14
|
import styles$5 from './modal/pre-standard/dea-customer-search-modal/dea-customer-search-modal.module.scss';
|
|
@@ -19,8 +19,6 @@ import styles$9 from './modal/pre-standard/vehicle-search-modal/vehicle-search-m
|
|
|
19
19
|
import styles$a from './modal/pre-standard/organization-search-modal/organization-search-modal.module.scss';
|
|
20
20
|
import styles$b from './step-indicator/step-indicator.module.scss';
|
|
21
21
|
import styles$c from './camera/camera.module.scss';
|
|
22
|
-
import { useClientSession, useSetClientSession } from 'sales-frontend-stores';
|
|
23
|
-
import { Bridge } from 'sales-frontend-bridge';
|
|
24
22
|
|
|
25
23
|
const FormCheckboxButton = ({
|
|
26
24
|
name,
|
|
@@ -2802,6 +2800,7 @@ function useJobVehicleSearchModal() {
|
|
|
2802
2800
|
selectedVehicle,
|
|
2803
2801
|
riskGrade,
|
|
2804
2802
|
hospitalizationGrade,
|
|
2803
|
+
isOpenJobVehicleModal: isOpen,
|
|
2805
2804
|
openJobVehicleModal: openInitModal,
|
|
2806
2805
|
closeJobVehicleModal: closeModal,
|
|
2807
2806
|
JobVehicleSearchModalComponent: /* @__PURE__ */ jsxs(Modal.Root, { isOpen, onClose: closeModal, modalSize: "xlarge", children: [
|
|
@@ -3978,130 +3977,5 @@ const useRemoteIdentityVerificationPopup = (config) => {
|
|
|
3978
3977
|
};
|
|
3979
3978
|
};
|
|
3980
3979
|
|
|
3981
|
-
|
|
3982
|
-
const { pathname } = location;
|
|
3983
|
-
if (pathname) {
|
|
3984
|
-
const segments = pathname.split("/").filter(Boolean);
|
|
3985
|
-
if (segments.length >= 2) {
|
|
3986
|
-
const secondSegment = segments[1]?.toLowerCase();
|
|
3987
|
-
if (secondSegment === "mobile") {
|
|
3988
|
-
return "phone";
|
|
3989
|
-
}
|
|
3990
|
-
if (secondSegment === "tablet") {
|
|
3991
|
-
return "tablet";
|
|
3992
|
-
}
|
|
3993
|
-
if (secondSegment === "pc") {
|
|
3994
|
-
return "pc";
|
|
3995
|
-
}
|
|
3996
|
-
}
|
|
3997
|
-
}
|
|
3998
|
-
return getFormFactorFromUserAgent(navigator.userAgent);
|
|
3999
|
-
};
|
|
4000
|
-
const createPureWebClientSession = async () => {
|
|
4001
|
-
const hasAccessToken = !!getCookie("accessToken");
|
|
4002
|
-
return {
|
|
4003
|
-
isInitialized: true,
|
|
4004
|
-
isLoggedIn: hasAccessToken,
|
|
4005
|
-
isWebView: false,
|
|
4006
|
-
acceptLanguage: navigator.language || "ko",
|
|
4007
|
-
formFactor: getFormFactor(),
|
|
4008
|
-
deviceId: getOrCreateDeviceId(),
|
|
4009
|
-
appVersion: getBrowserVersion(navigator.userAgent),
|
|
4010
|
-
loginType: "web-login",
|
|
4011
|
-
platformName: getOSName(navigator.userAgent),
|
|
4012
|
-
platformVersion: getOSVersion(navigator.userAgent),
|
|
4013
|
-
deviceModel: getDeviceModel(),
|
|
4014
|
-
loginChannel: isSalesPortal() ? "HMP" : "ETC"
|
|
4015
|
-
};
|
|
4016
|
-
};
|
|
4017
|
-
const createWebviewClientSession = async () => {
|
|
4018
|
-
let appInfo = null;
|
|
4019
|
-
try {
|
|
4020
|
-
appInfo = await Bridge.native.getAppInfo();
|
|
4021
|
-
} catch (error) {
|
|
4022
|
-
console.warn("[createWebviewClientSession] getAppInfo \uC2E4\uD328, \uCFE0\uD0A4 \uAC12\uC73C\uB85C fallback:", error);
|
|
4023
|
-
}
|
|
4024
|
-
const isLoggedIn = isFpPlannerApp() ? !!getCookie("accessToken") : !!(await Bridge.native.getAccessToken()).accessToken;
|
|
4025
|
-
const formFactor = appInfo?.["X-Channel-FormFactor"]?.toLowerCase() ?? getCookie("formFactor")?.toLowerCase() ?? getFormFactor();
|
|
4026
|
-
const loginChannel = appInfo?.["X-Channel-LoginChannel"] ?? getCookie("loginChannel") ?? "DSP";
|
|
4027
|
-
return {
|
|
4028
|
-
isInitialized: true,
|
|
4029
|
-
isLoggedIn,
|
|
4030
|
-
isWebView: true,
|
|
4031
|
-
acceptLanguage: appInfo?.["Accept-Language"] ?? "ko",
|
|
4032
|
-
formFactor,
|
|
4033
|
-
deviceId: appInfo?.["X-Channel-DeviceId"] ?? getCookie("deviceId"),
|
|
4034
|
-
appVersion: appInfo?.["X-Channel-AppVersion"] ?? getCookie("appVersion"),
|
|
4035
|
-
loginType: appInfo?.["X-Channel-LoginType"] ?? getCookie("loginType"),
|
|
4036
|
-
platformName: appInfo?.["X-Channel-PlatformName"] ?? getCookie("platformName"),
|
|
4037
|
-
platformVersion: appInfo?.["X-Channel-PlatformVersion"] ?? getCookie("platformVersion"),
|
|
4038
|
-
deviceModel: appInfo?.["X-Channel-DeviceModel"] ?? getCookie("deviceModel"),
|
|
4039
|
-
loginChannel
|
|
4040
|
-
};
|
|
4041
|
-
};
|
|
4042
|
-
const getLoginUserInfo = async () => {
|
|
4043
|
-
try {
|
|
4044
|
-
const { isSuccess, data } = await getUserProfile();
|
|
4045
|
-
if (isSuccess && data) {
|
|
4046
|
-
console.log("[useSetupClientSession] \uD504\uB85C\uD544 \uB85C\uB4DC \uC131\uACF5");
|
|
4047
|
-
return data;
|
|
4048
|
-
}
|
|
4049
|
-
console.warn("[getLoginUserInfo] \uD504\uB85C\uD544 \uB85C\uB4DC \uC2E4\uD328: \uC751\uB2F5 \uC5C6\uC74C");
|
|
4050
|
-
return null;
|
|
4051
|
-
} catch (error) {
|
|
4052
|
-
console.error("[getLoginUserInfo] \uD504\uB85C\uD544 \uB85C\uB4DC \uC2E4\uD328:", error);
|
|
4053
|
-
return null;
|
|
4054
|
-
}
|
|
4055
|
-
};
|
|
4056
|
-
|
|
4057
|
-
const useSetupClientSession = () => {
|
|
4058
|
-
const { isInitialized, isLoggedIn } = useClientSession();
|
|
4059
|
-
const setClientSession = useSetClientSession();
|
|
4060
|
-
useEffect(() => {
|
|
4061
|
-
if (isInitialized) {
|
|
4062
|
-
console.log("[useSetupClientSession] Already initialized");
|
|
4063
|
-
return;
|
|
4064
|
-
}
|
|
4065
|
-
const initialize = async () => {
|
|
4066
|
-
try {
|
|
4067
|
-
console.log("[useSetupClientSession] \uCD08\uAE30\uD654 \uC2DC\uC791...");
|
|
4068
|
-
if (isWebView()) {
|
|
4069
|
-
console.log("[useSetupClientSession] \uC6F9\uBDF0 \uD658\uACBD \uAC10\uC9C0");
|
|
4070
|
-
setClientSession(await createWebviewClientSession());
|
|
4071
|
-
} else {
|
|
4072
|
-
console.log("[useSetupClientSession] \uC21C\uC218 \uC6F9 \uD658\uACBD \uAC10\uC9C0");
|
|
4073
|
-
setClientSession(await createPureWebClientSession());
|
|
4074
|
-
}
|
|
4075
|
-
console.log("[useSetupClientSession] \uAE30\uBCF8 \uC138\uC158 \uC124\uC815 \uC644\uB8CC");
|
|
4076
|
-
} catch (error) {
|
|
4077
|
-
console.error("[useSetupClientSession] \uCD08\uAE30\uD654 \uC2E4\uD328:", error);
|
|
4078
|
-
}
|
|
4079
|
-
};
|
|
4080
|
-
initialize();
|
|
4081
|
-
}, [isInitialized, setClientSession]);
|
|
4082
|
-
useEffect(() => {
|
|
4083
|
-
if (!isInitialized || !isLoggedIn) {
|
|
4084
|
-
return;
|
|
4085
|
-
}
|
|
4086
|
-
const loadUserInfo = async () => {
|
|
4087
|
-
console.log("[useSetupClientSession] \uC0AC\uC6A9\uC790 \uD504\uB85C\uD544 \uB85C\uB4DC \uC2DC\uC791...");
|
|
4088
|
-
const userInfo = await getLoginUserInfo();
|
|
4089
|
-
if (userInfo) {
|
|
4090
|
-
setClientSession(userInfo);
|
|
4091
|
-
}
|
|
4092
|
-
};
|
|
4093
|
-
loadUserInfo();
|
|
4094
|
-
}, [isInitialized, isLoggedIn, setClientSession]);
|
|
4095
|
-
return isInitialized ?? false;
|
|
4096
|
-
};
|
|
4097
|
-
|
|
4098
|
-
const ClientSessionProvider = ({ children, loadingComponent = null }) => {
|
|
4099
|
-
const isInitialized = useSetupClientSession();
|
|
4100
|
-
if (!isInitialized) {
|
|
4101
|
-
return /* @__PURE__ */ jsx(Fragment, { children: loadingComponent });
|
|
4102
|
-
}
|
|
4103
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
4104
|
-
};
|
|
4105
|
-
|
|
4106
|
-
export { Attachment, BankStockSearchModal, CODES, ClientSessionProvider, CustomerSearch, DeaCustomerSearchModal, EmployeeSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobVehicleSearchModal, OrganizationSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobSearchModal, useJobVehicleSearchModal, useNationalityComponent, useNxlOneModal, useRemoteIdentityVerification, useRemoteIdentityVerificationIframe, useRemoteIdentityVerificationPopup, useSearchAddress, useSearchNationality, useSearchVisa, useSetupClientSession, useVisaComponent };
|
|
3980
|
+
export { Attachment, BankStockSearchModal, CODES, CustomerSearch, DeaCustomerSearchModal, EmployeeSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobVehicleSearchModal, OrganizationSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobSearchModal, useJobVehicleSearchModal, useNationalityComponent, useNxlOneModal, useRemoteIdentityVerification, useRemoteIdentityVerificationIframe, useRemoteIdentityVerificationPopup, useSearchAddress, useSearchNationality, useSearchVisa, useVisaComponent };
|
|
4107
3981
|
//# sourceMappingURL=index.esm.js.map
|