norma-library 0.6.64 → 0.6.66

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 (167) 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/Card.js +3 -3
  9. package/dist/esm/components/Card.js.map +1 -1
  10. package/dist/esm/helpers/colors.js +6 -0
  11. package/dist/esm/helpers/colors.js.map +1 -1
  12. package/docs/index.md +118 -118
  13. package/package.json +136 -136
  14. package/src/components/Accordion.tsx +39 -39
  15. package/src/components/Avatar.tsx +17 -17
  16. package/src/components/Badge.tsx +14 -14
  17. package/src/components/Box/index.tsx +12 -12
  18. package/src/components/Box/interfaces.ts +3 -3
  19. package/src/components/Box/styles.tsx +22 -22
  20. package/src/components/Breadcrumb/index.tsx +27 -27
  21. package/src/components/Breadcrumb/interface.ts +8 -8
  22. package/src/components/Breadcrumb/styles.tsx +32 -32
  23. package/src/components/Button.tsx +26 -26
  24. package/src/components/Card.tsx +38 -38
  25. package/src/components/ChatMessage.tsx +87 -87
  26. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  27. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  28. package/src/components/CheckBox.tsx +21 -21
  29. package/src/components/DateInput/index.tsx +34 -34
  30. package/src/components/DateInput/interface.ts +13 -13
  31. package/src/components/DateInput/styles.tsx +27 -27
  32. package/src/components/DatePicker.tsx +67 -67
  33. package/src/components/DropDown.tsx +24 -24
  34. package/src/components/IconButton.tsx +37 -37
  35. package/src/components/Icons.tsx +82 -82
  36. package/src/components/Modal.tsx +103 -103
  37. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  38. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  39. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  40. package/src/components/MultiSelectInput/index.tsx +60 -60
  41. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  42. package/src/components/MultiSelectInput/styles.tsx +43 -43
  43. package/src/components/Paper.tsx +12 -12
  44. package/src/components/ProgressBar.tsx +71 -71
  45. package/src/components/RadioGroup.tsx +43 -43
  46. package/src/components/RangerSlider.tsx +65 -65
  47. package/src/components/Select.tsx +74 -74
  48. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  49. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  50. package/src/components/SelectInput/index.tsx +45 -45
  51. package/src/components/SelectInput/interfaces.ts +15 -15
  52. package/src/components/SelectInput/styles.tsx +31 -31
  53. package/src/components/StatusModal/StatusModal.style.tsx +75 -75
  54. package/src/components/StatusModal/StatusModal.tsx +58 -58
  55. package/src/components/Svgs.tsx +506 -506
  56. package/src/components/Table/components/header/index.tsx +86 -86
  57. package/src/components/Table/components/header/styles.tsx +59 -59
  58. package/src/components/Table/components/index.tsx +8 -8
  59. package/src/components/Table/components/pagination/index.tsx +39 -39
  60. package/src/components/Table/components/pagination/styles.tsx +28 -28
  61. package/src/components/Table/components/tbody/index.tsx +30 -30
  62. package/src/components/Table/components/tbody/styles.tsx +4 -4
  63. package/src/components/Table/index.tsx +317 -317
  64. package/src/components/Table/interface.ts +23 -23
  65. package/src/components/Table/styles.tsx +117 -117
  66. package/src/components/Tabs.tsx +105 -105
  67. package/src/components/Tag.tsx +33 -33
  68. package/src/components/TextField.tsx +19 -19
  69. package/src/components/TextInput/index.tsx +37 -37
  70. package/src/components/TextInput/interface.ts +9 -9
  71. package/src/components/TextInput/styles.tsx +23 -23
  72. package/src/components/TimeLine.tsx +89 -89
  73. package/src/components/TimePicker.tsx +78 -78
  74. package/src/components/Typography/Text/index.tsx +20 -20
  75. package/src/components/Typography/Text/interfaces.ts +5 -5
  76. package/src/components/Typography/Text/styles.tsx +40 -40
  77. package/src/components/Typography/Title/index.tsx +22 -22
  78. package/src/components/Typography/Title/interfaces.ts +6 -6
  79. package/src/components/Typography/Title/styles.tsx +40 -40
  80. package/src/components/Typography/index.tsx +6 -6
  81. package/src/components/UncontrolledTable/components/header/index.tsx +72 -72
  82. package/src/components/UncontrolledTable/components/header/styles.tsx +66 -66
  83. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  84. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  85. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  86. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  87. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  88. package/src/components/UncontrolledTable/index.tsx +223 -223
  89. package/src/components/UncontrolledTable/interface.ts +46 -46
  90. package/src/components/UncontrolledTable/styles.tsx +123 -123
  91. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +58 -58
  92. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +71 -71
  93. package/src/components/UncontrolledTabs/UncontrolledTabsInfo.style.ts +8 -8
  94. package/src/components/index.ts +24 -24
  95. package/src/helpers/alignments.ts +14 -14
  96. package/src/helpers/borders.ts +18 -18
  97. package/src/helpers/colors.ts +264 -258
  98. package/src/helpers/index.ts +5 -5
  99. package/src/helpers/radios.ts +24 -24
  100. package/src/helpers/sizes.ts +72 -72
  101. package/src/hooks/useClickOutside.tsx +18 -18
  102. package/src/index.ts +70 -70
  103. package/src/interfaces/Accordion.ts +12 -12
  104. package/src/interfaces/Avatar.tsx +15 -15
  105. package/src/interfaces/Badge.ts +19 -19
  106. package/src/interfaces/Button.ts +19 -19
  107. package/src/interfaces/Card.ts +11 -11
  108. package/src/interfaces/ChatMessage.ts +12 -12
  109. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  110. package/src/interfaces/CheckBox.ts +27 -27
  111. package/src/interfaces/DatePicker.ts +13 -13
  112. package/src/interfaces/DropDown.ts +14 -14
  113. package/src/interfaces/IconButton.ts +22 -22
  114. package/src/interfaces/Icons.ts +17 -17
  115. package/src/interfaces/Modal.ts +18 -18
  116. package/src/interfaces/Paper.ts +12 -12
  117. package/src/interfaces/ProgressBar.ts +29 -29
  118. package/src/interfaces/RadioGroup.ts +23 -23
  119. package/src/interfaces/RangerSlider.ts +21 -21
  120. package/src/interfaces/Select.ts +17 -17
  121. package/src/interfaces/Tabs.ts +19 -19
  122. package/src/interfaces/Tag.ts +17 -17
  123. package/src/interfaces/TextField.ts +44 -44
  124. package/src/interfaces/TimeLine.ts +11 -11
  125. package/src/interfaces/TimePicker.ts +13 -13
  126. package/src/interfaces/index.ts +23 -23
  127. package/src/providers/NormaProvider.tsx +13 -13
  128. package/src/sample-data-2.json +178 -178
  129. package/src/sample-data.json +177 -177
  130. package/src/stories/Accordion.stories.tsx +65 -65
  131. package/src/stories/Avatar.stories.tsx +123 -123
  132. package/src/stories/Badge.stories.tsx +39 -39
  133. package/src/stories/Box.stories.tsx +35 -35
  134. package/src/stories/Breadcrumb.stories.tsx +44 -44
  135. package/src/stories/Button.stories.tsx +93 -93
  136. package/src/stories/Card.stories.tsx +39 -39
  137. package/src/stories/ChatMessage.stories.tsx +84 -84
  138. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  139. package/src/stories/CheckBox.stories.tsx +88 -88
  140. package/src/stories/DateInput.stories.tsx +51 -51
  141. package/src/stories/DatePicker.stories.tsx +50 -50
  142. package/src/stories/DropDown.stories.tsx +57 -57
  143. package/src/stories/IconButton.stories.tsx +78 -78
  144. package/src/stories/Modal.stories.tsx +246 -246
  145. package/src/stories/ModalStatus.stories.tsx +46 -46
  146. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  147. package/src/stories/Paper.stories.tsx +53 -53
  148. package/src/stories/ProgressBar.stories.tsx +116 -116
  149. package/src/stories/RadioGroup.stories.tsx +87 -87
  150. package/src/stories/RangerSlider.stories.tsx +149 -149
  151. package/src/stories/Select.stories.tsx +100 -100
  152. package/src/stories/SelectInput.stories.tsx +78 -78
  153. package/src/stories/Table.stories.tsx +372 -372
  154. package/src/stories/Tabs.stories.tsx +61 -61
  155. package/src/stories/Tag.stories.tsx +56 -56
  156. package/src/stories/Text.stories.tsx +37 -37
  157. package/src/stories/TextField.stories.tsx +310 -310
  158. package/src/stories/TextInput.stories.tsx +52 -52
  159. package/src/stories/TimeLine.stories.tsx +35 -35
  160. package/src/stories/TimePicker.stories.tsx +87 -87
  161. package/src/stories/Title.stories.tsx +43 -43
  162. package/src/stories/UncontrolledTable.stories.tsx +315 -315
  163. package/src/stories/UncontrolledTabs.stories.tsx +74 -74
  164. package/src/styles/globals.scss +17 -17
  165. package/src/types/index.ts +207 -207
  166. package/src/utils/styledBreakpoints.ts +25 -25
  167. package/vite.config.ts +15 -15
package/package.json CHANGED
@@ -1,136 +1,136 @@
1
- {
2
- "name": "norma-library",
3
- "version": "0.6.64",
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
+ {
2
+ "name": "norma-library",
3
+ "version": "0.6.66",
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
  `