sales-frontend-components 0.0.69 → 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.cjs.js CHANGED
@@ -9,8 +9,10 @@ var styles = require('./modal/pre-standard/job-search-modal/job-search-modal.mod
9
9
  var styles$1 = require('./step-indicator/step-indicator.module.scss');
10
10
  var styles$2 = require('./camera/camera.module.scss');
11
11
  var styles$3 = require('./modal/standard/address-search/select-address.module.scss');
12
- var styles$4 = require('./modal/pre-standard/job-vehicle-search-modal/job-vehicle-search-modal.module.scss');
13
- var styles$5 = require('./modal/pre-standard/vehicle-search-modal/vehicle-search-modal.module.scss');
12
+ var styles$4 = require('./modal/standard/bank-stock-search/bank-stock-search-modal.module.scss');
13
+ var salesFrontendAssets = require('sales-frontend-assets');
14
+ var styles$5 = require('./modal/pre-standard/job-vehicle-search-modal/job-vehicle-search-modal.module.scss');
15
+ var styles$6 = require('./modal/pre-standard/vehicle-search-modal/vehicle-search-modal.module.scss');
14
16
 
15
17
  const FormCheckboxButton = ({
16
18
  name,
@@ -650,7 +652,6 @@ const FormSearchJobField = ({
650
652
  name,
651
653
  control,
652
654
  disabled,
653
- rootProps,
654
655
  error,
655
656
  size = "medium",
656
657
  placeholder = "\uC9C1\uC885 \uAC80\uC0C9",
@@ -668,21 +669,16 @@ const FormSearchJobField = ({
668
669
  }, [selectedJob]);
669
670
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
670
671
  /* @__PURE__ */ jsxRuntime.jsx(
671
- salesFrontendDesignSystem.FormField.TextField,
672
+ salesFrontendDesignSystem.FormField.ComboBox,
672
673
  {
673
674
  ...props,
674
675
  ...field,
675
676
  id: field.name,
676
677
  error: fieldState.invalid || error,
677
678
  value: selected?.occupationIndustryName ?? "",
678
- rootProps: {
679
- ...rootProps,
680
- endElement: /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Icon, { name: "sub-ui/search" })
681
- },
682
- readOnly: true,
679
+ icon: "search",
683
680
  size,
684
681
  placeholder,
685
- style: { background: "#fff", cursor: "pointer" },
686
682
  autoComplete: "off",
687
683
  onClick: openJobSearchModal
688
684
  }
@@ -1671,7 +1667,111 @@ const useAddressComponent = () => {
1671
1667
  };
1672
1668
  };
1673
1669
 
1674
- const cx$2 = classNames.bind(styles$4);
1670
+ const BANK_LIST = [
1671
+ { label: "HSBC", value: "HSBC", Icon: salesFrontendAssets.IconGraphicsBankHsbc },
1672
+ { label: "KEB\uD558\uB098", value: "KEB\uD558\uB098", Icon: salesFrontendAssets.IconGraphicsBankKebHana },
1673
+ { label: "SC\uC81C\uC77C", value: "SC\uC81C\uC77C", Icon: salesFrontendAssets.IconGraphicsBankScJeil },
1674
+ { label: "\uACBD\uB0A8", value: "\uACBD\uB0A8", Icon: salesFrontendAssets.IconGraphicsBankGyeongnam },
1675
+ { label: "\uAD11\uC8FC", value: "\uAD11\uC8FC", Icon: salesFrontendAssets.IconGraphicsBankGwangju },
1676
+ { label: "\uAD6D\uBBFC", value: "\uAD6D\uBBFC", Icon: salesFrontendAssets.IconGraphicsBankKukmin },
1677
+ { label: "\uAE30\uC5C5", value: "\uAE30\uC5C5", Icon: salesFrontendAssets.IconGraphicsBankKiup },
1678
+ { label: "\uC9C0\uC5ED\uB18D\uD611", value: "\uC9C0\uC5ED\uB18D\uD611", Icon: salesFrontendAssets.IconGraphicsBankJiyeokNonghyeop },
1679
+ { label: "NH\uB18D\uD611", value: "NH\uB18D\uD611", Icon: salesFrontendAssets.IconGraphicsBankNhNonghyeop },
1680
+ { label: "\uB300\uAD6C", value: "\uB300\uAD6C", Icon: salesFrontendAssets.IconGraphicsBankDaegu },
1681
+ { label: "\uBD80\uC0B0", value: "\uBD80\uC0B0", Icon: salesFrontendAssets.IconGraphicsBankBusan },
1682
+ { label: "\uC0B0\uB9BC\uC870\uD569", value: "\uC0B0\uB9BC\uC870\uD569", Icon: salesFrontendAssets.IconGraphicsBankSanlim },
1683
+ { label: "\uC0B0\uC5C5", value: "\uC0B0\uC5C5", Icon: salesFrontendAssets.IconGraphicsBankSaneop },
1684
+ { label: "\uC0C8\uB9C8\uC744\uAE08\uACE0", value: "\uC0C8\uB9C8\uC744\uAE08\uACE0", Icon: salesFrontendAssets.IconGraphicsBankSaemaulGeumgo },
1685
+ { label: "\uC218\uD611", value: "\uC218\uD611", Icon: salesFrontendAssets.IconGraphicsBankSuhyeop },
1686
+ { label: "\uC2E0\uD55C", value: "\uC2E0\uD55C", Icon: salesFrontendAssets.IconGraphicsBankSinhan },
1687
+ { label: "\uC2E0\uD611", value: "\uC2E0\uD611", Icon: salesFrontendAssets.IconGraphicsBankSinhyeop },
1688
+ { label: "\uC678\uD658", value: "\uC678\uD658", Icon: salesFrontendAssets.IconGraphicsBankOehwan },
1689
+ { label: "\uC6B0\uB9AC", value: "\uC6B0\uB9AC", Icon: salesFrontendAssets.IconGraphicsBankWoori },
1690
+ { label: "\uC6B0\uCCB4\uAD6D", value: "\uC6B0\uCCB4\uAD6D", Icon: salesFrontendAssets.IconGraphicsBankPost },
1691
+ { label: "\uC800\uCD95", value: "\uC800\uCD95", Icon: salesFrontendAssets.IconGraphicsBankJeochuk },
1692
+ { label: "\uC804\uBD81", value: "\uC804\uBD81", Icon: salesFrontendAssets.IconGraphicsBankJeonbuk },
1693
+ { label: "\uC81C\uC8FC", value: "\uC81C\uC8FC", Icon: salesFrontendAssets.IconGraphicsBankJeju },
1694
+ { label: "\uCE74\uCE74\uC624\uBC45\uD06C", value: "\uCE74\uCE74\uC624\uBC45\uD06C", Icon: salesFrontendAssets.IconGraphicsBankKakaoBank },
1695
+ { label: "\uCF00\uC774\uBC45\uD06C", value: "\uCF00\uC774\uBC45\uD06C", Icon: salesFrontendAssets.IconGraphicsBankKBank },
1696
+ { label: "\uD55C\uAD6D\uC528\uD2F0", value: "\uD55C\uAD6D\uC528\uD2F0", Icon: salesFrontendAssets.IconGraphicsBankHankookCity }
1697
+ ];
1698
+ const STOCK_LIST = [
1699
+ { label: "DB\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "DB\uAE08\uC735\uD22C\uC790", Icon: salesFrontendAssets.IconGraphicsStockDbGeumyungTujajeungkwon },
1700
+ { label: "KB\uC99D\uAD8C", value: "KB\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockKbJeungkwon },
1701
+ { label: "NH(\uC6B0\uB9AC)\n\uD22C\uC790\uC99D\uAD8C", value: "NH(\uC6B0\uB9AC)\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockNhWooriTujajeungkwon },
1702
+ { label: "NH\n\uD22C\uC790\uC99D\uAD8C", value: "NH\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockNhTujajeungkwon },
1703
+ { label: "SK\uC99D\uAD8C", value: "SK\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockSkJeungkwon },
1704
+ { label: "\uAD50\uBCF4\uC99D\uAD8C", value: "\uAD50\uBCF4\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockGyoboJeungkwon },
1705
+ { label: "\uB300\uC2E0\uC99D\uAD8C", value: "\uB300\uC2E0\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockDaesinJeungkwon },
1706
+ { label: "\uBA54\uB9AC\uCE20\uC99D\uAD8C", value: "\uBA54\uB9AC\uCE20\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockMeritzJeungkwon },
1707
+ { label: "\uBBF8\uB798\uC5D0\uC14B\n\uC99D\uAD8C", value: "\uBBF8\uB798\uC5D0\uC14B\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockMiraeAssetJeungkwon },
1708
+ { label: "\uBD80\uAD6D\uC99D\uAD8C", value: "\uBD80\uAD6D\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockBugukJeungkwon },
1709
+ { label: "\uC0BC\uC131\uC99D\uAD8C", value: "\uC0BC\uC131\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockSamsungJeungkwon },
1710
+ { label: "\uC2E0\uC601\uC99D\uAD8C", value: "\uC2E0\uC601\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockSinyeongJeungkwon },
1711
+ { label: "\uC2E0\uD55C\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "\uC2E0\uD55C\uAE08\uC735\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockSinhanTujajeungkwon },
1712
+ { label: "\uC720\uC548\uD0C0\uC99D\uAD8C", value: "\uC720\uC548\uD0C0\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockYuantaJeungkwon },
1713
+ { label: "\uC720\uC9C4\n\uD22C\uC790\uC99D\uAD8C", value: "\uC720\uC9C4\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockYujinTujajeungkwon },
1714
+ { label: "\uD0A4\uC6C0\uC99D\uAD8C", value: "\uD0A4\uC6C0\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockKiwoomJeungkwon },
1715
+ { label: "\uD558\uB098\uAE08\uC735\n\uD22C\uC790\uC99D\uAD8C", value: "\uD558\uB098\uAE08\uC735\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockHanaGeumyungTujajeungkwon },
1716
+ { label: "\uD558\uC774\n\uD22C\uC790\uC99D\uAD8C", value: "\uD558\uC774\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockHiTujajeungkwon },
1717
+ { label: "\uD55C\uAD6D\uC99D\uAD8C\n\uAE08\uC735", value: "\uD55C\uAD6D\uC99D\uAD8C\uAE08\uC735", Icon: salesFrontendAssets.IconGraphicsStockHankookJeungkwonGeumyung },
1718
+ { label: "\uD55C\uAD6D\n\uD22C\uC790\uC99D\uAD8C", value: "\uD55C\uAD6D\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockHankookTujajeungkwon },
1719
+ { label: "\uD55C\uD654\n\uD22C\uC790\uC99D\uAD8C", value: "\uD55C\uD654\uD22C\uC790\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockHanwhaTujajeungkwon },
1720
+ { label: "\uD604\uB300\uCC28\uC99D\uAD8C", value: "\uD604\uB300\uCC28\uC99D\uAD8C", Icon: salesFrontendAssets.IconGraphicsStockHyundaiChaJeungkwon },
1721
+ { label: "\uD638\uCD9C\uC5C6\uC74C", value: "\uD638\uCD9C\uC5C6\uC74C", Icon: salesFrontendAssets.IconGraphicsStockHochulEopsum }
1722
+ ];
1723
+ function useBankStockSearch({ onSelect }) {
1724
+ const [searchKeyword, setSearchKeyword] = React.useState("");
1725
+ const bankList = React.useMemo(() => BANK_LIST.filter((bank) => bank.label.includes(searchKeyword)), [searchKeyword]);
1726
+ const stockList = React.useMemo(() => STOCK_LIST.filter((stock) => stock.label.includes(searchKeyword)), [searchKeyword]);
1727
+ const handleSelect = (item) => {
1728
+ onSelect(item);
1729
+ };
1730
+ return {
1731
+ searchKeyword,
1732
+ setSearchKeyword,
1733
+ bankList,
1734
+ stockList,
1735
+ handleSelect
1736
+ };
1737
+ }
1738
+
1739
+ function chunk(array, size) {
1740
+ return Array.from({ length: Math.ceil(array.length / size) }, (v, i) => array.slice(i * size, i * size + size));
1741
+ }
1742
+ function BankStockSearchModal({ open, onClose, onSelect }) {
1743
+ const { bankList, stockList, handleSelect } = useBankStockSearch({
1744
+ onSelect
1745
+ });
1746
+ const renderItems = (list) => {
1747
+ const chunkedList = chunk(list, 5);
1748
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles$4["list-container"], children: chunkedList.map((chunk2, chunkIndex) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles$4.row, children: [
1749
+ chunk2.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles$4.item, onClick: () => handleSelect(item), children: [
1750
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles$4["icon-wrapper"], children: /* @__PURE__ */ jsxRuntime.jsx(item.Icon, {}) }),
1751
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.label })
1752
+ ] }, item.value)),
1753
+ chunk2.length < 5 && Array.from({ length: 5 - chunk2.length }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles$4.item, style: { visibility: "hidden" } }, `placeholder-${chunkIndex}-${i}`))
1754
+ ] }, chunkIndex)) });
1755
+ };
1756
+ return /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Root, { isOpen: open, onClose, modalSize: "full-screen", children: [
1757
+ /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Overlay, {}),
1758
+ /* @__PURE__ */ jsxRuntime.jsxs(salesFrontendDesignSystem.Modal.Content, { children: [
1759
+ /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Header, { headerTitle: "\uC740\uD589/\uC99D\uAD8C\uC0AC \uC120\uD0DD", showCloseButton: true }),
1760
+ /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles$4.container, children: [
1761
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles$4.section, children: [
1762
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles$4["section-title"], children: "\uC740\uD589\uC0AC" }),
1763
+ renderItems(bankList)
1764
+ ] }),
1765
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles$4.section, children: [
1766
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles$4["section-title"], children: "\uC99D\uAD8C\uC0AC" }),
1767
+ renderItems(stockList)
1768
+ ] })
1769
+ ] }) })
1770
+ ] })
1771
+ ] });
1772
+ }
1773
+
1774
+ const cx$2 = classNames.bind(styles$5);
1675
1775
  const JobVehicleSearchGrade = ({ riskGrade, hospitalizationGrade }) => {
1676
1776
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$2("grade-section"), children: [
1677
1777
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$2("icon-title"), children: [
@@ -1692,7 +1792,7 @@ const JobVehicleSearchGrade = ({ riskGrade, hospitalizationGrade }) => {
1692
1792
  ] });
1693
1793
  };
1694
1794
 
1695
- const cx$1 = classNames.bind(styles$5);
1795
+ const cx$1 = classNames.bind(styles$6);
1696
1796
  function VehicleSearch({ vehicles, onVehicleSelect }) {
1697
1797
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx$1("vehicle-search-section"), children: [
1698
1798
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: "\uC6B4\uC804 \uCC28\uC885" }),
@@ -1758,7 +1858,7 @@ const useJobVehicleSearch = () => {
1758
1858
  };
1759
1859
  };
1760
1860
 
1761
- const cx = classNames.bind(styles$4);
1861
+ const cx = classNames.bind(styles$5);
1762
1862
  function useJobVehicleSearchModal() {
1763
1863
  const {
1764
1864
  selectedVehicle,
@@ -1864,6 +1964,7 @@ const JobSearchModal = ({ onClose }) => {
1864
1964
  };
1865
1965
 
1866
1966
  exports.Attachment = Attachment;
1967
+ exports.BankStockSearchModal = BankStockSearchModal;
1867
1968
  exports.FormCheckbox = FormCheckbox;
1868
1969
  exports.FormCheckboxButton = FormCheckboxButton;
1869
1970
  exports.FormDatePicker = FormDatePicker;
@@ -1877,6 +1978,7 @@ exports.StepIndicator = StepIndicator;
1877
1978
  exports.resize = resize;
1878
1979
  exports.testSignatureBase64Data = testSignatureBase64Data;
1879
1980
  exports.useAddressComponent = useAddressComponent;
1981
+ exports.useBankStockSearch = useBankStockSearch;
1880
1982
  exports.useCamera = useCamera;
1881
1983
  exports.useCanvasPaint = useCanvasPaint;
1882
1984
  exports.useJobVehicleSearchModal = useJobVehicleSearchModal;