diff --git a/.eslintignore b/.eslintignore
index ba6fa27f75..ba48e019fd 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -14,7 +14,6 @@ packages/vue-components/src/utils/NodeList.js
packages/vue-components/src/utils/utils.js
# yuche/vue-strap
-packages/vue-components/src/Dropdown.vue
packages/vue-components/src/main.js
packages/vue-components/src/Navbar.vue
packages/vue-components/src/Tab.vue
diff --git a/.stylelintignore b/.stylelintignore
index e3ccae354a..c10b20f990 100644
--- a/.stylelintignore
+++ b/.stylelintignore
@@ -2,3 +2,28 @@
**/_site/**/*.css
packages/cli/test/functional/**/expected/**/*.css
packages/vue-components/**/*.css
+
+# --- packages/vue-components .vue files ---
+
+packages/vue-components/src/Navbar.vue
+packages/vue-components/src/Panel.vue
+packages/vue-components/src/Pic.vue
+packages/vue-components/src/Retriever.vue
+packages/vue-components/src/Searchbar.vue
+packages/vue-components/src/SearchbarPageItem.vue
+packages/vue-components/src/SiteNav.vue
+packages/vue-components/src/Submenu.vue
+packages/vue-components/src/Tab.vue
+packages/vue-components/src/TabGroup.vue
+packages/vue-components/src/Tabset.vue
+packages/vue-components/src/Thumbnail.vue
+packages/vue-components/src/TipBox.vue
+packages/vue-components/src/Trigger.vue
+packages/vue-components/src/panels/MinimalPanel.vue
+packages/vue-components/src/panels/NestedPanel.vue
+packages/vue-components/src/panels/PanelSwitch.vue
+packages/vue-components/src/questions/QOption.vue
+packages/vue-components/src/questions/Question.vue
+packages/vue-components/src/questions/Quiz.vue
+
+# --- packages/vue-components end ---
diff --git a/.stylelintrc.js b/.stylelintrc.js
index 366f78a0f2..00a2e1073e 100644
--- a/.stylelintrc.js
+++ b/.stylelintrc.js
@@ -1,7 +1,7 @@
module.exports = {
"extends": "stylelint-config-standard",
"rules": {
- "indentation": 4,
+ "indentation": [ 4, { baseIndentLevel: 1 } ],
// MarkBind generates some blank CSS files when initialising a site,
// which violates the no-empty-source rule
"no-empty-source": null
diff --git a/package.json b/package.json
index 9bc2e2cbaa..aa6950d3ec 100644
--- a/package.json
+++ b/package.json
@@ -3,8 +3,8 @@
"private": true,
"scripts": {
"build:web": "cd packages/core-web && npm run build",
- "csslint": "stylelint **/*.css",
- "csslintfix": "stylelint **/*.css --fix",
+ "csslint": "stylelint **/*.css **/*.vue",
+ "csslintfix": "stylelint **/*.css **/*.vue --fix",
"lint": "eslint . --ext .js,.vue && npm run csslint",
"lintfix": "eslint . --ext .js,.vue --fix && npm run csslintfix",
"setup": "npm ci && lerna clean --yes && lerna bootstrap --hoist",
diff --git a/packages/vue-components/src/Dropdown.vue b/packages/vue-components/src/Dropdown.vue
index b031626e9f..a018f62561 100644
--- a/packages/vue-components/src/Dropdown.vue
+++ b/packages/vue-components/src/Dropdown.vue
@@ -1,14 +1,24 @@
-