@televet/kibble-ui 5.0.20-alpha.hunter.13 → 5.0.20-alpha.hunter.14

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 (44) hide show
  1. package/dist/chunks/{calendar.component-BG7_Kwgn.js → calendar.component-DiFK2qG-.js} +2 -2
  2. package/dist/chunks/{calendar.component-BG7_Kwgn.js.map → calendar.component-DiFK2qG-.js.map} +1 -1
  3. package/dist/chunks/{calendar.component-IbKgfA9K.js → calendar.component-DqaK7xqM.js} +2 -2
  4. package/dist/chunks/{calendar.component-IbKgfA9K.js.map → calendar.component-DqaK7xqM.js.map} +1 -1
  5. package/dist/chunks/{datePicker.component-BmmxcyyX.js → datePicker.component-BJ8PkSh0.js} +2 -2
  6. package/dist/chunks/{datePicker.component-BmmxcyyX.js.map → datePicker.component-BJ8PkSh0.js.map} +1 -1
  7. package/dist/chunks/{datePicker.component-BuHqzdy_.js → datePicker.component-BPINMoli.js} +2 -2
  8. package/dist/chunks/{datePicker.component-BuHqzdy_.js.map → datePicker.component-BPINMoli.js.map} +1 -1
  9. package/dist/chunks/datePicker.provider-BhddQGE7.js +15 -0
  10. package/dist/chunks/{datePicker.provider-B7-cWUkv.js.map → datePicker.provider-BhddQGE7.js.map} +1 -1
  11. package/dist/chunks/{datePicker.provider-ElRAMKbN.js → datePicker.provider-DxghfYvo.js} +435 -437
  12. package/dist/chunks/{datePicker.provider-ElRAMKbN.js.map → datePicker.provider-DxghfYvo.js.map} +1 -1
  13. package/dist/chunks/{dateTimePicker.component-D6REMP8B.js → dateTimePicker.component-BBk_Wc9l.js} +3 -3
  14. package/dist/chunks/{dateTimePicker.component-D6REMP8B.js.map → dateTimePicker.component-BBk_Wc9l.js.map} +1 -1
  15. package/dist/chunks/{dateTimePicker.component-jBeVvk_j.js → dateTimePicker.component-lRvCK7HR.js} +2 -2
  16. package/dist/chunks/{dateTimePicker.component-jBeVvk_j.js.map → dateTimePicker.component-lRvCK7HR.js.map} +1 -1
  17. package/dist/chunks/timePicker.component-BzV14xog.js +230 -0
  18. package/dist/chunks/timePicker.component-BzV14xog.js.map +1 -0
  19. package/dist/chunks/timePicker.component-C3h9yYEV.js +2 -0
  20. package/dist/chunks/timePicker.component-C3h9yYEV.js.map +1 -0
  21. package/dist/chunks/{timeRange.component-7AbLiHJY.js → timeRange.component-CuTN-MVK.js} +2 -2
  22. package/dist/chunks/{timeRange.component-7AbLiHJY.js.map → timeRange.component-CuTN-MVK.js.map} +1 -1
  23. package/dist/chunks/{timeRange.component-Dy8zeWyN.js → timeRange.component-kBRssnlT.js} +2 -2
  24. package/dist/chunks/{timeRange.component-Dy8zeWyN.js.map → timeRange.component-kBRssnlT.js.map} +1 -1
  25. package/dist/cjs/components/Calendar/index.cjs +1 -1
  26. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  27. package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
  28. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  29. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  30. package/dist/cjs/components/index.cjs +1 -1
  31. package/dist/cjs/index.cjs +1 -1
  32. package/dist/esm/components/Calendar/index.js +1 -1
  33. package/dist/esm/components/DatePicker/index.js +2 -2
  34. package/dist/esm/components/DateTimePicker/index.js +1 -1
  35. package/dist/esm/components/TimePicker/index.js +1 -1
  36. package/dist/esm/components/TimeRange/index.js +1 -1
  37. package/dist/esm/components/index.js +6 -6
  38. package/dist/esm/index.js +6 -6
  39. package/package.json +3 -2
  40. package/dist/chunks/datePicker.provider-B7-cWUkv.js +0 -15
  41. package/dist/chunks/timePicker.component-BB9Pn9Aj.js +0 -2
  42. package/dist/chunks/timePicker.component-BB9Pn9Aj.js.map +0 -1
  43. package/dist/chunks/timePicker.component-DmeGL-fM.js +0 -230
  44. package/dist/chunks/timePicker.component-DmeGL-fM.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { j as a } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { B as i } from "./index-9BerxEcw.js";
3
- import { a as d, b as o, c as m } from "./datePicker.provider-ElRAMKbN.js";
3
+ import { a as d, b as o, c as m } from "./datePicker.provider-DxghfYvo.js";
4
4
  import { D as n } from "./divider.component-CFOh4Nw3.js";
5
5
  const p = ({
6
6
  ["data-testid"]: r = "kibble-calendar",
@@ -15,4 +15,4 @@ const p = ({
15
15
  export {
16
16
  p as C
17
17
  };
18
- //# sourceMappingURL=calendar.component-BG7_Kwgn.js.map
18
+ //# sourceMappingURL=calendar.component-DiFK2qG-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.component-BG7_Kwgn.js","sources":["../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW=\"340px\">\n <DatePickerProvider withDateRange={withDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["Calendar","dataTestId","withDateRange","withHeaderTriggers","rest","jsx","Box","jsxs","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":";;;;AAyBO,MAAMA,IAAW,CAAC;AAAA,EACvB,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,eAAAC,IAAgB;AAAA,EAChB,oBAAAC,IAAqB;AAAA,EACrB,GAAGC;AACL,MAEKC,gBAAAA,EAAAA,IAAAC,GAAA,EAAI,WAAU,YAAW,eAAaL,GAAY,MAAK,SACtD,UAAAM,gBAAAA,EAAA,KAACC,GAAmB,EAAA,eAAAN,GAA+B,GAAGE,GAAM,YAAU,IACpE,UAAA;AAAA,EAACC,gBAAAA,EAAAA,IAAAI,GAAA,EAAiB,cAAcN,EAAoB,CAAA;AAAA,wBACnDO,GAAQ,EAAA;AAAA,wBACRC,GAAmB,CAAA,CAAA;AAAA,EAAA,CACtB,EACF,CAAA;"}
1
+ {"version":3,"file":"calendar.component-DiFK2qG-.js","sources":["../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW=\"340px\">\n <DatePickerProvider withDateRange={withDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["Calendar","dataTestId","withDateRange","withHeaderTriggers","rest","jsx","Box","jsxs","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":";;;;AAyBO,MAAMA,IAAW,CAAC;AAAA,EACvB,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,eAAAC,IAAgB;AAAA,EAChB,oBAAAC,IAAqB;AAAA,EACrB,GAAGC;AACL,MAEKC,gBAAAA,EAAAA,IAAAC,GAAA,EAAI,WAAU,YAAW,eAAaL,GAAY,MAAK,SACtD,UAAAM,gBAAAA,EAAA,KAACC,GAAmB,EAAA,eAAAN,GAA+B,GAAGE,GAAM,YAAU,IACpE,UAAA;AAAA,EAACC,gBAAAA,EAAAA,IAAAI,GAAA,EAAiB,cAAcN,EAAoB,CAAA;AAAA,wBACnDO,GAAQ,EAAA;AAAA,wBACRC,GAAmB,CAAA,CAAA;AAAA,EAAA,CACtB,EACF,CAAA;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),n=require("./index-BQRnVsAg.js"),r=require("./datePicker.provider-B7-cWUkv.js"),d=require("./divider.component-BX3zyB7O.js"),x=({["data-testid"]:t="kibble-calendar",withDateRange:s=!0,withHeaderTriggers:i=!1,...a})=>e.jsxRuntimeExports.jsx(n.Box,{className:"Calendar","data-testid":t,maxW:"340px",children:e.jsxRuntimeExports.jsxs(r.DatePickerProvider,{withDateRange:s,...a,standalone:!0,children:[e.jsxRuntimeExports.jsx(r.DatePickerHeader,{withTriggers:i}),e.jsxRuntimeExports.jsx(d.Divider,{}),e.jsxRuntimeExports.jsx(r.DatePickerCalendar,{})]})});exports.Calendar=x;
2
- //# sourceMappingURL=calendar.component-IbKgfA9K.js.map
1
+ "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),n=require("./index-BQRnVsAg.js"),r=require("./datePicker.provider-BhddQGE7.js"),d=require("./divider.component-BX3zyB7O.js"),x=({["data-testid"]:t="kibble-calendar",withDateRange:s=!0,withHeaderTriggers:i=!1,...a})=>e.jsxRuntimeExports.jsx(n.Box,{className:"Calendar","data-testid":t,maxW:"340px",children:e.jsxRuntimeExports.jsxs(r.DatePickerProvider,{withDateRange:s,...a,standalone:!0,children:[e.jsxRuntimeExports.jsx(r.DatePickerHeader,{withTriggers:i}),e.jsxRuntimeExports.jsx(d.Divider,{}),e.jsxRuntimeExports.jsx(r.DatePickerCalendar,{})]})});exports.Calendar=x;
2
+ //# sourceMappingURL=calendar.component-DqaK7xqM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.component-IbKgfA9K.js","sources":["../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW=\"340px\">\n <DatePickerProvider withDateRange={withDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["Calendar","dataTestId","withDateRange","withHeaderTriggers","rest","jsx","Box","jsxs","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"uLAyBaA,EAAW,CAAC,CACvB,CAAC,eAAgBC,EAAa,kBAC9B,cAAAC,EAAgB,GAChB,mBAAAC,EAAqB,GACrB,GAAGC,CACL,IAEKC,EAAAA,kBAAAA,IAAAC,EAAAA,IAAA,CAAI,UAAU,WAAW,cAAaL,EAAY,KAAK,QACtD,SAAAM,EAAA,kBAAA,KAACC,EAAmB,mBAAA,CAAA,cAAAN,EAA+B,GAAGE,EAAM,WAAU,GACpE,SAAA,CAACC,EAAAA,kBAAAA,IAAAI,EAAA,iBAAA,CAAiB,aAAcN,CAAoB,CAAA,0BACnDO,EAAQ,QAAA,EAAA,0BACRC,EAAmB,mBAAA,CAAA,CAAA,CAAA,CAAA,CACtB,CACF,CAAA"}
1
+ {"version":3,"file":"calendar.component-DqaK7xqM.js","sources":["../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW=\"340px\">\n <DatePickerProvider withDateRange={withDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["Calendar","dataTestId","withDateRange","withHeaderTriggers","rest","jsx","Box","jsxs","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"uLAyBaA,EAAW,CAAC,CACvB,CAAC,eAAgBC,EAAa,kBAC9B,cAAAC,EAAgB,GAChB,mBAAAC,EAAqB,GACrB,GAAGC,CACL,IAEKC,EAAAA,kBAAAA,IAAAC,EAAAA,IAAA,CAAI,UAAU,WAAW,cAAaL,EAAY,KAAK,QACtD,SAAAM,EAAA,kBAAA,KAACC,EAAmB,mBAAA,CAAA,cAAAN,EAA+B,GAAGE,EAAM,WAAU,GACpE,SAAA,CAACC,EAAAA,kBAAAA,IAAAI,EAAA,iBAAA,CAAiB,aAAcN,CAAoB,CAAA,0BACnDO,EAAQ,QAAA,EAAA,0BACRC,EAAmB,mBAAA,CAAA,CAAA,CAAA,CAAA,CACtB,CACF,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
- import { i as R, u as y, U as k, F as c, x as W, t as D, a as B, b as T, c as A } from "./datePicker.provider-ElRAMKbN.js";
2
+ import { i as R, u as y, U as k, F as c, x as W, t as D, a as B, b as T, c as A } from "./datePicker.provider-DxghfYvo.js";
3
3
  import { W as P } from "./textInput.component-C7kdQ8hF.js";
4
4
  import { I as C } from "./icon.component-PV_nHBId.js";
5
5
  import { W as H } from "./text.component-DhuUgP3j.js";
@@ -163,4 +163,4 @@ const ge = (t) => {
163
163
  export {
164
164
  ge as D
165
165
  };
166
- //# sourceMappingURL=datePicker.component-BmmxcyyX.js.map
166
+ //# sourceMappingURL=datePicker.component-BJ8PkSh0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datePicker.component-BmmxcyyX.js","sources":["../../node_modules/date-fns/isBefore.js","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.utils.ts","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.component.tsx","../../src/components/DatePicker/components/DatePickerFooter/datePickerFooter.component.tsx","../../src/components/DatePicker/datePicker.component.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param date - The date that should be before the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is before the second date\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport function isBefore(date, dateToCompare) {\n return +toDate(date) < +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isBefore;\n","import isAfter from 'date-fns/isAfter';\nimport isBefore from 'date-fns/isBefore';\n\nexport const isDateAfterMin = (date: Date, minDate?: Date): boolean => (minDate ? isAfter(date, minDate) : true);\nexport const isDateBeforeMax = (date: Date, maxDate?: Date): boolean => (maxDate ? isBefore(date, maxDate) : true);\n","import React, { ChangeEvent } from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { TextInput, TextInputProps } from 'components/TextInput/textInput.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text } from 'components/Text/text.component';\nimport isDate from 'date-fns/isDate';\nimport { getInputValue, parseDate } from '@datepicker-react/hooks';\nimport { isDateAfterMin, isDateBeforeMax } from './datePickerInput.utils';\nimport { FocusedInput, today, useDatePickerContext } from '../../context/datePicker.context';\nimport format from 'date-fns/format';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\ninterface DatePickerInputProps {\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /** Data test id for the input.\n * @default kibble-datepicker-input\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerInput({\n inputProps,\n ['data-testid']: dataTestId = 'kibble-datepicker-input',\n}: DatePickerInputProps): React.JSX.Element {\n const {\n setFocusedInput,\n startDate,\n endDate,\n focusedInput,\n dateFormat,\n withDateRange,\n minDate,\n maxDate,\n onDateChange,\n onDateSelect,\n onClose,\n } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n const iconSize = inputProps?.size || 'md';\n\n const onKeyDown = (e: React.KeyboardEvent): void => {\n if (e.key === 'Enter' && open) {\n setOpen(false);\n onClose();\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onInputChange = (e: ChangeEvent<HTMLInputElement>): void => {\n const dateValue = e.target.value;\n const parsedDate = parseDate(dateValue, dateFormat, today);\n\n if (\n dateValue.length === dateFormat.length &&\n isDate(parsedDate) &&\n isDateAfterMin(parsedDate, minDate) &&\n isDateBeforeMax(parsedDate, maxDate)\n ) {\n onDateSelect(parsedDate);\n }\n\n // Trigger change when input is empty\n if (!dateValue.length && onDateChange) {\n onDateChange({ startDate: null, endDate: null });\n }\n };\n\n return (\n <HStack w=\"100%\" className=\"DatePicker__Trigger\" data-testid={dataTestId}>\n <TextInput\n className=\"DatePicker__Input--Start\"\n data-testid={`${dataTestId}-start`}\n autoComplete=\"off\"\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(startDate, dateFormat, '')}\n onChange={onInputChange}\n onKeyDown={onKeyDown}\n {...(!inputProps?.disabled && {\n onFocus: (): void => {\n setFocusedInput(FocusedInput.StartDate);\n },\n })}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.StartDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n {withDateRange && (\n <>\n <Text> - </Text>\n <TextInput\n className=\"DatePicker__Input--End\"\n data-testid={`${dataTestId}-end`}\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(endDate, dateFormat, '')}\n onChange={onInputChange}\n {...(!inputProps?.disabled && {\n onFocus: (): void => setFocusedInput(FocusedInput.EndDate),\n })}\n onKeyDown={onKeyDown}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.EndDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n </>\n )}\n </HStack>\n );\n}\n","import React, { useCallback } from 'react';\nimport { Button } from 'components/Button/button.component';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { DateRange } from '../../datePicker.types';\nimport { useDatePickerContext } from '../../context/datePicker.context';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\nexport interface DatePickerFooterProps {\n /** Text to display in the submit button.\n * @default Apply\n */\n buttonText?: string;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: ({ startDate, endDate }: DateRange) => void;\n /** If true, the reset button will be hidden. */\n hideResetButton?: boolean;\n /** Data test id for the footer.\n * @default kibble-datepicker-footer\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerFooter({\n buttonText = 'Apply',\n onSubmit,\n hideResetButton,\n}: DatePickerFooterProps): React.JSX.Element {\n const { startDate, endDate, clearDates, standalone } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n\n const handleSubmit = useCallback((): void => {\n if (!standalone) {\n setOpen(false);\n }\n\n if (onSubmit) {\n onSubmit({ startDate, endDate });\n }\n }, [standalone, setOpen, onSubmit, startDate, endDate]);\n\n return (\n <HStack\n w=\"100%\"\n justify={hideResetButton ? 'end' : 'space-between'}\n align=\"center\"\n borderTop=\"1px\"\n borderColor=\"border.default\"\n px={3}\n py={2}\n >\n {!hideResetButton && (\n <Button size=\"sm\" variant=\"ghostNeutral\" onClick={() => clearDates({ open })}>\n Clear Dates\n </Button>\n )}\n <Button size=\"sm\" onClick={handleSubmit}>\n {buttonText}\n </Button>\n </HStack>\n );\n}\n","import React from 'react';\nimport { DateProps } from './datePicker.types';\nimport { TextInputProps } from 'components/TextInput/textInput.component';\nimport { Placement } from 'shared/types/placement';\nimport { DatePickerProvider } from './context/datePicker.provider';\nimport { DatePickerInput } from './components/DatePickerInput/datePickerInput.component';\nimport { DatePickerFooter, DatePickerFooterProps } from './components/DatePickerFooter/datePickerFooter.component';\nimport { DatePickerHeader } from './components/DatePickerHeader/datePickerHeader.component';\nimport { DatePickerCalendar } from './components/DatePickerCalendar/datePickerCalendar.component';\nimport { Popover as CPopover } from '@chakra-ui/react/popover';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { popoverRecipe } from 'components/Popover/popover.recipe';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { Divider } from 'components/Divider';\n\nexport interface DatePickerProps extends DateProps {\n /** Props to customize the calendar footer. Only applicable when `withDateRange` is true. */\n footerProps?: DatePickerFooterProps;\n /**\n * Hides the calendar footer with the submit button. Only applicable when `withDateRange` is true.\n * @default false\n */\n hideFooter?: boolean;\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /**\n * Placement of the calendar popover\n * @default bottom\n */\n placement?: Placement;\n /**\n * If true, the date picker will be rendered in a portal.\n * @default true\n */\n portalled?: boolean;\n /**\n * If true, the date picker will render two input fields that control both the start and end date for a range selection.\n * @default false\n */\n withDateRange?: boolean;\n /** Data test id for the date picker.\n * @default kibble-datepicker\n */\n 'data-testid'?: string;\n}\n\nexport const DatePicker = (props: DatePickerProps): React.JSX.Element => {\n const {\n footerProps,\n hideFooter = false,\n inputProps,\n portalled = true,\n withDateRange = false,\n ['data-testid']: dataTestId = 'kibble-datepicker',\n } = props;\n const { contentRef } = usePortalContentRef();\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n\n return (\n <DatePickerProvider {...props}>\n <CPopover.Trigger w=\"100%\">\n <DatePickerInput inputProps={{ ...inputProps, readOnly: true }} />\n </CPopover.Trigger>\n <Portal container={contentRef || undefined} disabled={!portalled}>\n <CPopover.Positioner className=\"DatePicker\" data-testid={dataTestId}>\n <CPopover.Content\n className=\"DatePicker__Content\"\n data-testid={`${dataTestId}-content`}\n css={{ ...styles.content, minW: '340px' }}\n >\n <CPopover.Body css={{ '--popover-padding': 0 }}>\n <DatePickerHeader />\n <Divider />\n <DatePickerCalendar />\n {withDateRange && !hideFooter && <DatePickerFooter {...footerProps} />}\n </CPopover.Body>\n </CPopover.Content>\n </CPopover.Positioner>\n </Portal>\n </DatePickerProvider>\n );\n};\n"],"names":["isBefore","date","dateToCompare","toDate","isDateAfterMin","minDate","isAfter","isDateBeforeMax","maxDate","DatePickerInput","inputProps","dataTestId","setFocusedInput","startDate","endDate","focusedInput","dateFormat","withDateRange","onDateChange","onDateSelect","onClose","useDatePickerContext","open","setOpen","usePopoverContext","iconSize","onKeyDown","e","onInputChange","dateValue","parsedDate","parseDate","today","isDate","HStack","jsx","TextInput","Flex","FocusedInput","Icon","getInputValue","format","jsxs","Fragment","Text","DatePickerFooter","buttonText","onSubmit","hideResetButton","clearDates","standalone","handleSubmit","useCallback","Button","DatePicker","props","footerProps","hideFooter","portalled","contentRef","usePortalContentRef","styles","useSlotRecipe","popoverRecipe","DatePickerProvider","CPopover.Trigger","Portal","CPopover.Positioner","CPopover.Content","CPopover.Body","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"datePicker.component-BJ8PkSh0.js","sources":["../../node_modules/date-fns/isBefore.js","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.utils.ts","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.component.tsx","../../src/components/DatePicker/components/DatePickerFooter/datePickerFooter.component.tsx","../../src/components/DatePicker/datePicker.component.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param date - The date that should be before the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is before the second date\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport function isBefore(date, dateToCompare) {\n return +toDate(date) < +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isBefore;\n","import isAfter from 'date-fns/isAfter';\nimport isBefore from 'date-fns/isBefore';\n\nexport const isDateAfterMin = (date: Date, minDate?: Date): boolean => (minDate ? isAfter(date, minDate) : true);\nexport const isDateBeforeMax = (date: Date, maxDate?: Date): boolean => (maxDate ? isBefore(date, maxDate) : true);\n","import React, { ChangeEvent } from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { TextInput, TextInputProps } from 'components/TextInput/textInput.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text } from 'components/Text/text.component';\nimport isDate from 'date-fns/isDate';\nimport { getInputValue, parseDate } from '@datepicker-react/hooks';\nimport { isDateAfterMin, isDateBeforeMax } from './datePickerInput.utils';\nimport { FocusedInput, today, useDatePickerContext } from '../../context/datePicker.context';\nimport format from 'date-fns/format';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\ninterface DatePickerInputProps {\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /** Data test id for the input.\n * @default kibble-datepicker-input\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerInput({\n inputProps,\n ['data-testid']: dataTestId = 'kibble-datepicker-input',\n}: DatePickerInputProps): React.JSX.Element {\n const {\n setFocusedInput,\n startDate,\n endDate,\n focusedInput,\n dateFormat,\n withDateRange,\n minDate,\n maxDate,\n onDateChange,\n onDateSelect,\n onClose,\n } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n const iconSize = inputProps?.size || 'md';\n\n const onKeyDown = (e: React.KeyboardEvent): void => {\n if (e.key === 'Enter' && open) {\n setOpen(false);\n onClose();\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onInputChange = (e: ChangeEvent<HTMLInputElement>): void => {\n const dateValue = e.target.value;\n const parsedDate = parseDate(dateValue, dateFormat, today);\n\n if (\n dateValue.length === dateFormat.length &&\n isDate(parsedDate) &&\n isDateAfterMin(parsedDate, minDate) &&\n isDateBeforeMax(parsedDate, maxDate)\n ) {\n onDateSelect(parsedDate);\n }\n\n // Trigger change when input is empty\n if (!dateValue.length && onDateChange) {\n onDateChange({ startDate: null, endDate: null });\n }\n };\n\n return (\n <HStack w=\"100%\" className=\"DatePicker__Trigger\" data-testid={dataTestId}>\n <TextInput\n className=\"DatePicker__Input--Start\"\n data-testid={`${dataTestId}-start`}\n autoComplete=\"off\"\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(startDate, dateFormat, '')}\n onChange={onInputChange}\n onKeyDown={onKeyDown}\n {...(!inputProps?.disabled && {\n onFocus: (): void => {\n setFocusedInput(FocusedInput.StartDate);\n },\n })}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.StartDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n {withDateRange && (\n <>\n <Text> - </Text>\n <TextInput\n className=\"DatePicker__Input--End\"\n data-testid={`${dataTestId}-end`}\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(endDate, dateFormat, '')}\n onChange={onInputChange}\n {...(!inputProps?.disabled && {\n onFocus: (): void => setFocusedInput(FocusedInput.EndDate),\n })}\n onKeyDown={onKeyDown}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.EndDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n </>\n )}\n </HStack>\n );\n}\n","import React, { useCallback } from 'react';\nimport { Button } from 'components/Button/button.component';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { DateRange } from '../../datePicker.types';\nimport { useDatePickerContext } from '../../context/datePicker.context';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\nexport interface DatePickerFooterProps {\n /** Text to display in the submit button.\n * @default Apply\n */\n buttonText?: string;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: ({ startDate, endDate }: DateRange) => void;\n /** If true, the reset button will be hidden. */\n hideResetButton?: boolean;\n /** Data test id for the footer.\n * @default kibble-datepicker-footer\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerFooter({\n buttonText = 'Apply',\n onSubmit,\n hideResetButton,\n}: DatePickerFooterProps): React.JSX.Element {\n const { startDate, endDate, clearDates, standalone } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n\n const handleSubmit = useCallback((): void => {\n if (!standalone) {\n setOpen(false);\n }\n\n if (onSubmit) {\n onSubmit({ startDate, endDate });\n }\n }, [standalone, setOpen, onSubmit, startDate, endDate]);\n\n return (\n <HStack\n w=\"100%\"\n justify={hideResetButton ? 'end' : 'space-between'}\n align=\"center\"\n borderTop=\"1px\"\n borderColor=\"border.default\"\n px={3}\n py={2}\n >\n {!hideResetButton && (\n <Button size=\"sm\" variant=\"ghostNeutral\" onClick={() => clearDates({ open })}>\n Clear Dates\n </Button>\n )}\n <Button size=\"sm\" onClick={handleSubmit}>\n {buttonText}\n </Button>\n </HStack>\n );\n}\n","import React from 'react';\nimport { DateProps } from './datePicker.types';\nimport { TextInputProps } from 'components/TextInput/textInput.component';\nimport { Placement } from 'shared/types/placement';\nimport { DatePickerProvider } from './context/datePicker.provider';\nimport { DatePickerInput } from './components/DatePickerInput/datePickerInput.component';\nimport { DatePickerFooter, DatePickerFooterProps } from './components/DatePickerFooter/datePickerFooter.component';\nimport { DatePickerHeader } from './components/DatePickerHeader/datePickerHeader.component';\nimport { DatePickerCalendar } from './components/DatePickerCalendar/datePickerCalendar.component';\nimport { Popover as CPopover } from '@chakra-ui/react/popover';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { popoverRecipe } from 'components/Popover/popover.recipe';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { Divider } from 'components/Divider';\n\nexport interface DatePickerProps extends DateProps {\n /** Props to customize the calendar footer. Only applicable when `withDateRange` is true. */\n footerProps?: DatePickerFooterProps;\n /**\n * Hides the calendar footer with the submit button. Only applicable when `withDateRange` is true.\n * @default false\n */\n hideFooter?: boolean;\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /**\n * Placement of the calendar popover\n * @default bottom\n */\n placement?: Placement;\n /**\n * If true, the date picker will be rendered in a portal.\n * @default true\n */\n portalled?: boolean;\n /**\n * If true, the date picker will render two input fields that control both the start and end date for a range selection.\n * @default false\n */\n withDateRange?: boolean;\n /** Data test id for the date picker.\n * @default kibble-datepicker\n */\n 'data-testid'?: string;\n}\n\nexport const DatePicker = (props: DatePickerProps): React.JSX.Element => {\n const {\n footerProps,\n hideFooter = false,\n inputProps,\n portalled = true,\n withDateRange = false,\n ['data-testid']: dataTestId = 'kibble-datepicker',\n } = props;\n const { contentRef } = usePortalContentRef();\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n\n return (\n <DatePickerProvider {...props}>\n <CPopover.Trigger w=\"100%\">\n <DatePickerInput inputProps={{ ...inputProps, readOnly: true }} />\n </CPopover.Trigger>\n <Portal container={contentRef || undefined} disabled={!portalled}>\n <CPopover.Positioner className=\"DatePicker\" data-testid={dataTestId}>\n <CPopover.Content\n className=\"DatePicker__Content\"\n data-testid={`${dataTestId}-content`}\n css={{ ...styles.content, minW: '340px' }}\n >\n <CPopover.Body css={{ '--popover-padding': 0 }}>\n <DatePickerHeader />\n <Divider />\n <DatePickerCalendar />\n {withDateRange && !hideFooter && <DatePickerFooter {...footerProps} />}\n </CPopover.Body>\n </CPopover.Content>\n </CPopover.Positioner>\n </Portal>\n </DatePickerProvider>\n );\n};\n"],"names":["isBefore","date","dateToCompare","toDate","isDateAfterMin","minDate","isAfter","isDateBeforeMax","maxDate","DatePickerInput","inputProps","dataTestId","setFocusedInput","startDate","endDate","focusedInput","dateFormat","withDateRange","onDateChange","onDateSelect","onClose","useDatePickerContext","open","setOpen","usePopoverContext","iconSize","onKeyDown","e","onInputChange","dateValue","parsedDate","parseDate","today","isDate","HStack","jsx","TextInput","Flex","FocusedInput","Icon","getInputValue","format","jsxs","Fragment","Text","DatePickerFooter","buttonText","onSubmit","hideResetButton","clearDates","standalone","handleSubmit","useCallback","Button","DatePicker","props","footerProps","hideFooter","portalled","contentRef","usePortalContentRef","styles","useSlotRecipe","popoverRecipe","DatePickerProvider","CPopover.Trigger","Portal","CPopover.Positioner","CPopover.Content","CPopover.Body","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),n=require("./datePicker.provider-B7-cWUkv.js"),k=require("./textInput.component-DzUKTy1w.js"),g=require("./icon.component-B1hr5lLa.js"),S=require("./text.component-BDDz5KQP.js"),l=require("./format-CK7Imh-5.js"),v=require("./popover-root-provider-CZDbUJ2K.js"),q=require("./h-stack-D4MnHHRc.js"),P=require("./flex-BOU6tYUd.js"),y=require("react"),C=require("./button.component-DjdgBXDC.js"),w=require("./popover.recipe-CtptsJg6.js"),z=require("./usePortalContentRef-CTrvBQ7I.js"),N=require("./divider.component-BX3zyB7O.js"),T=require("./create-slot-recipe-context-HXE1VazG.js"),B=require("./index-Ts8g8jZd.js"),m=require("./popover-C7aj8Iwj.js");function W(t,r){return+l.toDate(t)<+l.toDate(r)}const A=(t,r)=>r?n.isAfter(t,r):!0,H=(t,r)=>r?W(t,r):!0;function O({inputProps:t,["data-testid"]:r="kibble-datepicker-input"}){const{setFocusedInput:o,startDate:a,endDate:i,focusedInput:c,dateFormat:s,withDateRange:u,minDate:d,maxDate:x,onDateChange:R,onDateSelect:I,onClose:F}=n.useDatePickerContext(),{open:_,setOpen:b}=v.usePopoverContext(),f=t?.size||"md",h=p=>{p.key==="Enter"&&_&&(b(!1),F(),p.preventDefault(),p.stopPropagation())},E=p=>{const D=p.target.value,j=n.xt(D,s,n.today);D.length===s.length&&l.isDate(j)&&A(j,d)&&H(j,x)&&I(j),!D.length&&R&&R({startDate:null,endDate:null})};return e.jsxRuntimeExports.jsxs(q.HStack,{w:"100%",className:"DatePicker__Trigger","data-testid":r,children:[e.jsxRuntimeExports.jsx(k.WrappedTextInput,{className:"DatePicker__Input--Start","data-testid":`${r}-start`,autoComplete:"off",rightElement:e.jsxRuntimeExports.jsx(P.Flex,{...!t?.disabled&&{onClick:()=>o(n.FocusedInput.StartDate)},h:"100%",align:"center",children:e.jsxRuntimeExports.jsx(g.Icon,{name:"calendarDate",size:f})}),value:n.Ue(a,s,""),onChange:E,onKeyDown:h,...!t?.disabled&&{onFocus:()=>{o(n.FocusedInput.StartDate)}},placeholder:l.format(n.today,s).toString(),...c===n.FocusedInput.StartDate&&{"data-focus":!0},...t}),u&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(S.WrappedText,{children:" - "}),e.jsxRuntimeExports.jsx(k.WrappedTextInput,{className:"DatePicker__Input--End","data-testid":`${r}-end`,rightElement:e.jsxRuntimeExports.jsx(P.Flex,{...!t?.disabled&&{onClick:()=>o(n.FocusedInput.StartDate)},h:"100%",align:"center",children:e.jsxRuntimeExports.jsx(g.Icon,{name:"calendarDate",size:f})}),value:n.Ue(i,s,""),onChange:E,...!t?.disabled&&{onFocus:()=>o(n.FocusedInput.EndDate)},onKeyDown:h,placeholder:l.format(n.today,s).toString(),...c===n.FocusedInput.EndDate&&{"data-focus":!0},...t})]})]})}function $({buttonText:t="Apply",onSubmit:r,hideResetButton:o}){const{startDate:a,endDate:i,clearDates:c,standalone:s}=n.useDatePickerContext(),{open:u,setOpen:d}=v.usePopoverContext(),x=y.useCallback(()=>{s||d(!1),r&&r({startDate:a,endDate:i})},[s,d,r,a,i]);return e.jsxRuntimeExports.jsxs(q.HStack,{w:"100%",justify:o?"end":"space-between",align:"center",borderTop:"1px",borderColor:"border.default",px:3,py:2,children:[!o&&e.jsxRuntimeExports.jsx(C.Button,{size:"sm",variant:"ghostNeutral",onClick:()=>c({open:u}),children:"Clear Dates"}),e.jsxRuntimeExports.jsx(C.Button,{size:"sm",onClick:x,children:t})]})}const M=t=>{const{footerProps:r,hideFooter:o=!1,inputProps:a,portalled:i=!0,withDateRange:c=!1,["data-testid"]:s="kibble-datepicker"}=t,{contentRef:u}=z.usePortalContentRef(),x=T.useSlotRecipe({recipe:w.popoverRecipe})();return e.jsxRuntimeExports.jsxs(n.DatePickerProvider,{...t,children:[e.jsxRuntimeExports.jsx(m.PopoverTrigger,{w:"100%",children:e.jsxRuntimeExports.jsx(O,{inputProps:{...a,readOnly:!0}})}),e.jsxRuntimeExports.jsx(B.Portal,{container:u||void 0,disabled:!i,children:e.jsxRuntimeExports.jsx(m.PopoverPositioner,{className:"DatePicker","data-testid":s,children:e.jsxRuntimeExports.jsx(m.PopoverContent,{className:"DatePicker__Content","data-testid":`${s}-content`,css:{...x.content,minW:"340px"},children:e.jsxRuntimeExports.jsxs(m.PopoverBody,{css:{"--popover-padding":0},children:[e.jsxRuntimeExports.jsx(n.DatePickerHeader,{}),e.jsxRuntimeExports.jsx(N.Divider,{}),e.jsxRuntimeExports.jsx(n.DatePickerCalendar,{}),c&&!o&&e.jsxRuntimeExports.jsx($,{...r})]})})})})]})};exports.DatePicker=M;
2
- //# sourceMappingURL=datePicker.component-BuHqzdy_.js.map
1
+ "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),n=require("./datePicker.provider-BhddQGE7.js"),k=require("./textInput.component-DzUKTy1w.js"),g=require("./icon.component-B1hr5lLa.js"),S=require("./text.component-BDDz5KQP.js"),l=require("./format-CK7Imh-5.js"),v=require("./popover-root-provider-CZDbUJ2K.js"),q=require("./h-stack-D4MnHHRc.js"),P=require("./flex-BOU6tYUd.js"),y=require("react"),C=require("./button.component-DjdgBXDC.js"),w=require("./popover.recipe-CtptsJg6.js"),z=require("./usePortalContentRef-CTrvBQ7I.js"),N=require("./divider.component-BX3zyB7O.js"),T=require("./create-slot-recipe-context-HXE1VazG.js"),B=require("./index-Ts8g8jZd.js"),m=require("./popover-C7aj8Iwj.js");function W(t,r){return+l.toDate(t)<+l.toDate(r)}const A=(t,r)=>r?n.isAfter(t,r):!0,H=(t,r)=>r?W(t,r):!0;function O({inputProps:t,["data-testid"]:r="kibble-datepicker-input"}){const{setFocusedInput:o,startDate:a,endDate:i,focusedInput:c,dateFormat:s,withDateRange:u,minDate:d,maxDate:x,onDateChange:R,onDateSelect:I,onClose:F}=n.useDatePickerContext(),{open:_,setOpen:b}=v.usePopoverContext(),f=t?.size||"md",h=p=>{p.key==="Enter"&&_&&(b(!1),F(),p.preventDefault(),p.stopPropagation())},E=p=>{const D=p.target.value,j=n.xt(D,s,n.today);D.length===s.length&&l.isDate(j)&&A(j,d)&&H(j,x)&&I(j),!D.length&&R&&R({startDate:null,endDate:null})};return e.jsxRuntimeExports.jsxs(q.HStack,{w:"100%",className:"DatePicker__Trigger","data-testid":r,children:[e.jsxRuntimeExports.jsx(k.WrappedTextInput,{className:"DatePicker__Input--Start","data-testid":`${r}-start`,autoComplete:"off",rightElement:e.jsxRuntimeExports.jsx(P.Flex,{...!t?.disabled&&{onClick:()=>o(n.FocusedInput.StartDate)},h:"100%",align:"center",children:e.jsxRuntimeExports.jsx(g.Icon,{name:"calendarDate",size:f})}),value:n.Ue(a,s,""),onChange:E,onKeyDown:h,...!t?.disabled&&{onFocus:()=>{o(n.FocusedInput.StartDate)}},placeholder:l.format(n.today,s).toString(),...c===n.FocusedInput.StartDate&&{"data-focus":!0},...t}),u&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(S.WrappedText,{children:" - "}),e.jsxRuntimeExports.jsx(k.WrappedTextInput,{className:"DatePicker__Input--End","data-testid":`${r}-end`,rightElement:e.jsxRuntimeExports.jsx(P.Flex,{...!t?.disabled&&{onClick:()=>o(n.FocusedInput.StartDate)},h:"100%",align:"center",children:e.jsxRuntimeExports.jsx(g.Icon,{name:"calendarDate",size:f})}),value:n.Ue(i,s,""),onChange:E,...!t?.disabled&&{onFocus:()=>o(n.FocusedInput.EndDate)},onKeyDown:h,placeholder:l.format(n.today,s).toString(),...c===n.FocusedInput.EndDate&&{"data-focus":!0},...t})]})]})}function $({buttonText:t="Apply",onSubmit:r,hideResetButton:o}){const{startDate:a,endDate:i,clearDates:c,standalone:s}=n.useDatePickerContext(),{open:u,setOpen:d}=v.usePopoverContext(),x=y.useCallback(()=>{s||d(!1),r&&r({startDate:a,endDate:i})},[s,d,r,a,i]);return e.jsxRuntimeExports.jsxs(q.HStack,{w:"100%",justify:o?"end":"space-between",align:"center",borderTop:"1px",borderColor:"border.default",px:3,py:2,children:[!o&&e.jsxRuntimeExports.jsx(C.Button,{size:"sm",variant:"ghostNeutral",onClick:()=>c({open:u}),children:"Clear Dates"}),e.jsxRuntimeExports.jsx(C.Button,{size:"sm",onClick:x,children:t})]})}const M=t=>{const{footerProps:r,hideFooter:o=!1,inputProps:a,portalled:i=!0,withDateRange:c=!1,["data-testid"]:s="kibble-datepicker"}=t,{contentRef:u}=z.usePortalContentRef(),x=T.useSlotRecipe({recipe:w.popoverRecipe})();return e.jsxRuntimeExports.jsxs(n.DatePickerProvider,{...t,children:[e.jsxRuntimeExports.jsx(m.PopoverTrigger,{w:"100%",children:e.jsxRuntimeExports.jsx(O,{inputProps:{...a,readOnly:!0}})}),e.jsxRuntimeExports.jsx(B.Portal,{container:u||void 0,disabled:!i,children:e.jsxRuntimeExports.jsx(m.PopoverPositioner,{className:"DatePicker","data-testid":s,children:e.jsxRuntimeExports.jsx(m.PopoverContent,{className:"DatePicker__Content","data-testid":`${s}-content`,css:{...x.content,minW:"340px"},children:e.jsxRuntimeExports.jsxs(m.PopoverBody,{css:{"--popover-padding":0},children:[e.jsxRuntimeExports.jsx(n.DatePickerHeader,{}),e.jsxRuntimeExports.jsx(N.Divider,{}),e.jsxRuntimeExports.jsx(n.DatePickerCalendar,{}),c&&!o&&e.jsxRuntimeExports.jsx($,{...r})]})})})})]})};exports.DatePicker=M;
2
+ //# sourceMappingURL=datePicker.component-BPINMoli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datePicker.component-BuHqzdy_.js","sources":["../../node_modules/date-fns/isBefore.js","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.utils.ts","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.component.tsx","../../src/components/DatePicker/components/DatePickerFooter/datePickerFooter.component.tsx","../../src/components/DatePicker/datePicker.component.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param date - The date that should be before the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is before the second date\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport function isBefore(date, dateToCompare) {\n return +toDate(date) < +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isBefore;\n","import isAfter from 'date-fns/isAfter';\nimport isBefore from 'date-fns/isBefore';\n\nexport const isDateAfterMin = (date: Date, minDate?: Date): boolean => (minDate ? isAfter(date, minDate) : true);\nexport const isDateBeforeMax = (date: Date, maxDate?: Date): boolean => (maxDate ? isBefore(date, maxDate) : true);\n","import React, { ChangeEvent } from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { TextInput, TextInputProps } from 'components/TextInput/textInput.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text } from 'components/Text/text.component';\nimport isDate from 'date-fns/isDate';\nimport { getInputValue, parseDate } from '@datepicker-react/hooks';\nimport { isDateAfterMin, isDateBeforeMax } from './datePickerInput.utils';\nimport { FocusedInput, today, useDatePickerContext } from '../../context/datePicker.context';\nimport format from 'date-fns/format';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\ninterface DatePickerInputProps {\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /** Data test id for the input.\n * @default kibble-datepicker-input\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerInput({\n inputProps,\n ['data-testid']: dataTestId = 'kibble-datepicker-input',\n}: DatePickerInputProps): React.JSX.Element {\n const {\n setFocusedInput,\n startDate,\n endDate,\n focusedInput,\n dateFormat,\n withDateRange,\n minDate,\n maxDate,\n onDateChange,\n onDateSelect,\n onClose,\n } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n const iconSize = inputProps?.size || 'md';\n\n const onKeyDown = (e: React.KeyboardEvent): void => {\n if (e.key === 'Enter' && open) {\n setOpen(false);\n onClose();\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onInputChange = (e: ChangeEvent<HTMLInputElement>): void => {\n const dateValue = e.target.value;\n const parsedDate = parseDate(dateValue, dateFormat, today);\n\n if (\n dateValue.length === dateFormat.length &&\n isDate(parsedDate) &&\n isDateAfterMin(parsedDate, minDate) &&\n isDateBeforeMax(parsedDate, maxDate)\n ) {\n onDateSelect(parsedDate);\n }\n\n // Trigger change when input is empty\n if (!dateValue.length && onDateChange) {\n onDateChange({ startDate: null, endDate: null });\n }\n };\n\n return (\n <HStack w=\"100%\" className=\"DatePicker__Trigger\" data-testid={dataTestId}>\n <TextInput\n className=\"DatePicker__Input--Start\"\n data-testid={`${dataTestId}-start`}\n autoComplete=\"off\"\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(startDate, dateFormat, '')}\n onChange={onInputChange}\n onKeyDown={onKeyDown}\n {...(!inputProps?.disabled && {\n onFocus: (): void => {\n setFocusedInput(FocusedInput.StartDate);\n },\n })}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.StartDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n {withDateRange && (\n <>\n <Text> - </Text>\n <TextInput\n className=\"DatePicker__Input--End\"\n data-testid={`${dataTestId}-end`}\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(endDate, dateFormat, '')}\n onChange={onInputChange}\n {...(!inputProps?.disabled && {\n onFocus: (): void => setFocusedInput(FocusedInput.EndDate),\n })}\n onKeyDown={onKeyDown}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.EndDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n </>\n )}\n </HStack>\n );\n}\n","import React, { useCallback } from 'react';\nimport { Button } from 'components/Button/button.component';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { DateRange } from '../../datePicker.types';\nimport { useDatePickerContext } from '../../context/datePicker.context';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\nexport interface DatePickerFooterProps {\n /** Text to display in the submit button.\n * @default Apply\n */\n buttonText?: string;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: ({ startDate, endDate }: DateRange) => void;\n /** If true, the reset button will be hidden. */\n hideResetButton?: boolean;\n /** Data test id for the footer.\n * @default kibble-datepicker-footer\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerFooter({\n buttonText = 'Apply',\n onSubmit,\n hideResetButton,\n}: DatePickerFooterProps): React.JSX.Element {\n const { startDate, endDate, clearDates, standalone } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n\n const handleSubmit = useCallback((): void => {\n if (!standalone) {\n setOpen(false);\n }\n\n if (onSubmit) {\n onSubmit({ startDate, endDate });\n }\n }, [standalone, setOpen, onSubmit, startDate, endDate]);\n\n return (\n <HStack\n w=\"100%\"\n justify={hideResetButton ? 'end' : 'space-between'}\n align=\"center\"\n borderTop=\"1px\"\n borderColor=\"border.default\"\n px={3}\n py={2}\n >\n {!hideResetButton && (\n <Button size=\"sm\" variant=\"ghostNeutral\" onClick={() => clearDates({ open })}>\n Clear Dates\n </Button>\n )}\n <Button size=\"sm\" onClick={handleSubmit}>\n {buttonText}\n </Button>\n </HStack>\n );\n}\n","import React from 'react';\nimport { DateProps } from './datePicker.types';\nimport { TextInputProps } from 'components/TextInput/textInput.component';\nimport { Placement } from 'shared/types/placement';\nimport { DatePickerProvider } from './context/datePicker.provider';\nimport { DatePickerInput } from './components/DatePickerInput/datePickerInput.component';\nimport { DatePickerFooter, DatePickerFooterProps } from './components/DatePickerFooter/datePickerFooter.component';\nimport { DatePickerHeader } from './components/DatePickerHeader/datePickerHeader.component';\nimport { DatePickerCalendar } from './components/DatePickerCalendar/datePickerCalendar.component';\nimport { Popover as CPopover } from '@chakra-ui/react/popover';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { popoverRecipe } from 'components/Popover/popover.recipe';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { Divider } from 'components/Divider';\n\nexport interface DatePickerProps extends DateProps {\n /** Props to customize the calendar footer. Only applicable when `withDateRange` is true. */\n footerProps?: DatePickerFooterProps;\n /**\n * Hides the calendar footer with the submit button. Only applicable when `withDateRange` is true.\n * @default false\n */\n hideFooter?: boolean;\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /**\n * Placement of the calendar popover\n * @default bottom\n */\n placement?: Placement;\n /**\n * If true, the date picker will be rendered in a portal.\n * @default true\n */\n portalled?: boolean;\n /**\n * If true, the date picker will render two input fields that control both the start and end date for a range selection.\n * @default false\n */\n withDateRange?: boolean;\n /** Data test id for the date picker.\n * @default kibble-datepicker\n */\n 'data-testid'?: string;\n}\n\nexport const DatePicker = (props: DatePickerProps): React.JSX.Element => {\n const {\n footerProps,\n hideFooter = false,\n inputProps,\n portalled = true,\n withDateRange = false,\n ['data-testid']: dataTestId = 'kibble-datepicker',\n } = props;\n const { contentRef } = usePortalContentRef();\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n\n return (\n <DatePickerProvider {...props}>\n <CPopover.Trigger w=\"100%\">\n <DatePickerInput inputProps={{ ...inputProps, readOnly: true }} />\n </CPopover.Trigger>\n <Portal container={contentRef || undefined} disabled={!portalled}>\n <CPopover.Positioner className=\"DatePicker\" data-testid={dataTestId}>\n <CPopover.Content\n className=\"DatePicker__Content\"\n data-testid={`${dataTestId}-content`}\n css={{ ...styles.content, minW: '340px' }}\n >\n <CPopover.Body css={{ '--popover-padding': 0 }}>\n <DatePickerHeader />\n <Divider />\n <DatePickerCalendar />\n {withDateRange && !hideFooter && <DatePickerFooter {...footerProps} />}\n </CPopover.Body>\n </CPopover.Content>\n </CPopover.Positioner>\n </Portal>\n </DatePickerProvider>\n );\n};\n"],"names":["isBefore","date","dateToCompare","toDate","isDateAfterMin","minDate","isAfter","isDateBeforeMax","maxDate","DatePickerInput","inputProps","dataTestId","setFocusedInput","startDate","endDate","focusedInput","dateFormat","withDateRange","onDateChange","onDateSelect","onClose","useDatePickerContext","open","setOpen","usePopoverContext","iconSize","onKeyDown","e","onInputChange","dateValue","parsedDate","parseDate","today","isDate","HStack","jsx","TextInput","Flex","FocusedInput","Icon","getInputValue","format","jsxs","Fragment","Text","DatePickerFooter","buttonText","onSubmit","hideResetButton","clearDates","standalone","handleSubmit","useCallback","Button","DatePicker","props","footerProps","hideFooter","portalled","contentRef","usePortalContentRef","styles","useSlotRecipe","popoverRecipe","DatePickerProvider","CPopover.Trigger","Portal","CPopover.Positioner","CPopover.Content","CPopover.Body","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"datePicker.component-BPINMoli.js","sources":["../../node_modules/date-fns/isBefore.js","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.utils.ts","../../src/components/DatePicker/components/DatePickerInput/datePickerInput.component.tsx","../../src/components/DatePicker/components/DatePickerFooter/datePickerFooter.component.tsx","../../src/components/DatePicker/datePicker.component.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param date - The date that should be before the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is before the second date\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport function isBefore(date, dateToCompare) {\n return +toDate(date) < +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isBefore;\n","import isAfter from 'date-fns/isAfter';\nimport isBefore from 'date-fns/isBefore';\n\nexport const isDateAfterMin = (date: Date, minDate?: Date): boolean => (minDate ? isAfter(date, minDate) : true);\nexport const isDateBeforeMax = (date: Date, maxDate?: Date): boolean => (maxDate ? isBefore(date, maxDate) : true);\n","import React, { ChangeEvent } from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { TextInput, TextInputProps } from 'components/TextInput/textInput.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text } from 'components/Text/text.component';\nimport isDate from 'date-fns/isDate';\nimport { getInputValue, parseDate } from '@datepicker-react/hooks';\nimport { isDateAfterMin, isDateBeforeMax } from './datePickerInput.utils';\nimport { FocusedInput, today, useDatePickerContext } from '../../context/datePicker.context';\nimport format from 'date-fns/format';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\ninterface DatePickerInputProps {\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /** Data test id for the input.\n * @default kibble-datepicker-input\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerInput({\n inputProps,\n ['data-testid']: dataTestId = 'kibble-datepicker-input',\n}: DatePickerInputProps): React.JSX.Element {\n const {\n setFocusedInput,\n startDate,\n endDate,\n focusedInput,\n dateFormat,\n withDateRange,\n minDate,\n maxDate,\n onDateChange,\n onDateSelect,\n onClose,\n } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n const iconSize = inputProps?.size || 'md';\n\n const onKeyDown = (e: React.KeyboardEvent): void => {\n if (e.key === 'Enter' && open) {\n setOpen(false);\n onClose();\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onInputChange = (e: ChangeEvent<HTMLInputElement>): void => {\n const dateValue = e.target.value;\n const parsedDate = parseDate(dateValue, dateFormat, today);\n\n if (\n dateValue.length === dateFormat.length &&\n isDate(parsedDate) &&\n isDateAfterMin(parsedDate, minDate) &&\n isDateBeforeMax(parsedDate, maxDate)\n ) {\n onDateSelect(parsedDate);\n }\n\n // Trigger change when input is empty\n if (!dateValue.length && onDateChange) {\n onDateChange({ startDate: null, endDate: null });\n }\n };\n\n return (\n <HStack w=\"100%\" className=\"DatePicker__Trigger\" data-testid={dataTestId}>\n <TextInput\n className=\"DatePicker__Input--Start\"\n data-testid={`${dataTestId}-start`}\n autoComplete=\"off\"\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(startDate, dateFormat, '')}\n onChange={onInputChange}\n onKeyDown={onKeyDown}\n {...(!inputProps?.disabled && {\n onFocus: (): void => {\n setFocusedInput(FocusedInput.StartDate);\n },\n })}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.StartDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n {withDateRange && (\n <>\n <Text> - </Text>\n <TextInput\n className=\"DatePicker__Input--End\"\n data-testid={`${dataTestId}-end`}\n rightElement={\n <Flex\n {...(!inputProps?.disabled && {\n onClick: (): void => setFocusedInput(FocusedInput.StartDate),\n })}\n h=\"100%\"\n align=\"center\"\n >\n <Icon name=\"calendarDate\" size={iconSize} />\n </Flex>\n }\n value={getInputValue(endDate, dateFormat, '')}\n onChange={onInputChange}\n {...(!inputProps?.disabled && {\n onFocus: (): void => setFocusedInput(FocusedInput.EndDate),\n })}\n onKeyDown={onKeyDown}\n placeholder={format(today, dateFormat).toString()}\n {...(focusedInput === FocusedInput.EndDate && {\n 'data-focus': true,\n })}\n {...inputProps}\n />\n </>\n )}\n </HStack>\n );\n}\n","import React, { useCallback } from 'react';\nimport { Button } from 'components/Button/button.component';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { DateRange } from '../../datePicker.types';\nimport { useDatePickerContext } from '../../context/datePicker.context';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\n\nexport interface DatePickerFooterProps {\n /** Text to display in the submit button.\n * @default Apply\n */\n buttonText?: string;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: ({ startDate, endDate }: DateRange) => void;\n /** If true, the reset button will be hidden. */\n hideResetButton?: boolean;\n /** Data test id for the footer.\n * @default kibble-datepicker-footer\n */\n 'data-testid'?: string;\n}\n\nexport function DatePickerFooter({\n buttonText = 'Apply',\n onSubmit,\n hideResetButton,\n}: DatePickerFooterProps): React.JSX.Element {\n const { startDate, endDate, clearDates, standalone } = useDatePickerContext();\n const { open, setOpen } = usePopoverContext();\n\n const handleSubmit = useCallback((): void => {\n if (!standalone) {\n setOpen(false);\n }\n\n if (onSubmit) {\n onSubmit({ startDate, endDate });\n }\n }, [standalone, setOpen, onSubmit, startDate, endDate]);\n\n return (\n <HStack\n w=\"100%\"\n justify={hideResetButton ? 'end' : 'space-between'}\n align=\"center\"\n borderTop=\"1px\"\n borderColor=\"border.default\"\n px={3}\n py={2}\n >\n {!hideResetButton && (\n <Button size=\"sm\" variant=\"ghostNeutral\" onClick={() => clearDates({ open })}>\n Clear Dates\n </Button>\n )}\n <Button size=\"sm\" onClick={handleSubmit}>\n {buttonText}\n </Button>\n </HStack>\n );\n}\n","import React from 'react';\nimport { DateProps } from './datePicker.types';\nimport { TextInputProps } from 'components/TextInput/textInput.component';\nimport { Placement } from 'shared/types/placement';\nimport { DatePickerProvider } from './context/datePicker.provider';\nimport { DatePickerInput } from './components/DatePickerInput/datePickerInput.component';\nimport { DatePickerFooter, DatePickerFooterProps } from './components/DatePickerFooter/datePickerFooter.component';\nimport { DatePickerHeader } from './components/DatePickerHeader/datePickerHeader.component';\nimport { DatePickerCalendar } from './components/DatePickerCalendar/datePickerCalendar.component';\nimport { Popover as CPopover } from '@chakra-ui/react/popover';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { popoverRecipe } from 'components/Popover/popover.recipe';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { Divider } from 'components/Divider';\n\nexport interface DatePickerProps extends DateProps {\n /** Props to customize the calendar footer. Only applicable when `withDateRange` is true. */\n footerProps?: DatePickerFooterProps;\n /**\n * Hides the calendar footer with the submit button. Only applicable when `withDateRange` is true.\n * @default false\n */\n hideFooter?: boolean;\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /**\n * Placement of the calendar popover\n * @default bottom\n */\n placement?: Placement;\n /**\n * If true, the date picker will be rendered in a portal.\n * @default true\n */\n portalled?: boolean;\n /**\n * If true, the date picker will render two input fields that control both the start and end date for a range selection.\n * @default false\n */\n withDateRange?: boolean;\n /** Data test id for the date picker.\n * @default kibble-datepicker\n */\n 'data-testid'?: string;\n}\n\nexport const DatePicker = (props: DatePickerProps): React.JSX.Element => {\n const {\n footerProps,\n hideFooter = false,\n inputProps,\n portalled = true,\n withDateRange = false,\n ['data-testid']: dataTestId = 'kibble-datepicker',\n } = props;\n const { contentRef } = usePortalContentRef();\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n\n return (\n <DatePickerProvider {...props}>\n <CPopover.Trigger w=\"100%\">\n <DatePickerInput inputProps={{ ...inputProps, readOnly: true }} />\n </CPopover.Trigger>\n <Portal container={contentRef || undefined} disabled={!portalled}>\n <CPopover.Positioner className=\"DatePicker\" data-testid={dataTestId}>\n <CPopover.Content\n className=\"DatePicker__Content\"\n data-testid={`${dataTestId}-content`}\n css={{ ...styles.content, minW: '340px' }}\n >\n <CPopover.Body css={{ '--popover-padding': 0 }}>\n <DatePickerHeader />\n <Divider />\n <DatePickerCalendar />\n {withDateRange && !hideFooter && <DatePickerFooter {...footerProps} />}\n </CPopover.Body>\n </CPopover.Content>\n </CPopover.Positioner>\n </Portal>\n </DatePickerProvider>\n );\n};\n"],"names":["isBefore","date","dateToCompare","toDate","isDateAfterMin","minDate","isAfter","isDateBeforeMax","maxDate","DatePickerInput","inputProps","dataTestId","setFocusedInput","startDate","endDate","focusedInput","dateFormat","withDateRange","onDateChange","onDateSelect","onClose","useDatePickerContext","open","setOpen","usePopoverContext","iconSize","onKeyDown","e","onInputChange","dateValue","parsedDate","parseDate","today","isDate","HStack","jsx","TextInput","Flex","FocusedInput","Icon","getInputValue","format","jsxs","Fragment","Text","DatePickerFooter","buttonText","onSubmit","hideResetButton","clearDates","standalone","handleSubmit","useCallback","Button","DatePicker","props","footerProps","hideFooter","portalled","contentRef","usePortalContentRef","styles","useSlotRecipe","popoverRecipe","DatePickerProvider","CPopover.Trigger","Portal","CPopover.Positioner","CPopover.Content","CPopover.Body","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,15 @@
1
+ "use strict";const P=require("./jsx-runtime-BjDatQAs.js"),y=require("react"),je=require("./text.component-BDDz5KQP.js"),Yt=require("./index-BQRnVsAg.js"),Ae=require("./button.component-DjdgBXDC.js"),Ft=require("./config-jChwZPSv.js"),F=require("./format-CK7Imh-5.js"),qt=require("./isToday-BgNkHh5t.js"),Ht=require("./create-slot-recipe-context-HXE1VazG.js"),Fe=require("./grid-item-CH3dbZHL.js"),yt=require("./center-kk61ArhQ.js"),Lt=require("./popover-root-provider-CZDbUJ2K.js"),It=require("./flex-BOU6tYUd.js"),Je=require("./menu.component-DypBuCwv.js"),se=require("./isSymbol-BdGeV_e0.js"),Wt=require("./h-stack-D4MnHHRc.js"),jt=require("./popover-C7aj8Iwj.js");var Se={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function qe(e){return function(t){var n=t||{},r=n.width?String(n.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}var At={date:qe({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:qe({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:qe({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Qt={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function ye(e){return function(t,n){var r,a=n||{};if((a.context?String(a.context):"standalone")==="formatting"&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,i=a.width?String(a.width):o;r=e.formattingValues[i]||e.formattingValues[o]}else{var s=e.defaultWidth,u=a.width?String(a.width):e.defaultWidth;r=e.values[u]||e.values[s]}return r[e.argumentCallback?e.argumentCallback(t):t]}}function be(e){return function(t,n){var r=String(t),a=n||{},o=a.width,i=o&&e.matchPatterns[o]||e.matchPatterns[e.defaultMatchWidth],s=r.match(i);if(!s)return null;var u,l=s[0],h=o&&e.parsePatterns[o]||e.parsePatterns[e.defaultParseWidth];return u=Object.prototype.toString.call(h)==="[object Array]"?function(d,g){for(var c=0;c<d.length;c++)if(g(d[c]))return c}(h,function(d){return d.test(l)}):function(d,g){for(var c in d)if(d.hasOwnProperty(c)&&g(d[c]))return c}(h,function(d){return d.test(l)}),u=e.valueCallback?e.valueCallback(u):u,{value:u=a.valueCallback?a.valueCallback(u):u,rest:r.slice(l.length)}}}var ve,bt={code:"en-US",formatDistance:function(e,t,n){var r;return n=n||{},r=typeof Se[e]=="string"?Se[e]:t===1?Se[e].one:Se[e].other.replace("{{count}}",t),n.addSuffix?n.comparison>0?"in "+r:r+" ago":r},formatLong:At,formatRelative:function(e,t,n,r){return Qt[e]},localize:{ordinalNumber:function(e,t){var n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:ye({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:ye({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return Number(e)-1}}),month:ye({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:ye({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:ye({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(ve={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}},function(e,t){var n=String(e),r=t||{},a=n.match(ve.matchPattern);if(!a)return null;var o=a[0],i=n.match(ve.parsePattern);if(!i)return null;var s=ve.valueCallback?ve.valueCallback(i[0]):i[0];return{value:s=r.valueCallback?r.valueCallback(s):s,rest:n.slice(o.length)}}),era:be({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:be({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:be({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:be({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:be({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function M(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function T(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function p(e){T(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):(typeof e!="string"&&t!=="[object String]"||typeof console>"u"||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn(new Error().stack)),new Date(NaN))}function Gt(e,t){T(2,arguments);var n=p(e).getTime(),r=M(t);return new Date(n+r)}function vt(e,t){T(2,arguments);var n=M(t);return Gt(e,-n)}function _t(e,t){if(e==null)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in t=t||{})t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function Ze(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}}function et(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}}var pt={p:et,P:function(e,t){var n,r=e.match(/(P+)(p+)?/),a=r[1],o=r[2];if(!o)return Ze(e,t);switch(a){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;case"PPPP":default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",Ze(a,t)).replace("{{time}}",et(o,t))}};function tt(e){return e.getTime()%6e4}function Tt(e){var t=new Date(e.getTime()),n=Math.ceil(t.getTimezoneOffset());return t.setSeconds(0,0),6e4*n+(n>0?(6e4+tt(t))%6e4:tt(t))}var Xt=["D","DD"],zt=["YY","YYYY"];function xt(e){return Xt.indexOf(e)!==-1}function kt(e){return zt.indexOf(e)!==-1}function Ee(e){if(e==="YYYY")throw new RangeError("Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr");if(e==="YY")throw new RangeError("Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr");if(e==="D")throw new RangeError("Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr");if(e==="DD")throw new RangeError("Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr")}function ue(e,t){T(1,arguments);var n=t||{},r=n.locale,a=r&&r.options&&r.options.weekStartsOn,o=a==null?0:M(a),i=n.weekStartsOn==null?o:M(n.weekStartsOn);if(!(i>=0&&i<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var s=p(e),u=s.getUTCDay(),l=(u<i?7:0)+u-i;return s.setUTCDate(s.getUTCDate()-l),s.setUTCHours(0,0,0,0),s}function ze(e,t){T(1,arguments);var n=p(e,t),r=n.getUTCFullYear(),a=t||{},o=a.locale,i=o&&o.options&&o.options.firstWeekContainsDate,s=i==null?1:M(i),u=a.firstWeekContainsDate==null?s:M(a.firstWeekContainsDate);if(!(u>=1&&u<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=new Date(0);l.setUTCFullYear(r+1,0,u),l.setUTCHours(0,0,0,0);var h=ue(l,t),d=new Date(0);d.setUTCFullYear(r,0,u),d.setUTCHours(0,0,0,0);var g=ue(d,t);return n.getTime()>=h.getTime()?r+1:n.getTime()>=g.getTime()?r:r-1}function He(e,t,n){T(2,arguments);var r=n||{},a=r.locale,o=a&&a.options&&a.options.weekStartsOn,i=o==null?0:M(o),s=r.weekStartsOn==null?i:M(r.weekStartsOn);if(!(s>=0&&s<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var u=p(e),l=M(t),h=u.getUTCDay(),d=l%7,g=(d+7)%7,c=(g<s?7:0)+l-h;return u.setUTCDate(u.getUTCDate()+c),u}function ge(e){T(1,arguments);var t=1,n=p(e),r=n.getUTCDay(),a=(r<t?7:0)+r-t;return n.setUTCDate(n.getUTCDate()-a),n.setUTCHours(0,0,0,0),n}function Ct(e){T(1,arguments);var t=p(e),n=t.getUTCFullYear(),r=new Date(0);r.setUTCFullYear(n+1,0,4),r.setUTCHours(0,0,0,0);var a=ge(r),o=new Date(0);o.setUTCFullYear(n,0,4),o.setUTCHours(0,0,0,0);var i=ge(o);return t.getTime()>=a.getTime()?n+1:t.getTime()>=i.getTime()?n:n-1}function Vt(e){T(1,arguments);var t=Ct(e),n=new Date(0);n.setUTCFullYear(t,0,4),n.setUTCHours(0,0,0,0);var r=ge(n);return r}function Mt(e){T(1,arguments);var t=p(e),n=ge(t).getTime()-Vt(t).getTime();return Math.round(n/6048e5)+1}function $t(e,t){T(1,arguments);var n=t||{},r=n.locale,a=r&&r.options&&r.options.firstWeekContainsDate,o=a==null?1:M(a),i=n.firstWeekContainsDate==null?o:M(n.firstWeekContainsDate),s=ze(e,t),u=new Date(0);u.setUTCFullYear(s,0,i),u.setUTCHours(0,0,0,0);var l=ue(u,t);return l}function St(e,t){T(1,arguments);var n=p(e),r=ue(n,t).getTime()-$t(n,t).getTime();return Math.round(r/6048e5)+1}var nt=/^(1[0-2]|0?\d)/,Kt=/^(3[0-1]|[0-2]?\d)/,Jt=/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,rt=/^(5[0-3]|[0-4]?\d)/,Zt=/^(2[0-3]|[0-1]?\d)/,en=/^(2[0-4]|[0-1]?\d)/,tn=/^(1[0-1]|0?\d)/,nn=/^(1[0-2]|0?\d)/,rn=/^[0-5]?\d/,an=/^[0-5]?\d/,on=/^\d/,sn=/^\d{1,2}/,un=/^\d{1,3}/,cn=/^\d{1,4}/,dn=/^-?\d+/,ln=/^-?\d/,fn=/^-?\d{1,2}/,mn=/^-?\d{1,3}/,hn=/^-?\d{1,4}/,at=/^([+-])(\d{2})(\d{2})?|Z/,ot=/^([+-])(\d{2})(\d{2})|Z/,it=/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,st=/^([+-])(\d{2}):(\d{2})|Z/,ut=/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/;function U(e,t,n){var r=t.match(e);if(!r)return null;var a=parseInt(r[0],10);return{value:n?n(a):a,rest:t.slice(r[0].length)}}function Z(e,t){var n=t.match(e);return n?n[0]==="Z"?{value:0,rest:t.slice(1)}:{value:(n[1]==="+"?1:-1)*(36e5*(n[2]?parseInt(n[2],10):0)+6e4*(n[3]?parseInt(n[3],10):0)+1e3*(n[5]?parseInt(n[5],10):0)),rest:t.slice(n[0].length)}:null}function ct(e,t){return U(dn,e,t)}function B(e,t,n){switch(e){case 1:return U(on,t,n);case 2:return U(sn,t,n);case 3:return U(un,t,n);case 4:return U(cn,t,n);default:return U(new RegExp("^\\d{1,"+e+"}"),t,n)}}function dt(e,t,n){switch(e){case 1:return U(ln,t,n);case 2:return U(fn,t,n);case 3:return U(mn,t,n);case 4:return U(hn,t,n);default:return U(new RegExp("^-?\\d{1,"+e+"}"),t,n)}}function Le(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function lt(e,t){var n,r=t>0,a=r?t:1-t;if(a<=50)n=e||100;else{var o=a+50;n=e+100*Math.floor(o/100)-(e>=o%100?100:0)}return r?n:1-n}var gn=[31,28,31,30,31,30,31,31,30,31,30,31],wn=[31,29,31,30,31,30,31,31,30,31,30,31];function ft(e){return e%400==0||e%4==0&&e%100!=0}var Dn={G:{priority:140,parse:function(e,t,n,r){switch(t){case"G":case"GG":case"GGG":return n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"});case"GGGGG":return n.era(e,{width:"narrow"});case"GGGG":default:return n.era(e,{width:"wide"})||n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"})}},set:function(e,t,n,r){return t.era=n,e.setUTCFullYear(n,0,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["R","u","t","T"]},y:{priority:130,parse:function(e,t,n,r){var a=function(o){return{year:o,isTwoDigitYear:t==="yy"}};switch(t){case"y":return B(4,e,a);case"yo":return n.ordinalNumber(e,{unit:"year",valueCallback:a});default:return B(t.length,e,a)}},validate:function(e,t,n){return t.isTwoDigitYear||t.year>0},set:function(e,t,n,r){var a=e.getUTCFullYear();if(n.isTwoDigitYear){var o=lt(n.year,a);return e.setUTCFullYear(o,0,1),e.setUTCHours(0,0,0,0),e}var i="era"in t&&t.era!==1?1-n.year:n.year;return e.setUTCFullYear(i,0,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","u","w","I","i","e","c","t","T"]},Y:{priority:130,parse:function(e,t,n,r){var a=function(o){return{year:o,isTwoDigitYear:t==="YY"}};switch(t){case"Y":return B(4,e,a);case"Yo":return n.ordinalNumber(e,{unit:"year",valueCallback:a});default:return B(t.length,e,a)}},validate:function(e,t,n){return t.isTwoDigitYear||t.year>0},set:function(e,t,n,r){var a=ze(e,r);if(n.isTwoDigitYear){var o=lt(n.year,a);return e.setUTCFullYear(o,0,r.firstWeekContainsDate),e.setUTCHours(0,0,0,0),ue(e,r)}var i="era"in t&&t.era!==1?1-n.year:n.year;return e.setUTCFullYear(i,0,r.firstWeekContainsDate),e.setUTCHours(0,0,0,0),ue(e,r)},incompatibleTokens:["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:{priority:130,parse:function(e,t,n,r){return dt(t==="R"?4:t.length,e)},set:function(e,t,n,r){var a=new Date(0);return a.setUTCFullYear(n,0,4),a.setUTCHours(0,0,0,0),ge(a)},incompatibleTokens:["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:{priority:130,parse:function(e,t,n,r){return dt(t==="u"?4:t.length,e)},set:function(e,t,n,r){return e.setUTCFullYear(n,0,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["G","y","Y","R","w","I","i","e","c","t","T"]},Q:{priority:120,parse:function(e,t,n,r){switch(t){case"Q":case"QQ":return B(t.length,e);case"Qo":return n.ordinalNumber(e,{unit:"quarter"});case"QQQ":return n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return n.quarter(e,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(e,{width:"wide",context:"formatting"})||n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,n){return t>=1&&t<=4},set:function(e,t,n,r){return e.setUTCMonth(3*(n-1),1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:{priority:120,parse:function(e,t,n,r){switch(t){case"q":case"qq":return B(t.length,e);case"qo":return n.ordinalNumber(e,{unit:"quarter"});case"qqq":return n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return n.quarter(e,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(e,{width:"wide",context:"standalone"})||n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"})}},validate:function(e,t,n){return t>=1&&t<=4},set:function(e,t,n,r){return e.setUTCMonth(3*(n-1),1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:{priority:110,parse:function(e,t,n,r){var a=function(o){return o-1};switch(t){case"M":return U(nt,e,a);case"MM":return B(2,e,a);case"Mo":return n.ordinalNumber(e,{unit:"month",valueCallback:a});case"MMM":return n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return n.month(e,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(e,{width:"wide",context:"formatting"})||n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,n){return t>=0&&t<=11},set:function(e,t,n,r){return e.setUTCMonth(n,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]},L:{priority:110,parse:function(e,t,n,r){var a=function(o){return o-1};switch(t){case"L":return U(nt,e,a);case"LL":return B(2,e,a);case"Lo":return n.ordinalNumber(e,{unit:"month",valueCallback:a});case"LLL":return n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return n.month(e,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(e,{width:"wide",context:"standalone"})||n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"})}},validate:function(e,t,n){return t>=0&&t<=11},set:function(e,t,n,r){return e.setUTCMonth(n,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:{priority:100,parse:function(e,t,n,r){switch(t){case"w":return U(rt,e);case"wo":return n.ordinalNumber(e,{unit:"week"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=1&&t<=53},set:function(e,t,n,r){return ue(function(a,o,i){T(2,arguments);var s=p(a),u=M(o),l=St(s,i)-u;return s.setUTCDate(s.getUTCDate()-7*l),s}(e,n,r),r)},incompatibleTokens:["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:{priority:100,parse:function(e,t,n,r){switch(t){case"I":return U(rt,e);case"Io":return n.ordinalNumber(e,{unit:"week"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=1&&t<=53},set:function(e,t,n,r){return ge(function(a,o){T(2,arguments);var i=p(a),s=M(o),u=Mt(i)-s;return i.setUTCDate(i.getUTCDate()-7*u),i}(e,n,r),r)},incompatibleTokens:["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:{priority:90,parse:function(e,t,n,r){switch(t){case"d":return U(Kt,e);case"do":return n.ordinalNumber(e,{unit:"date"});default:return B(t.length,e)}},validate:function(e,t,n){var r=ft(e.getUTCFullYear()),a=e.getUTCMonth();return r?t>=1&&t<=wn[a]:t>=1&&t<=gn[a]},set:function(e,t,n,r){return e.setUTCDate(n),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:{priority:90,parse:function(e,t,n,r){switch(t){case"D":case"DD":return U(Jt,e);case"Do":return n.ordinalNumber(e,{unit:"date"});default:return B(t.length,e)}},validate:function(e,t,n){return ft(e.getUTCFullYear())?t>=1&&t<=366:t>=1&&t<=365},set:function(e,t,n,r){return e.setUTCMonth(0,n),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:{priority:90,parse:function(e,t,n,r){switch(t){case"E":case"EE":case"EEE":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return n.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"EEEE":default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,n){return t>=0&&t<=6},set:function(e,t,n,r){return(e=He(e,n,r)).setUTCHours(0,0,0,0),e},incompatibleTokens:["D","i","e","c","t","T"]},e:{priority:90,parse:function(e,t,n,r){var a=function(o){var i=7*Math.floor((o-1)/7);return(o+r.weekStartsOn+6)%7+i};switch(t){case"e":case"ee":return B(t.length,e,a);case"eo":return n.ordinalNumber(e,{unit:"day",valueCallback:a});case"eee":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"eeeee":return n.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"eeee":default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,n){return t>=0&&t<=6},set:function(e,t,n,r){return(e=He(e,n,r)).setUTCHours(0,0,0,0),e},incompatibleTokens:["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:{priority:90,parse:function(e,t,n,r){var a=function(o){var i=7*Math.floor((o-1)/7);return(o+r.weekStartsOn+6)%7+i};switch(t){case"c":case"cc":return B(t.length,e,a);case"co":return n.ordinalNumber(e,{unit:"day",valueCallback:a});case"ccc":return n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});case"ccccc":return n.day(e,{width:"narrow",context:"standalone"});case"cccccc":return n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});case"cccc":default:return n.day(e,{width:"wide",context:"standalone"})||n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"})}},validate:function(e,t,n){return t>=0&&t<=6},set:function(e,t,n,r){return(e=He(e,n,r)).setUTCHours(0,0,0,0),e},incompatibleTokens:["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:{priority:90,parse:function(e,t,n,r){var a=function(o){return o===0?7:o};switch(t){case"i":case"ii":return B(t.length,e);case"io":return n.ordinalNumber(e,{unit:"day"});case"iii":return n.day(e,{width:"abbreviated",context:"formatting",valueCallback:a})||n.day(e,{width:"short",context:"formatting",valueCallback:a})||n.day(e,{width:"narrow",context:"formatting",valueCallback:a});case"iiiii":return n.day(e,{width:"narrow",context:"formatting",valueCallback:a});case"iiiiii":return n.day(e,{width:"short",context:"formatting",valueCallback:a})||n.day(e,{width:"narrow",context:"formatting",valueCallback:a});case"iiii":default:return n.day(e,{width:"wide",context:"formatting",valueCallback:a})||n.day(e,{width:"abbreviated",context:"formatting",valueCallback:a})||n.day(e,{width:"short",context:"formatting",valueCallback:a})||n.day(e,{width:"narrow",context:"formatting",valueCallback:a})}},validate:function(e,t,n){return t>=1&&t<=7},set:function(e,t,n,r){return(e=function(a,o){T(2,arguments);var i=M(o);i%7==0&&(i-=7);var s=1,u=p(a),l=u.getUTCDay(),h=i%7,d=(h+7)%7,g=(d<s?7:0)+i-l;return u.setUTCDate(u.getUTCDate()+g),u}(e,n,r)).setUTCHours(0,0,0,0),e},incompatibleTokens:["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:{priority:80,parse:function(e,t,n,r){switch(t){case"a":case"aa":case"aaa":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return n.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}},set:function(e,t,n,r){return e.setUTCHours(Le(n),0,0,0),e},incompatibleTokens:["b","B","H","K","k","t","T"]},b:{priority:80,parse:function(e,t,n,r){switch(t){case"b":case"bb":case"bbb":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return n.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}},set:function(e,t,n,r){return e.setUTCHours(Le(n),0,0,0),e},incompatibleTokens:["a","B","H","K","k","t","T"]},B:{priority:80,parse:function(e,t,n,r){switch(t){case"B":case"BB":case"BBB":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return n.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}},set:function(e,t,n,r){return e.setUTCHours(Le(n),0,0,0),e},incompatibleTokens:["a","b","t","T"]},h:{priority:70,parse:function(e,t,n,r){switch(t){case"h":return U(nn,e);case"ho":return n.ordinalNumber(e,{unit:"hour"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=1&&t<=12},set:function(e,t,n,r){var a=e.getUTCHours()>=12;return a&&n<12?e.setUTCHours(n+12,0,0,0):a||n!==12?e.setUTCHours(n,0,0,0):e.setUTCHours(0,0,0,0),e},incompatibleTokens:["H","K","k","t","T"]},H:{priority:70,parse:function(e,t,n,r){switch(t){case"H":return U(Zt,e);case"Ho":return n.ordinalNumber(e,{unit:"hour"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=0&&t<=23},set:function(e,t,n,r){return e.setUTCHours(n,0,0,0),e},incompatibleTokens:["a","b","h","K","k","t","T"]},K:{priority:70,parse:function(e,t,n,r){switch(t){case"K":return U(tn,e);case"Ko":return n.ordinalNumber(e,{unit:"hour"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=0&&t<=11},set:function(e,t,n,r){return e.getUTCHours()>=12&&n<12?e.setUTCHours(n+12,0,0,0):e.setUTCHours(n,0,0,0),e},incompatibleTokens:["a","b","h","H","k","t","T"]},k:{priority:70,parse:function(e,t,n,r){switch(t){case"k":return U(en,e);case"ko":return n.ordinalNumber(e,{unit:"hour"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=1&&t<=24},set:function(e,t,n,r){var a=n<=24?n%24:n;return e.setUTCHours(a,0,0,0),e},incompatibleTokens:["a","b","h","H","K","t","T"]},m:{priority:60,parse:function(e,t,n,r){switch(t){case"m":return U(rn,e);case"mo":return n.ordinalNumber(e,{unit:"minute"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=0&&t<=59},set:function(e,t,n,r){return e.setUTCMinutes(n,0,0),e},incompatibleTokens:["t","T"]},s:{priority:50,parse:function(e,t,n,r){switch(t){case"s":return U(an,e);case"so":return n.ordinalNumber(e,{unit:"second"});default:return B(t.length,e)}},validate:function(e,t,n){return t>=0&&t<=59},set:function(e,t,n,r){return e.setUTCSeconds(n,0),e},incompatibleTokens:["t","T"]},S:{priority:30,parse:function(e,t,n,r){return B(t.length,e,function(a){return Math.floor(a*Math.pow(10,3-t.length))})},set:function(e,t,n,r){return e.setUTCMilliseconds(n),e},incompatibleTokens:["t","T"]},X:{priority:10,parse:function(e,t,n,r){switch(t){case"X":return Z(at,e);case"XX":return Z(ot,e);case"XXXX":return Z(it,e);case"XXXXX":return Z(ut,e);case"XXX":default:return Z(st,e)}},set:function(e,t,n,r){return t.timestampIsSet?e:new Date(e.getTime()-n)},incompatibleTokens:["t","T","x"]},x:{priority:10,parse:function(e,t,n,r){switch(t){case"x":return Z(at,e);case"xx":return Z(ot,e);case"xxxx":return Z(it,e);case"xxxxx":return Z(ut,e);case"xxx":default:return Z(st,e)}},set:function(e,t,n,r){return t.timestampIsSet?e:new Date(e.getTime()-n)},incompatibleTokens:["t","T","X"]},t:{priority:40,parse:function(e,t,n,r){return ct(e)},set:function(e,t,n,r){return[new Date(1e3*n),{timestampIsSet:!0}]},incompatibleTokens:"*"},T:{priority:20,parse:function(e,t,n,r){return ct(e)},set:function(e,t,n,r){return[new Date(n),{timestampIsSet:!0}]},incompatibleTokens:"*"}},yn=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,bn=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,vn=/^'([^]*?)'?$/,pn=/''/g,Tn=/\S/,xn=/[a-zA-Z]/;function kn(e,t,n,r){T(3,arguments);var a=String(e),o=String(t),i={},s=i.locale||bt;if(!s.match)throw new RangeError("locale must contain match property");var u=s.options&&s.options.firstWeekContainsDate,l=u==null?1:M(u),h=i.firstWeekContainsDate==null?l:M(i.firstWeekContainsDate);if(!(h>=1&&h<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var d=s.options&&s.options.weekStartsOn,g=d==null?0:M(d),c=i.weekStartsOn==null?g:M(i.weekStartsOn);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(o==="")return a===""?p(n):new Date(NaN);var b,x={firstWeekContainsDate:h,weekStartsOn:c,locale:s},E=[{priority:10,set:Cn,index:0}],D=o.match(bn).map(function(I){var X=I[0];return X==="p"||X==="P"?(0,pt[X])(I,s.formatLong,x):I}).join("").match(yn),w=[];for(b=0;b<D.length;b++){var v=D[b];!i.useAdditionalWeekYearTokens&&kt(v)&&Ee(v),!i.useAdditionalDayOfYearTokens&&xt(v)&&Ee(v);var W=v[0],q=Dn[W];if(q){var j=q.incompatibleTokens;if(Array.isArray(j)){for(var C=void 0,Y=0;Y<w.length;Y++){var V=w[Y].token;if(j.indexOf(V)!==-1||V===W){C=w[Y];break}}if(C)throw new RangeError("The format string mustn't contain `".concat(C.fullToken,"` and `").concat(v,"` at the same time"))}else if(q.incompatibleTokens==="*"&&w.length)throw new RangeError("The format string mustn't contain `".concat(v,"` and any other token at the same time"));w.push({token:W,fullToken:v});var $=q.parse(a,v,s.match,x);if(!$)return new Date(NaN);E.push({priority:q.priority,set:q.set,validate:q.validate,value:$.value,index:E.length}),a=$.rest}else{if(W.match(xn))throw new RangeError("Format string contains an unescaped latin alphabet character `"+W+"`");if(v==="''"?v="'":W==="'"&&(v=Mn(v)),a.indexOf(v)!==0)return new Date(NaN);a=a.slice(v.length)}}if(a.length>0&&Tn.test(a))return new Date(NaN);var _=E.map(function(I){return I.priority}).sort(function(I,X){return X-I}).filter(function(I,X,De){return De.indexOf(I)===X}).map(function(I){return E.filter(function(X){return X.priority===I}).reverse()}).map(function(I){return I[0]}),A=p(n);if(isNaN(A))return new Date(NaN);var S=vt(A,Tt(A)),R={};for(b=0;b<_.length;b++){var Q=_[b];if(Q.validate&&!Q.validate(S,Q.value,x))return new Date(NaN);var ee=Q.set(S,R,Q.value,x);ee[0]?(S=ee[0],_t(R,ee[1])):S=ee}return S}function Cn(e,t){if(t.timestampIsSet)return e;var n=new Date(0);return n.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),n.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),n}function Mn(e){return e.match(vn)[1].replace(pn,"'")}function Sn(e){T(1,arguments);var t=p(e);return!isNaN(t)}function k(e,t){for(var n=e<0?"-":"",r=Math.abs(e).toString();r.length<t;)r="0"+r;return n+r}var En=function(e,t){var n=e.getUTCFullYear(),r=n>0?n:1-n;return k(t==="yy"?r%100:r,t.length)},Rn=function(e,t){var n=e.getUTCMonth();return t==="M"?String(n+1):k(n+1,2)},Un=function(e,t){return k(e.getUTCDate(),t.length)},Pn=function(e,t){return k(e.getUTCHours()%12||12,t.length)},Nn=function(e,t){return k(e.getUTCHours(),t.length)},On=function(e,t){return k(e.getUTCMinutes(),t.length)},Bn=function(e,t){return k(e.getUTCSeconds(),t.length)},Yn=function(e,t){var n=t.length,r=e.getUTCMilliseconds();return k(Math.floor(r*Math.pow(10,n-3)),t.length)},Fn="midnight",qn="noon",Hn="morning",Ln="afternoon",In="evening",Wn="night",jn={G:function(e,t,n){var r=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){var r=e.getUTCFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return En(e,t)},Y:function(e,t,n,r){var a=ze(e,r),o=a>0?a:1-a;return t==="YY"?k(o%100,2):t==="Yo"?n.ordinalNumber(o,{unit:"year"}):k(o,t.length)},R:function(e,t){return k(Ct(e),t.length)},u:function(e,t){return k(e.getUTCFullYear(),t.length)},Q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return k(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return k(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){var r=e.getUTCMonth();switch(t){case"M":case"MM":return Rn(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){var r=e.getUTCMonth();switch(t){case"L":return String(r+1);case"LL":return k(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){var a=St(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):k(a,t.length)},I:function(e,t,n){var r=Mt(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):k(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):Un(e,t)},D:function(e,t,n){var r=function(a){T(1,arguments);var o=p(a),i=o.getTime();o.setUTCMonth(0,1),o.setUTCHours(0,0,0,0);var s=o.getTime(),u=i-s;return Math.floor(u/864e5)+1}(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):k(r,t.length)},E:function(e,t,n){var r=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){var a=e.getUTCDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return k(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){var a=e.getUTCDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return k(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){var r=e.getUTCDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return k(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){var r,a=e.getUTCHours();switch(r=a===12?qn:a===0?Fn:a/12>=1?"pm":"am",t){case"b":case"bb":case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){var r,a=e.getUTCHours();switch(r=a>=17?In:a>=12?Ln:a>=4?Hn:Wn,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){var r=e.getUTCHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Pn(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Nn(e,t)},K:function(e,t,n){var r=e.getUTCHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):k(r,t.length)},k:function(e,t,n){var r=e.getUTCHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):k(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):On(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Bn(e,t)},S:function(e,t){return Yn(e,t)},X:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return ht(a);case"XXXX":case"XX":return oe(a);case"XXXXX":case"XXX":default:return oe(a,":")}},x:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return ht(a);case"xxxx":case"xx":return oe(a);case"xxxxx":case"xxx":default:return oe(a,":")}},O:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+mt(a,":");case"OOOO":default:return"GMT"+oe(a,":")}},z:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+mt(a,":");case"zzzz":default:return"GMT"+oe(a,":")}},t:function(e,t,n,r){var a=r._originalDate||e;return k(Math.floor(a.getTime()/1e3),t.length)},T:function(e,t,n,r){return k((r._originalDate||e).getTime(),t.length)}};function mt(e,t){var n=e>0?"-":"+",r=Math.abs(e),a=Math.floor(r/60),o=r%60;if(o===0)return n+String(a);var i=t;return n+String(a)+i+k(o,2)}function ht(e,t){return e%60==0?(e>0?"-":"+")+k(Math.abs(e)/60,2):oe(e,t)}function oe(e,t){var n=t||"",r=e>0?"-":"+",a=Math.abs(e);return r+k(Math.floor(a/60),2)+n+k(a%60,2)}var An=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Qn=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Gn=/^'([^]*?)'?$/,_n=/''/g,Xn=/[a-zA-Z]/;function we(e,t,n){T(2,arguments);var r=String(t),a={},o=a.locale||bt,i=o.options&&o.options.firstWeekContainsDate,s=i==null?1:M(i),u=a.firstWeekContainsDate==null?s:M(a.firstWeekContainsDate);if(!(u>=1&&u<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=o.options&&o.options.weekStartsOn,h=l==null?0:M(l),d=a.weekStartsOn==null?h:M(a.weekStartsOn);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!o.localize)throw new RangeError("locale must contain localize property");if(!o.formatLong)throw new RangeError("locale must contain formatLong property");var g=p(e);if(!Sn(g))throw new RangeError("Invalid time value");var c=Tt(g),b=vt(g,c),x={firstWeekContainsDate:u,weekStartsOn:d,locale:o,_originalDate:g},E=r.match(Qn).map(function(D){var w=D[0];return w==="p"||w==="P"?(0,pt[w])(D,o.formatLong,x):D}).join("").match(An).map(function(D){if(D==="''")return"'";var w=D[0];if(w==="'")return zn(D);var v=jn[w];if(v)return!a.useAdditionalWeekYearTokens&&kt(D)&&Ee(D),!a.useAdditionalDayOfYearTokens&&xt(D)&&Ee(D),v(b,D,o.localize,x);if(w.match(Xn))throw new RangeError("Format string contains an unescaped latin alphabet character `"+w+"`");return D}).join("");return E}function zn(e){return e.match(Gn)[1].replace(_n,"'")}/*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
+ ***************************************************************************** */function L(e,t){T(2,arguments);var n=p(e),r=M(t);return isNaN(r)?new Date(NaN):(r&&n.setDate(n.getDate()+r),n)}function ce(e,t){T(1,arguments);var n=e||{},r=p(n.start),a=p(n.end),o=a.getTime();if(!(r.getTime()<=o))throw new RangeError("Invalid interval");var i=[],s=r;s.setHours(0,0,0,0);var u=1;if(isNaN(u))throw new RangeError("`options.step` must be a number greater than 1");for(;s.getTime()<=o;)i.push(p(s)),s.setDate(s.getDate()+u),s.setHours(0,0,0,0);return i}function Vn(e,t){T(1,arguments);var n={},r=n.locale,a=r&&r.options&&r.options.weekStartsOn,o=a==null?0:M(a),i=n.weekStartsOn==null?o:M(n.weekStartsOn);if(!(i>=0&&i<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var s=p(e),u=s.getDay(),l=6+(u<i?-7:0)-(u-i);return s.setDate(s.getDate()+l),s.setHours(23,59,59,999),s}function Et(e){T(1,arguments);var t=p(e);return t.setDate(1),t.setHours(0,0,0,0),t}function $n(e,t){T(1,arguments);var n={},r=n.locale,a=r&&r.options&&r.options.weekStartsOn,o=a==null?0:M(a),i=n.weekStartsOn==null?o:M(n.weekStartsOn);if(!(i>=0&&i<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var s=p(e),u=s.getDay(),l=(u<i?7:0)+u-i;return s.setDate(s.getDate()-l),s.setHours(0,0,0,0),s}function Kn(e){var t=e===void 0?{}:e,n=t.firstDayOfWeek,r=n===void 0?1:n,a=t.weekdayLabelFormat,o=a===void 0?function(s){return we(s,"iiiiii")}:a,i=new Date;return ce({start:L($n(i),r),end:L(Vn(i),r)}).reduce(function(s,u){return s.push(o(u)),s},[])}function Jn(e){var t=e.year,n=e.month,r=e.firstDayOfWeek,a=r===void 0?1:r,o=e.dayLabelFormat,i=o===void 0?function(d){return we(d,"dd")}:o,s=new Date(t,n),u=Et(s),l=function(d){T(1,arguments);var g=p(d),c=g.getDay();return c}(u),h=function(d){T(1,arguments);var g=p(d),c=g.getMonth();return g.setFullYear(g.getFullYear(),c+1,0),g.setHours(23,59,59,999),g}(s);return function(){for(var d=0,g=0,c=arguments.length;g<c;g++)d+=arguments[g].length;var b=Array(d),x=0;for(g=0;g<c;g++)for(var E=arguments[g],D=0,w=E.length;D<w;D++,x++)b[x]=E[D];return b}(Array.from(Array(l>=a?l-a:6-a+l+1).keys()).fill(0),ce({start:u,end:h}).map(function(d){return{date:d,dayLabel:i(d)}}))}var Zn=function(e){return we(e,"dd")},er=function(e){return we(e,"eeeeee")},tr=function(e){return we(e,"MMMM yyyy")};function nr(e){var t=e.year,n=e.month,r=e.firstDayOfWeek,a=r===void 0?1:r,o=e.dayLabelFormat,i=o===void 0?Zn:o,s=e.weekdayLabelFormat,u=s===void 0?er:s,l=e.monthLabelFormat,h=l===void 0?tr:l;return{days:y.useMemo(function(){return Jn({year:t,month:n,firstDayOfWeek:a,dayLabelFormat:i})},[t,n,a,i]),weekdayLabels:y.useMemo(function(){return Kn({firstDayOfWeek:a,weekdayLabelFormat:u})},[a,u]),monthLabel:h(new Date(t,n))}}function ae(e,t){T(2,arguments);var n=p(e),r=p(t);return n.getTime()<r.getTime()}function ke(e,t){T(2,arguments);var n=p(e),r=p(t);return n.getTime()>r.getTime()}function he(e,t){T(2,arguments);var n=t||{},r=p(e).getTime(),a=p(n.start).getTime(),o=p(n.end).getTime();if(!(a<=o))throw new RangeError("Invalid interval");return r>=a&&r<=o}function Qe(e){T(1,arguments);var t=p(e);return t.setHours(0,0,0,0),t}function J(e,t){T(2,arguments);var n=Qe(e),r=Qe(t);return n.getTime()===r.getTime()}function Ge(e,t){T(2,arguments);var n=p(e),r=M(t);if(isNaN(r))return new Date(NaN);if(!r)return n;var a=n.getDate(),o=new Date(n.getTime());o.setMonth(n.getMonth()+r+1,0);var i=o.getDate();return a>=i?o:(n.setFullYear(o.getFullYear(),o.getMonth(),a),n)}var Rt=function(e,t){return e===void 0&&(e=[]),e.some(function(n){return J(t,n)})};function rr(e,t,n){return!(!t||!n)&&he(e,{start:t,end:n})}function ar(e,t,n){return!!(t&&J(e,t)||n&&J(e,n))}function or(e,t){return!(!t||!J(e,t))}function ir(e,t){return!(!t||!J(e,t))}function sr(e){var t=e.date,n=e.minBookingDate,r=e.maxBookingDate,a=e.isDateBlockedFn,o=e.startDate,i=e.endDate,s=e.minBookingDays,u=s===void 0?1:s,l=e.unavailableDates,h=l===void 0?[]:l,d=n&&new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0,0),g=r&&new Date(r.getFullYear(),r.getMonth(),r.getDate(),0,0,0);return!!(Rt(h,t)||d&&ae(t,d)||g&&ke(t,g)||o&&!i&&u>1&&he(t,{start:o,end:L(o,u-2)})||a&&a(t))}function Ce(e){var t=Et(e);return{year:function(n){T(1,arguments);var r=p(n),a=r.getFullYear();return a}(t),month:function(n){T(1,arguments);var r=p(n),a=r.getMonth();return a}(t),date:t}}function ur(){return Ce(Qe(Date.now()))}function pe(e,t){var n=t?Ce(t):ur(),r=n.date,a=[n];return e>1&&(a=Array.from(Array(e-1).keys()).reduce(function(o){return r=Ge(o[o.length-1].date,1),o.concat([Ce(r)])},a)),a}function fe(e,t,n,r){var a=e[r?n>0?0:e.length-r:n>0?e.length-1:0].date;return Array.from(Array(t).keys()).reduce(function(o){return a=o.length===0?Ge(a,n):Ge(a,n>=0?1:-1),n>0?o.concat([Ce(a)]):[Ce(a)].concat(o)},[])}function cr(e,t,n){return e&&typeof t=="string"?we(e,t):e&&typeof t=="function"?t(e):n}function Te(e){var t=e.startDate,n=e.endDate,r=e.isDateBlocked,a=e.minBookingDays,o=e.exactMinBookingDays,i=e.minBookingDate,s=e.maxBookingDate,u=!i||!ae(t,L(i,-1)),l=!s||!ke(L(t,a-1),s);return!(!t||a!==1||n||r(t))||(t&&a>1&&!n&&!o||t&&a>0&&o&&u&&l||t&&a>0&&o&&!i&&!s?!ce({start:t,end:L(t,a-1)}).some(function(h){return r(h)}):!(!t||!n||o)&&!ae(n,L(t,a-1))&&!ce({start:t,end:n}).some(function(h){return r(h)}))}function dr(e){var t=e.startDate,n=e.endDate,r=e.focusedInput,a=e.minBookingDate,o=e.maxBookingDate,i=e.onDatesChange,s=e.initialVisibleMonth,u=e.exactMinBookingDays,l=u!==void 0&&u,h=e.minBookingDays,d=h===void 0?1:h,g=e.numberOfMonths,c=g===void 0?2:g,b=e.firstDayOfWeek,x=b===void 0?1:b,E=e.isDateBlocked,D=E===void 0?function(){return!1}:E,w=e.unavailableDates,v=w===void 0?[]:w,W=e.changeActiveMonthOnSelect,q=W===void 0||W,j=y.useState(function(){return pe(c,t||s||null)}),C=j[0],Y=j[1],V=y.useState(null),$=V[0],_=V[1],A=y.useState(t),S=A[0],R=A[1];y.useEffect(function(){return typeof window<"u"&&window.addEventListener&&window.addEventListener("keydown",X),function(){window.removeEventListener&&window.removeEventListener("keydown",X)}});var Q=function(f){return Rt(v,f)||D(f)},ee=function(f){R(f),(!S||S&&!J(f,S))&&Y(pe(c,f))},I=function(f){return sr({date:f,minBookingDate:a,maxBookingDate:o,startDate:t,endDate:n,minBookingDays:d,isDateBlockedFn:Q})};function X(f){if((f.key==="ArrowRight"||f.key==="ArrowLeft"||f.key==="ArrowDown"||f.key==="ArrowUp")&&!S){var z=C[0];ee(z.date),Y(pe(c,z.date))}}var De=y.useCallback(function(){Y(fe(C,c,-1)),R(null)},[C,c]),Re=y.useCallback(function(){Y(fe(C,c,-1,1)),R(null)},[C,c]),Ue=y.useCallback(function(){Y(fe(C,c,1)),R(null)},[C,c]),Pe=y.useCallback(function(){Y(fe(C,c,1,1)),R(null)},[C,c]),Ne=y.useCallback(function(f){Y(pe(c,f)),R(null)},[c]),Oe=y.useCallback(function(f){f===void 0&&(f=1),Y(fe(C,c,-(12*f-c+1))),R(null)},[C,c]),Me=y.useCallback(function(f){f===void 0&&(f=1),Y(fe(C,c,12*f-c+1)),R(null)},[C,c]);return{firstDayOfWeek:x,activeMonths:C,isDateSelected:function(f){return rr(f,t,n)},isDateHovered:function(f){return function(z){var te=z.date,G=z.startDate,m=z.endDate,N=z.isDateBlocked,O=z.hoveredDate,H=z.minBookingDays,le=z.exactMinBookingDays;return O&&H>1&&le&&he(te,{start:O,end:L(O,H-1)})?!ce({start:O,end:L(O,H-1)}).some(function(re){return N(re)}):G&&!m&&O&&he(te,{start:G,end:L(G,H-1)})&&J(G,O)&&H>1?!ce({start:G,end:L(G,H-1)}).some(function(re){return N(re)}):!(!G||m||!O||ae(O,G)||!he(te,{start:G,end:O}))&&!ce({start:G,end:O}).some(function(re){return N(re)})}({date:f,hoveredDate:$,startDate:t,endDate:n,minBookingDays:d,exactMinBookingDays:l,isDateBlocked:Q})},isFirstOrLastSelectedDate:function(f){return ar(f,t,n)},isStartDate:function(f){return or(f,t)},isEndDate:function(f){return ir(f,n)},isDateBlocked:I,numberOfMonths:c,isDateFocused:function(f){return!!S&&J(f,S)},focusedDate:S,hoveredDate:$,onResetDates:function(){i({startDate:null,endDate:null,focusedInput:"startDate"})},onDateHover:function(f){if(f){if(f){var z=!I(f)||t&&J(f,t),te=!a||!ae(f,L(a,-1)),G=!o||!ke(f,o),m=L(f,d-1),N=!a||!ae(m,a),O=!o||!ke(m,o),H=l&&d>1&&te&&G&&N&&O,le=t&&!n&&!l&&te&&G,re=!(d>1&&t)||he(f,{start:t,end:L(t,d-2)}),Be=t&&J(f,t)&&re;z&&(H||le||Be)?_(f):$!==null&&_(null)}}else _(null)},onDateSelect:function(f){(r==="endDate"||r==="startDate")&&d>0&&l&&Te({minBookingDays:d,exactMinBookingDays:l,minBookingDate:a,maxBookingDate:o,isDateBlocked:Q,startDate:f,endDate:null})?i({startDate:f,endDate:L(f,d-1),focusedInput:null}):(r==="endDate"&&t&&ae(f,t)||r==="startDate"&&n&&ke(f,n))&&!l&&Te({minBookingDays:d,isDateBlocked:Q,startDate:f,endDate:null})?i({endDate:null,startDate:f,focusedInput:"endDate"}):r==="startDate"&&!l&&Te({minBookingDays:d,isDateBlocked:Q,endDate:n,startDate:f})?i({endDate:n,startDate:f,focusedInput:"endDate"}):r==="startDate"&&!l&&Te({minBookingDays:d,isDateBlocked:Q,endDate:null,startDate:f})?i({endDate:null,startDate:f,focusedInput:"endDate"}):r==="endDate"&&t&&!ae(f,t)&&!l&&Te({minBookingDays:d,isDateBlocked:Q,startDate:t,endDate:f})&&i({startDate:t,endDate:f,focusedInput:null}),r!=="endDate"&&(!S||S&&!J(f,S))&&q&&Y(pe(c,f))},onDateFocus:ee,goToPreviousMonths:De,goToPreviousMonthsByOneMonth:Re,goToNextMonths:Ue,goToNextMonthsByOneMonth:Pe,goToDate:Ne,goToPreviousYear:Oe,goToNextYear:Me}}function lr(e){var t=e.date,n=e.focusedDate,r=e.isDateSelected,a=e.isDateFocused,o=e.isFirstOrLastSelectedDate,i=e.isDateHovered,s=e.isDateBlocked,u=e.onDateSelect,l=e.onDateFocus,h=e.onDateHover,d=y.useCallback(function(){return u(t)},[t,u]),g=y.useCallback(function(){return h(t)},[t,h]),c=s(t)&&!i(t);return{tabIndex:n===null||a(t)?0:-1,isSelected:r(t),isSelectedStartOrEnd:o(t),isWithinHoverRange:i(t),disabledDate:c,onKeyDown:function(b){b.key==="ArrowRight"?l(L(t,1)):b.key==="ArrowLeft"?l(L(t,-1)):b.key==="ArrowUp"?l(L(t,-7)):b.key==="ArrowDown"&&l(L(t,7))},onClick:c?function(){}:d,onMouseEnter:g}}var Ve=(e=>(e.ShortDate="MM/dd/yyyy",e.LongDate="MMM dd yyyy",e.DayOfWeekDayOfMonth="eeee, MMMM do",e))(Ve||{}),K=(e=>(e.StartDate="startDate",e.EndDate="endDate",e))(K||{});const ne=new Date,$e=ne.getFullYear(),fr=ne.getMonth(),mr=ne,Ut=$e-100,Pt=$e+5,_e=Ve.ShortDate,hr={dateFormat:_e,endDate:null,focusedInput:null,withDateRange:!1,maxYear:Pt,minYear:Ut,startDate:null,standalone:!1,onClose:()=>{throw new Error("onClose(): boolean not implemented")},setFocusedInput:()=>{throw new Error("setFocusedInput(): boolean not implemented")},clearDates:()=>{throw new Error("clearDates(): boolean not implemented")},onQuickOptionSelect:()=>{throw new Error("onQuickOptionSelect(): boolean not implemented")},onTimeChange:()=>{throw new Error("onTimeChange(): boolean not implemented")},focusedDate:ne,firstDayOfWeek:void 0,activeMonths:[],isDateFocused:()=>{throw new Error("isDateFocused(): boolean not implemented")},isDateSelected:()=>{throw new Error("isDateSelected(): boolean not implemented")},isDateHovered:()=>{throw new Error("isDateHovered(): boolean not implemented")},isDateBlocked:()=>{throw new Error("isDateBlocked(): boolean not implemented")},isFirstOrLastSelectedDate:()=>{throw new Error("isFirstOrLastSelectedDate(): boolean not implemented")},onDateFocus:()=>{throw new Error("onDateFocus(): boolean not implemented")},onDateHover:()=>{throw new Error("onDateHover(): boolean not implemented")},onDateSelect:()=>{throw new Error("onDateSelect(): boolean not implemented")},goToPreviousMonths:()=>{throw new Error("goToPreviousMonths(): boolean not implemented")},goToNextMonths:()=>{throw new Error("goToNextMonths(): boolean not implemented")},goToDate:()=>{throw new Error("goToDate(): boolean not implemented")}},Nt=y.createContext(hr),de=()=>y.useContext(Nt),gr=["root"],gt={bg:"background.secondary",borderColor:"border.focus",color:"text.contrast",_hover:{bg:"background.secondary"}},wr={default:{root:{borderColor:"transparent",_hover:{bg:"background.secondaryAlpha.hover"}}},disabled:{root:{bg:"background.subtle",borderColor:"transparent",cursor:"not-allowed",opacity:.4}},inRange:{root:{bg:"background.secondaryAlpha.pressed",borderColor:"transparent",borderRadius:"none",color:"text.info"}},selectedEnd:{root:{borderColor:"border.focus",color:"text.info"}},selectedStart:{root:gt},selectedRange:{root:{...gt,borderRadius:"sm"}}},Dr=Ft.defineSlotRecipe({slots:gr,base:{root:{border:"2px",borderRadius:"4px",color:"text.subtle",cursor:"pointer",fontSize:"sm",fontWeight:"normal !important",position:"relative",px:3,py:1,overflow:"hidden"}},variants:{variant:wr,isToday:{true:{root:{color:"text",fontWeight:"semibold"}},false:{}},withDateRange:{true:{},false:{}}},compoundVariants:[{variant:["selectedStart","selectedRange"],isToday:!0,css:{root:{color:"text.contrast"}}},{variant:"inRange",isToday:!0,css:{root:{color:"text.info"}}},{withDateRange:!0,variant:"selectedStart",css:{root:{borderRightRadius:0}}},{withDateRange:!0,variant:"selectedEnd",css:{root:{borderLeftRadius:0}}}],defaultVariants:{}}),me=e=>e==="selectedStart"||e==="selectedEnd"||e==="inRange"||e==="selectedRange",ie=({date:e,startDate:t,endDate:n,dateFormat:r,disabledDate:a,isSelected:o,isDateSelected:i,isDateBlocked:s})=>{const u=a||s(e),l=o||i(e);if(u)return"disabled";if(!t||!n)return l?"selectedRange":"default";const h=F.format(e,r),d=F.format(t,r),g=F.format(n,r),c=h===d,b=h===g;return c&&b?"selectedRange":c?"selectedStart":b?"selectedEnd":l&&!c&&!b?"inRange":"default"},yr=({dayLabel:e,date:t,onDaySelected:n,cornerRounding:r,["data-testid"]:a="kibble-datepicker-day"})=>{const o=y.useRef(null),{startDate:i,endDate:s,dateFormat:u,withDateRange:l}=de(),h=y.useMemo(()=>qt.isToday(t),[t]),{focusedDate:d,isDateFocused:g,isDateSelected:c,isDateHovered:b,isDateBlocked:x,isFirstOrLastSelectedDate:E,onDateSelect:D,onDateFocus:w,onDateHover:v}=de(),{disabledDate:W,isSelected:q,onClick:j,onKeyDown:C,onMouseEnter:Y,tabIndex:V}=lr({date:t,focusedDate:d,isDateFocused:g,isDateSelected:c,isDateHovered:b,isDateBlocked:x,isFirstOrLastSelectedDate:E,onDateFocus:w,onDateSelect:D,onDateHover:v}),$=y.useMemo(()=>({borderTopLeftRadius:r?.roundTopLeft?"sm":"none",borderTopRightRadius:r?.roundTopRight?"sm":"none",borderBottomLeftRadius:r?.roundBottomLeft?"sm":"none",borderBottomRightRadius:r?.roundBottomRight?"sm":"none"}),[r]),_=y.useMemo(()=>ie({date:t,startDate:i,endDate:s,dateFormat:u,isDateSelected:c,isDateBlocked:x,disabledDate:W,isSelected:q}),[t,i,s,u,c,x,W,q]),S=Ht.useSlotRecipe({recipe:Dr})({variant:_,isToday:h,withDateRange:l});if(!e)return P.jsxRuntimeExports.jsx(P.jsxRuntimeExports.Fragment,{});const R=()=>{_!=="disabled"&&(j(),n())};return P.jsxRuntimeExports.jsx(Ae.Button,{className:"DatePicker__Day","data-testid":`${a}-${F.format(t,"MM/dd/yyyy")}`,onClick:R,onKeyDown:C,onMouseEnter:Y,tabIndex:V,ref:o,unstyled:!0,css:S.root,...$,children:e})},br=e=>{const{startDate:t,endDate:n,dateFormat:r,isDateSelected:a,isDateBlocked:o}=de();return y.useMemo(()=>{const u=[];return e.some(h=>typeof h=="object"&&h!==null&&me(ie({date:h.date,startDate:t,endDate:n,dateFormat:r,isDateSelected:a,isDateBlocked:o})))?(e.forEach((h,d)=>{if(typeof h!="object"||h===null){u.push(null);return}const g=ie({date:h.date,startDate:t,endDate:n,dateFormat:r,isDateSelected:a,isDateBlocked:o}),c=Math.floor(d/7),b=d%7;if(!me(g)){u.push({roundTopLeft:!1,roundTopRight:!1,roundBottomLeft:!1,roundBottomRight:!1});return}const x=b===0?null:d-1,E=b===6?null:d+1,D=x!==null?e[x]:null,w=D!==null&&typeof D=="object"?ie({date:D.date,startDate:t,endDate:n,dateFormat:r,isDateSelected:a,isDateBlocked:o}):"default",v=E!==null?e[E]:null,W=v!==null&&typeof v=="object"?ie({date:v.date,startDate:t,endDate:n,dateFormat:r,isDateSelected:a,isDateBlocked:o}):"default",q=c===0?null:d-7,j=d+7>=e.length?null:d+7,C=q!==null&&q>=0?e[q]:null,Y=C!==null&&typeof C=="object"?ie({date:C.date,startDate:t,endDate:n,dateFormat:r,isDateSelected:a,isDateBlocked:o}):"default",V=j!==null&&j<e.length?e[j]:null,$=V!==null&&typeof V=="object"?ie({date:V.date,startDate:t,endDate:n,dateFormat:r,isDateSelected:a,isDateBlocked:o}):"default",_=b===0||!me(w),A=b===6||!me(W),S=c===0||!me(Y),R=j===null||!me($);u.push({roundTopLeft:S&&_,roundTopRight:S&&A,roundBottomLeft:R&&_,roundBottomRight:R&&A})}),u):e.map(()=>null)},[e,t,n,r,a,o])},vr=({onDaySelected:e,month:t,showMonthLabels:n,["data-testid"]:r="kibble-datepicker-month"})=>{const a=y.useRef(null),{firstDayOfWeek:o,activeMonth:i}=de(),s=y.useMemo(()=>t?.year||i?.year||$e,[t,i]),u=y.useMemo(()=>t?.month!==void 0?t.month:i?.month!==void 0?i.month:fr,[t,i]),{days:l,weekdayLabels:h,monthLabel:d}=nr({year:s,month:u,firstDayOfWeek:o}),g=br(l);return P.jsxRuntimeExports.jsxs(Yt.Box,{ref:a,className:"DatePicker__Month","data-testid":r,px:3,children:[n&&P.jsxRuntimeExports.jsx(je.WrappedText,{size:"sm",fontWeight:"semibold",textAlign:"center",children:d}),P.jsxRuntimeExports.jsx(Fe.Grid,{templateColumns:"repeat(7, 1fr)",my:2,children:h.map(c=>P.jsxRuntimeExports.jsx(Fe.GridItem,{children:P.jsxRuntimeExports.jsx(yt.Center,{children:P.jsxRuntimeExports.jsx(je.WrappedText,{size:"xs",fontWeight:"semibold",children:c})})},c))}),P.jsxRuntimeExports.jsx(Fe.Grid,{templateColumns:"repeat(7, 1fr)",children:l.map((c,b)=>typeof c=="object"?P.jsxRuntimeExports.jsx(yr,{date:c.date,dayLabel:c.dayLabel,onDaySelected:e,cornerRounding:g[b]},c.date.toString()):P.jsxRuntimeExports.jsx("div",{},b))})]})};function pr({showMonthLabels:e,["data-testid"]:t="kibble-datepicker-calendar"}){const{withDateRange:n,activeMonths:r,onClose:a,standalone:o}=de(),{setOpen:i}=Lt.usePopoverContext(),s=()=>{n||(o||i(!1),a())};return P.jsxRuntimeExports.jsx(It.Flex,{className:"DatePicker__Calendar","data-testid":t,py:2,children:r.map(u=>P.jsxRuntimeExports.jsx(vr,{month:u,onDaySelected:s,showMonthLabels:e},`${u.year}-${u.month}`))})}var Tr=Math.ceil,xr=Math.max;function kr(e,t,n,r){for(var a=-1,o=xr(Tr((t-e)/(n||1)),0),i=Array(o);o--;)i[++a]=e,e+=n;return i}function Cr(e,t,n){if(!se.isObject(n))return!1;var r=typeof t;return(r=="number"?se.isArrayLike(n)&&se.isIndex(t,n.length):r=="string"&&t in n)?se.eq(n[t],e):!1}var Mr=/\s/;function Sr(e){for(var t=e.length;t--&&Mr.test(e.charAt(t)););return t}var Er=/^\s+/;function Rr(e){return e&&e.slice(0,Sr(e)+1).replace(Er,"")}var wt=NaN,Ur=/^[-+]0x[0-9a-f]+$/i,Pr=/^0b[01]+$/i,Nr=/^0o[0-7]+$/i,Or=parseInt;function Br(e){if(typeof e=="number")return e;if(se.isSymbol(e))return wt;if(se.isObject(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=se.isObject(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Rr(e);var n=Pr.test(e);return n||Nr.test(e)?Or(e.slice(2),n?2:8):Ur.test(e)?wt:+e}var Yr=1/0,Fr=17976931348623157e292;function Ie(e){if(!e)return e===0?e:0;if(e=Br(e),e===Yr||e===-1/0){var t=e<0?-1:1;return t*Fr}return e===e?e:0}function qr(e){return function(t,n,r){return r&&typeof r!="number"&&Cr(t,n,r)&&(n=r=void 0),t=Ie(t),n===void 0?(n=t,t=0):n=Ie(n),r=r===void 0?t<n?1:-1:Ie(r),kr(t,n,r)}}var Hr=qr();function Lr(e,t){const n=F.toDate(e,t?.in),r=n.getFullYear(),a=n.getMonth(),o=F.constructFrom(n,0);return o.setFullYear(r,a+1,0),o.setHours(0,0,0,0),o.getDate()}function Ir(e,t,n){const r=F.toDate(e,n?.in),a=r.getFullYear(),o=r.getDate(),i=F.constructFrom(e,0);i.setFullYear(a,t,15),i.setHours(0,0,0,0);const s=Lr(i);return r.setMonth(t,Math.min(o,s)),r}function Dt(e,t,n){let r=F.toDate(e,n?.in);return isNaN(+r)?F.constructFrom(e,NaN):(t.year!=null&&r.setFullYear(t.year),t.month!=null&&(r=Ir(r,t.month)),t.date!=null&&r.setDate(t.date),t.hours!=null&&r.setHours(t.hours),t.minutes!=null&&r.setMinutes(t.minutes),t.seconds!=null&&r.setSeconds(t.seconds),t.milliseconds!=null&&r.setMilliseconds(t.milliseconds),r)}const We=["January","February","March","April","May","June","July","August","September","October","November","December"];function Wr({triggerProps:e,withTriggers:t=!0,["data-testid"]:n="kibble-datepicker-header"}){const r=y.useRef(null),a=y.useRef(null),{focusedDate:o,activeMonth:i,minYear:s,maxYear:u,goToDate:l,goToNextMonths:h,goToPreviousMonths:d}=de(),g=y.useMemo(()=>We.map((D,w)=>{const v=w===i?.month;return{label:D,value:String(w),selected:v,...v&&{ref:r}}}),[i?.month]),c=y.useMemo(()=>Hr(s,u+1).map(D=>{const w=String(D),v=D===i?.year;return{label:w,value:w,selected:v,...v&&{ref:a}}}),[i?.year,u,s]),b=({item:D})=>l(Dt(o||ne,{month:Number(D.value),year:i?.year})),x=({item:D})=>l(Dt(o||ne,{month:i?.month,year:Number(D.value)})),E=({type:D})=>{setTimeout(()=>{const w=D==="year"?a?.current:r?.current;w&&w.scrollIntoView({block:"center"})})};return P.jsxRuntimeExports.jsxs(Wt.HStack,{className:"DatePicker__Header","data-testid":n,w:"100%",justify:"space-between",py:2,px:3,children:[P.jsxRuntimeExports.jsx(Ae.Button,{iconName:"chevronLeft",onClick:d,variant:"ghostNeutral",size:"sm"}),t?P.jsxRuntimeExports.jsxs(yt.Center,{gap:2,h:"100%",children:[P.jsxRuntimeExports.jsx(Je.Menu,{"data-testid":`${n}-month-menu`,buttonProps:{variant:"tertiary",...e,text:We[i?.month||0],size:"sm"},listProps:{menuItems:g,onSelect:b,maxH:250},onOpenChange:({open:D})=>{D&&E({type:"month"})}}),P.jsxRuntimeExports.jsx(Je.Menu,{"data-testid":`${n}-year-menu`,buttonProps:{variant:"tertiary",...e,text:String(i?.year),size:"sm"},listProps:{menuItems:c,onSelect:x,maxH:250},onOpenChange:({open:D})=>{D&&E({type:"year"})}})]}):P.jsxRuntimeExports.jsxs(je.WrappedText,{fontWeight:"semibold",children:[We[i?.month||0]," ",i?.year]}),P.jsxRuntimeExports.jsx(Ae.Button,{iconName:"chevronRight",onClick:h,variant:"ghostNeutral",size:"sm"})]})}function xe(e,t){const n=F.toDate(e,t?.in);return n.setHours(23,59,59,999),n}function Ot(e,t,n){const r=F.toDate(e,n?.in);return isNaN(t)?F.constructFrom(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Bt(e,t,n){const r=F.toDate(e,n?.in);if(isNaN(t))return F.constructFrom(e,NaN);if(!t)return r;const a=r.getDate(),o=F.constructFrom(e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const i=o.getDate();return a>=i?o:(r.setFullYear(o.getFullYear(),o.getMonth(),a),r)}function jr(e,t,n){const{years:r=0,months:a=0,weeks:o=0,days:i=0,hours:s=0,minutes:u=0,seconds:l=0}=t,h=F.toDate(e,n?.in),d=a||r?Bt(h,a+r*12):h,g=i||o?Ot(d,i+o*7):d,c=u+s*60,x=(l+c*60)*1e3;return F.constructFrom(e,+g+x)}function Xe(e,t){return+F.toDate(e)>+F.toDate(t)}const Ar=({children:e,dateFormat:t=_e,endDate:n,inputProps:r,maxDate:a,maxDaysInRange:o,maxYear:i,minDate:s,minYear:u,numberOfMonths:l=1,onDateChange:h,placement:d="bottom",startDate:g,withDateRange:c,sameWidth:b=!1,standalone:x=!1,firstDayOfWeek:E=1,timezone:D})=>{const[w,v]=y.useState({startDate:g,endDate:n||g,focusedInput:x?K.StartDate:null}),W=y.useRef(l),q=y.useCallback(m=>{if(o&&m)return xe(jr(m,{days:o}));if(a)return xe(a)},[a,o]),j=y.useCallback((m,N)=>{if(!N)return N;const O=q(m);return O&&Xe(N,O)?null:N},[q]),C=y.useCallback((m,N)=>!m||!N?{startDate:m,endDate:N}:Xe(m,N)?{startDate:m,endDate:xe(m)}:{startDate:m,endDate:N},[]),Y=m=>{if(!m)return;m.endDate||(m.endDate=m.startDate),m.endDate=j(m.startDate,m.endDate),m.startDate=m.startDate?F.startOfDay(m.startDate):m.startDate,m.endDate=m.endDate?xe(m.endDate):m.endDate;const N=C(m.startDate,m.endDate);m.startDate=N.startDate,m.endDate=N.endDate,v({...m,focusedInput:m.focusedInput||K.StartDate}),(!c&&h||x&&h)&&h(m)},V=y.useCallback(m=>{v({startDate:m.startDate,endDate:m.endDate||null,focusedInput:null})},[]),$=y.useCallback(({open:m})=>{v({startDate:null,endDate:null,focusedInput:m?K.StartDate:null})},[]),_=y.useCallback((m,N)=>{m&&v(O=>{const H={...O},le=N||O.focusedInput,Be=(le===K.EndDate?O.endDate:O.startDate)||O.startDate||new Date,Ye=new Date(Be);Ye.setHours(m.getHours(),m.getMinutes(),0,0),le===K.EndDate?H.endDate=Ye:H.startDate=Ye,H.endDate=j(H.startDate,H.endDate);const Ke=C(H.startDate,H.endDate);return H.startDate=Ke.startDate,H.endDate=Ke.endDate,H})},[j,C,D]),{activeMonths:A,focusedDate:S,goToDate:R,goToNextMonthsByOneMonth:Q,goToPreviousMonthsByOneMonth:ee,isDateBlocked:I,isDateFocused:X,isDateHovered:De,isDateSelected:Re,isFirstOrLastSelectedDate:Ue,onDateFocus:Pe,onDateHover:Ne,onDateSelect:Oe}=dr({endDate:w.endDate,focusedInput:w.focusedInput,initialVisibleMonth:w.startDate||ne,maxBookingDate:c&&w.focusedInput===K.StartDate?void 0:q(w.startDate),minBookingDate:s,minBookingDays:1,firstDayOfWeek:E,numberOfMonths:l,onDatesChange:Y,startDate:w.startDate,...!c&&{exactMinBookingDays:!0}}),Me=y.useCallback(m=>{m===K.EndDate&&w.endDate?R(w.endDate):w.startDate&&R(w.startDate)},[R,w.endDate,w.startDate]),f=y.useCallback(m=>{v(N=>({...N,focusedInput:m})),Me(m)},[Me]),z=()=>{r?.disabled||(!w.startDate||!c)&&f(K.StartDate)},te=y.useCallback(()=>{f(null),c&&h&&setTimeout(()=>{h({startDate:w.startDate,endDate:w.endDate})},200)},[c,h,f,w.endDate,w.startDate]),G=y.useMemo(()=>A[0],[A]);return y.useEffect(()=>{x&&!w.focusedInput&&f(K.StartDate)},[x,w.focusedInput,f]),y.useEffect(()=>{if(W.current!==l){const m=A[0]?.date||S||w.startDate||ne;R(m),W.current=l}},[l,A,S,R,w.startDate]),y.useEffect(()=>{v(m=>({...m,startDate:g,endDate:n||g}))},[g,n]),P.jsxRuntimeExports.jsx(Nt.Provider,{value:{activeMonth:G,activeMonths:A,dateFormat:t||_e,endDate:w.endDate||null,firstDayOfWeek:E,focusedDate:S||mr,focusedInput:w.focusedInput,goToDate:R,goToNextMonths:Q,goToPreviousMonths:ee,setFocusedInput:f,isDateBlocked:I,isDateFocused:X,isDateHovered:De,withDateRange:c||!1,isDateSelected:Re,isFirstOrLastSelectedDate:Ue,maxDate:a,maxYear:i||Pt,minDate:s,minYear:u||Ut,onDateChange:h,onDateFocus:Pe,onDateHover:Ne,onDateSelect:Oe,onTimeChange:_,onQuickOptionSelect:V,startDate:w.startDate,onClose:te,clearDates:$,standalone:x},children:P.jsxRuntimeExports.jsx(jt.PopoverRoot,{open:x?!0:void 0,onOpenChange:x?void 0:({open:m})=>{m?z():f(null)},positioning:{placement:d,sameWidth:b},onExitComplete:x?void 0:()=>{te()},children:e})})};exports.DateFormats=Ve;exports.DatePickerCalendar=pr;exports.DatePickerHeader=Wr;exports.DatePickerProvider=Ar;exports.FocusedInput=K;exports.Ue=cr;exports.addDays=Ot;exports.addMonths=Bt;exports.endOfDay=xe;exports.isAfter=Xe;exports.today=ne;exports.useDatePickerContext=de;exports.xt=kn;
15
+ //# sourceMappingURL=datePicker.provider-BhddQGE7.js.map