da-style 0.0.12 → 0.1.2
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.
- package/README.md +225 -93
- package/dist/da-style.css +2 -0
- package/dist/da-style.js +2 -0
- package/dist/da-style.mjs +704 -0
- package/dist/src/components/Button/DButton.types.d.ts +23 -0
- package/dist/src/components/Button/DButton.vue.d.ts +29 -0
- package/dist/src/components/Button/index.d.ts +4 -0
- package/dist/src/components/Icon/DIcon.types.d.ts +12 -0
- package/dist/src/components/Icon/DIcon.vue.d.ts +8 -0
- package/dist/src/components/Icon/icons.d.ts +2 -0
- package/dist/src/components/Icon/index.d.ts +5 -0
- package/dist/src/components/Input/DInput.types.d.ts +17 -0
- package/dist/src/components/Input/DInput.vue.d.ts +45 -0
- package/dist/src/components/Input/index.d.ts +9 -0
- package/dist/src/components/Loading/DLoading.types.d.ts +14 -0
- package/dist/src/components/Loading/DLoading.vue.d.ts +10 -0
- package/dist/src/components/Loading/index.d.ts +8 -0
- package/dist/src/components/Tag/DTag.types.d.ts +22 -0
- package/dist/src/components/Tag/DTag.vue.d.ts +25 -0
- package/dist/src/components/Tag/index.d.ts +9 -0
- package/dist/src/components/index.d.ts +5 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/shared/index.d.ts +3 -0
- package/dist/src/shared/props.d.ts +24 -0
- package/dist/src/shared/types.d.ts +15 -0
- package/dist/src/shared/utils.d.ts +7 -0
- package/dist/src/token/borders.d.ts +41 -0
- package/dist/src/token/colors.d.ts +84 -0
- package/dist/src/token/index.d.ts +20 -0
- package/dist/src/token/inject.d.ts +24 -0
- package/dist/src/token/shadows.d.ts +43 -0
- package/dist/src/token/spacing.d.ts +58 -0
- package/dist/src/token/typography.d.ts +86 -0
- package/package.json +38 -31
- package/lib/index.js +0 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* da-style Typography System
|
|
3
|
+
*
|
|
4
|
+
* Cyberpunk-informed type scale: monospace primary for that
|
|
5
|
+
* hacker/terminal feel, system-ui for headings where readability
|
|
6
|
+
* at large sizes matters.
|
|
7
|
+
*/
|
|
8
|
+
export declare const fontMono = "'Courier New', 'Consolas', 'Source Code Pro', monospace";
|
|
9
|
+
export declare const fontSans = "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif";
|
|
10
|
+
export declare const fontHeading = "system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif";
|
|
11
|
+
export declare const fontBody = "'Courier New', Consolas, monospace";
|
|
12
|
+
export declare const textXs = "12px";
|
|
13
|
+
export declare const textSm = "14px";
|
|
14
|
+
export declare const textBase = "16px";
|
|
15
|
+
export declare const textLg = "18px";
|
|
16
|
+
export declare const textXl = "20px";
|
|
17
|
+
export declare const text2xl = "24px";
|
|
18
|
+
export declare const text3xl = "30px";
|
|
19
|
+
export declare const weightRegular = "400";
|
|
20
|
+
export declare const weightMedium = "500";
|
|
21
|
+
export declare const weightSemibold = "600";
|
|
22
|
+
export declare const weightBold = "700";
|
|
23
|
+
export declare const leadingTight = "1.2";
|
|
24
|
+
export declare const leadingNormal = "1.5";
|
|
25
|
+
export declare const leadingRelaxed = "1.75";
|
|
26
|
+
export declare const trackingTight = "-0.02em";
|
|
27
|
+
export declare const trackingNormal = "0";
|
|
28
|
+
export declare const trackingWide = "0.08em";
|
|
29
|
+
export declare const cssVars: {
|
|
30
|
+
readonly font: {
|
|
31
|
+
readonly mono: "--d-font-mono";
|
|
32
|
+
readonly sans: "--d-font-sans";
|
|
33
|
+
readonly heading: "--d-font-heading";
|
|
34
|
+
readonly body: "--d-font-body";
|
|
35
|
+
};
|
|
36
|
+
readonly size: {
|
|
37
|
+
readonly xs: "--d-text-xs";
|
|
38
|
+
readonly sm: "--d-text-sm";
|
|
39
|
+
readonly base: "--d-text-base";
|
|
40
|
+
readonly lg: "--d-text-lg";
|
|
41
|
+
readonly xl: "--d-text-xl";
|
|
42
|
+
readonly '2xl': "--d-text-2xl";
|
|
43
|
+
readonly '3xl': "--d-text-3xl";
|
|
44
|
+
};
|
|
45
|
+
readonly weight: {
|
|
46
|
+
readonly regular: "--d-weight-regular";
|
|
47
|
+
readonly medium: "--d-weight-medium";
|
|
48
|
+
readonly semibold: "--d-weight-semibold";
|
|
49
|
+
readonly bold: "--d-weight-bold";
|
|
50
|
+
};
|
|
51
|
+
readonly leading: {
|
|
52
|
+
readonly tight: "--d-leading-tight";
|
|
53
|
+
readonly normal: "--d-leading-normal";
|
|
54
|
+
readonly relaxed: "--d-leading-relaxed";
|
|
55
|
+
};
|
|
56
|
+
readonly tracking: {
|
|
57
|
+
readonly tight: "--d-tracking-tight";
|
|
58
|
+
readonly normal: "--d-tracking-normal";
|
|
59
|
+
readonly wide: "--d-tracking-wide";
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export interface TypographyTokens {
|
|
63
|
+
fontMono: string;
|
|
64
|
+
fontSans: string;
|
|
65
|
+
fontHeading: string;
|
|
66
|
+
fontBody: string;
|
|
67
|
+
textXs: string;
|
|
68
|
+
textSm: string;
|
|
69
|
+
textBase: string;
|
|
70
|
+
textLg: string;
|
|
71
|
+
textXl: string;
|
|
72
|
+
text2xl: string;
|
|
73
|
+
text3xl: string;
|
|
74
|
+
weightRegular: string;
|
|
75
|
+
weightMedium: string;
|
|
76
|
+
weightSemibold: string;
|
|
77
|
+
weightBold: string;
|
|
78
|
+
leadingTight: string;
|
|
79
|
+
leadingNormal: string;
|
|
80
|
+
leadingRelaxed: string;
|
|
81
|
+
trackingTight: string;
|
|
82
|
+
trackingNormal: string;
|
|
83
|
+
trackingWide: string;
|
|
84
|
+
}
|
|
85
|
+
/** All typography tokens as a flat object */
|
|
86
|
+
export declare const typography: TypographyTokens;
|
package/package.json
CHANGED
|
@@ -1,31 +1,38 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "da-style",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
"build": "
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "da-style",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "赛博朋克风格 Vue3 组件库",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"private": false,
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"author": "da",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "vite",
|
|
11
|
+
"build": "vue-tsc --noEmit && vite build",
|
|
12
|
+
"preview": "vite preview",
|
|
13
|
+
"docs:dev": "vitepress dev docs",
|
|
14
|
+
"docs:build": "vitepress build docs",
|
|
15
|
+
"test": "vitest",
|
|
16
|
+
"test:run": "vitest run",
|
|
17
|
+
"test:watch": "vitest",
|
|
18
|
+
"typecheck": "vue-tsc --noEmit"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"README.md"
|
|
23
|
+
],
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"vue": "^3.5.38"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@vitejs/plugin-vue": "^6.0.7",
|
|
29
|
+
"@vue/test-utils": "^2.4.11",
|
|
30
|
+
"jsdom": "^29.1.1",
|
|
31
|
+
"typescript": "^6.0.3",
|
|
32
|
+
"vite": "^8.0.16",
|
|
33
|
+
"vite-plugin-dts": "^5.0.2",
|
|
34
|
+
"vitepress": "^1.6.4",
|
|
35
|
+
"vitest": "^4.1.9",
|
|
36
|
+
"vue-tsc": "^3.3.5"
|
|
37
|
+
}
|
|
38
|
+
}
|
package/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{defineComponent as r,openBlock as t,createElementBlock as n,normalizeClass as o,renderSlot as a,pushScopeId as e,popScopeId as d,createElementVNode as c,Fragment as l,renderList as i}from"vue";var s=r({name:"DBtn",props:{type:String}});function b(r,t){void 0===t&&(t={});var n=t.insertAt;if(r&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=r:a.appendChild(document.createTextNode(r))}}b('\nbutton[data-v-5ac4ea34] {\r\n\t/*背景颜色*/\r\n\t--d-bg-color: #ccc;\r\n\t/*文字颜色*/\r\n\t--d-text-color: #fff;\r\n\t/*边框样式*/\r\n\t--d-border: 4px solid var(--d-bg-color);\r\n\t/*鼠标悬浮边框样式*/\r\n\t--d-hover-border: 4px solid var(--d-hover-color);\r\n\t/*按钮点击颜色*/\r\n\t--d-active-color: var(--d-bg-color);\r\n\t/*鼠标悬浮颜色*/\r\n\t--d-hover-color: rgba(0, 0, 0, 0.5);\r\n\tmargin: 0.5rem;\r\n\toutline: none;\r\n\tbackground: var(--d-bg-color);\r\n\tcolor: var(--d-text-color);\r\n\tborder-radius: 0.2rem;\r\n\tpadding: 0.3rem 1rem;\r\n\tfont-weight: bold;\r\n\ttransition: 0.25s all ease-in-out;\r\n\tcursor: pointer;\r\n\tborder: none;\r\n\tposition: relative;\r\n\tbox-shadow: 1px 1px 1px var(--d-bg-color), -1px -1px 1px var(--d-bg-color);\n}\nbutton[data-v-5ac4ea34]::before,\r\nbutton[data-v-5ac4ea34]::after {\r\n\tcontent: "";\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder-radius: inherit;\r\n\tposition: absolute;\r\n\tbackground: transparent;\r\n\tvisibility: hidden;\r\n\ttransition: 0.1s all ease-in-out;\n}\nbutton[data-v-5ac4ea34]::before {\r\n\ttop: -5px;\r\n\tleft: -5px;\r\n\tborder-top: var(--d-border);\r\n\tborder-left: var(--d-border);\n}\nbutton[data-v-5ac4ea34]::after {\r\n\tbottom: -5px;\r\n\tright: -5px;\r\n\tbackground: transparent;\r\n\tborder-right: var(--d-border);\r\n\tborder-bottom: var(--d-border);\n}\nbutton[data-v-5ac4ea34]:hover {\r\n\tbackground: var(--d-hover-color);\n}\nbutton[data-v-5ac4ea34]:hover::before {\r\n\tborder-top: var(--d-hover-border);\r\n\tborder-left: var(--d-hover-border);\r\n\tvisibility: visible;\n}\nbutton[data-v-5ac4ea34]:hover::after {\r\n\tborder-right: var(--d-hover-border);\r\n\tborder-bottom: var(--d-hover-border);\r\n\tvisibility: visible;\n}\nbutton[data-v-5ac4ea34]:active {\r\n\tbackground: var(--d-active-color);\r\n\tcolor: var(--d-text-color);\n}\n.info[data-v-5ac4ea34] {\r\n\t--d-bg-color: #3498db;\r\n\t--d-hover-color: #2980b9;\n}\n.success[data-v-5ac4ea34] {\r\n\t--d-bg-color: #2ecc71;\r\n\t--d-hover-color: #27ae60;\n}\n.err[data-v-5ac4ea34] {\r\n\t--d-bg-color: #e74c3c;\r\n\t--d-hover-color: #c0392b;\n}\n.warn[data-v-5ac4ea34] {\r\n\t--d-bg-color: #f1c40f;\r\n\t--d-hover-color: #f39c12;\n}\r\n'),s.render=function(r,e,d,c,l,i){return t(),n("button",{class:o(r.type)},[a(r.$slots,"default")],2)},s.__scopeId="data-v-5ac4ea34",s.__file="packages/DBtn/src/DBtn.vue",s.install=function(r){r.component(s.name,s)};var v=r({name:"DInput",props:{type:String}});const u=["type"];b("\ninput[data-v-457377a6] {\r\n --d-border-color: rgba(0, 0, 0, 0.7);\r\n --d-text-color: #3498db;\r\n outline: none;\r\n border: none;\r\n padding: 0.5rem;\r\n margin: 0.5rem;\r\n border-radius: 0.2rem;\r\n font-weight: bold;\r\n box-shadow: 1px 1px 1px var(--d-border-color),\r\n -1px -1px 1px var(--d-border-color);\n}\ninput[data-v-457377a6]:active,\r\ninput[data-v-457377a6]:hover {\r\n --d-border-color: var(--d-text-color);\r\n caret-color: var(--d-text-color);\n}\r\n"),v.render=function(r,o,a,e,d,c){return t(),n("input",{type:r.type,spellcheck:"false"},null,8,u)},v.__scopeId="data-v-457377a6",v.__file="packages/DInput/src/DInput.vue",v.install=function(r){r.component(v.name,v)};var p=r({name:"DButton",props:{type:String}});const f=(r=>(e("data-v-90ab4c44"),r=r(),d(),r))((()=>c("span",null,null,-1)));b('\nbutton[data-v-90ab4c44] {\r\n\t--d-color: royalblue;\r\n\toverflow: hidden;\r\n\tbox-sizing: border-box;\r\n\tborder: none;\r\n\tposition: relative;\r\n\tpadding: 0.3rem 1rem;\r\n\tmargin: .3rem;\r\n\tfont-size: 1.1rem;\r\n\tcursor: pointer;\r\n\tuser-select: none;\r\n\tbackground-color: transparent;\r\n\tcolor: var(--d-color);\n}\nbutton span[data-v-90ab4c44] {\r\n\tbox-sizing: border-box;\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground-color: transparent;\r\n\tz-index: -1;\r\n\tborder: 4px solid var(--d-color);\n}\nbutton span[data-v-90ab4c44]::before {\r\n\tcontent: "";\r\n\tposition: absolute;\r\n\twidth: 8%;\r\n\theight: 500%;\r\n\tbackground-color: white;\r\n\ttop: 50%;\r\n\tleft: 50%;\r\n\ttransform: translate(-50%, -50%) rotate(-60deg);\r\n\ttransition: 0.25s all;\n}\nbutton:hover span[data-v-90ab4c44]::before,\r\nbutton:focus span[data-v-90ab4c44]::before {\r\n\ttransform: translate(-50%, -50%) rotate(-90deg);\r\n\twidth: 100%;\r\n\tbackground: var(--d-color);\n}\nbutton[data-v-90ab4c44]:hover,\r\nbutton[data-v-90ab4c44]:focus {\r\n\tcolor: white;\n}\n.info[data-v-90ab4c44] {\r\n\t--d-color: #3498db;\n}\n.err[data-v-90ab4c44] {\r\n\t--d-color: #e74c3c;\n}\n.warn[data-v-90ab4c44] {\r\n\t--d-color: #f1c40f;\n}\n.success[data-v-90ab4c44] {\r\n\t--d-color: #2ecc71;\n}\r\n'),p.render=function(r,e,d,c,l,i){return t(),n("button",{class:o(r.type)},[a(r.$slots,"default"),f],2)},p.__scopeId="data-v-90ab4c44",p.__file="packages/DButton/src/DButton.vue",p.install=function(r){r.component(p.name,p)};var m=r({name:"DFalls",props:{data:Array}});const h={class:"falls"},x={class:"box"},g=["src"];b("\n.falls[data-v-6cd592e6] {\r\n\tdisplay: flex;\r\n\tjustify-content: center;\n}\n.box[data-v-6cd592e6] {\r\n\tmax-width: 1300px;\r\n\tcolumn-count: 5;\r\n\tcolumn-gap: 15px;\n}\n.box div[data-v-6cd592e6] {\r\n\tmargin-bottom: 1rem;\n}\n.box div img[data-v-6cd592e6] {\r\n\twidth: 100%;\n}\n@media (max-width: 1200px) {\n.box[data-v-6cd592e6] {\r\n\t\tcolumn-count: 4;\n}\n}\n@media (max-width: 850px) {\n.box[data-v-6cd592e6] {\r\n\t\tcolumn-count: 3;\n}\n}\n@media (max-width: 600px) {\n.box[data-v-6cd592e6] {\r\n\t\tcolumn-count: 2;\n}\n}\r\n"),m.render=function(r,o,a,e,d,s){return t(),n("div",h,[c("div",x,[(t(!0),n(l,null,i(r.data,(r=>(t(),n("div",{key:r},[c("img",{src:r},null,8,g)])))),128))])])},m.__scopeId="data-v-6cd592e6",m.__file="packages/DFalls/src/DFalls.vue",m.install=function(r){r.component(m.name,m)};const y=[s,v,p,m];var w={install:r=>{y.forEach((t=>r.component(t.name,t)))},...y};export{s as DBtn,p as DButton,m as DFalls,v as DInput,w as default};
|