norma-library 0.4.9 → 0.5.1

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 (246) hide show
  1. package/.babelrc.json +1 -1
  2. package/.husky/commit-msg +4 -0
  3. package/.prettierignore +11 -0
  4. package/.prettierrc.json +20 -0
  5. package/CHANGELOG.md +0 -0
  6. package/CONTRIBUTING.md +0 -0
  7. package/README.md +42 -0
  8. package/commitlint.config.js +1 -0
  9. package/dist/Button/index.d.ts +9 -0
  10. package/dist/Button/types.d.ts +18 -0
  11. package/dist/Card/Card.d.ts +3 -0
  12. package/dist/Card/CardHeader.d.ts +3 -0
  13. package/dist/Card/index.d.ts +4 -0
  14. package/dist/Card/styles.d.ts +546 -0
  15. package/dist/Card/types.d.ts +8 -0
  16. package/dist/esm/components/Accordion.d.ts +2 -2
  17. package/dist/esm/components/Accordion.js +8 -8
  18. package/dist/esm/components/Accordion.js.map +1 -1
  19. package/dist/esm/components/Avatar.d.ts +2 -2
  20. package/dist/esm/components/Avatar.js +7 -7
  21. package/dist/esm/components/Avatar.js.map +1 -1
  22. package/dist/esm/components/Badge.d.ts +2 -2
  23. package/dist/esm/components/Badge.js +5 -5
  24. package/dist/esm/components/Badge.js.map +1 -1
  25. package/dist/esm/components/Button.d.ts +2 -2
  26. package/dist/esm/components/Button.js +10 -10
  27. package/dist/esm/components/Button.js.map +1 -1
  28. package/dist/esm/components/Card.d.ts +3 -3
  29. package/dist/esm/components/Card.js +8 -8
  30. package/dist/esm/components/Card.js.map +1 -1
  31. package/dist/esm/components/ChatMessage.d.ts +2 -2
  32. package/dist/esm/components/ChatMessage.js +35 -35
  33. package/dist/esm/components/ChatMessage.js.map +1 -1
  34. package/dist/esm/components/CheckBox.d.ts +2 -2
  35. package/dist/esm/components/CheckBox.js +5 -5
  36. package/dist/esm/components/CheckBox.js.map +1 -1
  37. package/dist/esm/components/DataGrid/base/dropdown.d.ts +2 -2
  38. package/dist/esm/components/DataGrid/base/dropdown.js +32 -32
  39. package/dist/esm/components/DataGrid/base/dropdown.js.map +1 -1
  40. package/dist/esm/components/DataGrid/base/number-filter.d.ts +2 -2
  41. package/dist/esm/components/DataGrid/base/number-filter.js +21 -21
  42. package/dist/esm/components/DataGrid/base/sorting.d.ts +2 -2
  43. package/dist/esm/components/DataGrid/base/sorting.js +1 -1
  44. package/dist/esm/components/DataGrid/base/sorting.js.map +1 -1
  45. package/dist/esm/components/DataGrid/icons.d.ts +1 -1
  46. package/dist/esm/components/DataGrid/icons.js +1 -1
  47. package/dist/esm/components/DataGrid/icons.js.map +1 -1
  48. package/dist/esm/components/DataGrid/index.d.ts +2 -2
  49. package/dist/esm/components/DataGrid/index.js +35 -44
  50. package/dist/esm/components/DataGrid/index.js.map +1 -1
  51. package/dist/esm/components/DataGrid/shared.d.ts +1 -1
  52. package/dist/esm/components/DataGrid/shared.js +19 -32
  53. package/dist/esm/components/DataGrid/shared.js.map +1 -1
  54. package/dist/esm/components/DataGrid/styled.d.ts +2 -2
  55. package/dist/esm/components/DataGrid/styled.js +35 -35
  56. package/dist/esm/components/DataGrid/styled.js.map +1 -1
  57. package/dist/esm/components/DatePicker.d.ts +5 -5
  58. package/dist/esm/components/DatePicker.js +37 -37
  59. package/dist/esm/components/DatePicker.js.map +1 -1
  60. package/dist/esm/components/DropDown.d.ts +2 -2
  61. package/dist/esm/components/DropDown.js +6 -6
  62. package/dist/esm/components/DropDown.js.map +1 -1
  63. package/dist/esm/components/IconButton.d.ts +2 -2
  64. package/dist/esm/components/IconButton.js +7 -7
  65. package/dist/esm/components/IconButton.js.map +1 -1
  66. package/dist/esm/components/Icons.d.ts +2 -2
  67. package/dist/esm/components/Icons.js +10 -10
  68. package/dist/esm/components/Icons.js.map +1 -1
  69. package/dist/esm/components/Modal.d.ts +2 -2
  70. package/dist/esm/components/Modal.js +8 -8
  71. package/dist/esm/components/Modal.js.map +1 -1
  72. package/dist/esm/components/Paper.d.ts +2 -2
  73. package/dist/esm/components/Paper.js +5 -5
  74. package/dist/esm/components/Paper.js.map +1 -1
  75. package/dist/esm/components/ProgressBar.d.ts +2 -2
  76. package/dist/esm/components/ProgressBar.js +11 -11
  77. package/dist/esm/components/ProgressBar.js.map +1 -1
  78. package/dist/esm/components/RadioGroup.d.ts +2 -2
  79. package/dist/esm/components/RadioGroup.js +7 -7
  80. package/dist/esm/components/RadioGroup.js.map +1 -1
  81. package/dist/esm/components/RangerSlider.d.ts +2 -2
  82. package/dist/esm/components/RangerSlider.js +31 -31
  83. package/dist/esm/components/RangerSlider.js.map +1 -1
  84. package/dist/esm/components/Select.d.ts +2 -2
  85. package/dist/esm/components/Select.js +14 -14
  86. package/dist/esm/components/Select.js.map +1 -1
  87. package/dist/esm/components/Svgs.d.ts +1 -1
  88. package/dist/esm/components/Svgs.js +1 -1
  89. package/dist/esm/components/Svgs.js.map +1 -1
  90. package/dist/esm/components/Tabs.d.ts +2 -2
  91. package/dist/esm/components/Tabs.js +25 -26
  92. package/dist/esm/components/Tabs.js.map +1 -1
  93. package/dist/esm/components/Tag.d.ts +2 -2
  94. package/dist/esm/components/Tag.js +8 -8
  95. package/dist/esm/components/Tag.js.map +1 -1
  96. package/dist/esm/components/TextField.d.ts +2 -2
  97. package/dist/esm/components/TextField.js +8 -8
  98. package/dist/esm/components/TextField.js.map +1 -1
  99. package/dist/esm/components/TimeLine.d.ts +2 -2
  100. package/dist/esm/components/TimeLine.js +20 -20
  101. package/dist/esm/components/TimeLine.js.map +1 -1
  102. package/dist/esm/components/TimePicker.d.ts +8 -8
  103. package/dist/esm/components/TimePicker.js +43 -43
  104. package/dist/esm/components/TimePicker.js.map +1 -1
  105. package/dist/esm/components/index.d.ts +23 -23
  106. package/dist/esm/components/index.js +23 -23
  107. package/dist/esm/helpers/alignments.js +7 -7
  108. package/dist/esm/helpers/borders.js +11 -11
  109. package/dist/esm/helpers/colors.js +41 -41
  110. package/dist/esm/helpers/index.d.ts +5 -5
  111. package/dist/esm/helpers/index.js +5 -5
  112. package/dist/esm/helpers/sizes.d.ts +1 -1
  113. package/dist/esm/helpers/sizes.js +39 -39
  114. package/dist/esm/helpers/sizes.js.map +1 -1
  115. package/dist/esm/index.d.ts +17 -17
  116. package/dist/esm/index.js +17 -17
  117. package/dist/esm/interfaces/Accordion.d.ts +3 -3
  118. package/dist/esm/interfaces/Avatar.d.ts +6 -6
  119. package/dist/esm/interfaces/Badge.d.ts +7 -7
  120. package/dist/esm/interfaces/Button.d.ts +5 -5
  121. package/dist/esm/interfaces/Card.d.ts +3 -3
  122. package/dist/esm/interfaces/ChatMessage.d.ts +1 -1
  123. package/dist/esm/interfaces/CheckBox.d.ts +10 -10
  124. package/dist/esm/interfaces/DataGrid.d.ts +4 -4
  125. package/dist/esm/interfaces/DatePicker.d.ts +3 -3
  126. package/dist/esm/interfaces/DropDown.d.ts +4 -4
  127. package/dist/esm/interfaces/IconButton.d.ts +5 -5
  128. package/dist/esm/interfaces/Icons.d.ts +3 -3
  129. package/dist/esm/interfaces/Modal.d.ts +3 -3
  130. package/dist/esm/interfaces/Paper.d.ts +4 -4
  131. package/dist/esm/interfaces/ProgressBar.d.ts +5 -5
  132. package/dist/esm/interfaces/RadioGroup.d.ts +4 -4
  133. package/dist/esm/interfaces/RangerSlider.d.ts +8 -8
  134. package/dist/esm/interfaces/Select.d.ts +3 -3
  135. package/dist/esm/interfaces/Tabs.d.ts +3 -3
  136. package/dist/esm/interfaces/Tag.d.ts +5 -5
  137. package/dist/esm/interfaces/TextField.d.ts +12 -12
  138. package/dist/esm/interfaces/TimeLine.d.ts +3 -3
  139. package/dist/esm/interfaces/TimePicker.d.ts +3 -3
  140. package/dist/esm/interfaces/index.d.ts +23 -23
  141. package/dist/esm/interfaces/index.js +23 -23
  142. package/dist/esm/types/index.d.ts +41 -41
  143. package/dist/esm/types/index.js +2 -2
  144. package/dist/esm/types/index.js.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.es.js +6992 -0
  147. package/dist/index.es.js.map +1 -0
  148. package/dist/index.umd.js +266 -0
  149. package/dist/index.umd.js.map +1 -0
  150. package/dist/vite.svg +1 -0
  151. package/docs/index.md +118 -0
  152. package/package.json +65 -8
  153. package/src/components/Accordion.tsx +47 -64
  154. package/src/components/Avatar.tsx +22 -29
  155. package/src/components/Badge.tsx +19 -22
  156. package/src/components/Button.tsx +12 -19
  157. package/src/components/Card.tsx +44 -47
  158. package/src/components/ChatMessage.tsx +87 -89
  159. package/src/components/CheckBox.tsx +8 -19
  160. package/src/components/DataGrid/allData.json +2918 -2918
  161. package/src/components/DataGrid/base/dropdown.tsx +212 -235
  162. package/src/components/DataGrid/base/number-filter.tsx +43 -43
  163. package/src/components/DataGrid/base/sorting.tsx +29 -35
  164. package/src/components/DataGrid/icons.tsx +53 -61
  165. package/src/components/DataGrid/index.tsx +254 -319
  166. package/src/components/DataGrid/shared.ts +154 -179
  167. package/src/components/DataGrid/styled.ts +96 -102
  168. package/src/components/DataGrid/styles/dropdown.module.css +86 -86
  169. package/src/components/DataGrid/styles/number-filter.module.css +16 -16
  170. package/src/components/DataGrid/styles/styles.module.css +107 -107
  171. package/src/components/DatePicker.tsx +73 -84
  172. package/src/components/DropDown.tsx +31 -38
  173. package/src/components/IconButton.tsx +12 -29
  174. package/src/components/Icons.tsx +82 -87
  175. package/src/components/Modal.tsx +114 -123
  176. package/src/components/Paper.tsx +19 -22
  177. package/src/components/ProgressBar.tsx +54 -63
  178. package/src/components/RadioGroup.tsx +47 -55
  179. package/src/components/RangerSlider.tsx +70 -81
  180. package/src/components/Select.tsx +82 -98
  181. package/src/components/Svgs.tsx +498 -522
  182. package/src/components/Tabs.tsx +111 -140
  183. package/src/components/Tag.tsx +37 -45
  184. package/src/components/TextField.tsx +11 -22
  185. package/src/components/TimeLine.tsx +93 -103
  186. package/src/components/TimePicker.tsx +84 -95
  187. package/src/components/index.ts +23 -23
  188. package/src/helpers/alignments.ts +7 -7
  189. package/src/helpers/borders.ts +11 -11
  190. package/src/helpers/colors.ts +42 -42
  191. package/src/helpers/index.ts +5 -5
  192. package/src/helpers/sizes.ts +39 -46
  193. package/src/index.ts +17 -17
  194. package/src/interfaces/Accordion.ts +12 -12
  195. package/src/interfaces/Avatar.tsx +15 -18
  196. package/src/interfaces/Badge.ts +19 -32
  197. package/src/interfaces/Button.ts +5 -10
  198. package/src/interfaces/Card.ts +11 -11
  199. package/src/interfaces/ChatMessage.ts +12 -12
  200. package/src/interfaces/CheckBox.ts +12 -18
  201. package/src/interfaces/DataGrid.ts +46 -51
  202. package/src/interfaces/DatePicker.ts +13 -13
  203. package/src/interfaces/DropDown.ts +14 -14
  204. package/src/interfaces/IconButton.ts +5 -10
  205. package/src/interfaces/Icons.ts +17 -17
  206. package/src/interfaces/Modal.ts +15 -15
  207. package/src/interfaces/Paper.ts +12 -12
  208. package/src/interfaces/ProgressBar.ts +18 -25
  209. package/src/interfaces/RadioGroup.ts +22 -28
  210. package/src/interfaces/RangerSlider.ts +21 -32
  211. package/src/interfaces/Select.ts +17 -17
  212. package/src/interfaces/Tabs.ts +19 -24
  213. package/src/interfaces/Tag.ts +17 -17
  214. package/src/interfaces/TextField.ts +14 -34
  215. package/src/interfaces/TimeLine.ts +11 -16
  216. package/src/interfaces/TimePicker.ts +13 -13
  217. package/src/interfaces/index.ts +23 -23
  218. package/src/sample-data.json +178 -178
  219. package/src/stories/Accordion.stories.tsx +65 -65
  220. package/src/stories/Avatar.stories.tsx +123 -139
  221. package/src/stories/Badge.stories.tsx +39 -47
  222. package/src/stories/Button.stories.tsx +18 -26
  223. package/src/stories/Card.stories.tsx +40 -55
  224. package/src/stories/ChatMessage.stories.tsx +84 -85
  225. package/src/stories/CheckBox.stories.tsx +17 -23
  226. package/src/stories/DataGrid.stories.tsx +28 -28
  227. package/src/stories/DatePicker.stories.tsx +50 -77
  228. package/src/stories/DropDown.stories.tsx +57 -57
  229. package/src/stories/IconButton.stories.tsx +78 -114
  230. package/src/stories/Modal.stories.tsx +190 -190
  231. package/src/stories/Paper.stories.tsx +53 -53
  232. package/src/stories/ProgressBar.stories.tsx +95 -139
  233. package/src/stories/RadioGroup.stories.tsx +21 -28
  234. package/src/stories/RangerSlider.stories.tsx +58 -68
  235. package/src/stories/Select.stories.tsx +100 -128
  236. package/src/stories/Tabs.stories.tsx +62 -62
  237. package/src/stories/Tag.stories.tsx +56 -74
  238. package/src/stories/TextField.stories.tsx +54 -189
  239. package/src/stories/TimeLine.stories.tsx +35 -43
  240. package/src/stories/TimePicker.stories.tsx +87 -113
  241. package/src/types/index.ts +90 -155
  242. package/tsconfig.json +1 -1
  243. package/buildcache/front-end +0 -1
  244. package/norma-library.tar +0 -0
  245. package/postcss.config.js +0 -6
  246. package/tailwind.config.js +0 -58
package/dist/vite.svg ADDED
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
package/docs/index.md ADDED
@@ -0,0 +1,118 @@
1
+ ## Passos Básicos
2
+
3
+ ### 1. Instalando o pacote em seu projeto
4
+
5
+ Para instalar o pacote Norma em seu projeto execute o comando em seu terminal:
6
+
7
+ ### `npm install norma-library`
8
+
9
+ ## Components disponível e como usa-lo
10
+
11
+ ### Button
12
+
13
+ `import { Button } from "norma-library`;
14
+
15
+ `<Button label="Clique-me" onClick={handleButtonClick} />`;
16
+
17
+ #### Props
18
+
19
+ O componente `Button` aceita as seguintes propriedades:
20
+
21
+ - `label` (string, obrigatório): O texto exibido no botão.
22
+ - `sx` (SxProps<Theme>): Estilos personalizados usando o sistema de estilos do Material-UI.
23
+ - `color` (string): A cor do botão (inherit, primary, secondary, success, error, info, warning).
24
+ - `size` (string): O tamanho do botão (small, medium, large).
25
+ - `variant` (string): A variante do botão (text, outlined, contained).
26
+ - `style` (React.CSSProperties): Estilos CSS adicionais.
27
+ - `children` (ReactNode): Conteúdo adicional a ser exibido dentro do botão.
28
+ - `onClick` (função): Uma função de callback para ser executada quando o botão for clicado.
29
+
30
+ ### Card
31
+
32
+ `import { Card } from "norma-library`;
33
+
34
+ `<Card title="Titulo do cartão" />conteúdo do card</card>`;
35
+
36
+ #### Props
37
+
38
+ O componente `Card` aceita as seguintes propriedades:
39
+
40
+ - `title` (string, opcional): O título exibido no cabeçalho do card, se fornecido.
41
+ - `children` (ReactNode, obrigatório): O conteúdo do card, que pode incluir qualquer componente ou conteúdo.
42
+
43
+ ### Modal
44
+
45
+ `import { Modal} from "norma-library`;
46
+
47
+ `<Modal open={open} onClose={handleClose} aria-labelledby="modal-modal-title" aria-describedby="modal-modal-description" onConfirm={handleConfirm}
48
+ title="Titulo do modal">conteúdo do modal</modal>`;
49
+
50
+ #### Props
51
+
52
+ O componente `Modal` aceita as seguintes propriedades:
53
+
54
+ - `sx` (SxProps<Theme>): Estilos personalizados usando o sistema de estilos do Material-UI.
55
+ - `children` (React.ReactElement | React.ReactElement[]): Elementos filhos do modal.
56
+ - `open` (boolean): Indica se o modal está aberto.
57
+ - `onClose` (função): Função de callback chamada quando o modal é fechado.
58
+ - `className` (string): Classe CSS adicional para estilização.
59
+ - `title` (string): Título do modal.
60
+ - `full` (boolean): Indica se o modal deve ocupar toda a largura.
61
+ - `onConfirm` (função): Função de callback chamada quando o botão "Confirmar" é clicado.
62
+
63
+ ### TextField
64
+
65
+ `import { TextField } from "norma-library`;
66
+
67
+ `<TextField id="outlined-basic" label="Outlined" variant="outlined" />`;
68
+
69
+ #### Props
70
+
71
+ O componente `TextField` aceita as seguintes propriedades:
72
+
73
+ - `label` (ReactNode): Rótulo exibido acima do campo de entrada.
74
+ - `variant` (string): A variante do campo (standard, outlined, filled).
75
+ - `value` (TextFieldValue): O valor do campo de entrada.
76
+ - `onChange` (função): Função de callback chamada quando o valor do campo muda.
77
+ - `disabled` (boolean): Indica se o campo de entrada está desabilitado.
78
+ - `required` (boolean): Indica se o campo de entrada é obrigatório.
79
+ - `hasError` (boolean): Indica se o campo de entrada possui erro.
80
+ - E outras propriedades relacionadas a estilos, tamanho, id, etc.
81
+
82
+ ### CheckBox
83
+
84
+ `import { CheckBox } from "norma-library`;
85
+
86
+ `<CheckBox id="checkbox-basic" label="Checkbox" checked={checked} onChange={handleCheckboxChange} />`;
87
+
88
+ #### Props
89
+
90
+ O componente `CheckBox` aceita as seguintes propriedades:
91
+
92
+ - `label` (ReactNode): Rótulo exibido acima do campo de entrada.
93
+ - `checked ` (boolean): Indica se a caixa de seleção está marcada.
94
+ - `onChange` (função): Função de callback chamada quando o valor do campo muda.
95
+ - `disabled` (boolean): Indica se o campo de entrada está desabilitado.
96
+ - `color ` (string): A cor da caixa de seleção (primary, secondary, error, info, success, warning, default).
97
+ - `size ` (string): O tamanho da caixa de seleção (small, medium).
98
+ - `value` (TextFieldValue): O valor do campo de entrada.
99
+ - E outras propriedades relacionadas a estilos, required, id, etc.
100
+
101
+ ### ProgressBar
102
+
103
+ `import { ProgressBar } from "norma-library`;
104
+
105
+ `<ProgressBar id="checkbox-basic" label="Checkbox" checked={checked} onChange={handleCheckboxChange} />`;
106
+
107
+ #### Props
108
+
109
+ O componente `ProgressBar` aceita as seguintes propriedades:
110
+
111
+ - `sx` (SxProps<Theme>): Propriedade de estilo do Material-UI para estilizar o componente.
112
+ - `usage` (number): O valor de uso para calcular a porcentagem da barra de progresso.
113
+ - `value` (number): O valor da barra de progresso.
114
+ - `total` (number): O valor total usado para calcular a porcentagem.
115
+ - `label` (string): Texto do rótulo exibido acima da barra de progresso.
116
+ - `colorCustom` (string): Cor personalizada para a barra de progresso.
117
+ - `variant` ('determinate' | 'indeterminate' | 'buffer' | 'query'): O estilo da barra de progresso.
118
+ - `color` (string): Cor da barra de progresso (primary, secondary, error, info, success, warning, inherit).
package/package.json CHANGED
@@ -1,23 +1,43 @@
1
1
  {
2
2
  "name": "norma-library",
3
- "version": "0.4.9",
3
+ "version": "0.5.1",
4
4
  "private": false,
5
- "description": "Norma Library. A React UI kit.",
5
+ "description": "Olos/Norma-DS. Design System based on Material UI, developed with TypeScript and Styled Components to create reusable and consistent components in web applications.",
6
6
  "scripts": {
7
7
  "build": "tsc",
8
- "start": "react-scripts start",
8
+ "start": "yarn storybook --no-manager-cache",
9
9
  "storybook": "storybook dev -p 6006",
10
- "build-storybook": "storybook build"
10
+ "build-storybook": "storybook build",
11
+ "start-docz": "docz dev --typescript --port=4000",
12
+ "build-docz": "docz build",
13
+ "serve-docz": "docz build && docz serve",
14
+ "clean-docz": "npx rimraf .docz && npx rimraf build/docz",
15
+ "pre-commit": "npx lint-staged",
16
+ "prepare": "husky install",
17
+ "prettier": "npx prettier \"./**/*.{js,json,ts,tsx}\" --write",
18
+ "tar": "tar -cvf norma-library.tar ./storybook-static",
19
+ "commit": "git-cz"
11
20
  },
12
- "author": "José Roberto Miguel Filho",
21
+ "author": "Olos",
22
+ "type": "module",
13
23
  "module": "dist/esm/index.js",
14
24
  "main": "dist/esm/index.js",
15
25
  "license": "ISC",
16
- "keywords": [],
26
+ "keywords": [
27
+ "react",
28
+ "design-system",
29
+ "material-ui",
30
+ "mui",
31
+ "typescripts",
32
+ "styled-components"
33
+ ],
17
34
  "devDependencies": {
18
35
  "@babel/preset-env": "^7.22.15",
19
36
  "@babel/preset-react": "^7.22.15",
20
37
  "@babel/preset-typescript": "^7.22.15",
38
+ "@emotion/core": "^11.0.0",
39
+ "@emotion/styled-base": "^11.0.0",
40
+ "@mdx-js/loader": "^2.3.0",
21
41
  "@mui/lab": "^5.0.0-alpha.145",
22
42
  "@storybook/addon-essentials": "^7.5.0-alpha.1",
23
43
  "@storybook/addon-interactions": "^7.5.0-alpha.1",
@@ -30,15 +50,47 @@
30
50
  "@storybook/testing-library": "^0.2.1-next.0",
31
51
  "@types/react": "^18.2.21",
32
52
  "autoprefixer": "^10.4.15",
53
+ "camelcase": "^8.0.0",
54
+ "chalk": "^5.3.0",
55
+ "commitizen": "^4.3.0",
56
+ "copy-to-clipboard": "^3.3.3",
57
+ "cz-conventional-changelog": "^3.3.0",
58
+ "dotenv": "^16.3.1",
59
+ "git-cz": "^4.9.0",
60
+ "husky": "^8.0.3",
61
+ "lint-staged": "^14.0.1",
62
+ "path": "^0.12.7",
33
63
  "postcss": "^8.4.29",
64
+ "postcss-prettify": "^0.3.4",
34
65
  "react": "^18.2.0",
35
66
  "react-dom": "^18.2.0",
67
+ "rimraf": "^5.0.5",
36
68
  "storybook": "^7.5.0-alpha.1",
37
69
  "storybook-addon-dark-mode-toggle": "^0.0.6",
38
70
  "storybook-dark-mode": "^3.0.1",
39
- "tailwindcss": "^3.3.3",
71
+ "style-loader": "^3.3.3",
72
+ "tsconfig-paths-webpack-plugin": "^4.1.0",
40
73
  "typescript": "^5.2.2"
41
74
  },
75
+ "husky": {
76
+ "hooks": {
77
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
78
+ "prepare-commit-msg": "exec < /dev/tty && npx cz --hook || true",
79
+ "pre-commit": "lint-staged"
80
+ }
81
+ },
82
+ "lint-staged": {
83
+ "*.{md,mdx}": [
84
+ "yarn prettier",
85
+ "yarn eslint",
86
+ "git add"
87
+ ],
88
+ "*.{js,json,ts,tsx}": [
89
+ "yarn prettier",
90
+ "yarn eslint",
91
+ "git add"
92
+ ]
93
+ },
42
94
  "dependencies": {
43
95
  "@emotion/react": "^11.11.1",
44
96
  "@emotion/styled": "^11.11.0",
@@ -74,5 +126,10 @@
74
126
  "bugs": {
75
127
  "url": "https://github.com/OlosLive/norma-library/issues"
76
128
  },
77
- "homepage": "https://github.com/OlosLive/norma-library"
129
+ "homepage": "https://github.com/OlosLive/norma-library",
130
+ "config": {
131
+ "commitizen": {
132
+ "path": "./node_modules/cz-conventional-changelog"
133
+ }
134
+ }
78
135
  }
@@ -1,64 +1,47 @@
1
- import React, { useMemo } from "react";
2
- import {
3
- AccordionDetails,
4
- AccordionSummary,
5
- Accordion as MuiAccordion,
6
- ThemeProvider,
7
- Typography,
8
- useMediaQuery,
9
- } from "@mui/material";
10
- import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
11
- import { AccordionBaseProps } from "../interfaces";
12
- import { themes } from "../helpers";
13
- import { styled } from "@mui/material/styles";
14
-
15
- const AccordionStyled = styled(MuiAccordion)({});
16
-
17
- export const Accordion = ({
18
- data = [],
19
- defaultExpanded = false,
20
- ...props
21
- }: AccordionBaseProps) => {
22
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
23
- const [expanded, setExpanded] = React.useState<boolean | string>(
24
- defaultExpanded
25
- );
26
-
27
- const handleChange =
28
- (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => {
29
- console.log("Event ==> ", event);
30
- setExpanded(isExpanded ? panel : false);
31
- };
32
-
33
- const theme = useMemo(
34
- () => (prefersDarkMode ? themes.light : themes.dark),
35
- [prefersDarkMode]
36
- );
37
-
38
- return (
39
- <ThemeProvider theme={theme}>
40
- <>
41
- {data &&
42
- data.map((item, key) => (
43
- <AccordionStyled
44
- expanded={expanded === item.id}
45
- onChange={handleChange(item.id)}
46
- key={key}
47
- {...props}
48
- >
49
- <AccordionSummary
50
- expandIcon={<ExpandMoreIcon />}
51
- aria-controls={`panel-${key}-content`}
52
- id={`panel-${key}-header`}
53
- >
54
- <Typography sx={{ width: "66%", flexShrink: 0 }}>
55
- {item.label}
56
- </Typography>
57
- </AccordionSummary>
58
- <AccordionDetails>{item.children}</AccordionDetails>
59
- </AccordionStyled>
60
- ))}
61
- </>
62
- </ThemeProvider>
63
- );
64
- };
1
+ import React, { useMemo } from 'react';
2
+ import {
3
+ AccordionDetails,
4
+ AccordionSummary,
5
+ Accordion as MuiAccordion,
6
+ ThemeProvider,
7
+ Typography,
8
+ useMediaQuery,
9
+ } from '@mui/material';
10
+ import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
11
+ import { AccordionBaseProps } from '../interfaces';
12
+ import { themes } from '../helpers';
13
+ import { styled } from '@mui/material/styles';
14
+
15
+ const AccordionStyled = styled(MuiAccordion)({});
16
+
17
+ export const Accordion = ({ data = [], defaultExpanded = false, ...props }: AccordionBaseProps) => {
18
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
19
+ const [expanded, setExpanded] = React.useState<boolean | string>(defaultExpanded);
20
+
21
+ const handleChange = (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => {
22
+ console.log('Event ==> ', event);
23
+ setExpanded(isExpanded ? panel : false);
24
+ };
25
+
26
+ const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
27
+
28
+ return (
29
+ <ThemeProvider theme={theme}>
30
+ <>
31
+ {data &&
32
+ data.map((item, key) => (
33
+ <AccordionStyled expanded={expanded === item.id} onChange={handleChange(item.id)} key={key} {...props}>
34
+ <AccordionSummary
35
+ expandIcon={<ExpandMoreIcon />}
36
+ aria-controls={`panel-${key}-content`}
37
+ id={`panel-${key}-header`}
38
+ >
39
+ <Typography sx={{ width: '66%', flexShrink: 0 }}>{item.label}</Typography>
40
+ </AccordionSummary>
41
+ <AccordionDetails>{item.children}</AccordionDetails>
42
+ </AccordionStyled>
43
+ ))}
44
+ </>
45
+ </ThemeProvider>
46
+ );
47
+ };
@@ -1,29 +1,22 @@
1
- import React, { useMemo } from "react";
2
-
3
- import {
4
- ThemeProvider,
5
- useMediaQuery,
6
- Avatar as MuiVatar,
7
- } from "@mui/material";
8
-
9
- import { AvatarBaseProps } from "../interfaces";
10
- import { styled } from "@mui/material/styles";
11
- import { themes } from "../helpers";
12
-
13
- const AvatarStyled = styled(MuiVatar)({
14
- textTransform: "none",
15
- color: "currentcolor",
16
- });
17
-
18
- export const Avatar: React.FC<AvatarBaseProps> = ({ src, ...props }) => {
19
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
20
- const theme = useMemo(
21
- () => (prefersDarkMode ? themes.light : themes.dark),
22
- [prefersDarkMode]
23
- );
24
- return (
25
- <ThemeProvider theme={theme}>
26
- <AvatarStyled src={src} {...props} />
27
- </ThemeProvider>
28
- );
29
- };
1
+ import React, { useMemo } from 'react';
2
+
3
+ import { ThemeProvider, useMediaQuery, Avatar as MuiVatar } from '@mui/material';
4
+
5
+ import { AvatarBaseProps } from '../interfaces';
6
+ import { styled } from '@mui/material/styles';
7
+ import { themes } from '../helpers';
8
+
9
+ const AvatarStyled = styled(MuiVatar)({
10
+ textTransform: 'none',
11
+ color: 'currentcolor',
12
+ });
13
+
14
+ export const Avatar: React.FC<AvatarBaseProps> = ({ src, ...props }) => {
15
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
16
+ const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
17
+ return (
18
+ <ThemeProvider theme={theme}>
19
+ <AvatarStyled src={src} {...props} />
20
+ </ThemeProvider>
21
+ );
22
+ };
@@ -1,22 +1,19 @@
1
- import React, { useMemo } from "react";
2
-
3
- import { ThemeProvider, useMediaQuery, Badge as MuiBadge } from "@mui/material";
4
-
5
- import { BadgeBaseProps } from "../interfaces";
6
- import { styled } from "@mui/material/styles";
7
- import { themes } from "../helpers";
8
-
9
- const BadgeStyled = styled(MuiBadge)({});
10
-
11
- export const Badge: React.FC<BadgeBaseProps> = ({ ...props }) => {
12
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
13
- const theme = useMemo(
14
- () => (prefersDarkMode ? themes.dark : themes.light),
15
- [prefersDarkMode]
16
- );
17
- return (
18
- <ThemeProvider theme={theme}>
19
- <BadgeStyled {...props} />
20
- </ThemeProvider>
21
- );
22
- };
1
+ import React, { useMemo } from 'react';
2
+
3
+ import { ThemeProvider, useMediaQuery, Badge as MuiBadge } from '@mui/material';
4
+
5
+ import { BadgeBaseProps } from '../interfaces';
6
+ import { styled } from '@mui/material/styles';
7
+ import { themes } from '../helpers';
8
+
9
+ const BadgeStyled = styled(MuiBadge)({});
10
+
11
+ export const Badge: React.FC<BadgeBaseProps> = ({ ...props }) => {
12
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
13
+ const theme = useMemo(() => (prefersDarkMode ? themes.dark : themes.light), [prefersDarkMode]);
14
+ return (
15
+ <ThemeProvider theme={theme}>
16
+ <BadgeStyled {...props} />
17
+ </ThemeProvider>
18
+ );
19
+ };
@@ -1,34 +1,27 @@
1
- import React, { useMemo } from "react";
2
- import {
3
- Button as MuiButton,
4
- ThemeProvider,
5
- useMediaQuery,
6
- } from "@mui/material";
7
- import { ButtonBaseProps } from "../interfaces";
8
- import { themes } from "../helpers";
9
- import { styled } from "@mui/material/styles";
1
+ import React, { useMemo } from 'react';
2
+ import { Button as MuiButton, ThemeProvider, useMediaQuery } from '@mui/material';
3
+ import { ButtonBaseProps } from '../interfaces';
4
+ import { themes } from '../helpers';
5
+ import { styled } from '@mui/material/styles';
10
6
 
11
7
  const ButtonStyled = styled(MuiButton)({
12
- textTransform: "none",
13
- "& .MuiButton-sizeLarge": {
14
- height: "75px",
15
- backgroundColor: "red",
8
+ textTransform: 'none',
9
+ '& .MuiButton-sizeLarge': {
10
+ height: '75px',
11
+ backgroundColor: 'red',
16
12
  },
17
13
  });
18
14
 
19
15
  export const Button = ({ label, children, ...props }: ButtonBaseProps) => {
20
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
21
- const theme = useMemo(
22
- () => (prefersDarkMode ? themes.dark : themes.light),
23
- [prefersDarkMode]
24
- );
16
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
17
+ const theme = useMemo(() => (prefersDarkMode ? themes.dark : themes.light), [prefersDarkMode]);
25
18
 
26
19
  return (
27
20
  <ThemeProvider theme={theme}>
28
21
  <ButtonStyled
29
22
  {...props}
30
23
  sx={{
31
- color: props.variant === "contained" ? "#FFFF" : props.color,
24
+ color: props.variant === 'contained' ? '#FFFF' : props.color,
32
25
  }}
33
26
  >
34
27
  {label ? label : children}
@@ -1,47 +1,44 @@
1
- import React, { useMemo } from "react";
2
- import { Card as MuiCard, ThemeProvider, useMediaQuery } from "@mui/material";
3
- import { CardBaseProps } from "../interfaces";
4
- import { palette, themes } from "../helpers";
5
- import { styled } from "@mui/material/styles";
6
- import { ColorVariant } from "@/types";
7
-
8
- const colorMap: Record<ColorVariant, string> = {
9
- inherit: palette.inherit,
10
- primary: palette.primary,
11
- secondary: palette.secondary,
12
- error: palette.error,
13
- warning: palette.warning,
14
- info: palette.info,
15
- success: palette.success,
16
- };
17
-
18
- const CardStyled = styled(MuiCard)<{
19
- borderColor?: ColorVariant;
20
- }>(({ borderColor }) => ({
21
- padding: 16,
22
- borderRadius: 5,
23
- boxShadow: "0px 2px 8px #00000053",
24
- borderLeft: borderColor ? `7px solid ${colorMap[borderColor]}` : "none",
25
- }));
26
-
27
- export const Card = ({
28
- children,
29
- border,
30
- color = "inherit",
31
- ...props
32
- }: CardBaseProps & { border?: boolean; color?: ColorVariant }) => {
33
- const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
34
-
35
- const theme = useMemo(
36
- () => (prefersDarkMode ? themes.light : themes.dark),
37
- [prefersDarkMode]
38
- );
39
-
40
- return (
41
- <ThemeProvider theme={theme}>
42
- <CardStyled borderColor={border ? color : undefined} {...props}>
43
- {children}
44
- </CardStyled>
45
- </ThemeProvider>
46
- );
47
- };
1
+ import React, { useMemo } from 'react';
2
+ import { Card as MuiCard, ThemeProvider, useMediaQuery } from '@mui/material';
3
+ import { CardBaseProps } from '../interfaces';
4
+ import { palette, themes } from '../helpers';
5
+ import { styled } from '@mui/material/styles';
6
+ import { ColorVariant } from '@/types';
7
+
8
+ const colorMap: Record<ColorVariant, string> = {
9
+ inherit: palette.inherit,
10
+ primary: palette.primary,
11
+ secondary: palette.secondary,
12
+ error: palette.error,
13
+ warning: palette.warning,
14
+ info: palette.info,
15
+ success: palette.success,
16
+ };
17
+
18
+ const CardStyled = styled(MuiCard)<{
19
+ borderColor?: ColorVariant;
20
+ }>(({ borderColor }) => ({
21
+ padding: 16,
22
+ borderRadius: 5,
23
+ boxShadow: '0px 2px 8px #00000053',
24
+ borderLeft: borderColor ? `7px solid ${colorMap[borderColor]}` : 'none',
25
+ }));
26
+
27
+ export const Card = ({
28
+ children,
29
+ border,
30
+ color = 'inherit',
31
+ ...props
32
+ }: CardBaseProps & { border?: boolean; color?: ColorVariant }) => {
33
+ const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
34
+
35
+ const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
36
+
37
+ return (
38
+ <ThemeProvider theme={theme}>
39
+ <CardStyled borderColor={border ? color : undefined} {...props}>
40
+ {children}
41
+ </CardStyled>
42
+ </ThemeProvider>
43
+ );
44
+ };