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.
Files changed (236) hide show
  1. package/dist/assets/fonts/Quicksand-Bold.ttf +0 -0
  2. package/dist/assets/fonts/Quicksand-Light.ttf +0 -0
  3. package/dist/assets/fonts/Quicksand-Medium.ttf +0 -0
  4. package/dist/assets/fonts/Quicksand-Regular.ttf +0 -0
  5. package/dist/assets/fonts/Quicksand-SemiBold.ttf +0 -0
  6. package/dist/assets/icons/AA0010.svg +24 -0
  7. package/dist/assets/icons/AA0020.svg +22 -0
  8. package/dist/assets/icons/AA0030.svg +6 -0
  9. package/dist/assets/icons/AA0040.svg +20 -0
  10. package/dist/assets/icons/AA0050.svg +20 -0
  11. package/dist/assets/icons/AA0060.svg +29 -0
  12. package/dist/assets/icons/AA0070.svg +28 -0
  13. package/dist/assets/icons/AB0010.svg +24 -0
  14. package/dist/assets/icons/AB0020.svg +24 -0
  15. package/dist/assets/icons/AB0030.svg +2 -0
  16. package/dist/assets/icons/AB0040.svg +24 -0
  17. package/dist/assets/icons/AB0050.svg +37 -0
  18. package/dist/assets/icons/AC0010.svg +20 -0
  19. package/dist/assets/icons/AC0020.svg +25 -0
  20. package/dist/assets/icons/AC0030.svg +22 -0
  21. package/dist/assets/icons/AC0040.svg +20 -0
  22. package/dist/assets/icons/AD0010.svg +25 -0
  23. package/dist/assets/icons/AD0020.svg +2 -0
  24. package/dist/assets/icons/AD0030.svg +22 -0
  25. package/dist/assets/icons/AD0040.svg +27 -0
  26. package/dist/assets/icons/AD0050.svg +30 -0
  27. package/dist/assets/icons/AE0010.svg +22 -0
  28. package/dist/assets/icons/AE0020.svg +26 -0
  29. package/dist/assets/icons/AE0030.svg +20 -0
  30. package/dist/assets/icons/AE0040.svg +25 -0
  31. package/dist/assets/icons/AE0050.svg +12 -0
  32. package/dist/assets/icons/AE0060.svg +24 -0
  33. package/dist/assets/icons/AE0070.svg +23 -0
  34. package/dist/assets/icons/BA0010.svg +2 -0
  35. package/dist/assets/icons/BA0020.svg +2 -0
  36. package/dist/assets/icons/BA0030.svg +2 -0
  37. package/dist/assets/icons/BA0031.svg +2 -0
  38. package/dist/assets/icons/BA0040.svg +4 -0
  39. package/dist/assets/icons/BA0050.svg +4 -0
  40. package/dist/assets/icons/BB0010.svg +2 -0
  41. package/dist/assets/icons/BB0011.svg +2 -0
  42. package/dist/assets/icons/BB0012.svg +2 -0
  43. package/dist/assets/icons/BB0013.svg +2 -0
  44. package/dist/assets/icons/BB0020.svg +2 -0
  45. package/dist/assets/icons/BB0021.svg +2 -0
  46. package/dist/assets/icons/BB0022.svg +2 -0
  47. package/dist/assets/icons/BB0023.svg +2 -0
  48. package/dist/assets/icons/BB0030.svg +2 -0
  49. package/dist/assets/icons/BB0031.svg +2 -0
  50. package/dist/assets/icons/BB0032.svg +2 -0
  51. package/dist/assets/icons/BB0033.svg +2 -0
  52. package/dist/assets/icons/BB0040.svg +2 -0
  53. package/dist/assets/icons/BB0041.svg +2 -0
  54. package/dist/assets/icons/BB0042.svg +2 -0
  55. package/dist/assets/icons/BB0043.svg +2 -0
  56. package/dist/assets/icons/BB0050.svg +2 -0
  57. package/dist/assets/icons/BB0051.svg +2 -0
  58. package/dist/assets/icons/BB0052.svg +2 -0
  59. package/dist/assets/icons/BB0053.svg +2 -0
  60. package/dist/assets/icons/BB0060.svg +2 -0
  61. package/dist/assets/icons/BB0061.svg +2 -0
  62. package/dist/assets/icons/BB0062.svg +2 -0
  63. package/dist/assets/icons/BB0063.svg +2 -0
  64. package/dist/assets/icons/BB0070.svg +2 -0
  65. package/dist/assets/icons/BB0071.svg +2 -0
  66. package/dist/assets/icons/BB0072.svg +2 -0
  67. package/dist/assets/icons/BB0073.svg +2 -0
  68. package/dist/assets/icons/BB0080.svg +2 -0
  69. package/dist/assets/icons/BB0081.svg +2 -0
  70. package/dist/assets/icons/BB0082.svg +2 -0
  71. package/dist/assets/icons/BB0083.svg +2 -0
  72. package/dist/assets/icons/BB0090.svg +2 -0
  73. package/dist/assets/icons/BB0091.svg +2 -0
  74. package/dist/assets/icons/BB0092.svg +2 -0
  75. package/dist/assets/icons/BB0093.svg +2 -0
  76. package/dist/assets/icons/BB0100.svg +2 -0
  77. package/dist/assets/icons/BB0101.svg +2 -0
  78. package/dist/assets/icons/BB0102.svg +2 -0
  79. package/dist/assets/icons/BB0103.svg +2 -0
  80. package/dist/assets/icons/BB0110.svg +2 -0
  81. package/dist/assets/icons/BB0111.svg +2 -0
  82. package/dist/assets/icons/BB0112.svg +2 -0
  83. package/dist/assets/icons/BB0113.svg +2 -0
  84. package/dist/assets/icons/BB0120.svg +2 -0
  85. package/dist/assets/icons/BB0121.svg +2 -0
  86. package/dist/assets/icons/BB0122.svg +2 -0
  87. package/dist/assets/icons/BB0123.svg +2 -0
  88. package/dist/assets/icons/BB0130.svg +2 -0
  89. package/dist/assets/icons/BB0131.svg +2 -0
  90. package/dist/assets/icons/BB0132.svg +2 -0
  91. package/dist/assets/icons/BB0133.svg +2 -0
  92. package/dist/assets/icons/BB0140.svg +2 -0
  93. package/dist/assets/icons/BB0141.svg +2 -0
  94. package/dist/assets/icons/BB0142.svg +2 -0
  95. package/dist/assets/icons/BB0143.svg +2 -0
  96. package/dist/assets/icons/BB0150.svg +2 -0
  97. package/dist/assets/icons/BB0151.svg +2 -0
  98. package/dist/assets/icons/BB0152.svg +2 -0
  99. package/dist/assets/icons/BB0153.svg +2 -0
  100. package/dist/assets/icons/BB0160.svg +2 -0
  101. package/dist/assets/icons/BB0161.svg +2 -0
  102. package/dist/assets/icons/BB0162.svg +2 -0
  103. package/dist/assets/icons/BB0163.svg +2 -0
  104. package/dist/assets/icons/BC0010.svg +2 -0
  105. package/dist/assets/icons/BC0011.svg +2 -0
  106. package/dist/assets/icons/BC0012.svg +1 -0
  107. package/dist/assets/icons/BC0013.svg +2 -0
  108. package/dist/assets/icons/BC0014.svg +2 -0
  109. package/dist/assets/icons/BC0015.svg +4 -0
  110. package/dist/assets/icons/BC0016.svg +4 -0
  111. package/dist/assets/icons/BC0017.svg +4 -0
  112. package/dist/assets/icons/BC0018.svg +4 -0
  113. package/dist/assets/icons/BC0019.svg +1 -0
  114. package/dist/assets/icons/BC0020.svg +2 -0
  115. package/dist/assets/icons/BC0021.svg +4 -0
  116. package/dist/assets/icons/BD0010.svg +2 -0
  117. package/dist/assets/icons/BD0020.svg +2 -0
  118. package/dist/assets/icons/BD0030.svg +2 -0
  119. package/dist/assets/icons/BD0040.svg +2 -0
  120. package/dist/assets/icons/BD0043.svg +1 -0
  121. package/dist/assets/icons/BD0050.svg +2 -0
  122. package/dist/assets/icons/BD0051.svg +2 -0
  123. package/dist/assets/icons/BD0060.svg +2 -0
  124. package/dist/assets/icons/BD0070.svg +2 -0
  125. package/dist/assets/icons/BD0071.svg +2 -0
  126. package/dist/assets/icons/BD0080.svg +2 -0
  127. package/dist/assets/icons/BD0081.svg +4 -0
  128. package/dist/assets/icons/BD0082.svg +2 -0
  129. package/dist/assets/icons/BD0090.svg +4 -0
  130. package/dist/assets/icons/BD0100.svg +2 -0
  131. package/dist/assets/icons/BD0110.svg +2 -0
  132. package/dist/assets/icons/BD0120.svg +1 -0
  133. package/dist/assets/icons/BD0130.svg +2 -0
  134. package/dist/assets/icons/BE0010.svg +2 -0
  135. package/dist/assets/icons/BE0011.svg +2 -0
  136. package/dist/assets/icons/BE0012.svg +2 -0
  137. package/dist/assets/icons/BE0013.svg +2 -0
  138. package/dist/assets/icons/BE0020.svg +2 -0
  139. package/dist/assets/icons/BE0030.svg +2 -0
  140. package/dist/assets/icons/BE0031.svg +2 -0
  141. package/dist/assets/icons/BE0032.svg +2 -0
  142. package/dist/assets/icons/BE0033.svg +2 -0
  143. package/dist/assets/icons/BE0040.svg +2 -0
  144. package/dist/assets/icons/BE0041.svg +2 -0
  145. package/dist/assets/icons/BE0042.svg +2 -0
  146. package/dist/assets/icons/BE0043.svg +1 -0
  147. package/dist/assets/icons/BE0050.svg +2 -0
  148. package/dist/assets/icons/BE0051.svg +2 -0
  149. package/dist/assets/icons/BE0052.svg +2 -0
  150. package/dist/assets/icons/BE0053.svg +2 -0
  151. package/dist/assets/icons/BE0060.svg +2 -0
  152. package/dist/assets/icons/BE0070.svg +2 -0
  153. package/dist/assets/icons/BE0080.svg +2 -0
  154. package/dist/assets/icons/BE0090.svg +2 -0
  155. package/dist/assets/icons/BE0100.svg +2 -0
  156. package/dist/assets/icons/BE0110.svg +2 -0
  157. package/dist/assets/icons/BE0120.svg +2 -0
  158. package/dist/assets/icons/BE0130.svg +2 -0
  159. package/dist/assets/icons/BE0140.svg +2 -0
  160. package/dist/assets/icons/BE0150.svg +2 -0
  161. package/dist/assets/icons/BF0010.svg +2 -0
  162. package/dist/assets/icons/BF0011.svg +2 -0
  163. package/dist/assets/icons/BF0020.svg +2 -0
  164. package/dist/assets/icons/BF0021.svg +2 -0
  165. package/dist/assets/icons/BF0030.svg +2 -0
  166. package/dist/assets/icons/BF0031.svg +2 -0
  167. package/dist/assets/icons/BF0040.svg +2 -0
  168. package/dist/assets/icons/BF0050.svg +2 -0
  169. package/dist/assets/icons/BF0060.svg +2 -0
  170. package/dist/assets/icons/BF0061.svg +2 -0
  171. package/dist/assets/icons/BF0070.svg +2 -0
  172. package/dist/assets/icons/BF0080.svg +2 -0
  173. package/dist/assets/icons/BF0090.svg +2 -0
  174. package/dist/assets/icons/BF0100.svg +2 -0
  175. package/dist/assets/icons/BG0010.svg +2 -0
  176. package/dist/assets/icons/BG0011.svg +2 -0
  177. package/dist/assets/icons/BG0020.svg +2 -0
  178. package/dist/assets/icons/BG0030.svg +1 -0
  179. package/dist/assets/icons/BG0040.svg +1 -0
  180. package/dist/assets/icons/BG0050.svg +1 -0
  181. package/dist/assets/icons/BG0060.svg +2 -0
  182. package/dist/assets/icons/BG0070.svg +2 -0
  183. package/dist/assets/icons/CA0010.svg +9 -0
  184. package/dist/assets/icons/CA0020.svg +9 -0
  185. package/dist/assets/icons/CA0030.svg +9 -0
  186. package/dist/assets/icons/CA0040.svg +9 -0
  187. package/dist/assets/icons/CA0050.svg +9 -0
  188. package/dist/assets/icons/CA0060.svg +9 -0
  189. package/dist/assets/icons/CA0070.svg +9 -0
  190. package/dist/assets/icons/CA0080.svg +9 -0
  191. package/dist/assets/icons/CA0090.svg +9 -0
  192. package/dist/assets/icons/CA0100.svg +9 -0
  193. package/dist/assets/icons/CA0110.svg +9 -0
  194. package/dist/assets/icons/CA0120.svg +9 -0
  195. package/dist/assets/icons/CA0130.svg +9 -0
  196. package/dist/assets/icons/icons.json +192 -0
  197. package/dist/hp-design-system.es.js +255 -13
  198. package/dist/style.css +1 -0
  199. package/dist/types/components/button/Button.stories.d.ts +2 -2
  200. package/dist/types/components/button/Button.vue.d.ts +72 -4
  201. package/dist/types/components/icons/Icon/Icon.stories.d.ts +8 -0
  202. package/dist/types/components/icons/Icon/Icon.vue.d.ts +11 -0
  203. package/dist/types/components/icons/iconList/IconList.stories.d.ts +7 -0
  204. package/dist/types/components/icons/iconList/IconList.vue.d.ts +7 -0
  205. package/dist/types/components/icons/iconList/components/IconListButton.vue.d.ts +58 -0
  206. package/dist/types/components/index.d.ts +4 -1
  207. package/dist/types/components/inputs/checkbox/Checkbox.stories.d.ts +10 -0
  208. package/dist/types/components/inputs/checkbox/Checkbox.vue.d.ts +46 -0
  209. package/dist/types/components/teste/Teste.stories.d.ts +37 -0
  210. package/dist/types/components/teste/Teste.vue.d.ts +146 -0
  211. package/dist/types/main.d.ts +1 -0
  212. package/dist/types/views/tokens/Colors.d.ts +7 -0
  213. package/dist/types/views/tokens/Sizes.vue.d.ts +2 -0
  214. package/package.json +21 -6
  215. package/src/App.vue +26 -3
  216. package/src/assets/main.scss +10 -17
  217. package/src/assets/themes.scss +21 -0
  218. package/src/components/button/Button.stories.ts +21 -22
  219. package/src/components/button/Button.vue +93 -4
  220. package/src/components/icons/Icon/Icon.stories.ts +68 -0
  221. package/src/components/icons/Icon/Icon.vue +59 -0
  222. package/src/components/icons/iconList/IconList.stories.ts +51 -0
  223. package/src/components/icons/iconList/IconList.vue +172 -0
  224. package/src/components/icons/iconList/components/IconListButton.vue +71 -0
  225. package/src/components/index.ts +4 -1
  226. package/src/components/inputs/checkbox/Checkbox.scss +91 -0
  227. package/src/components/inputs/checkbox/Checkbox.stories.ts +100 -0
  228. package/src/components/inputs/checkbox/Checkbox.vue +53 -0
  229. package/src/components/teste/Teste.stories.ts +214 -0
  230. package/src/components/teste/Teste.vue +96 -0
  231. package/src/main.ts +2 -1
  232. package/src/shims-vue.d.ts +5 -0
  233. package/src/style.css +33 -67
  234. package/src/views/tokens/Colors.ts +7 -0
  235. package/src/views/tokens/Sizes.vue +0 -0
  236. 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;
@@ -1 +1,2 @@
1
1
  import './style.css';
2
+ import 'virtual:svg-icons-register';
@@ -0,0 +1,7 @@
1
+ export declare const colors: {
2
+ primary: string;
3
+ secondary: string;
4
+ error: string;
5
+ warning: string;
6
+ success: string;
7
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "hp-design-system",
3
- "version": "1.0.1",
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.29"
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-config-prettier": "^8.3.0",
46
- "eslint-plugin-prettier": "^4.0.0",
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.2",
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
- "typescript": "^5.5.2",
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
- <HpButton text="Clique Aqui"></HpButton>
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>
@@ -1,17 +1,10 @@
1
- @font-face {
2
- font-family: 'myfont';
3
- // src: url('fonts/myfont.woff');
4
- }
5
-
6
- [class^='icon-'],
7
- [class*=' icon-'] {
8
- // font-family: 'myfont' !important;
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
- // src/components/Button/Button.stories.ts
2
- import type { Meta, StoryFn } from "@storybook/vue3"; // Importa StoryFn em vez de Story
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: "Componentes/Button",
5
+ title: 'Componentes/Button',
7
6
  component: HpButton,
8
7
  argTypes: {
9
- text: {
8
+ label: {
10
9
  control: {
11
- type: "text",
10
+ type: 'text'
12
11
  },
13
12
  table: {
14
- category: "Propriedades",
13
+ category: 'Propriedades',
15
14
  type: {
16
- summary: "string",
17
- detail: "Tipo de texto",
15
+ summary: 'string',
16
+ detail: 'Tipo de texto'
18
17
  },
19
- defaultValue: { summary: "Label padrão" },
18
+ defaultValue: { summary: 'Label padrão' }
20
19
  },
21
- description: "Texto do botão",
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<{ text: string }> = (args) => ({
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 :text="args.text" />',
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
- text: "Label",
40
- };
38
+ label: 'Label'
39
+ }
@@ -1,11 +1,100 @@
1
1
  <template>
2
- <button>{{ text }}</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 { defineProps } from 'vue'
16
+ import Icon from '../icons/Icon/Icon.vue'
7
17
 
8
- defineProps({
9
- text: { type: String, required: true }
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
+ }