From 413231e7613b5af5f41e1628ad2d060a4c108835 Mon Sep 17 00:00:00 2001 From: Charlon Palacay Date: Wed, 11 Jan 2023 12:08:33 -0800 Subject: [PATCH] Migrates docs from axdd-components repo. --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 1 + Dockerfile | 28 ++ LICENSE | 5 +- README.md | 60 +++- docker-compose.yml | 13 + docker/nginx.conf | 48 ++++ docker/prod-values.yml | 93 ++++++ index.html | 21 ++ package.json | 45 +++ public/favicon.ico | Bin 0 -> 1150 bytes src/app.vue | 10 + src/assets/css/styles.scss | 93 ++++++ src/assets/images/w-logo-purple.png | Bin 0 -> 2813 bytes src/assets/images/w-logo-white.png | Bin 0 -> 1794 bytes src/assets/logo.png | Bin 0 -> 4787 bytes src/components/CodeBlock.vue | 54 ++++ src/components/CompDescription.vue | 50 ++++ src/components/NavMenu.vue | 236 +++++++++++++++ src/components/PatternDescription.vue | 36 +++ src/components/ReleaseNotes.vue | 18 ++ src/components/VersionBadge.vue | 9 + src/docs/content/errors.vue | 43 +++ src/docs/content/grammar.vue | 45 +++ src/docs/content/index.vue | 51 ++++ src/docs/content/language.vue | 45 +++ src/docs/content/onboarding.vue | 43 +++ src/docs/content/state.vue | 43 +++ src/docs/content/voice.vue | 48 ++++ src/docs/elements/index.vue | 37 +++ src/docs/foundations/index.vue | 304 ++++++++++++++++++++ src/docs/index.vue | 154 ++++++++++ src/docs/patterns/containers/card.vue | 278 ++++++++++++++++++ src/docs/patterns/containers/disclosure.vue | 199 +++++++++++++ src/docs/patterns/containers/index.vue | 71 +++++ src/docs/patterns/containers/panel.vue | 51 ++++ src/docs/patterns/feedback.vue | 43 +++ src/docs/patterns/index.vue | 85 ++++++ src/docs/patterns/layout/color-mode.vue | 49 ++++ src/docs/patterns/layout/index.vue | 75 +++++ src/docs/patterns/layout/profile.vue | 117 ++++++++ src/docs/patterns/layout/sidebar.vue | 269 +++++++++++++++++ src/docs/patterns/layout/topbar.vue | 296 +++++++++++++++++++ src/docs/patterns/messaging/banner.vue | 46 +++ src/docs/patterns/messaging/index.vue | 61 ++++ src/docs/patterns/messaging/takeover.vue | 46 +++ src/docs/patterns/navigation/index.vue | 56 ++++ src/docs/patterns/navigation/menu.vue | 47 +++ src/docs/patterns/navigation/tabs.vue | 223 ++++++++++++++ src/docs/sandbox/sidebar/index.vue | 129 +++++++++ src/docs/sandbox/topbar/index.vue | 125 ++++++++ src/docs/start/designers.vue | 71 +++++ src/docs/start/developers.vue | 160 +++++++++++ src/docs/start/index.vue | 37 +++ src/docs/start/principles.vue | 53 ++++ src/layout.vue | 91 ++++++ src/main.js | 31 ++ src/router/index.js | 9 + vite.config.js | 21 ++ vitest.config.js | 15 + 60 files changed, 4383 insertions(+), 4 deletions(-) create mode 100644 .DS_Store create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 docker/nginx.conf create mode 100644 docker/prod-values.yml create mode 100644 index.html create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 src/app.vue create mode 100644 src/assets/css/styles.scss create mode 100644 src/assets/images/w-logo-purple.png create mode 100644 src/assets/images/w-logo-white.png create mode 100644 src/assets/logo.png create mode 100644 src/components/CodeBlock.vue create mode 100644 src/components/CompDescription.vue create mode 100644 src/components/NavMenu.vue create mode 100644 src/components/PatternDescription.vue create mode 100644 src/components/ReleaseNotes.vue create mode 100644 src/components/VersionBadge.vue create mode 100644 src/docs/content/errors.vue create mode 100644 src/docs/content/grammar.vue create mode 100644 src/docs/content/index.vue create mode 100644 src/docs/content/language.vue create mode 100644 src/docs/content/onboarding.vue create mode 100644 src/docs/content/state.vue create mode 100644 src/docs/content/voice.vue create mode 100644 src/docs/elements/index.vue create mode 100644 src/docs/foundations/index.vue create mode 100644 src/docs/index.vue create mode 100644 src/docs/patterns/containers/card.vue create mode 100644 src/docs/patterns/containers/disclosure.vue create mode 100644 src/docs/patterns/containers/index.vue create mode 100644 src/docs/patterns/containers/panel.vue create mode 100644 src/docs/patterns/feedback.vue create mode 100644 src/docs/patterns/index.vue create mode 100644 src/docs/patterns/layout/color-mode.vue create mode 100644 src/docs/patterns/layout/index.vue create mode 100644 src/docs/patterns/layout/profile.vue create mode 100644 src/docs/patterns/layout/sidebar.vue create mode 100644 src/docs/patterns/layout/topbar.vue create mode 100644 src/docs/patterns/messaging/banner.vue create mode 100644 src/docs/patterns/messaging/index.vue create mode 100644 src/docs/patterns/messaging/takeover.vue create mode 100644 src/docs/patterns/navigation/index.vue create mode 100644 src/docs/patterns/navigation/menu.vue create mode 100644 src/docs/patterns/navigation/tabs.vue create mode 100644 src/docs/sandbox/sidebar/index.vue create mode 100644 src/docs/sandbox/topbar/index.vue create mode 100644 src/docs/start/designers.vue create mode 100644 src/docs/start/developers.vue create mode 100644 src/docs/start/index.vue create mode 100644 src/docs/start/principles.vue create mode 100644 src/layout.vue create mode 100644 src/main.js create mode 100644 src/router/index.js create mode 100644 vite.config.js create mode 100644 vitest.config.js diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ec07abc0b7cae6d4e9c315263d251129bd89fcd3 GIT binary patch literal 6148 zcmeHKOHRWu5Pfc|Qa(ZzD>g{E0F}5wfOb&{SkMbVKa@gg5KsiW?70J1;4~bD6}%Z+ zkPom#fMz87CH6dz=UK610B&bK+ya^a8Z3gfC03u9^h+sOCA2IPosKcWRd<>U`qQLe z^0o$3z!dmx3dpxx#}EkyI7j~bl}+J^rS+<&Q(w#aVw0={7r117O?C_Se4A$W0FL1{ z3S%sx{Sgl*m|%)gf%8z}OfX~Y5$+h}6gQv5c`0xfu!k;o(ZKcMHCYIOJ@$ng2eq#TU zu1eNx6}OCjqqCM3nW?H{Mqm#42)Y_sZu6ac%@JC0uXC#R^zk$HV7vQ7za!}vWMn8mFTH1Trr%dvpoua zalq80r^AKIhYOKixS=?W&haC4hl@R0Z3>tIc?GKewJGO+=j;1_o@8&PfGO~=6mYe6 zuf4;R!r59%PR`nh<%mU0{8EofVHJ*JeUPJgokfj(kvtINfT>5e(CkM*Ww6Q=_)!Jk E0DCg0d;kCd literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore index 6704566..9debd82 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,7 @@ build/Release # Dependency directories node_modules/ jspm_packages/ +package-lock.json # TypeScript v1 declaration files typings/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0ba7bd5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +FROM us-docker.pkg.dev/uwit-mci-axdd/containers/nginx-container:1.1.2 as pre-app-container + +USER root + +RUN apt-get update && apt-get install git -y + +ADD docker/nginx.conf /etc/nginx/nginx.conf +RUN chgrp acait /etc/nginx/nginx.conf && chmod g+w /etc/nginx/nginx.conf + + +FROM us-docker.pkg.dev/uwit-mci-axdd/containers/nginx-container:1.1.2 AS node-bundler + +USER acait + +COPY --chown=acait:acait index.html package.json vite.config.js /app/ +COPY --chown=acait:acait src /app/src +COPY --chown=acait:acait public /app/public + +RUN . /app/bin/activate &&\ + npm install --production &&\ + npm install vite &&\ + npm run build + + +FROM pre-app-container as app-container + +USER acait +COPY --chown=acait:acait --from=node-bundler /app/dist /app/dist diff --git a/LICENSE b/LICENSE index 261eeb9..8f71f43 100644 --- a/LICENSE +++ b/LICENSE @@ -178,7 +178,7 @@ APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -199,3 +199,4 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + diff --git a/README.md b/README.md index 48b5641..b878667 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,58 @@ -# solstice-docs -Solstice Design System documentation +[![Coverage Status](https://coveralls.io/repos/github/uw-it-aca/axdd-components/badge.svg?branch=main)](https://coveralls.io/github/uw-it-aca/axdd-components?branch=main) + +# axdd-components +AXDD VueJS Component Library + +* Vue 3 +* Vite 2 +* Bootstrap 5 + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.vscode-typescript-vue-plugin). + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Compile and Build documentation website + +```sh +npm run build +``` + +### Run Unit Tests with [Vitest](https://vitest.dev/) + +```sh +npm run test:unit +``` + +### Run Unit Tests with Coverage report + +```sh +npm run coverage +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run eslint +``` + +### Lint with [Stylelint](https://stylelint.io/) + +```sh +npm run stylelint +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..01129bb --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3.4' + +services: + app: + environment: + PORT: 8000 + restart: always + container_name: app-solstice-docs + build: + context: . + target: app-container + ports: + - "${RUNSERVER_PORT:-8000}:8000" diff --git a/docker/nginx.conf b/docker/nginx.conf new file mode 100644 index 0000000..6d4b21c --- /dev/null +++ b/docker/nginx.conf @@ -0,0 +1,48 @@ +# must run in foreground +daemon off; + +worker_processes 1; +pid /var/run/nginx/nginx.pid; +error_log /dev/stderr; + +events { + worker_connections 5000; + accept_mutex off; # set to 'on' if nginx worker_processes > 1 +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + sendfile on; + access_log /dev/stdout; + + server { + listen ${PORT} default_server; + charset utf-8; + underscores_in_headers on; + port_in_redirect off; + root /app/dist; + + location / { + try_files $uri $uri/ /index.html; + default_type text/html; + } + + location = /favicon.ico { + return 204; + } + + # include for app-specific location config + include /etc/nginx/includes/locations.conf; + } + + server { + listen 8080; + server_name localhost; + + location /basic_status { + stub_status on; + access_log off; + } + } +} diff --git a/docker/prod-values.yml b/docker/prod-values.yml new file mode 100644 index 0000000..778cc03 --- /dev/null +++ b/docker/prod-values.yml @@ -0,0 +1,93 @@ +autoscaling: + enabled: true + minReplicas: 1 + maxReplicas: 2 + +ingress: + enabled: true + type: nginx + tls: + axdd-components: + secretName: components.axdd.s.uw.edu-ingress-cert + hosts: + - components.axdd.s.uw.edu + axdd-styleguide: + secretName: styleguide.axdd.s.uw.edu-ingress-cert + hosts: + - styleguide.axdd.s.uw.edu + hosts: + axdd-components: + host: components.axdd.s.uw.edu + paths: + - "/" + axdd-styleguide: + host: styleguide.axdd.s.uw.edu + paths: + - "/" + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/configuration-snippet: | + if ($host != 'components.axdd.s.uw.edu' ) { + return 301 $scheme://components.axdd.s.uw.edu; + } + +repo: axdd-components +instance: prod + +resources: + limits: + cpu: 500m + memory: 256Mi + requests: + cpu: 25m + memory: 128Mi + +service: + enabled: true + ports: + - port: 80 + targetPort: 8000 + name: http + - port: 9113 + targetPort: 9113 + name: metrics + +deploymentInitialization: + enabled: false + +daemon: + enabled: false + +database: + engine: null + +externalService: + enabled: false + +cronjob: + enabled: false + +memcached: + enabled: false + +certs: + mounted: false + +gcsCredentials: + mounted: false + +metrics: + enabled: true + serviceMonitor: + enabled: true + port: metrics + +readiness: + enabled: false + +lifecycle: + enabled: true + +environmentVariables: + - name: "ENV" + value: "prod" diff --git a/index.html b/index.html new file mode 100644 index 0000000..7049538 --- /dev/null +++ b/index.html @@ -0,0 +1,21 @@ + + + + + + + + AXDD Components + + + + + + + + +
+ + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..e45c733 --- /dev/null +++ b/package.json @@ -0,0 +1,45 @@ +{ + "name": "axdd-components", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview --port 5050", + "test:unit": "vitest", + "coverage": "vitest run --coverage", + "eslint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --ignore-pattern '/dist/' --ignore-path .gitignore", + "stylelint": "stylelint '**/*.{vue,scss}'" + }, + "dependencies": { + "@popperjs/core": "^2.11.6", + "@vueuse/core": "^9.10.0", + "axdd-components": "github:uw-it-aca/axdd-components#task/dark-mode", + "bootstrap": "^5.3.0-alpha1", + "bootstrap-icons": "^1.10.2", + "jquery": "^3.6.1", + "vue": "^3.2.45", + "vue-router": "^4.1.6", + "vue3-mq": "^3.1.3" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.2.0", + "@vitejs/plugin-vue": "^4.0.0", + "@vitest/coverage-c8": "^0.23.4", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/test-utils": "^2.2.4", + "eslint": "^8.28.0", + "eslint-plugin-vue": "^9.7.0", + "jsdom": "^20.0.3", + "postcss-html": "^1.5.0", + "prettier": "^2.8.0", + "prismjs": "^1.29.0", + "sass": "^1.56.1", + "stylelint": "^14.15.0", + "stylelint-config-prettier": "^9.0.4", + "stylelint-config-recommended-scss": "^7.0.0", + "stylelint-config-recommended-vue": "^1.4.0", + "stylelint-config-standard-scss": "^5.0.0", + "vite": "^4.0.0", + "vite-plugin-pages": "^0.28.0", + "vitest": "^0.23.4" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3398aef93280f1c3c1cab181ba8f8d60469d2b4f GIT binary patch literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYJyLA1K%|KWs-TtojiMyCI- z4N3YRtzq>)M$`I#eRwKZEYC53pkJ?_I`c~2f4r{U z|DWG~z|~L6ul_%$wgb-p{NdyOSfG1wg?DpwCRpvizkmOKc>VVO-WBWrAKthfEC%BL z1&UV(Cg9Y+dg3gw+P5!W{og!i$^YjM9{qpw>;+hC^X$d{LE_80rr^|n_4paE+7sLN z{%?-S{QvLYKQJFev?u2MKeBPh|BHu?W7VHz==A^F=PzLO3tRgBCmJ~Z|MKw@nE(CD z*Z*l|?*C_2wt&Sza>!u-l3Uz95o{mG&ShPb!RpT+JONgTzuz-N5`zE3g0Y Wy7vDYBGXXhVfu$Mjb0v*$_D`2C`W4m literal 0 HcmV?d00001 diff --git a/src/app.vue b/src/app.vue new file mode 100644 index 0000000..a12fd60 --- /dev/null +++ b/src/app.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/assets/css/styles.scss b/src/assets/css/styles.scss new file mode 100644 index 0000000..3b372e1 --- /dev/null +++ b/src/assets/css/styles.scss @@ -0,0 +1,93 @@ +// 1. import bootstrap functions first +@import "node_modules/bootstrap/scss/functions"; + +// 2. include any default variable overrides + +// override bootstrap default theme colors + +/* +$body-bg: #000; +$body-color: #111; +$text-muted: orange; + +$danger: #a94442; +$warning: #f5d300; + +$theme-colors: ( + "primary": $primary, + "secondary": $secondary, + "success": $success, + "info": $info, + "warning": $warning, + "danger": $danger, + "light": $light, + "dark": $dark, +); +*/ + +// 3. include remaining bootstrap styles +@import "node_modules/bootstrap/scss/variables"; +@import "node_modules/bootstrap/scss/variables-dark"; + +// override card border color +// $card-border-color: $gray-200; + +// 4. include default map overrides + +// apply custom theme colors +$custom-colors: ( + "purple": #4d307f, + "dark-purple": #452a78, // deprecated for opaque + "beige": #e8e3d3, + "dark-beige": #85754d, + "light-beige": #faf8f4, + "mid-beige": #ab9765, + "gold": #ffbc24, + "teal": #4c7286, + "light-gray": #e8e8e8, + "gray": #e9ecef, +); + +// merge the default bootstrap + custom color maps +$theme-colors: map-merge($theme-colors, $custom-colors); + +// adding extra font-sizes (fs-#) +$extra-font-sizes: ( + 7: 0.875rem, + 8: 0.8125rem, + 9: 0.75rem, + 10: 0.6875rem, + 11: 0.625rem, +); +$font-sizes: map-merge($font-sizes, $extra-font-sizes); + +// 5. include required parts +@import "node_modules/bootstrap/scss/maps"; +@import "node_modules/bootstrap/scss/mixins"; +@import "node_modules/bootstrap/scss/root"; + +// 6. optional include any other parts needed +@import "node_modules/bootstrap/scss/utilities"; +@import "node_modules/bootstrap/scss/reboot"; +@import "node_modules/bootstrap/scss/type"; +@import "node_modules/bootstrap/scss/images"; +@import "node_modules/bootstrap/scss/containers"; +@import "node_modules/bootstrap/scss/grid"; +@import "node_modules/bootstrap/scss/helpers"; + + +// 7. include utilities api and import bootstrap last +@import "node_modules/bootstrap/scss/utilities/api"; +@import "node_modules/bootstrap/scss/bootstrap"; + +// 8. continue... add global app overrides and custom mixins + +// global axdd-component styles +.axdd-font-open-sans { + font-family: "Open Sans", sans-serif !important; +} + +.axdd-font-encode-sans { + font-family: "Encode Sans Condensed", sans-serif !important; +} + diff --git a/src/assets/images/w-logo-purple.png b/src/assets/images/w-logo-purple.png new file mode 100644 index 0000000000000000000000000000000000000000..35edae6b04a77447b575200452bec30d3f834fe6 GIT binary patch literal 2813 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 LS4ycvz@EPVyi_kAEi69d++_`obx^J?B{VY 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 UbWFs+A5O4i=0vmSc(<7U1@{of`~Uy| literal 0 HcmV?d00001 diff --git a/src/components/CodeBlock.vue b/src/components/CodeBlock.vue new file mode 100644 index 0000000..b475195 --- /dev/null +++ b/src/components/CodeBlock.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/components/CompDescription.vue b/src/components/CompDescription.vue new file mode 100644 index 0000000..b1e9bf3 --- /dev/null +++ b/src/components/CompDescription.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/components/NavMenu.vue b/src/components/NavMenu.vue new file mode 100644 index 0000000..824b16d --- /dev/null +++ b/src/components/NavMenu.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/src/components/PatternDescription.vue b/src/components/PatternDescription.vue new file mode 100644 index 0000000..479ea5a --- /dev/null +++ b/src/components/PatternDescription.vue @@ -0,0 +1,36 @@ + + + diff --git a/src/components/ReleaseNotes.vue b/src/components/ReleaseNotes.vue new file mode 100644 index 0000000..c7092e6 --- /dev/null +++ b/src/components/ReleaseNotes.vue @@ -0,0 +1,18 @@ + diff --git a/src/components/VersionBadge.vue b/src/components/VersionBadge.vue new file mode 100644 index 0000000..7e25aa3 --- /dev/null +++ b/src/components/VersionBadge.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/docs/content/errors.vue b/src/docs/content/errors.vue new file mode 100644 index 0000000..72ded90 --- /dev/null +++ b/src/docs/content/errors.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/docs/content/grammar.vue b/src/docs/content/grammar.vue new file mode 100644 index 0000000..3774029 --- /dev/null +++ b/src/docs/content/grammar.vue @@ -0,0 +1,45 @@ + + + diff --git a/src/docs/content/index.vue b/src/docs/content/index.vue new file mode 100644 index 0000000..f89cb2f --- /dev/null +++ b/src/docs/content/index.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/docs/content/language.vue b/src/docs/content/language.vue new file mode 100644 index 0000000..1f50a3e --- /dev/null +++ b/src/docs/content/language.vue @@ -0,0 +1,45 @@ + + + diff --git a/src/docs/content/onboarding.vue b/src/docs/content/onboarding.vue new file mode 100644 index 0000000..1d426c7 --- /dev/null +++ b/src/docs/content/onboarding.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/docs/content/state.vue b/src/docs/content/state.vue new file mode 100644 index 0000000..e3374b8 --- /dev/null +++ b/src/docs/content/state.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/docs/content/voice.vue b/src/docs/content/voice.vue new file mode 100644 index 0000000..83d7e2a --- /dev/null +++ b/src/docs/content/voice.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/docs/elements/index.vue b/src/docs/elements/index.vue new file mode 100644 index 0000000..c834438 --- /dev/null +++ b/src/docs/elements/index.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/docs/foundations/index.vue b/src/docs/foundations/index.vue new file mode 100644 index 0000000..d5d6de5 --- /dev/null +++ b/src/docs/foundations/index.vue @@ -0,0 +1,304 @@ + + + diff --git a/src/docs/index.vue b/src/docs/index.vue new file mode 100644 index 0000000..1c18fa9 --- /dev/null +++ b/src/docs/index.vue @@ -0,0 +1,154 @@ + + + diff --git a/src/docs/patterns/containers/card.vue b/src/docs/patterns/containers/card.vue new file mode 100644 index 0000000..fa9c49b --- /dev/null +++ b/src/docs/patterns/containers/card.vue @@ -0,0 +1,278 @@ + + + diff --git a/src/docs/patterns/containers/disclosure.vue b/src/docs/patterns/containers/disclosure.vue new file mode 100644 index 0000000..ceec094 --- /dev/null +++ b/src/docs/patterns/containers/disclosure.vue @@ -0,0 +1,199 @@ + + + diff --git a/src/docs/patterns/containers/index.vue b/src/docs/patterns/containers/index.vue new file mode 100644 index 0000000..1736f3e --- /dev/null +++ b/src/docs/patterns/containers/index.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/docs/patterns/containers/panel.vue b/src/docs/patterns/containers/panel.vue new file mode 100644 index 0000000..6397632 --- /dev/null +++ b/src/docs/patterns/containers/panel.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/docs/patterns/feedback.vue b/src/docs/patterns/feedback.vue new file mode 100644 index 0000000..e3f2e51 --- /dev/null +++ b/src/docs/patterns/feedback.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/docs/patterns/index.vue b/src/docs/patterns/index.vue new file mode 100644 index 0000000..73874cd --- /dev/null +++ b/src/docs/patterns/index.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/docs/patterns/layout/color-mode.vue b/src/docs/patterns/layout/color-mode.vue new file mode 100644 index 0000000..020db36 --- /dev/null +++ b/src/docs/patterns/layout/color-mode.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/docs/patterns/layout/index.vue b/src/docs/patterns/layout/index.vue new file mode 100644 index 0000000..c2a7acf --- /dev/null +++ b/src/docs/patterns/layout/index.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/docs/patterns/layout/profile.vue b/src/docs/patterns/layout/profile.vue new file mode 100644 index 0000000..81d4d6b --- /dev/null +++ b/src/docs/patterns/layout/profile.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/docs/patterns/layout/sidebar.vue b/src/docs/patterns/layout/sidebar.vue new file mode 100644 index 0000000..7ee73f3 --- /dev/null +++ b/src/docs/patterns/layout/sidebar.vue @@ -0,0 +1,269 @@ + + + diff --git a/src/docs/patterns/layout/topbar.vue b/src/docs/patterns/layout/topbar.vue new file mode 100644 index 0000000..025e226 --- /dev/null +++ b/src/docs/patterns/layout/topbar.vue @@ -0,0 +1,296 @@ + + + diff --git a/src/docs/patterns/messaging/banner.vue b/src/docs/patterns/messaging/banner.vue new file mode 100644 index 0000000..3be537d --- /dev/null +++ b/src/docs/patterns/messaging/banner.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/docs/patterns/messaging/index.vue b/src/docs/patterns/messaging/index.vue new file mode 100644 index 0000000..4380cb7 --- /dev/null +++ b/src/docs/patterns/messaging/index.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/docs/patterns/messaging/takeover.vue b/src/docs/patterns/messaging/takeover.vue new file mode 100644 index 0000000..473a3e3 --- /dev/null +++ b/src/docs/patterns/messaging/takeover.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/docs/patterns/navigation/index.vue b/src/docs/patterns/navigation/index.vue new file mode 100644 index 0000000..7dad629 --- /dev/null +++ b/src/docs/patterns/navigation/index.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/docs/patterns/navigation/menu.vue b/src/docs/patterns/navigation/menu.vue new file mode 100644 index 0000000..c642fb6 --- /dev/null +++ b/src/docs/patterns/navigation/menu.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/docs/patterns/navigation/tabs.vue b/src/docs/patterns/navigation/tabs.vue new file mode 100644 index 0000000..36c2cdd --- /dev/null +++ b/src/docs/patterns/navigation/tabs.vue @@ -0,0 +1,223 @@ + + + diff --git a/src/docs/sandbox/sidebar/index.vue b/src/docs/sandbox/sidebar/index.vue new file mode 100644 index 0000000..85165fa --- /dev/null +++ b/src/docs/sandbox/sidebar/index.vue @@ -0,0 +1,129 @@ + + + diff --git a/src/docs/sandbox/topbar/index.vue b/src/docs/sandbox/topbar/index.vue new file mode 100644 index 0000000..91407ec --- /dev/null +++ b/src/docs/sandbox/topbar/index.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/docs/start/designers.vue b/src/docs/start/designers.vue new file mode 100644 index 0000000..1825664 --- /dev/null +++ b/src/docs/start/designers.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/docs/start/developers.vue b/src/docs/start/developers.vue new file mode 100644 index 0000000..896f504 --- /dev/null +++ b/src/docs/start/developers.vue @@ -0,0 +1,160 @@ + + + diff --git a/src/docs/start/index.vue b/src/docs/start/index.vue new file mode 100644 index 0000000..5c4f7fe --- /dev/null +++ b/src/docs/start/index.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/docs/start/principles.vue b/src/docs/start/principles.vue new file mode 100644 index 0000000..b596230 --- /dev/null +++ b/src/docs/start/principles.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/layout.vue b/src/layout.vue new file mode 100644 index 0000000..c9b3e69 --- /dev/null +++ b/src/layout.vue @@ -0,0 +1,91 @@ + + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..8daf503 --- /dev/null +++ b/src/main.js @@ -0,0 +1,31 @@ +import { createApp } from "vue"; +import App from "./app.vue"; +import router from "./router"; +import AxddComponents from "axdd-components"; +import { Vue3Mq, MqResponsive } from "vue3-mq"; + +// bootstrap js + icons +import "bootstrap"; +import "bootstrap-icons/font/bootstrap-icons.css"; + +// axdd-components css +import "axdd-components/dist/style.css"; + +// custom axdd bootstrap css +import "../src/assets/css/styles.scss"; + +const app = createApp(App); + +app.config.productionTip = false; + +// vue-mq (media queries) +app.use(Vue3Mq, { + preset: "bootstrap5", +}); +app.component("mq-responsive", MqResponsive); + +// axdd-components +app.use(AxddComponents); + +app.use(router); +app.mount("#app"); diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..204919e --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,9 @@ +import { createWebHistory, createRouter } from "vue-router"; +import routes from "~pages"; + +const router = createRouter({ + history: createWebHistory(), + routes, +}); + +export default router; diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..ae523b1 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,21 @@ +import { fileURLToPath, URL } from "url"; + +import { defineConfig } from "vite"; +import Vue from "@vitejs/plugin-vue"; +import Pages from "vite-plugin-pages"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + Vue(), + Pages({ + dirs: [{ dir: "src/docs", baseRoute: "" }], + exclude: ["_*.vue"], + }), + ], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, +}); diff --git a/vitest.config.js b/vitest.config.js new file mode 100644 index 0000000..f1aa0a6 --- /dev/null +++ b/vitest.config.js @@ -0,0 +1,15 @@ +import { defineConfig } from "vite"; +import Vue from "@vitejs/plugin-vue"; + +export default defineConfig({ + plugins: [Vue()], + test: { + globals: true, + environment: "jsdom", + coverage: { + all: true, + extension: [".vue"], + reporter: ["text", "json", "html", "lcov"], + }, + }, +});