├── README.md
├── example
├── .gitignore
├── .stackblitzrc
├── README.md
├── assets
│ └── 1.png
├── index.html
├── package.json
├── src
│ ├── App.tsx
│ ├── hooks
│ │ └── useAddress
│ │ │ ├── address.ts
│ │ │ └── index.tsx
│ ├── index.css
│ ├── main.tsx
│ ├── pages
│ │ ├── demo
│ │ │ ├── index.css
│ │ │ └── index.tsx
│ │ └── index.d.ts
│ └── vite-env.d.ts
├── tsconfig.json
├── vite.config.ts
└── yarn.lock
├── lib
└── multiple-citys.js
├── package.json
├── packages
├── images.d.ts
├── index.d.ts
├── index.tsx
└── multipleCitysReact
│ ├── components
│ ├── badge
│ │ ├── index.scss
│ │ └── index.tsx
│ └── pop
│ │ ├── images.d.ts
│ │ ├── index.scss
│ │ └── index.tsx
│ ├── images
│ ├── arrowDown.png
│ ├── checkBoxIcon.png
│ ├── checkBoxIconActived.png
│ ├── checkBoxIconPart.png
│ └── closeBadge.png
│ ├── index.scss
│ ├── index.tsx
│ └── model
│ ├── badge.ts
│ ├── index.ts
│ └── pop.ts
├── react-app-env.d.ts
├── rollup.config.js
├── tsconfig.json
└── yarn.lock
/README.md:
--------------------------------------------------------------------------------
1 | # multiple-citys-react
2 |
3 | This is multiple-citys-react components,Support multiple selection components of provinces and cities(支持省市区多选组件)
4 | ## node version
5 | ```
6 | had better > 16
7 |
8 | ```
9 | ## how to use
10 |
11 | ```
12 | yarn add @banyinbanying/multiple-citys-react or npm i @banyinbanying/multiple-citys-react
13 |
14 | ```
15 |
16 | ### then you add this line in your component or page
17 |
18 | ```
19 | import MultipleCitysReact from "@banyinbanying/multiple-citys-react";
20 |
21 | ```
22 |
23 | ### after you can use it in component like this,for more message you can refer to demo code
24 |
25 | ```
26 |
32 |
33 | ```
34 |
35 | ### 示例图片
36 |
37 | 
38 |
39 | ### Props
40 |
41 | The component provides the following variables
42 |
43 | | Name | Type | Default Value | Description |
44 | | ------------------ | ------------------------------------- | -------------- | ------------------------------------ |
45 | | data | Array | - | 省市区 json |
46 | | checkList | Array | - | 选中的列表 |
47 | | top | boolean | bottom | pop 的位置展示上面还是下面,默认下面 |
48 | | checkBoxIconActive | String | - | 全部选中的 icon ,png |
49 | | checkBoxIcon | String | - | 没有选中的 icon,png |
50 | | checkBoxIconPart | String | - | 部分选中的 icon,png |
51 | | color | String | #232323 | 字体颜色 |
52 | | placeholder | String | '请选择省市区' | 输入框提示 |
53 | | badgesWidth | number | 500 | 输入框的宽度 |
54 | | badgeStyle | enum 'primary' , 'danger' , 'default' | 'default' | - |
55 | | loadNextLevelData | function | - | 获取下一级数据,2 和 3 级 |
56 | | onChange | function | - | 选择变化时候触发 |
57 |
58 | ### data json format
59 |
60 | ```
61 | {
62 | value: 110000,
63 | parentId: 0,
64 | label: '北京市',
65 | lay: 1,
66 | isLeaf: false,
67 | children: [
68 | {
69 | value: 110100,
70 | parentId: 110000,
71 | label: '市辖区',
72 | lay: 2,
73 | isLeaf: false,
74 | children: [
75 | {
76 | value: 110119,
77 | parentId: 110100,
78 | label: '延庆区',
79 | lay: 3,
80 | isLeaf: true
81 | }
82 | ]
83 | }
84 | ]
85 | }
86 |
87 | ```
88 |
89 | ### Matching selection components(city-tables)示范图片
90 |
91 | 
92 |
93 | ### the code and the demo of city-tables
94 |
95 | [github](https://github.com/zhaochengxian/cityTable).
96 |
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 |
--------------------------------------------------------------------------------
/example/.stackblitzrc:
--------------------------------------------------------------------------------
1 | {
2 | "installDependencies": true,
3 | "startCommand": "npm run dev"
4 | }
5 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lazy Loading
3 | toc: false
4 | ---
5 |
6 | # Lazy Loading Example
7 |
8 | This example demonstrates how to lazily load both
9 |
10 | - individual route elements
11 | - entire portions of your route hierarchy
12 |
13 | on demand using `React.lazy()` and dynamic `import()`. Using this technique,
14 | pages that are not required on the home page can be split out into separate
15 | bundles, thereby decreasing load time on the initial page and improving
16 | performance.
17 |
18 | ## Preview
19 |
20 | Open this example on [StackBlitz](https://stackblitz.com):
21 |
22 | [](https://stackblitz.com/github/remix-run/react-router/tree/main/examples/lazy-loading?file=src/App.tsx)
23 |
--------------------------------------------------------------------------------
/example/assets/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaochengxian/multiple-citys-react/ec289ca47a79bc90eee3befebffa3e21738078f9/example/assets/1.png
--------------------------------------------------------------------------------
/example/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | React Router - Lazy Loading Example
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lazy-loading",
3 | "private": true,
4 | "scripts": {
5 | "dev": "vite",
6 | "build": "tsc && vite build",
7 | "serve": "vite preview"
8 | },
9 | "dependencies": {
10 | "@banyinbanying/multiple-citys-react": "^2.1.9",
11 | "history": "^5.2.0",
12 | "react": "^17.0.2",
13 | "react-dom": "^17.0.2",
14 | "react-router": "6.2.2",
15 | "react-router-dom": "6.2.2"
16 | },
17 | "devDependencies": {
18 | "@rollup/plugin-replace": "^2.2.1",
19 | "@types/node": "14.x",
20 | "@types/react": "^17.0.19",
21 | "@types/react-dom": "^17.0.9",
22 | "@vitejs/plugin-react": "^1.0.1",
23 | "typescript": "^4.3.5",
24 | "vite": "^2.5.0"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/example/src/App.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 | import { Routes, Route, Outlet, Link } from "react-router-dom";
3 |
4 | const Demo = React.lazy(() => import("./pages/demo"));
5 |
6 | export default function App() {
7 | return (
8 |
9 |
以下是省市区对选组件基本使用demo
10 |
11 |
12 | }>
13 | } />
14 | ...>}>
18 |
19 |
20 | }
21 | />
22 | } />
23 |
24 |
25 |
26 | );
27 | }
28 |
29 | function Layout() {
30 | return (
31 |
32 |
42 |
43 |
44 |
45 |
46 |
47 | );
48 | }
49 | function Home() {
50 | return (
51 |
59 | );
60 | }
61 | function NoMatch() {
62 | return (
63 |
64 |
Nothing to see here!
65 |
66 | Go to the home page
67 |
68 |
69 | );
70 | }
71 |
--------------------------------------------------------------------------------
/example/src/hooks/useAddress/index.tsx:
--------------------------------------------------------------------------------
1 | import { useCallback, useState } from "react";
2 | import AddressJson from "./address";
3 |
4 | const useAddress = (limit?: number) => {
5 | const addressList = AddressJson;
6 | const [refresh, setRefresh] = useState(false);
7 | const loadNextLevelData = useCallback(
8 | (selectedOptions, callback?: (list: any[]) => void) => {
9 | const targetOption = selectedOptions[selectedOptions.length - 1];
10 | setRefresh(true);
11 | callback && callback(targetOption.children);
12 | setRefresh(false);
13 | },
14 | [refresh, addressList, limit]
15 | );
16 | const concatWholeNation = useCallback(() => {
17 | let list = [...addressList];
18 | list.unshift({
19 | value: 0,
20 | label: "全国",
21 | isLeaf: true,
22 | parentId: 0,
23 | lay: 1,
24 | children: [],
25 | });
26 | return list;
27 | }, [addressList]);
28 | return { addressList, loadNextLevelData, concatWholeNation };
29 | };
30 |
31 | export default useAddress;
32 |
--------------------------------------------------------------------------------
/example/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
3 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
4 | sans-serif;
5 | -webkit-font-smoothing: antialiased;
6 | -moz-osx-font-smoothing: grayscale;
7 | }
8 |
9 | code {
10 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
11 | monospace;
12 | }
13 |
--------------------------------------------------------------------------------
/example/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom";
3 | import { BrowserRouter } from "react-router-dom";
4 |
5 | import "./index.css";
6 | import App from "./App";
7 |
8 | ReactDOM.render(
9 |
10 |
11 |
12 |
13 | ,
14 | document.getElementById("root")
15 | );
16 |
--------------------------------------------------------------------------------
/example/src/pages/demo/index.css:
--------------------------------------------------------------------------------
1 | .multiple-citys-react-demo {
2 | margin-top: 400px;
3 | }
4 |
--------------------------------------------------------------------------------
/example/src/pages/demo/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { useCallback, useState } from "react";
2 | import MultipleCitysReact from "@banyinbanying/multiple-citys-react";
3 |
4 | import useAddress from "../../hooks/useAddress";
5 | import "./index.css";
6 |
7 | const SystemOrderModify = () => {
8 | const { addressList, loadNextLevelData } = useAddress();
9 | const [checkList, setCheckList] = useState([]);
10 |
11 | const multipleChange = useCallback((event) => {
12 | setCheckList(event);
13 | }, []);
14 |
15 | return (
16 |
17 |
23 |
24 | );
25 | };
26 |
27 | export default SystemOrderModify;
28 |
--------------------------------------------------------------------------------
/example/src/pages/index.d.ts:
--------------------------------------------------------------------------------
1 | declare module "@banyinbanying/multiple-citys-react"
--------------------------------------------------------------------------------
/example/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/example/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "target": "ESNext",
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": true,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react",
18 | "importsNotUsedAsValues": "error"
19 | },
20 | "include": ["./src"]
21 | }
22 |
--------------------------------------------------------------------------------
/example/vite.config.ts:
--------------------------------------------------------------------------------
1 | import * as path from "path";
2 | import { defineConfig } from "vite";
3 | import react from "@vitejs/plugin-react";
4 | import rollupReplace from "@rollup/plugin-replace";
5 |
6 |
7 | export default defineConfig({
8 | plugins: [
9 | rollupReplace({
10 | preventAssignment: true,
11 | values: {
12 | __DEV__: JSON.stringify(true),
13 | "process.env.NODE_ENV": JSON.stringify("development"),
14 | },
15 | }),
16 | react(),
17 | ],
18 | resolve: process.env.USE_SOURCE
19 | ? {
20 | alias: {
21 | "react-router": path.resolve(
22 | __dirname,
23 | "../../packages/react-router/index.tsx"
24 | ),
25 | "react-router-dom": path.resolve(
26 | __dirname,
27 | "../../packages/react-router-dom/index.tsx"
28 | ),
29 | },
30 | }
31 | : {},
32 | });
33 |
--------------------------------------------------------------------------------
/example/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.1.2"
7 | resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
8 | integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
9 | dependencies:
10 | "@jridgewell/trace-mapping" "^0.3.0"
11 |
12 | "@babel/code-frame@^7.16.7":
13 | version "7.16.7"
14 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
15 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
16 | dependencies:
17 | "@babel/highlight" "^7.16.7"
18 |
19 | "@babel/compat-data@^7.17.7":
20 | version "7.17.7"
21 | resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2"
22 | integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==
23 |
24 | "@babel/core@^7.17.8":
25 | version "7.17.8"
26 | resolved "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a"
27 | integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==
28 | dependencies:
29 | "@ampproject/remapping" "^2.1.0"
30 | "@babel/code-frame" "^7.16.7"
31 | "@babel/generator" "^7.17.7"
32 | "@babel/helper-compilation-targets" "^7.17.7"
33 | "@babel/helper-module-transforms" "^7.17.7"
34 | "@babel/helpers" "^7.17.8"
35 | "@babel/parser" "^7.17.8"
36 | "@babel/template" "^7.16.7"
37 | "@babel/traverse" "^7.17.3"
38 | "@babel/types" "^7.17.0"
39 | convert-source-map "^1.7.0"
40 | debug "^4.1.0"
41 | gensync "^1.0.0-beta.2"
42 | json5 "^2.1.2"
43 | semver "^6.3.0"
44 |
45 | "@babel/generator@^7.17.3", "@babel/generator@^7.17.7":
46 | version "7.17.7"
47 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad"
48 | integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==
49 | dependencies:
50 | "@babel/types" "^7.17.0"
51 | jsesc "^2.5.1"
52 | source-map "^0.5.0"
53 |
54 | "@babel/helper-annotate-as-pure@^7.16.7":
55 | version "7.16.7"
56 | resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
57 | integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
58 | dependencies:
59 | "@babel/types" "^7.16.7"
60 |
61 | "@babel/helper-compilation-targets@^7.17.7":
62 | version "7.17.7"
63 | resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46"
64 | integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==
65 | dependencies:
66 | "@babel/compat-data" "^7.17.7"
67 | "@babel/helper-validator-option" "^7.16.7"
68 | browserslist "^4.17.5"
69 | semver "^6.3.0"
70 |
71 | "@babel/helper-environment-visitor@^7.16.7":
72 | version "7.16.7"
73 | resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
74 | integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
75 | dependencies:
76 | "@babel/types" "^7.16.7"
77 |
78 | "@babel/helper-function-name@^7.16.7":
79 | version "7.16.7"
80 | resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
81 | integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
82 | dependencies:
83 | "@babel/helper-get-function-arity" "^7.16.7"
84 | "@babel/template" "^7.16.7"
85 | "@babel/types" "^7.16.7"
86 |
87 | "@babel/helper-get-function-arity@^7.16.7":
88 | version "7.16.7"
89 | resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
90 | integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
91 | dependencies:
92 | "@babel/types" "^7.16.7"
93 |
94 | "@babel/helper-hoist-variables@^7.16.7":
95 | version "7.16.7"
96 | resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
97 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
98 | dependencies:
99 | "@babel/types" "^7.16.7"
100 |
101 | "@babel/helper-module-imports@^7.16.7":
102 | version "7.16.7"
103 | resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
104 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
105 | dependencies:
106 | "@babel/types" "^7.16.7"
107 |
108 | "@babel/helper-module-transforms@^7.17.7":
109 | version "7.17.7"
110 | resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd"
111 | integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==
112 | dependencies:
113 | "@babel/helper-environment-visitor" "^7.16.7"
114 | "@babel/helper-module-imports" "^7.16.7"
115 | "@babel/helper-simple-access" "^7.17.7"
116 | "@babel/helper-split-export-declaration" "^7.16.7"
117 | "@babel/helper-validator-identifier" "^7.16.7"
118 | "@babel/template" "^7.16.7"
119 | "@babel/traverse" "^7.17.3"
120 | "@babel/types" "^7.17.0"
121 |
122 | "@babel/helper-plugin-utils@^7.16.7":
123 | version "7.16.7"
124 | resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
125 | integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
126 |
127 | "@babel/helper-simple-access@^7.17.7":
128 | version "7.17.7"
129 | resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367"
130 | integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==
131 | dependencies:
132 | "@babel/types" "^7.17.0"
133 |
134 | "@babel/helper-split-export-declaration@^7.16.7":
135 | version "7.16.7"
136 | resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
137 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
138 | dependencies:
139 | "@babel/types" "^7.16.7"
140 |
141 | "@babel/helper-validator-identifier@^7.16.7":
142 | version "7.16.7"
143 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
144 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
145 |
146 | "@babel/helper-validator-option@^7.16.7":
147 | version "7.16.7"
148 | resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
149 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
150 |
151 | "@babel/helpers@^7.17.8":
152 | version "7.17.8"
153 | resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106"
154 | integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==
155 | dependencies:
156 | "@babel/template" "^7.16.7"
157 | "@babel/traverse" "^7.17.3"
158 | "@babel/types" "^7.17.0"
159 |
160 | "@babel/highlight@^7.16.7":
161 | version "7.16.10"
162 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
163 | integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
164 | dependencies:
165 | "@babel/helper-validator-identifier" "^7.16.7"
166 | chalk "^2.0.0"
167 | js-tokens "^4.0.0"
168 |
169 | "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8":
170 | version "7.17.8"
171 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240"
172 | integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==
173 |
174 | "@babel/plugin-syntax-jsx@^7.16.7":
175 | version "7.16.7"
176 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665"
177 | integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==
178 | dependencies:
179 | "@babel/helper-plugin-utils" "^7.16.7"
180 |
181 | "@babel/plugin-transform-react-jsx-development@^7.16.7":
182 | version "7.16.7"
183 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8"
184 | integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==
185 | dependencies:
186 | "@babel/plugin-transform-react-jsx" "^7.16.7"
187 |
188 | "@babel/plugin-transform-react-jsx-self@^7.16.7":
189 | version "7.16.7"
190 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e"
191 | integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==
192 | dependencies:
193 | "@babel/helper-plugin-utils" "^7.16.7"
194 |
195 | "@babel/plugin-transform-react-jsx-source@^7.16.7":
196 | version "7.16.7"
197 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0"
198 | integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==
199 | dependencies:
200 | "@babel/helper-plugin-utils" "^7.16.7"
201 |
202 | "@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.17.3":
203 | version "7.17.3"
204 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1"
205 | integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==
206 | dependencies:
207 | "@babel/helper-annotate-as-pure" "^7.16.7"
208 | "@babel/helper-module-imports" "^7.16.7"
209 | "@babel/helper-plugin-utils" "^7.16.7"
210 | "@babel/plugin-syntax-jsx" "^7.16.7"
211 | "@babel/types" "^7.17.0"
212 |
213 | "@babel/runtime@^7.7.6":
214 | version "7.17.8"
215 | resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2"
216 | integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==
217 | dependencies:
218 | regenerator-runtime "^0.13.4"
219 |
220 | "@babel/template@^7.16.7":
221 | version "7.16.7"
222 | resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
223 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
224 | dependencies:
225 | "@babel/code-frame" "^7.16.7"
226 | "@babel/parser" "^7.16.7"
227 | "@babel/types" "^7.16.7"
228 |
229 | "@babel/traverse@^7.17.3":
230 | version "7.17.3"
231 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
232 | integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
233 | dependencies:
234 | "@babel/code-frame" "^7.16.7"
235 | "@babel/generator" "^7.17.3"
236 | "@babel/helper-environment-visitor" "^7.16.7"
237 | "@babel/helper-function-name" "^7.16.7"
238 | "@babel/helper-hoist-variables" "^7.16.7"
239 | "@babel/helper-split-export-declaration" "^7.16.7"
240 | "@babel/parser" "^7.17.3"
241 | "@babel/types" "^7.17.0"
242 | debug "^4.1.0"
243 | globals "^11.1.0"
244 |
245 | "@babel/types@^7.16.7", "@babel/types@^7.17.0":
246 | version "7.17.0"
247 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
248 | integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
249 | dependencies:
250 | "@babel/helper-validator-identifier" "^7.16.7"
251 | to-fast-properties "^2.0.0"
252 |
253 | "@banyinbanying/multiple-citys-react@^2.1.9":
254 | version "2.1.9"
255 | resolved "https://registry.npmjs.org/@banyinbanying/multiple-citys-react/-/multiple-citys-react-2.1.9.tgz#e053c5f1573d582cd28c5957dfe1ee652c44760f"
256 | integrity sha512-v24d7Vo1ZooxyrxZz+E6oDbfJCHNIpFwEqCWhAigZgJRqR3EdMUI5AWM1LxLyh6fpdLKhda0B1FsAsLlOQRq8g==
257 |
258 | "@jridgewell/resolve-uri@^3.0.3":
259 | version "3.0.5"
260 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c"
261 | integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==
262 |
263 | "@jridgewell/sourcemap-codec@^1.4.10":
264 | version "1.4.11"
265 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec"
266 | integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==
267 |
268 | "@jridgewell/trace-mapping@^0.3.0":
269 | version "0.3.4"
270 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
271 | integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
272 | dependencies:
273 | "@jridgewell/resolve-uri" "^3.0.3"
274 | "@jridgewell/sourcemap-codec" "^1.4.10"
275 |
276 | "@rollup/plugin-replace@^2.2.1":
277 | version "2.4.2"
278 | resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a"
279 | integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==
280 | dependencies:
281 | "@rollup/pluginutils" "^3.1.0"
282 | magic-string "^0.25.7"
283 |
284 | "@rollup/pluginutils@^3.1.0":
285 | version "3.1.0"
286 | resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
287 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
288 | dependencies:
289 | "@types/estree" "0.0.39"
290 | estree-walker "^1.0.1"
291 | picomatch "^2.2.2"
292 |
293 | "@rollup/pluginutils@^4.2.0":
294 | version "4.2.0"
295 | resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.0.tgz#a14bbd058fdbba0a5647143b16ed0d86fb60bd08"
296 | integrity sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==
297 | dependencies:
298 | estree-walker "^2.0.1"
299 | picomatch "^2.2.2"
300 |
301 | "@types/estree@0.0.39":
302 | version "0.0.39"
303 | resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
304 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
305 |
306 | "@types/node@14.x":
307 | version "14.18.12"
308 | resolved "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24"
309 | integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==
310 |
311 | "@types/prop-types@*":
312 | version "15.7.4"
313 | resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
314 | integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
315 |
316 | "@types/react-dom@^17.0.9":
317 | version "17.0.14"
318 | resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.14.tgz#c8f917156b652ddf807711f5becbd2ab018dea9f"
319 | integrity sha512-H03xwEP1oXmSfl3iobtmQ/2dHF5aBHr8aUMwyGZya6OW45G+xtdzmq6HkncefiBt5JU8DVyaWl/nWZbjZCnzAQ==
320 | dependencies:
321 | "@types/react" "*"
322 |
323 | "@types/react@*", "@types/react@^17.0.19":
324 | version "17.0.43"
325 | resolved "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz#4adc142887dd4a2601ce730bc56c3436fdb07a55"
326 | integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==
327 | dependencies:
328 | "@types/prop-types" "*"
329 | "@types/scheduler" "*"
330 | csstype "^3.0.2"
331 |
332 | "@types/scheduler@*":
333 | version "0.16.2"
334 | resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
335 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
336 |
337 | "@vitejs/plugin-react@^1.0.1":
338 | version "1.3.0"
339 | resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-1.3.0.tgz#efd4b4383edc12780cd8d230c2daa9d266690bb9"
340 | integrity sha512-H+yIupjUE4a+E4oeWUv4xUJIMR0DWBIMUG/DYgvj0J9Vu1rdHAlJ5JdbI+N1KDUD7Ee2fZ1DMPZ/NBg6mXtoCw==
341 | dependencies:
342 | "@babel/core" "^7.17.8"
343 | "@babel/plugin-transform-react-jsx" "^7.17.3"
344 | "@babel/plugin-transform-react-jsx-development" "^7.16.7"
345 | "@babel/plugin-transform-react-jsx-self" "^7.16.7"
346 | "@babel/plugin-transform-react-jsx-source" "^7.16.7"
347 | "@rollup/pluginutils" "^4.2.0"
348 | react-refresh "^0.11.0"
349 | resolve "^1.22.0"
350 |
351 | ansi-styles@^3.2.1:
352 | version "3.2.1"
353 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
354 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
355 | dependencies:
356 | color-convert "^1.9.0"
357 |
358 | browserslist@^4.17.5:
359 | version "4.20.2"
360 | resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88"
361 | integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==
362 | dependencies:
363 | caniuse-lite "^1.0.30001317"
364 | electron-to-chromium "^1.4.84"
365 | escalade "^3.1.1"
366 | node-releases "^2.0.2"
367 | picocolors "^1.0.0"
368 |
369 | caniuse-lite@^1.0.30001317:
370 | version "1.0.30001325"
371 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001325.tgz#2b4ad19b77aa36f61f2eaf72e636d7481d55e606"
372 | integrity sha512-sB1bZHjseSjDtijV1Hb7PB2Zd58Kyx+n/9EotvZ4Qcz2K3d0lWB8dB4nb8wN/TsOGFq3UuAm0zQZNQ4SoR7TrQ==
373 |
374 | chalk@^2.0.0:
375 | version "2.4.2"
376 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
377 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
378 | dependencies:
379 | ansi-styles "^3.2.1"
380 | escape-string-regexp "^1.0.5"
381 | supports-color "^5.3.0"
382 |
383 | color-convert@^1.9.0:
384 | version "1.9.3"
385 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
386 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
387 | dependencies:
388 | color-name "1.1.3"
389 |
390 | color-name@1.1.3:
391 | version "1.1.3"
392 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
393 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
394 |
395 | convert-source-map@^1.7.0:
396 | version "1.8.0"
397 | resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
398 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
399 | dependencies:
400 | safe-buffer "~5.1.1"
401 |
402 | csstype@^3.0.2:
403 | version "3.0.11"
404 | resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
405 | integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
406 |
407 | debug@^4.1.0:
408 | version "4.3.4"
409 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
410 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
411 | dependencies:
412 | ms "2.1.2"
413 |
414 | electron-to-chromium@^1.4.84:
415 | version "1.4.103"
416 | resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz#abfe376a4d70fa1e1b4b353b95df5d6dfd05da3a"
417 | integrity sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==
418 |
419 | esbuild-android-64@0.14.31:
420 | version "0.14.31"
421 | resolved "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.31.tgz#4b7dfbbeee62b3495ba78220b85fb590eb68d5bf"
422 | integrity sha512-MYkuJ91w07nGmr4EouejOZK2j/f5TCnsKxY8vRr2+wpKKfHD1LTJK28VbZa+y1+AL7v1V9G98ezTUwsV3CmXNw==
423 |
424 | esbuild-android-arm64@0.14.31:
425 | version "0.14.31"
426 | resolved "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.31.tgz#24c3d693924e044fb0d23206c3e627502b10b930"
427 | integrity sha512-0rkH/35s7ZVcsw6nS0IAkR0dekSbjZGWdlOAf3jV0lGoPqqw0x6/TmaV9w7DQgUERTH1ApmPlpAMU4kVkCq9Jg==
428 |
429 | esbuild-darwin-64@0.14.31:
430 | version "0.14.31"
431 | resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.31.tgz#285fbdb6dc74d4410f43dee59e6a14ebff82a9d7"
432 | integrity sha512-kP6xPZHxtJa36Hb0jC05L3VzQSZBW2f3bpnQS20czXTRGEmM2GDiYpGdI5g2QYaw6vC4PYXjnigq8usd9g9jnQ==
433 |
434 | esbuild-darwin-arm64@0.14.31:
435 | version "0.14.31"
436 | resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.31.tgz#b39c471a8134ce2c7811eb96fab9c500b256261c"
437 | integrity sha512-1ZMog4hkNsdBGtDDtsftUqX6S9N52gEx4vX5aVehsSptgoBFIar1XrPiBTQty7YNH+bJasTpSVaZQgElCVvPKQ==
438 |
439 | esbuild-freebsd-64@0.14.31:
440 | version "0.14.31"
441 | resolved "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.31.tgz#7ca700ef60ae12154bae63094ad41b21c6ae1a23"
442 | integrity sha512-Zo0BYj7QpVFWoUpkv6Ng0RO2eJ4zk/WDaHMO88+jr5HuYmxsOre0imgwaZVPquTuJnCvL1G48BFucJ3tFflSeQ==
443 |
444 | esbuild-freebsd-arm64@0.14.31:
445 | version "0.14.31"
446 | resolved "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.31.tgz#f793085c7184fcd08649b8d185edc5c2ce112e82"
447 | integrity sha512-t85bS6jbRpmdjr4pdr/FY/fpx8lo1vv9S7BAs2EsXKJQhRDMIiC3QW+k2acYJoRuqirlvJcJVFQGCq/PfyC1kA==
448 |
449 | esbuild-linux-32@0.14.31:
450 | version "0.14.31"
451 | resolved "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.31.tgz#cac97ec7da6fbde0c21dbe08babd0d2a034f317d"
452 | integrity sha512-XYtOk/GodSkv+UOYVwryGpGPuFnszsMvRMKq6cIUfFfdssHuKDsU9IZveyCG44J106J39ABenQ5EetbYtVJHUw==
453 |
454 | esbuild-linux-64@0.14.31:
455 | version "0.14.31"
456 | resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.31.tgz#ec94cd5228e6777d2feb3c24a1fe1cbf8817d6da"
457 | integrity sha512-Zf9CZxAxaXWHLqCg/QZ/hs0RU0XV3IBxV+ENQzy00S4QOTnZAvSLgPciILHHrVJ0lPIlb4XzAqlLM5y6iI2LIw==
458 |
459 | esbuild-linux-arm64@0.14.31:
460 | version "0.14.31"
461 | resolved "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.31.tgz#d119188fccd6384db5c703de24c46dacaee3e9e8"
462 | integrity sha512-V/H0tv+xpQ9IOHM+o85oCKNNidIEc5CcnDWl0V+hPd2F03dqdbFkWPBGphx8rD4JSQn6UefUQ1iH7y1qIzO8Fw==
463 |
464 | esbuild-linux-arm@0.14.31:
465 | version "0.14.31"
466 | resolved "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.31.tgz#63e10846886901e5632a591d44160f95c5d12ba7"
467 | integrity sha512-RpiaeHPRlgCCDskxoyIsI49BhcDtZ4cl8+SLffizDm0yMNWP538SUg0ezQ2TTOPj3/svaGIbkRDwYtAon0Sjkg==
468 |
469 | esbuild-linux-mips64le@0.14.31:
470 | version "0.14.31"
471 | resolved "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.31.tgz#1cd44f72cde6489a5d6deea7c54efa6f3d6590ee"
472 | integrity sha512-9/oBfAckInRuUg6AEgdCLLn6KJ6UOJDOLmUinTsReVSg6AfV6wxYQJq9iQM2idRogP7GUpomJ+bvCdWXpotQRQ==
473 |
474 | esbuild-linux-ppc64le@0.14.31:
475 | version "0.14.31"
476 | resolved "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.31.tgz#3b5ccc05e5b8ef5c494f30a61fdd27811d2bbeeb"
477 | integrity sha512-NMcb14Pg+8q8raGkzor9/R3vQwKzgxE3694BtO2SDLBwJuL2C1dQ1ZtM1t7ZvArQBgT8RiZVxb0/3fD+qGNk7g==
478 |
479 | esbuild-linux-riscv64@0.14.31:
480 | version "0.14.31"
481 | resolved "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.31.tgz#d74ca78c8ed1d9b40bc907a9e3ef6e83fc06189c"
482 | integrity sha512-l13yvmsVfawAnoYfcpuvml+nTlrOmtdceXYufSkXl2DOb0JKcuR6ARlAzuQCDcpo49SOJy1cCxpwlOIsUQBfzA==
483 |
484 | esbuild-linux-s390x@0.14.31:
485 | version "0.14.31"
486 | resolved "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.31.tgz#1bd547b8b027e323b77a838d265cb56ece2543af"
487 | integrity sha512-GIwV9mY3koYja9MCSkKLk1P7rj+MkPV0UsGsZ575hEcIBrXeKN9jBi6X/bxDDPEN/SUAH35cJhBNrZU4x9lEfg==
488 |
489 | esbuild-netbsd-64@0.14.31:
490 | version "0.14.31"
491 | resolved "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.31.tgz#964a45dbad4fac92aa0a15056e38a182735bd6c6"
492 | integrity sha512-bJ+pyLvKQm+Obp5k7/Wk8e9Gdkls56F1aiI3uptoIfOIUqsZImH7pDyTrSufwqsFp62kO9LRuwXnjDwQtPyhFQ==
493 |
494 | esbuild-openbsd-64@0.14.31:
495 | version "0.14.31"
496 | resolved "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.31.tgz#7d2a1d46450321b0459263d3e7072e6d3924ce46"
497 | integrity sha512-NRAAPPca05H9j9Xab0kVXK0V6/pyZGGy8d2Y8KS0BMwWEydlD4KCJDmH8/7bWCKYLRGOOCE9/GPBJyPWHFW3sg==
498 |
499 | esbuild-sunos-64@0.14.31:
500 | version "0.14.31"
501 | resolved "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.31.tgz#3b3e4363951cd1dda14a14fee6d94ca426108e0c"
502 | integrity sha512-9uA+V8w9Eehu4ldb95lPWdgCMcMO5HH6pXmfkk5usn3JsSZxKdLKsXB4hYgP80wscZvVYXJl2G+KNxsUTfPhZw==
503 |
504 | esbuild-windows-32@0.14.31:
505 | version "0.14.31"
506 | resolved "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.31.tgz#997026a41c04535bfb7c014a0458940b49145820"
507 | integrity sha512-VGdncQTqoxD9q3v/dk0Yugbmx2FzOkcs0OemBYc1X9KXOLQYH0uQbLJIckZdZOC3J+JKSExbYFrzYCOwWPuNyA==
508 |
509 | esbuild-windows-64@0.14.31:
510 | version "0.14.31"
511 | resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.31.tgz#5d4b0ea686c9b60036303b3415c472f2761bdafc"
512 | integrity sha512-v/2ye5zBqpmCzi3bLCagStbNQlnOsY7WtMrD2Q0xZxeSIXONxji15KYtVee5o7nw4lXWbQSS1BL8G6BBMvtq4A==
513 |
514 | esbuild-windows-arm64@0.14.31:
515 | version "0.14.31"
516 | resolved "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.31.tgz#4f3b9fc34c4a33abbd0171df6cbb657ccbdbfc67"
517 | integrity sha512-RXeU42FJoG1sriNHg73h4S+5B7L/gw+8T7U9u8IWqSSEbY6fZvBh4uofugiU1szUDqqP00GHwZ09WgYe3lGZiw==
518 |
519 | esbuild@^0.14.27:
520 | version "0.14.31"
521 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.31.tgz#f7d0db114edc615f66d84972ee9fbd2b267f4029"
522 | integrity sha512-QA0fUM13+JZzcvg1bdrhi7wo8Lr5IRHA9ypNn2znqxGqb66dSK6pAh01TjyBOhzZGazPQJZ1K26VrCAQJ715qA==
523 | optionalDependencies:
524 | esbuild-android-64 "0.14.31"
525 | esbuild-android-arm64 "0.14.31"
526 | esbuild-darwin-64 "0.14.31"
527 | esbuild-darwin-arm64 "0.14.31"
528 | esbuild-freebsd-64 "0.14.31"
529 | esbuild-freebsd-arm64 "0.14.31"
530 | esbuild-linux-32 "0.14.31"
531 | esbuild-linux-64 "0.14.31"
532 | esbuild-linux-arm "0.14.31"
533 | esbuild-linux-arm64 "0.14.31"
534 | esbuild-linux-mips64le "0.14.31"
535 | esbuild-linux-ppc64le "0.14.31"
536 | esbuild-linux-riscv64 "0.14.31"
537 | esbuild-linux-s390x "0.14.31"
538 | esbuild-netbsd-64 "0.14.31"
539 | esbuild-openbsd-64 "0.14.31"
540 | esbuild-sunos-64 "0.14.31"
541 | esbuild-windows-32 "0.14.31"
542 | esbuild-windows-64 "0.14.31"
543 | esbuild-windows-arm64 "0.14.31"
544 |
545 | escalade@^3.1.1:
546 | version "3.1.1"
547 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
548 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
549 |
550 | escape-string-regexp@^1.0.5:
551 | version "1.0.5"
552 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
553 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
554 |
555 | estree-walker@^1.0.1:
556 | version "1.0.1"
557 | resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
558 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
559 |
560 | estree-walker@^2.0.1:
561 | version "2.0.2"
562 | resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
563 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
564 |
565 | fsevents@~2.3.2:
566 | version "2.3.2"
567 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
568 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
569 |
570 | function-bind@^1.1.1:
571 | version "1.1.1"
572 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
573 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
574 |
575 | gensync@^1.0.0-beta.2:
576 | version "1.0.0-beta.2"
577 | resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
578 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
579 |
580 | globals@^11.1.0:
581 | version "11.12.0"
582 | resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
583 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
584 |
585 | has-flag@^3.0.0:
586 | version "3.0.0"
587 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
588 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
589 |
590 | has@^1.0.3:
591 | version "1.0.3"
592 | resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
593 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
594 | dependencies:
595 | function-bind "^1.1.1"
596 |
597 | history@^5.2.0:
598 | version "5.3.0"
599 | resolved "https://registry.npmjs.org/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b"
600 | integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==
601 | dependencies:
602 | "@babel/runtime" "^7.7.6"
603 |
604 | is-core-module@^2.8.1:
605 | version "2.8.1"
606 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
607 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
608 | dependencies:
609 | has "^1.0.3"
610 |
611 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
612 | version "4.0.0"
613 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
614 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
615 |
616 | jsesc@^2.5.1:
617 | version "2.5.2"
618 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
619 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
620 |
621 | json5@^2.1.2:
622 | version "2.2.1"
623 | resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
624 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
625 |
626 | loose-envify@^1.1.0:
627 | version "1.4.0"
628 | resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
629 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
630 | dependencies:
631 | js-tokens "^3.0.0 || ^4.0.0"
632 |
633 | magic-string@^0.25.7:
634 | version "0.25.9"
635 | resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
636 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
637 | dependencies:
638 | sourcemap-codec "^1.4.8"
639 |
640 | ms@2.1.2:
641 | version "2.1.2"
642 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
643 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
644 |
645 | nanoid@^3.3.1:
646 | version "3.3.2"
647 | resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557"
648 | integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==
649 |
650 | node-releases@^2.0.2:
651 | version "2.0.2"
652 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01"
653 | integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==
654 |
655 | object-assign@^4.1.1:
656 | version "4.1.1"
657 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
658 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
659 |
660 | path-parse@^1.0.7:
661 | version "1.0.7"
662 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
663 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
664 |
665 | picocolors@^1.0.0:
666 | version "1.0.0"
667 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
668 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
669 |
670 | picomatch@^2.2.2:
671 | version "2.3.1"
672 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
673 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
674 |
675 | postcss@^8.4.12:
676 | version "8.4.12"
677 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905"
678 | integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==
679 | dependencies:
680 | nanoid "^3.3.1"
681 | picocolors "^1.0.0"
682 | source-map-js "^1.0.2"
683 |
684 | react-dom@^17.0.2:
685 | version "17.0.2"
686 | resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
687 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
688 | dependencies:
689 | loose-envify "^1.1.0"
690 | object-assign "^4.1.1"
691 | scheduler "^0.20.2"
692 |
693 | react-refresh@^0.11.0:
694 | version "0.11.0"
695 | resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
696 | integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
697 |
698 | react-router-dom@6.2.2:
699 | version "6.2.2"
700 | resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz#f1a2c88365593c76b9612ae80154a13fcb72e442"
701 | integrity sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==
702 | dependencies:
703 | history "^5.2.0"
704 | react-router "6.2.2"
705 |
706 | react-router@6.2.2:
707 | version "6.2.2"
708 | resolved "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz#495e683a0c04461eeb3d705fe445d6cf42f0c249"
709 | integrity sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==
710 | dependencies:
711 | history "^5.2.0"
712 |
713 | react@^17.0.2:
714 | version "17.0.2"
715 | resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
716 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
717 | dependencies:
718 | loose-envify "^1.1.0"
719 | object-assign "^4.1.1"
720 |
721 | regenerator-runtime@^0.13.4:
722 | version "0.13.9"
723 | resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
724 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
725 |
726 | resolve@^1.22.0:
727 | version "1.22.0"
728 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
729 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
730 | dependencies:
731 | is-core-module "^2.8.1"
732 | path-parse "^1.0.7"
733 | supports-preserve-symlinks-flag "^1.0.0"
734 |
735 | rollup@^2.59.0:
736 | version "2.70.1"
737 | resolved "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz#824b1f1f879ea396db30b0fc3ae8d2fead93523e"
738 | integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==
739 | optionalDependencies:
740 | fsevents "~2.3.2"
741 |
742 | safe-buffer@~5.1.1:
743 | version "5.1.2"
744 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
745 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
746 |
747 | scheduler@^0.20.2:
748 | version "0.20.2"
749 | resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
750 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
751 | dependencies:
752 | loose-envify "^1.1.0"
753 | object-assign "^4.1.1"
754 |
755 | semver@^6.3.0:
756 | version "6.3.0"
757 | resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
758 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
759 |
760 | source-map-js@^1.0.2:
761 | version "1.0.2"
762 | resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
763 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
764 |
765 | source-map@^0.5.0:
766 | version "0.5.7"
767 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
768 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
769 |
770 | sourcemap-codec@^1.4.8:
771 | version "1.4.8"
772 | resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
773 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
774 |
775 | supports-color@^5.3.0:
776 | version "5.5.0"
777 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
778 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
779 | dependencies:
780 | has-flag "^3.0.0"
781 |
782 | supports-preserve-symlinks-flag@^1.0.0:
783 | version "1.0.0"
784 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
785 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
786 |
787 | to-fast-properties@^2.0.0:
788 | version "2.0.0"
789 | resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
790 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
791 |
792 | typescript@^4.3.5:
793 | version "4.6.3"
794 | resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
795 | integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
796 |
797 | vite@^2.5.0:
798 | version "2.9.1"
799 | resolved "https://registry.npmjs.org/vite/-/vite-2.9.1.tgz#84bce95fae210a7beb566a0af06246748066b48f"
800 | integrity sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==
801 | dependencies:
802 | esbuild "^0.14.27"
803 | postcss "^8.4.12"
804 | resolve "^1.22.0"
805 | rollup "^2.59.0"
806 | optionalDependencies:
807 | fsevents "~2.3.2"
808 |
--------------------------------------------------------------------------------
/lib/multiple-citys.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var React = require('react');
4 |
5 | function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6 |
7 | var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
8 |
9 | /*! *****************************************************************************
10 | Copyright (c) Microsoft Corporation.
11 |
12 | Permission to use, copy, modify, and/or distribute this software for any
13 | purpose with or without fee is hereby granted.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
16 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
17 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
18 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
19 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21 | PERFORMANCE OF THIS SOFTWARE.
22 | ***************************************************************************** */
23 |
24 | var __assign = function() {
25 | __assign = Object.assign || function __assign(t) {
26 | for (var s, i = 1, n = arguments.length; i < n; i++) {
27 | s = arguments[i];
28 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
29 | }
30 | return t;
31 | };
32 | return __assign.apply(this, arguments);
33 | };
34 |
35 | var img$4 = "data:image/png;base64,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";
36 |
37 | var img$3 = "data:image/png;base64,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";
38 |
39 | var img$2 = "data:image/png;base64,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";
40 |
41 | var img$1 = "data:image/png;base64,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";
42 |
43 | function styleInject(css, ref) {
44 | if (ref === void 0) ref = {};
45 | var insertAt = ref.insertAt;
46 |
47 | if (!css || typeof document === 'undefined') {
48 | return;
49 | }
50 |
51 | var head = document.head || document.getElementsByTagName('head')[0];
52 | var style = document.createElement('style');
53 | style.type = 'text/css';
54 |
55 | if (insertAt === 'top') {
56 | if (head.firstChild) {
57 | head.insertBefore(style, head.firstChild);
58 | } else {
59 | head.appendChild(style);
60 | }
61 | } else {
62 | head.appendChild(style);
63 | }
64 |
65 | if (style.styleSheet) {
66 | style.styleSheet.cssText = css;
67 | } else {
68 | style.appendChild(document.createTextNode(css));
69 | }
70 | }
71 |
72 | var css_248z$2 = ".pop{background-color:#fff;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;height:326px;left:0;padding-top:6px;position:absolute;z-index:1}.pop-fixed{bottom:0;left:0;position:fixed;right:0;top:0}.pop-content{column-gap:0;columns:var(--column);height:100%;overflow:hidden;position:relative;z-index:2}.pop-scroll{height:100%;overflow-y:scroll;width:150px}.pop-scroll .flex{align-items:center;display:flex;flex:1}.pop-scroll .line-1{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:50px}.pop-scroll-item{align-items:center;display:flex;padding:5px 15px}.pop-scroll-item-box{height:20px;margin-right:10px;width:20px}.pop-scroll-item-title{cursor:pointer}.pop-scroll-item-more{height:14px;transform:rotate(270deg);width:14px}.pop-scroll+.pop-scroll{border-left:thin solid #f1f1f1}";
73 | styleInject(css_248z$2);
74 |
75 | var MultipleCitysReactPop = function (_a) {
76 | var _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.checkList, checkList = _c === void 0 ? [] : _c, _d = _a.visible, visible = _d === void 0 ? false : _d, top = _a.top, _e = _a.checkBoxIconActived, checkBoxIconActived = _e === void 0 ? img$4 : _e, _f = _a.checkBoxIcon, checkBoxIcon = _f === void 0 ? img$3 : _f, _g = _a.checkBoxIconPart, checkBoxIconPart = _g === void 0 ? img$2 : _g, _h = _a.color, color = _h === void 0 ? "#232323" : _h, loadNextLevelData = _a.loadNextLevelData, onClose = _a.onClose, onChange = _a.onChange;
77 | var _j = React.useState(false), temp = _j[0], setTemp = _j[1];
78 | var _k = React.useState({
79 | firstId: 0,
80 | first: "",
81 | }), levelInfo = _k[0], setLevelInfo = _k[1];
82 | var _l = React.useState({ secondList: [], thirdList: [] }), listInfo = _l[0], setListInfo = _l[1];
83 | var _m = React.useState({
84 | lay: 1,
85 | id: 0,
86 | }), currentInfo = _m[0], setCurrentInfo = _m[1];
87 | var _o = React.useState([]), selectIdList = _o[0], setSelectIdList = _o[1];
88 | var _p = React.useState([]), someSelectIdList = _p[0], setSomeSelectIdList = _p[1];
89 | var style = React.useMemo(function () {
90 | return {
91 | color: color,
92 | top: top ? "-336px" : "auto",
93 | };
94 | }, [color, top]);
95 | React.useEffect(function () {
96 | if (!visible)
97 | setTimeout(function () { return setTemp(false); }, 500);
98 | }, [visible]);
99 | React.useEffect(function () {
100 | if (!visible)
101 | return;
102 | var treeEle = document.getElementById("treeBadgeWrapper");
103 | var popEle = document.getElementById("treePop");
104 | var offsetTop = treeEle.offsetTop, offsetHeight = treeEle.offsetHeight;
105 | popEle.style.setProperty("--top", "".concat(offsetTop + offsetHeight + 10, "px"));
106 | setTemp(true);
107 | }, [visible]);
108 | React.useEffect(function () {
109 | var aotherList = [];
110 | var selfList = [];
111 | switch (currentInfo.lay) {
112 | case 1:
113 | aotherList = checkList.filter(function (item) { return item.firstId !== currentInfo.id; });
114 | selfList = checkList.filter(function (item) {
115 | return item.firstId === currentInfo.id && !item.secondId && !item.thirdId;
116 | });
117 | break;
118 | case 2:
119 | aotherList = checkList.filter(function (item) { return item.secondId !== currentInfo.id; });
120 | selfList = checkList.filter(function (item) {
121 | return item.secondId === currentInfo.id && !item.thirdId;
122 | });
123 | break;
124 | case 3:
125 | aotherList = checkList.filter(function (item) { return item.thirdId !== currentInfo.id; });
126 | selfList = checkList.filter(function (item) { return item.thirdId === currentInfo.id; });
127 | break;
128 | }
129 | var result = aotherList.concat(selfList);
130 | var selects = result.map(function (item) {
131 | switch (true) {
132 | case !!item.thirdId:
133 | return item.thirdId;
134 | case !!item.secondId:
135 | return item.secondId;
136 | default:
137 | return item.firstId;
138 | }
139 | });
140 | var aothers = [];
141 | result.forEach(function (item) {
142 | if (!selects.includes(item.firstId)) {
143 | aothers.push(item.firstId);
144 | }
145 | if (!selects.includes(item.secondId)) {
146 | aothers.push(item.secondId);
147 | }
148 | if (!selects.includes(item.thirdId)) {
149 | aothers.push(item.thirdId);
150 | }
151 | });
152 | setSelectIdList(selects);
153 | setSomeSelectIdList(aothers);
154 | }, [currentInfo, checkList]);
155 | var popMoreCheck = React.useCallback(function (type, scope) { return function () {
156 | var list = [];
157 | var firstCheckItem;
158 | var level;
159 | switch (scope.lay) {
160 | case 1:
161 | list = [scope];
162 | level = {
163 | firstId: scope.value,
164 | first: scope.label,
165 | secondId: "",
166 | second: "",
167 | thirdId: "",
168 | third: "",
169 | };
170 | break;
171 | case 2:
172 | firstCheckItem = data.find(function (item) { return item.value === levelInfo.firstId; });
173 | list = [firstCheckItem, scope];
174 | level = {
175 | firstId: levelInfo.firstId,
176 | first: levelInfo.first,
177 | secondId: scope.value,
178 | second: scope.label,
179 | thirdId: "",
180 | third: "",
181 | };
182 | break;
183 | case 3:
184 | level = {
185 | firstId: levelInfo.firstId,
186 | first: levelInfo.first,
187 | secondId: levelInfo.secondId,
188 | second: levelInfo.second,
189 | thirdId: scope.value,
190 | third: scope.label,
191 | };
192 | break;
193 | }
194 | if (type === "check") {
195 | var checked = !checkList.some(function (item) {
196 | return (item.firstId === scope.value && !item.secondId && !item.thirdId) ||
197 | (item.secondId === scope.value && !item.thirdId) ||
198 | item.thirdId === scope.value;
199 | });
200 | popCheck(scope, checked, level, scope.children);
201 | }
202 | else {
203 | !scope.isLeaf &&
204 | loadNextLevelData(list, function (result) {
205 | if (scope.lay === 1) {
206 | setListInfo({ secondList: result, thirdList: [] });
207 | }
208 | else {
209 | setListInfo(function (pre) { return (__assign(__assign({}, pre), { thirdList: result })); });
210 | }
211 | });
212 | !scope.isLeaf && changePopColumn(scope.lay + 1);
213 | }
214 | setLevelInfo(level);
215 | }; }, [levelInfo, checkList, data]);
216 | var popCheck = React.useCallback(function (scope, checked, level, children) {
217 | var tempList = checkList;
218 | var value = scope.value, lay = scope.lay;
219 | setCurrentInfo({ lay: lay, id: value });
220 | switch (true) {
221 | case !checked && lay === 1:
222 | tempList = tempList.filter(function (item) { return item.firstId !== value; });
223 | changePopColumn(1);
224 | break;
225 | case !checked && lay === 2:
226 | tempList = tempList.filter(function (item) { return item.secondId !== value; });
227 | changePopColumn(2);
228 | break;
229 | case !checked && lay === 3:
230 | tempList = tempList.filter(function (item) { return item.thirdId !== value; });
231 | break;
232 | case checked && lay === 1:
233 | tempList = tempList.filter(function (item) {
234 | return !(item.firstId === scope.value && item.secondId);
235 | });
236 | tempList.push({ firstId: scope.value, first: scope.label });
237 | setListInfo({ secondList: [], thirdList: [] });
238 | changePopColumn(1);
239 | break;
240 | case checked && lay === 2:
241 | tempList = tempList.filter(function (item) {
242 | return !(item.firstId === level.firstId && !item.secondId);
243 | });
244 | tempList = tempList.filter(function (item) {
245 | return !(item.secondId === scope.value && item.thirdId);
246 | });
247 | tempList.push({
248 | firstId: level.firstId,
249 | first: level.first,
250 | secondId: scope.value,
251 | second: scope.label,
252 | });
253 | changePopColumn(2);
254 | break;
255 | case checked && lay === 3:
256 | tempList = tempList.filter(function (item) {
257 | return !(item.firstId === level.firstId && !item.secondId);
258 | });
259 | tempList = tempList.filter(function (item) {
260 | return !(item.secondId === level.secondId && !item.thirdId);
261 | });
262 | tempList = tempList.filter(function (item) { return !(item.thirdId === scope.value); });
263 | tempList.push({
264 | firstId: level.firstId,
265 | first: level.first,
266 | secondId: level.secondId,
267 | second: level.second,
268 | thirdId: scope.value,
269 | third: scope.label,
270 | });
271 | changePopColumn(3);
272 | break;
273 | }
274 | onChange(tempList);
275 | }, [checkList]);
276 | var changePopColumn = React.useCallback(function (lay) {
277 | var popContentEle = document.getElementById("tree-pop-content");
278 | popContentEle.style.setProperty("--column", "".concat(lay));
279 | }, []);
280 | var popEvent = React.useCallback(function (event) {
281 | stopEvent(event);
282 | onClose();
283 | }, []);
284 | var stopEvent = React.useCallback(function (event) {
285 | event.stopPropagation();
286 | }, []);
287 | var imgUrlJump = React.useCallback(function (value) {
288 | if (selectIdList.includes(value)) {
289 | return checkBoxIconActived;
290 | }
291 | else if (someSelectIdList.includes(value)) {
292 | return checkBoxIconPart;
293 | }
294 | else {
295 | return checkBoxIcon;
296 | }
297 | }, [selectIdList, someSelectIdList]);
298 | return (React__default["default"].createElement(React__default["default"].Fragment, null, visible && (React__default["default"].createElement("div", { className: "pop pop-".concat(temp ? "in" : "out"), id: "treePop", style: style },
299 | React__default["default"].createElement("div", { className: "pop-fixed", onClick: popEvent }),
300 | React__default["default"].createElement("div", { className: "pop-content", id: "tree-pop-content" },
301 | React__default["default"].createElement("div", { className: "pop-scroll" }, data.map(function (item) { return (React__default["default"].createElement("div", { className: "pop-scroll-item", key: item.value },
302 | React__default["default"].createElement("img", { className: "pop-scroll-item-box", onClick: popMoreCheck("check", item), src: imgUrlJump(item.value), alt: "" }),
303 | React__default["default"].createElement("div", { className: "flex", onClick: popMoreCheck("more", item) },
304 | React__default["default"].createElement("div", { className: "pop-scroll-item-title flex webkit-box-wrap line-1" }, item.label),
305 | React__default["default"].createElement("img", { className: "pop-scroll-item-more", src: img$1, alt: "" })))); })),
306 | React__default["default"].createElement("div", { className: "pop-scroll" }, listInfo.secondList.map(function (item) { return (React__default["default"].createElement("div", { className: "pop-scroll-item", key: item.value },
307 | React__default["default"].createElement("img", { className: "pop-scroll-item-box", onClick: popMoreCheck("check", item), src: imgUrlJump(item.value), alt: "" }),
308 | React__default["default"].createElement("div", { className: "flex", onClick: popMoreCheck("more", item) },
309 | React__default["default"].createElement("div", { className: "pop-scroll-item-title flex webkit-box-wrap line-1" }, item.label),
310 | !item.isLeaf && (React__default["default"].createElement("img", { className: "pop-scroll-item-more", src: img$1, alt: "" }))))); })),
311 | React__default["default"].createElement("div", { className: "pop-scroll" }, listInfo.thirdList.map(function (item) { return (React__default["default"].createElement("div", { className: "pop-scroll-item", key: item.value },
312 | React__default["default"].createElement("img", { className: "pop-scroll-item-box", onClick: popMoreCheck("check", item), src: imgUrlJump(item.value), alt: "" }),
313 | React__default["default"].createElement("div", { className: "pop-scroll-item-title flex webkit-box-wrap line-1", onClick: popMoreCheck("more", item) }, item.label))); })))))));
314 | };
315 |
316 | var img = "data:image/png;base64,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";
317 |
318 | var css_248z$1 = ".badge{display:flex;flex-wrap:wrap;padding:5px 0}.badge-item-wrapper{color:#fff;cursor:pointer;font-size:15px;line-height:26px;position:relative}.badge-item{display:inline-block;margin:2px 10px 2px 0;padding:0 10px}.badge-item-primary{background-color:#e6f7ff;border:thin solid #e6f7ff;color:#1890ff}.badge-item-danger{background-color:#eebdbe;border:thin solid #eeaeaf;color:#bc1414}.badge-item-default{background-color:#f5f5f5;border:thin solid #ccc;color:#333}.badge-item-close{display:none;height:20px;position:absolute;right:5px;top:-5px;width:20px}.badge-item-wrapper:hover>.badge-item-close{display:block}";
319 | styleInject(css_248z$1);
320 |
321 | var Badge = function (_a) {
322 | var list = _a.list, _b = _a.edit, edit = _b === void 0 ? true : _b, _c = _a.badgeStyle, badgeStyle = _c === void 0 ? "default" : _c, onClose = _a.onClose;
323 | var stopEvent = React.useCallback(function (event) {
324 | event.stopPropagation();
325 | }, []);
326 | return (React__default["default"].createElement("div", { className: "badge" }, list.map(function (item, index) { return (React__default["default"].createElement("div", { className: "badge-item-wrapper", key: index, onClick: stopEvent },
327 | React__default["default"].createElement("span", { className: ["badge-item ", "badge-item-" + badgeStyle].join("") }, "\n ".concat(item.first).concat(item.secondId ? "-".concat(item.second) : "").concat(item.thirdId ? "-".concat(item.third) : "", "\n ")),
328 | edit && (React__default["default"].createElement("img", { className: "badge-item-close", src: img, alt: "", onClick: function () { return onClose(index); } })))); })));
329 | };
330 |
331 | var css_248z = ".multiple-citys-react{position:relative}.multiple-citys-react-badge-wrapper{background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;display:inline-block;font-size:14px;line-height:40px;padding:0 10px;position:relative}.multiple-citys-react-badge-show-placeholder{color:#ccc;display:inline-block;width:200px}";
332 | styleInject(css_248z);
333 |
334 | var MultipleCitysReact = function (props) {
335 | var top = props.top, _a = props.data, data = _a === void 0 ? [] : _a, _b = props.checkList, checkList = _b === void 0 ? [] : _b, _c = props.edit, edit = _c === void 0 ? true : _c, _d = props.placeholder, placeholder = _d === void 0 ? "" : _d, _e = props.badgesWidth, badgesWidth = _e === void 0 ? 500 : _e, checkBoxIcon = props.checkBoxIcon, checkBoxIconActived = props.checkBoxIconActived, checkBoxIconPart = props.checkBoxIconPart, color = props.color, badgeStyle = props.badgeStyle, loadNextLevelData = props.loadNextLevelData, onChange = props.onChange;
336 | var _f = React.useState(false), visible = _f[0], setVisible = _f[1];
337 | var treeClick = React.useCallback(function (type) { return function () {
338 | if (!edit)
339 | return;
340 | setVisible(type === "close" ? false : true);
341 | }; }, [edit]);
342 | var style = React.useMemo(function () {
343 | return {
344 | width: badgesWidth + "px",
345 | };
346 | }, [badgesWidth]);
347 | var TreeChange = React.useCallback(function (list) {
348 | onChange(list);
349 | }, []);
350 | var checkDelete = React.useCallback(function (value) {
351 | var list = checkList.filter(function (item, index) { return index !== value; });
352 | onChange(list);
353 | }, [checkList]);
354 | return (React__default["default"].createElement("div", { className: "multiple-citys-react" },
355 | React__default["default"].createElement("div", { className: "multiple-citys-react-badge-wrapper", id: "treeBadgeWrapper", onClick: treeClick("open"), style: style }, checkList.length > 0 ? (React__default["default"].createElement(Badge, { list: checkList, edit: edit, badgeStyle: badgeStyle, onClose: checkDelete })) : (React__default["default"].createElement("span", { className: "multiple-citys-react-badge-show-placeholder" }, placeholder))),
356 | React__default["default"].createElement(MultipleCitysReactPop, { data: data, visible: visible, checkList: checkList, top: top, checkBoxIconActived: checkBoxIconActived, checkBoxIcon: checkBoxIcon, checkBoxIconPart: checkBoxIconPart, color: color, loadNextLevelData: loadNextLevelData, onClose: treeClick("close"), onChange: TreeChange })));
357 | };
358 |
359 | module.exports = MultipleCitysReact;
360 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@banyinbanying/multiple-citys-react",
3 | "version": "2.2.0",
4 | "license": "ISC",
5 | "main": "lib/multiple-citys.js",
6 | "private": false,
7 | "keywords": [
8 | "multiple-citys-react"
9 | ],
10 | "descrption": "multiple-citys-choose",
11 | "scripts": {
12 | "build": "yarn run rollup -c"
13 | },
14 | "repository": {
15 | "url": "zhaochengxian/multiple-citys-react",
16 | "directory": "packages/image"
17 | },
18 | "author": "zhaochengxian",
19 | "homepage": "https://github.com/zhaochengxian/multiple-citys-react",
20 | "types": "lib/index.d.ts",
21 | "devDependencies": {
22 | "@babel/core": "^7.17.8",
23 | "@babel/preset-env": "^7.16.11",
24 | "@babel/preset-react": "^7.16.7",
25 | "@emotion/babel-preset-css-prop": "^11.2.0",
26 | "@rollup/plugin-image": "^2.1.1",
27 | "@types/node": "^17.0.23",
28 | "@types/react": "^17.0.43",
29 | "@types/react-dom": "^17.0.14",
30 | "node-sass": "^7.0.1",
31 | "postcss": "^8.4.12",
32 | "postcss-cli": "^9.1.0",
33 | "rollup": "^2.70.1",
34 | "rollup-plugin-babel": "^4.4.0",
35 | "rollup-plugin-postcss": "^4.0.2",
36 | "rollup-plugin-typescript2": "^0.31.2",
37 | "typescript": "^4.6.3"
38 | }
39 | }
--------------------------------------------------------------------------------
/packages/images.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.svg';
2 | declare module '*.png';
--------------------------------------------------------------------------------
/packages/index.d.ts:
--------------------------------------------------------------------------------
1 | declare module "@banyinbanying/multiple-citys-react"
2 |
--------------------------------------------------------------------------------
/packages/index.tsx:
--------------------------------------------------------------------------------
1 | import MultipleCitysReact from "./multipleCitysReact";
2 |
3 | export default MultipleCitysReact;
4 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/components/badge/index.scss:
--------------------------------------------------------------------------------
1 | .badge {
2 | padding: 5px 0;
3 | flex-wrap: wrap;
4 | display: flex;
5 | &-item-wrapper {
6 | position: relative;
7 | cursor: pointer;
8 | font-size: 15px;
9 | line-height: 26px;
10 | color: white;
11 | }
12 | &-item {
13 | display: inline-block;
14 | margin: 2px 10px 2px 0;
15 | padding: 0 10px;
16 |
17 | &-primary {
18 | color: #1890ff;
19 | border: solid thin #e6f7ff;
20 | background-color: #e6f7ff;
21 | }
22 | &-danger {
23 | color: #bc1414;
24 | border: solid thin #eeaeaf;
25 | background-color: #eebdbe;
26 | }
27 | &-default {
28 | color: #333;
29 | border: solid thin #ccc;
30 | background-color: #f5f5f5;
31 | }
32 | &-close {
33 | display: none;
34 | position: absolute;
35 | width: 20px;
36 | height: 20px;
37 | top: -5px;
38 | right: 5px;
39 | }
40 | }
41 | &-item-wrapper:hover > &-item-close {
42 | display: block;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/components/badge/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { useCallback } from "react";
2 |
3 | import { MultipleItem } from "../../model";
4 | import { BadgeStyle } from "../../model/badge";
5 |
6 | import TREE_CLOSE from "../../images/closeBadge.png";
7 | import "./index.scss";
8 |
9 | const Badge = ({
10 | list,
11 | edit = true,
12 | badgeStyle = "default",
13 | onClose,
14 | }: {
15 | list: MultipleItem[];
16 | edit?: boolean;
17 | badgeStyle: BadgeStyle;
18 | onClose: (value: number) => void;
19 | }) => {
20 | const stopEvent = useCallback((event: any) => {
21 | event.stopPropagation();
22 | }, []);
23 |
24 | return (
25 |
26 | {list.map((item: MultipleItem, index: number) => (
27 |
28 |
{`
31 | ${item.first}${item.secondId ? `-${item.second}` : ""}${
32 | item.thirdId ? `-${item.third}` : ""
33 | }
34 | `}
35 | {edit && (
36 |

onClose(index)}
41 | />
42 | )}
43 |
44 | ))}
45 |
46 | );
47 | };
48 |
49 | export default Badge;
50 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/components/pop/images.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.svg'
2 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/components/pop/index.scss:
--------------------------------------------------------------------------------
1 | .pop {
2 | position: absolute;
3 | height: 326px;
4 | padding-top: 6px;
5 | background-color: white;
6 | left: 0;
7 | box-shadow: 0 3px 6px -4px #0000001f, 0 6px 16px #00000014,
8 | 0 9px 28px 8px #0000000d;
9 | z-index: 1;
10 |
11 | &-fixed {
12 | position: fixed;
13 | top: 0;
14 | left: 0;
15 | bottom: 0;
16 | right: 0;
17 | }
18 | &-content {
19 | position: relative;
20 | height: 100%;
21 | z-index: 2;
22 | columns: var(--column);
23 | column-gap: 0;
24 | overflow: hidden;
25 | }
26 | &-scroll {
27 | width: 150px;
28 | height: 100%;
29 | overflow-y: scroll;
30 | .flex {
31 | flex: 1;
32 | align-items: center;
33 | display: flex;
34 | }
35 | .line-1 {
36 | white-space: nowrap;
37 | overflow: hidden;
38 | text-overflow: ellipsis;
39 | width: 50px;
40 | display: inline-block;
41 | }
42 | &-item {
43 | padding: 5px 15px;
44 | align-items: center;
45 | display: flex;
46 | &-box {
47 | width: 20px;
48 | height: 20px;
49 | margin-right: 10px;
50 | }
51 | &-title {
52 | cursor: pointer;
53 | }
54 | &-more {
55 | width: 14px;
56 | height: 14px;
57 | transform: rotate(270deg);
58 | }
59 | }
60 | }
61 | &-scroll + &-scroll {
62 | border-left: solid thin #f1f1f1;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/components/pop/index.tsx:
--------------------------------------------------------------------------------
1 | import React, {
2 | CSSProperties,
3 | useCallback,
4 | useEffect,
5 | useState,
6 | useMemo,
7 | } from "react";
8 |
9 | import { MultipleCitysReactPopModel, AddressType } from "../../model/pop";
10 | import { MultipleItem } from "../../model";
11 |
12 | import CHECKBOX_ICON_ACTIVED from "../../images/checkBoxIconActived.png";
13 | import CHECKBOX_ICON from "../../images/checkBoxIcon.png";
14 | import CHECKBOX_ICON_PART from "../../images/checkBoxIconPart.png";
15 | import arrowDown from "../../images/arrowDown.png";
16 |
17 | import "./index.scss";
18 |
19 | const MultipleCitysReactPop = ({
20 | data = [],
21 | checkList = [],
22 | visible = false,
23 | top,
24 | checkBoxIconActived = CHECKBOX_ICON_ACTIVED,
25 | checkBoxIcon = CHECKBOX_ICON,
26 | checkBoxIconPart = CHECKBOX_ICON_PART,
27 | color = "#232323",
28 | loadNextLevelData,
29 | onClose,
30 | onChange,
31 | }: MultipleCitysReactPopModel) => {
32 | const [temp, setTemp] = useState(false);
33 | const [levelInfo, setLevelInfo] = useState({
34 | firstId: 0,
35 | first: "",
36 | });
37 | const [listInfo, setListInfo] = useState<{
38 | secondList: AddressType[];
39 | thirdList: AddressType[];
40 | }>({ secondList: [], thirdList: [] });
41 | const [currentInfo, setCurrentInfo] = useState<{ lay: number; id: number }>({
42 | lay: 1,
43 | id: 0,
44 | });
45 | const [selectIdList, setSelectIdList] = useState([]);
46 | const [someSelectIdList, setSomeSelectIdList] = useState([]);
47 | const style = useMemo((): CSSProperties => {
48 | return {
49 | color,
50 | top: top ? "-336px" : "auto",
51 | };
52 | }, [color, top]);
53 | useEffect(() => {
54 | if (!visible) setTimeout(() => setTemp(false), 500);
55 | }, [visible]);
56 |
57 | useEffect(() => {
58 | if (!visible) return;
59 | const treeEle = document.getElementById("treeBadgeWrapper");
60 | const popEle = document.getElementById("treePop");
61 | const { offsetTop, offsetHeight } = treeEle;
62 | popEle.style.setProperty("--top", `${offsetTop + offsetHeight + 10}px`);
63 | setTemp(true);
64 | }, [visible]);
65 |
66 | useEffect(() => {
67 | let aotherList = [];
68 | let selfList = [];
69 | switch (currentInfo.lay) {
70 | case 1:
71 | aotherList = checkList.filter(
72 | (item: MultipleItem) => item.firstId !== currentInfo.id
73 | );
74 | selfList = checkList.filter(
75 | (item: MultipleItem) =>
76 | item.firstId === currentInfo.id && !item.secondId && !item.thirdId
77 | );
78 | break;
79 | case 2:
80 | aotherList = checkList.filter(
81 | (item: MultipleItem) => item.secondId !== currentInfo.id
82 | );
83 | selfList = checkList.filter(
84 | (item: MultipleItem) =>
85 | item.secondId === currentInfo.id && !item.thirdId
86 | );
87 | break;
88 | case 3:
89 | aotherList = checkList.filter(
90 | (item: MultipleItem) => item.thirdId !== currentInfo.id
91 | );
92 | selfList = checkList.filter(
93 | (item: MultipleItem) => item.thirdId === currentInfo.id
94 | );
95 | break;
96 | }
97 | const result = aotherList.concat(selfList);
98 |
99 | const selects = result.map((item: MultipleItem) => {
100 | switch (true) {
101 | case !!item.thirdId:
102 | return item.thirdId;
103 | case !!item.secondId:
104 | return item.secondId;
105 | default:
106 | return item.firstId;
107 | }
108 | });
109 | let aothers: number[] = [];
110 | result.forEach((item: MultipleItem) => {
111 | if (!selects.includes(item.firstId)) {
112 | aothers.push(item.firstId);
113 | }
114 | if (!selects.includes(item.secondId)) {
115 | aothers.push(item.secondId);
116 | }
117 | if (!selects.includes(item.thirdId)) {
118 | aothers.push(item.thirdId);
119 | }
120 | });
121 | setSelectIdList(selects);
122 | setSomeSelectIdList(aothers);
123 | }, [currentInfo, checkList]);
124 |
125 | const popMoreCheck = useCallback(
126 | (type: "check" | "more", scope: AddressType) => () => {
127 | let list = [];
128 | let firstCheckItem;
129 | let level;
130 | switch (scope.lay) {
131 | case 1:
132 | list = [scope];
133 | level = {
134 | firstId: scope.value,
135 | first: scope.label,
136 | secondId: "",
137 | second: "",
138 | thirdId: "",
139 | third: "",
140 | };
141 | break;
142 | case 2:
143 | firstCheckItem = data.find(
144 | (item: AddressType) => item.value === levelInfo.firstId
145 | );
146 | list = [firstCheckItem, scope];
147 | level = {
148 | firstId: levelInfo.firstId,
149 | first: levelInfo.first,
150 | secondId: scope.value,
151 | second: scope.label,
152 | thirdId: "",
153 | third: "",
154 | };
155 | break;
156 | case 3:
157 | level = {
158 | firstId: levelInfo.firstId,
159 | first: levelInfo.first,
160 | secondId: levelInfo.secondId,
161 | second: levelInfo.second,
162 | thirdId: scope.value,
163 | third: scope.label,
164 | };
165 | break;
166 | }
167 | if (type === "check") {
168 | const checked = !checkList.some(
169 | (item: MultipleItem) =>
170 | (item.firstId === scope.value && !item.secondId && !item.thirdId) ||
171 | (item.secondId === scope.value && !item.thirdId) ||
172 | item.thirdId === scope.value
173 | );
174 | popCheck(scope, checked, level, scope.children);
175 | } else {
176 | !scope.isLeaf &&
177 | loadNextLevelData(list, (result: AddressType[]) => {
178 | if (scope.lay === 1) {
179 | setListInfo({ secondList: result, thirdList: [] });
180 | } else {
181 | setListInfo((pre) => ({ ...pre, thirdList: result }));
182 | }
183 | });
184 | !scope.isLeaf && changePopColumn(scope.lay + 1);
185 | }
186 | setLevelInfo(level);
187 | },
188 | [levelInfo, checkList, data]
189 | );
190 |
191 | const popCheck = useCallback(
192 | (
193 | scope: AddressType,
194 | checked: boolean,
195 | level: MultipleItem,
196 | children: AddressType[]
197 | ) => {
198 | let tempList = checkList;
199 | const { value, lay } = scope;
200 | setCurrentInfo({ lay, id: value });
201 | switch (true) {
202 | case !checked && lay === 1:
203 | tempList = tempList.filter(
204 | (item: MultipleItem) => item.firstId !== value
205 | );
206 | changePopColumn(1);
207 | break;
208 |
209 | case !checked && lay === 2:
210 | tempList = tempList.filter(
211 | (item: MultipleItem) => item.secondId !== value
212 | );
213 | changePopColumn(2);
214 | break;
215 |
216 | case !checked && lay === 3:
217 | tempList = tempList.filter(
218 | (item: MultipleItem) => item.thirdId !== value
219 | );
220 | break;
221 |
222 | case checked && lay === 1:
223 | tempList = tempList.filter(
224 | (item: MultipleItem) =>
225 | !(item.firstId === scope.value && item.secondId)
226 | );
227 | tempList.push({ firstId: scope.value, first: scope.label });
228 | setListInfo({ secondList: [], thirdList: [] });
229 | changePopColumn(1);
230 | break;
231 |
232 | case checked && lay === 2:
233 | tempList = tempList.filter(
234 | (item: MultipleItem) =>
235 | !(item.firstId === level.firstId && !item.secondId)
236 | );
237 | tempList = tempList.filter(
238 | (item: MultipleItem) =>
239 | !(item.secondId === scope.value && item.thirdId)
240 | );
241 | tempList.push({
242 | firstId: level.firstId,
243 | first: level.first,
244 | secondId: scope.value,
245 | second: scope.label,
246 | });
247 | changePopColumn(2);
248 | break;
249 |
250 | case checked && lay === 3:
251 | tempList = tempList.filter(
252 | (item: MultipleItem) =>
253 | !(item.firstId === level.firstId && !item.secondId)
254 | );
255 | tempList = tempList.filter(
256 | (item: MultipleItem) =>
257 | !(item.secondId === level.secondId && !item.thirdId)
258 | );
259 | tempList = tempList.filter(
260 | (item: MultipleItem) => !(item.thirdId === scope.value)
261 | );
262 | tempList.push({
263 | firstId: level.firstId,
264 | first: level.first,
265 | secondId: level.secondId,
266 | second: level.second,
267 | thirdId: scope.value,
268 | third: scope.label,
269 | });
270 | changePopColumn(3);
271 | break;
272 | }
273 | onChange(tempList);
274 | },
275 | [checkList]
276 | );
277 |
278 | const changePopColumn = useCallback((lay: number) => {
279 | const popContentEle = document.getElementById("tree-pop-content");
280 | popContentEle.style.setProperty("--column", `${lay}`);
281 | }, []);
282 |
283 | const popEvent = useCallback((event) => {
284 | stopEvent(event);
285 | onClose();
286 | }, []);
287 |
288 | const stopEvent = useCallback((event: Event) => {
289 | event.stopPropagation();
290 | }, []);
291 |
292 | const imgUrlJump = useCallback(
293 | (value: number) => {
294 | if (selectIdList.includes(value)) {
295 | return checkBoxIconActived;
296 | } else if (someSelectIdList.includes(value)) {
297 | return checkBoxIconPart;
298 | } else {
299 | return checkBoxIcon;
300 | }
301 | },
302 | [selectIdList, someSelectIdList]
303 | );
304 |
305 | return (
306 |
307 | {visible && (
308 |
313 |
314 |
315 |
316 | {data.map((item: AddressType) => (
317 |
318 |
})
324 |
325 |
326 | {item.label}
327 |
328 |

333 |
334 |
335 | ))}
336 |
337 |
338 |
339 | {listInfo.secondList.map((item: AddressType) => (
340 |
341 |
})
347 |
348 |
349 | {item.label}
350 |
351 | {!item.isLeaf && (
352 |

357 | )}
358 |
359 |
360 | ))}
361 |
362 |
363 |
364 | {listInfo.thirdList.map((item: AddressType) => (
365 |
366 |
})
372 |
376 | {item.label}
377 |
378 |
379 | ))}
380 |
381 |
382 |
383 | )}
384 |
385 | );
386 | };
387 |
388 | export default MultipleCitysReactPop;
389 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/images/arrowDown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaochengxian/multiple-citys-react/ec289ca47a79bc90eee3befebffa3e21738078f9/packages/multipleCitysReact/images/arrowDown.png
--------------------------------------------------------------------------------
/packages/multipleCitysReact/images/checkBoxIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaochengxian/multiple-citys-react/ec289ca47a79bc90eee3befebffa3e21738078f9/packages/multipleCitysReact/images/checkBoxIcon.png
--------------------------------------------------------------------------------
/packages/multipleCitysReact/images/checkBoxIconActived.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaochengxian/multiple-citys-react/ec289ca47a79bc90eee3befebffa3e21738078f9/packages/multipleCitysReact/images/checkBoxIconActived.png
--------------------------------------------------------------------------------
/packages/multipleCitysReact/images/checkBoxIconPart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaochengxian/multiple-citys-react/ec289ca47a79bc90eee3befebffa3e21738078f9/packages/multipleCitysReact/images/checkBoxIconPart.png
--------------------------------------------------------------------------------
/packages/multipleCitysReact/images/closeBadge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhaochengxian/multiple-citys-react/ec289ca47a79bc90eee3befebffa3e21738078f9/packages/multipleCitysReact/images/closeBadge.png
--------------------------------------------------------------------------------
/packages/multipleCitysReact/index.scss:
--------------------------------------------------------------------------------
1 | .multiple-citys-react {
2 | position: relative;
3 | &-badge-wrapper {
4 | position: relative;
5 | display: inline-block;
6 | font-size: 14px;
7 | line-height: 40px;
8 | padding: 0 10px;
9 | background-color: white;
10 | border: 1px solid #d9d9d9;
11 | border-radius: 2px;
12 | }
13 | &-badge-show-placeholder {
14 | color: #ccc;
15 | display: inline-block;
16 | width: 200px;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { CSSProperties, useCallback, useState, useMemo } from "react";
2 |
3 | import MultipleCitysReactPop from "./components/pop";
4 | import Badge from "./components/badge";
5 |
6 | import { MultipleCitysReactModel, MultipleItem } from "./model";
7 |
8 | import "./index.scss";
9 |
10 | const MultipleCitysReact: React.FC = (props) => {
11 | const {
12 | top,
13 | data = [],
14 | checkList = [],
15 | edit = true,
16 | placeholder = "",
17 | badgesWidth = 500,
18 | checkBoxIcon,
19 | checkBoxIconActived,
20 | checkBoxIconPart,
21 | color,
22 | badgeStyle,
23 | loadNextLevelData,
24 | onChange,
25 | } = props;
26 | const [visible, setVisible] = useState(false);
27 | const treeClick = useCallback(
28 | (type: string) => () => {
29 | if (!edit) return;
30 | setVisible(type === "close" ? false : true);
31 | },
32 | [edit]
33 | );
34 | const style = useMemo((): CSSProperties => {
35 | return {
36 | width: badgesWidth + "px",
37 | };
38 | }, [badgesWidth]);
39 |
40 | const TreeChange = useCallback((list) => {
41 | onChange(list);
42 | }, []);
43 |
44 | const checkDelete = useCallback(
45 | (value: number) => {
46 | const list = checkList.filter(
47 | (item: MultipleItem, index: number) => index !== value
48 | );
49 | onChange(list);
50 | },
51 | [checkList]
52 | );
53 |
54 | return (
55 |
56 |
62 | {checkList.length > 0 ? (
63 |
69 | ) : (
70 |
71 | {placeholder}
72 |
73 | )}
74 |
75 |
76 |
89 |
90 | );
91 | };
92 |
93 | export default MultipleCitysReact;
94 |
--------------------------------------------------------------------------------
/packages/multipleCitysReact/model/badge.ts:
--------------------------------------------------------------------------------
1 | export type BadgeStyle = 'primary' | 'danger' | 'default'
--------------------------------------------------------------------------------
/packages/multipleCitysReact/model/index.ts:
--------------------------------------------------------------------------------
1 | import { AddressType } from "./pop"
2 | import { BadgeStyle } from "./badge"
3 |
4 | export interface MultipleItem {
5 | firstId: number
6 | first: string
7 | secondId?: number
8 | second?: string
9 | thirdId?: number
10 | third?: string
11 | }
12 | interface MultipleCitysReactCom {
13 | data: AddressType[]
14 | checkList: MultipleItem[]
15 | top?: boolean
16 | checkBoxIconActived?: string
17 | checkBoxIcon?: string
18 | checkBoxIconPart?: string
19 | color?: string
20 | onChange: (list: MultipleItem[]) => void
21 | }
22 |
23 | export interface MultipleCitysReactPopModel extends MultipleCitysReactCom {
24 | visible: boolean
25 | loadNextLevelData: Function
26 | onClose: () => void
27 |
28 | }
29 |
30 | export interface MultipleCitysReactModel extends MultipleCitysReactCom {
31 | edit?: boolean
32 | placeholder: string
33 | badgesWidth?: number
34 | badgeStyle?: BadgeStyle
35 | loadNextLevelData: Function
36 |
37 | }
--------------------------------------------------------------------------------
/packages/multipleCitysReact/model/pop.ts:
--------------------------------------------------------------------------------
1 | import { MultipleItem } from "./index"
2 |
3 | export interface AddressType {
4 | value: number
5 | label: string
6 | title?: string
7 | key?: string
8 | parentId: number
9 | lay: number
10 | isLeaf: boolean
11 | loading?: boolean
12 | children?: AddressType[]
13 | }
14 | export interface MultipleCitysReactPopModel {
15 | data: AddressType[]
16 | checkList: MultipleItem[]
17 | visible: boolean
18 | top: boolean
19 | checkBoxIconActived: string
20 | checkBoxIcon: string
21 | checkBoxIconPart: string
22 | color: string
23 | loadNextLevelData: Function
24 | onClose: () => void
25 | onChange: (list: MultipleItem[]) => void
26 | }
--------------------------------------------------------------------------------
/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | declare module "react/jsx-runtime" {
2 | export default any;
3 | }
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import babel from 'rollup-plugin-babel'
2 | import Postcss from 'rollup-plugin-postcss'
3 | import typescript from 'rollup-plugin-typescript2';
4 | import image from '@rollup/plugin-image';
5 | export default {
6 |
7 | input: './packages/index.tsx',
8 | output: {
9 | file: './lib/multiple-citys.js',
10 | format: 'cjs',
11 | },
12 | plugins: [
13 | babel(),
14 | typescript(),
15 | image(),
16 | Postcss({
17 | extract: false,
18 | minimize: true,
19 | extensions: ['.css']
20 | }),]
21 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "esModuleInterop": true,
12 | "allowSyntheticDefaultImports": true,
13 | "strict": false,
14 | "forceConsistentCasingInFileNames": true,
15 | "module": "esnext",
16 | "moduleResolution": "node",
17 | "resolveJsonModule": true,
18 | "isolatedModules": true,
19 | "noEmit": true,
20 | "jsx": "react",
21 | "paths": {
22 | "@/*": [
23 | "./packages/*"
24 | ]
25 | }
26 | },
27 | "include": [
28 | "packages",
29 | "**/*.ts",
30 | "**/*.tsx"
31 | ]
32 | }
--------------------------------------------------------------------------------