@utrecht/calendar-react 1.0.4 → 1.0.5

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/index.cjs CHANGED
@@ -4,7 +4,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var dateFns = require('date-fns');
6
6
  var locale = require('date-fns/locale');
7
- var chunk = require('lodash.chunk');
7
+ var chunk = require('lodash-es/chunk');
8
8
  var react = require('react');
9
9
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
10
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/CalendarNavigation.tsx","../src/CalendarButton.tsx","../src/CalendarIcon.tsx","../src/CalendarNavigationButtons.tsx","../src/CalendarNavigationLabel.tsx","../src/CalendarTableDaysContainer.tsx","../src/CalendarTableDaysItem.tsx","../src/CalendarTableDaysItemDay.tsx","../src/CalendarTableWeeksContainer.tsx","../src/CalendarTableWeeksItem.tsx","../src/IconArrowLeft.tsx","../src/IconArrowLeftDouble.tsx","../src/IconArrowRight.tsx","../src/IconArrowRightDouble.tsx","../src/index.tsx"],"sourcesContent":["import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarNavigationProps extends DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> {}\n\nexport const CalendarNavigation = ({ children, ...props }: PropsWithChildren<CalendarNavigationProps>) => (\n <div className=\"utrecht-calendar__navigation\" {...props}>\n {children}\n </div>\n);\n","import { Button, ButtonProps } from '@utrecht/button-react';\nimport { clsx } from 'clsx';\nimport { PropsWithChildren } from 'react';\n\nexport interface CalendarButtonProps extends ButtonProps {}\n\nexport const CalendarButton = ({ children, className, ...props }: PropsWithChildren<CalendarButtonProps>) => (\n <Button appearance=\"subtle-button\" {...props} className={clsx('utrecht-calendar__button', className)}>\n {children}\n </Button>\n);\n","import { clsx } from 'clsx';\nimport { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarIconProps extends DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> {}\n\nexport const CalendarIcon = ({ children, ...props }: PropsWithChildren<CalendarIconProps>) => (\n <div className={clsx('utrecht-calendar__icon')} {...props}>\n {children}\n </div>\n);\n","import { MouseEventHandler, PropsWithChildren } from 'react';\nimport { CalendarButton, CalendarButtonProps } from './CalendarButton';\nimport { CalendarIcon } from './CalendarIcon';\ninterface CalendarNavigationButtonsProps extends CalendarButtonProps {\n onPreviousClick?: MouseEventHandler<HTMLButtonElement>;\n onNextClick?: MouseEventHandler<HTMLButtonElement>;\n previousIcon?: any;\n nextIcon?: any;\n previousTitle?: string;\n nextTitle?: string;\n}\n\nexport const CalendarNavigationButtons = ({\n onPreviousClick,\n onNextClick,\n previousIcon,\n nextIcon,\n children,\n ...props\n}: PropsWithChildren<CalendarNavigationButtonsProps>) => (\n <div className=\"utrecht-calendar__navigation-buttons\">\n <CalendarButton onClick={onPreviousClick} {...props}>\n <CalendarIcon>{previousIcon}</CalendarIcon>\n </CalendarButton>\n {children}\n <CalendarButton onClick={onNextClick} {...props}>\n <CalendarIcon>{nextIcon}</CalendarIcon>\n </CalendarButton>\n </div>\n);\n","import { PropsWithChildren, TimeHTMLAttributes } from 'react';\n\ntype CalendarNavigationLabelProps = TimeHTMLAttributes<HTMLTimeElement>;\n\nexport const CalendarNavigationLabel = ({ children, ...props }: PropsWithChildren<CalendarNavigationLabelProps>) => (\n <time className=\"utrecht-calendar__navigation-label\" {...props}>\n {children}\n </time>\n);\n","import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarTableDaysContainerProps\n extends DetailedHTMLProps<HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement> {}\n\nexport const CalendarTableDaysContainer = ({\n children,\n ...props\n}: PropsWithChildren<CalendarTableDaysContainerProps>) => (\n <tbody {...props} className=\"utrecht-calendar__table-days-container\">\n {children}\n </tbody>\n);\n","import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarTableDaysItemProps\n extends DetailedHTMLProps<HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement> {}\n\nexport const CalendarTableDaysItem = ({ children, ...props }: PropsWithChildren<CalendarTableDaysItemProps>) => (\n <tr {...props}>{children}</tr>\n);\n","import clsx from 'clsx';\nimport { PropsWithChildren } from 'react';\nimport { CalendarButton, CalendarButtonProps } from './CalendarButton';\nexport interface CalendarTableDaysItemDayProps extends CalendarButtonProps {\n day: string;\n dayOutOfTheMonth?: boolean;\n isToday: boolean;\n emphasis?: boolean;\n selected?: boolean;\n disabled?: boolean;\n}\n\nexport const CalendarTableDaysItemDay = ({\n day,\n dayOutOfTheMonth,\n isToday,\n emphasis,\n selected,\n disabled,\n ...props\n}: PropsWithChildren<CalendarTableDaysItemDayProps>) => (\n <td>\n <CalendarButton\n className={clsx(\n 'utrecht-calendar__table-days-item-day',\n { 'utrecht-calendar__table-days-item-day--out-of-the-month': dayOutOfTheMonth },\n { 'utrecht-calendar__table-days-item-day--is-today': isToday },\n { 'utrecht-calendar__table-days-item-day--emphasis': emphasis },\n { 'utrecht-calendar__table-days-item-day--selected': selected },\n )}\n disabled={disabled}\n {...props}\n >\n {day}\n </CalendarButton>\n </td>\n);\n","import { PropsWithChildren } from 'react';\n\nexport const CalendarTableWeeksContainer = ({ children }: PropsWithChildren) => (\n <thead className=\"utrecht-calendar__table-weeks-container\">\n <tr className=\"utrecht-calendar__table-weeks-container-content\">{children}</tr>\n </thead>\n);\n","import { DetailedHTMLProps, PropsWithChildren, ThHTMLAttributes } from 'react';\n\nexport interface CalendarTableWeeksItemProps\n extends DetailedHTMLProps<ThHTMLAttributes<HTMLTableCellElement>, HTMLTableCellElement> {}\n\nexport const CalendarTableWeeksItem = ({ children, ...props }: PropsWithChildren<CalendarTableWeeksItemProps>) => (\n <th {...props} className=\"utrecht-calendar__table-weeks-item\">\n {children}\n </th>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowLeft = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg width=\"100%\" height=\"100%\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M15.41 16.59 10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowLeftDouble = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg width=\"100%\" height=\"100%\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M17.59 18 19 16.59 14.42 12 19 7.41 17.59 6l-6 6 6 6Z\" fill=\"currentColor\" />\n <path d=\"m11 18 1.41-1.41L7.83 12l4.58-4.59L11 6l-6 6 6 6Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowRight = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg width=\"100%\" height=\"100%\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowRightDouble = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg fill=\"none\" width=\"100%\" height=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M6.41 6 5 7.41 9.58 12 5 16.59 6.41 18l6-6-6-6Z\" fill=\"currentColor\" />\n <path d=\"m13 6-1.41 1.41L16.17 12l-4.58 4.59L13 18l6-6-6-6Z\" fill=\"currentColor\" />\n </svg>\n);\n","import {\n addMonths,\n addWeeks,\n addYears,\n eachDayOfInterval,\n endOfDay,\n endOfWeek,\n format,\n formatISO,\n getYear,\n isAfter,\n isBefore,\n isSameDay,\n isSameMonth,\n Locale,\n parseISO,\n setMonth,\n setYear,\n startOfDay,\n startOfMonth,\n startOfWeek,\n} from 'date-fns';\nimport { enUS } from 'date-fns/locale';\nimport chunk from 'lodash.chunk';\nimport { useState } from 'react';\nimport { CalendarNavigation } from './CalendarNavigation';\nimport { CalendarNavigationButtons } from './CalendarNavigationButtons';\nimport { CalendarNavigationLabel } from './CalendarNavigationLabel';\nimport { CalendarTableDaysContainer } from './CalendarTableDaysContainer';\nimport { CalendarTableDaysItem } from './CalendarTableDaysItem';\nimport { CalendarTableDaysItemDay } from './CalendarTableDaysItemDay';\nimport { CalendarTableWeeksContainer } from './CalendarTableWeeksContainer';\nimport { CalendarTableWeeksItem } from './CalendarTableWeeksItem';\nimport { IconArrowLeft } from './IconArrowLeft';\nimport { IconArrowLeftDouble } from './IconArrowLeftDouble';\nimport { IconArrowRight } from './IconArrowRight';\nimport { IconArrowRightDouble } from './IconArrowRightDouble';\n\nfunction createCalendar(today: Date): Date[] {\n const start = startOfWeek(startOfMonth(today), {\n weekStartsOn: 1 /* Monday */,\n });\n const end = endOfWeek(addWeeks(start, 5), {\n weekStartsOn: 1 /* Monday */,\n });\n return eachDayOfInterval({ start, end });\n}\n\nexport type Events = {\n date: string;\n emphasis?: boolean;\n selected?: boolean;\n disabled?: boolean;\n};\n\nexport interface CalendarProps {\n /**\n * `onCalendarClick` It's a callback function that returns the selected date, triggered when you click on the day\n *\n * */\n onCalendarClick: (date: string) => void;\n /**\n * `events` An array of event objects that contain some properties that allow you to change the calendar day style base on your value\n * `{date?: Date; emphasis?: boolean; selected?: boolean; disabled?: boolean;}`\n *\n * */\n events?: Events[];\n /**\n * `currentDate` The default value is `new Date()`, but you can provide a different date\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n * */\n currentDate?: Date;\n /**\n * `locale` to change the calendar language by using 'date-fns/locale'\n * `import { nl, enUS } from 'date-fns/locale';`\n * */\n locale?: Locale;\n previousYearButtonTitle?: string;\n nextYearButtonTitle?: string;\n previousMonthButtonTitle?: string;\n nextMonthButtonTitle?: string;\n minDate?: Date;\n maxDate?: Date;\n}\n\n/**\n * Calendar Component\n * powered by date-fns, so that make it easy to use the `date-fns` date functions & locale\n * */\n\nexport const Calendar = ({\n onCalendarClick,\n events,\n currentDate,\n locale = enUS,\n previousYearButtonTitle = 'Previous year',\n nextYearButtonTitle = 'Next year',\n previousMonthButtonTitle = 'Previous month',\n nextMonthButtonTitle = 'Next month',\n minDate,\n maxDate,\n}: CalendarProps) => {\n const [visibleMonth, setVisibleMonth] = useState(currentDate || new Date());\n const [selectedDate, setSelectedDate] = useState(currentDate);\n const calendar = createCalendar(visibleMonth);\n const start = startOfWeek(visibleMonth, { weekStartsOn: 1 });\n const end = endOfWeek(visibleMonth, { weekStartsOn: 1 });\n\n const currentWeek = eachDayOfInterval({ start, end }).map((day) => day);\n const chunksWeeks = chunk(calendar, calendar.length / 6);\n\n const weeks = chunksWeeks.map((week) =>\n week.map((date) => {\n const currentEvent =\n events && events.length > 0 && events.find((e) => isSameDay(endOfDay(parseISO(e.date)), date));\n if (currentEvent) {\n return {\n date,\n emphasis: currentEvent.emphasis,\n selected: currentEvent.selected,\n disabled: currentEvent.disabled,\n };\n } else {\n return {\n date,\n emphasis: false,\n selected: false,\n disabled: false,\n };\n }\n }),\n );\n\n return (\n <div className=\"utrecht-calendar\">\n <CalendarNavigation>\n <CalendarNavigationButtons\n previousIcon={<IconArrowLeftDouble title={previousYearButtonTitle} />}\n nextIcon={<IconArrowRightDouble title={nextYearButtonTitle} />}\n onPreviousClick={() => setVisibleMonth(setYear(visibleMonth, getYear(visibleMonth) - 1))}\n onNextClick={() => setVisibleMonth(addYears(visibleMonth, 1))}\n >\n <CalendarNavigationButtons\n previousIcon={<IconArrowLeft title={previousMonthButtonTitle} />}\n nextIcon={<IconArrowRight title={nextMonthButtonTitle} />}\n onPreviousClick={() => setVisibleMonth(setMonth(visibleMonth, visibleMonth.getMonth() - 1))}\n onNextClick={() => setVisibleMonth(addMonths(visibleMonth, 1))}\n >\n <CalendarNavigationLabel dateTime={format(visibleMonth, 'yyyy-mm')}>\n {format(visibleMonth, 'LLLL Y', { locale })}\n </CalendarNavigationLabel>\n </CalendarNavigationButtons>\n </CalendarNavigationButtons>\n </CalendarNavigation>\n <table className=\"utrecht-calendar__table\" role=\"grid\">\n <CalendarTableWeeksContainer>\n {currentWeek &&\n currentWeek.length > 0 &&\n currentWeek.map((day, index) => (\n <CalendarTableWeeksItem scope=\"col\" abbr={format(day, 'EEEE', { locale })} key={index}>\n {format(day, 'EEEEEE', { locale })}\n </CalendarTableWeeksItem>\n ))}\n </CalendarTableWeeksContainer>\n <CalendarTableDaysContainer>\n {weeks &&\n weeks.length > 0 &&\n weeks.map((week, index) => (\n <CalendarTableDaysItem key={index}>\n {week.map((day, index) => {\n return (\n <CalendarTableDaysItemDay\n isToday={isSameDay(day.date, Date.now())}\n dayOutOfTheMonth={!isSameMonth(day.date, visibleMonth)}\n key={index}\n onClick={() => {\n setVisibleMonth(day.date);\n setSelectedDate(day.date);\n onCalendarClick(formatISO(day.date));\n }}\n aria-label={format(day.date, 'eeee dd LLLL Y', { locale })}\n day={day.date.getDate().toString()}\n emphasis={day.emphasis}\n selected={day.selected || (selectedDate && isSameDay(day.date, selectedDate))}\n disabled={\n day.disabled ||\n (minDate && isBefore(day.date, startOfDay(minDate))) ||\n (maxDate && isAfter(day.date, endOfDay(maxDate)))\n }\n />\n );\n })}\n </CalendarTableDaysItem>\n ))}\n </CalendarTableDaysContainer>\n </table>\n </div>\n );\n};\n"],"names":["CalendarNavigation","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","CalendarButton","Button","appearance","clsx","CalendarIcon","CalendarNavigationButtons","onPreviousClick","onNextClick","previousIcon","nextIcon","_jsxs","onClick","CalendarNavigationLabel","CalendarTableDaysContainer","CalendarTableDaysItem","CalendarTableDaysItemDay","day","dayOutOfTheMonth","isToday","emphasis","selected","disabled","CalendarTableWeeksContainer","CalendarTableWeeksItem","IconArrowLeft","title","titleId","width","height","fill","xmlns","id","d","IconArrowLeftDouble","IconArrowRight","IconArrowRightDouble","createCalendar","today","start","startOfWeek","startOfMonth","weekStartsOn","end","endOfWeek","addWeeks","eachDayOfInterval","Calendar","onCalendarClick","events","currentDate","_ref$locale","locale","enUS","_ref$previousYearButt","previousYearButtonTitle","_ref$nextYearButtonTi","nextYearButtonTitle","_ref$previousMonthBut","previousMonthButtonTitle","_ref$nextMonthButtonT","nextMonthButtonTitle","minDate","maxDate","_useState","useState","Date","_useState2","_slicedToArray","visibleMonth","setVisibleMonth","_useState3","_useState4","selectedDate","setSelectedDate","calendar","currentWeek","map","chunksWeeks","chunk","length","weeks","week","date","currentEvent","find","e","isSameDay","endOfDay","parseISO","setYear","getYear","addYears","setMonth","getMonth","addMonths","dateTime","format","role","index","scope","abbr","now","isSameMonth","formatISO","getDate","toString","isBefore","startOfDay","isAfter"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/CalendarNavigation.tsx","../src/CalendarButton.tsx","../src/CalendarIcon.tsx","../src/CalendarNavigationButtons.tsx","../src/CalendarNavigationLabel.tsx","../src/CalendarTableDaysContainer.tsx","../src/CalendarTableDaysItem.tsx","../src/CalendarTableDaysItemDay.tsx","../src/CalendarTableWeeksContainer.tsx","../src/CalendarTableWeeksItem.tsx","../src/IconArrowLeft.tsx","../src/IconArrowLeftDouble.tsx","../src/IconArrowRight.tsx","../src/IconArrowRightDouble.tsx","../src/index.tsx"],"sourcesContent":["import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarNavigationProps extends DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> {}\n\nexport const CalendarNavigation = ({ children, ...props }: PropsWithChildren<CalendarNavigationProps>) => (\n <div className=\"utrecht-calendar__navigation\" {...props}>\n {children}\n </div>\n);\n","import { Button, ButtonProps } from '@utrecht/button-react';\nimport { clsx } from 'clsx';\nimport { PropsWithChildren } from 'react';\n\nexport interface CalendarButtonProps extends ButtonProps {}\n\nexport const CalendarButton = ({ children, className, ...props }: PropsWithChildren<CalendarButtonProps>) => (\n <Button appearance=\"subtle-button\" {...props} className={clsx('utrecht-calendar__button', className)}>\n {children}\n </Button>\n);\n","import { clsx } from 'clsx';\nimport { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarIconProps extends DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> {}\n\nexport const CalendarIcon = ({ children, ...props }: PropsWithChildren<CalendarIconProps>) => (\n <div className={clsx('utrecht-calendar__icon')} {...props}>\n {children}\n </div>\n);\n","import { MouseEventHandler, PropsWithChildren } from 'react';\nimport { CalendarButton, CalendarButtonProps } from './CalendarButton';\nimport { CalendarIcon } from './CalendarIcon';\ninterface CalendarNavigationButtonsProps extends CalendarButtonProps {\n onPreviousClick?: MouseEventHandler<HTMLButtonElement>;\n onNextClick?: MouseEventHandler<HTMLButtonElement>;\n previousIcon?: any;\n nextIcon?: any;\n previousTitle?: string;\n nextTitle?: string;\n}\n\nexport const CalendarNavigationButtons = ({\n onPreviousClick,\n onNextClick,\n previousIcon,\n nextIcon,\n children,\n ...props\n}: PropsWithChildren<CalendarNavigationButtonsProps>) => (\n <div className=\"utrecht-calendar__navigation-buttons\">\n <CalendarButton onClick={onPreviousClick} {...props}>\n <CalendarIcon>{previousIcon}</CalendarIcon>\n </CalendarButton>\n {children}\n <CalendarButton onClick={onNextClick} {...props}>\n <CalendarIcon>{nextIcon}</CalendarIcon>\n </CalendarButton>\n </div>\n);\n","import { PropsWithChildren, TimeHTMLAttributes } from 'react';\n\ntype CalendarNavigationLabelProps = TimeHTMLAttributes<HTMLTimeElement>;\n\nexport const CalendarNavigationLabel = ({ children, ...props }: PropsWithChildren<CalendarNavigationLabelProps>) => (\n <time className=\"utrecht-calendar__navigation-label\" {...props}>\n {children}\n </time>\n);\n","import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarTableDaysContainerProps\n extends DetailedHTMLProps<HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement> {}\n\nexport const CalendarTableDaysContainer = ({\n children,\n ...props\n}: PropsWithChildren<CalendarTableDaysContainerProps>) => (\n <tbody {...props} className=\"utrecht-calendar__table-days-container\">\n {children}\n </tbody>\n);\n","import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren } from 'react';\n\nexport interface CalendarTableDaysItemProps\n extends DetailedHTMLProps<HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement> {}\n\nexport const CalendarTableDaysItem = ({ children, ...props }: PropsWithChildren<CalendarTableDaysItemProps>) => (\n <tr {...props}>{children}</tr>\n);\n","import clsx from 'clsx';\nimport { PropsWithChildren } from 'react';\nimport { CalendarButton, CalendarButtonProps } from './CalendarButton';\nexport interface CalendarTableDaysItemDayProps extends CalendarButtonProps {\n day: string;\n dayOutOfTheMonth?: boolean;\n isToday: boolean;\n emphasis?: boolean;\n selected?: boolean;\n disabled?: boolean;\n}\n\nexport const CalendarTableDaysItemDay = ({\n day,\n dayOutOfTheMonth,\n isToday,\n emphasis,\n selected,\n disabled,\n ...props\n}: PropsWithChildren<CalendarTableDaysItemDayProps>) => (\n <td>\n <CalendarButton\n className={clsx(\n 'utrecht-calendar__table-days-item-day',\n { 'utrecht-calendar__table-days-item-day--out-of-the-month': dayOutOfTheMonth },\n { 'utrecht-calendar__table-days-item-day--is-today': isToday },\n { 'utrecht-calendar__table-days-item-day--emphasis': emphasis },\n { 'utrecht-calendar__table-days-item-day--selected': selected },\n )}\n disabled={disabled}\n {...props}\n >\n {day}\n </CalendarButton>\n </td>\n);\n","import { PropsWithChildren } from 'react';\n\nexport const CalendarTableWeeksContainer = ({ children }: PropsWithChildren) => (\n <thead className=\"utrecht-calendar__table-weeks-container\">\n <tr className=\"utrecht-calendar__table-weeks-container-content\">{children}</tr>\n </thead>\n);\n","import { DetailedHTMLProps, PropsWithChildren, ThHTMLAttributes } from 'react';\n\nexport interface CalendarTableWeeksItemProps\n extends DetailedHTMLProps<ThHTMLAttributes<HTMLTableCellElement>, HTMLTableCellElement> {}\n\nexport const CalendarTableWeeksItem = ({ children, ...props }: PropsWithChildren<CalendarTableWeeksItemProps>) => (\n <th {...props} className=\"utrecht-calendar__table-weeks-item\">\n {children}\n </th>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowLeft = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg width=\"100%\" height=\"100%\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M15.41 16.59 10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowLeftDouble = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg width=\"100%\" height=\"100%\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M17.59 18 19 16.59 14.42 12 19 7.41 17.59 6l-6 6 6 6Z\" fill=\"currentColor\" />\n <path d=\"m11 18 1.41-1.41L7.83 12l4.58-4.59L11 6l-6 6 6 6Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowRight = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg width=\"100%\" height=\"100%\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41Z\" fill=\"currentColor\" />\n </svg>\n);\n","import { SVGProps } from 'react';\ninterface SVGRProps {\n title?: string;\n titleId?: string;\n}\n\nexport const IconArrowRightDouble = ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => (\n <svg fill=\"none\" width=\"100%\" height=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" aria-labelledby={titleId} {...props}>\n {title ? <title id={titleId}>{title}</title> : null}\n <path d=\"M6.41 6 5 7.41 9.58 12 5 16.59 6.41 18l6-6-6-6Z\" fill=\"currentColor\" />\n <path d=\"m13 6-1.41 1.41L16.17 12l-4.58 4.59L13 18l6-6-6-6Z\" fill=\"currentColor\" />\n </svg>\n);\n","import {\n addMonths,\n addWeeks,\n addYears,\n eachDayOfInterval,\n endOfDay,\n endOfWeek,\n format,\n formatISO,\n getYear,\n isAfter,\n isBefore,\n isSameDay,\n isSameMonth,\n Locale,\n parseISO,\n setMonth,\n setYear,\n startOfDay,\n startOfMonth,\n startOfWeek,\n} from 'date-fns';\nimport { enUS } from 'date-fns/locale';\nimport chunk from 'lodash-es/chunk';\nimport { useState } from 'react';\nimport { CalendarNavigation } from './CalendarNavigation';\nimport { CalendarNavigationButtons } from './CalendarNavigationButtons';\nimport { CalendarNavigationLabel } from './CalendarNavigationLabel';\nimport { CalendarTableDaysContainer } from './CalendarTableDaysContainer';\nimport { CalendarTableDaysItem } from './CalendarTableDaysItem';\nimport { CalendarTableDaysItemDay } from './CalendarTableDaysItemDay';\nimport { CalendarTableWeeksContainer } from './CalendarTableWeeksContainer';\nimport { CalendarTableWeeksItem } from './CalendarTableWeeksItem';\nimport { IconArrowLeft } from './IconArrowLeft';\nimport { IconArrowLeftDouble } from './IconArrowLeftDouble';\nimport { IconArrowRight } from './IconArrowRight';\nimport { IconArrowRightDouble } from './IconArrowRightDouble';\n\nfunction createCalendar(today: Date): Date[] {\n const start = startOfWeek(startOfMonth(today), {\n weekStartsOn: 1 /* Monday */,\n });\n const end = endOfWeek(addWeeks(start, 5), {\n weekStartsOn: 1 /* Monday */,\n });\n return eachDayOfInterval({ start, end });\n}\n\nexport type Events = {\n date: string;\n emphasis?: boolean;\n selected?: boolean;\n disabled?: boolean;\n};\n\nexport interface CalendarProps {\n /**\n * `onCalendarClick` It's a callback function that returns the selected date, triggered when you click on the day\n *\n * */\n onCalendarClick: (date: string) => void;\n /**\n * `events` An array of event objects that contain some properties that allow you to change the calendar day style base on your value\n * `{date?: Date; emphasis?: boolean; selected?: boolean; disabled?: boolean;}`\n *\n * */\n events?: Events[];\n /**\n * `currentDate` The default value is `new Date()`, but you can provide a different date\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\n * */\n currentDate?: Date;\n /**\n * `locale` to change the calendar language by using 'date-fns/locale'\n * `import { nl, enUS } from 'date-fns/locale';`\n * */\n locale?: Locale;\n previousYearButtonTitle?: string;\n nextYearButtonTitle?: string;\n previousMonthButtonTitle?: string;\n nextMonthButtonTitle?: string;\n minDate?: Date;\n maxDate?: Date;\n}\n\n/**\n * Calendar Component\n * powered by date-fns, so that make it easy to use the `date-fns` date functions & locale\n * */\n\nexport const Calendar = ({\n onCalendarClick,\n events,\n currentDate,\n locale = enUS,\n previousYearButtonTitle = 'Previous year',\n nextYearButtonTitle = 'Next year',\n previousMonthButtonTitle = 'Previous month',\n nextMonthButtonTitle = 'Next month',\n minDate,\n maxDate,\n}: CalendarProps) => {\n const [visibleMonth, setVisibleMonth] = useState(currentDate || new Date());\n const [selectedDate, setSelectedDate] = useState(currentDate);\n const calendar = createCalendar(visibleMonth);\n const start = startOfWeek(visibleMonth, { weekStartsOn: 1 });\n const end = endOfWeek(visibleMonth, { weekStartsOn: 1 });\n\n const currentWeek = eachDayOfInterval({ start, end }).map((day) => day);\n const chunksWeeks = chunk(calendar, calendar.length / 6);\n\n const weeks = chunksWeeks.map((week) =>\n week.map((date) => {\n const currentEvent =\n events && events.length > 0 && events.find((e) => isSameDay(endOfDay(parseISO(e.date)), date));\n if (currentEvent) {\n return {\n date,\n emphasis: currentEvent.emphasis,\n selected: currentEvent.selected,\n disabled: currentEvent.disabled,\n };\n } else {\n return {\n date,\n emphasis: false,\n selected: false,\n disabled: false,\n };\n }\n }),\n );\n\n return (\n <div className=\"utrecht-calendar\">\n <CalendarNavigation>\n <CalendarNavigationButtons\n previousIcon={<IconArrowLeftDouble title={previousYearButtonTitle} />}\n nextIcon={<IconArrowRightDouble title={nextYearButtonTitle} />}\n onPreviousClick={() => setVisibleMonth(setYear(visibleMonth, getYear(visibleMonth) - 1))}\n onNextClick={() => setVisibleMonth(addYears(visibleMonth, 1))}\n >\n <CalendarNavigationButtons\n previousIcon={<IconArrowLeft title={previousMonthButtonTitle} />}\n nextIcon={<IconArrowRight title={nextMonthButtonTitle} />}\n onPreviousClick={() => setVisibleMonth(setMonth(visibleMonth, visibleMonth.getMonth() - 1))}\n onNextClick={() => setVisibleMonth(addMonths(visibleMonth, 1))}\n >\n <CalendarNavigationLabel dateTime={format(visibleMonth, 'yyyy-mm')}>\n {format(visibleMonth, 'LLLL Y', { locale })}\n </CalendarNavigationLabel>\n </CalendarNavigationButtons>\n </CalendarNavigationButtons>\n </CalendarNavigation>\n <table className=\"utrecht-calendar__table\" role=\"grid\">\n <CalendarTableWeeksContainer>\n {currentWeek &&\n currentWeek.length > 0 &&\n currentWeek.map((day, index) => (\n <CalendarTableWeeksItem scope=\"col\" abbr={format(day, 'EEEE', { locale })} key={index}>\n {format(day, 'EEEEEE', { locale })}\n </CalendarTableWeeksItem>\n ))}\n </CalendarTableWeeksContainer>\n <CalendarTableDaysContainer>\n {weeks &&\n weeks.length > 0 &&\n weeks.map((week, index) => (\n <CalendarTableDaysItem key={index}>\n {week.map((day, index) => {\n return (\n <CalendarTableDaysItemDay\n isToday={isSameDay(day.date, Date.now())}\n dayOutOfTheMonth={!isSameMonth(day.date, visibleMonth)}\n key={index}\n onClick={() => {\n setVisibleMonth(day.date);\n setSelectedDate(day.date);\n onCalendarClick(formatISO(day.date));\n }}\n aria-label={format(day.date, 'eeee dd LLLL Y', { locale })}\n day={day.date.getDate().toString()}\n emphasis={day.emphasis}\n selected={day.selected || (selectedDate && isSameDay(day.date, selectedDate))}\n disabled={\n day.disabled ||\n (minDate && isBefore(day.date, startOfDay(minDate))) ||\n (maxDate && isAfter(day.date, endOfDay(maxDate)))\n }\n />\n );\n })}\n </CalendarTableDaysItem>\n ))}\n </CalendarTableDaysContainer>\n </table>\n </div>\n );\n};\n"],"names":["CalendarNavigation","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","CalendarButton","Button","appearance","clsx","CalendarIcon","CalendarNavigationButtons","onPreviousClick","onNextClick","previousIcon","nextIcon","_jsxs","onClick","CalendarNavigationLabel","CalendarTableDaysContainer","CalendarTableDaysItem","CalendarTableDaysItemDay","day","dayOutOfTheMonth","isToday","emphasis","selected","disabled","CalendarTableWeeksContainer","CalendarTableWeeksItem","IconArrowLeft","title","titleId","width","height","fill","xmlns","id","d","IconArrowLeftDouble","IconArrowRight","IconArrowRightDouble","createCalendar","today","start","startOfWeek","startOfMonth","weekStartsOn","end","endOfWeek","addWeeks","eachDayOfInterval","Calendar","onCalendarClick","events","currentDate","_ref$locale","locale","enUS","_ref$previousYearButt","previousYearButtonTitle","_ref$nextYearButtonTi","nextYearButtonTitle","_ref$previousMonthBut","previousMonthButtonTitle","_ref$nextMonthButtonT","nextMonthButtonTitle","minDate","maxDate","_useState","useState","Date","_useState2","_slicedToArray","visibleMonth","setVisibleMonth","_useState3","_useState4","selectedDate","setSelectedDate","calendar","currentWeek","map","chunksWeeks","chunk","length","weeks","week","date","currentEvent","find","e","isSameDay","endOfDay","parseISO","setYear","getYear","addYears","setMonth","getMonth","addMonths","dateTime","format","role","index","scope","abbr","now","isSameMonth","formatISO","getDate","toString","isBefore","startOfDay","isAfter"],"mappings":"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"}