diff --git a/app/react/App/styles/globals.css b/app/react/App/styles/globals.css index 9d9efc6a2f..dca95d058a 100644 --- a/app/react/App/styles/globals.css +++ b/app/react/App/styles/globals.css @@ -1716,14 +1716,6 @@ input[type="range"]::-ms-fill-lower { margin: 0.5rem; } -.m-4 { - margin: 1rem; -} - -.m-5 { - margin: 1.25rem; -} - .m-auto { margin: auto; } @@ -1822,10 +1814,6 @@ input[type="range"]::-ms-fill-lower { margin-top: 0.5rem; } -.mt-20 { - margin-top: 5rem; -} - .mt-4 { margin-top: 1rem; } @@ -2108,10 +2096,6 @@ input[type="range"]::-ms-fill-lower { width: 50%; } -.w-60 { - width: 15rem; -} - .w-64 { width: 16rem; } @@ -2194,10 +2178,6 @@ input[type="range"]::-ms-fill-lower { min-width: 40rem; } -.min-w-full { - min-width: 100%; -} - .max-w-20 { max-width: 5rem; } @@ -2316,10 +2296,6 @@ input[type="range"]::-ms-fill-lower { cursor: default; } -.cursor-move { - cursor: move; -} - .cursor-not-allowed { cursor: not-allowed; } @@ -2410,26 +2386,14 @@ input[type="range"]::-ms-fill-lower { gap: 0.25rem; } -.gap-10 { - gap: 2.5rem; -} - .gap-2 { gap: 0.5rem; } -.gap-3 { - gap: 0.75rem; -} - .gap-4 { gap: 1rem; } -.gap-5 { - gap: 1.25rem; -} - .gap-6 { gap: 1.5rem; } @@ -2438,6 +2402,18 @@ input[type="range"]::-ms-fill-lower { gap: 2rem; } +.space-x-0 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0px * var(--tw-space-x-reverse)); + margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-0\.5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.125rem * var(--tw-space-x-reverse)); + margin-left: calc(0.125rem * calc(1 - var(--tw-space-x-reverse))); +} + .space-x-1 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.25rem * var(--tw-space-x-reverse)); @@ -2450,12 +2426,6 @@ input[type="range"]::-ms-fill-lower { margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); } -.space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); -} - .space-x-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(1rem * var(--tw-space-x-reverse)); @@ -2664,10 +2634,6 @@ input[type="range"]::-ms-fill-lower { border-top-width: 1px; } -.border-t-4 { - border-top-width: 4px; -} - .border-solid { border-style: solid; } @@ -2863,21 +2829,11 @@ input[type="range"]::-ms-fill-lower { background-color: rgb(229 231 235 / var(--tw-bg-opacity)); } -.bg-gray-400 { - --tw-bg-opacity: 1; - background-color: rgb(156 163 175 / var(--tw-bg-opacity)); -} - .bg-gray-50 { --tw-bg-opacity: 1; background-color: rgb(249 250 251 / var(--tw-bg-opacity)); } -.bg-gray-800 { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity)); -} - .bg-gray-900 { --tw-bg-opacity: 1; background-color: rgb(17 24 39 / var(--tw-bg-opacity)); @@ -2948,11 +2904,6 @@ input[type="range"]::-ms-fill-lower { background-color: rgb(238 242 255 / var(--tw-bg-opacity)); } -.bg-primary-600 { - --tw-bg-opacity: 1; - background-color: rgb(79 70 229 / var(--tw-bg-opacity)); -} - .bg-primary-700 { --tw-bg-opacity: 1; background-color: rgb(67 56 202 / var(--tw-bg-opacity)); @@ -3184,22 +3135,10 @@ input[type="range"]::-ms-fill-lower { padding-left: 0.25rem; } -.pl-3 { - padding-left: 0.75rem; -} - .pl-4 { padding-left: 1rem; } -.pl-5 { - padding-left: 1.25rem; -} - -.pl-7 { - padding-left: 1.75rem; -} - .pr-10 { padding-right: 2.5rem; } @@ -3488,11 +3427,6 @@ input[type="range"]::-ms-fill-lower { color: rgb(66 56 157 / var(--tw-text-opacity)); } -.text-indigo-900 { - --tw-text-opacity: 1; - color: rgb(54 47 120 / var(--tw-text-opacity)); -} - .text-orange-400 { --tw-text-opacity: 1; color: rgb(255 138 76 / var(--tw-text-opacity)); @@ -4265,11 +4199,6 @@ input[type="range"]::-ms-fill-lower { color: rgb(156 163 175 / var(--tw-placeholder-opacity)); } -:is(.dark .dark\:hover\:border-gray-500:hover) { - --tw-border-opacity: 1; - border-color: rgb(107 114 128 / var(--tw-border-opacity)); -} - :is(.dark .dark\:hover\:\!bg-primary-700:hover) { --tw-bg-opacity: 1 !important; background-color: rgb(67 56 202 / var(--tw-bg-opacity)) !important; @@ -4417,10 +4346,6 @@ input[type="range"]::-ms-fill-lower { } @media (min-width: 1024px) { - .lg\:grid { - display: grid; - } - .lg\:hidden { display: none; } @@ -4439,10 +4364,6 @@ input[type="range"]::-ms-fill-lower { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } - .lg\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - .lg\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; diff --git a/app/react/V2/Routes/Settings/Account/Components/TwoFactorSetup.tsx b/app/react/V2/Routes/Settings/Account/Components/TwoFactorSetup.tsx index f8879bf3d3..d52ab628e0 100644 --- a/app/react/V2/Routes/Settings/Account/Components/TwoFactorSetup.tsx +++ b/app/react/V2/Routes/Settings/Account/Components/TwoFactorSetup.tsx @@ -116,13 +116,14 @@ const TwoFactorSetup = ({ closePanel, isOpen }: TwoFactorSetupProps) => { size={180} bgColor="white" fgColor="black" + title="qr code" /> Secret keys}> @@ -157,7 +158,7 @@ const TwoFactorSetup = ({ closePanel, isOpen }: TwoFactorSetupProps) => { -
+
diff --git a/app/react/V2/Routes/Settings/MenuConfig/MenuConfig.tsx b/app/react/V2/Routes/Settings/MenuConfig/MenuConfig.tsx index ee540a045f..696938aa23 100644 --- a/app/react/V2/Routes/Settings/MenuConfig/MenuConfig.tsx +++ b/app/react/V2/Routes/Settings/MenuConfig/MenuConfig.tsx @@ -20,28 +20,23 @@ import { Link, sanitizeIds } from './shared'; const menuConfigloader = (headers?: IncomingHttpHeaders): LoaderFunction => async () => { - const rowIds: string[] = []; const tableRows = (await SettingsAPI.getLinks(headers)).map(link => { const linkWithRowId: Link = { ...link, rowId: link._id! }; - rowIds.push(link._id!); if (link.sublinks) { - linkWithRowId.subRows = link.sublinks.map((sublink, index) => { - rowIds.push(`${link._id}-${index}`); - return { - ...sublink, - rowId: `${link._id}-${index}`, - }; - }); + linkWithRowId.subRows = link.sublinks.map((sublink, index) => ({ + ...sublink, + rowId: `${link._id}-${index}`, + })); } return linkWithRowId; }); - return { links: tableRows, rowIds }; + return tableRows; }; const MenuConfig = () => { - const { links, rowIds } = useLoaderData() as { links: Link[]; rowIds: string[] }; + const links = useLoaderData() as Link[]; const [linkState, setLinkState] = useState(links); - const nextRowIds = useRef(rowIds); + const prevLinks = useRef(links); const [selectedLinks, setSelectedLinks] = useState({}); const [isSidepanelOpen, setIsSidepanelOpen] = useState(false); const setNotifications = useSetAtom(notificationAtom); @@ -50,7 +45,7 @@ const MenuConfig = () => { const [showModal, setShowModal] = useState(false); const setSettings = useSetAtom(settingsAtom); - const areEqual = isEqual(rowIds, nextRowIds.current); + const areEqual = isEqual(linkState, prevLinks.current); const blocker = useBlocker(!areEqual); @@ -108,22 +103,9 @@ const MenuConfig = () => { }, [blocker, setShowModal]); useEffect(() => { - nextRowIds.current = rowIds; + prevLinks.current = links; setLinkState(links); - //rowIds is derived from links, no need to add links to the deps - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [rowIds]); - - useEffect(() => { - const updatedRowsIds: string[] = []; - linkState.forEach(link => { - updatedRowsIds.push(link.rowId!); - if (link.subRows) { - link.subRows.forEach(subRow => updatedRowsIds.push(subRow.rowId!)); - } - }); - nextRowIds.current = updatedRowsIds; - }, [rowIds, linkState]); + }, [links]); return (
{ let secret: string; it('pass accessibility tests', () => { - cy.contains('button', 'Enable').click(); + cy.get('#account-form').within(() => { + cy.contains('button', 'Enable').click({ force: true }); + }); + cy.contains('Using Authenticator'); cy.checkA11y(); }); it('should enable 2FA', () => { - // eslint-disable-next-line cypress/unsafe-to-chain-command - cy.getByTestId('copy-value-button').focus(); + cy.getByTestId('copy-value-button').focus({ timeout: 5000 }); cy.getByTestId('copy-value-button').realClick(); cy.window() .then(async win => win.navigator.clipboard.readText()) diff --git a/cypress/e2e/settings/menu.cy.ts b/cypress/e2e/settings/menu.cy.ts index d3834c75ba..e6526d66e4 100644 --- a/cypress/e2e/settings/menu.cy.ts +++ b/cypress/e2e/settings/menu.cy.ts @@ -60,7 +60,7 @@ describe('Menu configuration', () => { cy.contains('caption', 'Menu'); }); - it('tests Add groups', () => { + it('it should add groups', () => { cy.getByTestId('menu-add-group').click(); cy.get('#link-title').click(); cy.get('#link-title').type('Group 1', { delay: 0 }); @@ -74,7 +74,7 @@ describe('Menu configuration', () => { cy.wait('@fetchLinks'); }); - it('tests Edit', () => { + it('should edit items and put them into groups', () => { cy.get('tbody tr:nth-of-type(1)').contains('Edit').click(); cy.get('#link-title').type(' edited', { delay: 0 }); cy.get('#link-group').select('Group 1'); @@ -100,7 +100,7 @@ describe('Menu configuration', () => { cy.getByTestId('menu-save').should('be.disabled'); }); - it('tests edit groups', () => { + it('should swich items from groups', () => { cy.get('tbody tr:nth-of-type(3)').contains('button', 'Group').click(); cy.get('tbody tr:nth-of-type(2)').contains('button', 'Group').click(); @@ -117,6 +117,18 @@ describe('Menu configuration', () => { cy.wait('@fetchLinks'); }); + it('should edit a child item', () => { + cy.contains('tr', 'Link 1 edited').contains('button', 'Edit').click(); + cy.get('aside').within(() => { + cy.get('#link-title').clear(); + cy.get('#link-title').type('Link A', { delay: 0 }); + cy.contains('button', 'Update').click(); + }); + cy.getByTestId('menu-save').click(); + cy.contains('Dismiss').click(); + cy.wait('@fetchLinks'); + }); + it('should update the navigation bar with the changes', () => { cy.get('.menuItems > .menuNav-list > .menuNav-item') .should('have.length', 3) @@ -124,7 +136,7 @@ describe('Menu configuration', () => { .should('deep.equal', ['Link 3', 'Group 1  ', 'Group 2  ']); cy.get('.menuItems > .menuNav-list > .menuNav-item').eq(2).click(); - cy.get('.dropdown-menu.expanded').contains('Link 1 edited'); + cy.get('.dropdown-menu.expanded').contains('Link A'); }); it('tests delete', () => { @@ -148,7 +160,7 @@ describe('Menu configuration', () => { cy.get('.dropdown-menu.expanded').should('be.empty'); cy.contains('Group 2').click(); cy.get('.dropdown-menu.expanded').within(() => { - cy.contains('Link 1 edited'); + cy.contains('Link A'); }); }); }); diff --git a/cypress/e2e/settings/thesauri.cy.ts b/cypress/e2e/settings/thesauri.cy.ts index b13edcc028..6a3a90ccaf 100644 --- a/cypress/e2e/settings/thesauri.cy.ts +++ b/cypress/e2e/settings/thesauri.cy.ts @@ -206,14 +206,14 @@ describe('Thesauri configuration', () => { cy.clearAndType('input[name="subRows.0.label"]', 'Blue', { delay: 0 }); cy.contains('button', 'Edit group').click(); cy.contains('button', 'Save').click(); - cy.contains('Thesauri updated.'); - cy.contains('Dismiss').click(); + cy.contains('Thesauri updated.').as('successMessage'); + cy.get('@successMessage').should('not.exist'); }); it('should reflect the changes in the Entities', () => { - cy.contains('a', 'Library', { timeout: 3000 }).click(); + cy.contains('a', 'Library', { timeout: 5000 }).click(); cy.contains('.multiselectItem-name', 'País').click(); - //for the library sidepanel to reload by selecting another entity first so that 'País select' + //for the library sidepanel to reload by selecting anoth er entity first so that 'País select' //loads correctly. cy.contains('.item-document', 'Bolivia').click(); cy.contains('.item-document', 'País select').click(); diff --git a/package.json b/package.json index aff92859d9..743e68555f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uwazi", - "version": "1.181.0-rc2", + "version": "1.184.0-rc2", "description": "Uwazi is a free, open-source solution for organising, analysing and publishing your documents.", "keywords": [ "react" @@ -110,7 +110,7 @@ "@huridocs/react-text-selection-handler": "^0.3.0", "@loadable/component": "^5.16.4", "@popperjs/core": "^2.11.8", - "@remix-run/router": "^1.16.1", + "@remix-run/router": "^1.19.2", "@sentry/node": "^7.114.0", "@sentry/react": "7.114.0", "@sentry/tracing": "^7.114.0", @@ -118,7 +118,7 @@ "@socket.io/redis-adapter": "7.2.0", "@socket.io/redis-emitter": "5.1.0", "@supercharge/promise-pool": "^3.2.0", - "@tanstack/react-table": "^8.19.3", + "@tanstack/react-table": "^8.20.5", "@types/franc": "^5.0.1", "@types/lodash": "^4.14.170", "@types/mime-types": "^2.1.1", @@ -146,11 +146,11 @@ "date-fns": "^3.6.0", "diacritics": "^1.3.0", "dotenv": "^16.4.5", - "express": "^4.19.2", - "express-http-proxy": "^2.0.0", + "express": "^4.20.0", + "express-http-proxy": "^2.1.1", "express-prom-bundle": "^7.0.0", "express-session": "1.18.0", - "filesize": "^10.1.4", + "filesize": "^10.1.6", "flag-icon-css": "^4.1.7", "flowbite": "^2.3.0", "flowbite-datepicker": "^1.2.7", @@ -164,7 +164,7 @@ "immutable": "^3.7.6", "is-reachable": "^5.2.1", "isomorphic-fetch": "3.0.0", - "jotai": "^2.9.1", + "jotai": "^2.9.3", "json-schema": "^0.4.0", "json-schema-to-typescript": "^13.1.2", "jvent": "1.0.2", @@ -172,7 +172,7 @@ "leaflet.gridlayer.googlemutant": "^0.14.1", "leaflet.markercluster": "^1.5.3", "lodash": "^4.17.21", - "luxon": "^3.4.4", + "luxon": "^3.5.0", "mark.js": "^8.11.1", "markdown-it": "14.1.0", "markdown-it-container": "4.0.0", @@ -190,12 +190,12 @@ "otplib": "^11.0.1", "passport": "^0.7.0", "passport-local": "^1.0.0", - "pdfjs-dist": "^4.5.136", + "pdfjs-dist": "^4.6.82", "postcss-loader": "^8.1.1", "postcss-prefix-selector": "^1.16.0", "prom-client": "^15.1.3", "prop-types": "^15.8.1", - "qrcode.react": "^3.1.0", + "qrcode.react": "^4.0.1", "qs": "^6.13.0", "react": "^18.3.1", "react-color": "^2.19.3", @@ -283,7 +283,7 @@ "@storybook/react": "^8.1.11", "@storybook/react-webpack5": "^8.1.11", "@storybook/test": "^8.1.11", - "@testing-library/jest-dom": "^6.4.8", + "@testing-library/jest-dom": "^6.5.0", "@testing-library/react": "^15.0.7", "@testing-library/user-event": "^14.5.2", "@types/body-parser": "^1.19.2", @@ -293,7 +293,7 @@ "@types/enzyme": "3.10.12", "@types/enzyme-adapter-react-16": "1.0.2", "@types/expect-puppeteer": "4.4.7", - "@types/express": "4.17.13", + "@types/express": "4.17.21", "@types/express-session": "1.18.0", "@types/google.maps": "^3.48.2", "@types/immutable": "^3.8.7", @@ -355,7 +355,7 @@ "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "5.1.3", - "eslint-plugin-react": "v7.34.3", + "eslint-plugin-react": "v7.35.2", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-storybook": "^0.8.0", "fetch-mock": "^9.11.0", @@ -373,19 +373,19 @@ "node-polyfill-webpack-plugin": "^4.0.0", "nodemon": "^3.1.4", "plop": "^4.0.1", - "postcss": "^8.4.41", + "postcss": "^8.4.45", "prettier": "3.3.3", "puppeteer": "^13.5.2", "react-dnd-test-backend": "15.1.1", "redux-mock-store": "^1.5.4", "rtlcss-webpack-plugin": "4.0.7", - "sass": "^1.77.8", + "sass": "^1.78.0", "sass-loader": "16.0.1", "storybook": "^8.1.11", "stream-mock": "^2.0.5", "supertest": "7.0.0", "svg-inline-loader": "^0.8.2", - "tailwindcss": "^3.4.1", + "tailwindcss": "^3.4.10", "terser-webpack-plugin": "^5.3.10", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", diff --git a/yarn.lock b/yarn.lock index e7846ad904..42a9f30708 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3125,11 +3125,16 @@ resolved "https://registry.yarnpkg.com/@react-dnd/shallowequal/-/shallowequal-4.0.2.tgz#d1b4befa423f692fa4abf1c79209702e7d8ae4b4" integrity sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA== -"@remix-run/router@1.16.1", "@remix-run/router@^1.16.1": +"@remix-run/router@1.16.1": version "1.16.1" resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.1.tgz#73db3c48b975eeb06d0006481bde4f5f2d17d1cd" integrity sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig== +"@remix-run/router@^1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.19.2.tgz#0c896535473291cb41f152c180bedd5680a3b273" + integrity sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA== + "@sentry-internal/feedback@7.114.0": version "7.114.0" resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.114.0.tgz#8a1c3d8bbd014c1823d30b9b1128eb244d357c3e" @@ -4528,17 +4533,17 @@ dependencies: defer-to-connect "^2.0.0" -"@tanstack/react-table@^8.19.3": - version "8.19.3" - resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.19.3.tgz#be1d9ee991ac06b7d4d17cc5c66469ac157bfd8a" - integrity sha512-MtgPZc4y+cCRtU16y1vh1myuyZ2OdkWgMEBzyjYsoMWMicKZGZvcDnub3Zwb6XF2pj9iRMvm1SO1n57lS0vXLw== +"@tanstack/react-table@^8.20.5": + version "8.20.5" + resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.20.5.tgz#19987d101e1ea25ef5406dce4352cab3932449d8" + integrity sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA== dependencies: - "@tanstack/table-core" "8.19.3" + "@tanstack/table-core" "8.20.5" -"@tanstack/table-core@8.19.3": - version "8.19.3" - resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.19.3.tgz#669e3eca2179ee3456fc068fed8683df01607c43" - integrity sha512-IqREj9ADoml9zCAouIG/5kCGoyIxPFdqdyoxis9FisXFi5vT+iYfEfLosq4xkU/iDbMcEuAj+X8dWRLvKYDNoQ== +"@tanstack/table-core@8.20.5": + version "8.20.5" + resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.20.5.tgz#3974f0b090bed11243d4107283824167a395cf1d" + integrity sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg== "@testing-library/dom@10.1.0", "@testing-library/dom@^10.0.0": version "10.1.0" @@ -4568,13 +4573,12 @@ lodash "^4.17.21" redent "^3.0.0" -"@testing-library/jest-dom@^6.4.8": - version "6.4.8" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.4.8.tgz#9c435742b20c6183d4e7034f2b329d562c079daa" - integrity sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw== +"@testing-library/jest-dom@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz#50484da3f80fb222a853479f618a9ce5c47bfe54" + integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== dependencies: "@adobe/css-tools" "^4.4.0" - "@babel/runtime" "^7.9.2" aria-query "^5.0.0" chalk "^3.0.0" css.escape "^1.5.1" @@ -4879,7 +4883,7 @@ "@types/jest" "*" "@types/puppeteer" "*" -"@types/express-serve-static-core@^4.17.18", "@types/express-serve-static-core@^4.17.33": +"@types/express-serve-static-core@^4.17.33": version "4.17.33" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== @@ -4895,7 +4899,7 @@ dependencies: "@types/express" "*" -"@types/express@*", "@types/express@^4.17.21", "@types/express@^4.7.0": +"@types/express@*", "@types/express@4.17.21", "@types/express@^4.17.21", "@types/express@^4.7.0": version "4.17.21" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== @@ -4905,16 +4909,6 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/express@4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - "@types/fined@*": version "1.1.3" resolved "https://registry.npmjs.org/@types/fined/-/fined-1.1.3.tgz" @@ -6169,16 +6163,6 @@ array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.toreversed@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" - integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - array.prototype.tosorted@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" @@ -6568,10 +6552,10 @@ bn.js@^5.0.0, bn.js@^5.2.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -body-parser@1.20.2, body-parser@^1.20.2: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== +body-parser@1.20.3, body-parser@^1.20.2: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" content-type "~1.0.5" @@ -6581,7 +6565,7 @@ body-parser@1.20.2, body-parser@^1.20.2: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" + qs "6.13.0" raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -8664,6 +8648,11 @@ encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -8842,7 +8831,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2, es-abstract@^1.23.3: +es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2, es-abstract@^1.23.3: version "1.23.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== @@ -9216,29 +9205,29 @@ eslint-plugin-react-hooks@^4.6.2: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== -eslint-plugin-react@v7.34.3: - version "7.34.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz#9965f27bd1250a787b5d4cfcc765e5a5d58dcb7b" - integrity sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA== +eslint-plugin-react@v7.35.2: + version "7.35.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.35.2.tgz#d32500d3ec268656d5071918bfec78cfd8b070ed" + integrity sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ== dependencies: array-includes "^3.1.8" array.prototype.findlast "^1.2.5" array.prototype.flatmap "^1.3.2" - array.prototype.toreversed "^1.1.2" array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" es-iterator-helpers "^1.0.19" estraverse "^5.3.0" + hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" object.entries "^1.1.8" object.fromentries "^2.0.8" - object.hasown "^1.1.4" object.values "^1.2.0" prop-types "^15.8.1" resolve "^2.0.0-next.5" semver "^6.3.1" string.prototype.matchall "^4.0.11" + string.prototype.repeat "^1.0.0" eslint-plugin-storybook@^0.8.0: version "0.8.0" @@ -9509,10 +9498,10 @@ expect@^29.0.0, expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" -express-http-proxy@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/express-http-proxy/-/express-http-proxy-2.0.0.tgz#c47f4d8b53e8d9c2b9a2f1d158eedf6eb84828a5" - integrity sha512-TXxcPFTWVUMSEmyM6iX2sT/JtmqhqngTq29P+eXTVFdtxZrTmM8THUYK59rUXiln0FfPGvxEpGRnVrgvHksXDw== +express-http-proxy@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/express-http-proxy/-/express-http-proxy-2.1.1.tgz#90bd7eaee5166be968157b035eb6b499d2af2bf4" + integrity sha512-4aRQRqDQU7qNPV5av0/hLcyc0guB9UP71nCYrQEYml7YphTo8tmWf3nDZWdTJMMjFikyz9xKXaURor7Chygdwg== dependencies: debug "^3.0.1" es6-promise "^4.1.1" @@ -9542,37 +9531,37 @@ express-session@1.18.0: safe-buffer "5.2.1" uid-safe "~2.1.5" -express@^4.17.3, express@^4.18.2, express@^4.19.2: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== +express@^4.17.3, express@^4.18.2, express@^4.20.0: + version "4.20.0" + resolved "https://registry.yarnpkg.com/express/-/express-4.20.0.tgz#f1d08e591fcec770c07be4767af8eb9bcfd67c48" + integrity sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.2" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" cookie "0.6.0" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" finalhandler "1.2.0" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.10" proxy-addr "~2.0.7" qs "6.11.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.0" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -9774,10 +9763,10 @@ filelist@^1.0.4: dependencies: minimatch "^5.0.1" -filesize@^10.0.12, filesize@^10.1.4: - version "10.1.4" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-10.1.4.tgz#184f256063a201f08b6e6b3cc47d21b60f5b8d89" - integrity sha512-ryBwPIIeErmxgPnm6cbESAzXjuEFubs+yKYLBZvg3CaiNcmkJChoOGcBSrZ6IwkMwPABwPpVXE6IlNdGJJrvEg== +filesize@^10.0.12, filesize@^10.1.6: + version "10.1.6" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-10.1.6.tgz#31194da825ac58689c0bce3948f33ce83aabd361" + integrity sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w== fill-range@^7.1.1: version "7.1.1" @@ -12135,10 +12124,10 @@ jimp@^0.10.3: core-js "^3.4.1" regenerator-runtime "^0.13.3" -jiti@^1.19.1, jiti@^1.20.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== +jiti@^1.20.0, jiti@^1.21.0: + version "1.21.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== joi@^17.6.0: version "17.6.0" @@ -12151,10 +12140,10 @@ joi@^17.6.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" -jotai@^2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.1.tgz#f32dd16fc16b7b32d940a3a8d452eddfcb16218c" - integrity sha512-t4Q7FIqQB3N/1art4OcqdlEtPmQ2h4DNIzTFhvt06WE0kCpQ1QoG+1A1IGTaQBi2KdDRsnywj+ojmHHKgw6PDA== +jotai@^2.9.3: + version "2.9.3" + resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.3.tgz#abcae49a737cd50e3144a6c9eb39840db077c727" + integrity sha512-IqMWKoXuEzWSShjd9UhalNsRGbdju5G2FrqNLQJT+Ih6p41VNYe2sav5hnwQx4HJr25jq9wRqvGSWGviGG6Gjw== jpeg-js@^0.3.4: version "0.3.7" @@ -12784,10 +12773,10 @@ lru-queue@^0.1.0: dependencies: es5-ext "~0.10.2" -luxon@^3.4.4: - version "3.4.4" - resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.4.tgz#cf20dc27dc532ba41a169c43fdcc0063601577af" - integrity sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA== +luxon@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.5.0.tgz#6b6f65c5cd1d61d1fd19dbf07ee87a50bf4b8e20" + integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== lz-string@^1.5.0: version "1.5.0" @@ -12956,9 +12945,10 @@ merge-deep@^3.0.3: clone-deep "^0.2.4" kind-of "^3.0.2" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" @@ -13623,15 +13613,6 @@ object.groupby@^1.0.1: es-abstract "^1.22.1" get-intrinsic "^1.2.1" -object.hasown@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc" - integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== - dependencies: - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - object.map@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" @@ -14083,9 +14064,10 @@ path-scurry@^1.10.1, path-scurry@^1.6.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" +path-to-regexp@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" + integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== path-to-regexp@^2.2.1: version "2.4.0" @@ -14130,10 +14112,10 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -pdfjs-dist@^4.5.136: - version "4.5.136" - resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.5.136.tgz#4c6f67252d4e23212f43b36537a142171ebfb1ca" - integrity sha512-V1BALcAN/FmxBEShLxoP73PlQZAZtzlaNfRbRhJrKvXzjLC5VaIlBAQUJuWP8iaYUmIdmdLHmt3E2TBglxOm3w== +pdfjs-dist@^4.6.82: + version "4.6.82" + resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.6.82.tgz#4f171289f1810f324cd17c58bc59bd5bd0e0db7e" + integrity sha512-BUOryeRFwvbLe0lOU6NhkJNuVQUp06WxlJVVCsxdmJ4y5cU3O3s3/0DunVdK1PMm7v2MUw52qKYaidhDH1Z9+w== optionalDependencies: canvas "^2.11.2" path2d "^0.2.1" @@ -14565,10 +14547,10 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.3.11, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.38, postcss@^8.4.41: - version "8.4.41" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" - integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== +postcss@^8.3.11, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.38, postcss@^8.4.45: + version "8.4.45" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.45.tgz#538d13d89a16ef71edbf75d895284ae06b79e603" + integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q== dependencies: nanoid "^3.3.7" picocolors "^1.0.1" @@ -14801,10 +14783,10 @@ pure-rand@^6.0.0: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== -qrcode.react@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" - integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== +qrcode.react@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-4.0.1.tgz#1caf1d3f45bf1b6d9cf800cb0f0d671f6a89e68f" + integrity sha512-Lpj0tPBn561WiQ3QQWXbkx8xTtB8BZkJeMZWLJIL8iaPBCoWzW1IpCeU3gY5MDqsb0+efCvEGkl9O0naP64crA== qs@6.10.4: version "6.10.4" @@ -14820,7 +14802,7 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -qs@^6.10.0, qs@^6.11.0, qs@^6.11.2, qs@^6.13.0: +qs@6.13.0, qs@^6.10.0, qs@^6.11.0, qs@^6.11.2, qs@^6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== @@ -15871,10 +15853,10 @@ sass-loader@16.0.1: dependencies: neo-async "^2.6.2" -sass@^1.77.8: - version "1.77.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.8.tgz#9f18b449ea401759ef7ec1752a16373e296b52bd" - integrity sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ== +sass@^1.78.0: + version "1.78.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.78.0.tgz#cef369b2f9dc21ea1d2cf22c979f52365da60841" + integrity sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -15956,6 +15938,25 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + sentence-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" @@ -15972,10 +15973,10 @@ serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: dependencies: randombytes "^2.1.0" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.0.tgz#2bf4ed49f8af311b519c46f272bf6ac3baf38a92" + integrity sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" @@ -16480,6 +16481,14 @@ string.prototype.matchall@^4.0.11: set-function-name "^2.0.2" side-channel "^1.0.6" +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trim@^1.2.1, string.prototype.trim@^1.2.9: version "1.2.9" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" @@ -16735,10 +16744,10 @@ tailwind-merge@2.3.0: dependencies: "@babel/runtime" "^7.24.1" -tailwindcss@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.1.tgz#f512ca5d1dd4c9503c7d3d28a968f1ad8f5c839d" - integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA== +tailwindcss@^3.4.10: + version "3.4.10" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.10.tgz#70442d9aeb78758d1f911af29af8255ecdb8ffef" + integrity sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" @@ -16748,7 +16757,7 @@ tailwindcss@^3.4.1: fast-glob "^3.3.0" glob-parent "^6.0.2" is-glob "^4.0.3" - jiti "^1.19.1" + jiti "^1.21.0" lilconfig "^2.1.0" micromatch "^4.0.5" normalize-path "^3.0.0"