diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e596eee009..6c6928e534 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,16 +9,29 @@ updates: interval: daily timezone: Europe/Paris open-pull-requests-limit: 10 + versioning-strategy: "increase" labels: - 3. to review - dependencies - - package-ecosystem: github-actions + - package-ecosystem: npm directory: "/" + target-branch: next schedule: interval: daily timezone: Europe/Paris open-pull-requests-limit: 10 + versioning-strategy: "increase" + labels: + - 3. to review + - dependencies + + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + timezone: Europe/Paris + open-pull-requests-limit: 10 labels: - 3. to review - dependencies diff --git a/.github/workflows/block-unconventional-commits.yml b/.github/workflows/block-unconventional-commits.yml new file mode 100644 index 0000000000..409e70a5c9 --- /dev/null +++ b/.github/workflows/block-unconventional-commits.yml @@ -0,0 +1,36 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization +# +# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: MIT + +name: Block unconventional commits + +on: + pull_request: + types: [opened, ready_for_review, reopened, synchronize] + +permissions: + contents: read + +concurrency: + group: block-unconventional-commits-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + block-unconventional-commits: + name: Block unconventional commits + + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + + - uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/command-l10n-update.yml b/.github/workflows/command-l10n-update.yml index c3a5c0b3d6..c244e61937 100644 --- a/.github/workflows/command-l10n-update.yml +++ b/.github/workflows/command-l10n-update.yml @@ -27,13 +27,22 @@ jobs: reaction-type: "+1" - name: Parse command - uses: skjnldsv/parse-command-comment@master + uses: skjnldsv/parse-command-comment@5c955203c52424151e6d0e58fb9de8a9f6a605a1 # v3.1 id: command - name: Init branch - uses: xt0rted/pull-request-comment-branch@v3 + uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v3.0.0 id: comment-branch + - name: Add reaction on failure + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 + if: failure() + with: + token: ${{ secrets.COMMAND_BOT_PAT }} + repository: ${{ github.event.repository.full_name }} + comment-id: ${{ github.event.comment.id }} + reactions: '-1' + process: runs-on: ubuntu-latest needs: init diff --git a/.github/workflows/dependabot-approve-merge.yml b/.github/workflows/dependabot-approve-merge.yml index 9e38f2bec7..1cc6ee3457 100644 --- a/.github/workflows/dependabot-approve-merge.yml +++ b/.github/workflows/dependabot-approve-merge.yml @@ -9,10 +9,11 @@ name: Dependabot on: - pull_request_target: + pull_request: branches: - main - master + - next - stable* permissions: @@ -24,7 +25,7 @@ concurrency: jobs: auto-approve-merge: - if: github.actor == 'dependabot[bot]' || github.actor == 'renovate[bot]' + if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]' runs-on: ubuntu-latest permissions: # for hmarr/auto-approve-action to approve PRs diff --git a/.github/workflows/l10n.yml b/.github/workflows/l10n.yml index 8fc1d0ccd0..4830354567 100644 --- a/.github/workflows/l10n.yml +++ b/.github/workflows/l10n.yml @@ -4,23 +4,29 @@ name: L10n on: pull_request +permissions: + contents: read + jobs: l10n-extract-check: runs-on: ubuntu-latest name: Pot check steps: - - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@v3 + uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 id: versions with: - fallbackNode: '^12' - fallbackNpm: '^6' + fallbackNode: '^20' + fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@v4 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} diff --git a/.github/workflows/lint-eslint.yml b/.github/workflows/lint-eslint.yml index 07b3cac15f..7f27d108e1 100644 --- a/.github/workflows/lint-eslint.yml +++ b/.github/workflows/lint-eslint.yml @@ -20,6 +20,9 @@ concurrency: jobs: changes: runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: read outputs: src: ${{ steps.changes.outputs.src}} @@ -53,7 +56,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -63,12 +68,12 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} - name: Set up npm ${{ steps.versions.outputs.npmVersion }} - run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' - name: Install dependencies env: diff --git a/.github/workflows/lint-stylelint.yml b/.github/workflows/lint-stylelint.yml index 3e200c3355..9601a972fd 100644 --- a/.github/workflows/lint-stylelint.yml +++ b/.github/workflows/lint-stylelint.yml @@ -25,7 +25,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -35,12 +37,12 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} - name: Set up npm ${{ steps.versions.outputs.npmVersion }} - run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' - name: Install dependencies env: diff --git a/.github/workflows/node-test.yml b/.github/workflows/node-test.yml index 4a8ed2d833..3f7fa2c31e 100644 --- a/.github/workflows/node-test.yml +++ b/.github/workflows/node-test.yml @@ -26,6 +26,9 @@ concurrency: jobs: changes: runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: read outputs: src: ${{ steps.changes.outputs.src}} @@ -57,7 +60,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -67,12 +72,12 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} - name: Set up npm ${{ steps.versions.outputs.npmVersion }} - run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' - name: Install dependencies & build env: @@ -88,7 +93,7 @@ jobs: run: npm run test:coverage --if-present - name: Collect coverage - uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303 # v5.1.2 + uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1 with: files: ./coverage/lcov.info diff --git a/.github/workflows/npm-audit-fix.yml b/.github/workflows/npm-audit-fix.yml index c568c96ad2..2050342248 100644 --- a/.github/workflows/npm-audit-fix.yml +++ b/.github/workflows/npm-audit-fix.yml @@ -14,6 +14,9 @@ on: # At 2:30 on Sundays - cron: '30 2 * * 0' +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest @@ -27,9 +30,12 @@ jobs: steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + id: checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: + persist-credentials: false ref: ${{ matrix.branches }} + continue-on-error: true - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -39,7 +45,7 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} @@ -51,7 +57,7 @@ jobs: uses: nextcloud-libraries/npm-audit-action@2a60bd2e79cc77f2cc4d9a3fe40f1a69896f3a87 # v0.1.0 - name: Run npm ci and npm run build - if: always() + if: steps.checkout.outcome == 'success' env: CYPRESS_INSTALL_BINARY: 0 run: | @@ -59,8 +65,8 @@ jobs: npm run build --if-present - name: Create Pull Request - if: always() - uses: peter-evans/create-pull-request@4320041ed380b20e97d388d56a7fb4f9b8c20e79 # v7.0.0 + if: steps.checkout.outcome == 'success' + uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6 with: token: ${{ secrets.COMMAND_BOT_PAT }} commit-message: 'fix(deps): Fix npm audit' diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 7c98e19dc8..4c3849051a 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -14,7 +14,6 @@ on: permissions: contents: read - packages: write jobs: publish: @@ -23,6 +22,8 @@ jobs: name: Build and publish to npm env: RELEASE_GROUP: ${{ (contains(github.ref, 'beta') || contains(github.ref, 'alpha')) && 'next' || 'latest' }} + permissions: + packages: write steps: - name: Check actor permission level @@ -31,7 +32,9 @@ jobs: require: write - name: Checkout - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 @@ -41,12 +44,12 @@ jobs: fallbackNpm: '^10' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ steps.versions.outputs.nodeVersion }} - name: Set up npm ${{ steps.versions.outputs.npmVersion }} - run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' - name: Install dependencies & build env: diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml index c42e9b5521..0d8e1962a8 100644 --- a/.github/workflows/reuse.yml +++ b/.github/workflows/reuse.yml @@ -11,12 +11,17 @@ name: REUSE Compliance Check on: [pull_request] +permissions: + contents: read + jobs: reuse-compliance-check: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - - name: REUSE Compliance Check - uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0 + - name: REUSE Compliance Check + uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0 diff --git a/.github/workflows/server-styling-update.yml b/.github/workflows/server-styling-update.yml index a1999a1c28..22f3d709e6 100644 --- a/.github/workflows/server-styling-update.yml +++ b/.github/workflows/server-styling-update.yml @@ -8,12 +8,18 @@ on: schedule: - cron: "0 5 * * *" +permissions: + contents: read + jobs: server-styling-update: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false - name: Download css run: | @@ -25,7 +31,7 @@ jobs: curl https://nextcloud.github.io/server/dist/icons.css --output icons.css - name: Create Pull Request - uses: peter-evans/create-pull-request@v7 + uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6 with: token: ${{ secrets.COMMAND_BOT_PAT }} commit-message: "chore(assets): Update styling from server" diff --git a/.github/workflows/transifex-approve-merge.yml b/.github/workflows/transifex-approve-merge.yml index 2f2b2c19a2..763398e32e 100644 --- a/.github/workflows/transifex-approve-merge.yml +++ b/.github/workflows/transifex-approve-merge.yml @@ -2,17 +2,41 @@ # SPDX-License-Identifier: MIT name: Transifex -on: pull_request + +on: + pull_request: + branches: + - main + - master + - next + - stable* + +permissions: + contents: read + +concurrency: + group: transifex-approve-merge-${{ github.head_ref || github.run_id }} + cancel-in-progress: true jobs: auto-approve-merge: if: github.event.pull_request.user.login == 'transifex-integration[bot]' runs-on: ubuntu-latest + permissions: + # for hmarr/auto-approve-action to approve PRs + pull-requests: write steps: - - uses: hmarr/auto-approve-action@v3 + - name: Disabled on forks + if: ${{ github.event.pull_request.head.repo.full_name != github.repository }} + run: | + echo 'Can not approve PRs from forks' + exit 1 + + # GitHub actions bot approve + - uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 # v4 with: - github-token: ${{ secrets.COMMAND_BOT_PAT }} + github-token: ${{ secrets.GITHUB_TOKEN }} - uses: pascalgn/automerge-action@v0.16.4 env: diff --git a/CHANGELOG.md b/CHANGELOG.md index 630f0842a0..94a3188282 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,90 @@ # Changelog +## [v8.23.1](https://github.com/nextcloud-libraries/nextcloud-vue/tree/v8.23.1) (2025-02-13) +[Full Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.23.0...v8.23.1) + +### 🐛 Fixed bugs +* fix(l10n): fix build error after `@nextcloud/l10n` bump [\#6521](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6521) \([ShGKme](https://github.com/ShGKme)\) + + +## [v8.23.0](https://github.com/nextcloud-libraries/nextcloud-vue/tree/v8.23.0) (2025-02-13) +[Full Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.22.0...v8.23.0) + +### 📝 Notes +* The individual import path of components, composables, directives, and functions was changed. + The type of import is (e.g. `components`) is now lowercase and the `dist` will be omitted. + For example to import the `NcButton` component the path has changed: + + ```ts + // Old import + import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' + // New way to import + import NcButton from '@nextcloud/vue/components/NcButton' + ``` + + The old import paths are still valid, but deprecated and will be removed in version 9. +* `#default` slot for leading icon is now deprecated in components `NcInputField`, `NcTextField`, `NcPasswordField`. Use `#icon` slot instead. +* `NcActionRadio` is now expecting String|Number in `v-model` directive (to compare with passed `value`) instead of Boolean. Consider it for migration. +* Some boolean props have been deprecated in favor of alternatives with default value `false`. + This allows to use shorthand notation on the template, as a prop with a default value of `false` + will be set to `true` if it is set (without any value) in the template, + similar to native HTML boolean attributes. + Following components have been adjusted: + + | Component | Deprecated prop | New alternative | + |---------------|------------------------|-----------------| + | `NcModal` | `enableSwipe` | `disableSwipe` | + |`NcAppContent` | `allowSwipeNavigation` | `disabledSwipe` | + +### 🚀 Enhancements +* feat: Allow to import without `dist` [\#6385](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6385) \([susnux](https://github.com/susnux)\) +* feat: Use boolean props with default value false [\#6452](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6452) \([susnux](https://github.com/susnux)\) +* feat(Nc*Field): add `#icon` slot for forward compatibility with v9, `#default` slot is deprecated [\#6399](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6399) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcActionRadio): change `modelValue` to behave like NcCheckboxRadioSwitch [\#6264](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6264) [\#6470](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6470) \([Antreesy](https://github.com/Antreesy)\) + +### 🐛 Fixed bugs +* fix(NcAction*): Fix RTL support for component [\#6507](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6507) \([Antreesy](https://github.com/Antreesy)\) +* fix(NcActions): Remove on `mousemove` listener for auto focus elements [\#6475](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6475) \([susnux](https://github.com/susnux)\) +* fix(NcActionCheckbox): Fix padding in RTL mode [\#6354](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6354) \([falghamdi125](https://github.com/falghamdi125)\) +* fix(NcAppNavigation + NcUserBubble + NcRichContenteditable): RTL support [\#6455](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6455) \([DorraJaouad](https://github.com/DorraJaouad)\) +* fix(NcAvatar): title not shown when component used without menu [\#6297](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6297) \([Koc](https://github.com/Koc)\) +* fix(NcAvatar): user status and interactivity toggle button Bidi support [\#6407](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6407) \([DorraJaouad](https://github.com/DorraJaouad)\) +* fix(NcColorPicker): close popover on submit event [\#6336](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6336) \([Antreesy](https://github.com/Antreesy)\) +* fix(NcCounterBubble): show original count in title when shortened [\#6395](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6395) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcDateTimePicker): selected and hover time is not readable [\#6492](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6492) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcDateTimePickerNative): do not set invalid value on clear event [\#6387](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6387) \([Antreesy](https://github.com/Antreesy)\) +* fix(NcDateTimePickerNative): style alignment with other input components [\#6454](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6454) \([Antreesy](https://github.com/Antreesy)\) +* fix(NcEmojiPicker): add arrow navigation [\#6466](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6466) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcEmojiPicker): adjust styles to correctly fit emojis [\#6465](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6465) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcListItem): Fix padding in RTL mode [\#6359](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6359) \([falghamdi125](https://github.com/falghamdi125)\) +* fix(NcModal): Enforce opaque backdrop if needed [\#6434](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6434) \([susnux](https://github.com/susnux)\) +* fix(NcPopover): emit `after-show` after `focus-trap` init to correctly return focus [\#6342](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6342) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcPopover): blurry content on scaled page in Chromium [\#6512](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6512) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcRich*): style fixes and RTL support [\#6474](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6474) \([Antreesy](https://github.com/Antreesy)\) +* fix(NcRichContenteditable): remove value linkify [\#6372](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6372) \([ShGKme](https://github.com/ShGKme)\) +* fix(NcRichText): adjust conditions for highlight syntax [\#6259](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6259) \([Antreesy](https://github.com/Antreesy)\) +* fix(NcRichText): extract un-escaping of text/code nodes with XML-like content [\#6499](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6499) [\#6501](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6501) \([Antreesy](https://github.com/Antreesy)\) +* fix(NcTeamResources): Do not make extraneous requests for resources [\#6379](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6379) \([Pytal](https://github.com/Pytal)\) + +### Changed +* chore(stylelint): `csstools/use-logical` [\#6419](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6419) \([ShGKme](https://github.com/ShGKme)\) +* chore(stylelint): fix scripts to be unix-compatible [\#6418](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6418) \([ShGKme](https://github.com/ShGKme)\) +* chore(docs): Do not override assets while building the styleguide [\#6408](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6408) \([susnux](https://github.com/susnux)\) +* chore(docs): update documentation [\#6460](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6460) \([ShGKme](https://github.com/ShGKme)\) +* Updated workflows and dependencies +* Updated translations + +## New Contributors +* @Koc made their first contribution in https://github.com/nextcloud-libraries/nextcloud-vue/pull/6297 + ## [v8.22.0](https://github.com/nextcloud-libraries/nextcloud-vue/tree/v8.22.0) (2024-12-20) [Full Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.21.0...v8.22.0) ### 🚀 Enhancements * feat(NcAvatar): implement custom javascript hook action for the contacts menu [\#6238](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6238) \([st3iny](https://github.com/st3iny)\) * feat(NcAppNavigation): add `n` hotkey to toggle navigation [\#6311](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6311) \([skjnldsv](https://github.com/skjnldsv)\) + ### 🐛 Fixed bugs * fix(NcAppNavigationItem): TypeError: this.$refs.actions.$refs.menuButton is undefined [\#6226](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6226) \([wofferl](https://github.com/wofferl)\) * fix(NcListItem): Don't require name prop by @artonge in [\#6128](https://github.com/nextcloud-libraries/nextcloud-vue/pull/6128) \([artonge](https://github.com/artonge)\) diff --git a/README.md b/README.md index 5fe7987990..ddc2a32e27 100644 --- a/README.md +++ b/README.md @@ -3,47 +3,58 @@ - SPDX-License-Identifier: AGPL-3.0-or-later --> -# Vue components +# @nextcloud/vue [![REUSE status](https://api.reuse.software/badge/github.com/nextcloud-libraries/nextcloud-vue)](https://api.reuse.software/info/github.com/nextcloud-libraries/nextcloud-vue) -[![npm last version](https://img.shields.io/npm/v/@nextcloud/vue.svg?style=flat-square)](https://www.npmjs.com/package/@nextcloud/vue) -[![Dependabot status](https://img.shields.io/badge/Dependabot-enabled-brightgreen.svg?longCache=true&style=flat-square&logo=dependabot)](https://dependabot.com) +[![npm last version](https://img.shields.io/npm/v/@nextcloud/vue.svg?style=flat)](https://www.npmjs.com/package/@nextcloud/vue) +[![Dependabot status](https://img.shields.io/badge/Dependabot-enabled-brightgreen.svg?longCache=true&style=flat&logo=dependabot)](https://dependabot.com) -This repo contains the various Vue.js components that Nextcloud uses for its internal design and structure. It provides standardized UI elements for building Nextcloud app frontends with Vue.js. +> 🖼️ UI Kit for building Nextcloud apps with Vue -## Documentation +- ✨ Standardized UI Components +- 🛠️ Composables and frontend utilities +- 🔗 [Reference providers](https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/reference.html) utilities -A list of available components with examples to try out is available in the [documentation](https://nextcloud-vue-components.netlify.app). +## 📄 Documentation -The documentation is built from the latest development branch, for stable releases the documentation can be found matching the latest minor version: +| Version | Target | Documentation | +|----------------|-----------------------|-------------------------------------------------------| +| v9.x [next] | Nextcloud 30+ (Vue 3) | https://next--nextcloud-vue-components.netlify.app | +| v8.x [master] | Nextcloud 28+ (Vue 2) | https://nextcloud-vue-components.netlify.app | +| v7.x [stable7] | Nextcloud 25 - 27 | https://stable7--nextcloud-vue-components.netlify.app | +| v6.x [stable6] | Nextcloud 24 - 25 | https://stable6--nextcloud-vue-components.netlify.app | -- [master](https://nextcloud-vue-components.netlify.app). -- [7.x.x](https://stable7--nextcloud-vue-components.netlify.app/) -- [6.x.x](https://stable6--nextcloud-vue-components.netlify.app/) +## 📦 Install -## Getting started +```bash +npm i @nextcloud/vue +``` -### App example -If you want to check a real live example of a nextcloud app that uses this library, you can head over to https://github.com/skjnldsv/vueexample/ -We will try to maintain this repository the best we can, but some example might be obsolete. Always check this [repository documentation](#documentation). +## 🚀 Usage -### Install the library +Import corresponding components and other modules on use. Check the documentation for more details. -```bash -npm i --save @nextcloud/vue -``` +```js +import NcButton from '@nextcloud/vue/components/NcButton' +import { useHotKey } from '@nextcloud/vue/composables/useHotKey' -### Usage +// (Deprecated) Old import path +import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' +import { useHotKey } from '@nextcloud/vue/dist/Composables/useHotKey.js' +``` -To use a component, just import it: +Import from a single root is available as well. Use with caution: this might lead to slower build time and larger bundles in some cases. ```js -import { NcAppNavigation, NcActions, NcActionButton } from '@nextcloud/vue' +import { NcButton, useHotKey } from '@nextcloud/vue' ``` -### Registering all components. +### (Deprecated) Registering all components + +`NextcloudVuePlugin` registers all the components and directives globally. -> Be careful, this will registry all components and directives, even the ones not being used. +> ⚠️ This installation method leads to extremely large bundle and removed in v9.\ +> If you don't want to import component on usage you may use [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) instead. ```js import Vue from 'vue' @@ -52,7 +63,30 @@ import { NextcloudVuePlugin } from '@nextcloud/vue' Vue.use(NextcloudVuePlugin) ``` -## Development setup +## 🤝 Contributing + +### 📜 How to contribute + +1. It's always good to check/create an issue first and discuss the problem or feature you want to work on +2. Fork the repository and create a new branch +3. Make the changes +4. Check the change in Vue-Styleguidist and/or Nextcloud apps + - Do not forget to `lint` and `test` your changes + - If possible, add tests for your changes +5. Commit and push your changes, create a Pull Request + - Make sure to follow the [Conventional Commits](https://www.conventionalcommits.org) in commit messages, and PR titles, for example:\ + `fix(NcButton): correct layout on Safari` + - Make sure to follow the **Pull Request template** + - Sign-off you commits for the [Developer Certificate of Origin (DCO)](https://developercertificate.org/) +6. Get your PR reviewed + - If you don't receive a feedback in a week, feel free to mention the maintainers, for example, last developers worked on the module +7. Get your PR merged + +Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other. + +More information on how to contribute: [https://nextcloud.com/contribute/](https://nextcloud.com/contribute/) + +### 🧑‍💻 Development setup If you want to work on improving the components it’s best to run the latest code and link it to your local Nextcloud installation: @@ -66,64 +100,36 @@ If you want to work on improving the components it’s best to run the latest co - In the repository of an app do `npm link @nextcloud/vue` (you need to re-link any time you do `npm ci` in the app) 4. Then build the app with: `npm run build` (or watch for changes with `npm run watch`) -## Translations +### 🌐 Translations -This library uses translated strings. -When you edit/create a translated string, you need to run `npm run l10n:extract` to update the source files. -Our awesome translation community will then be notified and a bot will sync those changes automatically. +Use `t` and `n` functions from `src/l10n.js` to display translated strings. They follow `gettext` and `ngettext` interface from [`@nextcloud/l10n/gettext`](https://nextcloud-libraries.github.io/nextcloud-l10n/modules/_nextcloud_l10n_gettext.html). -Nonetheless, it requires a bit of caution. -When you implement a translated string, import the `translate` or `translatePlural` and add it in your methods like so: ```vue + + - - ``` -Please note that using a translated string as an attribute will _NOT_ work. -But it will work if it's within an element (like the example above) -```vue - -``` - -You will instead have to define the string in the data section and use the relevant variable reference. -```vue - +When you edit/create a translated string, you need to update the l10n files. +Our awesome translation community will then be notified and a bot will sync translations automatically. - +```sh +npm run l10n:extract ``` -## Styleguide +### 🐸 Styleguidist When developing new components or extending components, make sure to also have some bits of related documentation like examples, where applicable. To test components and the documentation in that context, you can run `npm run styleguide` to run a local server that serves the style guide with all the components. -### Using vue-devtools in Firefox +#### Using vue-devtools in Firefox If you want to use [vue-devtools](https://github.com/vuejs/vue-devtools) in Firefox, you need to: @@ -149,7 +155,7 @@ index 0e3a6a705d..416b8b0fb9 100644 /** @var array Domains from which scripts can get loaded */ ``` -## Releasing a new version +## 📤 Releasing a new version - Pull the latest changes from `master` or `stableX` - Checkout a new branch with the tag name (e.g `v4.0.1`): `git checkout -b v` diff --git a/build/l10n-plugin.mts b/build/l10n-plugin.mts index d310f8eb27..777aff32c6 100644 --- a/build/l10n-plugin.mts +++ b/build/l10n-plugin.mts @@ -98,15 +98,23 @@ export default (dir: string) => { } else if (id === '\0l10n') { // exports are all chunked translations const exports = Object.entries(nameMap).map(([usage, id]) => `export const ${id} = ${JSON.stringify(translations[usage])}`).join(';\n') - return `import { getGettextBuilder } from '@nextcloud/l10n/gettext' -const gettext = getGettextBuilder().detectLocale().build() -export const n = gettext.ngettext.bind(gettext) -export const t = gettext.gettext.bind(gettext) -export const register = (...chunks) => { - chunks.forEach((chunk) => { + return `import { getLanguage } from '@nextcloud/l10n' +import { getGettextBuilder } from '@nextcloud/l10n/gettext' +const builder = getGettextBuilder().setLanguage(getLanguage()) +let gettext = builder.build() + +export const n = (...args) => gettext.ngettext(...args) +export const t = (...args) => gettext.gettext(...args) + +export function register(...chunks) { + for (const chunk of chunks) { if (!chunk.registered) { - // for every locale in the chunk: decompress and register - chunk.forEach(({ l: locale, t: translations }) => { + // for every language in the chunk: decompress and register + for (const { l: language, t: translations } of chunk) { + if (language !== getLanguage() || !translations) { + continue + } + const decompressed = Object.fromEntries( Object.entries(translations) .map(([id, value]) => [ @@ -118,15 +126,19 @@ export const register = (...chunks) => { } ]) ) - // We need to do this manually as 'addTranslations' overrides the translations - if (!gettext.gt.catalogs[locale]) { - gettext.gt.catalogs[locale] = { messages: { translations: {}} } - } - gettext.gt.catalogs[locale].messages.translations[''] = { ...gettext.gt.catalogs[locale].messages.translations[''], ...decompressed } - }) + + gettext = builder.addTranslation(getLanguage(), { + translations: { + '': { + ...(gettext.bundle.translations?.[''] ?? {}), + ...decompressed, + }, + }, + }).build() + } chunk.registered = true } - }) + } } ${exports}` } diff --git a/cypress/component/richtext.cy.ts b/cypress/component/richtext.cy.ts index 48af183b22..3fc75d9a9d 100644 --- a/cypress/component/richtext.cy.ts +++ b/cypress/component/richtext.cy.ts @@ -10,20 +10,55 @@ import { mount } from 'cypress/vue2' import NcRichText from '../../src/components/NcRichText/NcRichText.vue' describe('NcRichText', () => { - describe('renders with markdown', () => { - describe('normal text', () => { - it('XML-like text (escaped and unescaped)', () => { - mount(NcRichText, { - propsData: { - text: 'text</span>', - useMarkdown: true, - }, - }) - - cy.get('p').should('have.text', 'text') - }) + describe('XML-like text (escaped and unescaped)', () => { + const TEST = 'text <span>text</span>' + it('renders normal text as passed', () => { + mount(NcRichText, { + propsData: { + text: TEST, + }, + }) + cy.get('div.rich-text--wrapper').should('have.text', TEST) + }) + it('renders with Markdown, escaping XML', () => { + mount(NcRichText, { + propsData: { + text: TEST, + useMarkdown: true, + }, + }) + cy.get('p').should('have.text', 'text text') + }) + it('renders with Markdown, escaping XML in code', () => { + mount(NcRichText, { + propsData: { + text: '```\n' + TEST + '\n```', + useMarkdown: true, + }, + }) + cy.get('code').should('have.text', 'text text' + '\n') + }) + it('renders with Flavored Markdown, escaping XML', () => { + mount(NcRichText, { + propsData: { + text: TEST, + useExtendedMarkdown: true, + }, + }) + cy.get('p').should('have.text', 'text text') }) + it('renders with Flavored Markdown, escaping XML in code', () => { + mount(NcRichText, { + propsData: { + text: '```\n' + TEST + '\n```', + useExtendedMarkdown: true, + }, + }) + cy.get('code').should('have.text', 'text text' + '\n') + }) + }) + describe('renders with markdown', () => { describe('headings', () => { it('heading (with hash (#) syntax divided with space from text)', () => { const testCases = [ diff --git a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry-menu-active.png b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry-menu-active.png index c2c7b213d5..b725fbbe0d 100644 Binary files a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry-menu-active.png and b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry-menu-active.png differ diff --git a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry.png b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry.png index dfb10230b6..88b7317a3e 100644 Binary files a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry.png and b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-entry.png differ diff --git a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route-menu-active.png b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route-menu-active.png index d66b57971a..13f22c811a 100644 Binary files a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route-menu-active.png and b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route-menu-active.png differ diff --git a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route.png b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route.png index 3caba23789..4f11bc2245 100644 Binary files a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route.png and b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-primary-on-active-route.png differ diff --git a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-entry.png b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-entry.png index 2cb5657985..1f7618529e 100644 Binary files a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-entry.png and b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-entry.png differ diff --git a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-route.png b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-route.png index fb4a1dbf5b..35bd9f3e40 100644 Binary files a/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-route.png and b/cypress/snapshots/base/AppNavigationItem.cy.ts/NcAppNavigationItem-tertiary-non-active-route.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_false.png index d8d5c5ee16..11aab70455 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_true.png index da442a12cb..e7caa5571f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_false.png index b1eaa4c0a7..e17938202d 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_true.png index ed6c9fff16..bc7921729b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_false.png index 7a47d3d7f4..c04de0a1d9 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_true.png index e35a28cb1a..f80abe0311 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_false.png index 9400eaef7d..7c7240c799 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_true.png index d8c89ff3bc..9a82eb0383 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_true-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_false.png index d8d5c5ee16..11aab70455 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_true.png index da442a12cb..e7caa5571f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_false.png index b1eaa4c0a7..e17938202d 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_true.png index ed6c9fff16..bc7921729b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_false.png index d8d5c5ee16..11aab70455 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_true.png index da442a12cb..e7caa5571f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_false.png index b1eaa4c0a7..e17938202d 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_true.png index ed6c9fff16..bc7921729b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_true-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_false.png index d8d5c5ee16..11aab70455 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_true.png index da442a12cb..e7caa5571f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_false.png index b1eaa4c0a7..e17938202d 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_true.png index ed6c9fff16..bc7921729b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_false.png index ca37c67942..9161aa0278 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_true.png index c0da75981f..4c63eb3879 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_false.png index a35515b9ac..68f8e2cdab 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_true.png index 70333e0f81..1cbb5b59c9 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_true-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_false.png index d00f7fd1e8..db816ef9fa 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_true.png index c346634518..393767b691 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_false.png index 4e5b220cdf..99f7eed97b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_true.png index 87c7f4534b..f49ed1eac8 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_false.png index 6964de8969..dfda5e7059 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_true.png index e0205587cb..0e9abab03f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_false.png index 3aa747adbd..bfb3e2012a 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_true.png index d081a5cef6..d1794ec8e8 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_true-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_false.png index d00f7fd1e8..db816ef9fa 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_true.png index c346634518..393767b691 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_false.png index 4e5b220cdf..99f7eed97b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_true.png index 87c7f4534b..f49ed1eac8 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_false.png index d00f7fd1e8..db816ef9fa 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_true.png index c346634518..393767b691 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_false.png index 4e5b220cdf..99f7eed97b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_true.png index 87c7f4534b..f49ed1eac8 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_true-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_false.png index d00f7fd1e8..db816ef9fa 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_true.png index c346634518..393767b691 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_false.png index 4e5b220cdf..99f7eed97b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_true.png index 87c7f4534b..f49ed1eac8 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_false.png index a5d46c6e47..9609cc9c54 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_true.png index 6e787ce0f7..3e72da95b1 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_false.png index fa9a111131..1c7f0d36b6 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_true.png index 04d98121f1..ec6731b006 100644 Binary files a/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar-compact.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_true-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_false.png index e7834517c8..7b283e0bb9 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_true.png index b02d4942cd..9ffc3690ba 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_false.png index eff23d5932..0c014c9719 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_true.png index 47d0fc14d3..5ef2a4bee7 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_false.png index 7a47d3d7f4..c04de0a1d9 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_true.png index e35a28cb1a..f80abe0311 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_false.png index 9400eaef7d..7c7240c799 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_true.png index d8c89ff3bc..9a82eb0383 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_false-compact_false-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_false.png index 450bd0677a..0fd775a15c 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_true.png index e33cdd6da5..b0c93dd16e 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_false.png index 1a1e873632..9a3019520d 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_true.png index a51565d5a7..08dd0fde21 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_false.png index d8d5c5ee16..11aab70455 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_true.png index da442a12cb..e7caa5571f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_false.png index b1eaa4c0a7..e17938202d 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_true.png index ed6c9fff16..bc7921729b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_null-compact_false-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_false.png index 927d7b9852..73afd5b9ba 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_true.png index c9298934f0..53c6fe672b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_false.png index 0092173849..f64f9408f0 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_true.png index 69c500d21c..2c14605371 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_false.png index ca37c67942..9161aa0278 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_true.png index c0da75981f..4c63eb3879 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_false.png index a35515b9ac..68f8e2cdab 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_true.png index 70333e0f81..1cbb5b59c9 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_null-starred_true-compact_false-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_false.png index 87772bd0cd..7224ca5a7c 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_true.png index d8b5f92999..8d7bf2831c 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_false.png index 2350cdb04e..2c9cb545e4 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_true.png index 52f42d1f77..d8033bbc7b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_false.png index 6964de8969..dfda5e7059 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_true.png index e0205587cb..0e9abab03f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_false.png index 3aa747adbd..bfb3e2012a 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_true.png index d081a5cef6..d1794ec8e8 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_false-compact_false-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_false.png index bab8de4234..be337eb64c 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_true.png index ca775bcdef..fda142b98f 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_false.png index 73a3173731..4432fe3dc5 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_true.png index 85e2556543..e15399ac13 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_false.png index d00f7fd1e8..db816ef9fa 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_true.png index c346634518..393767b691 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_false.png index 4e5b220cdf..99f7eed97b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_true.png index 87c7f4534b..f49ed1eac8 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_null-compact_false-header_none-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_false.png index 8ed418630b..8b87bb81c0 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_true.png index 79224a3bf7..151730bd6b 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_false.png index ccf0c6efa5..6e95c42edc 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_true.png index 6ca7c7a7fa..adb042a2ff 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_image-secondary_none-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_false.png index a5d46c6e47..9609cc9c54 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_true.png index 6e787ce0f7..3e72da95b1 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_button-editable_true.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_false.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_false.png index fa9a111131..1c7f0d36b6 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_false.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_false.png differ diff --git a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_true.png b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_true.png index 04d98121f1..ec6731b006 100644 Binary files a/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_true.png and b/cypress/snapshots/base/NcAppSidebar.cy.js/NcAppSidebar.vue-subname_true-starred_true-compact_false-header_none-secondary_none-editable_true.png differ diff --git a/docs/composables.md b/docs/composables.md index 07980cfcdc..5666b3b5a1 100644 --- a/docs/composables.md +++ b/docs/composables.md @@ -8,7 +8,7 @@ To use any composable, import and use it according to documentation or Vue guidelines, for example: ```js static -import { useIsMobile } from '@nextcloud/vue/dist/composables/useIsMobile.js' +import { useIsMobile } from '@nextcloud/vue/composables/useIsMobile' export default { setup() { @@ -21,7 +21,7 @@ export default { or in ` ``` @@ -40,9 +47,8 @@ So that only one of each name set can be selected at the same time.
  • + ``` #### Usage: type='datetime-local' with min date and max date @@ -45,7 +64,6 @@ All available types are: 'date', 'datetime-local', 'month', 'time' and 'week', p Picked date: {{ value || 'null' }} ``` - -#### Usage: type='time' -```vue - - - -``` - -#### Usage: type='week' -```vue - - - -``` - -#### Usage: type='month' -```vue - - - -``` -