norma-library 0.6.2 → 0.6.4

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 (169) hide show
  1. package/.babelrc.json +18 -18
  2. package/.prettierignore +10 -10
  3. package/.prettierrc.json +20 -20
  4. package/.storybook/main.ts +20 -20
  5. package/.storybook/preview.ts +15 -15
  6. package/README.md +43 -43
  7. package/commitlint.config.js +1 -1
  8. package/dist/esm/components/UncontrolledTable/components/header/index.js +3 -1
  9. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -1
  10. package/dist/esm/components/UncontrolledTable/components/header/styles.js +1 -1
  11. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -1
  12. package/dist/esm/components/UncontrolledTable/index.js +1 -1
  13. package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
  14. package/dist/esm/components/UncontrolledTable/interface.d.ts +2 -0
  15. package/docs/index.md +118 -118
  16. package/package.json +136 -136
  17. package/src/components/Accordion.tsx +39 -39
  18. package/src/components/Avatar.tsx +17 -17
  19. package/src/components/Badge.tsx +14 -14
  20. package/src/components/Box/index.tsx +12 -12
  21. package/src/components/Box/interfaces.ts +3 -3
  22. package/src/components/Box/styles.tsx +22 -22
  23. package/src/components/Breadcrumb/index.tsx +27 -27
  24. package/src/components/Breadcrumb/interface.ts +8 -8
  25. package/src/components/Breadcrumb/styles.tsx +32 -32
  26. package/src/components/Button.tsx +26 -26
  27. package/src/components/Card.tsx +37 -37
  28. package/src/components/ChatMessage.tsx +87 -87
  29. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  30. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  31. package/src/components/CheckBox.tsx +21 -21
  32. package/src/components/DateInput/index.tsx +34 -34
  33. package/src/components/DateInput/interface.ts +13 -13
  34. package/src/components/DateInput/styles.tsx +27 -27
  35. package/src/components/DatePicker.tsx +67 -67
  36. package/src/components/DropDown.tsx +24 -24
  37. package/src/components/IconButton.tsx +37 -37
  38. package/src/components/Icons.tsx +82 -82
  39. package/src/components/Modal.tsx +103 -103
  40. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  41. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  42. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  43. package/src/components/MultiSelectInput/index.tsx +60 -60
  44. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  45. package/src/components/MultiSelectInput/styles.tsx +43 -43
  46. package/src/components/Paper.tsx +12 -12
  47. package/src/components/ProgressBar.tsx +71 -71
  48. package/src/components/RadioGroup.tsx +43 -43
  49. package/src/components/RangerSlider.tsx +65 -65
  50. package/src/components/Select.tsx +74 -74
  51. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  52. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  53. package/src/components/SelectInput/index.tsx +45 -45
  54. package/src/components/SelectInput/interfaces.ts +15 -15
  55. package/src/components/SelectInput/styles.tsx +31 -31
  56. package/src/components/StatusModal/StatusModal.style.tsx +75 -75
  57. package/src/components/StatusModal/StatusModal.tsx +58 -58
  58. package/src/components/Svgs.tsx +506 -506
  59. package/src/components/Table/components/header/index.tsx +86 -86
  60. package/src/components/Table/components/header/styles.tsx +59 -59
  61. package/src/components/Table/components/index.tsx +8 -8
  62. package/src/components/Table/components/pagination/index.tsx +39 -39
  63. package/src/components/Table/components/pagination/styles.tsx +28 -28
  64. package/src/components/Table/components/tbody/index.tsx +30 -30
  65. package/src/components/Table/components/tbody/styles.tsx +4 -4
  66. package/src/components/Table/index.tsx +317 -317
  67. package/src/components/Table/interface.ts +23 -23
  68. package/src/components/Table/styles.tsx +117 -117
  69. package/src/components/Tabs.tsx +105 -105
  70. package/src/components/Tag.tsx +33 -33
  71. package/src/components/TextField.tsx +19 -19
  72. package/src/components/TextInput/index.tsx +37 -37
  73. package/src/components/TextInput/interface.ts +9 -9
  74. package/src/components/TextInput/styles.tsx +23 -23
  75. package/src/components/TimeLine.tsx +89 -89
  76. package/src/components/TimePicker.tsx +78 -78
  77. package/src/components/Typography/Text/index.tsx +20 -20
  78. package/src/components/Typography/Text/interfaces.ts +5 -5
  79. package/src/components/Typography/Text/styles.tsx +40 -40
  80. package/src/components/Typography/Title/index.tsx +22 -22
  81. package/src/components/Typography/Title/interfaces.ts +6 -6
  82. package/src/components/Typography/Title/styles.tsx +40 -40
  83. package/src/components/Typography/index.tsx +6 -6
  84. package/src/components/UncontrolledTable/components/header/index.tsx +72 -65
  85. package/src/components/UncontrolledTable/components/header/styles.tsx +65 -63
  86. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  87. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  88. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  89. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  90. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  91. package/src/components/UncontrolledTable/index.tsx +222 -221
  92. package/src/components/UncontrolledTable/interface.ts +44 -43
  93. package/src/components/UncontrolledTable/styles.tsx +123 -123
  94. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +56 -56
  95. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +68 -68
  96. package/src/components/index.ts +24 -24
  97. package/src/helpers/alignments.ts +14 -14
  98. package/src/helpers/borders.ts +18 -18
  99. package/src/helpers/colors.ts +258 -258
  100. package/src/helpers/index.ts +5 -5
  101. package/src/helpers/radios.ts +24 -24
  102. package/src/helpers/sizes.ts +72 -72
  103. package/src/hooks/useClickOutside.tsx +18 -18
  104. package/src/index.ts +70 -70
  105. package/src/interfaces/Accordion.ts +12 -12
  106. package/src/interfaces/Avatar.tsx +15 -15
  107. package/src/interfaces/Badge.ts +19 -19
  108. package/src/interfaces/Button.ts +22 -22
  109. package/src/interfaces/Card.ts +11 -11
  110. package/src/interfaces/ChatMessage.ts +12 -12
  111. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  112. package/src/interfaces/CheckBox.ts +27 -27
  113. package/src/interfaces/DatePicker.ts +13 -13
  114. package/src/interfaces/DropDown.ts +14 -14
  115. package/src/interfaces/IconButton.ts +22 -22
  116. package/src/interfaces/Icons.ts +17 -17
  117. package/src/interfaces/Modal.ts +18 -18
  118. package/src/interfaces/Paper.ts +12 -12
  119. package/src/interfaces/ProgressBar.ts +29 -29
  120. package/src/interfaces/RadioGroup.ts +23 -23
  121. package/src/interfaces/RangerSlider.ts +21 -21
  122. package/src/interfaces/Select.ts +17 -17
  123. package/src/interfaces/Tabs.ts +19 -19
  124. package/src/interfaces/Tag.ts +17 -17
  125. package/src/interfaces/TextField.ts +44 -44
  126. package/src/interfaces/TimeLine.ts +11 -11
  127. package/src/interfaces/TimePicker.ts +13 -13
  128. package/src/interfaces/index.ts +23 -23
  129. package/src/providers/NormaProvider.tsx +13 -13
  130. package/src/sample-data-2.json +178 -178
  131. package/src/sample-data.json +177 -177
  132. package/src/stories/Accordion.stories.tsx +65 -65
  133. package/src/stories/Avatar.stories.tsx +123 -123
  134. package/src/stories/Badge.stories.tsx +39 -39
  135. package/src/stories/Box.stories.tsx +35 -35
  136. package/src/stories/Breadcrumb.stories.tsx +44 -44
  137. package/src/stories/Button.stories.tsx +93 -93
  138. package/src/stories/Card.stories.tsx +39 -39
  139. package/src/stories/ChatMessage.stories.tsx +84 -84
  140. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  141. package/src/stories/CheckBox.stories.tsx +88 -88
  142. package/src/stories/DateInput.stories.tsx +51 -51
  143. package/src/stories/DatePicker.stories.tsx +50 -50
  144. package/src/stories/DropDown.stories.tsx +57 -57
  145. package/src/stories/IconButton.stories.tsx +78 -78
  146. package/src/stories/Modal.stories.tsx +246 -246
  147. package/src/stories/ModalStatus.stories.tsx +46 -46
  148. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  149. package/src/stories/Paper.stories.tsx +53 -53
  150. package/src/stories/ProgressBar.stories.tsx +116 -116
  151. package/src/stories/RadioGroup.stories.tsx +87 -87
  152. package/src/stories/RangerSlider.stories.tsx +149 -149
  153. package/src/stories/Select.stories.tsx +100 -100
  154. package/src/stories/SelectInput.stories.tsx +78 -78
  155. package/src/stories/Table.stories.tsx +372 -372
  156. package/src/stories/Tabs.stories.tsx +61 -61
  157. package/src/stories/Tag.stories.tsx +56 -56
  158. package/src/stories/Text.stories.tsx +37 -37
  159. package/src/stories/TextField.stories.tsx +310 -310
  160. package/src/stories/TextInput.stories.tsx +52 -52
  161. package/src/stories/TimeLine.stories.tsx +35 -35
  162. package/src/stories/TimePicker.stories.tsx +87 -87
  163. package/src/stories/Title.stories.tsx +43 -43
  164. package/src/stories/UncontrolledTable.stories.tsx +315 -305
  165. package/src/stories/UncontrolledTabs.stories.tsx +63 -63
  166. package/src/styles/globals.scss +17 -17
  167. package/src/types/index.ts +207 -207
  168. package/src/utils/styledBreakpoints.ts +25 -25
  169. package/vite.config.ts +15 -15
package/package.json CHANGED
@@ -1,136 +1,136 @@
1
- {
2
- "name": "norma-library",
3
- "version": "0.6.002",
4
- "private": false,
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
- "scripts": {
7
- "build": "tsc",
8
- "start": "yarn storybook",
9
- "storybook": "storybook dev -p 6006",
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
- "prettier": "npx prettier \"./**/*.{js,json,ts,tsx}\" --write",
16
- "tar": "tar -cvf norma-library.tar ./storybook-static"
17
- },
18
- "author": "José Roberto Miguel Filho",
19
- "module": "dist/esm/index.js",
20
- "main": "dist/esm/index.js",
21
- "license": "BSD-3-Clause",
22
- "keywords": [
23
- "react",
24
- "design-system",
25
- "material-ui",
26
- "mui",
27
- "typescripts",
28
- "styled-components"
29
- ],
30
- "devDependencies": {
31
- "@babel/preset-env": "^7.22.15",
32
- "@babel/preset-react": "^7.22.15",
33
- "@babel/preset-typescript": "^7.22.15",
34
- "@emotion/core": "^11.0.0",
35
- "@emotion/styled-base": "^11.0.0",
36
- "@mdx-js/loader": "^2.3.0",
37
- "@storybook/addon-essentials": "^7.5.0",
38
- "@storybook/addon-interactions": "^7.5.0",
39
- "@storybook/addon-links": "^7.5.0",
40
- "@storybook/addon-onboarding": "^1.0.8",
41
- "@storybook/addon-styling": "^1.3.7",
42
- "@storybook/blocks": "^7.5.0",
43
- "@storybook/react": "^7.5.0",
44
- "@storybook/react-vite": "^7.5.0",
45
- "@storybook/react-webpack5": "^7.5.0-alpha.1",
46
- "@storybook/testing-library": "^0.2.2",
47
- "@types/react": "^18.2.15",
48
- "@types/react-datepicker": "^4.19.1",
49
- "@types/react-dom": "^18.2.7",
50
- "@typescript-eslint/eslint-plugin": "^6.0.0",
51
- "@typescript-eslint/parser": "^6.0.0",
52
- "@vitejs/plugin-react": "^4.0.3",
53
- "autoprefixer": "^10.4.15",
54
- "camelcase": "^8.0.0",
55
- "chalk": "^5.3.0",
56
- "commitizen": "^4.3.0",
57
- "copy-to-clipboard": "^3.3.3",
58
- "cz-conventional-changelog": "^3.3.0",
59
- "dotenv": "^16.3.1",
60
- "eslint": "^8.45.0",
61
- "eslint-plugin-react-hooks": "^4.6.0",
62
- "eslint-plugin-react-refresh": "^0.4.3",
63
- "eslint-plugin-storybook": "^0.6.15",
64
- "git-cz": "^4.9.0",
65
- "lint-staged": "^14.0.1",
66
- "path": "^0.12.7",
67
- "postcss": "^8.4.29",
68
- "postcss-prettify": "^0.3.4",
69
- "react": "^18.2.0",
70
- "react-dom": "^18.2.0",
71
- "rimraf": "^5.0.5",
72
- "storybook": "^7.5.0",
73
- "storybook-dark-mode": "^3.0.1",
74
- "style-loader": "^3.3.3",
75
- "tsconfig-paths-webpack-plugin": "^4.1.0",
76
- "typescript": "^5.0.2",
77
- "vite": "^4.4.5"
78
- },
79
- "lint-staged": {
80
- "*.{md,mdx}": [
81
- "yarn prettier",
82
- "yarn eslint",
83
- "git add"
84
- ],
85
- "*.{js,json,ts,tsx}": [
86
- "yarn prettier",
87
- "yarn eslint",
88
- "git add"
89
- ]
90
- },
91
- "dependencies": {
92
- "@emotion/react": "^11.11.1",
93
- "@emotion/styled": "^11.11.0",
94
- "@mui/icons-material": "^5.14.9",
95
- "@mui/lab": "^5.0.0-alpha.152",
96
- "@mui/material": "^6.1.7",
97
- "@mui/x-date-pickers": "^6.20.2",
98
- "@storybook/addon-mdx-gfm": "^7.5.2",
99
- "@tanstack/react-table": "^8.10.7",
100
- "dayjs": "^1.11.9",
101
- "react-datepicker": "^4.21.0",
102
- "react-i18next": "^13.2.2",
103
- "react-select": "^5.8.0",
104
- "styled-components": "^6.1.0",
105
- "tslib": "^2.6.2"
106
- },
107
- "peerDependencies": {
108
- "react": "^17.0.0 || ^18.0.0",
109
- "react-dom": "^17.0.0 || ^18.0.0"
110
- },
111
- "browserslist": {
112
- "production": [
113
- ">0.2%",
114
- "not dead",
115
- "not op_mini all"
116
- ],
117
- "development": [
118
- "last 1 chrome version",
119
- "last 1 firefox version",
120
- "last 1 safari version"
121
- ]
122
- },
123
- "repository": {
124
- "type": "git",
125
- "url": "https://github.com/OlosLive/norma-library"
126
- },
127
- "bugs": {
128
- "url": "https://github.com/OlosLive/norma-library/issues"
129
- },
130
- "homepage": "https://github.com/OlosLive/norma-library",
131
- "config": {
132
- "commitizen": {
133
- "path": "./node_modules/cz-conventional-changelog"
134
- }
135
- }
136
- }
1
+ {
2
+ "name": "norma-library",
3
+ "version": "0.6.004",
4
+ "private": false,
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
+ "scripts": {
7
+ "build": "tsc",
8
+ "start": "yarn storybook",
9
+ "storybook": "storybook dev -p 6006",
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
+ "prettier": "npx prettier \"./**/*.{js,json,ts,tsx}\" --write",
16
+ "tar": "tar -cvf norma-library.tar ./storybook-static"
17
+ },
18
+ "author": "José Roberto Miguel Filho",
19
+ "module": "dist/esm/index.js",
20
+ "main": "dist/esm/index.js",
21
+ "license": "BSD-3-Clause",
22
+ "keywords": [
23
+ "react",
24
+ "design-system",
25
+ "material-ui",
26
+ "mui",
27
+ "typescripts",
28
+ "styled-components"
29
+ ],
30
+ "devDependencies": {
31
+ "@babel/preset-env": "^7.22.15",
32
+ "@babel/preset-react": "^7.22.15",
33
+ "@babel/preset-typescript": "^7.22.15",
34
+ "@emotion/core": "^11.0.0",
35
+ "@emotion/styled-base": "^11.0.0",
36
+ "@mdx-js/loader": "^2.3.0",
37
+ "@storybook/addon-essentials": "^7.5.0",
38
+ "@storybook/addon-interactions": "^7.5.0",
39
+ "@storybook/addon-links": "^7.5.0",
40
+ "@storybook/addon-onboarding": "^1.0.8",
41
+ "@storybook/addon-styling": "^1.3.7",
42
+ "@storybook/blocks": "^7.5.0",
43
+ "@storybook/react": "^7.5.0",
44
+ "@storybook/react-vite": "^7.5.0",
45
+ "@storybook/react-webpack5": "^7.5.0-alpha.1",
46
+ "@storybook/testing-library": "^0.2.2",
47
+ "@types/react": "^18.2.15",
48
+ "@types/react-datepicker": "^4.19.1",
49
+ "@types/react-dom": "^18.2.7",
50
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
51
+ "@typescript-eslint/parser": "^6.0.0",
52
+ "@vitejs/plugin-react": "^4.0.3",
53
+ "autoprefixer": "^10.4.15",
54
+ "camelcase": "^8.0.0",
55
+ "chalk": "^5.3.0",
56
+ "commitizen": "^4.3.0",
57
+ "copy-to-clipboard": "^3.3.3",
58
+ "cz-conventional-changelog": "^3.3.0",
59
+ "dotenv": "^16.3.1",
60
+ "eslint": "^8.45.0",
61
+ "eslint-plugin-react-hooks": "^4.6.0",
62
+ "eslint-plugin-react-refresh": "^0.4.3",
63
+ "eslint-plugin-storybook": "^0.6.15",
64
+ "git-cz": "^4.9.0",
65
+ "lint-staged": "^14.0.1",
66
+ "path": "^0.12.7",
67
+ "postcss": "^8.4.29",
68
+ "postcss-prettify": "^0.3.4",
69
+ "react": "^18.2.0",
70
+ "react-dom": "^18.2.0",
71
+ "rimraf": "^5.0.5",
72
+ "storybook": "^7.5.0",
73
+ "storybook-dark-mode": "^3.0.1",
74
+ "style-loader": "^3.3.3",
75
+ "tsconfig-paths-webpack-plugin": "^4.1.0",
76
+ "typescript": "^5.0.2",
77
+ "vite": "^4.4.5"
78
+ },
79
+ "lint-staged": {
80
+ "*.{md,mdx}": [
81
+ "yarn prettier",
82
+ "yarn eslint",
83
+ "git add"
84
+ ],
85
+ "*.{js,json,ts,tsx}": [
86
+ "yarn prettier",
87
+ "yarn eslint",
88
+ "git add"
89
+ ]
90
+ },
91
+ "dependencies": {
92
+ "@emotion/react": "^11.11.1",
93
+ "@emotion/styled": "^11.11.0",
94
+ "@mui/icons-material": "^5.14.9",
95
+ "@mui/lab": "^5.0.0-alpha.152",
96
+ "@mui/material": "^5.16.7",
97
+ "@mui/x-date-pickers": "^6.20.2",
98
+ "@storybook/addon-mdx-gfm": "^7.5.2",
99
+ "@tanstack/react-table": "^8.10.7",
100
+ "dayjs": "^1.11.9",
101
+ "react-datepicker": "^4.21.0",
102
+ "react-i18next": "^13.2.2",
103
+ "react-select": "^5.8.0",
104
+ "styled-components": "^6.1.0",
105
+ "tslib": "^2.6.2"
106
+ },
107
+ "peerDependencies": {
108
+ "react": "^17.0.0 || ^18.0.0",
109
+ "react-dom": "^17.0.0 || ^18.0.0"
110
+ },
111
+ "browserslist": {
112
+ "production": [
113
+ ">0.2%",
114
+ "not dead",
115
+ "not op_mini all"
116
+ ],
117
+ "development": [
118
+ "last 1 chrome version",
119
+ "last 1 firefox version",
120
+ "last 1 safari version"
121
+ ]
122
+ },
123
+ "repository": {
124
+ "type": "git",
125
+ "url": "https://github.com/OlosLive/norma-library"
126
+ },
127
+ "bugs": {
128
+ "url": "https://github.com/OlosLive/norma-library/issues"
129
+ },
130
+ "homepage": "https://github.com/OlosLive/norma-library",
131
+ "config": {
132
+ "commitizen": {
133
+ "path": "./node_modules/cz-conventional-changelog"
134
+ }
135
+ }
136
+ }
@@ -1,39 +1,39 @@
1
- import React from 'react';
2
- import {
3
- AccordionDetails,
4
- AccordionSummary,
5
- Accordion as MuiAccordion,
6
- Typography
7
- } from '@mui/material';
8
- import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
9
- import { AccordionBaseProps } from '../interfaces';
10
- import { styled } from '@mui/material/styles';
11
-
12
- const AccordionStyled = styled(MuiAccordion)({});
13
-
14
- export const Accordion = ({ data = [], defaultExpanded = false, ...props }: AccordionBaseProps) => {
15
- const [expanded, setExpanded] = React.useState<boolean | string>(defaultExpanded);
16
-
17
- const handleChange = (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => {
18
- console.log('Event ==> ', event);
19
- setExpanded(isExpanded ? panel : false);
20
- };
21
-
22
- return (
23
- <>
24
- {data &&
25
- data.map((item, key) => (
26
- <AccordionStyled expanded={expanded === item.id} onChange={handleChange(item.id)} key={key} {...props}>
27
- <AccordionSummary
28
- expandIcon={<ExpandMoreIcon />}
29
- aria-controls={`panel-${key}-content`}
30
- id={`panel-${key}-header`}
31
- >
32
- <Typography sx={{ width: '66%', flexShrink: 0 }}>{item.label}</Typography>
33
- </AccordionSummary>
34
- <AccordionDetails>{item.children}</AccordionDetails>
35
- </AccordionStyled>
36
- ))}
37
- </>
38
- );
39
- };
1
+ import React from 'react';
2
+ import {
3
+ AccordionDetails,
4
+ AccordionSummary,
5
+ Accordion as MuiAccordion,
6
+ Typography
7
+ } from '@mui/material';
8
+ import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
9
+ import { AccordionBaseProps } from '../interfaces';
10
+ import { styled } from '@mui/material/styles';
11
+
12
+ const AccordionStyled = styled(MuiAccordion)({});
13
+
14
+ export const Accordion = ({ data = [], defaultExpanded = false, ...props }: AccordionBaseProps) => {
15
+ const [expanded, setExpanded] = React.useState<boolean | string>(defaultExpanded);
16
+
17
+ const handleChange = (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => {
18
+ console.log('Event ==> ', event);
19
+ setExpanded(isExpanded ? panel : false);
20
+ };
21
+
22
+ return (
23
+ <>
24
+ {data &&
25
+ data.map((item, key) => (
26
+ <AccordionStyled expanded={expanded === item.id} onChange={handleChange(item.id)} key={key} {...props}>
27
+ <AccordionSummary
28
+ expandIcon={<ExpandMoreIcon />}
29
+ aria-controls={`panel-${key}-content`}
30
+ id={`panel-${key}-header`}
31
+ >
32
+ <Typography sx={{ width: '66%', flexShrink: 0 }}>{item.label}</Typography>
33
+ </AccordionSummary>
34
+ <AccordionDetails>{item.children}</AccordionDetails>
35
+ </AccordionStyled>
36
+ ))}
37
+ </>
38
+ );
39
+ };
@@ -1,17 +1,17 @@
1
- import React from 'react';
2
-
3
- import { Avatar as MuiVatar } from '@mui/material';
4
-
5
- import { AvatarBaseProps } from '../interfaces';
6
- import { styled } from '@mui/material/styles';
7
-
8
- const AvatarStyled = styled(MuiVatar)({
9
- textTransform: 'none',
10
- color: 'currentcolor',
11
- });
12
-
13
- export const Avatar: React.FC<AvatarBaseProps> = ({ src, ...props }) => {
14
- return (
15
- <AvatarStyled src={src} {...props} />
16
- );
17
- };
1
+ import React from 'react';
2
+
3
+ import { Avatar as MuiVatar } from '@mui/material';
4
+
5
+ import { AvatarBaseProps } from '../interfaces';
6
+ import { styled } from '@mui/material/styles';
7
+
8
+ const AvatarStyled = styled(MuiVatar)({
9
+ textTransform: 'none',
10
+ color: 'currentcolor',
11
+ });
12
+
13
+ export const Avatar: React.FC<AvatarBaseProps> = ({ src, ...props }) => {
14
+ return (
15
+ <AvatarStyled src={src} {...props} />
16
+ );
17
+ };
@@ -1,14 +1,14 @@
1
- import React from 'react';
2
-
3
- import { Badge as MuiBadge } from '@mui/material';
4
-
5
- import { BadgeBaseProps } from '../interfaces';
6
- import { styled } from '@mui/material/styles';
7
-
8
- const BadgeStyled = styled(MuiBadge)({});
9
-
10
- export const Badge: React.FC<BadgeBaseProps> = ({ ...props }) => {
11
- return (
12
- <BadgeStyled {...props} />
13
- );
14
- };
1
+ import React from 'react';
2
+
3
+ import { Badge as MuiBadge } from '@mui/material';
4
+
5
+ import { BadgeBaseProps } from '../interfaces';
6
+ import { styled } from '@mui/material/styles';
7
+
8
+ const BadgeStyled = styled(MuiBadge)({});
9
+
10
+ export const Badge: React.FC<BadgeBaseProps> = ({ ...props }) => {
11
+ return (
12
+ <BadgeStyled {...props} />
13
+ );
14
+ };
@@ -1,13 +1,13 @@
1
- import React from 'react'
2
- import * as S from "./styles"
3
- import { BoxProps } from "./interfaces"
4
-
5
- const Box:React.FC<BoxProps> = ({ children, size }) => {
6
- return (
7
- <S.Container size={size}>
8
- {children}
9
- </S.Container>
10
- )
11
- }
12
-
1
+ import React from 'react'
2
+ import * as S from "./styles"
3
+ import { BoxProps } from "./interfaces"
4
+
5
+ const Box:React.FC<BoxProps> = ({ children, size }) => {
6
+ return (
7
+ <S.Container size={size}>
8
+ {children}
9
+ </S.Container>
10
+ )
11
+ }
12
+
13
13
  export default Box
@@ -1,4 +1,4 @@
1
- export interface BoxProps {
2
- children: JSX.Element[] | JSX.Element
3
- size: string
1
+ export interface BoxProps {
2
+ children: JSX.Element[] | JSX.Element
3
+ size: string
4
4
  }
@@ -1,23 +1,23 @@
1
- import styled from 'styled-components'
2
- import { BoxProps } from "./interfaces"
3
-
4
- const setSizeSelected = (size: string) => {
5
- switch (size) {
6
- case "small":
7
- return "10px";
8
- case "medium":
9
- return "16px";
10
- case "large":
11
- return "24px"
12
- default:
13
- return "16px";
14
- }
15
- }
16
-
17
- export const Container = styled.div<BoxProps>`
18
- background: #fff;
19
- border-radius: 5px;
20
- width: 100%;
21
- box-shadow: 0px 2px 6px #0000000A;
22
- padding: ${props => setSizeSelected(props.size)}
1
+ import styled from 'styled-components'
2
+ import { BoxProps } from "./interfaces"
3
+
4
+ const setSizeSelected = (size: string) => {
5
+ switch (size) {
6
+ case "small":
7
+ return "10px";
8
+ case "medium":
9
+ return "16px";
10
+ case "large":
11
+ return "24px"
12
+ default:
13
+ return "16px";
14
+ }
15
+ }
16
+
17
+ export const Container = styled.div<BoxProps>`
18
+ background: #fff;
19
+ border-radius: 5px;
20
+ width: 100%;
21
+ box-shadow: 0px 2px 6px #0000000A;
22
+ padding: ${props => setSizeSelected(props.size)}
23
23
  `
@@ -1,27 +1,27 @@
1
- import React, { useMemo } from 'react';
2
- import * as S from "./styles"
3
- import { BreadcrumbProps, Link } from './interface';
4
-
5
- const Breadcrumb:React.FC<BreadcrumbProps> = ({ links, onChange }) => {
6
- const listLinks = useMemo(() => {
7
- return links.map((link: Link, index: number, self: Link[]) => {
8
- const showIcon = self.length > index + 1
9
- return (
10
- <div className='content' key={index}>
11
- <S.Link onClick={() => onChange(link)}>{link.name}</S.Link>
12
- { showIcon ? <S.Arrow><i className="icon"></i></S.Arrow> : null }
13
- </div>
14
- )
15
- })
16
- }, [links])
17
-
18
- return (
19
- <S.Container>
20
- <S.ListLinks>
21
- { listLinks }
22
- </S.ListLinks>
23
- </S.Container>
24
- )
25
- }
26
-
27
- export default Breadcrumb
1
+ import React, { useMemo } from 'react';
2
+ import * as S from "./styles"
3
+ import { BreadcrumbProps, Link } from './interface';
4
+
5
+ const Breadcrumb:React.FC<BreadcrumbProps> = ({ links, onChange }) => {
6
+ const listLinks = useMemo(() => {
7
+ return links.map((link: Link, index: number, self: Link[]) => {
8
+ const showIcon = self.length > index + 1
9
+ return (
10
+ <div className='content' key={index}>
11
+ <S.Link onClick={() => onChange(link)}>{link.name}</S.Link>
12
+ { showIcon ? <S.Arrow><i className="icon"></i></S.Arrow> : null }
13
+ </div>
14
+ )
15
+ })
16
+ }, [links])
17
+
18
+ return (
19
+ <S.Container>
20
+ <S.ListLinks>
21
+ { listLinks }
22
+ </S.ListLinks>
23
+ </S.Container>
24
+ )
25
+ }
26
+
27
+ export default Breadcrumb
@@ -1,9 +1,9 @@
1
- export interface Link {
2
- name: string
3
- route: string
4
- }
5
-
6
- export interface BreadcrumbProps {
7
- links: Link[]
8
- onChange: Function
1
+ export interface Link {
2
+ name: string
3
+ route: string
4
+ }
5
+
6
+ export interface BreadcrumbProps {
7
+ links: Link[]
8
+ onChange: Function
9
9
  }
@@ -1,33 +1,33 @@
1
- import styled from "styled-components";
2
-
3
- export const Container = styled.div`
4
- margin: 0 0 16px 0;
5
- `
6
-
7
- export const ListLinks = styled.div`
8
- display: flex;
9
- gap: 8px;
10
- .content {
11
- display: flex;
12
- gap: 8px;
13
- }
14
- `
15
-
16
- export const Link = styled.p`
17
- color: #666;
18
- font-size: 14px;
19
- cursor: pointer;
20
- `
21
-
22
- export const Arrow = styled.div`
23
- display: flex;
24
- align-items: center;
25
- .icon {
26
- border: solid #999;
27
- border-width: 0 2px 2px 0;
28
- display: inline-block;
29
- padding: 2px;
30
- transform: rotate(-45deg);
31
- -webkit-transform: rotate(-45deg);
32
- }
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ margin: 0 0 16px 0;
5
+ `
6
+
7
+ export const ListLinks = styled.div`
8
+ display: flex;
9
+ gap: 8px;
10
+ .content {
11
+ display: flex;
12
+ gap: 8px;
13
+ }
14
+ `
15
+
16
+ export const Link = styled.p`
17
+ color: #666;
18
+ font-size: 14px;
19
+ cursor: pointer;
20
+ `
21
+
22
+ export const Arrow = styled.div`
23
+ display: flex;
24
+ align-items: center;
25
+ .icon {
26
+ border: solid #999;
27
+ border-width: 0 2px 2px 0;
28
+ display: inline-block;
29
+ padding: 2px;
30
+ transform: rotate(-45deg);
31
+ -webkit-transform: rotate(-45deg);
32
+ }
33
33
  `