├── .DS_Store
├── .gitignore
├── native
├── .gitignore
├── .npmignore
├── .vscode
│ └── extensions.json
├── README.md
├── example
│ ├── react
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── App.css
│ │ │ ├── App.tsx
│ │ │ ├── favicon.svg
│ │ │ ├── index.css
│ │ │ ├── logo.svg
│ │ │ ├── main.tsx
│ │ │ ├── svelte-host.tsx
│ │ │ └── vite-env.d.ts
│ │ ├── tsconfig.json
│ │ ├── tsconfig.node.json
│ │ └── vite.config.ts
│ └── vue
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ └── extensions.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ └── favicon.ico
│ │ ├── src
│ │ ├── App.vue
│ │ ├── assets
│ │ │ └── logo.png
│ │ ├── env.d.ts
│ │ ├── main.ts
│ │ └── svelte-host.vue
│ │ ├── tsconfig.json
│ │ ├── tsconfig.node.json
│ │ └── vite.config.ts
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
│ └── favicon.ico
├── src
│ ├── assets
│ │ └── svelte.png
│ ├── example.ts
│ ├── lib
│ │ ├── paper-card.svelte
│ │ ├── paper-compound.svelte
│ │ └── paper-counter.svelte
│ ├── main.ts
│ ├── page.svelte
│ └── vite-env.d.ts
├── svelte.config.js
├── tsconfig.json
├── tsconfig.node.json
├── tsconfig.tsbuildinfo
└── vite.config.ts
└── web-component
├── .gitignore
├── .npmignore
├── .vscode
└── extensions.json
├── README.md
├── example
├── react
│ ├── .gitignore
│ ├── index.html
│ ├── package.json
│ ├── pnpm-lock.yaml
│ ├── src
│ │ ├── App.css
│ │ ├── App.tsx
│ │ ├── favicon.svg
│ │ ├── index.css
│ │ ├── logo.svg
│ │ ├── main.tsx
│ │ └── vite-env.d.ts
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
└── svelte
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── pnpm-lock.yaml
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.svelte
│ ├── assets
│ │ └── svelte.png
│ ├── main.ts
│ └── vite-env.d.ts
│ ├── svelte.config.js
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
└── favicon.ico
├── src
├── assets
│ └── svelte.png
├── lib
│ ├── paper-card.svelte
│ ├── paper-compound.svelte
│ └── paper-counter.svelte
├── main.ts
└── vite-env.d.ts
├── stats.html
├── svelte.config.js
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SaltyAom/svelte-web-component/ab2042b1e26751edb28b5cbb80fdb90db7ee60ea/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | native/node_modules
2 | native/dist
3 | native/example/react/node_modules
4 | native/example/react/dist
5 | native/example/vue/node_modules
6 | native/example/vue/dist
7 |
8 | web-component/node_modules
9 | web-component/dist
10 | web-component/example/react/node_modules
11 | web-component/example/react/dist
12 | web-component/example/svelte/node_modules
13 | web-component/example/svelte/dist
14 |
--------------------------------------------------------------------------------
/native/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/native/.npmignore:
--------------------------------------------------------------------------------
1 | example
2 | node_modules
--------------------------------------------------------------------------------
/native/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["svelte.svelte-vscode"]
3 | }
4 |
--------------------------------------------------------------------------------
/native/README.md:
--------------------------------------------------------------------------------
1 | # Svelte + TS + Vite
2 |
3 | This template should help get you started developing with Svelte and TypeScript in Vite.
4 |
5 | ## Recommended IDE Setup
6 |
7 | [VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode).
8 |
9 | ## Need an official Svelte framework?
10 |
11 | Check out [SvelteKit](https://github.com/sveltejs/kit#readme), which is also powered by Vite. Deploy anywhere with its serverless-first approach and adapt to various platforms, with out of the box support for TypeScript, SCSS, and Less, and easily-added support for mdsvex, GraphQL, PostCSS, Tailwind CSS, and more.
12 |
13 | ## Technical considerations
14 |
15 | **Why use this over SvelteKit?**
16 |
17 | - It brings its own routing solution which might not be preferable for some users.
18 | - It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app.
19 | `vite dev` and `vite build` wouldn't work in a SvelteKit environment, for example.
20 |
21 | This template contains as little as possible to get started with Vite + TypeScript + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project.
22 |
23 | Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been structured similarly to SvelteKit so that it is easy to migrate.
24 |
25 | **Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?**
26 |
27 | Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash references keeps the default TypeScript setting of accepting type information from the entire workspace, while also adding `svelte` and `vite/client` type information.
28 |
29 | **Why include `.vscode/extensions.json`?**
30 |
31 | Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to install the recommended extension upon opening the project.
32 |
33 | **Why enable `allowJs` in the TS template?**
34 |
35 | While `allowJs: false` would indeed prevent the use of `.js` files in the project, it does not prevent the use of JavaScript syntax in `.svelte` files. In addition, it would force `checkJs: false`, bringing the worst of both worlds: not being able to guarantee the entire codebase is TypeScript, and also having worse typechecking for the existing JavaScript. In addition, there are valid use cases in which a mixed codebase may be relevant.
36 |
37 | **Why is HMR not preserving my local component state?**
38 |
39 | HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the details [here](https://github.com/rixo/svelte-hmr#svelte-hmr).
40 |
41 | If you have state that's important to retain within a component, consider creating an external store which would not be replaced by HMR.
42 |
43 | ```ts
44 | // store.ts
45 | // An extremely simple external store
46 | import { writable } from 'svelte/store'
47 | export default writable(0)
48 | ```
49 |
--------------------------------------------------------------------------------
/native/example/react/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
26 | stats.html
--------------------------------------------------------------------------------
/native/example/react/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite App
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/native/example/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react",
3 | "private": true,
4 | "version": "0.0.0",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "tsc && vite build",
8 | "preview": "vite preview"
9 | },
10 | "dependencies": {
11 | "@saltyaom/svelte-native-component": "../../",
12 | "react": "^18.0.0",
13 | "react-dom": "^18.0.0"
14 | },
15 | "devDependencies": {
16 | "@types/react": "^18.0.0",
17 | "@types/react-dom": "^18.0.0",
18 | "@vitejs/plugin-react": "^1.3.0",
19 | "rollup": "^2.75.7",
20 | "rollup-plugin-analyzer": "^4.0.0",
21 | "rollup-plugin-visualizer": "^5.6.0",
22 | "typescript": "^4.6.3",
23 | "vite": "^2.9.9"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/native/example/react/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@saltyaom/svelte-native-component': ../../
5 | '@types/react': ^18.0.0
6 | '@types/react-dom': ^18.0.0
7 | '@vitejs/plugin-react': ^1.3.0
8 | react: ^18.0.0
9 | react-dom: ^18.0.0
10 | rollup: ^2.75.7
11 | rollup-plugin-analyzer: ^4.0.0
12 | rollup-plugin-visualizer: ^5.6.0
13 | typescript: ^4.6.3
14 | vite: ^2.9.9
15 |
16 | dependencies:
17 | '@saltyaom/svelte-native-component': link:../..
18 | react: 18.2.0
19 | react-dom: 18.2.0_react@18.2.0
20 |
21 | devDependencies:
22 | '@types/react': 18.0.14
23 | '@types/react-dom': 18.0.5
24 | '@vitejs/plugin-react': 1.3.2
25 | rollup: 2.75.7
26 | rollup-plugin-analyzer: 4.0.0
27 | rollup-plugin-visualizer: 5.6.0_rollup@2.75.7
28 | typescript: 4.7.4
29 | vite: 2.9.12
30 |
31 | packages:
32 |
33 | /@ampproject/remapping/2.2.0:
34 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
35 | engines: {node: '>=6.0.0'}
36 | dependencies:
37 | '@jridgewell/gen-mapping': 0.1.1
38 | '@jridgewell/trace-mapping': 0.3.13
39 | dev: true
40 |
41 | /@babel/code-frame/7.16.7:
42 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
43 | engines: {node: '>=6.9.0'}
44 | dependencies:
45 | '@babel/highlight': 7.17.12
46 | dev: true
47 |
48 | /@babel/compat-data/7.18.5:
49 | resolution: {integrity: sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==}
50 | engines: {node: '>=6.9.0'}
51 | dev: true
52 |
53 | /@babel/core/7.18.5:
54 | resolution: {integrity: sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==}
55 | engines: {node: '>=6.9.0'}
56 | dependencies:
57 | '@ampproject/remapping': 2.2.0
58 | '@babel/code-frame': 7.16.7
59 | '@babel/generator': 7.18.2
60 | '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.5
61 | '@babel/helper-module-transforms': 7.18.0
62 | '@babel/helpers': 7.18.2
63 | '@babel/parser': 7.18.5
64 | '@babel/template': 7.16.7
65 | '@babel/traverse': 7.18.5
66 | '@babel/types': 7.18.4
67 | convert-source-map: 1.8.0
68 | debug: 4.3.4
69 | gensync: 1.0.0-beta.2
70 | json5: 2.2.1
71 | semver: 6.3.0
72 | transitivePeerDependencies:
73 | - supports-color
74 | dev: true
75 |
76 | /@babel/generator/7.18.2:
77 | resolution: {integrity: sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==}
78 | engines: {node: '>=6.9.0'}
79 | dependencies:
80 | '@babel/types': 7.18.4
81 | '@jridgewell/gen-mapping': 0.3.1
82 | jsesc: 2.5.2
83 | dev: true
84 |
85 | /@babel/helper-annotate-as-pure/7.16.7:
86 | resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==}
87 | engines: {node: '>=6.9.0'}
88 | dependencies:
89 | '@babel/types': 7.18.4
90 | dev: true
91 |
92 | /@babel/helper-compilation-targets/7.18.2_@babel+core@7.18.5:
93 | resolution: {integrity: sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==}
94 | engines: {node: '>=6.9.0'}
95 | peerDependencies:
96 | '@babel/core': ^7.0.0
97 | dependencies:
98 | '@babel/compat-data': 7.18.5
99 | '@babel/core': 7.18.5
100 | '@babel/helper-validator-option': 7.16.7
101 | browserslist: 4.21.0
102 | semver: 6.3.0
103 | dev: true
104 |
105 | /@babel/helper-environment-visitor/7.18.2:
106 | resolution: {integrity: sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==}
107 | engines: {node: '>=6.9.0'}
108 | dev: true
109 |
110 | /@babel/helper-function-name/7.17.9:
111 | resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==}
112 | engines: {node: '>=6.9.0'}
113 | dependencies:
114 | '@babel/template': 7.16.7
115 | '@babel/types': 7.18.4
116 | dev: true
117 |
118 | /@babel/helper-hoist-variables/7.16.7:
119 | resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==}
120 | engines: {node: '>=6.9.0'}
121 | dependencies:
122 | '@babel/types': 7.18.4
123 | dev: true
124 |
125 | /@babel/helper-module-imports/7.16.7:
126 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==}
127 | engines: {node: '>=6.9.0'}
128 | dependencies:
129 | '@babel/types': 7.18.4
130 | dev: true
131 |
132 | /@babel/helper-module-transforms/7.18.0:
133 | resolution: {integrity: sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==}
134 | engines: {node: '>=6.9.0'}
135 | dependencies:
136 | '@babel/helper-environment-visitor': 7.18.2
137 | '@babel/helper-module-imports': 7.16.7
138 | '@babel/helper-simple-access': 7.18.2
139 | '@babel/helper-split-export-declaration': 7.16.7
140 | '@babel/helper-validator-identifier': 7.16.7
141 | '@babel/template': 7.16.7
142 | '@babel/traverse': 7.18.5
143 | '@babel/types': 7.18.4
144 | transitivePeerDependencies:
145 | - supports-color
146 | dev: true
147 |
148 | /@babel/helper-plugin-utils/7.17.12:
149 | resolution: {integrity: sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==}
150 | engines: {node: '>=6.9.0'}
151 | dev: true
152 |
153 | /@babel/helper-simple-access/7.18.2:
154 | resolution: {integrity: sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==}
155 | engines: {node: '>=6.9.0'}
156 | dependencies:
157 | '@babel/types': 7.18.4
158 | dev: true
159 |
160 | /@babel/helper-split-export-declaration/7.16.7:
161 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==}
162 | engines: {node: '>=6.9.0'}
163 | dependencies:
164 | '@babel/types': 7.18.4
165 | dev: true
166 |
167 | /@babel/helper-validator-identifier/7.16.7:
168 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
169 | engines: {node: '>=6.9.0'}
170 | dev: true
171 |
172 | /@babel/helper-validator-option/7.16.7:
173 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==}
174 | engines: {node: '>=6.9.0'}
175 | dev: true
176 |
177 | /@babel/helpers/7.18.2:
178 | resolution: {integrity: sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==}
179 | engines: {node: '>=6.9.0'}
180 | dependencies:
181 | '@babel/template': 7.16.7
182 | '@babel/traverse': 7.18.5
183 | '@babel/types': 7.18.4
184 | transitivePeerDependencies:
185 | - supports-color
186 | dev: true
187 |
188 | /@babel/highlight/7.17.12:
189 | resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==}
190 | engines: {node: '>=6.9.0'}
191 | dependencies:
192 | '@babel/helper-validator-identifier': 7.16.7
193 | chalk: 2.4.2
194 | js-tokens: 4.0.0
195 | dev: true
196 |
197 | /@babel/parser/7.18.5:
198 | resolution: {integrity: sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==}
199 | engines: {node: '>=6.0.0'}
200 | hasBin: true
201 | dev: true
202 |
203 | /@babel/plugin-syntax-jsx/7.17.12_@babel+core@7.18.5:
204 | resolution: {integrity: sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==}
205 | engines: {node: '>=6.9.0'}
206 | peerDependencies:
207 | '@babel/core': ^7.0.0-0
208 | dependencies:
209 | '@babel/core': 7.18.5
210 | '@babel/helper-plugin-utils': 7.17.12
211 | dev: true
212 |
213 | /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.18.5:
214 | resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==}
215 | engines: {node: '>=6.9.0'}
216 | peerDependencies:
217 | '@babel/core': ^7.0.0-0
218 | dependencies:
219 | '@babel/core': 7.18.5
220 | '@babel/plugin-transform-react-jsx': 7.17.12_@babel+core@7.18.5
221 | dev: true
222 |
223 | /@babel/plugin-transform-react-jsx-self/7.17.12_@babel+core@7.18.5:
224 | resolution: {integrity: sha512-7S9G2B44EnYOx74mue02t1uD8ckWZ/ee6Uz/qfdzc35uWHX5NgRy9i+iJSb2LFRgMd+QV9zNcStQaazzzZ3n3Q==}
225 | engines: {node: '>=6.9.0'}
226 | peerDependencies:
227 | '@babel/core': ^7.0.0-0
228 | dependencies:
229 | '@babel/core': 7.18.5
230 | '@babel/helper-plugin-utils': 7.17.12
231 | dev: true
232 |
233 | /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.18.5:
234 | resolution: {integrity: sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==}
235 | engines: {node: '>=6.9.0'}
236 | peerDependencies:
237 | '@babel/core': ^7.0.0-0
238 | dependencies:
239 | '@babel/core': 7.18.5
240 | '@babel/helper-plugin-utils': 7.17.12
241 | dev: true
242 |
243 | /@babel/plugin-transform-react-jsx/7.17.12_@babel+core@7.18.5:
244 | resolution: {integrity: sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==}
245 | engines: {node: '>=6.9.0'}
246 | peerDependencies:
247 | '@babel/core': ^7.0.0-0
248 | dependencies:
249 | '@babel/core': 7.18.5
250 | '@babel/helper-annotate-as-pure': 7.16.7
251 | '@babel/helper-module-imports': 7.16.7
252 | '@babel/helper-plugin-utils': 7.17.12
253 | '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.18.5
254 | '@babel/types': 7.18.4
255 | dev: true
256 |
257 | /@babel/template/7.16.7:
258 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==}
259 | engines: {node: '>=6.9.0'}
260 | dependencies:
261 | '@babel/code-frame': 7.16.7
262 | '@babel/parser': 7.18.5
263 | '@babel/types': 7.18.4
264 | dev: true
265 |
266 | /@babel/traverse/7.18.5:
267 | resolution: {integrity: sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==}
268 | engines: {node: '>=6.9.0'}
269 | dependencies:
270 | '@babel/code-frame': 7.16.7
271 | '@babel/generator': 7.18.2
272 | '@babel/helper-environment-visitor': 7.18.2
273 | '@babel/helper-function-name': 7.17.9
274 | '@babel/helper-hoist-variables': 7.16.7
275 | '@babel/helper-split-export-declaration': 7.16.7
276 | '@babel/parser': 7.18.5
277 | '@babel/types': 7.18.4
278 | debug: 4.3.4
279 | globals: 11.12.0
280 | transitivePeerDependencies:
281 | - supports-color
282 | dev: true
283 |
284 | /@babel/types/7.18.4:
285 | resolution: {integrity: sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==}
286 | engines: {node: '>=6.9.0'}
287 | dependencies:
288 | '@babel/helper-validator-identifier': 7.16.7
289 | to-fast-properties: 2.0.0
290 | dev: true
291 |
292 | /@jridgewell/gen-mapping/0.1.1:
293 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
294 | engines: {node: '>=6.0.0'}
295 | dependencies:
296 | '@jridgewell/set-array': 1.1.1
297 | '@jridgewell/sourcemap-codec': 1.4.13
298 | dev: true
299 |
300 | /@jridgewell/gen-mapping/0.3.1:
301 | resolution: {integrity: sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==}
302 | engines: {node: '>=6.0.0'}
303 | dependencies:
304 | '@jridgewell/set-array': 1.1.1
305 | '@jridgewell/sourcemap-codec': 1.4.13
306 | '@jridgewell/trace-mapping': 0.3.13
307 | dev: true
308 |
309 | /@jridgewell/resolve-uri/3.0.7:
310 | resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==}
311 | engines: {node: '>=6.0.0'}
312 | dev: true
313 |
314 | /@jridgewell/set-array/1.1.1:
315 | resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==}
316 | engines: {node: '>=6.0.0'}
317 | dev: true
318 |
319 | /@jridgewell/sourcemap-codec/1.4.13:
320 | resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==}
321 | dev: true
322 |
323 | /@jridgewell/trace-mapping/0.3.13:
324 | resolution: {integrity: sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==}
325 | dependencies:
326 | '@jridgewell/resolve-uri': 3.0.7
327 | '@jridgewell/sourcemap-codec': 1.4.13
328 | dev: true
329 |
330 | /@rollup/pluginutils/4.2.1:
331 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
332 | engines: {node: '>= 8.0.0'}
333 | dependencies:
334 | estree-walker: 2.0.2
335 | picomatch: 2.3.1
336 | dev: true
337 |
338 | /@types/prop-types/15.7.5:
339 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
340 | dev: true
341 |
342 | /@types/react-dom/18.0.5:
343 | resolution: {integrity: sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==}
344 | dependencies:
345 | '@types/react': 18.0.14
346 | dev: true
347 |
348 | /@types/react/18.0.14:
349 | resolution: {integrity: sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==}
350 | dependencies:
351 | '@types/prop-types': 15.7.5
352 | '@types/scheduler': 0.16.2
353 | csstype: 3.1.0
354 | dev: true
355 |
356 | /@types/scheduler/0.16.2:
357 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
358 | dev: true
359 |
360 | /@vitejs/plugin-react/1.3.2:
361 | resolution: {integrity: sha512-aurBNmMo0kz1O4qRoY+FM4epSA39y3ShWGuqfLRA/3z0oEJAdtoSfgA3aO98/PCCHAqMaduLxIxErWrVKIFzXA==}
362 | engines: {node: '>=12.0.0'}
363 | dependencies:
364 | '@babel/core': 7.18.5
365 | '@babel/plugin-transform-react-jsx': 7.17.12_@babel+core@7.18.5
366 | '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.18.5
367 | '@babel/plugin-transform-react-jsx-self': 7.17.12_@babel+core@7.18.5
368 | '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.18.5
369 | '@rollup/pluginutils': 4.2.1
370 | react-refresh: 0.13.0
371 | resolve: 1.22.1
372 | transitivePeerDependencies:
373 | - supports-color
374 | dev: true
375 |
376 | /ansi-regex/5.0.1:
377 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
378 | engines: {node: '>=8'}
379 | dev: true
380 |
381 | /ansi-styles/3.2.1:
382 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
383 | engines: {node: '>=4'}
384 | dependencies:
385 | color-convert: 1.9.3
386 | dev: true
387 |
388 | /ansi-styles/4.3.0:
389 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
390 | engines: {node: '>=8'}
391 | dependencies:
392 | color-convert: 2.0.1
393 | dev: true
394 |
395 | /browserslist/4.21.0:
396 | resolution: {integrity: sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==}
397 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
398 | hasBin: true
399 | dependencies:
400 | caniuse-lite: 1.0.30001358
401 | electron-to-chromium: 1.4.165
402 | node-releases: 2.0.5
403 | update-browserslist-db: 1.0.3_browserslist@4.21.0
404 | dev: true
405 |
406 | /caniuse-lite/1.0.30001358:
407 | resolution: {integrity: sha512-hvp8PSRymk85R20bsDra7ZTCpSVGN/PAz9pSAjPSjKC+rNmnUk5vCRgJwiTT/O4feQ/yu/drvZYpKxxhbFuChw==}
408 | dev: true
409 |
410 | /chalk/2.4.2:
411 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
412 | engines: {node: '>=4'}
413 | dependencies:
414 | ansi-styles: 3.2.1
415 | escape-string-regexp: 1.0.5
416 | supports-color: 5.5.0
417 | dev: true
418 |
419 | /cliui/7.0.4:
420 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
421 | dependencies:
422 | string-width: 4.2.3
423 | strip-ansi: 6.0.1
424 | wrap-ansi: 7.0.0
425 | dev: true
426 |
427 | /color-convert/1.9.3:
428 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
429 | dependencies:
430 | color-name: 1.1.3
431 | dev: true
432 |
433 | /color-convert/2.0.1:
434 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
435 | engines: {node: '>=7.0.0'}
436 | dependencies:
437 | color-name: 1.1.4
438 | dev: true
439 |
440 | /color-name/1.1.3:
441 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
442 | dev: true
443 |
444 | /color-name/1.1.4:
445 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
446 | dev: true
447 |
448 | /convert-source-map/1.8.0:
449 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
450 | dependencies:
451 | safe-buffer: 5.1.2
452 | dev: true
453 |
454 | /csstype/3.1.0:
455 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==}
456 | dev: true
457 |
458 | /debug/4.3.4:
459 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
460 | engines: {node: '>=6.0'}
461 | peerDependencies:
462 | supports-color: '*'
463 | peerDependenciesMeta:
464 | supports-color:
465 | optional: true
466 | dependencies:
467 | ms: 2.1.2
468 | dev: true
469 |
470 | /define-lazy-prop/2.0.0:
471 | resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
472 | engines: {node: '>=8'}
473 | dev: true
474 |
475 | /electron-to-chromium/1.4.165:
476 | resolution: {integrity: sha512-DKQW1lqUSAYQvn9dnpK7mWaDpWbNOXQLXhfCi7Iwx0BKxdZOxkKcCyKw1l3ihWWW5iWSxKKbhEUoNRoHvl/hbA==}
477 | dev: true
478 |
479 | /emoji-regex/8.0.0:
480 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
481 | dev: true
482 |
483 | /esbuild-android-64/0.14.47:
484 | resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==}
485 | engines: {node: '>=12'}
486 | cpu: [x64]
487 | os: [android]
488 | requiresBuild: true
489 | dev: true
490 | optional: true
491 |
492 | /esbuild-android-arm64/0.14.47:
493 | resolution: {integrity: sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==}
494 | engines: {node: '>=12'}
495 | cpu: [arm64]
496 | os: [android]
497 | requiresBuild: true
498 | dev: true
499 | optional: true
500 |
501 | /esbuild-darwin-64/0.14.47:
502 | resolution: {integrity: sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==}
503 | engines: {node: '>=12'}
504 | cpu: [x64]
505 | os: [darwin]
506 | requiresBuild: true
507 | dev: true
508 | optional: true
509 |
510 | /esbuild-darwin-arm64/0.14.47:
511 | resolution: {integrity: sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==}
512 | engines: {node: '>=12'}
513 | cpu: [arm64]
514 | os: [darwin]
515 | requiresBuild: true
516 | dev: true
517 | optional: true
518 |
519 | /esbuild-freebsd-64/0.14.47:
520 | resolution: {integrity: sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==}
521 | engines: {node: '>=12'}
522 | cpu: [x64]
523 | os: [freebsd]
524 | requiresBuild: true
525 | dev: true
526 | optional: true
527 |
528 | /esbuild-freebsd-arm64/0.14.47:
529 | resolution: {integrity: sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==}
530 | engines: {node: '>=12'}
531 | cpu: [arm64]
532 | os: [freebsd]
533 | requiresBuild: true
534 | dev: true
535 | optional: true
536 |
537 | /esbuild-linux-32/0.14.47:
538 | resolution: {integrity: sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==}
539 | engines: {node: '>=12'}
540 | cpu: [ia32]
541 | os: [linux]
542 | requiresBuild: true
543 | dev: true
544 | optional: true
545 |
546 | /esbuild-linux-64/0.14.47:
547 | resolution: {integrity: sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==}
548 | engines: {node: '>=12'}
549 | cpu: [x64]
550 | os: [linux]
551 | requiresBuild: true
552 | dev: true
553 | optional: true
554 |
555 | /esbuild-linux-arm/0.14.47:
556 | resolution: {integrity: sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==}
557 | engines: {node: '>=12'}
558 | cpu: [arm]
559 | os: [linux]
560 | requiresBuild: true
561 | dev: true
562 | optional: true
563 |
564 | /esbuild-linux-arm64/0.14.47:
565 | resolution: {integrity: sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==}
566 | engines: {node: '>=12'}
567 | cpu: [arm64]
568 | os: [linux]
569 | requiresBuild: true
570 | dev: true
571 | optional: true
572 |
573 | /esbuild-linux-mips64le/0.14.47:
574 | resolution: {integrity: sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==}
575 | engines: {node: '>=12'}
576 | cpu: [mips64el]
577 | os: [linux]
578 | requiresBuild: true
579 | dev: true
580 | optional: true
581 |
582 | /esbuild-linux-ppc64le/0.14.47:
583 | resolution: {integrity: sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==}
584 | engines: {node: '>=12'}
585 | cpu: [ppc64]
586 | os: [linux]
587 | requiresBuild: true
588 | dev: true
589 | optional: true
590 |
591 | /esbuild-linux-riscv64/0.14.47:
592 | resolution: {integrity: sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==}
593 | engines: {node: '>=12'}
594 | cpu: [riscv64]
595 | os: [linux]
596 | requiresBuild: true
597 | dev: true
598 | optional: true
599 |
600 | /esbuild-linux-s390x/0.14.47:
601 | resolution: {integrity: sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==}
602 | engines: {node: '>=12'}
603 | cpu: [s390x]
604 | os: [linux]
605 | requiresBuild: true
606 | dev: true
607 | optional: true
608 |
609 | /esbuild-netbsd-64/0.14.47:
610 | resolution: {integrity: sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==}
611 | engines: {node: '>=12'}
612 | cpu: [x64]
613 | os: [netbsd]
614 | requiresBuild: true
615 | dev: true
616 | optional: true
617 |
618 | /esbuild-openbsd-64/0.14.47:
619 | resolution: {integrity: sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==}
620 | engines: {node: '>=12'}
621 | cpu: [x64]
622 | os: [openbsd]
623 | requiresBuild: true
624 | dev: true
625 | optional: true
626 |
627 | /esbuild-sunos-64/0.14.47:
628 | resolution: {integrity: sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==}
629 | engines: {node: '>=12'}
630 | cpu: [x64]
631 | os: [sunos]
632 | requiresBuild: true
633 | dev: true
634 | optional: true
635 |
636 | /esbuild-windows-32/0.14.47:
637 | resolution: {integrity: sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==}
638 | engines: {node: '>=12'}
639 | cpu: [ia32]
640 | os: [win32]
641 | requiresBuild: true
642 | dev: true
643 | optional: true
644 |
645 | /esbuild-windows-64/0.14.47:
646 | resolution: {integrity: sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==}
647 | engines: {node: '>=12'}
648 | cpu: [x64]
649 | os: [win32]
650 | requiresBuild: true
651 | dev: true
652 | optional: true
653 |
654 | /esbuild-windows-arm64/0.14.47:
655 | resolution: {integrity: sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==}
656 | engines: {node: '>=12'}
657 | cpu: [arm64]
658 | os: [win32]
659 | requiresBuild: true
660 | dev: true
661 | optional: true
662 |
663 | /esbuild/0.14.47:
664 | resolution: {integrity: sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==}
665 | engines: {node: '>=12'}
666 | hasBin: true
667 | requiresBuild: true
668 | optionalDependencies:
669 | esbuild-android-64: 0.14.47
670 | esbuild-android-arm64: 0.14.47
671 | esbuild-darwin-64: 0.14.47
672 | esbuild-darwin-arm64: 0.14.47
673 | esbuild-freebsd-64: 0.14.47
674 | esbuild-freebsd-arm64: 0.14.47
675 | esbuild-linux-32: 0.14.47
676 | esbuild-linux-64: 0.14.47
677 | esbuild-linux-arm: 0.14.47
678 | esbuild-linux-arm64: 0.14.47
679 | esbuild-linux-mips64le: 0.14.47
680 | esbuild-linux-ppc64le: 0.14.47
681 | esbuild-linux-riscv64: 0.14.47
682 | esbuild-linux-s390x: 0.14.47
683 | esbuild-netbsd-64: 0.14.47
684 | esbuild-openbsd-64: 0.14.47
685 | esbuild-sunos-64: 0.14.47
686 | esbuild-windows-32: 0.14.47
687 | esbuild-windows-64: 0.14.47
688 | esbuild-windows-arm64: 0.14.47
689 | dev: true
690 |
691 | /escalade/3.1.1:
692 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
693 | engines: {node: '>=6'}
694 | dev: true
695 |
696 | /escape-string-regexp/1.0.5:
697 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
698 | engines: {node: '>=0.8.0'}
699 | dev: true
700 |
701 | /estree-walker/2.0.2:
702 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
703 | dev: true
704 |
705 | /fsevents/2.3.2:
706 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
707 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
708 | os: [darwin]
709 | requiresBuild: true
710 | dev: true
711 | optional: true
712 |
713 | /function-bind/1.1.1:
714 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
715 | dev: true
716 |
717 | /gensync/1.0.0-beta.2:
718 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
719 | engines: {node: '>=6.9.0'}
720 | dev: true
721 |
722 | /get-caller-file/2.0.5:
723 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
724 | engines: {node: 6.* || 8.* || >= 10.*}
725 | dev: true
726 |
727 | /globals/11.12.0:
728 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
729 | engines: {node: '>=4'}
730 | dev: true
731 |
732 | /has-flag/3.0.0:
733 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
734 | engines: {node: '>=4'}
735 | dev: true
736 |
737 | /has/1.0.3:
738 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
739 | engines: {node: '>= 0.4.0'}
740 | dependencies:
741 | function-bind: 1.1.1
742 | dev: true
743 |
744 | /is-core-module/2.9.0:
745 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
746 | dependencies:
747 | has: 1.0.3
748 | dev: true
749 |
750 | /is-docker/2.2.1:
751 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
752 | engines: {node: '>=8'}
753 | hasBin: true
754 | dev: true
755 |
756 | /is-fullwidth-code-point/3.0.0:
757 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
758 | engines: {node: '>=8'}
759 | dev: true
760 |
761 | /is-wsl/2.2.0:
762 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
763 | engines: {node: '>=8'}
764 | dependencies:
765 | is-docker: 2.2.1
766 | dev: true
767 |
768 | /js-tokens/4.0.0:
769 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
770 |
771 | /jsesc/2.5.2:
772 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
773 | engines: {node: '>=4'}
774 | hasBin: true
775 | dev: true
776 |
777 | /json5/2.2.1:
778 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
779 | engines: {node: '>=6'}
780 | hasBin: true
781 | dev: true
782 |
783 | /loose-envify/1.4.0:
784 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
785 | hasBin: true
786 | dependencies:
787 | js-tokens: 4.0.0
788 | dev: false
789 |
790 | /ms/2.1.2:
791 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
792 | dev: true
793 |
794 | /nanoid/3.3.4:
795 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
796 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
797 | hasBin: true
798 | dev: true
799 |
800 | /node-releases/2.0.5:
801 | resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==}
802 | dev: true
803 |
804 | /open/8.4.0:
805 | resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
806 | engines: {node: '>=12'}
807 | dependencies:
808 | define-lazy-prop: 2.0.0
809 | is-docker: 2.2.1
810 | is-wsl: 2.2.0
811 | dev: true
812 |
813 | /path-parse/1.0.7:
814 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
815 | dev: true
816 |
817 | /picocolors/1.0.0:
818 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
819 | dev: true
820 |
821 | /picomatch/2.3.1:
822 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
823 | engines: {node: '>=8.6'}
824 | dev: true
825 |
826 | /postcss/8.4.14:
827 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
828 | engines: {node: ^10 || ^12 || >=14}
829 | dependencies:
830 | nanoid: 3.3.4
831 | picocolors: 1.0.0
832 | source-map-js: 1.0.2
833 | dev: true
834 |
835 | /react-dom/18.2.0_react@18.2.0:
836 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
837 | peerDependencies:
838 | react: ^18.2.0
839 | dependencies:
840 | loose-envify: 1.4.0
841 | react: 18.2.0
842 | scheduler: 0.23.0
843 | dev: false
844 |
845 | /react-refresh/0.13.0:
846 | resolution: {integrity: sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg==}
847 | engines: {node: '>=0.10.0'}
848 | dev: true
849 |
850 | /react/18.2.0:
851 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
852 | engines: {node: '>=0.10.0'}
853 | dependencies:
854 | loose-envify: 1.4.0
855 | dev: false
856 |
857 | /require-directory/2.1.1:
858 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
859 | engines: {node: '>=0.10.0'}
860 | dev: true
861 |
862 | /resolve/1.22.1:
863 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
864 | hasBin: true
865 | dependencies:
866 | is-core-module: 2.9.0
867 | path-parse: 1.0.7
868 | supports-preserve-symlinks-flag: 1.0.0
869 | dev: true
870 |
871 | /rollup-plugin-analyzer/4.0.0:
872 | resolution: {integrity: sha512-LL9GEt3bkXp6Wa19SNR5MWcvHNMvuTFYg+eYBZN2OIFhSWN+pEJUQXEKu5BsOeABob3x9PDaLKW7w5iOJnsESQ==}
873 | engines: {node: '>=8.0.0'}
874 | dev: true
875 |
876 | /rollup-plugin-visualizer/5.6.0_rollup@2.75.7:
877 | resolution: {integrity: sha512-CKcc8GTUZjC+LsMytU8ocRr/cGZIfMR7+mdy4YnlyetlmIl/dM8BMnOEpD4JPIGt+ZVW7Db9ZtSsbgyeBH3uTA==}
878 | engines: {node: '>=12'}
879 | hasBin: true
880 | peerDependencies:
881 | rollup: ^2.0.0
882 | dependencies:
883 | nanoid: 3.3.4
884 | open: 8.4.0
885 | rollup: 2.75.7
886 | source-map: 0.7.4
887 | yargs: 17.5.1
888 | dev: true
889 |
890 | /rollup/2.75.7:
891 | resolution: {integrity: sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==}
892 | engines: {node: '>=10.0.0'}
893 | hasBin: true
894 | optionalDependencies:
895 | fsevents: 2.3.2
896 | dev: true
897 |
898 | /safe-buffer/5.1.2:
899 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
900 | dev: true
901 |
902 | /scheduler/0.23.0:
903 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
904 | dependencies:
905 | loose-envify: 1.4.0
906 | dev: false
907 |
908 | /semver/6.3.0:
909 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
910 | hasBin: true
911 | dev: true
912 |
913 | /source-map-js/1.0.2:
914 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
915 | engines: {node: '>=0.10.0'}
916 | dev: true
917 |
918 | /source-map/0.7.4:
919 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
920 | engines: {node: '>= 8'}
921 | dev: true
922 |
923 | /string-width/4.2.3:
924 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
925 | engines: {node: '>=8'}
926 | dependencies:
927 | emoji-regex: 8.0.0
928 | is-fullwidth-code-point: 3.0.0
929 | strip-ansi: 6.0.1
930 | dev: true
931 |
932 | /strip-ansi/6.0.1:
933 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
934 | engines: {node: '>=8'}
935 | dependencies:
936 | ansi-regex: 5.0.1
937 | dev: true
938 |
939 | /supports-color/5.5.0:
940 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
941 | engines: {node: '>=4'}
942 | dependencies:
943 | has-flag: 3.0.0
944 | dev: true
945 |
946 | /supports-preserve-symlinks-flag/1.0.0:
947 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
948 | engines: {node: '>= 0.4'}
949 | dev: true
950 |
951 | /to-fast-properties/2.0.0:
952 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
953 | engines: {node: '>=4'}
954 | dev: true
955 |
956 | /typescript/4.7.4:
957 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
958 | engines: {node: '>=4.2.0'}
959 | hasBin: true
960 | dev: true
961 |
962 | /update-browserslist-db/1.0.3_browserslist@4.21.0:
963 | resolution: {integrity: sha512-ufSazemeh9Gty0qiWtoRpJ9F5Q5W3xdIPm1UZQqYQv/q0Nyb9EMHUB2lu+O9x1re9WsorpMAUu4Y6Lxcs5n+XQ==}
964 | hasBin: true
965 | peerDependencies:
966 | browserslist: '>= 4.21.0'
967 | dependencies:
968 | browserslist: 4.21.0
969 | escalade: 3.1.1
970 | picocolors: 1.0.0
971 | dev: true
972 |
973 | /vite/2.9.12:
974 | resolution: {integrity: sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==}
975 | engines: {node: '>=12.2.0'}
976 | hasBin: true
977 | peerDependencies:
978 | less: '*'
979 | sass: '*'
980 | stylus: '*'
981 | peerDependenciesMeta:
982 | less:
983 | optional: true
984 | sass:
985 | optional: true
986 | stylus:
987 | optional: true
988 | dependencies:
989 | esbuild: 0.14.47
990 | postcss: 8.4.14
991 | resolve: 1.22.1
992 | rollup: 2.75.7
993 | optionalDependencies:
994 | fsevents: 2.3.2
995 | dev: true
996 |
997 | /wrap-ansi/7.0.0:
998 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
999 | engines: {node: '>=10'}
1000 | dependencies:
1001 | ansi-styles: 4.3.0
1002 | string-width: 4.2.3
1003 | strip-ansi: 6.0.1
1004 | dev: true
1005 |
1006 | /y18n/5.0.8:
1007 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
1008 | engines: {node: '>=10'}
1009 | dev: true
1010 |
1011 | /yargs-parser/21.0.1:
1012 | resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==}
1013 | engines: {node: '>=12'}
1014 | dev: true
1015 |
1016 | /yargs/17.5.1:
1017 | resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==}
1018 | engines: {node: '>=12'}
1019 | dependencies:
1020 | cliui: 7.0.4
1021 | escalade: 3.1.1
1022 | get-caller-file: 2.0.5
1023 | require-directory: 2.1.1
1024 | string-width: 4.2.3
1025 | y18n: 5.0.8
1026 | yargs-parser: 21.0.1
1027 | dev: true
1028 |
--------------------------------------------------------------------------------
/native/example/react/src/App.css:
--------------------------------------------------------------------------------
1 | #playground {
2 | display: flex;
3 | flex-direction: column;
4 | justify-content: center;
5 | align-items: center;
6 | gap: 2.5em;
7 | width: 100%;
8 | min-height: 100vh;
9 | padding: 4em;
10 | background-color: #fafafa;
11 | box-sizing: border-box;
12 | }
13 |
--------------------------------------------------------------------------------
/native/example/react/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useMemo, useReducer, useState } from 'react'
2 |
3 | import SvelteHost from './svelte-host'
4 |
5 | import {
6 | PaperCard,
7 | PaperCounter,
8 | PaperCompound
9 | } from '@saltyaom/svelte-native-component'
10 |
11 | import './App.css'
12 |
13 | interface PaperCounterProps {
14 | counter: number
15 | }
16 |
17 | interface PaperCardProps {
18 | src?: string
19 | alt?: string
20 | title?: string
21 | }
22 |
23 | function App() {
24 | const [counter, increase] = useReducer((v) => ++v, 0)
25 |
26 | return (
27 |
28 |
29 | component={PaperCounter}
30 | counter={5}
31 | />
32 | Local Counter: {counter}
33 |
34 | component={PaperCard}
35 | src="https://i.ytimg.com/vi/_35D5gvqDR8/maxresdefault.jpg"
36 | alt="Takodachi"
37 | title={`From React: ${counter}`}
38 | >
39 | Hi
40 |
41 |
42 | )
43 | }
44 |
45 | export default App
46 |
--------------------------------------------------------------------------------
/native/example/react/src/favicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/native/example/react/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | * {
11 | box-sizing: border-box;
12 | }
--------------------------------------------------------------------------------
/native/example/react/src/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/native/example/react/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React, { HTMLAttributes, type ReactNode } from 'react'
2 | import ReactDOM from 'react-dom/client'
3 |
4 | import App from './App'
5 |
6 | import './index.css'
7 |
8 | ReactDOM.createRoot(document.getElementById('root')!).render( )
9 |
--------------------------------------------------------------------------------
/native/example/react/src/svelte-host.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, ReactNode } from 'react'
2 |
3 | type AnyObject = Record
4 |
5 | type Props = T & {
6 | component: new (
7 | props: AnyObject & {
8 | target: HTMLElement
9 | props?: AnyObject
10 | }
11 | ) => any
12 | children?: ReactNode
13 | slot?: string
14 | }
15 |
16 | const SvelteHost = ({ component, ...props }: Props) => {
17 | const div = useRef(null)
18 | const stateRef = useRef(null)
19 |
20 | useEffect(() => {
21 | if (stateRef.current) stateRef.current!.$$set(props)
22 | else
23 | stateRef.current = new component({
24 | target: div.current!,
25 | props
26 | })
27 | }, [props])
28 |
29 | return
30 | }
31 |
32 | export default SvelteHost
33 |
--------------------------------------------------------------------------------
/native/example/react/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/native/example/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
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-jsx",
18 | },
19 | "include": ["src"],
20 | "references": [{ "path": "./tsconfig.node.json" }]
21 | }
22 |
--------------------------------------------------------------------------------
/native/example/react/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "esnext",
5 | "moduleResolution": "node"
6 | },
7 | "include": ["vite.config.ts"]
8 | }
9 |
--------------------------------------------------------------------------------
/native/example/react/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | import visualizer from 'rollup-plugin-visualizer'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | build: {
9 | rollupOptions: {
10 | plugins: [
11 | visualizer({
12 | gzipSize: true,
13 | brotliSize: true
14 | })
15 | ]
16 | }
17 | },
18 | plugins: [react()]
19 | })
20 |
--------------------------------------------------------------------------------
/native/example/vue/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/native/example/vue/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/native/example/vue/README.md:
--------------------------------------------------------------------------------
1 | # Vue 3 + TypeScript + Vite
2 |
3 | This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `
12 |