intelicoreact 0.0.3 → 0.0.7

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 (227) hide show
  1. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +6 -2
  2. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +92 -63
  3. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +2 -4
  4. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -3
  5. package/dist/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -2
  6. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +56 -25
  7. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  8. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +40 -11
  9. package/dist/Atomic/FormElements/Header/Header.js +7 -9
  10. package/dist/Atomic/FormElements/Header/Header.scss +16 -5
  11. package/dist/Atomic/FormElements/Header/Header.stories.js +0 -2
  12. package/dist/Atomic/FormElements/Input/Input.js +101 -98
  13. package/dist/Atomic/FormElements/Input/Input.scss +26 -19
  14. package/dist/Atomic/FormElements/Input/Input.stories.js +48 -27
  15. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
  16. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +46 -0
  17. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +259 -0
  18. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +594 -0
  19. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +244 -0
  20. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +489 -0
  21. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +156 -0
  22. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +46 -0
  23. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +249 -0
  24. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +29 -6
  25. package/dist/Atomic/FormElements/InputsRow/InputsRow.scss +1 -3
  26. package/dist/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -2
  27. package/dist/Atomic/FormElements/Label/Label.js +4 -13
  28. package/dist/Atomic/FormElements/Label/Label.scss +3 -3
  29. package/dist/Atomic/FormElements/Label/Label.stories.js +5 -6
  30. package/dist/Atomic/FormElements/Modal/Modal.js +5 -7
  31. package/dist/Atomic/FormElements/Modal/Modal.scss +61 -7
  32. package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
  33. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +3 -5
  34. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.scss +1 -3
  35. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +0 -2
  36. package/dist/Atomic/FormElements/NavLine/NavLine.js +1 -1
  37. package/dist/Atomic/FormElements/NavLine/NavLine.scss +4 -6
  38. package/dist/Atomic/FormElements/NavLine/NavLine.stories.js +20 -12
  39. package/dist/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -2
  40. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +167 -0
  41. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  42. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
  43. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -2
  44. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +0 -2
  45. package/dist/Atomic/FormElements/Table/Partials/TdHeader.js +2 -2
  46. package/dist/Atomic/FormElements/Table/Table.scss +1 -1
  47. package/dist/Atomic/FormElements/Table/TdTypes/TdActions.js +4 -4
  48. package/dist/Atomic/FormElements/Table/TdTypes/TdPriority.js +2 -2
  49. package/dist/Atomic/FormElements/Table/TdTypes/TdTypes.scss +4 -6
  50. package/dist/Atomic/FormElements/Table/TdTypes/TdWeight.js +2 -2
  51. package/dist/Atomic/FormElements/Tag/Tag.js +1 -1
  52. package/dist/Atomic/FormElements/Tag/Tag.stories.js +0 -2
  53. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +2 -2
  54. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -2
  55. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -2
  56. package/dist/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  57. package/dist/Atomic/FormElements/Textarea/Textarea.stories.js +0 -2
  58. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +1 -1
  59. package/dist/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -2
  60. package/dist/Atomic/MainMenu/MainMenu.js +3 -3
  61. package/dist/Atomic/MainMenu/MainMenu.scss +2 -2
  62. package/dist/Atomic/MainMenu/MainMenu.stories.js +11 -11
  63. package/dist/Atomic/UI/Accordion/Accordion.scss +2 -2
  64. package/dist/Atomic/UI/Accordion/Accordion.stories.js +4 -4
  65. package/dist/Atomic/UI/Accordion/AccordionItem.js +1 -1
  66. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +3 -3
  67. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +4 -3
  68. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.scss +3 -5
  69. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +1 -3
  70. package/dist/Atomic/UI/Alert/Alert.scss +7 -0
  71. package/dist/Atomic/UI/Alert/Alert.stories.js +1 -3
  72. package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
  73. package/dist/Atomic/UI/Arrow/Arrow.scss +19 -0
  74. package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
  75. package/dist/Atomic/UI/Button/Button.js +10 -19
  76. package/dist/Atomic/UI/Button/Button.scss +69 -41
  77. package/dist/Atomic/UI/Button/Button.stories.js +9 -25
  78. package/dist/Atomic/UI/Calendar/Calendar.js +146 -0
  79. package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
  80. package/dist/Atomic/UI/Calendar/Calendar.stories.js +38 -0
  81. package/dist/Atomic/UI/Header/partials/default_ava.png +0 -0
  82. package/dist/Atomic/UI/Hint/Hint.js +8 -13
  83. package/dist/Atomic/UI/Hint/Hint.scss +8 -12
  84. package/dist/Atomic/UI/Hint/Hint.stories.js +3 -4
  85. package/dist/Atomic/UI/Price/Price.js +33 -0
  86. package/dist/Atomic/UI/Price/Price.stories.js +42 -0
  87. package/dist/Atomic/UI/Status/Status.scss +1 -1
  88. package/dist/Atomic/UI/Status/Status.stories.js +4 -3
  89. package/dist/Functions/useClickOutside.js +25 -0
  90. package/dist/Functions/utils.js +10 -2
  91. package/dist/Molecular/Datepicker/Datepicker.js +451 -0
  92. package/dist/Molecular/Datepicker/Datepicker.scss +8 -0
  93. package/dist/Molecular/Datepicker/Datepicker.stories.js +44 -0
  94. package/dist/Molecular/Datepicker/components/Calendar.js +156 -0
  95. package/dist/Molecular/FormElements/FormElement.js +40 -0
  96. package/dist/Molecular/FormElements/FormElement.scss +8 -0
  97. package/dist/Molecular/FormElements/FormElement.stories.js +73 -0
  98. package/dist/scss/_vars.scss +3 -1
  99. package/dist/scss/main.scss +3 -3
  100. package/package.json +11 -6
  101. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.js +12 -2
  102. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +92 -63
  103. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +5 -6
  104. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -3
  105. package/src/Atomic/FormElements/DoubleString/DoubleString.stories.js +0 -2
  106. package/src/Atomic/FormElements/Dropdown/Dropdown.js +70 -29
  107. package/src/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  108. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +37 -16
  109. package/src/Atomic/FormElements/Header/Header.js +8 -9
  110. package/src/Atomic/FormElements/Header/Header.scss +16 -5
  111. package/src/Atomic/FormElements/Header/Header.stories.js +0 -2
  112. package/src/Atomic/FormElements/Input/Input.js +83 -73
  113. package/src/Atomic/FormElements/Input/Input.scss +26 -19
  114. package/src/Atomic/FormElements/Input/Input.stories.js +34 -29
  115. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +43 -0
  116. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +27 -0
  117. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +241 -0
  118. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +594 -0
  119. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +149 -0
  120. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +409 -0
  121. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +114 -0
  122. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +24 -0
  123. package/src/Atomic/FormElements/InputDateRange/dependencies.js +161 -0
  124. package/src/Atomic/FormElements/InputsRow/InputsRow.js +28 -5
  125. package/src/Atomic/FormElements/InputsRow/InputsRow.scss +1 -3
  126. package/src/Atomic/FormElements/InputsRow/InputsRow.stories.js +0 -2
  127. package/src/Atomic/FormElements/Label/Label.js +3 -6
  128. package/src/Atomic/FormElements/Label/Label.scss +3 -3
  129. package/src/Atomic/FormElements/Label/Label.stories.js +6 -6
  130. package/src/Atomic/FormElements/Modal/Modal.js +5 -8
  131. package/src/Atomic/FormElements/Modal/Modal.scss +61 -7
  132. package/src/Atomic/FormElements/Modal/Modal.stories.js +60 -15
  133. package/src/Atomic/FormElements/MultiSelect/MultiSelect.js +3 -5
  134. package/src/Atomic/FormElements/MultiSelect/MultiSelect.scss +1 -3
  135. package/src/Atomic/FormElements/MultiSelect/MultiSelect.stories.js +1 -2
  136. package/src/Atomic/FormElements/NavLine/NavLine.js +3 -3
  137. package/src/Atomic/FormElements/NavLine/NavLine.scss +4 -6
  138. package/src/Atomic/FormElements/NavLine/NavLine.stories.js +23 -13
  139. package/src/Atomic/FormElements/RadioInput/RadioInput.stories.js +0 -2
  140. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +146 -0
  141. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  142. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +54 -0
  143. package/src/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +0 -1
  144. package/src/Atomic/FormElements/Switcher/Switcher.stories.js +0 -2
  145. package/src/Atomic/FormElements/Table/Partials/TdHeader.js +1 -1
  146. package/src/Atomic/FormElements/Table/Table.scss +1 -1
  147. package/src/Atomic/FormElements/Table/TdTypes/TdActions.js +4 -4
  148. package/src/Atomic/FormElements/Table/TdTypes/TdPriority.js +3 -3
  149. package/src/Atomic/FormElements/Table/TdTypes/TdTypes.scss +4 -6
  150. package/src/Atomic/FormElements/Table/TdTypes/TdWeight.js +2 -2
  151. package/src/Atomic/FormElements/Tag/Tag.js +2 -2
  152. package/src/Atomic/FormElements/Tag/Tag.stories.js +0 -2
  153. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.js +3 -3
  154. package/src/Atomic/FormElements/TagsDropdown/TagsDropdown.stories.js +0 -2
  155. package/src/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +0 -2
  156. package/src/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  157. package/src/Atomic/FormElements/Textarea/Textarea.stories.js +0 -2
  158. package/src/Atomic/FormElements/TimeRange/TimeRange.js +1 -1
  159. package/src/Atomic/FormElements/TimeRange/TimeRange.stories.js +0 -2
  160. package/src/Atomic/MainMenu/MainMenu.js +3 -3
  161. package/src/Atomic/MainMenu/MainMenu.scss +2 -2
  162. package/src/Atomic/MainMenu/MainMenu.stories.js +11 -11
  163. package/src/Atomic/UI/Accordion/Accordion.scss +2 -2
  164. package/src/Atomic/UI/Accordion/Accordion.stories.js +4 -4
  165. package/src/Atomic/UI/Accordion/AccordionItem.js +1 -1
  166. package/src/Atomic/UI/AdvancedTag/AdvTag.js +3 -3
  167. package/src/Atomic/UI/AdvancedTag/AdvancedTags.js +3 -3
  168. package/src/Atomic/UI/AdvancedTag/AdvancedTags.scss +3 -5
  169. package/src/Atomic/UI/AdvancedTag/AdvancedTags.stories.js +1 -3
  170. package/src/Atomic/UI/Alert/Alert.scss +7 -0
  171. package/src/Atomic/UI/Alert/Alert.stories.js +1 -3
  172. package/src/Atomic/UI/Arrow/Arrow.js +41 -0
  173. package/src/Atomic/UI/Arrow/Arrow.scss +19 -0
  174. package/src/Atomic/UI/Arrow/Arrow.stories.js +32 -0
  175. package/src/Atomic/UI/Button/Button.js +6 -10
  176. package/src/Atomic/UI/Button/Button.scss +69 -41
  177. package/src/Atomic/UI/Button/Button.stories.js +9 -25
  178. package/src/Atomic/UI/Calendar/Calendar.js +109 -0
  179. package/src/Atomic/UI/Calendar/Calendar.scss +544 -0
  180. package/src/Atomic/UI/Calendar/Calendar.stories.js +24 -0
  181. package/src/Atomic/UI/Header/partials/default_ava.png +0 -0
  182. package/src/Atomic/UI/Hint/Hint.js +6 -9
  183. package/src/Atomic/UI/Hint/Hint.scss +8 -12
  184. package/src/Atomic/UI/Hint/Hint.stories.js +3 -3
  185. package/src/Atomic/UI/Price/Price.js +20 -0
  186. package/src/Atomic/UI/Price/Price.stories.js +30 -0
  187. package/src/Atomic/UI/Status/Status.scss +1 -1
  188. package/src/Atomic/UI/Status/Status.stories.js +4 -3
  189. package/src/Functions/useClickOutside.js +15 -0
  190. package/src/Functions/utils.js +6 -0
  191. package/src/Molecular/Datepicker/Datepicker.js +346 -0
  192. package/src/Molecular/Datepicker/Datepicker.scss +8 -0
  193. package/src/Molecular/Datepicker/Datepicker.stories.js +27 -0
  194. package/src/Molecular/Datepicker/components/Calendar.js +118 -0
  195. package/src/Molecular/FormElements/FormElement.js +18 -0
  196. package/src/Molecular/FormElements/FormElement.scss +8 -0
  197. package/src/Molecular/FormElements/FormElement.stories.js +59 -0
  198. package/src/scss/_vars.scss +3 -1
  199. package/src/scss/main.scss +3 -3
  200. package/dist/scss/anme/_anme-bootstrap-grid.scss +0 -748
  201. package/dist/scss/anme/_anme-elements.scss +0 -269
  202. package/dist/scss/anme/_anme-grid.scss +0 -111
  203. package/dist/scss/anme/_anme-justify.scss +0 -111
  204. package/dist/scss/anme/_anme-mixins-media.scss +0 -116
  205. package/dist/scss/anme/_anme-mixins.scss +0 -166
  206. package/dist/scss/anme/_anme-normalize.scss +0 -8
  207. package/dist/scss/anme/_anme-overall.scss +0 -34
  208. package/dist/scss/anme/_anme-padding-margins.scss +0 -419
  209. package/dist/scss/anme/_anme-table.scss +0 -81
  210. package/dist/scss/anme/_anme-theme.scss +0 -275
  211. package/dist/scss/anme/_anme-vars.scss +0 -91
  212. package/dist/scss/anme/_code-styling.scss +0 -23
  213. package/dist/scss/anme/styles.scss +0 -12
  214. package/src/scss/anme/_anme-bootstrap-grid.scss +0 -748
  215. package/src/scss/anme/_anme-elements.scss +0 -269
  216. package/src/scss/anme/_anme-grid.scss +0 -111
  217. package/src/scss/anme/_anme-justify.scss +0 -111
  218. package/src/scss/anme/_anme-mixins-media.scss +0 -116
  219. package/src/scss/anme/_anme-mixins.scss +0 -166
  220. package/src/scss/anme/_anme-normalize.scss +0 -8
  221. package/src/scss/anme/_anme-overall.scss +0 -34
  222. package/src/scss/anme/_anme-padding-margins.scss +0 -419
  223. package/src/scss/anme/_anme-table.scss +0 -81
  224. package/src/scss/anme/_anme-theme.scss +0 -275
  225. package/src/scss/anme/_anme-vars.scss +0 -91
  226. package/src/scss/anme/_code-styling.scss +0 -23
  227. package/src/scss/anme/styles.scss +0 -12
@@ -1,10 +1,10 @@
1
1
  import React, { useState } from 'react';
2
+ import { BrowserRouter } from 'react-router-dom';
3
+
2
4
  import NavLine from './NavLine';
3
5
  import Alert from '../../UI/Alert/Alert';
4
6
  import Status from '../../UI/Status/Status';
5
7
 
6
- import '../../../../scss/main.scss';
7
-
8
8
  global.lng = 'en';
9
9
 
10
10
  export default {
@@ -28,9 +28,11 @@ const Template = args => {
28
28
  const [activeTab, setActiveTab] = useState(initialTab);
29
29
 
30
30
  return (
31
- <NavLine {...args} activeTab={activeTab} onChange={setActiveTab}>
32
- {navLineContent[activeTab]}
33
- </NavLine>
31
+ <BrowserRouter>
32
+ <NavLine {...args} activeTab={activeTab} onChange={setActiveTab}>
33
+ {navLineContent[activeTab]}
34
+ </NavLine>
35
+ </BrowserRouter>
34
36
  );
35
37
  };
36
38
 
@@ -43,24 +45,30 @@ NavLineSimpleTemplate.args = {
43
45
  isLocal: false,
44
46
  items: [
45
47
  {
46
- tabId: 'general'
48
+ tabId: 'general',
49
+ label: 'Tab1'
47
50
  },
48
51
  {
49
- tabId: 'payments'
52
+ tabId: 'payments',
53
+ label: 'Tab2'
50
54
  },
51
55
  {
52
- tabId: 'filters'
56
+ tabId: 'filters',
57
+ label: 'Tab3'
53
58
  },
54
59
  {
55
60
  tabId: 'offers',
61
+ label: 'Tab4',
56
62
  count: 2
57
63
  },
58
64
  {
59
65
  tabId: 'merchants',
66
+ label: 'Tab5',
60
67
  count: 15
61
68
  },
62
69
  {
63
- tabId: 'integration'
70
+ tabId: 'integration',
71
+ label: 'Tab6'
64
72
  },
65
73
  {
66
74
  tabId: 'tab',
@@ -76,23 +84,25 @@ NavLineTemplate.args = {
76
84
  items: [
77
85
  {
78
86
  tabId: 'customDetails',
79
- icon: 'FiGift'
87
+ label: 'Tab1',
88
+ icon: 'Gift'
80
89
  },
81
90
  {
82
91
  tabId: 'postsLog',
83
- icon: 'FiGift',
92
+ label: 'Tab2',
93
+ icon: 'Gift',
84
94
  count: 43
85
95
  },
86
96
  {
87
97
  tabId: 'tab1',
88
98
  label: 'disabled tab',
89
- icon: 'FiGift',
99
+ icon: 'Gift',
90
100
  status: 'disabled'
91
101
  },
92
102
  {
93
103
  tabId: 'tab2',
94
104
  label: 'tab 2',
95
- icon: 'FiGift'
105
+ icon: 'Gift'
96
106
  }
97
107
  ]
98
108
  };
@@ -1,8 +1,6 @@
1
1
  import React from 'react';
2
2
  import RadioInput from './RadioInput';
3
3
 
4
- import '../../../../scss/main.scss';
5
-
6
4
  global.lng = 'en';
7
5
  export default {
8
6
  title: 'RadioInput',
@@ -0,0 +1,146 @@
1
+ import React, { useEffect, useMemo, useState } from 'react';
2
+ import cn from 'classnames';
3
+ import moment from 'moment-timezone';
4
+
5
+ import Arrow from '../../UI/Arrow/Arrow'
6
+
7
+ import './RangeCalendar.scss'
8
+
9
+ const RangeCalendar = props => {
10
+ const {
11
+ className,
12
+ date,
13
+ setDate,
14
+ startDate,
15
+ endDate,
16
+ allowPrev = true,
17
+ allowNext = true,
18
+ onClick = () => {},
19
+ onHover = () => {},
20
+ startPrevDate,
21
+ endPrevDate,
22
+ limitRange,
23
+ isShortWeekNames
24
+ } = props;
25
+
26
+ const [days, setDays] = useState({});
27
+
28
+ const title = useMemo(() => `${moment(date).format('MMM')} ${moment(date).format('YYYY')}`, [date]);
29
+
30
+ useEffect(() => {
31
+ const result = {};
32
+ const day = moment(date).startOf('month');
33
+ const daysInMonth = day.daysInMonth();
34
+ for (let d = 0; d < daysInMonth; d += 1) {
35
+ let week = day.week();
36
+ if (day.month() === 11 && week === 1) week = 53;
37
+ if (day.month() === 0 && week === 53) week = 0;
38
+ if (!Object.prototype.hasOwnProperty.call(result, week)) {
39
+ result[week] = {};
40
+ }
41
+ result[week][day.weekday()] = { date: day.toDate() };
42
+ day.add(1, 'd');
43
+ }
44
+ setDays(result);
45
+ }, [date]);
46
+
47
+ const renderDay = (week, dayOfWeek) => {
48
+ const day = days[week][dayOfWeek];
49
+ const isFutureDay = day && moment(day.date).isAfter(moment(), 'day');
50
+ const isPastDay = limitRange
51
+ ? day && moment(day.date).isBefore(moment().subtract(limitRange, 'days'), 'day')
52
+ : null;
53
+ const isRangeStart = day && moment(day.date).isSame(startDate, 'day');
54
+ const isRangeEnd = day && moment(day.date).isSame(moment(endDate).subtract(1, 'hour'), 'day');
55
+ const isRangeInside =
56
+ day &&
57
+ startDate &&
58
+ endDate &&
59
+ moment(day.date).isAfter(startDate, 'day') &&
60
+ moment(day.date).isBefore(moment(endDate).subtract(1, 'hour'), 'day');
61
+ const isPrevRangeEnd =
62
+ day &&
63
+ (moment(day.date).isSame(startPrevDate, 'day') ||
64
+ moment(day.date).isSame(moment(endPrevDate).subtract(1, 'day'), 'day'));
65
+ const isPrevRangeInside =
66
+ day &&
67
+ startPrevDate &&
68
+ endPrevDate &&
69
+ moment(day.date).isAfter(startPrevDate, 'day') &&
70
+ moment(day.date).isBefore(moment(endPrevDate).subtract(1, 'day'), 'day');
71
+ const classNames = cn(
72
+ 'range-calendar__day',
73
+ { 'range-calendar__day--clickable': day },
74
+ { 'range-calendar__day--disabled': isFutureDay },
75
+ { 'range-calendar__day--disabled': isPastDay },
76
+ { 'range-calendar__day--range-start': isRangeStart },
77
+ { 'range-calendar__day--range-end': isRangeEnd },
78
+ { 'range-calendar__day--range-inside': isRangeInside },
79
+ { 'range-calendar__day--prev-range-end': isPrevRangeEnd },
80
+ { 'range-calendar__day--prev-range-inside': isPrevRangeInside }
81
+ );
82
+
83
+ return (
84
+ <div
85
+ key={`${week}_${dayOfWeek}`}
86
+ className={classNames}
87
+ onClick={day && !isFutureDay ? e => onClick(day.date, e) : null}
88
+ onMouseOver={day && !isFutureDay ? () => onHover(day.date) : null}
89
+ onMouseLeave={() => onHover(null)}
90
+ >
91
+ {day && day.date.getDate()}
92
+ </div>
93
+ );
94
+ };
95
+
96
+ const handlePrev = () => {
97
+ setDate(moment(date).subtract(1, 'month').toDate());
98
+ };
99
+
100
+ const handleNext = () => {
101
+ setDate(moment(date).add(1, 'month').toDate());
102
+ };
103
+
104
+ const getFormatedWeekName = input => isShortWeekNames ? input.charAt(0) : input;
105
+
106
+ return (
107
+ <div className={cn('range-calendar', className)}>
108
+ <div className="range-calendar-header">
109
+ <Arrow type="left" disabled={!allowPrev} onClick={handlePrev} className="range-calendar-header__prev" />
110
+ {/* <div className="range-calendar-header__prev">
111
+ {allowPrev && (
112
+ <div onClick={handlePrev}>
113
+ <Arrow type="left" disabled={!allowPrev} />
114
+ </div>
115
+ )}
116
+ </div> */}
117
+ <div className="range-calendar-header__title">{title}</div>
118
+ <Arrow type="right" disabled={!allowNext} onClick={handleNext} className="range-calendar-header__next" />
119
+
120
+ {/* <div className="range-calendar-header__next">
121
+ {allowNext && (
122
+ <div onClick={handleNext}>
123
+ <Arrow type="right" disabled={!allowNext} />
124
+ </div>
125
+ )}
126
+ </div> */}
127
+ </div>
128
+ <div className="range-calendar__week range-calendar__week-title">
129
+ {[...Array(7).keys()].map(dayOfWeek => {
130
+ return (
131
+ <div key={`day-of-week_${dayOfWeek}`} className="range-calendar__day range-calendar__day--title">
132
+ {getFormatedWeekName(moment().weekday(dayOfWeek).format('dd'))}
133
+ </div>
134
+ );
135
+ })}
136
+ </div>
137
+ {Object.keys(days).map((week, index) => (
138
+ <div key={`week_${index}`} className="range-calendar__week">
139
+ {[...Array(7).keys()].map(dayOfWeek => renderDay(week, dayOfWeek))}
140
+ </div>
141
+ ))}
142
+ </div>
143
+ );
144
+ };
145
+
146
+ export default RangeCalendar;
@@ -0,0 +1,101 @@
1
+ .range-calendar {
2
+ width: 195px;
3
+ min-height: 195px;
4
+ display: flex;
5
+ flex-direction: column;
6
+ user-select: none;
7
+
8
+ &-header {
9
+ height: 24px;
10
+ margin-bottom: 12px;
11
+
12
+ display: flex;
13
+ justify-content: space-between;
14
+ align-items: center;
15
+
16
+ &__title {
17
+ line-height: 20px;
18
+ font-weight: 500;
19
+ text-align: center;
20
+ flex-grow: 1;
21
+ color: #000000;
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: center;
25
+ }
26
+
27
+ &__next, &__prev {
28
+ width: 16px;
29
+ height: 16px;
30
+ background-color: #E2E6F8;
31
+ border-radius: 5px;
32
+ color: #171D33;
33
+ }
34
+ }
35
+
36
+ &__week {
37
+ display: flex;
38
+ }
39
+
40
+ &__day {
41
+ font-size: 13px;
42
+ line-height: 20px;
43
+ margin: 1px 0;
44
+ flex-grow: 1;
45
+ flex-basis: 0;
46
+ text-align: center;
47
+ padding: 1px 6px;
48
+ user-select: none;
49
+
50
+ &--clickable {
51
+ cursor: pointer;
52
+
53
+ &:hover {
54
+ background: #E2E6F8;
55
+ }
56
+ }
57
+
58
+ &--disabled {
59
+ cursor: default;
60
+ color: #9aa0b9;
61
+ pointer-events: none;
62
+
63
+ &:hover {
64
+ background: inherit;
65
+ }
66
+ }
67
+
68
+ &--range-start, &--range-end {
69
+ background: #6B81DD;
70
+ color: white;
71
+ border-radius: 4px;
72
+
73
+ &:hover {
74
+ background: #6B81DD;
75
+ }
76
+ }
77
+
78
+ &--range-inside {
79
+ background: #E2E6F8;
80
+ }
81
+
82
+ &--prev-range-end {
83
+ background: #E2E5EC;
84
+ border-radius: 4px;
85
+ }
86
+
87
+ &--prev-range-inside {
88
+ background: #F7F8FA;
89
+ }
90
+
91
+ &--title {
92
+ font-size: 10px;
93
+ color: #9AA0B9;
94
+ font-weight: normal;
95
+
96
+ &:hover {
97
+ background: inherit;
98
+ }
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,54 @@
1
+ import React, {useState, useMemo, useRef, useEffect} from 'react';
2
+ import moment from 'moment-timezone';
3
+
4
+ import RangeCalendar from './RangeCalendar';
5
+
6
+ global.lng = 'en';
7
+
8
+ export default {
9
+ title: 'RangeCalendar',
10
+ component: RangeCalendar,
11
+ };
12
+
13
+ const Template = args => {
14
+ const [dateOfRenderedMonth, setDateOfRenderedMonth] = useState(moment().subtract(1, 'month').toDate());
15
+
16
+ const [startDate, setStartDate] = useState(dateOfRenderedMonth);
17
+ const [endDate, setEndDate] = useState(dateOfRenderedMonth);
18
+ const isFirstClickRef = useRef(false);
19
+
20
+ const handleClick = date => {
21
+ if (
22
+ !startDate ||
23
+ (startDate && endDate && !(moment(startDate).add(1, 'd').isSame(endDate, 'day')))
24
+ ) {
25
+ setStartDate(moment(date).startOf('day').toDate());
26
+ setEndDate(moment(date).add(1, 'd').startOf('day').toDate());
27
+ } else if (moment(date).isBefore(moment(startDate), 'day')) {
28
+ setEndDate(moment(startDate).add(1, 'd').startOf('day').toDate());
29
+ setStartDate(moment(date).set('hour', parseInt(0, 10)).toDate());
30
+ } else if (moment(date).isAfter(moment(startDate), 'day')) {
31
+ setEndDate(moment(date).add(1, 'd').startOf('day').toDate());
32
+ }
33
+ };
34
+
35
+ return <RangeCalendar
36
+ {...args}
37
+ date={dateOfRenderedMonth}
38
+ setDate={setDateOfRenderedMonth}
39
+ // allowNext={true}
40
+ // allowPrev={true}
41
+ startDate={startDate}
42
+ endDate={endDate}
43
+ // startPrevDate={startPrevDate}
44
+ // endPrevDate={endPrevDate}
45
+ onClick={handleClick}
46
+ // onHover={handleHover}
47
+ />
48
+ };
49
+
50
+ export const RangeCalendarTemplate = Template.bind({});
51
+
52
+ RangeCalendarTemplate.args = {
53
+ limitRange: 60
54
+ };
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import RangeInputs from './RangeInputs';
3
3
 
4
- import '../../../../scss/main.scss';
5
4
  import './RangeInputs.scss';
6
5
 
7
6
  global.lng = 'en';
@@ -1,8 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import Switcher from './Switcher';
3
3
 
4
- import '../../../../scss/main.scss';
5
-
6
4
  global.lng = 'en';
7
5
  export default {
8
6
  title: 'Switcher',
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- import Langs from '../../../../../Langs';
5
4
 
6
5
  import '../Table.scss';
6
+ import Langs from '../../../../../../Langs';
7
7
 
8
8
  const TdHeader = ({ item }) => {
9
9
  const txt = Langs[global.lng];
@@ -1,4 +1,4 @@
1
- @import '../../../scss/anme/anme-vars';
1
+ @import '~anme/scss/anme-vars';
2
2
 
3
3
  .table-header {
4
4
  &--weight-actions {
@@ -23,25 +23,25 @@ export const TdActions = ({ actions, onChange, onActionClick, rowItem }) => {
23
23
  case 'download':
24
24
  return (
25
25
  <div key={index} className="td-actions--item td-actions--download" onClick={() => {}}>
26
- <Icons.FiDownload />
26
+ <Icons.Download />
27
27
  </div>
28
28
  );
29
29
  case 'edit':
30
30
  return (
31
31
  <div key={index} className="td-actions--item td-actions--edit" onClick={() => {}}>
32
- <Icons.FiEdit3 />
32
+ <Icons.Edit3 />
33
33
  </div>
34
34
  );
35
35
  case 'delete':
36
36
  return (
37
37
  <div key={index} className="td-actions--item td-actions--delete" onClick={() => onActionClick('delete', rowItem)}>
38
- <Icons.FiTrash2 />
38
+ <Icons.Trash2 />
39
39
  </div>
40
40
  );
41
41
  case 'undo':
42
42
  return (
43
43
  <div key={index} className="td-actions--item td-actions--undo" onClick={() => onActionClick('undo', rowItem)}>
44
- <Icons.FiRotateCcw />
44
+ <Icons.RotateCcw />
45
45
  </div>
46
46
  );
47
47
  case 'switcher':
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- import { FiArrowDown, FiArrowUp } from 'react-feather';
4
+ import { ArrowDown, ArrowUp } from 'react-feather';
5
5
 
6
6
  import '../Table.scss';
7
7
 
@@ -10,8 +10,8 @@ const TdPriority = ({ onClick, rowIndex, cardLength }) => {
10
10
  <div className="cards-table__priority">
11
11
  <span className="mr5">{rowIndex + 1}</span>
12
12
  <div className="df">
13
- <FiArrowDown onClick={() => onClick(rowIndex)} className={cn('table--icon', { disabled: rowIndex + 1 === cardLength })} />
14
- <FiArrowUp onClick={() => onClick(rowIndex, true)} className={cn('table--icon', { disabled: rowIndex === 0 })} />
13
+ <ArrowDown onClick={() => onClick(rowIndex)} className={cn('table--icon', { disabled: rowIndex + 1 === cardLength })} />
14
+ <ArrowUp onClick={() => onClick(rowIndex, true)} className={cn('table--icon', { disabled: rowIndex === 0 })} />
15
15
  </div>
16
16
  </div>
17
17
  );
@@ -1,5 +1,3 @@
1
- @import '../../../scss/anme/anme-vars';
2
-
3
1
  .td-actions {
4
2
  &--item {
5
3
  display: flex;
@@ -16,19 +14,19 @@
16
14
  }
17
15
 
18
16
  &--delete {
19
- color: $color--froly !important;
17
+ color: #F06D8DFF !important;
20
18
  }
21
19
 
22
20
  &--undo {
23
- color: $color--froly !important;
21
+ color: #F06D8DFF !important;
24
22
  }
25
23
 
26
24
  &--edit {
27
- color: $color--primary !important;
25
+ color: #6B81DDFF !important;
28
26
  }
29
27
 
30
28
  &--download {
31
- color: $color--primary;
29
+ color: #6B81DDFF;
32
30
  }
33
31
  }
34
32
 
@@ -1,8 +1,8 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- import { KEY_CODE } from '../../../../../JS/Constants/index.constants';
5
- import useToggle from '../../../../../JS/Functions/useToggle';
4
+ import { KEY_CODE } from '../../../../../../JS/Constants/index.constants';
5
+ import useToggle from '../../../../../../JS/Functions/useToggle';
6
6
  import Input from '../../Input/Input';
7
7
 
8
8
  import '../Table.scss';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { IoWarningOutline } from 'react-icons/io5';
4
- import { FiX } from 'react-feather';
4
+ import { X } from 'react-feather';
5
5
 
6
6
  import './Tag.scss';
7
7
 
@@ -14,7 +14,7 @@ const Tag = ({ className, label, warning, removeItem, name }) => {
14
14
 
15
15
  {removeItem && (
16
16
  <button onClick={() => removeItem()} className="tag__button">
17
- <FiX className="color--text" />
17
+ <X className="color--text" />
18
18
  </button>
19
19
  )}
20
20
  </div>
@@ -1,8 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import Tag from './Tag';
3
3
 
4
- import '../../../../scss/main.scss';
5
-
6
4
  global.lng = 'en';
7
5
  export default {
8
6
  title: 'Tag',
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useEffect, useRef } from 'react';
2
2
  import cn from 'classnames';
3
- import { FiChevronDown, FiCheck } from 'react-feather';
3
+ import { ChevronDown, Check } from 'react-feather';
4
4
 
5
5
  import Tag from '../Tag/Tag';
6
6
  import Label from '../Label/Label';
@@ -56,7 +56,7 @@ const TagsDropdown = ({ options, chosenOptions, onChange, className, tagClassnam
56
56
  )}
57
57
  >
58
58
  <span className={cn(`${RC}__active-icon`, { [`${RC}__active-icon_active`]: chosenOptions.some(el => el.value === item.value) })}>
59
- <FiCheck className="color--text" />
59
+ <Check className="color--text" />
60
60
  </span>
61
61
  {item.title}
62
62
  </button>
@@ -83,7 +83,7 @@ const TagsDropdown = ({ options, chosenOptions, onChange, className, tagClassnam
83
83
  onKeyDown={e => onKeyPress(e, searchValue)}
84
84
  />
85
85
  <span className={cn(`${RC}__arrow`, { [`${RC}__arrow_active`]: isOpen })}>
86
- <FiChevronDown className="color--text" />
86
+ <ChevronDown className="color--text" />
87
87
  </span>
88
88
  </button>
89
89
  </div>
@@ -1,8 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import TagsDropdown from './TagsDropdown';
3
3
 
4
- import '../../../../scss/main.scss';
5
-
6
4
  global.lng = 'en';
7
5
  export default {
8
6
  title: 'TagsDropdown',
@@ -1,8 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import TextSwitcher from './TextSwitcher';
3
3
 
4
- import '../../../../scss/main.scss';
5
-
6
4
  global.lng = 'en';
7
5
  export default {
8
6
  title: 'TextSwitcher',
@@ -1,5 +1,5 @@
1
1
  @import "../../../scss/vars";
2
- @import "../../../scss/anme/anme-mixins";
2
+ @import "~anme/scss/anme-mixins";
3
3
 
4
4
  .textarea {
5
5
  border: 1px solid #e2e5ec;
@@ -1,8 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import Textarea from './Textarea';
3
3
 
4
- import '../../../../scss/main.scss';
5
-
6
4
  global.lng = 'en';
7
5
  export default {
8
6
  title: 'Textarea',
@@ -2,7 +2,7 @@ import React, { useState, useMemo } from 'react';
2
2
  import cn from 'classnames';
3
3
  import moment from 'moment';
4
4
 
5
- import useToggle from '../../../../JS/Functions/useToggle';
5
+ import useToggle from '../../../Functions/useToggle';
6
6
  import Label from '../Label/Label';
7
7
  import Input from '../Input/Input';
8
8
 
@@ -2,8 +2,6 @@ import React from 'react';
2
2
 
3
3
  import TimeRange from './TimeRange';
4
4
 
5
- import '../../../../scss/main.scss';
6
-
7
5
  global.lng = 'en';
8
6
 
9
7
  export default {
@@ -51,9 +51,9 @@ const MainMenu = props => {
51
51
  };
52
52
 
53
53
  const changeMenuIcon = () => {
54
- if (isOpen && !isMenuIconHovered) return <Icons.FiMenu />;
55
- if (isOpen && isMenuIconHovered) return <Icons.FiChevronLeft />;
56
- if (!isOpen && isMenuHovered) return <Icons.FiChevronRight />;
54
+ if (isOpen && !isMenuIconHovered) return <Icons.Menu />;
55
+ if (isOpen && isMenuIconHovered) return <Icons.ChevronLeft />;
56
+ if (!isOpen && isMenuHovered) return <Icons.ChevronRight />;
57
57
  if (!isOpen) return <div className="main-menu--logo-close" />;
58
58
  return null;
59
59
  };
@@ -1,5 +1,5 @@
1
- @import "../../scss/anme/anme-vars";
2
- @import "../../scss/anme/anme-mixins";
1
+ @import "~anme/scss/anme-vars";
2
+ @import "~anme/scss/anme-mixins";
3
3
 
4
4
  .main-menu {
5
5
  display: flex;