sales-frontend-components 0.0.89 → 0.0.91

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
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FieldValues, UseControllerProps } from 'react-hook-form';
3
- import { CheckboxButtonProps, CheckboxProps, DatePickerSingleHtmlProps, DatePickerRangeHtmlProps, FormField, SegmentGroupHtmlProps, SelectProps, OptionProps } from 'sales-frontend-design-system';
3
+ import { CheckboxButtonProps, CheckboxProps, DatePickerSingleHtmlProps, DatePickerRangeHtmlProps, FormField, SegmentGroupHtmlProps, SelectProps, OptionProps, SegmentItems } from 'sales-frontend-design-system';
4
4
  import * as sales_frontend_api_method from 'sales-frontend-api/method';
5
- import { OccupationResponseDto, AddressStandardizationResponseDto, AddressResponseDto, OrganizationProfileResponse, EmployeeProfileResponseDto, PersonalCustomerProfileResponseDto, CustomerSearchProps, RemoteIdentityVerificationSystemTokenRequestDto, ApiConfig } from 'sales-frontend-api/method';
5
+ import { OccupationResponseDto, AddressStandardizationResponseDto, AddressResponseDto, CodeDto, OrganizationProfileResponse, EmployeeProfileResponseDto, PersonalCustomerProfileResponseDto, CustomerSearchProps, RemoteIdentityVerificationSystemTokenRequestDto, ApiConfig } from 'sales-frontend-api/method';
6
6
  import * as React$1 from 'react';
7
7
  import React__default from 'react';
8
8
 
@@ -35,10 +35,7 @@ declare const FormSelect: {
35
35
  Group: <TFormValues extends FieldValues>({ options, optionsProps, ...props }: Omit<IFormSelectGroupProps<TFormValues>, "children">) => react_jsx_runtime.JSX.Element;
36
36
  };
37
37
  interface IFormSelectGroupProps<TFormValues extends FieldValues> extends FormSelectProps<TFormValues> {
38
- options: {
39
- label: string;
40
- value: string;
41
- }[];
38
+ options: SegmentItems[];
42
39
  optionsProps?: Omit<OptionProps, 'children' | 'value'>;
43
40
  }
44
41
 
@@ -222,27 +219,20 @@ declare const useAddressComponent: () => {
222
219
  AddressSearchComponent: () => react_jsx_runtime.JSX.Element;
223
220
  };
224
221
 
225
- interface BankStockItem {
226
- label: string;
227
- value: string;
228
- Icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
229
- }
230
222
  interface BankStockSearchModalProps {
231
223
  open: boolean;
232
224
  onClose: () => void;
233
- onSelect: (item: BankStockItem) => void;
225
+ onSelect: (item: CodeDto) => void;
234
226
  }
235
227
 
236
228
  declare function BankStockSearchModal({ open, onClose, onSelect }: BankStockSearchModalProps): react_jsx_runtime.JSX.Element;
237
229
 
238
230
  declare function useBankStockSearch({ onSelect }: {
239
- onSelect: (item: BankStockItem) => void;
231
+ onSelect: (item: CodeDto) => void;
240
232
  }): {
241
- searchKeyword: string;
242
- setSearchKeyword: React$1.Dispatch<React$1.SetStateAction<string>>;
243
- bankList: BankStockItem[];
244
- stockList: BankStockItem[];
245
- handleSelect: (item: BankStockItem) => void;
233
+ bankList: any;
234
+ stockList: any;
235
+ handleSelect: (item: CodeDto) => void;
246
236
  };
247
237
 
248
238
  interface OrganizationSearchModalProps {
@@ -363,4 +353,4 @@ declare const useRemoteIdentityVerificationPopup: (config: UseRemoteIdentityVeri
363
353
  };
364
354
 
365
355
  export { Attachment, BankStockSearchModal, CustomerSearch, DeaCustomerSearchModal, EmployeeSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, OrganizationSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobSearchModal, useJobVehicleSearchModal, useRemoteIdentityVerification, useRemoteIdentityVerificationIframe, useRemoteIdentityVerificationPopup, useSearchAddress };
366
- export type { AttachedPhoto, AttachmentProps, BankStockItem, BankStockSearchModalProps, DownloadProps, PaintProps, Pen, RemoteIdentityVerificationSuccess, RivUrlParams, StepIndicatorProps, StepItem, UseRemoteIdentityVerificationProps, VerificationResponse, cameraItemType, cameraOptions };
356
+ export type { AttachedPhoto, AttachmentProps, BankStockSearchModalProps, DownloadProps, PaintProps, Pen, RemoteIdentityVerificationSuccess, RivUrlParams, StepIndicatorProps, StepItem, UseRemoteIdentityVerificationProps, VerificationResponse, cameraItemType, cameraOptions };
package/dist/index.esm.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { useController } from 'react-hook-form';
3
- import { CheckboxButton, Checkbox, 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, SegmentGroup, ModalUtils, FormCore, RadioGroup, useDropDown, List, ListItem, Loading } from 'sales-frontend-design-system';
4
4
  import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';
5
- import { useSearchOccupationDetailQuery, useSearchOccupationQuery, useSearchAddressQuery, useSearchPostalCodeQuery, useSearchAddressStandardizationQuery, useSearchOrganizationQuery, useSearchEmployeeProfileQuery, useSearchVehicleQuery, useSearchRiskGradeQuery, getDspCustomerListMethod, useSearchCustomerListQuery, getRemoteIdentityVerificationSystemToken } from 'sales-frontend-api/method';
6
- import { IconMainUiSearch, IconIllustCamera, IconGraphicsBankHsbc, IconGraphicsBankKebHana, IconGraphicsBankScJeil, IconGraphicsBankGyeongnam, IconGraphicsBankGwangju, IconGraphicsBankKukmin, IconGraphicsBankKiup, IconGraphicsBankJiyeokNonghyeop, IconGraphicsBankNhNonghyeop, IconGraphicsBankDaegu, IconGraphicsBankBusan, IconGraphicsBankSanlim, IconGraphicsBankSaneop, IconGraphicsBankSaemaulGeumgo, IconGraphicsBankSuhyeop, IconGraphicsBankSinhan, IconGraphicsBankSinhyeop, IconGraphicsBankOehwan, IconGraphicsBankWoori, IconGraphicsBankPost, IconGraphicsBankJeochuk, IconGraphicsBankJeonbuk, IconGraphicsBankJeju, IconGraphicsBankKakaoBank, IconGraphicsBankKBank, IconGraphicsBankHankookCity, IconGraphicsStockDbGeumyungTujajeungkwon, IconGraphicsStockKbJeungkwon, IconGraphicsStockNhWooriTujajeungkwon, IconGraphicsStockNhTujajeungkwon, IconGraphicsStockSkJeungkwon, IconGraphicsStockGyoboJeungkwon, IconGraphicsStockDaesinJeungkwon, IconGraphicsStockMeritzJeungkwon, IconGraphicsStockMiraeAssetJeungkwon, IconGraphicsStockBugukJeungkwon, IconGraphicsStockSamsungJeungkwon, IconGraphicsStockSinyeongJeungkwon, IconGraphicsStockSinhanTujajeungkwon, IconGraphicsStockYuantaJeungkwon, IconGraphicsStockYujinTujajeungkwon, IconGraphicsStockKiwoomJeungkwon, IconGraphicsStockHanaGeumyungTujajeungkwon, IconGraphicsStockHiTujajeungkwon, IconGraphicsStockHankookJeungkwonGeumyung, IconGraphicsStockHankookTujajeungkwon, IconGraphicsStockHanwhaTujajeungkwon, IconGraphicsStockHyundaiChaJeungkwon, IconGraphicsStockHochulEopsum, IconGraphicsFeedbackEmpty, IconIllustGrade, IconIllustJob, IconSubUiArrowRight, IconIllustVehicle } from 'sales-frontend-assets';
5
+ import { useSearchOccupationDetailQuery, useSearchOccupationQuery, useSearchAddressQuery, useSearchPostalCodeQuery, useSearchAddressStandardizationQuery, useSearchCommonCodeQuery, useSearchOrganizationQuery, useSearchEmployeeProfileQuery, useSearchVehicleQuery, useSearchRiskGradeQuery, getDspCustomerListMethod, useSearchCustomerListQuery, getRemoteIdentityVerificationSystemToken } from 'sales-frontend-api/method';
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';
7
7
  import styles from './modal/pre-standard/job-search-modal/job-search-modal.module.scss';
8
8
  import styles$1 from './step-indicator/step-indicator.module.scss';
9
9
  import styles$2 from './camera/camera.module.scss';
@@ -64,7 +64,7 @@ const FormDatePicker = ({
64
64
  const { field, fieldState } = useController({ name, control, disabled, defaultValue });
65
65
  const [selected, setSelected] = React.useState();
66
66
  React.useEffect(() => {
67
- if (field.value !== selected) {
67
+ if (isDate(field.value) && field.value !== selected) {
68
68
  setSelected(field.value);
69
69
  }
70
70
  }, [field.value]);
@@ -99,16 +99,12 @@ const FormDateRangePicker = ({
99
99
  });
100
100
  const [selected, setSelected] = React.useState();
101
101
  React.useEffect(() => {
102
- if (field.value && !selected) {
102
+ if (isDate(field.value) && !selected) {
103
103
  setSelected(field.value);
104
104
  }
105
- try {
106
- if (field.value && selected && (field.value.startDate.getTime() !== selected.startDate?.getTime() || field.value.endDate.getTime() !== selected.endDate?.getTime())) {
107
- setSelected(field.value);
108
- console.warn(field.value, selected);
109
- }
110
- } catch (e) {
111
- console.log(e);
105
+ if (isDate(field.value) && selected && (field.value.startDate.getTime() !== selected.startDate?.getTime() || field.value.endDate.getTime() !== selected.endDate?.getTime())) {
106
+ setSelected(field.value);
107
+ console.warn(field.value, selected);
112
108
  }
113
109
  }, [field.value]);
114
110
  return /* @__PURE__ */ jsx(
@@ -864,7 +860,9 @@ const FormSelectGroup = ({
864
860
  optionsProps,
865
861
  ...props
866
862
  }) => {
867
- return /* @__PURE__ */ jsx(FormSelect, { ...props, children: options.map((option) => /* @__PURE__ */ jsx(FormSelectOption, { value: option.value, ...optionsProps, children: option.label }, option.value)) });
863
+ return /* @__PURE__ */ jsx(FormSelect, { ...props, children: options.map(
864
+ (option) => option.label && /* @__PURE__ */ jsx(FormSelectOption, { value: option.value, ...optionsProps, children: option.label }, option.value)
865
+ ) });
868
866
  };
869
867
  FormSelect.Option = FormSelectOption;
870
868
  FormSelect.Group = FormSelectGroup;
@@ -1680,7 +1678,6 @@ function AddressComponent({ isOpen, onClose, setValue }) {
1680
1678
  size: "medium",
1681
1679
  appearance: "filled",
1682
1680
  width: "full",
1683
- disabled: nextButtonDisabled,
1684
1681
  children: [
1685
1682
  addressSearchStep === "search-result" && "\uB2E4\uC74C(1/2)",
1686
1683
  addressSearchStep === "detail-input" && "\uD655\uC778(2/2)"
@@ -1720,6 +1717,14 @@ function useSearchAddress({ setValue, onClose, isOpen }) {
1720
1717
  });
1721
1718
  const [nextButtonDisabled, setNextButtonDisabled] = useState(false);
1722
1719
  const onNext = () => {
1720
+ if (step === "search-result" && nextButtonDisabled) {
1721
+ ModalUtils.alert(
1722
+ "\uC8FC\uC18C\uB97C \uC120\uD0DD\uD558\uC9C0 \uC54A\uC73C\uBA74 \uB2E4\uC74C \uB2E8\uACC4\uB85C \uC774\uB3D9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC8FC\uC18C\uB97C \uC120\uD0DD\uD55C \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694.",
1723
+ "\uC120\uD0DD \uC8FC\uC18C \uC5C6\uC74C",
1724
+ { modalId: "search-modal-address-no-selected" }
1725
+ );
1726
+ return;
1727
+ }
1723
1728
  if (step === "search-result") {
1724
1729
  setStep("detail-input");
1725
1730
  setNextButtonDisabled(true);
@@ -1861,69 +1866,330 @@ const useAddressComponent = () => {
1861
1866
  };
1862
1867
  };
1863
1868
 
1864
- const BANK_LIST = [
1865
- { label: "HSBC", value: "HSBC", Icon: IconGraphicsBankHsbc },
1866
- { label: "KEB\uD558\uB098", value: "KEB\uD558\uB098", Icon: IconGraphicsBankKebHana },
1867
- { label: "SC\uC81C\uC77C", value: "SC\uC81C\uC77C", Icon: IconGraphicsBankScJeil },
1868
- { label: "\uACBD\uB0A8", value: "\uACBD\uB0A8", Icon: IconGraphicsBankGyeongnam },
1869
- { label: "\uAD11\uC8FC", value: "\uAD11\uC8FC", Icon: IconGraphicsBankGwangju },
1870
- { label: "\uAD6D\uBBFC", value: "\uAD6D\uBBFC", Icon: IconGraphicsBankKukmin },
1871
- { label: "\uAE30\uC5C5", value: "\uAE30\uC5C5", Icon: IconGraphicsBankKiup },
1872
- { label: "\uC9C0\uC5ED\uB18D\uD611", value: "\uC9C0\uC5ED\uB18D\uD611", Icon: IconGraphicsBankJiyeokNonghyeop },
1873
- { label: "NH\uB18D\uD611", value: "NH\uB18D\uD611", Icon: IconGraphicsBankNhNonghyeop },
1874
- { label: "\uB300\uAD6C", value: "\uB300\uAD6C", Icon: IconGraphicsBankDaegu },
1875
- { label: "\uBD80\uC0B0", value: "\uBD80\uC0B0", Icon: IconGraphicsBankBusan },
1876
- { label: "\uC0B0\uB9BC\uC870\uD569", value: "\uC0B0\uB9BC\uC870\uD569", Icon: IconGraphicsBankSanlim },
1877
- { label: "\uC0B0\uC5C5", value: "\uC0B0\uC5C5", Icon: IconGraphicsBankSaneop },
1878
- { label: "\uC0C8\uB9C8\uC744\uAE08\uACE0", value: "\uC0C8\uB9C8\uC744\uAE08\uACE0", Icon: IconGraphicsBankSaemaulGeumgo },
1879
- { label: "\uC218\uD611", value: "\uC218\uD611", Icon: IconGraphicsBankSuhyeop },
1880
- { label: "\uC2E0\uD55C", value: "\uC2E0\uD55C", Icon: IconGraphicsBankSinhan },
1881
- { label: "\uC2E0\uD611", value: "\uC2E0\uD611", Icon: IconGraphicsBankSinhyeop },
1882
- { label: "\uC678\uD658", value: "\uC678\uD658", Icon: IconGraphicsBankOehwan },
1883
- { label: "\uC6B0\uB9AC", value: "\uC6B0\uB9AC", Icon: IconGraphicsBankWoori },
1884
- { label: "\uC6B0\uCCB4\uAD6D", value: "\uC6B0\uCCB4\uAD6D", Icon: IconGraphicsBankPost },
1885
- { label: "\uC800\uCD95", value: "\uC800\uCD95", Icon: IconGraphicsBankJeochuk },
1886
- { label: "\uC804\uBD81", value: "\uC804\uBD81", Icon: IconGraphicsBankJeonbuk },
1887
- { label: "\uC81C\uC8FC", value: "\uC81C\uC8FC", Icon: IconGraphicsBankJeju },
1888
- { label: "\uCE74\uCE74\uC624\uBC45\uD06C", value: "\uCE74\uCE74\uC624\uBC45\uD06C", Icon: IconGraphicsBankKakaoBank },
1889
- { label: "\uCF00\uC774\uBC45\uD06C", value: "\uCF00\uC774\uBC45\uD06C", Icon: IconGraphicsBankKBank },
1890
- { label: "\uD55C\uAD6D\uC528\uD2F0", value: "\uD55C\uAD6D\uC528\uD2F0", Icon: IconGraphicsBankHankookCity }
1891
- ];
1892
- const STOCK_LIST = [
1893
- { label: "DB\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "DB\uAE08\uC735\uD22C\uC790", Icon: IconGraphicsStockDbGeumyungTujajeungkwon },
1894
- { label: "KB\uC99D\uAD8C", value: "KB\uC99D\uAD8C", Icon: IconGraphicsStockKbJeungkwon },
1895
- { label: "NH(\uC6B0\uB9AC)\n\uD22C\uC790\uC99D\uAD8C", value: "NH(\uC6B0\uB9AC)\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockNhWooriTujajeungkwon },
1896
- { label: "NH\n\uD22C\uC790\uC99D\uAD8C", value: "NH\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockNhTujajeungkwon },
1897
- { label: "SK\uC99D\uAD8C", value: "SK\uC99D\uAD8C", Icon: IconGraphicsStockSkJeungkwon },
1898
- { label: "\uAD50\uBCF4\uC99D\uAD8C", value: "\uAD50\uBCF4\uC99D\uAD8C", Icon: IconGraphicsStockGyoboJeungkwon },
1899
- { label: "\uB300\uC2E0\uC99D\uAD8C", value: "\uB300\uC2E0\uC99D\uAD8C", Icon: IconGraphicsStockDaesinJeungkwon },
1900
- { label: "\uBA54\uB9AC\uCE20\uC99D\uAD8C", value: "\uBA54\uB9AC\uCE20\uC99D\uAD8C", Icon: IconGraphicsStockMeritzJeungkwon },
1901
- { label: "\uBBF8\uB798\uC5D0\uC14B\n\uC99D\uAD8C", value: "\uBBF8\uB798\uC5D0\uC14B\uC99D\uAD8C", Icon: IconGraphicsStockMiraeAssetJeungkwon },
1902
- { label: "\uBD80\uAD6D\uC99D\uAD8C", value: "\uBD80\uAD6D\uC99D\uAD8C", Icon: IconGraphicsStockBugukJeungkwon },
1903
- { label: "\uC0BC\uC131\uC99D\uAD8C", value: "\uC0BC\uC131\uC99D\uAD8C", Icon: IconGraphicsStockSamsungJeungkwon },
1904
- { label: "\uC2E0\uC601\uC99D\uAD8C", value: "\uC2E0\uC601\uC99D\uAD8C", Icon: IconGraphicsStockSinyeongJeungkwon },
1905
- { label: "\uC2E0\uD55C\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "\uC2E0\uD55C\uAE08\uC735\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockSinhanTujajeungkwon },
1906
- { label: "\uC720\uC548\uD0C0\uC99D\uAD8C", value: "\uC720\uC548\uD0C0\uC99D\uAD8C", Icon: IconGraphicsStockYuantaJeungkwon },
1907
- { label: "\uC720\uC9C4\n\uD22C\uC790\uC99D\uAD8C", value: "\uC720\uC9C4\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockYujinTujajeungkwon },
1908
- { label: "\uD0A4\uC6C0\uC99D\uAD8C", value: "\uD0A4\uC6C0\uC99D\uAD8C", Icon: IconGraphicsStockKiwoomJeungkwon },
1909
- { label: "\uD558\uB098\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "\uD558\uB098\uAE08\uC735\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHanaGeumyungTujajeungkwon },
1910
- { label: "\uD558\uC774\n\uD22C\uC790\uC99D\uAD8C", value: "\uD558\uC774\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHiTujajeungkwon },
1911
- { label: "\uD55C\uAD6D\uC99D\uAD8C\n\uAE08\uC735", value: "\uD55C\uAD6D\uC99D\uAD8C\uAE08\uC735", Icon: IconGraphicsStockHankookJeungkwonGeumyung },
1912
- { label: "\uD55C\uAD6D\n\uD22C\uC790\uC99D\uAD8C", value: "\uD55C\uAD6D\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHankookTujajeungkwon },
1913
- { label: "\uD55C\uD654\n\uD22C\uC790\uC99D\uAD8C", value: "\uD55C\uD654\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHanwhaTujajeungkwon },
1914
- { label: "\uD604\uB300\uCC28\uC99D\uAD8C", value: "\uD604\uB300\uCC28\uC99D\uAD8C", Icon: IconGraphicsStockHyundaiChaJeungkwon },
1915
- { label: "\uD638\uCD9C\uC5C6\uC74C", value: "\uD638\uCD9C\uC5C6\uC74C", Icon: IconGraphicsStockHochulEopsum }
1869
+ const CODE_ICON_LIST = [
1870
+ {
1871
+ codeVal: "002",
1872
+ codeName: "\uC0B0\uC5C5\uC740\uD589",
1873
+ replaceName: "\uC0B0\uC5C5",
1874
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankSaneop, {})
1875
+ },
1876
+ {
1877
+ codeVal: "003",
1878
+ codeName: "\uAE30\uC5C5\uC740\uD589",
1879
+ replaceName: "\uAE30\uC5C5",
1880
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankKiup, {})
1881
+ },
1882
+ {
1883
+ codeVal: "004",
1884
+ codeName: "\uAD6D\uBBFC\uC740\uD589",
1885
+ replaceName: "\uAD6D\uBBFC",
1886
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankKukmin, {})
1887
+ },
1888
+ {
1889
+ codeVal: "007",
1890
+ codeName: "\uC218\uD611\uC740\uD589",
1891
+ replaceName: "\uC218\uD611",
1892
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankSuhyeop, {})
1893
+ },
1894
+ {
1895
+ codeVal: "009",
1896
+ codeName: "\uC7A5\uAE30\uC2E0\uC6A9\uC740\uD589",
1897
+ replaceName: "\uC7A5\uAE30\uC2E0\uC6A9",
1898
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankJangGiSinYong, {})
1899
+ },
1900
+ {
1901
+ codeVal: "011",
1902
+ codeName: "\uB18D\uD611\uC740\uD589",
1903
+ replaceName: "NH\uB18D\uD611",
1904
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankNhNonghyeop, {})
1905
+ },
1906
+ {
1907
+ codeVal: "012",
1908
+ codeName: "\uB18D\uC870",
1909
+ replaceName: "\uC9C0\uC5ED\uB18D\uD611",
1910
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankJiyeokNonghyeop, {})
1911
+ },
1912
+ {
1913
+ codeVal: "020",
1914
+ codeName: "\uC6B0\uB9AC\uC740\uD589",
1915
+ replaceName: "\uC6B0\uB9AC",
1916
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankWoori, {})
1917
+ },
1918
+ {
1919
+ codeVal: "023",
1920
+ codeName: "\uC2A4\uD0E0\uB2E4\uB4DC\uCC28\uD0C0\uB4DC",
1921
+ replaceName: "SC\uC81C\uC77C",
1922
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankScJeil, {})
1923
+ },
1924
+ {
1925
+ codeVal: "026",
1926
+ codeName: "(\uAD6C)\uC2E0\uD55C\uC740\uD589",
1927
+ replaceName: "\uC2E0\uD55C",
1928
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankSinhan, {})
1929
+ },
1930
+ {
1931
+ codeVal: "027",
1932
+ codeName: "\uD55C\uAD6D\uC528\uD2F0\uC740\uD589",
1933
+ replaceName: "\uD55C\uAD6D\uC528\uD2F0",
1934
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankHankookCity, {})
1935
+ },
1936
+ {
1937
+ codeVal: "031",
1938
+ codeName: "iM(\uB300\uAD6C)\uBC45\uD06C",
1939
+ replaceName: "\uB300\uAD6C",
1940
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankDaegu, {})
1941
+ },
1942
+ {
1943
+ codeVal: "032",
1944
+ codeName: "\uBD80\uC0B0\uC740\uD589",
1945
+ replaceName: "\uBD80\uC0B0",
1946
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankBusan, {})
1947
+ },
1948
+ {
1949
+ codeVal: "034",
1950
+ codeName: "\uAD11\uC8FC\uC740\uD589",
1951
+ replaceName: "\uAD11\uC8FC",
1952
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankGwangju, {})
1953
+ },
1954
+ {
1955
+ codeVal: "035",
1956
+ codeName: "\uC81C\uC8FC\uC740\uD589",
1957
+ replaceName: "\uC81C\uC8FC",
1958
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankJeju, {})
1959
+ },
1960
+ {
1961
+ codeVal: "037",
1962
+ codeName: "\uC804\uBD81\uC740\uD589",
1963
+ replaceName: "\uC804\uBD81",
1964
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankJeonbuk, {})
1965
+ },
1966
+ {
1967
+ codeVal: "039",
1968
+ codeName: "\uACBD\uB0A8\uC740\uD589",
1969
+ replaceName: "\uACBD\uB0A8",
1970
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankGyeongnam, {})
1971
+ },
1972
+ {
1973
+ codeVal: "045",
1974
+ codeName: "\uC0C8\uB9C8\uC744\uAE08\uACE0\uC911\uC559\uD68C",
1975
+ replaceName: "\uC0C8\uB9C8\uC744\uAE08\uACE0",
1976
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankSaemaulGeumgo, {})
1977
+ },
1978
+ {
1979
+ codeVal: "048",
1980
+ codeName: "\uC2E0\uD611",
1981
+ replaceName: "\uC2E0\uD611",
1982
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankSinhyeop, {})
1983
+ },
1984
+ {
1985
+ codeVal: "050",
1986
+ codeName: "\uC800\uCD95\uC740\uD589",
1987
+ replaceName: "\uC800\uCD95",
1988
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankJeochuk, {})
1989
+ },
1990
+ {
1991
+ codeVal: "054",
1992
+ codeName: "HSBC\uC740\uD589",
1993
+ replaceName: "HSBC",
1994
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankHsbc, {})
1995
+ },
1996
+ {
1997
+ codeVal: "056",
1998
+ codeName: "\uC5D0\uC774\uBE44\uC5D4\uC554\uB85C\uC740\uD589",
1999
+ replaceName: "\uC5D0\uC774\uBE44\uC5D4\uC554\uB85C",
2000
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankABNAMRO, {})
2001
+ },
2002
+ {
2003
+ codeVal: "064",
2004
+ codeName: "\uC0B0\uB9BC\uC870\uD569\uC911\uC559\uD68C",
2005
+ replaceName: "\uC0B0\uB9BC\uC870\uD569",
2006
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankSanlim, {})
2007
+ },
2008
+ {
2009
+ codeVal: "071",
2010
+ codeName: "\uC6B0\uCCB4\uAD6D",
2011
+ replaceName: "\uC6B0\uCCB4\uAD6D",
2012
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankPost, {})
2013
+ },
2014
+ {
2015
+ codeVal: "081",
2016
+ codeName: "KEB\uD558\uB098\uC740\uD589",
2017
+ replaceName: "KEB\uD558\uB098",
2018
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankKebHana, {})
2019
+ },
2020
+ {
2021
+ codeVal: "088",
2022
+ codeName: "\uC2E0\uD55C\uC740\uD589",
2023
+ replaceName: "\uC2E0\uD55C",
2024
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankSinhan, {})
2025
+ },
2026
+ {
2027
+ codeVal: "089",
2028
+ codeName: "\uCF00\uC774\uBC45\uD06C",
2029
+ replaceName: "\uCF00\uC774\uBC45\uD06C",
2030
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankKBank, {})
2031
+ },
2032
+ {
2033
+ codeVal: "090",
2034
+ codeName: "\uCE74\uCE74\uC624\uBC45\uD06C",
2035
+ replaceName: "\uCE74\uCE74\uC624\uBC45\uD06C",
2036
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankKakaoBank, {})
2037
+ },
2038
+ {
2039
+ codeVal: "092",
2040
+ codeName: "\uD1A0\uC2A4\uBC45\uD06C",
2041
+ replaceName: "\uD1A0\uC2A4\uBC45\uD06C",
2042
+ icon: /* @__PURE__ */ jsx(IconGraphicsBankTossBank, {})
2043
+ },
2044
+ {
2045
+ codeVal: "209",
2046
+ codeName: "\uC720\uC548\uD0C0\uC99D\uAD8C",
2047
+ replaceName: "\uC720\uC548\uD0C0\uC99D\uAD8C",
2048
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockYuantaJeungkwon, {})
2049
+ },
2050
+ {
2051
+ codeVal: "218",
2052
+ codeName: "KB\uC99D\uAD8C",
2053
+ replaceName: "KB\uC99D\uAD8C",
2054
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockKbJeungkwon, {})
2055
+ },
2056
+ {
2057
+ codeVal: "230",
2058
+ codeName: "\uBBF8\uB798\uC5D0\uC14B\uC99D\uAD8C",
2059
+ replaceName: "\uBBF8\uB798\uC5D0\uC14B\uC99D\uAD8C",
2060
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockMiraeAssetJeungkwon, {})
2061
+ },
2062
+ {
2063
+ codeVal: "238",
2064
+ codeName: "\uB300\uC6B0\uC99D\uAD8C",
2065
+ replaceName: "\uB300\uC6B0\uC99D\uAD8C",
2066
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockMiraeAssetJeungkwon, {})
2067
+ },
2068
+ {
2069
+ codeVal: "240",
2070
+ codeName: "\uC0BC\uC131\uC99D\uAD8C",
2071
+ replaceName: "\uC0BC\uC131\uC99D\uAD8C",
2072
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockSamsungJeungkwon, {})
2073
+ },
2074
+ {
2075
+ codeVal: "243",
2076
+ codeName: "\uD55C\uAD6D\uD22C\uC790\uC99D\uAD8C",
2077
+ replaceName: "\uD55C\uAD6D\uD22C\uC790\uC99D\uAD8C",
2078
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockHankookTujajeungkwon, {})
2079
+ },
2080
+ {
2081
+ codeVal: "247",
2082
+ codeName: "\uC6B0\uB9AC\uD22C\uC790\uC99D\uAD8C",
2083
+ replaceName: "NH(\uC6B0\uB9AC)\uD22C\uC790\uC99D\uAD8C",
2084
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockNhWooriTujajeungkwon, {})
2085
+ },
2086
+ {
2087
+ codeVal: "261",
2088
+ codeName: "\uAD50\uBCF4\uC99D\uAD8C",
2089
+ replaceName: "\uAD50\uBCF4\uC99D\uAD8C",
2090
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockGyoboJeungkwon, {})
2091
+ },
2092
+ {
2093
+ codeVal: "262",
2094
+ codeName: "\uD558\uC774\uD22C\uC790\uC99D\uAD8C",
2095
+ replaceName: "\uD558\uC774\uD22C\uC790\uC99D\uAD8C",
2096
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockHiTujajeungkwon, {})
2097
+ },
2098
+ {
2099
+ codeVal: "263",
2100
+ codeName: "\uD604\uB300\uCC28\uD22C\uC790\uC99D\uAD8C",
2101
+ replaceName: "\uD604\uB300\uCC28\uC99D\uAD8C",
2102
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockHyundaiChaJeungkwon, {})
2103
+ },
2104
+ {
2105
+ codeVal: "264",
2106
+ codeName: "\uD0A4\uC6C0\uC99D\uAD8C",
2107
+ replaceName: "\uD0A4\uC6C0\uC99D\uAD8C",
2108
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockKiwoomJeungkwon, {})
2109
+ },
2110
+ {
2111
+ codeVal: "266",
2112
+ codeName: "SK\uC99D\uAD8C",
2113
+ replaceName: "SK\uC99D\uAD8C",
2114
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockSkJeungkwon, {})
2115
+ },
2116
+ {
2117
+ codeVal: "267",
2118
+ codeName: "\uB300\uC2E0\uC99D\uAD8C",
2119
+ replaceName: "\uB300\uC2E0\uC99D\uAD8C",
2120
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockDaesinJeungkwon, {})
2121
+ },
2122
+ {
2123
+ codeVal: "269",
2124
+ codeName: "\uD55C\uD654\uC99D\uAD8C",
2125
+ replaceName: "\uD55C\uD654\uD22C\uC790\uC99D\uAD8C",
2126
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockHanwhaTujajeungkwon, {})
2127
+ },
2128
+ {
2129
+ codeVal: "270",
2130
+ codeName: "\uD558\uB098\uB300\uD22C\uC99D\uAD8C",
2131
+ replaceName: "\uD558\uB098\uAE08\uC735\uD22C\uC790\uC99D\uAD8C",
2132
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockHanaGeumyungTujajeungkwon, {})
2133
+ },
2134
+ {
2135
+ codeVal: "278",
2136
+ codeName: "\uC2E0\uD55C\uAE08\uC735\uD22C\uC790",
2137
+ replaceName: "\uC2E0\uD55C\uAE08\uC735\uD22C\uC790\uC99D\uAD8C",
2138
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockSinhanTujajeungkwon, {})
2139
+ },
2140
+ {
2141
+ codeVal: "279",
2142
+ codeName: "\uB3D9\uBD80\uC99D\uAD8C",
2143
+ replaceName: "DB\uAE08\uC735\uD22C\uC790\uC99D\uAD8C",
2144
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockDbGeumyungTujajeungkwon, {})
2145
+ },
2146
+ {
2147
+ codeVal: "280",
2148
+ codeName: "\uC720\uC9C4\uD22C\uC790\uC99D\uAD8C",
2149
+ replaceName: "\uC720\uC9C4\uD22C\uC790\uC99D\uAD8C",
2150
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockYujinTujajeungkwon, {})
2151
+ },
2152
+ {
2153
+ codeVal: "287",
2154
+ codeName: "\uBA54\uB9AC\uCE20\uC99D\uAD8C",
2155
+ replaceName: "\uBA54\uB9AC\uCE20\uC99D\uAD8C",
2156
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockMeritzJeungkwon, {})
2157
+ },
2158
+ {
2159
+ codeVal: "288",
2160
+ codeName: "\uCE74\uCE74\uC624\uD398\uC774\uC99D\uAD8C",
2161
+ replaceName: "\uCE74\uCE74\uC624\uD398\uC774\uC99D\uAD8C",
2162
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockKakaoPayJeungkwon, {})
2163
+ },
2164
+ {
2165
+ codeVal: "289",
2166
+ codeName: "NH\uD22C\uC790\uC99D\uAD8C",
2167
+ replaceName: "NH\uD22C\uC790\uC99D\uAD8C",
2168
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockNhTujajeungkwon, {})
2169
+ },
2170
+ {
2171
+ codeVal: "290",
2172
+ codeName: "\uBD80\uAD6D\uC99D\uAD8C",
2173
+ replaceName: "\uBD80\uAD6D\uC99D\uAD8C",
2174
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockBugukJeungkwon, {})
2175
+ },
2176
+ {
2177
+ codeVal: "291",
2178
+ codeName: "\uC2E0\uC601\uC99D\uAD8C",
2179
+ replaceName: "\uC2E0\uC601\uC99D\uAD8C",
2180
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockSinyeongJeungkwon, {})
2181
+ }
1916
2182
  ];
2183
+
1917
2184
  function useBankStockSearch({ onSelect }) {
1918
- const [searchKeyword, setSearchKeyword] = useState("");
1919
- const bankList = useMemo(() => BANK_LIST.filter((bank) => bank.label.includes(searchKeyword)), [searchKeyword]);
1920
- const stockList = useMemo(() => STOCK_LIST.filter((stock) => stock.label.includes(searchKeyword)), [searchKeyword]);
2185
+ const { data } = useSearchCommonCodeQuery({ commonCodeId: "BANK_ORGN_DVSN_CODE" });
2186
+ const bankStockList = data?.data?.commonCodeList?.[0]?.codeList;
1921
2187
  const handleSelect = (item) => {
1922
2188
  onSelect(item);
1923
2189
  };
2190
+ const bankList = bankStockList?.filter((bank) => bank.codeVal?.startsWith("0"));
2191
+ const stockList = bankStockList?.filter((stock) => stock.codeVal?.startsWith("2"));
1924
2192
  return {
1925
- searchKeyword,
1926
- setSearchKeyword,
1927
2193
  bankList,
1928
2194
  stockList,
1929
2195
  handleSelect
@@ -1940,10 +2206,20 @@ function BankStockSearchModal({ open, onClose, onSelect }) {
1940
2206
  const renderItems = (list) => {
1941
2207
  const chunkedList = chunk(list, 5);
1942
2208
  return /* @__PURE__ */ jsx("div", { className: styles$4["list-container"], children: chunkedList.map((chunk2, chunkIndex) => /* @__PURE__ */ jsxs("div", { className: styles$4.row, children: [
1943
- chunk2.map((item) => /* @__PURE__ */ jsxs("div", { className: styles$4.item, onClick: () => handleSelect(item), children: [
1944
- /* @__PURE__ */ jsx("div", { className: styles$4["icon-wrapper"], children: /* @__PURE__ */ jsx(item.Icon, {}) }),
1945
- /* @__PURE__ */ jsx("span", { children: item.label })
1946
- ] }, item.value)),
2209
+ chunk2.map((item) => {
2210
+ const findItem = CODE_ICON_LIST.find((icon) => icon.codeVal === item.codeVal);
2211
+ const convertedItem = findItem ? findItem : {
2212
+ icon: /* @__PURE__ */ jsx(IconGraphicsStockHochulEopsum, {}),
2213
+ replaceName: item.codeName
2214
+ };
2215
+ return /* @__PURE__ */ jsxs("div", { className: styles$4.item, onClick: () => handleSelect(item), children: [
2216
+ /* @__PURE__ */ jsx("div", { className: styles$4["icon-wrapper"], children: convertedItem?.icon }),
2217
+ /* @__PURE__ */ jsxs("span", { children: [
2218
+ " ",
2219
+ convertedItem?.replaceName
2220
+ ] })
2221
+ ] }, item.codeVal);
2222
+ }),
1947
2223
  chunk2.length < 5 && Array.from({ length: 5 - chunk2.length }).map((_, i) => /* @__PURE__ */ jsx("div", { className: styles$4.item, style: { visibility: "hidden" } }, `placeholder-${chunkIndex}-${i}`))
1948
2224
  ] }, chunkIndex)) });
1949
2225
  };
@@ -1954,11 +2230,11 @@ function BankStockSearchModal({ open, onClose, onSelect }) {
1954
2230
  /* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsxs("div", { className: styles$4.container, children: [
1955
2231
  /* @__PURE__ */ jsxs("div", { className: styles$4.section, children: [
1956
2232
  /* @__PURE__ */ jsx("p", { className: styles$4["section-title"], children: "\uC740\uD589\uC0AC" }),
1957
- renderItems(bankList)
2233
+ renderItems(bankList || [])
1958
2234
  ] }),
1959
2235
  /* @__PURE__ */ jsxs("div", { className: styles$4.section, children: [
1960
2236
  /* @__PURE__ */ jsx("p", { className: styles$4["section-title"], children: "\uC99D\uAD8C\uC0AC" }),
1961
- renderItems(stockList)
2237
+ renderItems(stockList || [])
1962
2238
  ] })
1963
2239
  ] }) })
1964
2240
  ] })