diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e267d86..fde9670 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: env: - NODE_VERSION: "18" + NODE_VERSION: "20" PNPM_VERSION: "8" concurrency: diff --git a/apps/www/.scripts/gen-default-demos.mjs b/apps/www/.scripts/gen-default-demos.mjs index 83dd15e..3be545b 100755 --- a/apps/www/.scripts/gen-default-demos.mjs +++ b/apps/www/.scripts/gen-default-demos.mjs @@ -115,6 +115,10 @@ const demosContent = await Promise.all( const content = newContentsLines .join("\n") .replaceAll("@/components/ui", `@lshay/ui/components/REPLACE_STYLE`) + .replaceAll( + /@\/registry\/[a-z-]+\/ui/gu, + `@lshay/ui/components/REPLACE_STYLE`, + ) .replaceAll("@/lib/utils", "@lshay/ui/lib/utils") .replaceAll("export function", "function") .replaceAll("export const", "const") diff --git a/apps/www/package.json b/apps/www/package.json index 2076b4f..06e363f 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -44,6 +44,7 @@ "react-dom": "^18.2.0", "react-hook-form": "^7.45.2", "react-icons": "^4.10.1", + "sonner": "^1.3.1", "zod": "^3.21.4" }, "devDependencies": { diff --git a/apps/www/src/overrides/DrawerDemo.tsx b/apps/www/src/overrides/DrawerDemo.tsx new file mode 100644 index 0000000..c7850c8 --- /dev/null +++ b/apps/www/src/overrides/DrawerDemo.tsx @@ -0,0 +1,34 @@ +import * as React from "react" +import { + Drawer, + DrawerClose, + DrawerContent, + DrawerDescription, + DrawerFooter, + DrawerHeader, + DrawerTitle, + DrawerTrigger, +} from "@lshay/ui/components/default/drawer" +import { Button } from "@lshay/ui/components/default/button" + +function DrawerDemo(): React.ReactNode { + return ( + + Open + + + Are you sure absolutely sure? + This action cannot be undone. + + + + + + + + + + ) +} + +export default DrawerDemo diff --git a/apps/www/src/overrides/PaginationDemo.tsx b/apps/www/src/overrides/PaginationDemo.tsx new file mode 100644 index 0000000..8f09332 --- /dev/null +++ b/apps/www/src/overrides/PaginationDemo.tsx @@ -0,0 +1,35 @@ +import * as React from "react" +import { + Pagination, + PaginationContent, + PaginationEllipsis, + PaginationItem, + PaginationLink, + PaginationNext, + PaginationPrevious, +} from "@lshay/ui/components/default/pagination" + +function PaginationDemo(): React.ReactNode { + return ( + + + + + + + + 1 + + + + + + + + + + + ) +} + +export default PaginationDemo diff --git a/apps/www/ui b/apps/www/ui index 1cf5fad..6b523b6 160000 --- a/apps/www/ui +++ b/apps/www/ui @@ -1 +1 @@ -Subproject commit 1cf5fad881b1da8f96923b7ad81d22d0aa3574b9 +Subproject commit 6b523b60db268e20c1793a26db8d92782d845538 diff --git a/packages/ui/package.json b/packages/ui/package.json index c4ff805..5376ec9 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -43,8 +43,8 @@ "@types/react-dom": "^18.2.7", "eslint": "^8.46.0", "globby": "^13.2.2", - "lucide-react": "^0.298.0", - "prettier": "^3.0.1", + "lucide-react": "^0.303.0", + "prettier": "^3.1.0", "react": "^18.0.0", "react-dom": "^18.0.0", "semver": "^7.5.4", @@ -86,13 +86,18 @@ "clsx": "^2.0.0", "cmdk": "^0.2.0", "date-fns": "^2.30.0", - "react-day-picker": "^8.9.1", + "embla-carousel-react": "8.0.0-rc17", + "next-themes": "^0.2.1", + "react-day-picker": "^8.10.0", "react-hook-form": "^7.45.2", - "tailwind-merge": "^2.1.0" + "react-resizable-panels": "^1.0.5", + "sonner": "^1.3.1", + "tailwind-merge": "^2.2.0", + "vaul": "^0.8.0" }, "peerDependencies": { "@radix-ui/react-icons": "^1.3.0", - "lucide-react": "^0.298.0", + "lucide-react": "^0.303.0", "react": "^18.0.0", "react-dom": "^18.0.0", "tailwindcss": "^3.0.0" @@ -153,6 +158,11 @@ "require": "./dist/cjs/components/default/ui/card.js", "types": "./dist/types/components/default/ui/card.d.ts" }, + "./components/default/carousel": { + "import": "./dist/esm/components/default/ui/carousel.mjs", + "require": "./dist/cjs/components/default/ui/carousel.js", + "types": "./dist/types/components/default/ui/carousel.d.ts" + }, "./components/default/checkbox": { "import": "./dist/esm/components/default/ui/checkbox.mjs", "require": "./dist/cjs/components/default/ui/checkbox.js", @@ -178,6 +188,11 @@ "require": "./dist/cjs/components/default/ui/dialog.js", "types": "./dist/types/components/default/ui/dialog.d.ts" }, + "./components/default/drawer": { + "import": "./dist/esm/components/default/ui/drawer.mjs", + "require": "./dist/cjs/components/default/ui/drawer.js", + "types": "./dist/types/components/default/ui/drawer.d.ts" + }, "./components/default/dropdown-menu": { "import": "./dist/esm/components/default/ui/dropdown-menu.mjs", "require": "./dist/cjs/components/default/ui/dropdown-menu.js", @@ -213,6 +228,11 @@ "require": "./dist/cjs/components/default/ui/navigation-menu.js", "types": "./dist/types/components/default/ui/navigation-menu.d.ts" }, + "./components/default/pagination": { + "import": "./dist/esm/components/default/ui/pagination.mjs", + "require": "./dist/cjs/components/default/ui/pagination.js", + "types": "./dist/types/components/default/ui/pagination.d.ts" + }, "./components/default/popover": { "import": "./dist/esm/components/default/ui/popover.mjs", "require": "./dist/cjs/components/default/ui/popover.js", @@ -228,6 +248,11 @@ "require": "./dist/cjs/components/default/ui/radio-group.js", "types": "./dist/types/components/default/ui/radio-group.d.ts" }, + "./components/default/resizable": { + "import": "./dist/esm/components/default/ui/resizable.mjs", + "require": "./dist/cjs/components/default/ui/resizable.js", + "types": "./dist/types/components/default/ui/resizable.d.ts" + }, "./components/default/scroll-area": { "import": "./dist/esm/components/default/ui/scroll-area.mjs", "require": "./dist/cjs/components/default/ui/scroll-area.js", @@ -258,6 +283,11 @@ "require": "./dist/cjs/components/default/ui/slider.js", "types": "./dist/types/components/default/ui/slider.d.ts" }, + "./components/default/sonner": { + "import": "./dist/esm/components/default/ui/sonner.mjs", + "require": "./dist/cjs/components/default/ui/sonner.js", + "types": "./dist/types/components/default/ui/sonner.d.ts" + }, "./components/default/switch": { "import": "./dist/esm/components/default/ui/switch.mjs", "require": "./dist/cjs/components/default/ui/switch.js", @@ -353,6 +383,11 @@ "require": "./dist/cjs/components/new-york/ui/card.js", "types": "./dist/types/components/new-york/ui/card.d.ts" }, + "./components/new-york/carousel": { + "import": "./dist/esm/components/new-york/ui/carousel.mjs", + "require": "./dist/cjs/components/new-york/ui/carousel.js", + "types": "./dist/types/components/new-york/ui/carousel.d.ts" + }, "./components/new-york/checkbox": { "import": "./dist/esm/components/new-york/ui/checkbox.mjs", "require": "./dist/cjs/components/new-york/ui/checkbox.js", @@ -378,6 +413,11 @@ "require": "./dist/cjs/components/new-york/ui/dialog.js", "types": "./dist/types/components/new-york/ui/dialog.d.ts" }, + "./components/new-york/drawer": { + "import": "./dist/esm/components/new-york/ui/drawer.mjs", + "require": "./dist/cjs/components/new-york/ui/drawer.js", + "types": "./dist/types/components/new-york/ui/drawer.d.ts" + }, "./components/new-york/dropdown-menu": { "import": "./dist/esm/components/new-york/ui/dropdown-menu.mjs", "require": "./dist/cjs/components/new-york/ui/dropdown-menu.js", @@ -413,6 +453,11 @@ "require": "./dist/cjs/components/new-york/ui/navigation-menu.js", "types": "./dist/types/components/new-york/ui/navigation-menu.d.ts" }, + "./components/new-york/pagination": { + "import": "./dist/esm/components/new-york/ui/pagination.mjs", + "require": "./dist/cjs/components/new-york/ui/pagination.js", + "types": "./dist/types/components/new-york/ui/pagination.d.ts" + }, "./components/new-york/popover": { "import": "./dist/esm/components/new-york/ui/popover.mjs", "require": "./dist/cjs/components/new-york/ui/popover.js", @@ -428,6 +473,11 @@ "require": "./dist/cjs/components/new-york/ui/radio-group.js", "types": "./dist/types/components/new-york/ui/radio-group.d.ts" }, + "./components/new-york/resizable": { + "import": "./dist/esm/components/new-york/ui/resizable.mjs", + "require": "./dist/cjs/components/new-york/ui/resizable.js", + "types": "./dist/types/components/new-york/ui/resizable.d.ts" + }, "./components/new-york/scroll-area": { "import": "./dist/esm/components/new-york/ui/scroll-area.mjs", "require": "./dist/cjs/components/new-york/ui/scroll-area.js", @@ -458,6 +508,11 @@ "require": "./dist/cjs/components/new-york/ui/slider.js", "types": "./dist/types/components/new-york/ui/slider.d.ts" }, + "./components/new-york/sonner": { + "import": "./dist/esm/components/new-york/ui/sonner.mjs", + "require": "./dist/cjs/components/new-york/ui/sonner.js", + "types": "./dist/types/components/new-york/ui/sonner.d.ts" + }, "./components/new-york/switch": { "import": "./dist/esm/components/new-york/ui/switch.mjs", "require": "./dist/cjs/components/new-york/ui/switch.js", @@ -544,6 +599,9 @@ "components/default/card": [ "dist/types/components/default/ui/card.d.ts" ], + "components/default/carousel": [ + "dist/types/components/default/ui/carousel.d.ts" + ], "components/default/checkbox": [ "dist/types/components/default/ui/checkbox.d.ts" ], @@ -559,6 +617,9 @@ "components/default/dialog": [ "dist/types/components/default/ui/dialog.d.ts" ], + "components/default/drawer": [ + "dist/types/components/default/ui/drawer.d.ts" + ], "components/default/dropdown-menu": [ "dist/types/components/default/ui/dropdown-menu.d.ts" ], @@ -580,6 +641,9 @@ "components/default/navigation-menu": [ "dist/types/components/default/ui/navigation-menu.d.ts" ], + "components/default/pagination": [ + "dist/types/components/default/ui/pagination.d.ts" + ], "components/default/popover": [ "dist/types/components/default/ui/popover.d.ts" ], @@ -589,6 +653,9 @@ "components/default/radio-group": [ "dist/types/components/default/ui/radio-group.d.ts" ], + "components/default/resizable": [ + "dist/types/components/default/ui/resizable.d.ts" + ], "components/default/scroll-area": [ "dist/types/components/default/ui/scroll-area.d.ts" ], @@ -607,6 +674,9 @@ "components/default/slider": [ "dist/types/components/default/ui/slider.d.ts" ], + "components/default/sonner": [ + "dist/types/components/default/ui/sonner.d.ts" + ], "components/default/switch": [ "dist/types/components/default/ui/switch.d.ts" ], @@ -664,6 +734,9 @@ "components/new-york/card": [ "dist/types/components/new-york/ui/card.d.ts" ], + "components/new-york/carousel": [ + "dist/types/components/new-york/ui/carousel.d.ts" + ], "components/new-york/checkbox": [ "dist/types/components/new-york/ui/checkbox.d.ts" ], @@ -679,6 +752,9 @@ "components/new-york/dialog": [ "dist/types/components/new-york/ui/dialog.d.ts" ], + "components/new-york/drawer": [ + "dist/types/components/new-york/ui/drawer.d.ts" + ], "components/new-york/dropdown-menu": [ "dist/types/components/new-york/ui/dropdown-menu.d.ts" ], @@ -700,6 +776,9 @@ "components/new-york/navigation-menu": [ "dist/types/components/new-york/ui/navigation-menu.d.ts" ], + "components/new-york/pagination": [ + "dist/types/components/new-york/ui/pagination.d.ts" + ], "components/new-york/popover": [ "dist/types/components/new-york/ui/popover.d.ts" ], @@ -709,6 +788,9 @@ "components/new-york/radio-group": [ "dist/types/components/new-york/ui/radio-group.d.ts" ], + "components/new-york/resizable": [ + "dist/types/components/new-york/ui/resizable.d.ts" + ], "components/new-york/scroll-area": [ "dist/types/components/new-york/ui/scroll-area.d.ts" ], @@ -727,6 +809,9 @@ "components/new-york/slider": [ "dist/types/components/new-york/ui/slider.d.ts" ], + "components/new-york/sonner": [ + "dist/types/components/new-york/ui/sonner.d.ts" + ], "components/new-york/switch": [ "dist/types/components/new-york/ui/switch.d.ts" ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0550ec8..225b698 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,6 +59,9 @@ importers: react-icons: specifier: ^4.10.1 version: 4.10.1(react@18.2.0) + sonner: + specifier: ^1.3.1 + version: 1.3.1(react-dom@18.2.0)(react@18.2.0) zod: specifier: ^3.21.4 version: 3.21.4 @@ -210,22 +213,37 @@ importers: date-fns: specifier: ^2.30.0 version: 2.30.0 + embla-carousel-react: + specifier: 8.0.0-rc17 + version: 8.0.0-rc17(react@18.2.0) + next-themes: + specifier: ^0.2.1 + version: 0.2.1(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) react-day-picker: - specifier: ^8.9.1 - version: 8.9.1(date-fns@2.30.0)(react@18.2.0) + specifier: ^8.10.0 + version: 8.10.0(date-fns@2.30.0)(react@18.2.0) react-hook-form: specifier: ^7.45.2 version: 7.45.2(react@18.2.0) + react-resizable-panels: + specifier: ^1.0.5 + version: 1.0.5(react-dom@18.2.0)(react@18.2.0) + sonner: + specifier: ^1.3.1 + version: 1.3.1(react-dom@18.2.0)(react@18.2.0) tailwind-merge: - specifier: ^2.1.0 - version: 2.1.0 + specifier: ^2.2.0 + version: 2.2.0 + vaul: + specifier: ^0.8.0 + version: 0.8.0(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) devDependencies: '@lshay/eslint-config-flat': specifier: ^0.0.4 version: 0.0.4(eslint@8.46.0)(typescript@5.1.6)(vite@4.4.8)(vitest@0.33.0) '@lshay/prettier-config': specifier: ^0.6.0 - version: 0.6.0(prettier@3.0.1) + version: 0.6.0(prettier@3.1.0) '@radix-ui/react-icons': specifier: ^1.3.0 version: 1.3.0(react@18.2.0) @@ -248,11 +266,11 @@ importers: specifier: ^13.2.2 version: 13.2.2 lucide-react: - specifier: ^0.298.0 - version: 0.298.0(react@18.2.0) + specifier: ^0.303.0 + version: 0.303.0(react@18.2.0) prettier: - specifier: ^3.0.1 - version: 3.0.1 + specifier: ^3.1.0 + version: 3.1.0 react: specifier: ^18.0.0 version: 18.2.0 @@ -2081,6 +2099,37 @@ packages: - supports-color dev: true + /@lshay/prettier-config@0.6.0(prettier@3.1.0): + resolution: {integrity: sha512-yUOtGazjkNg11KZvcpAuxErKYh/CN5ObT7xqg1uf+x93R5L6E2DSGhUfAhxPVbY3/iI0HKqL1avdAgXoLqlWHA==} + engines: {node: 16.x || 18.x || 20.x} + peerDependencies: + prettier: 2.x || 3.x + dependencies: + merge-anything: 5.1.7 + prettier: 3.1.0 + prettier-plugin-astro: 0.11.0 + prettier-plugin-jsdoc: 0.4.2(prettier@3.1.0) + prettier-plugin-packagejson: 2.4.5(prettier@3.1.0) + prettier-plugin-sh: 0.13.1(prettier@3.1.0) + prettier-plugin-sort-json: 1.0.0(prettier@3.1.0) + prettier-plugin-tailwindcss: 0.4.1(prettier-plugin-astro@0.11.0)(prettier-plugin-jsdoc@0.4.2)(prettier@3.1.0) + transitivePeerDependencies: + - '@ianvs/prettier-plugin-sort-imports' + - '@prettier/plugin-pug' + - '@shopify/prettier-plugin-liquid' + - '@shufo/prettier-plugin-blade' + - '@trivago/prettier-plugin-sort-imports' + - prettier-plugin-css-order + - prettier-plugin-import-sort + - prettier-plugin-marko + - prettier-plugin-organize-attributes + - prettier-plugin-organize-imports + - prettier-plugin-style-order + - prettier-plugin-svelte + - prettier-plugin-twig-melody + - supports-color + dev: true + /@lshay/prettier-config@0.6.1(prettier@3.1.0): resolution: {integrity: sha512-DWMN6W1PCg7LhlQPHd5jGU64yTlkediMxQnT2VfF8yuoZa2Nesk9c3Y95bQpN+dayP6bZGsgFSMdlF8YKhlqVw==} engines: {node: 16.x || 18.x || 20.x} @@ -2177,6 +2226,91 @@ packages: resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: true + /@next/env@14.0.4: + resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} + dev: false + + /@next/swc-darwin-arm64@14.0.4: + resolution: {integrity: sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64@14.0.4: + resolution: {integrity: sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu@14.0.4: + resolution: {integrity: sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl@14.0.4: + resolution: {integrity: sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu@14.0.4: + resolution: {integrity: sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl@14.0.4: + resolution: {integrity: sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc@14.0.4: + resolution: {integrity: sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc@14.0.4: + resolution: {integrity: sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc@14.0.4: + resolution: {integrity: sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3: resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} requiresBuild: true @@ -3777,6 +3911,12 @@ packages: '@swc/core-win32-x64-msvc': 1.3.71 dev: true + /@swc/helpers@0.5.2: + resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + dependencies: + tslib: 2.6.1 + dev: false + /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: true @@ -4563,6 +4703,13 @@ packages: load-tsconfig: 0.2.5 dev: true + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -4721,6 +4868,10 @@ packages: escape-string-regexp: 1.0.5 dev: true + /client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: false + /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -5008,6 +5159,28 @@ packages: resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} dev: true + /embla-carousel-react@8.0.0-rc17(react@18.2.0): + resolution: {integrity: sha512-x4aFprwFB+PQO9EsHHZsrDxARb0uYNBYn9mr5oDFdBdPez4M8G1r5yidWbUcT9pNUc8AQXC9sGzlfauBfBxVOw==} + peerDependencies: + react: ^16.8.0 || ^17.0.1 || ^18.0.0 + dependencies: + embla-carousel: 8.0.0-rc17 + embla-carousel-reactive-utils: 8.0.0-rc17(embla-carousel@8.0.0-rc17) + react: 18.2.0 + dev: false + + /embla-carousel-reactive-utils@8.0.0-rc17(embla-carousel@8.0.0-rc17): + resolution: {integrity: sha512-eluEOK/u5HdjYaTLC4bUG3iTCnyX7RsYix3il0aH4ZECOKa5fS+pVK2vrM17Mgw6C5Hyjcr3r3lfJtGerVzVsQ==} + peerDependencies: + embla-carousel: 8.0.0-rc17 + dependencies: + embla-carousel: 8.0.0-rc17 + dev: false + + /embla-carousel@8.0.0-rc17: + resolution: {integrity: sha512-evF49b88VOitvqFtlvhvKVSu96Y8A+QSFdhok87Bfm8R7OYuk95FT+o8+M1GQLi/EhGDUlT193HTVAR0Wt2neQ==} + dev: false + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -6026,6 +6199,10 @@ packages: is-glob: 4.0.3 dev: true + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: false + /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: @@ -6115,7 +6292,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} @@ -6742,8 +6918,8 @@ packages: react: 18.2.0 dev: false - /lucide-react@0.298.0(react@18.2.0): - resolution: {integrity: sha512-tWoxZ663Zf/n8VxXTHnTJsU/w1ysWT1LORnIL1pzqElFdSqBhWbZeJ3sLdCZ5FpzpbkpkYEtluhuTyG2BTDYNQ==} + /lucide-react@0.303.0(react@18.2.0): + resolution: {integrity: sha512-B0B9T3dLEFBYPCUlnUS1mvAhW1craSbF9HO+JfBjAtpFUJ7gMIqmEwNSclikY3RiN2OnCkj/V1ReAQpaHae8Bg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 dependencies: @@ -7468,6 +7644,58 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /next-themes@0.2.1(next@14.0.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} + peerDependencies: + next: '*' + react: '*' + react-dom: '*' + dependencies: + next: 14.0.4(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /next@14.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.0.4 + '@swc/helpers': 0.5.2 + busboy: 1.6.0 + caniuse-lite: 1.0.30001517 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) + watchpack: 2.4.0 + optionalDependencies: + '@next/swc-darwin-arm64': 14.0.4 + '@next/swc-darwin-x64': 14.0.4 + '@next/swc-linux-arm64-gnu': 14.0.4 + '@next/swc-linux-arm64-musl': 14.0.4 + '@next/swc-linux-x64-gnu': 14.0.4 + '@next/swc-linux-x64-musl': 14.0.4 + '@next/swc-win32-arm64-msvc': 14.0.4 + '@next/swc-win32-ia32-msvc': 14.0.4 + '@next/swc-win32-x64-msvc': 14.0.4 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -7861,6 +8089,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -7898,6 +8135,20 @@ packages: - supports-color dev: true + /prettier-plugin-jsdoc@0.4.2(prettier@3.1.0): + resolution: {integrity: sha512-w2jnAQm3z0GAG0bhzVJeehzDtrhGMSxJjit5ApCc2oxWfc7+jmLAkbtdOXaSpfwZz3IWkk+PiQPeRrLNpbM+Mw==} + engines: {node: '>=12.0.0'} + peerDependencies: + prettier: '>=2.1.2' + dependencies: + binary-searching: 2.0.5 + comment-parser: 1.3.1 + mdast-util-from-markdown: 1.3.0 + prettier: 3.1.0 + transitivePeerDependencies: + - supports-color + dev: true + /prettier-plugin-jsdoc@1.1.1(prettier@3.1.0): resolution: {integrity: sha512-yA13k0StQ+g0RJBrmo2IldVSp3ANXlJdsNzQNhGtQ0LY7JFC+u01No/1Z9xp0ZhT4u98BXlPAc4SC0iambqy5A==} engines: {node: '>=14.13.1 || >=16.0.0'} @@ -7970,6 +8221,16 @@ packages: prettier: 3.0.1 dev: true + /prettier-plugin-sort-json@1.0.0(prettier@3.1.0): + resolution: {integrity: sha512-XgcaF/Sojax1vD6j53wNIByx0rp7ecang+A8W0eM+Ks3yBFu/qXjJNvUtC1lEWeYbNfmRs/d8FyYJCYozAVENw==} + engines: {node: '>=14.0.0'} + peerDependencies: + prettier: ^2.3.2 + dependencies: + '@types/prettier': 2.7.2 + prettier: 3.1.0 + dev: true + /prettier-plugin-sort-json@3.1.0(prettier@3.1.0): resolution: {integrity: sha512-eIDEUjwzekiVd+oKrpd0aoACBTp5zOW71wDTNy+qQ5C9Q8oqt9n9wCm4F+SeRZbXfgblh/WYIguJynImlBXrvQ==} engines: {node: '>=16.0.0'} @@ -8036,6 +8297,63 @@ packages: prettier-plugin-jsdoc: 0.4.2(prettier@3.0.1) dev: true + /prettier-plugin-tailwindcss@0.4.1(prettier-plugin-astro@0.11.0)(prettier-plugin-jsdoc@0.4.2)(prettier@3.1.0): + resolution: {integrity: sha512-hwn2EiJmv8M+AW4YDkbjJ6HlZCTzLyz1QlySn9sMuKV/Px0fjwldlB7tol8GzdgqtkdPtzT3iJ4UzdnYXP25Ag==} + engines: {node: '>=12.17.0'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@shufo/prettier-plugin-blade': '*' + '@trivago/prettier-plugin-sort-imports': '*' + prettier: ^2.2 || ^3.0 + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@shufo/prettier-plugin-blade': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true + dependencies: + prettier: 3.1.0 + prettier-plugin-astro: 0.11.0 + prettier-plugin-jsdoc: 0.4.2(prettier@3.1.0) + dev: true + /prettier-plugin-tailwindcss@0.5.7(prettier-plugin-astro@0.12.2)(prettier-plugin-jsdoc@1.1.1)(prettier@3.1.0): resolution: {integrity: sha512-4v6uESAgwCni6YF6DwJlRaDjg9Z+al5zM4JfngcazMy4WEf/XkPS5TEQjbD+DZ5iNuG6RrKQLa/HuX2SYzC3kQ==} engines: {node: '>=14.21.3'} @@ -8169,10 +8487,10 @@ packages: - supports-color dev: false - /react-day-picker@8.9.1(date-fns@2.30.0)(react@18.2.0): - resolution: {integrity: sha512-W0SPApKIsYq+XCtfGeMYDoU0KbsG3wfkYtlw8l+vZp6KoBXGOlhzBUp4tNx1XiwiOZwhfdGOlj7NGSCKGSlg5Q==} + /react-day-picker@8.10.0(date-fns@2.30.0)(react@18.2.0): + resolution: {integrity: sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==} peerDependencies: - date-fns: ^2.28.0 + date-fns: ^2.28.0 || ^3.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: date-fns: 2.30.0 @@ -8244,7 +8562,7 @@ packages: react-remove-scroll-bar: 2.3.4(@types/react@18.2.18)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.18)(react@18.2.0) tslib: 2.6.1 - use-callback-ref: 1.3.0(@types/react@18.2.18)(react@18.2.0) + use-callback-ref: 1.3.1(@types/react@18.2.18)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.18)(react@18.2.0) dev: false @@ -8263,10 +8581,20 @@ packages: react-remove-scroll-bar: 2.3.4(@types/react@18.2.18)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.18)(react@18.2.0) tslib: 2.6.1 - use-callback-ref: 1.3.0(@types/react@18.2.18)(react@18.2.0) + use-callback-ref: 1.3.1(@types/react@18.2.18)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.18)(react@18.2.0) dev: false + /react-resizable-panels@1.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OP0whNQCko+f4BgoptGaeIc7StBRyeMeJ+8r/7rXACBDf9W5EcMWuM32hfqPDMenS2HFy/eZVi/r8XqK+ZIEag==} + peerDependencies: + react: ^16.14.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react-style-singleton@2.2.1(@types/react@18.2.18)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} @@ -8675,6 +9003,16 @@ packages: tslib: 2.6.1 dev: false + /sonner@1.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+rOAO56b2eI3q5BtgljERSn2umRk63KFIvgb2ohbZ5X+Eb5u+a/7/0ZgswYqgBMg8dyl7n6OXd9KasA8QF9ToA==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true @@ -8746,6 +9084,11 @@ packages: resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} dev: true + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -8884,6 +9227,23 @@ packages: - supports-color dev: false + /styled-jsx@5.1.1(react@18.2.0): + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + client-only: 0.0.1 + react: 18.2.0 + dev: false + /stylis@4.3.0: resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} dev: false @@ -8933,8 +9293,8 @@ packages: tslib: 2.6.1 dev: true - /tailwind-merge@2.1.0: - resolution: {integrity: sha512-l11VvI4nSwW7MtLSLYT4ldidDEUwQAMWuSHk7l4zcXZDgnCRa0V3OdCwFfM7DCzakVXMNRwAeje9maFFXT71dQ==} + /tailwind-merge@2.2.0: + resolution: {integrity: sha512-SqqhhaL0T06SW59+JVNfAqKdqLs0497esifRrZ7jOaefP3o64fdFNDMrAQWZFMxTLJPiHVjRLUywT8uFz1xNWQ==} dependencies: '@babel/runtime': 7.23.5 dev: false @@ -9423,8 +9783,8 @@ packages: punycode: 2.3.0 dev: true - /use-callback-ref@1.3.0(@types/react@18.2.18)(react@18.2.0): - resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + /use-callback-ref@1.3.1(@types/react@18.2.18)(react@18.2.0): + resolution: {integrity: sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9480,6 +9840,20 @@ packages: spdx-expression-parse: 3.0.1 dev: true + /vaul@0.8.0(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9nUU2jIObJvJZxeQU1oVr/syKo5XqbRoOMoTEt0hHlWify4QZFlqTh6QSN/yxoKzNrMeEQzxbc3XC/vkPLOIqw==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + dev: false + /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: @@ -9619,6 +9993,14 @@ packages: - terser dev: true + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: false + /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true