willba-component-library 0.2.11 → 0.2.13
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/README.md +1 -1
- package/lib/components/FilterCalendar/FilterCalendar.d.ts +2 -2
- package/lib/components/FilterCalendar/FilterCalendarTypes.d.ts +3 -2
- package/lib/components/FilterCalendar/hooks/useFilterCalendar.d.ts +2 -3
- package/lib/core/components/calendar/CalendarTypes.d.ts +1 -0
- package/lib/index.d.ts +6 -4
- package/lib/index.esm.js +8 -14
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +8 -14
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +8 -14
- package/lib/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FilterCalendar/FilterCalendar.css +4 -0
- package/src/components/FilterCalendar/FilterCalendar.stories.tsx +4 -2
- package/src/components/FilterCalendar/FilterCalendar.tsx +9 -16
- package/src/components/FilterCalendar/FilterCalendarTypes.ts +4 -2
- package/src/components/FilterCalendar/hooks/useFilterCalendar.ts +3 -4
- package/src/core/components/calendar/Calendar.tsx +2 -0
- package/src/core/components/calendar/CalendarTypes.ts +1 -0
- package/src/index.ts +2 -0
package/package.json
CHANGED
|
@@ -37,8 +37,10 @@ export const Primary: Story = {
|
|
|
37
37
|
primary: '',
|
|
38
38
|
secondary: '',
|
|
39
39
|
},
|
|
40
|
-
|
|
41
|
-
onSubmit: (val
|
|
40
|
+
toggleCalendar: true,
|
|
41
|
+
onSubmit: (val) => console.log(val),
|
|
42
|
+
setToggleCalendar: (val) => console.log(val),
|
|
43
|
+
requestDates: (val) => console.log(val),
|
|
42
44
|
},
|
|
43
45
|
render: (args) => (
|
|
44
46
|
<div style={{ padding: '30px', height: '100vh' }}>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { useTranslation } from 'react-i18next'
|
|
3
3
|
|
|
4
4
|
import useTheme from '../../themes/useTheme'
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from '../../core/hooks'
|
|
12
12
|
import { nightsCount, parseDate } from '../../core/utils'
|
|
13
13
|
|
|
14
|
-
import {
|
|
14
|
+
import { FilterCalendarTypes } from './FilterCalendarTypes'
|
|
15
15
|
import { useFilterCalendar } from './hooks/useFilterCalendar'
|
|
16
16
|
|
|
17
17
|
import './FilterCalendar.css'
|
|
@@ -20,32 +20,24 @@ export default function FilterCalendar({
|
|
|
20
20
|
calendarOffset,
|
|
21
21
|
language,
|
|
22
22
|
palette,
|
|
23
|
-
openCalendar,
|
|
24
23
|
onSubmit,
|
|
25
24
|
calendarOffsetGroup,
|
|
26
|
-
|
|
25
|
+
toggleCalendar,
|
|
26
|
+
setToggleCalendar,
|
|
27
|
+
requestDates,
|
|
28
|
+
}: FilterCalendarTypes) {
|
|
27
29
|
const themePalette = useTheme({ palette })
|
|
28
30
|
|
|
29
31
|
// Translations
|
|
30
32
|
useUpdateTranslations({ language })
|
|
31
33
|
const { t } = useTranslation()
|
|
32
34
|
|
|
33
|
-
const {
|
|
34
|
-
|
|
35
|
-
setToggleCalendar,
|
|
36
|
-
setCalendarRange,
|
|
37
|
-
handleClearDates,
|
|
38
|
-
toggleCalendar,
|
|
39
|
-
calendarRange,
|
|
40
|
-
} = useFilterCalendar({ onSubmit })
|
|
35
|
+
const { handleSubmit, setCalendarRange, handleClearDates, calendarRange } =
|
|
36
|
+
useFilterCalendar({ onSubmit, setToggleCalendar })
|
|
41
37
|
|
|
42
38
|
// Display component after fully loaded
|
|
43
39
|
useAwaitRender()
|
|
44
40
|
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
if (openCalendar) setToggleCalendar(true)
|
|
47
|
-
}, [openCalendar])
|
|
48
|
-
|
|
49
41
|
// Handle close filter section
|
|
50
42
|
const { filtersRef } = useCloseFilterSection({
|
|
51
43
|
handleSelectedFilter: setToggleCalendar,
|
|
@@ -69,6 +61,7 @@ export default function FilterCalendar({
|
|
|
69
61
|
selectedPath={'/rooms'}
|
|
70
62
|
language={language}
|
|
71
63
|
calendarOffsetGroup={calendarOffsetGroup}
|
|
64
|
+
requestDates={requestDates}
|
|
72
65
|
/>
|
|
73
66
|
</div>
|
|
74
67
|
<div className={`will-calendar-footer`}>
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { CSSProperties } from 'react'
|
|
1
2
|
import { DateRange } from 'react-day-picker'
|
|
2
3
|
|
|
3
4
|
import { Palette } from '../../themes/useTheme'
|
|
4
5
|
import { CalendarTypes } from '../../core/components/calendar/CalendarTypes'
|
|
5
6
|
|
|
6
|
-
export interface
|
|
7
|
+
export interface FilterCalendarTypes extends Partial<CalendarTypes> {
|
|
7
8
|
palette: Palette
|
|
8
|
-
openCalendar?: boolean
|
|
9
9
|
onSubmit: (val: DateRange) => void
|
|
10
|
+
toggleCalendar: boolean
|
|
11
|
+
setToggleCalendar: (val: boolean) => void
|
|
10
12
|
}
|
|
@@ -3,13 +3,14 @@ import { DateRange } from 'react-day-picker'
|
|
|
3
3
|
|
|
4
4
|
type Props = {
|
|
5
5
|
onSubmit: (val: any) => void
|
|
6
|
+
setToggleCalendar: (val: boolean) => void
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
export const useFilterCalendar = ({ onSubmit }: Props) => {
|
|
9
|
+
export const useFilterCalendar = ({ onSubmit, setToggleCalendar }: Props) => {
|
|
9
10
|
const [calendarRange, setCalendarRange] = useState<DateRange | undefined>()
|
|
10
|
-
const [toggleCalendar, setToggleCalendar] = useState<boolean>(false)
|
|
11
11
|
|
|
12
12
|
const handleSubmit = () => {
|
|
13
|
+
setToggleCalendar(false)
|
|
13
14
|
return onSubmit(calendarRange)
|
|
14
15
|
}
|
|
15
16
|
|
|
@@ -20,10 +21,8 @@ export const useFilterCalendar = ({ onSubmit }: Props) => {
|
|
|
20
21
|
return {
|
|
21
22
|
handleSubmit,
|
|
22
23
|
handleClearDates,
|
|
23
|
-
setToggleCalendar,
|
|
24
24
|
setCalendarRange,
|
|
25
25
|
|
|
26
26
|
calendarRange,
|
|
27
|
-
toggleCalendar,
|
|
28
27
|
}
|
|
29
28
|
}
|
|
@@ -17,6 +17,7 @@ export const Calendar = forwardRef<HTMLDivElement, CalendarTypes>(
|
|
|
17
17
|
selectedPath,
|
|
18
18
|
language,
|
|
19
19
|
calendarOffsetGroup,
|
|
20
|
+
requestDates,
|
|
20
21
|
}: CalendarTypes,
|
|
21
22
|
ref
|
|
22
23
|
) => {
|
|
@@ -68,6 +69,7 @@ export const Calendar = forwardRef<HTMLDivElement, CalendarTypes>(
|
|
|
68
69
|
defaultMonth={selectedStartDate || disabledDays[0].from}
|
|
69
70
|
disabled={calendarOffsetGroup || disabledDays}
|
|
70
71
|
fromMonth={today}
|
|
72
|
+
onMonthChange={(val) => (requestDates ? requestDates(val) : null)}
|
|
71
73
|
/>
|
|
72
74
|
</div>
|
|
73
75
|
</div>
|
package/src/index.ts
CHANGED
|
@@ -3,4 +3,6 @@ import FilterBar from './components/FilterBar'
|
|
|
3
3
|
import FilterCalendar from './components/FilterCalendar'
|
|
4
4
|
|
|
5
5
|
export { Button, FilterBar, FilterCalendar }
|
|
6
|
+
|
|
6
7
|
export type { Tab } from './components/FilterBar/FilterBarTypes'
|
|
8
|
+
export type { FilterCalendarTypes } from './components/FilterCalendar/FilterCalendarTypes'
|