diff --git a/.gitignore b/.gitignore index ae0bf7b3..cc55d5f7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ # Distribution dist/ popup/lib/ -popup/css/ popup/mockData/big.json # Logs diff --git a/README.md b/README.md index 88bdf798..56978ce9 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ npm install npm run build ``` -The source code for the extension can be found in [popup/](popup/) (HTML, JS and libs) and [sass/](sass/) (SCSS/CSS). +The source code for the extension can be found in [popup/](popup/) (HTML, CSS, JS and libs). The built extensions can be found diff --git a/bin/updateLibs.sh b/bin/updateLibs.sh index af3994b9..b7582c1b 100644 --- a/bin/updateLibs.sh +++ b/bin/updateLibs.sh @@ -7,3 +7,5 @@ cat node_modules/mark.js/dist/mark.es6.min.js >> popup/lib/mark.es6.min.js # Copy over vendor dependencies that we don't bundle, because they're only loaded on demand cp node_modules/js-yaml/dist/js-yaml.min.js popup/lib/js-yaml.min.js cp node_modules/\@yaireo/tagify/dist/tagify.js popup/lib/tagify.min.js +cp node_modules/\@yaireo/tagify/dist/tagify.css popup/lib/tagify.min.css +cp node_modules/minireset.css/minireset.min.css popup/lib/minireset.min.css diff --git a/bin/updateManifests.js b/bin/updateManifests.js new file mode 100644 index 00000000..886937b8 --- /dev/null +++ b/bin/updateManifests.js @@ -0,0 +1,13 @@ +import fs from 'fs' + +const packageJson = JSON.parse(fs.readFileSync('package.json').toString()) +const manifestJson = JSON.parse(fs.readFileSync('manifest.json').toString()) +const manifestFirefoxJson = JSON.parse(fs.readFileSync('manifest.firefox.json').toString()) + +console.log('Updating Manifests with version v' + packageJson.version) + +manifestJson.version = packageJson.version +manifestFirefoxJson.version = packageJson.version + +fs.writeFileSync('manifest.json', JSON.stringify(manifestJson, null, 2)) +fs.writeFileSync('manifest.firefox.json', JSON.stringify(manifestFirefoxJson, null, 2)) diff --git a/cypress/e2e/folders.cy.js b/cypress/e2e/folders.cy.js index 9972d236..dea85565 100644 --- a/cypress/e2e/folders.cy.js +++ b/cypress/e2e/folders.cy.js @@ -15,12 +15,12 @@ describe('Folder View', () => { .find('#folders-list') .find('[x-folder=Tools]') .click() - .get('#search-input') + cy.get('#search-input') .should('have.value', '~Tools') - .get('#result-list') + cy.get('#result-list') .should('not.have.length', 0) .find('[x-original-id=9]') - .get('#result-list') + cy.get('#result-list') .find('li.bookmark') .checkNoErrors() }) diff --git a/cypress/e2e/options.cy.js b/cypress/e2e/options.cy.js index 8d346799..26c63c29 100644 --- a/cypress/e2e/options.cy.js +++ b/cypress/e2e/options.cy.js @@ -23,10 +23,10 @@ describe('Options View', () => { .clear() .should('have.value', '') .type(newConfig) - .get('#edit-options-save') + cy.get('#edit-options-save') .click() .visit('/options.html') - .get('#user-config') + cy.get('#user-config') .should('include.value', 'displayVisitCounter') .should('include.value', 'displayDateAdded') .checkNoErrors() @@ -37,10 +37,10 @@ describe('Options View', () => { .clear() .should('have.value', '') .type(newConfig) - .get('#edit-options-save') + cy.get('#edit-options-save') .click() .visit('/options.html') - .get('#user-config') + cy.get('#user-config') .should('include.value', 'displayVisitCounter') .should('include.value', 'displayDateAdded') .checkNoErrors() diff --git a/cypress/e2e/search.cy.js b/cypress/e2e/search.cy.js index 3eb84aab..de42e8a5 100644 --- a/cypress/e2e/search.cy.js +++ b/cypress/e2e/search.cy.js @@ -11,7 +11,7 @@ describe('Search View', () => { cy.get('#result-list').should('have.length', 1).find('#results-loading') }) it('completes the initializing phase without errors', () => { - cy.wait(initTime).get('#results-loading').should('not.exist').checkNoErrors() + cy.get('#results-loading').should('not.exist').checkNoErrors() }) it('starts with no results', () => { cy.get('#result-counter').contains('(0)') @@ -22,7 +22,7 @@ describe('Search View', () => { it('first result is highlighted', () => { cy.get('#search-input') .type(`JSON Edit`) - .get('#result-list li') + cy.get('#result-list li') .each((el, index) => { if (index === 0) { expect(el[0].id).to.equal('selected-result') @@ -30,9 +30,9 @@ describe('Search View', () => { expect(el[0].id).to.not.equal('selected-result') } }) - .get('#search-input') + cy.get('#search-input') .type('{downarrow}') - .get('#result-list li') + cy.get('#result-list li') .each((el, index) => { if (index === 1) { expect(el[0].id).to.equal('selected-result') @@ -40,9 +40,9 @@ describe('Search View', () => { expect(el[0].id).to.not.equal('selected-result') } }) - .get('#search-input') + cy.get('#search-input') .type('{uparrow}') - .get('#result-list li') + cy.get('#result-list li') .each((el, index) => { if (index === 0) { expect(el[0].id).to.equal('selected-result') @@ -58,35 +58,35 @@ describe('Search View', () => { it('includes everything expected (title, URL etc.)', () => { cy.get('#search-input') .type(`JSON`) - .get('#result-list') + cy.get('#result-list') .find('[x-original-id=9]') // Check that we have a result with a title returned - .get('[x-original-id=9]') + cy.get('[x-original-id=9]') .find('.title') .contains('JSON') // Check that we have a result with an URL returned - .get('[x-original-id=9]') + cy.get('[x-original-id=9]') .find('.url') .contains('json') // expect #json tag - .get('[x-original-id=9]') + cy.get('[x-original-id=9]') .find('span.tags') .contains('#json') // expect ~Tools folder - .get('[x-original-id=9]') + cy.get('[x-original-id=9]') .find('span.folder') .contains('~Tools') // expect lastVisited badge - .get('[x-original-id=9]') + cy.get('[x-original-id=9]') .find('span.last-visited') // expect score badge - .get('[x-original-id=9]') + cy.get('[x-original-id=9]') .find('span.score') .checkNoErrors() @@ -96,30 +96,30 @@ describe('Search View', () => { describe('Precise search', () => { it('can execute a precise search successfully', () => { cy.get('#search-approach-toggle') - .get('#search-input') + cy.get('#search-input') .type(`JSON`) .wait(initTime) // Make sure we get result of all types - .get('#result-list') + cy.get('#result-list') .should('not.have.length', 0) .find('[x-original-id=9]') - .get('#result-list') + cy.get('#result-list') .find('li.bookmark') - .get('#result-list') + cy.get('#result-list') .find('li.history') - .get('#result-list') + cy.get('#result-list') .find('li.tab') - .get('#result-list') + cy.get('#result-list') .find('li.bookmark') .checkNoErrors() }) it('can execute a precise search with non-ASCII chars successfully', () => { cy.get('#search-approach-toggle') - .get('#search-input') + cy.get('#search-input') .type(`äe指事字₽`) .wait(initTime) // Only make sure that search doesn't crash - .get('#result-list') + cy.get('#result-list') .should('not.have.length', 0) .checkNoErrors() }) @@ -133,9 +133,9 @@ describe('Search View', () => { .click() .wait(interactionTime) .contains('FUZZY') - .get('#search-input') + cy.get('#search-input') .type(`JSON`) - .get('li.bookmark') + cy.get('li.bookmark') .checkNoErrors() }) @@ -147,20 +147,20 @@ describe('Search View', () => { .wait(interactionTime) .contains('FUZZY') .wait(interactionTime) - .get('#search-input') + cy.get('#search-input') .type(`JSON`) - .get('li.bookmark') - .get('#result-list') + cy.get('li.bookmark') + cy.get('#result-list') .should('not.have.length', 0) .find('[x-original-id=9]') // Check that we have all kinds of results - .get('#result-list') + cy.get('#result-list') .find('li.bookmark') - .get('#result-list') + cy.get('#result-list') .find('li.history') - .get('#result-list') + cy.get('#result-list') .find('li.tab') - .get('#result-list') + cy.get('#result-list') .find('li.bookmark') .checkNoErrors() }) @@ -174,11 +174,11 @@ describe('Search View', () => { .wait(interactionTime) .contains('FUZZY') .wait(interactionTime) - .get('#search-input') + cy.get('#search-input') .type(`äe指事字₽`) .wait(initTime) // Only make sure that search doesn't crash - .get('#result-list') + cy.get('#result-list') .should('not.have.length', 0) .checkNoErrors() }) @@ -187,26 +187,26 @@ describe('Search View', () => { it('Empty search returns recent bookmarks', () => { cy.get('#search-input') .type(`b `) - .get('#result-list') + cy.get('#result-list') .find('li.bookmark') - .get('#result-list') + cy.get('#result-list') .find('[x-original-id=9]') - .get('.tab') + cy.get('.tab') .should('not.exist') - .get('.history') + cy.get('.history') .should('not.exist') .checkNoErrors() }) it('returns only bookmark results', () => { cy.get('#search-input') .type(`b JSON`) - .get('#result-list') + cy.get('#result-list') .find('[x-original-id=9]') - .get('.tab') + cy.get('.tab') .should('not.exist') - .get('.history') + cy.get('.history') .should('not.exist') - .get('#result-counter') + cy.get('#result-counter') .contains('(5)') .checkNoErrors() }) @@ -216,26 +216,26 @@ describe('Search View', () => { it('Empty search returns recent history', () => { cy.get('#search-input') .type(`h `) - .get('#result-list') + cy.get('#result-list') .find('li.history') - .get('#result-list') + cy.get('#result-list') .find('[x-original-id=9]') - .get('.tab') + cy.get('.tab') .should('not.exist') - .get('.bookmark') + cy.get('.bookmark') .should('not.exist') .checkNoErrors() }) it('only the history results', () => { cy.get('#search-input') .type(`h JSON`) - .get('#result-list') + cy.get('#result-list') .find('[x-original-id=9]') - .get('.tab') + cy.get('.tab') .should('not.exist') - .get('.bookmark') + cy.get('.bookmark') .should('not.exist') - .get('#result-counter') + cy.get('#result-counter') .contains('(3)') .checkNoErrors() }) @@ -245,28 +245,28 @@ describe('Search View', () => { it('Empty search returns all open tabs', () => { cy.get('#search-input') .type(`t `) - .get('#result-list') + cy.get('#result-list') .find('li.tab') - .get('#result-list') + cy.get('#result-list') .find('[x-original-id=179]') - .get('.bookmark') + cy.get('.bookmark') .should('not.exist') - .get('.history') + cy.get('.history') .should('not.exist') .checkNoErrors() }) it('returns only the tab results', () => { cy.get('#search-input') .type(`t JSON`) - .get('#result-list') + cy.get('#result-list') .find('[x-original-id=185]') - .get('#result-list') + cy.get('#result-list') .should('have.length', 1) - .get('.bookmark') + cy.get('.bookmark') .should('not.exist') - .get('.history') + cy.get('.history') .should('not.exist') - .get('#result-counter') + cy.get('#result-counter') .contains('(1)') .checkNoErrors() }) diff --git a/cypress/e2e/tags.cy.js b/cypress/e2e/tags.cy.js index eb13b849..5b6490b3 100644 --- a/cypress/e2e/tags.cy.js +++ b/cypress/e2e/tags.cy.js @@ -15,12 +15,12 @@ describe('Tag View', () => { .find('#tags-list') .find('[x-tag=json]') .click() - .get('#search-input') + cy.get('#search-input') .should('have.value', '#json') - .get('#result-list') + cy.get('#result-list') .should('not.have.length', 0) .find('[x-original-id=9]') - .get('#result-list') + cy.get('#result-list') .find('li.bookmark') .checkNoErrors() }) diff --git a/manifest.firefox.json b/manifest.firefox.json index b868bce1..acb30136 100644 --- a/manifest.firefox.json +++ b/manifest.firefox.json @@ -3,7 +3,7 @@ "description": "Browser extension to (fuzzy) search and navigate bookmarks, history and open tabs.", "homepage_url": "https://github.com/Fannon/search-bookmarks-history-and-tabs", "author": "Simon Heimler", - "version": "1.9.7", + "version": "1.9.8", "manifest_version": 2, "applications": { "gecko": { diff --git a/manifest.json b/manifest.json index 0563175b..6d45182a 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "description": "Browser extension to (fuzzy) search and navigate bookmarks, history and open tabs.", "homepage_url": "https://github.com/Fannon/search-bookmarks-history-and-tabs", "author": "Simon Heimler", - "version": "1.9.7", + "version": "1.9.8", "manifest_version": 3, "permissions": [ "tabs", diff --git a/package-lock.json b/package-lock.json index 2ba08fbe..221c560a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,28 +1,26 @@ { "name": "search-bookmarks-history-and-tabs", - "version": "1.9.7", + "version": "1.9.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "search-bookmarks-history-and-tabs", - "version": "1.9.7", + "version": "1.9.8", "license": "MIT", "dependencies": { "@leeoniya/ufuzzy": "^1.0.14", - "@yaireo/tagify": "^4.26.5", + "@yaireo/tagify": "^4.31.0", "js-yaml": "^4.1.0", "mark.js": "^8.11.1", "minireset.css": "^0.0.7" }, "devDependencies": { - "cypress": "^13.10.0", + "cypress": "^13.13.3", "cypress-fail-on-console-error": "^5.1.1", - "eslint": "^9.4.0", - "eslint-plugin-cypress": "^3.3.0", - "live-server": "^1.2.2", - "node-7z-archive": "^1.1.7", - "sass": "^1.77.4" + "eslint": "^9.9.1", + "eslint-plugin-cypress": "^3.5.0", + "live-server": "^1.2.2" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -98,23 +96,25 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.15.1.tgz", - "integrity": "sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.3", + "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", - "minimatch": "^3.0.5" + "minimatch": "^3.1.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -156,19 +156,21 @@ } }, "node_modules/@eslint/js": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", - "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", + "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz", - "integrity": "sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -302,13 +304,6 @@ "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", "dev": true }, - "node_modules/@types/when": { - "version": "2.4.41", - "resolved": "https://registry.npmjs.org/@types/when/-/when-2.4.41.tgz", - "integrity": "sha512-o/j5X9Bnv6mMG4ZcNJur8UaU17Rl0mLbTZvWcODVVy+Xdh8LEc7s6I0CvbEuTP786LTa0OyJby5P4hI7C+ZJNg==", - "dev": true, - "optional": true - }, "node_modules/@types/yauzl": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", @@ -320,9 +315,10 @@ } }, "node_modules/@yaireo/tagify": { - "version": "4.26.5", - "resolved": "https://registry.npmjs.org/@yaireo/tagify/-/tagify-4.26.5.tgz", - "integrity": "sha512-WcNQFjmH7/Llfr81NGZnalUpry4PrgDN2bdrgQcN51gNdMC8zUsR1AmAHL6yW4qmeGFg0ZLbtjVpsgKHG+MIww==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@yaireo/tagify/-/tagify-4.31.0.tgz", + "integrity": "sha512-om1HsHCbcI7REKRVNpe+V0SIhInZxcf9jZSPaHCnnpBgBS3ZbTVs9sXReGC55WxLLEoXtOQWMJSDrzefxKretQ==", + "license": "MIT", "engines": { "node": ">=16.15.0", "npm": ">=9.0.0" @@ -347,10 +343,11 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -447,19 +444,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/apache-crypt": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.5.tgz", @@ -736,18 +720,6 @@ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", "dev": true }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -780,18 +752,6 @@ "concat-map": "0.0.1" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -949,42 +909,6 @@ "node": ">= 0.8.0" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -1311,13 +1235,14 @@ } }, "node_modules/cypress": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.10.0.tgz", - "integrity": "sha512-tOhwRlurVOQbMduX+KonoMeQILs2cwR3yHGGENoFvvSoLUBHmJ8b9/n21gFSDqjlOJ+SRVcwuh+fG/JDsHsT6Q==", + "version": "13.13.3", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.13.3.tgz", + "integrity": "sha512-hUxPrdbJXhUOTzuML+y9Av7CKoYznbD83pt8g3klgpioEha0emfx4WNIuVRx0C76r0xV2MIwAW9WYiXfVJYFQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.0", + "@cypress/request": "^3.0.1", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", @@ -1356,7 +1281,7 @@ "request-progress": "^3.0.0", "semver": "^7.5.3", "supports-color": "^8.1.1", - "tmp": "~0.2.1", + "tmp": "~0.2.3", "untildify": "^4.0.0", "yauzl": "^2.10.0" }, @@ -1564,16 +1489,17 @@ } }, "node_modules/eslint": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", - "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz", + "integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/config-array": "^0.15.1", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.4.0", + "@eslint/js": "9.9.1", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -1582,10 +1508,10 @@ "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.1", + "eslint-scope": "^8.0.2", "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.1", - "esquery": "^1.4.2", + "espree": "^10.1.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -1611,14 +1537,23 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-plugin-cypress": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.3.0.tgz", - "integrity": "sha512-HPHMPzYBIshzJM8wqgKSKHG2p/8R0Gbg4Pb3tcdC9WrmkuqxiKxSKbjunUrajhV5l7gCIFrh1P7C7GuBqH6YuQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.5.0.tgz", + "integrity": "sha512-JZQ6XnBTNI8h1B9M7wJSFzc48SYbh7VMMKaNTQOFa3BQlnmXPrVc4PKen8R+fpv6VleiPeej6VxloGb42zdRvw==", "dev": true, + "license": "MIT", "dependencies": { "globals": "^13.20.0" }, @@ -1626,29 +1561,30 @@ "eslint": ">=7" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/eslint-scope": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", - "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -1667,12 +1603,13 @@ } }, "node_modules/espree": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", - "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.11.3", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.0.0" }, @@ -1696,10 +1633,11 @@ } }, "node_modules/esquery": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", - "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1712,6 +1650,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1724,6 +1663,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2130,18 +2070,6 @@ "dev": true, "optional": true }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -2284,26 +2212,6 @@ "node": ">=10" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -2379,26 +2287,6 @@ "assert-plus": "^1.0.0" } }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2660,12 +2548,6 @@ "node": ">= 4" } }, - "node_modules/immutable": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", - "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", - "dev": true - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -2700,16 +2582,6 @@ "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -2737,18 +2609,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -2851,15 +2711,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -3852,145 +3703,6 @@ "type-detect": "4.0.8" } }, - "node_modules/node-7z-archive": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/node-7z-archive/-/node-7z-archive-1.1.7.tgz", - "integrity": "sha512-gtpWpajFyzeObGiYI9RDq76x5ULnxInvZ1OfA0/MD+2VezcMmMQMK6ITqkvsGEqVy4w/psvmIyowVDoSURAJHg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "fs-extra": "^10.1.0", - "minimist": "^1.2.8", - "node-sys": "^1.2.2", - "node-unar": "^1.0.8", - "node-wget-fetch": "^1.1.3", - "when": "^3.7.8" - }, - "bin": { - "7zip": "cli/7zip.js", - "createArchive": "cli/create.js", - "createSfx": "cli/sfx.js", - "deleteArchive": "cli/delete.js", - "extractArchive": "cli/extract.js", - "fullArchive": "cli/full.js", - "listArchive": "cli/list.js", - "onlyArchive": "cli/only.js", - "renameArchive": "cli/rename.js", - "testArchive": "cli/test.js", - "updateArchive": "cli/update.js" - }, - "engines": { - "node": ">=12.0.0" - }, - "optionalDependencies": { - "@types/when": "^2.4.34" - } - }, - "node_modules/node-7z-archive/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.12.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" - } - }, - "node_modules/node-sys": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/node-sys/-/node-sys-1.2.4.tgz", - "integrity": "sha512-71sIz+zgaHfSmP1vHTHXUVb77PqncIB1MBij+Q43fQSz7ceSLrrO5RTTBlnYWDU/M0fEFTZw3Zui/lVeJvoeag==", - "dev": true, - "dependencies": { - "minimist": "1.2.6", - "which": "^2.0.2" - }, - "bin": { - "node-sys": "bin/installer.js" - }, - "engines": { - "node": ">=12.22" - }, - "optionalDependencies": { - "@types/node": "^18.7.13" - } - }, - "node_modules/node-sys/node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/node-unar": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/node-unar/-/node-unar-1.0.8.tgz", - "integrity": "sha512-AnEdWmV8/Dx1qMB5O2VcemoBmNzW1mhibYNl3YDUI7cVohVuobuIZwxrtRedItO05A6PiLp/HNw1ryg7M17H5g==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "node-sys": "^1.1.7", - "when": "^3.7.8" - }, - "optionalDependencies": { - "fs-extra": "^9.0.1", - "node-stream-zip": "^1.12.0", - "node-wget-fetch": "^1.1.2" - } - }, - "node_modules/node-wget-fetch": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/node-wget-fetch/-/node-wget-fetch-1.1.3.tgz", - "integrity": "sha512-TmjZeeL/zAcB4fpok2iJ6FLbjVzSsjKi7rdk0womqvUY2ouitsEN0kGekndshaB7ENnXocrcgUudpvB4Jo3+LA==", - "dev": true, - "dependencies": { - "node-fetch": "^2.6.7" - }, - "bin": { - "fetch": "cli.js", - "wget": "cli.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -4372,18 +4084,6 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -4591,18 +4291,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -4703,21 +4391,6 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4788,23 +4461,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sass": { - "version": "1.77.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.4.tgz", - "integrity": "sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -5286,15 +4942,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", @@ -5584,15 +5231,13 @@ "dev": true }, "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8.17.0" + "node": ">=14.14" } }, "node_modules/to-object-path": { @@ -5634,18 +5279,6 @@ "node": ">=0.10.0" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -5679,12 +5312,6 @@ "node": ">= 4.0.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -5939,12 +5566,6 @@ "extsprintf": "^1.2.0" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -5968,22 +5589,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/when": { - "version": "3.7.8", - "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", - "integrity": "sha512-5cZ7mecD3eYcMiCH4wtRPA5iFJZ50BJYDfckI5RRpQiktMiYTcn0ccLTZOvcbBume+1304fQztxeNzNS9Gvrnw==", - "dev": true - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6115,20 +5720,20 @@ } }, "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true }, "@eslint/config-array": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.15.1.tgz", - "integrity": "sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, "requires": { - "@eslint/object-schema": "^2.1.3", + "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", - "minimatch": "^3.0.5" + "minimatch": "^3.1.2" } }, "@eslint/eslintrc": { @@ -6157,15 +5762,15 @@ } }, "@eslint/js": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", - "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", + "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", "dev": true }, "@eslint/object-schema": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz", - "integrity": "sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true }, "@humanwhocodes/module-importer": { @@ -6276,13 +5881,6 @@ "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", "dev": true }, - "@types/when": { - "version": "2.4.41", - "resolved": "https://registry.npmjs.org/@types/when/-/when-2.4.41.tgz", - "integrity": "sha512-o/j5X9Bnv6mMG4ZcNJur8UaU17Rl0mLbTZvWcODVVy+Xdh8LEc7s6I0CvbEuTP786LTa0OyJby5P4hI7C+ZJNg==", - "dev": true, - "optional": true - }, "@types/yauzl": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", @@ -6294,9 +5892,9 @@ } }, "@yaireo/tagify": { - "version": "4.26.5", - "resolved": "https://registry.npmjs.org/@yaireo/tagify/-/tagify-4.26.5.tgz", - "integrity": "sha512-WcNQFjmH7/Llfr81NGZnalUpry4PrgDN2bdrgQcN51gNdMC8zUsR1AmAHL6yW4qmeGFg0ZLbtjVpsgKHG+MIww==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@yaireo/tagify/-/tagify-4.31.0.tgz", + "integrity": "sha512-om1HsHCbcI7REKRVNpe+V0SIhInZxcf9jZSPaHCnnpBgBS3ZbTVs9sXReGC55WxLLEoXtOQWMJSDrzefxKretQ==", "requires": {} }, "accepts": { @@ -6310,9 +5908,9 @@ } }, "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true }, "acorn-jsx": { @@ -6376,16 +5974,6 @@ "color-convert": "^2.0.1" } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, "apache-crypt": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.5.tgz", @@ -6587,12 +6175,6 @@ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", "dev": true }, - "binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true - }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -6625,15 +6207,6 @@ "concat-map": "0.0.1" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -6746,33 +6319,6 @@ "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", "dev": true }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, "ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -7027,12 +6573,12 @@ } }, "cypress": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.10.0.tgz", - "integrity": "sha512-tOhwRlurVOQbMduX+KonoMeQILs2cwR3yHGGENoFvvSoLUBHmJ8b9/n21gFSDqjlOJ+SRVcwuh+fG/JDsHsT6Q==", + "version": "13.13.3", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.13.3.tgz", + "integrity": "sha512-hUxPrdbJXhUOTzuML+y9Av7CKoYznbD83pt8g3klgpioEha0emfx4WNIuVRx0C76r0xV2MIwAW9WYiXfVJYFQw==", "dev": true, "requires": { - "@cypress/request": "^3.0.0", + "@cypress/request": "^3.0.1", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", @@ -7071,7 +6617,7 @@ "request-progress": "^3.0.0", "semver": "^7.5.3", "supports-color": "^8.1.1", - "tmp": "~0.2.1", + "tmp": "~0.2.3", "untildify": "^4.0.0", "yauzl": "^2.10.0" } @@ -7232,16 +6778,16 @@ "dev": true }, "eslint": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", - "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz", + "integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/config-array": "^0.15.1", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.4.0", + "@eslint/js": "9.9.1", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -7250,10 +6796,10 @@ "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.1", + "eslint-scope": "^8.0.2", "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.1", - "esquery": "^1.4.2", + "espree": "^10.1.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -7273,16 +6819,6 @@ "text-table": "^0.2.0" }, "dependencies": { - "eslint-scope": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", - "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, "eslint-visitor-keys": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", @@ -7292,14 +6828,24 @@ } }, "eslint-plugin-cypress": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.3.0.tgz", - "integrity": "sha512-HPHMPzYBIshzJM8wqgKSKHG2p/8R0Gbg4Pb3tcdC9WrmkuqxiKxSKbjunUrajhV5l7gCIFrh1P7C7GuBqH6YuQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.5.0.tgz", + "integrity": "sha512-JZQ6XnBTNI8h1B9M7wJSFzc48SYbh7VMMKaNTQOFa3BQlnmXPrVc4PKen8R+fpv6VleiPeej6VxloGb42zdRvw==", "dev": true, "requires": { "globals": "^13.20.0" } }, + "eslint-scope": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, "eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", @@ -7307,12 +6853,12 @@ "dev": true }, "espree": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", - "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "requires": { - "acorn": "^8.11.3", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.0.0" }, @@ -7326,9 +6872,9 @@ } }, "esquery": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", - "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -7675,15 +7221,6 @@ "dev": true, "optional": true }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -7798,19 +7335,6 @@ "universalify": "^2.0.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -7868,20 +7392,6 @@ "assert-plus": "^1.0.0" } }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -8067,12 +7577,6 @@ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true }, - "immutable": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", - "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", - "dev": true - }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -8095,16 +7599,6 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -8126,15 +7620,6 @@ "kind-of": "^6.0.0" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -8210,12 +7695,6 @@ "is-path-inside": "^3.0.2" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -9028,91 +8507,6 @@ } } }, - "node-7z-archive": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/node-7z-archive/-/node-7z-archive-1.1.7.tgz", - "integrity": "sha512-gtpWpajFyzeObGiYI9RDq76x5ULnxInvZ1OfA0/MD+2VezcMmMQMK6ITqkvsGEqVy4w/psvmIyowVDoSURAJHg==", - "dev": true, - "requires": { - "@types/when": "^2.4.34", - "fs-extra": "^10.1.0", - "minimist": "^1.2.8", - "node-sys": "^1.2.2", - "node-unar": "^1.0.8", - "node-wget-fetch": "^1.1.3", - "when": "^3.7.8" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - } - } - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "dev": true, - "optional": true - }, - "node-sys": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/node-sys/-/node-sys-1.2.4.tgz", - "integrity": "sha512-71sIz+zgaHfSmP1vHTHXUVb77PqncIB1MBij+Q43fQSz7ceSLrrO5RTTBlnYWDU/M0fEFTZw3Zui/lVeJvoeag==", - "dev": true, - "requires": { - "@types/node": "^18.7.13", - "minimist": "1.2.6", - "which": "^2.0.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - } - } - }, - "node-unar": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/node-unar/-/node-unar-1.0.8.tgz", - "integrity": "sha512-AnEdWmV8/Dx1qMB5O2VcemoBmNzW1mhibYNl3YDUI7cVohVuobuIZwxrtRedItO05A6PiLp/HNw1ryg7M17H5g==", - "dev": true, - "requires": { - "fs-extra": "^9.0.1", - "node-stream-zip": "^1.12.0", - "node-sys": "^1.1.7", - "node-wget-fetch": "^1.1.2", - "when": "^3.7.8" - } - }, - "node-wget-fetch": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/node-wget-fetch/-/node-wget-fetch-1.1.3.tgz", - "integrity": "sha512-TmjZeeL/zAcB4fpok2iJ6FLbjVzSsjKi7rdk0womqvUY2ouitsEN0kGekndshaB7ENnXocrcgUudpvB4Jo3+LA==", - "dev": true, - "requires": { - "node-fetch": "^2.6.7" - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -9403,12 +8797,6 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -9565,15 +8953,6 @@ } } }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -9651,15 +9030,6 @@ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -9699,17 +9069,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "sass": { - "version": "1.77.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.4.tgz", - "integrity": "sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, "scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -10114,12 +9473,6 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, - "source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true - }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", @@ -10352,13 +9705,10 @@ "dev": true }, "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true }, "to-object-path": { "version": "0.3.0", @@ -10392,15 +9742,6 @@ "safe-regex": "^1.1.0" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -10427,12 +9768,6 @@ } } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -10631,12 +9966,6 @@ "extsprintf": "^1.2.0" } }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, "websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -10654,22 +9983,6 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "when": { - "version": "3.7.8", - "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", - "integrity": "sha512-5cZ7mecD3eYcMiCH4wtRPA5iFJZ50BJYDfckI5RRpQiktMiYTcn0ccLTZOvcbBume+1304fQztxeNzNS9Gvrnw==", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 1414d0ab..767714c9 100644 --- a/package.json +++ b/package.json @@ -1,29 +1,29 @@ { "name": "search-bookmarks-history-and-tabs", - "version": "1.9.7", + "version": "1.9.8", "description": "Browser extension to (fuzzy) search and navigate bookmarks, history and open tabs.", "main": "index.js", "type": "module", "dependencies": { "@leeoniya/ufuzzy": "^1.0.14", - "@yaireo/tagify": "^4.26.5", + "@yaireo/tagify": "^4.31.0", "js-yaml": "^4.1.0", "mark.js": "^8.11.1", "minireset.css": "^0.0.7" }, "devDependencies": { - "cypress": "^13.10.0", + "cypress": "^13.13.3", "cypress-fail-on-console-error": "^5.1.1", - "eslint": "^9.4.0", - "eslint-plugin-cypress": "^3.3.0", - "live-server": "^1.2.2", - "sass": "^1.77.4" + "eslint": "^9.9.1", + "eslint-plugin-cypress": "^3.5.0", + "live-server": "^1.2.2" }, "scripts": { "clean": "rm -rf ./dist", - "build": "npm run clean && npm run css-build && npm run update-libs && npm run create-dist && npm run size", + "build": "npm run clean && npm run update-libs && npm run update-manifests && npm run create-dist && npm run size", "update-libs": "sh bin/updateLibs.sh", "create-dist": "sh bin/createDist.sh", + "update-manifests": "node bin/updateManifests.js", "test": "npm run e2e", "e2e": "cypress run --config-file=cypress.config.mjs --spec 'cypress/e2e/**/*'", "e2e-all": "npm run e2e-chrome && npm run e2e-firefox && npm run e2e-edge", @@ -32,8 +32,6 @@ "e2e-edge": "cypress run --config-file=cypress.config.mjs --browser edge --headed --spec 'cypress/e2e/**/*'", "lint": "npm run eslint", "eslint": "eslint ./popup/js/", - "css-build": "sass sass/style.scss popup/css/style.css --style=compressed --no-source-map", - "css-watch": "npm run css-build -- --watch", "start": "live-server --open=./popup/", "cypress-info": "cypress info", "cypress": "cypress open --config-file=cypress.config.mjs", diff --git a/popup/css/style.css b/popup/css/style.css new file mode 100644 index 00000000..b1996994 --- /dev/null +++ b/popup/css/style.css @@ -0,0 +1,441 @@ +@charset "utf-8"; + html, body, #container, #search { + width: 500px; + height: 600px; + overflow: hidden; +} + body { + background: #eee; + color: #898989; + padding: 0; + font-size: 1.1em; +} + body a { + color: #4494c9; + text-decoration: none; +} + body mark { + font-weight: bold; + color: #356ba9; + background: none; +} + body small { + color: #aaa; +} + body, textarea { + font-family: -apple-system, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; +} + .input, .input:active, .input:focus { + width: 100%; + max-width: 500px; + min-width: 500px; + height: 55px; + padding: 4px 8px; + font-size: 24px; + border-radius: 0; + border: none; + outline: none; + background: #fff; + border-bottom: 1px solid #ccc; +} + #search-input { + max-width: 473px; + min-width: 473px; +} + .input-description { + margin: 2px 4px; +} + #search-approach-toggle { + float: right; + height: 55px; + width: 26px; + padding: 0 3px 0 0; + writing-mode: vertical-rl; + font-size: 12px; + font-weight: 500; + text-align: center; + background: #fff; + border-bottom: 1px solid #ccc; + cursor: pointer; +} + #search-approach-toggle.fuzzy { + color: #8667cd; +} + #search-approach-toggle.precise { + color: #9dcd1b; +} + #search-approach-toggle.precise { + color: #54c4d3; +} + code { + background-color: #d5d5d5; + color: #676767; + border-radius: 3px; + font-size: 0.75em; + padding: 1px 4px; +} + .badge { + color: #fff; + font-size: 11px; + border-radius: 3px; + padding: 1px 3px 2px 3px; + margin-right: 4px; + white-space: nowrap; + display: inline-block; + position: relative; + top: -3px; +} + .tags { + background: #557292; +} + .tags .divider:before { + content: ' '; +} + .tags mark { + color: #7cb3f6; +} + .tags small { + color: #a2bbd6; +} + .folder { + background: #559292; +} + .folder .divider:before { + content: ' \276F \0020'; +} + .folder mark { + color: #85dbdb; +} + .folder small { + color: #a3d0d0; +} + .window { + background: #8061ca; + color: #efe8ff; +} + .score { + background: #747474; + color: #ddd; +} + .last-visited { + background: #8ebb26; + color: #fff; +} + .visit-counter { + background: #bbac26; + color: #fff; +} + .date-added { + background: #bb8c26; + color: #fff; +} + .url { + font-size: 13px; + margin: 0; + overflow: hidden; + white-space: nowrap; +} + .controls { + text-align: right; + position: absolute; + bottom: 8px; + right: 8px; + width: 100%; + padding-left: 8px; +} + .controls .button { + height: 28px; + border-radius: 3px; +} + .controls .reset-button, .controls .delete-button { + background: #ee4343 !important; + color: #fff !important; + float: left; +} + .controls .cancel-button { + background: #929292 !important; + color: #fff !important; +} + .controls .help-button { + background: #4494c9 !important; + color: #fff !important; + float: left; +} + .controls .save-button { + background: #5fc944 !important; + color: #fff !important; +} + .controls a, .controls a:hover { + background: #777; + color: #fff; + margin: 0 0 0 8px; + padding: 2px 12px 4px 12px; + border: none; + font-size: 16px; +} + #result-list, #error-list { + padding: 4px 6px 0 4px; + height: 523px; + overflow-x: hidden; + overflow-y: scroll; +} + #result-list a, #error-list a { + color: #888; +} + #result-list li, #error-list li { + background-color: #fff; + margin: 0 0 4px 0; + padding: 4px 0px 4px 6px; + border-radius: 3px; + overflow: hidden; + cursor: pointer; + border-left: 6px solid #ccc; +} + #result-list #selected-result, #error-list #selected-result { + background-color: #dadada; +} + #result-list li.error, #error-list li.error { + color: #cc5858; + border-left: 6px solid #cc5858; +} + #result-list .edit-button, #error-list .edit-button, #result-list .close-button, #error-list .close-button { + float: right; +} + #result-list .edit-button:hover, #error-list .edit-button:hover, #result-list .close-button:hover, #error-list .close-button:hover { + background: rgba(255, 255, 255, 0.12); + border-radius: 3px; +} + #result-list .title, #error-list .title { + font-size: 18px; + margin: 0; + font-weight: 400; + color: #333; +} + #result-list .title-text, #error-list .title-text { + line-break: auto; +} + #error-list { + position: fixed; + width: 494px; + top: 55px; + overflow-y: hidden; + display: none; +} + #links { + height: 22px; + width: 500px; + position: absolute; + top: 579px; + left: 0; + background: #fff; + border-top: #595959; + padding: 0 6px; + font-size: 14px; +} + #links a { + color: #888; +} + #links #result-counter { + float: right; +} + #tags-overview, #folders-overview { + position: fixed; + top: 55px; + left: 0; + width: 500px; + height: 524px; + background: #eee; + padding: 4px 8px; + overflow-x: hidden; + overflow-y: scroll; +} + #tags-overview .input-description, #folders-overview .input-description { + margin: 4px 0px; +} + #tags-overview #tags-list, #folders-overview #tags-list, #tags-overview #folders-list, #folders-overview #folders-list { + width: 100%; +} + #tags-overview #tags-list a, #folders-overview #tags-list a, #tags-overview #folders-list a, #folders-overview #folders-list a, #tags-overview #tags-list a:hover, #folders-overview #tags-list a:hover, #tags-overview #folders-list a:hover, #folders-overview #folders-list a:hover { + color: #fff; + font-size: 15px; + margin: 4px 4px 0 0; +} +/** EDIT BOOKMARK */ + #edit-bookmark { + padding: 0; + overflow: none; + position: fixed; + top: 0; + left: 0; + width: 500px; + height: 578px; + background: #eee; +} + #edit-bookmark #bookmark-title { + height: 112px; + resize: none; + font-size: 1.2em; +} + #edit-bookmark #bookmark-url { + height: 62px; + resize: none; + font-size: 0.85em; +} + #edit-bookmark #bookmark-tags, #edit-bookmark .tagify { + height: 85px; + font-size: 18px; + border: none; + padding: 4px 2px; + overflow-x: hidden; +} +/** EDIT Options */ + #options { + width: 500px; + height: 580px; + position: fixed; +} + #options textarea { + height: 426px; + font-size: 18px; + font-family: Consolas, monospace, monospace; + resize: none; + padding: 6px 8px; +} + #options .help { + padding: 2px 6px; + background: #fff; + border-left: 4px solid #4494c9; +} + #tips { + font-size: 0.9em; +} + #tips .tip { + margin: 4px; + padding: 2px 4px; + background: #fff; + border-radius: 3px; +} + #tips .fuzzy { + color: #d593ea; +} + #tips .precise { + color: #b1d354; +} +/** CUSTOMIZE TAGIFY STYLE */ + .tagify { + height: 90px; + border: none; + --tag-bg: #557292; + --tag-hover: #5c84af; + --tagify-dd-color-primary: #557292; + --tag-text-color: #fff; + --tag-text-color--edit: #111; + --tag-remove-bg: var(--tag-hover); + --tag-pad: 2px 8px 4px 8px; + --tag-inset-shadow-size: 1.35em; + --tag-remove-btn-bg--hover: black; +} + .tagify__tag { + margin: 6px 0 5px 6px; +} + .tagify__tag > div { + font-size: 15px; +} + .tagify__dropdown { + max-height: 235px; + border: none; +} + .tagify__dropdown__wrapper { + border: none; +} + .tagify__dropdown__item { + padding: 3px 8px 3px 8px; + background: #fff; +} + .tagify__dropdown__item--active { + background: #557292 !important; +} +/** SCROLLBAR */ + #result-list::-webkit-scrollbar, #tags-overview::-webkit-scrollbar, #folders-overview::-webkit-scrollbar, #tips::-webkit-scrollbar, .tagify__dropdown__wrapper::-webkit-scrollbar { + width: 8px; + margin-left: 4px; + padding-left: 0px; +} + #result-list::-webkit-scrollbar-track, #tags-overview::-webkit-scrollbar-track, #folders-overview::-webkit-scrollbar-track, #tip::-webkit-scrollbar-track, .tagify__dropdown__wrapper::-webkit-scrollbar-track { + background: #ddd; + padding-left: 2px; +} + #result-list::-webkit-scrollbar-thumb, #tags-overview::-webkit-scrollbar-thumb, #folders-overview::-webkit-scrollbar-thumb, #tips::-webkit-scrollbar-thumb, .tagify__dropdown__wrapper::-webkit-scrollbar-thumb { + background-color: #999; +} +/** DARK MODE **/ + @media screen and (prefers-color-scheme: dark) { + html, body, #edit-bookmark, #tags-overview, #folders-overview { + background: #222; + } + html a, body a, #edit-bookmark a, #tags-overview a, #folders-overview a, html a:visited, body a:visited, #edit-bookmark a:visited, #tags-overview a:visited, #folders-overview a:visited { + color: #999; + } + html a:hover, body a:hover, #edit-bookmark a:hover, #tags-overview a:hover, #folders-overview a:hover { + color: #bbb; + } + html mark, body mark, #edit-bookmark mark, #tags-overview mark, #folders-overview mark { + color: #6b92c0; + } + strong { + color: #898989; + } + code { + color: #898989; + background-color: #333; + } + #options .help { + background: #000; + } + #tips .tip { + background: #000; + } + .input, .input:active, .input:focus, #search-approach-toggle { + background-color: #000; + border-bottom: 1px solid #444; + color: #ddd; + } + #search-approach-toggle.fuzzy { + color: #d593ea; + } + #search-approach-toggle.precise { + color: #b1d354; + } + #result-list li, #error-list li { + background: #111; + } + #result-list #selected-result, #error-list #selected-result { + background-color: #333; + } + #result-list .title, #error-list .title { + color: #e7e7e7; + } + #links { + background: #000; + } + #result-list::-webkit-scrollbar-track, #tags-overview::-webkit-scrollbar-track, #folders-overview::-webkit-scrollbar-track, #tips::-webkit-scrollbar-track, .tagify__dropdown__wrapper::-webkit-scrollbar-track { + background: #414141; + } + #result-list::-webkit-scrollbar-thumb, #tags-overview::-webkit-scrollbar-thumb, #folders-overview::-webkit-scrollbar-thumb, #tips::-webkit-scrollbar-thumb, .tagify__dropdown__wrapper::-webkit-scrollbar-thumb { + background-color: #5f5f5f; + } + .input-description { + color: #777; + } + .tagify__dropdown__wrapper { + background: #111; + } + .tagify__dropdown__item { + color: #ccc; + background: #000; + } + .tagify__tag > div > [contenteditable] { + color: #eee; + } +} + \ No newline at end of file diff --git a/popup/index.html b/popup/index.html index 08312644..536fe2af 100644 --- a/popup/index.html +++ b/popup/index.html @@ -1,8 +1,11 @@ - - + + Search Bookmarks, History and Tabs + + + @@ -33,9 +36,9 @@
The options are written in diff --git a/popup/tips.html b/popup/tips.html index 1e7836a1..158a624b 100644 --- a/popup/tips.html +++ b/popup/tips.html @@ -1,8 +1,10 @@ - - + + Search Bookmarks, History and Tabs: Tips + +