diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 730db283d5..c2380e00c1 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -8,13 +8,17 @@ on: branches: [ master ] pull_request: branches: [ master ] +permissions: + contents: write + pull-requests: write + packages: write jobs: lint: runs-on: ubuntu-latest strategy: matrix: - node-version: [16.13.0] + node-version: [16.20.0] steps: - uses: actions/checkout@v2 - name: Install and run lint @@ -28,7 +32,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [16.13.0] + node-version: [16.20.0] test-script: ["ci:test-unit", "ci:test-e2e-layouts","ci:test-e2e-styleParams", "ci:test-e2e-integration"] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: @@ -51,10 +55,13 @@ jobs: needs: [lint, tests] strategy: matrix: - node-version: [16.13.0] + node-version: [16.20.0] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v2 + with: + token: ${{ secrets.PAT_TOKEN }} + fetch-depth: 0 - name: Install, build, configure git and lerna publish uses: actions/setup-node@v2 with: @@ -71,6 +78,7 @@ jobs: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + PAT_TOKEN: ${{ secrets.PAT_TOKEN }} - name: Push to master if: github.event_name == 'push' # run: echo "this is a push to master" @@ -80,19 +88,21 @@ jobs: npm run changelog env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + PAT_TOKEN: ${{ secrets.PAT_TOKEN }} - name: Push to pull request if: github.event_name == 'pull_request' && github.actor != 'dependabot' # run: echo "PULL REQUEST PUSH" run: lerna publish --canary --preid ${{ github.sha }} --yes --registry https://registry.npmjs.org env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + PAT_TOKEN: ${{ secrets.PAT_TOKEN }} update-playground: runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' needs: [lint, tests] strategy: matrix: - node-version: [16.13.0] + node-version: [16.20.0] steps: - uses: actions/checkout@v2 - name: update-playground diff --git a/.nvmrc b/.nvmrc index 58a4133d91..fac0b0a839 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.13.0 +16.20.0 diff --git a/README.md b/README.md index 9ba315bfab..38f517ad5a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Pro Gallery -Blazing fast & beautiful galleries built with React. [Try it out now.](https://pro-gallery.surge.sh) +Blazing fast & beautiful galleries built with React. [Try it out now.](https://pro-gallery.surge.sh). - Responsive - Lazy loading - Infinite Scroll diff --git a/lerna.json b/lerna.json index a9cba39f07..81107851c1 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": [ "packages/*" ], - "version": "5.0.104" + "version": "5.0.112" } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index fed33cbe17..c331261718 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,41 +27,28 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", - "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -2695,13 +2682,16 @@ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2763,17 +2753,18 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -2849,10 +2840,13 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -3020,19 +3014,36 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -3545,6 +3556,57 @@ "node": ">=0.10" } }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", @@ -3642,17 +3704,20 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { @@ -3847,50 +3912,57 @@ } }, "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -3905,15 +3977,48 @@ "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", "dev": true }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -3937,9 +4042,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -4388,16 +4493,20 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4496,13 +4605,14 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -4652,12 +4762,13 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -4683,12 +4794,12 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4794,21 +4905,21 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, "engines": { "node": ">= 0.4" @@ -4830,12 +4941,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -4851,9 +4962,9 @@ "dev": true }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "dependencies": { "function-bind": "^1.1.2" @@ -5370,12 +5481,12 @@ } }, "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", + "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" }, @@ -5390,14 +5501,16 @@ "dev": true }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5473,6 +5586,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -5525,9 +5653,9 @@ "dev": true }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "engines": { "node": ">= 0.4" @@ -5622,12 +5750,15 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5696,12 +5827,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -7048,9 +7179,9 @@ "dev": true }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true, "engines": { "node": ">= 0.6" @@ -7501,10 +7632,13 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7519,13 +7653,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -8017,6 +8151,12 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -8080,6 +8220,15 @@ "semver-compare": "^1.0.0" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", @@ -8222,12 +8371,12 @@ } }, "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -8595,14 +8744,15 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -8818,13 +8968,13 @@ "dev": true }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -8856,15 +9006,18 @@ ] }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8909,29 +9062,32 @@ "dev": true }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -8999,14 +9155,18 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9322,14 +9482,15 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -9339,28 +9500,31 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9672,29 +9836,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -9704,16 +9869,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -9723,14 +9889,20 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10002,16 +10174,16 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" diff --git a/package.json b/package.json index 3fff16f027..2b2c134e95 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,9 @@ "ci:test-e2e-integration": "start-server-and-test ci:run-playground http-get://localhost:3006 'lerna run test:e2e-integration'", "build-all-and-start-playground": "npm run start-playground" }, + "overrides": { + "cheerio": "1.0.0-rc.3" + }, "husky": { "hooks": { "pre-commit": "lint-staged" diff --git a/packages/blueprints/.nvmrc b/packages/blueprints/.nvmrc index 58a4133d91..fac0b0a839 100644 --- a/packages/blueprints/.nvmrc +++ b/packages/blueprints/.nvmrc @@ -1 +1 @@ -16.13.0 +16.20.0 diff --git a/packages/blueprints/package.json b/packages/blueprints/package.json index 99801f691e..8b77d13cb3 100644 --- a/packages/blueprints/package.json +++ b/packages/blueprints/package.json @@ -1,6 +1,6 @@ { "name": "pro-gallery-blueprints", - "version": "5.0.104", + "version": "5.0.112", "private": false, "author": { "name": "Nir Naor", @@ -48,8 +48,8 @@ "typescript": "^4.9.5" }, "dependencies": { - "pro-gallery-lib": "5.0.104", - "pro-layouts": "5.0.104" + "pro-gallery-lib": "5.0.112", + "pro-layouts": "5.0.112" }, "publishConfig": { "registry": "https://registry.npmjs.org/" diff --git a/packages/gallery/.nvmrc b/packages/gallery/.nvmrc index 58a4133d91..fac0b0a839 100644 --- a/packages/gallery/.nvmrc +++ b/packages/gallery/.nvmrc @@ -1 +1 @@ -16.13.0 +16.20.0 diff --git a/packages/gallery/package.json b/packages/gallery/package.json index b352d1a825..cb68874dc4 100644 --- a/packages/gallery/package.json +++ b/packages/gallery/package.json @@ -1,7 +1,7 @@ { "private": false, "name": "pro-gallery", - "version": "5.0.104", + "version": "5.0.112", "sideEffects": [ "./src/components/styles/gallery.scss" ], @@ -45,9 +45,9 @@ "dependencies": { "@vimeo/player": "2.8.2", "hls.js": "1.4.12", - "pro-gallery-blueprints": "5.0.104", - "pro-gallery-lib": "5.0.104", - "pro-layouts": "5.0.104", + "pro-gallery-blueprints": "5.0.112", + "pro-gallery-lib": "5.0.112", + "pro-layouts": "5.0.112", "react": "^18.2.0", "react-dom": "^18.2.0", "react-player": "2.11.0", diff --git a/packages/gallery/src/components/gallery/proGallery/navigationArrows.js b/packages/gallery/src/components/gallery/proGallery/navigationArrows.js index 109df41518..9e4e9d7951 100644 --- a/packages/gallery/src/components/gallery/proGallery/navigationArrows.js +++ b/packages/gallery/src/components/gallery/proGallery/navigationArrows.js @@ -115,7 +115,6 @@ export function NavigationArrows({ next, directionIsLeft, arrowsBaseClasses, - tabIndex: utils.getTabIndex.bind(utils), containerStyle, prevContainerStyle, nextContainerStyle, @@ -168,7 +167,6 @@ export function ArrowButton({ directionIsLeft, renderArrowSvg, next, - tabIndex, arrowBoxStyle, navArrowsContainerWidth, navArrowsContainerHeight, @@ -180,7 +178,7 @@ export function ArrowButton({ className: arrowsBaseClasses.join(' '), onClick: () => setTimeout(nextAction, 0), ['aria-label']: `${isNext ? 'Next' : 'Previous'} Item`, - tabIndex: tabIndex(isNext ? 'slideshowNext' : 'slideshowPrev'), + tabIndex: '-1', key: !isNext ? 'nav-arrow-back' : 'nav-arrow-next', ['data-hook']: !isNext ? 'nav-arrow-back' : 'nav-arrow-next', style: { diff --git a/packages/gallery/src/components/gallery/proGallery/navigationPanel.js b/packages/gallery/src/components/gallery/proGallery/navigationPanel.js index c1f0b8cd7a..40980adeab 100644 --- a/packages/gallery/src/components/gallery/proGallery/navigationPanel.js +++ b/packages/gallery/src/components/gallery/proGallery/navigationPanel.js @@ -70,7 +70,7 @@ class NavigationPanel extends React.Component { style={{ ...thumbnailsStyle }} > {items.map(({ thumbnailItem, location, idx }) => { - const highlighted = idx === activeIndex % items.length; + const highlighted = idx === activeIndex % clearedGalleryItems.length; const itemStyle = { width: options[optionsMap.layoutParams.thumbnails.size], height: options[optionsMap.layoutParams.thumbnails.size], diff --git a/packages/gallery/src/components/gallery/proGallery/slideshowView.js b/packages/gallery/src/components/gallery/proGallery/slideshowView.js index a582d9a70a..9fc82a793e 100644 --- a/packages/gallery/src/components/gallery/proGallery/slideshowView.js +++ b/packages/gallery/src/components/gallery/proGallery/slideshowView.js @@ -67,34 +67,34 @@ class SlideshowView extends React.Component { return this.state.activeIndex === 0; } - isScrollStart() { - const slideAnimation = this.props.options.behaviourParams_gallery_horizontal_slideAnimation; + isScrollStart(props = this.props) { + const slideAnimation = props.options.behaviourParams_gallery_horizontal_slideAnimation; if ( slideAnimation !== GALLERY_CONSTS[optionsMap.behaviourParams.gallery.horizontal.slideAnimation].SCROLL || !this.scrollElement ) { return false; } - return this.scrollPosition() <= 1; + return this.scrollPosition(props) <= 1; } isScrollEnd(props = this.props) { - const slideAnimation = this.props.options.behaviourParams_gallery_horizontal_slideAnimation; + const slideAnimation = props.options.behaviourParams_gallery_horizontal_slideAnimation; if ( - this.props.options.behaviourParams_gallery_horizontal_loop || + props.options.behaviourParams_gallery_horizontal_loop || slideAnimation === GALLERY_CONSTS[optionsMap.behaviourParams.gallery.horizontal.slideAnimation].FADE || slideAnimation === GALLERY_CONSTS[optionsMap.behaviourParams.gallery.horizontal.slideAnimation].DECK ) { return false; } return ( - this.isAllItemsLoaded() && - this.scrollPositionAtTheAndOfTheGallery() >= Math.floor(this.getScrollElementWidth(props)) + this.isAllItemsLoaded(props) && + this.scrollPositionAtTheAndOfTheGallery(props) >= Math.floor(this.getScrollElementWidth(props)) ); } - isAllItemsLoaded() { - const { totalItemsCount, getVisibleItems, galleryStructure, container, isPrerenderMode } = this.props; + isAllItemsLoaded(props = this.props) { + const { totalItemsCount, getVisibleItems, galleryStructure, container, isPrerenderMode } = props; const visibleItemsCount = getVisibleItems(galleryStructure.galleryItems, container, isPrerenderMode).length; return visibleItemsCount >= totalItemsCount; } @@ -1006,21 +1006,21 @@ class SlideshowView extends React.Component { }; } - getScrollPosition() { - return this.scrollElement ? this.scrollPosition() : 0; + getScrollPosition(props = this.props) { + return this.scrollElement ? this.scrollPosition(props) : 0; } scrollPositionAtTheMiddleOfTheGallery() { return this.getScrollPosition() + this.props.container.galleryWidth / 2; } - scrollPositionAtTheAndOfTheGallery() { - return this.getScrollPosition() + this.props.container.galleryWidth; + scrollPositionAtTheAndOfTheGallery(props = this.props) { + return this.getScrollPosition(props) + props.container.galleryWidth; } - scrollPosition() { + scrollPosition(props = this.props) { return ( - (this.props.options.behaviourParams_gallery_layoutDirection === + (props.options.behaviourParams_gallery_layoutDirection === GALLERY_CONSTS[optionsMap.behaviourParams.gallery.layoutDirection].RIGHT_TO_LEFT ? -1 : 1) * this.scrollElement.scrollLeft @@ -1114,7 +1114,7 @@ class SlideshowView extends React.Component { GALLERY_CONSTS[optionsMap.behaviourParams.gallery.layoutDirection].RIGHT_TO_LEFT; const { hideLeftArrow, hideRightArrow } = this.state; - const isScrollStart = this.isScrollStart(); + const isScrollStart = this.isScrollStart(props); const isFirstItem = this.isFirstItem(); const isScrollEnd = this.isScrollEnd(props); const isLastItem = this.isLastItem(props); diff --git a/packages/gallery/src/components/item/itemView.js b/packages/gallery/src/components/item/itemView.js index 095d0bb4ed..1118edace1 100644 --- a/packages/gallery/src/components/item/itemView.js +++ b/packages/gallery/src/components/item/itemView.js @@ -53,7 +53,6 @@ class ItemView extends React.Component { this.getItemAriaLabel = this.getItemAriaLabel.bind(this); this.getItemContainerClass = this.getItemContainerClass.bind(this); this.getItemWrapperClass = this.getItemWrapperClass.bind(this); - this.getItemContainerTabIndex = this.getItemContainerTabIndex.bind(this); this.isIconTag = this.isIconTag.bind(this); this.onMouseEnter = this.onMouseEnter.bind(this); this.onMouseLeave = this.onMouseLeave.bind(this); @@ -127,7 +126,12 @@ class ItemView extends React.Component { onItemInfoClick(e) { const clickTarget = 'item-info'; this.onItemClick(e, clickTarget, false); - e.stopPropagation(); + if (!this.shouldUseDirectLink()) { + // stop propagation only if we are not using direct link. + // stop propagation will prevent listening and manipulating the anchor navigations as some users do. + // we dont want to do this when we use a direct link via a tag. + e.stopPropagation(); + } } onItemClick(e, clickTarget, shouldPreventDefault = true) { @@ -859,15 +863,6 @@ class ItemView extends React.Component { return classes.join(' '); } - getItemContainerTabIndex() { - const tabIndex = this.isHighlight() - ? utils.getTabIndex('currentThumbnail') - : this.props.activeIndex === this.props.idx - ? utils.getTabIndex('currentGalleryItem') - : -1; - return tabIndex; - } - //-----------------------------------------| REACT |--------------------------------------------// componentDidMount() { @@ -953,8 +948,9 @@ class ItemView extends React.Component { options[optionsMap.layoutParams.info.placement] !== GALLERY_CONSTS[optionsMap.layoutParams.info.placement].OVERLAY && !this.hasRequiredMediaUrl; const itemAriaRole = this.getItemAriaRole(); + const Element = this.props.elementsOverride?.item || 'div'; const innerDiv = ( -
this.onContextMenu(e)} id={cssScrollHelper.getSellectorDomId(this.props)} @@ -963,7 +959,7 @@ class ItemView extends React.Component { onMouseLeave={this.onMouseLeave} onFocus={this.onFocus} onBlur={this.onBlur} // The onblur event is the opposite of the onfocus event. - tabIndex={this.getItemContainerTabIndex()} + tabIndex="-1" aria-label={this.getItemAriaLabel()} data-hash={hash} data-id={photoId} @@ -1004,7 +1000,7 @@ class ItemView extends React.Component {
{this.getRightInfoElementIfNeeded()} {this.getBottomInfoElementIfNeeded()} - + ); const handleKeyDown = (e) => { /* Relvenat only for Screen-Reader case: diff --git a/packages/gallery/src/components/item/media/GalleryUI.tsx b/packages/gallery/src/components/item/media/GalleryUI.tsx index c7cbf83ebb..835d376d49 100644 --- a/packages/gallery/src/components/item/media/GalleryUI.tsx +++ b/packages/gallery/src/components/item/media/GalleryUI.tsx @@ -1,5 +1,13 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { useGalleryUI } from '../../../context/GalleryContext.js'; + +type ComponentType = React.ComponentType<{ size: number }>; + +interface GalleryComponents { + videoPlayButton: ComponentType; + rotateArrow: ComponentType; +} + const galleryUiComponents = { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore @@ -8,22 +16,34 @@ const galleryUiComponents = { // @ts-ignore rotateArrow: React.lazy(() => import(/* webpackChunkName: "defaultRotateArrow" */ './rotateArrow.js')), }; + interface GalleryUIProps { size: number; - type: 'videoPlayButton' | 'rotateArrow'; + type: keyof GalleryComponents; } export const GalleryUI = ({ type, size }: GalleryUIProps): JSX.Element => { - let Component; - + const [isMounted, setIsMounted] = useState(false); const galleryUI = useGalleryUI(); + + useEffect(() => { + setIsMounted(true); + }, []); + + if (!isMounted) { + return <>; + } + if (typeof galleryUI?.[type] === 'function') { return galleryUI[type](size); - } else if (galleryUiComponents[type]) { - Component = galleryUiComponents[type]; - } else { + } + + const Component = galleryUiComponents[type]; + + if (!Component) { return <>; } + return ( }> diff --git a/packages/gallery/src/components/styles/consts.scss b/packages/gallery/src/components/styles/consts.scss index ab9654b666..9ea9ad528a 100644 --- a/packages/gallery/src/components/styles/consts.scss +++ b/packages/gallery/src/components/styles/consts.scss @@ -37,7 +37,7 @@ $input-border: #c4e1f9; $border-separator: #d6e1e8; $symbol-color: #7fccf7; $background-menu: #d3edff; -$wix-blue: #3899ec; +$wix-blue: #116dff; $wix-blue-selected: #b9e0fb; $wix-color-blue01: #0048ae; $wix-color-blue35: #d9e3f3; @@ -136,7 +136,7 @@ $font-medium: $wix-font-family-helvetica-65; $font-bold: $wix-font-family-helvetica-75; $white: #fff; $red: #e03939; -$wix-blue: #3899ec; +$wix-blue: #116dff; $dark-gray: #111; $medium-gray: #49494b; $light-gray: #dbdbe0; diff --git a/packages/layouts/.nvmrc b/packages/layouts/.nvmrc index 58a4133d91..fac0b0a839 100644 --- a/packages/layouts/.nvmrc +++ b/packages/layouts/.nvmrc @@ -1 +1 @@ -16.13.0 +16.20.0 diff --git a/packages/layouts/package.json b/packages/layouts/package.json index 4e17d28171..6665673528 100644 --- a/packages/layouts/package.json +++ b/packages/layouts/package.json @@ -2,7 +2,7 @@ "private": false, "name": "pro-layouts", "sideEffects": false, - "version": "5.0.104", + "version": "5.0.112", "author": { "name": "Guy Sopher", "email": "guysopher@gmail.com" @@ -50,6 +50,6 @@ "registry": "https://registry.npmjs.org/" }, "dependencies": { - "pro-gallery-lib": "5.0.104" + "pro-gallery-lib": "5.0.112" } } diff --git a/packages/lib/.nvmrc b/packages/lib/.nvmrc index 58a4133d91..fac0b0a839 100644 --- a/packages/lib/.nvmrc +++ b/packages/lib/.nvmrc @@ -1 +1 @@ -16.13.0 +16.20.0 diff --git a/packages/lib/buildScripts/buildRuntimeValidateFunctionFromTypes.js b/packages/lib/buildScripts/buildRuntimeValidateFunctionFromTypes.js index f582745cbd..465e340e99 100644 --- a/packages/lib/buildScripts/buildRuntimeValidateFunctionFromTypes.js +++ b/packages/lib/buildScripts/buildRuntimeValidateFunctionFromTypes.js @@ -19,7 +19,7 @@ function start() { // fs.writeFileSync( // path.join(libSrcFolder, 'schema.json'), // JSON.stringify(schema, null, 4) - // ); + // ) writeES5StandaloneValidateMethod({ schema, diff --git a/packages/lib/package.json b/packages/lib/package.json index 450184d5b3..cf5be13365 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -1,6 +1,6 @@ { "name": "pro-gallery-lib", - "version": "5.0.104", + "version": "5.0.112", "private": false, "author": { "name": "Rita Bazak", diff --git a/packages/lib/src/common/utils/index.js b/packages/lib/src/common/utils/index.js index 412dbc86cd..2b60330dac 100644 --- a/packages/lib/src/common/utils/index.js +++ b/packages/lib/src/common/utils/index.js @@ -324,7 +324,7 @@ class Utils { // TODO : Replace with isPrerender mode isSSR() { - return typeof global?.window === 'undefined'; + return typeof global !== 'undefined' && typeof global?.window === 'undefined'; } isOOI() { diff --git a/packages/lib/src/core/helpers/thumbnailsLogic.ts b/packages/lib/src/core/helpers/thumbnailsLogic.ts index bc3d61c86f..019d22da90 100644 --- a/packages/lib/src/core/helpers/thumbnailsLogic.ts +++ b/packages/lib/src/core/helpers/thumbnailsLogic.ts @@ -96,7 +96,7 @@ function getThumbnailsData({ const numberOfThumbnails = minNumOfThumbnails % 2 === 1 ? minNumOfThumbnails : minNumOfThumbnails + 1; const thumbnailsInEachSide = (numberOfThumbnails - 1) / 2; - const itemRangeStart = activeIndexWithOffset - thumbnailsInEachSide; + const itemRangeStart = (activeIndexWithOffset % galleryItems.length) - thumbnailsInEachSide; const itemRangeEnd = itemRangeStart + numberOfThumbnails; const itemToDisplay = withInfiniteScroll diff --git a/packages/lib/src/core/presets/columnGallery.js b/packages/lib/src/core/presets/columnGallery.js index 309bd13903..aafe3ff88f 100644 --- a/packages/lib/src/core/presets/columnGallery.js +++ b/packages/lib/src/core/presets/columnGallery.js @@ -17,6 +17,8 @@ const fixToColumn = (options) => { presetOptions[optionsMap.layoutParams.groups.allowedGroupTypes] = [ GALLERY_CONSTS[optionsMap.layoutParams.groups.allowedGroupTypes]['1'], ]; + presetOptions[optionsMap.layoutParams.structure.responsiveMode] = + GALLERY_CONSTS[optionsMap.layoutParams.structure.responsiveMode].SET_ITEMS_PER_ROW; presetOptions[optionsMap.layoutParams.structure.numberOfGridRows] = 1; presetOptions[optionsMap.layoutParams.crop.enableSmartCrop] = false; diff --git a/packages/lib/src/core/presets/fullsizeGallery.js b/packages/lib/src/core/presets/fullsizeGallery.js index 6ad9af1692..3b5732ad9e 100644 --- a/packages/lib/src/core/presets/fullsizeGallery.js +++ b/packages/lib/src/core/presets/fullsizeGallery.js @@ -20,6 +20,8 @@ const fixToFullsize = (options) => { presetOptions[optionsMap.layoutParams.groups.allowedGroupTypes] = [ GALLERY_CONSTS[optionsMap.layoutParams.groups.allowedGroupTypes]['1'], ]; + presetOptions[optionsMap.layoutParams.structure.responsiveMode] = + GALLERY_CONSTS[optionsMap.layoutParams.structure.responsiveMode].SET_ITEMS_PER_ROW; presetOptions[optionsMap.layoutParams.structure.numberOfGridRows] = 1; presetOptions[optionsMap.layoutParams.crop.enableSmartCrop] = false; presetOptions[optionsMap.behaviourParams.gallery.horizontal.enableScrollSnap] = true; diff --git a/packages/lib/src/core/presets/sliderGallery.js b/packages/lib/src/core/presets/sliderGallery.js index ee67a6f684..1c9d9f0e3d 100644 --- a/packages/lib/src/core/presets/sliderGallery.js +++ b/packages/lib/src/core/presets/sliderGallery.js @@ -17,7 +17,8 @@ const fixToSlider = (options) => { ]; presetOptions[optionsMap.layoutParams.structure.numberOfGridRows] = 1; presetOptions[optionsMap.layoutParams.crop.enableSmartCrop] = false; - + presetOptions[optionsMap.layoutParams.structure.responsiveMode] = + GALLERY_CONSTS[optionsMap.layoutParams.structure.responsiveMode].SET_ITEMS_PER_ROW; presetOptions[optionsMap.behaviourParams.gallery.horizontal.enableScrollSnap] = true; presetOptions[optionsMap.layoutParams.crop.cropOnlyFill] = true; presetOptions[optionsMap.behaviourParams.gallery.horizontal.slideAnimation] = diff --git a/packages/lib/src/core/presets/slideshowGallery.js b/packages/lib/src/core/presets/slideshowGallery.js index fec0495cd5..ba594d0190 100644 --- a/packages/lib/src/core/presets/slideshowGallery.js +++ b/packages/lib/src/core/presets/slideshowGallery.js @@ -8,6 +8,8 @@ const fixToSlideshow = (options) => { presetOptions[optionsMap.layoutParams.structure.galleryLayout] = GALLERY_CONSTS[optionsMap.layoutParams.structure.galleryLayout].SLIDESHOW; presetOptions[optionsMap.layoutParams.crop.ratios] = ['100%/100%']; + presetOptions[optionsMap.layoutParams.structure.responsiveMode] = + GALLERY_CONSTS[optionsMap.layoutParams.structure.responsiveMode].SET_ITEMS_PER_ROW; presetOptions[optionsMap.layoutParams.crop.enable] = true; presetOptions[optionsMap.layoutParams.structure.scrollDirection] = diff --git a/packages/lib/src/core/presets/thumbnailsGallery.js b/packages/lib/src/core/presets/thumbnailsGallery.js index a2a5f437e8..a12c957b87 100644 --- a/packages/lib/src/core/presets/thumbnailsGallery.js +++ b/packages/lib/src/core/presets/thumbnailsGallery.js @@ -7,6 +7,8 @@ const fixToThumbnail = (options) => { presetOptions[optionsMap.layoutParams.structure.galleryLayout] = GALLERY_CONSTS[optionsMap.layoutParams.structure.galleryLayout].THUMBNAIL; presetOptions[optionsMap.layoutParams.crop.ratios] = ['100%/100%']; + presetOptions[optionsMap.layoutParams.structure.responsiveMode] = + GALLERY_CONSTS[optionsMap.layoutParams.structure.responsiveMode].SET_ITEMS_PER_ROW; presetOptions[optionsMap.layoutParams.crop.enable] = true; presetOptions[optionsMap.layoutParams.info.placement] = GALLERY_CONSTS[optionsMap.layoutParams.info.placement].OVERLAY; diff --git a/packages/lib/src/settings/options/layoutParams_targetItemSize_value.js b/packages/lib/src/settings/options/layoutParams_targetItemSize_value.js index 1ae73096a6..e4f6cec31e 100644 --- a/packages/lib/src/settings/options/layoutParams_targetItemSize_value.js +++ b/packages/lib/src/settings/options/layoutParams_targetItemSize_value.js @@ -1,10 +1,30 @@ +import { default as GALLERY_CONSTS } from '../../common/constants'; +import optionsMap from '../../core/helpers/optionsMap'; +import layoutParams_structure_responsiveMode from './layoutParams_structure_responsiveMode'; + export default { title: 'Item Size (smart)', description: `Set the item size between 1 to 100 units. The real size will be determined by the layout.`, - isRelevant: () => { - return true; + isRelevant: (options) => { + return ( + //is vertical layout and fit to screen? + //if the responsive mode is irrelevant, return true (because we don't need to check it). Otherwise, check if it's fit to screen + (options[optionsMap.layoutParams.structure.scrollDirection] === + GALLERY_CONSTS[optionsMap.layoutParams.structure.scrollDirection].VERTICAL && + (!layoutParams_structure_responsiveMode.isRelevant(options) || + options[optionsMap.layoutParams.structure.responsiveMode] === + GALLERY_CONSTS[optionsMap.layoutParams.structure.responsiveMode].FIT_TO_SCREEN)) || + //is horizontal collage? + //(the only horizontal layout we want it to be relevant in is collage, and its only relevant for group size > 1. + //But in horizontal grid, if the numberOfGridRows is more than 1, it changes the group size. + //So the way to handle it is to make sure that the groupSize > 1 not because of numberOfGridRows) + (options[optionsMap.layoutParams.structure.scrollDirection] === + GALLERY_CONSTS[optionsMap.layoutParams.structure.scrollDirection].HORIZONTAL && + options[optionsMap.layoutParams.groups.groupSize] > 1 && + options[optionsMap.layoutParams.structure.numberOfGridRows] <= 1) + ); }, isRelevantDescription: - 'Set a Horizontal gallery ("Scroll Direction" as "Horizontal") and set Responsive Type to Fit to screen', + 'Set a Vertical gallery ("Scroll Direction" as "Vertical") and set Responsive Type to Fit to screen, or set a Collage layout with "Horizontal" Scroll Direction.', default: 30, }; diff --git a/packages/playground/.nvmrc b/packages/playground/.nvmrc index 58a4133d91..fac0b0a839 100644 --- a/packages/playground/.nvmrc +++ b/packages/playground/.nvmrc @@ -1 +1 @@ -16.13.0 +16.20.0 diff --git a/packages/playground/package.json b/packages/playground/package.json index 332619efc4..b94eb24d5d 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -1,6 +1,6 @@ { "name": "pro-playground", - "version": "5.0.104", + "version": "5.0.112", "private": true, "scripts": { "watch": "sleep 10 && node scripts/start.js", @@ -24,11 +24,11 @@ "image-client-api": "^1.3130.0", "lodash.clonedeep": "^4.5.0", "moment": "2.29.2", - "pro-gallery": "5.0.104", - "pro-gallery-blueprints": "5.0.104", - "pro-gallery-lib": "5.0.104", - "pro-layouts": "5.0.104", - "re-resizable": "^6.8.0", + "pro-gallery": "5.0.112", + "pro-gallery-blueprints": "5.0.112", + "pro-gallery-lib": "5.0.112", + "pro-layouts": "5.0.112", + "re-resizable": "^6.10.3", "react": "^18.2.0", "react-color": "^2.17.3", "react-dom": "^18.2.0",