intelicoreact 0.0.96 → 0.0.97

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 (155) hide show
  1. package/dist/Atomic/FormElements/Input/Input.js +3 -1
  2. package/dist/Atomic/FormElements/Input/Input.stories.js +5 -1
  3. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +4 -4
  4. package/dist/Atomic/FormElements/Spinner/Spinner.js +21 -0
  5. package/{src/Atomic/FormElements/Dropdown/components/DropdownLoader.scss → dist/Atomic/FormElements/Spinner/Spinner.scss} +8 -5
  6. package/dist/Atomic/FormElements/Spinner/Spinner.stories.js +34 -0
  7. package/dist/Functions/inputExecutor.js +7 -1
  8. package/package.json +3 -2
  9. package/.babelrc +0 -12
  10. package/.eslintignore +0 -10
  11. package/.eslintrc.json +0 -93
  12. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.js +0 -28
  13. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +0 -107
  14. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +0 -26
  15. package/src/Atomic/FormElements/DateTime/DateTime.js +0 -18
  16. package/src/Atomic/FormElements/DateTime/DateTime.scss +0 -12
  17. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +0 -17
  18. package/src/Atomic/FormElements/DoubleString/DoubleString.js +0 -13
  19. package/src/Atomic/FormElements/DoubleString/DoubleString.scss +0 -20
  20. package/src/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -18
  21. package/src/Atomic/FormElements/Dropdown/Dropdown.js +0 -178
  22. package/src/Atomic/FormElements/Dropdown/Dropdown.scss +0 -192
  23. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +0 -87
  24. package/src/Atomic/FormElements/Dropdown/components/DropdownLoader.js +0 -17
  25. package/src/Atomic/FormElements/Header/Header.js +0 -67
  26. package/src/Atomic/FormElements/Header/Header.scss +0 -93
  27. package/src/Atomic/FormElements/Header/Header.stories.js +0 -30
  28. package/src/Atomic/FormElements/Input/Input.js +0 -186
  29. package/src/Atomic/FormElements/Input/Input.scss +0 -136
  30. package/src/Atomic/FormElements/Input/Input.stories.js +0 -94
  31. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +0 -104
  32. package/src/Atomic/FormElements/InputCalendar/InputCalendar.scss +0 -23
  33. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +0 -39
  34. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +0 -254
  35. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +0 -624
  36. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +0 -65
  37. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +0 -432
  38. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +0 -126
  39. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +0 -24
  40. package/src/Atomic/FormElements/InputDateRange/dependencies.js +0 -161
  41. package/src/Atomic/FormElements/InputsRow/InputsRow.js +0 -112
  42. package/src/Atomic/FormElements/InputsRow/InputsRow.scss +0 -45
  43. package/src/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -34
  44. package/src/Atomic/FormElements/Label/Label.js +0 -13
  45. package/src/Atomic/FormElements/Label/Label.scss +0 -20
  46. package/src/Atomic/FormElements/Label/Label.stories.js +0 -23
  47. package/src/Atomic/FormElements/MobileCalendar/MobileCalendar.js +0 -315
  48. package/src/Atomic/FormElements/MobileCalendar/MobileCalendar.scss +0 -120
  49. package/src/Atomic/FormElements/MobileCalendar/MobileCalendar.stories.js +0 -30
  50. package/src/Atomic/FormElements/Modal/Modal.js +0 -69
  51. package/src/Atomic/FormElements/Modal/Modal.scss +0 -230
  52. package/src/Atomic/FormElements/Modal/Modal.stories.js +0 -116
  53. package/src/Atomic/FormElements/MultiSelect/MultiSelect.js +0 -39
  54. package/src/Atomic/FormElements/MultiSelect/MultiSelect.scss +0 -16
  55. package/src/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -28
  56. package/src/Atomic/FormElements/NavLine/NavLine.js +0 -67
  57. package/src/Atomic/FormElements/NavLine/NavLine.scss +0 -108
  58. package/src/Atomic/FormElements/NavLine/NavLine.stories.js +0 -108
  59. package/src/Atomic/FormElements/NumericInput/NumericInput.js +0 -263
  60. package/src/Atomic/FormElements/NumericInput/NumericInput.scss +0 -135
  61. package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +0 -78
  62. package/src/Atomic/FormElements/RadioInput/RadioInput.js +0 -28
  63. package/src/Atomic/FormElements/RadioInput/RadioInput.scss +0 -63
  64. package/src/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -23
  65. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +0 -152
  66. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +0 -101
  67. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +0 -54
  68. package/src/Atomic/FormElements/RangeInputs/RangeInputs.js +0 -41
  69. package/src/Atomic/FormElements/RangeInputs/RangeInputs.scss +0 -20
  70. package/src/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -23
  71. package/src/Atomic/FormElements/Switcher/Switcher.js +0 -24
  72. package/src/Atomic/FormElements/Switcher/Switcher.scss +0 -56
  73. package/src/Atomic/FormElements/Switcher/Switcher.stories.js +0 -22
  74. package/src/Atomic/FormElements/Table/Partials/TdCell.js +0 -47
  75. package/src/Atomic/FormElements/Table/Partials/TdHeader.js +0 -33
  76. package/src/Atomic/FormElements/Table/Partials/TdRow.js +0 -84
  77. package/src/Atomic/FormElements/Table/Partials/TdTitle.js +0 -38
  78. package/src/Atomic/FormElements/Table/Table.js +0 -50
  79. package/src/Atomic/FormElements/Table/Table.scss +0 -78
  80. package/src/Atomic/FormElements/Table/Table.stories.js +0 -102
  81. package/src/Atomic/FormElements/Table/TdTypes/TdActions.js +0 -59
  82. package/src/Atomic/FormElements/Table/TdTypes/TdPriority.js +0 -20
  83. package/src/Atomic/FormElements/Table/TdTypes/TdRange.js +0 -15
  84. package/src/Atomic/FormElements/Table/TdTypes/TdTypes.scss +0 -35
  85. package/src/Atomic/FormElements/Table/TdTypes/TdWeight.js +0 -43
  86. package/src/Atomic/FormElements/Tag/Tag.js +0 -24
  87. package/src/Atomic/FormElements/Tag/Tag.scss +0 -38
  88. package/src/Atomic/FormElements/Tag/Tag.stories.js +0 -30
  89. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.js +0 -108
  90. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +0 -131
  91. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -44
  92. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.js +0 -18
  93. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.scss +0 -50
  94. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -21
  95. package/src/Atomic/FormElements/Textarea/Textarea.js +0 -19
  96. package/src/Atomic/FormElements/Textarea/Textarea.scss +0 -35
  97. package/src/Atomic/FormElements/Textarea/Textarea.stories.js +0 -24
  98. package/src/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +0 -66
  99. package/src/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.scss +0 -10
  100. package/src/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.stories.js +0 -57
  101. package/src/Atomic/FormElements/TimeRange/TimeRange.js +0 -55
  102. package/src/Atomic/FormElements/TimeRange/TimeRange.scss +0 -17
  103. package/src/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -21
  104. package/src/Atomic/MainMenu/MainMenu.js +0 -112
  105. package/src/Atomic/MainMenu/MainMenu.scss +0 -176
  106. package/src/Atomic/MainMenu/MainMenu.stories.js +0 -91
  107. package/src/Atomic/UI/Accordion/Accordion.js +0 -45
  108. package/src/Atomic/UI/Accordion/Accordion.scss +0 -73
  109. package/src/Atomic/UI/Accordion/Accordion.stories.js +0 -78
  110. package/src/Atomic/UI/Accordion/AccordionItem.js +0 -92
  111. package/src/Atomic/UI/AdvancedTag/AdvTag.js +0 -81
  112. package/src/Atomic/UI/AdvancedTag/AdvancedTags.js +0 -32
  113. package/src/Atomic/UI/AdvancedTag/AdvancedTags.scss +0 -72
  114. package/src/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +0 -49
  115. package/src/Atomic/UI/Alert/Alert.js +0 -23
  116. package/src/Atomic/UI/Alert/Alert.scss +0 -65
  117. package/src/Atomic/UI/Alert/Alert.stories.js +0 -34
  118. package/src/Atomic/UI/Arrow/Arrow.js +0 -41
  119. package/src/Atomic/UI/Arrow/Arrow.scss +0 -19
  120. package/src/Atomic/UI/Arrow/Arrow.stories.js +0 -32
  121. package/src/Atomic/UI/Button/Button.js +0 -17
  122. package/src/Atomic/UI/Button/Button.scss +0 -108
  123. package/src/Atomic/UI/Button/Button.stories.js +0 -49
  124. package/src/Atomic/UI/Calendar/Calendar.js +0 -190
  125. package/src/Atomic/UI/Calendar/Calendar.scss +0 -607
  126. package/src/Atomic/UI/Calendar/Calendar.stories.js +0 -26
  127. package/src/Atomic/UI/Header/partials/default_ava.png +0 -0
  128. package/src/Atomic/UI/Hint/Hint.js +0 -34
  129. package/src/Atomic/UI/Hint/Hint.scss +0 -92
  130. package/src/Atomic/UI/Hint/Hint.stories.js +0 -34
  131. package/src/Atomic/UI/Price/Price.js +0 -20
  132. package/src/Atomic/UI/Price/Price.stories.js +0 -30
  133. package/src/Atomic/UI/Status/Status.js +0 -38
  134. package/src/Atomic/UI/Status/Status.scss +0 -69
  135. package/src/Atomic/UI/Status/Status.stories.js +0 -47
  136. package/src/Constants/index.constants.js +0 -41
  137. package/src/Functions/customEventListener.js +0 -58
  138. package/src/Functions/inputExecutor.js +0 -53
  139. package/src/Functions/schemas.js +0 -31
  140. package/src/Functions/useClickOutside.js +0 -15
  141. package/src/Functions/useMouseUpOutside.js +0 -16
  142. package/src/Functions/useToggle.js +0 -17
  143. package/src/Functions/utils.js +0 -51
  144. package/src/Molecular/Datepicker/Datepicker.js +0 -346
  145. package/src/Molecular/Datepicker/Datepicker.scss +0 -8
  146. package/src/Molecular/Datepicker/Datepicker.stories.js +0 -27
  147. package/src/Molecular/Datepicker/components/Calendar.js +0 -118
  148. package/src/Molecular/FormElements/FormElement.js +0 -18
  149. package/src/Molecular/FormElements/FormElement.scss +0 -8
  150. package/src/Molecular/FormElements/FormElement.stories.js +0 -59
  151. package/src/index.js +0 -3
  152. package/src/scss/_fonts.scss +0 -109
  153. package/src/scss/_vars.scss +0 -48
  154. package/src/scss/main.scss +0 -40
  155. package/webpack.config.js +0 -61
@@ -1,230 +0,0 @@
1
- .modal-overlay {
2
- position: fixed;
3
- top: 0;
4
- left: 0;
5
- width: 100%;
6
- height: 100%;
7
- transition: opacity 0.2s ease;
8
- background-color: black;
9
- opacity: 0.5;
10
- z-index: 4;
11
- }
12
-
13
- .modal {
14
- display: flex;
15
- flex-direction: column;
16
- position: fixed;
17
- width: 600px;
18
- left: calc(50% - 300px);
19
- margin: 0 auto;
20
- background-color: #fff;
21
- border-radius: 5px;
22
- z-index: 5;
23
- box-shadow: 0 20px 20px rgb(0 0 0 / 20%);
24
-
25
- &__header {
26
- display: flex;
27
- align-items: center;
28
- justify-content: space-between;
29
- padding: 10px 15px;
30
- border-bottom: 1px solid #e2e5ec;
31
- background-color: #f7fafc;
32
- border-top-left-radius: 4px;
33
- border-top-right-radius: 4px;
34
-
35
- &-primary {
36
- background-color: #6b81dd;
37
-
38
- &-title {
39
- color: #ffff !important;
40
- font-weight: 400;
41
- }
42
- }
43
-
44
- &-title {
45
- font-size: 16px;
46
- font-weight: 400;
47
- color: #6b81dd;
48
- }
49
- }
50
-
51
- &__body {
52
- background-color: #f7fafc;
53
- padding: 15px;
54
- max-height: calc(100vh - 150px);
55
- overflow-y: auto;
56
- border-bottom-left-radius: 4px;
57
- border-bottom-right-radius: 4px;
58
-
59
- scrollbar-color: rgb(186, 194, 201) rgba(0, 0, 0, 0) !important;
60
- scrollbar-width: thin !important;
61
-
62
- scrollbar {
63
- -moz-appearance: none !important;
64
- }
65
- scrollbarbutton {
66
- -moz-appearance: none !important;
67
- }
68
- thumb {
69
- -moz-appearance: none !important;
70
- }
71
- scrollcorner {
72
- -moz-appearance: none !important;
73
- resize: both;
74
- }
75
- // overflow-y: overlay;
76
-
77
- &::-webkit-scrollbar {
78
- width: 4px;
79
- }
80
-
81
- &::-webkit-scrollbar-thumb {
82
- -webkit-border-radius: 3px;
83
- border-radius: 3px;
84
- background: #bac2c9;
85
-
86
- &:hover {
87
- background: #9aa0b9;
88
- }
89
- }
90
-
91
- &::-webkit-scrollbar:horizontal {
92
- height: 8px;
93
- }
94
-
95
- &::-webkit-scrollbar-track:horizontal {
96
- background: inherit;
97
- }
98
-
99
- &::-webkit-scrollbar-thumb:horizontal {
100
- -webkit-border-radius: 6px;
101
- border-radius: 6px;
102
- background: #bac2c9;
103
- background-clip: padding-box;
104
- border: 2px solid rgba(0, 0, 0, 0);
105
-
106
- &:hover {
107
- background: #9aa0b9;
108
- border: 1px solid rgba(0, 0, 0, 0);
109
- background-clip: padding-box;
110
- }
111
- }
112
- }
113
-
114
- &__footer {
115
- display: flex;
116
- align-items: center;
117
- justify-content: flex-end;
118
- padding: 10px 15px;
119
- border-top: 1px solid #e2e5ec;
120
- background-color: #f7fafc;
121
- border-bottom-left-radius: 4px;
122
- border-bottom-right-radius: 4px;
123
-
124
- &--inbody {
125
- padding-bottom: 0;
126
- }
127
- }
128
-
129
- &-290 {
130
- width: 290px;
131
- left: calc(50% - 145px);
132
- }
133
-
134
- &-420 {
135
- width: 420px;
136
- left: calc(50% - 210px);
137
- }
138
-
139
- &-770 {
140
- width: 770px;
141
- left: calc(50% - 385px);
142
- }
143
-
144
- &-870 {
145
- width: 870px;
146
- left: calc(50% - 435px);
147
- }
148
-
149
- &-950 {
150
- width: 950px;
151
- left: calc(50% - 475px);
152
- }
153
-
154
- &-1024 {
155
- width: 1024px;
156
- left: calc(50% - 510px);
157
- }
158
- }
159
- .modal__footer--noborder {
160
- border-top: none;
161
- }
162
- .modal-box {
163
- z-index: 100;
164
- position: fixed;
165
- top: 0;
166
- left: 0;
167
- right: 0;
168
- bottom: 0;
169
- }
170
-
171
- .consumer-info-modal {
172
- .modal__body {
173
- min-height: 200px;
174
- padding: 0 15px;
175
- }
176
- }
177
-
178
- .modal-close-icon-box {
179
- display: flex;
180
- align-items: center;
181
- justify-content: center;
182
- background-color: inherit;
183
- border-top-right-radius: 5px;
184
- width: 40px;
185
- height: 39px;
186
- position: absolute;
187
- top: 0;
188
- right: 0;
189
- cursor: pointer;
190
-
191
- &:hover {
192
- opacity: 0.6;
193
- }
194
-
195
- &-primary {
196
- color: #ffff;
197
-
198
- &:hover {
199
- background-color: #5162d4;
200
- opacity: 1;
201
- }
202
- }
203
- }
204
-
205
- .modal-close-icon {
206
- width: 20px;
207
- min-width: 20px;
208
- height: 20px;
209
- }
210
-
211
- .modal-text-card {
212
- text-align: left;
213
- padding: 15px 0;
214
- font-size: 13px;
215
- font-weight: 400;
216
- line-height: 20px;
217
- }
218
-
219
- .included-selector-modal {
220
- .table {
221
- min-height: 400px;
222
- max-height: 500px;
223
- }
224
- }
225
-
226
- .reports-settings-modal-box {
227
- .modal__body {
228
- padding: 0;
229
- }
230
- }
@@ -1,116 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import Modal from './Modal';
4
- import Button from '../../UI/Button/Button';
5
- import Alert from '../../UI/Alert/Alert';
6
-
7
- global.lng = 'en';
8
-
9
- const examples = [
10
- JSON.stringify({ withConfirmation: { cancel: true } }),
11
- JSON.stringify({ withConfirmation: { confirm: true } }),
12
- JSON.stringify({ withConfirmation: { confirm: true, cancel: true } }),
13
- JSON.stringify({
14
- withConfirmation: {
15
- title: 'some value',
16
- children: 'some value',
17
- confirmBtnLabel: 'some value'
18
- }
19
- })
20
- ];
21
- const confirmationDescrip =
22
- 'If you pass the "withConfirmation" property, you will be able to request confirmation of the user\'s action.\n\n' +
23
- `For example, if you want to request confirmation to close a modal window, pass the property like this: ${examples[0]}\n\n` +
24
- `To confirm submit, pass the property like this: with Confirmation: ${examples[1]}\n\n` +
25
- `If you want confirmation for each action, pass the property like this: with Confirmation: ${examples[2]}\n\n` +
26
- `If you want to control the contents of the confirmation window, pass an object with values instead of boolean values, like this:\n\n${examples[3]}\n\n`;
27
-
28
- export default {
29
- title: 'Modal',
30
- component: Modal,
31
- argTypes: {
32
- mode: {
33
- control: {
34
- type: 'select',
35
- options: ['default', 'edit', 'create', 'add']
36
- }
37
- },
38
- variant: {
39
- control: {
40
- type: 'select',
41
- options: ['default', 'primary']
42
- }
43
- },
44
- size: {
45
- control: {
46
- type: 'select',
47
- options: ['default', '290', '420', '870', '770', '950']
48
- }
49
- },
50
- type: {
51
- control: {
52
- type: 'select',
53
- options: ['default', 'primary']
54
- }
55
- },
56
- withConfirmation: {
57
- description: confirmationDescrip
58
- }
59
- }
60
- };
61
-
62
- const Template = args => {
63
- const [isOpen, setIsOpen] = useState(false);
64
- const closeModal = () => setIsOpen(false);
65
-
66
- return (
67
- <>
68
- <Button onClick={() => setIsOpen(true)} text="Show modal" />
69
- <Modal
70
- {...args}
71
- closeModal={closeModal}
72
- submitHandler={() => {
73
- args.submitHandler();
74
- closeModal();
75
- }}
76
- isOpen={isOpen}
77
- >
78
- <Alert message="Alert message" variant="error" className="mb5" />
79
- <Alert message="Alert message" variant="warning" className="mb5" />
80
- <Alert message="Alert message" variant="success" className="mb5" />
81
- <Alert message="Alert message" variant="info" />
82
- </Modal>
83
- </>
84
- );
85
- };
86
-
87
- export const ModalTemplate = Template.bind({});
88
- export const ModalWithConfirmation = Template.bind({});
89
-
90
- const mainProps = {
91
- title: 'Modal',
92
- variant: 'primary',
93
- mode: 'edit',
94
- size: '',
95
- confirmBtnLabel: '',
96
- submitHandler: () => {
97
- console.log('Hi');
98
- }
99
- };
100
-
101
- const confirmationProps = {
102
- title: '',
103
- children: '',
104
- confirmBtnLabel: ''
105
- };
106
-
107
- const confirmationVariants = {
108
- // confirm: { ...confirmationProps },
109
- cancel: { ...confirmationProps }
110
- };
111
-
112
- ModalTemplate.args = { ...mainProps };
113
- ModalWithConfirmation.args = {
114
- ...mainProps,
115
- withConfirmation: { ...confirmationVariants }
116
- };
@@ -1,39 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import Input from '../Input/Input';
4
- import CheckboxInput from '../CheckboxInput/CheckboxInput';
5
-
6
- import './MultiSelect.scss';
7
-
8
- const MultiSelect = ({ options, chosenOptions, onChange }) => {
9
- const [searchValue, setSearchValue] = useState('');
10
-
11
- const checkHandler = (state, value) => {
12
- if (state) {
13
- onChange([...chosenOptions, value]);
14
- } else {
15
- onChange(chosenOptions.filter(item => item !== value));
16
- }
17
- };
18
-
19
- const filteredOptions = options.filter(({ label }) => label.toLowerCase().includes(searchValue.toLowerCase()));
20
-
21
- return (
22
- <div className="multiselect">
23
- <Input value={searchValue} onChange={value => setSearchValue(value)} placeholder="Search" />
24
- <div className="multiselect__list">
25
- {filteredOptions.map(({ label, value, id }) => (
26
- <CheckboxInput
27
- key={id}
28
- value={chosenOptions.includes(value)}
29
- label={label}
30
- onChange={state => checkHandler(state, value)}
31
- className="multiselect__item"
32
- />
33
- ))}
34
- </div>
35
- </div>
36
- );
37
- };
38
-
39
- export default MultiSelect;
@@ -1,16 +0,0 @@
1
- .multiselect {
2
- display: inline-flex;
3
- flex-direction: column;
4
- background-color: #fff;
5
- border: 1px solid #e2e5ec;
6
- border-radius: 4px;
7
- padding: 8px 10px;
8
-
9
- &__item {
10
- height: 24px;
11
- }
12
-
13
- &__list {
14
- margin-top: 4px;
15
- }
16
- }
@@ -1,28 +0,0 @@
1
- import React, { useState } from 'react';
2
- import MultiSelect from './MultiSelect';
3
-
4
- global.lng = 'en';
5
-
6
- export default {
7
- title: 'MultiSelect',
8
- component: MultiSelect
9
- };
10
-
11
- const MultiTemplate = args => {
12
- const options = [
13
- { id: 1, label: 'label test 1', value: 'check1' },
14
- { id: 2, label: 'label test 2', value: 'check2' },
15
- { id: 3, label: 'label test 3', value: 'check3' },
16
- { id: 4, label: 'label test 4', value: 'check4' },
17
- { id: 5, label: 'label test 5', value: 'check5' },
18
- { id: 6, label: 'label test 6', value: 'check6' },
19
- { id: 7, label: 'label test 7', value: 'check7' }
20
- ];
21
-
22
- const [value, setValue] = useState([]);
23
-
24
- return <MultiSelect {...args} options={options} chosenOptions={value} onChange={setValue} />;
25
- };
26
-
27
- export const MultiDropdownTemplate = MultiTemplate.bind({});
28
- MultiDropdownTemplate.args = {};
@@ -1,67 +0,0 @@
1
- import React from 'react';
2
- import { NavLink } from 'react-router-dom';
3
- import cn from 'classnames';
4
- import * as Icons from 'react-feather';
5
-
6
- import './NavLine.scss';
7
-
8
- const NavLine = ({ root, activeTab, variant, onChange, className, items, children, isLocal, mode }) => {
9
- return (
10
- <div className={cn({ 'nav-line': !variant }, { 'nav-line--simple': variant === 'simple' }, className)}>
11
- <div className={`${variant === 'simple' ? 'nav-line--simple__inner' : 'nav-line__inner'}`}>
12
- {items.map(item => {
13
- const Icon = Icons[item?.icon];
14
- return isLocal ? (
15
- <span
16
- onClick={() => onChange(item.tabId)}
17
- key={`tab__${item.tabId}`}
18
- className={cn(
19
- { 'nav-line__item': !variant },
20
- { 'nav-line--simple__item': variant === 'simple' },
21
- { active: activeTab === item.tabId },
22
- { disabled: item.disabled || (mode === 'create' && item.tabId !== 'general') }
23
- )}
24
- >
25
- <div className="j4">
26
- {item.icon && (
27
- <div className="nav-line__item--icon">
28
- <Icon />
29
- </div>
30
- )}
31
-
32
- <span className={cn({ 'nav-line__item--label': variant !== 'simple' })}>{item.label}</span>
33
- {item.count !== undefined ? <span className="nav-line--count ml5">({item.count || 0})</span> : null}
34
- </div>
35
- </span>
36
- ) : (
37
- <NavLink
38
- to={`${root}${item.tabId}/`}
39
- key={`tab__${item.tabId}`}
40
- className={cn(
41
- { 'nav-line__item': !variant },
42
- { 'nav-line--simple__item': variant === 'simple' },
43
- { active: activeTab === item.tabId },
44
- { disabled: item.disabled || (mode === 'create' && item.tabId !== 'general') }
45
- )}
46
- >
47
- <div className="j4">
48
- {item.icon && (
49
- <div className="nav-line__item--icon">
50
- <Icon />
51
- </div>
52
- )}
53
-
54
- <span className={cn({ 'nav-line__item--label': variant !== 'simple' })}>{item.label}</span>
55
- {item.count !== undefined ? <span className="nav-line--count ml5">({item.count || 0})</span> : null}
56
- </div>
57
- </NavLink>
58
- );
59
- })}
60
- </div>
61
-
62
- <div className="nav-line__body">{children}</div>
63
- </div>
64
- );
65
- };
66
-
67
- export default NavLine;
@@ -1,108 +0,0 @@
1
- .nav-line {
2
- &__inner {
3
- display: flex;
4
- justify-content: flex-start;
5
- align-items: center;
6
- flex-wrap: wrap;
7
- background-color: #f7fafc;
8
- }
9
-
10
- &__item {
11
- padding: 10px;
12
- cursor: pointer;
13
- font-size: 13px;
14
- color: #1e1e2d;
15
- border-top: 2px solid transparent;
16
- user-select: none;
17
- margin-bottom: -1px;
18
- border-left: 1px solid transparent;
19
- border-right: 1px solid transparent;
20
-
21
- &--label {
22
- text-transform: uppercase;
23
- }
24
-
25
- &--icon {
26
- display: flex;
27
- align-items: center;
28
- margin-right: 5px;
29
-
30
- svg {
31
- height: 17px;
32
- width: 17px;
33
- }
34
- }
35
-
36
- &.active {
37
- color: #6b81dd;
38
- background: #fff;
39
- font-weight: 500;
40
- border-top: 2px solid #6b81dd;
41
- cursor: default;
42
- border-left: 1px solid #cfcfcf;
43
- border-right: 1px solid #cfcfcf;
44
- text-decoration: none;
45
- }
46
- }
47
-
48
- &__body {
49
- display: flex;
50
- flex-wrap: wrap;
51
- padding: 24px 32px;
52
- font-size: 13px;
53
- border-top: 1px solid #cfcfcf;
54
- margin-left: -32px;
55
- margin-right: -32px;
56
- background-color: #f7fafc;
57
- &:empty {
58
- padding: 0 32px;
59
- }
60
- }
61
- }
62
-
63
- .nav-line--simple {
64
- &__inner {
65
- display: flex;
66
- justify-content: flex-start;
67
- align-items: center;
68
- flex-wrap: wrap;
69
- padding-left: 8px;
70
- }
71
-
72
- &__item {
73
- padding: 10px 10px 14px 10px;
74
- cursor: pointer;
75
- font-size: 13px;
76
- color: #1e1e2d;
77
- border-bottom: 1px solid #cfcfcf;
78
- user-select: none;
79
- margin-bottom: -1px;
80
- border-bottom: 2px solid transparent;
81
- opacity: 65%;
82
- text-decoration: none !important;
83
- &:hover {
84
- border-bottom: 2px solid rgba(107, 129, 221, 0.65);
85
- opacity: 100%;
86
- }
87
-
88
- &.active {
89
- border-bottom: 2px solid #6b81dd;
90
- font-weight: 500;
91
- cursor: default;
92
- opacity: 100%;
93
- }
94
- }
95
-
96
- &__body {
97
- padding: 15px 10px;
98
- font-size: 13px;
99
- }
100
- }
101
-
102
- .nav-line-count {
103
- margin-left: 5px;
104
- }
105
-
106
- .post-log-tab__body {
107
- background-color: #f7fafc;
108
- }
@@ -1,108 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { BrowserRouter } from 'react-router-dom';
3
-
4
- import NavLine from './NavLine';
5
- import Alert from '../../UI/Alert/Alert';
6
- import Status from '../../UI/Status/Status';
7
-
8
- global.lng = 'en';
9
-
10
- export default {
11
- title: 'NavLine',
12
- component: NavLine
13
- };
14
-
15
- const Template = args => {
16
- const navLineContent = {
17
- general: <Alert message="General tab content" />,
18
- payments: <Status status="active" label="Payments tab content" />,
19
- filters: 'Filters tab content',
20
- offers: 'Offers tab content',
21
- merchants: 'Merchants tab content',
22
- integration: 'Integration tab content',
23
- customDetails: <Alert message="Custom Details tab content" type="info" />,
24
- postsLog: 'Posts Log tab content',
25
- tab2: 'Tab2 content'
26
- };
27
- const { initialTab } = args;
28
- const [activeTab, setActiveTab] = useState(initialTab);
29
-
30
- return (
31
- <BrowserRouter>
32
- <NavLine {...args} activeTab={activeTab} onChange={setActiveTab}>
33
- {navLineContent[activeTab]}
34
- </NavLine>
35
- </BrowserRouter>
36
- );
37
- };
38
-
39
- export const NavLineSimpleTemplate = Template.bind({});
40
- export const NavLineTemplate = Template.bind({});
41
-
42
- NavLineSimpleTemplate.args = {
43
- initialTab: 'general',
44
- variant: 'simple',
45
- isLocal: false,
46
- items: [
47
- {
48
- tabId: 'general',
49
- label: 'Tab1'
50
- },
51
- {
52
- tabId: 'payments',
53
- label: 'Tab2'
54
- },
55
- {
56
- tabId: 'filters',
57
- label: 'Tab3'
58
- },
59
- {
60
- tabId: 'offers',
61
- label: 'Tab4',
62
- count: 2
63
- },
64
- {
65
- tabId: 'merchants',
66
- label: 'Tab5',
67
- count: 15
68
- },
69
- {
70
- tabId: 'integration',
71
- label: 'Tab6'
72
- },
73
- {
74
- tabId: 'tab',
75
- label: 'Disabled tab',
76
- status: 'disabled'
77
- }
78
- ]
79
- };
80
-
81
- NavLineTemplate.args = {
82
- initialTab: 'customDetails',
83
- isLocal: false,
84
- items: [
85
- {
86
- tabId: 'customDetails',
87
- label: 'Tab1',
88
- icon: 'Gift'
89
- },
90
- {
91
- tabId: 'postsLog',
92
- label: 'Tab2',
93
- icon: 'Gift',
94
- count: 43
95
- },
96
- {
97
- tabId: 'tab1',
98
- label: 'disabled tab',
99
- icon: 'Gift',
100
- status: 'disabled'
101
- },
102
- {
103
- tabId: 'tab2',
104
- label: 'tab 2',
105
- icon: 'Gift'
106
- }
107
- ]
108
- };