@omniumretail/component-library 1.0.64 → 1.0.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 (176) hide show
  1. package/.storybook/main.js +16 -16
  2. package/.storybook/preview-head.html +20 -20
  3. package/.storybook/preview.js +27 -27
  4. package/README.md +54 -54
  5. package/bitbucket-pipelines.yml +94 -94
  6. package/package.json +198 -198
  7. package/src/assets/scss/_global.scss +89 -89
  8. package/src/assets/scss/index.scss +2 -2
  9. package/src/components/AnalyticsBar/AnalyticsBar.stories.tsx +236 -236
  10. package/src/components/AnalyticsBar/helpers/codeMutation.tsx +19 -19
  11. package/src/components/AnalyticsBar/index.tsx +76 -76
  12. package/src/components/AnalyticsBar/interfaces/analyticsBar.tsx +13 -13
  13. package/src/components/AnalyticsBar/styles.module.scss +108 -108
  14. package/src/components/Button/Button.stories.tsx +26 -26
  15. package/src/components/Button/index.tsx +24 -24
  16. package/src/components/Button/styles.module.scss +65 -65
  17. package/src/components/Category/Category.stories.tsx +88 -88
  18. package/src/components/Category/CategoryContent/index.tsx +188 -188
  19. package/src/components/Category/CategoryContent/styles.module.scss +51 -51
  20. package/src/components/Category/CategorySidebar/index.tsx +268 -268
  21. package/src/components/Category/CategorySidebar/styles.module.scss +28 -28
  22. package/src/components/Category/index.tsx +76 -76
  23. package/src/components/Category/styles.module.scss +13 -13
  24. package/src/components/CategoryReadOnly/CategoryReadOnly.stories.tsx +270 -270
  25. package/src/components/CategoryReadOnly/evaluationOptions.tsx +81 -81
  26. package/src/components/CategoryReadOnly/index.tsx +254 -254
  27. package/src/components/CategoryReadOnly/styles.module.scss +184 -184
  28. package/src/components/CategoryResponse/CategoryResponse.stories.tsx +251 -251
  29. package/src/components/CategoryResponse/evaluationOptions.tsx +81 -81
  30. package/src/components/CategoryResponse/index.tsx +277 -277
  31. package/src/components/CategoryResponse/styles.module.scss +160 -137
  32. package/src/components/DatePicker/DatePicker.stories.tsx +16 -16
  33. package/src/components/DatePicker/index.tsx +38 -38
  34. package/src/components/DatePicker/styles.module.scss +3 -3
  35. package/src/components/DatePickerTag/DatePickerTag.stories.tsx +19 -19
  36. package/src/components/DatePickerTag/index.tsx +89 -85
  37. package/src/components/DatePickerTag/styles.module.scss +31 -31
  38. package/src/components/Footer/Footer.stories.tsx +14 -14
  39. package/src/components/Footer/index.tsx +38 -38
  40. package/src/components/Footer/styles.module.scss +38 -38
  41. package/src/components/Input/Input.stories.tsx +13 -13
  42. package/src/components/Input/index.tsx +31 -31
  43. package/src/components/Input/styles.module.scss +8 -8
  44. package/src/components/InputCountryCode/index.tsx +75 -75
  45. package/src/components/InputCountryCode/inputCountryCode.stories.tsx +55 -55
  46. package/src/components/InputCountryCode/styles.module.scss +3 -3
  47. package/src/components/Label/Label.stories.tsx +21 -21
  48. package/src/components/Label/index.tsx +19 -19
  49. package/src/components/Label/styles.module.scss +16 -16
  50. package/src/components/Link/Link.stories.tsx +30 -30
  51. package/src/components/Link/index.tsx +21 -21
  52. package/src/components/Link/styles.module.scss +24 -24
  53. package/src/components/Menu/Menu.stories.tsx +178 -178
  54. package/src/components/Menu/helpers/codeMutation.tsx +19 -19
  55. package/src/components/Menu/index.tsx +23 -23
  56. package/src/components/ModalConfirmation/ModalConfirmation.stories.tsx +40 -40
  57. package/src/components/ModalConfirmation/ModalStatusList.tsx +5 -5
  58. package/src/components/ModalConfirmation/index.tsx +70 -70
  59. package/src/components/ModalConfirmation/styles.module.scss +62 -62
  60. package/src/components/ModalWithTable/ModalWithTable.stories.tsx +96 -96
  61. package/src/components/ModalWithTable/index.tsx +232 -232
  62. package/src/components/ModalWithTable/styles.module.scss +77 -77
  63. package/src/components/Navigation/Navigation.stories.tsx +17 -17
  64. package/src/components/Navigation/index.tsx +33 -33
  65. package/src/components/Navigation/styles.module.scss +42 -42
  66. package/src/components/Notification/Notification.stories.tsx +29 -29
  67. package/src/components/Notification/index.tsx +21 -21
  68. package/src/components/Questions/Questions.stories.tsx +37 -37
  69. package/src/components/Questions/SingleQuestion/index.tsx +84 -84
  70. package/src/components/Questions/SingleQuestion/styles.module.scss +81 -81
  71. package/src/components/Questions/index.tsx +78 -78
  72. package/src/components/Radio/Radio.stories.tsx +43 -43
  73. package/src/components/Radio/index.tsx +26 -26
  74. package/src/components/Radio/styles.module.scss +23 -23
  75. package/src/components/Select/Select.stories.tsx +39 -39
  76. package/src/components/Select/index.tsx +27 -27
  77. package/src/components/Select/styles.module.scss +13 -13
  78. package/src/components/Separator/Separator.stories.tsx +22 -22
  79. package/src/components/Separator/index.tsx +27 -27
  80. package/src/components/Separator/styles.module.scss +25 -25
  81. package/src/components/Sidebar/Sidebar.stories.tsx +85 -61
  82. package/src/components/Sidebar/index.tsx +104 -58
  83. package/src/components/Sidebar/styles.module.scss +86 -73
  84. package/src/components/Switch/Switch.stories.tsx +14 -14
  85. package/src/components/Switch/index.tsx +8 -8
  86. package/src/components/Switch/styles.module.scss +7 -7
  87. package/src/components/Table/Table.stories.tsx +221 -221
  88. package/src/components/Table/index.tsx +271 -271
  89. package/src/components/Table/styles.module.scss +75 -75
  90. package/src/components/Tag/Tag.stories.tsx +22 -22
  91. package/src/components/Tag/index.tsx +189 -189
  92. package/src/components/Tag/styles.module.scss +60 -60
  93. package/src/components/Upload/Upload.stories.tsx +45 -45
  94. package/src/components/Upload/index.tsx +91 -91
  95. package/src/components/UserInfo/UserInfo.stories.tsx +37 -37
  96. package/src/components/UserInfo/index.tsx +62 -62
  97. package/src/components/UserInfo/styles.module.scss +29 -29
  98. package/src/components/index.tsx +25 -25
  99. package/src/constants/i18n.ts +25 -25
  100. package/src/constants/translationHelper.ts +7 -7
  101. package/src/index.ts +2 -2
  102. package/src/locales/en.json +86 -81
  103. package/src/locales/es.json +86 -81
  104. package/src/locales/pt.json +86 -81
  105. package/src/types/Global.d.ts +4 -4
  106. package/tsconfig.json +29 -29
  107. package/webpack.config.js +51 -51
  108. package/dist/bundle.js +0 -12047
  109. package/dist/main.css +0 -1172
  110. package/dist/types/components/AnalyticsBar/AnalyticsBar.stories.d.ts +0 -5
  111. package/dist/types/components/AnalyticsBar/helpers/codeMutation.d.ts +0 -4
  112. package/dist/types/components/AnalyticsBar/index.d.ts +0 -2
  113. package/dist/types/components/AnalyticsBar/interfaces/analyticsBar.d.ts +0 -12
  114. package/dist/types/components/Button/Button.stories.d.ts +0 -6
  115. package/dist/types/components/Button/index.d.ts +0 -7
  116. package/dist/types/components/Category/Category.stories.d.ts +0 -4
  117. package/dist/types/components/Category/CategoryContent/index.d.ts +0 -7
  118. package/dist/types/components/Category/CategorySidebar/index.d.ts +0 -26
  119. package/dist/types/components/Category/index.d.ts +0 -7
  120. package/dist/types/components/CategoryReadOnly/CategoryReadOnly.stories.d.ts +0 -4
  121. package/dist/types/components/CategoryReadOnly/evaluationOptions.d.ts +0 -10
  122. package/dist/types/components/CategoryReadOnly/index.d.ts +0 -9
  123. package/dist/types/components/CategoryResponse/CategoryResponse.stories.d.ts +0 -4
  124. package/dist/types/components/CategoryResponse/evaluationOptions.d.ts +0 -10
  125. package/dist/types/components/CategoryResponse/index.d.ts +0 -9
  126. package/dist/types/components/DatePicker/DatePicker.stories.d.ts +0 -5
  127. package/dist/types/components/DatePicker/index.d.ts +0 -8
  128. package/dist/types/components/DatePickerTag/DatePickerTag.stories.d.ts +0 -5
  129. package/dist/types/components/DatePickerTag/index.d.ts +0 -6
  130. package/dist/types/components/Footer/Footer.stories.d.ts +0 -5
  131. package/dist/types/components/Footer/index.d.ts +0 -4
  132. package/dist/types/components/Input/Input.stories.d.ts +0 -5
  133. package/dist/types/components/Input/index.d.ts +0 -10
  134. package/dist/types/components/InputCountryCode/index.d.ts +0 -10
  135. package/dist/types/components/InputCountryCode/inputCountryCode.stories.d.ts +0 -5
  136. package/dist/types/components/Label/Label.stories.d.ts +0 -6
  137. package/dist/types/components/Label/index.d.ts +0 -7
  138. package/dist/types/components/Link/Link.stories.d.ts +0 -7
  139. package/dist/types/components/Link/index.d.ts +0 -7
  140. package/dist/types/components/Menu/Menu.stories.d.ts +0 -5
  141. package/dist/types/components/Menu/helpers/codeMutation.d.ts +0 -4
  142. package/dist/types/components/Menu/index.d.ts +0 -2
  143. package/dist/types/components/ModalConfirmation/ModalConfirmation.stories.d.ts +0 -5
  144. package/dist/types/components/ModalConfirmation/ModalStatusList.d.ts +0 -5
  145. package/dist/types/components/ModalConfirmation/index.d.ts +0 -9
  146. package/dist/types/components/ModalWithTable/ModalWithTable.stories.d.ts +0 -5
  147. package/dist/types/components/ModalWithTable/index.d.ts +0 -13
  148. package/dist/types/components/Navigation/Navigation.stories.d.ts +0 -5
  149. package/dist/types/components/Navigation/index.d.ts +0 -10
  150. package/dist/types/components/Notification/Notification.stories.d.ts +0 -5
  151. package/dist/types/components/Notification/index.d.ts +0 -9
  152. package/dist/types/components/Questions/Questions.stories.d.ts +0 -4
  153. package/dist/types/components/Questions/SingleQuestion/index.d.ts +0 -1
  154. package/dist/types/components/Questions/index.d.ts +0 -5
  155. package/dist/types/components/Radio/Radio.stories.d.ts +0 -5
  156. package/dist/types/components/Radio/index.d.ts +0 -10
  157. package/dist/types/components/Select/Select.stories.d.ts +0 -6
  158. package/dist/types/components/Select/index.d.ts +0 -5
  159. package/dist/types/components/Separator/Separator.stories.d.ts +0 -6
  160. package/dist/types/components/Separator/index.d.ts +0 -11
  161. package/dist/types/components/Sidebar/Sidebar.stories.d.ts +0 -6
  162. package/dist/types/components/Sidebar/index.d.ts +0 -13
  163. package/dist/types/components/Switch/Switch.stories.d.ts +0 -5
  164. package/dist/types/components/Switch/index.d.ts +0 -2
  165. package/dist/types/components/Table/Table.stories.d.ts +0 -9
  166. package/dist/types/components/Table/index.d.ts +0 -36
  167. package/dist/types/components/Tag/Tag.stories.d.ts +0 -5
  168. package/dist/types/components/Tag/index.d.ts +0 -8
  169. package/dist/types/components/Upload/Upload.stories.d.ts +0 -4
  170. package/dist/types/components/Upload/index.d.ts +0 -8
  171. package/dist/types/components/UserInfo/UserInfo.stories.d.ts +0 -4
  172. package/dist/types/components/UserInfo/index.d.ts +0 -8
  173. package/dist/types/components/index.d.ts +0 -25
  174. package/dist/types/constants/i18n.d.ts +0 -1
  175. package/dist/types/constants/translationHelper.d.ts +0 -2
  176. package/dist/types/index.d.ts +0 -2
@@ -1,137 +1,160 @@
1
- .categoryResponse {
2
- display: grid;
3
- grid-template-columns: 300px auto;
4
- gap: 16px;
5
- height: 100%;
6
- }
7
-
8
- .sidebarWrapper {
9
- background: #EBECED;
10
- overflow: auto;
11
- }
12
-
13
- .contentWrapper {
14
- background: var(--color-white);
15
- overflow: auto;
16
- }
17
-
18
- .sidebarWrapper,
19
- .contentWrapper {
20
- padding: 20px;
21
- }
22
-
23
- .title {
24
- font-size: var(--font-size-body-4);
25
- color: var(--color-blue);
26
- margin-bottom: 36px;
27
- font-weight: var(--font-weight-semibold);
28
- text-transform: uppercase;
29
-
30
- }
31
-
32
- .label {
33
- padding-bottom: 15px;
34
- font-weight: var(--font-weight-bold);
35
- font-size: var(--font-size-body-4);
36
- }
37
-
38
- .cursorPointer {
39
- cursor: pointer;
40
- }
41
-
42
- .subCategory {
43
- padding-left: 16px;
44
-
45
- .label {
46
- font-weight: var(--font-weight-semibold);
47
- }
48
-
49
- .labelWrapper {
50
- .subCategory {
51
- .label {
52
- font-weight: var(--font-weight-light);
53
- }
54
- }
55
- }
56
- }
57
-
58
- .labelWrapper {
59
- display: block;
60
- }
61
-
62
- .active {
63
- color: var(--color-orange);
64
- }
65
-
66
- .details {
67
- margin-bottom: 24px;
68
- }
69
-
70
- .categoryName {
71
- font-size: var(--font-size-body-4);
72
- color: var(--color-blue);
73
- font-weight: var(--font-weight-semibold);
74
- margin-bottom: 8px;
75
- }
76
-
77
- .categoryDescription {
78
- font-size: var(--font-size-body-3);
79
- font-weight: var(--font-weight-light);
80
- color: var(--color-black);
81
- }
82
-
83
- // Questions
84
- .questionWrapper {
85
- display: flex;
86
- flex-direction: row;
87
- gap: 12px;
88
- margin-bottom: 36px;
89
- }
90
-
91
- .questionWrapperOpenAnswer {
92
- flex-direction: column;
93
- border-bottom: 1px solid rgba(var(--color-blue-rgb), .2);
94
- margin-bottom: 24px;
95
-
96
- .question {
97
- width: 100%;
98
- border-bottom: none;
99
- }
100
-
101
- .answer {
102
- width: 100%;
103
- height: auto;
104
-
105
- :global {
106
- .ant-input {
107
- min-height: 140px;
108
- }
109
-
110
- .ant-form-item {
111
- margin-bottom: 16px;
112
- }
113
- }
114
- }
115
- }
116
-
117
- .question {
118
- width: calc(100% - 112px);
119
- border-bottom: 1px solid rgba(var(--color-blue-rgb), .2);
120
- }
121
-
122
- .answer {
123
- width: 100px;
124
- height: 50px;
125
- align-self: flex-end;
126
- }
127
-
128
- .subject {
129
- font-size: var(--font-size-body-3);
130
- font-weight: var(--font-weight-semibold);
131
- margin-bottom: 8px;
132
- }
133
-
134
- .description {
135
- font-weight: var(--font-weight-light);
136
- margin-bottom: 4px;
137
- }
1
+ .categoryResponse {
2
+ display: grid;
3
+ grid-template-columns: 1fr;
4
+ gap: 16px;
5
+ height: 100%;
6
+
7
+ @media(min-width: 600px) {
8
+ grid-template-columns: 220px auto;
9
+ }
10
+
11
+ @media(min-width: 768px) {
12
+ grid-template-columns: 300px auto;
13
+ }
14
+ }
15
+
16
+ .sidebarWrapper {
17
+ background: #EBECED;
18
+ overflow: auto;
19
+ }
20
+
21
+ .contentWrapper {
22
+ background: var(--color-white);
23
+ overflow: auto;
24
+ }
25
+
26
+ .sidebarWrapper,
27
+ .contentWrapper {
28
+ padding: 20px;
29
+ }
30
+
31
+ .title {
32
+ font-size: var(--font-size-body-3);
33
+ color: var(--color-blue);
34
+ margin-bottom: 36px;
35
+ font-weight: var(--font-weight-semibold);
36
+ text-transform: uppercase;
37
+
38
+ @media(min-width: 768px) {
39
+ font-size: var(--font-size-body-4);
40
+ }
41
+ }
42
+
43
+ .label {
44
+ padding-bottom: 15px;
45
+ font-weight: var(--font-weight-bold);
46
+ font-size: var(--font-size-body-3);
47
+
48
+ @media(min-width: 768px) {
49
+ font-size: var(--font-size-body-4);
50
+ }
51
+ }
52
+
53
+ .cursorPointer {
54
+ cursor: pointer;
55
+ }
56
+
57
+ .subCategory {
58
+ padding-left: 16px;
59
+
60
+ .label {
61
+ font-weight: var(--font-weight-semibold);
62
+ }
63
+
64
+ .labelWrapper {
65
+ .subCategory {
66
+ .label {
67
+ font-weight: var(--font-weight-light);
68
+ }
69
+ }
70
+ }
71
+ }
72
+
73
+ .labelWrapper {
74
+ display: block;
75
+ }
76
+
77
+ .active {
78
+ color: var(--color-orange);
79
+ }
80
+
81
+ .details {
82
+ margin-bottom: 24px;
83
+ }
84
+
85
+ .categoryName {
86
+ font-size: var(--font-size-body-3);
87
+ color: var(--color-blue);
88
+ font-weight: var(--font-weight-semibold);
89
+ margin-bottom: 8px;
90
+
91
+ @media(min-width: 768px) {
92
+ font-size: var(--font-size-body-4);
93
+ }
94
+ }
95
+
96
+ .categoryDescription {
97
+ font-size: var(--font-size-body-2);
98
+ font-weight: var(--font-weight-light);
99
+ color: var(--color-black);
100
+
101
+ font-size: var(--font-size-body-3);
102
+ }
103
+
104
+ // Questions
105
+ .questionWrapper {
106
+ display: flex;
107
+ flex-direction: row;
108
+ gap: 12px;
109
+ margin-bottom: 36px;
110
+ }
111
+
112
+ .questionWrapperOpenAnswer {
113
+ flex-direction: column;
114
+ border-bottom: 1px solid rgba(var(--color-blue-rgb), .2);
115
+ margin-bottom: 24px;
116
+
117
+ .question {
118
+ width: 100%;
119
+ border-bottom: none;
120
+ }
121
+
122
+ .answer {
123
+ width: 100%;
124
+ height: auto;
125
+
126
+ :global {
127
+ .ant-input {
128
+ min-height: 140px;
129
+ }
130
+
131
+ .ant-form-item {
132
+ margin-bottom: 16px;
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ .question {
139
+ width: calc(100% - 112px);
140
+ border-bottom: 1px solid rgba(var(--color-blue-rgb), .2);
141
+ }
142
+
143
+ .answer {
144
+ width: 100px;
145
+ height: 50px;
146
+ align-self: flex-end;
147
+ }
148
+
149
+ .subject {
150
+ font-size: var(--font-size-body-2);
151
+ font-weight: var(--font-weight-semibold);
152
+ margin-bottom: 8px;
153
+
154
+ font-size: var(--font-size-body-3);
155
+ }
156
+
157
+ .description {
158
+ font-weight: var(--font-weight-light);
159
+ margin-bottom: 4px;
160
+ }
@@ -1,16 +1,16 @@
1
- import { Meta, Story } from "@storybook/react";
2
- import { CustomDatePicker, CustomDatePickerProps } from '.';
3
-
4
- export default {
5
- title: 'DatePicker',
6
- component: CustomDatePicker,
7
- } as Meta;
8
-
9
- const Template: Story<CustomDatePickerProps> = (args) => <CustomDatePicker {...args}></CustomDatePicker>;
10
-
11
- export const Primary = Template.bind({});
12
- Primary.args = {
13
- onChange: (x: any, y: any) => {
14
- console.log(x, y);
15
- },
16
- };
1
+ import { Meta, Story } from "@storybook/react";
2
+ import { CustomDatePicker, CustomDatePickerProps } from '.';
3
+
4
+ export default {
5
+ title: 'DatePicker',
6
+ component: CustomDatePicker,
7
+ } as Meta;
8
+
9
+ const Template: Story<CustomDatePickerProps> = (args) => <CustomDatePicker {...args}></CustomDatePicker>;
10
+
11
+ export const Primary = Template.bind({});
12
+ Primary.args = {
13
+ onChange: (x: any, y: any) => {
14
+ console.log(x, y);
15
+ },
16
+ };
@@ -1,38 +1,38 @@
1
- import styles from './styles.module.scss';
2
- import { DatePicker, DatePickerProps } from 'antd';
3
-
4
- export type CustomDatePickerProps = DatePickerProps & {
5
- isRangePicker?: boolean;
6
- onChange?: (a: any, b: any) => void;
7
- disabled?: boolean;
8
- defaultValue?: any;
9
- }
10
-
11
- const { RangePicker } = DatePicker;
12
-
13
- export const CustomDatePicker = ({
14
- className, onChange, value, isRangePicker, disabled, defaultValue, ...rest
15
- }: CustomDatePickerProps) => {
16
-
17
- return (
18
- <>
19
- { isRangePicker
20
- ?
21
- <RangePicker
22
- onChange={ onChange }
23
- className={ `${styles.sitooDatePicker} ${className}` }
24
- disabled={disabled}
25
- defaultValue={defaultValue}
26
- />
27
- :
28
- <DatePicker
29
- { ...rest }
30
- value={ value }
31
- onChange={ onChange }
32
- defaultValue={defaultValue}
33
- className={ `${styles.sitooDatePicker} ${className}` }
34
- />
35
- }
36
- </>
37
- );
38
- }
1
+ import styles from './styles.module.scss';
2
+ import { DatePicker, DatePickerProps } from 'antd';
3
+
4
+ export type CustomDatePickerProps = DatePickerProps & {
5
+ isRangePicker?: boolean;
6
+ onChange?: (a: any, b: any) => void;
7
+ disabled?: boolean;
8
+ defaultValue?: any;
9
+ }
10
+
11
+ const { RangePicker } = DatePicker;
12
+
13
+ export const CustomDatePicker = ({
14
+ className, onChange, value, isRangePicker, disabled, defaultValue, ...rest
15
+ }: CustomDatePickerProps) => {
16
+
17
+ return (
18
+ <>
19
+ { isRangePicker
20
+ ?
21
+ <RangePicker
22
+ onChange={ onChange }
23
+ className={ `${styles.sitooDatePicker} ${className}` }
24
+ disabled={disabled}
25
+ defaultValue={defaultValue}
26
+ />
27
+ :
28
+ <DatePicker
29
+ { ...rest }
30
+ value={ value }
31
+ onChange={ onChange }
32
+ defaultValue={defaultValue}
33
+ className={ `${styles.sitooDatePicker} ${className}` }
34
+ />
35
+ }
36
+ </>
37
+ );
38
+ }
@@ -1,3 +1,3 @@
1
- .sitooDatePicker {
2
- border-color: rgba(var(--color-black-rgb), .5);
3
- }
1
+ .sitooDatePicker {
2
+ border-color: rgba(var(--color-black-rgb), .5);
3
+ }
@@ -1,19 +1,19 @@
1
- import { Meta, Story } from "@storybook/react";
2
- import { DatePickerTag } from '.';
3
- import { TagProps } from 'antd';
4
- import { useState } from "react";
5
-
6
- export default {
7
- title: 'DatePickerTag',
8
- component: DatePickerTag,
9
- } as Meta;
10
-
11
- const Template: Story<TagProps> = (args) => {
12
- const [tagsInfo, setTagsInfo] = useState<any>({});
13
-
14
- return <DatePickerTag {...args} tagsInfo={setTagsInfo}></DatePickerTag>;
15
- }
16
-
17
- export const Primary = Template.bind({});
18
- Primary.args = {
19
- };
1
+ import { Meta, Story } from "@storybook/react";
2
+ import { DatePickerTag } from '.';
3
+ import { TagProps } from 'antd';
4
+ import { useState } from "react";
5
+
6
+ export default {
7
+ title: 'DatePickerTag',
8
+ component: DatePickerTag,
9
+ } as Meta;
10
+
11
+ const Template: Story<TagProps> = (args) => {
12
+ const [tagsInfo, setTagsInfo] = useState<any>({});
13
+
14
+ return <DatePickerTag {...args} tagsInfo={setTagsInfo}></DatePickerTag>;
15
+ }
16
+
17
+ export const Primary = Template.bind({});
18
+ Primary.args = {
19
+ };
@@ -1,85 +1,89 @@
1
- import React, { useEffect, useState } from 'react';
2
- import type { Dayjs } from 'dayjs';
3
- import { DatePicker, Tag, TagProps } from 'antd';
4
- import { TweenOneGroup } from 'rc-tween-one';
5
- import styles from './styles.module.scss';
6
-
7
- export interface RangePickerTagProps extends TagProps {
8
- customTags?: any,
9
- tagsInfo?: any;
10
- }
11
-
12
- type DateValue = Dayjs | null;
13
-
14
- export const DatePickerTag = (props: RangePickerTagProps) => {
15
- const { customTags = [] } = props;
16
-
17
- const [tags, setTags] = useState<any>(customTags);
18
- const [dateValue, setDateValue] = useState<DateValue>(null);
19
-
20
- const handleClose = (removedTag: any) => {
21
- const newTags = tags.filter((tag: any) => tag !== removedTag);
22
- setTags(newTags);
23
- };
24
-
25
- const handleChange = (date: DateValue, dateString: string) => {
26
- const formattedDate = date?.format('DD/MM/YYYY');
27
- setTags([...tags, formattedDate]);
28
- setDateValue(null);
29
- };
30
-
31
- useEffect(() => {
32
- props?.tagsInfo(tags);
33
- }, [tags]);
34
-
35
- const forMap = (tag: any) => {
36
- const tagElem = (
37
- <Tag
38
- closable
39
- onClose={(e) => {
40
- e.preventDefault();
41
- handleClose(tag);
42
- }}
43
- >
44
- {tag}
45
- </Tag>
46
- );
47
- return (
48
- <span key={tag} className={styles.new} style={{ display: 'inline-block' }}>
49
- {tagElem}
50
- </span>
51
- );
52
- };
53
-
54
- const tagChild = tags.map(forMap);
55
-
56
- return (
57
- <div className={styles.tagfield}>
58
- <DatePicker
59
- value={dateValue}
60
- onChange={handleChange}
61
- className={styles.picker}
62
- />
63
-
64
- <div style={{ marginTop: 16 }}>
65
- <TweenOneGroup
66
- enter={{
67
- scale: 0.8,
68
- opacity: 0,
69
- type: 'from',
70
- duration: 100,
71
- }}
72
- onEnd={(e: any) => {
73
- if (e.type === 'appear' || e.type === 'enter') {
74
- (e.target as any).style = 'display: inline-block';
75
- }
76
- }}
77
- leave={{ opacity: 0, width: 0, scale: 0, duration: 200 }}
78
- appear={false}
79
- >
80
- {tagChild}
81
- </TweenOneGroup>
82
- </div>
83
- </div>
84
- );
85
- }
1
+ import React, { useEffect, useState } from 'react';
2
+ import type { Dayjs } from 'dayjs';
3
+ import { DatePicker, Tag, TagProps } from 'antd';
4
+ import { TweenOneGroup } from 'rc-tween-one';
5
+ import styles from './styles.module.scss';
6
+ import { t } from 'i18next';
7
+ import moment, { Moment } from 'moment';
8
+
9
+ export interface DatePickerTagProps extends TagProps {
10
+ customTags?: any,
11
+ tagsInfo?: any;
12
+ }
13
+
14
+ type DateValue = Dayjs | null;
15
+
16
+ export const DatePickerTag = (props: DatePickerTagProps) => {
17
+ const { customTags = [] } = props;
18
+
19
+ const [tags, setTags] = useState<any>(customTags);
20
+ const [dateValue, setDateValue] = useState<DateValue>(null);
21
+
22
+ const handleClose = (removedTag: any) => {
23
+ const newTags = tags.filter((tag: any) => tag !== removedTag);
24
+ setTags(newTags);
25
+ };
26
+
27
+ const handleChange = (date: DateValue, dateString: string) => {
28
+ const formattedDate = date?.format('DD/MM/YYYY');
29
+ setTags([...tags, formattedDate]);
30
+ setDateValue(null);
31
+ };
32
+
33
+ useEffect(() => {
34
+ props?.tagsInfo(tags);
35
+ }, [tags]);
36
+
37
+ const forMap = (tag: any) => {
38
+ const tagElem = (
39
+ <Tag
40
+ closable
41
+ onClose={(e) => {
42
+ e.preventDefault();
43
+ handleClose(tag);
44
+ }}
45
+ >
46
+ {tag}
47
+ </Tag>
48
+ );
49
+ return (
50
+ <span key={tag} className={styles.new} style={{ display: 'inline-block' }}>
51
+ {tagElem}
52
+ </span>
53
+ );
54
+ };
55
+
56
+ const tagChild = tags.map(forMap);
57
+
58
+ return (
59
+ <div className={styles.tagfield}>
60
+ <DatePicker
61
+ disabledDate={(current) => current && current < moment().endOf('day')}
62
+ value={dateValue}
63
+ onChange={handleChange}
64
+ className={styles.picker}
65
+ placeholder={t('components.datePickerTag.placeholder')!}
66
+ />
67
+
68
+ <div style={{ marginTop: 16 }}>
69
+ <TweenOneGroup
70
+ enter={{
71
+ scale: 0.8,
72
+ opacity: 0,
73
+ type: 'from',
74
+ duration: 100,
75
+ }}
76
+ onEnd={(e: any) => {
77
+ if (e.type === 'appear' || e.type === 'enter') {
78
+ (e.target as any).style = 'display: inline-block';
79
+ }
80
+ }}
81
+ leave={{ opacity: 0, width: 0, scale: 0, duration: 200 }}
82
+ appear={false}
83
+ >
84
+ {tagChild}
85
+ </TweenOneGroup>
86
+ </div>
87
+ </div>
88
+ );
89
+ }