From 4487fe83df12604922d8062ac9526c4a9af78bba Mon Sep 17 00:00:00 2001 From: Blankeos Date: Sat, 5 Oct 2024 23:11:37 +0800 Subject: [PATCH] chore: Added a way to manually test the hooks in `dev`. --- bun.lockb | Bin 181361 -> 192600 bytes dev/App.module.css | 33 --------------------------------- dev/App.tsx | 30 ++++++++++++------------------ dev/app.css | 3 +++ package.json | 3 +++ postcss.config.js | 6 ++++++ tailwind.config.js | 8 ++++++++ 7 files changed, 32 insertions(+), 51 deletions(-) delete mode 100644 dev/App.module.css create mode 100644 dev/app.css create mode 100644 postcss.config.js create mode 100644 tailwind.config.js diff --git a/bun.lockb b/bun.lockb index 6040435cf179f405a4678880135e2a2b327af9b9..f88408af3f07ceb129b4183aa1f002a7d344fb87 100755 GIT binary patch delta 35304 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 diff --git a/dev/App.module.css b/dev/App.module.css deleted file mode 100644 index 48308b2..0000000 --- a/dev/App.module.css +++ /dev/null @@ -1,33 +0,0 @@ -.App { - text-align: center; -} - -.logo { - animation: logo-spin infinite 20s linear; - height: 40vmin; - pointer-events: none; -} - -.header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.link { - color: #b318f0; -} - -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/dev/App.tsx b/dev/App.tsx index 4fcf432..35aadf7 100644 --- a/dev/App.tsx +++ b/dev/App.tsx @@ -1,25 +1,19 @@ import type { Component } from 'solid-js' -import logo from './logo.svg' -import styles from './App.module.css' +import './app.css' + +// Hooks +import { useClickOutside } from '../src' const App: Component = () => { + let ref = useClickOutside(() => { + alert('I have clicked outside') + }) + return ( -
-
- logo -

-

- Edit src/App.tsx and save to reload. -

-
- Learn Solid - -
+
+

+ Hello world! +

) } diff --git a/dev/app.css b/dev/app.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/dev/app.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/package.json b/package.json index 4f60acd..d355a7d 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ "@types/node": "^22.7.4", "@typescript-eslint/eslint-plugin": "^8.7.0", "@typescript-eslint/parser": "^8.7.0", + "autoprefixer": "^10.4.20", "concurrently": "^9.0.1", "esbuild": "^0.24.0", "esbuild-plugin-solid": "^0.6.0", @@ -63,8 +64,10 @@ "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-no-only-tests": "^3.3.0", "jsdom": "^25.0.1", + "postcss": "^8.4.47", "prettier": "3.3.3", "solid-js": "^1.9.1", + "tailwindcss": "^3.4.13", "tsup": "^8.3.0", "tsup-preset-solid": "^2.2.0", "typescript": "^5.6.2", diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..49a4c06 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./dev/**/*.{html,js,ts,jsx,tsx}'], + theme: { + extend: {}, + }, + plugins: [], +}