tycho-components 0.0.2 → 0.0.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.
@@ -1,11 +1,11 @@
1
1
  import type { Preview } from '@storybook/react';
2
2
  import { CommonProvider } from '../src/configs/CommonContext';
3
- import configLocalization from '../src/configs/Localization';
3
+ import commonLocalization from '../src/configs/Localization';
4
4
  import '../src/styles/bootstrap.min.css';
5
5
  import '../src/styles/main.scss';
6
6
  import './preview.css';
7
7
 
8
- configLocalization();
8
+ commonLocalization();
9
9
 
10
10
  const preview: Preview = {
11
11
  parameters: {
package/package.json CHANGED
@@ -1,44 +1,42 @@
1
1
  {
2
2
  "name": "tycho-components",
3
3
  "private": false,
4
- "version": "0.0.2",
4
+ "version": "0.0.4",
5
5
  "main": "src/index.ts",
6
6
  "dependencies": {
7
- "@emotion/react": "^11.11.1",
8
- "@emotion/styled": "^11.11.0",
7
+ "@emotion/react": "^11.13.3",
8
+ "@emotion/styled": "^11.13.0",
9
9
  "@fortawesome/fontawesome-svg-core": "^6.4.2",
10
10
  "@fortawesome/free-regular-svg-icons": "^6.4.2",
11
11
  "@fortawesome/free-solid-svg-icons": "^6.4.2",
12
12
  "@fortawesome/react-fontawesome": "^0.2.0",
13
+ "@mui/icons-material": "6.1.5",
14
+ "@mui/material": "6.1.5",
13
15
  "axios": "^1.7.7"
14
16
  },
15
17
  "peerDependencies": {
16
- "react": ">=17 <19",
17
- "react-dom": ">=17 <19",
18
18
  "@hookform/resolvers": "^3.1.1",
19
19
  "bootstrap": "^5.3.1",
20
20
  "classnames": "^2.5.1",
21
21
  "date-fns": "^2.29.1",
22
22
  "date-fns-tz": "^1.3.6",
23
+ "i18next": "^23.3.0",
23
24
  "i18next-browser-languagedetector": "^7.1.0",
24
25
  "js-cookie": "^3.0.5",
26
+ "react": ">=17 <19",
25
27
  "react-bootstrap": "^2.8.0",
26
28
  "react-colorful": "^5.6.1",
29
+ "react-dom": ">=17 <19",
27
30
  "react-easy-edit": "^2.0.0",
31
+ "react-hook-form": "^7.45.2",
28
32
  "react-i18next": "^13.0.2",
29
33
  "react-loading": "^2.0.3",
30
- "react-toastify": "^9.1.3",
31
34
  "react-switch": "^7.1.0",
32
- "tycho-storybook": "^0.0.33",
35
+ "react-toastify": "^9.1.3",
36
+ "tycho-storybook": "0.0.33",
33
37
  "yup": "^1.2.0"
34
38
  },
35
39
  "devDependencies": {
36
- "vite-plugin-checker": "^0.6.1",
37
- "vite-plugin-svgr": "^3.2.0",
38
- "react": "^18.2.0",
39
- "react-dom": "^18.2.0",
40
- "@types/react": "^18.2.0",
41
- "@types/react-dom": "^18.2.0",
42
40
  "@storybook/addon-essentials": "^7.5.3",
43
41
  "@storybook/addon-interactions": "^7.5.3",
44
42
  "@storybook/addon-links": "^7.5.3",
@@ -49,6 +47,8 @@
49
47
  "@storybook/react-vite": "^7.5.3",
50
48
  "@storybook/testing-library": "^0.2.2",
51
49
  "@types/js-cookie": "^3.0.6",
50
+ "@types/react": "^18.2.0",
51
+ "@types/react-dom": "^18.2.0",
52
52
  "@typescript-eslint/eslint-plugin": "^5.62.0",
53
53
  "@typescript-eslint/parser": "^5.62.0",
54
54
  "@vitejs/plugin-react": "^4.1.1",
@@ -56,9 +56,13 @@
56
56
  "eslint-plugin-react-hooks": "^4.6.2",
57
57
  "eslint-plugin-react-refresh": "^0.4.1",
58
58
  "eslint-plugin-storybook": "^0.11.2",
59
+ "react": "^18.2.0",
60
+ "react-dom": "^18.2.0",
59
61
  "storybook": "^7.5.3",
60
62
  "typescript": "^5.2.2",
61
63
  "vite": "^4.5.0",
64
+ "vite-plugin-checker": "^0.6.1",
65
+ "vite-plugin-svgr": "^3.2.0",
62
66
  "vitest": "^0.33.0"
63
67
  },
64
68
  "scripts": {
@@ -1,4 +1,4 @@
1
- @use 'tycho-storybook/src/styles/main' as *;
1
+ @use '../new-styles/main' as *;
2
2
 
3
3
  .modal-container {
4
4
  .header {
@@ -3,7 +3,6 @@ import { TFunction } from 'i18next';
3
3
  import { useContext } from 'react';
4
4
  import { useForm } from 'react-hook-form';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { TextField } from 'tycho-storybook';
7
6
  import * as yup from 'yup';
8
7
  import AppModal from '../../AppModal';
9
8
  import CommonContext from '../../configs/CommonContext';
@@ -11,6 +10,7 @@ import { toastLoading } from '../../configs/store/actions';
11
10
  import Participant, { ParticipantCreateRequest } from '../types/Participant';
12
11
  import ParticipantService from '../types/ParticipantService';
13
12
  import './style.scss';
13
+ import { TextField } from 'tycho-storybook';
14
14
 
15
15
  type Props = {
16
16
  document: string;
@@ -1,4 +1,4 @@
1
- import { faPlus, faTimes } from '@fortawesome/free-solid-svg-icons';
1
+ import { faPlus, faTrash } from '@fortawesome/free-solid-svg-icons';
2
2
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
3
  import { useContext, useEffect, useState } from 'react';
4
4
  import { Button, Form } from 'react-bootstrap';
@@ -25,7 +25,7 @@ export default function Participants({
25
25
  onChange,
26
26
  }: Props) {
27
27
  const { t } = useTranslation('participants');
28
- const { dispatch, state } = useContext(CommonContext);
28
+ const { dispatch } = useContext(CommonContext);
29
29
 
30
30
  const [participant, setParticipant] = useState<Participant>();
31
31
  const [openRemove, setOpenRemove] = useState(false);
@@ -69,7 +69,7 @@ export default function Participants({
69
69
  onClick={() => setOpenCreate(true)}
70
70
  >
71
71
  <FontAwesomeIcon icon={faPlus} title={t('button.label.add')} />
72
- <span className="ms-2">add new participant</span>
72
+ <span className="ms-2">{t('button.label.add')}</span>
73
73
  </button>
74
74
  </div>
75
75
  </div>
@@ -104,8 +104,8 @@ export default function Participants({
104
104
  setOpenRemove(true);
105
105
  }}
106
106
  >
107
- <FontAwesomeIcon icon={faTimes} />
108
- <span className="ms-1">Remove</span>
107
+ <FontAwesomeIcon icon={faTrash} />
108
+ <span className="ms-1">{t('common:button.remove')}</span>
109
109
  </Button>
110
110
  </div>
111
111
  </>
@@ -4,21 +4,23 @@ import { initReactI18next } from 'react-i18next';
4
4
  import { ParticipantsTexts } from './localization/ParticipantsTexts';
5
5
  import { CommonTexts } from './localization/CommonTexts';
6
6
 
7
- export default function configLocalization() {
7
+ export const commonResources = {
8
+ en: {
9
+ common: CommonTexts.en,
10
+ participants: ParticipantsTexts.en,
11
+ },
12
+ 'pt-BR': {
13
+ common: CommonTexts['pt-BR'],
14
+ participants: ParticipantsTexts['pt-BR'],
15
+ },
16
+ };
17
+
18
+ export default function commonLocalization() {
8
19
  i18n
9
20
  .use(initReactI18next)
10
21
  .use(languageDetector)
11
22
  .init({
12
- resources: {
13
- en: {
14
- common: CommonTexts.en,
15
- participants: ParticipantsTexts.en,
16
- },
17
- 'pt-BR': {
18
- common: CommonTexts['pt-BR'],
19
- participants: ParticipantsTexts['pt-BR'],
20
- },
21
- },
23
+ resources: commonResources,
22
24
  fallbackLng: 'en',
23
25
  defaultNS: 'message',
24
26
  interpolation: {
@@ -2,6 +2,7 @@ export const CommonTexts = {
2
2
  en: {
3
3
  'button.confirm': 'Confirm',
4
4
  'button.cancel': 'Cancel',
5
+ 'button.remove': 'Remove',
5
6
  'pagination.label.showing': 'Showing',
6
7
  'pagination.label.results': 'results per page',
7
8
  'pagination.label.total': 'Total',
@@ -1,7 +1,7 @@
1
1
  export const ParticipantsTexts = {
2
2
  en: {
3
3
  'label.title': 'Participants',
4
- 'button.label.add': 'Add participant',
4
+ 'button.label.add': 'add new participant',
5
5
  'participant.field.order': 'Order',
6
6
  'participant.field.code': 'Code',
7
7
  'participant.field.name': 'Name',
package/src/index.ts CHANGED
@@ -5,3 +5,5 @@ export { default as Participants } from './Participants';
5
5
  export { default as AppModal } from './AppModal';
6
6
  export { default as AppModalConfirm } from './AppModal/AppModalConfirm';
7
7
  export { default as AppModalRemove } from './AppModal/AppModalRemove';
8
+ export { commonResources } from './configs/Localization';
9
+ export { CommonProvider } from './configs/CommonContext';
@@ -0,0 +1,30 @@
1
+ // borders, dividers and border radius
2
+
3
+ :root {
4
+ --border-0: 0px;
5
+ --border-050: 0.5px;
6
+ --border-100: 1px;
7
+ --border-150: 1.5px;
8
+ --border-200: 2px;
9
+ --border-250: 2.5px;
10
+ --border-300: 3px;
11
+ --border-400: 4px;
12
+ --border-500: 5px;
13
+ --border-600: 6px;
14
+ --border-700: 7px;
15
+ --border-800: 8px;
16
+
17
+ --radius-0: 0px;
18
+ --radius-050: 2px;
19
+ --radius-100: 4px;
20
+ --radius-200: 8px;
21
+ --radius-300: 12px;
22
+ --radius-400: 16px;
23
+ --radius-500: 20px;
24
+ --radius-600: 24px;
25
+ --radius-700: 28px;
26
+ --radius-800: 32px;
27
+ --radius-900: 36px;
28
+ --radius-1000: 40px;
29
+ --radius-full: 999px;
30
+ }
@@ -0,0 +1,100 @@
1
+ // colors, tonal scales for accent, neutral and semantic
2
+
3
+ :root {
4
+ --accent-0: #000000;
5
+ --accent-10: #142e57;
6
+ --accent-100: #ffffff;
7
+ --accent-20: #194c8f;
8
+ --accent-30: #185abd;
9
+ --accent-40: #146ce1;
10
+ --accent-50: #1c83f4;
11
+ --accent-60: #32a2ff;
12
+ --accent-70: #59bfff;
13
+ --accent-80: #8ed8ff;
14
+ --accent-90: #bce6ff;
15
+ --accent-95: #d9f0ff;
16
+ --accent-99: #eef9ff;
17
+ --high-contrast-blue: #6bfdff;
18
+ --high-contrast-dark: #000000;
19
+ --high-contrast-green: #7bff57;
20
+ --high-contrast-light: #ffffff;
21
+ --high-contrast-yellow: #fff81f;
22
+ --neutral-dark-0: #ffffff;
23
+ --neutral-dark-10: #f6f7f9;
24
+ --neutral-dark-100: #000000;
25
+ --neutral-dark-20: #ebeef3;
26
+ --neutral-dark-30: #d3d9e4;
27
+ --neutral-dark-40: #acb9cd;
28
+ --neutral-dark-50: #7f94b1;
29
+ --neutral-dark-60: #5f7698;
30
+ --neutral-dark-70: #4b5f7e;
31
+ --neutral-dark-80: #42526e;
32
+ --neutral-dark-90: #364256;
33
+ --neutral-dark-95: #30394a;
34
+ --neutral-dark-99: #202531;
35
+ --neutral-light-0: #000000;
36
+ --neutral-light-10: #141415;
37
+ --neutral-light-100: #ffffff;
38
+ --neutral-light-20: #252627;
39
+ --neutral-light-30: #434447;
40
+ --neutral-light-40: #5c5e61;
41
+ --neutral-light-50: #707276;
42
+ --neutral-light-60: #9d9fa2;
43
+ --neutral-light-70: #bebfc1;
44
+ --neutral-light-80: #cbcccd;
45
+ --neutral-light-90: #eaeaeb;
46
+ --neutral-light-95: #f7f7f8;
47
+ --neutral-light-99: #f9fafb;
48
+ --semantic-danger-0: #000000;
49
+ --semantic-danger-10: #44060c;
50
+ --semantic-danger-100: #ffffff;
51
+ --semantic-danger-20: #7e1015;
52
+ --semantic-danger-30: #9d0f16;
53
+ --semantic-danger-40: #c6080a;
54
+ --semantic-danger-50: #ef1207;
55
+ --semantic-danger-60: #fe3820;
56
+ --semantic-danger-70: #ff5638;
57
+ --semantic-danger-80: #ff8f71;
58
+ --semantic-danger-90: #ffbda8;
59
+ --semantic-danger-95: #ffe0d4;
60
+ --semantic-danger-99: #fff2ed;
61
+ --semantic-info-0: #000000;
62
+ --semantic-info-10: #440055;
63
+ --semantic-info-100: #ffffff;
64
+ --semantic-info-20: #68127d;
65
+ --semantic-info-30: #7c0e9a;
66
+ --semantic-info-40: #950fbc;
67
+ --semantic-info-50: #b720e9;
68
+ --semantic-info-60: #c837fe;
69
+ --semantic-info-70: #dc6dff;
70
+ --semantic-info-80: #e8a4ff;
71
+ --semantic-info-90: #f1ccff;
72
+ --semantic-info-95: #f8e6ff;
73
+ --semantic-info-99: #f8e6ff;
74
+ --semantic-success-0: #000000;
75
+ --semantic-success-10: #182c07;
76
+ --semantic-success-100: #ffffff;
77
+ --semantic-success-20: #335017;
78
+ --semantic-success-30: #3b5e16;
79
+ --semantic-success-40: #477714;
80
+ --semantic-success-50: #5c9c14;
81
+ --semantic-success-60: #70b51c;
82
+ --semantic-success-70: #98de3d;
83
+ --semantic-success-80: #b5ec6a;
84
+ --semantic-success-90: #d3f5a1;
85
+ --semantic-success-95: #e9facd;
86
+ --semantic-success-99: #f6fde8;
87
+ --semantic-warning-0: #000000;
88
+ --semantic-warning-10: #461702;
89
+ --semantic-warning-100: #ffffff;
90
+ --semantic-warning-20: #7a310d;
91
+ --semantic-warning-30: #943a0c;
92
+ --semantic-warning-40: #b74c06;
93
+ --semantic-warning-50: #dd6f02;
94
+ --semantic-warning-60: #f99607;
95
+ --semantic-warning-70: #ffb920;
96
+ --semantic-warning-80: #ffc938;
97
+ --semantic-warning-90: #ffe388;
98
+ --semantic-warning-95: #fff2c6;
99
+ --semantic-warning-99: #fffaeb;
100
+ }
@@ -0,0 +1,207 @@
1
+ /* Display none */
2
+ .d-none {
3
+ display: none !important;
4
+ }
5
+
6
+ /* Display block */
7
+ .d-block {
8
+ display: block !important;
9
+ }
10
+
11
+ /* Display inline */
12
+ .d-inline {
13
+ display: inline !important;
14
+ }
15
+
16
+ /* Display inline-block */
17
+ .d-inline-block {
18
+ display: inline-block !important;
19
+ }
20
+
21
+ /* Display flex */
22
+ .d-flex {
23
+ display: flex !important;
24
+ }
25
+
26
+ /* Display inline-flex */
27
+ .d-inline-flex {
28
+ display: inline-flex !important;
29
+ }
30
+
31
+ /* Display grid */
32
+ .d-grid {
33
+ display: grid !important;
34
+ }
35
+
36
+ /* Display inline-grid */
37
+ .d-inline-grid {
38
+ display: inline-grid !important;
39
+ }
40
+
41
+ /* Responsive display classes */
42
+
43
+ /* Extra small (xs) */
44
+ .d-xs-none {
45
+ display: none !important;
46
+ }
47
+ .d-xs-block {
48
+ display: block !important;
49
+ }
50
+ .d-xs-inline {
51
+ display: inline !important;
52
+ }
53
+ .d-xs-inline-block {
54
+ display: inline-block !important;
55
+ }
56
+ .d-xs-flex {
57
+ display: flex !important;
58
+ }
59
+ .d-xs-inline-flex {
60
+ display: inline-flex !important;
61
+ }
62
+ .d-xs-grid {
63
+ display: grid !important;
64
+ }
65
+ .d-xs-inline-grid {
66
+ display: inline-grid !important;
67
+ }
68
+
69
+ /* Small (sm) */
70
+ @media (min-width: 576px) {
71
+ .d-sm-none {
72
+ display: none !important;
73
+ }
74
+ .d-sm-block {
75
+ display: block !important;
76
+ }
77
+ .d-sm-inline {
78
+ display: inline !important;
79
+ }
80
+ .d-sm-inline-block {
81
+ display: inline-block !important;
82
+ }
83
+ .d-sm-flex {
84
+ display: flex !important;
85
+ }
86
+ .d-sm-inline-flex {
87
+ display: inline-flex !important;
88
+ }
89
+ .d-sm-grid {
90
+ display: grid !important;
91
+ }
92
+ .d-sm-inline-grid {
93
+ display: inline-grid !important;
94
+ }
95
+ }
96
+
97
+ /* Medium (md) */
98
+ @media (min-width: 768px) {
99
+ .d-md-none {
100
+ display: none !important;
101
+ }
102
+ .d-md-block {
103
+ display: block !important;
104
+ }
105
+ .d-md-inline {
106
+ display: inline !important;
107
+ }
108
+ .d-md-inline-block {
109
+ display: inline-block !important;
110
+ }
111
+ .d-md-flex {
112
+ display: flex !important;
113
+ }
114
+ .d-md-inline-flex {
115
+ display: inline-flex !important;
116
+ }
117
+ .d-md-grid {
118
+ display: grid !important;
119
+ }
120
+ .d-md-inline-grid {
121
+ display: inline-grid !important;
122
+ }
123
+ }
124
+
125
+ /* Large (lg) */
126
+ @media (min-width: 992px) {
127
+ .d-lg-none {
128
+ display: none !important;
129
+ }
130
+ .d-lg-block {
131
+ display: block !important;
132
+ }
133
+ .d-lg-inline {
134
+ display: inline !important;
135
+ }
136
+ .d-lg-inline-block {
137
+ display: inline-block !important;
138
+ }
139
+ .d-lg-flex {
140
+ display: flex !important;
141
+ }
142
+ .d-lg-inline-flex {
143
+ display: inline-flex !important;
144
+ }
145
+ .d-lg-grid {
146
+ display: grid !important;
147
+ }
148
+ .d-lg-inline-grid {
149
+ display: inline-grid !important;
150
+ }
151
+ }
152
+
153
+ /* Extra Large (xl) */
154
+ @media (min-width: 1200px) {
155
+ .d-xl-none {
156
+ display: none !important;
157
+ }
158
+ .d-xl-block {
159
+ display: block !important;
160
+ }
161
+ .d-xl-inline {
162
+ display: inline !important;
163
+ }
164
+ .d-xl-inline-block {
165
+ display: inline-block !important;
166
+ }
167
+ .d-xl-flex {
168
+ display: flex !important;
169
+ }
170
+ .d-xl-inline-flex {
171
+ display: inline-flex !important;
172
+ }
173
+ .d-xl-grid {
174
+ display: grid !important;
175
+ }
176
+ .d-xl-inline-grid {
177
+ display: inline-grid !important;
178
+ }
179
+ }
180
+
181
+ /* Extra Extra Large (xxl) */
182
+ @media (min-width: 1400px) {
183
+ .d-xxl-none {
184
+ display: none !important;
185
+ }
186
+ .d-xxl-block {
187
+ display: block !important;
188
+ }
189
+ .d-xxl-inline {
190
+ display: inline !important;
191
+ }
192
+ .d-xxl-inline-block {
193
+ display: inline-block !important;
194
+ }
195
+ .d-xxl-flex {
196
+ display: flex !important;
197
+ }
198
+ .d-xxl-inline-flex {
199
+ display: inline-flex !important;
200
+ }
201
+ .d-xxl-grid {
202
+ display: grid !important;
203
+ }
204
+ .d-xxl-inline-grid {
205
+ display: inline-grid !important;
206
+ }
207
+ }