@omniumretail/component-library 1.0.36 → 1.0.38

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 (40) hide show
  1. package/dist/bundle.js +27 -27
  2. package/dist/main.css +14 -8
  3. package/dist/types/components/AnalyticsBar/AnalyticsBar.stories.d.ts +5 -0
  4. package/dist/types/components/AnalyticsBar/helpers/codeMutation.d.ts +4 -0
  5. package/dist/types/components/AnalyticsBar/index.d.ts +3 -0
  6. package/dist/types/components/AnalyticsBar/interfaces/analyticsBar.d.ts +12 -0
  7. package/dist/types/components/CategoryResponse/CategoryResponse.stories.d.ts +4 -0
  8. package/dist/types/components/CategoryResponse/evaluationOptions.d.ts +10 -0
  9. package/dist/types/components/CategoryResponse/index.d.ts +9 -0
  10. package/dist/types/components/DatePickerTag/DatePickerTag.stories.d.ts +5 -0
  11. package/dist/types/components/DatePickerTag/index.d.ts +6 -0
  12. package/dist/types/components/Menu/Menu.stories.d.ts +5 -0
  13. package/dist/types/components/Menu/helpers/codeMutation.d.ts +4 -0
  14. package/dist/types/components/Menu/index.d.ts +3 -0
  15. package/dist/types/components/index.d.ts +1 -1
  16. package/dist/types/constants/translationHelper.d.ts +2 -0
  17. package/package.json +1 -1
  18. package/src/components/AnalyticsBar/AnalyticsBar.stories.tsx +180 -0
  19. package/src/components/AnalyticsBar/helpers/codeMutation.tsx +19 -0
  20. package/src/components/AnalyticsBar/index.tsx +76 -0
  21. package/src/components/AnalyticsBar/interfaces/analyticsBar.tsx +13 -0
  22. package/src/components/AnalyticsBar/styles.module.scss +108 -0
  23. package/src/components/Category/Category.stories.tsx +64 -37
  24. package/src/components/Category/CategoryContent/index.tsx +9 -9
  25. package/src/components/CategoryResponse/CategoryResponse.stories.tsx +261 -0
  26. package/src/components/CategoryResponse/evaluationOptions.tsx +81 -0
  27. package/src/components/CategoryResponse/index.tsx +280 -0
  28. package/src/components/CategoryResponse/styles.module.scss +135 -0
  29. package/src/components/{RangePickerTag/RangePickerTag.stories.tsx → DatePickerTag/DatePickerTag.stories.tsx} +4 -4
  30. package/src/components/{RangePickerTag → DatePickerTag}/index.tsx +9 -10
  31. package/src/components/{RangePickerTag → DatePickerTag}/styles.module.scss +5 -0
  32. package/src/components/Menu/Menu.stories.tsx +178 -0
  33. package/src/components/Menu/helpers/codeMutation.tsx +19 -0
  34. package/src/components/Menu/index.tsx +23 -0
  35. package/src/components/Menu/styles.module.scss +0 -0
  36. package/src/components/index.tsx +1 -1
  37. package/src/constants/translationHelper.ts +7 -0
  38. package/src/locales/en.json +3 -0
  39. package/src/locales/es.json +3 -0
  40. package/src/locales/pt.json +3 -0
@@ -0,0 +1,76 @@
1
+ import styles from './styles.module.scss';
2
+ import { MinusOutlined, PlusOutlined, SortAscendingOutlined, SortDescendingOutlined } from '@ant-design/icons';
3
+ import { Select } from 'components/Select';
4
+ import type { MenuProps } from 'antd';
5
+ import { Menu } from 'antd';
6
+ import { AnalyticsBarProps, sortBy } from './interfaces/analyticsBar';
7
+ import { useCallback, useEffect, useState } from 'react';
8
+
9
+ export const AnalyticsBar = (props: AnalyticsBarProps) => {
10
+ const {
11
+ data: items = [],
12
+ selectOptions,
13
+ selectDefault,
14
+ selectUserOption,
15
+ sortedBy,
16
+ activeListItem
17
+ } = props;
18
+
19
+ const [selectedKeys, setSelectedKeys] = useState<string[]>([]);
20
+ const [sortInfo, setSortInfo] = useState<any>(sortBy.desc);
21
+
22
+ const selectOnChange = useCallback((value: any) => {
23
+ selectUserOption(value);
24
+ }, [selectUserOption]);
25
+
26
+ const setSorter = useCallback(() => {
27
+ sortInfo === sortBy.desc
28
+ ? setSortInfo(sortBy.asc)
29
+ : setSortInfo(sortBy.desc);
30
+
31
+ sortedBy(sortInfo);
32
+ }, [sortInfo]);
33
+
34
+ const onClick: MenuProps['onClick'] = (e: any) => {
35
+ const { key } = e;
36
+ if (selectedKeys.includes(key)) {
37
+ setSelectedKeys([]);
38
+ } else {
39
+ setSelectedKeys([key]);
40
+ }
41
+
42
+ activeListItem(key);
43
+ };
44
+
45
+ console.log(sortInfo);
46
+ return (
47
+ <div className={styles.analyticsbar}>
48
+ <div className={styles.header}>
49
+ <Select
50
+ options={selectOptions}
51
+ customClass={styles.select}
52
+ onChange={selectOnChange}
53
+ defaultActiveFirstOption
54
+ defaultValue={selectDefault}
55
+ />
56
+
57
+ <div className={styles.sorterWrapper} onClick={() => setSorter()}>
58
+ {sortInfo === sortBy.desc
59
+ ? <>Decrescente <SortDescendingOutlined /></>
60
+ : <>Crescente <SortAscendingOutlined /></>
61
+ }
62
+ </div>
63
+ </div>
64
+
65
+ <div className={styles.content}>
66
+ <Menu
67
+ selectedKeys={selectedKeys}
68
+ onClick={onClick}
69
+ mode="inline"
70
+ items={items}
71
+ expandIcon={({ isOpen }) => (isOpen ? <MinusOutlined /> : <PlusOutlined />)}
72
+ />
73
+ </div>
74
+ </div>
75
+ );
76
+ };
@@ -0,0 +1,13 @@
1
+ export interface AnalyticsBarProps {
2
+ data: any;
3
+ selectOptions: any;
4
+ selectDefault: any;
5
+ selectUserOption?: any;
6
+ sortedBy?: any;
7
+ activeListItem?: any;
8
+ }
9
+
10
+ export enum sortBy {
11
+ asc = 'asc',
12
+ desc = 'desc',
13
+ }
@@ -0,0 +1,108 @@
1
+ .select {
2
+ width: 100%;
3
+ }
4
+
5
+ .analyticsbar {
6
+ background: #2C2D2E0D;
7
+ height: 100%;
8
+ position: relative;
9
+
10
+ :global {
11
+ .ant-menu-light {
12
+ background-color: transparent !important;
13
+ border-inline-end: none !important;
14
+ }
15
+
16
+ .ant-menu-title-content {
17
+ font-size: 17px;
18
+ line-height: 20px;
19
+ font-weight: var(--font-weight-semibold);
20
+
21
+ &:hover {
22
+ color: var(--color-orange);
23
+ }
24
+ }
25
+
26
+ .ant-menu-sub {
27
+ .ant-menu-title-content {
28
+ font-size: 15px;
29
+ line-height: 18px;
30
+ font-weight: var(--font-weight-medium);
31
+ }
32
+
33
+ .ant-menu-item {
34
+ height: 30px;
35
+ line-height: 30px;
36
+
37
+ &:first-child {
38
+ margin-top: -10px;
39
+ }
40
+ }
41
+ }
42
+
43
+ .ant-menu-submenu {
44
+ border-top: 1px solid var(--color-orange);
45
+ border-radius: 0;
46
+ }
47
+
48
+ .ant-menu-item {
49
+ &:hover {
50
+ background-color: initial !important;
51
+ }
52
+ }
53
+
54
+ .ant-menu-item-selected,
55
+ .ant-menu-submenu-selected >.ant-menu-submenu-title {
56
+ color: var(--color-orange);
57
+ background-color: initial;
58
+ }
59
+
60
+ .ant-menu-inline .ant-menu-sub.ant-menu-inline {
61
+ background: initial;
62
+ }
63
+
64
+ .ant-menu-submenu-title {
65
+ height: 50px !important;
66
+ line-height: 50px !important;
67
+
68
+ &:hover {
69
+ background-color: initial !important;
70
+ }
71
+
72
+ .anticon {
73
+ color: var(--color-orange);
74
+ }
75
+ }
76
+ }
77
+ }
78
+
79
+ .header {
80
+ position: absolute;
81
+ top: 24px;
82
+ left: 24px;
83
+ right: 24px;
84
+ height: 144px;
85
+ }
86
+
87
+ .sorterWrapper {
88
+ font-size: var(--font-size-body-2);
89
+ line-height: 14px;
90
+ font-weight: var(--font-weight-light);
91
+ display: inline-block;
92
+ padding: 12px;
93
+ cursor: pointer;
94
+ position: absolute;
95
+ right: 0;
96
+ top: 60px;
97
+ }
98
+
99
+ .content {
100
+ position: absolute;
101
+ top: 144px;
102
+ left: 24px;
103
+ right: 24px;
104
+ bottom: 0;
105
+ overflow-y: auto;
106
+ overflow-x: hidden;
107
+ padding-bottom: 24px;
108
+ }
@@ -10,11 +10,70 @@ export default {
10
10
  const Template: Story<any> = (args) => {
11
11
  const [serverData, setServerData] = useState<any>();
12
12
 
13
- // useEffect(() => {
14
- // console.log(serverData);
15
- // }, [serverData])
13
+ useEffect(() => {
14
+ console.log(serverData);
15
+ }, [serverData])
16
16
 
17
- return <Category {...args} serverReadyData={setServerData} data={[]}></Category>
17
+ return <Category {...args} serverReadyData={setServerData} data={[
18
+ {
19
+ "title": "opgg (Q: 1) ",
20
+ "key": "0",
21
+ "data": {
22
+ "categoryName": "opgg",
23
+ "openAnswer": true,
24
+ "questions": [
25
+ {
26
+ "question": "1",
27
+ "info": "2"
28
+ }
29
+ ]
30
+ },
31
+ "children": []
32
+ },
33
+ {
34
+ "title": "abcd (Q: 1) (G: 2)",
35
+ "key": "1",
36
+ "data": {
37
+ "categoryName": "abcd",
38
+ "openAnswer": false,
39
+ "questions": [
40
+ {
41
+ "question": "ax1",
42
+ "info": "se2",
43
+ "grade": "1s"
44
+ }
45
+ ],
46
+ "generalEvaluationLevel": "2",
47
+ "grade": "2"
48
+ },
49
+ "children": []
50
+ },
51
+ {
52
+ "title": "hasCHild (Q: 0) (G: 12)",
53
+ "key": "2",
54
+ "data": {
55
+ "categoryName": "hasCHild",
56
+ "openAnswer": false,
57
+ "generalEvaluationLevel": "0",
58
+ "grade": "12",
59
+ "questions": []
60
+ },
61
+ "children": [
62
+ {
63
+ "title": "theChild (Q: 0) (G: 12)",
64
+ "key": "2.0",
65
+ "children": [],
66
+ "data": {
67
+ "categoryName": "theChild",
68
+ "openAnswer": false,
69
+ "generalEvaluationLevel": "0",
70
+ "grade": "12",
71
+ "questions": []
72
+ }
73
+ }
74
+ ]
75
+ }
76
+ ]}></Category>
18
77
  };
19
78
 
20
79
  export const Primary = Template.bind({});
@@ -22,36 +81,4 @@ Primary.args = {
22
81
  };
23
82
 
24
83
 
25
- // [
26
- // {
27
- // "title": "opgg (Q: 1) ",
28
- // "key": "0",
29
- // "data": {
30
- // "categoryName": "opgg",
31
- // "openAnswer": true,
32
- // "questions": [
33
- // {
34
- // "question": "1",
35
- // "info": "2"
36
- // }
37
- // ]
38
- // }
39
- // },
40
- // {
41
- // "title": "abcd (Q: 1) (G: 2)",
42
- // "key": "1",
43
- // "data": {
44
- // "categoryName": "abcd",
45
- // "openAnswer": false,
46
- // "questions": [
47
- // {
48
- // "question": "ax1",
49
- // "info": "se2",
50
- // "grade": "1s"
51
- // }
52
- // ],
53
- // "generalEvaluationLevel": "2",
54
- // "grade": "2"
55
- // }
56
- // }
57
- // ]
84
+
@@ -92,15 +92,15 @@ export const CategoryContent = (props: categoryContent) => {
92
92
 
93
93
  {categorySidebarData?.data?.children?.length > 0 &&
94
94
  <div className={styles.grade}>
95
- <Label isUppercase>
96
- Ponderação
97
- </Label>
98
- <Form.Item
99
- name={['grade']}
100
- rules={[{ required: true, message: 'Grade is Missing' }]}
101
- >
102
- <InputField placeholder={'EX: 15%'} />
103
- </Form.Item>
95
+ <Label isUppercase>
96
+ Ponderação
97
+ </Label>
98
+ <Form.Item
99
+ name={['grade']}
100
+ rules={[{ required: true, message: 'Grade is Missing' }]}
101
+ >
102
+ <InputField placeholder={'EX: 15%'} />
103
+ </Form.Item>
104
104
  </div>
105
105
  }
106
106
 
@@ -0,0 +1,261 @@
1
+ import { Meta, Story } from "@storybook/react";
2
+ import { Button } from "components/Button";
3
+ import { useEffect, useRef, useState } from "react";
4
+ import { CategoryResponse } from '.';
5
+
6
+ export default {
7
+ title: 'CategoryResponse',
8
+ component: CategoryResponse,
9
+ } as Meta;
10
+
11
+ const Template: Story<any> = (args) => {
12
+ const [serverData, setServerData] = useState<any>();
13
+ const categoryResponseRef = useRef(null);
14
+ const [hasNext, setHasNext] = useState(true);
15
+ const [hasPrevious, setHasPrevious] = useState(false);
16
+
17
+ const handleNextCategoryAvailabilityChange = (hasNext: boolean) => {
18
+ setHasNext(hasNext);
19
+ };
20
+
21
+ const handlePreviousCategoryAvailabilityChange = (hasPrevious: boolean) => {
22
+ setHasPrevious(hasPrevious);
23
+ };
24
+
25
+ const handleNextClickOutside = () => {
26
+ (categoryResponseRef.current as any).handleNextClick();
27
+ }
28
+
29
+ const handlePreviousClickOutside = () => {
30
+ (categoryResponseRef.current as any).handlePreviousClick();
31
+ }
32
+
33
+ useEffect(() => {
34
+ console.log(serverData);
35
+ }, [serverData])
36
+
37
+ return (
38
+ <div style={{ height: '600px' }}>
39
+ <div>
40
+ <CategoryResponse
41
+ {...args}
42
+ serverReadyData={setServerData}
43
+ ref={categoryResponseRef}
44
+ onNextCategoryAvailabilityChange={handleNextCategoryAvailabilityChange}
45
+ onPreviousCategoryAvailabilityChange={handlePreviousCategoryAvailabilityChange}
46
+ >
47
+ </CategoryResponse>
48
+ </div>
49
+ <div>
50
+
51
+ {hasPrevious && (
52
+ <Button onClick={handlePreviousClickOutside}>Previous on Parent</Button>
53
+ )}
54
+
55
+ {hasNext && (
56
+ <Button onClick={handleNextClickOutside}>Next on Parent</Button>
57
+ )}
58
+ </div>
59
+ </div>
60
+ )
61
+ };
62
+
63
+ export const Primary = Template.bind({});
64
+ Primary.args = {
65
+ data: {
66
+ "_id": "E985B66B-5EA4-4A6F-81B9-0B12CAA99343",
67
+ "evaluationCycleId": "A3FE0C73-E771-40BB-B87D-1E40597841A6",
68
+ "questionnaireId": "4C15A0A0-7DDF-4952-810C-B46105807CB7",
69
+ "userId": "A200F4C5-8E41-41D4-A90C-B15EEC448517",
70
+ "targetUserId": "A200F4C5-8E41-41D4-A90C-B15EEC448517",
71
+ "startDate": 1678707055,
72
+ "endDate": 1679707055,
73
+ "state": "Draft",
74
+ "score": "0.000",
75
+ "categoryAnswers": [
76
+ {
77
+ "title": "Competências",
78
+ "key": "1",
79
+ "data": {
80
+ "_id": "57A06838-67F9-4726-BC36-719A0C797484",
81
+ "category_id": "CATEGORYID1",
82
+ "categoryName": "Competências",
83
+ "openAnswer": false,
84
+ "generalEvaluationLevel": "2",
85
+ "grade": "0",
86
+ "description": "Inserir resposta numa escala numérica entre 1 e 5, sendo que 1 corresponde a “Mau” e 5 corresponde a “Excelente”",
87
+ "score": "0.000",
88
+ "questions": [
89
+ {
90
+ "_id": "65562A64-A24B-425A-A345-560238CA2468",
91
+ "questionId": "7D17A8A5-E299-47D3-AB49-684135DB23A3",
92
+ "subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elit",
93
+ "description": "This is a description",
94
+ "grade": "0",
95
+ "numberAnswer": null,
96
+ "answer": null
97
+ },
98
+ {
99
+ "_id": "85562A64-A24B-425A-A345-560238CA2468",
100
+ "questionId": "8D17A8A5-E299-47D3-AB49-684135DB23A3",
101
+ "subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elit",
102
+ "description": "This is a description ",
103
+ "grade": "0",
104
+ "numberAnswer": null,
105
+ "answer": null
106
+ }
107
+ ]
108
+ }
109
+ },
110
+ {
111
+ "title": "Category 2",
112
+ "key": "2",
113
+ "data": {
114
+ "_id": "57A06838-67F9-4726-BC36-719A0C797484",
115
+ "category_id": "CATEGORYID2",
116
+ "categoryName": "Category 2",
117
+ "openAnswer": false,
118
+ "generalEvaluationLevel": "0",
119
+ "grade": "100",
120
+ "description": "This is a description",
121
+ "score": "0.000",
122
+ "questions": []
123
+ },
124
+ "children": [
125
+ {
126
+ "title": "Category 2.1",
127
+ "key": "2.1",
128
+ "data": {
129
+ "_id": "57A06838-67F9-4726-BC36-719A0C797484",
130
+ "category_id": "1CDED10D-0984-46D4-A9B3-7EC518D74A63",
131
+ "categoryName": "Category 2.1",
132
+ "openAnswer": false,
133
+ "generalEvaluationLevel": "0",
134
+ "grade": "50",
135
+ "description": "This is a description",
136
+ "score": "0.000",
137
+ "questions": []
138
+ },
139
+ "children": [
140
+ {
141
+ "title": "Category 2.1.1",
142
+ "key": "2.1.1",
143
+ "data": {
144
+ "_id": "37A06838-67F9-4726-BC36-719A0C797484",
145
+ "category_id": "3CDED10D-0984-46D4-A9B3-7EC518D74A63",
146
+ "categoryName": "Category 2.1.1",
147
+ "openAnswer": false,
148
+ "generalEvaluationLevel": "0",
149
+ "grade": "50",
150
+ "description": "This is a description",
151
+ "score": "0.000",
152
+ "questions": [
153
+ {
154
+ "_id": "365562A64-A24B-425A-A345-560238CA2468",
155
+ "questionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
156
+ "subject": "This is a subject",
157
+ "description": "This is a description",
158
+ "grade": "50",
159
+ "numberAnswer": 4,
160
+ "answer": null
161
+ },
162
+ {
163
+ "_id": "35562A64-A24B-425A-A345-560238CA2468",
164
+ "questionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
165
+ "subject": "This is a subject",
166
+ "description": "This is a description",
167
+ "grade": "25",
168
+ "numberAnswer": 4,
169
+ "answer": null
170
+ },
171
+ {
172
+ "_id": "35562A64-A24B-425A-A345-560238CA2468",
173
+ "questionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
174
+ "subject": "This is a subject",
175
+ "description": "This is a description",
176
+ "grade": "25",
177
+ "numberAnswer": 3,
178
+ "answer": null
179
+ }
180
+ ]
181
+ }
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "title": "Category 2.2",
187
+ "key": "2.2",
188
+ "data": {
189
+ "_id": "57A06838-67F9-4726-BC36-719A0C797484",
190
+ "category_id": "PCDED10D-0984-46D4-A9B3-7EC518D74A63",
191
+ "categoryName": "Category 2.2",
192
+ "openAnswer": false,
193
+ "generalEvaluationLevel": "0",
194
+ "grade": "50",
195
+ "description": "This is a description",
196
+ "score": "0.000",
197
+ "questions": [
198
+ {
199
+ "_id": "P5562A64-A24B-425A-A345-560238CA2468",
200
+ "questionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
201
+ "subject": "This is a subject",
202
+ "description": "This is a description",
203
+ "grade": "50",
204
+ "numberAnswer": 4,
205
+ "answer": "2"
206
+ },
207
+ {
208
+ "_id": "P5562A64-A24B-425A-A345-560238CA2468",
209
+ "questionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
210
+ "subject": "This is a subject",
211
+ "description": "This is a description",
212
+ "grade": "50",
213
+ "numberAnswer": 2,
214
+ "answer": "5"
215
+ }
216
+ ]
217
+ },
218
+ "children": []
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ "title": "Category 3",
224
+ "key": "3",
225
+ "data": {
226
+ "_id": "97A06838-67F9-4726-BC36-719A0C797484",
227
+ "category_id": "CATEGORYID3",
228
+ "categoryName": "Category 3",
229
+ "openAnswer": true,
230
+ "generalEvaluationLevel": "0",
231
+ "grade": "0",
232
+ "description": "This is a description",
233
+ "score": "0.000",
234
+ "questions": [
235
+ {
236
+ "_id": "95562A64-A24B-425A-A345-560238CA2468",
237
+ "questionId": "9D17A8A5-E299-47D3-AB49-684135DB23A3",
238
+ "subject": "This is a subject",
239
+ "description": "This is a description",
240
+ "grade": "0",
241
+ "numberAnswer": null,
242
+ "answer": null
243
+ },
244
+ {
245
+ "_id": "93862A64-A24B-425A-A345-560238CA2468",
246
+ "questionId": "9D38A8A5-E299-47D3-AB49-684135DB23A3",
247
+ "subject": "This is a subject",
248
+ "description": "This is a description",
249
+ "grade": "0",
250
+ "numberAnswer": null,
251
+ "answer": null
252
+ }
253
+ ]
254
+ }
255
+ },
256
+ ]
257
+ }
258
+ };
259
+
260
+
261
+
@@ -0,0 +1,81 @@
1
+ import translate from '../../constants/translationHelper';
2
+
3
+ export type EvaluationOption = {
4
+ value: string;
5
+ label: string;
6
+ };
7
+
8
+ export type EvaluationOptions = {
9
+ scale_0: EvaluationOption[];
10
+ scale_1: EvaluationOption[];
11
+ scale_2: EvaluationOption[];
12
+ };
13
+
14
+ export const evaluationOptions: EvaluationOptions = {
15
+ scale_0: [
16
+ {
17
+ value: '1',
18
+ label: '1',
19
+ },
20
+ {
21
+ value: '2',
22
+ label: '2',
23
+ },
24
+ {
25
+ value: '3',
26
+ label: '3',
27
+ },
28
+ {
29
+ value: '4',
30
+ label: '4',
31
+ },
32
+ {
33
+ value: '5',
34
+ label: '5',
35
+ }
36
+ ],
37
+ scale_1: [
38
+ {
39
+ value: '1',
40
+ label: '1',
41
+ },
42
+ {
43
+ value: '2',
44
+ label: '2',
45
+ },
46
+ {
47
+ value: '3',
48
+ label: '3',
49
+ },
50
+ {
51
+ value: '4',
52
+ label: '4',
53
+ },
54
+ ],
55
+ scale_2: [
56
+ {
57
+ value: '1',
58
+ label: '1',
59
+ },
60
+ {
61
+ value: '2',
62
+ label: '2',
63
+ },
64
+ {
65
+ value: '3',
66
+ label: '3',
67
+ },
68
+ {
69
+ value: '4',
70
+ label: '4',
71
+ },
72
+ {
73
+ value: '5',
74
+ label: '5',
75
+ },
76
+ {
77
+ value: 'na',
78
+ label: translate('components.categoryResponse.notApplicable')
79
+ }
80
+ ]
81
+ }