From 2b1024ff7a4a42d642d287b7018278cf47651353 Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 8 May 2026 17:07:07 +0200 Subject: [PATCH] fix(types): unblock catch-all routes under stricter Next 15.5 typing + Phase 2B deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two changes bundled (build was failing on the type fix; deps came along on the same branch). 1. RouteHandler / withAuth / withPermission are now generic over the route's params shape. Default stays `Record` for the common `[id]`-style routes (no caller changes needed). Catch-all routes like `[...path]` declare their narrow shape via a type-arg: export const PATCH = withAuth<{ path: string[] }>( withPermission<{ path: string[] }>('files', 'manage_folders', async (req, ctx, params) => { /* params.path: string[] */ } ), ); Without this, Next.js 15.5+'s stricter route-type checking rejected the build because the inferred `params: Promise<{ path: string[] }>` for `[...path]` doesn't satisfy `Promise>`. Updated `src/app/api/v1/files/folders/[...path]/route.ts` (the only catch-all in the tree right now) to use the new generic. 2. Phase 2B deps (within-major-jump where the API didn't actually break): - @pdfme/common, @pdfme/generator, @pdfme/schemas: 5.5.10 → 6.1.2 (closes 3 mod XSS/SSRF/decompression-bomb advisories) - lucide-react: 0.460.0 → 1.14.0 - sonner: 1.7.4 → 2.0.7 - tailwind-merge: 2.6.1 → 3.5.0 Tests: 1185/1185 vitest. tsc clean. Local `next build` succeeds. Reverted (deferred to a focused PR): - @hookform/resolvers 5: Resolver typing change requires per-form useForm migration - eslint 10: incompatible with @rushstack/eslint-patch (pulled in by eslint-config-next) - react-day-picker 10: ClassNames removed `table`; needs calendar.tsx migration - zod 4: 94 type errors cascading through drizzle insert types; needs comprehensive migration Co-Authored-By: Claude Opus 4.7 (1M context) --- package.json | 12 +- pnpm-lock.yaml | 1327 +---------------- .../api/v1/files/folders/[...path]/route.ts | 23 +- src/lib/api/helpers.ts | 29 +- 4 files changed, 77 insertions(+), 1314 deletions(-) diff --git a/package.json b/package.json index 822dcc6..c4efcee 100644 --- a/package.json +++ b/package.json @@ -31,9 +31,9 @@ "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@hookform/resolvers": "^3.10.0", - "@pdfme/common": "^5.5.10", - "@pdfme/generator": "^5.5.10", - "@pdfme/schemas": "^5.5.10", + "@pdfme/common": "^6.1.2", + "@pdfme/generator": "^6.1.2", + "@pdfme/schemas": "^6.1.2", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-alert-dialog": "^1.1.15", "@radix-ui/react-avatar": "^1.1.11", @@ -72,7 +72,7 @@ "iso-3166-2": "^1.0.0", "jose": "^6.2.3", "libphonenumber-js": "^1.12.43", - "lucide-react": "^0.460.0", + "lucide-react": "^1.14.0", "mailparser": "^3.9.8", "minio": "^8.0.7", "next": "15.5.18", @@ -93,8 +93,8 @@ "sharp": "^0.34.5", "socket.io": "^4.8.3", "socket.io-client": "^4.8.3", - "sonner": "^1.7.4", - "tailwind-merge": "^2.6.1", + "sonner": "^2.0.7", + "tailwind-merge": "^3.5.0", "tailwindcss-animate": "^1.0.7", "tesseract.js": "^7.0.0", "vaul": "^1.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0215231..ad16595 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,14 +21,14 @@ importers: specifier: ^3.10.0 version: 3.10.0(react-hook-form@7.75.0(react@19.2.6)) '@pdfme/common': - specifier: ^5.5.10 - version: 5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + specifier: ^6.1.2 + version: 6.1.2 '@pdfme/generator': - specifier: ^5.5.10 - version: 5.5.10(@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)))(@pdfme/schemas@5.5.10(@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)))) + specifier: ^6.1.2 + version: 6.1.2(@pdfme/common@6.1.2)(@pdfme/schemas@6.1.2(@pdfme/common@6.1.2)) '@pdfme/schemas': - specifier: ^5.5.10 - version: 5.5.10(@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))) + specifier: ^6.1.2 + version: 6.1.2(@pdfme/common@6.1.2) '@radix-ui/react-accordion': specifier: ^1.2.12 version: 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) @@ -144,8 +144,8 @@ importers: specifier: ^1.12.43 version: 1.12.43 lucide-react: - specifier: ^0.460.0 - version: 0.460.0(react@19.2.6) + specifier: ^1.14.0 + version: 1.14.0(react@19.2.6) mailparser: specifier: ^3.9.8 version: 3.9.8 @@ -207,11 +207,11 @@ importers: specifier: ^4.8.3 version: 4.8.3 sonner: - specifier: ^1.7.4 - version: 1.7.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^2.0.7 + version: 2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) tailwind-merge: - specifier: ^2.6.1 - version: 2.6.1 + specifier: ^3.5.0 + version: 3.5.0 tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4)) @@ -313,50 +313,6 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@ant-design/colors@6.0.0': - resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} - - '@ant-design/colors@7.2.1': - resolution: {integrity: sha512-lCHDcEzieu4GA3n8ELeZ5VQ8pKQAWcGGLRTQ50aQM2iqPpq2evTxER84jfdPvsPAtEcZ7m44NI45edFMo8oOYQ==} - - '@ant-design/cssinjs-utils@1.1.3': - resolution: {integrity: sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@ant-design/cssinjs@1.24.0': - resolution: {integrity: sha512-K4cYrJBsgvL+IoozUXYjbT6LHHNt+19a9zkvpBPxLjFHas1UpPM2A5MlhROb0BT8N8WoavM5VsP9MeSeNK/3mg==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - - '@ant-design/fast-color@2.0.6': - resolution: {integrity: sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==} - engines: {node: '>=8.x'} - - '@ant-design/icons-svg@4.4.2': - resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} - - '@ant-design/icons@4.8.3': - resolution: {integrity: sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==} - engines: {node: '>=8'} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - - '@ant-design/icons@5.6.1': - resolution: {integrity: sha512-0/xS39c91WjPAZOWsvi1//zjx6kAp4kxWwctR6kuU6p133w8RU0D2dSCvZC19uQyharg/sAvYxGYWl01BbZZfg==} - engines: {node: '>=8'} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - - '@ant-design/react-slick@1.1.2': - resolution: {integrity: sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==} - peerDependencies: - react: '>=16.9.0' - '@antfu/ni@30.1.0': resolution: {integrity: sha512-3VuAbPjgY52rQNn4wABaXMhBU2Oq91uy6L8nX49eJ35OLI68CyckGU+HZxcaHix4ymuGM2nFL1D6sLpgODK5xw==} engines: {node: '>=20.19.0'} @@ -375,10 +331,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.29.2': - resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} - engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} @@ -466,10 +418,6 @@ packages: '@better-fetch/fetch@1.1.21': resolution: {integrity: sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==} - '@ctrl/tinycolor@3.6.1': - resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} - engines: {node: '>=10'} - '@date-fns/tz@1.4.1': resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==} @@ -507,12 +455,6 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@emotion/hash@0.8.0': - resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} - - '@emotion/unitless@0.7.5': - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} - '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} deprecated: 'Merged into tsx: https://tsx.is' @@ -1364,14 +1306,11 @@ packages: '@pdf-lib/upng@1.0.1': resolution: {integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==} - '@pdfme/common@5.5.10': - resolution: {integrity: sha512-UP4Fm6pT50CwqqAYPO1Dxe7eWfZYAdRo84N0weYMP0NFIwBRUTHaY4/yTbUVNLyXeUi5w0AYJbzKcxflvauKmw==} - peerDependencies: - antd: ^5.11.2 - form-render: ^2.2.20 + '@pdfme/common@6.1.2': + resolution: {integrity: sha512-evnKRNuuSnnvhdjuv81HuofdYwdEdREB7ljaeBgLfobI/p5aRSkPRAmfcEjRgyZqB7F2RO0d4GcRH9Lvr5r0kA==} - '@pdfme/generator@5.5.10': - resolution: {integrity: sha512-CGeEQmy/odNXZLhTgAAlM5aM/Vhv4gcnTyWo+KI5QXW+5hnR4zs7eN3GY/v9ATEOil7yeYNAQkunmpbn+5WHcg==} + '@pdfme/generator@6.1.2': + resolution: {integrity: sha512-JT+VR2pEDVDonaFJANI+0gCHczv26tyvG47XxGXyiLjZdqsD5BoFfsm0hbYXFQ3RKqM28z0ndbxm+Z+uN8/zrw==} peerDependencies: '@pdfme/common': latest '@pdfme/schemas': latest @@ -1379,8 +1318,8 @@ packages: '@pdfme/pdf-lib@6.1.2': resolution: {integrity: sha512-iDM554Ah3UmtcIT2OgaexntrF3ezKSDR4FjRHPofRscZzbsz27MW0hiBVlVGApdQSfel8sdANWl5Ldbaifanog==} - '@pdfme/schemas@5.5.10': - resolution: {integrity: sha512-vDSNKAfwYenBYYhqYrR3X8rZIRZa8A0BaO1w185WJ18DT1GAdoqNdWfyX2P7qX2KU0+yYW19gUbbcFw3mWza7Q==} + '@pdfme/schemas@6.1.2': + resolution: {integrity: sha512-1J7h9nWaUZUAFI9tsa4liU6tRFipbVAEXsAwt6Cg5/njI8GyWDPVDjFYbpHfDWMEHGbrNUidoW/sB04gJsQJ1w==} peerDependencies: '@pdfme/common': latest @@ -1965,61 +1904,6 @@ packages: '@radix-ui/rect@1.1.1': resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} - '@rc-component/async-validator@5.1.0': - resolution: {integrity: sha512-n4HcR5siNUXRX23nDizbZBQPO0ZM/5oTtmKZ6/eqL0L2bo747cklFdZGRN2f+c9qWGICwDzrhW0H7tE9PptdcA==} - engines: {node: '>=14.x'} - - '@rc-component/color-picker@2.0.1': - resolution: {integrity: sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/context@1.4.0': - resolution: {integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/mini-decimal@1.1.3': - resolution: {integrity: sha512-bk/FJ09fLf+NLODMAFll6CfYrHPBioTedhW6lxDBuuWucJEqFUd4l/D/5JgIi3dina6sYahB8iuPAZTNz2pMxw==} - engines: {node: '>=8.x'} - - '@rc-component/mutate-observer@1.1.0': - resolution: {integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/portal@1.1.2': - resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/qrcode@1.1.1': - resolution: {integrity: sha512-LfLGNymzKdUPjXUbRP+xOhIWY4jQ+YMj5MmWAcgcAq1Ij8XP7tRmAXqyuv96XvLUBE/5cA8hLFl9eO1JQMujrA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/tour@1.15.1': - resolution: {integrity: sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/trigger@2.3.1': - resolution: {integrity: sha512-ORENF39PeXTzM+gQEshuk460Z8N4+6DkjpxlpE7Q3gYy1iBpLrx0FOJz3h62ryrJZ/3zCAUIkT1Pb/8hHWpb3A==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - '@react-grab/cli@0.1.33': resolution: {integrity: sha512-UOc3PwN11Osw0NzaxRLK8trP4X+5iW1Dst3gvHRCafe3wXHyadzHYH8H1hdkcXdlIx3gsoD9ASJ+G/JH+A/jqA==} hasBin: true @@ -2243,9 +2127,6 @@ packages: '@types/iso-3166-2@1.0.4': resolution: {integrity: sha512-tXaeT4FDobC8rAy6LoFvbGA4vhOQQNIdSRC5DAoYfT3D9ohnKHkDFxHzSln6WqTKVeKLrnMiMQubM8m3fqNp/w==} - '@types/js-cookie@3.0.6': - resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} - '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -2514,15 +2395,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - add-dom-event-listener@1.1.0: - resolution: {integrity: sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==} - - ahooks@3.9.7: - resolution: {integrity: sha512-S0lvzhbdlhK36RFBkGv+RbOM/dbbweym+BIHM/bwwuWVSVN5TuVErHPMWo4w0t1NDYg5KPp2iEf7Y7E5LASYiw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - air-datepicker@3.6.0: resolution: {integrity: sha512-+txUkqa949rXBJDmkQAIb/GehZECJYF4rm9XJxVYtEX22C9WvBpE/XwCUQZBopKIkpg4ycAySJ9lH3JOg9qQTw==} @@ -2545,12 +2417,6 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - antd@5.29.3: - resolution: {integrity: sha512-3DdbGCa9tWAJGcCJ6rzR8EJFsv2CtyEbkVabZE14pfgUHfCicWCj0/QzQVLDYg8CPfQk9BH7fHCoTXHTy7MP/A==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -2622,9 +2488,6 @@ packages: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} - async-validator@3.5.2: - resolution: {integrity: sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==} - async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -2659,9 +2522,6 @@ packages: react-native-b4a: optional: true - babel-runtime@6.26.0: - resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -2900,9 +2760,6 @@ packages: class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} - classnames@2.5.1: - resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -2936,9 +2793,6 @@ packages: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -2947,9 +2801,6 @@ packages: resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} engines: {node: '>=14.6'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -2957,16 +2808,10 @@ packages: resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==} engines: {node: '>=12.20'} - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - color-string@2.1.4: resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} engines: {node: '>=18'} - color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} - color@5.0.3: resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} engines: {node: '>=18'} @@ -2982,19 +2827,10 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - component-classes@1.2.6: - resolution: {integrity: sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==} - - component-indexof@0.0.3: - resolution: {integrity: sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw==} - compress-commons@7.0.1: resolution: {integrity: sha512-g0S8KAD8qf4+V//pr3BfB1aBnARLXNz2Gx+jmHU0LEriUuoQUOPOulVquHKTJ8+EAIIO7fhseNDr9wK5Q9FKBQ==} engines: {node: '>=18'} - compute-scroll-into-view@3.1.1: - resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -3005,13 +2841,6 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} - - core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -3028,9 +2857,6 @@ packages: resolution: {integrity: sha512-IBWsY8xznyQrcHn8h4bC8/4ErNke5elzgG8GcqF4RFPw6aHkWWRc7Tgw6upjaTX/CT/yQgqYENkxYsTYN+hW2g==} engines: {node: '>=18'} - create-react-class@15.7.0: - resolution: {integrity: sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==} - cron-parser@4.9.0: resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} engines: {node: '>=12.0.0'} @@ -3039,9 +2865,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - css-animation@1.6.1: - resolution: {integrity: sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==} - cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -3118,9 +2941,6 @@ packages: dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dayjs@1.11.20: - resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} - debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -3196,9 +3016,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - dom-align@1.12.4: - resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==} - dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -3641,13 +3458,6 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - form-render@2.5.6: - resolution: {integrity: sha512-WykpGnVzccZ5MImHiQ/24otmOSKBu/pDwx33gPD2FYbWzIY0fo/0VH2hWQjNQV4T/4RtuIi+KPNHtDRx2ZHgrg==} - peerDependencies: - antd: 4.x || 5.x - react: '>=16.9.0' - react-dom: '>=16.9.0' - fraction.js@5.3.4: resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} @@ -3828,10 +3638,6 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - intersection-observer@0.12.2: - resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} - deprecated: The Intersection Observer polyfill is no longer needed and can safely be removed. Intersection Observer has been Baseline since 2019. - ioredis@5.10.1: resolution: {integrity: sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==} engines: {node: '>=12.22.0'} @@ -3848,9 +3654,6 @@ packages: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} - is-arrayish@0.3.4: - resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} - is-async-function@2.1.1: resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} @@ -4016,10 +3819,6 @@ packages: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - js-cookie@3.0.5: - resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} - engines: {node: '>=14'} - js-md5@0.8.3: resolution: {integrity: sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==} @@ -4042,9 +3841,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json2mq@0.2.0: - resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} - json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -4200,9 +3996,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash-es@4.18.1: - resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} - lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} @@ -4227,13 +4020,13 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - lucide-react@0.460.0: - resolution: {integrity: sha512-BVtq/DykVeIvRTJvRAgCsOwaGL8Un3Bxh8MbDxMhEWlZay3T4IpEKDEpwt5KZ0KJMHzgm6jrltxlT5eXOWXDHg==} + lucide-react@1.14.0: + resolution: {integrity: sha512-+1mdWcfSJVUsaTIjN9zoezmUhfXo5l0vP7ekBMPo3jcS/aIkxHnXqAPsByszMZx/Y8oQBRJxJx5xg+RH3urzxA==} peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - lucide@0.577.0: - resolution: {integrity: sha512-PpC/m5eOItp/WU/GlQPFBXDOhq6HibL73KzYP37OX3LM7VmzWQF8voEj8QRWUFvy9FIKfeDQkWYoyS1D/MdWFA==} + lucide@1.14.0: + resolution: {integrity: sha512-IoRC3lHwemJWvsXKcHK90hkgY4h1HGztBL63w2XwFtIu8gFDPp4/kiuqVtlN3vaM9bxsLQ4ZUBJfGsbKFaB2IA==} luxon@3.7.2: resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} @@ -4561,9 +4354,6 @@ packages: peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} - performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -4716,258 +4506,6 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - raf@3.4.1: - resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} - - rc-align@2.4.5: - resolution: {integrity: sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==} - - rc-animate@2.11.1: - resolution: {integrity: sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-cascader@3.34.0: - resolution: {integrity: sha512-KpXypcvju9ptjW9FaN2NFcA2QH9E9LHKq169Y0eWtH4e/wHQ5Wh5qZakAgvb8EKZ736WZ3B0zLLOBsrsja5Dag==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-checkbox@3.5.0: - resolution: {integrity: sha512-aOAQc3E98HteIIsSqm6Xk2FPKIER6+5vyEFMZfo73TqM+VVAIqOkHoPjgKLqSNtVLWScoaM7vY2ZrGEheI79yg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-collapse@3.9.0: - resolution: {integrity: sha512-swDdz4QZ4dFTo4RAUMLL50qP0EY62N2kvmk2We5xYdRwcRn8WcYtuetCJpwpaCbUfUt5+huLpVxhvmnK+PHrkA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-color-picker@1.2.6: - resolution: {integrity: sha512-AaC9Pg7qCHSy5M4eVbqDIaNb2FC4SEw82GOHB2C4R/+vF2FVa/r5XA+Igg5+zLPmAvBLhz9tL4MAfkRA8yWNJw==} - peerDependencies: - react: 16.x - react-dom: 16.x - - rc-dialog@9.6.0: - resolution: {integrity: sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-drawer@7.3.0: - resolution: {integrity: sha512-DX6CIgiBWNpJIMGFO8BAISFkxiuKitoizooj4BDyee8/SnBn0zwO2FHrNDpqqepj0E/TFTDpmEBCyFuTgC7MOg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-dropdown@4.2.1: - resolution: {integrity: sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==} - peerDependencies: - react: '>=16.11.0' - react-dom: '>=16.11.0' - - rc-field-form@2.7.1: - resolution: {integrity: sha512-vKeSifSJ6HoLaAB+B8aq/Qgm8a3dyxROzCtKNCsBQgiverpc4kWDQihoUwzUj+zNWJOykwSY4dNX3QrGwtVb9A==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-image@7.12.0: - resolution: {integrity: sha512-cZ3HTyyckPnNnUb9/DRqduqzLfrQRyi+CdHjdqgsyDpI3Ln5UX1kXnAhPBSJj9pVRzwRFgqkN7p9b6HBDjmu/Q==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-input-number@9.5.0: - resolution: {integrity: sha512-bKaEvB5tHebUURAEXw35LDcnRZLq3x1k7GxfAqBMzmpHkDGzjAtnUL8y4y5N15rIFIg5IJgwr211jInl3cipag==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-input@1.8.0: - resolution: {integrity: sha512-KXvaTbX+7ha8a/k+eg6SYRVERK0NddX8QX7a7AnRvUa/rEH0CNMlpcBzBkhI0wp2C8C4HlMoYl8TImSN+fuHKA==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - - rc-mentions@2.20.0: - resolution: {integrity: sha512-w8HCMZEh3f0nR8ZEd466ATqmXFCMGMN5UFCzEUL0bM/nGw/wOS2GgRzKBcm19K++jDyuWCOJOdgcKGXU3fXfbQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-menu@9.16.1: - resolution: {integrity: sha512-ghHx6/6Dvp+fw8CJhDUHFHDJ84hJE3BXNCzSgLdmNiFErWSOaZNsihDAsKq9ByTALo/xkNIwtDFGIl6r+RPXBg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-motion@2.9.5: - resolution: {integrity: sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-notification@5.6.4: - resolution: {integrity: sha512-KcS4O6B4qzM3KH7lkwOB7ooLPZ4b6J+VMmQgT51VZCeEcmghdeR4IrMcFq0LG+RPdnbe/ArT086tGM8Snimgiw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-overflow@1.5.0: - resolution: {integrity: sha512-Lm/v9h0LymeUYJf0x39OveU52InkdRXqnn2aYXfWmo8WdOonIKB2kfau+GF0fWq6jPgtdO9yMqveGcK6aIhJmg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-pagination@5.1.0: - resolution: {integrity: sha512-8416Yip/+eclTFdHXLKTxZvn70duYVGTvUUWbckCCZoIl3jagqke3GLsFrMs0bsQBikiYpZLD9206Ej4SOdOXQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-picker@4.11.3: - resolution: {integrity: sha512-MJ5teb7FlNE0NFHTncxXQ62Y5lytq6sh5nUw0iH8OkHL/TjARSEvSHpr940pWgjGANpjCwyMdvsEV55l5tYNSg==} - engines: {node: '>=8.x'} - peerDependencies: - date-fns: '>= 2.x' - dayjs: '>= 1.x' - luxon: '>= 3.x' - moment: '>= 2.x' - react: '>=16.9.0' - react-dom: '>=16.9.0' - peerDependenciesMeta: - date-fns: - optional: true - dayjs: - optional: true - luxon: - optional: true - moment: - optional: true - - rc-progress@4.0.0: - resolution: {integrity: sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-rate@2.13.1: - resolution: {integrity: sha512-QUhQ9ivQ8Gy7mtMZPAjLbxBt5y9GRp65VcUyGUMF3N3fhiftivPHdpuDIaWIMOTEprAjZPC08bls1dQB+I1F2Q==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-resize-observer@1.4.3: - resolution: {integrity: sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-segmented@2.7.1: - resolution: {integrity: sha512-izj1Nw/Dw2Vb7EVr+D/E9lUTkBe+kKC+SAFSU9zqr7WV2W5Ktaa9Gc7cB2jTqgk8GROJayltaec+DBlYKc6d+g==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - - rc-select@14.16.8: - resolution: {integrity: sha512-NOV5BZa1wZrsdkKaiK7LHRuo5ZjZYMDxPP6/1+09+FB4KoNi8jcG1ZqLE3AVCxEsYMBe65OBx71wFoHRTP3LRg==} - engines: {node: '>=8.x'} - peerDependencies: - react: '*' - react-dom: '*' - - rc-slider@11.1.9: - resolution: {integrity: sha512-h8IknhzSh3FEM9u8ivkskh+Ef4Yo4JRIY2nj7MrH6GQmrwV6mcpJf5/4KgH5JaVI1H3E52yCdpOlVyGZIeph5A==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-steps@6.0.1: - resolution: {integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-switch@4.1.0: - resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-table@7.54.0: - resolution: {integrity: sha512-/wDTkki6wBTjwylwAGjpLKYklKo9YgjZwAU77+7ME5mBoS32Q4nAwoqhA2lSge6fobLW3Tap6uc5xfwaL2p0Sw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-tabs@15.7.0: - resolution: {integrity: sha512-ZepiE+6fmozYdWf/9gVp7k56PKHB1YYoDsKeQA1CBlJ/POIhjkcYiv0AGP0w2Jhzftd3AVvZP/K+V+Lpi2ankA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-textarea@1.10.2: - resolution: {integrity: sha512-HfaeXiaSlpiSp0I/pvWpecFEHpVysZ9tpDLNkxQbMvMz6gsr7aVZ7FpWP9kt4t7DB+jJXesYS0us1uPZnlRnwQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-tooltip@6.4.0: - resolution: {integrity: sha512-kqyivim5cp8I5RkHmpsp1Nn/Wk+1oeloMv9c7LXNgDxUpGm+RbXJGL+OPvDlcRnx9DBeOe4wyOIl4OKUERyH1g==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-tree-select@5.27.0: - resolution: {integrity: sha512-2qTBTzwIT7LRI1o7zLyrCzmo5tQanmyGbSaGTIf7sYimCklAToVVfpMC6OAldSKolcnjorBYPNSKQqJmN3TCww==} - peerDependencies: - react: '*' - react-dom: '*' - - rc-tree@5.13.1: - resolution: {integrity: sha512-FNhIefhftobCdUJshO7M8uZTA9F4OPGVXqGfZkkD/5soDeOhwO06T/aKTrg0WD8gRg/pyfq+ql3aMymLHCTC4A==} - engines: {node: '>=10.x'} - peerDependencies: - react: '*' - react-dom: '*' - - rc-trigger@1.11.5: - resolution: {integrity: sha512-MBuUPw1nFzA4K7jQOwb7uvFaZFjXGd00EofUYiZ+l/fgKVq8wnLC0lkv36kwqM7vfKyftRo2sh7cWVpdPuNnnw==} - - rc-upload@4.11.0: - resolution: {integrity: sha512-ZUyT//2JAehfHzjWowqROcwYJKnZkIUGWaTE/VogVrepSl7AFNbQf4+zGfX4zl9Vrj/Jm8scLO0R6UlPDKK4wA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-util@4.21.1: - resolution: {integrity: sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==} - - rc-util@5.44.4: - resolution: {integrity: sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - rc-virtual-list@3.19.2: - resolution: {integrity: sha512-Ys6NcjwGkuwkeaWBDqfI3xWuZ7rDiQXlH1o2zLfFzATfEgXcqpk8CkgMfbJD81McqjcJVez25a3kPxCR807evA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - react-day-picker@9.14.0: resolution: {integrity: sha512-tBaoDWjPwe0M5pGrum4H0SR6Lyk+BO9oHnp9JbKpGKW2mlraNPgP9BMfsg5pWpwrssARmeqk7YBl2oXutZTaHA==} engines: {node: '>=18'} @@ -4985,9 +4523,6 @@ packages: react: '>=16.4.0' react-dom: '>=16.4.0' - react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - react-grab@0.1.33: resolution: {integrity: sha512-ER919JMsE4TTrb2CpEivqsIjNMSycD4HtS8v7mS3pq67U7WL1K3+C8m9AYOwW4dpuYh+EanC2eJBmfuczHJZ0A==} hasBin: true @@ -5009,9 +4544,6 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - react-redux@9.2.0: resolution: {integrity: sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==} peerDependencies: @@ -5112,9 +4644,6 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - regenerator-runtime@0.11.1: - resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} - regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} @@ -5125,9 +4654,6 @@ packages: reselect@5.1.1: resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} - resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -5202,13 +4728,6 @@ packages: scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - screenfull@5.2.0: - resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} - engines: {node: '>=0.10.0'} - - scroll-into-view-if-needed@3.1.0: - resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} - secure-json-parse@4.1.0: resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} @@ -5239,9 +4758,6 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - sharp@0.34.5: resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -5281,8 +4797,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-swizzle@0.2.4: - resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} + signature_pad@5.1.3: + resolution: {integrity: sha512-zyxW5vuJVnQdGcU+kAj9FYl7WaAunY3kA5S7mPg0xJiujL9+sPAWfSQHS5tXaJXDUa4FuZeKhfdCDQ6K3wfkpQ==} sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -5325,8 +4841,8 @@ packages: sonic-boom@4.2.1: resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} - sonner@1.7.4: - resolution: {integrity: sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==} + sonner@2.0.7: + resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==} peerDependencies: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc @@ -5390,9 +4906,6 @@ packages: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} - string-convert@0.2.1: - resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} - string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} @@ -5462,9 +4975,6 @@ packages: babel-plugin-macros: optional: true - stylis@4.4.0: - resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} - sucrase@3.35.1: resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} engines: {node: '>=16 || 14 >=14.17'} @@ -5478,8 +4988,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - tailwind-merge@2.6.1: - resolution: {integrity: sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==} + tailwind-merge@3.5.0: + resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} tailwindcss-animate@1.0.7: resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} @@ -5517,10 +5027,6 @@ packages: resolution: {integrity: sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==} engines: {node: '>=20'} - throttle-debounce@5.0.2: - resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==} - engines: {node: '>=12.22'} - through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} @@ -5533,9 +5039,6 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinycolor2@1.6.0: - resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinyexec@1.1.2: resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} engines: {node: '>=18'} @@ -5556,9 +5059,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -5687,13 +5187,6 @@ packages: victory-vendor@37.3.6: resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} - virtualizedtableforantd4@1.3.2: - resolution: {integrity: sha512-XRNhSINFKIywhDwzul9D7jam9l3RmampiVVPlJSpAbbjnON50or7h+Evy5TsgQtEzMxtG7Caofs73mwKCb2I6Q==} - peerDependencies: - antd: ^4.0.0 || ^5.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - vite@8.0.0: resolution: {integrity: sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==} engines: {node: ^20.19.0 || >=22.12.0} @@ -5895,21 +5388,6 @@ packages: zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} - zustand@4.5.7: - resolution: {integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==} - engines: {node: '>=12.7.0'} - peerDependencies: - '@types/react': '>=16.8' - immer: '>=9.0.6' - react: '>=16.8' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - zustand@5.0.13: resolution: {integrity: sha512-efI2tVaVQPqtOh114loML/Z80Y4NP3yc+Ff0fYiZJPauNeWZeIp/bRFD7I9bfmCOYBh/PHxlglQ9+wvlwnPikQ==} engines: {node: '>=12.20.0'} @@ -5932,70 +5410,6 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@ant-design/colors@6.0.0': - dependencies: - '@ctrl/tinycolor': 3.6.1 - - '@ant-design/colors@7.2.1': - dependencies: - '@ant-design/fast-color': 2.0.6 - - '@ant-design/cssinjs-utils@1.1.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@babel/runtime': 7.29.2 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@ant-design/cssinjs@1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - '@emotion/hash': 0.8.0 - '@emotion/unitless': 0.7.5 - classnames: 2.5.1 - csstype: 3.2.3 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - stylis: 4.4.0 - - '@ant-design/fast-color@2.0.6': - dependencies: - '@babel/runtime': 7.29.2 - - '@ant-design/icons-svg@4.4.2': {} - - '@ant-design/icons@4.8.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@ant-design/colors': 6.0.0 - '@ant-design/icons-svg': 4.4.2 - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - lodash: 4.18.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@ant-design/icons@5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@ant-design/colors': 7.2.1 - '@ant-design/icons-svg': 4.4.2 - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@ant-design/react-slick@1.1.2(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - json2mq: 0.2.0 - react: 19.2.6 - resize-observer-polyfill: 1.5.1 - throttle-debounce: 5.0.2 - '@antfu/ni@30.1.0': dependencies: fzf: 0.5.2 @@ -6011,8 +5425,6 @@ snapshots: dependencies: '@babel/types': 7.29.0 - '@babel/runtime@7.29.2': {} - '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -6075,8 +5487,6 @@ snapshots: '@better-fetch/fetch@1.1.21': {} - '@ctrl/tinycolor@3.6.1': {} - '@date-fns/tz@1.4.1': {} '@dnd-kit/accessibility@3.1.1(react@19.2.6)': @@ -6122,10 +5532,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emotion/hash@0.8.0': {} - - '@emotion/unitless@0.7.5': {} - '@esbuild-kit/core-utils@3.3.2': dependencies: esbuild: 0.18.20 @@ -6658,20 +6064,18 @@ snapshots: dependencies: pako: 1.0.11 - '@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))': + '@pdfme/common@6.1.2': dependencies: '@pdfme/pdf-lib': 6.1.2 acorn: 8.16.0 - antd: 5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) buffer: 6.0.3 - form-render: 2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) zod: 4.4.3 - '@pdfme/generator@5.5.10(@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)))(@pdfme/schemas@5.5.10(@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))))': + '@pdfme/generator@6.1.2(@pdfme/common@6.1.2)(@pdfme/schemas@6.1.2(@pdfme/common@6.1.2))': dependencies: - '@pdfme/common': 5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + '@pdfme/common': 6.1.2 '@pdfme/pdf-lib': 6.1.2 - '@pdfme/schemas': 5.5.10(@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))) + '@pdfme/schemas': 6.1.2(@pdfme/common@6.1.2) fontkit: 2.0.4 '@pdfme/pdf-lib@6.1.2': @@ -6682,16 +6086,17 @@ snapshots: node-html-better-parser: 1.5.8 pako: 2.1.0 - '@pdfme/schemas@5.5.10(@pdfme/common@5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)))': + '@pdfme/schemas@6.1.2(@pdfme/common@6.1.2)': dependencies: - '@pdfme/common': 5.5.10(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + '@pdfme/common': 6.1.2 '@pdfme/pdf-lib': 6.1.2 air-datepicker: 3.6.0 bwip-js: 4.10.1 date-fns: 4.1.0 dompurify: 3.4.2 fontkit: 2.0.4 - lucide: 0.577.0 + lucide: 1.14.0 + signature_pad: 5.1.3 '@petamoriken/float16@3.9.3': optional: true @@ -7297,73 +6702,6 @@ snapshots: '@radix-ui/rect@1.1.1': {} - '@rc-component/async-validator@5.1.0': - dependencies: - '@babel/runtime': 7.29.2 - - '@rc-component/color-picker@2.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@ant-design/fast-color': 2.0.6 - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@rc-component/context@1.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@rc-component/mini-decimal@1.1.3': - dependencies: - '@babel/runtime': 7.29.2 - - '@rc-component/mutate-observer@1.1.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@rc-component/portal@1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@rc-component/qrcode@1.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@rc-component/tour@1.15.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@rc-component/trigger@2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - '@react-grab/cli@0.1.33': dependencies: '@antfu/ni': 30.1.0 @@ -7544,8 +6882,6 @@ snapshots: '@types/iso-3166-2@1.0.4': {} - '@types/js-cookie@3.0.6': {} - '@types/json-schema@7.0.15': {} '@types/json5@0.0.29': {} @@ -7828,25 +7164,6 @@ snapshots: acorn@8.16.0: {} - add-dom-event-listener@1.1.0: - dependencies: - object-assign: 4.1.1 - - ahooks@3.9.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@types/js-cookie': 3.0.6 - dayjs: 1.11.20 - intersection-observer: 0.12.2 - js-cookie: 3.0.5 - lodash: 4.18.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-fast-compare: 3.2.2 - resize-observer-polyfill: 1.5.1 - screenfull: 5.2.0 - tslib: 2.8.1 - air-datepicker@3.6.0: {} ajv@6.15.0: @@ -7868,64 +7185,6 @@ snapshots: ansi-styles@6.2.3: {} - antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@ant-design/colors': 7.2.1 - '@ant-design/cssinjs': 1.24.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@ant-design/cssinjs-utils': 1.1.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@ant-design/fast-color': 2.0.6 - '@ant-design/icons': 5.6.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@ant-design/react-slick': 1.1.2(react@19.2.6) - '@babel/runtime': 7.29.2 - '@rc-component/color-picker': 2.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@rc-component/mutate-observer': 1.1.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@rc-component/qrcode': 1.1.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@rc-component/tour': 1.15.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - copy-to-clipboard: 3.3.3 - dayjs: 1.11.20 - rc-cascader: 3.34.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-checkbox: 3.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-collapse: 3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-dialog: 9.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-drawer: 7.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-dropdown: 4.2.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-field-form: 2.7.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-image: 7.12.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-input: 1.8.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-input-number: 9.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-mentions: 2.20.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-menu: 9.16.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-notification: 5.6.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-pagination: 5.1.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-picker: 4.11.3(date-fns@4.1.0)(dayjs@1.11.20)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-progress: 4.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-rate: 2.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-segmented: 2.7.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-select: 14.16.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-slider: 11.1.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-steps: 6.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-switch: 4.1.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-table: 7.54.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-tabs: 15.7.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-textarea: 1.10.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-tooltip: 6.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-tree: 5.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-tree-select: 5.27.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-upload: 4.11.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - scroll-into-view-if-needed: 3.1.0 - throttle-debounce: 5.0.2 - transitivePeerDependencies: - - date-fns - - luxon - - moment - any-promise@1.3.0: {} anymatch@3.1.3: @@ -8038,8 +7297,6 @@ snapshots: async-function@1.0.0: {} - async-validator@3.5.2: {} - async@3.2.6: {} atomic-sleep@1.0.0: {} @@ -8063,11 +7320,6 @@ snapshots: b4a@1.8.1: {} - babel-runtime@6.26.0: - dependencies: - core-js: 2.6.12 - regenerator-runtime: 0.11.1 - balanced-match@1.0.2: {} balanced-match@4.0.4: {} @@ -8268,8 +7520,6 @@ snapshots: dependencies: clsx: 2.1.1 - classnames@2.5.1: {} - cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 @@ -8301,10 +7551,6 @@ snapshots: - '@types/react' - '@types/react-dom' - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -8313,26 +7559,14 @@ snapshots: dependencies: color-name: 2.1.0 - color-name@1.1.3: {} - color-name@1.1.4: {} color-name@2.1.0: {} - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.4 - color-string@2.1.4: dependencies: color-name: 2.1.0 - color@3.2.1: - dependencies: - color-convert: 1.9.3 - color-string: 1.9.1 - color@5.0.3: dependencies: color-convert: 3.1.3 @@ -8344,12 +7578,6 @@ snapshots: commander@4.1.1: {} - component-classes@1.2.6: - dependencies: - component-indexof: 0.0.3 - - component-indexof@0.0.3: {} - compress-commons@7.0.1: dependencies: crc-32: 1.2.2 @@ -8358,20 +7586,12 @@ snapshots: normalize-path: 3.0.0 readable-stream: 4.7.0 - compute-scroll-into-view@3.1.1: {} - concat-map@0.0.1: {} convert-source-map@2.0.0: {} cookie@0.7.2: {} - copy-to-clipboard@3.3.3: - dependencies: - toggle-selection: 1.0.6 - - core-js@2.6.12: {} - core-util-is@1.0.3: {} cors@2.8.6: @@ -8386,11 +7606,6 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.7.0 - create-react-class@15.7.0: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - cron-parser@4.9.0: dependencies: luxon: 3.7.2 @@ -8401,11 +7616,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-animation@1.6.1: - dependencies: - babel-runtime: 6.26.0 - component-classes: 1.2.6 - cssesc@3.0.0: {} csstype@3.2.3: {} @@ -8474,8 +7684,6 @@ snapshots: dateformat@4.6.3: {} - dayjs@1.11.20: {} - debug@3.2.7: dependencies: ms: 2.1.3 @@ -8526,8 +7734,6 @@ snapshots: dependencies: esutils: 2.0.3 - dom-align@1.12.4: {} - dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -9119,25 +8325,6 @@ snapshots: dependencies: is-callable: 1.2.7 - form-render@2.5.6(@types/react@19.2.14)(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(immer@11.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@ant-design/icons': 4.8.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - ahooks: 3.9.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - antd: 5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - async-validator: 3.5.2 - classnames: 2.5.1 - color: 3.2.1 - dayjs: 1.11.20 - lodash-es: 4.18.1 - rc-color-picker: 1.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - virtualizedtableforantd4: 1.3.2(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - zustand: 4.5.7(@types/react@19.2.14)(immer@11.1.7)(react@19.2.6) - transitivePeerDependencies: - - '@types/react' - - immer - fraction.js@5.3.4: {} fsevents@2.3.2: @@ -9320,8 +8507,6 @@ snapshots: internmap@2.0.3: {} - intersection-observer@0.12.2: {} - ioredis@5.10.1: dependencies: '@ioredis/commands': 1.5.1 @@ -9346,8 +8531,6 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-arrayish@0.3.4: {} - is-async-function@2.1.1: dependencies: async-function: 1.0.0 @@ -9509,8 +8692,6 @@ snapshots: joycon@3.1.1: {} - js-cookie@3.0.5: {} - js-md5@0.8.3: {} js-tokens@10.0.0: {} @@ -9527,10 +8708,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json2mq@0.2.0: - dependencies: - string-convert: 0.2.1 - json5@1.0.2: dependencies: minimist: 1.2.8 @@ -9672,8 +8849,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash-es@4.18.1: {} - lodash.defaults@4.2.0: {} lodash.isarguments@3.1.0: {} @@ -9699,11 +8874,11 @@ snapshots: dependencies: js-tokens: 4.0.0 - lucide-react@0.460.0(react@19.2.6): + lucide-react@1.14.0(react@19.2.6): dependencies: react: 19.2.6 - lucide@0.577.0: {} + lucide@1.14.0: {} luxon@3.7.2: {} @@ -10034,8 +9209,6 @@ snapshots: peberminta@0.9.0: {} - performance-now@2.1.0: {} - picocolors@1.1.1: {} picomatch@2.3.2: {} @@ -10184,380 +9357,6 @@ snapshots: quick-format-unescaped@4.0.4: {} - raf@3.4.1: - dependencies: - performance-now: 2.1.0 - - rc-align@2.4.5: - dependencies: - babel-runtime: 6.26.0 - dom-align: 1.12.4 - prop-types: 15.8.1 - rc-util: 4.21.1 - - rc-animate@2.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - babel-runtime: 6.26.0 - classnames: 2.5.1 - css-animation: 1.6.1 - prop-types: 15.8.1 - raf: 3.4.1 - rc-util: 4.21.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-lifecycles-compat: 3.0.4 - - rc-cascader@3.34.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-select: 14.16.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-tree: 5.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-checkbox@3.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-collapse@3.9.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-color-picker@1.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - classnames: 2.5.1 - prop-types: 15.8.1 - rc-trigger: 1.11.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 4.21.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - tinycolor2: 1.6.0 - - rc-dialog@9.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-drawer@7.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-dropdown@4.2.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-field-form@2.7.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/async-validator': 5.1.0 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-image@7.12.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/portal': 1.1.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-dialog: 9.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-input-number@9.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/mini-decimal': 1.1.3 - classnames: 2.5.1 - rc-input: 1.8.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-input@1.8.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-mentions@2.20.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-input: 1.8.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-menu: 9.16.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-textarea: 1.10.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-menu@9.16.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-overflow: 1.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-motion@2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-notification@5.6.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-overflow@1.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-pagination@5.1.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-picker@4.11.3(date-fns@4.1.0)(dayjs@1.11.20)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-overflow: 1.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - optionalDependencies: - date-fns: 4.1.0 - dayjs: 1.11.20 - luxon: 3.7.2 - - rc-progress@4.0.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-rate@2.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-resize-observer@1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - resize-observer-polyfill: 1.5.1 - - rc-segmented@2.7.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-select@14.16.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-overflow: 1.5.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-virtual-list: 3.19.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-slider@11.1.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-steps@6.0.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-switch@4.1.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-table@7.54.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/context': 1.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-virtual-list: 3.19.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-tabs@15.7.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-dropdown: 4.2.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-menu: 9.16.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-textarea@1.10.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-input: 1.8.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-tooltip@6.4.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - '@rc-component/trigger': 2.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-tree-select@5.27.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-select: 14.16.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-tree: 5.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-tree@5.13.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-motion: 2.9.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-virtual-list: 3.19.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-trigger@1.11.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - babel-runtime: 6.26.0 - create-react-class: 15.7.0 - prop-types: 15.8.1 - rc-align: 2.4.5 - rc-animate: 2.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 4.21.1 - transitivePeerDependencies: - - react - - react-dom - - rc-upload@4.11.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - rc-util@4.21.1: - dependencies: - add-dom-event-listener: 1.1.0 - prop-types: 15.8.1 - react-is: 16.13.1 - react-lifecycles-compat: 3.0.4 - shallowequal: 1.1.0 - - rc-util@5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-is: 18.3.1 - - rc-virtual-list@3.19.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - '@babel/runtime': 7.29.2 - classnames: 2.5.1 - rc-resize-observer: 1.4.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - rc-util: 5.44.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-day-picker@9.14.0(react@19.2.6): dependencies: '@date-fns/tz': 1.4.1 @@ -10578,8 +9377,6 @@ snapshots: react-dom: 19.2.6(react@19.2.6) tslib: 2.8.1 - react-fast-compare@3.2.2: {} - react-grab@0.1.33(react@19.2.6): dependencies: '@react-grab/cli': 0.1.33 @@ -10595,8 +9392,6 @@ snapshots: react-is@18.3.1: {} - react-lifecycles-compat@3.0.4: {} - react-redux@9.2.0(@types/react@19.2.14)(react@19.2.6)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.6 @@ -10716,8 +9511,6 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 - regenerator-runtime@0.11.1: {} - regenerator-runtime@0.13.11: {} regexp.prototype.flags@1.5.4: @@ -10731,8 +9524,6 @@ snapshots: reselect@5.1.1: {} - resize-observer-polyfill@1.5.1: {} - resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -10825,12 +9616,6 @@ snapshots: scheduler@0.27.0: {} - screenfull@5.2.0: {} - - scroll-into-view-if-needed@3.1.0: - dependencies: - compute-scroll-into-view: 3.1.1 - secure-json-parse@4.1.0: {} selderee@0.11.0: @@ -10865,8 +9650,6 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 - shallowequal@1.1.0: {} - sharp@0.34.5: dependencies: '@img/colour': 1.1.0 @@ -10939,9 +9722,7 @@ snapshots: signal-exit@4.1.0: {} - simple-swizzle@0.2.4: - dependencies: - is-arrayish: 0.3.4 + signature_pad@5.1.3: {} sisteransi@1.0.5: {} @@ -11009,7 +9790,7 @@ snapshots: dependencies: atomic-sleep: 1.0.0 - sonner@1.7.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + sonner@2.0.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: react: 19.2.6 react-dom: 19.2.6(react@19.2.6) @@ -11066,8 +9847,6 @@ snapshots: string-argv@0.3.2: {} - string-convert@0.2.1: {} - string-width@7.2.0: dependencies: emoji-regex: 10.6.0 @@ -11154,8 +9933,6 @@ snapshots: client-only: 0.0.1 react: 19.2.6 - stylis@4.4.0: {} - sucrase@3.35.1: dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -11172,7 +9949,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - tailwind-merge@2.6.1: {} + tailwind-merge@3.5.0: {} tailwindcss-animate@1.0.7(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4)): dependencies: @@ -11258,8 +10035,6 @@ snapshots: dependencies: real-require: 0.2.0 - throttle-debounce@5.0.2: {} - through2@4.0.2: dependencies: readable-stream: 3.6.2 @@ -11270,8 +10045,6 @@ snapshots: tinybench@2.9.0: {} - tinycolor2@1.6.0: {} - tinyexec@1.1.2: {} tinyglobby@0.2.16: @@ -11287,8 +10060,6 @@ snapshots: dependencies: is-number: 7.0.0 - toggle-selection@1.0.6: {} - tr46@0.0.3: {} tr46@5.1.1: @@ -11465,12 +10236,6 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - virtualizedtableforantd4@1.3.2(antd@5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6): - dependencies: - antd: 5.29.3(date-fns@4.1.0)(luxon@3.7.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - vite@8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@22.19.18)(esbuild@0.25.12)(jiti@1.21.7)(tsx@4.21.0)(yaml@2.8.4): dependencies: '@oxc-project/runtime': 0.115.0 @@ -11639,14 +10404,6 @@ snapshots: zod@4.4.3: {} - zustand@4.5.7(@types/react@19.2.14)(immer@11.1.7)(react@19.2.6): - dependencies: - use-sync-external-store: 1.6.0(react@19.2.6) - optionalDependencies: - '@types/react': 19.2.14 - immer: 11.1.7 - react: 19.2.6 - zustand@5.0.13(@types/react@19.2.14)(immer@11.1.7)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)): optionalDependencies: '@types/react': 19.2.14 diff --git a/src/app/api/v1/files/folders/[...path]/route.ts b/src/app/api/v1/files/folders/[...path]/route.ts index dd22dbf..47b393d 100644 --- a/src/app/api/v1/files/folders/[...path]/route.ts +++ b/src/app/api/v1/files/folders/[...path]/route.ts @@ -18,13 +18,15 @@ function sanitizeFolderPath(raw: string): string { .replace(/\/+/g, '/'); } -export const PATCH = withAuth( - withPermission('files', 'manage_folders', async (req, ctx, params) => { +// Catch-all route: Next.js 15.5+ infers `params: { path: string[] }` and +// enforces the handler signature matches. Pass the explicit type param +// so withAuth/withPermission narrow correctly. +type FolderPathParams = { path: string[] }; + +export const PATCH = withAuth( + withPermission('files', 'manage_folders', async (req, ctx, params) => { try { - const pathSegments = params.path; - const currentPath = Array.isArray(pathSegments) - ? (pathSegments as string[]).join('/') - : String(pathSegments); + const currentPath = params.path.join('/'); const body = await parseBody(req, renameFolderSchema); const safeCurrent = sanitizeFolderPath(currentPath); @@ -53,13 +55,10 @@ export const PATCH = withAuth( }), ); -export const DELETE = withAuth( - withPermission('files', 'delete', async (req, ctx, params) => { +export const DELETE = withAuth( + withPermission('files', 'delete', async (req, ctx, params) => { try { - const pathSegments = params.path; - const currentPath = Array.isArray(pathSegments) - ? (pathSegments as string[]).join('/') - : String(pathSegments); + const currentPath = params.path.join('/'); const safePath = sanitizeFolderPath(currentPath); if (!safePath) { diff --git a/src/lib/api/helpers.ts b/src/lib/api/helpers.ts index 871468c..d71db45 100644 --- a/src/lib/api/helpers.ts +++ b/src/lib/api/helpers.ts @@ -44,11 +44,18 @@ export interface AuthContext { userAgent: string; } -export type RouteHandler = ( - req: NextRequest, - ctx: AuthContext, - params: Record, -) => Promise>; +/** + * Route params type. Defaults to `Record` for the common + * `[id]`-style routes. Catch-all routes (`[...slug]`) need to override + * `TParams` so Next.js 15.5+'s stricter route-type checking accepts the + * exported handler against the inferred `{ slug: string[] }` shape. + */ +export type RouteParams = Record; + +export type RouteHandler< + TParams extends RouteParams = Record, + T = unknown, +> = (req: NextRequest, ctx: AuthContext, params: TParams) => Promise>; // ─── deepMerge ─────────────────────────────────────────────────────────────── @@ -95,11 +102,11 @@ export function deepMerge( * export const POST = withAuth(withPermission('clients', 'create', handler)); * ``` */ -export function withAuth( - handler: RouteHandler, +export function withAuth>( + handler: RouteHandler, ): ( req: NextRequest, - routeContext: { params: Promise> }, + routeContext: { params: Promise }, ) => Promise { return async (req, routeContext) => { // Mint or accept a request id BEFORE entering the ALS frame so every @@ -286,11 +293,11 @@ export function requireSuperAdmin(ctx: AuthContext, attemptedAction = 'super_adm * export const DELETE = withAuth(withPermission('clients', 'delete', handler)); * ``` */ -export function withPermission( +export function withPermission>( resource: keyof RolePermissions, action: string, - handler: RouteHandler, -): RouteHandler { + handler: RouteHandler, +): RouteHandler { return async (req, ctx, params) => { if (!ctx.isSuperAdmin) { const resourcePerms = ctx.permissions?.[resource] as Record | undefined;