hp-design-system 1.0.1 → 1.0.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/dist/assets/fonts/Quicksand-Bold.ttf +0 -0
- package/dist/assets/fonts/Quicksand-Light.ttf +0 -0
- package/dist/assets/fonts/Quicksand-Medium.ttf +0 -0
- package/dist/assets/fonts/Quicksand-Regular.ttf +0 -0
- package/dist/assets/fonts/Quicksand-SemiBold.ttf +0 -0
- package/dist/assets/icons/AA0010.svg +24 -0
- package/dist/assets/icons/AA0020.svg +22 -0
- package/dist/assets/icons/AA0030.svg +6 -0
- package/dist/assets/icons/AA0040.svg +20 -0
- package/dist/assets/icons/AA0050.svg +20 -0
- package/dist/assets/icons/AA0060.svg +29 -0
- package/dist/assets/icons/AA0070.svg +28 -0
- package/dist/assets/icons/AB0010.svg +24 -0
- package/dist/assets/icons/AB0020.svg +24 -0
- package/dist/assets/icons/AB0030.svg +2 -0
- package/dist/assets/icons/AB0040.svg +24 -0
- package/dist/assets/icons/AB0050.svg +37 -0
- package/dist/assets/icons/AC0010.svg +20 -0
- package/dist/assets/icons/AC0020.svg +25 -0
- package/dist/assets/icons/AC0030.svg +22 -0
- package/dist/assets/icons/AC0040.svg +20 -0
- package/dist/assets/icons/AD0010.svg +25 -0
- package/dist/assets/icons/AD0020.svg +2 -0
- package/dist/assets/icons/AD0030.svg +22 -0
- package/dist/assets/icons/AD0040.svg +27 -0
- package/dist/assets/icons/AD0050.svg +30 -0
- package/dist/assets/icons/AE0010.svg +22 -0
- package/dist/assets/icons/AE0020.svg +26 -0
- package/dist/assets/icons/AE0030.svg +20 -0
- package/dist/assets/icons/AE0040.svg +25 -0
- package/dist/assets/icons/AE0050.svg +12 -0
- package/dist/assets/icons/AE0060.svg +24 -0
- package/dist/assets/icons/AE0070.svg +23 -0
- package/dist/assets/icons/BA0010.svg +2 -0
- package/dist/assets/icons/BA0020.svg +2 -0
- package/dist/assets/icons/BA0030.svg +2 -0
- package/dist/assets/icons/BA0031.svg +2 -0
- package/dist/assets/icons/BA0040.svg +4 -0
- package/dist/assets/icons/BA0050.svg +4 -0
- package/dist/assets/icons/BB0010.svg +2 -0
- package/dist/assets/icons/BB0011.svg +2 -0
- package/dist/assets/icons/BB0012.svg +2 -0
- package/dist/assets/icons/BB0013.svg +2 -0
- package/dist/assets/icons/BB0020.svg +2 -0
- package/dist/assets/icons/BB0021.svg +2 -0
- package/dist/assets/icons/BB0022.svg +2 -0
- package/dist/assets/icons/BB0023.svg +2 -0
- package/dist/assets/icons/BB0030.svg +2 -0
- package/dist/assets/icons/BB0031.svg +2 -0
- package/dist/assets/icons/BB0032.svg +2 -0
- package/dist/assets/icons/BB0033.svg +2 -0
- package/dist/assets/icons/BB0040.svg +2 -0
- package/dist/assets/icons/BB0041.svg +2 -0
- package/dist/assets/icons/BB0042.svg +2 -0
- package/dist/assets/icons/BB0043.svg +2 -0
- package/dist/assets/icons/BB0050.svg +2 -0
- package/dist/assets/icons/BB0051.svg +2 -0
- package/dist/assets/icons/BB0052.svg +2 -0
- package/dist/assets/icons/BB0053.svg +2 -0
- package/dist/assets/icons/BB0060.svg +2 -0
- package/dist/assets/icons/BB0061.svg +2 -0
- package/dist/assets/icons/BB0062.svg +2 -0
- package/dist/assets/icons/BB0063.svg +2 -0
- package/dist/assets/icons/BB0070.svg +2 -0
- package/dist/assets/icons/BB0071.svg +2 -0
- package/dist/assets/icons/BB0072.svg +2 -0
- package/dist/assets/icons/BB0073.svg +2 -0
- package/dist/assets/icons/BB0080.svg +2 -0
- package/dist/assets/icons/BB0081.svg +2 -0
- package/dist/assets/icons/BB0082.svg +2 -0
- package/dist/assets/icons/BB0083.svg +2 -0
- package/dist/assets/icons/BB0090.svg +2 -0
- package/dist/assets/icons/BB0091.svg +2 -0
- package/dist/assets/icons/BB0092.svg +2 -0
- package/dist/assets/icons/BB0093.svg +2 -0
- package/dist/assets/icons/BB0100.svg +2 -0
- package/dist/assets/icons/BB0101.svg +2 -0
- package/dist/assets/icons/BB0102.svg +2 -0
- package/dist/assets/icons/BB0103.svg +2 -0
- package/dist/assets/icons/BB0110.svg +2 -0
- package/dist/assets/icons/BB0111.svg +2 -0
- package/dist/assets/icons/BB0112.svg +2 -0
- package/dist/assets/icons/BB0113.svg +2 -0
- package/dist/assets/icons/BB0120.svg +2 -0
- package/dist/assets/icons/BB0121.svg +2 -0
- package/dist/assets/icons/BB0122.svg +2 -0
- package/dist/assets/icons/BB0123.svg +2 -0
- package/dist/assets/icons/BB0130.svg +2 -0
- package/dist/assets/icons/BB0131.svg +2 -0
- package/dist/assets/icons/BB0132.svg +2 -0
- package/dist/assets/icons/BB0133.svg +2 -0
- package/dist/assets/icons/BB0140.svg +2 -0
- package/dist/assets/icons/BB0141.svg +2 -0
- package/dist/assets/icons/BB0142.svg +2 -0
- package/dist/assets/icons/BB0143.svg +2 -0
- package/dist/assets/icons/BB0150.svg +2 -0
- package/dist/assets/icons/BB0151.svg +2 -0
- package/dist/assets/icons/BB0152.svg +2 -0
- package/dist/assets/icons/BB0153.svg +2 -0
- package/dist/assets/icons/BB0160.svg +2 -0
- package/dist/assets/icons/BB0161.svg +2 -0
- package/dist/assets/icons/BB0162.svg +2 -0
- package/dist/assets/icons/BB0163.svg +2 -0
- package/dist/assets/icons/BC0010.svg +2 -0
- package/dist/assets/icons/BC0011.svg +2 -0
- package/dist/assets/icons/BC0012.svg +1 -0
- package/dist/assets/icons/BC0013.svg +2 -0
- package/dist/assets/icons/BC0014.svg +2 -0
- package/dist/assets/icons/BC0015.svg +4 -0
- package/dist/assets/icons/BC0016.svg +4 -0
- package/dist/assets/icons/BC0017.svg +4 -0
- package/dist/assets/icons/BC0018.svg +4 -0
- package/dist/assets/icons/BC0019.svg +1 -0
- package/dist/assets/icons/BC0020.svg +2 -0
- package/dist/assets/icons/BC0021.svg +4 -0
- package/dist/assets/icons/BD0010.svg +2 -0
- package/dist/assets/icons/BD0020.svg +2 -0
- package/dist/assets/icons/BD0030.svg +2 -0
- package/dist/assets/icons/BD0040.svg +2 -0
- package/dist/assets/icons/BD0043.svg +1 -0
- package/dist/assets/icons/BD0050.svg +2 -0
- package/dist/assets/icons/BD0051.svg +2 -0
- package/dist/assets/icons/BD0060.svg +2 -0
- package/dist/assets/icons/BD0070.svg +2 -0
- package/dist/assets/icons/BD0071.svg +2 -0
- package/dist/assets/icons/BD0080.svg +2 -0
- package/dist/assets/icons/BD0081.svg +4 -0
- package/dist/assets/icons/BD0082.svg +2 -0
- package/dist/assets/icons/BD0090.svg +4 -0
- package/dist/assets/icons/BD0100.svg +2 -0
- package/dist/assets/icons/BD0110.svg +2 -0
- package/dist/assets/icons/BD0120.svg +1 -0
- package/dist/assets/icons/BD0130.svg +2 -0
- package/dist/assets/icons/BE0010.svg +2 -0
- package/dist/assets/icons/BE0011.svg +2 -0
- package/dist/assets/icons/BE0012.svg +2 -0
- package/dist/assets/icons/BE0013.svg +2 -0
- package/dist/assets/icons/BE0020.svg +2 -0
- package/dist/assets/icons/BE0030.svg +2 -0
- package/dist/assets/icons/BE0031.svg +2 -0
- package/dist/assets/icons/BE0032.svg +2 -0
- package/dist/assets/icons/BE0033.svg +2 -0
- package/dist/assets/icons/BE0040.svg +2 -0
- package/dist/assets/icons/BE0041.svg +2 -0
- package/dist/assets/icons/BE0042.svg +2 -0
- package/dist/assets/icons/BE0043.svg +1 -0
- package/dist/assets/icons/BE0050.svg +2 -0
- package/dist/assets/icons/BE0051.svg +2 -0
- package/dist/assets/icons/BE0052.svg +2 -0
- package/dist/assets/icons/BE0053.svg +2 -0
- package/dist/assets/icons/BE0060.svg +2 -0
- package/dist/assets/icons/BE0070.svg +2 -0
- package/dist/assets/icons/BE0080.svg +2 -0
- package/dist/assets/icons/BE0090.svg +2 -0
- package/dist/assets/icons/BE0100.svg +2 -0
- package/dist/assets/icons/BE0110.svg +2 -0
- package/dist/assets/icons/BE0120.svg +2 -0
- package/dist/assets/icons/BE0130.svg +2 -0
- package/dist/assets/icons/BE0140.svg +2 -0
- package/dist/assets/icons/BE0150.svg +2 -0
- package/dist/assets/icons/BF0010.svg +2 -0
- package/dist/assets/icons/BF0011.svg +2 -0
- package/dist/assets/icons/BF0020.svg +2 -0
- package/dist/assets/icons/BF0021.svg +2 -0
- package/dist/assets/icons/BF0030.svg +2 -0
- package/dist/assets/icons/BF0031.svg +2 -0
- package/dist/assets/icons/BF0040.svg +2 -0
- package/dist/assets/icons/BF0050.svg +2 -0
- package/dist/assets/icons/BF0060.svg +2 -0
- package/dist/assets/icons/BF0061.svg +2 -0
- package/dist/assets/icons/BF0070.svg +2 -0
- package/dist/assets/icons/BF0080.svg +2 -0
- package/dist/assets/icons/BF0090.svg +2 -0
- package/dist/assets/icons/BF0100.svg +2 -0
- package/dist/assets/icons/BG0010.svg +2 -0
- package/dist/assets/icons/BG0011.svg +2 -0
- package/dist/assets/icons/BG0020.svg +2 -0
- package/dist/assets/icons/BG0030.svg +1 -0
- package/dist/assets/icons/BG0040.svg +1 -0
- package/dist/assets/icons/BG0050.svg +1 -0
- package/dist/assets/icons/BG0060.svg +2 -0
- package/dist/assets/icons/BG0070.svg +2 -0
- package/dist/assets/icons/CA0010.svg +9 -0
- package/dist/assets/icons/CA0020.svg +9 -0
- package/dist/assets/icons/CA0030.svg +9 -0
- package/dist/assets/icons/CA0040.svg +9 -0
- package/dist/assets/icons/CA0050.svg +9 -0
- package/dist/assets/icons/CA0060.svg +9 -0
- package/dist/assets/icons/CA0070.svg +9 -0
- package/dist/assets/icons/CA0080.svg +9 -0
- package/dist/assets/icons/CA0090.svg +9 -0
- package/dist/assets/icons/CA0100.svg +9 -0
- package/dist/assets/icons/CA0110.svg +9 -0
- package/dist/assets/icons/CA0120.svg +9 -0
- package/dist/assets/icons/CA0130.svg +9 -0
- package/dist/assets/icons/icons.json +192 -0
- package/dist/hp-design-system.es.js +255 -13
- package/dist/style.css +1 -0
- package/dist/types/components/button/Button.stories.d.ts +2 -2
- package/dist/types/components/button/Button.vue.d.ts +72 -4
- package/dist/types/components/icons/Icon/Icon.stories.d.ts +8 -0
- package/dist/types/components/icons/Icon/Icon.vue.d.ts +11 -0
- package/dist/types/components/icons/iconList/IconList.stories.d.ts +7 -0
- package/dist/types/components/icons/iconList/IconList.vue.d.ts +7 -0
- package/dist/types/components/icons/iconList/components/IconListButton.vue.d.ts +58 -0
- package/dist/types/components/index.d.ts +4 -1
- package/dist/types/components/inputs/checkbox/Checkbox.stories.d.ts +10 -0
- package/dist/types/components/inputs/checkbox/Checkbox.vue.d.ts +46 -0
- package/dist/types/components/teste/Teste.stories.d.ts +37 -0
- package/dist/types/components/teste/Teste.vue.d.ts +146 -0
- package/dist/types/main.d.ts +1 -0
- package/dist/types/views/tokens/Colors.d.ts +7 -0
- package/dist/types/views/tokens/Sizes.vue.d.ts +2 -0
- package/package.json +21 -6
- package/src/App.vue +26 -3
- package/src/assets/main.scss +10 -17
- package/src/assets/themes.scss +21 -0
- package/src/components/button/Button.stories.ts +21 -22
- package/src/components/button/Button.vue +93 -4
- package/src/components/icons/Icon/Icon.stories.ts +68 -0
- package/src/components/icons/Icon/Icon.vue +59 -0
- package/src/components/icons/iconList/IconList.stories.ts +51 -0
- package/src/components/icons/iconList/IconList.vue +172 -0
- package/src/components/icons/iconList/components/IconListButton.vue +71 -0
- package/src/components/index.ts +4 -1
- package/src/components/inputs/checkbox/Checkbox.scss +91 -0
- package/src/components/inputs/checkbox/Checkbox.stories.ts +100 -0
- package/src/components/inputs/checkbox/Checkbox.vue +53 -0
- package/src/components/teste/Teste.stories.ts +214 -0
- package/src/components/teste/Teste.vue +96 -0
- package/src/main.ts +2 -1
- package/src/shims-vue.d.ts +5 -0
- package/src/style.css +33 -67
- package/src/views/tokens/Colors.ts +7 -0
- package/src/views/tokens/Sizes.vue +0 -0
- package/dist/vite.svg +0 -1
@@ -0,0 +1,146 @@
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
2
|
+
textProp: {
|
3
|
+
type: StringConstructor;
|
4
|
+
default: string;
|
5
|
+
};
|
6
|
+
booleanProp: {
|
7
|
+
type: BooleanConstructor;
|
8
|
+
default: boolean;
|
9
|
+
};
|
10
|
+
numberProp: {
|
11
|
+
type: NumberConstructor;
|
12
|
+
default: number;
|
13
|
+
};
|
14
|
+
rangeProp: {
|
15
|
+
type: NumberConstructor;
|
16
|
+
default: number;
|
17
|
+
};
|
18
|
+
radioProp: {
|
19
|
+
type: StringConstructor;
|
20
|
+
default: string;
|
21
|
+
};
|
22
|
+
inlineRadioProp: {
|
23
|
+
type: StringConstructor;
|
24
|
+
default: string;
|
25
|
+
};
|
26
|
+
checkProp: {
|
27
|
+
type: ArrayConstructor;
|
28
|
+
default: () => string[];
|
29
|
+
};
|
30
|
+
inlineCheckProp: {
|
31
|
+
type: ArrayConstructor;
|
32
|
+
default: () => string[];
|
33
|
+
};
|
34
|
+
selectProp: {
|
35
|
+
type: StringConstructor;
|
36
|
+
default: string;
|
37
|
+
};
|
38
|
+
multiSelectProp: {
|
39
|
+
type: ArrayConstructor;
|
40
|
+
default: () => string[];
|
41
|
+
};
|
42
|
+
objectProp: {
|
43
|
+
type: ObjectConstructor;
|
44
|
+
default: () => {
|
45
|
+
key1: string;
|
46
|
+
key2: string;
|
47
|
+
};
|
48
|
+
};
|
49
|
+
arrayProp: {
|
50
|
+
type: ArrayConstructor;
|
51
|
+
default: () => string[];
|
52
|
+
};
|
53
|
+
colorProp: {
|
54
|
+
type: StringConstructor;
|
55
|
+
default: string;
|
56
|
+
};
|
57
|
+
dateProp: {
|
58
|
+
type: StringConstructor;
|
59
|
+
default: string;
|
60
|
+
};
|
61
|
+
fileProp: {
|
62
|
+
type: ObjectConstructor;
|
63
|
+
default: null;
|
64
|
+
};
|
65
|
+
}, any, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
66
|
+
textProp: {
|
67
|
+
type: StringConstructor;
|
68
|
+
default: string;
|
69
|
+
};
|
70
|
+
booleanProp: {
|
71
|
+
type: BooleanConstructor;
|
72
|
+
default: boolean;
|
73
|
+
};
|
74
|
+
numberProp: {
|
75
|
+
type: NumberConstructor;
|
76
|
+
default: number;
|
77
|
+
};
|
78
|
+
rangeProp: {
|
79
|
+
type: NumberConstructor;
|
80
|
+
default: number;
|
81
|
+
};
|
82
|
+
radioProp: {
|
83
|
+
type: StringConstructor;
|
84
|
+
default: string;
|
85
|
+
};
|
86
|
+
inlineRadioProp: {
|
87
|
+
type: StringConstructor;
|
88
|
+
default: string;
|
89
|
+
};
|
90
|
+
checkProp: {
|
91
|
+
type: ArrayConstructor;
|
92
|
+
default: () => string[];
|
93
|
+
};
|
94
|
+
inlineCheckProp: {
|
95
|
+
type: ArrayConstructor;
|
96
|
+
default: () => string[];
|
97
|
+
};
|
98
|
+
selectProp: {
|
99
|
+
type: StringConstructor;
|
100
|
+
default: string;
|
101
|
+
};
|
102
|
+
multiSelectProp: {
|
103
|
+
type: ArrayConstructor;
|
104
|
+
default: () => string[];
|
105
|
+
};
|
106
|
+
objectProp: {
|
107
|
+
type: ObjectConstructor;
|
108
|
+
default: () => {
|
109
|
+
key1: string;
|
110
|
+
key2: string;
|
111
|
+
};
|
112
|
+
};
|
113
|
+
arrayProp: {
|
114
|
+
type: ArrayConstructor;
|
115
|
+
default: () => string[];
|
116
|
+
};
|
117
|
+
colorProp: {
|
118
|
+
type: StringConstructor;
|
119
|
+
default: string;
|
120
|
+
};
|
121
|
+
dateProp: {
|
122
|
+
type: StringConstructor;
|
123
|
+
default: string;
|
124
|
+
};
|
125
|
+
fileProp: {
|
126
|
+
type: ObjectConstructor;
|
127
|
+
default: null;
|
128
|
+
};
|
129
|
+
}>>, {
|
130
|
+
textProp: string;
|
131
|
+
booleanProp: boolean;
|
132
|
+
numberProp: number;
|
133
|
+
rangeProp: number;
|
134
|
+
radioProp: string;
|
135
|
+
inlineRadioProp: string;
|
136
|
+
checkProp: unknown[];
|
137
|
+
inlineCheckProp: unknown[];
|
138
|
+
selectProp: string;
|
139
|
+
multiSelectProp: unknown[];
|
140
|
+
objectProp: Record<string, any>;
|
141
|
+
arrayProp: unknown[];
|
142
|
+
colorProp: string;
|
143
|
+
dateProp: string;
|
144
|
+
fileProp: Record<string, any>;
|
145
|
+
}, {}>;
|
146
|
+
export default _default;
|
package/dist/types/main.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "hp-design-system",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.2",
|
4
4
|
"type": "module",
|
5
5
|
"main": "dist/hp-design-system.umd.js",
|
6
6
|
"scripts": {
|
7
7
|
"dev": "vite",
|
8
8
|
"clean:cache": "rmdir /s /q node_modules\\.vite",
|
9
|
+
"generate-icons": "ts-node src/scripts/generateIconList.ts",
|
9
10
|
"build": "rimraf dist && vue-tsc && vite build",
|
10
11
|
"preview": "vite preview",
|
11
12
|
"storybook": "storybook dev -p 6006",
|
@@ -16,7 +17,8 @@
|
|
16
17
|
},
|
17
18
|
"dependencies": {
|
18
19
|
"@vitejs/plugin-vue": "^5.0.5",
|
19
|
-
"vue": "^3.4.
|
20
|
+
"@vue/compiler-sfc": "^3.4.35",
|
21
|
+
"vue": "^3.4.35"
|
20
22
|
},
|
21
23
|
"lint-staged": {
|
22
24
|
"*.{js,vue,ts}": "npm run lint"
|
@@ -42,10 +44,11 @@
|
|
42
44
|
"@types/node": "^20.14.8",
|
43
45
|
"@types/vue": "^2.0.0",
|
44
46
|
"@vue/runtime-dom": "^3.4.30",
|
45
|
-
"eslint
|
46
|
-
"eslint-
|
47
|
+
"eslint": "^7.32.0",
|
48
|
+
"eslint-config-prettier": "^8.10.0",
|
49
|
+
"eslint-plugin-prettier": "^4.2.1",
|
47
50
|
"git-commit-msg-linter": "^2.7.0",
|
48
|
-
"hp-eslint-vue3": "^1.0.
|
51
|
+
"hp-eslint-vue3": "^1.0.20",
|
49
52
|
"husky": "^7.0.4",
|
50
53
|
"lint-staged": "^15.2.7",
|
51
54
|
"prettier": "^3.3.2",
|
@@ -53,8 +56,10 @@
|
|
53
56
|
"rimraf": "^5.0.1",
|
54
57
|
"sass": "^1.63.6",
|
55
58
|
"storybook": "^8.1.10",
|
56
|
-
"
|
59
|
+
"ts-node": "^10.9.2",
|
60
|
+
"typescript": "^5.5.4",
|
57
61
|
"vite": "^5.3.1",
|
62
|
+
"vite-plugin-svg-icons": "^2.0.1",
|
58
63
|
"vue-tsc": "^2.0.21"
|
59
64
|
},
|
60
65
|
"files": [
|
@@ -68,5 +73,15 @@
|
|
68
73
|
"import": "./dist/hp-design-system.es.js"
|
69
74
|
},
|
70
75
|
"./dist/style.css": "./dist/style.css"
|
76
|
+
},
|
77
|
+
"eslintConfig": {
|
78
|
+
"extends": "eslint:recommended",
|
79
|
+
"env": {
|
80
|
+
"browser": true,
|
81
|
+
"node": true
|
82
|
+
},
|
83
|
+
"parserOptions": {
|
84
|
+
"ecmaVersion": 12
|
85
|
+
}
|
71
86
|
}
|
72
87
|
}
|
package/src/App.vue
CHANGED
@@ -1,9 +1,32 @@
|
|
1
1
|
<template>
|
2
|
-
<div
|
3
|
-
|
2
|
+
<div
|
3
|
+
style="
|
4
|
+
display: flex;
|
5
|
+
align-items: center;
|
6
|
+
justify-content: center;
|
7
|
+
height: 100vh;
|
8
|
+
"
|
9
|
+
>
|
10
|
+
<HpButton
|
11
|
+
label="Quero prosseguir"
|
12
|
+
icon="BE0010"
|
13
|
+
color="white"
|
14
|
+
icon-position="right"
|
15
|
+
></HpButton>
|
16
|
+
<!-- <HpCheckbox
|
17
|
+
background-color="red"
|
18
|
+
border-color="green"
|
19
|
+
check-color="yellow"
|
20
|
+
label="TESTE"
|
21
|
+
></HpCheckbox>
|
22
|
+
|
23
|
+
<Icon name="AA0010" size="lg" color="red" />
|
24
|
+
<Icon name="AA0010" size="md" color="green" />
|
25
|
+
<Icon name="AA0010" size="sm" color="blue" /> -->
|
4
26
|
</div>
|
5
27
|
</template>
|
6
28
|
|
7
29
|
<script setup lang="ts">
|
8
|
-
import { HpButton } from './components/index'
|
30
|
+
import { HpButton, HpCheckbox } from './components/index'
|
31
|
+
import Icon from './components/icons/Icon/Icon.vue'
|
9
32
|
</script>
|
package/src/assets/main.scss
CHANGED
@@ -1,17 +1,10 @@
|
|
1
|
-
@font-face {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
.icon-heart:before {
|
12
|
-
content: '\e9da';
|
13
|
-
}
|
14
|
-
|
15
|
-
.global-example {
|
16
|
-
color: red;
|
17
|
-
}
|
1
|
+
// @font-face {
|
2
|
+
// font-family: 'VarelaRound';
|
3
|
+
// src: url('./fonts/Quicksand.ttf') format('truetype');
|
4
|
+
// font-weight: normal;
|
5
|
+
// font-style: normal;
|
6
|
+
// }
|
7
|
+
|
8
|
+
// * {
|
9
|
+
// font-family: 'Quicksand', sans-serif;
|
10
|
+
// }
|
@@ -0,0 +1,21 @@
|
|
1
|
+
// Light Mode Colors
|
2
|
+
$light-background-color: #8f44fd;
|
3
|
+
$light-border-color: #8f44fd;
|
4
|
+
$light-check-color: #f9f9f9;
|
5
|
+
|
6
|
+
// Dark Mode Colors
|
7
|
+
$dark-background-color: #1e1e1e;
|
8
|
+
$dark-border-color: #6f6f6f;
|
9
|
+
$dark-check-color: #ffffff;
|
10
|
+
|
11
|
+
// Default theme variables
|
12
|
+
$background-color: $light-background-color;
|
13
|
+
$border-color: $light-border-color;
|
14
|
+
$check-color: $light-check-color;
|
15
|
+
|
16
|
+
// Dark mode class
|
17
|
+
.dark-mode {
|
18
|
+
$background-color: $dark-background-color;
|
19
|
+
$border-color: $dark-border-color;
|
20
|
+
$check-color: $dark-check-color;
|
21
|
+
}
|
@@ -1,40 +1,39 @@
|
|
1
|
-
|
2
|
-
import
|
3
|
-
import HpButton from "./Button.vue";
|
1
|
+
import type { Meta, StoryFn } from '@storybook/vue3'
|
2
|
+
import HpButton from './Button.vue'
|
4
3
|
|
5
4
|
const meta: Meta = {
|
6
|
-
title:
|
5
|
+
title: 'Componentes/Button',
|
7
6
|
component: HpButton,
|
8
7
|
argTypes: {
|
9
|
-
|
8
|
+
label: {
|
10
9
|
control: {
|
11
|
-
type:
|
10
|
+
type: 'text'
|
12
11
|
},
|
13
12
|
table: {
|
14
|
-
category:
|
13
|
+
category: 'Propriedades',
|
15
14
|
type: {
|
16
|
-
summary:
|
17
|
-
detail:
|
15
|
+
summary: 'string',
|
16
|
+
detail: 'Tipo de texto'
|
18
17
|
},
|
19
|
-
defaultValue: { summary:
|
18
|
+
defaultValue: { summary: 'Label padrão' }
|
20
19
|
},
|
21
|
-
description:
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|
20
|
+
description: 'Texto do botão'
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
25
24
|
|
26
|
-
export default meta
|
25
|
+
export default meta
|
27
26
|
|
28
|
-
const Template: StoryFn<{
|
27
|
+
const Template: StoryFn<{ label: string }> = (args) => ({
|
29
28
|
// Define explicitamente o tipo de args
|
30
29
|
components: { HpButton },
|
31
30
|
setup() {
|
32
|
-
return { args }
|
31
|
+
return { args }
|
33
32
|
},
|
34
|
-
template: '<HpButton :
|
35
|
-
})
|
33
|
+
template: '<HpButton :label="args.label" />'
|
34
|
+
})
|
36
35
|
|
37
|
-
export const Example = Template.bind({})
|
36
|
+
export const Example = Template.bind({})
|
38
37
|
Example.args = {
|
39
|
-
|
40
|
-
}
|
38
|
+
label: 'Label'
|
39
|
+
}
|
@@ -1,11 +1,100 @@
|
|
1
1
|
<template>
|
2
|
-
<button
|
2
|
+
<button
|
3
|
+
class="button"
|
4
|
+
:aria-label="ariaLabel || label"
|
5
|
+
@click="handleClick"
|
6
|
+
:aria-disabled="disabled"
|
7
|
+
>
|
8
|
+
<span v-if="icon" class="button-icon">
|
9
|
+
<Icon :name="icon" size="sm" color="white" />
|
10
|
+
</span>
|
11
|
+
<span class="button-label">{{ label }}</span>
|
12
|
+
</button>
|
3
13
|
</template>
|
4
14
|
|
5
15
|
<script setup lang="ts">
|
6
|
-
import
|
16
|
+
import Icon from '../icons/Icon/Icon.vue'
|
7
17
|
|
8
|
-
defineProps({
|
9
|
-
|
18
|
+
const props = defineProps({
|
19
|
+
label: {
|
20
|
+
type: String,
|
21
|
+
required: true
|
22
|
+
},
|
23
|
+
ariaLabel: {
|
24
|
+
type: String,
|
25
|
+
default: ''
|
26
|
+
},
|
27
|
+
backgroundColor: {
|
28
|
+
type: String,
|
29
|
+
default: ''
|
30
|
+
},
|
31
|
+
labelColor: {
|
32
|
+
type: String,
|
33
|
+
default: ''
|
34
|
+
},
|
35
|
+
size: {
|
36
|
+
type: String,
|
37
|
+
default: ''
|
38
|
+
},
|
39
|
+
disabled: {
|
40
|
+
type: Boolean,
|
41
|
+
default: false
|
42
|
+
},
|
43
|
+
icon: {
|
44
|
+
type: String,
|
45
|
+
default: ''
|
46
|
+
},
|
47
|
+
iconPosition: {
|
48
|
+
type: String,
|
49
|
+
default: ''
|
50
|
+
}
|
10
51
|
})
|
52
|
+
|
53
|
+
const emit = defineEmits(['click'])
|
54
|
+
|
55
|
+
const handleClick = (event: Event) => {
|
56
|
+
if (!props.disabled) {
|
57
|
+
emit('click', event)
|
58
|
+
}
|
59
|
+
}
|
11
60
|
</script>
|
61
|
+
|
62
|
+
<style>
|
63
|
+
.button {
|
64
|
+
display: flex;
|
65
|
+
align-items: center;
|
66
|
+
padding: 12px 24px;
|
67
|
+
border: 0;
|
68
|
+
border-radius: 8px;
|
69
|
+
min-width: 120px;
|
70
|
+
cursor: pointer;
|
71
|
+
outline: none;
|
72
|
+
font-size: 17px;
|
73
|
+
color: white;
|
74
|
+
font-weight: 600;
|
75
|
+
}
|
76
|
+
|
77
|
+
.button:hover {
|
78
|
+
transform: scale(1.0175);
|
79
|
+
}
|
80
|
+
|
81
|
+
.button:active {
|
82
|
+
transform: scale(0.985);
|
83
|
+
}
|
84
|
+
|
85
|
+
.button:focus {
|
86
|
+
border: 1px solid #333131;
|
87
|
+
}
|
88
|
+
|
89
|
+
.button:disabled {
|
90
|
+
cursor: not-allowed;
|
91
|
+
opacity: 0.5;
|
92
|
+
}
|
93
|
+
|
94
|
+
.button-icon {
|
95
|
+
margin-right: 0.5rem;
|
96
|
+
}
|
97
|
+
.button-label {
|
98
|
+
display: block;
|
99
|
+
}
|
100
|
+
</style>
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/vue3'
|
2
|
+
import Icon from './Icon.vue'
|
3
|
+
import AllIcons from '../../../../public/assets/icons/icons.json'
|
4
|
+
|
5
|
+
const meta: Meta = {
|
6
|
+
title: 'Foundation/Icons/Icon',
|
7
|
+
component: Icon,
|
8
|
+
argTypes: {
|
9
|
+
name: {
|
10
|
+
control: 'select',
|
11
|
+
options: AllIcons,
|
12
|
+
description: 'Identificador do ícone',
|
13
|
+
table: {
|
14
|
+
category: 'Propriedades',
|
15
|
+
disable: false,
|
16
|
+
sortOrder: 1
|
17
|
+
}
|
18
|
+
},
|
19
|
+
size: {
|
20
|
+
control: 'select',
|
21
|
+
options: ['sm', 'md', 'lg'],
|
22
|
+
description: 'Tamanho do ícone',
|
23
|
+
table: {
|
24
|
+
category: 'Propriedades',
|
25
|
+
type: {
|
26
|
+
summary: 'string',
|
27
|
+
detail: "sm(small): '1rem'\nmd(medium): '2rem'\nlg(large): '3rem'"
|
28
|
+
},
|
29
|
+
defaultValue: { summary: 'md' },
|
30
|
+
disable: false,
|
31
|
+
sortOrder: 2
|
32
|
+
}
|
33
|
+
},
|
34
|
+
color: {
|
35
|
+
control: 'color',
|
36
|
+
description: 'Cor em formato hexadecimal, rgb ou nome da cor',
|
37
|
+
table: {
|
38
|
+
category: 'Propriedades',
|
39
|
+
type: {
|
40
|
+
summary: 'string',
|
41
|
+
detail: "hex: '#ccc'\nrgb: 'rgb(204, 204, 204)'\nnome: 'grey'"
|
42
|
+
},
|
43
|
+
defaultValue: { summary: '#000000' },
|
44
|
+
disable: false,
|
45
|
+
sortOrder: 3
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
export default meta
|
52
|
+
|
53
|
+
const Template: StoryFn<{ name: string; size: string; color: string }> = (
|
54
|
+
args
|
55
|
+
) => ({
|
56
|
+
components: { Icon },
|
57
|
+
setup() {
|
58
|
+
return { args }
|
59
|
+
},
|
60
|
+
template: '<Icon :name="args.name" :size="args.size" :color="args.color" />'
|
61
|
+
})
|
62
|
+
|
63
|
+
export const Default = Template.bind({})
|
64
|
+
Default.args = {
|
65
|
+
name: 'AA0010',
|
66
|
+
size: 'md',
|
67
|
+
color: '#ccc'
|
68
|
+
}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<template>
|
2
|
+
<svg
|
3
|
+
:class="['icon', sizeClass]"
|
4
|
+
xmlns="http://www.w3.org/2000/svg"
|
5
|
+
aria-hidden="true"
|
6
|
+
:style="{ fill: color }"
|
7
|
+
>
|
8
|
+
<use :xlink:href="`#icon-${name}`"></use>
|
9
|
+
</svg>
|
10
|
+
</template>
|
11
|
+
|
12
|
+
<script setup>
|
13
|
+
import { computed } from 'vue'
|
14
|
+
|
15
|
+
const props = defineProps({
|
16
|
+
name: {
|
17
|
+
type: String,
|
18
|
+
required: true
|
19
|
+
},
|
20
|
+
size: {
|
21
|
+
type: String,
|
22
|
+
default: 'md'
|
23
|
+
},
|
24
|
+
color: {
|
25
|
+
type: String,
|
26
|
+
default: 'currentColor'
|
27
|
+
}
|
28
|
+
})
|
29
|
+
|
30
|
+
const sizeClass = computed(() => {
|
31
|
+
return (
|
32
|
+
{
|
33
|
+
sm: 'icon-small',
|
34
|
+
md: 'icon-medium',
|
35
|
+
lg: 'icon-large'
|
36
|
+
}[props.size] || 'icon-medium'
|
37
|
+
)
|
38
|
+
})
|
39
|
+
</script>
|
40
|
+
|
41
|
+
<style>
|
42
|
+
.icon {
|
43
|
+
width: 2em;
|
44
|
+
height: 2em;
|
45
|
+
fill: currentColor;
|
46
|
+
}
|
47
|
+
.icon-small {
|
48
|
+
width: 1em;
|
49
|
+
height: 1em;
|
50
|
+
}
|
51
|
+
.icon-medium {
|
52
|
+
width: 2em;
|
53
|
+
height: 2em;
|
54
|
+
}
|
55
|
+
.icon-large {
|
56
|
+
width: 3em;
|
57
|
+
height: 3em;
|
58
|
+
}
|
59
|
+
</style>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import type { Meta, StoryFn } from '@storybook/vue3'
|
2
|
+
import IconList from './IconList.vue'
|
3
|
+
|
4
|
+
// Definindo o tipo dos argumentos
|
5
|
+
interface IconListArgs {
|
6
|
+
color: string
|
7
|
+
}
|
8
|
+
|
9
|
+
const meta: Meta = {
|
10
|
+
title: 'Foundation/Icons/AllIcons',
|
11
|
+
component: IconList,
|
12
|
+
argTypes: {
|
13
|
+
color: {
|
14
|
+
control: 'color',
|
15
|
+
description: 'Cor em formato hexadecimal, rgb ou nome da cor',
|
16
|
+
table: {
|
17
|
+
category: 'Propriedades',
|
18
|
+
type: {
|
19
|
+
summary: 'string',
|
20
|
+
detail: "hex: '#ccc'\nrgb: 'rgb(204, 204, 204)'\nnome: 'grey'"
|
21
|
+
},
|
22
|
+
defaultValue: { summary: '#000000' },
|
23
|
+
disable: false,
|
24
|
+
sortOrder: 3
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
export default meta
|
31
|
+
|
32
|
+
const Template: StoryFn<IconListArgs> = (args) => ({
|
33
|
+
components: { IconList },
|
34
|
+
setup() {
|
35
|
+
return { args }
|
36
|
+
},
|
37
|
+
template: '<IconList v-bind="args" />'
|
38
|
+
})
|
39
|
+
|
40
|
+
export const Default = Template.bind({})
|
41
|
+
Default.args = {
|
42
|
+
color: '#757abf'
|
43
|
+
}
|
44
|
+
|
45
|
+
Default.parameters = {
|
46
|
+
docs: {
|
47
|
+
source: {
|
48
|
+
code: `<IconList :color="color" />`
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|