From 9282138df6fdc00e6f3b180d87394e374c95627a Mon Sep 17 00:00:00 2001 From: prodkt Date: Sun, 15 Dec 2024 19:27:50 -0700 Subject: [PATCH 1/3] format - lint - typecheck - OK --- .eslintrc.json | 2 +- apps/prepare/.astro/data-store.json | 2 +- apps/prepare/.astro/types.d.ts | 1 - apps/prepare/.prettierrc.mjs | 12 + apps/prepare/astro.config.mjs | 73 +- apps/prepare/package.json | 53 +- apps/prepare/postcss.config.cjs | 2 + .../avatars/bryan-funk-portrait-xl.avif | Bin 0 -> 106023 bytes .../avatars/bryan-funk-resume-promo.webp | Bin 0 -> 90732 bytes apps/prepare/src/components/BaseHead.astro | 95 + .../src/components/flow-cards/index.tsx | 285 -- apps/prepare/src/hooks/use-media-query.tsx | 19 + apps/prepare/src/hooks/use-mobile.tsx | 21 + apps/prepare/src/hooks/use-ripple.ts | 46 + apps/prepare/src/hooks/use-toast.ts | 191 ++ apps/prepare/src/layouts/default.astro | 35 +- apps/prepare/src/lib/dom-animation.ts | 3 + apps/prepare/src/lib/utils.ts | 29 + apps/prepare/src/pages/boxes.astro | 2 +- apps/prepare/src/pages/index.astro | 6 +- .../{global.css => sparkstack_globals.css} | 15 +- apps/prepare/tailwind.config.cjs | 13 +- apps/prepare/tsconfig.json | 2 +- .../default/blocks/flow-card-01/page.tsx | 5 + apps/www/__registry__/index.tsx | 38 + .../new-york/blocks/flow-card-01/page.tsx | 5 + apps/www/app/(app)/blocks/page.tsx | 8 +- apps/www/app/(app)/charts/layout.tsx | 12 +- apps/www/components/cards/payment-method.tsx | 6 +- apps/www/components/command-menu.tsx | 2 +- apps/www/components/theme-customizer.tsx | 2 +- apps/www/lib/registry.ts | 2 +- apps/www/motion/baseAnimations.js | 52 +- apps/www/motion/defaults.js | 4 +- apps/www/motion/index.js | 2 +- apps/www/motion/keyframes.js | 6 +- apps/www/motion/modifiers.js | 28 +- apps/www/motion/presets.js | 8 +- apps/www/package.json | 19 +- apps/www/public/r/styles/default/button.json | 2 +- .../r/styles/default/buttonVariants.json | 2 +- .../www/public/r/styles/default/calendar.json | 2 +- .../r/styles/default/carousel-demo.json | 2 +- .../r/styles/default/data-table-demo.json | 2 +- .../public/r/styles/default/flow-card-01.json | 26 + apps/www/public/r/styles/default/select.json | 2 +- .../r/styles/default/site-hero-demo.json | 2 +- apps/www/public/r/styles/new-york/avatar.json | 2 +- apps/www/public/r/styles/new-york/button.json | 2 +- .../r/styles/new-york/buttonVariants.json | 2 +- .../r/styles/new-york/carousel-demo.json | 2 +- .../r/styles/new-york/data-table-demo.json | 2 +- .../r/styles/new-york/flow-card-01.json | 26 + .../r/styles/new-york/site-hero-demo.json | 2 +- .../flow-card-01/components/flow-card.tsx | 467 +++ .../default/blocks/flow-card-01/page.tsx | 11 + apps/www/registry/default/ui/button.tsx | 5 +- .../blocks/flow-card-01/components/index.tsx | 5 + .../new-york/blocks/flow-card-01/page.tsx | 5 + apps/www/registry/new-york/ui/button.tsx | 5 +- apps/www/registry/registry-blocks.ts | 19 + apps/www/registry/registry-categories.ts | 10 + apps/www/scripts/fix-import.mts | 2 +- apps/www/styles/sparkstack_fonts.css | 2 +- apps/www/styles/sparkstack_globals.css | 47 +- apps/www/tailwind.config.cjs | 8 +- apps/www/tsconfig.json | 19 +- packages/sparkstack/package.json | 1 + packages/sparkstack/src/index.ts | 2 +- pnpm-lock.yaml | 1680 ++++++----- postcss.config.cjs | 4 +- tailwind.config.cjs | 1907 ------------- tailwind.config.ts | 2501 +++++++++++++++++ tsconfig.json | 1 + 74 files changed, 4799 insertions(+), 3086 deletions(-) create mode 100644 apps/prepare/.prettierrc.mjs create mode 100644 apps/prepare/src/assets/avatars/bryan-funk-portrait-xl.avif create mode 100644 apps/prepare/src/assets/avatars/bryan-funk-resume-promo.webp create mode 100644 apps/prepare/src/components/BaseHead.astro delete mode 100644 apps/prepare/src/components/flow-cards/index.tsx create mode 100644 apps/prepare/src/hooks/use-media-query.tsx create mode 100644 apps/prepare/src/hooks/use-mobile.tsx create mode 100644 apps/prepare/src/hooks/use-ripple.ts create mode 100644 apps/prepare/src/hooks/use-toast.ts create mode 100644 apps/prepare/src/lib/dom-animation.ts create mode 100644 apps/prepare/src/lib/utils.ts rename apps/prepare/src/styles/{global.css => sparkstack_globals.css} (95%) create mode 100644 apps/www/__registry__/default/blocks/flow-card-01/page.tsx create mode 100644 apps/www/__registry__/new-york/blocks/flow-card-01/page.tsx create mode 100644 apps/www/public/r/styles/default/flow-card-01.json create mode 100644 apps/www/public/r/styles/new-york/flow-card-01.json create mode 100644 apps/www/registry/default/blocks/flow-card-01/components/flow-card.tsx create mode 100644 apps/www/registry/default/blocks/flow-card-01/page.tsx create mode 100644 apps/www/registry/new-york/blocks/flow-card-01/components/index.tsx create mode 100644 apps/www/registry/new-york/blocks/flow-card-01/page.tsx delete mode 100644 tailwind.config.cjs create mode 100644 tailwind.config.ts diff --git a/.eslintrc.json b/.eslintrc.json index 9b5d3a4c..5833f2d1 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -17,7 +17,7 @@ "settings": { "tailwindcss": { "callees": ["cn", "cva"], - "config": "tailwind.config.cjs" + "config": "tailwind.config.ts" }, "next": { "rootDir": ["apps/*/"] diff --git a/apps/prepare/.astro/data-store.json b/apps/prepare/.astro/data-store.json index d610d277..a6ce75a6 100644 --- a/apps/prepare/.astro/data-store.json +++ b/apps/prepare/.astro/data-store.json @@ -1 +1 @@ -[["Map",1,2],"meta::meta",["Map",3,4],"astro-version","5.0.0-beta.8"] \ No newline at end of file +[["Map",1,2],"meta::meta",["Map",3,4],"astro-version","5.0.5"] \ No newline at end of file diff --git a/apps/prepare/.astro/types.d.ts b/apps/prepare/.astro/types.d.ts index 03d7cc43..f964fe0c 100644 --- a/apps/prepare/.astro/types.d.ts +++ b/apps/prepare/.astro/types.d.ts @@ -1,2 +1 @@ /// -/// \ No newline at end of file diff --git a/apps/prepare/.prettierrc.mjs b/apps/prepare/.prettierrc.mjs new file mode 100644 index 00000000..7e619305 --- /dev/null +++ b/apps/prepare/.prettierrc.mjs @@ -0,0 +1,12 @@ +/** @type {import("prettier").Config} */ +export default { + plugins: ["prettier-plugin-astro"], + overrides: [ + { + files: "*.astro", + options: { + parser: "astro", + }, + }, + ], +}; diff --git a/apps/prepare/astro.config.mjs b/apps/prepare/astro.config.mjs index a8cf0098..58541366 100644 --- a/apps/prepare/astro.config.mjs +++ b/apps/prepare/astro.config.mjs @@ -1,17 +1,76 @@ -import { defineConfig } from 'astro/config' +import { defineConfig } from "astro/config"; +import mdx from "@astrojs/mdx"; +import sitemap from "@astrojs/sitemap"; -import tailwind from '@astrojs/tailwind'; +import react from "@astrojs/react"; -import react from '@astrojs/react'; +import tailwind from "@astrojs/tailwind"; + +import partytown from "@astrojs/partytown"; export default defineConfig({ - integrations: [tailwind({ - nesting: true, - }), - react({ + site: "https://sparkstack.prodkt.cloud", + integrations: [ + mdx(), + sitemap(), + react({ experimentalReactChildren: true, }), + tailwind({ + // Example: Disable injecting a basic `base.css` import on every page. + // Useful if you need to define and/or import your own custom `base.css`. + applyBaseStyles: false, + // Example: Allow writing nested CSS declarations + // alongside Tailwind's syntax + nesting: true, + }), + partytown({ + // Example: Add dataLayer.push as a forwarding-event. + config: { + forward: ["dataLayer.push"], + }, + }), ], + experimental: { + responsiveImages: true, + svg: { + mode: "inline", // or 'sprite' + }, + }, + vite: { + // optimizeDeps: { + // include: ['@splinetool/react-spline'], + // }, + build: { + chunkSizeWarningLimit: 2000, + rollupOptions: { + output: { + manualChunks: { + spline: ["@splinetool/react-spline"], + }, + }, + }, + }, + // assetsInclude: [ + // "src/assets/rive/*", + // "src/assets/spline/*", + // "**/*.splinecode", + // ], + // resolve: { + // alias: { + // "@": "/src", + // "@components": "/src/components", + // "@lib": "/src/lib", + // "@hooks": "/src/hooks", + // "@assets": "/src/assets", + // "@types": "/src/types", + // "@/registry": "/node_modules/www/registry", + // "@/lib": "/node_modules/www/lib", + // "@/hooks": "/node_modules/www/hooks", + // "@/styles": "/node_modules/www/styles", + // }, + // }, + }, // your configuration options here... // https://docs.astro.build/en/reference/configuration-reference/ }) diff --git a/apps/prepare/package.json b/apps/prepare/package.json index 6707bdbb..a13ebe47 100644 --- a/apps/prepare/package.json +++ b/apps/prepare/package.json @@ -3,37 +3,62 @@ "version": "1.0.0", "private": true, "description": "", + "author": { + "name": "Bryan Funk", + "email": "bryan.funk@prodkt.cloud", + "url": "https://prodkt.cloud" + }, "type": "module", "scripts": { "dev": "astro dev", - "dev:build": "astro build" + "dev:build": "astro build", + "preview": "astro preview", + "format": "exec prettier --write .", + "astro": "astro" }, "keywords": [], - "author": "", "license": "ISC", "dependencies": { - "@astrojs/react": "^3.6.2", - "@astrojs/tailwind": "^5.1.2", + "@astrojs/mdx": "^4.0.1", + "@astrojs/partytown": "^2.1.2", + "@astrojs/react": "^4.0.0", + "@astrojs/rss": "^4.0.9", + "@astrojs/sitemap": "^3.2.1", + "@astrojs/tailwind": "^5.1.3", "@fontsource-variable/fustat": "^5.1.0", "@fontsource/ibm-plex-mono": "^5.1.0", "@hookform/resolvers": "^3.1.0", "@motionone/utils": "^10.18.0", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/themes": "3.1.6", - "class-variance-authority": "0.7.1", + "@rive-app/react-canvas": "^4.16.7", + "@splinetool/react-spline": "^4.0.0", + "@splinetool/runtime": "^1.9.48", + "@tailwindcss/aspect-ratio": "^0.4.2", + "@tailwindcss/container-queries": "^0.1.1", + "@tailwindcss/forms": "^0.5.9", + "@tailwindcss/typography": "^0.5.15", "@types/node": "^22.9.1", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", - "astro": "5.0.0-beta.8", - "framer-motion": ">=11.5.6", - "lucide-react": "0.359.0", + "@types/react": "^18.2.65", + "@types/react-dom": "^18.2.22", + "astro": "^5.0.5", + "class-variance-authority": "0.7.1", + "clsx": "^2.1.1", + "framer-motion": ">=11.14.4", + "lucide-react": "^0.468.0", "next-themes": "^0.4.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-hook-form": "^7.44.2", - "tailwindcss": "3.4.6", - "tailwindcss-motion": "0.4.3-beta", - "www": "workspace:*", + "react-hook-form": "^7.54.1", + "tailwind-merge": "^2.5.5", + "tailwindcss": "^3.4.16", + "www": "workspace:^*", "zod": "^3.23.8" + }, + "devDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "postcss-import": "^16.1.0", + "prettier": "^3.4.2", + "prettier-plugin-astro": "^0.14.1" } } diff --git a/apps/prepare/postcss.config.cjs b/apps/prepare/postcss.config.cjs index 6275a61c..38be3bb4 100644 --- a/apps/prepare/postcss.config.cjs +++ b/apps/prepare/postcss.config.cjs @@ -1 +1,3 @@ +// apps/prepare/postcss.config.cjs +/** @type {import('postcss').Config} */ module.exports = require("../../postcss.config.cjs") diff --git a/apps/prepare/src/assets/avatars/bryan-funk-portrait-xl.avif b/apps/prepare/src/assets/avatars/bryan-funk-portrait-xl.avif new file mode 100644 index 0000000000000000000000000000000000000000..19bc5997857b189435feba69fadfe7dcfb3a19ab GIT binary patch literal 106023 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