@bitrise/bitkit-v2 0.3.188 → 0.3.189
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.
|
@@ -46,6 +46,7 @@ export declare const DatePickerTableCellTrigger: import('react').ForwardRefExoti
|
|
|
46
46
|
export declare const DatePickerContext: (props: ArkDatePicker.ContextProps) => import('react').ReactNode;
|
|
47
47
|
export interface DatePickerProps extends DatePickerRootProps {
|
|
48
48
|
device: 'desktop' | 'mobile';
|
|
49
|
+
layout?: '1-month' | '2-month';
|
|
49
50
|
showOutsideDays?: boolean;
|
|
50
51
|
}
|
|
51
52
|
export declare const DatePicker: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","names":[],"sources":["../../../lib/atoms/DatePicker/DatePicker.tsx"],"sourcesContent":["import { DatePicker as ArkDatePicker } from '@ark-ui/react/date-picker';\nimport { createSlotRecipeContext, type HTMLChakraProps, type UnstyledProp } from '@chakra-ui/react/styled-system';\n\nconst { withProvider, withContext, useStyles } = createSlotRecipeContext({ key: 'datePicker' });\n\nexport interface DatePickerRootProps extends HTMLChakraProps<'div', ArkDatePicker.RootProps>, UnstyledProp {}\n\nexport const DatePickerRoot = withProvider<HTMLDivElement, DatePickerProps>(\n withContext<HTMLDivElement, DatePickerRootProps>(ArkDatePicker.Root, 'root', {\n forwardAsChild: true,\n }),\n 'root',\n);\n\nexport interface DatePickerControlProps extends HTMLChakraProps<'div', ArkDatePicker.ControlProps>, UnstyledProp {}\n\nexport const DatePickerControl = withContext<HTMLDivElement, DatePickerControlProps>(ArkDatePicker.Control, 'control', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerPositionerProps\n extends HTMLChakraProps<'div', ArkDatePicker.PositionerProps>, UnstyledProp {}\n\nexport const DatePickerPositioner = withContext<HTMLDivElement, DatePickerPositionerProps>(\n ArkDatePicker.Positioner,\n 'positioner',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerContentProps extends HTMLChakraProps<'div', ArkDatePicker.ContentProps>, UnstyledProp {}\n\nexport const DatePickerContent = withContext<HTMLDivElement, DatePickerContentProps>(ArkDatePicker.Content, 'content', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerMonthsProps extends HTMLChakraProps<'div'>, UnstyledProp {}\n\nexport const DatePickerMonths = withContext<HTMLDivElement, DatePickerMonthsProps>('div', 'months', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerViewProps extends HTMLChakraProps<'div', ArkDatePicker.ViewProps>, UnstyledProp {}\n\nexport const DatePickerView = withContext<HTMLDivElement, DatePickerViewProps>(ArkDatePicker.View, 'view', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerViewControlProps\n extends HTMLChakraProps<'div', ArkDatePicker.ViewControlProps>, UnstyledProp {}\n\nexport const DatePickerViewControl = withContext<HTMLDivElement, DatePickerViewControlProps>(\n ArkDatePicker.ViewControl,\n 'viewControl',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableProps extends HTMLChakraProps<'table', ArkDatePicker.TableProps>, UnstyledProp {}\n\nexport const DatePickerTable = withContext<HTMLTableElement, DatePickerTableProps>(ArkDatePicker.Table, 'table', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerTableHeadProps\n extends HTMLChakraProps<'thead', ArkDatePicker.TableHeadProps>, UnstyledProp {}\n\nexport const DatePickerTableHead = withContext<HTMLTableSectionElement, DatePickerTableHeadProps>(\n ArkDatePicker.TableHead,\n 'tableHead',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableBodyProps\n extends HTMLChakraProps<'tbody', ArkDatePicker.TableBodyProps>, UnstyledProp {}\n\nexport const DatePickerTableBody = withContext<HTMLTableSectionElement, DatePickerTableBodyProps>(\n ArkDatePicker.TableBody,\n 'tableBody',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableRowProps extends HTMLChakraProps<'tr', ArkDatePicker.TableRowProps>, UnstyledProp {}\n\nexport const DatePickerTableRow = withContext<HTMLTableRowElement, DatePickerTableRowProps>(\n ArkDatePicker.TableRow,\n 'tableRow',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableHeaderProps\n extends HTMLChakraProps<'th', ArkDatePicker.TableHeaderProps>, UnstyledProp {}\n\nexport const DatePickerTableHeader = withContext<HTMLTableCellElement, DatePickerTableHeaderProps>(\n ArkDatePicker.TableHeader,\n 'tableHeader',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableCellProps extends HTMLChakraProps<'td', ArkDatePicker.TableCellProps>, UnstyledProp {}\n\nexport const DatePickerTableCell = withContext<HTMLTableCellElement, DatePickerTableCellProps>(\n ArkDatePicker.TableCell,\n 'tableCell',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableCellTriggerProps\n extends HTMLChakraProps<'span', ArkDatePicker.TableCellTriggerProps>, UnstyledProp {}\n\nexport const DatePickerTableCellTrigger = withContext<HTMLButtonElement, DatePickerTableCellTriggerProps>(\n ArkDatePicker.TableCellTrigger,\n 'tableCellTrigger',\n {\n forwardAsChild: true,\n },\n);\n\nexport const DatePickerContext = ArkDatePicker.Context;\n\nexport interface DatePickerProps extends DatePickerRootProps {\n // these do not come from ArkUI, so maybe find a better place\n device: 'desktop' | 'mobile';\n showOutsideDays?: boolean;\n}\n\nexport const DatePicker = {\n Root: DatePickerRoot,\n Control: DatePickerControl,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n Months: DatePickerMonths,\n View: DatePickerView,\n ViewControl: DatePickerViewControl,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableBody: DatePickerTableBody,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n};\n\nexport { useStyles as useCalendarStyles };\n\nexport type { DatePickerOpenChangeDetails, DatePickerValueChangeDetails } from '@ark-ui/react/date-picker';\nexport { useDatePickerContext } from '@ark-ui/react/date-picker';\n"],"mappings":";;;AAGA,IAAM,EAAE,cAAc,aAAa,cAAc,wBAAwB,EAAE,KAAK,cAAc,CAAC;AAI/F,IAAa,iBAAiB,aAC5B,YAAiD,WAAc,MAAM,QAAQ,EAC3E,gBAAgB,MACjB,CAAC,EACF,OACD;AAID,IAAa,oBAAoB,YAAoD,WAAc,SAAS,WAAW,EACrH,gBAAgB,MACjB,CAAC;AAKF,IAAa,uBAAuB,YAClC,WAAc,YACd,cACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,oBAAoB,YAAoD,WAAc,SAAS,WAAW,EACrH,gBAAgB,MACjB,CAAC;AAIF,IAAa,mBAAmB,YAAmD,OAAO,UAAU,EAClG,gBAAgB,MACjB,CAAC;AAIF,IAAa,iBAAiB,YAAiD,WAAc,MAAM,QAAQ,EACzG,gBAAgB,MACjB,CAAC;AAKF,IAAa,wBAAwB,YACnC,WAAc,aACd,eACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,kBAAkB,YAAoD,WAAc,OAAO,SAAS,EAC/G,gBAAgB,MACjB,CAAC;AAKF,IAAa,sBAAsB,YACjC,WAAc,WACd,aACA,EACE,gBAAgB,MACjB,CACF;AAKD,IAAa,sBAAsB,YACjC,WAAc,WACd,aACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,qBAAqB,YAChC,WAAc,UACd,YACA,EACE,gBAAgB,MACjB,CACF;AAKD,IAAa,wBAAwB,YACnC,WAAc,aACd,eACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,sBAAsB,YACjC,WAAc,WACd,aACA,EACE,gBAAgB,MACjB,CACF;AAKD,IAAa,6BAA6B,YACxC,WAAc,kBACd,oBACA,EACE,gBAAgB,MACjB,CACF;AAED,IAAa,oBAAoB,WAAc;
|
|
1
|
+
{"version":3,"file":"DatePicker.js","names":[],"sources":["../../../lib/atoms/DatePicker/DatePicker.tsx"],"sourcesContent":["import { DatePicker as ArkDatePicker } from '@ark-ui/react/date-picker';\nimport { createSlotRecipeContext, type HTMLChakraProps, type UnstyledProp } from '@chakra-ui/react/styled-system';\n\nconst { withProvider, withContext, useStyles } = createSlotRecipeContext({ key: 'datePicker' });\n\nexport interface DatePickerRootProps extends HTMLChakraProps<'div', ArkDatePicker.RootProps>, UnstyledProp {}\n\nexport const DatePickerRoot = withProvider<HTMLDivElement, DatePickerProps>(\n withContext<HTMLDivElement, DatePickerRootProps>(ArkDatePicker.Root, 'root', {\n forwardAsChild: true,\n }),\n 'root',\n);\n\nexport interface DatePickerControlProps extends HTMLChakraProps<'div', ArkDatePicker.ControlProps>, UnstyledProp {}\n\nexport const DatePickerControl = withContext<HTMLDivElement, DatePickerControlProps>(ArkDatePicker.Control, 'control', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerPositionerProps\n extends HTMLChakraProps<'div', ArkDatePicker.PositionerProps>, UnstyledProp {}\n\nexport const DatePickerPositioner = withContext<HTMLDivElement, DatePickerPositionerProps>(\n ArkDatePicker.Positioner,\n 'positioner',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerContentProps extends HTMLChakraProps<'div', ArkDatePicker.ContentProps>, UnstyledProp {}\n\nexport const DatePickerContent = withContext<HTMLDivElement, DatePickerContentProps>(ArkDatePicker.Content, 'content', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerMonthsProps extends HTMLChakraProps<'div'>, UnstyledProp {}\n\nexport const DatePickerMonths = withContext<HTMLDivElement, DatePickerMonthsProps>('div', 'months', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerViewProps extends HTMLChakraProps<'div', ArkDatePicker.ViewProps>, UnstyledProp {}\n\nexport const DatePickerView = withContext<HTMLDivElement, DatePickerViewProps>(ArkDatePicker.View, 'view', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerViewControlProps\n extends HTMLChakraProps<'div', ArkDatePicker.ViewControlProps>, UnstyledProp {}\n\nexport const DatePickerViewControl = withContext<HTMLDivElement, DatePickerViewControlProps>(\n ArkDatePicker.ViewControl,\n 'viewControl',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableProps extends HTMLChakraProps<'table', ArkDatePicker.TableProps>, UnstyledProp {}\n\nexport const DatePickerTable = withContext<HTMLTableElement, DatePickerTableProps>(ArkDatePicker.Table, 'table', {\n forwardAsChild: true,\n});\n\nexport interface DatePickerTableHeadProps\n extends HTMLChakraProps<'thead', ArkDatePicker.TableHeadProps>, UnstyledProp {}\n\nexport const DatePickerTableHead = withContext<HTMLTableSectionElement, DatePickerTableHeadProps>(\n ArkDatePicker.TableHead,\n 'tableHead',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableBodyProps\n extends HTMLChakraProps<'tbody', ArkDatePicker.TableBodyProps>, UnstyledProp {}\n\nexport const DatePickerTableBody = withContext<HTMLTableSectionElement, DatePickerTableBodyProps>(\n ArkDatePicker.TableBody,\n 'tableBody',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableRowProps extends HTMLChakraProps<'tr', ArkDatePicker.TableRowProps>, UnstyledProp {}\n\nexport const DatePickerTableRow = withContext<HTMLTableRowElement, DatePickerTableRowProps>(\n ArkDatePicker.TableRow,\n 'tableRow',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableHeaderProps\n extends HTMLChakraProps<'th', ArkDatePicker.TableHeaderProps>, UnstyledProp {}\n\nexport const DatePickerTableHeader = withContext<HTMLTableCellElement, DatePickerTableHeaderProps>(\n ArkDatePicker.TableHeader,\n 'tableHeader',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableCellProps extends HTMLChakraProps<'td', ArkDatePicker.TableCellProps>, UnstyledProp {}\n\nexport const DatePickerTableCell = withContext<HTMLTableCellElement, DatePickerTableCellProps>(\n ArkDatePicker.TableCell,\n 'tableCell',\n {\n forwardAsChild: true,\n },\n);\n\nexport interface DatePickerTableCellTriggerProps\n extends HTMLChakraProps<'span', ArkDatePicker.TableCellTriggerProps>, UnstyledProp {}\n\nexport const DatePickerTableCellTrigger = withContext<HTMLButtonElement, DatePickerTableCellTriggerProps>(\n ArkDatePicker.TableCellTrigger,\n 'tableCellTrigger',\n {\n forwardAsChild: true,\n },\n);\n\nexport const DatePickerContext = ArkDatePicker.Context;\n\nexport interface DatePickerProps extends DatePickerRootProps {\n // these do not come from ArkUI, so maybe find a better place\n device: 'desktop' | 'mobile';\n layout?: '1-month' | '2-month';\n showOutsideDays?: boolean;\n}\n\nexport const DatePicker = {\n Root: DatePickerRoot,\n Control: DatePickerControl,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n Months: DatePickerMonths,\n View: DatePickerView,\n ViewControl: DatePickerViewControl,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableBody: DatePickerTableBody,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n};\n\nexport { useStyles as useCalendarStyles };\n\nexport type { DatePickerOpenChangeDetails, DatePickerValueChangeDetails } from '@ark-ui/react/date-picker';\nexport { useDatePickerContext } from '@ark-ui/react/date-picker';\n"],"mappings":";;;AAGA,IAAM,EAAE,cAAc,aAAa,cAAc,wBAAwB,EAAE,KAAK,cAAc,CAAC;AAI/F,IAAa,iBAAiB,aAC5B,YAAiD,WAAc,MAAM,QAAQ,EAC3E,gBAAgB,MACjB,CAAC,EACF,OACD;AAID,IAAa,oBAAoB,YAAoD,WAAc,SAAS,WAAW,EACrH,gBAAgB,MACjB,CAAC;AAKF,IAAa,uBAAuB,YAClC,WAAc,YACd,cACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,oBAAoB,YAAoD,WAAc,SAAS,WAAW,EACrH,gBAAgB,MACjB,CAAC;AAIF,IAAa,mBAAmB,YAAmD,OAAO,UAAU,EAClG,gBAAgB,MACjB,CAAC;AAIF,IAAa,iBAAiB,YAAiD,WAAc,MAAM,QAAQ,EACzG,gBAAgB,MACjB,CAAC;AAKF,IAAa,wBAAwB,YACnC,WAAc,aACd,eACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,kBAAkB,YAAoD,WAAc,OAAO,SAAS,EAC/G,gBAAgB,MACjB,CAAC;AAKF,IAAa,sBAAsB,YACjC,WAAc,WACd,aACA,EACE,gBAAgB,MACjB,CACF;AAKD,IAAa,sBAAsB,YACjC,WAAc,WACd,aACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,qBAAqB,YAChC,WAAc,UACd,YACA,EACE,gBAAgB,MACjB,CACF;AAKD,IAAa,wBAAwB,YACnC,WAAc,aACd,eACA,EACE,gBAAgB,MACjB,CACF;AAID,IAAa,sBAAsB,YACjC,WAAc,WACd,aACA,EACE,gBAAgB,MACjB,CACF;AAKD,IAAa,6BAA6B,YACxC,WAAc,kBACd,oBACA,EACE,gBAAgB,MACjB,CACF;AAED,IAAa,oBAAoB,WAAc;AAS/C,IAAa,eAAa;CACxB,MAAM;CACN,SAAS;CACT,YAAY;CACZ,SAAS;CACT,QAAQ;CACR,MAAM;CACN,aAAa;CACb,OAAO;CACP,WAAW;CACX,WAAW;CACX,UAAU;CACV,aAAa;CACb,WAAW;CACX,kBAAkB;CACnB"}
|
|
@@ -86,6 +86,7 @@ var BitkitCalendar = forwardRef((props, ref) => {
|
|
|
86
86
|
return /* @__PURE__ */ jsxs(DatePicker.Root, {
|
|
87
87
|
defaultValue: defaultValue instanceof Array ? defaultValue.map(dateToCalendarDate) : defaultValue ? [dateToCalendarDate(defaultValue)] : void 0,
|
|
88
88
|
device,
|
|
89
|
+
layout,
|
|
89
90
|
numOfMonths: layout === "2-month" ? 2 : 1,
|
|
90
91
|
ref,
|
|
91
92
|
inline,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitkitCalendar.js","names":[],"sources":["../../../lib/components/BitkitCalendar/BitkitCalendar.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { type CalendarDate } from '@internationalized/date';\nimport { forwardRef, type ReactNode, useEffect, useMemo, useRef } from 'react';\n\nimport { DatePicker, useDatePickerContext } from '../../atoms/DatePicker/DatePicker';\nimport { calendarDateToDate, dateToCalendarDate } from './Calendar.utils';\nimport CalendarFooter from './components/CalendarFooter';\nimport CalendarMonth from './components/CalendarMonth';\nimport CalendarMonthSelect from './components/CalendarMonthSelect';\nimport CalendarNextTrigger from './components/CalendarNextTrigger';\nimport CalendarPrevTrigger from './components/CalendarPrevTrigger';\nimport CalendarTrigger from './components/CalendarTrigger';\nimport CalendarYearSelect from './components/CalendarYearSelect';\n\nexport interface BitkitCalendarProps {\n children?: ReactNode;\n defaultValue?: Date | Date[] | null;\n device?: 'desktop' | 'mobile';\n layout?: '1-month' | '2-month';\n max?: Date;\n min?: Date;\n onValueChange?: (value: Date[] | null) => void;\n selectionMode?: 'day' | 'range';\n showOutsideDays?: boolean;\n showSelectedDate?: boolean;\n value?: Date[] | null;\n}\n\nconst BitkitCalendarContent = ({\n layout,\n max,\n min,\n selectionMode,\n showSelectedDate,\n}: Pick<BitkitCalendarProps, 'layout' | 'selectionMode'> & {\n min?: CalendarDate;\n max?: CalendarDate;\n showSelectedDate?: boolean;\n}) => {\n const context = useDatePickerContext();\n const prevModeRef = useRef(selectionMode);\n\n useEffect(() => {\n if (prevModeRef.current !== selectionMode) {\n context.clearValue();\n prevModeRef.current = selectionMode;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectionMode]);\n\n return (\n <DatePicker.Content>\n <DatePicker.View view=\"day\">\n <DatePicker.ViewControl>\n <Box display=\"flex\" alignItems=\"center\" gap=\"12\">\n <CalendarPrevTrigger />\n\n <Box display=\"flex\" alignItems=\"center\">\n <CalendarMonthSelect offset={0} layout={layout} max={max} min={min} />\n <CalendarYearSelect monthOffset={0} max={max} min={min} />\n </Box>\n {layout === '1-month' && <CalendarNextTrigger />}\n </Box>\n {layout === '2-month' && (\n <Box display=\"flex\" alignItems=\"center\" gap=\"12\">\n <CalendarMonthSelect offset={1} layout={layout} max={max} min={min} />\n <CalendarYearSelect monthOffset={1} max={max} min={min} />\n <CalendarNextTrigger />\n </Box>\n )}\n </DatePicker.ViewControl>\n <DatePicker.Months>\n <CalendarMonth monthsIndex={0} />\n {layout === '2-month' && <CalendarMonth monthsIndex={1} />}\n </DatePicker.Months>\n </DatePicker.View>\n <CalendarFooter selectionMode={selectionMode} showSelectedDate={showSelectedDate} />\n </DatePicker.Content>\n );\n};\n\nconst BitkitCalendar = forwardRef<HTMLDivElement, BitkitCalendarProps>((props, ref) => {\n const {\n children,\n defaultValue,\n device = 'desktop',\n layout,\n selectionMode = 'range',\n min,\n max,\n onValueChange,\n showOutsideDays: showOutsideDaysProp = false,\n showSelectedDate = false,\n value: inputValue,\n ...rest\n } = props;\n\n const minCalendarDate = useMemo(() => (min ? dateToCalendarDate(min) : undefined), [min]);\n const maxCalendarDate = useMemo(() => (max ? dateToCalendarDate(max) : undefined), [max]);\n\n const value = inputValue?.map(dateToCalendarDate);\n\n const inline = !children;\n\n const content = (\n <BitkitCalendarContent\n layout={layout}\n max={maxCalendarDate}\n min={minCalendarDate}\n selectionMode={selectionMode}\n showSelectedDate={showSelectedDate}\n />\n );\n\n const showOutsideDays = showOutsideDaysProp ?? layout === '1-month';\n\n return (\n <DatePicker.Root\n defaultValue={\n defaultValue instanceof Array\n ? defaultValue.map(dateToCalendarDate)\n : defaultValue\n ? [dateToCalendarDate(defaultValue)]\n : undefined\n }\n device={device}\n numOfMonths={layout === '2-month' ? 2 : 1}\n ref={ref}\n inline={inline}\n min={minCalendarDate}\n max={maxCalendarDate}\n onValueChange={\n onValueChange\n ? (details) => {\n const dates = details.value?.map(calendarDateToDate) || null;\n onValueChange(dates);\n }\n : undefined\n }\n selectionMode={selectionMode === 'day' ? 'single' : 'range'}\n showOutsideDays={showOutsideDays}\n startOfWeek={1}\n value={value}\n {...rest}\n >\n {!inline && (\n <DatePicker.Control>\n <CalendarTrigger>{children}</CalendarTrigger>\n </DatePicker.Control>\n )}\n {inline ? (\n content\n ) : (\n <Portal>\n <DatePicker.Positioner>{content}</DatePicker.Positioner>\n </Portal>\n )}\n </DatePicker.Root>\n );\n});\n\nBitkitCalendar.displayName = 'BitkitCalendar';\n\nexport default BitkitCalendar;\n"],"mappings":";;;;;;;;;;;;;;AA6BA,IAAM,yBAAyB,EAC7B,QACA,KACA,KACA,eACA,uBAKI;CACJ,MAAM,UAAU,sBAAsB;CACtC,MAAM,cAAc,OAAO,cAAc;AAEzC,iBAAgB;AACd,MAAI,YAAY,YAAY,eAAe;AACzC,WAAQ,YAAY;AACpB,eAAY,UAAU;;IAGvB,CAAC,cAAc,CAAC;AAEnB,QACE,qBAAC,WAAW,SAAZ,EAAA,UAAA,CACE,qBAAC,WAAW,MAAZ;EAAiB,MAAK;YAAtB,CACE,qBAAC,WAAW,aAAZ,EAAA,UAAA,CACE,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;GAAS,KAAI;aAA5C;IACE,oBAAC,qBAAD,EAAuB,CAAA;IAEvB,qBAAC,KAAD;KAAK,SAAQ;KAAO,YAAW;eAA/B,CACE,oBAAC,qBAAD;MAAqB,QAAQ;MAAW;MAAa;MAAU;MAAO,CAAA,EACtE,oBAAC,oBAAD;MAAoB,aAAa;MAAQ;MAAU;MAAO,CAAA,CACtD;;IACL,WAAW,aAAa,oBAAC,qBAAD,EAAuB,CAAA;IAC5C;MACL,WAAW,aACV,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;GAAS,KAAI;aAA5C;IACE,oBAAC,qBAAD;KAAqB,QAAQ;KAAW;KAAa;KAAU;KAAO,CAAA;IACtE,oBAAC,oBAAD;KAAoB,aAAa;KAAQ;KAAU;KAAO,CAAA;IAC1D,oBAAC,qBAAD,EAAuB,CAAA;IACnB;KAEe,EAAA,CAAA,EACzB,qBAAC,WAAW,QAAZ,EAAA,UAAA,CACE,oBAAC,eAAD,EAAe,aAAa,GAAK,CAAA,EAChC,WAAW,aAAa,oBAAC,eAAD,EAAe,aAAa,GAAK,CAAA,CACxC,EAAA,CAAA,CACJ;KAClB,oBAAC,gBAAD;EAA+B;EAAiC;EAAoB,CAAA,CACjE,EAAA,CAAA;;AAIzB,IAAM,iBAAiB,YAAiD,OAAO,QAAQ;CACrF,MAAM,EACJ,UACA,cACA,SAAS,WACT,QACA,gBAAgB,SAChB,KACA,KACA,eACA,iBAAiB,sBAAsB,OACvC,mBAAmB,OACnB,OAAO,YACP,GAAG,SACD;CAEJ,MAAM,kBAAkB,cAAe,MAAM,mBAAmB,IAAI,GAAG,KAAA,GAAY,CAAC,IAAI,CAAC;CACzF,MAAM,kBAAkB,cAAe,MAAM,mBAAmB,IAAI,GAAG,KAAA,GAAY,CAAC,IAAI,CAAC;CAEzF,MAAM,QAAQ,YAAY,IAAI,mBAAmB;CAEjD,MAAM,SAAS,CAAC;CAEhB,MAAM,UACJ,oBAAC,uBAAD;EACU;EACR,KAAK;EACL,KAAK;EACU;EACG;EAClB,CAAA;CAGJ,MAAM,kBAAkB,uBAAuB,WAAW;AAE1D,QACE,qBAAC,WAAW,MAAZ;EACE,cACE,wBAAwB,QACpB,aAAa,IAAI,mBAAmB,GACpC,eACE,CAAC,mBAAmB,aAAa,CAAC,GAClC,KAAA;EAEA;EACR,aAAa,WAAW,YAAY,IAAI;EACnC;EACG;EACR,KAAK;EACL,KAAK;EACL,eACE,iBACK,YAAY;AAEX,iBADc,QAAQ,OAAO,IAAI,mBAAmB,IAAI,KACpC;MAEtB,KAAA;EAEN,eAAe,kBAAkB,QAAQ,WAAW;EACnC;EACjB,aAAa;EACN;EACP,GAAI;
|
|
1
|
+
{"version":3,"file":"BitkitCalendar.js","names":[],"sources":["../../../lib/components/BitkitCalendar/BitkitCalendar.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { type CalendarDate } from '@internationalized/date';\nimport { forwardRef, type ReactNode, useEffect, useMemo, useRef } from 'react';\n\nimport { DatePicker, useDatePickerContext } from '../../atoms/DatePicker/DatePicker';\nimport { calendarDateToDate, dateToCalendarDate } from './Calendar.utils';\nimport CalendarFooter from './components/CalendarFooter';\nimport CalendarMonth from './components/CalendarMonth';\nimport CalendarMonthSelect from './components/CalendarMonthSelect';\nimport CalendarNextTrigger from './components/CalendarNextTrigger';\nimport CalendarPrevTrigger from './components/CalendarPrevTrigger';\nimport CalendarTrigger from './components/CalendarTrigger';\nimport CalendarYearSelect from './components/CalendarYearSelect';\n\nexport interface BitkitCalendarProps {\n children?: ReactNode;\n defaultValue?: Date | Date[] | null;\n device?: 'desktop' | 'mobile';\n layout?: '1-month' | '2-month';\n max?: Date;\n min?: Date;\n onValueChange?: (value: Date[] | null) => void;\n selectionMode?: 'day' | 'range';\n showOutsideDays?: boolean;\n showSelectedDate?: boolean;\n value?: Date[] | null;\n}\n\nconst BitkitCalendarContent = ({\n layout,\n max,\n min,\n selectionMode,\n showSelectedDate,\n}: Pick<BitkitCalendarProps, 'layout' | 'selectionMode'> & {\n min?: CalendarDate;\n max?: CalendarDate;\n showSelectedDate?: boolean;\n}) => {\n const context = useDatePickerContext();\n const prevModeRef = useRef(selectionMode);\n\n useEffect(() => {\n if (prevModeRef.current !== selectionMode) {\n context.clearValue();\n prevModeRef.current = selectionMode;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectionMode]);\n\n return (\n <DatePicker.Content>\n <DatePicker.View view=\"day\">\n <DatePicker.ViewControl>\n <Box display=\"flex\" alignItems=\"center\" gap=\"12\">\n <CalendarPrevTrigger />\n\n <Box display=\"flex\" alignItems=\"center\">\n <CalendarMonthSelect offset={0} layout={layout} max={max} min={min} />\n <CalendarYearSelect monthOffset={0} max={max} min={min} />\n </Box>\n {layout === '1-month' && <CalendarNextTrigger />}\n </Box>\n {layout === '2-month' && (\n <Box display=\"flex\" alignItems=\"center\" gap=\"12\">\n <CalendarMonthSelect offset={1} layout={layout} max={max} min={min} />\n <CalendarYearSelect monthOffset={1} max={max} min={min} />\n <CalendarNextTrigger />\n </Box>\n )}\n </DatePicker.ViewControl>\n <DatePicker.Months>\n <CalendarMonth monthsIndex={0} />\n {layout === '2-month' && <CalendarMonth monthsIndex={1} />}\n </DatePicker.Months>\n </DatePicker.View>\n <CalendarFooter selectionMode={selectionMode} showSelectedDate={showSelectedDate} />\n </DatePicker.Content>\n );\n};\n\nconst BitkitCalendar = forwardRef<HTMLDivElement, BitkitCalendarProps>((props, ref) => {\n const {\n children,\n defaultValue,\n device = 'desktop',\n layout,\n selectionMode = 'range',\n min,\n max,\n onValueChange,\n showOutsideDays: showOutsideDaysProp = false,\n showSelectedDate = false,\n value: inputValue,\n ...rest\n } = props;\n\n const minCalendarDate = useMemo(() => (min ? dateToCalendarDate(min) : undefined), [min]);\n const maxCalendarDate = useMemo(() => (max ? dateToCalendarDate(max) : undefined), [max]);\n\n const value = inputValue?.map(dateToCalendarDate);\n\n const inline = !children;\n\n const content = (\n <BitkitCalendarContent\n layout={layout}\n max={maxCalendarDate}\n min={minCalendarDate}\n selectionMode={selectionMode}\n showSelectedDate={showSelectedDate}\n />\n );\n\n const showOutsideDays = showOutsideDaysProp ?? layout === '1-month';\n\n return (\n <DatePicker.Root\n defaultValue={\n defaultValue instanceof Array\n ? defaultValue.map(dateToCalendarDate)\n : defaultValue\n ? [dateToCalendarDate(defaultValue)]\n : undefined\n }\n device={device}\n layout={layout}\n numOfMonths={layout === '2-month' ? 2 : 1}\n ref={ref}\n inline={inline}\n min={minCalendarDate}\n max={maxCalendarDate}\n onValueChange={\n onValueChange\n ? (details) => {\n const dates = details.value?.map(calendarDateToDate) || null;\n onValueChange(dates);\n }\n : undefined\n }\n selectionMode={selectionMode === 'day' ? 'single' : 'range'}\n showOutsideDays={showOutsideDays}\n startOfWeek={1}\n value={value}\n {...rest}\n >\n {!inline && (\n <DatePicker.Control>\n <CalendarTrigger>{children}</CalendarTrigger>\n </DatePicker.Control>\n )}\n {inline ? (\n content\n ) : (\n <Portal>\n <DatePicker.Positioner>{content}</DatePicker.Positioner>\n </Portal>\n )}\n </DatePicker.Root>\n );\n});\n\nBitkitCalendar.displayName = 'BitkitCalendar';\n\nexport default BitkitCalendar;\n"],"mappings":";;;;;;;;;;;;;;AA6BA,IAAM,yBAAyB,EAC7B,QACA,KACA,KACA,eACA,uBAKI;CACJ,MAAM,UAAU,sBAAsB;CACtC,MAAM,cAAc,OAAO,cAAc;AAEzC,iBAAgB;AACd,MAAI,YAAY,YAAY,eAAe;AACzC,WAAQ,YAAY;AACpB,eAAY,UAAU;;IAGvB,CAAC,cAAc,CAAC;AAEnB,QACE,qBAAC,WAAW,SAAZ,EAAA,UAAA,CACE,qBAAC,WAAW,MAAZ;EAAiB,MAAK;YAAtB,CACE,qBAAC,WAAW,aAAZ,EAAA,UAAA,CACE,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;GAAS,KAAI;aAA5C;IACE,oBAAC,qBAAD,EAAuB,CAAA;IAEvB,qBAAC,KAAD;KAAK,SAAQ;KAAO,YAAW;eAA/B,CACE,oBAAC,qBAAD;MAAqB,QAAQ;MAAW;MAAa;MAAU;MAAO,CAAA,EACtE,oBAAC,oBAAD;MAAoB,aAAa;MAAQ;MAAU;MAAO,CAAA,CACtD;;IACL,WAAW,aAAa,oBAAC,qBAAD,EAAuB,CAAA;IAC5C;MACL,WAAW,aACV,qBAAC,KAAD;GAAK,SAAQ;GAAO,YAAW;GAAS,KAAI;aAA5C;IACE,oBAAC,qBAAD;KAAqB,QAAQ;KAAW;KAAa;KAAU;KAAO,CAAA;IACtE,oBAAC,oBAAD;KAAoB,aAAa;KAAQ;KAAU;KAAO,CAAA;IAC1D,oBAAC,qBAAD,EAAuB,CAAA;IACnB;KAEe,EAAA,CAAA,EACzB,qBAAC,WAAW,QAAZ,EAAA,UAAA,CACE,oBAAC,eAAD,EAAe,aAAa,GAAK,CAAA,EAChC,WAAW,aAAa,oBAAC,eAAD,EAAe,aAAa,GAAK,CAAA,CACxC,EAAA,CAAA,CACJ;KAClB,oBAAC,gBAAD;EAA+B;EAAiC;EAAoB,CAAA,CACjE,EAAA,CAAA;;AAIzB,IAAM,iBAAiB,YAAiD,OAAO,QAAQ;CACrF,MAAM,EACJ,UACA,cACA,SAAS,WACT,QACA,gBAAgB,SAChB,KACA,KACA,eACA,iBAAiB,sBAAsB,OACvC,mBAAmB,OACnB,OAAO,YACP,GAAG,SACD;CAEJ,MAAM,kBAAkB,cAAe,MAAM,mBAAmB,IAAI,GAAG,KAAA,GAAY,CAAC,IAAI,CAAC;CACzF,MAAM,kBAAkB,cAAe,MAAM,mBAAmB,IAAI,GAAG,KAAA,GAAY,CAAC,IAAI,CAAC;CAEzF,MAAM,QAAQ,YAAY,IAAI,mBAAmB;CAEjD,MAAM,SAAS,CAAC;CAEhB,MAAM,UACJ,oBAAC,uBAAD;EACU;EACR,KAAK;EACL,KAAK;EACU;EACG;EAClB,CAAA;CAGJ,MAAM,kBAAkB,uBAAuB,WAAW;AAE1D,QACE,qBAAC,WAAW,MAAZ;EACE,cACE,wBAAwB,QACpB,aAAa,IAAI,mBAAmB,GACpC,eACE,CAAC,mBAAmB,aAAa,CAAC,GAClC,KAAA;EAEA;EACA;EACR,aAAa,WAAW,YAAY,IAAI;EACnC;EACG;EACR,KAAK;EACL,KAAK;EACL,eACE,iBACK,YAAY;AAEX,iBADc,QAAQ,OAAO,IAAI,mBAAmB,IAAI,KACpC;MAEtB,KAAA;EAEN,eAAe,kBAAkB,QAAQ,WAAW;EACnC;EACjB,aAAa;EACN;EACP,GAAI;YA3BN,CA6BG,CAAC,UACA,oBAAC,WAAW,SAAZ,EAAA,UACE,oBAAC,iBAAD,EAAkB,UAA2B,CAAA,EAC1B,CAAA,EAEtB,SACC,UAEA,oBAAC,QAAD,EAAA,UACE,oBAAC,WAAW,YAAZ,EAAA,UAAwB,SAAgC,CAAA,EACjD,CAAA,CAEK;;EAEpB;AAEF,eAAe,cAAc"}
|