├── .eslintrc.js
├── .github
└── workflows
│ ├── ci.yml
│ └── npm-publish.yml
├── .gitignore
├── .npmignore
├── .vscode
└── settings.json
├── LICENSE
├── README.md
├── babel.config.js
├── docs
├── .gitignore
├── LICENCE.md
├── README.md
├── content
│ └── docs
│ │ └── index.md
├── gridsome.config.js
├── gridsome.server.js
├── netlify.toml
├── package.json
├── src
│ ├── assets
│ │ └── favicon.png
│ ├── components
│ │ ├── LayoutHeader.vue
│ │ ├── Logo.vue
│ │ ├── NextPrevLinks.vue
│ │ ├── OnThisPage.vue
│ │ ├── Search.vue
│ │ ├── Sidebar.vue
│ │ └── ToggleDarkMode.vue
│ ├── favicon.png
│ ├── layouts
│ │ └── Default.vue
│ ├── main.js
│ ├── pages
│ │ ├── 404.vue
│ │ └── Index.vue
│ └── templates
│ │ └── MarkdownPage.vue
├── static
│ ├── README.md
│ └── logo.jpg
├── tailwind.config.js
└── yarn.lock
├── examples
└── simple-modal
│ ├── .gitignore
│ ├── .vscode
│ └── extensions.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── env.d.ts
│ └── main.ts
│ ├── tsconfig.json
│ ├── vite.config.ts
│ └── yarn.lock
├── jest.config.js
├── package.json
├── prettier.config.js
├── rollup.config.js
├── src
├── Box
│ ├── Box.spec.tsx
│ ├── Box.ts
│ └── index.ts
├── Button
│ ├── Button.spec.tsx
│ ├── Button.ts
│ ├── README.md
│ └── index.ts
├── Clickable
│ ├── Clickable.spec.tsx
│ ├── Clickable.ts
│ └── index.ts
├── Dialog
│ ├── Dialog.ts
│ ├── DialogDisclosure.ts
│ ├── DialogState.ts
│ ├── __tests__
│ │ ├── Dialog.spec.tsx
│ │ ├── DialogDisclosure.spec.tsx
│ │ └── index.spec.tsx
│ └── index.ts
├── Disclosure
│ ├── Disclosure.ts
│ ├── DisclosureContent.ts
│ ├── DisclosureState.ts
│ ├── __tests__
│ │ ├── Disclosure.spec.tsx
│ │ ├── DisclosureContent.spec.tsx
│ │ ├── DisclosureState.spec.tsx
│ │ └── index.spec.tsx
│ └── index.ts
├── Modal
│ ├── Modal.ts
│ ├── ModalBackdrop.ts
│ ├── ModalDisclosure.ts
│ ├── ModalState.ts
│ ├── README.md
│ ├── __tests__
│ │ ├── Modal.spec.tsx
│ │ ├── ModalBackdrop.spec.tsx
│ │ ├── ModalDisclosure.spec.tsx
│ │ └── index.spec.tsx
│ └── index.ts
├── Popover
│ ├── Popover.ts
│ ├── PopoverDisclosure.ts
│ ├── PopoverState.ts
│ ├── README.md
│ ├── __tests__
│ │ ├── Popover.spec.tsx
│ │ ├── PopoverDisclosure.spec.tsx
│ │ └── index.spec.tsx
│ └── index.ts
├── Portal
│ ├── Portal.spec.tsx
│ ├── Portal.ts
│ └── index.ts
├── Tabbable
│ ├── Tabbable.spec.tsx
│ ├── Tabbable.ts
│ └── index.ts
└── utils
│ ├── component.ts
│ ├── element.ts
│ ├── index.ts
│ └── visibility.ts
├── test
├── setup.ts
└── utils
│ ├── events.ts
│ ├── index.ts
│ └── render.ts
├── tsconfig.json
└── yarn.lock
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | browser: true,
4 | es2020: true,
5 | node: true,
6 | },
7 | extends: [
8 | 'eslint:recommended',
9 | 'plugin:vue/vue3-recommended',
10 | 'plugin:@typescript-eslint/recommended',
11 | 'prettier',
12 | ],
13 | parser: 'vue-eslint-parser',
14 | parserOptions: {
15 | ecmaVersion: 11,
16 | parser: '@typescript-eslint/parser',
17 | sourceType: 'module',
18 | },
19 | plugins: ['vue', '@typescript-eslint'],
20 | rules: {
21 | '@typescript-eslint/no-var-requires': 'off',
22 | '@typescript-eslint/explicit-module-boundary-types': 'off',
23 | 'vue/multi-word-component-names': 'off',
24 | },
25 | ignorePatterns: ['lib', 'docs', 'coverage'],
26 | }
27 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | branches: [master]
6 | pull_request:
7 | branches: [master]
8 |
9 | jobs:
10 | build:
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - name: Checkout repository
15 | uses: actions/checkout@v2
16 |
17 | - name: Set up Node
18 | uses: actions/setup-node@v1
19 | with:
20 | node-version: 12
21 |
22 | - name: Install dependencies
23 | run: yarn --frozen-lockfile
24 |
25 | - name: Lint
26 | run: yarn lint
27 |
28 | - name: Test
29 | run: yarn test --coverage
30 |
31 | - name: Upload coverage to Codecov
32 | env:
33 | CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
34 | run: bash <(curl -s https://codecov.io/bash)
35 |
--------------------------------------------------------------------------------
/.github/workflows/npm-publish.yml:
--------------------------------------------------------------------------------
1 | name: Node.js Package
2 |
3 | on:
4 | release:
5 | types: [created]
6 |
7 | jobs:
8 | build:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v2
12 | - uses: actions/setup-node@v1
13 | with:
14 | node-version: 14
15 | - name: Install dependencies
16 | run: yarn --frozen-lockfile
17 |
18 | - name: Lint
19 | run: yarn lint
20 |
21 | - name: Test
22 | run: yarn test
23 |
24 | - name: Build
25 | run: yarn build:publish
26 |
27 | publish-npm:
28 | needs: build
29 | runs-on: ubuntu-latest
30 | steps:
31 | - uses: actions/checkout@v2
32 | - uses: actions/setup-node@v1
33 | with:
34 | node-version: 14
35 | registry-url: https://registry.npmjs.org/
36 | - run: yarn --frozen-lockfile
37 | - run: yarn build:publish
38 | - run: npm publish
39 | env:
40 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
41 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage
3 | .DS_Store
4 | dist
5 | *.local
6 | .eslintcache
7 | lib
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage
3 | .DS_Store
4 | dist
5 | *.local
6 | .eslintcache
7 | examples
8 | .vscode
9 | .github
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "eslint.codeActionsOnSave.mode": "all",
3 | "eslint.validate": [
4 | "typescript",
5 | "typescriptreact",
6 | "javascript",
7 | "javascriptreact",
8 | "vue"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Jörg Bayreuther
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Ari
2 |
3 | [](https://github.com/visualjerk/ari/actions)
4 | [](https://codecov.io/gh/visualjerk/ari)
5 |
6 | Accessible unstyled Vue components inspired by Reakit.
7 |
8 | Try it on [Stackblitz](https://stackblitz.com/edit/vue-grjxen?file=src/App.vue).
9 |
10 | ## Installation
11 |
12 | ```bash
13 | npm i vue-ari
14 | ```
15 |
16 | or
17 |
18 | ```bash
19 | yarn add vue-ari
20 | ```
21 |
22 | ## Usage
23 |
24 | ```vue
25 |
26 |
27 | Open Popover
28 |
29 |
30 | Popover Content
31 |
32 |
33 |
34 |
50 | ```
51 |
52 | ## Styling
53 |
54 | Ari components don't include styling by default. This gives you the ability to add styles however you like.
55 |
56 | ### Example Using Tailwind
57 |
58 | ```vue
59 |
60 |
64 | Open Popover
65 |
66 |
70 | Popover Content
71 |
72 |
73 |
74 |
90 | ```
91 |
92 | ## Reusable Components
93 |
94 | It would get pretty verbose to add the same styling classes wherever you like to use a `Popover`. So the recommended way is wrapping Ari components inside your own base components and use them inside your app.
95 |
96 | ```vue
97 |
98 |
102 |
103 |
104 |
105 |
106 |
117 | ```
118 |
119 | ## Abstracting State
120 |
121 | If you would rather not create a modal state each time, just create a provider component.
122 |
123 | Provider component:
124 |
125 | ```vue
126 |
127 |
128 |
129 |
130 |
141 | ```
142 |
143 | Base component for disclosure:
144 |
145 | ```vue
146 |
147 |
151 |
152 |
153 |
154 |
155 |
172 | ```
173 |
174 | Base component for modal:
175 |
176 | ```vue
177 |
178 |
182 |
186 |
187 |
188 |
189 |
190 |
191 |
210 | ```
211 |
212 | Inside your app:
213 |
214 | ```vue
215 |
216 |
217 |
218 | Open Modal
219 |
220 |
221 | Modal Content
222 |
223 |
224 |
225 |
226 |
237 | ```
238 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: ['@ant-design-vue/babel-plugin-jsx'],
3 | presets: [
4 | [
5 | '@babel/preset-env',
6 | {
7 | targets: {
8 | node: 'current',
9 | },
10 | },
11 | ],
12 | ['@babel/preset-typescript'],
13 | ],
14 | }
15 |
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | *.log
2 | .cache
3 | .DS_Store
4 | src/.temp
5 | node_modules
6 | dist
7 | !.env.example
8 | .env
9 | .env.*
10 |
--------------------------------------------------------------------------------
/docs/LICENCE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Marco Reimann
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | A starter documentation theme for [Gridsome](https://gridsome.org/).
6 |
7 | ## Installation
8 |
9 | If you have the Gridsome CLI installed, simply run:
10 |
11 | `gridsome create your-project https://github.com/mrcrmn/docc`
12 |
13 | ## Documentation
14 |
15 | Documentation can be found [here](https://docc-theme.netlify.com/).
16 |
--------------------------------------------------------------------------------
/docs/content/docs/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: ''
3 | sidebar: 'docs'
4 | next: '/docs/button/'
5 | ---
6 |
7 | # Introduction
8 |
9 | Ari offers accessible Vue 3 components without styling. It helps building a11y compliant components without having to overwrite default styles.
10 |
11 | ## Installation
12 |
13 | ```bash
14 | npm i vue-ari
15 | ```
16 |
17 | or
18 |
19 | ```bash
20 | yarn add vue-ari
21 | ```
22 |
23 | ## Usage
24 |
25 | ```html
26 |
27 |
28 | Open Popover
29 |
30 |
31 | Popover Content
32 |
33 |
34 |
35 |
51 | ```
52 |
--------------------------------------------------------------------------------
/docs/gridsome.config.js:
--------------------------------------------------------------------------------
1 | // This is where project configuration and plugin options are located.
2 | // Learn more: https://gridsome.org/docs/config
3 |
4 | // Changes here require a server restart.
5 | // To restart press CTRL + C in terminal and run `gridsome develop`
6 |
7 | module.exports = {
8 | siteName: 'ari',
9 | icon: {
10 | favicon: './src/assets/favicon.png',
11 | touchicon: './src/assets/favicon.png',
12 | },
13 | siteUrl: 'https://visualjerk.github.io',
14 | pathPrefix: '/ari',
15 | settings: {
16 | web: process.env.URL_WEB || false,
17 | twitter: process.env.URL_TWITTER || false,
18 | github: process.env.URL_GITHUB || 'https://github.com/visualjerk/ari',
19 | nav: {
20 | links: [{ path: '/docs/', title: 'Docs' }],
21 | },
22 | sidebar: [
23 | {
24 | name: 'docs',
25 | sections: [
26 | {
27 | title: 'Getting Started',
28 | items: ['/docs/'],
29 | },
30 | {
31 | title: 'Components',
32 | items: ['/docs/button/', '/docs/modal/', '/docs/popover/'],
33 | },
34 | ],
35 | },
36 | ],
37 | },
38 | plugins: [
39 | {
40 | use: '@gridsome/source-filesystem',
41 | options: {
42 | baseDir: './content',
43 | path: '**/*.md',
44 | typeName: 'MarkdownPage',
45 | remark: {
46 | externalLinksTarget: '_blank',
47 | externalLinksRel: ['noopener', 'noreferrer'],
48 | plugins: ['@gridsome/remark-prismjs'],
49 | },
50 | },
51 | },
52 | {
53 | use: '@gridsome/source-filesystem',
54 | options: {
55 | baseDir: '../src',
56 | path: '**/*.md',
57 | pathPrefix: '/docs',
58 | index: ['README'],
59 | typeName: 'MarkdownPage',
60 | remark: {
61 | externalLinksTarget: '_blank',
62 | externalLinksRel: ['noopener', 'noreferrer'],
63 | plugins: ['@gridsome/remark-prismjs'],
64 | },
65 | },
66 | },
67 | {
68 | use: 'gridsome-plugin-tailwindcss',
69 | options: {
70 | tailwindConfig: './tailwind.config.js',
71 | purgeConfig: {
72 | // Prevent purging of prism classes.
73 | whitelistPatternsChildren: [/token$/],
74 | },
75 | },
76 | },
77 | {
78 | use: '@gridsome/plugin-sitemap',
79 | options: {},
80 | },
81 | ],
82 | }
83 |
--------------------------------------------------------------------------------
/docs/gridsome.server.js:
--------------------------------------------------------------------------------
1 | // Server API makes it possible to hook into various parts of Gridsome
2 | // on server-side and add custom data to the GraphQL data layer.
3 | // Learn more: https://gridsome.org/docs/server-api/
4 |
5 | // Changes here require a server restart.
6 | // To restart press CTRL + C in terminal and run `gridsome develop`
7 |
8 | module.exports = function (api) {
9 | api.loadSource(({ addCollection, addMetadata }) => {
10 | // Use the Data Store API here: https://gridsome.org/docs/data-store-api/
11 | addMetadata('settings', require('./gridsome.config').settings);
12 | });
13 |
14 | api.createPages(({ createPage }) => {
15 | // Use the Pages API here: https://gridsome.org/docs/pages-api/
16 | });
17 | }
18 |
--------------------------------------------------------------------------------
/docs/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | command = "gridsome build"
3 | publish = "dist/"
--------------------------------------------------------------------------------
/docs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "docs",
3 | "private": true,
4 | "scripts": {
5 | "build": "gridsome build",
6 | "dev": "gridsome develop",
7 | "explore": "gridsome explore",
8 | "predeploy": "npm run build",
9 | "deploy": "gh-pages -d dist"
10 | },
11 | "dependencies": {
12 | "gridsome": "^0.7.0"
13 | },
14 | "devDependencies": {
15 | "@gridsome/plugin-google-analytics": "^0.1.0",
16 | "@gridsome/plugin-sitemap": "^0.2.3",
17 | "@gridsome/remark-prismjs": "^0.3.0",
18 | "@gridsome/source-filesystem": "^0.6.2",
19 | "@gridsome/transformer-remark": "^0.5.0",
20 | "fuse.js": "^3.4.6",
21 | "gh-pages": "^3.1.0",
22 | "gridsome-plugin-tailwindcss": "^2.2.36",
23 | "node-sass": "^4.13.1",
24 | "prism-themes": "^1.3.0",
25 | "sass-loader": "^8.0.2",
26 | "tailwindcss": "^1.2.0",
27 | "vue-feather-icons": "^5.0.0"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/docs/src/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/visualjerk/ari/c0d5d2c720cd25250b892ff1217a8be98d7e4b09/docs/src/assets/favicon.png
--------------------------------------------------------------------------------
/docs/src/components/LayoutHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{ meta.siteName }}
11 |
12 |
13 |
14 | {{ link.title }}
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | query {
80 | metadata {
81 | siteName
82 | settings {
83 | web
84 | github
85 | twitter
86 | nav {
87 | links {
88 | path
89 | title
90 | }
91 | }
92 | }
93 | }
94 | }
95 |
96 |
97 |
135 |
136 |
151 |
--------------------------------------------------------------------------------
/docs/src/components/Logo.vue:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
42 |
43 |
48 |
--------------------------------------------------------------------------------
/docs/src/components/NextPrevLinks.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 | {{ prev.title }}
11 |
12 |
13 |
18 | {{ next.title }}
19 |
20 |
21 |
22 |
23 |
24 |
25 |
58 |
--------------------------------------------------------------------------------
/docs/src/components/OnThisPage.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
On this page
4 |
5 |
6 | -
15 |
26 |
32 | {{ heading.value }}
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
121 |
--------------------------------------------------------------------------------
/docs/src/components/Search.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
26 |
69 |
70 |
71 |
72 |
73 | query Search {
74 | allMarkdownPage{
75 | edges {
76 | node {
77 | id
78 | path
79 | title
80 | headings {
81 | depth
82 | value
83 | anchor
84 | }
85 | }
86 | }
87 | }
88 | }
89 |
90 |
91 |
177 |
178 |
180 |
--------------------------------------------------------------------------------
/docs/src/components/Sidebar.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
13 |
14 | {{ section.title }}
15 |
16 |
17 |
18 | -
25 |
29 |
35 | {{ page.title }}
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | query Sidebar {
45 | metadata {
46 | settings {
47 | sidebar {
48 | name
49 | sections {
50 | title
51 | items
52 | }
53 | }
54 | }
55 | }
56 | }
57 |
58 |
59 |
96 |
--------------------------------------------------------------------------------
/docs/src/components/ToggleDarkMode.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
67 |
68 |
--------------------------------------------------------------------------------
/docs/src/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/visualjerk/ari/c0d5d2c720cd25250b892ff1217a8be98d7e4b09/docs/src/favicon.png
--------------------------------------------------------------------------------
/docs/src/layouts/Default.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
13 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
38 |
39 |
40 |
41 |
42 |
43 | query {
44 | metadata {
45 | siteName
46 | }
47 | }
48 |
49 |
50 |
122 |
123 |
323 |
--------------------------------------------------------------------------------
/docs/src/main.js:
--------------------------------------------------------------------------------
1 | // This is the main.js file. Import global CSS and scripts here.
2 | // The Client API can be used here. Learn more: gridsome.org/docs/client-api
3 | import DefaultLayout from '~/layouts/Default.vue'
4 |
5 | export default function (Vue, { router, head, isClient }) {
6 | // Set default layout as a global component
7 | Vue.component('Layout', DefaultLayout)
8 |
9 | router.beforeEach((to, _from, next) => {
10 | head.meta.push({
11 | key: 'og:url',
12 | name: 'og:url',
13 | content: process.env.GRIDSOME_BASE_PATH + to.path,
14 | })
15 | next()
16 | })
17 | }
18 |
--------------------------------------------------------------------------------
/docs/src/pages/404.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Oh no! There is nothing here.
5 |
6 |
7 | Go back.
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/src/pages/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
ari
8 |
9 |
Accessible unstyled Vue components
10 |
Creating a11y compliant Vue components has never been easier.
13 |
14 |
15 | yarn add vue-ari
16 |
17 |
18 |
19 |
23 | Get started
24 |
25 |
26 |
27 |
28 |
Open Source. MIT License.
29 |
30 |
31 |
32 |
33 |
34 |
81 |
82 |
87 |
--------------------------------------------------------------------------------
/docs/src/templates/MarkdownPage.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | query ($id: ID!) {
21 | markdownPage(id: $id) {
22 | id
23 | title
24 | description
25 | path
26 | timeToRead
27 | content
28 | sidebar
29 | next
30 | prev
31 | headings {
32 | depth
33 | value
34 | anchor
35 | }
36 | }
37 | allMarkdownPage{
38 | edges {
39 | node {
40 | path
41 | title
42 | }
43 | }
44 | }
45 | }
46 |
47 |
48 |
95 |
96 |
--------------------------------------------------------------------------------
/docs/static/README.md:
--------------------------------------------------------------------------------
1 | Add static files here. Files in this directory will be copied directly to `dist` folder during build. For example, /static/robots.txt will be located at https://yoursite.com/robots.txt.
2 |
3 | This file should be deleted.
--------------------------------------------------------------------------------
/docs/static/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/visualjerk/ari/c0d5d2c720cd25250b892ff1217a8be98d7e4b09/docs/static/logo.jpg
--------------------------------------------------------------------------------
/docs/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | theme: {
3 | extend: {
4 | colors: {
5 | blue: {
6 | 400: '#0057FF',
7 | 500: '#004DE2',
8 | },
9 | pink: {
10 | 500: '#F23E74',
11 | },
12 | ui: {
13 | background: 'var(--color-ui-background)',
14 | sidebar: 'var(--color-ui-sidebar)',
15 | typo: 'var(--color-ui-typo)',
16 | primary: 'var(--color-ui-primary)',
17 | highlight: 'var(--color-ui-highlight)',
18 | border: 'var(--color-ui-border)',
19 | },
20 | },
21 | spacing: {
22 | sm: '24rem',
23 | },
24 | screens: {
25 | xxl: '1400px',
26 | },
27 | },
28 | container: {
29 | center: true,
30 | padding: '1rem',
31 | },
32 | },
33 | variants: {},
34 | plugins: [],
35 | }
36 |
--------------------------------------------------------------------------------
/examples/simple-modal/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 |
--------------------------------------------------------------------------------
/examples/simple-modal/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["johnsoncodehk.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/examples/simple-modal/README.md:
--------------------------------------------------------------------------------
1 | # Vue 3 + Typescript + Vite
2 |
3 | This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `
12 |