feat: add tailwind css.
This commit is contained in:
		
							
								
								
									
										7
									
								
								.prettierignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								.prettierignore
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
node_modules
 | 
			
		||||
.DS_Store
 | 
			
		||||
dist
 | 
			
		||||
dist-ssr
 | 
			
		||||
*.local
 | 
			
		||||
node_modules/*
 | 
			
		||||
src-tauri
 | 
			
		||||
							
								
								
									
										8
									
								
								.prettierrc.cjs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.prettierrc.cjs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  semi: true,
 | 
			
		||||
  trailingComma: "all",
 | 
			
		||||
  singleQuote: true,
 | 
			
		||||
  printWidth: 90,
 | 
			
		||||
  tabWidth: 2,
 | 
			
		||||
  endOfLine: "auto",
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										11
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								package.json
									
									
									
									
									
								
							@@ -11,14 +11,17 @@
 | 
			
		||||
  },
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "solid-js": "^1.4.7",
 | 
			
		||||
    "@tauri-apps/api": "^1.2.0"
 | 
			
		||||
    "@tauri-apps/api": "^1.2.0",
 | 
			
		||||
    "solid-js": "^1.4.7"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@tauri-apps/cli": "^1.2.2",
 | 
			
		||||
    "@types/node": "^18.7.10",
 | 
			
		||||
    "autoprefixer": "^10.4.14",
 | 
			
		||||
    "postcss": "^8.4.21",
 | 
			
		||||
    "tailwindcss": "^3.2.7",
 | 
			
		||||
    "typescript": "^4.7.4",
 | 
			
		||||
    "vite": "^4.0.0",
 | 
			
		||||
    "vite-plugin-solid": "^2.3.0",
 | 
			
		||||
    "@tauri-apps/cli": "^1.2.2"
 | 
			
		||||
    "vite-plugin-solid": "^2.3.0"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										400
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										400
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							@@ -4,7 +4,10 @@ specifiers:
 | 
			
		||||
  '@tauri-apps/api': ^1.2.0
 | 
			
		||||
  '@tauri-apps/cli': ^1.2.2
 | 
			
		||||
  '@types/node': ^18.7.10
 | 
			
		||||
  autoprefixer: ^10.4.14
 | 
			
		||||
  postcss: ^8.4.21
 | 
			
		||||
  solid-js: ^1.4.7
 | 
			
		||||
  tailwindcss: ^3.2.7
 | 
			
		||||
  typescript: ^4.7.4
 | 
			
		||||
  vite: ^4.0.0
 | 
			
		||||
  vite-plugin-solid: ^2.3.0
 | 
			
		||||
@@ -16,6 +19,9 @@ dependencies:
 | 
			
		||||
devDependencies:
 | 
			
		||||
  '@tauri-apps/cli': 1.2.3
 | 
			
		||||
  '@types/node': 18.15.3
 | 
			
		||||
  autoprefixer: 10.4.14_postcss@8.4.21
 | 
			
		||||
  postcss: 8.4.21
 | 
			
		||||
  tailwindcss: 3.2.7_postcss@8.4.21
 | 
			
		||||
  typescript: 4.9.5
 | 
			
		||||
  vite: 4.2.0_@types+node@18.15.3
 | 
			
		||||
  vite-plugin-solid: 2.6.1_solid-js@1.6.14+vite@4.2.0
 | 
			
		||||
@@ -576,6 +582,27 @@ packages:
 | 
			
		||||
      '@jridgewell/sourcemap-codec': 1.4.14
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /@nodelib/fs.scandir/2.1.5:
 | 
			
		||||
    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
 | 
			
		||||
    engines: {node: '>= 8'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@nodelib/fs.stat': 2.0.5
 | 
			
		||||
      run-parallel: 1.2.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /@nodelib/fs.stat/2.0.5:
 | 
			
		||||
    resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
 | 
			
		||||
    engines: {node: '>= 8'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /@nodelib/fs.walk/1.2.8:
 | 
			
		||||
    resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
 | 
			
		||||
    engines: {node: '>= 8'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@nodelib/fs.scandir': 2.1.5
 | 
			
		||||
      fastq: 1.15.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /@tauri-apps/api/1.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==}
 | 
			
		||||
    engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
 | 
			
		||||
@@ -711,6 +738,25 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /acorn-node/1.8.2:
 | 
			
		||||
    resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      acorn: 7.4.1
 | 
			
		||||
      acorn-walk: 7.2.0
 | 
			
		||||
      xtend: 4.0.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /acorn-walk/7.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
 | 
			
		||||
    engines: {node: '>=0.4.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /acorn/7.4.1:
 | 
			
		||||
    resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
 | 
			
		||||
    engines: {node: '>=0.4.0'}
 | 
			
		||||
    hasBin: true
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /ansi-styles/3.2.1:
 | 
			
		||||
    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
 | 
			
		||||
    engines: {node: '>=4'}
 | 
			
		||||
@@ -718,6 +764,34 @@ packages:
 | 
			
		||||
      color-convert: 1.9.3
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /anymatch/3.1.3:
 | 
			
		||||
    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
 | 
			
		||||
    engines: {node: '>= 8'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      normalize-path: 3.0.0
 | 
			
		||||
      picomatch: 2.3.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /arg/5.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /autoprefixer/10.4.14_postcss@8.4.21:
 | 
			
		||||
    resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
 | 
			
		||||
    engines: {node: ^10 || ^12 || >=14}
 | 
			
		||||
    hasBin: true
 | 
			
		||||
    peerDependencies:
 | 
			
		||||
      postcss: ^8.1.0
 | 
			
		||||
    dependencies:
 | 
			
		||||
      browserslist: 4.21.5
 | 
			
		||||
      caniuse-lite: 1.0.30001466
 | 
			
		||||
      fraction.js: 4.2.0
 | 
			
		||||
      normalize-range: 0.1.2
 | 
			
		||||
      picocolors: 1.0.0
 | 
			
		||||
      postcss: 8.4.21
 | 
			
		||||
      postcss-value-parser: 4.2.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /babel-plugin-jsx-dom-expressions/0.35.19_@babel+core@7.21.3:
 | 
			
		||||
    resolution: {integrity: sha512-Y1Qg6Yt5XaRfGewxmF0ac6bnqo2xdsIdPd1J6/El4E+7m5Ej76jcHYeHWJsoPbVmbZXc5TGenwZMP9ueHjja/g==}
 | 
			
		||||
    peerDependencies:
 | 
			
		||||
@@ -740,6 +814,18 @@ packages:
 | 
			
		||||
      babel-plugin-jsx-dom-expressions: 0.35.19_@babel+core@7.21.3
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /binary-extensions/2.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
 | 
			
		||||
    engines: {node: '>=8'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /braces/3.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
 | 
			
		||||
    engines: {node: '>=8'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      fill-range: 7.0.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /browserslist/4.21.5:
 | 
			
		||||
    resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
 | 
			
		||||
    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
 | 
			
		||||
@@ -751,6 +837,11 @@ packages:
 | 
			
		||||
      update-browserslist-db: 1.0.10_browserslist@4.21.5
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /camelcase-css/2.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /caniuse-lite/1.0.30001466:
 | 
			
		||||
    resolution: {integrity: sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -764,6 +855,21 @@ packages:
 | 
			
		||||
      supports-color: 5.5.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /chokidar/3.5.3:
 | 
			
		||||
    resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
 | 
			
		||||
    engines: {node: '>= 8.10.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      anymatch: 3.1.3
 | 
			
		||||
      braces: 3.0.2
 | 
			
		||||
      glob-parent: 5.1.2
 | 
			
		||||
      is-binary-path: 2.1.0
 | 
			
		||||
      is-glob: 4.0.3
 | 
			
		||||
      normalize-path: 3.0.0
 | 
			
		||||
      readdirp: 3.6.0
 | 
			
		||||
    optionalDependencies:
 | 
			
		||||
      fsevents: 2.3.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /color-convert/1.9.3:
 | 
			
		||||
    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -774,10 +880,20 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /color-name/1.1.4:
 | 
			
		||||
    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /convert-source-map/1.9.0:
 | 
			
		||||
    resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /cssesc/3.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
 | 
			
		||||
    engines: {node: '>=4'}
 | 
			
		||||
    hasBin: true
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /csstype/3.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
 | 
			
		||||
 | 
			
		||||
@@ -793,6 +909,28 @@ packages:
 | 
			
		||||
      ms: 2.1.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /defined/1.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /detective/5.2.1:
 | 
			
		||||
    resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
 | 
			
		||||
    engines: {node: '>=0.8.0'}
 | 
			
		||||
    hasBin: true
 | 
			
		||||
    dependencies:
 | 
			
		||||
      acorn-node: 1.8.2
 | 
			
		||||
      defined: 1.0.1
 | 
			
		||||
      minimist: 1.2.8
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /didyoumean/1.2.2:
 | 
			
		||||
    resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /dlv/1.1.3:
 | 
			
		||||
    resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /electron-to-chromium/1.4.332:
 | 
			
		||||
    resolution: {integrity: sha512-c1Vbv5tuUlBFp0mb3mCIjw+REEsgthRgNE8BlbEDKmvzb8rxjcVki6OkQP83vLN34s0XCxpSkq7AZNep1a6xhw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -837,6 +975,34 @@ packages:
 | 
			
		||||
    engines: {node: '>=0.8.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /fast-glob/3.2.12:
 | 
			
		||||
    resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
 | 
			
		||||
    engines: {node: '>=8.6.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@nodelib/fs.stat': 2.0.5
 | 
			
		||||
      '@nodelib/fs.walk': 1.2.8
 | 
			
		||||
      glob-parent: 5.1.2
 | 
			
		||||
      merge2: 1.4.1
 | 
			
		||||
      micromatch: 4.0.5
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /fastq/1.15.0:
 | 
			
		||||
    resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      reusify: 1.0.4
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /fill-range/7.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
 | 
			
		||||
    engines: {node: '>=8'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      to-regex-range: 5.0.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /fraction.js/4.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /fsevents/2.3.2:
 | 
			
		||||
    resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
 | 
			
		||||
    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
 | 
			
		||||
@@ -854,6 +1020,20 @@ packages:
 | 
			
		||||
    engines: {node: '>=6.9.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /glob-parent/5.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      is-glob: 4.0.3
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /glob-parent/6.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
 | 
			
		||||
    engines: {node: '>=10.13.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      is-glob: 4.0.3
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /globals/11.12.0:
 | 
			
		||||
    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
 | 
			
		||||
    engines: {node: '>=4'}
 | 
			
		||||
@@ -875,12 +1055,36 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-binary-path/2.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
 | 
			
		||||
    engines: {node: '>=8'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      binary-extensions: 2.2.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-core-module/2.11.0:
 | 
			
		||||
    resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      has: 1.0.3
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-extglob/2.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-glob/4.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      is-extglob: 2.1.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-number/7.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
 | 
			
		||||
    engines: {node: '>=0.12.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-what/4.1.8:
 | 
			
		||||
    resolution: {integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==}
 | 
			
		||||
    engines: {node: '>=12.13'}
 | 
			
		||||
@@ -902,6 +1106,11 @@ packages:
 | 
			
		||||
    hasBin: true
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /lilconfig/2.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
 | 
			
		||||
    engines: {node: '>=10'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /lru-cache/5.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -915,6 +1124,23 @@ packages:
 | 
			
		||||
      is-what: 4.1.8
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /merge2/1.4.1:
 | 
			
		||||
    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
 | 
			
		||||
    engines: {node: '>= 8'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /micromatch/4.0.5:
 | 
			
		||||
    resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
 | 
			
		||||
    engines: {node: '>=8.6'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      braces: 3.0.2
 | 
			
		||||
      picomatch: 2.3.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /minimist/1.2.8:
 | 
			
		||||
    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /ms/2.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -929,6 +1155,21 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /normalize-path/3.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /normalize-range/0.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /object-hash/3.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /path-parse/1.0.7:
 | 
			
		||||
    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -937,6 +1178,77 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /picomatch/2.3.1:
 | 
			
		||||
    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
 | 
			
		||||
    engines: {node: '>=8.6'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /pify/2.3.0:
 | 
			
		||||
    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /postcss-import/14.1.0_postcss@8.4.21:
 | 
			
		||||
    resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
 | 
			
		||||
    engines: {node: '>=10.0.0'}
 | 
			
		||||
    peerDependencies:
 | 
			
		||||
      postcss: ^8.0.0
 | 
			
		||||
    dependencies:
 | 
			
		||||
      postcss: 8.4.21
 | 
			
		||||
      postcss-value-parser: 4.2.0
 | 
			
		||||
      read-cache: 1.0.0
 | 
			
		||||
      resolve: 1.22.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /postcss-js/4.0.1_postcss@8.4.21:
 | 
			
		||||
    resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
 | 
			
		||||
    engines: {node: ^12 || ^14 || >= 16}
 | 
			
		||||
    peerDependencies:
 | 
			
		||||
      postcss: ^8.4.21
 | 
			
		||||
    dependencies:
 | 
			
		||||
      camelcase-css: 2.0.1
 | 
			
		||||
      postcss: 8.4.21
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /postcss-load-config/3.1.4_postcss@8.4.21:
 | 
			
		||||
    resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
 | 
			
		||||
    engines: {node: '>= 10'}
 | 
			
		||||
    peerDependencies:
 | 
			
		||||
      postcss: '>=8.0.9'
 | 
			
		||||
      ts-node: '>=9.0.0'
 | 
			
		||||
    peerDependenciesMeta:
 | 
			
		||||
      postcss:
 | 
			
		||||
        optional: true
 | 
			
		||||
      ts-node:
 | 
			
		||||
        optional: true
 | 
			
		||||
    dependencies:
 | 
			
		||||
      lilconfig: 2.1.0
 | 
			
		||||
      postcss: 8.4.21
 | 
			
		||||
      yaml: 1.10.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /postcss-nested/6.0.0_postcss@8.4.21:
 | 
			
		||||
    resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
 | 
			
		||||
    engines: {node: '>=12.0'}
 | 
			
		||||
    peerDependencies:
 | 
			
		||||
      postcss: ^8.2.14
 | 
			
		||||
    dependencies:
 | 
			
		||||
      postcss: 8.4.21
 | 
			
		||||
      postcss-selector-parser: 6.0.11
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /postcss-selector-parser/6.0.11:
 | 
			
		||||
    resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
 | 
			
		||||
    engines: {node: '>=4'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      cssesc: 3.0.0
 | 
			
		||||
      util-deprecate: 1.0.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /postcss-value-parser/4.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /postcss/8.4.21:
 | 
			
		||||
    resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
 | 
			
		||||
    engines: {node: ^10 || ^12 || >=14}
 | 
			
		||||
@@ -946,6 +1258,28 @@ packages:
 | 
			
		||||
      source-map-js: 1.0.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /queue-microtask/1.2.3:
 | 
			
		||||
    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /quick-lru/5.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
 | 
			
		||||
    engines: {node: '>=10'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /read-cache/1.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      pify: 2.3.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /readdirp/3.6.0:
 | 
			
		||||
    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
 | 
			
		||||
    engines: {node: '>=8.10.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      picomatch: 2.3.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /resolve/1.22.1:
 | 
			
		||||
    resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
 | 
			
		||||
    hasBin: true
 | 
			
		||||
@@ -955,6 +1289,11 @@ packages:
 | 
			
		||||
      supports-preserve-symlinks-flag: 1.0.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /reusify/1.0.4:
 | 
			
		||||
    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
 | 
			
		||||
    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /rollup/3.19.1:
 | 
			
		||||
    resolution: {integrity: sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg==}
 | 
			
		||||
    engines: {node: '>=14.18.0', npm: '>=8.0.0'}
 | 
			
		||||
@@ -963,6 +1302,12 @@ packages:
 | 
			
		||||
      fsevents: 2.3.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /run-parallel/1.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      queue-microtask: 1.2.3
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /semver/6.3.0:
 | 
			
		||||
    resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
 | 
			
		||||
    hasBin: true
 | 
			
		||||
@@ -1001,11 +1346,52 @@ packages:
 | 
			
		||||
    engines: {node: '>= 0.4'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /tailwindcss/3.2.7_postcss@8.4.21:
 | 
			
		||||
    resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==}
 | 
			
		||||
    engines: {node: '>=12.13.0'}
 | 
			
		||||
    hasBin: true
 | 
			
		||||
    peerDependencies:
 | 
			
		||||
      postcss: ^8.0.9
 | 
			
		||||
    dependencies:
 | 
			
		||||
      arg: 5.0.2
 | 
			
		||||
      chokidar: 3.5.3
 | 
			
		||||
      color-name: 1.1.4
 | 
			
		||||
      detective: 5.2.1
 | 
			
		||||
      didyoumean: 1.2.2
 | 
			
		||||
      dlv: 1.1.3
 | 
			
		||||
      fast-glob: 3.2.12
 | 
			
		||||
      glob-parent: 6.0.2
 | 
			
		||||
      is-glob: 4.0.3
 | 
			
		||||
      lilconfig: 2.1.0
 | 
			
		||||
      micromatch: 4.0.5
 | 
			
		||||
      normalize-path: 3.0.0
 | 
			
		||||
      object-hash: 3.0.0
 | 
			
		||||
      picocolors: 1.0.0
 | 
			
		||||
      postcss: 8.4.21
 | 
			
		||||
      postcss-import: 14.1.0_postcss@8.4.21
 | 
			
		||||
      postcss-js: 4.0.1_postcss@8.4.21
 | 
			
		||||
      postcss-load-config: 3.1.4_postcss@8.4.21
 | 
			
		||||
      postcss-nested: 6.0.0_postcss@8.4.21
 | 
			
		||||
      postcss-selector-parser: 6.0.11
 | 
			
		||||
      postcss-value-parser: 4.2.0
 | 
			
		||||
      quick-lru: 5.1.1
 | 
			
		||||
      resolve: 1.22.1
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - ts-node
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /to-fast-properties/2.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
 | 
			
		||||
    engines: {node: '>=4'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /to-regex-range/5.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
 | 
			
		||||
    engines: {node: '>=8.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      is-number: 7.0.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /typescript/4.9.5:
 | 
			
		||||
    resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
 | 
			
		||||
    engines: {node: '>=4.2.0'}
 | 
			
		||||
@@ -1023,6 +1409,10 @@ packages:
 | 
			
		||||
      picocolors: 1.0.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /util-deprecate/1.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /validate-html-nesting/1.2.1:
 | 
			
		||||
    resolution: {integrity: sha512-T1ab131NkP3BfXB7KUSgV7Rhu81R2id+L6NaJ7NypAAG5iV6gXnPpQE5RK1fvb+3JYsPTL+ihWna5sr5RN9gaQ==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -1091,6 +1481,16 @@ packages:
 | 
			
		||||
      vite: 4.2.0_@types+node@18.15.3
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /xtend/4.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
 | 
			
		||||
    engines: {node: '>=0.4'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /yallist/3.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /yaml/1.10.2:
 | 
			
		||||
    resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								postcss.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								postcss.config.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  plugins: {
 | 
			
		||||
    tailwindcss: {},
 | 
			
		||||
    autoprefixer: {},
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										72
									
								
								src/App.tsx
									
									
									
									
									
								
							
							
						
						
									
										72
									
								
								src/App.tsx
									
									
									
									
									
								
							@@ -1,16 +1,15 @@
 | 
			
		||||
import { createEffect, createSignal } from "solid-js";
 | 
			
		||||
import { invoke } from "@tauri-apps/api/tauri";
 | 
			
		||||
import "./App.css";
 | 
			
		||||
import { DisplayInfo } from './displays/display-info.model';
 | 
			
		||||
import { DisplayInfo } from './models/display-info.model';
 | 
			
		||||
import { DisplayInfoPanel } from './components/display-info-panel';
 | 
			
		||||
 | 
			
		||||
function App() {
 | 
			
		||||
  const [image, setImage] = createSignal<string>();
 | 
			
		||||
  const [screenshots, setScreenshots] = createSignal<string[]>([]);
 | 
			
		||||
  const [name, setName] = createSignal("");
 | 
			
		||||
  const [displays, setDisplays] = createSignal<DisplayInfo[]>([]);
 | 
			
		||||
 | 
			
		||||
  createEffect(() => {
 | 
			
		||||
    invoke<string>("list_display_info").then((displays) => {
 | 
			
		||||
    invoke<string>('list_display_info').then((displays) => {
 | 
			
		||||
      setDisplays(JSON.parse(displays));
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
@@ -20,9 +19,12 @@ function App() {
 | 
			
		||||
  }, [displays]);
 | 
			
		||||
 | 
			
		||||
  async function take_all_display_screenshot() {
 | 
			
		||||
    console.log("take_all_display_screenshot")
 | 
			
		||||
    console.log('take_all_display_screenshot');
 | 
			
		||||
    displays().forEach((display) => {
 | 
			
		||||
      invoke<string>("take_screenshot", { displayId: display.id, scaleFactor: display.scale_factor }).then((image) => {
 | 
			
		||||
      invoke<string>('take_screenshot', {
 | 
			
		||||
        displayId: display.id,
 | 
			
		||||
        scaleFactor: display.scale_factor,
 | 
			
		||||
      }).then((image) => {
 | 
			
		||||
        setScreenshots((screenshots) => [...screenshots, image]);
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
@@ -31,49 +33,25 @@ function App() {
 | 
			
		||||
  return (
 | 
			
		||||
    <div class="container">
 | 
			
		||||
      <ol>
 | 
			
		||||
        {
 | 
			
		||||
          displays().map((display) => {
 | 
			
		||||
            return <li>
 | 
			
		||||
                <dl>
 | 
			
		||||
                  <dt>id</dt>
 | 
			
		||||
                  <dd>{display.id}</dd>
 | 
			
		||||
                </dl>
 | 
			
		||||
                <dl>
 | 
			
		||||
                  <dt>x</dt>
 | 
			
		||||
                  <dd>{display.x}</dd>
 | 
			
		||||
                </dl>
 | 
			
		||||
                <dl>
 | 
			
		||||
                  <dt>y</dt>
 | 
			
		||||
                  <dd>{display.y}</dd>
 | 
			
		||||
                </dl>
 | 
			
		||||
                <dl>
 | 
			
		||||
                  <dt>width</dt>
 | 
			
		||||
                  <dd>{display.width}</dd>
 | 
			
		||||
                </dl>
 | 
			
		||||
                <dl>
 | 
			
		||||
                  <dt>height</dt>
 | 
			
		||||
                  <dd>{display.height}</dd>
 | 
			
		||||
                </dl>
 | 
			
		||||
                <dl>
 | 
			
		||||
                  <dt>scale_factor</dt>
 | 
			
		||||
                  <dd>{display.scale_factor}</dd>
 | 
			
		||||
                </dl>
 | 
			
		||||
                <dl>
 | 
			
		||||
                  <dt>is_primary</dt>
 | 
			
		||||
                  <dd>{display.is_primary}</dd>
 | 
			
		||||
                </dl>
 | 
			
		||||
              </li>
 | 
			
		||||
          })
 | 
			
		||||
        }
 | 
			
		||||
        {displays().map((display) => {
 | 
			
		||||
          return (
 | 
			
		||||
            <li>
 | 
			
		||||
              <DisplayInfoPanel display={display} />
 | 
			
		||||
            </li>
 | 
			
		||||
          );
 | 
			
		||||
        })}
 | 
			
		||||
      </ol>
 | 
			
		||||
      <ol>
 | 
			
		||||
        {
 | 
			
		||||
          screenshots().map((screenshot) => {
 | 
			
		||||
            return <li>
 | 
			
		||||
                <img style="object-fit: contain; height: 400px; width: 600px" src={screenshot}/>
 | 
			
		||||
              </li>
 | 
			
		||||
          })
 | 
			
		||||
        }
 | 
			
		||||
        {screenshots().map((screenshot) => {
 | 
			
		||||
          return (
 | 
			
		||||
            <li>
 | 
			
		||||
              <img
 | 
			
		||||
                style="object-fit: contain; height: 400px; width: 600px"
 | 
			
		||||
                src={screenshot}
 | 
			
		||||
              />
 | 
			
		||||
            </li>
 | 
			
		||||
          );
 | 
			
		||||
        })}
 | 
			
		||||
      </ol>
 | 
			
		||||
    </div>
 | 
			
		||||
  );
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								src/components/display-info-panel.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/components/display-info-panel.tsx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
import { Component, ParentComponent } from 'solid-js';
 | 
			
		||||
import { DisplayInfo } from '../models/display-info.model';
 | 
			
		||||
 | 
			
		||||
type DisplayInfoItemProps = {
 | 
			
		||||
  label: string;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const DisplayInfoItem: ParentComponent<DisplayInfoItemProps> = (props) => {
 | 
			
		||||
  return (
 | 
			
		||||
    <dl class="m-1 flex hover:bg-gray-100 gap-2 text-gray-700">
 | 
			
		||||
      <dt class="uppercase w-1/3">{props.label}</dt>
 | 
			
		||||
      <dd>{props.children}</dd>
 | 
			
		||||
    </dl>
 | 
			
		||||
  );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
type DisplayInfoPanelProps = {
 | 
			
		||||
  display: DisplayInfo;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const DisplayInfoPanel: Component<DisplayInfoPanelProps> = (props) => {
 | 
			
		||||
  return (
 | 
			
		||||
    <section class="m-2">
 | 
			
		||||
      <DisplayInfoItem label="ID">
 | 
			
		||||
        <code>{props.display.id}</code>
 | 
			
		||||
      </DisplayInfoItem>
 | 
			
		||||
      <DisplayInfoItem label="Position">
 | 
			
		||||
        ({props.display.x}, {props.display.y})
 | 
			
		||||
      </DisplayInfoItem>
 | 
			
		||||
      <DisplayInfoItem label="Size">
 | 
			
		||||
        {props.display.width} x {props.display.height}
 | 
			
		||||
      </DisplayInfoItem>
 | 
			
		||||
      <DisplayInfoItem label="Scale Factor">{props.display.scale_factor}</DisplayInfoItem>
 | 
			
		||||
      <DisplayInfoItem label="is Primary">
 | 
			
		||||
        {props.display.is_primary ? 'True' : 'False'}
 | 
			
		||||
      </DisplayInfoItem>
 | 
			
		||||
    </section>
 | 
			
		||||
  );
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										112
									
								
								src/styles.css
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								src/styles.css
									
									
									
									
									
								
							@@ -1,109 +1,3 @@
 | 
			
		||||
:root {
 | 
			
		||||
  font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
 | 
			
		||||
  font-size: 16px;
 | 
			
		||||
  line-height: 24px;
 | 
			
		||||
  font-weight: 400;
 | 
			
		||||
 | 
			
		||||
  color: #0f0f0f;
 | 
			
		||||
  background-color: #f6f6f6;
 | 
			
		||||
 | 
			
		||||
  font-synthesis: none;
 | 
			
		||||
  text-rendering: optimizeLegibility;
 | 
			
		||||
  -webkit-font-smoothing: antialiased;
 | 
			
		||||
  -moz-osx-font-smoothing: grayscale;
 | 
			
		||||
  -webkit-text-size-adjust: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.container {
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  padding-top: 10vh;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: column;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.logo {
 | 
			
		||||
  height: 6em;
 | 
			
		||||
  padding: 1.5em;
 | 
			
		||||
  will-change: filter;
 | 
			
		||||
  transition: 0.75s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.logo.tauri:hover {
 | 
			
		||||
  filter: drop-shadow(0 0 2em #24c8db);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.row {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a {
 | 
			
		||||
  font-weight: 500;
 | 
			
		||||
  color: #646cff;
 | 
			
		||||
  text-decoration: inherit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:hover {
 | 
			
		||||
  color: #535bf2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1 {
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
input,
 | 
			
		||||
button {
 | 
			
		||||
  border-radius: 8px;
 | 
			
		||||
  border: 1px solid transparent;
 | 
			
		||||
  padding: 0.6em 1.2em;
 | 
			
		||||
  font-size: 1em;
 | 
			
		||||
  font-weight: 500;
 | 
			
		||||
  font-family: inherit;
 | 
			
		||||
  color: #0f0f0f;
 | 
			
		||||
  background-color: #ffffff;
 | 
			
		||||
  transition: border-color 0.25s;
 | 
			
		||||
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button {
 | 
			
		||||
  cursor: pointer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button:hover {
 | 
			
		||||
  border-color: #396cd8;
 | 
			
		||||
}
 | 
			
		||||
button:active {
 | 
			
		||||
  border-color: #396cd8;
 | 
			
		||||
  background-color: #e8e8e8;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
input,
 | 
			
		||||
button {
 | 
			
		||||
  outline: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#greet-input {
 | 
			
		||||
  margin-right: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (prefers-color-scheme: dark) {
 | 
			
		||||
  :root {
 | 
			
		||||
    color: #f6f6f6;
 | 
			
		||||
    background-color: #2f2f2f;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  a:hover {
 | 
			
		||||
    color: #24c8db;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  input,
 | 
			
		||||
  button {
 | 
			
		||||
    color: #ffffff;
 | 
			
		||||
    background-color: #0f0f0f98;
 | 
			
		||||
  }
 | 
			
		||||
  button:active {
 | 
			
		||||
    background-color: #0f0f0f69;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@tailwind base;
 | 
			
		||||
@tailwind components;
 | 
			
		||||
@tailwind utilities;
 | 
			
		||||
							
								
								
									
										10
									
								
								tailwind.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tailwind.config.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
/** @type {import('tailwindcss').Config} */
 | 
			
		||||
module.exports = {
 | 
			
		||||
  content: [
 | 
			
		||||
    "./src/**/*.{js,jsx,ts,tsx}",
 | 
			
		||||
  ],
 | 
			
		||||
  theme: {
 | 
			
		||||
    extend: {},
 | 
			
		||||
  },
 | 
			
		||||
  plugins: [],
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user