diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/package-lock.json b/src/jcdcdev.Umbraco.ReadingTime.Client/package-lock.json index 9427d46..3926504 100644 --- a/src/jcdcdev.Umbraco.ReadingTime.Client/package-lock.json +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/package-lock.json @@ -8,18 +8,17 @@ "name": "reading-time", "version": "0.0.0", "devDependencies": { - "@hey-api/client-fetch": "^0.10.0", - "@hey-api/openapi-ts": "^0.67.3", - "@umbraco-cms/backoffice": "^16.0.0-rc5", - "lit": "^3.3.0", + "@hey-api/openapi-ts": "^0.80.1", + "@umbraco-cms/backoffice": "^16.1.0", + "lit": "^3.3.1", "typescript": "^5.8.3", - "vite": "^6.3.5" + "vite": "^7.0.6" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", + "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", "cpu": [ "ppc64" ], @@ -34,9 +33,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", + "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", "cpu": [ "arm" ], @@ -51,9 +50,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", + "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", "cpu": [ "arm64" ], @@ -68,9 +67,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", + "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", "cpu": [ "x64" ], @@ -85,9 +84,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", + "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", "cpu": [ "arm64" ], @@ -102,9 +101,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", - "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", + "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", "cpu": [ "x64" ], @@ -119,9 +118,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", - "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", + "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", "cpu": [ "arm64" ], @@ -136,9 +135,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", - "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", + "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", "cpu": [ "x64" ], @@ -153,9 +152,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", - "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", + "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", "cpu": [ "arm" ], @@ -170,9 +169,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", - "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", + "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", "cpu": [ "arm64" ], @@ -187,9 +186,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", - "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", + "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", "cpu": [ "ia32" ], @@ -204,9 +203,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", - "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", + "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", "cpu": [ "loong64" ], @@ -221,9 +220,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", - "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", + "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", "cpu": [ "mips64el" ], @@ -238,9 +237,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", - "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", + "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", "cpu": [ "ppc64" ], @@ -255,9 +254,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", - "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", + "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", "cpu": [ "riscv64" ], @@ -272,9 +271,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", - "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", + "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", "cpu": [ "s390x" ], @@ -289,9 +288,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", - "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", + "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", "cpu": [ "x64" ], @@ -306,9 +305,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", - "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", + "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", "cpu": [ "arm64" ], @@ -323,9 +322,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", - "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", + "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", "cpu": [ "x64" ], @@ -340,9 +339,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", - "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", + "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", "cpu": [ "arm64" ], @@ -357,9 +356,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", - "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", + "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", "cpu": [ "x64" ], @@ -373,10 +372,27 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", + "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", - "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", + "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", "cpu": [ "x64" ], @@ -391,9 +407,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", - "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", + "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", "cpu": [ "arm64" ], @@ -408,9 +424,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", - "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", + "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", "cpu": [ "ia32" ], @@ -425,9 +441,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", - "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", + "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", "cpu": [ "x64" ], @@ -442,11 +458,13 @@ } }, "node_modules/@hey-api/client-fetch": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.10.2.tgz", - "integrity": "sha512-AGiFYDx+y8VT1wlQ3EbzzZtfU8EfV+hLLRTtr8Y/tjYZaxIECwJagVZf24YzNbtEBXONFV50bwcU1wLVGXe1ow==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.12.0.tgz", + "integrity": "sha512-/iZ6dhs39N0kjzCa9tlNeLNufVUd8zzv/wI1ewQt5AEHaVuDnAxvuQT+fRIPYkfIWKR3gVZKRp5mcCo29voYzQ==", + "deprecated": "Starting with v0.73.0, this package is bundled directly inside @hey-api/openapi-ts.", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/hey-api" }, @@ -474,16 +492,20 @@ } }, "node_modules/@hey-api/openapi-ts": { - "version": "0.67.6", - "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.67.6.tgz", - "integrity": "sha512-ywZggKKYieVjM6O6T60/Bl+QBRvhcKAov8dAIQor7reyKpFbEn3Ws+9WKoXR8QUuXN8AR8nMFjOuYPer5db/dg==", + "version": "0.80.1", + "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.80.1.tgz", + "integrity": "sha512-AC478kg36vmmrseLZNFonZ/cmXXmDzW5yWz4PVg1S8ebJsRtVRJ/QU+mtnXfzf9avN2P0pz/AO4WAe4jyFY2gA==", "dev": true, "license": "MIT", "dependencies": { "@hey-api/json-schema-ref-parser": "1.0.6", + "ansi-colors": "4.1.3", "c12": "2.0.1", + "color-support": "1.1.3", "commander": "13.0.0", - "handlebars": "4.7.8" + "handlebars": "4.7.8", + "open": "10.1.2", + "semver": "7.7.2" }, "bin": { "openapi-ts": "bin/index.cjs" @@ -506,20 +528,20 @@ "license": "MIT" }, "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", - "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz", + "integrity": "sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==", "dev": true, "license": "BSD-3-Clause" }, "node_modules/@lit/reactive-element": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.0.tgz", - "integrity": "sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.1.tgz", + "integrity": "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0" + "@lit-labs/ssr-dom-shim": "^1.4.0" } }, "node_modules/@remirror/core-constants": { @@ -531,9 +553,9 @@ "peer": true }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.42.0.tgz", - "integrity": "sha512-gldmAyS9hpj+H6LpRNlcjQWbuKUtb94lodB9uCz71Jm+7BxK1VIOo7y62tZZwxhA7j1ylv/yQz080L5WkS+LoQ==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz", + "integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==", "cpu": [ "arm" ], @@ -545,9 +567,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.42.0.tgz", - "integrity": "sha512-bpRipfTgmGFdCZDFLRvIkSNO1/3RGS74aWkJJTFJBH7h3MRV4UijkaEUeOMbi9wxtxYmtAbVcnMtHTPBhLEkaw==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz", + "integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==", "cpu": [ "arm64" ], @@ -559,9 +581,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.42.0.tgz", - "integrity": "sha512-JxHtA081izPBVCHLKnl6GEA0w3920mlJPLh89NojpU2GsBSB6ypu4erFg/Wx1qbpUbepn0jY4dVWMGZM8gplgA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz", + "integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==", "cpu": [ "arm64" ], @@ -573,9 +595,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.42.0.tgz", - "integrity": "sha512-rv5UZaWVIJTDMyQ3dCEK+m0SAn6G7H3PRc2AZmExvbDvtaDc+qXkei0knQWcI3+c9tEs7iL/4I4pTQoPbNL2SA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz", + "integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==", "cpu": [ "x64" ], @@ -587,9 +609,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.42.0.tgz", - "integrity": "sha512-fJcN4uSGPWdpVmvLuMtALUFwCHgb2XiQjuECkHT3lWLZhSQ3MBQ9pq+WoWeJq2PrNxr9rPM1Qx+IjyGj8/c6zQ==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz", + "integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==", "cpu": [ "arm64" ], @@ -601,9 +623,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.42.0.tgz", - "integrity": "sha512-CziHfyzpp8hJpCVE/ZdTizw58gr+m7Y2Xq5VOuCSrZR++th2xWAz4Nqk52MoIIrV3JHtVBhbBsJcAxs6NammOQ==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz", + "integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==", "cpu": [ "x64" ], @@ -615,9 +637,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.42.0.tgz", - "integrity": "sha512-UsQD5fyLWm2Fe5CDM7VPYAo+UC7+2Px4Y+N3AcPh/LdZu23YcuGPegQly++XEVaC8XUTFVPscl5y5Cl1twEI4A==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz", + "integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==", "cpu": [ "arm" ], @@ -629,9 +651,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.42.0.tgz", - "integrity": "sha512-/i8NIrlgc/+4n1lnoWl1zgH7Uo0XK5xK3EDqVTf38KvyYgCU/Rm04+o1VvvzJZnVS5/cWSd07owkzcVasgfIkQ==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz", + "integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==", "cpu": [ "arm" ], @@ -643,9 +665,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.42.0.tgz", - "integrity": "sha512-eoujJFOvoIBjZEi9hJnXAbWg+Vo1Ov8n/0IKZZcPZ7JhBzxh2A+2NFyeMZIRkY9iwBvSjloKgcvnjTbGKHE44Q==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz", + "integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==", "cpu": [ "arm64" ], @@ -657,9 +679,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.42.0.tgz", - "integrity": "sha512-/3NrcOWFSR7RQUQIuZQChLND36aTU9IYE4j+TB40VU78S+RA0IiqHR30oSh6P1S9f9/wVOenHQnacs/Byb824g==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz", + "integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==", "cpu": [ "arm64" ], @@ -671,9 +693,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.42.0.tgz", - "integrity": "sha512-O8AplvIeavK5ABmZlKBq9/STdZlnQo7Sle0LLhVA7QT+CiGpNVe197/t8Aph9bhJqbDVGCHpY2i7QyfEDDStDg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz", + "integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==", "cpu": [ "loong64" ], @@ -685,9 +707,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.42.0.tgz", - "integrity": "sha512-6Qb66tbKVN7VyQrekhEzbHRxXXFFD8QKiFAwX5v9Xt6FiJ3BnCVBuyBxa2fkFGqxOCSGGYNejxd8ht+q5SnmtA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz", + "integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==", "cpu": [ "ppc64" ], @@ -699,9 +721,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.42.0.tgz", - "integrity": "sha512-KQETDSEBamQFvg/d8jajtRwLNBlGc3aKpaGiP/LvEbnmVUKlFta1vqJqTrvPtsYsfbE/DLg5CC9zyXRX3fnBiA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz", + "integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==", "cpu": [ "riscv64" ], @@ -713,9 +735,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.42.0.tgz", - "integrity": "sha512-qMvnyjcU37sCo/tuC+JqeDKSuukGAd+pVlRl/oyDbkvPJ3awk6G6ua7tyum02O3lI+fio+eM5wsVd66X0jQtxw==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz", + "integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==", "cpu": [ "riscv64" ], @@ -727,9 +749,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.42.0.tgz", - "integrity": "sha512-I2Y1ZUgTgU2RLddUHXTIgyrdOwljjkmcZ/VilvaEumtS3Fkuhbw4p4hgHc39Ypwvo2o7sBFNl2MquNvGCa55Iw==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz", + "integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==", "cpu": [ "s390x" ], @@ -741,9 +763,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.42.0.tgz", - "integrity": "sha512-Gfm6cV6mj3hCUY8TqWa63DB8Mx3NADoFwiJrMpoZ1uESbK8FQV3LXkhfry+8bOniq9pqY1OdsjFWNsSbfjPugw==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz", + "integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==", "cpu": [ "x64" ], @@ -755,9 +777,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.42.0.tgz", - "integrity": "sha512-g86PF8YZ9GRqkdi0VoGlcDUb4rYtQKyTD1IVtxxN4Hpe7YqLBShA7oHMKU6oKTCi3uxwW4VkIGnOaH/El8de3w==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz", + "integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==", "cpu": [ "x64" ], @@ -769,9 +791,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.42.0.tgz", - "integrity": "sha512-+axkdyDGSp6hjyzQ5m1pgcvQScfHnMCcsXkx8pTgy/6qBmWVhtRVlgxjWwDp67wEXXUr0x+vD6tp5W4x6V7u1A==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz", + "integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==", "cpu": [ "arm64" ], @@ -783,9 +805,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.42.0.tgz", - "integrity": "sha512-F+5J9pelstXKwRSDq92J0TEBXn2nfUrQGg+HK1+Tk7VOL09e0gBqUHugZv7SW4MGrYj41oNCUe3IKCDGVlis2g==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz", + "integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==", "cpu": [ "ia32" ], @@ -797,9 +819,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.42.0.tgz", - "integrity": "sha512-LpHiJRwkaVz/LqjHjK8LCi8osq7elmpwujwbXKNW88bM8eeGxavJIKKjkjpMHAh/2xfnrt1ZSnhTv41WYUHYmA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz", + "integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==", "cpu": [ "x64" ], @@ -826,9 +848,9 @@ } }, "node_modules/@tiptap/extension-blockquote": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.14.0.tgz", - "integrity": "sha512-AwqPP0jLYNioKxakiVw0vlfH/ceGFbV+SGoqBbPSGFPRdSbHhxHDNBlTtiThmT3N2PiVwXAD9xislJV+WY4GUA==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.26.1.tgz", + "integrity": "sha512-viQ6AHRhjCYYipKK6ZepBzwZpkuMvO9yhRHeUZDvlSOAh8rvsUTSre0y74nu8QRYUt4a44lJJ6BpphJK7bEgYA==", "dev": true, "license": "MIT", "peer": true, @@ -841,9 +863,9 @@ } }, "node_modules/@tiptap/extension-bold": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.14.0.tgz", - "integrity": "sha512-8DWwelH55H8KtLECSIv0wh8x/F/6lpagV/pMvT+Azujad0oqK+1iAPKU/kLgjXbFSkisrpV6KSwQts5neCtfRQ==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.26.1.tgz", + "integrity": "sha512-zCce9PRuTNhadFir71luLo99HERDpGJ0EEflGm7RN8I1SnNi9gD5ooK42BOIQtejGCJqg3hTPZiYDJC2hXvckQ==", "dev": true, "license": "MIT", "peer": true, @@ -856,9 +878,9 @@ } }, "node_modules/@tiptap/extension-bullet-list": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.14.0.tgz", - "integrity": "sha512-SWnL4bP8Mm/mWN42AMQNoqYE0V6LgSBTVsHwwAki2wIUQdr9HyoAnohvHy3IME56NMwoyZyo+Mzl45wOqUxziA==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.26.1.tgz", + "integrity": "sha512-HHakuV4ckYCDOnBbne088FvCEP4YICw+wgPBz/V2dfpiFYQ4WzT0LPK9s7OFMCN+ROraoug+1ryN1Z1KdIgujQ==", "dev": true, "license": "MIT", "peer": true, @@ -887,9 +909,9 @@ } }, "node_modules/@tiptap/extension-code": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.14.0.tgz", - "integrity": "sha512-kyo02mnzqgwXayMcyRA/fHQgb+nMmQQpIt1irZwjtEoFZshA7NnY/6b5SJmRcxQ4/X4r2Y2Ha2sWmOcEkLmt4A==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.26.1.tgz", + "integrity": "sha512-GU9deB1A/Tr4FMPu71CvlcjGKwRhGYz60wQ8m4aM+ELZcVIcZRa1ebR8bExRIEWnvRztQuyRiCQzw2N0xQJ1QQ==", "dev": true, "license": "MIT", "peer": true, @@ -902,9 +924,9 @@ } }, "node_modules/@tiptap/extension-code-block": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.14.0.tgz", - "integrity": "sha512-LRYYZeh8U2XgfTsJ4houB9s9cVRt7PRfVa4MaCeOYKfowVOKQh67yV5oom8Azk9XrMPkPxDmMmdPAEPxeVYFvw==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.26.1.tgz", + "integrity": "sha512-/TDDOwONl0qEUc4+B6V9NnWtSjz95eg7/8uCb8Y8iRbGvI9vT4/znRKofFxstvKmW4URu/H74/g0ywV57h0B+A==", "dev": true, "license": "MIT", "peer": true, @@ -918,9 +940,9 @@ } }, "node_modules/@tiptap/extension-document": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.14.0.tgz", - "integrity": "sha512-qwEgpPIJ3AgXdEtRTr88hODbXRdt14VAwLj27PTSqexB5V7Ra1Jy7iQDhqRwBCoUomVywBsWYxkSuDisSRG+9w==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.26.1.tgz", + "integrity": "sha512-2P2IZp1NRAE+21mRuFBiP3X2WKfZ6kUC23NJKpn8bcOamY3obYqCt0ltGPhE4eR8n8QAl2fI/3jIgjR07dC8ow==", "dev": true, "license": "MIT", "peer": true, @@ -933,9 +955,9 @@ } }, "node_modules/@tiptap/extension-dropcursor": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.14.0.tgz", - "integrity": "sha512-FIh5cdPuoPKvZ0GqSKhzMZGixm05ac3hSgqhMNCBZmXX459qBUI9CvDl/uzSnY9koBDeLVV3HYMthWQQLSXl9A==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.26.1.tgz", + "integrity": "sha512-JkDQU2ZYFOuT5mNYb8OiWGwD1HcjbtmX8tLNugQbToECmz9WvVPqJmn7V/q8VGpP81iEECz/IsyRmuf2kSD4uA==", "dev": true, "license": "MIT", "peer": true, @@ -949,9 +971,9 @@ } }, "node_modules/@tiptap/extension-gapcursor": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.14.0.tgz", - "integrity": "sha512-as+SqC39FRshw4Fm1XVlrdSXveiusf5xiC4nuefLmXsUxO7Yx67x8jS0/VQbxWTLHZ6R1YEW8prLtnxGmVLCAQ==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.26.1.tgz", + "integrity": "sha512-KOiMZc3PwJS3hR0nSq5d0TJi2jkNZkLZElcT6pCEnhRHzPH6dRMu9GM5Jj798ZRUy0T9UFcKJalFZaDxnmRnpg==", "dev": true, "license": "MIT", "peer": true, @@ -965,9 +987,9 @@ } }, "node_modules/@tiptap/extension-hard-break": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.14.0.tgz", - "integrity": "sha512-A8c8n8881iBq3AusNqibh6Hloybr+FgYdg4Lg4jNxbbEaL0WhyLFge1bWlGVpbHXFqdv5YldMUAu6Rop3FhNvw==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.26.1.tgz", + "integrity": "sha512-d6uStdNKi8kjPlHAyO59M6KGWATNwhLCD7dng0NXfwGndc22fthzIk/6j9F6ltQx30huy5qQram6j3JXwNACoA==", "dev": true, "license": "MIT", "peer": true, @@ -980,9 +1002,9 @@ } }, "node_modules/@tiptap/extension-heading": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.14.0.tgz", - "integrity": "sha512-vM//6G3Ox3mxPv9eilhrDqylELCc8kEP1aQ4xUuOw7vCidjNtGggOa1ERnnpV2dCa2A9E8y4FHtN4Xh29stXQg==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.26.1.tgz", + "integrity": "sha512-KSzL8WZV3pjJG9ke4RaU70+B5UlYR2S6olNt5UCAawM+fi11mobVztiBoC19xtpSVqIXC1AmXOqUgnuSvmE4ZA==", "dev": true, "license": "MIT", "peer": true, @@ -995,9 +1017,9 @@ } }, "node_modules/@tiptap/extension-history": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.14.0.tgz", - "integrity": "sha512-/qnOHQFCEPfkb3caykqd+sqzEC2gx30EQB/mM7+5kIG7CQy7XXaGjFAEaqzE1xJ783Q2E7GVk4JxWM+3NhYSLw==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.26.1.tgz", + "integrity": "sha512-m6YR1gkkauIDo3PRl0gP+7Oc4n5OqDzcjVh6LvWREmZP8nmi94hfseYbqOXUb6RPHIc0JKF02eiRifT4MSd2nw==", "dev": true, "license": "MIT", "peer": true, @@ -1011,9 +1033,9 @@ } }, "node_modules/@tiptap/extension-horizontal-rule": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.14.0.tgz", - "integrity": "sha512-OrKWgHOhmJtVHjPYaEJetNLiNEvrI85lTrGxzeQa+a8ACb93h4svyHe9J+LHs5pKkXDQFcpYEXJntu0LVLLiDw==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.26.1.tgz", + "integrity": "sha512-mT6baqOhs/NakgrAeDeed194E/ZJFGL692H0C7f1N7WDRaWxUu2oR0LrnRqSH5OyPjELkzu6nQnNy0+0tFGHHg==", "dev": true, "license": "MIT", "peer": true, @@ -1042,9 +1064,9 @@ } }, "node_modules/@tiptap/extension-italic": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.14.0.tgz", - "integrity": "sha512-yEw2S+smoVR8DMYQMAWckVW2Sstf7z5+GBZ8zm8NMGhMKb1JFCPZUv5KTTIPnq7ZrKuuZHvjN9+Ef1dRYD8T2A==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.26.1.tgz", + "integrity": "sha512-pOs6oU4LyGO89IrYE4jbE8ZYsPwMMIiKkYfXcfeD9NtpGNBnjeVXXF5I9ndY2ANrCAgC8k58C3/powDRf0T2yA==", "dev": true, "license": "MIT", "peer": true, @@ -1076,9 +1098,9 @@ } }, "node_modules/@tiptap/extension-list-item": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.14.0.tgz", - "integrity": "sha512-t1jXDPEd82sC6vZVE/12/CB52uuiydCIcRfwdh21xNgBMckToKO9S0K6XEp4ROtrKQdlIH2JDVPfpUBvVrYN8Q==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.26.1.tgz", + "integrity": "sha512-quOXckC73Luc3x+Dcm88YAEBW+Crh3x5uvtQOQtn2GEG91AshrvbnhGRiYnfvEN7UhWIS+FYI5liHFcRKSUKrQ==", "dev": true, "license": "MIT", "peer": true, @@ -1091,9 +1113,9 @@ } }, "node_modules/@tiptap/extension-ordered-list": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.14.0.tgz", - "integrity": "sha512-QUZcyuW9AKvSfpFHcGmbyRCqxcpY0VNf0xipEtogxbA+JDDw3ZSPqU1dUgz9wk00RahPTwNDdY5aVjdQ5N4N9Q==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.26.1.tgz", + "integrity": "sha512-UHKNRxq6TBnXMGFSq91knD6QaHsyyOwLOsXMzupmKM5Su0s+CRXEjfav3qKlbb9e4m7D7S/a0aPm8nC9KIXNhQ==", "dev": true, "license": "MIT", "peer": true, @@ -1106,9 +1128,9 @@ } }, "node_modules/@tiptap/extension-paragraph": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.14.0.tgz", - "integrity": "sha512-bsQesVpgvDS2e+wr2fp59QO7rWRp2FqcJvBafwXS3Br9U5Mx3eFYryx4wC7cUnhlhUwX5pmaoA7zISgV9dZDgg==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.26.1.tgz", + "integrity": "sha512-UezvM9VDRAVJlX1tykgHWSD1g3MKfVMWWZ+Tg+PE4+kizOwoYkRWznVPgCAxjmyHajxpCKRXgqTZkOxjJ9Kjzg==", "dev": true, "license": "MIT", "peer": true, @@ -1137,9 +1159,9 @@ } }, "node_modules/@tiptap/extension-strike": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.14.0.tgz", - "integrity": "sha512-rD5d/IL3XPfBOrHRHxt+b+0X1jbIbWONGiad/3sX0ZYQD3PandtCWboH40r/J5tFksebuY12dVYyYQKgLpDBOQ==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.26.1.tgz", + "integrity": "sha512-CkoRH+pAi6MgdCh7K0cVZl4N2uR4pZdabXAnFSoLZRSg6imLvEUmWHfSi1dl3Z7JOvd3a4yZ4NxerQn5MWbJ7g==", "dev": true, "license": "MIT", "peer": true, @@ -1243,9 +1265,9 @@ } }, "node_modules/@tiptap/extension-text": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.14.0.tgz", - "integrity": "sha512-rHny566nGZHq61zRLwQ9BPG55W/O+eDKwUJl+LhrLiVWwzpvAl9QQYixtoxJKOY48VK41PKwxe3bgDYgNs/Fhg==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.26.1.tgz", + "integrity": "sha512-p2n8WVMd/2vckdJlol24acaTDIZAhI7qle5cM75bn01sOEZoFlSw6SwINOULrUCzNJsYb43qrLEibZb4j2LeQw==", "dev": true, "license": "MIT", "peer": true, @@ -1273,9 +1295,9 @@ } }, "node_modules/@tiptap/extension-text-style": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.14.0.tgz", - "integrity": "sha512-dl0oi2i0rjLpBqTf4wGy6SLidvPpjxLcmX727pwJlCklkFJVDf8wSFeD4ddxJXiD2Rwef0D/lkcwXSY73CoDcA==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.26.1.tgz", + "integrity": "sha512-t9Nc/UkrbCfnSHEUi1gvUQ2ZPzvfdYFT5TExoV2DTiUCkhG6+mecT5bTVFGW3QkPmbToL+nFhGn4ZRMDD0SP3Q==", "dev": true, "license": "MIT", "peer": true, @@ -1378,9 +1400,9 @@ "peer": true }, "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, @@ -1427,9 +1449,9 @@ "license": "MIT" }, "node_modules/@umbraco-cms/backoffice": { - "version": "16.0.0-rc5", - "resolved": "https://registry.npmjs.org/@umbraco-cms/backoffice/-/backoffice-16.0.0-rc5.tgz", - "integrity": "sha512-0YXVMFROzEYw2wOwv0rcFHusRZFivuTssZge1jpe1CePCqwlsDJmS1n6DhxMGOU61VGIZF0u2KR9VqGIV+H/9w==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@umbraco-cms/backoffice/-/backoffice-16.1.0.tgz", + "integrity": "sha512-/Wocq1ZqF6uetQGUBHUh6xrPEw4KStnIjscn9Esx7ftfczlcMvmgySowH1ITNThCRs99eDHp104TLcUIGmXjVQ==", "dev": true, "license": "MIT", "engines": { @@ -1437,7 +1459,7 @@ "npm": ">=10.9" }, "peerDependencies": { - "@hey-api/client-fetch": "^0.10.0", + "@hey-api/client-fetch": "^0.12.0", "@tiptap/core": "2.11.7", "@tiptap/extension-character-count": "2.11.7", "@tiptap/extension-image": "2.11.7", @@ -1454,8 +1476,8 @@ "@tiptap/pm": "2.11.7", "@tiptap/starter-kit": "2.11.7", "@types/diff": "^7.0.2", - "@umbraco-ui/uui": "1.14.0-rc.4", - "@umbraco-ui/uui-css": "1.14.0-rc.4", + "@umbraco-ui/uui": "1.14.2", + "@umbraco-ui/uui-css": "1.14.1", "diff": "^7.0.0", "dompurify": "^3.2.5", "element-internals-polyfill": "^3.0.2", @@ -1467,148 +1489,148 @@ } }, "node_modules/@umbraco-ui/uui": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui/-/uui-1.14.0-rc.4.tgz", - "integrity": "sha512-oC0tDbzcfCsoc1Hb5yHI2wui5/FA7yLNNIxPBP2yAtek1GIWDSIj3cEY08SNKLOv49y052tl3bH/QZr8hrji2w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@umbraco-ui/uui-action-bar": "1.14.0-rc.4", - "@umbraco-ui/uui-avatar": "1.14.0-rc.4", - "@umbraco-ui/uui-avatar-group": "1.14.0-rc.4", - "@umbraco-ui/uui-badge": "1.14.0-rc.4", - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-boolean-input": "1.14.0-rc.4", - "@umbraco-ui/uui-box": "1.14.0-rc.4", - "@umbraco-ui/uui-breadcrumbs": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4", - "@umbraco-ui/uui-button-copy-text": "1.14.0-rc.4", - "@umbraco-ui/uui-button-group": "1.14.0-rc.4", - "@umbraco-ui/uui-button-inline-create": "1.14.0-rc.4", - "@umbraco-ui/uui-card": "1.14.0-rc.4", - "@umbraco-ui/uui-card-block-type": "1.14.0-rc.4", - "@umbraco-ui/uui-card-content-node": "1.14.0-rc.4", - "@umbraco-ui/uui-card-media": "1.14.0-rc.4", - "@umbraco-ui/uui-card-user": "1.14.0-rc.4", - "@umbraco-ui/uui-caret": "1.14.0-rc.4", - "@umbraco-ui/uui-checkbox": "1.14.0-rc.4", - "@umbraco-ui/uui-color-area": "1.14.0-rc.4", - "@umbraco-ui/uui-color-picker": "1.14.0-rc.4", - "@umbraco-ui/uui-color-slider": "1.14.0-rc.4", - "@umbraco-ui/uui-color-swatch": "1.14.0-rc.4", - "@umbraco-ui/uui-color-swatches": "1.14.0-rc.4", - "@umbraco-ui/uui-combobox": "1.14.0-rc.4", - "@umbraco-ui/uui-combobox-list": "1.14.0-rc.4", - "@umbraco-ui/uui-css": "1.14.0-rc.4", - "@umbraco-ui/uui-dialog": "1.14.0-rc.4", - "@umbraco-ui/uui-dialog-layout": "1.14.0-rc.4", - "@umbraco-ui/uui-file-dropzone": "1.14.0-rc.4", - "@umbraco-ui/uui-file-preview": "1.14.0-rc.4", - "@umbraco-ui/uui-form": "1.14.0-rc.4", - "@umbraco-ui/uui-form-layout-item": "1.14.0-rc.4", - "@umbraco-ui/uui-form-validation-message": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0-rc.4", - "@umbraco-ui/uui-input": "1.14.0-rc.4", - "@umbraco-ui/uui-input-file": "1.14.0-rc.4", - "@umbraco-ui/uui-input-lock": "1.14.0-rc.4", - "@umbraco-ui/uui-input-password": "1.14.0-rc.4", - "@umbraco-ui/uui-keyboard-shortcut": "1.14.0-rc.4", - "@umbraco-ui/uui-label": "1.14.0-rc.4", - "@umbraco-ui/uui-loader": "1.14.0-rc.4", - "@umbraco-ui/uui-loader-bar": "1.14.0-rc.4", - "@umbraco-ui/uui-loader-circle": "1.14.0-rc.4", - "@umbraco-ui/uui-menu-item": "1.14.0-rc.4", - "@umbraco-ui/uui-modal": "1.14.0-rc.4", - "@umbraco-ui/uui-pagination": "1.14.0-rc.4", - "@umbraco-ui/uui-popover": "1.14.0-rc.4", - "@umbraco-ui/uui-popover-container": "1.14.0-rc.4", - "@umbraco-ui/uui-progress-bar": "1.14.0-rc.4", - "@umbraco-ui/uui-radio": "1.14.0-rc.4", - "@umbraco-ui/uui-range-slider": "1.14.0-rc.4", - "@umbraco-ui/uui-ref": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-list": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node-data-type": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node-document-type": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node-form": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node-member": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node-package": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node-user": "1.14.0-rc.4", - "@umbraco-ui/uui-scroll-container": "1.14.0-rc.4", - "@umbraco-ui/uui-select": "1.14.0-rc.4", - "@umbraco-ui/uui-slider": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-expand": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-file": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-file-dropzone": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-folder": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-lock": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-more": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-sort": "1.14.0-rc.4", - "@umbraco-ui/uui-table": "1.14.0-rc.4", - "@umbraco-ui/uui-tabs": "1.14.0-rc.4", - "@umbraco-ui/uui-tag": "1.14.0-rc.4", - "@umbraco-ui/uui-textarea": "1.14.0-rc.4", - "@umbraco-ui/uui-toast-notification": "1.14.0-rc.4", - "@umbraco-ui/uui-toast-notification-container": "1.14.0-rc.4", - "@umbraco-ui/uui-toast-notification-layout": "1.14.0-rc.4", - "@umbraco-ui/uui-toggle": "1.14.0-rc.4", - "@umbraco-ui/uui-visually-hidden": "1.14.0-rc.4" + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui/-/uui-1.14.2.tgz", + "integrity": "sha512-aAiQN/pau/uaPoMYm6/FaojzljZvLYNu2Nm4Mm3f+2P1ZTtmTqiVYv56C4NPvSnF3CIRh5roiyY7cHZCNoYqTw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.14.1", + "@umbraco-ui/uui-avatar": "1.14.1", + "@umbraco-ui/uui-avatar-group": "1.14.1", + "@umbraco-ui/uui-badge": "1.14.1", + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-boolean-input": "1.14.1", + "@umbraco-ui/uui-box": "1.14.1", + "@umbraco-ui/uui-breadcrumbs": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1", + "@umbraco-ui/uui-button-copy-text": "1.14.1", + "@umbraco-ui/uui-button-group": "1.14.1", + "@umbraco-ui/uui-button-inline-create": "1.14.1", + "@umbraco-ui/uui-card": "1.14.1", + "@umbraco-ui/uui-card-block-type": "1.14.1", + "@umbraco-ui/uui-card-content-node": "1.14.1", + "@umbraco-ui/uui-card-media": "1.14.1", + "@umbraco-ui/uui-card-user": "1.14.1", + "@umbraco-ui/uui-caret": "1.14.1", + "@umbraco-ui/uui-checkbox": "1.14.1", + "@umbraco-ui/uui-color-area": "1.14.1", + "@umbraco-ui/uui-color-picker": "1.14.2", + "@umbraco-ui/uui-color-slider": "1.14.1", + "@umbraco-ui/uui-color-swatch": "1.14.1", + "@umbraco-ui/uui-color-swatches": "1.14.1", + "@umbraco-ui/uui-combobox": "1.14.2", + "@umbraco-ui/uui-combobox-list": "1.14.1", + "@umbraco-ui/uui-css": "1.14.1", + "@umbraco-ui/uui-dialog": "1.14.1", + "@umbraco-ui/uui-dialog-layout": "1.14.1", + "@umbraco-ui/uui-file-dropzone": "1.14.1", + "@umbraco-ui/uui-file-preview": "1.14.1", + "@umbraco-ui/uui-form": "1.14.1", + "@umbraco-ui/uui-form-layout-item": "1.14.1", + "@umbraco-ui/uui-form-validation-message": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1", + "@umbraco-ui/uui-icon-registry": "1.14.1", + "@umbraco-ui/uui-icon-registry-essential": "1.14.1", + "@umbraco-ui/uui-input": "1.14.1", + "@umbraco-ui/uui-input-file": "1.14.1", + "@umbraco-ui/uui-input-lock": "1.14.1", + "@umbraco-ui/uui-input-password": "1.14.1", + "@umbraco-ui/uui-keyboard-shortcut": "1.14.1", + "@umbraco-ui/uui-label": "1.14.1", + "@umbraco-ui/uui-loader": "1.14.1", + "@umbraco-ui/uui-loader-bar": "1.14.1", + "@umbraco-ui/uui-loader-circle": "1.14.1", + "@umbraco-ui/uui-menu-item": "1.14.1", + "@umbraco-ui/uui-modal": "1.14.1", + "@umbraco-ui/uui-pagination": "1.14.1", + "@umbraco-ui/uui-popover": "1.14.1", + "@umbraco-ui/uui-popover-container": "1.14.2", + "@umbraco-ui/uui-progress-bar": "1.14.1", + "@umbraco-ui/uui-radio": "1.14.1", + "@umbraco-ui/uui-range-slider": "1.14.1", + "@umbraco-ui/uui-ref": "1.14.1", + "@umbraco-ui/uui-ref-list": "1.14.1", + "@umbraco-ui/uui-ref-node": "1.14.1", + "@umbraco-ui/uui-ref-node-data-type": "1.14.1", + "@umbraco-ui/uui-ref-node-document-type": "1.14.1", + "@umbraco-ui/uui-ref-node-form": "1.14.1", + "@umbraco-ui/uui-ref-node-member": "1.14.1", + "@umbraco-ui/uui-ref-node-package": "1.14.1", + "@umbraco-ui/uui-ref-node-user": "1.14.1", + "@umbraco-ui/uui-scroll-container": "1.14.1", + "@umbraco-ui/uui-select": "1.14.1", + "@umbraco-ui/uui-slider": "1.14.1", + "@umbraco-ui/uui-symbol-expand": "1.14.1", + "@umbraco-ui/uui-symbol-file": "1.14.1", + "@umbraco-ui/uui-symbol-file-dropzone": "1.14.1", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.14.1", + "@umbraco-ui/uui-symbol-folder": "1.14.1", + "@umbraco-ui/uui-symbol-lock": "1.14.1", + "@umbraco-ui/uui-symbol-more": "1.14.1", + "@umbraco-ui/uui-symbol-sort": "1.14.1", + "@umbraco-ui/uui-table": "1.14.1", + "@umbraco-ui/uui-tabs": "1.14.2", + "@umbraco-ui/uui-tag": "1.14.1", + "@umbraco-ui/uui-textarea": "1.14.1", + "@umbraco-ui/uui-toast-notification": "1.14.1", + "@umbraco-ui/uui-toast-notification-container": "1.14.1", + "@umbraco-ui/uui-toast-notification-layout": "1.14.1", + "@umbraco-ui/uui-toggle": "1.14.1", + "@umbraco-ui/uui-visually-hidden": "1.14.1" } }, "node_modules/@umbraco-ui/uui-action-bar": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-action-bar/-/uui-action-bar-1.14.0-rc.4.tgz", - "integrity": "sha512-zESDURH6TbAPOs3yV7KtLJ1XbDq7EWUwFgZ7jn3thu7Ue0LepcV+BoqyaYZgisUCig/wkp3xc0HPddyZHn5uZA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-action-bar/-/uui-action-bar-1.14.1.tgz", + "integrity": "sha512-EEYN9iF3kFZa4glujIZ2aMvQavis7/Y2WHpVlazZpD47Q1XA1mK6g31R0azt/MSCwulOp0WYYVB7wSHR9i8v/Q==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button-group": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button-group": "1.14.1" } }, "node_modules/@umbraco-ui/uui-avatar": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar/-/uui-avatar-1.14.0-rc.4.tgz", - "integrity": "sha512-q7FYC/njV+w0al01Nsaw42KeLVsOKjjqtCnuB7GUGgCEbbXFXIUjrbeg62feyC6KRM1x+1qqqO+JIDWeGUFspA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar/-/uui-avatar-1.14.1.tgz", + "integrity": "sha512-FmHWKw6XPdL5T1Lb1JaEiueIic1ONTsTZx9DWqTuUtwDz85P10E0HJW0zQA7jcvAoNhVBvj2/mJboB6MK8EPJw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-avatar-group": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar-group/-/uui-avatar-group-1.14.0-rc.4.tgz", - "integrity": "sha512-HcuGGYvssq24qipPH1mn46E7QD1WyWL+GBNvlI2GmTrgxxcQKIDpqaiFOrLSM90mTLVBnZkhkoQ4Rf/Fb+OKEA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar-group/-/uui-avatar-group-1.14.1.tgz", + "integrity": "sha512-0HLJ0oU6v6Pp470wclTIB6zk84jLJJuNEOxcSJYkReXEAenNyydgjdq2gG5rnImJeiwtn9cqCHcv0XgZnMiLPA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-avatar": "1.14.0-rc.4", - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-avatar": "1.14.1", + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-badge": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-badge/-/uui-badge-1.14.0-rc.4.tgz", - "integrity": "sha512-nVq4qvsZVIieq2qpNTgzrytkKNF4/3VM2qxgzOsyRC/u0bc+hpGtIenzQDUuwgcUC1kkLPii40dXTu6fVVCGHg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-badge/-/uui-badge-1.14.1.tgz", + "integrity": "sha512-PtjLNwjAYZfX07ZYbI5SQOLzD6Z2l6eTEEOmMBEjd3T+1oFVoq2m1TtvMjGmcIjABQ89H9GIYkiQgOGk31CG1g==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-base": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-base/-/uui-base-1.14.0-rc.4.tgz", - "integrity": "sha512-UXBJ1o3fdn/aGKY/Nn597EzTHxrPVsEg/gjcnRQi5u+NKEf38jXAHQ8HZsjDpfIgxnkFg2PztLQaZcapgEEOjA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-base/-/uui-base-1.14.1.tgz", + "integrity": "sha512-N+Gkcuu2raF79EACVpEhgWXxfohnuKqmVytTXyAh8N2QmLGaUPiO7/NDknOLgbY3lf9be2VyEaQ5N931zDBcVQ==", "dev": true, "license": "MIT", "peer": true, @@ -1617,265 +1639,265 @@ } }, "node_modules/@umbraco-ui/uui-boolean-input": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-boolean-input/-/uui-boolean-input-1.14.0-rc.4.tgz", - "integrity": "sha512-UBeRk80W77iojie9NQIu1TTT5p4oghU4Vf497y1vglsuXFkKTawH/0kYOzDuapJMyMraAtUqOA0hwugrFY1T/g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-boolean-input/-/uui-boolean-input-1.14.1.tgz", + "integrity": "sha512-GwQePrMnHV7r6JFUKgYZzLfETEyAOK5SimSEZ4N+VMdpEqtmjqMXUJ34Te5Y5ca20ZK1ACL4cs/Dgz76af9Yaw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-box": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-box/-/uui-box-1.14.0-rc.4.tgz", - "integrity": "sha512-u1XQYgG/UIrNPEhIjR7e8e8lLkp5M/Ao7zIgm3BleNkYHAQU2NQqb2bLowyjpT5GrufWrW2jmVO8pVJ66vyrxw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-box/-/uui-box-1.14.1.tgz", + "integrity": "sha512-8YULja9KMOhpBigqOgZi0NunobqJyesKmYWGmrHFFdifbh9kTrGyP5eES70etNAfiqC1gLJAcynPd9fmcAzYAQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-css": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-css": "1.14.1" } }, "node_modules/@umbraco-ui/uui-breadcrumbs": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-breadcrumbs/-/uui-breadcrumbs-1.14.0-rc.4.tgz", - "integrity": "sha512-pt1ZA7XrpmXJctitb+UPhjdAqEQa5E/tDtaEQbW/wTK/iPC6dv6BnHdThlC69FvhddIng2PPgbXeBojjx9Pk6w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-breadcrumbs/-/uui-breadcrumbs-1.14.1.tgz", + "integrity": "sha512-0Llsq8J/SUH+EbxcY5kmkAzCtsxVCq9H0HBDJ/YsOF6wl8imAouvuwKBCUPFNGsGXncsVEpQfpMkzNw/5VR+Qg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-button": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button/-/uui-button-1.14.0-rc.4.tgz", - "integrity": "sha512-lmYxADppNZW+4Rg5XIqWFrMd8EQ65h+peCedx/tjJ4gERq4uTl5iw/INWLGWFqPhNgye8ZH3oSsHa4VUPSCJJg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button/-/uui-button-1.14.1.tgz", + "integrity": "sha512-2nll4AVHqbp0UFkbc7oevMqG2ZnfM3mjV/YpSsGzJBqsNefP3t0vbcTQ/Fp11j4MWOgaFiLQR7Z0YVFMZ5qn4g==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-icon-registry-essential": "1.14.1" } }, "node_modules/@umbraco-ui/uui-button-copy-text": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-copy-text/-/uui-button-copy-text-1.14.0-rc.4.tgz", - "integrity": "sha512-+9GHDLSPpb8rRVDLZMwCg18I16m3eos2mg+f0dRbHTZOrYgeAkk+QsFdy7sTQVj2cgML0JXrDg8y5N1eihce1Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-copy-text/-/uui-button-copy-text-1.14.1.tgz", + "integrity": "sha512-kfJFXdNr0nsXNFkNrwDbx0k9cA8E2YV22Vm9vz3fmulcBJyJW+fs6MW+k8JJMiSvXfMPZOPxmQKG4mTFl9x6pA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1" } }, "node_modules/@umbraco-ui/uui-button-group": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-group/-/uui-button-group-1.14.0-rc.4.tgz", - "integrity": "sha512-Cb5faAo2ln3KFgQ1xA+l4KvdZJ2dQ6ThjUWUe9uYdhS/9w2IfUOzkIJsUCXCpzhUU0kSuJpo1AfX8z7XkrVUUw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-group/-/uui-button-group-1.14.1.tgz", + "integrity": "sha512-oJpp3U7Ec5sl304PbhDB/pCXLKkHMJ4bYSLr9kngi3eU1n66RCVpRFNSowBuo/ciKgWWNoTcYPJCcimamd6OQQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-button-inline-create": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-inline-create/-/uui-button-inline-create-1.14.0-rc.4.tgz", - "integrity": "sha512-D5nXcswss/4IOzXbQF1dRsLH7hHwaEkVmiqZd21421ZrxGJ7XejeM3s4afe3AkVDi+wAyS4kl2e2K7/8lyiNHA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-inline-create/-/uui-button-inline-create-1.14.1.tgz", + "integrity": "sha512-q92E/jfPRSQN7+pgWpq65mTuIGvdJ/M+Kp23ru4ziTLRTkLiGp2ULKwICP+G2RsrfLfGzjmrSzjbTlhC5C13lA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-card": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card/-/uui-card-1.14.0-rc.4.tgz", - "integrity": "sha512-57lXGDrFUc0uuS2G9csLpRhFJyJEt2SNvc38/RTlE8liDL1KrtZk5tbsx8MNlq48e01q80zn64hy4Wu4Rxox3w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card/-/uui-card-1.14.1.tgz", + "integrity": "sha512-cfvoUvqgG4lYwNgq0X0iVIj1OJ03cEmLqrWnChUDULFu4JKwO+CDUeKK1R75t/QNgPoR569bDuXaWJ8m56LoBg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-card-block-type": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-block-type/-/uui-card-block-type-1.14.0-rc.4.tgz", - "integrity": "sha512-5GDFxbUiJrGaxvCjGAfGojtCc+t8wQFRxLPZnEKDuI5fFr87WvRBd84HOdXCZs9/6jR+N+ZvIWSkEysVwVlHYg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-block-type/-/uui-card-block-type-1.14.1.tgz", + "integrity": "sha512-dl9Hxa56Z+te3/oAiRFZLTsSjr8YTGKW/u1Gz8lpuU7qQzGXwZkwNQt7S0GHd4BnUwulS5sfa2V2c/IXFH45oQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-card": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-card": "1.14.1" } }, "node_modules/@umbraco-ui/uui-card-content-node": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-content-node/-/uui-card-content-node-1.14.0-rc.4.tgz", - "integrity": "sha512-v7ujHGkDkk9/RwxFWtO0FGoVdR6kHGfvtZ05udl5hRVjcpR6u8Jij7vylSizOBF7kW4j7IboN+vgAbwlsJ0BYw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-content-node/-/uui-card-content-node-1.14.1.tgz", + "integrity": "sha512-56zGxxZ8hGrMJePgBh11TTLKxUbDYqtiX4DhTaImACVp8H/jK6bWGvrmIK3dlq0IbK82mnanHYd3IxCiuZejxg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-card": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-card": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1" } }, "node_modules/@umbraco-ui/uui-card-media": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-media/-/uui-card-media-1.14.0-rc.4.tgz", - "integrity": "sha512-3aeWUeJgDDD+xahHiZdsdBzQTvuXyBDIlFPFa2vNDEPJ7VRU31E1FlZ3zr3B3MNZtB30HcuUKTilUsTkmX3D5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-media/-/uui-card-media-1.14.1.tgz", + "integrity": "sha512-6/XJSaJT3Px4FrkArVQeRvkBUyoWhIDJCZAxbrvWsFdpEhRxqkLZdzqCeTdcWfZQf228ijKW7z9Fqvdaf2ZTqw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-card": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-file": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-folder": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-card": "1.14.1", + "@umbraco-ui/uui-symbol-file": "1.14.1", + "@umbraco-ui/uui-symbol-folder": "1.14.1" } }, "node_modules/@umbraco-ui/uui-card-user": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-user/-/uui-card-user-1.14.0-rc.4.tgz", - "integrity": "sha512-jf/gisfoE17A1aSyUUCUkAJ72RlkZTorKFyHbw4uhQBOY9su3twHK7FfpdVfvhPTT1WiLrIj6hJfT4LvsTRIYg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-user/-/uui-card-user-1.14.1.tgz", + "integrity": "sha512-yoyOuKpzWghuVY7j5AZJLTmmzM1+4EHTqSxbDG04Bi0RM35+o9Rr8m0rEyyov/pRPSn47dpzUFHWxbrYJojSxQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-avatar": "1.14.0-rc.4", - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-card": "1.14.0-rc.4" + "@umbraco-ui/uui-avatar": "1.14.1", + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-card": "1.14.1" } }, "node_modules/@umbraco-ui/uui-caret": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-caret/-/uui-caret-1.14.0-rc.4.tgz", - "integrity": "sha512-3leJJlN4vBomZr4Y382nQ44/meeQI7mD+pjz/GRqmDagRAezq8olql0Z+3FEXJjzm7ycz2TtP2Fjn7L2nUulBQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-caret/-/uui-caret-1.14.1.tgz", + "integrity": "sha512-6z+ZGNQtpGs4wwg5jO91QUGqywJuDkg5QL4oXC5gaXlsf3SGH7Qc4hwsNiNjkiFjUmfIR2cafGtyZeziWjAIvg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-checkbox": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-checkbox/-/uui-checkbox-1.14.0-rc.4.tgz", - "integrity": "sha512-p69yFqM8UEGmDWC1XVcKCY7htsF1vxPBO8L6YXGKNExLxwv/DLAvmLtIa8tnqX5M/51DpZ41SoDDf7Kl0kd5HA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-checkbox/-/uui-checkbox-1.14.1.tgz", + "integrity": "sha512-xabQds7W7BXkFtIomPq+HSzOitZiYRPB1v/GN/y/EtQ/f6/zUAiLvE3IJZx8hIgF7Z75RkTANRF5GhPQPN+Cwg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-boolean-input": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-boolean-input": "1.14.1", + "@umbraco-ui/uui-icon-registry-essential": "1.14.1" } }, "node_modules/@umbraco-ui/uui-color-area": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-area/-/uui-color-area-1.14.0-rc.4.tgz", - "integrity": "sha512-4XbHjgAEnefVyw9xBeKIuy6EEKRORFIhekRwhmvGsr3kqbhG4TMdZzhT4BSBi4mfVVa+VMiZ+lMhkT6eeDoKDw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-area/-/uui-color-area-1.14.1.tgz", + "integrity": "sha512-I7O7XH/VWHROywwudJG1Z5mgarlabpZXUoRdeqCfBwtbgIstO+Nh812eGwCEyISBeNOuPUKwM1aamAG4XBRQ9A==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", + "@umbraco-ui/uui-base": "1.14.1", "colord": "^2.9.3" } }, "node_modules/@umbraco-ui/uui-color-picker": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-picker/-/uui-color-picker-1.14.0-rc.4.tgz", - "integrity": "sha512-vD+k43g/iyj5MDbs7v1e4AWTih8Q3bMoJZnyEoS1IrhZ3l1QnzxmvFRAs3kZQLBzCBUct9vWG88uvavygU5j4g==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-picker/-/uui-color-picker-1.14.2.tgz", + "integrity": "sha512-0YWyrhALzg3WRT+YoMpgT0OjuT+5K3wo65fA97EHno+KKzYIbpytxqGnkRwn2A0qVwHsuytC2yzXMLO7t+6eTw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-popover-container": "1.14.0-rc.4", + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-popover-container": "1.14.2", "colord": "^2.9.3" } }, "node_modules/@umbraco-ui/uui-color-slider": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-slider/-/uui-color-slider-1.14.0-rc.4.tgz", - "integrity": "sha512-H7N8ep0L8GxUEChyFa6eFFzuR8yqppqeIuBNujLPhtl6aV1hV7V4wBnp2Wh5ttWtt5Ns/VMW4ZKzfrlG7f6JGA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-slider/-/uui-color-slider-1.14.1.tgz", + "integrity": "sha512-DmzE/D20HtvVkYgw5imbjyuJfIooZMxM2ViqemzwlnWUiuEkGLOdzEybuwHLa2leMlNmhWHotUN6JRK/0L7hSA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-color-swatch": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatch/-/uui-color-swatch-1.14.0-rc.4.tgz", - "integrity": "sha512-dUFJk1/xD2W+ztOb+4QRGU6rgnXP4HvGZhg6V6B1qd15MU+9flSMri9HbxuclVmR9cqt3kuO6bwajMbp6Q2aTQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatch/-/uui-color-swatch-1.14.1.tgz", + "integrity": "sha512-PMlNKgCuVgfhUgVjtLVbaLQYcPGQMIs8d33EI0l1422MJtkp2ecn9xqJ840r1t+8Ly5OrANc6PPPr1vTvdV+wQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0-rc.4", + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-icon-registry-essential": "1.14.1", "colord": "^2.9.3" } }, "node_modules/@umbraco-ui/uui-color-swatches": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatches/-/uui-color-swatches-1.14.0-rc.4.tgz", - "integrity": "sha512-aGvlKkW2DebrS51itO7JzGTRPyUrDmOYS6QZQxs03BDLMfBcmBBRBDnKN4Prx7fEbioC4bXOBPTwH73R06j2Xg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatches/-/uui-color-swatches-1.14.1.tgz", + "integrity": "sha512-8R2iKw62ZY8op+ONOQhpblXO44jKF4tulfFniQznGVBOcIa4PZHn/Q5TYNFTzXp+EUNaZsR7pcuna313yxYTow==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-color-swatch": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-color-swatch": "1.14.1" } }, "node_modules/@umbraco-ui/uui-combobox": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox/-/uui-combobox-1.14.0-rc.4.tgz", - "integrity": "sha512-GI+fi+jnX2Ihxwtsmk0QtsDZKQICtP7hrSv4dyMSvbXmACT8X31tKLvkzEE+/UyJnVbWKe3M5dkFaoM0dFsIPg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox/-/uui-combobox-1.14.2.tgz", + "integrity": "sha512-y+tBBR+nZrt3A8n3iMQLkRJM+GN62/E34YfR+UoY9HdziT9wKTeNxXWSM2VmJa5GkYqvKaFf2R2PQiN4v3HRBA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4", - "@umbraco-ui/uui-combobox-list": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4", - "@umbraco-ui/uui-popover-container": "1.14.0-rc.4", - "@umbraco-ui/uui-scroll-container": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-expand": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1", + "@umbraco-ui/uui-combobox-list": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1", + "@umbraco-ui/uui-popover-container": "1.14.2", + "@umbraco-ui/uui-scroll-container": "1.14.1", + "@umbraco-ui/uui-symbol-expand": "1.14.1" } }, "node_modules/@umbraco-ui/uui-combobox-list": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox-list/-/uui-combobox-list-1.14.0-rc.4.tgz", - "integrity": "sha512-c996vWj/fCzaxn/P7JlmewG11UiJt0HuB7X+dq6mIrxOiGPYOLoM/SVg3z3g8+jiObkeJHn2IaXTd4wIL/OQyQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox-list/-/uui-combobox-list-1.14.1.tgz", + "integrity": "sha512-mc3I1Rwydmu+emSPuLBr6LeX6tGsEip28oHp3RSveUrEo+BaCIOhTH4yZRD+kXC3KqYMd9LaNldmSbndAALI1Q==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-css": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.14.0-rc.4.tgz", - "integrity": "sha512-nZZ9HCPh9SpS1ibxvJHhEcWW5hB4xmCev9p4vCvVBwsvnGAs2pyDaJJUwbMzs1LOPUP/AbohM3g1R6y1gGgFrg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.14.1.tgz", + "integrity": "sha512-J5wtUKx0gCc4K2R6wkXk6pQJEJzy8M5a/npOignp0EcHxoOOLHQyoTQoS6TffK1FBFD0QwrsiS7fHyJFRbWaDA==", "dev": true, "license": "MIT", "peer": true, @@ -1884,659 +1906,659 @@ } }, "node_modules/@umbraco-ui/uui-dialog": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog/-/uui-dialog-1.14.0-rc.4.tgz", - "integrity": "sha512-9O65Hxgj6BTVfhB04KxpXvJsVCJa9ScfzIMN71nbPf+IhZ/iM/2k3dO29BCtW4oSyw64Fu43idq7y5sktSSZcQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog/-/uui-dialog-1.14.1.tgz", + "integrity": "sha512-hUSZLCxS12SXJnx4NSO7MSZOOPYLF61lZk5SFz3z1JMqsAjn06Rj9rWaM+Yol4LFlJdio1jmQn6KzwlQblW/Sw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-css": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-css": "1.14.1" } }, "node_modules/@umbraco-ui/uui-dialog-layout": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog-layout/-/uui-dialog-layout-1.14.0-rc.4.tgz", - "integrity": "sha512-4DGWIoKWwI0pDz7+E2s0RDojYXngxYFGvcPnt4p+GfBQUkjOdoinIE+rsQkoQcZKs5mw8604exXkp1DmvaZaLg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog-layout/-/uui-dialog-layout-1.14.1.tgz", + "integrity": "sha512-7G+8U8iYYTkiQruljL5focZgSwVaw6AeWFfIETaSqCsOjqtM8QnrcHXMDuncbPUDGe01B7EI9fMC3PpB+jTLzg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-file-dropzone": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-dropzone/-/uui-file-dropzone-1.14.0-rc.4.tgz", - "integrity": "sha512-gmDgk8Tzmnmf+YUiEvDKskbgdFKvyfcCRfsW6TEdmFMmWAKEn8A52mg/AprSZB6ReoWLsIHFxhmggeIPbt0QHQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-dropzone/-/uui-file-dropzone-1.14.1.tgz", + "integrity": "sha512-KSYuwmvzUNA3fUp/zRmhwE7jL9Q/FEIvoI1Wx01mRtodOkDaEnntYUwwAko0cGw8boVQ9IkS00771TXxKX0dbg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-file-dropzone": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-symbol-file-dropzone": "1.14.1" } }, "node_modules/@umbraco-ui/uui-file-preview": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-preview/-/uui-file-preview-1.14.0-rc.4.tgz", - "integrity": "sha512-BeZ2AlEwqHiycgaspWqHdjeDcA3Uv84ZwxxPrlXXO5gshND3S5B6q7xkWe92KCGLvAAB/0sEe3kLfFS82AciiQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-preview/-/uui-file-preview-1.14.1.tgz", + "integrity": "sha512-kJy5HPLakwDKfRz9Z2kX/ZrpFNws/6jq4NXCC9OhBqZ87NHM/OZQ5wY0AwUFbwTHu3+HlJXhKPUQ8kcfnxzh0w==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-file": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-folder": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-symbol-file": "1.14.1", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.14.1", + "@umbraco-ui/uui-symbol-folder": "1.14.1" } }, "node_modules/@umbraco-ui/uui-form": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form/-/uui-form-1.14.0-rc.4.tgz", - "integrity": "sha512-D/yHES83/gCUoUbpW7CvokDjCEm8Delo1AM718SoCPOJNt1DyUaQtMJ+MPlfnJCJGelcnOSGCKOsPpCdTBQZlw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form/-/uui-form-1.14.1.tgz", + "integrity": "sha512-hgdJygXYJmTzgkdao9XTnFmBGg3vUSmCsJGyKbx94yScvb0C/kf1tHQj1qTRfoRH+dn35G05DIvYWTTGPtfKjg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-form-layout-item": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-layout-item/-/uui-form-layout-item-1.14.0-rc.4.tgz", - "integrity": "sha512-M8UczkVX9c2U/sc+cPuZ0YUBTyKpHwN3wlv/R2XaBE3mA6gKV/N3cRMDvNz9g7KBeaoAvREbF2LM8XxfC0v/tw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-layout-item/-/uui-form-layout-item-1.14.1.tgz", + "integrity": "sha512-1jZCT8A8SMLJgXu06gTCIP8olT9ycplRMNwJnBw5BO6mH4IM1z1A2gS353W1nEmxghxHHLOkFj0YpRAVZ7SYFw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-form-validation-message": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-form-validation-message": "1.14.1" } }, "node_modules/@umbraco-ui/uui-form-validation-message": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-validation-message/-/uui-form-validation-message-1.14.0-rc.4.tgz", - "integrity": "sha512-tZ48nDLldzkxQgEK7bmWOzqKRtSCMZbY68wnr4jNhPgRj48NMHkOwA3bzdyVpEXkQCO7kRvsNcxIecbS3TUhyA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-validation-message/-/uui-form-validation-message-1.14.1.tgz", + "integrity": "sha512-IWs4bIysbgl9V614BGIAPIDVmbNc1XRVWgrmtcDbIqXICWEZJVGoG24p1vatq2MUQzvgjyuqhWYbKNfeyvxYWQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-icon": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon/-/uui-icon-1.14.0-rc.4.tgz", - "integrity": "sha512-U+2Gh1N6kAtCFVFkSnh6GmYf0ZQhX1KFlBKt7KIZ/uw4LMop2qLnOz3V0GLKsHwWGMAUuDpdveAHFS3MCVJ4Xw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon/-/uui-icon-1.14.1.tgz", + "integrity": "sha512-8AeS20Wi46vHiDJ5piv7LeFHrGK+Thuvairhv32SR0EuVDS12treR2Bq2HdFLBrKH6JUVLN2C8XeN7xOoR89oQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-icon-registry": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry/-/uui-icon-registry-1.14.0-rc.4.tgz", - "integrity": "sha512-rKX5YquEU8Hg9MpPJTKvLjl6OH/S/EojGWnSfXpWnTDT9zWdeNzoJwubae0MILmlcMDnMoI1pmcASgfdHpFZWw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry/-/uui-icon-registry-1.14.1.tgz", + "integrity": "sha512-VwQy66wjEHSd1ZeGuUikcRLnPGUaVOC1ZZ+3xeVF9yyt0HlHM5oC8wWFyXHA38rfeJqZZJu43vi/SigUnfD62Q==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1" } }, "node_modules/@umbraco-ui/uui-icon-registry-essential": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry-essential/-/uui-icon-registry-essential-1.14.0-rc.4.tgz", - "integrity": "sha512-M9jV2buP2+C5GLzixXA87rCuZy+32GAi6/Q0W6SGzBHIzHQhNU7R6xbIeIc/Ki/i1lVBghXJ1JrvBL6Qjom31A==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry-essential/-/uui-icon-registry-essential-1.14.1.tgz", + "integrity": "sha512-AxQ8HhZ5q3oXBHneEqW6krLeodCHEPbNgKxukF/xt4PPTOm1twrL/Li9k4RmTnv9IbM/tjcnEXRsBT2PDxJYAw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-icon-registry": "1.14.1" } }, "node_modules/@umbraco-ui/uui-input": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input/-/uui-input-1.14.0-rc.4.tgz", - "integrity": "sha512-zxWvaaAwZ7Rihe+Ca/ezGZmoNRl0jzp6Tls20vQI/CRHQGR+anJiY4JmsQZbErMOtUib7o04REGZdfEzs1vJ7Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input/-/uui-input-1.14.1.tgz", + "integrity": "sha512-17JqrblBduXemJZkV5hvYk11TmMgfyCVPBeZo50qotgfC9Pj1m3LRUiTZ0ANMP8VG6Pnur8LxXUJbXSdLqeNVw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-input-file": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-file/-/uui-input-file-1.14.0-rc.4.tgz", - "integrity": "sha512-mawTTpQG/hU3+Ug5cDpCmJjsiFzv1KreQ+TRQTcWx4lkGjgAoOECXuZMXTq3Clg34aCf63aGlafSlDI3z59J5Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-file/-/uui-input-file-1.14.1.tgz", + "integrity": "sha512-1PNmly2DqvmjqUUPR7zIfdL8SvAQNK5BQnXuVobWEYL7b2om4yin2ZAtvSRrNWq5GfvY9WaQ8yHMutPIGjIq3Q==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-action-bar": "1.14.0-rc.4", - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4", - "@umbraco-ui/uui-file-dropzone": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0-rc.4" + "@umbraco-ui/uui-action-bar": "1.14.1", + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1", + "@umbraco-ui/uui-file-dropzone": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1", + "@umbraco-ui/uui-icon-registry-essential": "1.14.1" } }, "node_modules/@umbraco-ui/uui-input-lock": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-lock/-/uui-input-lock-1.14.0-rc.4.tgz", - "integrity": "sha512-TUCh15WKDqbz10KdLzIOo2POcYYreQvwcicGx6H3jyLrZZwttE4VP8xZPBln7C7sewLCJNtH/gw2YeLLJDzTmg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-lock/-/uui-input-lock-1.14.1.tgz", + "integrity": "sha512-z3VjqUB8aaXqmu4QVzRXLtUPcr+9OokEbswK8mXDgYNoBFuIqr7LNM8+Bwtt3Yr1E90+8RI3ATby9nqiIQLeDg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4", - "@umbraco-ui/uui-input": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1", + "@umbraco-ui/uui-input": "1.14.1" } }, "node_modules/@umbraco-ui/uui-input-password": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-password/-/uui-input-password-1.14.0-rc.4.tgz", - "integrity": "sha512-rcRLKVPyUkZUUk2r5yeURfP57tw/KMZeMg3rYNXZszRTE+i/WDpoRBodzt9xvfKKnbYjsoZ6VZ83L3c0CUeMrw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-password/-/uui-input-password-1.14.1.tgz", + "integrity": "sha512-7S5iZkSFlWdYt7SsOGnXNrrTv1bXHpG6Cg/8xIxUD4cqbz2ckr8NrVCtkyELlJPuJqUMg08/WwY2Pr8RumBScw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0-rc.4", - "@umbraco-ui/uui-input": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-icon-registry-essential": "1.14.1", + "@umbraco-ui/uui-input": "1.14.1" } }, "node_modules/@umbraco-ui/uui-keyboard-shortcut": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-keyboard-shortcut/-/uui-keyboard-shortcut-1.14.0-rc.4.tgz", - "integrity": "sha512-Tcy1EUQTob8Ds/5hAfG2iMHsrVwrS12fjzRy+p29K8BUhnp87JgJ1OJt6W3kQHQskLQlYb4/ZSIaBBD5pEEPEQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-keyboard-shortcut/-/uui-keyboard-shortcut-1.14.1.tgz", + "integrity": "sha512-XVeiahiUazGssS0/Wfhjnlg5nshWXwMjVY1IvfpUm3g3576NA4mMdeN7F7/8e6mVAzxLDx/xNG5VJA5nsIkpqQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-label": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-label/-/uui-label-1.14.0-rc.4.tgz", - "integrity": "sha512-YfRGdCqFaJk6Cguh36mxrHfScbtrIKpxfQlCzwjfZ8DcxXh6cYYSZkQkWHrbjuiDWG/8853FrKUA36lV2oGItA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-label/-/uui-label-1.14.1.tgz", + "integrity": "sha512-or860nfJ0QTZAuKp8l8HIcmuFlJhGCk1mxvLxQVSQav6NSIuQ8WBvI5rDoFi2gAFfhYYFvudpvkgVmqCCRZ7bA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-loader": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader/-/uui-loader-1.14.0-rc.4.tgz", - "integrity": "sha512-DovO8MVZV29ZivLDWgHYPrHLxJjJLS261RnFDJrIxflVfE0E4S60T9/3IE3pQT/ztUf241uq+ddNICNU/7vbTw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader/-/uui-loader-1.14.1.tgz", + "integrity": "sha512-U3z7mAei2BZqFqYImegzQeG3Qg8tCvlG7GcCR4vj8eQ8L3Y8EqRTI3cF3Izx4GranuJjTJ45HEw/lhMvZU5xlQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-loader-bar": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-bar/-/uui-loader-bar-1.14.0-rc.4.tgz", - "integrity": "sha512-TPWAoZ8WJiQXYo2dpuOCltq5npTOt+h+ahaQwkQpk9wNAwTr9y299HxiOK4c26efHGQ+9O797paCMi7knNgW+w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-bar/-/uui-loader-bar-1.14.1.tgz", + "integrity": "sha512-crzU1MXPN3gVwCGJgRt8Y7qY99jrHSMZlrM9lybqmqmjD3dOW+lEcZjP5zxoCMC2D1JY0gk0JB088FIzsB9hRA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-loader-circle": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-circle/-/uui-loader-circle-1.14.0-rc.4.tgz", - "integrity": "sha512-MYVvbs2az+hA7gAfjLR+gu1VuILzC/zsAZtTuNCpMoFozvp5BirWzme9DGYlMD6hlW8pTSLdE9SOV19+ptK7yw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-circle/-/uui-loader-circle-1.14.1.tgz", + "integrity": "sha512-aCPtJmA5mfo9cf5hV34cSY3J3c4ttffnV/I4FVZ9Lm2kja1IzUSx197a88nZoA6TngbBq5ZPeNomwqSjpxM5hA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-menu-item": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-menu-item/-/uui-menu-item-1.14.0-rc.4.tgz", - "integrity": "sha512-FXjNrrpBUUkF7t7Q9ikT+Mw3DV9QvEsMF2XPl01XI6zhsCEZDvp3OxNLlWkkhv99Scf2teZqdulLQ8A+LmkwqA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-menu-item/-/uui-menu-item-1.14.1.tgz", + "integrity": "sha512-AURyV7i0ydKeYNiz6yI9m3bFXFfbKIKNkicyznobxscr36HmQGEN+reVXnRL4cbW/NNgSvIC8BM///a5cQoyfQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-loader-bar": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-expand": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-loader-bar": "1.14.1", + "@umbraco-ui/uui-symbol-expand": "1.14.1" } }, "node_modules/@umbraco-ui/uui-modal": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-modal/-/uui-modal-1.14.0-rc.4.tgz", - "integrity": "sha512-Qq/WQbHahMIyZ2wnmrR98SV2fc3iE3AXySFXbL7uEB5M3pmU8SC1JpLGA90/B5lDSyttA64mbqdces1vzxPvaQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-modal/-/uui-modal-1.14.1.tgz", + "integrity": "sha512-b0vxoawsZkj701fwLeVdUOd95TlXqZOwwWecTFxPj2ttQw54ReCziABbVGlYuJso6Ze/dR3rflR2i73EhYhiyw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-pagination": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-pagination/-/uui-pagination-1.14.0-rc.4.tgz", - "integrity": "sha512-JaPFK/IIr4bygmTftEUv8iV0GVfWLez+/YvNDRii9pViE0nn4MsF20PDUpu1CN3XvYOCqqu5ptFnmwIWhXf/Mg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-pagination/-/uui-pagination-1.14.1.tgz", + "integrity": "sha512-DDKiypckWLQw5/qpheyxkxho0wlo9AtMHvxovUzjjuhTY9tZ6R+2SF9rJdzJuMWINOx/h9YZ+damKubLSpquYQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4", - "@umbraco-ui/uui-button-group": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1", + "@umbraco-ui/uui-button-group": "1.14.1" } }, "node_modules/@umbraco-ui/uui-popover": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover/-/uui-popover-1.14.0-rc.4.tgz", - "integrity": "sha512-UGBplMad24pvornzgk3xBACl/DszLlwIl+I4+fRWknLpIgwjFnQHhD/ary7RbjJncfC78GyeqogVapRITc4oRQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover/-/uui-popover-1.14.1.tgz", + "integrity": "sha512-fVEsj8UZREw/JAjAIRJWm3P8ncpuhx2FNSKR/3FaQxOcXNRJx0EQWkEpSV7AMxUADcpQH5xqEFL74MqaREuTGw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-popover-container": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover-container/-/uui-popover-container-1.14.0-rc.4.tgz", - "integrity": "sha512-nZCyIQOMmBwgOPFWedsoUhxiKr5+i7P/9x+WYRPjDouu1KwW85y3D50j2ELQRZ5jSpt16KrF29hucxTKMmYrHg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover-container/-/uui-popover-container-1.14.2.tgz", + "integrity": "sha512-GDG953hPRTmjeI7rmjNQd0d/LcbwkRneXvCe7FYsT5d8ouUJ+P0GnQiuVd8r0aLN+JSit0mBLF+tfBhKpsSf+Q==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-progress-bar": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-progress-bar/-/uui-progress-bar-1.14.0-rc.4.tgz", - "integrity": "sha512-CZSogzxLbbcfdg9ik3vKrpnGsE2IB0nRZ3xr485QOcFPY7MCVbdVF+z/jicokvjz0MT24k80sAw1/RqD6LZS3g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-progress-bar/-/uui-progress-bar-1.14.1.tgz", + "integrity": "sha512-3YFs5XrxuNOuOVj9pga/QWonq7YVW0kOsUqY79DYyISZysYiZKF+CvoXfx+VcomLW6I8LUa23/nRwtpd3qt0qA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-radio": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-radio/-/uui-radio-1.14.0-rc.4.tgz", - "integrity": "sha512-DtfexpuS2tkrU3xM203nfrJg6CUqFXWJHry4/veuSlO7TBIaMEzhDrfAboyOUvXJF5q5130CmFhN3i69/bgFLw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-radio/-/uui-radio-1.14.1.tgz", + "integrity": "sha512-2ULCr5YZFqXBombaaIrQ1uM8ADIZW+h0y1lEYydkdyICQiRL3qKSqunr8Wkgxr0gtGMZSNH+qALuky+1mIjBZQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-range-slider": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-range-slider/-/uui-range-slider-1.14.0-rc.4.tgz", - "integrity": "sha512-QqFcYCeKwYm6ahwe+60oZs0uzdELMk1zcCcQRHdspze7vx4fqDwYtBL64IjGoKQF/S1T+s3AEq7PG8eqR086Dw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-range-slider/-/uui-range-slider-1.14.1.tgz", + "integrity": "sha512-0aQObWAAzWD1K1Zmeh0OBm251dc0Lg82LygVhNvhMqy7CzUygS/F5bMAFanAQzORfdjeWSoX4rJyzX8bJLOX/A==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref/-/uui-ref-1.14.0-rc.4.tgz", - "integrity": "sha512-DcGm5JYTMFZgWfBPzRp/RgUVtfJ+s1idK5tkwKRgQyXECEbBHXzpXwz/rSiMeiEuWVrS/49vHtFY8YeolzVEXw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref/-/uui-ref-1.14.1.tgz", + "integrity": "sha512-F6OzXuXRbo/gQLXb1c3QiHlaJevq2oFDaOI0lh4DRD4s4cWVpUcJ/4G2AX92GLcPwU+ddPpuDuTCx7nh6egnqg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-list": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-list/-/uui-ref-list-1.14.0-rc.4.tgz", - "integrity": "sha512-OjQlNzCBhJVseV2o99uxSd003tGQjSOpYIlTZT+Dh8Gqfe+6mJSnFwfHMUuLstgFP204i6CEcixtIM0x2Gl9/A==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-list/-/uui-ref-list-1.14.1.tgz", + "integrity": "sha512-g6QgLZ/89BN8eejBeorKo4hHBe2MfAJWEX0fpM4RkpPlrxwltFpvDWCMv7Ge8rzrZocJSzgugm+ZzOOzIX/8Mw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-node": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node/-/uui-ref-node-1.14.0-rc.4.tgz", - "integrity": "sha512-/JUk5L9k6rOQIlIk/wykeTyQZ+pUhSAl6zlzkPjgU2DoLkVTaetfdggmA6NVDsMesZQrxtg+e0UD36FAJtx9Qw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node/-/uui-ref-node-1.14.1.tgz", + "integrity": "sha512-PpF1Sp4VcxHPFF9I7S9WgIjIEt7ogYpGvDxXAuVxs0932LQkWby3Jgzx4xEzwOVVOXxTXKyvzq4t5UD8K3SziQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4", - "@umbraco-ui/uui-ref": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1", + "@umbraco-ui/uui-ref": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-node-data-type": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-data-type/-/uui-ref-node-data-type-1.14.0-rc.4.tgz", - "integrity": "sha512-V/OGX8mRNP/93vZmPdCL8djdicRAwSxPSVTgHJ5QsnCkwo15FfZmjqnIkU162aI4Levgs9B9JFGIgkaELmi7hg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-data-type/-/uui-ref-node-data-type-1.14.1.tgz", + "integrity": "sha512-KY39RAgo76iL/NIQe8ApP1Rt408sfJ5R7UMNyIkKvfr+qRImPIj3VWD5Z5bBooj5MsxLIz8mUbxH77G2BVhc6A==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-ref-node": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-node-document-type": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-document-type/-/uui-ref-node-document-type-1.14.0-rc.4.tgz", - "integrity": "sha512-CVQFGFdoJroLlSkDXajQG1t6gDkxoB2IuldTzqZv3M6rN1/UwjIrChbfFIpMwgRtLwMPKsX8v9PyjYlvjbnJkA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-document-type/-/uui-ref-node-document-type-1.14.1.tgz", + "integrity": "sha512-eIewTOCp5C4h231nMWAFxd5BxOWE3B/1U1xH7sz6pierRGrfY805xsvhhj0XsNZF0dW+C0E1tucRsB6rXNiAcA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-ref-node": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-node-form": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-form/-/uui-ref-node-form-1.14.0-rc.4.tgz", - "integrity": "sha512-JKSSi9XIrNbTjFE9NIYWMfQPjv3zXYwMyCTMwDGc3/qNCPI/1Vp+Q8PVWPX6tHBSPHmMnWb85Tolik7+k+Qtew==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-form/-/uui-ref-node-form-1.14.1.tgz", + "integrity": "sha512-5wRqUnJS/g63uCB8LCJ7+OKE98meEQDDXELMXVxRyQ6PbKG9Zfg9RlYaoX84HsOG91r6zYR2PcU6CEkVHPcRqw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-ref-node": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-node-member": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-member/-/uui-ref-node-member-1.14.0-rc.4.tgz", - "integrity": "sha512-FCdk4TDYITLWU32uQMIxWIPrj3gH7GIj34dOfuKtIeHroUvH1t9blrSRUvbxWo4IS0lxl11g/q+w2Ffy8nBy4g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-member/-/uui-ref-node-member-1.14.1.tgz", + "integrity": "sha512-KwMkeOQJ+4tG5pPGsWIdMKNCmJWqqGpY8nTL/5Z6dY/i8OaZWmk5506hvOLXo6Z/7sdZitk243ZNc5eVNFv8wA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-ref-node": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-node-package": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-package/-/uui-ref-node-package-1.14.0-rc.4.tgz", - "integrity": "sha512-unE0mQkxk0UOPFevU3XWftj4Zg5rtnuvx2T4jvKU63DfwAPvtXjPVyG1Np5z4LLCI3kbTdqigOdoINfRo7L3+Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-package/-/uui-ref-node-package-1.14.1.tgz", + "integrity": "sha512-T7H624F2l/76KXp0F9NhDBV2U/jS2Xt9D3/l5nw5apqPu8LH/r9jweLC33XnFyAtU/eUyjnQyBKO4y3dfRmB2A==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-ref-node": "1.14.1" } }, "node_modules/@umbraco-ui/uui-ref-node-user": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-user/-/uui-ref-node-user-1.14.0-rc.4.tgz", - "integrity": "sha512-TFN+tV2AxPKKlDtnSQYvDkM12D/VISW03SPR+AZwoxBmEycPHT8yEwOY5s3V2wwOEUTOnJ5dOw9SWCgzTXvmRg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-user/-/uui-ref-node-user-1.14.1.tgz", + "integrity": "sha512-OsC74T5HrbrGYzgqphVoT+QRsjiv+6mcVjIZAtvfqU7sDEBOglM72GGhgtsqjQ/oMyc2kAIcZWtlbQbkwIaaFg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-ref-node": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-ref-node": "1.14.1" } }, "node_modules/@umbraco-ui/uui-scroll-container": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-scroll-container/-/uui-scroll-container-1.14.0-rc.4.tgz", - "integrity": "sha512-8o1mRxWjpsfOoZ7itGaTJzvrCWhh1AVZ/cWne6Sh/wfHqQX2iXm9W7TVJ1o5t3fQEbMERFTXEB3tzkb9x+WKyQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-scroll-container/-/uui-scroll-container-1.14.1.tgz", + "integrity": "sha512-ForbIiZtzhP/xWij1kvdduY/CEm3dg3CjsaWT4llJTWnxOwUMc5vT9HXigur/CQs+JbbraajG9mfEEv0O1FNPQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-select": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-select/-/uui-select-1.14.0-rc.4.tgz", - "integrity": "sha512-G7JMfmMdOEGE2BRGfFuYcvDp3hiJdmxR85xvrbi0gz1deB/TvY0pHhHXlXk+kApkQJQveJIT89CjQ/u2AyvbLQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-select/-/uui-select-1.14.1.tgz", + "integrity": "sha512-q4mqmu+TMNbiRY0mI8f+Jcye9Af/P1SCcQLmk1RPf41KGh+/HzOz0RjB6+dugkqbDUk019j2zHTxRD4Ppm/o0A==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-slider": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-slider/-/uui-slider-1.14.0-rc.4.tgz", - "integrity": "sha512-sB+JUieP/oRGOfHonfnSG4mtSPB4SCfOmeFq8shqzR9ucvtaFH75ei/cjYheFabhdxOPIzzC40PMyIBL/nsdBA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-slider/-/uui-slider-1.14.1.tgz", + "integrity": "sha512-arvr/mRfJxrrcNa9ngsLFrp/NXneQlAztPntTYSkrcBbvvT37fqxLDcx/hAiYaJyMpJz1VmlFPp8VXC5X52ISQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-expand": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-expand/-/uui-symbol-expand-1.14.0-rc.4.tgz", - "integrity": "sha512-5+B8L2qeYKIAqjPoAAEqi6qAwxt17iNUwVYiqyidMBh/zis4cDym+5y5ccC/hbuGzCeBHwFWSRBfFpEOPTYrzg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-expand/-/uui-symbol-expand-1.14.1.tgz", + "integrity": "sha512-lhbtxs+XDm32Lb2iOWiv3KwRjxpqCHfCntrRUHbYMDgldFXrfynX5hPSsIxPWSvnRy6ojD+y81jHuXw84ZnfUw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-file": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file/-/uui-symbol-file-1.14.0-rc.4.tgz", - "integrity": "sha512-sC7IeABeoMjxgtMy/HqLCL1Zzm3A5sn7cxHaOztNbI4PO+DRc9rHKq6IIZAMbFgz53PDQvKs/ok2bnlhloFVjQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file/-/uui-symbol-file-1.14.1.tgz", + "integrity": "sha512-s4bvuJ9pwc4TZFBi1QEwijZpFf9x95VKMQCNl8MJ7PqbKJPUUNnpMbWuSJmA5ChrPCju3++wtC25H5XUwD89hQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-file-dropzone": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-dropzone/-/uui-symbol-file-dropzone-1.14.0-rc.4.tgz", - "integrity": "sha512-bYanzwC8H028GoVtHL/lQngPnK4WY1QvOz4oCK9EVzaWsLCAr6ktQm8bEO3LO/vWM/HQJ4nkS7yaNCOc+so7Rw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-dropzone/-/uui-symbol-file-dropzone-1.14.1.tgz", + "integrity": "sha512-9zVztMKfPxGX2bC1clXSbq57+UtoAMvXHzROJjsCdkL6ft8mbkTiRv3ta/0cW2q62rBT77H293YD6GS5CBfuTg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-file-thumbnail": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-thumbnail/-/uui-symbol-file-thumbnail-1.14.0-rc.4.tgz", - "integrity": "sha512-pqut/KGBor3csD+Zvj6CRGRerhXcS7/UTAcEQSTWjhpohz5iTPd7sLRuuUAdWcAEAkNQXykbJuhuQ9GhoQKjyQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-thumbnail/-/uui-symbol-file-thumbnail-1.14.1.tgz", + "integrity": "sha512-BaYy8EwQ83au4Z33wiA1hpLBSB3L4wEQfhs3qCEdSQ45vqCEwVFO4W5ira2EjM4zxsCxXsH2Nlo2jVbWdAqzoQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-folder": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-folder/-/uui-symbol-folder-1.14.0-rc.4.tgz", - "integrity": "sha512-9b/XEd6I2WsjaHJ6s2hZfl9GDfDA5ZlD4YGYRhnoVyWatsA9W4f4OdBcgzHOKA7I4m2IbdRc3F6Jc0SA/osjmA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-folder/-/uui-symbol-folder-1.14.1.tgz", + "integrity": "sha512-5y+Wc3SDeOTMYQSGAO/IDxB/MMCUfi6gfJ76qiNNVPaMcqL2uHxifzbwpM8X5bQCgDQ2YU/PHfAWvQGdZWx2Pw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-lock": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-lock/-/uui-symbol-lock-1.14.0-rc.4.tgz", - "integrity": "sha512-r+zi5yU5WiKVAkLrzLQgi7wvEPJka9aYYw8SeTGko2OiQRXgBCqrssW+FGaRvElWwX3+klv34uRNlr6Hr7Q0Xw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-lock/-/uui-symbol-lock-1.14.1.tgz", + "integrity": "sha512-VOkehn1kth6dLq8nlOQ3xWRK7fJSscbC5MEQ3pbJEwJZjgms1LKzNxWGcRv0F/Rju87ZfsNZlW3mLH43zEm1dw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-more": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-more/-/uui-symbol-more-1.14.0-rc.4.tgz", - "integrity": "sha512-IirqSEyLg7edOJlqpyECTVrZPUkkBj2+7l0bBLWnvNZ3xZ8Zd2hXMVXVTOsIcnUYZlyL3SpYSaHS7XkR4Uxy6Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-more/-/uui-symbol-more-1.14.1.tgz", + "integrity": "sha512-AXEPgnE0GOErAR/eMrqw2M0sedZdGxPNJqpApSUUjaDd+MXeVDzRQ08K+sbPJVDXPkirc/70gO1kkasQ80S6hA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-symbol-sort": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-sort/-/uui-symbol-sort-1.14.0-rc.4.tgz", - "integrity": "sha512-+HyeiY9TEuenbKlxS+T46t5qwvf+20vT71XcXjHufjPgo0C05HqqaLWZ5dVZMQs/TyEY1OrR7Vh9K7EJ/71vQg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-sort/-/uui-symbol-sort-1.14.1.tgz", + "integrity": "sha512-IuiWSRuQmCa88kSIudfq0tcxwiqSCfow4xsBEEoFAjYtNpGtW9HJ2yeA9exT76XH2m2zgY1FZu9Cf6FxB/B86A==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-table": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-table/-/uui-table-1.14.0-rc.4.tgz", - "integrity": "sha512-4KDA6pDUfRoXA2PhM6pS3V4CMdQ3GGP9SbtBSs6rWj71rPt2J4PpzNsRdyNQXpR2iWsoL5h2MVSXf1X1zJWk3A==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-table/-/uui-table-1.14.1.tgz", + "integrity": "sha512-Bt62bKQSmVM8yPv9y0HZ0ywho5T1yXUJsP6q4Bx1g7x3lYotXB8ekLffMSlXmupNOEoHXVQn5ZInTRqeQF8H+Q==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-tabs": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tabs/-/uui-tabs-1.14.0-rc.4.tgz", - "integrity": "sha512-cNfwUN1Swj0MUUGTXta8vJ3bicciiLb1Ep2K6DVDVAurgJTsZMwreYTJ7FUhiYNsunB6KYICmBA7tykuYS5fsw==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tabs/-/uui-tabs-1.14.2.tgz", + "integrity": "sha512-Qb5ZHVGljjkOZPc49jZPMdHhD11FGS6F8DbNjpWx1ghBvQGM4uIWGfnkZk7YSVZbTMACequyanyx/jZVHLKVRg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4", - "@umbraco-ui/uui-popover-container": "1.14.0-rc.4", - "@umbraco-ui/uui-symbol-more": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1", + "@umbraco-ui/uui-popover-container": "1.14.2", + "@umbraco-ui/uui-symbol-more": "1.14.1" } }, "node_modules/@umbraco-ui/uui-tag": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tag/-/uui-tag-1.14.0-rc.4.tgz", - "integrity": "sha512-N2DyheYdOseh7ep4RUzwSlASVc4p9MsFlBGcsbPjlfT+Iz2rX8t1LF6ZzqrQXewZsW5fflIuO78+xADkjqL5ww==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tag/-/uui-tag-1.14.1.tgz", + "integrity": "sha512-8RufQ5snD+sHjr4VqWWd2OPWIXyX+6iImsm630XAv4UA/5PO6XXbifHwlsBpTsLrdMrcn+na1xp8ZtJfe9y5oA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-textarea": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-textarea/-/uui-textarea-1.14.0-rc.4.tgz", - "integrity": "sha512-AP1tGEvzmrstw8kxi3kuSTVBTtGC3rqepZ29V1Lw6I7LNr10Oeo8rWpMYjCQYTkgAe/dMqR0IHefYyrdTAvuYg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-textarea/-/uui-textarea-1.14.1.tgz", + "integrity": "sha512-YptYir6xNAwX1Y3n1k34yem3sbTlO18CgSvvNZw3bhKjIo3hYM3HdKS07H5pvgRmJRYQ3zbNQbbJreTnVel/Zg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/@umbraco-ui/uui-toast-notification": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification/-/uui-toast-notification-1.14.0-rc.4.tgz", - "integrity": "sha512-Uq61neNnYzgGqKMnOd5X6aGMIi+5PfwM7E/DcGdAYNWR5t5NgU1uc1/GuxEHPXrWatiC15UT5G2ETiaIPUGX+A==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification/-/uui-toast-notification-1.14.1.tgz", + "integrity": "sha512-6vpIAEedHg/wr/bWmkD/JPwSOxnmg8eZMiF1FBmZWJA9raiiUcIGjTt/OgNTAejTj6lRldFW/hJUTBwfWOABnQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-button": "1.14.0-rc.4", - "@umbraco-ui/uui-css": "1.14.0-rc.4", - "@umbraco-ui/uui-icon": "1.14.0-rc.4", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-button": "1.14.1", + "@umbraco-ui/uui-css": "1.14.1", + "@umbraco-ui/uui-icon": "1.14.1", + "@umbraco-ui/uui-icon-registry-essential": "1.14.1" } }, "node_modules/@umbraco-ui/uui-toast-notification-container": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-container/-/uui-toast-notification-container-1.14.0-rc.4.tgz", - "integrity": "sha512-H0rQnkt6OlbBCZQ5rAb31WByydZBMqXA8UBKCRzQL4JOqOjO8XSxMag1sZLorul3QPXfL5A40IDbwyVw0/FO1g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-container/-/uui-toast-notification-container-1.14.1.tgz", + "integrity": "sha512-NbNxLFOqApyUuOYCCsAxQvBzQJ4gWOxNn+9PLRqkVtTVHOLZLmsDYMjhQKqHDJ7fuwi8hEAO5rz7q2Vluhg4lg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-toast-notification": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-toast-notification": "1.14.1" } }, "node_modules/@umbraco-ui/uui-toast-notification-layout": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-layout/-/uui-toast-notification-layout-1.14.0-rc.4.tgz", - "integrity": "sha512-CCugRovI3Kglzjr4ejkMfWS7KjVWOhewY2kc9yixc8d+UTW5QZsGlSFwovuADi6gRMYMaOkO6hiB0Ejgd0HL6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-layout/-/uui-toast-notification-layout-1.14.1.tgz", + "integrity": "sha512-uJDEzB2hJy7icd7yUESWvQUjGhgHuWRwy0tdFTeJr4Ghu/7R7N6fx0Q4qnCgYQfZWhQdKby+Skisxcnqb8J7hA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-css": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-css": "1.14.1" } }, "node_modules/@umbraco-ui/uui-toggle": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toggle/-/uui-toggle-1.14.0-rc.4.tgz", - "integrity": "sha512-W7dvUAgHh1gRxtSfMh6BwmIUSLlH9ZajesFkfHVqy0ZtMfs+d3Glnw+MIETRN/QuqBy/wl0bOxPqcujyc+8iQw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toggle/-/uui-toggle-1.14.1.tgz", + "integrity": "sha512-Py0mWbkN8no0CJAwpGaKotwyUSkQ4EWST1N2iTeBD5s9rYTQwc74ovH2SAyJdHNDfzF894jLB5M7jlGFzJlbgg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4", - "@umbraco-ui/uui-boolean-input": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1", + "@umbraco-ui/uui-boolean-input": "1.14.1" } }, "node_modules/@umbraco-ui/uui-visually-hidden": { - "version": "1.14.0-rc.4", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-visually-hidden/-/uui-visually-hidden-1.14.0-rc.4.tgz", - "integrity": "sha512-0Zhi67ZRUMCgPpiS44+mYlXey1apzib8B0YMK8Dgy2Gu3HpVqsFl+yPUWTOEfUcRFBzQnZqewEudo2OYhewtJw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-visually-hidden/-/uui-visually-hidden-1.14.1.tgz", + "integrity": "sha512-be1AJdwpbe1W9KMW7BtuVkheYmMroPsBdrs4TrSihw/NfDp3VsP0S9mkmeFZILGW8CMQ7qGcb6Eg1LdJoSYHjw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0-rc.4" + "@umbraco-ui/uui-base": "1.14.1" } }, "node_modules/acorn": { @@ -2552,6 +2574,16 @@ "node": ">=0.4.0" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2559,6 +2591,22 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/c12": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/c12/-/c12-2.0.1.tgz", @@ -2624,6 +2672,16 @@ "consola": "^3.2.3" } }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", @@ -2667,6 +2725,49 @@ "license": "MIT", "peer": true }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/defu": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", @@ -2704,9 +2805,9 @@ } }, "node_modules/dotenv": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", - "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -2739,9 +2840,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", - "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", + "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2752,31 +2853,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.5", - "@esbuild/android-arm": "0.25.5", - "@esbuild/android-arm64": "0.25.5", - "@esbuild/android-x64": "0.25.5", - "@esbuild/darwin-arm64": "0.25.5", - "@esbuild/darwin-x64": "0.25.5", - "@esbuild/freebsd-arm64": "0.25.5", - "@esbuild/freebsd-x64": "0.25.5", - "@esbuild/linux-arm": "0.25.5", - "@esbuild/linux-arm64": "0.25.5", - "@esbuild/linux-ia32": "0.25.5", - "@esbuild/linux-loong64": "0.25.5", - "@esbuild/linux-mips64el": "0.25.5", - "@esbuild/linux-ppc64": "0.25.5", - "@esbuild/linux-riscv64": "0.25.5", - "@esbuild/linux-s390x": "0.25.5", - "@esbuild/linux-x64": "0.25.5", - "@esbuild/netbsd-arm64": "0.25.5", - "@esbuild/netbsd-x64": "0.25.5", - "@esbuild/openbsd-arm64": "0.25.5", - "@esbuild/openbsd-x64": "0.25.5", - "@esbuild/sunos-x64": "0.25.5", - "@esbuild/win32-arm64": "0.25.5", - "@esbuild/win32-ia32": "0.25.5", - "@esbuild/win32-x64": "0.25.5" + "@esbuild/aix-ppc64": "0.25.8", + "@esbuild/android-arm": "0.25.8", + "@esbuild/android-arm64": "0.25.8", + "@esbuild/android-x64": "0.25.8", + "@esbuild/darwin-arm64": "0.25.8", + "@esbuild/darwin-x64": "0.25.8", + "@esbuild/freebsd-arm64": "0.25.8", + "@esbuild/freebsd-x64": "0.25.8", + "@esbuild/linux-arm": "0.25.8", + "@esbuild/linux-arm64": "0.25.8", + "@esbuild/linux-ia32": "0.25.8", + "@esbuild/linux-loong64": "0.25.8", + "@esbuild/linux-mips64el": "0.25.8", + "@esbuild/linux-ppc64": "0.25.8", + "@esbuild/linux-riscv64": "0.25.8", + "@esbuild/linux-s390x": "0.25.8", + "@esbuild/linux-x64": "0.25.8", + "@esbuild/netbsd-arm64": "0.25.8", + "@esbuild/netbsd-x64": "0.25.8", + "@esbuild/openbsd-arm64": "0.25.8", + "@esbuild/openbsd-x64": "0.25.8", + "@esbuild/openharmony-arm64": "0.25.8", + "@esbuild/sunos-x64": "0.25.8", + "@esbuild/win32-arm64": "0.25.8", + "@esbuild/win32-ia32": "0.25.8", + "@esbuild/win32-x64": "0.25.8" } }, "node_modules/escape-string-regexp": { @@ -2794,9 +2896,9 @@ } }, "node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2897,10 +2999,61 @@ "uglify-js": "^3.1.4" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", + "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", "dev": true, "license": "MIT", "bin": { @@ -2940,9 +3093,9 @@ "peer": true }, "node_modules/lit": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.0.tgz", - "integrity": "sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.1.tgz", + "integrity": "sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2952,21 +3105,21 @@ } }, "node_modules/lit-element": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.0.tgz", - "integrity": "sha512-MGrXJVAI5x+Bfth/pU9Kst1iWID6GHDLEzFEnyULB/sFiRLgkd8NPK/PeeXxktA3T6EIIaq8U3KcbTU5XFcP2Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.1.tgz", + "integrity": "sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit-labs/ssr-dom-shim": "^1.4.0", "@lit/reactive-element": "^2.1.0", "lit-html": "^3.3.0" } }, "node_modules/lit-html": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.0.tgz", - "integrity": "sha512-RHoswrFAxY2d8Cf2mm4OZ1DgzCoBKUKSPvA1fhtSELxUERq2aQQ2h05pO9j81gS1o7RIRJ+CePLogfyahwmynw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz", + "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3177,6 +3330,25 @@ "dev": true, "license": "MIT" }, + "node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/orderedmap": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", @@ -3207,9 +3379,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -3239,9 +3411,9 @@ "license": "MIT" }, "node_modules/postcss": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz", - "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -3395,9 +3567,9 @@ } }, "node_modules/prosemirror-model": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.1.tgz", - "integrity": "sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==", + "version": "1.25.2", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.2.tgz", + "integrity": "sha512-BVypCAJ4SL6jOiTsDffP3Wp6wD69lRhI4zg/iT8JXjp3ccZFiq5WyguxvMKmdKFC3prhaig7wSr8dneDToHE1Q==", "dev": true, "license": "MIT", "peer": true, @@ -3486,9 +3658,9 @@ } }, "node_modules/prosemirror-view": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.40.0.tgz", - "integrity": "sha512-2G3svX0Cr1sJjkD/DYWSe3cfV5VPVTBOxI9XQEGWJDFEpsZb/gh4MV29ctv+OJx2RFX4BLt09i+6zaGM/ldkCw==", + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.40.1.tgz", + "integrity": "sha512-pbwUjt3G7TlsQQHDiYSupWBhJswpLVB09xXm1YiJPdkjkh9Pe7Y51XdLh5VWIZmROLY8UpUpG03lkdhm9lzIBA==", "dev": true, "license": "MIT", "peer": true, @@ -3535,13 +3707,13 @@ } }, "node_modules/rollup": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.42.0.tgz", - "integrity": "sha512-LW+Vse3BJPyGJGAJt1j8pWDKPd73QM8cRXYK1IxOBgL2AGLu7Xd2YOW0M2sLUBCkF5MshXXtMApyEAEzMVMsnw==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz", + "integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -3551,26 +3723,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.42.0", - "@rollup/rollup-android-arm64": "4.42.0", - "@rollup/rollup-darwin-arm64": "4.42.0", - "@rollup/rollup-darwin-x64": "4.42.0", - "@rollup/rollup-freebsd-arm64": "4.42.0", - "@rollup/rollup-freebsd-x64": "4.42.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.42.0", - "@rollup/rollup-linux-arm-musleabihf": "4.42.0", - "@rollup/rollup-linux-arm64-gnu": "4.42.0", - "@rollup/rollup-linux-arm64-musl": "4.42.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.42.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.42.0", - "@rollup/rollup-linux-riscv64-gnu": "4.42.0", - "@rollup/rollup-linux-riscv64-musl": "4.42.0", - "@rollup/rollup-linux-s390x-gnu": "4.42.0", - "@rollup/rollup-linux-x64-gnu": "4.42.0", - "@rollup/rollup-linux-x64-musl": "4.42.0", - "@rollup/rollup-win32-arm64-msvc": "4.42.0", - "@rollup/rollup-win32-ia32-msvc": "4.42.0", - "@rollup/rollup-win32-x64-msvc": "4.42.0", + "@rollup/rollup-android-arm-eabi": "4.45.1", + "@rollup/rollup-android-arm64": "4.45.1", + "@rollup/rollup-darwin-arm64": "4.45.1", + "@rollup/rollup-darwin-x64": "4.45.1", + "@rollup/rollup-freebsd-arm64": "4.45.1", + "@rollup/rollup-freebsd-x64": "4.45.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", + "@rollup/rollup-linux-arm-musleabihf": "4.45.1", + "@rollup/rollup-linux-arm64-gnu": "4.45.1", + "@rollup/rollup-linux-arm64-musl": "4.45.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-musl": "4.45.1", + "@rollup/rollup-linux-s390x-gnu": "4.45.1", + "@rollup/rollup-linux-x64-gnu": "4.45.1", + "@rollup/rollup-linux-x64-musl": "4.45.1", + "@rollup/rollup-win32-arm64-msvc": "4.45.1", + "@rollup/rollup-win32-ia32-msvc": "4.45.1", + "@rollup/rollup-win32-x64-msvc": "4.45.1", "fsevents": "~2.3.2" } }, @@ -3582,6 +3754,19 @@ "license": "MIT", "peer": true }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/rxjs": { "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", @@ -3593,6 +3778,19 @@ "tslib": "^2.1.0" } }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -3722,24 +3920,24 @@ } }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.6.tgz", + "integrity": "sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -3748,14 +3946,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/package.json b/src/jcdcdev.Umbraco.ReadingTime.Client/package.json index 885ca67..baf5fbb 100644 --- a/src/jcdcdev.Umbraco.ReadingTime.Client/package.json +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/package.json @@ -10,12 +10,11 @@ "generate": "openapi-ts" }, "devDependencies": { - "lit": "^3.3.0", - "@hey-api/client-fetch": "^0.10.0", - "@hey-api/openapi-ts": "^0.67.3", - "@umbraco-cms/backoffice": "^16.0.0-rc5", + "lit": "^3.3.1", + "@hey-api/openapi-ts": "^0.80.1", + "@umbraco-cms/backoffice": "^16.1.0", "typescript": "^5.8.3", - "vite": "^6.3.5" + "vite": "^7.0.6" }, "volta": { "node": "22.14.0" diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client.gen.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client.gen.ts index 17c5a6e..326bc5d 100644 --- a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client.gen.ts +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client.gen.ts @@ -1,7 +1,7 @@ // This file is auto-generated by @hey-api/openapi-ts import type { ClientOptions } from './types.gen'; -import { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch'; +import { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from './client'; /** * The `createClientConfig()` function will be called on client initialization diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/client.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/client.ts new file mode 100644 index 0000000..89d1e31 --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/client.ts @@ -0,0 +1,195 @@ +import type { Client, Config, RequestOptions } from './types'; +import { + buildUrl, + createConfig, + createInterceptors, + getParseAs, + mergeConfigs, + mergeHeaders, + setAuthParams, +} from './utils'; + +type ReqInit = Omit & { + body?: any; + headers: ReturnType; +}; + +export const createClient = (config: Config = {}): Client => { + let _config = mergeConfigs(createConfig(), config); + + const getConfig = (): Config => ({ ..._config }); + + const setConfig = (config: Config): Config => { + _config = mergeConfigs(_config, config); + return getConfig(); + }; + + const interceptors = createInterceptors< + Request, + Response, + unknown, + RequestOptions + >(); + + const request: Client['request'] = async (options) => { + const opts = { + ..._config, + ...options, + fetch: options.fetch ?? _config.fetch ?? globalThis.fetch, + headers: mergeHeaders(_config.headers, options.headers), + }; + + if (opts.security) { + await setAuthParams({ + ...opts, + security: opts.security, + }); + } + + if (opts.requestValidator) { + await opts.requestValidator(opts); + } + + if (opts.body && opts.bodySerializer) { + opts.body = opts.bodySerializer(opts.body); + } + + // remove Content-Type header if body is empty to avoid sending invalid requests + if (opts.body === undefined || opts.body === '') { + opts.headers.delete('Content-Type'); + } + + const url = buildUrl(opts); + const requestInit: ReqInit = { + redirect: 'follow', + ...opts, + }; + + let request = new Request(url, requestInit); + + for (const fn of interceptors.request._fns) { + if (fn) { + request = await fn(request, opts); + } + } + + // fetch must be assigned here, otherwise it would throw the error: + // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation + const _fetch = opts.fetch!; + let response = await _fetch(request); + + for (const fn of interceptors.response._fns) { + if (fn) { + response = await fn(response, request, opts); + } + } + + const result = { + request, + response, + }; + + if (response.ok) { + if ( + response.status === 204 || + response.headers.get('Content-Length') === '0' + ) { + return opts.responseStyle === 'data' + ? {} + : { + data: {}, + ...result, + }; + } + + const parseAs = + (opts.parseAs === 'auto' + ? getParseAs(response.headers.get('Content-Type')) + : opts.parseAs) ?? 'json'; + + let data: any; + switch (parseAs) { + case 'arrayBuffer': + case 'blob': + case 'formData': + case 'json': + case 'text': + data = await response[parseAs](); + break; + case 'stream': + return opts.responseStyle === 'data' + ? response.body + : { + data: response.body, + ...result, + }; + } + + if (parseAs === 'json') { + if (opts.responseValidator) { + await opts.responseValidator(data); + } + + if (opts.responseTransformer) { + data = await opts.responseTransformer(data); + } + } + + return opts.responseStyle === 'data' + ? data + : { + data, + ...result, + }; + } + + const textError = await response.text(); + let jsonError: unknown; + + try { + jsonError = JSON.parse(textError); + } catch { + // noop + } + + const error = jsonError ?? textError; + let finalError = error; + + for (const fn of interceptors.error._fns) { + if (fn) { + finalError = (await fn(error, response, request, opts)) as string; + } + } + + finalError = finalError || ({} as string); + + if (opts.throwOnError) { + throw finalError; + } + + // TODO: we probably want to return error and improve types + return opts.responseStyle === 'data' + ? undefined + : { + error: finalError, + ...result, + }; + }; + + return { + buildUrl, + connect: (options) => request({ ...options, method: 'CONNECT' }), + delete: (options) => request({ ...options, method: 'DELETE' }), + get: (options) => request({ ...options, method: 'GET' }), + getConfig, + head: (options) => request({ ...options, method: 'HEAD' }), + interceptors, + options: (options) => request({ ...options, method: 'OPTIONS' }), + patch: (options) => request({ ...options, method: 'PATCH' }), + post: (options) => request({ ...options, method: 'POST' }), + put: (options) => request({ ...options, method: 'PUT' }), + request, + setConfig, + trace: (options) => request({ ...options, method: 'TRACE' }), + }; +}; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/index.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/index.ts new file mode 100644 index 0000000..5da1f7a --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/index.ts @@ -0,0 +1,22 @@ +export type { Auth } from '../core/auth'; +export type { QuerySerializerOptions } from '../core/bodySerializer'; +export { + formDataBodySerializer, + jsonBodySerializer, + urlSearchParamsBodySerializer, +} from '../core/bodySerializer'; +export { buildClientParams } from '../core/params'; +export { createClient } from './client'; +export type { + Client, + ClientOptions, + Config, + CreateClientConfig, + Options, + OptionsLegacyParser, + RequestOptions, + RequestResult, + ResponseStyle, + TDataShape, +} from './types'; +export { createConfig, mergeHeaders } from './utils'; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/types.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/types.ts new file mode 100644 index 0000000..85295df --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/types.ts @@ -0,0 +1,222 @@ +import type { Auth } from '../core/auth'; +import type { + Client as CoreClient, + Config as CoreConfig, +} from '../core/types'; +import type { Middleware } from './utils'; + +export type ResponseStyle = 'data' | 'fields'; + +export interface Config + extends Omit, + CoreConfig { + /** + * Base URL for all requests made by this client. + */ + baseUrl?: T['baseUrl']; + /** + * Fetch API implementation. You can use this option to provide a custom + * fetch instance. + * + * @default globalThis.fetch + */ + fetch?: (request: Request) => ReturnType; + /** + * Please don't use the Fetch client for Next.js applications. The `next` + * options won't have any effect. + * + * Install {@link https://www.npmjs.com/package/@hey-api/client-next `@hey-api/client-next`} instead. + */ + next?: never; + /** + * Return the response data parsed in a specified format. By default, `auto` + * will infer the appropriate method from the `Content-Type` response header. + * You can override this behavior with any of the {@link Body} methods. + * Select `stream` if you don't want to parse response data at all. + * + * @default 'auto' + */ + parseAs?: + | 'arrayBuffer' + | 'auto' + | 'blob' + | 'formData' + | 'json' + | 'stream' + | 'text'; + /** + * Should we return only data or multiple fields (data, error, response, etc.)? + * + * @default 'fields' + */ + responseStyle?: ResponseStyle; + /** + * Throw an error instead of returning it in the response? + * + * @default false + */ + throwOnError?: T['throwOnError']; +} + +export interface RequestOptions< + TResponseStyle extends ResponseStyle = 'fields', + ThrowOnError extends boolean = boolean, + Url extends string = string, +> extends Config<{ + responseStyle: TResponseStyle; + throwOnError: ThrowOnError; + }> { + /** + * Any body that you want to add to your request. + * + * {@link https://developer.mozilla.org/docs/Web/API/fetch#body} + */ + body?: unknown; + path?: Record; + query?: Record; + /** + * Security mechanism(s) to use for the request. + */ + security?: ReadonlyArray; + url: Url; +} + +export type RequestResult< + TData = unknown, + TError = unknown, + ThrowOnError extends boolean = boolean, + TResponseStyle extends ResponseStyle = 'fields', +> = ThrowOnError extends true + ? Promise< + TResponseStyle extends 'data' + ? TData extends Record + ? TData[keyof TData] + : TData + : { + data: TData extends Record + ? TData[keyof TData] + : TData; + request: Request; + response: Response; + } + > + : Promise< + TResponseStyle extends 'data' + ? + | (TData extends Record + ? TData[keyof TData] + : TData) + | undefined + : ( + | { + data: TData extends Record + ? TData[keyof TData] + : TData; + error: undefined; + } + | { + data: undefined; + error: TError extends Record + ? TError[keyof TError] + : TError; + } + ) & { + request: Request; + response: Response; + } + >; + +export interface ClientOptions { + baseUrl?: string; + responseStyle?: ResponseStyle; + throwOnError?: boolean; +} + +type MethodFn = < + TData = unknown, + TError = unknown, + ThrowOnError extends boolean = false, + TResponseStyle extends ResponseStyle = 'fields', +>( + options: Omit, 'method'>, +) => RequestResult; + +type RequestFn = < + TData = unknown, + TError = unknown, + ThrowOnError extends boolean = false, + TResponseStyle extends ResponseStyle = 'fields', +>( + options: Omit, 'method'> & + Pick>, 'method'>, +) => RequestResult; + +type BuildUrlFn = < + TData extends { + body?: unknown; + path?: Record; + query?: Record; + url: string; + }, +>( + options: Pick & Options, +) => string; + +export type Client = CoreClient & { + interceptors: Middleware; +}; + +/** + * The `createClientConfig()` function will be called on client initialization + * and the returned object will become the client's initial configuration. + * + * You may want to initialize your client this way instead of calling + * `setConfig()`. This is useful for example if you're using Next.js + * to ensure your client always has the correct values. + */ +export type CreateClientConfig = ( + override?: Config, +) => Config & T>; + +export interface TDataShape { + body?: unknown; + headers?: unknown; + path?: unknown; + query?: unknown; + url: string; +} + +type OmitKeys = Pick>; + +export type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, + TResponseStyle extends ResponseStyle = 'fields', +> = OmitKeys< + RequestOptions, + 'body' | 'path' | 'query' | 'url' +> & + Omit; + +export type OptionsLegacyParser< + TData = unknown, + ThrowOnError extends boolean = boolean, + TResponseStyle extends ResponseStyle = 'fields', +> = TData extends { body?: any } + ? TData extends { headers?: any } + ? OmitKeys< + RequestOptions, + 'body' | 'headers' | 'url' + > & + TData + : OmitKeys, 'body' | 'url'> & + TData & + Pick, 'headers'> + : TData extends { headers?: any } + ? OmitKeys< + RequestOptions, + 'headers' | 'url' + > & + TData & + Pick, 'body'> + : OmitKeys, 'url'> & TData; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/utils.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/utils.ts new file mode 100644 index 0000000..a52e672 --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/client/utils.ts @@ -0,0 +1,417 @@ +import { getAuthToken } from '../core/auth'; +import type { + QuerySerializer, + QuerySerializerOptions, +} from '../core/bodySerializer'; +import { jsonBodySerializer } from '../core/bodySerializer'; +import { + serializeArrayParam, + serializeObjectParam, + serializePrimitiveParam, +} from '../core/pathSerializer'; +import type { Client, ClientOptions, Config, RequestOptions } from './types'; + +interface PathSerializer { + path: Record; + url: string; +} + +const PATH_PARAM_RE = /\{[^{}]+\}/g; + +type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited'; +type MatrixStyle = 'label' | 'matrix' | 'simple'; +type ArraySeparatorStyle = ArrayStyle | MatrixStyle; + +const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => { + let url = _url; + const matches = _url.match(PATH_PARAM_RE); + if (matches) { + for (const match of matches) { + let explode = false; + let name = match.substring(1, match.length - 1); + let style: ArraySeparatorStyle = 'simple'; + + if (name.endsWith('*')) { + explode = true; + name = name.substring(0, name.length - 1); + } + + if (name.startsWith('.')) { + name = name.substring(1); + style = 'label'; + } else if (name.startsWith(';')) { + name = name.substring(1); + style = 'matrix'; + } + + const value = path[name]; + + if (value === undefined || value === null) { + continue; + } + + if (Array.isArray(value)) { + url = url.replace( + match, + serializeArrayParam({ explode, name, style, value }), + ); + continue; + } + + if (typeof value === 'object') { + url = url.replace( + match, + serializeObjectParam({ + explode, + name, + style, + value: value as Record, + valueOnly: true, + }), + ); + continue; + } + + if (style === 'matrix') { + url = url.replace( + match, + `;${serializePrimitiveParam({ + name, + value: value as string, + })}`, + ); + continue; + } + + const replaceValue = encodeURIComponent( + style === 'label' ? `.${value as string}` : (value as string), + ); + url = url.replace(match, replaceValue); + } + } + return url; +}; + +export const createQuerySerializer = ({ + allowReserved, + array, + object, +}: QuerySerializerOptions = {}) => { + const querySerializer = (queryParams: T) => { + const search: string[] = []; + if (queryParams && typeof queryParams === 'object') { + for (const name in queryParams) { + const value = queryParams[name]; + + if (value === undefined || value === null) { + continue; + } + + if (Array.isArray(value)) { + const serializedArray = serializeArrayParam({ + allowReserved, + explode: true, + name, + style: 'form', + value, + ...array, + }); + if (serializedArray) search.push(serializedArray); + } else if (typeof value === 'object') { + const serializedObject = serializeObjectParam({ + allowReserved, + explode: true, + name, + style: 'deepObject', + value: value as Record, + ...object, + }); + if (serializedObject) search.push(serializedObject); + } else { + const serializedPrimitive = serializePrimitiveParam({ + allowReserved, + name, + value: value as string, + }); + if (serializedPrimitive) search.push(serializedPrimitive); + } + } + } + return search.join('&'); + }; + return querySerializer; +}; + +/** + * Infers parseAs value from provided Content-Type header. + */ +export const getParseAs = ( + contentType: string | null, +): Exclude => { + if (!contentType) { + // If no Content-Type header is provided, the best we can do is return the raw response body, + // which is effectively the same as the 'stream' option. + return 'stream'; + } + + const cleanContent = contentType.split(';')[0]?.trim(); + + if (!cleanContent) { + return; + } + + if ( + cleanContent.startsWith('application/json') || + cleanContent.endsWith('+json') + ) { + return 'json'; + } + + if (cleanContent === 'multipart/form-data') { + return 'formData'; + } + + if ( + ['application/', 'audio/', 'image/', 'video/'].some((type) => + cleanContent.startsWith(type), + ) + ) { + return 'blob'; + } + + if (cleanContent.startsWith('text/')) { + return 'text'; + } + + return; +}; + +export const setAuthParams = async ({ + security, + ...options +}: Pick, 'security'> & + Pick & { + headers: Headers; + }) => { + for (const auth of security) { + const token = await getAuthToken(auth, options.auth); + + if (!token) { + continue; + } + + const name = auth.name ?? 'Authorization'; + + switch (auth.in) { + case 'query': + if (!options.query) { + options.query = {}; + } + options.query[name] = token; + break; + case 'cookie': + options.headers.append('Cookie', `${name}=${token}`); + break; + case 'header': + default: + options.headers.set(name, token); + break; + } + + return; + } +}; + +export const buildUrl: Client['buildUrl'] = (options) => { + const url = getUrl({ + baseUrl: options.baseUrl as string, + path: options.path, + query: options.query, + querySerializer: + typeof options.querySerializer === 'function' + ? options.querySerializer + : createQuerySerializer(options.querySerializer), + url: options.url, + }); + return url; +}; + +export const getUrl = ({ + baseUrl, + path, + query, + querySerializer, + url: _url, +}: { + baseUrl?: string; + path?: Record; + query?: Record; + querySerializer: QuerySerializer; + url: string; +}) => { + const pathUrl = _url.startsWith('/') ? _url : `/${_url}`; + let url = (baseUrl ?? '') + pathUrl; + if (path) { + url = defaultPathSerializer({ path, url }); + } + let search = query ? querySerializer(query) : ''; + if (search.startsWith('?')) { + search = search.substring(1); + } + if (search) { + url += `?${search}`; + } + return url; +}; + +export const mergeConfigs = (a: Config, b: Config): Config => { + const config = { ...a, ...b }; + if (config.baseUrl?.endsWith('/')) { + config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1); + } + config.headers = mergeHeaders(a.headers, b.headers); + return config; +}; + +export const mergeHeaders = ( + ...headers: Array['headers'] | undefined> +): Headers => { + const mergedHeaders = new Headers(); + for (const header of headers) { + if (!header || typeof header !== 'object') { + continue; + } + + const iterator = + header instanceof Headers ? header.entries() : Object.entries(header); + + for (const [key, value] of iterator) { + if (value === null) { + mergedHeaders.delete(key); + } else if (Array.isArray(value)) { + for (const v of value) { + mergedHeaders.append(key, v as string); + } + } else if (value !== undefined) { + // assume object headers are meant to be JSON stringified, i.e. their + // content value in OpenAPI specification is 'application/json' + mergedHeaders.set( + key, + typeof value === 'object' ? JSON.stringify(value) : (value as string), + ); + } + } + } + return mergedHeaders; +}; + +type ErrInterceptor = ( + error: Err, + response: Res, + request: Req, + options: Options, +) => Err | Promise; + +type ReqInterceptor = ( + request: Req, + options: Options, +) => Req | Promise; + +type ResInterceptor = ( + response: Res, + request: Req, + options: Options, +) => Res | Promise; + +class Interceptors { + _fns: (Interceptor | null)[]; + + constructor() { + this._fns = []; + } + + clear() { + this._fns = []; + } + + getInterceptorIndex(id: number | Interceptor): number { + if (typeof id === 'number') { + return this._fns[id] ? id : -1; + } else { + return this._fns.indexOf(id); + } + } + exists(id: number | Interceptor) { + const index = this.getInterceptorIndex(id); + return !!this._fns[index]; + } + + eject(id: number | Interceptor) { + const index = this.getInterceptorIndex(id); + if (this._fns[index]) { + this._fns[index] = null; + } + } + + update(id: number | Interceptor, fn: Interceptor) { + const index = this.getInterceptorIndex(id); + if (this._fns[index]) { + this._fns[index] = fn; + return id; + } else { + return false; + } + } + + use(fn: Interceptor) { + this._fns = [...this._fns, fn]; + return this._fns.length - 1; + } +} + +// `createInterceptors()` response, meant for external use as it does not +// expose internals +export interface Middleware { + error: Pick< + Interceptors>, + 'eject' | 'use' + >; + request: Pick>, 'eject' | 'use'>; + response: Pick< + Interceptors>, + 'eject' | 'use' + >; +} + +// do not add `Middleware` as return type so we can use _fns internally +export const createInterceptors = () => ({ + error: new Interceptors>(), + request: new Interceptors>(), + response: new Interceptors>(), +}); + +const defaultQuerySerializer = createQuerySerializer({ + allowReserved: false, + array: { + explode: true, + style: 'form', + }, + object: { + explode: true, + style: 'deepObject', + }, +}); + +const defaultHeaders = { + 'Content-Type': 'application/json', +}; + +export const createConfig = ( + override: Config & T> = {}, +): Config & T> => ({ + ...jsonBodySerializer, + headers: defaultHeaders, + parseAs: 'auto', + querySerializer: defaultQuerySerializer, + ...override, +}); diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/auth.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/auth.ts new file mode 100644 index 0000000..451c7f3 --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/auth.ts @@ -0,0 +1,40 @@ +export type AuthToken = string | undefined; + +export interface Auth { + /** + * Which part of the request do we use to send the auth? + * + * @default 'header' + */ + in?: 'header' | 'query' | 'cookie'; + /** + * Header or query parameter name. + * + * @default 'Authorization' + */ + name?: string; + scheme?: 'basic' | 'bearer'; + type: 'apiKey' | 'http'; +} + +export const getAuthToken = async ( + auth: Auth, + callback: ((auth: Auth) => Promise | AuthToken) | AuthToken, +): Promise => { + const token = + typeof callback === 'function' ? await callback(auth) : callback; + + if (!token) { + return; + } + + if (auth.scheme === 'bearer') { + return `Bearer ${token}`; + } + + if (auth.scheme === 'basic') { + return `Basic ${btoa(token)}`; + } + + return token; +}; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/bodySerializer.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/bodySerializer.ts new file mode 100644 index 0000000..98ce779 --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/bodySerializer.ts @@ -0,0 +1,88 @@ +import type { + ArrayStyle, + ObjectStyle, + SerializerOptions, +} from './pathSerializer'; + +export type QuerySerializer = (query: Record) => string; + +export type BodySerializer = (body: any) => any; + +export interface QuerySerializerOptions { + allowReserved?: boolean; + array?: SerializerOptions; + object?: SerializerOptions; +} + +const serializeFormDataPair = ( + data: FormData, + key: string, + value: unknown, +): void => { + if (typeof value === 'string' || value instanceof Blob) { + data.append(key, value); + } else { + data.append(key, JSON.stringify(value)); + } +}; + +const serializeUrlSearchParamsPair = ( + data: URLSearchParams, + key: string, + value: unknown, +): void => { + if (typeof value === 'string') { + data.append(key, value); + } else { + data.append(key, JSON.stringify(value)); + } +}; + +export const formDataBodySerializer = { + bodySerializer: | Array>>( + body: T, + ): FormData => { + const data = new FormData(); + + Object.entries(body).forEach(([key, value]) => { + if (value === undefined || value === null) { + return; + } + if (Array.isArray(value)) { + value.forEach((v) => serializeFormDataPair(data, key, v)); + } else { + serializeFormDataPair(data, key, value); + } + }); + + return data; + }, +}; + +export const jsonBodySerializer = { + bodySerializer: (body: T): string => + JSON.stringify(body, (_key, value) => + typeof value === 'bigint' ? value.toString() : value, + ), +}; + +export const urlSearchParamsBodySerializer = { + bodySerializer: | Array>>( + body: T, + ): string => { + const data = new URLSearchParams(); + + Object.entries(body).forEach(([key, value]) => { + if (value === undefined || value === null) { + return; + } + if (Array.isArray(value)) { + value.forEach((v) => serializeUrlSearchParamsPair(data, key, v)); + } else { + serializeUrlSearchParamsPair(data, key, value); + } + }); + + return data.toString(); + }, +}; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/params.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/params.ts new file mode 100644 index 0000000..ba35263 --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/params.ts @@ -0,0 +1,151 @@ +type Slot = 'body' | 'headers' | 'path' | 'query'; + +export type Field = + | { + in: Exclude; + /** + * Field name. This is the name we want the user to see and use. + */ + key: string; + /** + * Field mapped name. This is the name we want to use in the request. + * If omitted, we use the same value as `key`. + */ + map?: string; + } + | { + in: Extract; + /** + * Key isn't required for bodies. + */ + key?: string; + map?: string; + }; + +export interface Fields { + allowExtra?: Partial>; + args?: ReadonlyArray; +} + +export type FieldsConfig = ReadonlyArray; + +const extraPrefixesMap: Record = { + $body_: 'body', + $headers_: 'headers', + $path_: 'path', + $query_: 'query', +}; +const extraPrefixes = Object.entries(extraPrefixesMap); + +type KeyMap = Map< + string, + { + in: Slot; + map?: string; + } +>; + +const buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => { + if (!map) { + map = new Map(); + } + + for (const config of fields) { + if ('in' in config) { + if (config.key) { + map.set(config.key, { + in: config.in, + map: config.map, + }); + } + } else if (config.args) { + buildKeyMap(config.args, map); + } + } + + return map; +}; + +interface Params { + body: unknown; + headers: Record; + path: Record; + query: Record; +} + +const stripEmptySlots = (params: Params) => { + for (const [slot, value] of Object.entries(params)) { + if (value && typeof value === 'object' && !Object.keys(value).length) { + delete params[slot as Slot]; + } + } +}; + +export const buildClientParams = ( + args: ReadonlyArray, + fields: FieldsConfig, +) => { + const params: Params = { + body: {}, + headers: {}, + path: {}, + query: {}, + }; + + const map = buildKeyMap(fields); + + let config: FieldsConfig[number] | undefined; + + for (const [index, arg] of args.entries()) { + if (fields[index]) { + config = fields[index]; + } + + if (!config) { + continue; + } + + if ('in' in config) { + if (config.key) { + const field = map.get(config.key)!; + const name = field.map || config.key; + (params[field.in] as Record)[name] = arg; + } else { + params.body = arg; + } + } else { + for (const [key, value] of Object.entries(arg ?? {})) { + const field = map.get(key); + + if (field) { + const name = field.map || key; + (params[field.in] as Record)[name] = value; + } else { + const extra = extraPrefixes.find(([prefix]) => + key.startsWith(prefix), + ); + + if (extra) { + const [prefix, slot] = extra; + (params[slot] as Record)[ + key.slice(prefix.length) + ] = value; + } else { + for (const [slot, allowed] of Object.entries( + config.allowExtra ?? {}, + )) { + if (allowed) { + (params[slot as Slot] as Record)[key] = value; + break; + } + } + } + } + } + } + } + + stripEmptySlots(params); + + return params; +}; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/pathSerializer.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/pathSerializer.ts new file mode 100644 index 0000000..d692cf0 --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/pathSerializer.ts @@ -0,0 +1,179 @@ +interface SerializeOptions + extends SerializePrimitiveOptions, + SerializerOptions {} + +interface SerializePrimitiveOptions { + allowReserved?: boolean; + name: string; +} + +export interface SerializerOptions { + /** + * @default true + */ + explode: boolean; + style: T; +} + +export type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited'; +export type ArraySeparatorStyle = ArrayStyle | MatrixStyle; +type MatrixStyle = 'label' | 'matrix' | 'simple'; +export type ObjectStyle = 'form' | 'deepObject'; +type ObjectSeparatorStyle = ObjectStyle | MatrixStyle; + +interface SerializePrimitiveParam extends SerializePrimitiveOptions { + value: string; +} + +export const separatorArrayExplode = (style: ArraySeparatorStyle) => { + switch (style) { + case 'label': + return '.'; + case 'matrix': + return ';'; + case 'simple': + return ','; + default: + return '&'; + } +}; + +export const separatorArrayNoExplode = (style: ArraySeparatorStyle) => { + switch (style) { + case 'form': + return ','; + case 'pipeDelimited': + return '|'; + case 'spaceDelimited': + return '%20'; + default: + return ','; + } +}; + +export const separatorObjectExplode = (style: ObjectSeparatorStyle) => { + switch (style) { + case 'label': + return '.'; + case 'matrix': + return ';'; + case 'simple': + return ','; + default: + return '&'; + } +}; + +export const serializeArrayParam = ({ + allowReserved, + explode, + name, + style, + value, +}: SerializeOptions & { + value: unknown[]; +}) => { + if (!explode) { + const joinedValues = ( + allowReserved ? value : value.map((v) => encodeURIComponent(v as string)) + ).join(separatorArrayNoExplode(style)); + switch (style) { + case 'label': + return `.${joinedValues}`; + case 'matrix': + return `;${name}=${joinedValues}`; + case 'simple': + return joinedValues; + default: + return `${name}=${joinedValues}`; + } + } + + const separator = separatorArrayExplode(style); + const joinedValues = value + .map((v) => { + if (style === 'label' || style === 'simple') { + return allowReserved ? v : encodeURIComponent(v as string); + } + + return serializePrimitiveParam({ + allowReserved, + name, + value: v as string, + }); + }) + .join(separator); + return style === 'label' || style === 'matrix' + ? separator + joinedValues + : joinedValues; +}; + +export const serializePrimitiveParam = ({ + allowReserved, + name, + value, +}: SerializePrimitiveParam) => { + if (value === undefined || value === null) { + return ''; + } + + if (typeof value === 'object') { + throw new Error( + 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.', + ); + } + + return `${name}=${allowReserved ? value : encodeURIComponent(value)}`; +}; + +export const serializeObjectParam = ({ + allowReserved, + explode, + name, + style, + value, + valueOnly, +}: SerializeOptions & { + value: Record | Date; + valueOnly?: boolean; +}) => { + if (value instanceof Date) { + return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`; + } + + if (style !== 'deepObject' && !explode) { + let values: string[] = []; + Object.entries(value).forEach(([key, v]) => { + values = [ + ...values, + key, + allowReserved ? (v as string) : encodeURIComponent(v as string), + ]; + }); + const joinedValues = values.join(','); + switch (style) { + case 'form': + return `${name}=${joinedValues}`; + case 'label': + return `.${joinedValues}`; + case 'matrix': + return `;${name}=${joinedValues}`; + default: + return joinedValues; + } + } + + const separator = separatorObjectExplode(style); + const joinedValues = Object.entries(value) + .map(([key, v]) => + serializePrimitiveParam({ + allowReserved, + name: style === 'deepObject' ? `${name}[${key}]` : key, + value: v as string, + }), + ) + .join(separator); + return style === 'label' || style === 'matrix' + ? separator + joinedValues + : joinedValues; +}; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/types.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/types.ts new file mode 100644 index 0000000..2dd4106 --- /dev/null +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/core/types.ts @@ -0,0 +1,118 @@ +import type { Auth, AuthToken } from './auth'; +import type { + BodySerializer, + QuerySerializer, + QuerySerializerOptions, +} from './bodySerializer'; + +export interface Client< + RequestFn = never, + Config = unknown, + MethodFn = never, + BuildUrlFn = never, +> { + /** + * Returns the final request URL. + */ + buildUrl: BuildUrlFn; + connect: MethodFn; + delete: MethodFn; + get: MethodFn; + getConfig: () => Config; + head: MethodFn; + options: MethodFn; + patch: MethodFn; + post: MethodFn; + put: MethodFn; + request: RequestFn; + setConfig: (config: Config) => Config; + trace: MethodFn; +} + +export interface Config { + /** + * Auth token or a function returning auth token. The resolved value will be + * added to the request payload as defined by its `security` array. + */ + auth?: ((auth: Auth) => Promise | AuthToken) | AuthToken; + /** + * A function for serializing request body parameter. By default, + * {@link JSON.stringify()} will be used. + */ + bodySerializer?: BodySerializer | null; + /** + * An object containing any HTTP headers that you want to pre-populate your + * `Headers` object with. + * + * {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more} + */ + headers?: + | RequestInit['headers'] + | Record< + string, + | string + | number + | boolean + | (string | number | boolean)[] + | null + | undefined + | unknown + >; + /** + * The request method. + * + * {@link https://developer.mozilla.org/docs/Web/API/fetch#method See more} + */ + method?: + | 'CONNECT' + | 'DELETE' + | 'GET' + | 'HEAD' + | 'OPTIONS' + | 'PATCH' + | 'POST' + | 'PUT' + | 'TRACE'; + /** + * A function for serializing request query parameters. By default, arrays + * will be exploded in form style, objects will be exploded in deepObject + * style, and reserved characters are percent-encoded. + * + * This method will have no effect if the native `paramsSerializer()` Axios + * API function is used. + * + * {@link https://swagger.io/docs/specification/serialization/#query View examples} + */ + querySerializer?: QuerySerializer | QuerySerializerOptions; + /** + * A function validating request data. This is useful if you want to ensure + * the request conforms to the desired shape, so it can be safely sent to + * the server. + */ + requestValidator?: (data: unknown) => Promise; + /** + * A function transforming response data before it's returned. This is useful + * for post-processing data, e.g. converting ISO strings into Date objects. + */ + responseTransformer?: (data: unknown) => Promise; + /** + * A function validating response data. This is useful if you want to ensure + * the response conforms to the desired shape, so it can be safely passed to + * the transformers and returned to the user. + */ + responseValidator?: (data: unknown) => Promise; +} + +type IsExactlyNeverOrNeverUndefined = [T] extends [never] + ? true + : [T] extends [never | undefined] + ? [undefined] extends [T] + ? false + : true + : false; + +export type OmitNever> = { + [K in keyof T as IsExactlyNeverOrNeverUndefined extends true + ? never + : K]: T[K]; +}; diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/sdk.gen.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/sdk.gen.ts index bb685e1..0426604 100644 --- a/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/sdk.gen.ts +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/api/sdk.gen.ts @@ -1,7 +1,7 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; -import type { GetUmbracoReadingTimeApiV1Data, GetUmbracoReadingTimeApiV1Response } from './types.gen'; +import type { Options as ClientOptions, TDataShape, Client } from './client'; +import type { GetUmbracoReadingTimeApiV1Data, GetUmbracoReadingTimeApiV1Responses } from './types.gen'; import { client as _heyApiClient } from './client.gen'; export type Options = ClientOptions & { @@ -18,12 +18,11 @@ export type Options; }; -export class ReadingTimeService { +export class ReadingTime { public static getUmbracoReadingTimeApiV1(options?: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options?.client ?? _heyApiClient).get({ url: '/umbraco/ReadingTime/api/v1', ...options }); } - } \ No newline at end of file diff --git a/src/jcdcdev.Umbraco.ReadingTime.Client/src/repository/reading-time.datasource.ts b/src/jcdcdev.Umbraco.ReadingTime.Client/src/repository/reading-time.datasource.ts index e66738f..7941e2d 100644 --- a/src/jcdcdev.Umbraco.ReadingTime.Client/src/repository/reading-time.datasource.ts +++ b/src/jcdcdev.Umbraco.ReadingTime.Client/src/repository/reading-time.datasource.ts @@ -1,7 +1,7 @@ -import {UmbControllerHost} from "@umbraco-cms/backoffice/controller-api"; -import {UmbDataSourceResponse} from "@umbraco-cms/backoffice/repository"; -import {tryExecute} from "@umbraco-cms/backoffice/resources"; -import {ReadingTimeResponse, ReadingTimeService} from "../api"; +import { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api"; +import { UmbDataSourceResponse } from "@umbraco-cms/backoffice/repository"; +import { tryExecute } from "@umbraco-cms/backoffice/resources"; +import { ReadingTimeResponse, ReadingTime } from "../api"; export class ReadingTimeDataSource implements IReadingTimeDataSource { @@ -12,7 +12,7 @@ export class ReadingTimeDataSource implements IReadingTimeDataSource { } async getReadingTime(contentKey: string, dataTypeKey: string, culture?: string): Promise> { - return await tryExecute(this.#host, ReadingTimeService.getUmbracoReadingTimeApiV1({ + return await tryExecute(this.#host, ReadingTime.getUmbracoReadingTimeApiV1({ query: { contentKey: contentKey, dataTypeKey: dataTypeKey,