sales-frontend-components 0.0.93 → 0.0.94

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
@@ -255,6 +255,7 @@ declare function useJobVehicleSearchModal(): {
255
255
  riskGrade: string;
256
256
  hospitalizationGrade: string;
257
257
  openJobVehicleModal: () => void;
258
+ closeJobVehicleModal: () => void;
258
259
  JobVehicleSearchModalComponent: react_jsx_runtime.JSX.Element;
259
260
  };
260
261
 
@@ -306,7 +307,7 @@ interface UseRemoteIdentityVerificationProps {
306
307
  rivSearchParams?: RivUrlParams;
307
308
  apiConfig?: ApiConfig;
308
309
  onSuccess?: (result: VerificationResponse['args'], remoteIdentityVerificationSuccess: RemoteIdentityVerificationSuccess) => void;
309
- onError?: (result: VerificationResponse['args']) => void;
310
+ onError?: (result: VerificationResponse['args'], remoteIdentityVerificationSuccess: RemoteIdentityVerificationSuccess) => void;
310
311
  onCancel?: (result: VerificationResponse['args']) => void;
311
312
  }
312
313
 
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { useController } from 'react-hook-form';
3
- import { CheckboxButton, Checkbox, isDate, DatePicker, DateRangePicker, Table, Accordion, Radio, FormField, Select, Tab, useModalState, Modal, Button, SegmentGroup, ModalUtils, FormCore, RadioGroup, useDropDown, List, ListItem, Loading } from 'sales-frontend-design-system';
3
+ import { CheckboxButton, Checkbox, isDate, DatePicker, DateRangePicker, Table, Accordion, Radio, FormField, Select, Tab, useModalState, Modal, Button, ModalUtils, SegmentGroup, FormCore, RadioGroup, useDropDown, List, ListItem, Loading } from 'sales-frontend-design-system';
4
4
  import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';
5
5
  import { useSearchOccupationDetailQuery, useSearchOccupationQuery, useSearchAddressQuery, useSearchPostalCodeQuery, useSearchAddressStandardizationQuery, useSearchCommonCodeQuery, useSearchOrganizationQuery, useSearchEmployeeProfileQuery, useSearchVehicleQuery, useSearchRiskGradeQuery, getDspCustomerListMethod, useSearchCustomerListQuery, getRemoteIdentityVerificationSystemToken } from 'sales-frontend-api/method';
6
6
  import { IconMainUiSearch, IconIllustCamera, 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 } from 'sales-frontend-assets';
@@ -687,6 +687,15 @@ function useJobSearchModal() {
687
687
  setActiveTab("jobName");
688
688
  openModal();
689
689
  };
690
+ const closeModalWithCheck = () => {
691
+ if (!selectedJob) {
692
+ ModalUtils.alert("\uC9C1\uC885\uC744 \uC120\uD0DD\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC9C1\uC885 \uC120\uD0DD \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694.", "\uC9C1\uC885\uC744 \uC120\uD0DD\uD574\uC8FC\uC138\uC694.", {
693
+ modalId: "job-search-alert-no-selected"
694
+ });
695
+ return;
696
+ }
697
+ closeModal();
698
+ };
690
699
  return {
691
700
  JobSearchModal: /* @__PURE__ */ jsxs(Modal.Root, { isOpen, onClose: closeModal, modalSize: "xlarge", children: [
692
701
  /* @__PURE__ */ jsx(Modal.Overlay, {}),
@@ -719,8 +728,7 @@ function useJobSearchModal() {
719
728
  size: "medium",
720
729
  appearance: "filled",
721
730
  width: "full",
722
- onClick: closeModal,
723
- disabled: !selectedJob,
731
+ onClick: closeModalWithCheck,
724
732
  children: "\uD655\uC778"
725
733
  }
726
734
  ) })
@@ -2724,7 +2732,7 @@ function useJobVehicleSearchModal() {
2724
2732
  hospitalizationGrade,
2725
2733
  resetJobVehicleSearch
2726
2734
  } = useJobVehicleSearch();
2727
- const { isOpen, openModal, closeModal } = useModalState({ initialValue: true });
2735
+ const { isOpen, openModal, closeModal } = useModalState();
2728
2736
  const validate = () => {
2729
2737
  if (!selectedJob && !selectedVehicle) {
2730
2738
  return ModalUtils.alert(
@@ -2757,6 +2765,7 @@ function useJobVehicleSearchModal() {
2757
2765
  riskGrade,
2758
2766
  hospitalizationGrade,
2759
2767
  openJobVehicleModal: openInitModal,
2768
+ closeJobVehicleModal: closeModal,
2760
2769
  JobVehicleSearchModalComponent: /* @__PURE__ */ jsxs(Modal.Root, { isOpen, onClose: closeModal, modalSize: "xlarge", children: [
2761
2770
  /* @__PURE__ */ jsx(Modal.Overlay, {}),
2762
2771
  /* @__PURE__ */ jsxs(Modal.Content, { style: { height: "697px" }, children: [
@@ -3180,7 +3189,7 @@ const useRemoteIdentityVerification = ({
3180
3189
  case VERIFICATION_CODES.ATTEMPT_EXCEEDED:
3181
3190
  case VERIFICATION_CODES.SERVER_ERROR:
3182
3191
  console.log("=====\uBE44\uB300\uBA74\uC778\uC99D \uC2E4\uD328!=====", { result, code });
3183
- onError?.({ result, code });
3192
+ onError?.({ result, code }, { rivsRqstId });
3184
3193
  cleanup?.();
3185
3194
  break;
3186
3195
  case VERIFICATION_CODES.SUCCESS:
@@ -3232,6 +3241,13 @@ const useRemoteIdentityVerificationIframe = (config) => {
3232
3241
  } catch (error) {
3233
3242
  console.error("openRivIframe error::", error);
3234
3243
  await ModalUtils.alert("\uBE44\uB300\uBA74 \uC778\uC99D URL \uC0DD\uC131\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694.");
3244
+ config.onError?.(
3245
+ {
3246
+ result: "N",
3247
+ code: VERIFICATION_CODES.TOKEN_ERROR
3248
+ },
3249
+ { rivsRqstId: "" }
3250
+ );
3235
3251
  }
3236
3252
  };
3237
3253
  const closeRivIframe = () => {