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.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, getUserProfile } from 'sales-frontend-api/method';
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, isFpPlannerApp, getCookie, getDeviceModel, getOSVersion, getOSName, getBrowserVersion, getOrCreateDeviceId, isSalesPortal, getFormFactorFromUserAgent, isWebView } from 'sales-frontend-utils';
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
- const getFormFactor = () => {
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