diff --git a/.bundlewatch.config.json b/.bundlewatch.config.json index f8480509309..85681fdf15f 100644 --- a/.bundlewatch.config.json +++ b/.bundlewatch.config.json @@ -2,27 +2,27 @@ "files": [ { "path": "./dist/bootstrap-vue-icons.js", - "maxSize": "155 kB" + "maxSize": "240 kB" }, { "path": "./dist/bootstrap-vue-icons.min.js", - "maxSize": "145 kB" + "maxSize": "230 kB" }, { "path": "./dist/bootstrap-vue-icons.common.js", - "maxSize": "155 kB" + "maxSize": "250 kB" }, { "path": "./dist/bootstrap-vue-icons.common.min.js", - "maxSize": "145 kB" + "maxSize": "240 kB" }, { "path": "./dist/bootstrap-vue-icons.esm.js", - "maxSize": "155 kB" + "maxSize": "245 kB" }, { "path": "./dist/bootstrap-vue-icons.esm.min.js", - "maxSize": "145 kB" + "maxSize": "235 kB" }, { "path": "./dist/bootstrap-vue-icons.css", @@ -42,19 +42,19 @@ }, { "path": "./dist/bootstrap-vue.common.js", - "maxSize": "360 kB" + "maxSize": "455 kB" }, { "path": "./dist/bootstrap-vue.common.min.js", - "maxSize": "240 kB" + "maxSize": "330 kB" }, { "path": "./dist/bootstrap-vue.esm.js", - "maxSize": "355 kB" + "maxSize": "450 kB" }, { "path": "./dist/bootstrap-vue.esm.min.js", - "maxSize": "235 kB" + "maxSize": "330 kB" }, { "path": "./dist/bootstrap-vue.css", @@ -62,7 +62,7 @@ }, { "path": "./dist/bootstrap-vue.min.css", - "maxSize": "10 kB" + "maxSize": "15 kB" } ], "ci": { diff --git a/.eslintignore b/.eslintignore index a91bdaacae4..d4f1f0b75d8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,6 +1,4 @@ -.now/ .nuxt/ -.vercel/ coverage/ dist/ docs-dist/ diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index ecf0fa9a8bf..00000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,40 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: weekly - day: tuesday - time: "12:00" - timezone: Europe/Berlin - reviewers: - - jackmu95 - labels: - - "Type: CI" - - "Type: Dependencies" - - - package-ecosystem: npm - directory: "/" - schedule: - interval: "daily" - time: "12:00" - timezone: Europe/Berlin - ignore: - - dependency-name: "bootstrap" - versions: [">=5.0.0"] - - dependency-name: "clean-css-cli" - versions: [">=5.0.0"] - - dependency-name: "html-loader" - versions: [">=2.0.0"] - - dependency-name: "prettier" - versions: [">1.14.3"] - - dependency-name: "sass-loader" - versions: [">=11.0.0"] - - dependency-name: "@vue/test-utils" - versions: [">=2.0.0"] - reviewers: - - jackmu95 - labels: - - "Type: Dependencies" - versioning-strategy: increase - rebase-strategy: disabled diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bfcb71d9e51..4668da990a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,14 +20,14 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [12, 14, 16] + node: [18, 20, 22] steps: - name: Clone repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set Node.js version - uses: actions/setup-node@v3.5.1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} @@ -36,7 +36,7 @@ jobs: run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache node_modules - uses: actions/cache@v3.0.11 + uses: actions/cache@v4 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -53,6 +53,6 @@ jobs: - name: BundleWatch run: yarn run bundlewatch - if: matrix.node == '16' + if: matrix.node == '20' env: BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 9df8190ff4e..00000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: "CodeQL" - -on: - push: - branches: - - dev - - master - - "!dependabot/**" - pull_request: - # The branches below must be a subset of the branches above - branches: - - dev - - master - - "!dependabot/**" - schedule: - - cron: "0 2 * * 5" - -permissions: - contents: read - -jobs: - analyze: - permissions: - actions: read # for github/codeql-action/init to get workflow details - contents: read # for actions/checkout to fetch code - security-events: write # for github/codeql-action/autobuild to send a status report - name: Analyze - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: "javascript" - - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml new file mode 100644 index 00000000000..0a06105cf39 --- /dev/null +++ b/.github/workflows/docs-deploy.yml @@ -0,0 +1,67 @@ +name: Deploy docs to GitHub Pages + +on: + push: + branches: + - master + - dev + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the "GITHUB_TOKEN" to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress +# and latest queued. However, do NOT cancel in-progress runs as we want to allow these +# production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "yarn" + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Restore cache + uses: actions/cache@v4 + with: + path: | + dist + .nuxt + key: ${{ runner.os }}-nuxt-build-${{ hashFiles('dist') }} + restore-keys: | + ${{ runner.os }}-nuxt-build- + - name: Install dependencies + run: yarn install --check-files --frozen-lockfile --non-interactive + - name: Static HTML export with Nuxt + run: yarn docs-gen + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./docs-dist + + # Deploy + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4185f1c5f1e..ae4c515df2d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,14 +20,14 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [16] + node: [20] steps: - name: Clone repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set Node.js version - uses: actions/setup-node@v3.5.1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} @@ -36,7 +36,7 @@ jobs: run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache node_modules - uses: actions/cache@v3.0.11 + uses: actions/cache@v4 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -57,14 +57,14 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [16] + node: [20] steps: - name: Clone repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set Node.js version - uses: actions/setup-node@v3.5.1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} @@ -73,7 +73,7 @@ jobs: run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache node_modules - uses: actions/cache@v3.0.11 + uses: actions/cache@v4 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -94,14 +94,14 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [12, 14, 16] + node: [18, 20, 22] steps: - name: Clone repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set Node.js version - uses: actions/setup-node@v3.5.1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} @@ -110,7 +110,7 @@ jobs: run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache node_modules - uses: actions/cache@v3.0.11 + uses: actions/cache@v4 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ matrix.os }}-node-v${{ matrix.node }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -136,7 +136,7 @@ jobs: coverage-vue3/coverage-final.json - name: CodeCov - uses: codecov/codecov-action@v3.1.1 + uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} flags: unittests diff --git a/.gitignore b/.gitignore index 38d10d68e50..89258d941b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ .idea/ -.now/ .nuxt/ -.vercel/ .vscode/ coverage/ coverage-vue3/ diff --git a/.prettierignore b/.prettierignore index a85108a8ec6..0febdfb7bd5 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,4 @@ -.now/ .nuxt/ -.vercel/ coverage/ dist/ docs-dist/ diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index fb779a4ee99..fb0aab45fea 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,65 +1,133 @@ # Contributor Covenant Code of Conduct -## Our pledge +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. -In the interest of fostering an open and welcoming environment, we as contributors and maintainers -pledge to making participation in our project and our community a harassment-free experience for -everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level -of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. +## Scope -## Our standards +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. -Examples of behavior that contributes to creating a positive environment include: +## Enforcement -- Using welcoming and inclusive language -- Being respectful of differing viewpoints and experiences -- Gracefully accepting constructive criticism -- Focusing on what is best for the community -- Showing empathy towards other community members +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting +the project team at pooya@pi0.ir. The project team will review and investigate all complaints, and +will respond in a way that it deems appropriate to the circumstances. The project team is obligated +to maintain confidentiality with regard to the reporter of an incident. Further details of specific +enforcement policies may be posted separately. -Examples of unacceptable behavior by participants include: +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. -- The use of sexualized language or imagery and unwelcome sexual attention or advances -- Trolling, insulting/derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information, such as a physical or electronic address, without explicit - permission -- Other conduct which could reasonably be considered inappropriate in a professional setting +## Enforcement Guidelines -## Our responsibilities +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: -Project maintainers are responsible for clarifying the standards of acceptable behavior and are -expected to take appropriate and fair corrective action in response to any instances of unacceptable -behavior. +### 1. Correction -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, -code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or -to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. -## Scope +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. -This Code of Conduct applies both within project spaces and in public spaces when an individual is -representing the project or its community. Examples of representing a project or community include -using an official project e-mail address, posting via an official social media account, or acting as -an appointed representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. +### 2. Warning -## Enforcement +**Community Impact**: A violation through a single incident or series of +actions. -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting -the project team at pooya@pi0.ir. The project team will review and investigate all complaints, and -will respond in a way that it deems appropriate to the circumstances. The project team is obligated -to maintain confidentiality with regard to the reporter of an incident. Further details of specific -enforcement policies may be posted separately. +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face -temporary or permanent repercussions as determined by other members of the project's leadership. +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at -[https://contributor-covenant.org/version/1/4][version] +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. -[homepage]: https://contributor-covenant.org -[version]: https://contributor-covenant.org/version/1/4/ +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3f2fe93edb8..47d08c4993a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,7 +53,7 @@ Examples: We also welcome financial contributions in full transparency on our [Open Collective](https://opencollective.com/bootstrap-vue). Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our -open collective by the core contributors and the person who filed the expense will be reimbursed. +Open Collective by the core contributors and the person who filed the expense will be reimbursed. Consider asking your company to also support this open source project by [becoming a sponsor](https://opencollective.com/bootstrap-vue/contribute/). diff --git a/LICENSE b/LICENSE index 80d672f72fb..90c35fd20c8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016-2020 - BootstrapVue +Copyright (c) 2016-2025 - BootstrapVue Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index ca6ea40e486..b8e3ef838a8 100644 --- a/README.md +++ b/README.md @@ -15,45 +15,42 @@

- Current version + Current version - Bootstrap version + Bootstrap version - Vue.js version + Vue.js version - Build status - - - Dependencies status + Build status
- Coverage + Coverage - Package quality + Package quality - Code quality + Code quality - npm downloads + npm downloads - npm weekly downloads + npm weekly downloads
- Open Collective sponsors + Open Collective sponsors - Open Collective backers + Open Collective backers - Open Collective balance + Open Collective balance

@@ -66,11 +63,6 @@

Sponsors

-Support this project by becoming a sponsor. - -Your logo will show up here with a link to your website. -[[Become a sponsor](https://opencollective.com/bootstrap-vue#sponsor)] - @@ -82,9 +74,15 @@ Your logo will show up here with a link to your website. +Support this project by [becoming a sponsor](https://opencollective.com/bootstrap-vue#sponsor). + +**Disclaimer:** This is a donation. No goods or services are expected in return. Any requests +for refunds for those purposes will be rejected. +

Backers

Thank you to all our backers! 🙏 + [[Become a backer](https://opencollective.com/bootstrap-vue#backer)] @@ -95,12 +93,6 @@ This project exists thanks to all the people who contribute. [[Contribute]](CONT -

Partners

- -

- Powered by Vercel -

-

License

Released under the MIT [License](./LICENSE). Copyright (c) BootstrapVue. diff --git a/docs/assets/powered-by-vercel.svg b/docs/assets/powered-by-vercel.svg deleted file mode 100644 index a3daf6f40d4..00000000000 --- a/docs/assets/powered-by-vercel.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/assets/scss/styles.scss b/docs/assets/scss/styles.scss index b0e31576cc5..15292ccd49b 100644 --- a/docs/assets/scss/styles.scss +++ b/docs/assets/scss/styles.scss @@ -186,36 +186,6 @@ } } -// Carbon Ad margin overrides -.bv-carbon-ad { - min-height: 130px; - margin: 2rem 0; - - #carbonads { - // Override Bootstrap v4 docs CSS ad margin - margin: 0; - } - - // Margins for the home page ad - @at-root .bv-section & { - margin-bottom: 3rem; - margin-top: 0; - - #carbonads { - // Center the ad on the home page - margin-left: auto; - margin-right: auto; - } - - @media (min-width: 768px) { - & { - margin-bottom: -1.5rem; - margin-top: 3rem; - } - } - } -} - .bv-example-row { .row { + .row { diff --git a/docs/assets/vercel.svg b/docs/assets/vercel.svg deleted file mode 100644 index 22f186cb965..00000000000 --- a/docs/assets/vercel.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/components/bootstrap-logo.vue b/docs/components/bootstrap-logo.vue new file mode 100644 index 00000000000..587d1affac1 --- /dev/null +++ b/docs/components/bootstrap-logo.vue @@ -0,0 +1,13 @@ + diff --git a/docs/components/bv-badge.vue b/docs/components/bv-badge.vue new file mode 100644 index 00000000000..8cb1288c1c2 --- /dev/null +++ b/docs/components/bv-badge.vue @@ -0,0 +1,15 @@ + diff --git a/docs/components/bv-logo-animated.vue b/docs/components/bv-logo-animated.vue new file mode 100644 index 00000000000..33b7c5ef64c --- /dev/null +++ b/docs/components/bv-logo-animated.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/docs/components/bv-logo-outline.vue b/docs/components/bv-logo-outline.vue new file mode 100644 index 00000000000..70023901ac3 --- /dev/null +++ b/docs/components/bv-logo-outline.vue @@ -0,0 +1,13 @@ + diff --git a/docs/components/bv-logo.vue b/docs/components/bv-logo.vue index 3962e6672ec..2763304e7a3 100644 --- a/docs/components/bv-logo.vue +++ b/docs/components/bv-logo.vue @@ -1,178 +1,17 @@ - - - - diff --git a/docs/components/carbon-ad.js b/docs/components/carbon-ad.js deleted file mode 100644 index c8f3d63d79b..00000000000 --- a/docs/components/carbon-ad.js +++ /dev/null @@ -1,65 +0,0 @@ -// @vue/component -export default { - name: 'BVCarbonAd', - props: { - id: { - type: String, - default: '_carbonads_js' - }, - url: { - type: String, - default: '//cdn.carbonads.com/carbon.js' - }, - serve: { - type: String, - default: 'CE7ITK77' - }, - placement: { - type: String, - default: 'bootstrap-vuejsorg' - } - }, - data() { - return { - mounted: false - } - }, - computed: { - src() { - return `${this.url}?serve=${this.serve}&placement=${this.placement}` - } - }, - mounted() { - // Remove any leftover Carbonads scripts from the `` - const $nodes = document.querySelectorAll('head > script[id="_carbonads_projs"]') - for (const $node of $nodes) { - try { - $node.parentNode.removeChild($node) - } catch {} - } - - // Show the new ad - this.$nextTick(() => { - requestAnimationFrame(() => { - this.mounted = true - }) - }) - }, - beforeDestroy() { - this.mounted = false - }, - render(h) { - let $script = h() - if (this.mounted) { - $script = h('script', { - attrs: { - id: this.id, - async: 'async', - type: 'text/javascript', - src: this.src - } - }) - } - return h('aside', { staticClass: 'bv-carbon-ad' }, [$script]) - } -} diff --git a/docs/components/contributors.vue b/docs/components/contributors.vue index 0fd8276ac0e..2b6f43844dc 100644 --- a/docs/components/contributors.vue +++ b/docs/components/contributors.vue @@ -135,7 +135,9 @@ export default { } xhr.open('GET', url, true) - xhr.addEventListener('load', onLoad) + xhr.addEventListener('load', onLoad, { + signal: this.controller ? this.controller.signal : undefined + }) // Initiate the request xhr.send() }, @@ -248,6 +250,14 @@ export default { // Donors are people/organizations with one-time (paid) donations this.makeOcRequest(this.processDonors.bind(this), { status: 'paid' }) } + }, + + beforeDestroy() { + this.controller.abort() + }, + + created() { + this.controller = new window.AbortController() } } diff --git a/docs/components/footer.vue b/docs/components/footer.vue index 80d37f618e8..eab4e730093 100644 --- a/docs/components/footer.vue +++ b/docs/components/footer.vue @@ -4,7 +4,7 @@ - + @@ -19,10 +19,6 @@
  • Reference
  • Playground
  • -
    Themes
    - @@ -53,33 +49,19 @@ Currently v{{ version }}. Code licensed MIT. Docs generated with - Nuxt.js - - + Nuxt.js.

    - - diff --git a/docs/pages/themes.vue b/docs/pages/themes.vue deleted file mode 100644 index 5c796895aa2..00000000000 --- a/docs/pages/themes.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - - - diff --git a/docs/pages/vue3.vue b/docs/pages/vue3.vue index 058c2fdeced..1894910a042 100644 --- a/docs/pages/vue3.vue +++ b/docs/pages/vue3.vue @@ -1,39 +1,37 @@