intelicoreact 0.0.4 → 0.0.8

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 (147) hide show
  1. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +6 -2
  2. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +91 -60
  3. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +2 -1
  4. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  5. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +64 -32
  6. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  7. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +40 -9
  8. package/dist/Atomic/FormElements/Input/Input.js +141 -97
  9. package/dist/Atomic/FormElements/Input/Input.scss +18 -15
  10. package/dist/Atomic/FormElements/Input/Input.stories.js +46 -29
  11. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
  12. package/dist/Atomic/FormElements/{Calendar/Calendar.stories.js → InputCalendar/InputCalendar.stories.js} +19 -20
  13. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +234 -0
  14. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +626 -0
  15. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +91 -0
  16. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +491 -0
  17. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +156 -0
  18. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +46 -0
  19. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +249 -0
  20. package/dist/Atomic/FormElements/Label/Label.js +3 -10
  21. package/dist/Atomic/FormElements/Label/Label.scss +2 -0
  22. package/dist/Atomic/FormElements/Label/Label.stories.js +5 -4
  23. package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
  24. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +254 -0
  25. package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
  26. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +121 -0
  27. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +167 -0
  28. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  29. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
  30. package/dist/Atomic/FormElements/Table/Table.scss +1 -1
  31. package/dist/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  32. package/dist/Atomic/MainMenu/MainMenu.scss +2 -2
  33. package/dist/Atomic/UI/Accordion/Accordion.scss +2 -2
  34. package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
  35. package/dist/Atomic/UI/Arrow/Arrow.scss +19 -0
  36. package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
  37. package/dist/Atomic/UI/Button/Button.js +4 -2
  38. package/dist/Atomic/UI/Button/Button.scss +26 -0
  39. package/dist/Atomic/UI/Button/Button.stories.js +2 -2
  40. package/dist/Atomic/UI/Calendar/Calendar.js +146 -0
  41. package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
  42. package/dist/Atomic/UI/Calendar/Calendar.stories.js +38 -0
  43. package/dist/Atomic/UI/Price/Price.js +1 -0
  44. package/dist/Atomic/UI/Status/Status.scss +1 -1
  45. package/dist/Constants/index.constants.js +8 -0
  46. package/dist/Functions/inputExecutor.js +58 -0
  47. package/dist/Functions/useClickOutside.js +25 -0
  48. package/dist/Functions/utils.js +10 -2
  49. package/dist/Molecular/Datepicker/Datepicker.js +451 -0
  50. package/dist/Molecular/Datepicker/Datepicker.scss +8 -0
  51. package/dist/Molecular/Datepicker/Datepicker.stories.js +44 -0
  52. package/dist/Molecular/Datepicker/components/Calendar.js +156 -0
  53. package/dist/Molecular/FormElements/FormElement.js +40 -0
  54. package/dist/Molecular/FormElements/FormElement.scss +8 -0
  55. package/dist/Molecular/FormElements/FormElement.stories.js +73 -0
  56. package/dist/scss/_vars.scss +3 -1
  57. package/dist/scss/main.scss +3 -3
  58. package/package.json +9 -4
  59. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.js +12 -2
  60. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +91 -60
  61. package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +4 -3
  62. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  63. package/src/Atomic/FormElements/Dropdown/Dropdown.js +57 -19
  64. package/src/Atomic/FormElements/Dropdown/Dropdown.scss +26 -3
  65. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +37 -15
  66. package/src/Atomic/FormElements/Input/Input.js +136 -79
  67. package/src/Atomic/FormElements/Input/Input.scss +18 -15
  68. package/src/Atomic/FormElements/Input/Input.stories.js +48 -31
  69. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +43 -0
  70. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +27 -0
  71. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +214 -0
  72. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +626 -0
  73. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +61 -0
  74. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +412 -0
  75. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +114 -0
  76. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +24 -0
  77. package/src/Atomic/FormElements/InputDateRange/dependencies.js +161 -0
  78. package/src/Atomic/FormElements/Label/Label.js +3 -4
  79. package/src/Atomic/FormElements/Label/Label.scss +2 -0
  80. package/src/Atomic/FormElements/Label/Label.stories.js +5 -4
  81. package/src/Atomic/FormElements/Modal/Modal.stories.js +60 -15
  82. package/src/Atomic/FormElements/NumericInput/NumericInput.js +220 -0
  83. package/src/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
  84. package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +94 -0
  85. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +146 -0
  86. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  87. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +54 -0
  88. package/src/Atomic/FormElements/Table/Table.scss +1 -1
  89. package/src/Atomic/FormElements/Textarea/Textarea.scss +1 -1
  90. package/src/Atomic/MainMenu/MainMenu.scss +2 -2
  91. package/src/Atomic/UI/Accordion/Accordion.scss +2 -2
  92. package/src/Atomic/UI/Arrow/Arrow.js +41 -0
  93. package/src/Atomic/UI/Arrow/Arrow.scss +19 -0
  94. package/src/Atomic/UI/Arrow/Arrow.stories.js +32 -0
  95. package/src/Atomic/UI/Button/Button.js +3 -3
  96. package/src/Atomic/UI/Button/Button.scss +26 -0
  97. package/src/Atomic/UI/Button/Button.stories.js +4 -3
  98. package/src/Atomic/{FormElements → UI}/Calendar/Calendar.js +26 -23
  99. package/src/Atomic/UI/Calendar/Calendar.scss +544 -0
  100. package/src/Atomic/UI/Calendar/Calendar.stories.js +24 -0
  101. package/src/Atomic/UI/Price/Price.js +1 -0
  102. package/src/Atomic/UI/Status/Status.scss +1 -1
  103. package/src/Constants/index.constants.js +41 -0
  104. package/src/Functions/inputExecutor.js +62 -0
  105. package/src/Functions/useClickOutside.js +15 -0
  106. package/src/Functions/utils.js +10 -1
  107. package/src/Molecular/Datepicker/Datepicker.js +346 -0
  108. package/src/Molecular/Datepicker/Datepicker.scss +8 -0
  109. package/src/Molecular/Datepicker/Datepicker.stories.js +27 -0
  110. package/src/Molecular/Datepicker/components/Calendar.js +118 -0
  111. package/src/Molecular/FormElements/FormElement.js +18 -0
  112. package/src/Molecular/FormElements/FormElement.scss +8 -0
  113. package/src/Molecular/FormElements/FormElement.stories.js +59 -0
  114. package/src/scss/_vars.scss +3 -1
  115. package/src/scss/main.scss +3 -3
  116. package/dist/Atomic/FormElements/Calendar/Calendar.js +0 -127
  117. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -498
  118. package/dist/scss/anme/_anme-bootstrap-grid.scss +0 -748
  119. package/dist/scss/anme/_anme-elements.scss +0 -269
  120. package/dist/scss/anme/_anme-grid.scss +0 -111
  121. package/dist/scss/anme/_anme-justify.scss +0 -111
  122. package/dist/scss/anme/_anme-mixins-media.scss +0 -116
  123. package/dist/scss/anme/_anme-mixins.scss +0 -166
  124. package/dist/scss/anme/_anme-normalize.scss +0 -8
  125. package/dist/scss/anme/_anme-overall.scss +0 -34
  126. package/dist/scss/anme/_anme-padding-margins.scss +0 -419
  127. package/dist/scss/anme/_anme-table.scss +0 -81
  128. package/dist/scss/anme/_anme-theme.scss +0 -275
  129. package/dist/scss/anme/_anme-vars.scss +0 -91
  130. package/dist/scss/anme/_code-styling.scss +0 -23
  131. package/dist/scss/anme/styles.scss +0 -12
  132. package/src/Atomic/FormElements/Calendar/Calendar.scss +0 -498
  133. package/src/Atomic/FormElements/Calendar/Calendar.stories.js +0 -26
  134. package/src/scss/anme/_anme-bootstrap-grid.scss +0 -748
  135. package/src/scss/anme/_anme-elements.scss +0 -269
  136. package/src/scss/anme/_anme-grid.scss +0 -111
  137. package/src/scss/anme/_anme-justify.scss +0 -111
  138. package/src/scss/anme/_anme-mixins-media.scss +0 -116
  139. package/src/scss/anme/_anme-mixins.scss +0 -166
  140. package/src/scss/anme/_anme-normalize.scss +0 -8
  141. package/src/scss/anme/_anme-overall.scss +0 -34
  142. package/src/scss/anme/_anme-padding-margins.scss +0 -419
  143. package/src/scss/anme/_anme-table.scss +0 -81
  144. package/src/scss/anme/_anme-theme.scss +0 -275
  145. package/src/scss/anme/_anme-vars.scss +0 -91
  146. package/src/scss/anme/_code-styling.scss +0 -23
  147. package/src/scss/anme/styles.scss +0 -12
@@ -1,23 +1,22 @@
1
1
  import cn from 'classnames';
2
- import { useEffect, useMemo, useState } from 'react';
2
+ import React, { useEffect, useMemo, useState } from 'react';
3
3
  import moment from 'moment';
4
4
  import { ChevronLeft, ChevronRight } from 'react-feather';
5
5
  import './Calendar.scss';
6
6
 
7
7
  export default function (props) {
8
- const {
9
- date,
10
- setDate,
11
- allowPrev = true,
12
- allowNext = true,
13
- } = props;
14
-
8
+ const { date, setDate, allowPrev = true, allowNext = true, params, className } = props;
9
+ const { minDate, maxDate } = params;
15
10
  const [days, setDays] = useState({});
11
+ const [showDate, setShowDate] = useState(date);
16
12
 
17
- const selectedDay = moment(date);
18
-
19
- const title = useMemo(() => `${selectedDay.format('MMM')} ${moment(date).format('YYYY')}`, [date]);
13
+ const selectedDay = moment(showDate);
14
+ const isError = 'Invalid date';
20
15
 
16
+ const title = useMemo(
17
+ () => (selectedDay.format('MMM') === isError ? isError : `${selectedDay.format('MMM')} ${moment(showDate).format('YYYY')}`),
18
+ [date, showDate]
19
+ );
21
20
  useEffect(() => {
22
21
  const result = {};
23
22
  const day = selectedDay.startOf('month');
@@ -33,27 +32,29 @@ export default function (props) {
33
32
  day.add(1, 'd');
34
33
  }
35
34
  setDays(result);
36
- }, [date]);
35
+ }, [showDate]);
37
36
 
38
37
  const renderDay = (week, dayOfWeek) => {
39
38
  const day = days[week][dayOfWeek];
40
- if (!day) return null;
41
- const isFutureDay = day && moment(day.date).isAfter(moment(), 'day');
39
+ if (!day) return <div className="calendar__day" />;
40
+ const isFutureDay = day && maxDate ? moment(day.date).isAfter(moment(maxDate || ''), 'day') : moment(day.date).isAfter(moment(), 'day');
41
+ const isBeforeDay = day && moment(day.date).isBefore(moment(minDate || ''), 'day');
42
42
 
43
43
  const classNames = cn(
44
44
  'calendar__day',
45
45
  { 'calendar__day--clickable': day },
46
46
  { 'calendar__day--disabled': isFutureDay },
47
- { 'calendar__day--selected': selectedDay.format() === moment(day.date).format() }
47
+ { 'calendar__day--disabled': isBeforeDay },
48
+ { 'calendar__day--selected': moment(date).format() === moment(day.date).format() }
48
49
  );
49
50
 
50
51
  return (
51
52
  <div
52
53
  key={`${week}_${dayOfWeek}`}
53
54
  className={classNames}
54
- onClick={day && !isFutureDay ? () => onClick(day.date) : null}
55
- onMouseOver={day && !isFutureDay ? () => onHover(day.date) : null}
56
- onMouseLeave={() => onHover(null)}
55
+ onClick={day && !isFutureDay ? () => setDate(moment(day.date).format('L')) : null}
56
+ // onMouseOver={day && !isFutureDay ? () => onHover(day.date) : null}
57
+ // onMouseLeave={() => onHover(null)}
57
58
  >
58
59
  {day && day.date.getDate()}
59
60
  </div>
@@ -61,15 +62,15 @@ export default function (props) {
61
62
  };
62
63
 
63
64
  const handlePrev = () => {
64
- setDate(moment(date).subtract(1, 'month').toDate());
65
+ setShowDate(moment(showDate).subtract(1, 'month').format('L'));
65
66
  };
66
67
 
67
68
  const handleNext = () => {
68
- setDate(moment(date).add(1, 'month').toDate());
69
+ setShowDate(moment(showDate).add(1, 'month').format('L'));
69
70
  };
70
71
 
71
72
  return (
72
- <div className="calendar">
73
+ <div className={`calendar ${className}`}>
73
74
  <div className="calendar-header">
74
75
  <div className="calendar-header__prev">
75
76
  {allowPrev && (
@@ -88,7 +89,7 @@ export default function (props) {
88
89
  </div>
89
90
  </div>
90
91
  <div className="calendar__week">
91
- {[...Array(7).keys()].map(dayOfWeek => {
92
+ {[...Array(7).keys()].map((dayOfWeek) => {
92
93
  return (
93
94
  <div key={`day-of-week_${dayOfWeek}`} className="calendar__day calendar__day--title">
94
95
  {moment().weekday(dayOfWeek).format('dd').charAt(0)}
@@ -98,7 +99,9 @@ export default function (props) {
98
99
  </div>
99
100
  {Object.keys(days).map((week, index) => (
100
101
  <div key={`week_${index}`} className="calendar__week">
101
- {[...Array(7).keys()].map(dayOfWeek => renderDay(week, dayOfWeek))}
102
+ {[...Array(7).keys()].map((dayOfWeek) => (
103
+ <React.Fragment key={`calendar-day--${dayOfWeek}`}>{renderDay(week, dayOfWeek)}</React.Fragment>
104
+ ))}
102
105
  </div>
103
106
  ))}
104
107
  </div>
@@ -0,0 +1,544 @@
1
+ // .form-select-options {
2
+ // position: absolute;
3
+ // font-weight: 400;
4
+ // left: 0;
5
+ // margin-top: 3px;
6
+ // background-color: #fff;
7
+ // box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
8
+ // max-height: 335px;
9
+ // overflow-y: auto;
10
+ // border: 1px solid #e2e5ec;
11
+ // z-index: 7;
12
+
13
+ // &--wide {
14
+ // min-width: 100%;
15
+ // overflow-x: hidden;
16
+ // }
17
+
18
+ // &--short {
19
+ // max-height: 195px;
20
+ // }
21
+
22
+ // &--hoverable {
23
+ // border: none;
24
+ // }
25
+
26
+ // &--options-top {
27
+ // bottom: 100%;
28
+ // box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.15);
29
+ // }
30
+
31
+ // &__item {
32
+ // cursor: pointer;
33
+ // padding: 0 20px 0 30px;
34
+ // user-select: none;
35
+ // white-space: nowrap;
36
+
37
+ // &--active {
38
+ // //background: #f2f2f8 url(/media/images/check.svg) no-repeat center left 9px / 16px;
39
+ // }
40
+
41
+ // &--disabled {
42
+ // pointer-events: none;
43
+ // opacity: 0.3;
44
+ // }
45
+
46
+ // &:hover {
47
+ // background-color: #f2f2f8;
48
+ // }
49
+ // }
50
+
51
+ // &__group-name {
52
+ // cursor: default;
53
+ // padding: 0 20px 0 15px;
54
+ // margin-top: 4px;
55
+ // user-select: none;
56
+ // white-space: nowrap;
57
+ // color: #9aa0b9;
58
+ // font-size: 10px;
59
+ // font-weight: normal;
60
+ // text-transform: uppercase;
61
+ // }
62
+ // }
63
+
64
+ // .date-range-input {
65
+ // background-color: #ffff;
66
+ // min-width: 275px;
67
+ // flex-shrink: 0;
68
+ // display: flex;
69
+
70
+ // .select-form {
71
+ // flex-grow: 1;
72
+ // max-width: calc(100% - 72px);
73
+ // overflow: hidden;
74
+ // text-overflow: ellipsis;
75
+ // }
76
+
77
+ // button svg {
78
+ // margin: 0;
79
+ // }
80
+
81
+ // &>button:not(:last-child) {
82
+ // border-top-right-radius: 0;
83
+ // border-bottom-right-radius: 0;
84
+ // border-right: none;
85
+ // }
86
+
87
+ // & > button:not(:first-child),
88
+ // & > button:nth-child(n + 3) {
89
+ // border-top-left-radius: 0;
90
+ // border-bottom-left-radius: 0;
91
+ // border-right: none;
92
+ // }
93
+
94
+ // & button:not(:first-child),
95
+ // & button:not(:first-child) button {
96
+ // border-top-left-radius: 0;
97
+ // border-bottom-left-radius: 0;
98
+ // }
99
+
100
+ // &--compact {
101
+ // min-width: 130px;
102
+
103
+ // .form-select-options {
104
+ // width: 100%;
105
+ // }
106
+ // }
107
+
108
+ // &--focused {
109
+ // border: 1px solid #6b81dd;
110
+ // box-shadow: 0 0 3px 0 rgb(0 123 255 / 50%);
111
+ // }
112
+ // }
113
+
114
+ // .form-label {
115
+ // //display: block;
116
+ // font-weight: 500;
117
+ // line-height: 24px;
118
+ // font-size: 12px;
119
+ // position: relative;
120
+
121
+ // &--error {
122
+ // color: #f06d8d;
123
+ // font-size: 10px;
124
+ // font-weight: normal;
125
+ // line-height: 20px;
126
+ // position: absolute;
127
+ // white-space: nowrap;
128
+ // }
129
+
130
+ // &--short {
131
+ // height: 68px;
132
+ // }
133
+ // }
134
+
135
+ // .form-label-title {
136
+ // &--left {
137
+ // margin-right: 10px;
138
+ // white-space: nowrap;
139
+ // }
140
+ // }
141
+
142
+ // .form-label-title-text-right {
143
+ // font-weight: normal;
144
+ // font-size: 11px;
145
+ // color: #9aa0b9;
146
+ // }
147
+
148
+ // .form-input {
149
+ // display: block;
150
+ // box-sizing: border-box;
151
+ // width: 100%;
152
+ // min-height: 28px;
153
+ // padding: 5px 8px;
154
+ // border: 1px solid #e2e5ec;
155
+ // font-family: Roboto, sans-serif;
156
+ // font-size: 13px;
157
+ // font-weight: 400;
158
+ // resize: none;
159
+
160
+ // &--btn-right {
161
+ // & input {
162
+ // padding-right: 75px;
163
+ // }
164
+ // }
165
+
166
+ // &--tall {
167
+ // height: 160px;
168
+ // }
169
+
170
+ // &--small {
171
+ // width: 100px;
172
+ // height: 20px;
173
+ // }
174
+
175
+ // &--error {
176
+ // border: 1px solid #f06d8d;
177
+ // }
178
+
179
+ // &--lock {
180
+ // padding-right: 25px;
181
+ // //background: #fff url(/media/images/lock.svg) no-repeat center right 4px / 16px;
182
+ // }
183
+
184
+ // &--login {
185
+ // padding-right: 25px;
186
+ // //background: #fff url(/media/images/user.svg) no-repeat center right 4px / 16px;
187
+ // }
188
+
189
+ // &--email {
190
+ // padding-right: 25px;
191
+ // //background: #fff url(/media/images/mail.svg) no-repeat center right 4px / 16px;
192
+ // }
193
+
194
+ // &--password {
195
+ // padding-right: 25px;
196
+ // //background: #fff url(/media/images/key.svg) no-repeat center right 4px / 16px;
197
+ // }
198
+
199
+ // &--promo {
200
+ // padding-right: 25px;
201
+ // //background: #fff url(/media/images/gift.svg) no-repeat center right 4px / 16px;
202
+ // }
203
+
204
+ // &--edit {
205
+ // padding-right: 25px;
206
+ // //background: #fff url(/media/images/edit.svg) no-repeat center right 4px / 16px;
207
+ // }
208
+
209
+ // &:disabled {
210
+ // background-color: #f7f8fa;
211
+ // border: 1px solid #bac2c9;
212
+ // pointer-events: none;
213
+ // }
214
+
215
+ // &:focus {
216
+ // border: 1px solid #6b81dd;
217
+ // }
218
+
219
+ // &::placeholder {
220
+ // color: #bac2c9;
221
+ // }
222
+ // }
223
+
224
+ // select.form-input {
225
+ // -webkit-appearance: none;
226
+ // -moz-appearance: none;
227
+ // appearance: none;
228
+ // padding-right: 25px;
229
+ // //background: #fff url(/media/images/chevron-down.svg) no-repeat center right 4px / 16px;
230
+ // }
231
+
232
+ // .select-form {
233
+ // position: relative;
234
+ // }
235
+
236
+ // .form-select {
237
+ // &__clear-btn {
238
+ // position: absolute;
239
+ // width: 22px;
240
+ // height: 26px;
241
+ // right: 1px;
242
+ // top: 1px;
243
+ // margin-right: 2px;
244
+ // cursor: pointer;
245
+ // display: flex;
246
+ // align-items: center;
247
+ // justify-content: center;
248
+ // border-left: 1px solid #e2e5ecff;
249
+
250
+ // & svg {
251
+ // width: 16px;
252
+ // height: 16px;
253
+ // color: #9aa0b9ff;
254
+ // }
255
+
256
+ // &:hover {
257
+ // & svg {
258
+ // color: #6b81ddff;
259
+ // }
260
+ // }
261
+ // }
262
+
263
+ // &__input {
264
+ // //background: #fff url(/media/images/chevron-down.svg) no-repeat center right 4px / 16px;
265
+ // padding-right: 25px;
266
+ // line-height: initial;
267
+ // cursor: default;
268
+ // min-width: 60px;
269
+ // min-height: 28px;
270
+ // user-select: none;
271
+ // border-radius: 3px;
272
+ // white-space: nowrap;
273
+ // display: block;
274
+ // overflow: hidden;
275
+ // text-overflow: ellipsis;
276
+ // text-align: left;
277
+
278
+ // &--fixed {
279
+ // min-height: 76px;
280
+ // }
281
+
282
+ // &--opened {
283
+ // //background: #fff url(/media/images/chevron-up.svg) no-repeat center right 4px / 16px;
284
+ // padding-right: 25px;
285
+ // }
286
+
287
+ // &--focused {
288
+ // border: 1px solid #6b81dd;
289
+ // box-shadow: 0 0 3px 0 rgb(0 123 255 / 50%);
290
+ // }
291
+
292
+ // &--disabled {
293
+ // color: #9aa0b9;
294
+ // //background: #f7f8fa url(/media/images/chevron-down-disabled.svg) no-repeat center right 4px / 16px;
295
+ // border: 1px solid #bac2c9;
296
+ // padding-right: 25px;
297
+ // pointer-events: none;
298
+ // }
299
+
300
+ // &--placeholder {
301
+ // color: #9aa0b9;
302
+ // }
303
+
304
+ // &--searchable {
305
+ // padding: 0;
306
+ // }
307
+
308
+ // &--cleanable {
309
+ // background-position: center right 26px;
310
+ // padding-right: 45px;
311
+ // }
312
+ // }
313
+
314
+ // &__input-text {
315
+ // &--searchable {
316
+ // width: 100%;
317
+ // height: 24px;
318
+ // padding-left: 8px;
319
+ // font-family: Roboto, sans-serif;
320
+ // font-size: 13px;
321
+ // font-weight: 400;
322
+ // border: none;
323
+ // outline: none;
324
+ // box-shadow: none;
325
+
326
+ // &:focus {
327
+ // border: none;
328
+ // outline: none;
329
+ // box-shadow: none;
330
+ // }
331
+ // }
332
+ // }
333
+ // }
334
+
335
+ // .form-select-inner {
336
+ // position: absolute;
337
+ // left: 130px;
338
+ // font-weight: 400;
339
+ // margin-top: 3px;
340
+ // background-color: #fff;
341
+ // box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
342
+ // z-index: 6;
343
+ // }
344
+
345
+ // .date-picker {
346
+ // width: 444px;
347
+ // border: 1px solid #e2e5ec;
348
+
349
+ // &__header,
350
+ // &__footer {
351
+ // background: #f7fafc;
352
+ // padding: 10px 15px;
353
+ // display: flex;
354
+
355
+ // &--gray {
356
+ // color: #c4c4c4;
357
+ // display: flex;
358
+ // align-items: center;
359
+ // padding: 0 5px;
360
+ // }
361
+ // }
362
+
363
+ // &__previous-period {
364
+ // background: #f7fafc;
365
+ // font-size: 10px;
366
+ // line-height: 1.3;
367
+ // padding: 0 15px;
368
+ // min-height: 25px;
369
+ // color: #9aa0b9;
370
+ // }
371
+
372
+ // &__previous-period-interval {
373
+ // font-weight: 500;
374
+ // color: #000000;
375
+ // }
376
+
377
+ // &__calendars {
378
+ // display: flex;
379
+ // justify-content: space-between;
380
+ // padding: 10px 15px;
381
+ // }
382
+ // }
383
+
384
+ // .calendar-header {
385
+ // display: flex;
386
+ // height: 24px;
387
+ // margin: 0 6px;
388
+
389
+ // &__title {
390
+ // line-height: 20px;
391
+ // font-weight: 500;
392
+ // text-align: center;
393
+ // flex-grow: 1;
394
+ // color: #000000;
395
+ // display: flex;
396
+ // align-items: center;
397
+ // justify-content: center;
398
+ // }
399
+
400
+ // &__next,
401
+ // &__prev {
402
+ // width: 16px;
403
+ // color: #9aa0b9ff;
404
+ // display: flex;
405
+ // align-items: center;
406
+ // justify-content: center;
407
+
408
+ // & > div {
409
+ // display: flex;
410
+ // align-items: center;
411
+ // justify-content: center;
412
+ // cursor: pointer;
413
+ // height: 100%;
414
+
415
+ // &:hover {
416
+ // background: #e2e6f8;
417
+ // }
418
+ // }
419
+ // }
420
+ // }
421
+
422
+ // .date-picker-text-input {
423
+ // &--active input {
424
+ // border: 1px solid #6b81dd;
425
+ // box-shadow: 0 0 3px 0 rgb(0 123 255 / 50%);
426
+ // }
427
+ // }
428
+
429
+ .calendar {
430
+ background: #ffffff;
431
+ border: 1px solid #e2e5ec;
432
+ box-shadow: 0 5px 20px rgb(0 0 0 / 15%);
433
+ margin-top: 4px;
434
+ padding: 5px 0;
435
+
436
+ min-height: 195px;
437
+ width: 260px;
438
+ display: flex;
439
+ flex-direction: column;
440
+ user-select: none;
441
+
442
+ &__week {
443
+ display: flex;
444
+ }
445
+
446
+ &__day {
447
+ font-size: 13px;
448
+ line-height: 20px;
449
+ margin: 1px 0;
450
+ flex-grow: 1;
451
+ flex-basis: 0;
452
+ text-align: center;
453
+ padding: 1px 6px;
454
+ user-select: none;
455
+
456
+ &--clickable {
457
+ cursor: pointer;
458
+
459
+ &:hover {
460
+ background: #e2e6f8;
461
+ }
462
+ }
463
+
464
+ &--disabled {
465
+ cursor: default;
466
+ color: #9aa0b9;
467
+ pointer-events: none;
468
+
469
+ &:hover {
470
+ background: inherit;
471
+ }
472
+ }
473
+
474
+ &--range-end,
475
+ &--selected {
476
+ background: #6b81dd;
477
+ color: white;
478
+ border-radius: 4px;
479
+
480
+ &:hover {
481
+ background: #6b81dd;
482
+ }
483
+ }
484
+
485
+ &--range-inside {
486
+ background: #e2e6f8;
487
+ }
488
+
489
+ &--prev-range-end {
490
+ background: #e2e5ec;
491
+ border-radius: 4px;
492
+ }
493
+
494
+ &--prev-range-inside {
495
+ background: #f7f8fa;
496
+ }
497
+
498
+ &--title {
499
+ font-size: 10px;
500
+ color: #9aa0b9;
501
+ font-weight: normal;
502
+
503
+ &:hover {
504
+ background: inherit;
505
+ }
506
+ }
507
+ }
508
+
509
+ &-container {
510
+ width: 200px;
511
+ }
512
+
513
+ &-dropdown {
514
+ appearance: none;
515
+ background-color: white;
516
+ cursor: pointer;
517
+ color: gray;
518
+
519
+ width: 100%;
520
+ height: 28px;
521
+
522
+ display: flex;
523
+ cursor: pointer;
524
+ padding-left: 9px;
525
+ font-weight: 400;
526
+ overflow: hidden;
527
+ align-items: center;
528
+
529
+ border: 1px solid #e2e5ec;
530
+ box-sizing: border-box;
531
+ border-radius: 3px;
532
+ user-select: none;
533
+ }
534
+ &-placeholder {
535
+ width: 100%;
536
+ background: none;
537
+ border: none;
538
+ padding: 0 15px 0 0;
539
+ height: 16px;
540
+ text-overflow: ellipsis;
541
+ font-weight: 400;
542
+ font-size: 13px;
543
+ }
544
+ }
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import Calendar from './Calendar';
3
+
4
+ global.lng = 'en';
5
+
6
+ export default {
7
+ title: 'Calendar',
8
+ component: Calendar,
9
+ };
10
+
11
+ const Template = args => (
12
+ <div style={{ width: '320px' }}>
13
+ <Calendar {...args} />
14
+ </div>
15
+ );
16
+
17
+ export const CalendarTemplate = Template.bind({});
18
+
19
+ CalendarTemplate.args = {
20
+ date: '12/03/2021',
21
+ params: {},
22
+ setDate: () => null,
23
+ className: ''
24
+ };
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  const Price = ({ value, unit = '$', unitAfter, className }) => {
3
+ if (value === undefined || value === null) return null;
3
4
  let formatted;
4
5
  if (value.length <= 3) {
5
6
  formatted = parseFloat(value).toFixed(2);
@@ -1,4 +1,4 @@
1
- @import "../../../scss/anme/anme-vars";
1
+ @import "~anme/scss/anme-vars";
2
2
 
3
3
  .status {
4
4
  display: inline-flex;