@flipdish/ui-library 0.47.1 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/organisms/DatePicker/components/Calendar.cjs +2 -2
- package/dist/components/organisms/DatePicker/components/Calendar.cjs.map +1 -1
- package/dist/components/organisms/DatePicker/components/Calendar.d.ts +3 -1
- package/dist/components/organisms/DatePicker/components/Calendar.d.ts.map +1 -1
- package/dist/components/organisms/DatePicker/components/Calendar.js +2 -2
- package/dist/components/organisms/DatePicker/components/Calendar.js.map +1 -1
- package/dist/components/organisms/DatePicker/components/CalendarOverlay.cjs +26 -0
- package/dist/components/organisms/DatePicker/components/CalendarOverlay.cjs.map +1 -0
- package/dist/components/organisms/DatePicker/components/CalendarOverlay.d.ts +15 -0
- package/dist/components/organisms/DatePicker/components/CalendarOverlay.d.ts.map +1 -0
- package/dist/components/organisms/DatePicker/components/CalendarOverlay.js +24 -0
- package/dist/components/organisms/DatePicker/components/CalendarOverlay.js.map +1 -0
- package/dist/components/organisms/DatePicker/components/Cell.cjs +4 -2
- package/dist/components/organisms/DatePicker/components/Cell.cjs.map +1 -1
- package/dist/components/organisms/DatePicker/components/Cell.d.ts.map +1 -1
- package/dist/components/organisms/DatePicker/components/Cell.js +4 -2
- package/dist/components/organisms/DatePicker/components/Cell.js.map +1 -1
- package/dist/components/organisms/DatePicker/components/DateRangePicker.cjs +20 -25
- package/dist/components/organisms/DatePicker/components/DateRangePicker.cjs.map +1 -1
- package/dist/components/organisms/DatePicker/components/DateRangePicker.d.ts +9 -4
- package/dist/components/organisms/DatePicker/components/DateRangePicker.d.ts.map +1 -1
- package/dist/components/organisms/DatePicker/components/DateRangePicker.js +21 -26
- package/dist/components/organisms/DatePicker/components/DateRangePicker.js.map +1 -1
- package/dist/components/organisms/DatePicker/components/RangeCalendar.cjs +1 -1
- package/dist/components/organisms/DatePicker/components/RangeCalendar.cjs.map +1 -1
- package/dist/components/organisms/DatePicker/components/RangeCalendar.d.ts.map +1 -1
- package/dist/components/organisms/DatePicker/components/RangeCalendar.js +1 -1
- package/dist/components/organisms/DatePicker/components/RangeCalendar.js.map +1 -1
- package/dist/components/organisms/DatePicker/index.cjs +13 -16
- package/dist/components/organisms/DatePicker/index.cjs.map +1 -1
- package/dist/components/organisms/DatePicker/index.d.ts +6 -4
- package/dist/components/organisms/DatePicker/index.d.ts.map +1 -1
- package/dist/components/organisms/DatePicker/index.js +14 -17
- package/dist/components/organisms/DatePicker/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,14 +20,14 @@ const CalendarContextProvider = ({ children }) => {
|
|
|
20
20
|
};
|
|
21
21
|
return jsxRuntime.jsx(reactAriaComponents.CalendarContext.Provider, { value: { value, onChange, focusedValue, onFocusChange }, children: children });
|
|
22
22
|
};
|
|
23
|
-
const Calendar = ({ highlightedDates, className, children, ...props }) => {
|
|
23
|
+
const Calendar = ({ highlightedDates, className, children, showOutOfRangeDates = false, ...props }) => {
|
|
24
24
|
const context = reactAriaComponents.useSlottedContext(reactAriaComponents.CalendarContext);
|
|
25
25
|
const ContextWrapper = context ? React.Fragment : CalendarContextProvider;
|
|
26
26
|
const prefix = testIdUtils.useTestIdPrefix();
|
|
27
27
|
return (jsxRuntime.jsx(ContextWrapper, { children: jsxRuntime.jsx(reactAriaComponents.Calendar, { ...props, className: (state) => cx.cx('flex flex-col gap-3', typeof className === 'function' ? className(state) : className), children: ({ state }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [jsxRuntime.jsx(Button.Button, { slot: "previous", iconLeading: uiIcons.ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": prefix ? testIdUtils.joinTestId(prefix, 'prev') : undefined }), jsxRuntime.jsx(reactAriaComponents.Heading, { className: "text-sm font-semibold text-fg-secondary" }), jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": prefix ? testIdUtils.joinTestId(prefix, 'next') : undefined })] }), children || (jsxRuntime.jsxs("div", { className: "flex gap-3", children: [jsxRuntime.jsx(InputDate.InputDateBase, { "aria-label": "Date", size: "sm", className: "flex-1" }), jsxRuntime.jsx(Button.Button, { slot: null, size: "sm", color: "secondary", onClick: () => {
|
|
28
28
|
state.setValue(date.today(date.getLocalTimeZone()));
|
|
29
29
|
state.setFocusedDate(date.today(date.getLocalTimeZone()));
|
|
30
|
-
}, children: "Today" })] })), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { className: "border-b-4 border-transparent", children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => (jsxRuntime.jsx(Cell.CalendarCell, { date: date, isHighlighted: highlightedDates?.some((highlightedDate) => date.compare(highlightedDate) === 0) })) })] })] })) }) }));
|
|
30
|
+
}, children: "Today" })] })), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { className: "border-b-4 border-transparent", children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => (jsxRuntime.jsx(Cell.CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates, isHighlighted: highlightedDates?.some((highlightedDate) => date.compare(highlightedDate) === 0) })) })] })] })) }) }));
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
exports.Calendar = Calendar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/Calendar.tsx"],"sourcesContent":[null],"names":["useState","_jsx","AriaCalendarContext","useSlottedContext","Fragment","useTestIdPrefix","AriaCalendar","cx","_jsxs","Button","ChevronLeft","joinTestId","AriaHeading","ChevronRight","InputDateBase","today","getLocalTimeZone","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarCell"],"mappings":";;;;;;;;;;;;;MAuBa,uBAAuB,GAAG,CAAC,EAAE,QAAQ,EAAqB,KAAI;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAmB,IAAI,CAAC;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAGA,cAAQ,EAAyB;IACzE,MAAM,aAAa,GAAG,CAAC,QAAmB,KAAK,eAAe,CAAC,QAAQ,CAAC;AAExE,IAAA,MAAM,QAAQ,GAAG,CAAC,QAA0C,KAAI;AAC9D,QAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAI,QAAsB,CAAC;AACpE,IAAA,CAAC;AAED,IAAA,OAAOC,eAACC,mCAAmB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,EAAA,QAAA,EAAG,QAAQ,GAAgC;AACzI;
|
|
1
|
+
{"version":3,"file":"Calendar.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/Calendar.tsx"],"sourcesContent":[null],"names":["useState","_jsx","AriaCalendarContext","useSlottedContext","Fragment","useTestIdPrefix","AriaCalendar","cx","_jsxs","Button","ChevronLeft","joinTestId","AriaHeading","ChevronRight","InputDateBase","today","getLocalTimeZone","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarCell"],"mappings":"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"}
|
|
@@ -9,7 +9,9 @@ interface CalendarProps extends AriaCalendarProps<DateValue> {
|
|
|
9
9
|
* If not provided, a default layout will be rendered with a date input and a today button.
|
|
10
10
|
*/
|
|
11
11
|
children?: ReactNode;
|
|
12
|
+
/** Shows the padding days of the previous and next month instead of hiding them. */
|
|
13
|
+
showOutOfRangeDates?: boolean;
|
|
12
14
|
}
|
|
13
|
-
export declare const Calendar: ({ highlightedDates, className, children, ...props }: CalendarProps) => import("react").JSX.Element;
|
|
15
|
+
export declare const Calendar: ({ highlightedDates, className, children, showOutOfRangeDates, ...props }: CalendarProps) => import("react").JSX.Element;
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=Calendar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/Calendar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAc3F,eAAO,MAAM,uBAAuB,GAAI,cAAc,iBAAiB,gCAUtE,CAAC;AAEF,UAAU,aAAc,SAAQ,iBAAiB,CAAC,SAAS,CAAC;IAC1D,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/Calendar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAc3F,eAAO,MAAM,uBAAuB,GAAI,cAAc,iBAAiB,gCAUtE,CAAC;AAEF,UAAU,aAAc,SAAQ,iBAAiB,CAAC,SAAS,CAAC;IAC1D,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,QAAQ,GAAI,0EAAkF,aAAa,gCAwEvH,CAAC"}
|
|
@@ -18,14 +18,14 @@ const CalendarContextProvider = ({ children }) => {
|
|
|
18
18
|
};
|
|
19
19
|
return jsx(CalendarContext.Provider, { value: { value, onChange, focusedValue, onFocusChange }, children: children });
|
|
20
20
|
};
|
|
21
|
-
const Calendar = ({ highlightedDates, className, children, ...props }) => {
|
|
21
|
+
const Calendar = ({ highlightedDates, className, children, showOutOfRangeDates = false, ...props }) => {
|
|
22
22
|
const context = useSlottedContext(CalendarContext);
|
|
23
23
|
const ContextWrapper = context ? Fragment : CalendarContextProvider;
|
|
24
24
|
const prefix = useTestIdPrefix();
|
|
25
25
|
return (jsx(ContextWrapper, { children: jsx(Calendar$1, { ...props, className: (state) => cx('flex flex-col gap-3', typeof className === 'function' ? className(state) : className), children: ({ state }) => (jsxs(Fragment$1, { children: [jsxs("div", { className: "flex items-center justify-between", children: [jsx(Button, { slot: "previous", iconLeading: ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": prefix ? joinTestId(prefix, 'prev') : undefined }), jsx(Heading, { className: "text-sm font-semibold text-fg-secondary" }), jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": prefix ? joinTestId(prefix, 'next') : undefined })] }), children || (jsxs("div", { className: "flex gap-3", children: [jsx(InputDateBase, { "aria-label": "Date", size: "sm", className: "flex-1" }), jsx(Button, { slot: null, size: "sm", color: "secondary", onClick: () => {
|
|
26
26
|
state.setValue(today(getLocalTimeZone()));
|
|
27
27
|
state.setFocusedDate(today(getLocalTimeZone()));
|
|
28
|
-
}, children: "Today" })] })), jsxs(CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsx(CalendarGridHeader, { className: "border-b-4 border-transparent", children: (day) => (jsx(CalendarHeaderCell, { className: "p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => (jsx(CalendarCell, { date: date, isHighlighted: highlightedDates?.some((highlightedDate) => date.compare(highlightedDate) === 0) })) })] })] })) }) }));
|
|
28
|
+
}, children: "Today" })] })), jsxs(CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsx(CalendarGridHeader, { className: "border-b-4 border-transparent", children: (day) => (jsx(CalendarHeaderCell, { className: "p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => (jsx(CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates, isHighlighted: highlightedDates?.some((highlightedDate) => date.compare(highlightedDate) === 0) })) })] })] })) }) }));
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
export { Calendar, CalendarContextProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../../../../src/components/organisms/DatePicker/components/Calendar.tsx"],"sourcesContent":[null],"names":["_jsx","AriaCalendarContext","AriaCalendar","_jsxs","AriaHeading","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody"],"mappings":";;;;;;;;;;;MAuBa,uBAAuB,GAAG,CAAC,EAAE,QAAQ,EAAqB,KAAI;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAyB;IACzE,MAAM,aAAa,GAAG,CAAC,QAAmB,KAAK,eAAe,CAAC,QAAQ,CAAC;AAExE,IAAA,MAAM,QAAQ,GAAG,CAAC,QAA0C,KAAI;AAC9D,QAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAI,QAAsB,CAAC;AACpE,IAAA,CAAC;AAED,IAAA,OAAOA,IAACC,eAAmB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,EAAA,QAAA,EAAG,QAAQ,GAAgC;AACzI;
|
|
1
|
+
{"version":3,"file":"Calendar.js","sources":["../../../../../src/components/organisms/DatePicker/components/Calendar.tsx"],"sourcesContent":[null],"names":["_jsx","AriaCalendarContext","AriaCalendar","_jsxs","AriaHeading","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Modal = require('@flipdish/ui-library/components/molecules/Modal');
|
|
5
|
+
var useBreakpoints = require('@flipdish/ui-library/hooks/useBreakpoints');
|
|
6
|
+
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
7
|
+
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
8
|
+
var reactAriaComponents = require('react-aria-components');
|
|
9
|
+
var ScrollClosingPopover = require('../../../__internal__/popover/ScrollClosingPopover.cjs');
|
|
10
|
+
|
|
11
|
+
const CalendarOverlay = ({ 'aria-label': ariaLabel, 'data-testid': dataTestId, className, children }) => {
|
|
12
|
+
const isDesktop = useBreakpoints.useBreakpoints('md');
|
|
13
|
+
const prefix = testIdUtils.useTestIdPrefix();
|
|
14
|
+
if (!isDesktop) {
|
|
15
|
+
// The picker's trigger state reaches ModalOverlay through react-aria's OverlayTriggerStateContext, so no open state is passed.
|
|
16
|
+
return (
|
|
17
|
+
// Flush bottom sheet all the way to `md`: the `sm:` overrides undo Modal's centred-card mode, since this surface never renders above `md`.
|
|
18
|
+
jsxRuntime.jsx(Modal.ModalOverlay, { isDismissable: true, className: "px-0 [--modal-pb:0px] sm:items-end sm:px-0 sm:[--modal-pb:0px] sm:[--modal-pt:16px]", children: jsxRuntime.jsx(Modal.Modal, { className: "w-full rounded-t-2xl rounded-b-none sm:rounded-t-2xl sm:rounded-b-none", children: jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: prefix, children: jsxRuntime.jsx(Modal.Dialog, { "aria-label": ariaLabel, "data-testid": dataTestId, className: cx.cx('flex flex-col items-center', className), children: children }) }) }) }));
|
|
19
|
+
}
|
|
20
|
+
return (jsxRuntime.jsx(ScrollClosingPopover.ScrollClosingPopover, { placement: "bottom right", offset: 8, className: ({ isEntering, isExiting }) => cx.cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
|
|
21
|
+
'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
|
|
22
|
+
'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsxRuntime.jsx(reactAriaComponents.Dialog, { "aria-label": ariaLabel, "data-testid": dataTestId, className: cx.cx('max-h-[inherit] overflow-y-auto rounded-2xl bg-primary shadow-xl ring ring-secondary_alt', className), children: children }) }));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.CalendarOverlay = CalendarOverlay;
|
|
26
|
+
//# sourceMappingURL=CalendarOverlay.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarOverlay.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/CalendarOverlay.tsx"],"sourcesContent":[null],"names":["useBreakpoints","useTestIdPrefix","_jsx","ModalOverlay","Modal","TestIdProvider","Dialog","cx","ScrollClosingPopover","AriaDialog"],"mappings":";;;;;;;;;;AAsBO,MAAM,eAAe,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAwB,KAAI;AACnI,IAAA,MAAM,SAAS,GAAGA,6BAAc,CAAC,IAAI,CAAC;AACtC,IAAA,MAAM,MAAM,GAAGC,2BAAe,EAAE;IAEhC,IAAI,CAAC,SAAS,EAAE;;QAEd;;QAEEC,cAAA,CAACC,kBAAY,IAAC,aAAa,EAAA,IAAA,EAAC,SAAS,EAAC,qFAAqF,YACzHD,cAAA,CAACE,WAAK,IAAC,SAAS,EAAC,wEAAwE,EAAA,QAAA,EAEvFF,cAAA,CAACG,0BAAc,EAAA,EAAC,KAAK,EAAE,MAAM,EAAA,QAAA,EAE3BH,eAACI,YAAM,EAAA,EAAA,YAAA,EAAa,SAAS,EAAA,aAAA,EAAe,UAAU,EAAE,SAAS,EAAEC,KAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,YAC3G,QAAQ,EAAA,CACF,GACM,EAAA,CACX,EAAA,CACK;IAEnB;IAEA,QACEL,cAAA,CAACM,yCAAoB,EAAA,EACnB,SAAS,EAAC,cAAc,EACxB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnCD,KAAE,CACA,uDAAuD,EACvD,UAAU;AACR,YAAA,+JAA+J,EACjK,SAAS;YACP,6JAA6J,CAChK,YAIHL,cAAA,CAACO,0BAAU,kBACG,SAAS,EAAA,aAAA,EACR,UAAU,EACvB,SAAS,EAAEF,KAAE,CAAC,0FAA0F,EAAE,SAAS,CAAC,YAEnH,QAAQ,EAAA,CACE,EAAA,CACQ;AAE3B;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { DialogRenderProps } from 'react-aria-components';
|
|
3
|
+
interface CalendarOverlayProps {
|
|
4
|
+
/** Accessible name of the dialog. */
|
|
5
|
+
'aria-label': string;
|
|
6
|
+
/** `data-testid` of the dialog, the same on both surfaces. */
|
|
7
|
+
'data-testid': string;
|
|
8
|
+
/** Extra classes for the dialog on both surfaces. */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Dialog content; `close` dismisses whichever surface is showing. */
|
|
11
|
+
children: (renderProps: DialogRenderProps) => ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare const CalendarOverlay: ({ "aria-label": ariaLabel, "data-testid": dataTestId, className, children }: CalendarOverlayProps) => import("react").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=CalendarOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/CalendarOverlay.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,UAAU,oBAAoB;IAC5B,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,SAAS,CAAC;CACzD;AAED,eAAO,MAAM,eAAe,GAAI,6EAA6E,oBAAoB,gCA8ChI,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ModalOverlay, Modal, Dialog } from '@flipdish/ui-library/components/molecules/Modal';
|
|
3
|
+
import { useBreakpoints } from '@flipdish/ui-library/hooks/useBreakpoints';
|
|
4
|
+
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
5
|
+
import { useTestIdPrefix, TestIdProvider } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
6
|
+
import { Dialog as Dialog$1 } from 'react-aria-components';
|
|
7
|
+
import { ScrollClosingPopover } from '../../../__internal__/popover/ScrollClosingPopover.js';
|
|
8
|
+
|
|
9
|
+
const CalendarOverlay = ({ 'aria-label': ariaLabel, 'data-testid': dataTestId, className, children }) => {
|
|
10
|
+
const isDesktop = useBreakpoints('md');
|
|
11
|
+
const prefix = useTestIdPrefix();
|
|
12
|
+
if (!isDesktop) {
|
|
13
|
+
// The picker's trigger state reaches ModalOverlay through react-aria's OverlayTriggerStateContext, so no open state is passed.
|
|
14
|
+
return (
|
|
15
|
+
// Flush bottom sheet all the way to `md`: the `sm:` overrides undo Modal's centred-card mode, since this surface never renders above `md`.
|
|
16
|
+
jsx(ModalOverlay, { isDismissable: true, className: "px-0 [--modal-pb:0px] sm:items-end sm:px-0 sm:[--modal-pb:0px] sm:[--modal-pt:16px]", children: jsx(Modal, { className: "w-full rounded-t-2xl rounded-b-none sm:rounded-t-2xl sm:rounded-b-none", children: jsx(TestIdProvider, { value: prefix, children: jsx(Dialog, { "aria-label": ariaLabel, "data-testid": dataTestId, className: cx('flex flex-col items-center', className), children: children }) }) }) }));
|
|
17
|
+
}
|
|
18
|
+
return (jsx(ScrollClosingPopover, { placement: "bottom right", offset: 8, className: ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
|
|
19
|
+
'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
|
|
20
|
+
'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsx(Dialog$1, { "aria-label": ariaLabel, "data-testid": dataTestId, className: cx('max-h-[inherit] overflow-y-auto rounded-2xl bg-primary shadow-xl ring ring-secondary_alt', className), children: children }) }));
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { CalendarOverlay };
|
|
24
|
+
//# sourceMappingURL=CalendarOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarOverlay.js","sources":["../../../../../src/components/organisms/DatePicker/components/CalendarOverlay.tsx"],"sourcesContent":[null],"names":["_jsx","AriaDialog"],"mappings":";;;;;;;;AAsBO,MAAM,eAAe,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAwB,KAAI;AACnI,IAAA,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC;AACtC,IAAA,MAAM,MAAM,GAAG,eAAe,EAAE;IAEhC,IAAI,CAAC,SAAS,EAAE;;QAEd;;QAEEA,GAAA,CAAC,YAAY,IAAC,aAAa,EAAA,IAAA,EAAC,SAAS,EAAC,qFAAqF,YACzHA,GAAA,CAAC,KAAK,IAAC,SAAS,EAAC,wEAAwE,EAAA,QAAA,EAEvFA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAE,MAAM,EAAA,QAAA,EAE3BA,IAAC,MAAM,EAAA,EAAA,YAAA,EAAa,SAAS,EAAA,aAAA,EAAe,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,YAC3G,QAAQ,EAAA,CACF,GACM,EAAA,CACX,EAAA,CACK;IAEnB;IAEA,QACEA,GAAA,CAAC,oBAAoB,EAAA,EACnB,SAAS,EAAC,cAAc,EACxB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnC,EAAE,CACA,uDAAuD,EACvD,UAAU;AACR,YAAA,+JAA+J,EACjK,SAAS;YACP,6JAA6J,CAChK,YAIHA,GAAA,CAACC,QAAU,kBACG,SAAS,EAAA,aAAA,EACR,UAAU,EACvB,SAAS,EAAE,EAAE,CAAC,0FAA0F,EAAE,SAAS,CAAC,YAEnH,QAAQ,EAAA,CACE,EAAA,CACQ;AAE3B;;"}
|
|
@@ -8,11 +8,13 @@ var React = require('react');
|
|
|
8
8
|
var reactAriaComponents = require('react-aria-components');
|
|
9
9
|
var calendarCell_utils = require('../calendarCell.utils.cjs');
|
|
10
10
|
|
|
11
|
-
const CalendarCell = ({ date: date$1, isHighlighted, showOutOfRangeDates
|
|
11
|
+
const CalendarCell = ({ date: date$1, isHighlighted, showOutOfRangeDates, ...props }) => {
|
|
12
12
|
const { locale } = reactAriaComponents.useLocale();
|
|
13
13
|
// The props context is merged into the calendar's value, so the cell reads the state context instead.
|
|
14
14
|
const rangeCalendarState = React.useContext(reactAriaComponents.RangeCalendarStateContext);
|
|
15
15
|
const isRangeCalendar = !!rangeCalendarState;
|
|
16
|
+
// Left unset, only range calendars hide the padding days; the Calendar organism's day-view mini calendar relies on seeing them.
|
|
17
|
+
const hidesOutOfRangeDates = showOutOfRangeDates === undefined ? isRangeCalendar : !showOutOfRangeDates;
|
|
16
18
|
const position = calendarCell_utils.getCalendarCellRangePosition(date$1, rangeCalendarState?.value ?? null);
|
|
17
19
|
const isTodayDate = date.isToday(date$1, date.getLocalTimeZone());
|
|
18
20
|
const prefix = testIdUtils.useTestIdPrefix();
|
|
@@ -27,7 +29,7 @@ const CalendarCell = ({ date: date$1, isHighlighted, showOutOfRangeDates = false
|
|
|
27
29
|
isRangeCalendar,
|
|
28
30
|
position,
|
|
29
31
|
});
|
|
30
|
-
return cx.cx('relative size-10 focus:outline-hidden', isRoundedLeft && 'rounded-l-full', isRoundedRight && 'rounded-r-full', position.isInRange && isDisabled && 'bg-secondary', isSelected && isRangeCalendar && 'bg-secondary', isDisabled ? 'pointer-events-none' : 'cursor-pointer', isFocusVisible ? 'z-10' : 'z-0', isOutsideMonth && 'opacity-50',
|
|
32
|
+
return cx.cx('relative size-10 focus:outline-hidden', isRoundedLeft && 'rounded-l-full', isRoundedRight && 'rounded-r-full', position.isInRange && isDisabled && 'bg-secondary', isSelected && isRangeCalendar && 'bg-secondary', isDisabled ? 'pointer-events-none' : 'cursor-pointer', isFocusVisible ? 'z-10' : 'z-0', isOutsideMonth && 'opacity-50', isOutsideMonth && hidesOutOfRangeDates && 'hidden',
|
|
31
33
|
// The range continues into the next month, so the highlight must bleed past this cell.
|
|
32
34
|
showTrailingGradient &&
|
|
33
35
|
'after:absolute after:inset-0 after:translate-x-full after:bg-gradient-to-l after:from-transparent after:to-bg-secondary in-[[role=gridcell]:last-child]:after:hidden',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cell.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/Cell.tsx"],"sourcesContent":[null],"names":["date","useLocale","useContext","RangeCalendarStateContext","getCalendarCellRangePosition","isToday","getLocalTimeZone","useTestIdPrefix","joinTestId","slugifyTestId","_jsx","AriaCalendarCell","getCalendarCellOutline","cx","isCalendarCellMarkedSelected","_jsxs"],"mappings":";;;;;;;;;;AAiBO,MAAM,YAAY,GAAG,CAAC,QAAEA,MAAI,EAAE,aAAa,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"Cell.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/Cell.tsx"],"sourcesContent":[null],"names":["date","useLocale","useContext","RangeCalendarStateContext","getCalendarCellRangePosition","isToday","getLocalTimeZone","useTestIdPrefix","joinTestId","slugifyTestId","_jsx","AriaCalendarCell","getCalendarCellOutline","cx","isCalendarCellMarkedSelected","_jsxs"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/Cell.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAIxF,UAAU,iBAAkB,SAAQ,qBAAqB;IACvD,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,GAAI,
|
|
1
|
+
{"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/Cell.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAIxF,UAAU,iBAAkB,SAAQ,qBAAqB;IACvD,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY,GAAI,wDAAwD,iBAAiB,gCA2FrG,CAAC"}
|
|
@@ -6,11 +6,13 @@ import { useContext } from 'react';
|
|
|
6
6
|
import { useLocale, RangeCalendarStateContext, CalendarCell as CalendarCell$1 } from 'react-aria-components';
|
|
7
7
|
import { getCalendarCellRangePosition, getCalendarCellOutline, isCalendarCellMarkedSelected } from '../calendarCell.utils.js';
|
|
8
8
|
|
|
9
|
-
const CalendarCell = ({ date, isHighlighted, showOutOfRangeDates
|
|
9
|
+
const CalendarCell = ({ date, isHighlighted, showOutOfRangeDates, ...props }) => {
|
|
10
10
|
const { locale } = useLocale();
|
|
11
11
|
// The props context is merged into the calendar's value, so the cell reads the state context instead.
|
|
12
12
|
const rangeCalendarState = useContext(RangeCalendarStateContext);
|
|
13
13
|
const isRangeCalendar = !!rangeCalendarState;
|
|
14
|
+
// Left unset, only range calendars hide the padding days; the Calendar organism's day-view mini calendar relies on seeing them.
|
|
15
|
+
const hidesOutOfRangeDates = showOutOfRangeDates === undefined ? isRangeCalendar : !showOutOfRangeDates;
|
|
14
16
|
const position = getCalendarCellRangePosition(date, rangeCalendarState?.value ?? null);
|
|
15
17
|
const isTodayDate = isToday(date, getLocalTimeZone());
|
|
16
18
|
const prefix = useTestIdPrefix();
|
|
@@ -25,7 +27,7 @@ const CalendarCell = ({ date, isHighlighted, showOutOfRangeDates = false, ...pro
|
|
|
25
27
|
isRangeCalendar,
|
|
26
28
|
position,
|
|
27
29
|
});
|
|
28
|
-
return cx('relative size-10 focus:outline-hidden', isRoundedLeft && 'rounded-l-full', isRoundedRight && 'rounded-r-full', position.isInRange && isDisabled && 'bg-secondary', isSelected && isRangeCalendar && 'bg-secondary', isDisabled ? 'pointer-events-none' : 'cursor-pointer', isFocusVisible ? 'z-10' : 'z-0', isOutsideMonth && 'opacity-50',
|
|
30
|
+
return cx('relative size-10 focus:outline-hidden', isRoundedLeft && 'rounded-l-full', isRoundedRight && 'rounded-r-full', position.isInRange && isDisabled && 'bg-secondary', isSelected && isRangeCalendar && 'bg-secondary', isDisabled ? 'pointer-events-none' : 'cursor-pointer', isFocusVisible ? 'z-10' : 'z-0', isOutsideMonth && 'opacity-50', isOutsideMonth && hidesOutOfRangeDates && 'hidden',
|
|
29
31
|
// The range continues into the next month, so the highlight must bleed past this cell.
|
|
30
32
|
showTrailingGradient &&
|
|
31
33
|
'after:absolute after:inset-0 after:translate-x-full after:bg-gradient-to-l after:from-transparent after:to-bg-secondary in-[[role=gridcell]:last-child]:after:hidden',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cell.js","sources":["../../../../../src/components/organisms/DatePicker/components/Cell.tsx"],"sourcesContent":[null],"names":["_jsx","AriaCalendarCell","_jsxs"],"mappings":";;;;;;;;AAiBO,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"Cell.js","sources":["../../../../../src/components/organisms/DatePicker/components/Cell.tsx"],"sourcesContent":[null],"names":["_jsx","AriaCalendarCell","_jsxs"],"mappings":"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"}
|
|
@@ -3,26 +3,25 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var uiIcons = require('@flipdish/ui-icons');
|
|
5
5
|
var Button = require('@flipdish/ui-library/components/atoms/Button');
|
|
6
|
-
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
7
6
|
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
8
7
|
var date = require('@internationalized/date');
|
|
9
8
|
var i18n = require('@react-aria/i18n');
|
|
10
9
|
var utils = require('@react-stately/utils');
|
|
11
10
|
var React = require('react');
|
|
12
11
|
var reactAriaComponents = require('react-aria-components');
|
|
13
|
-
var
|
|
12
|
+
var CalendarOverlay = require('./CalendarOverlay.cjs');
|
|
14
13
|
var InputDate = require('./InputDate.cjs');
|
|
15
14
|
var RangeCalendar = require('./RangeCalendar.cjs');
|
|
16
15
|
|
|
17
16
|
const now = date.today(date.getLocalTimeZone());
|
|
18
17
|
const highlightedDates = [date.today(date.getLocalTimeZone())];
|
|
19
18
|
/**
|
|
20
|
-
* Trigger button with a two-month popover calendar for picking a start and end date
|
|
21
|
-
* preset shortcuts and Apply and Cancel actions.
|
|
19
|
+
* Trigger button with a two-month popover calendar for picking a start and end date, opening as a
|
|
20
|
+
* bottom sheet below the `md` breakpoint. Includes preset shortcuts and Apply and Cancel actions.
|
|
22
21
|
*
|
|
23
22
|
* @summary popover calendar for selecting a date range
|
|
24
23
|
*/
|
|
25
|
-
const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', 'data-testid': dataTestId, ...props }) => {
|
|
24
|
+
const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', presets: presetsProp, placeholder = 'Select dates', 'data-testid': dataTestId, ...props }) => {
|
|
26
25
|
const { locale } = reactAriaComponents.useLocale();
|
|
27
26
|
const formatter = i18n.useDateFormatter({
|
|
28
27
|
month: 'short',
|
|
@@ -36,9 +35,10 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
|
|
|
36
35
|
const [value, setValue] = utils.useControlledState(valueProp, defaultValue || null, onChange);
|
|
37
36
|
const [draftValue, setDraftValue] = React.useState(value);
|
|
38
37
|
const [focusedValue, setFocusedValue] = React.useState(null);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
const formattedRange = value
|
|
39
|
+
? `${formatter.format(value.start.toDate(date.getLocalTimeZone()))} – ${formatter.format(value.end.toDate(date.getLocalTimeZone()))}`
|
|
40
|
+
: null;
|
|
41
|
+
const defaultPresets = React.useMemo(() => ({
|
|
42
42
|
today: { label: 'Today', value: { start: now, end: now } },
|
|
43
43
|
yesterday: { label: 'Yesterday', value: { start: now.subtract({ days: 1 }), end: now.subtract({ days: 1 }) } },
|
|
44
44
|
thisWeek: { label: 'This week', value: { start: date.startOfWeek(now, locale), end: date.endOfWeek(now, locale) } },
|
|
@@ -73,6 +73,7 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
|
|
|
73
73
|
},
|
|
74
74
|
},
|
|
75
75
|
}), [locale]);
|
|
76
|
+
const presets = presetsProp ?? defaultPresets;
|
|
76
77
|
const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'date-range-picker', rootName: 'date-range-picker' });
|
|
77
78
|
return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: rootTestId, children: jsxRuntime.jsxs(reactAriaComponents.DateRangePicker, { "aria-label": "Date range picker", shouldCloseOnSelect: false, ...props, value: draftValue, onChange: setDraftValue, onOpenChange: (isOpen) => {
|
|
78
79
|
// Re-seed the draft from the latest committed value every time the popover opens, so
|
|
@@ -83,23 +84,17 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
|
|
|
83
84
|
setFocusedValue(value?.start ?? null);
|
|
84
85
|
}
|
|
85
86
|
onOpenChange?.(isOpen);
|
|
86
|
-
}, "data-testid": rootTestId, children: [jsxRuntime.jsx(reactAriaComponents.Group, { children: jsxRuntime.jsx(Button.Button, { size: size, color: "secondary", iconLeading: uiIcons.Calendar, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), children:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
close();
|
|
98
|
-
}, children: "Cancel" }), jsxRuntime.jsx(Button.Button, { size: "sm", color: "primary", "data-testid": testIdUtils.joinTestId(rootTestId, 'apply'), onClick: () => {
|
|
99
|
-
setValue(draftValue);
|
|
100
|
-
onApply?.();
|
|
101
|
-
close();
|
|
102
|
-
}, children: "Apply" })] })] })] })] })) }) })] }) }));
|
|
87
|
+
}, "data-testid": rootTestId, children: [jsxRuntime.jsx(reactAriaComponents.Group, { children: jsxRuntime.jsx(Button.Button, { size: size, color: "secondary", iconLeading: uiIcons.Calendar, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), children: formattedRange ?? jsxRuntime.jsx("span", { className: "text-placeholder", children: placeholder }) }) }), jsxRuntime.jsx(CalendarOverlay.CalendarOverlay, { "aria-label": props['aria-label'] ?? 'Date range picker', "data-testid": testIdUtils.joinTestId(rootTestId, 'popover'), className: "flex focus:outline-hidden", children: ({ close }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "hidden w-38 flex-col gap-0.5 border-r border-solid border-secondary p-3 lg:flex", children: Object.values(presets).map((preset) => (jsxRuntime.jsx(RangeCalendar.RangePresetButton, { value: preset.value, onClick: () => {
|
|
88
|
+
setDraftValue(preset.value);
|
|
89
|
+
setFocusedValue(preset.value.start);
|
|
90
|
+
}, children: preset.label }, preset.label))) }), jsxRuntime.jsxs("div", { className: "flex flex-col max-md:w-full", children: [jsxRuntime.jsx(RangeCalendar.RangeCalendar, { focusedValue: focusedValue, onFocusChange: setFocusedValue, highlightedDates: highlightedDates, presets: presets, className: "max-md:w-full max-md:self-center max-sm:max-w-78 sm:max-md:max-w-82" }), jsxRuntime.jsxs("div", { className: "sticky bottom-0 flex justify-between gap-3 border-t border-secondary bg-primary px-4 pt-4 pb-[calc(1rem+env(safe-area-inset-bottom))]", children: [jsxRuntime.jsxs("div", { className: "hidden items-center gap-2 md:flex", children: [jsxRuntime.jsx(InputDate.InputDateBase, { slot: "start", size: "sm" }), jsxRuntime.jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsxRuntime.jsx(InputDate.InputDateBase, { slot: "end", size: "sm" })] }), jsxRuntime.jsxs("div", { className: "grid w-full grid-cols-2 gap-3 md:flex md:w-auto", children: [jsxRuntime.jsx(Button.Button, { size: "sm", color: "secondary", "data-testid": testIdUtils.joinTestId(rootTestId, 'cancel'), onClick: () => {
|
|
91
|
+
onCancel?.();
|
|
92
|
+
close();
|
|
93
|
+
}, children: "Cancel" }), jsxRuntime.jsx(Button.Button, { size: "sm", color: "primary", "data-testid": testIdUtils.joinTestId(rootTestId, 'apply'), onClick: () => {
|
|
94
|
+
setValue(draftValue);
|
|
95
|
+
onApply?.();
|
|
96
|
+
close();
|
|
97
|
+
}, children: "Apply" })] })] })] })] })) })] }) }));
|
|
103
98
|
};
|
|
104
99
|
|
|
105
100
|
exports.DateRangePicker = DateRangePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/DateRangePicker.tsx"],"sourcesContent":[null],"names":["today","getLocalTimeZone","useLocale","useDateFormatter","useControlledState","useState","useMemo","startOfWeek","endOfWeek","startOfMonth","endOfMonth","useResolvedTestId","_jsx","TestIdProvider","_jsxs","AriaDateRangePicker","AriaGroup","Button","CalendarIcon","joinTestId","
|
|
1
|
+
{"version":3,"file":"DateRangePicker.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/DateRangePicker.tsx"],"sourcesContent":[null],"names":["today","getLocalTimeZone","useLocale","useDateFormatter","useControlledState","useState","useMemo","startOfWeek","endOfWeek","startOfMonth","endOfMonth","useResolvedTestId","_jsx","TestIdProvider","_jsxs","AriaDateRangePicker","AriaGroup","Button","CalendarIcon","joinTestId","CalendarOverlay","_Fragment","RangePresetButton","RangeCalendar","InputDateBase"],"mappings":"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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { ButtonProps } from '@flipdish/ui-library/components/atoms/Button';
|
|
2
2
|
import type { DateRangePickerProps as AriaDateRangePickerProps, DateValue } from 'react-aria-components';
|
|
3
|
+
import { type RangeCalendarProps } from './RangeCalendar';
|
|
3
4
|
export interface DateRangePickerProps extends AriaDateRangePickerProps<DateValue> {
|
|
4
|
-
/** Size of the trigger button; the
|
|
5
|
+
/** Size of the trigger button; the calendar's inputs and actions keep a fixed size. */
|
|
5
6
|
size?: ButtonProps['size'];
|
|
7
|
+
/** Shortcut ranges keyed by a stable id, replacing the built-in set; each label also derives its `--preset-<slug>` test id. */
|
|
8
|
+
presets?: RangeCalendarProps['presets'];
|
|
9
|
+
/** Trigger text while no range is applied. */
|
|
10
|
+
placeholder?: string;
|
|
6
11
|
/** The function to call when the apply button is clicked. */
|
|
7
12
|
onApply?: () => void;
|
|
8
13
|
/** The function to call when the cancel button is clicked. */
|
|
@@ -11,10 +16,10 @@ export interface DateRangePickerProps extends AriaDateRangePickerProps<DateValue
|
|
|
11
16
|
'data-testid'?: string;
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
14
|
-
* Trigger button with a two-month popover calendar for picking a start and end date
|
|
15
|
-
* preset shortcuts and Apply and Cancel actions.
|
|
19
|
+
* Trigger button with a two-month popover calendar for picking a start and end date, opening as a
|
|
20
|
+
* bottom sheet below the `md` breakpoint. Includes preset shortcuts and Apply and Cancel actions.
|
|
16
21
|
*
|
|
17
22
|
* @summary popover calendar for selecting a date range
|
|
18
23
|
*/
|
|
19
|
-
export declare const DateRangePicker: ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size, "data-testid": dataTestId, ...props }: DateRangePickerProps) => import("react").JSX.Element;
|
|
24
|
+
export declare const DateRangePicker: ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size, presets: presetsProp, placeholder, "data-testid": dataTestId, ...props }: DateRangePickerProps) => import("react").JSX.Element;
|
|
20
25
|
//# sourceMappingURL=DateRangePicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/DateRangePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/DateRangePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,IAAI,wBAAwB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIzG,OAAO,EAAiB,KAAK,kBAAkB,EAAqB,MAAM,iBAAiB,CAAC;AAM5F,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB,CAAC,SAAS,CAAC;IAC/E,uFAAuF;IACvF,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,+HAA+H;IAC/H,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4HAA4H;IAC5H,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,6JAY7B,oBAAoB,gCA2JtB,CAAC"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { Calendar } from '@flipdish/ui-icons';
|
|
3
3
|
import { Button } from '@flipdish/ui-library/components/atoms/Button';
|
|
4
|
-
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
5
4
|
import { useResolvedTestId, TestIdProvider, joinTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
6
5
|
import { today, getLocalTimeZone, endOfMonth, startOfMonth, endOfWeek, startOfWeek } from '@internationalized/date';
|
|
7
6
|
import { useDateFormatter } from '@react-aria/i18n';
|
|
8
7
|
import { useControlledState } from '@react-stately/utils';
|
|
9
8
|
import { useState, useMemo } from 'react';
|
|
10
|
-
import { useLocale, DateRangePicker as DateRangePicker$1, Group
|
|
11
|
-
import {
|
|
9
|
+
import { useLocale, DateRangePicker as DateRangePicker$1, Group } from 'react-aria-components';
|
|
10
|
+
import { CalendarOverlay } from './CalendarOverlay.js';
|
|
12
11
|
import { InputDateBase } from './InputDate.js';
|
|
13
12
|
import { RangePresetButton, RangeCalendar } from './RangeCalendar.js';
|
|
14
13
|
|
|
15
14
|
const now = today(getLocalTimeZone());
|
|
16
15
|
const highlightedDates = [today(getLocalTimeZone())];
|
|
17
16
|
/**
|
|
18
|
-
* Trigger button with a two-month popover calendar for picking a start and end date
|
|
19
|
-
* preset shortcuts and Apply and Cancel actions.
|
|
17
|
+
* Trigger button with a two-month popover calendar for picking a start and end date, opening as a
|
|
18
|
+
* bottom sheet below the `md` breakpoint. Includes preset shortcuts and Apply and Cancel actions.
|
|
20
19
|
*
|
|
21
20
|
* @summary popover calendar for selecting a date range
|
|
22
21
|
*/
|
|
23
|
-
const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', 'data-testid': dataTestId, ...props }) => {
|
|
22
|
+
const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', presets: presetsProp, placeholder = 'Select dates', 'data-testid': dataTestId, ...props }) => {
|
|
24
23
|
const { locale } = useLocale();
|
|
25
24
|
const formatter = useDateFormatter({
|
|
26
25
|
month: 'short',
|
|
@@ -34,9 +33,10 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
|
|
|
34
33
|
const [value, setValue] = useControlledState(valueProp, defaultValue || null, onChange);
|
|
35
34
|
const [draftValue, setDraftValue] = useState(value);
|
|
36
35
|
const [focusedValue, setFocusedValue] = useState(null);
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const formattedRange = value
|
|
37
|
+
? `${formatter.format(value.start.toDate(getLocalTimeZone()))} – ${formatter.format(value.end.toDate(getLocalTimeZone()))}`
|
|
38
|
+
: null;
|
|
39
|
+
const defaultPresets = useMemo(() => ({
|
|
40
40
|
today: { label: 'Today', value: { start: now, end: now } },
|
|
41
41
|
yesterday: { label: 'Yesterday', value: { start: now.subtract({ days: 1 }), end: now.subtract({ days: 1 }) } },
|
|
42
42
|
thisWeek: { label: 'This week', value: { start: startOfWeek(now, locale), end: endOfWeek(now, locale) } },
|
|
@@ -71,6 +71,7 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
|
|
|
71
71
|
},
|
|
72
72
|
},
|
|
73
73
|
}), [locale]);
|
|
74
|
+
const presets = presetsProp ?? defaultPresets;
|
|
74
75
|
const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'date-range-picker', rootName: 'date-range-picker' });
|
|
75
76
|
return (jsx(TestIdProvider, { value: rootTestId, children: jsxs(DateRangePicker$1, { "aria-label": "Date range picker", shouldCloseOnSelect: false, ...props, value: draftValue, onChange: setDraftValue, onOpenChange: (isOpen) => {
|
|
76
77
|
// Re-seed the draft from the latest committed value every time the popover opens, so
|
|
@@ -81,23 +82,17 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
|
|
|
81
82
|
setFocusedValue(value?.start ?? null);
|
|
82
83
|
}
|
|
83
84
|
onOpenChange?.(isOpen);
|
|
84
|
-
}, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
close();
|
|
96
|
-
}, children: "Cancel" }), jsx(Button, { size: "sm", color: "primary", "data-testid": joinTestId(rootTestId, 'apply'), onClick: () => {
|
|
97
|
-
setValue(draftValue);
|
|
98
|
-
onApply?.();
|
|
99
|
-
close();
|
|
100
|
-
}, children: "Apply" })] })] })] })] })) }) })] }) }));
|
|
85
|
+
}, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children: formattedRange ?? jsx("span", { className: "text-placeholder", children: placeholder }) }) }), jsx(CalendarOverlay, { "aria-label": props['aria-label'] ?? 'Date range picker', "data-testid": joinTestId(rootTestId, 'popover'), className: "flex focus:outline-hidden", children: ({ close }) => (jsxs(Fragment, { children: [jsx("div", { className: "hidden w-38 flex-col gap-0.5 border-r border-solid border-secondary p-3 lg:flex", children: Object.values(presets).map((preset) => (jsx(RangePresetButton, { value: preset.value, onClick: () => {
|
|
86
|
+
setDraftValue(preset.value);
|
|
87
|
+
setFocusedValue(preset.value.start);
|
|
88
|
+
}, children: preset.label }, preset.label))) }), jsxs("div", { className: "flex flex-col max-md:w-full", children: [jsx(RangeCalendar, { focusedValue: focusedValue, onFocusChange: setFocusedValue, highlightedDates: highlightedDates, presets: presets, className: "max-md:w-full max-md:self-center max-sm:max-w-78 sm:max-md:max-w-82" }), jsxs("div", { className: "sticky bottom-0 flex justify-between gap-3 border-t border-secondary bg-primary px-4 pt-4 pb-[calc(1rem+env(safe-area-inset-bottom))]", children: [jsxs("div", { className: "hidden items-center gap-2 md:flex", children: [jsx(InputDateBase, { slot: "start", size: "sm" }), jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsx(InputDateBase, { slot: "end", size: "sm" })] }), jsxs("div", { className: "grid w-full grid-cols-2 gap-3 md:flex md:w-auto", children: [jsx(Button, { size: "sm", color: "secondary", "data-testid": joinTestId(rootTestId, 'cancel'), onClick: () => {
|
|
89
|
+
onCancel?.();
|
|
90
|
+
close();
|
|
91
|
+
}, children: "Cancel" }), jsx(Button, { size: "sm", color: "primary", "data-testid": joinTestId(rootTestId, 'apply'), onClick: () => {
|
|
92
|
+
setValue(draftValue);
|
|
93
|
+
onApply?.();
|
|
94
|
+
close();
|
|
95
|
+
}, children: "Apply" })] })] })] })] })) })] }) }));
|
|
101
96
|
};
|
|
102
97
|
|
|
103
98
|
export { DateRangePicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.js","sources":["../../../../../src/components/organisms/DatePicker/components/DateRangePicker.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDateRangePicker","AriaGroup","CalendarIcon","
|
|
1
|
+
{"version":3,"file":"DateRangePicker.js","sources":["../../../../../src/components/organisms/DatePicker/components/DateRangePicker.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDateRangePicker","AriaGroup","CalendarIcon","_Fragment"],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ const RangeCalendar = ({ presets, visibleDuration, showOutOfRangeDates = false,
|
|
|
60
60
|
const calendarTestId = dataTestId ?? ambientPrefix ?? testIdUtils.rootTestId('range-calendar');
|
|
61
61
|
return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: calendarTestId, children: jsxRuntime.jsxs(reactAriaComponents.RangeCalendar, { ...props, "data-testid": calendarTestId, className: (state) => cx.cx('flex items-start', typeof props.className === 'function' ? props.className(state) : props.className), visibleDuration: {
|
|
62
62
|
months: visibleDurationMonths,
|
|
63
|
-
}, children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 px-
|
|
63
|
+
}, children: [jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col gap-3 px-4 py-5 sm:px-6 md:gap-2", children: [jsxRuntime.jsxs("div", { className: cx.cx('relative flex items-center', visibleDurationMonths > 1 ? 'justify-start' : 'justify-between'), children: [jsxRuntime.jsx(Button.Button, { slot: "previous", iconLeading: uiIcons.ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'prev') }), jsxRuntime.jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsxRuntime.jsx(RangeCalendarTitle, { part: "start" }) }), visibleDurationMonths === 1 && (jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'next') }))] }), !isDesktop && (jsxRuntime.jsxs("div", { className: "flex items-center gap-2 md:hidden", children: [jsxRuntime.jsx(InputDate.InputDateBase, { slot: "start", size: "sm", wrapperClassName: "min-w-0 flex-1" }), jsxRuntime.jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsxRuntime.jsx(InputDate.InputDateBase, { slot: "end", size: "sm", wrapperClassName: "min-w-0 flex-1" })] })), (showPresetsOnDesktop || !isDesktop) && presets && (jsxRuntime.jsx("div", { className: "mt-1 flex flex-wrap gap-x-3 gap-y-1 px-2", children: Object.values(presets).map((preset) => (jsxRuntime.jsx(MobilePresetButton, { value: preset.value, children: preset.label }, preset.label))) })), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsxRuntime.jsx(Cell.CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }), visibleDurationMonths > 1 && (jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 border-l border-secondary px-6 py-5", children: [jsxRuntime.jsxs("div", { className: "relative flex items-center justify-end", children: [jsxRuntime.jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsxRuntime.jsx(RangeCalendarTitle, { part: "end" }) }), jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'next') })] }), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", offset: { months: 1 }, className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsxRuntime.jsx(Cell.CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }))] }) }));
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
exports.RangeCalendar = RangeCalendar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeCalendar.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/RangeCalendar.tsx"],"sourcesContent":[null],"names":["useContext","RangeCalendarStateContext","useDateFormatter","useSlottedContext","RangeCalendarContext","useTestIdPrefix","joinTestId","slugifyTestId","_jsx","cx","Button","useBreakpoints","rootTestId","TestIdProvider","_jsxs","AriaRangeCalendar","ChevronLeft","ChevronRight","InputDateBase","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarCell"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RangeCalendar.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/RangeCalendar.tsx"],"sourcesContent":[null],"names":["useContext","RangeCalendarStateContext","useDateFormatter","useSlottedContext","RangeCalendarContext","useTestIdPrefix","joinTestId","slugifyTestId","_jsx","cx","Button","useBreakpoints","rootTestId","TestIdProvider","_jsxs","AriaRangeCalendar","ChevronLeft","ChevronRight","InputDateBase","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarCell"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeCalendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/RangeCalendar.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAcrG;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GAAI,cAAc,iBAAiB,gCAQ3E,CAAC;AAqBF,UAAU,sBAAuB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACxE,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;IAC5C,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,GAAI,qEAAqE,sBAAsB,gCAuB5H,CAAC;AA6BF,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB,CAAC,SAAS,CAAC;IAC3E,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,KAAK,EAAE,SAAS,CAAC;YAAC,GAAG,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACzF,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,8GAO3B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"RangeCalendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/RangeCalendar.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAcrG;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GAAI,cAAc,iBAAiB,gCAQ3E,CAAC;AAqBF,UAAU,sBAAuB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACxE,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;IAC5C,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,GAAI,qEAAqE,sBAAsB,gCAuB5H,CAAC;AA6BF,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB,CAAC,SAAS,CAAC;IAC3E,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,KAAK,EAAE,SAAS,CAAC;YAAC,GAAG,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACzF,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,8GAO3B,kBAAkB,gCAmHpB,CAAC"}
|
|
@@ -58,7 +58,7 @@ const RangeCalendar = ({ presets, visibleDuration, showOutOfRangeDates = false,
|
|
|
58
58
|
const calendarTestId = dataTestId ?? ambientPrefix ?? rootTestId('range-calendar');
|
|
59
59
|
return (jsx(TestIdProvider, { value: calendarTestId, children: jsxs(RangeCalendar$1, { ...props, "data-testid": calendarTestId, className: (state) => cx('flex items-start', typeof props.className === 'function' ? props.className(state) : props.className), visibleDuration: {
|
|
60
60
|
months: visibleDurationMonths,
|
|
61
|
-
}, children: [jsxs("div", { className: "flex flex-col gap-3 px-
|
|
61
|
+
}, children: [jsxs("div", { className: "flex min-w-0 flex-col gap-3 px-4 py-5 sm:px-6 md:gap-2", children: [jsxs("div", { className: cx('relative flex items-center', visibleDurationMonths > 1 ? 'justify-start' : 'justify-between'), children: [jsx(Button, { slot: "previous", iconLeading: ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'prev') }), jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsx(RangeCalendarTitle, { part: "start" }) }), visibleDurationMonths === 1 && (jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'next') }))] }), !isDesktop && (jsxs("div", { className: "flex items-center gap-2 md:hidden", children: [jsx(InputDateBase, { slot: "start", size: "sm", wrapperClassName: "min-w-0 flex-1" }), jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsx(InputDateBase, { slot: "end", size: "sm", wrapperClassName: "min-w-0 flex-1" })] })), (showPresetsOnDesktop || !isDesktop) && presets && (jsx("div", { className: "mt-1 flex flex-wrap gap-x-3 gap-y-1 px-2", children: Object.values(presets).map((preset) => (jsx(MobilePresetButton, { value: preset.value, children: preset.label }, preset.label))) })), jsxs(CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsx(CalendarGridHeader, { children: (day) => (jsx(CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsx(CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }), visibleDurationMonths > 1 && (jsxs("div", { className: "flex flex-col gap-3 border-l border-secondary px-6 py-5", children: [jsxs("div", { className: "relative flex items-center justify-end", children: [jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsx(RangeCalendarTitle, { part: "end" }) }), jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'next') })] }), jsxs(CalendarGrid, { weekdayStyle: "short", offset: { months: 1 }, className: "w-max", children: [jsx(CalendarGridHeader, { children: (day) => (jsx(CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsx(CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }))] }) }));
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
export { RangeCalendar, RangePresetButton };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeCalendar.js","sources":["../../../../../src/components/organisms/DatePicker/components/RangeCalendar.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaRangeCalendar","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RangeCalendar.js","sources":["../../../../../src/components/organisms/DatePicker/components/RangeCalendar.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaRangeCalendar","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody"],"mappings":"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"}
|
|
@@ -3,26 +3,25 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var uiIcons = require('@flipdish/ui-icons');
|
|
5
5
|
var Button = require('@flipdish/ui-library/components/atoms/Button');
|
|
6
|
-
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
7
6
|
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
8
7
|
var date = require('@internationalized/date');
|
|
9
8
|
var i18n = require('@react-aria/i18n');
|
|
10
9
|
var utils = require('@react-stately/utils');
|
|
11
10
|
var React = require('react');
|
|
12
11
|
var reactAriaComponents = require('react-aria-components');
|
|
13
|
-
var ScrollClosingPopover = require('../../__internal__/popover/ScrollClosingPopover.cjs');
|
|
14
12
|
var Calendar = require('./components/Calendar.cjs');
|
|
13
|
+
var CalendarOverlay = require('./components/CalendarOverlay.cjs');
|
|
15
14
|
var DateRangePicker = require('./components/DateRangePicker.cjs');
|
|
16
15
|
var RangeCalendar = require('./components/RangeCalendar.cjs');
|
|
17
16
|
|
|
18
17
|
const highlightedDates = [date.today(date.getLocalTimeZone())];
|
|
19
18
|
/**
|
|
20
|
-
* A trigger button paired with a popover calendar for selecting a single date
|
|
21
|
-
* Built on react-aria-components with Apply/Cancel actions in the
|
|
19
|
+
* A trigger button paired with a popover calendar for selecting a single date, opening as a bottom
|
|
20
|
+
* sheet below the `md` breakpoint. Built on react-aria-components with Apply/Cancel actions in the footer.
|
|
22
21
|
*
|
|
23
22
|
* @summary popover calendar for selecting a single date
|
|
24
23
|
*/
|
|
25
|
-
const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', 'data-testid': dataTestId, ...props }) => {
|
|
24
|
+
const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', placeholder = 'Select date', 'data-testid': dataTestId, ...props }) => {
|
|
26
25
|
const formatter = i18n.useDateFormatter({
|
|
27
26
|
month: 'short',
|
|
28
27
|
day: 'numeric',
|
|
@@ -34,7 +33,7 @@ const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCance
|
|
|
34
33
|
// or an outside click) simply discards the draft, leaving `value` untouched.
|
|
35
34
|
const [value, setValue] = utils.useControlledState(valueProp, defaultValue || null, onChange);
|
|
36
35
|
const [draftValue, setDraftValue] = React.useState(value);
|
|
37
|
-
const formattedDate = value ? formatter.format(value.toDate(date.getLocalTimeZone())) :
|
|
36
|
+
const formattedDate = value ? formatter.format(value.toDate(date.getLocalTimeZone())) : placeholder;
|
|
38
37
|
const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'date-picker', rootName: 'date-picker' });
|
|
39
38
|
return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: rootTestId, children: jsxRuntime.jsxs(reactAriaComponents.DatePicker, { "aria-label": "Date picker", shouldCloseOnSelect: false, ...props, value: draftValue, onChange: setDraftValue, onOpenChange: (isOpen) => {
|
|
40
39
|
// Re-seed the draft from the latest committed value every time the popover opens, so
|
|
@@ -44,16 +43,14 @@ const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCance
|
|
|
44
43
|
setDraftValue(value);
|
|
45
44
|
}
|
|
46
45
|
onOpenChange?.(isOpen);
|
|
47
|
-
}, "data-testid": rootTestId, children: [jsxRuntime.jsx(reactAriaComponents.Group, { children: jsxRuntime.jsx(Button.Button, { size: size, color: "secondary", iconLeading: uiIcons.Calendar, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsxRuntime.jsx(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
close();
|
|
56
|
-
}, children: "Apply" })] })] })) }) })] }) }));
|
|
46
|
+
}, "data-testid": rootTestId, children: [jsxRuntime.jsx(reactAriaComponents.Group, { children: jsxRuntime.jsx(Button.Button, { size: size, color: "secondary", iconLeading: uiIcons.Calendar, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsxRuntime.jsx(CalendarOverlay.CalendarOverlay, { "aria-label": props['aria-label'] ?? 'Date picker', "data-testid": testIdUtils.joinTestId(rootTestId, 'popover'), children: ({ close }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "flex w-full max-w-78 px-4 py-5 sm:max-w-82 sm:px-6", children: jsxRuntime.jsx(Calendar.Calendar, { highlightedDates: highlightedDates }) }), jsxRuntime.jsxs("div", { className: "sticky bottom-0 grid w-full grid-cols-2 gap-3 border-t border-secondary bg-primary px-4 pt-4 pb-[calc(1rem+env(safe-area-inset-bottom))]", children: [jsxRuntime.jsx(Button.Button, { size: "md", color: "secondary", "data-testid": testIdUtils.joinTestId(rootTestId, 'cancel'), onClick: () => {
|
|
47
|
+
onCancel?.();
|
|
48
|
+
close();
|
|
49
|
+
}, children: "Cancel" }), jsxRuntime.jsx(Button.Button, { size: "md", color: "primary", "data-testid": testIdUtils.joinTestId(rootTestId, 'apply'), onClick: () => {
|
|
50
|
+
setValue(draftValue);
|
|
51
|
+
onApply?.();
|
|
52
|
+
close();
|
|
53
|
+
}, children: "Apply" })] })] })) })] }) }));
|
|
57
54
|
};
|
|
58
55
|
|
|
59
56
|
exports.DateRangePicker = DateRangePicker.DateRangePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["today","getLocalTimeZone","useDateFormatter","useControlledState","useState","useResolvedTestId","_jsx","TestIdProvider","_jsxs","AriaDatePicker","AriaGroup","Button","CalendarIcon","joinTestId","
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["today","getLocalTimeZone","useDateFormatter","useControlledState","useState","useResolvedTestId","_jsx","TestIdProvider","_jsxs","AriaDatePicker","AriaGroup","Button","CalendarIcon","joinTestId","CalendarOverlay","_Fragment","Calendar"],"mappings":"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"}
|
|
@@ -7,16 +7,18 @@ export interface DatePickerProps extends AriaDatePickerProps<DateValue> {
|
|
|
7
7
|
onApply?: () => void;
|
|
8
8
|
/** The function to call when the cancel button is clicked. */
|
|
9
9
|
onCancel?: () => void;
|
|
10
|
-
/** Size of the trigger button; the
|
|
10
|
+
/** Size of the trigger button; the calendar's actions keep a fixed size. */
|
|
11
11
|
size?: ButtonProps['size'];
|
|
12
|
+
/** Trigger text while no date is applied. */
|
|
13
|
+
placeholder?: string;
|
|
12
14
|
/** Overrides the root `data-testid` (defaults to `fd-date-picker`). Descendants derive their ids from this prefix. */
|
|
13
15
|
'data-testid'?: string;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
|
-
* A trigger button paired with a popover calendar for selecting a single date
|
|
17
|
-
* Built on react-aria-components with Apply/Cancel actions in the
|
|
18
|
+
* A trigger button paired with a popover calendar for selecting a single date, opening as a bottom
|
|
19
|
+
* sheet below the `md` breakpoint. Built on react-aria-components with Apply/Cancel actions in the footer.
|
|
18
20
|
*
|
|
19
21
|
* @summary popover calendar for selecting a single date
|
|
20
22
|
*/
|
|
21
|
-
export declare const DatePicker: ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size, "data-testid": dataTestId, ...props }: DatePickerProps) => import("react").JSX.Element;
|
|
23
|
+
export declare const DatePicker: ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size, placeholder, "data-testid": dataTestId, ...props }: DatePickerProps) => import("react").JSX.Element;
|
|
22
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAMxF,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIpF,MAAM,WAAW,eAAgB,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IACrE,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,uIAWxB,eAAe,gCA+EjB,CAAC"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { Calendar } from '@flipdish/ui-icons';
|
|
3
3
|
import { Button } from '@flipdish/ui-library/components/atoms/Button';
|
|
4
|
-
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
5
4
|
import { useResolvedTestId, TestIdProvider, joinTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
6
5
|
import { today, getLocalTimeZone } from '@internationalized/date';
|
|
7
6
|
import { useDateFormatter } from '@react-aria/i18n';
|
|
8
7
|
import { useControlledState } from '@react-stately/utils';
|
|
9
8
|
import { useState } from 'react';
|
|
10
|
-
import { DatePicker as DatePicker$1, Group
|
|
11
|
-
import { ScrollClosingPopover } from '../../__internal__/popover/ScrollClosingPopover.js';
|
|
9
|
+
import { DatePicker as DatePicker$1, Group } from 'react-aria-components';
|
|
12
10
|
import { Calendar as Calendar$1 } from './components/Calendar.js';
|
|
11
|
+
import { CalendarOverlay } from './components/CalendarOverlay.js';
|
|
13
12
|
export { DateRangePicker } from './components/DateRangePicker.js';
|
|
14
13
|
export { RangeCalendar } from './components/RangeCalendar.js';
|
|
15
14
|
|
|
16
15
|
const highlightedDates = [today(getLocalTimeZone())];
|
|
17
16
|
/**
|
|
18
|
-
* A trigger button paired with a popover calendar for selecting a single date
|
|
19
|
-
* Built on react-aria-components with Apply/Cancel actions in the
|
|
17
|
+
* A trigger button paired with a popover calendar for selecting a single date, opening as a bottom
|
|
18
|
+
* sheet below the `md` breakpoint. Built on react-aria-components with Apply/Cancel actions in the footer.
|
|
20
19
|
*
|
|
21
20
|
* @summary popover calendar for selecting a single date
|
|
22
21
|
*/
|
|
23
|
-
const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', 'data-testid': dataTestId, ...props }) => {
|
|
22
|
+
const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', placeholder = 'Select date', 'data-testid': dataTestId, ...props }) => {
|
|
24
23
|
const formatter = useDateFormatter({
|
|
25
24
|
month: 'short',
|
|
26
25
|
day: 'numeric',
|
|
@@ -32,7 +31,7 @@ const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCance
|
|
|
32
31
|
// or an outside click) simply discards the draft, leaving `value` untouched.
|
|
33
32
|
const [value, setValue] = useControlledState(valueProp, defaultValue || null, onChange);
|
|
34
33
|
const [draftValue, setDraftValue] = useState(value);
|
|
35
|
-
const formattedDate = value ? formatter.format(value.toDate(getLocalTimeZone())) :
|
|
34
|
+
const formattedDate = value ? formatter.format(value.toDate(getLocalTimeZone())) : placeholder;
|
|
36
35
|
const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'date-picker', rootName: 'date-picker' });
|
|
37
36
|
return (jsx(TestIdProvider, { value: rootTestId, children: jsxs(DatePicker$1, { "aria-label": "Date picker", shouldCloseOnSelect: false, ...props, value: draftValue, onChange: setDraftValue, onOpenChange: (isOpen) => {
|
|
38
37
|
// Re-seed the draft from the latest committed value every time the popover opens, so
|
|
@@ -42,16 +41,14 @@ const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCance
|
|
|
42
41
|
setDraftValue(value);
|
|
43
42
|
}
|
|
44
43
|
onOpenChange?.(isOpen);
|
|
45
|
-
}, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsx(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
close();
|
|
54
|
-
}, children: "Apply" })] })] })) }) })] }) }));
|
|
44
|
+
}, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsx(CalendarOverlay, { "aria-label": props['aria-label'] ?? 'Date picker', "data-testid": joinTestId(rootTestId, 'popover'), children: ({ close }) => (jsxs(Fragment, { children: [jsx("div", { className: "flex w-full max-w-78 px-4 py-5 sm:max-w-82 sm:px-6", children: jsx(Calendar$1, { highlightedDates: highlightedDates }) }), jsxs("div", { className: "sticky bottom-0 grid w-full grid-cols-2 gap-3 border-t border-secondary bg-primary px-4 pt-4 pb-[calc(1rem+env(safe-area-inset-bottom))]", children: [jsx(Button, { size: "md", color: "secondary", "data-testid": joinTestId(rootTestId, 'cancel'), onClick: () => {
|
|
45
|
+
onCancel?.();
|
|
46
|
+
close();
|
|
47
|
+
}, children: "Cancel" }), jsx(Button, { size: "md", color: "primary", "data-testid": joinTestId(rootTestId, 'apply'), onClick: () => {
|
|
48
|
+
setValue(draftValue);
|
|
49
|
+
onApply?.();
|
|
50
|
+
close();
|
|
51
|
+
}, children: "Apply" })] })] })) })] }) }));
|
|
55
52
|
};
|
|
56
53
|
|
|
57
54
|
export { DatePicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDatePicker","AriaGroup","CalendarIcon","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDatePicker","AriaGroup","CalendarIcon","_Fragment","Calendar"],"mappings":"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"}
|