cbvirtua 1.0.48 → 1.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/canvas-example-main/canvas-example-main/.github/workflows/main.yml +62 -0
  2. package/canvas-example-main/canvas-example-main/README.md +13 -0
  3. package/canvas-example-main/canvas-example-main/curved.html +52 -0
  4. package/canvas-example-main/canvas-example-main/eslint.config.js +30 -0
  5. package/canvas-example-main/canvas-example-main/index.html +13 -0
  6. package/canvas-example-main/canvas-example-main/package.json +51 -0
  7. package/canvas-example-main/canvas-example-main/pnpm-lock.yaml +4760 -0
  8. package/canvas-example-main/canvas-example-main/postcss.config.js +6 -0
  9. package/canvas-example-main/canvas-example-main/public/vite.svg +1 -0
  10. package/canvas-example-main/canvas-example-main/src/App.tsx +17 -0
  11. package/canvas-example-main/canvas-example-main/src/assets/github.svg +1 -0
  12. package/canvas-example-main/canvas-example-main/src/assets/react.svg +1 -0
  13. package/canvas-example-main/canvas-example-main/src/components/Iconfont/demo.css +539 -0
  14. package/canvas-example-main/canvas-example-main/src/components/Iconfont/demo_index.html +418 -0
  15. package/canvas-example-main/canvas-example-main/src/components/Iconfont/iconfont.css +55 -0
  16. package/canvas-example-main/canvas-example-main/src/components/Iconfont/iconfont.js +1 -0
  17. package/canvas-example-main/canvas-example-main/src/components/Iconfont/iconfont.json +79 -0
  18. package/canvas-example-main/canvas-example-main/src/components/Iconfont/iconfont.ttf +0 -0
  19. package/canvas-example-main/canvas-example-main/src/components/Iconfont/iconfont.woff +0 -0
  20. package/canvas-example-main/canvas-example-main/src/components/Iconfont/iconfont.woff2 +0 -0
  21. package/canvas-example-main/canvas-example-main/src/components/Iconfont/index.tsx +39 -0
  22. package/canvas-example-main/canvas-example-main/src/main.css +9 -0
  23. package/canvas-example-main/canvas-example-main/src/main.tsx +10 -0
  24. package/canvas-example-main/canvas-example-main/src/pages/2048/g2048.ts +14 -0
  25. package/canvas-example-main/canvas-example-main/src/pages/2048/index.tsx +21 -0
  26. package/canvas-example-main/canvas-example-main/src/pages/clock/index.tsx +103 -0
  27. package/canvas-example-main/canvas-example-main/src/pages/demo/index.tsx +21 -0
  28. package/canvas-example-main/canvas-example-main/src/pages/editor/components/editor/index.module.less +3 -0
  29. package/canvas-example-main/canvas-example-main/src/pages/editor/components/editor/index.tsx +99 -0
  30. package/canvas-example-main/canvas-example-main/src/pages/editor/components/header/index.module.less +5 -0
  31. package/canvas-example-main/canvas-example-main/src/pages/editor/components/header/index.tsx +5 -0
  32. package/canvas-example-main/canvas-example-main/src/pages/editor/components/material/index.module.less +59 -0
  33. package/canvas-example-main/canvas-example-main/src/pages/editor/components/material/index.tsx +85 -0
  34. package/canvas-example-main/canvas-example-main/src/pages/editor/components/setting/index.module.less +7 -0
  35. package/canvas-example-main/canvas-example-main/src/pages/editor/components/setting/index.tsx +5 -0
  36. package/canvas-example-main/canvas-example-main/src/pages/editor/core/application.ts +35 -0
  37. package/canvas-example-main/canvas-example-main/src/pages/editor/core/cmp/base.ts +17 -0
  38. package/canvas-example-main/canvas-example-main/src/pages/editor/core/cmp/factory.ts +14 -0
  39. package/canvas-example-main/canvas-example-main/src/pages/editor/core/cmp/shape.tsx +43 -0
  40. package/canvas-example-main/canvas-example-main/src/pages/editor/core/editor.ts +61 -0
  41. package/canvas-example-main/canvas-example-main/src/pages/editor/core/type.ts +6 -0
  42. package/canvas-example-main/canvas-example-main/src/pages/editor/index.module.less +7 -0
  43. package/canvas-example-main/canvas-example-main/src/pages/editor/index.tsx +32 -0
  44. package/canvas-example-main/canvas-example-main/src/pages/editor/store/component-config.ts +61 -0
  45. package/canvas-example-main/canvas-example-main/src/pages/editor/store/components.ts +43 -0
  46. package/canvas-example-main/canvas-example-main/src/pages/editor/store/layout.ts +40 -0
  47. package/canvas-example-main/canvas-example-main/src/pages/home/index.tsx +59 -0
  48. package/canvas-example-main/canvas-example-main/src/pages/jigsaw/index.tsx +3 -0
  49. package/canvas-example-main/canvas-example-main/src/pages/minesweeper/bomber.png +0 -0
  50. package/canvas-example-main/canvas-example-main/src/pages/minesweeper/index.tsx +138 -0
  51. package/canvas-example-main/canvas-example-main/src/pages/minesweeper/mark.png +0 -0
  52. package/canvas-example-main/canvas-example-main/src/pages/minesweeper/minesweeper.ts +345 -0
  53. package/canvas-example-main/canvas-example-main/src/pages/minesweeper/utils.ts +24 -0
  54. package/canvas-example-main/canvas-example-main/src/pages/pageflip/index.tsx +200 -0
  55. package/canvas-example-main/canvas-example-main/src/pages/pageflip/page1.jpg +0 -0
  56. package/canvas-example-main/canvas-example-main/src/pages/practice/draw/index.ts +367 -0
  57. package/canvas-example-main/canvas-example-main/src/pages/practice/index.module.less +26 -0
  58. package/canvas-example-main/canvas-example-main/src/pages/practice/index.tsx +54 -0
  59. package/canvas-example-main/canvas-example-main/src/pages/shape-editor/control.ts +174 -0
  60. package/canvas-example-main/canvas-example-main/src/pages/shape-editor/editor.ts +91 -0
  61. package/canvas-example-main/canvas-example-main/src/pages/shape-editor/index.raw.tsx +159 -0
  62. package/canvas-example-main/canvas-example-main/src/pages/shape-editor/index.tsx +36 -0
  63. package/canvas-example-main/canvas-example-main/src/pages/shape-editor/shape.ts +248 -0
  64. package/canvas-example-main/canvas-example-main/src/router.tsx +53 -0
  65. package/canvas-example-main/canvas-example-main/src/utils/storage.ts +48 -0
  66. package/canvas-example-main/canvas-example-main/src/vite-env.d.ts +1 -0
  67. package/canvas-example-main/canvas-example-main/tailwind.config.js +8 -0
  68. package/canvas-example-main/canvas-example-main/tsconfig.app.json +30 -0
  69. package/canvas-example-main/canvas-example-main/tsconfig.json +7 -0
  70. package/canvas-example-main/canvas-example-main/tsconfig.node.json +22 -0
  71. package/canvas-example-main/canvas-example-main/vite.config.ts +18 -0
  72. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ import { createBrowserRouter, RouterProvider } from 'react-router-dom';
2
+ import Home from './pages/home';
3
+ import Jigsaw from './pages/jigsaw';
4
+ import Pageflip from './pages/pageflip';
5
+ import Practice from './pages/practice';
6
+ import MineSweeper from './pages/minesweeper';
7
+ import G2048 from './pages/2048';
8
+ import Editor from './pages/editor';
9
+ import Clock from './pages/clock';
10
+ import ShapeEditor from './pages/shape-editor';
11
+
12
+ const router = createBrowserRouter([
13
+ {
14
+ path: '/',
15
+ element: <Home />,
16
+ },
17
+ {
18
+ path: '/jigsaw',
19
+ element: <Jigsaw />,
20
+ },
21
+ {
22
+ path: '/pageflip',
23
+ element: <Pageflip />,
24
+ },
25
+ {
26
+ path: '/practice',
27
+ element: <Practice />,
28
+ },
29
+ {
30
+ path: '/minesweeper',
31
+ element: <MineSweeper />,
32
+ },
33
+ {
34
+ path: '/2048',
35
+ element: <G2048 />,
36
+ },
37
+ {
38
+ path: '/editor',
39
+ element: <Editor />,
40
+ },
41
+ {
42
+ path: '/clock',
43
+ element: <Clock />,
44
+ },
45
+ {
46
+ path: '/shape-editor',
47
+ element: <ShapeEditor />,
48
+ },
49
+ ]);
50
+
51
+ export default function Component() {
52
+ return <RouterProvider router={router} />;
53
+ }
@@ -0,0 +1,48 @@
1
+ interface ISetConfig {
2
+ expires: Date;
3
+ }
4
+
5
+ interface WrapData extends ISetConfig {
6
+ value: any;
7
+ }
8
+
9
+ const storage = {
10
+ set(key: string, value: any, config?: ISetConfig) {
11
+ if (!key || value === null) {
12
+ return null;
13
+ }
14
+ const { expires } = config || {};
15
+ const params = { value, expires };
16
+ localStorage.setItem(key, JSON.stringify(params));
17
+ },
18
+ get(key: string) {
19
+ if (!key) {
20
+ return null;
21
+ }
22
+ const data = localStorage.getItem(key) || '';
23
+ let result = null;
24
+ try {
25
+ const { value, expires } = JSON.parse(data) as WrapData;
26
+
27
+ if (expires) {
28
+ const curTime = new Date();
29
+ if (expires <= curTime) {
30
+ this.delete(key);
31
+ return null;
32
+ }
33
+ }
34
+ result = value;
35
+ } catch (error) {}
36
+ return result;
37
+ },
38
+
39
+ delete(key: string) {
40
+ localStorage.removeItem(key);
41
+ },
42
+
43
+ clear() {
44
+ localStorage.clear();
45
+ },
46
+ };
47
+
48
+ export default storage;
@@ -0,0 +1 @@
1
+ /// <reference types="vite/client" />
@@ -0,0 +1,8 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ export default {
3
+ content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
4
+ theme: {
5
+ extend: {},
6
+ },
7
+ plugins: [],
8
+ };
@@ -0,0 +1,30 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ "allowImportingTsExtensions": true,
12
+ "isolatedModules": true,
13
+ "moduleDetection": "force",
14
+ "noEmit": true,
15
+ "jsx": "react-jsx",
16
+
17
+ /* Linting */
18
+ // "strict": true,
19
+ // "noUnusedLocals": true,
20
+ // "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+
23
+ "paths": {
24
+ "@/components*": ["./src/components/*"],
25
+ "@/utils*": ["./src/utils/*"]
26
+ },
27
+ "experimentalDecorators": true
28
+ },
29
+ "include": ["src"]
30
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "files": [],
3
+ "references": [
4
+ { "path": "./tsconfig.app.json" },
5
+ { "path": "./tsconfig.node.json" }
6
+ ]
7
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["ES2023"],
5
+ "module": "ESNext",
6
+ "skipLibCheck": true,
7
+
8
+ /* Bundler mode */
9
+ "moduleResolution": "bundler",
10
+ "allowImportingTsExtensions": true,
11
+ "isolatedModules": true,
12
+ "moduleDetection": "force",
13
+ "noEmit": true,
14
+
15
+ /* Linting */
16
+ "strict": true,
17
+ "noUnusedLocals": true,
18
+ "noUnusedParameters": true,
19
+ "noFallthroughCasesInSwitch": true
20
+ },
21
+ "include": ["vite.config.ts"]
22
+ }
@@ -0,0 +1,18 @@
1
+ import { defineConfig } from 'vite';
2
+ import react from '@vitejs/plugin-react-swc';
3
+ import path from 'path';
4
+
5
+ // https://vitejs.dev/config/
6
+ export default defineConfig({
7
+ resolve: {
8
+ alias: {
9
+ '@/components': path.resolve(__dirname, './src/components'),
10
+ '@/utils': path.resolve(__dirname, './src/utils'),
11
+ },
12
+ },
13
+ plugins: [
14
+ react({
15
+ tsDecorators: true,
16
+ }),
17
+ ],
18
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cbvirtua",
3
- "version": "1.0.48",
3
+ "version": "1.0.49",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {