kahuna-base-react-components 1.3.2 → 1.3.4

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.
package/dist/types.d.ts CHANGED
@@ -179,6 +179,7 @@ interface KDropdownProps {
179
179
  border?: string;
180
180
  activeBorder?: string;
181
181
  onInputChange?: (text: string) => void;
182
+ sortSelectedFirst?: boolean;
182
183
  }
183
184
  declare const KDropdown: React.FC<KDropdownProps>;
184
185
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kahuna-base-react-components",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "description": "Kahuna Base React Components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from "react"
1
+ import React, { useEffect, useMemo, useState } from "react"
2
2
  import "../../main.css"
3
3
  import Select, { MultiValue } from "react-select"
4
4
  // @ts-ignore
@@ -54,6 +54,8 @@ export interface KDropdownProps {
54
54
  border?: string
55
55
  activeBorder?: string
56
56
  onInputChange?: (text: string) => void
57
+ sortSelectedFirst?: boolean
58
+
57
59
  }
58
60
 
59
61
  const KDropdown: React.FC<KDropdownProps> = (props) => {
@@ -61,7 +63,7 @@ const KDropdown: React.FC<KDropdownProps> = (props) => {
61
63
  const [iconCount, setIconCount] = useState<number>(0)
62
64
  const [background, setBackground] = useState("#F5F5F5")
63
65
  const [border, setBorder] = useState("none")
64
-
66
+
65
67
  useEffect(() => {
66
68
  const emptyBackground = props.background || "#F5F5F5"
67
69
  const activeBackground = props.activeBackground || "#FFF"
@@ -77,6 +79,7 @@ const KDropdown: React.FC<KDropdownProps> = (props) => {
77
79
  setSelectedOption(props.selected)
78
80
  }, [props.selected])
79
81
 
82
+
80
83
  const width = props.width || "100%"
81
84
  const height = props.height || "auto"
82
85
  const borderRadius = props.borderRadius || 10
@@ -97,6 +100,22 @@ const KDropdown: React.FC<KDropdownProps> = (props) => {
97
100
  const placeholderColor = props.placeholderColor || "#848484"
98
101
  const enableIndicator = props.enableIndicator || false
99
102
  const allowContainerShrink = props.allowContainerShrink || false
103
+
104
+ const sortedOptions = useMemo<KSelectOption[]>(() => {
105
+ if (!props.sortSelectedFirst) {
106
+ return props.options
107
+ }
108
+
109
+ if (!selectedOption || !isMulti) {
110
+ return props.options
111
+ }
112
+
113
+ const selections = (selectedOption as KSelectOption[]).map((o) => o.value)
114
+ const selectedOnes = props.options.filter((opt) => selections.includes(opt.value))
115
+ const others = props.options.filter((opt) => !selections.includes(opt.value))
116
+ return [...selectedOnes, ...others]
117
+ }, [props.options, selectedOption, isMulti, props.sortSelectedFirst])
118
+
100
119
  let closeMenuOnSelect = true
101
120
  if (props.closeMenuOnSelect === false) {
102
121
  closeMenuOnSelect = false
@@ -235,7 +254,7 @@ const KDropdown: React.FC<KDropdownProps> = (props) => {
235
254
  name={props.label || ""}
236
255
  closeMenuOnSelect={closeMenuOnSelect}
237
256
  placeholder={props.placeholder || ""}
238
- options={props.options}
257
+ options={sortedOptions}
239
258
  className={"k-dropdown"}
240
259
  onInputChange={(text) => {
241
260
  if (props.onInputChange) props.onInputChange(text)
@@ -30,43 +30,30 @@ const KSelectRangeDateWrapper: React.FC<KSelectRangeDateProps> = (args) => {
30
30
  new Date() // End date: today
31
31
  ])
32
32
  useEffect(() => {
33
- // console.log("selectedDate: ", selectedDate)
33
+ console.log("selectedDate: ", selectedDate)
34
34
  }, [selectedDate])
35
+ const MILISECONDS_MONTH = 2678400000
36
+
35
37
 
36
38
  return (
37
39
  <div>
38
40
  <KSelectRangeDate
39
41
  {...args}
40
42
  value={selectedDate}
41
- onChange={(date: DateRangeType) => {
42
- // console.log("date: ", date)
43
- if (date) {
44
- setSelectedDate(date)
45
- console.log("updating is completed: ", date)
46
- // console.log("updating is completed date.toISOString(): ", date?.toISOString())
47
- } else {
48
- setSelectedDate(null)
49
- // console.log("Deleting is completed")
43
+ onChange={(event: any) => {
44
+ console.log("works")
45
+ if (!event) {
46
+ return
47
+ }
48
+ if (event[1] - event[0] > MILISECONDS_MONTH) {
49
+ console.log("not allowed")
50
+ return
50
51
  }
52
+
53
+ setSelectedDate(event)
51
54
  }}
52
55
  />
53
- <div className="relative z-10">
54
- <KSelectRangeDate
55
- {...args}
56
- value={selectedDate}
57
- onChange={(date: DateRangeType) => {
58
- // console.log("date: ", date)
59
- if (date) {
60
- setSelectedDate(date)
61
- console.log("updating is completed: ", date)
62
- // console.log("updating is completed date.toISOString(): ", date?.toISOString())
63
- } else {
64
- setSelectedDate(null)
65
- // console.log("Deleting is completed")
66
- }
67
- }}
68
- />
69
- </div>
56
+ <div className="relative z-10"></div>
70
57
  </div>
71
58
  )
72
59
  }
@@ -80,10 +67,11 @@ KSelectRangePrimary.args = {
80
67
  backgroundColor: "#F7F7F7",
81
68
  hoverBackgroundColor: "#F3F3F3",
82
69
  borderRadius: 24,
83
- position: "top",
70
+ position: "bottom",
84
71
  align: "center",
85
72
  hideBackdrop: true,
86
73
  anchorToButton: true,
74
+
87
75
  onChange: (value) => {
88
76
  if (value) {
89
77
  console.log("value is updated using this value:", value)
@@ -1,4 +1,4 @@
1
- import React, { CSSProperties, useEffect, useRef, useState } from "react"
1
+ import React, { useEffect, useRef, useState } from "react"
2
2
  import Calendar from "react-calendar"
3
3
  import "./KSelectRangeDateCustom.css"
4
4
  //@ts-ignore
@@ -52,11 +52,30 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
52
52
 
53
53
  const [value, setValue] = useState<DateRangeType>(props.value)
54
54
  const [range, setRange] = useState<DateRangeType>(props.value)
55
+ const [openCalendar, setOpenCalendar] = useState<boolean>(false)
56
+
57
+ const skipNextOpenRef = useRef(false)
58
+
59
+ useEffect(() => {
60
+ setValue(props.value)
61
+ setRange(props.value)
62
+ }, [props.value])
63
+
64
+ useEffect(() => {
65
+ if (openCalendar) {
66
+ if(skipNextOpenRef?.current) {
67
+ skipNextOpenRef.current = false
68
+ return
69
+ }
70
+
71
+ setRange(props.value)
72
+ }
73
+ }, [props.value, openCalendar])
55
74
 
56
75
  const [leftCalendarYear, setLeftCalendarYear] = useState<number>(new Date().getFullYear())
57
76
  const [leftCalendarMonth, setLeftCalendarMonth] = useState<number>(new Date().getMonth())
58
77
 
59
- const [openCalendar, setOpenCalendar] = useState<boolean>(false)
78
+
60
79
  const [shorthandIndex, setShorthandIndex] = useState<{ current: number; approved: number }>({
61
80
  current: -1,
62
81
  approved: -1
@@ -107,6 +126,7 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
107
126
  const newRange: DateRangeType =
108
127
  range[0].getTime() > clickedDate.getTime() ? [clickedDate, range[0]] : [range[0], clickedDate]
109
128
  setRange(newRange)
129
+ skipNextOpenRef.current = true
110
130
  setOpenCalendar(false)
111
131
  setTimeout(() => {
112
132
  setOpenCalendar(true)
@@ -118,28 +138,46 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
118
138
  }
119
139
 
120
140
  const tileClassName = ({ date, view }: { date: Date; view: string }) => {
121
- if (view === "year") {
141
+ if (view === "month") {
142
+
143
+ if (Array.isArray(range) && range[0] && !range[1] && hoveredDate &&
144
+ ((date.getTime() > hoveredDate.getTime() && date.getTime() < range[0].getTime()) ||
145
+ date.getTime() < hoveredDate.getTime() && date.getTime() > range[0].getTime()) ) {
146
+
147
+ return "hovered-range-day"
148
+ }
149
+
122
150
  // Apply active class for current month
123
151
  if (!(Array.isArray(range) && range[0] && range[1])) return
124
152
 
125
153
  if (
126
154
  range[0]?.getFullYear() === date.getFullYear() &&
127
155
  range[0]?.getMonth() === date.getMonth() &&
156
+ range[0]?.getDate() === date.getDate() &&
128
157
  range[1]?.getFullYear() === date.getFullYear() &&
129
- range[1]?.getMonth() === date.getMonth()
158
+ range[1]?.getMonth() === date.getMonth() &&
159
+ range[1]?.getDate() === date.getDate()
130
160
  ) {
131
- return "active-month-first-month active-month-last-month"
132
- } else if (range[0]?.getFullYear() === date.getFullYear() && range[0]?.getMonth() === date.getMonth()) {
133
- return "active-month-first-month"
134
- } else if (range[1]?.getFullYear() === date.getFullYear() && range[1]?.getMonth() === date.getMonth()) {
135
- return "active-month-last-month"
161
+ return "active-day-first-day active-day-last-day"
162
+ } else if (range[0]?.getFullYear() === date.getFullYear() && range[0]?.getMonth() === date.getMonth() && range[0]?.getDate() === date.getDate()) {
163
+ return "active-day-first-day"
164
+ } else if (range[1]?.getFullYear() === date.getFullYear() && range[1]?.getMonth() === date.getMonth() && range[1]?.getDate() === date.getDate()) {
165
+ return "active-day-last-day"
136
166
  } else if (range[0]?.getTime() < date.getTime() && date.getTime() < range[1]?.getTime()) {
137
- if (date.getMonth() % 3 === 0) {
138
- return "active-month-range-month-left"
139
- } else if (date.getMonth() % 3 === 1) {
140
- return "active-month-range-month-middle"
167
+ const weekStartsOn = 1
168
+ const col = (date.getDay() - weekStartsOn + 7) % 7
169
+ const dayOfMonth = date.getDate()
170
+ const lastDayOfMonth = new Date(date.getFullYear(), date.getMonth()+1, 0).getDate()
171
+ if (col === 6) {
172
+ return "active-day-range-day-left"
173
+ } else if (col === 5) {
174
+ return "active-day-range-day-right"
175
+ } else if (dayOfMonth === 1) {
176
+ return "active-day-range-day-middle first-day-of-month"
177
+ } else if (dayOfMonth === lastDayOfMonth) {
178
+ return "active-day-range-day-middle last-day-of-month"
141
179
  } else {
142
- return "active-month-range-month-right"
180
+ return "active-day-range-day-middle"
143
181
  }
144
182
  }
145
183
 
@@ -148,15 +186,15 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
148
186
  }
149
187
 
150
188
  const tileContent = ({ date, view }: { date: Date; view: string }) => {
151
- if (view === "year") {
152
- const month = date.toLocaleString(lang.locale, { month: "long" })
189
+ if (view === "month") {
190
+ const day = date.getDate()
153
191
  return (
154
192
  <div className="absolute left-0 top-0 h-full w-full flex items-center justify-center tile-content-external-div">
155
193
  {Array.isArray(range) &&
156
194
  range[1] !== null &&
157
- ((range[0]?.getFullYear() === date.getFullYear() && range[0]?.getMonth() === date.getMonth()) ||
158
- (range[1]?.getFullYear() === date.getFullYear() && range[1]?.getMonth() === date.getMonth())) && (
159
- <abbr>{month}</abbr>
195
+ ((range[0]?.getFullYear() === date.getFullYear() && range[0]?.getMonth() === date.getMonth() && range[0]?.getDate() === date.getDate()) ||
196
+ (range[1]?.getFullYear() === date.getFullYear() && range[1]?.getMonth() === date.getMonth() && range[1]?.getDate() === date.getDate())) && (
197
+ <abbr>{day}</abbr>
160
198
  )}
161
199
  </div>
162
200
  )
@@ -177,6 +215,8 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
177
215
  }
178
216
  }, [range])
179
217
 
218
+ const [hoveredDate, setHoveredDate] = useState<Date | null>(null)
219
+
180
220
  const renderPopUpCalendar = () => {
181
221
  return (
182
222
  <div className="flex flex-row">
@@ -185,7 +225,7 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
185
225
  style={{
186
226
  border: "1px solid #F3F3F3",
187
227
  borderRightWidth: "0px",
188
- borderTopLeftRadius: "0px",
228
+ borderTopLeftRadius: "16px",
189
229
  borderBottomLeftRadius: "16px"
190
230
  }}
191
231
  >
@@ -261,9 +301,27 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
261
301
  />
262
302
  </div>
263
303
  <div className="flex flex-col gap-0">
264
- <div className="flex flex-row">
304
+ <div className="flex flex-row"
305
+ onMouseOver={e => {
306
+ const tile = (e.target as HTMLElement).closest(".react-calendar__tile")
307
+ if (!tile) return
308
+ const abbr = tile.querySelector("abbr[aria-label]") as HTMLElement | null;
309
+ if (!abbr) return
310
+ const label = abbr.getAttribute("aria-label")!
311
+ const date = new Date(label)
312
+ setHoveredDate(date)
313
+ }
314
+ }
315
+ onMouseOut={e => {
316
+
317
+ const leftTile = (e.target as HTMLElement).closest(".react-calendar__tile")
318
+ if (leftTile) {
319
+ setHoveredDate(null)
320
+ }
321
+ }
322
+ }>
265
323
  <Calendar
266
- className="kselect-range left-calendar"
324
+ className="kselect-range-date left-calendar"
267
325
  allowPartialRange
268
326
  tileClassName={tileClassName}
269
327
  tileContent={tileContent}
@@ -294,7 +352,7 @@ const KSelectRangeDate: React.FC<KSelectRangeDateProps> = (props) => {
294
352
  maxDate={props.maximumDate || undefined}
295
353
  />
296
354
  <Calendar
297
- className="kselect-range right-calendar"
355
+ className="kselect-range-date right-calendar"
298
356
  tileClassName={tileClassName}
299
357
  tileContent={tileContent}
300
358
  locale={lang.locale}
@@ -3,7 +3,7 @@
3
3
  border-right: none !important;
4
4
  }
5
5
 
6
- .react-calendar.kselect-range {
6
+ .react-calendar.kselect-range-date {
7
7
  width: 350px;
8
8
  max-width: 100%;
9
9
  background: white;
@@ -19,17 +19,17 @@
19
19
  font-weight: 500;
20
20
  }
21
21
 
22
- .kselect-range .react-calendar--doubleView {
22
+ .kselect-range-date .react-calendar--doubleView {
23
23
  width: 700px;
24
24
  }
25
25
 
26
- .kselect-range .react-calendar--doubleView .react-calendar__viewContainer {
26
+ .kselect-range-date .react-calendar--doubleView .react-calendar__viewContainer {
27
27
  display: flex;
28
28
  margin: -0.5em;
29
29
  border-radius: 16px;
30
30
  }
31
31
 
32
- .kselect-range .react-calendar--doubleView .react-calendar__viewContainer>* {
32
+ .kselect-range-date .react-calendar--doubleView .react-calendar__viewContainer>* {
33
33
  width: 50%;
34
34
  margin: 0.5em;
35
35
  }
@@ -42,23 +42,23 @@
42
42
  box-sizing: border-box;
43
43
  }
44
44
 
45
- .kselect-range .react-calendar button {
45
+ .kselect-range-date .react-calendar button {
46
46
  margin: 0;
47
47
  border: 0;
48
48
  outline: none;
49
49
  }
50
50
 
51
- .kselect-range .react-calendar button:enabled:hover {
51
+ .kselect-range-date .react-calendar button:enabled:hover {
52
52
  cursor: pointer;
53
53
  }
54
54
 
55
- .kselect-range .react-calendar__navigation {
55
+ .kselect-range-date .react-calendar__navigation {
56
56
  display: flex;
57
57
  height: 36px;
58
58
  align-items: center;
59
59
  }
60
60
 
61
- .kselect-range .react-calendar__navigation button {
61
+ .kselect-range-date .react-calendar__navigation button {
62
62
  width: 44px;
63
63
  color: #111;
64
64
  font-weight: 500;
@@ -67,38 +67,42 @@
67
67
  background: none;
68
68
  }
69
69
 
70
- .kselect-range .react-calendar__navigation button:disabled {
70
+ .kselect-range-date .react-calendar__navigation button:disabled {
71
71
  background-color: #FFF;
72
72
  }
73
73
 
74
- .kselect-range .react-calendar__navigation button:enabled:hover,
75
- .kselect-range .react-calendar__navigation button:enabled:focus {
74
+ .kselect-range-date .react-calendar__navigation button:enabled:hover,
75
+ .kselect-range-date .react-calendar__navigation button:enabled:focus {
76
76
  background-color: #F0F0F0;
77
77
  }
78
78
 
79
- .kselect-range .react-calendar__month-view__weekdays {
79
+ .kselect-range-date .react-calendar__month-view__weekdays {
80
80
  text-align: center;
81
81
  text-transform: uppercase;
82
82
  font: inherit;
83
83
  font-size: 0.75em;
84
84
  font-weight: bold;
85
+ width: 280px;
86
+ justify-content: center !important;
87
+ margin-left: 15px;
88
+
85
89
  }
86
90
 
87
- .kselect-range .react-calendar__month-view__weekdays__weekday {
91
+ .kselect-range-date .react-calendar__month-view__weekdays__weekday {
88
92
  font-family: Inter;
89
93
  font-size: 14px;
90
94
  font-style: normal;
91
95
  font-weight: 500;
92
96
  line-height: 20px;
93
97
  letter-spacing: -0.084px;
94
- width: 40px;
98
+ width: 40px ;
95
99
  height: 40px;
96
100
  display: flex;
97
101
  align-items: center;
98
102
  justify-content: center;
99
103
  }
100
104
 
101
- .kselect-range .react-calendar__month-view__weekNumbers .react-calendar__tile {
105
+ .kselect-range-date .react-calendar__month-view__weekNumbers .react-calendar__tile {
102
106
  display: flex;
103
107
  align-items: center;
104
108
  justify-content: center;
@@ -108,17 +112,19 @@
108
112
  position: relative;
109
113
  }
110
114
 
111
- .kselect-range .react-calendar__month-view__days {
112
- justify-content: space-between;
115
+ .kselect-range-date .react-calendar__month-view__days {
116
+ justify-content: center;
117
+ row-gap: 4px;
113
118
 
114
119
  }
115
120
 
116
- .kselect-range .react-calendar__month-view__days__day {
121
+ .kselect-range-date .react-calendar__month-view__days__day {
117
122
  flex-basis: auto !important;
118
123
  border-radius: 20px;
124
+ position: relative;
119
125
  }
120
126
 
121
- .kselect-range .react-calendar__month-view__days__day--weekend {
127
+ .kselect-range-date .react-calendar__month-view__days__day--weekend {
122
128
  font-size: 14px;
123
129
  font-style: normal;
124
130
  font-weight: 500;
@@ -126,22 +132,39 @@
126
132
  /* 142.857% */
127
133
  letter-spacing: -0.084px;
128
134
  color: #1F1F1F;
135
+ width: 40px;
136
+ }
137
+ .kselect-range-date .hovered-range-day {
138
+ background-color: #F0F0F0 !important;
129
139
  }
130
140
 
131
- .kselect-range .react-calendar__month-view__days__day--neighboringMonth,
132
- .kselect-range .react-calendar__decade-view__years__year--neighboringDecade,
133
- .kselect-range .react-calendar__century-view__decades__decade--neighboringCentury {
141
+ .kselect-range-date .react-calendar__month-view__days__day--neighboringMonth {
142
+ color: rgba(0, 0, 0, 0) !important;
143
+ background-color: rgba(0, 0, 0, 0) !important;
144
+ }
145
+ .kselect-range-date .react-calendar__month-view__days__day--neighboringMonth.active-day-range-day-middle {
146
+ background-color: rgba(0, 0, 0, 0) !important;
147
+ }
148
+ .kselect-range-date .react-calendar__month-view__days__day--neighboringMonth.active-day-range-day-left {
149
+ background: rgba(0, 0, 0, 0) !important;
150
+ }
151
+ .kselect-range-date .react-calendar__month-view__days__day--neighboringMonth.active-day-range-day-right {
152
+ background: rgba(0, 0, 0, 0) !important;
153
+ }
154
+
155
+ .kselect-range-date .react-calendar__decade-view__years__year--neighboringDecade,
156
+ .kselect-range-date .react-calendar__century-view__decades__decade--neighboringCentury {
134
157
  color: #D6D6D6;
135
158
  }
136
159
 
137
- .kselect-range .react-calendar__year-view .react-calendar__tile,
138
- .kselect-range .react-calendar__decade-view .react-calendar__tile,
139
- .kselect-range .react-calendar__century-view .react-calendar__tile {
160
+ .kselect-range-date .react-calendar__year-view .react-calendar__tile,
161
+ .kselect-range-date .react-calendar__decade-view .react-calendar__tile,
162
+ .kselect-range-date .react-calendar__century-view .react-calendar__tile {
140
163
  padding: 0;
141
164
  /*old value : 2em 0.5em*/
142
165
  }
143
166
 
144
- .kselect-range .react-calendar__navigation__arrow {
167
+ .kselect-range-date .react-calendar__navigation__arrow {
145
168
  display: flex;
146
169
  align-items: center;
147
170
  justify-content: center;
@@ -151,7 +174,7 @@
151
174
  ;
152
175
  }
153
176
 
154
- .kselect-range .react-calendar__tile {
177
+ .kselect-range-date .react-calendar__tile {
155
178
  height: 40px;
156
179
  width: 40px !important;
157
180
  background: none;
@@ -159,44 +182,44 @@
159
182
  font: inherit;
160
183
  }
161
184
 
162
- .kselect-range .react-calendar__tile:disabled {
185
+ .kselect-range-date .react-calendar__tile:disabled {
163
186
  background-color: #f0f0f0;
164
187
  color: #ababab;
165
188
  }
166
189
 
167
- .kselect-range .react-calendar__month-view__days__day--neighboringMonth:disabled,
168
- .kselect-range .react-calendar__decade-view__years__year--neighboringDecade:disabled,
169
- .kselect-range .react-calendar__century-view__decades__decade--neighboringCentury:disabled {
190
+ .kselect-range-date .react-calendar__month-view__days__day--neighboringMonth:disabled,
191
+ .kselect-range-date .react-calendar__decade-view__years__year--neighboringDecade:disabled,
192
+ .kselect-range-date .react-calendar__century-view__decades__decade--neighboringCentury:disabled {
170
193
  color: #cdcdcd;
171
194
  }
172
195
 
173
- .kselect-range .react-calendar__tile:enabled:hover,
174
- .kselect-range .react-calendar__tile:enabled:focus {
196
+ .kselect-range-date .react-calendar__tile:enabled:hover,
197
+ .kselect-range-date .react-calendar__tile:enabled:focus {
175
198
  background-color: #F0F0F0;
176
199
  }
177
200
 
178
- .kselect-range .react-calendar__tile--now {
201
+ .kselect-range-date .react-calendar__tile--now {
179
202
  background: #F2FE67
180
203
  }
181
204
 
182
- .kselect-range .react-calendar__tile--now:enabled:hover,
183
- .kselect-range.react-calendar__tile--now:enabled:focus {
205
+ .kselect-range-date .react-calendar__tile--now:enabled:hover,
206
+ .kselect-range-date.react-calendar__tile--now:enabled:focus {
184
207
  background: #FFFFA9;
185
208
  }
186
209
 
187
- .kselect-range .react-calendar__tile--hasActive {
210
+ .kselect-range-date .react-calendar__tile--hasActive {
188
211
  background: #111111;
189
212
  /*76baff*/
190
213
  color: #FFFFFF;
191
214
  }
192
215
 
193
- .kselect-range .react-calendar__tile--hasActive:enabled:hover,
194
- .kselect-range .react-calendar__tile--hasActive:enabled:focus {
216
+ .kselect-range-date .react-calendar__tile--hasActive:enabled:hover,
217
+ .kselect-range-date .react-calendar__tile--hasActive:enabled:focus {
195
218
  background: #111111;
196
219
  /*old value: #a9d4ff*/
197
220
  }
198
221
 
199
- .kselect-range .react-calendar__tile--active {
222
+ .kselect-range-date .react-calendar__tile--active {
200
223
  background-color: #111;
201
224
  color: white;
202
225
  border-radius: 0px;
@@ -206,20 +229,20 @@
206
229
  .react-calendar__tile--hover.react-calendar__tile--active {
207
230
  background-color: #111 !important;
208
231
  }
209
- .kselect-range .react-calendar__tile--active:enabled:focus {
232
+ .kselect-range-date .react-calendar__tile--active:enabled:focus {
210
233
  background: #111111;
211
234
  /*old value: 1087ff*/
212
235
  }
213
236
 
214
- .kselect-range .react-calendar--selectRange .react-calendar__tile--hover {
237
+ .kselect-range-date .react-calendar--selectRange .react-calendar__tile--hover {
215
238
  background-color: #F0F0F0;
216
239
  }
217
240
 
218
- .kselect-range .react-calendar__month-view__weekdays__weekday {
241
+ .kselect-range-date .react-calendar__month-view__weekdays__weekday {
219
242
  text-decoration: none !important;
220
243
  }
221
244
 
222
- .kselect-range .react-calendar__month-view__weekdays__weekday--weekend {
245
+ .kselect-range-date .react-calendar__month-view__weekdays__weekday--weekend {
223
246
  text-decoration: none;
224
247
  }
225
248
 
@@ -228,7 +251,7 @@ abbr:where([title]) {
228
251
  color: #3D3D3D;
229
252
  }
230
253
 
231
- .kselect-range .react-calendar__navigation__label__labelText {
254
+ .kselect-range-date .react-calendar__navigation__label__labelText {
232
255
  color: #111;
233
256
  font-size: 16px;
234
257
  font-weight: 500 !important;
@@ -236,49 +259,64 @@ abbr:where([title]) {
236
259
  letter-spacing: -0.176px;
237
260
  }
238
261
 
239
- .kselect-range .react-calendar__year-view__months {
262
+ .kselect-range-date .react-calendar__year-view__months {
240
263
  row-gap: 8px;
241
264
  }
242
265
 
243
- .kselect-range .react-calendar__year-view__months__month {
266
+ .kselect-range-date .react-calendar__year-view__months__month {
244
267
  padding: 0px !important;
245
268
  position: relative;
246
269
  }
247
270
 
248
- .kselect-range .active-month-first-month {
271
+ .kselect-range-date .active-day-first-day:not(.react-calendar__month-view__days__day--neighboringMonth) {
249
272
  background-color: #F0F0F0 !important;
250
273
  border-top-left-radius: 999px !important;
251
274
  border-bottom-left-radius: 999px !important;
252
275
  }
253
276
 
254
- .active-month-first-month .tile-content-external-div {
277
+ .active-day-first-day .tile-content-external-div {
255
278
  background-color: #111;
256
279
  border-radius: 999px !important;
257
280
  }
281
+ .active-day-first-day.react-calendar__month-view__days__day--neighboringMonth .tile-content-external-div {
282
+ display: none;
283
+ }
258
284
 
259
- .kselect-range .active-month-last-month {
285
+ .kselect-range-date .active-day-last-day:not(.react-calendar__month-view__days__day--neighboringMonth) {
260
286
  background-color: #F0F0F0 !important;
261
287
  border-top-right-radius: 999px !important;
262
288
  border-bottom-right-radius: 999px !important;
263
289
  }
264
290
 
265
- .active-month-last-month .tile-content-external-div {
291
+ .active-day-last-day .tile-content-external-div {
266
292
  background-color: #111;
267
293
  border-radius: 999px !important;
268
294
  }
295
+ .active-day-last-day.react-calendar__month-view__days__day--neighboringMonth .tile-content-external-div {
296
+ display: none;
297
+ }
269
298
 
270
- .kselect-range .active-month-range-month-left {
271
- background: linear-gradient(90deg, #FFF 0%, #F0F0F0 30.28%, #F0F0F0 100%);
299
+ .kselect-range-date .active-day-range-day-left {
300
+ background: linear-gradient(90deg, #FFF 0%, #F0F0F0 69.72%, #F0F0F0 100%);
272
301
  color: #1F1F1F;
273
302
  }
274
303
 
275
- .kselect-range .active-month-range-month-middle {
304
+ .kselect-range-date .active-day-range-day-middle {
276
305
  background-color: #F0F0F0 !important;
277
306
  color: #1F1F1F;
278
307
  }
279
308
 
280
- .kselect-range .active-month-range-month-right {
281
- background: linear-gradient(90deg, #F0F0F0 0%, #F0F0F0 69.72%, #FFF 100%);
309
+ .active-day-range-day-middle.first-day-of-month:not(.react-calendar__month-view__days__day--neighboringMonth) {
310
+ background: linear-gradient(90deg, #FFF 0%, #F0F0F0 69.72%, #F0F0F0 100%);
311
+ color: #1F1F1F;
312
+ }
313
+ .active-day-range-day-middle.last-day-of-month:not(.react-calendar__month-view__days__day--neighboringMonth) {
314
+ background: linear-gradient(90deg, #F0F0F0 0%, #F0F0F0 30.28%, #FFF 100%);
315
+ color: #1F1F1F;
316
+ }
317
+
318
+ .kselect-range-date .active-day-range-day-right {
319
+ background: linear-gradient(90deg, #F0F0F0 0%, #F0F0F0 30.28%, #FFF 100%);
282
320
  color: #1F1F1F;
283
321
  }
284
322
  .range-bottom-center {