create-quasar 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/package.json +1 -1
  2. package/templates/app/quasar-v1/js/BASE/_package.json +1 -1
  3. package/templates/app/quasar-v1/ts/BASE/_package.json +1 -1
  4. package/templates/app/quasar-v2/index.js +4 -2
  5. package/templates/app/quasar-v2/js-vite/BASE/_.gitignore +4 -0
  6. package/templates/app/quasar-v2/js-vite/BASE/_package.json +2 -2
  7. package/templates/app/quasar-v2/js-vite/BASE/quasar.config.js +1 -0
  8. package/templates/app/quasar-v2/js-vite/lint/_.eslintignore +1 -0
  9. package/templates/app/quasar-v2/js-vite/lint/_.eslintrc.cjs +1 -1
  10. package/templates/app/quasar-v2/js-vite-beta/.eslintrc.js +20 -0
  11. package/templates/app/quasar-v2/js-vite-beta/BASE/README.md +41 -0
  12. package/templates/app/quasar-v2/js-vite-beta/BASE/_.editorconfig +9 -0
  13. package/templates/app/quasar-v2/js-vite-beta/BASE/_.gitignore +33 -0
  14. package/templates/app/quasar-v2/js-vite-beta/BASE/_.npmrc +3 -0
  15. package/templates/app/quasar-v2/js-vite-beta/BASE/_.vscode/extensions.json +15 -0
  16. package/templates/app/quasar-v2/js-vite-beta/BASE/_.vscode/settings.json +10 -0
  17. package/templates/app/quasar-v2/js-vite-beta/BASE/_jsconfig.json +39 -0
  18. package/templates/app/quasar-v2/js-vite-beta/BASE/_package.json +52 -0
  19. package/templates/app/quasar-v2/js-vite-beta/BASE/index.html +21 -0
  20. package/templates/app/quasar-v2/js-vite-beta/BASE/postcss.config.cjs +27 -0
  21. package/templates/app/quasar-v2/js-vite-beta/BASE/public/favicon.ico +0 -0
  22. package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-128x128.png +0 -0
  23. package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-16x16.png +0 -0
  24. package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-32x32.png +0 -0
  25. package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-96x96.png +0 -0
  26. package/templates/app/quasar-v2/js-vite-beta/BASE/quasar.config.js +221 -0
  27. package/templates/app/quasar-v2/js-vite-beta/BASE/src/App.vue +11 -0
  28. package/templates/app/quasar-v2/js-vite-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
  29. package/templates/app/quasar-v2/js-vite-beta/BASE/src/boot/_.gitkeep +0 -0
  30. package/templates/app/quasar-v2/js-vite-beta/BASE/src/components/EssentialLink.vue +49 -0
  31. package/templates/app/quasar-v2/js-vite-beta/BASE/src/layouts/MainLayout.vue +116 -0
  32. package/templates/app/quasar-v2/js-vite-beta/BASE/src/pages/ErrorNotFound.vue +31 -0
  33. package/templates/app/quasar-v2/js-vite-beta/BASE/src/pages/IndexPage.vue +17 -0
  34. package/templates/app/quasar-v2/js-vite-beta/BASE/src/router/index.js +30 -0
  35. package/templates/app/quasar-v2/js-vite-beta/BASE/src/router/routes.js +19 -0
  36. package/templates/app/quasar-v2/js-vite-beta/axios/src/boot/axios.js +24 -0
  37. package/templates/app/quasar-v2/js-vite-beta/css/src/css/app.css +1 -0
  38. package/templates/app/quasar-v2/js-vite-beta/i18n/src/boot/i18n.js +14 -0
  39. package/templates/app/quasar-v2/js-vite-beta/i18n/src/i18n/en-US/index.js +7 -0
  40. package/templates/app/quasar-v2/js-vite-beta/i18n/src/i18n/index.js +5 -0
  41. package/templates/app/quasar-v2/js-vite-beta/index.js +62 -0
  42. package/templates/app/quasar-v2/js-vite-beta/lint/_.eslintignore +7 -0
  43. package/templates/app/quasar-v2/js-vite-beta/lint/_.eslintrc.cjs +100 -0
  44. package/templates/app/quasar-v2/js-vite-beta/pinia/src/stores/example-store.js +15 -0
  45. package/templates/app/quasar-v2/js-vite-beta/pinia/src/stores/index.js +20 -0
  46. package/templates/app/quasar-v2/js-vite-beta/pinia/src/stores/store-flag.d.ts +10 -0
  47. package/templates/app/quasar-v2/js-vite-beta/sass/src/css/app.sass +1 -0
  48. package/templates/app/quasar-v2/js-vite-beta/sass/src/css/quasar.variables.sass +25 -0
  49. package/templates/app/quasar-v2/js-vite-beta/scss/src/css/app.scss +1 -0
  50. package/templates/app/quasar-v2/js-vite-beta/scss/src/css/quasar.variables.scss +25 -0
  51. package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/index.js +27 -0
  52. package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/actions.js +2 -0
  53. package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/getters.js +2 -0
  54. package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/index.js +12 -0
  55. package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/mutations.js +2 -0
  56. package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/state.js +5 -0
  57. package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/store-flag.d.ts +10 -0
  58. package/templates/app/quasar-v2/js-webpack/BASE/_.gitignore +4 -0
  59. package/templates/app/quasar-v2/js-webpack/BASE/_package.json +1 -1
  60. package/templates/app/quasar-v2/js-webpack/lint/_.eslintignore +1 -0
  61. package/templates/app/quasar-v2/js-webpack/lint/_.eslintrc.cjs +1 -1
  62. package/templates/app/quasar-v2/js-webpack-beta/.eslintrc.js +20 -0
  63. package/templates/app/quasar-v2/js-webpack-beta/BASE/README.md +41 -0
  64. package/templates/app/quasar-v2/js-webpack-beta/BASE/_.editorconfig +9 -0
  65. package/templates/app/quasar-v2/js-webpack-beta/BASE/_.gitignore +37 -0
  66. package/templates/app/quasar-v2/js-webpack-beta/BASE/_.npmrc +3 -0
  67. package/templates/app/quasar-v2/js-webpack-beta/BASE/_.vscode/extensions.json +15 -0
  68. package/templates/app/quasar-v2/js-webpack-beta/BASE/_.vscode/settings.json +10 -0
  69. package/templates/app/quasar-v2/js-webpack-beta/BASE/_jsconfig.json +39 -0
  70. package/templates/app/quasar-v2/js-webpack-beta/BASE/_package.json +63 -0
  71. package/templates/app/quasar-v2/js-webpack-beta/BASE/babel.config.cjs +14 -0
  72. package/templates/app/quasar-v2/js-webpack-beta/BASE/postcss.config.cjs +9 -0
  73. package/templates/app/quasar-v2/js-webpack-beta/BASE/public/favicon.ico +0 -0
  74. package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-128x128.png +0 -0
  75. package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-16x16.png +0 -0
  76. package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-32x32.png +0 -0
  77. package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-96x96.png +0 -0
  78. package/templates/app/quasar-v2/js-webpack-beta/BASE/quasar.config.js +252 -0
  79. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/App.vue +11 -0
  80. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
  81. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/boot/_.gitkeep +0 -0
  82. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/components/EssentialLink.vue +49 -0
  83. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/index.template.html +22 -0
  84. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/layouts/MainLayout.vue +116 -0
  85. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/pages/ErrorNotFound.vue +31 -0
  86. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/pages/IndexPage.vue +17 -0
  87. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/router/index.js +30 -0
  88. package/templates/app/quasar-v2/js-webpack-beta/BASE/src/router/routes.js +19 -0
  89. package/templates/app/quasar-v2/js-webpack-beta/axios/src/boot/axios.js +24 -0
  90. package/templates/app/quasar-v2/js-webpack-beta/css/src/css/app.css +1 -0
  91. package/templates/app/quasar-v2/js-webpack-beta/i18n/src/boot/i18n.js +14 -0
  92. package/templates/app/quasar-v2/js-webpack-beta/i18n/src/i18n/en-US/index.js +7 -0
  93. package/templates/app/quasar-v2/js-webpack-beta/i18n/src/i18n/index.js +5 -0
  94. package/templates/app/quasar-v2/js-webpack-beta/index.js +62 -0
  95. package/templates/app/quasar-v2/js-webpack-beta/lint/_.eslintignore +9 -0
  96. package/templates/app/quasar-v2/js-webpack-beta/lint/_.eslintrc.cjs +101 -0
  97. package/templates/app/quasar-v2/js-webpack-beta/pinia/src/stores/example-store.js +15 -0
  98. package/templates/app/quasar-v2/js-webpack-beta/pinia/src/stores/index.js +20 -0
  99. package/templates/app/quasar-v2/js-webpack-beta/pinia/src/stores/store-flag.d.ts +10 -0
  100. package/templates/app/quasar-v2/js-webpack-beta/sass/src/css/app.sass +1 -0
  101. package/templates/app/quasar-v2/js-webpack-beta/sass/src/css/quasar.variables.sass +25 -0
  102. package/templates/app/quasar-v2/js-webpack-beta/scss/src/css/app.scss +1 -0
  103. package/templates/app/quasar-v2/js-webpack-beta/scss/src/css/quasar.variables.scss +25 -0
  104. package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/index.js +27 -0
  105. package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/actions.js +2 -0
  106. package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/getters.js +2 -0
  107. package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/index.js +12 -0
  108. package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/mutations.js +2 -0
  109. package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/state.js +5 -0
  110. package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/store-flag.d.ts +10 -0
  111. package/templates/app/quasar-v2/ts-vite/BASE/_.gitignore +4 -0
  112. package/templates/app/quasar-v2/ts-vite/BASE/_package.json +2 -2
  113. package/templates/app/quasar-v2/ts-vite/axios/src/boot/axios.ts +1 -0
  114. package/templates/app/quasar-v2/ts-vite/lint/_.eslintignore +1 -0
  115. package/templates/app/quasar-v2/ts-vite-beta/.eslintrc.js +21 -0
  116. package/templates/app/quasar-v2/ts-vite-beta/BASE/README.md +41 -0
  117. package/templates/app/quasar-v2/ts-vite-beta/BASE/_.editorconfig +9 -0
  118. package/templates/app/quasar-v2/ts-vite-beta/BASE/_.gitignore +37 -0
  119. package/templates/app/quasar-v2/ts-vite-beta/BASE/_.npmrc +3 -0
  120. package/templates/app/quasar-v2/ts-vite-beta/BASE/_.vscode/extensions.json +15 -0
  121. package/templates/app/quasar-v2/ts-vite-beta/BASE/_.vscode/settings.json +11 -0
  122. package/templates/app/quasar-v2/ts-vite-beta/BASE/_package.json +56 -0
  123. package/templates/app/quasar-v2/ts-vite-beta/BASE/_tsconfig.json +8 -0
  124. package/templates/app/quasar-v2/ts-vite-beta/BASE/index.html +21 -0
  125. package/templates/app/quasar-v2/ts-vite-beta/BASE/postcss.config.cjs +27 -0
  126. package/templates/app/quasar-v2/ts-vite-beta/BASE/public/favicon.ico +0 -0
  127. package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-128x128.png +0 -0
  128. package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-16x16.png +0 -0
  129. package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-32x32.png +0 -0
  130. package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-96x96.png +0 -0
  131. package/templates/app/quasar-v2/ts-vite-beta/BASE/quasar.config.ts +222 -0
  132. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/App.vue +20 -0
  133. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
  134. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/boot/_.gitkeep +0 -0
  135. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/components/EssentialLink.vue +97 -0
  136. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/components/ExampleComponent.vue +144 -0
  137. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/components/models.ts +8 -0
  138. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/env.d.ts +9 -0
  139. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/layouts/MainLayout.vue +295 -0
  140. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/pages/ErrorNotFound.vue +40 -0
  141. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/pages/IndexPage.vue +148 -0
  142. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/quasar.d.ts +9 -0
  143. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/router/index.ts +37 -0
  144. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/router/routes.ts +18 -0
  145. package/templates/app/quasar-v2/ts-vite-beta/BASE/src/shims-vue.d.ts +10 -0
  146. package/templates/app/quasar-v2/ts-vite-beta/axios/src/boot/axios.ts +31 -0
  147. package/templates/app/quasar-v2/ts-vite-beta/css/src/css/app.css +1 -0
  148. package/templates/app/quasar-v2/ts-vite-beta/i18n/src/boot/i18n.ts +33 -0
  149. package/templates/app/quasar-v2/ts-vite-beta/i18n/src/i18n/en-US/index.ts +7 -0
  150. package/templates/app/quasar-v2/ts-vite-beta/i18n/src/i18n/index.ts +5 -0
  151. package/templates/app/quasar-v2/ts-vite-beta/index.js +79 -0
  152. package/templates/app/quasar-v2/ts-vite-beta/lint/_.eslintignore +8 -0
  153. package/templates/app/quasar-v2/ts-vite-beta/lint/_.eslintrc.cjs +130 -0
  154. package/templates/app/quasar-v2/ts-vite-beta/pinia/src/stores/example-store.ts +15 -0
  155. package/templates/app/quasar-v2/ts-vite-beta/pinia/src/stores/index.ts +32 -0
  156. package/templates/app/quasar-v2/ts-vite-beta/pinia/src/stores/store-flag.d.ts +10 -0
  157. package/templates/app/quasar-v2/ts-vite-beta/prettier/_.prettierrc +4 -0
  158. package/templates/app/quasar-v2/ts-vite-beta/sass/src/css/app.sass +1 -0
  159. package/templates/app/quasar-v2/ts-vite-beta/sass/src/css/quasar.variables.sass +25 -0
  160. package/templates/app/quasar-v2/ts-vite-beta/scss/src/css/app.scss +1 -0
  161. package/templates/app/quasar-v2/ts-vite-beta/scss/src/css/quasar.variables.scss +25 -0
  162. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/index.ts +62 -0
  163. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/actions.ts +11 -0
  164. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/getters.ts +11 -0
  165. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/index.ts +16 -0
  166. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/mutations.ts +10 -0
  167. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/state.ts +11 -0
  168. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/store-flag.d.ts +10 -0
  169. package/templates/app/quasar-v2/ts-webpack/BASE/_.gitignore +4 -0
  170. package/templates/app/quasar-v2/ts-webpack/BASE/_package.json +1 -1
  171. package/templates/app/quasar-v2/ts-webpack/axios/src/boot/axios.ts +1 -0
  172. package/templates/app/quasar-v2/ts-webpack/lint/_.eslintignore +1 -0
  173. package/templates/app/quasar-v2/ts-webpack-beta/.eslintrc.js +21 -0
  174. package/templates/app/quasar-v2/ts-webpack-beta/BASE/README.md +41 -0
  175. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.editorconfig +9 -0
  176. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.gitignore +37 -0
  177. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.npmrc +3 -0
  178. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.vscode/extensions.json +15 -0
  179. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.vscode/settings.json +11 -0
  180. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_package.json +65 -0
  181. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_tsconfig.json +8 -0
  182. package/templates/app/quasar-v2/ts-webpack-beta/BASE/babel.config.cjs +14 -0
  183. package/templates/app/quasar-v2/ts-webpack-beta/BASE/postcss.config.cjs +9 -0
  184. package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/favicon.ico +0 -0
  185. package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-128x128.png +0 -0
  186. package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-16x16.png +0 -0
  187. package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-32x32.png +0 -0
  188. package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-96x96.png +0 -0
  189. package/templates/app/quasar-v2/ts-webpack-beta/BASE/quasar.config.ts +230 -0
  190. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/App.vue +20 -0
  191. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
  192. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/boot/_.gitkeep +0 -0
  193. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/components/EssentialLink.vue +97 -0
  194. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/components/ExampleComponent.vue +144 -0
  195. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/components/models.ts +8 -0
  196. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/env.d.ts +9 -0
  197. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/index.template.html +22 -0
  198. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/layouts/MainLayout.vue +295 -0
  199. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/pages/ErrorNotFound.vue +40 -0
  200. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/pages/IndexPage.vue +148 -0
  201. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/quasar.d.ts +9 -0
  202. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/router/index.ts +38 -0
  203. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/router/routes.ts +18 -0
  204. package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/shims-vue.d.ts +8 -0
  205. package/templates/app/quasar-v2/ts-webpack-beta/axios/src/boot/axios.ts +31 -0
  206. package/templates/app/quasar-v2/ts-webpack-beta/css/src/css/app.css +1 -0
  207. package/templates/app/quasar-v2/ts-webpack-beta/i18n/src/boot/i18n.ts +33 -0
  208. package/templates/app/quasar-v2/ts-webpack-beta/i18n/src/i18n/en-US/index.ts +7 -0
  209. package/templates/app/quasar-v2/ts-webpack-beta/i18n/src/i18n/index.ts +5 -0
  210. package/templates/app/quasar-v2/ts-webpack-beta/index.js +79 -0
  211. package/templates/app/quasar-v2/ts-webpack-beta/lint/_.eslintignore +10 -0
  212. package/templates/app/quasar-v2/ts-webpack-beta/lint/_.eslintrc.cjs +134 -0
  213. package/templates/app/quasar-v2/ts-webpack-beta/pinia/src/stores/example-store.ts +15 -0
  214. package/templates/app/quasar-v2/ts-webpack-beta/pinia/src/stores/index.ts +32 -0
  215. package/templates/app/quasar-v2/ts-webpack-beta/pinia/src/stores/store-flag.d.ts +10 -0
  216. package/templates/app/quasar-v2/ts-webpack-beta/prettier/_.prettierrc +4 -0
  217. package/templates/app/quasar-v2/ts-webpack-beta/sass/src/css/app.sass +1 -0
  218. package/templates/app/quasar-v2/ts-webpack-beta/sass/src/css/quasar.variables.sass +25 -0
  219. package/templates/app/quasar-v2/ts-webpack-beta/scss/src/css/app.scss +1 -0
  220. package/templates/app/quasar-v2/ts-webpack-beta/scss/src/css/quasar.variables.scss +25 -0
  221. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/index.ts +62 -0
  222. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/actions.ts +11 -0
  223. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/getters.ts +11 -0
  224. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/index.ts +16 -0
  225. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/mutations.ts +10 -0
  226. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/state.ts +11 -0
  227. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/store-flag.d.ts +10 -0
  228. package/templates/ui-kit/quasar-v1/BASE/ui/dev/_package.json +1 -1
  229. package/templates/ui-kit/quasar-v2/BASE/ui/_package.json +1 -1
  230. package/utils/index.js +14 -6
  231. /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1,148 @@
1
+ <template>
2
+ <q-page class="row items-center justify-evenly">
3
+ <example-component
4
+ title="Example component"
5
+ active
6
+ :todos="todos"
7
+ :meta="meta"
8
+ ></example-component>
9
+ </q-page>
10
+ </template>
11
+
12
+ <% if (typescriptConfig === 'composition-setup') { %><script setup lang="ts">
13
+ import { Todo, Meta } from 'components/models';
14
+ import ExampleComponent from 'components/ExampleComponent.vue';
15
+ import { ref } from 'vue';
16
+
17
+ const todos = ref<Todo[]>([
18
+ {
19
+ id: 1,
20
+ content: 'ct1'
21
+ },
22
+ {
23
+ id: 2,
24
+ content: 'ct2'
25
+ },
26
+ {
27
+ id: 3,
28
+ content: 'ct3'
29
+ },
30
+ {
31
+ id: 4,
32
+ content: 'ct4'
33
+ },
34
+ {
35
+ id: 5,
36
+ content: 'ct5'
37
+ }
38
+ ]);
39
+ const meta = ref<Meta>({
40
+ totalCount: 1200
41
+ });<% } else if (typescriptConfig === 'composition') { %><script lang="ts">
42
+ import { Todo, Meta } from 'components/models';
43
+ import ExampleComponent from 'components/ExampleComponent.vue';
44
+ import { defineComponent, ref } from 'vue';
45
+
46
+ export default defineComponent({
47
+ name: 'IndexPage',
48
+ components: { ExampleComponent },
49
+ setup() {
50
+ const todos = ref<Todo[]>([
51
+ {
52
+ id: 1,
53
+ content: 'ct1'
54
+ },
55
+ {
56
+ id: 2,
57
+ content: 'ct2'
58
+ },
59
+ {
60
+ id: 3,
61
+ content: 'ct3'
62
+ },
63
+ {
64
+ id: 4,
65
+ content: 'ct4'
66
+ },
67
+ {
68
+ id: 5,
69
+ content: 'ct5'
70
+ }
71
+ ]);
72
+ const meta = ref<Meta>({
73
+ totalCount: 1200
74
+ });
75
+ return { todos, meta };
76
+ }
77
+ });<% } else if (typescriptConfig === 'options') { %><script lang="ts">
78
+ import { Todo, Meta } from 'components/models';
79
+ import ExampleComponent from 'components/ExampleComponent.vue';
80
+ import { defineComponent } from 'vue';
81
+
82
+ export default defineComponent({
83
+ name: 'IndexPage',
84
+ components: { ExampleComponent },
85
+ data() {
86
+ const todos: Todo[] = [
87
+ {
88
+ id: 1,
89
+ content: 'ct1'
90
+ },
91
+ {
92
+ id: 2,
93
+ content: 'ct2'
94
+ },
95
+ {
96
+ id: 3,
97
+ content: 'ct3'
98
+ },
99
+ {
100
+ id: 4,
101
+ content: 'ct4'
102
+ },
103
+ {
104
+ id: 5,
105
+ content: 'ct5'
106
+ }
107
+ ];
108
+ const meta: Meta = {
109
+ totalCount: 1200
110
+ };
111
+ return { todos, meta };
112
+ }
113
+ });<% } else if (typescriptConfig === 'class') { %><script lang="ts">
114
+ import { Vue, Options } from 'vue-class-component'
115
+ import { Todo, Meta } from 'components/models';
116
+ import ExampleComponent from 'components/ExampleComponent.vue';
117
+
118
+ @Options({
119
+ components: { ExampleComponent }
120
+ })
121
+ export default class IndexPage extends Vue {
122
+ todos: Todo[] = [
123
+ {
124
+ id: 1,
125
+ content: 'ct1'
126
+ },
127
+ {
128
+ id: 2,
129
+ content: 'ct2'
130
+ },
131
+ {
132
+ id: 3,
133
+ content: 'ct3'
134
+ },
135
+ {
136
+ id: 4,
137
+ content: 'ct4'
138
+ },
139
+ {
140
+ id: 5,
141
+ content: 'ct5'
142
+ }
143
+ ];
144
+ meta: Meta = {
145
+ totalCount: 1200
146
+ };
147
+ };<% } %>
148
+ </script>
@@ -0,0 +1,9 @@
1
+ /* eslint-disable */
2
+
3
+ // Forces TS to apply `@quasar/app-webpack` augmentations of `quasar` package
4
+ // Removing this would break `quasar/wrappers` imports as those typings are declared
5
+ // into `@quasar/app-webpack`
6
+ // As a side effect, since `@quasar/app-webpack` reference `quasar` to augment it,
7
+ // this declaration also apply `quasar` own
8
+ // augmentations (eg. adds `$q` into Vue component context)
9
+ /// <reference types="@quasar/app-webpack" />
@@ -0,0 +1,38 @@
1
+ import { route } from 'quasar/wrappers';
2
+ import {
3
+ createMemoryHistory,
4
+ createRouter,
5
+ createWebHashHistory,
6
+ createWebHistory,
7
+ } from 'vue-router';
8
+ <% if (preset.vuex) { %>import { StateInterface } from '../store';
9
+ <% } %>import routes from './routes';
10
+
11
+ /*
12
+ * If not building with SSR mode, you can
13
+ * directly export the Router instantiation;
14
+ *
15
+ * The function below can be async too; either use
16
+ * async/await or return a Promise which resolves
17
+ * with the Router instance.
18
+ */
19
+
20
+ export default route<% if (preset.vuex) { %><StateInterface><% } %>(function (/* { store, ssrContext } */) {
21
+ const createHistory = process.env.SERVER
22
+ ? createMemoryHistory
23
+ : (process.env.VUE_ROUTER_MODE === 'history' ? createWebHistory : createWebHashHistory);
24
+
25
+ const Router = createRouter({
26
+ scrollBehavior: () => ({ left: 0, top: 0 }),
27
+ routes,
28
+
29
+ // Leave this as is and make changes in quasar.conf.js instead!
30
+ // quasar.conf.js -> build -> vueRouterMode
31
+ // quasar.conf.js -> build -> publicPath
32
+ history: createHistory(
33
+ process.env.MODE === 'ssr' ? void 0 : process.env.VUE_ROUTER_BASE
34
+ ),
35
+ });
36
+
37
+ return Router;
38
+ });
@@ -0,0 +1,18 @@
1
+ import { RouteRecordRaw } from 'vue-router';
2
+
3
+ const routes: RouteRecordRaw[] = [
4
+ {
5
+ path: '/',
6
+ component: () => import('layouts/MainLayout.vue'),
7
+ children: [{ path: '', component: () => import('pages/IndexPage.vue') }],
8
+ },
9
+
10
+ // Always leave this as last one,
11
+ // but you can also remove it
12
+ {
13
+ path: '/:catchAll(.*)*',
14
+ component: () => import('pages/ErrorNotFound.vue'),
15
+ },
16
+ ];
17
+
18
+ export default routes;
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+
3
+ // Mocks all files ending in `.vue` showing them as plain Vue instances
4
+ declare module '*.vue' {
5
+ import type { DefineComponent } from 'vue';
6
+ const component: DefineComponent<{}, {}, any>;
7
+ export default component;
8
+ }
@@ -0,0 +1,31 @@
1
+ import { boot } from 'quasar/wrappers';
2
+ import axios, { AxiosInstance } from 'axios';
3
+
4
+ declare module '@vue/runtime-core' {
5
+ interface ComponentCustomProperties {
6
+ $axios: AxiosInstance;
7
+ $api: AxiosInstance;
8
+ }
9
+ }
10
+
11
+ // Be careful when using SSR for cross-request state pollution
12
+ // due to creating a Singleton instance here;
13
+ // If any client changes this (global) instance, it might be a
14
+ // good idea to move this instance creation inside of the
15
+ // "export default () => {}" function below (which runs individually
16
+ // for each client)
17
+ const api = axios.create({ baseURL: 'https://api.example.com' });
18
+
19
+ export default boot(({ app }) => {
20
+ // for use inside Vue files (Options API) through this.$axios and this.$api
21
+
22
+ app.config.globalProperties.$axios = axios;
23
+ // ^ ^ ^ this will allow you to use this.$axios (for Vue Options API form)
24
+ // so you won't necessarily have to import axios in each vue file
25
+
26
+ app.config.globalProperties.$api = api;
27
+ // ^ ^ ^ this will allow you to use this.$api (for Vue Options API form)
28
+ // so you can easily perform requests against your app's API
29
+ });
30
+
31
+ export { api };
@@ -0,0 +1 @@
1
+ /* app global css */
@@ -0,0 +1,33 @@
1
+ import { boot } from 'quasar/wrappers';
2
+ import { createI18n } from 'vue-i18n';
3
+
4
+ import messages from 'src/i18n';
5
+
6
+ export type MessageLanguages = keyof typeof messages;
7
+ // Type-define 'en-US' as the master schema for the resource
8
+ export type MessageSchema = typeof messages["en-US"];
9
+
10
+ // See https://vue-i18n.intlify.dev/guide/advanced/typescript.html#global-resource-schema-type-definition
11
+ /* eslint-disable @typescript-eslint/no-empty-interface */
12
+ declare module "vue-i18n" {
13
+ // define the locale messages schema
14
+ export interface DefineLocaleMessage extends MessageSchema {}
15
+
16
+ // define the datetime format schema
17
+ export interface DefineDateTimeFormat {}
18
+
19
+ // define the number format schema
20
+ export interface DefineNumberFormat {}
21
+ }
22
+ /* eslint-enable @typescript-eslint/no-empty-interface */
23
+
24
+ export default boot(({ app }) => {
25
+ const i18n = createI18n<{ message: MessageSchema }, MessageLanguages>({
26
+ locale: 'en-US',<% if (typescriptConfig === 'composition' || typescriptConfig === 'composition-setup') { %>
27
+ legacy: false,<% } %>
28
+ messages,
29
+ });
30
+
31
+ // Set i18n instance on app
32
+ app.use(i18n);
33
+ });
@@ -0,0 +1,7 @@
1
+ // This is just an example,
2
+ // so you can safely delete all default props below
3
+
4
+ export default {
5
+ failed: 'Action failed',
6
+ success: 'Action was successful'
7
+ };
@@ -0,0 +1,5 @@
1
+ import enUS from './en-US';
2
+
3
+ export default {
4
+ 'en-US': enUS
5
+ };
@@ -0,0 +1,79 @@
1
+
2
+ module.exports = async function ({ scope, utils }) {
3
+ await utils.prompts(scope, [
4
+ {
5
+ type: 'select',
6
+ name: 'typescriptConfig',
7
+ message: 'Pick a Vue component style:',
8
+ initial: 0,
9
+ choices: [
10
+ { title: 'Composition API', value: 'composition', description: 'recommended' },
11
+ { title: 'Composition API with <script setup>', value: 'composition-setup', description: 'recommended' },
12
+ { title: 'Options API', value: 'options' },
13
+ { title: 'Class-based (DEPRECATED; see https://github.com/quasarframework/quasar/discussions/11204)', value: 'class', disabled: true }
14
+ ]
15
+ },
16
+ {
17
+ type: 'select',
18
+ name: 'css',
19
+ message: 'Pick your CSS preprocessor:',
20
+ initial: 0,
21
+ choices: [
22
+ { title: 'Sass with SCSS syntax', value: 'scss' },
23
+ { title: 'Sass with indented syntax', value: 'sass' },
24
+ { title: 'None (the others will still be available)', value: 'css' }
25
+ ]
26
+ },
27
+ {
28
+ type: 'multiselect',
29
+ name: 'preset',
30
+ message: 'Check the features needed for your project:',
31
+ choices: [
32
+ { title: 'ESLint', value: 'lint', description: 'recommended', selected: true },
33
+ { title: 'State Management (Pinia)', value: 'pinia', description: 'https://pinia.vuejs.org' },
34
+ { title: 'State Management (Vuex) [DEPRECATED by Vue Team]', value: 'vuex', description: 'See https://vuejs.org/guide/scaling-up/state-management.html#pinia' },
35
+ { title: 'Axios', value: 'axios' },
36
+ { title: 'Vue-i18n', value: 'i18n' }
37
+ ],
38
+ format: values => {
39
+ let result = values
40
+
41
+ if (values.includes('vuex') && values.includes('pinia')) {
42
+ console.log()
43
+ utils.logger.warn('Only one state management package can be used. Picking the recommended Pinia and dropping Vuex.')
44
+ console.log()
45
+
46
+ result = values.filter(entry => entry !== 'vuex')
47
+ }
48
+
49
+ return utils.convertArrayToObject(result)
50
+ }
51
+ },
52
+ {
53
+ type: (_, { preset }) => preset.lint ? 'select' : null,
54
+ name: 'lintConfig',
55
+ message: 'Pick an ESLint preset:',
56
+ choices: [
57
+ { title: 'Prettier', value: 'prettier', description: 'https://github.com/prettier/prettier' },
58
+ { title: 'Standard', value: 'standard', description: 'https://github.com/standard/standard' },
59
+ { title: 'Airbnb', value: 'airbnb', description: 'https://github.com/airbnb/javascript' }
60
+ ]
61
+ }
62
+ ])
63
+
64
+ utils.createTargetDir(scope)
65
+ utils.renderTemplate(utils.join(__dirname, 'BASE'), scope)
66
+ utils.renderTemplate(utils.join(__dirname, scope.css), scope)
67
+
68
+ if (scope.preset.axios) utils.renderTemplate(utils.join(__dirname, 'axios'), scope)
69
+ if (scope.preset.i18n) utils.renderTemplate(utils.join(__dirname, 'i18n'), scope)
70
+ if (scope.preset.lint) {
71
+ utils.renderTemplate(utils.join(__dirname, 'lint'), scope)
72
+ if (scope.lintConfig === 'prettier') {
73
+ utils.renderTemplate(utils.join(__dirname, 'prettier'), scope)
74
+ }
75
+ }
76
+
77
+ if (scope.preset.pinia) utils.renderTemplate(utils.join(__dirname, 'pinia'), scope)
78
+ else if (scope.preset.vuex) utils.renderTemplate(utils.join(__dirname, 'vuex'), scope)
79
+ }
@@ -0,0 +1,10 @@
1
+ /dist
2
+ /src-bex/www
3
+ /src-capacitor
4
+ /src-cordova
5
+ /.quasar
6
+ /node_modules
7
+ .eslintrc.js
8
+ babel.config.js
9
+ /src-ssr
10
+ /quasar.config.*.temporary.compiled*
@@ -0,0 +1,134 @@
1
+
2
+ module.exports = {
3
+ // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
4
+ // This option interrupts the configuration hierarchy at this file
5
+ // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos)
6
+ root: true,
7
+
8
+ // https://eslint.vuejs.org/user-guide/#how-to-use-a-custom-parser
9
+ // Must use parserOptions instead of "parser" to allow vue-eslint-parser to keep working
10
+ // `parser: 'vue-eslint-parser'` is already included with any 'plugin:vue/**' config and should be omitted
11
+ parserOptions: {
12
+ parser: require.resolve('@typescript-eslint/parser'),
13
+ extraFileExtensions: [ '.vue' ]
14
+ },
15
+
16
+ env: {
17
+ browser: true,
18
+ es2021: true,
19
+ node: true,
20
+ 'vue/setup-compiler-macros': true
21
+ },
22
+
23
+ // Rules order is important, please avoid shuffling them
24
+ extends: [
25
+ // Base ESLint recommended rules
26
+ // 'eslint:recommended',
27
+
28
+ // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage
29
+ // ESLint typescript rules
30
+ 'plugin:@typescript-eslint/recommended',
31
+
32
+ // Uncomment any of the lines below to choose desired strictness,
33
+ // but leave only one uncommented!
34
+ // See https://eslint.vuejs.org/rules/#available-rules
35
+ 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention)
36
+ // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability)
37
+ // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)
38
+
39
+ <% if (lintConfig === 'standard') { %>'standard'
40
+ <% } else if (lintConfig === 'airbnb') { %>'airbnb-base'
41
+ <% } else if (lintConfig === 'prettier') { %>// https://github.com/prettier/eslint-config-prettier#installation
42
+ // usage with Prettier, provided by 'eslint-config-prettier'.
43
+ 'prettier'<% } %>
44
+ ],
45
+
46
+ plugins: [
47
+ // required to apply rules which need type information
48
+ '@typescript-eslint',
49
+
50
+ // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files
51
+ // required to lint *.vue files
52
+ 'vue'
53
+ <% if (lintConfig === 'prettier') { %>
54
+ // https://github.com/typescript-eslint/typescript-eslint/issues/389#issuecomment-509292674
55
+ // Prettier has not been included as plugin to avoid performance impact
56
+ // add it as an extension for your IDE
57
+ <% } %>
58
+ ],
59
+
60
+ globals: {
61
+ ga: 'readonly', // Google Analytics
62
+ cordova: 'readonly',
63
+ __statics: 'readonly',
64
+ __QUASAR_SSR__: 'readonly',
65
+ __QUASAR_SSR_SERVER__: 'readonly',
66
+ __QUASAR_SSR_CLIENT__: 'readonly',
67
+ __QUASAR_SSR_PWA__: 'readonly',
68
+ process: 'readonly',
69
+ Capacitor: 'readonly',
70
+ chrome: 'readonly',
71
+ },
72
+
73
+ // add your custom rules here
74
+ rules: {
75
+ <% if (lintConfig === 'standard') { %>
76
+ // allow async-await
77
+ 'generator-star-spacing': 'off',
78
+ // allow paren-less arrow functions
79
+ 'arrow-parens': 'off',
80
+ 'one-var': 'off',
81
+ 'no-void': 'off',
82
+ 'multiline-ternary': 'off',
83
+
84
+ 'import/first': 'off',
85
+ 'import/namespace': 'error',
86
+ 'import/default': 'error',
87
+ 'import/export': 'error',
88
+ 'import/extensions': 'off',
89
+ 'import/no-unresolved': 'off',
90
+ 'import/no-extraneous-dependencies': 'off',
91
+
92
+ // The core 'import/named' rules
93
+ // does not work with type definitions
94
+ 'import/named': 'off',
95
+ <% } else if (lintConfig === 'airbnb') { %>
96
+ 'no-param-reassign': 'off',
97
+ 'no-void': 'off',
98
+ 'no-nested-ternary': 'off',
99
+ 'max-classes-per-file': 'off',
100
+
101
+ 'no-shadow': 'off',
102
+ '@typescript-eslint/no-shadow': 'error',
103
+
104
+ 'import/first': 'off',
105
+ 'import/namespace': 'error',
106
+ 'import/default': 'error',
107
+ 'import/export': 'error',
108
+ 'import/extensions': 'off',
109
+ 'import/no-unresolved': 'off',
110
+ 'import/no-extraneous-dependencies': 'off',
111
+ 'import/prefer-default-export': 'off',
112
+
113
+ // The core 'import/named' rules
114
+ // does not work with type definitions
115
+ 'import/named': 'off',
116
+ <% } %>
117
+ 'prefer-promise-reject-errors': 'off',
118
+
119
+ quotes: ['warn', 'single', { avoidEscape: true }],
120
+
121
+ // this rule, if on, would require explicit return type on the `render` function
122
+ '@typescript-eslint/explicit-function-return-type': 'off',
123
+
124
+ // in plain CommonJS modules, you can't use `import foo = require('foo')` to pass this rule, so it has to be disabled
125
+ '@typescript-eslint/no-var-requires': 'off',
126
+
127
+ // The core 'no-unused-vars' rules (in the eslint:recommended ruleset)
128
+ // does not work with type definitions
129
+ 'no-unused-vars': 'off',
130
+
131
+ // allow debugger during development only
132
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
133
+ }
134
+ }
@@ -0,0 +1,15 @@
1
+ import { defineStore } from 'pinia';
2
+
3
+ export const useCounterStore = defineStore('counter', {
4
+ state: () => ({
5
+ counter: 0,
6
+ }),
7
+ getters: {
8
+ doubleCount: (state) => state.counter * 2,
9
+ },
10
+ actions: {
11
+ increment() {
12
+ this.counter++;
13
+ },
14
+ },
15
+ });
@@ -0,0 +1,32 @@
1
+ import { store } from 'quasar/wrappers'
2
+ import { createPinia } from 'pinia'
3
+ import { Router } from 'vue-router';
4
+
5
+ /*
6
+ * When adding new properties to stores, you should also
7
+ * extend the `PiniaCustomProperties` interface.
8
+ * @see https://pinia.vuejs.org/core-concepts/plugins.html#typing-new-store-properties
9
+ */
10
+ declare module 'pinia' {
11
+ export interface PiniaCustomProperties {
12
+ readonly router: Router;
13
+ }
14
+ }
15
+
16
+ /*
17
+ * If not building with SSR mode, you can
18
+ * directly export the Store instantiation;
19
+ *
20
+ * The function below can be async too; either use
21
+ * async/await or return a Promise which resolves
22
+ * with the Store instance.
23
+ */
24
+
25
+ export default store((/* { ssrContext } */) => {
26
+ const pinia = createPinia()
27
+
28
+ // You can add Pinia plugins here
29
+ // pinia.use(SomePiniaPlugin)
30
+
31
+ return pinia
32
+ })
@@ -0,0 +1,10 @@
1
+ /* eslint-disable */
2
+ // THIS FEATURE-FLAG FILE IS AUTOGENERATED,
3
+ // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
4
+ import "quasar/dist/types/feature-flag";
5
+
6
+ declare module "quasar/dist/types/feature-flag" {
7
+ interface QuasarFeatureFlags {
8
+ store: true;
9
+ }
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "singleQuote": true,
3
+ "semi": true
4
+ }
@@ -0,0 +1 @@
1
+ // app global css in Sass form
@@ -0,0 +1,25 @@
1
+ // Quasar Sass (& SCSS) Variables
2
+ // --------------------------------------------------
3
+ // To customize the look and feel of this app, you can override
4
+ // the Sass/SCSS variables found in Quasar's source Sass/SCSS files.
5
+
6
+ // Check documentation for full list of Quasar variables
7
+
8
+ // Your own variables (that are declared here) and Quasar's own
9
+ // ones will be available out of the box in your .vue/.scss/.sass files
10
+
11
+ // It's highly recommended to change the default colors
12
+ // to match your app's branding.
13
+ // Tip: Use the "Theme Builder" on Quasar's documentation website.
14
+
15
+ $primary : #1976D2
16
+ $secondary : #26A69A
17
+ $accent : #9C27B0
18
+
19
+ $dark : #1D1D1D
20
+ $dark-page : #121212
21
+
22
+ $positive : #21BA45
23
+ $negative : #C10015
24
+ $info : #31CCEC
25
+ $warning : #F2C037
@@ -0,0 +1 @@
1
+ // app global css in SCSS form
@@ -0,0 +1,25 @@
1
+ // Quasar SCSS (& Sass) Variables
2
+ // --------------------------------------------------
3
+ // To customize the look and feel of this app, you can override
4
+ // the Sass/SCSS variables found in Quasar's source Sass/SCSS files.
5
+
6
+ // Check documentation for full list of Quasar variables
7
+
8
+ // Your own variables (that are declared here) and Quasar's own
9
+ // ones will be available out of the box in your .vue/.scss/.sass files
10
+
11
+ // It's highly recommended to change the default colors
12
+ // to match your app's branding.
13
+ // Tip: Use the "Theme Builder" on Quasar's documentation website.
14
+
15
+ $primary : #1976D2;
16
+ $secondary : #26A69A;
17
+ $accent : #9C27B0;
18
+
19
+ $dark : #1D1D1D;
20
+ $dark-page : #121212;
21
+
22
+ $positive : #21BA45;
23
+ $negative : #C10015;
24
+ $info : #31CCEC;
25
+ $warning : #F2C037;