Skip to content

Commit 297606b

Browse files
committed
first commit
1 parent a82e970 commit 297606b

File tree

165 files changed

+47815
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+47815
-0
lines changed

.eslintrc.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"root": true,
3+
"env": {
4+
"node": true
5+
},
6+
"extends": [
7+
"plugin:vue/vue3-essential",
8+
"eslint:recommended",
9+
"@vue/typescript/recommended",
10+
"@vue/prettier",
11+
"@vue/prettier/@typescript-eslint"
12+
],
13+
"parserOptions": {
14+
"ecmaVersion": 2020
15+
},
16+
"rules": {
17+
"vue/no-unused-components": "off",
18+
"no-debugger": "off"
19+
}
20+
}

.github/docsearch.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# name: docsearch
2+
3+
# on:
4+
# push:
5+
# branches:
6+
# - main
7+
# jobs:
8+
# algolia:
9+
# runs-on: ubuntu-latest
10+
# steps:
11+
# - uses: actions/checkout@v2
12+
13+
# - name: Get the content of docsearch.json as config
14+
# id: algolia_config
15+
# run: echo "::set-output name=config::$(cat docsearch.json | jq -r tostring)"
16+
17+
# - name: Run algolia/docsearch-scraper image
18+
# env:
19+
# ALGOLIA_APP_ID: ${{ secrets.APPLICATION_ID }}
20+
# ALGOLIA_API_KEY: ${{ secrets.API_KEY }}
21+
# CONFIG: ${{ steps.algolia_config.outputs.config }}
22+
# run: |
23+
# docker run \
24+
# --env APPLICATION_ID=${ALGOLIA_APP_ID} \
25+
# --env API_KEY=${ALGOLIA_API_KEY} \
26+
# --env "CONFIG=${CONFIG}" \
27+
# algolia/docsearch-scraper

.github/workflows/deploy2io.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: sync to github.io
2+
3+
on:
4+
push:
5+
branches:
6+
- main # default branch
7+
paths:
8+
- ".github/workflows/**"
9+
- "**"
10+
11+
jobs:
12+
copy:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v3 # 检出仓库
16+
- uses: actions/setup-node@v3 # 设置node版本
17+
with:
18+
node-version: 16
19+
- run: npm install
20+
- run: npm run build
21+
22+
- name: Sync
23+
uses: JamesIves/github-pages-deploy-action@v4
24+
with:
25+
branch: main # action 应该部署到的分支。
26+
folder: dist # 操作应该部署的文件夹。
27+
clean: false
28+
repository-name: hellof2e/react-quarkdesign.github.io
29+
token: ${{ secrets.GIT_ACTION }}
30+
target-folder: /

.gitignore

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.DS_Store
2+
node_modules
3+
yarn.lock
4+
/cache
5+
/.nyc_output
6+
/coverage
7+
8+
# local env files
9+
.env.local
10+
.env.*.local
11+
12+
# Log files
13+
npm-debug.log*
14+
yarn-debug.log*
15+
yarn-error.log*
16+
17+
/lib
18+
/es
19+
/umd
20+
/tsc
21+
/dist

.husky/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_

.prettierrc.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"use strict";
2+
3+
module.exports = {};

.vscode/settings.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"editor.codeActionsOnSave": {
3+
"source.fixAll": true
4+
},
5+
"files.associations": {
6+
"*.vue": "html"
7+
},
8+
"eslint.options": {
9+
"configFile": "./.eslintrc.json"
10+
},
11+
"eslint.validate": ["javascript", "vue", "html", "typescript"],
12+
"workbench.startupEditor": "none",
13+
"stylelint.validate": ["css", "scss"],
14+
"scss.validate": false,
15+
"css.validate": false
16+
}

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Quark Design Documentation
2+
3+
Quark Design documentation for React.
4+
5+
To run the project locally, first install the dependencies:
6+
7+
```bash
8+
npm install
9+
```
10+
11+
Next, run the development server:
12+
13+
```
14+
npm run dev
15+
```
16+
17+
## Build
18+
19+
When the code is merged into the `main` branch, the static resources are automatically built.
20+
21+
## License
22+
23+
This project is not licensed under an open-source license and is the intellectual property of Quark Labs. The source is available only as an educational resource and to accept fixes for minor mistakes.

commitlint.config.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module.exports = {
2+
extends: ["@commitlint/config-conventional"],
3+
rules: {
4+
"body-leading-blank": [1, "always"],
5+
"footer-leading-blank": [1, "always"],
6+
"header-max-length": [2, "always", 72],
7+
"scope-case": [2, "always", "lower-case"],
8+
"subject-case": [
9+
2,
10+
"never",
11+
["sentence-case", "start-case", "pascal-case", "upper-case"],
12+
],
13+
"subject-empty": [2, "never"],
14+
"subject-full-stop": [2, "never", "."],
15+
"type-case": [2, "always", "lower-case"],
16+
"type-empty": [2, "never"],
17+
"type-enum": [
18+
2,
19+
"always",
20+
[
21+
"upd",
22+
"chore",
23+
"docs",
24+
"feat",
25+
"fix",
26+
"test",
27+
"refactor",
28+
"revert",
29+
"style",
30+
"release",
31+
],
32+
],
33+
},
34+
};

dark-light-mode.mjs

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
// enjoy it
2+
const template = document.createElement("template");
3+
template.innerHTML = `<style>
4+
*,::after,::before{
5+
box-sizing:border-box
6+
}
7+
:host{
8+
contain:content;
9+
display:inline-block;
10+
}
11+
:host img {
12+
max-width: 100%;
13+
margin-left: 0;
14+
margin-right: 0;
15+
margin-top: 0;
16+
padding-bottom: 0;
17+
padding-left: 0;
18+
padding-right: 0;
19+
padding-top: 0;
20+
margin-bottom: 1.75rem;
21+
}
22+
.toggle {
23+
position: relative;
24+
touch-action: pan-x;
25+
cursor: pointer;
26+
background-color: transparent;
27+
border: 0;
28+
padding: 0;
29+
-webkit-touch-callout: none;
30+
-webkit-user-select: none;
31+
-ms-user-select: none;
32+
user-select: none;
33+
-webkit-tap-highlight-color: rgba(0,0,0,0);
34+
-webkit-tap-highlight-color: transparent;
35+
}
36+
.toggle .track {
37+
width: 48px;
38+
height: 22px;
39+
padding: 0;
40+
border-radius: 30px;
41+
background-color: #313136;
42+
transition: all .2s ease;
43+
border: 1px solid rgba(82, 82, 89, .68);
44+
}
45+
.toggle .track .check, .toggle .track .x {
46+
position: absolute;
47+
width: 17px;
48+
height: 17px;
49+
top: 0;
50+
bottom: 0;
51+
margin-top: auto;
52+
margin-bottom: auto;
53+
line-height: 0;
54+
}
55+
.toggle .track .check {
56+
left: 5px;
57+
opacity: 0;
58+
transition: opacity .25s ease;
59+
}
60+
.toggle .track .x {
61+
right: 5px;
62+
}
63+
.toggle.dark .track .check, .toggle.dark .track .x{
64+
opacity: 1;
65+
transition: opacity .25s ease;
66+
}
67+
.toggle.dark .track .x {
68+
opacity: 0;
69+
}
70+
.toggle .thumb {
71+
position: absolute;
72+
top: 1px;
73+
left: 1px;
74+
width: 20px;
75+
height: 20px;
76+
border-radius: 50%;
77+
background-color: #fafafa;
78+
box-sizing: border-box;
79+
transition: all .5s cubic-bezier(.23,1,.32,1) 0ms;
80+
transform: translateX(0);
81+
}
82+
.toggle.dark .thumb {
83+
transform: translateX(26px);
84+
border-color: #19ab27;
85+
}
86+
</style>
87+
<div class="toggle">
88+
<div class="track">
89+
<div class="check">
90+
<img src="data:image/png;base64,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" width="16" height="16" role="presentation" style="pointer-events: none;">
91+
</div>
92+
<div class="x">
93+
<img src="data:image/png;base64,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" width="16" height="16" role="presentation" style="pointer-events: none;">
94+
</div>
95+
</div>
96+
<div class="thumb"></div>
97+
</div>
98+
`;
99+
100+
function turnDark() {
101+
document.documentElement.classList.add("dark");
102+
localStorage.setItem("theme", "dark");
103+
}
104+
105+
function turnLight() {
106+
console.log("turn light");
107+
document.documentElement.classList.remove("dark");
108+
localStorage.setItem("theme", "light");
109+
}
110+
class DarkLightMode extends HTMLElement {
111+
constructor() {
112+
super();
113+
}
114+
115+
connectedCallback() {
116+
const shadowRoot = this.attachShadow({ mode: "closed" });
117+
shadowRoot.appendChild(template.content.cloneNode(true));
118+
119+
const themeMedia = window.matchMedia("(prefers-color-scheme: dark)");
120+
const toggle = shadowRoot.querySelector(".toggle");
121+
122+
if (localStorage.theme === "dark") {
123+
turnDark();
124+
} else if (localStorage.theme === "light") {
125+
toggle.classList.toggle("dark");
126+
turnLight();
127+
} else if (themeMedia.matches) {
128+
document.documentElement.classList.add("dark");
129+
}
130+
131+
toggle.addEventListener("click", (e) => {
132+
toggle.classList.toggle("dark");
133+
134+
if (toggle.classList.contains("dark")) {
135+
turnLight();
136+
} else {
137+
turnDark();
138+
}
139+
});
140+
}
141+
}
142+
143+
customElements.define("dark-light-mode", DarkLightMode);

docsearch.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// {
2+
// "index_name": "quark-design-hellobike",
3+
// "start_urls": ["https://quark-design.hellobike.com/#/en-US/component/button"],
4+
// "selectors": {
5+
// "lvl0": {
6+
// "selector": "",
7+
// "default_value": "Documentation"
8+
// },
9+
// "lvl1": ".markdown-body h1"
10+
// },
11+
// "rateLimit": 8,
12+
// "maxDepth": 10
13+
// }

index.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta content="telephone=no" name="format-detection" />
6+
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
7+
<link rel="shortcut icon" href="./src/assets/images/favicon.ico" type="image/x-icon"/>
8+
<title>Quark Design - 下一代浏览器原生组件库,它可以同时在任意框架或无框架中使用。</title>
9+
<meta name="keywords" content="quarkd、quark design、web components、webcomponents、组件库、跨技术栈、跨技术栈组件库、customelement、custom element、移动端组件库">
10+
<meta name="description" content="基于 Quark Design 设计体系的跨技术栈移动端组件库。">
11+
<script type="module" src="./dark-light-mode.mjs"></script>
12+
</head>
13+
<body>
14+
<div id="doc"></div>
15+
<script type="module" src="./src/docs_react/main.ts"></script>
16+
</body>
17+
</html>

jest.config.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
module.exports = {
2+
moduleFileExtensions: ["vue", "js", "ts"],
3+
preset: "ts-jest",
4+
testEnvironment: "jsdom",
5+
transform: {
6+
"^.+\\.vue$": "vue-jest", // vue 文件用 vue-jest 转换
7+
"^.+\\.ts$": "ts-jest", // ts 文件用 ts-jest 转换
8+
},
9+
// 匹配 __tests__ 目录下的 .js/.ts 文件 或其他目录下的 xx.test.js/ts xx.spec.js/ts
10+
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.(ts)$",
11+
//testRegex: '__tests__.action.spec.ts',
12+
// 支持源代码中相同的 `@` -> `src` 别名
13+
moduleNameMapper: {
14+
"^@/(.*)$": "<rootDir>/src/$1",
15+
},
16+
};

0 commit comments

Comments
 (0)