sales-frontend-components 0.0.70 → 0.0.71
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
|
@@ -209,6 +209,29 @@ declare const useAddressComponent: () => {
|
|
|
209
209
|
AddressSearchComponent: () => react_jsx_runtime.JSX.Element;
|
|
210
210
|
};
|
|
211
211
|
|
|
212
|
+
interface BankStockItem {
|
|
213
|
+
label: string;
|
|
214
|
+
value: string;
|
|
215
|
+
Icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
|
216
|
+
}
|
|
217
|
+
interface BankStockSearchModalProps {
|
|
218
|
+
open: boolean;
|
|
219
|
+
onClose: () => void;
|
|
220
|
+
onSelect: (item: BankStockItem) => void;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
declare function BankStockSearchModal({ open, onClose, onSelect }: BankStockSearchModalProps): react_jsx_runtime.JSX.Element;
|
|
224
|
+
|
|
225
|
+
declare function useBankStockSearch({ onSelect }: {
|
|
226
|
+
onSelect: (item: BankStockItem) => void;
|
|
227
|
+
}): {
|
|
228
|
+
searchKeyword: string;
|
|
229
|
+
setSearchKeyword: React$1.Dispatch<React$1.SetStateAction<string>>;
|
|
230
|
+
bankList: BankStockItem[];
|
|
231
|
+
stockList: BankStockItem[];
|
|
232
|
+
handleSelect: (item: BankStockItem) => void;
|
|
233
|
+
};
|
|
234
|
+
|
|
212
235
|
declare function useJobVehicleSearchModal(): {
|
|
213
236
|
selectedJob: sales_frontend_api_method.OccupationResponseDto | null;
|
|
214
237
|
selectedVehicle: sales_frontend_api_method.VehicleTypeResponseDto | undefined;
|
|
@@ -224,5 +247,5 @@ interface JobSearchModalProps {
|
|
|
224
247
|
}
|
|
225
248
|
declare const JobSearchModal: React__default.FC<JobSearchModalProps>;
|
|
226
249
|
|
|
227
|
-
export { Attachment, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useCamera, useCanvasPaint, useJobVehicleSearchModal, useSearchAddress };
|
|
228
|
-
export type { AttachedPhoto, AttachmentProps, DownloadProps, PaintProps, Pen, StepIndicatorProps, StepItem, cameraItemType, cameraOptions };
|
|
250
|
+
export { Attachment, BankStockSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobVehicleSearchModal, useSearchAddress };
|
|
251
|
+
export type { AttachedPhoto, AttachmentProps, BankStockItem, BankStockSearchModalProps, DownloadProps, PaintProps, Pen, StepIndicatorProps, StepItem, cameraItemType, cameraOptions };
|
package/dist/index.esm.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useController } from 'react-hook-form';
|
|
3
3
|
import { CheckboxButton, Checkbox, DatePicker, DateRangePicker, Accordion, Radio, Table, Button, FormField, Select, Tab, Icon, useModalState, Modal, SegmentGroup, ModalUtils, FormCore, RadioGroup } from 'sales-frontend-design-system';
|
|
4
|
-
import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
4
|
+
import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';
|
|
5
5
|
import { useSearchOccupationQuery, useSearchModalAddressQuery, useSearchVehicleQuery } from 'sales-frontend-api/method';
|
|
6
6
|
import styles from './modal/pre-standard/job-search-modal/job-search-modal.module.scss';
|
|
7
7
|
import styles$1 from './step-indicator/step-indicator.module.scss';
|
|
8
8
|
import styles$2 from './camera/camera.module.scss';
|
|
9
9
|
import styles$3 from './modal/standard/address-search/select-address.module.scss';
|
|
10
|
-
import styles$4 from './modal/
|
|
11
|
-
import
|
|
10
|
+
import styles$4 from './modal/standard/bank-stock-search/bank-stock-search-modal.module.scss';
|
|
11
|
+
import { 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 } from 'sales-frontend-assets';
|
|
12
|
+
import styles$5 from './modal/pre-standard/job-vehicle-search-modal/job-vehicle-search-modal.module.scss';
|
|
13
|
+
import styles$6 from './modal/pre-standard/vehicle-search-modal/vehicle-search-modal.module.scss';
|
|
12
14
|
|
|
13
15
|
const FormCheckboxButton = ({
|
|
14
16
|
name,
|
|
@@ -1663,7 +1665,111 @@ const useAddressComponent = () => {
|
|
|
1663
1665
|
};
|
|
1664
1666
|
};
|
|
1665
1667
|
|
|
1666
|
-
const
|
|
1668
|
+
const BANK_LIST = [
|
|
1669
|
+
{ label: "HSBC", value: "HSBC", Icon: IconGraphicsBankHsbc },
|
|
1670
|
+
{ label: "KEB\uD558\uB098", value: "KEB\uD558\uB098", Icon: IconGraphicsBankKebHana },
|
|
1671
|
+
{ label: "SC\uC81C\uC77C", value: "SC\uC81C\uC77C", Icon: IconGraphicsBankScJeil },
|
|
1672
|
+
{ label: "\uACBD\uB0A8", value: "\uACBD\uB0A8", Icon: IconGraphicsBankGyeongnam },
|
|
1673
|
+
{ label: "\uAD11\uC8FC", value: "\uAD11\uC8FC", Icon: IconGraphicsBankGwangju },
|
|
1674
|
+
{ label: "\uAD6D\uBBFC", value: "\uAD6D\uBBFC", Icon: IconGraphicsBankKukmin },
|
|
1675
|
+
{ label: "\uAE30\uC5C5", value: "\uAE30\uC5C5", Icon: IconGraphicsBankKiup },
|
|
1676
|
+
{ label: "\uC9C0\uC5ED\uB18D\uD611", value: "\uC9C0\uC5ED\uB18D\uD611", Icon: IconGraphicsBankJiyeokNonghyeop },
|
|
1677
|
+
{ label: "NH\uB18D\uD611", value: "NH\uB18D\uD611", Icon: IconGraphicsBankNhNonghyeop },
|
|
1678
|
+
{ label: "\uB300\uAD6C", value: "\uB300\uAD6C", Icon: IconGraphicsBankDaegu },
|
|
1679
|
+
{ label: "\uBD80\uC0B0", value: "\uBD80\uC0B0", Icon: IconGraphicsBankBusan },
|
|
1680
|
+
{ label: "\uC0B0\uB9BC\uC870\uD569", value: "\uC0B0\uB9BC\uC870\uD569", Icon: IconGraphicsBankSanlim },
|
|
1681
|
+
{ label: "\uC0B0\uC5C5", value: "\uC0B0\uC5C5", Icon: IconGraphicsBankSaneop },
|
|
1682
|
+
{ label: "\uC0C8\uB9C8\uC744\uAE08\uACE0", value: "\uC0C8\uB9C8\uC744\uAE08\uACE0", Icon: IconGraphicsBankSaemaulGeumgo },
|
|
1683
|
+
{ label: "\uC218\uD611", value: "\uC218\uD611", Icon: IconGraphicsBankSuhyeop },
|
|
1684
|
+
{ label: "\uC2E0\uD55C", value: "\uC2E0\uD55C", Icon: IconGraphicsBankSinhan },
|
|
1685
|
+
{ label: "\uC2E0\uD611", value: "\uC2E0\uD611", Icon: IconGraphicsBankSinhyeop },
|
|
1686
|
+
{ label: "\uC678\uD658", value: "\uC678\uD658", Icon: IconGraphicsBankOehwan },
|
|
1687
|
+
{ label: "\uC6B0\uB9AC", value: "\uC6B0\uB9AC", Icon: IconGraphicsBankWoori },
|
|
1688
|
+
{ label: "\uC6B0\uCCB4\uAD6D", value: "\uC6B0\uCCB4\uAD6D", Icon: IconGraphicsBankPost },
|
|
1689
|
+
{ label: "\uC800\uCD95", value: "\uC800\uCD95", Icon: IconGraphicsBankJeochuk },
|
|
1690
|
+
{ label: "\uC804\uBD81", value: "\uC804\uBD81", Icon: IconGraphicsBankJeonbuk },
|
|
1691
|
+
{ label: "\uC81C\uC8FC", value: "\uC81C\uC8FC", Icon: IconGraphicsBankJeju },
|
|
1692
|
+
{ label: "\uCE74\uCE74\uC624\uBC45\uD06C", value: "\uCE74\uCE74\uC624\uBC45\uD06C", Icon: IconGraphicsBankKakaoBank },
|
|
1693
|
+
{ label: "\uCF00\uC774\uBC45\uD06C", value: "\uCF00\uC774\uBC45\uD06C", Icon: IconGraphicsBankKBank },
|
|
1694
|
+
{ label: "\uD55C\uAD6D\uC528\uD2F0", value: "\uD55C\uAD6D\uC528\uD2F0", Icon: IconGraphicsBankHankookCity }
|
|
1695
|
+
];
|
|
1696
|
+
const STOCK_LIST = [
|
|
1697
|
+
{ label: "DB\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "DB\uAE08\uC735\uD22C\uC790", Icon: IconGraphicsStockDbGeumyungTujajeungkwon },
|
|
1698
|
+
{ label: "KB\uC99D\uAD8C", value: "KB\uC99D\uAD8C", Icon: IconGraphicsStockKbJeungkwon },
|
|
1699
|
+
{ label: "NH(\uC6B0\uB9AC)\n\uD22C\uC790\uC99D\uAD8C", value: "NH(\uC6B0\uB9AC)\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockNhWooriTujajeungkwon },
|
|
1700
|
+
{ label: "NH\n\uD22C\uC790\uC99D\uAD8C", value: "NH\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockNhTujajeungkwon },
|
|
1701
|
+
{ label: "SK\uC99D\uAD8C", value: "SK\uC99D\uAD8C", Icon: IconGraphicsStockSkJeungkwon },
|
|
1702
|
+
{ label: "\uAD50\uBCF4\uC99D\uAD8C", value: "\uAD50\uBCF4\uC99D\uAD8C", Icon: IconGraphicsStockGyoboJeungkwon },
|
|
1703
|
+
{ label: "\uB300\uC2E0\uC99D\uAD8C", value: "\uB300\uC2E0\uC99D\uAD8C", Icon: IconGraphicsStockDaesinJeungkwon },
|
|
1704
|
+
{ label: "\uBA54\uB9AC\uCE20\uC99D\uAD8C", value: "\uBA54\uB9AC\uCE20\uC99D\uAD8C", Icon: IconGraphicsStockMeritzJeungkwon },
|
|
1705
|
+
{ label: "\uBBF8\uB798\uC5D0\uC14B\n\uC99D\uAD8C", value: "\uBBF8\uB798\uC5D0\uC14B\uC99D\uAD8C", Icon: IconGraphicsStockMiraeAssetJeungkwon },
|
|
1706
|
+
{ label: "\uBD80\uAD6D\uC99D\uAD8C", value: "\uBD80\uAD6D\uC99D\uAD8C", Icon: IconGraphicsStockBugukJeungkwon },
|
|
1707
|
+
{ label: "\uC0BC\uC131\uC99D\uAD8C", value: "\uC0BC\uC131\uC99D\uAD8C", Icon: IconGraphicsStockSamsungJeungkwon },
|
|
1708
|
+
{ label: "\uC2E0\uC601\uC99D\uAD8C", value: "\uC2E0\uC601\uC99D\uAD8C", Icon: IconGraphicsStockSinyeongJeungkwon },
|
|
1709
|
+
{ label: "\uC2E0\uD55C\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "\uC2E0\uD55C\uAE08\uC735\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockSinhanTujajeungkwon },
|
|
1710
|
+
{ label: "\uC720\uC548\uD0C0\uC99D\uAD8C", value: "\uC720\uC548\uD0C0\uC99D\uAD8C", Icon: IconGraphicsStockYuantaJeungkwon },
|
|
1711
|
+
{ label: "\uC720\uC9C4\n\uD22C\uC790\uC99D\uAD8C", value: "\uC720\uC9C4\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockYujinTujajeungkwon },
|
|
1712
|
+
{ label: "\uD0A4\uC6C0\uC99D\uAD8C", value: "\uD0A4\uC6C0\uC99D\uAD8C", Icon: IconGraphicsStockKiwoomJeungkwon },
|
|
1713
|
+
{ label: "\uD558\uB098\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "\uD558\uB098\uAE08\uC735\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHanaGeumyungTujajeungkwon },
|
|
1714
|
+
{ label: "\uD558\uC774\n\uD22C\uC790\uC99D\uAD8C", value: "\uD558\uC774\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHiTujajeungkwon },
|
|
1715
|
+
{ label: "\uD55C\uAD6D\uC99D\uAD8C\n\uAE08\uC735", value: "\uD55C\uAD6D\uC99D\uAD8C\uAE08\uC735", Icon: IconGraphicsStockHankookJeungkwonGeumyung },
|
|
1716
|
+
{ label: "\uD55C\uAD6D\n\uD22C\uC790\uC99D\uAD8C", value: "\uD55C\uAD6D\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHankookTujajeungkwon },
|
|
1717
|
+
{ label: "\uD55C\uD654\n\uD22C\uC790\uC99D\uAD8C", value: "\uD55C\uD654\uD22C\uC790\uC99D\uAD8C", Icon: IconGraphicsStockHanwhaTujajeungkwon },
|
|
1718
|
+
{ label: "\uD604\uB300\uCC28\uC99D\uAD8C", value: "\uD604\uB300\uCC28\uC99D\uAD8C", Icon: IconGraphicsStockHyundaiChaJeungkwon },
|
|
1719
|
+
{ label: "\uD638\uCD9C\uC5C6\uC74C", value: "\uD638\uCD9C\uC5C6\uC74C", Icon: IconGraphicsStockHochulEopsum }
|
|
1720
|
+
];
|
|
1721
|
+
function useBankStockSearch({ onSelect }) {
|
|
1722
|
+
const [searchKeyword, setSearchKeyword] = useState("");
|
|
1723
|
+
const bankList = useMemo(() => BANK_LIST.filter((bank) => bank.label.includes(searchKeyword)), [searchKeyword]);
|
|
1724
|
+
const stockList = useMemo(() => STOCK_LIST.filter((stock) => stock.label.includes(searchKeyword)), [searchKeyword]);
|
|
1725
|
+
const handleSelect = (item) => {
|
|
1726
|
+
onSelect(item);
|
|
1727
|
+
};
|
|
1728
|
+
return {
|
|
1729
|
+
searchKeyword,
|
|
1730
|
+
setSearchKeyword,
|
|
1731
|
+
bankList,
|
|
1732
|
+
stockList,
|
|
1733
|
+
handleSelect
|
|
1734
|
+
};
|
|
1735
|
+
}
|
|
1736
|
+
|
|
1737
|
+
function chunk(array, size) {
|
|
1738
|
+
return Array.from({ length: Math.ceil(array.length / size) }, (v, i) => array.slice(i * size, i * size + size));
|
|
1739
|
+
}
|
|
1740
|
+
function BankStockSearchModal({ open, onClose, onSelect }) {
|
|
1741
|
+
const { bankList, stockList, handleSelect } = useBankStockSearch({
|
|
1742
|
+
onSelect
|
|
1743
|
+
});
|
|
1744
|
+
const renderItems = (list) => {
|
|
1745
|
+
const chunkedList = chunk(list, 5);
|
|
1746
|
+
return /* @__PURE__ */ jsx("div", { className: styles$4["list-container"], children: chunkedList.map((chunk2, chunkIndex) => /* @__PURE__ */ jsxs("div", { className: styles$4.row, children: [
|
|
1747
|
+
chunk2.map((item) => /* @__PURE__ */ jsxs("div", { className: styles$4.item, onClick: () => handleSelect(item), children: [
|
|
1748
|
+
/* @__PURE__ */ jsx("div", { className: styles$4["icon-wrapper"], children: /* @__PURE__ */ jsx(item.Icon, {}) }),
|
|
1749
|
+
/* @__PURE__ */ jsx("span", { children: item.label })
|
|
1750
|
+
] }, item.value)),
|
|
1751
|
+
chunk2.length < 5 && Array.from({ length: 5 - chunk2.length }).map((_, i) => /* @__PURE__ */ jsx("div", { className: styles$4.item, style: { visibility: "hidden" } }, `placeholder-${chunkIndex}-${i}`))
|
|
1752
|
+
] }, chunkIndex)) });
|
|
1753
|
+
};
|
|
1754
|
+
return /* @__PURE__ */ jsxs(Modal.Root, { isOpen: open, onClose, modalSize: "full-screen", children: [
|
|
1755
|
+
/* @__PURE__ */ jsx(Modal.Overlay, {}),
|
|
1756
|
+
/* @__PURE__ */ jsxs(Modal.Content, { children: [
|
|
1757
|
+
/* @__PURE__ */ jsx(Modal.Header, { headerTitle: "\uC740\uD589/\uC99D\uAD8C\uC0AC \uC120\uD0DD", showCloseButton: true }),
|
|
1758
|
+
/* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsxs("div", { className: styles$4.container, children: [
|
|
1759
|
+
/* @__PURE__ */ jsxs("div", { className: styles$4.section, children: [
|
|
1760
|
+
/* @__PURE__ */ jsx("p", { className: styles$4["section-title"], children: "\uC740\uD589\uC0AC" }),
|
|
1761
|
+
renderItems(bankList)
|
|
1762
|
+
] }),
|
|
1763
|
+
/* @__PURE__ */ jsxs("div", { className: styles$4.section, children: [
|
|
1764
|
+
/* @__PURE__ */ jsx("p", { className: styles$4["section-title"], children: "\uC99D\uAD8C\uC0AC" }),
|
|
1765
|
+
renderItems(stockList)
|
|
1766
|
+
] })
|
|
1767
|
+
] }) })
|
|
1768
|
+
] })
|
|
1769
|
+
] });
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
const cx$2 = classNames.bind(styles$5);
|
|
1667
1773
|
const JobVehicleSearchGrade = ({ riskGrade, hospitalizationGrade }) => {
|
|
1668
1774
|
return /* @__PURE__ */ jsxs("div", { className: cx$2("grade-section"), children: [
|
|
1669
1775
|
/* @__PURE__ */ jsxs("div", { className: cx$2("icon-title"), children: [
|
|
@@ -1684,7 +1790,7 @@ const JobVehicleSearchGrade = ({ riskGrade, hospitalizationGrade }) => {
|
|
|
1684
1790
|
] });
|
|
1685
1791
|
};
|
|
1686
1792
|
|
|
1687
|
-
const cx$1 = classNames.bind(styles$
|
|
1793
|
+
const cx$1 = classNames.bind(styles$6);
|
|
1688
1794
|
function VehicleSearch({ vehicles, onVehicleSelect }) {
|
|
1689
1795
|
return /* @__PURE__ */ jsxs("div", { className: cx$1("vehicle-search-section"), children: [
|
|
1690
1796
|
/* @__PURE__ */ jsx("p", { children: "\uC6B4\uC804 \uCC28\uC885" }),
|
|
@@ -1750,7 +1856,7 @@ const useJobVehicleSearch = () => {
|
|
|
1750
1856
|
};
|
|
1751
1857
|
};
|
|
1752
1858
|
|
|
1753
|
-
const cx = classNames.bind(styles$
|
|
1859
|
+
const cx = classNames.bind(styles$5);
|
|
1754
1860
|
function useJobVehicleSearchModal() {
|
|
1755
1861
|
const {
|
|
1756
1862
|
selectedVehicle,
|
|
@@ -1855,5 +1961,5 @@ const JobSearchModal = ({ onClose }) => {
|
|
|
1855
1961
|
] });
|
|
1856
1962
|
};
|
|
1857
1963
|
|
|
1858
|
-
export { Attachment, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useCamera, useCanvasPaint, useJobVehicleSearchModal, useSearchAddress };
|
|
1964
|
+
export { Attachment, BankStockSearchModal, FormCheckbox, FormCheckboxButton, FormDatePicker, FormDateRangePicker, FormSearchJobField, FormSegmentGroup, FormSelect, FormTextField, JobSearchModal, StepIndicator, resize, testSignatureBase64Data, useAddressComponent, useBankStockSearch, useCamera, useCanvasPaint, useJobVehicleSearchModal, useSearchAddress };
|
|
1859
1965
|
//# sourceMappingURL=index.esm.js.map
|