@apipass/design-system 8.0.0 → 8.2.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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("@internationalized/date"),ye=require("../../../vendor/clsx/dist/clsx.cjs"),h=require("react"),n=require("react-aria-components"),Le=require("./dateRangePresets.cjs");;/* empty css */const z=require("../../icons/IconCalendar.cjs"),Ie=require("../../icons/IconChevronDown.cjs"),G=require("../Text/Text.cjs"),Be=require("../../icons/IconCheck.cjs"),Re=require("../../icons/IconChevronLeft.cjs"),we=require("../../icons/IconChevronRight.cjs"),Pe=require("../../hooks/useOverlayPortal.cjs"),V=require("../Fieldset/Fieldset.cjs"),ae=require("../ListBox/ListBox.cjs"),ne=require("../Button/Button.cjs"),H=()=>new d.Time(0,0,0),re=()=>new d.Time(23,59,59);function Fe({onAnchorChange:a}){const c=h.useContext(n.RangeCalendarStateContext),l=(c==null?void 0:c.anchorDate)??null,m=l==null?void 0:l.toString();return h.useEffect(()=>{a(l)},[m]),null}const C=a=>a&&"hour"in a?new d.Time(a.hour,a.minute,a.second):null,se=a=>!a||!a.start&&!a.end?{range:null,startTime:null,endTime:null,preset:a==null?void 0:a.preset}:{range:a.start&&a.end?{start:d.toCalendarDate(a.start),end:d.toCalendarDate(a.end)}:null,startTime:C(a.start),endTime:C(a.end),preset:a.preset},u=(a,c,l)=>{if(!a)return null;const m=d.toCalendarDate(a);return l||!c?m:d.toCalendarDateTime(m,c)},Ee=(a,c)=>{var l,m;return{preset:a.preset,start:u((l=a.range)==null?void 0:l.start,a.startTime,c),end:u((m=a.range)==null?void 0:m.end,a.endTime,c)}};function Oe({className:a,locale:c,label:l,"aria-label":m,description:K,errorMessage:q,labels:ie,intervals:y,presetKeys:L,presetLabels:I,hideTime:i=!1,minValue:B,maxValue:R,timezone:ce,isDisabled:le=!1,isRequired:oe=!1,value:S,defaultValue:de,onChange:w}){var $,ee;const ge=Pe.useOverlayPortalContainer(),{locale:ue}=n.useLocale(),P=c??ue??"pt-BR",F=ce??d.getLocalTimeZone(),{placeholder:M,relativeLabel:U,absoluteLabel:Z,startDateLabel:me,endDateLabel:pe,cancelLabel:E,applyLabel:O}=ie,x=h.useMemo(()=>{if(y)return y;if(L){if(!I)throw new Error("DateRangePicker: `presetLabels` is required when `presetKeys` is provided.");return Le.createDateRangePresets({locale:P,timezone:F,include:L,labels:I})}},[y,L,I,P,F]),[g,_]=h.useState(()=>se(S??de)),[p,j]=h.useState(g),[he,k]=h.useState(null),[xe,A]=h.useState(!1);h.useEffect(()=>{S!==void 0&&_(se(S))},[S]);const v=t=>({...t,preset:void 0}),je=t=>i?t:{...t,startTime:t.startTime??H(),endTime:t.endTime??re()},fe=t=>{t&&(j(g),k(null)),A(t)},Ce=t=>{k(null);const{start:r,end:o}=t.getValue();j({range:{start:d.toCalendarDate(r),end:d.toCalendarDate(o)},startTime:C(r),endTime:C(o),preset:t})},ke=t=>{k(t),t&&!i&&j(r=>v({...r,startTime:r.startTime??H()}))},De=t=>{k(null),j(r=>je(v({...r,range:t})))},Te=t=>{if(!t)return;k(null);const r=d.toCalendarDate(t),o=C(t);j(s=>{var b,te;const f=i?s.startTime:o??s.startTime??H(),D=u(r,f,i),T=u((b=s.range)==null?void 0:b.end,s.endTime,i),N=!!(D&&T&&T.compare(D)<0);return v({...s,range:{start:r,end:N||!((te=s.range)!=null&&te.end)?r:s.range.end},startTime:f,endTime:N?f:s.endTime})})},Ne=t=>{if(!t)return;const r=d.toCalendarDate(t),o=C(t);j(s=>{var N,b;const f=i?s.endTime:o??s.endTime??re(),D=u(r,f,i),T=u((N=s.range)==null?void 0:N.start,s.startTime,i);return T&&D&&D.compare(T)<0?s:v({...s,range:{start:((b=s.range)==null?void 0:b.start)??r,end:r},endTime:f})})},be=()=>{_(p),w==null||w(Ee(p,i)),A(!1)},Se=()=>A(!1),ve=!!(E||O),J=(()=>{if(g.preset)return g.preset.label;if(g.range){const t=s=>s.toDate(F).toLocaleString(P,{day:"2-digit",month:"2-digit",year:"numeric",...i?{}:{hour:"2-digit",minute:"2-digit",second:"2-digit"}}),r=u(g.range.start,g.startTime,i),o=u(g.range.end,g.endTime,i);if(r&&o)return`${t(r)} — ${t(o)}`}return null})(),qe=!!(x&&x.length>0),Q=i?"day":"second",W=u((($=p.range)==null?void 0:$.start)??he??void 0,p.startTime,i),X=u(((ee=p.range)==null?void 0:ee.end)??void 0,p.endTime,i),Y=e.jsxs(V.Field,{className:ye.clsx(a,"date-range-picker"),children:[l&&e.jsx(V.Label,{children:l}),e.jsxs(n.DialogTrigger,{isOpen:xe,onOpenChange:fe,children:[e.jsxs(n.Button,{className:"date-range-picker-trigger",isDisabled:le,"aria-label":l?void 0:m??M,"aria-required":oe||void 0,"data-invalid":q?!0:void 0,children:[g.preset?e.jsxs("span",{className:"date-range-picker-preset-badge",children:[e.jsx(z.IconCalendar,{"aria-hidden":"true"}),g.preset.label]}):e.jsx("span",{className:"date-range-picker-value","data-placeholder":J?void 0:!0,children:J??M}),e.jsx(Ie.IconChevronDown,{"aria-hidden":"true"})]}),e.jsx(n.Popover,{className:"date-range-picker-popover",placement:"bottom start",UNSTABLE_portalContainer:ge,children:e.jsxs(n.Dialog,{className:"date-range-picker-dialog",children:[e.jsxs("div",{className:"date-range-picker-body",children:[qe&&e.jsxs("div",{className:"date-range-picker-presets",children:[e.jsx(G.TextSmallStrong,{className:"date-range-picker-section-title",children:U}),e.jsx(ae.ListBox,{"aria-label":U,className:"date-range-picker-presets-list",selectionMode:"single",selectedKeys:p.preset?[p.preset.id]:[],items:x,onSelectionChange:t=>{const[r]=[...t],o=x==null?void 0:x.find(s=>s.id===r);o&&Ce(o)},children:t=>e.jsxs(ae.ListBoxItem,{id:t.id,textValue:t.label,className:"date-range-picker-preset-item",children:[e.jsx("span",{children:t.label}),e.jsx(Be.IconCheck,{"aria-hidden":"true",className:"date-range-picker-preset-check"})]})})]}),e.jsxs("div",{className:"date-range-picker-absolute",children:[e.jsx(G.TextSmallStrong,{className:"date-range-picker-section-title",children:Z}),e.jsxs("div",{className:"date-range-picker-fields",children:[e.jsxs(n.DateField,{className:"date-range-picker-datefield",granularity:Q,value:W,minValue:B,maxValue:X??R,onChange:Te,children:[e.jsx(n.Label,{className:"date-range-picker-field-label",children:me}),e.jsxs(n.Group,{className:"date-range-picker-input",children:[e.jsx(n.DateInput,{children:t=>e.jsx(n.DateSegment,{segment:t})}),e.jsx(z.IconCalendar,{"aria-hidden":"true"})]})]}),e.jsxs(n.DateField,{className:"date-range-picker-datefield",granularity:Q,value:X,minValue:W??B,maxValue:R,onChange:Ne,children:[e.jsx(n.Label,{className:"date-range-picker-field-label",children:pe}),e.jsxs(n.Group,{className:"date-range-picker-input",children:[e.jsx(n.DateInput,{children:t=>e.jsx(n.DateSegment,{segment:t})}),e.jsx(z.IconCalendar,{"aria-hidden":"true"})]})]})]}),e.jsxs(n.RangeCalendar,{className:"date-range-picker-calendar","aria-label":Z,value:p.range,minValue:B,maxValue:R,onChange:De,children:[e.jsx(Fe,{onAnchorChange:ke}),e.jsxs("header",{className:"date-range-picker-calendar-header",children:[e.jsx(n.Button,{slot:"previous",className:"date-range-picker-calendar-nav",children:e.jsx(Re.IconChevronLeft,{"aria-hidden":"true"})}),e.jsx(n.Heading,{className:"date-range-picker-calendar-heading"}),e.jsx(n.Button,{slot:"next",className:"date-range-picker-calendar-nav",children:e.jsx(we.IconChevronRight,{"aria-hidden":"true"})})]}),e.jsx(n.CalendarGrid,{className:"date-range-picker-calendar-grid",children:t=>e.jsx(n.CalendarCell,{date:t,className:"date-range-picker-calendar-cell"})})]})]})]}),ve&&e.jsxs("div",{className:"date-range-picker-actions",children:[E&&e.jsx(ne.Button,{variant:"neutral",size:"small",onPress:Se,children:E}),O&&e.jsx(ne.Button,{variant:"primary",size:"small",onPress:be,children:O})]})]})})]}),K&&e.jsx(V.Description,{children:K}),q&&e.jsx(G.Text,{className:"date-range-picker-error",elementType:"span",children:q})]});return c?e.jsx(n.I18nProvider,{locale:c,children:Y}):Y}exports.DateRangePicker=Oe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("@internationalized/date"),Ie=require("../../../vendor/clsx/dist/clsx.cjs"),h=require("react"),r=require("react-aria-components"),Be=require("./dateRangePresets.cjs");;/* empty css */const Z=require("../../icons/IconCalendar.cjs"),Re=require("../../icons/IconChevronDown.cjs"),z=require("../Text/Text.cjs"),we=require("../../icons/IconCheck.cjs"),Fe=require("../../icons/IconChevronLeft.cjs"),Pe=require("../../icons/IconChevronRight.cjs"),Ee=require("../../hooks/useOverlayPortal.cjs"),H=require("../Fieldset/Fieldset.cjs"),re=require("../ListBox/ListBox.cjs"),se=require("../Button/Button.cjs"),K=()=>new d.Time(0,0,0),ie=()=>new d.Time(23,59,59);function Ae({onAnchorChange:a}){const i=h.useContext(r.RangeCalendarStateContext),c=(i==null?void 0:i.anchorDate)??null,o=c==null?void 0:c.toString();return h.useEffect(()=>{a(c)},[o]),null}const k=a=>a&&"hour"in a?new d.Time(a.hour,a.minute,a.second):null,y=(a,i)=>"timeZone"in a?d.toTimeZone(a,i):a,ce=(a,i)=>{if(!a||!a.start&&!a.end)return{range:null,startTime:null,endTime:null,preset:a==null?void 0:a.preset};const c=a.start&&y(a.start,i),o=a.end&&y(a.end,i);return{range:c&&o?{start:d.toCalendarDate(c),end:d.toCalendarDate(o)}:null,startTime:k(c),endTime:k(o),preset:a.preset}},m=(a,i,c)=>{if(!a)return null;const o=d.toCalendarDate(a);return c||!i?o:d.toCalendarDateTime(o,i)},Oe=(a,i)=>{var c,o;return{preset:a.preset,start:m((c=a.range)==null?void 0:c.start,a.startTime,i),end:m((o=a.range)==null?void 0:o.end,a.endTime,i)}};function Ge({className:a,locale:i,label:c,"aria-label":o,description:L,errorMessage:I,labels:le,intervals:B,presetKeys:R,presetLabels:w,hideTime:l=!1,minValue:F,maxValue:P,timezone:E,firstDayOfWeek:M,isDisabled:oe=!1,isRequired:de=!1,value:v,defaultValue:ge,onChange:A}){var te,ae;const ue=Ee.useOverlayPortalContainer(),{locale:me}=r.useLocale(),pe=i??me??"pt-BR",x=E??d.getLocalTimeZone(),{placeholder:U,relativeLabel:_,absoluteLabel:J,startDateLabel:he,endDateLabel:xe,cancelLabel:O,applyLabel:G}=le,j=h.useMemo(()=>{if(B)return B;if(R){if(!w)throw new Error("DateRangePicker: `presetLabels` is required when `presetKeys` is provided.");return Be.createDateRangePresets({timezone:E,firstDayOfWeek:M,include:R,labels:w})}},[B,R,w,M,E]),[u,Q]=h.useState(()=>ce(v??ge,x)),[p,f]=h.useState(u),[je,T]=h.useState(null),[fe,V]=h.useState(!1);h.useEffect(()=>{v!==void 0&&Q(ce(v,x))},[v,x]);const q=t=>({...t,preset:void 0}),Ce=t=>l?t:{...t,startTime:t.startTime??K(),endTime:t.endTime??ie()},ke=t=>{t&&(f(u),T(null)),V(t)},Te=t=>{T(null);const s=t.getValue(),g=y(s.start,x),n=y(s.end,x);f({range:{start:d.toCalendarDate(g),end:d.toCalendarDate(n)},startTime:k(g),endTime:k(n),preset:t})},De=t=>{T(t),t&&!l&&f(s=>q({...s,startTime:s.startTime??K()}))},Ne=t=>{T(null),f(s=>Ce(q({...s,range:t})))},be=t=>{if(!t)return;T(null);const s=d.toCalendarDate(t),g=k(t);f(n=>{var S,ne;const C=l?n.startTime:g??n.startTime??K(),D=m(s,C,l),N=m((S=n.range)==null?void 0:S.end,n.endTime,l),b=!!(D&&N&&N.compare(D)<0);return q({...n,range:{start:s,end:b||!((ne=n.range)!=null&&ne.end)?s:n.range.end},startTime:C,endTime:b?C:n.endTime})})},Se=t=>{if(!t)return;const s=d.toCalendarDate(t),g=k(t);f(n=>{var b,S;const C=l?n.endTime:g??n.endTime??ie(),D=m(s,C,l),N=m((b=n.range)==null?void 0:b.start,n.startTime,l);return N&&D&&D.compare(N)<0?n:q({...n,range:{start:((S=n.range)==null?void 0:S.start)??s,end:s},endTime:C})})},ve=()=>{Q(p),A==null||A(Oe(p,l)),V(!1)},qe=()=>V(!1),ye=!!(O||G),X=(()=>{if(u.preset)return u.preset.label;if(u.range){const t=n=>n.toDate(x).toLocaleString(pe,{day:"2-digit",month:"2-digit",year:"numeric",...l?{}:{hour:"2-digit",minute:"2-digit",second:"2-digit"}}),s=m(u.range.start,u.startTime,l),g=m(u.range.end,u.endTime,l);if(s&&g)return`${t(s)} — ${t(g)}`}return null})(),Le=!!(j&&j.length>0),Y=l?"day":"second",W=m(((te=p.range)==null?void 0:te.start)??je??void 0,p.startTime,l),$=m(((ae=p.range)==null?void 0:ae.end)??void 0,p.endTime,l),ee=e.jsxs(H.Field,{className:Ie.clsx(a,"date-range-picker"),children:[c&&e.jsx(H.Label,{children:c}),e.jsxs(r.DialogTrigger,{isOpen:fe,onOpenChange:ke,children:[e.jsxs(r.Button,{className:"date-range-picker-trigger",isDisabled:oe,"aria-label":c?void 0:o??U,"aria-required":de||void 0,"data-invalid":I?!0:void 0,children:[u.preset?e.jsxs("span",{className:"date-range-picker-preset-badge",children:[e.jsx(Z.IconCalendar,{"aria-hidden":"true"}),u.preset.label]}):e.jsx("span",{className:"date-range-picker-value","data-placeholder":X?void 0:!0,children:X??U}),e.jsx(Re.IconChevronDown,{"aria-hidden":"true"})]}),e.jsx(r.Popover,{className:"date-range-picker-popover",placement:"bottom start",UNSTABLE_portalContainer:ue,children:e.jsxs(r.Dialog,{className:"date-range-picker-dialog",children:[e.jsxs("div",{className:"date-range-picker-body",children:[Le&&e.jsxs("div",{className:"date-range-picker-presets",children:[e.jsx(z.TextSmallStrong,{className:"date-range-picker-section-title",children:_}),e.jsx(re.ListBox,{"aria-label":_,className:"date-range-picker-presets-list",selectionMode:"single",selectedKeys:p.preset?[p.preset.id]:[],items:j,onSelectionChange:t=>{const[s]=[...t],g=j==null?void 0:j.find(n=>n.id===s);g&&Te(g)},children:t=>e.jsxs(re.ListBoxItem,{id:t.id,textValue:t.label,className:"date-range-picker-preset-item",children:[e.jsx("span",{children:t.label}),e.jsx(we.IconCheck,{"aria-hidden":"true",className:"date-range-picker-preset-check"})]})})]}),e.jsxs("div",{className:"date-range-picker-absolute",children:[e.jsx(z.TextSmallStrong,{className:"date-range-picker-section-title",children:J}),e.jsxs("div",{className:"date-range-picker-fields",children:[e.jsxs(r.DateField,{className:"date-range-picker-datefield",granularity:Y,value:W,minValue:F,maxValue:$??P,onChange:be,children:[e.jsx(r.Label,{className:"date-range-picker-field-label",children:he}),e.jsxs(r.Group,{className:"date-range-picker-input",children:[e.jsx(r.DateInput,{children:t=>e.jsx(r.DateSegment,{segment:t})}),e.jsx(Z.IconCalendar,{"aria-hidden":"true"})]})]}),e.jsxs(r.DateField,{className:"date-range-picker-datefield",granularity:Y,value:$,minValue:W??F,maxValue:P,onChange:Se,children:[e.jsx(r.Label,{className:"date-range-picker-field-label",children:xe}),e.jsxs(r.Group,{className:"date-range-picker-input",children:[e.jsx(r.DateInput,{children:t=>e.jsx(r.DateSegment,{segment:t})}),e.jsx(Z.IconCalendar,{"aria-hidden":"true"})]})]})]}),e.jsxs(r.RangeCalendar,{className:"date-range-picker-calendar","aria-label":J,value:p.range,minValue:F,maxValue:P,onChange:Ne,children:[e.jsx(Ae,{onAnchorChange:De}),e.jsxs("header",{className:"date-range-picker-calendar-header",children:[e.jsx(r.Button,{slot:"previous",className:"date-range-picker-calendar-nav",children:e.jsx(Fe.IconChevronLeft,{"aria-hidden":"true"})}),e.jsx(r.Heading,{className:"date-range-picker-calendar-heading"}),e.jsx(r.Button,{slot:"next",className:"date-range-picker-calendar-nav",children:e.jsx(Pe.IconChevronRight,{"aria-hidden":"true"})})]}),e.jsx(r.CalendarGrid,{className:"date-range-picker-calendar-grid",children:t=>e.jsx(r.CalendarCell,{date:t,className:"date-range-picker-calendar-cell"})})]})]})]}),ye&&e.jsxs("div",{className:"date-range-picker-actions",children:[O&&e.jsx(se.Button,{variant:"neutral",size:"small",onPress:qe,children:O}),G&&e.jsx(se.Button,{variant:"primary",size:"small",onPress:ve,children:G})]})]})})]}),L&&e.jsx(H.Description,{children:L}),I&&e.jsx(z.Text,{className:"date-range-picker-error",elementType:"span",children:I})]});return i?e.jsx(r.I18nProvider,{locale:i,children:ee}):ee}exports.DateRangePicker=Ge;
2
2
  //# sourceMappingURL=DateRangePicker.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.cjs","sources":["../../../../../src/ui/primitives/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n Time,\n getLocalTimeZone,\n toCalendarDate,\n toCalendarDateTime,\n type DateValue,\n} from \"@internationalized/date\";\nimport { clsx } from \"clsx\";\nimport { useOverlayPortalContainer } from \"hooks\";\nimport {\n IconCalendar,\n IconCheck,\n IconChevronDown,\n IconChevronLeft,\n IconChevronRight,\n} from \"icons\";\nimport {\n Button,\n Description,\n Field,\n Label,\n ListBox,\n ListBoxItem,\n Text,\n TextSmallStrong,\n} from \"primitives\";\nimport { useContext, useEffect, useMemo, useState } from \"react\";\nimport {\n Button as RACButton,\n CalendarCell as RACCalendarCell,\n CalendarGrid as RACCalendarGrid,\n DateField as RACDateField,\n DateInput as RACDateInput,\n DateSegment as RACDateSegment,\n Dialog as RACDialog,\n DialogTrigger as RACDialogTrigger,\n Group as RACGroup,\n Heading as RACHeading,\n I18nProvider as RACI18nProvider,\n Label as RACLabel,\n Popover as RACPopover,\n RangeCalendar as RACRangeCalendar,\n RangeCalendarStateContext,\n useLocale,\n type TimeValue,\n} from \"react-aria-components\";\nimport {\n createDateRangePresets,\n type DateRangePresetKey,\n} from \"./dateRangePresets\";\nimport \"./daterangepicker.css\";\n\nconst dayStartTime = () => new Time(0, 0, 0);\nconst dayEndTime = () => new Time(23, 59, 59);\n\nfunction CalendarAnchorSync({\n onAnchorChange,\n}: {\n onAnchorChange: (anchor: DateValue | null) => void;\n}) {\n const state = useContext(RangeCalendarStateContext);\n const anchor = state?.anchorDate ?? null;\n const anchorKey = anchor?.toString();\n useEffect(() => {\n onAnchorChange(anchor);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [anchorKey]);\n return null;\n}\n\nexport interface DateRangePreset {\n id: string;\n label: string;\n getValue: () => { start: DateValue; end: DateValue };\n}\n\nexport interface DateRangePickerValue {\n preset?: DateRangePreset;\n start: DateValue | null;\n end: DateValue | null;\n}\n\nexport interface DateRangePickerLabels {\n placeholder: string;\n relativeLabel: string;\n absoluteLabel: string;\n startDateLabel: string;\n endDateLabel: string;\n cancelLabel?: string | null;\n applyLabel?: string | null;\n}\n\nexport interface DateRangePickerProps {\n className?: string;\n locale?: string;\n label?: string;\n \"aria-label\"?: string;\n description?: string;\n errorMessage?: string;\n labels: DateRangePickerLabels;\n intervals?: DateRangePreset[];\n presetKeys?: DateRangePresetKey[];\n presetLabels?: Record<DateRangePresetKey, string>;\n hideTime?: boolean;\n minValue?: DateValue;\n maxValue?: DateValue;\n timezone?: string;\n isDisabled?: boolean;\n isRequired?: boolean;\n value?: DateRangePickerValue;\n defaultValue?: DateRangePickerValue;\n onChange?: (value: DateRangePickerValue) => void;\n}\n\ntype DateRange = { start: DateValue; end: DateValue };\n\ntype DraftState = {\n range: DateRange | null;\n startTime: TimeValue | null;\n endTime: TimeValue | null;\n preset?: DateRangePreset;\n};\n\nconst timeFromDateValue = (date: DateValue | null): TimeValue | null =>\n date && \"hour\" in date ? new Time(date.hour, date.minute, date.second) : null;\n\nconst toDraftState = (value?: DateRangePickerValue): DraftState => {\n if (!value || (!value.start && !value.end)) {\n return { range: null, startTime: null, endTime: null, preset: value?.preset };\n }\n const range =\n value.start && value.end\n ? { start: toCalendarDate(value.start), end: toCalendarDate(value.end) }\n : null;\n return {\n range,\n startTime: timeFromDateValue(value.start),\n endTime: timeFromDateValue(value.end),\n preset: value.preset,\n };\n};\n\nconst combineDateAndTime = (\n date: DateValue | undefined,\n time: TimeValue | null,\n hideTime: boolean,\n): DateValue | null => {\n if (!date) return null;\n const calendarDate = toCalendarDate(date);\n if (hideTime || !time) return calendarDate;\n return toCalendarDateTime(calendarDate, time);\n};\n\nconst draftToValue = (\n draft: DraftState,\n hideTime: boolean,\n): DateRangePickerValue => ({\n preset: draft.preset,\n start: combineDateAndTime(draft.range?.start, draft.startTime, hideTime),\n end: combineDateAndTime(draft.range?.end, draft.endTime, hideTime),\n});\n\nexport function DateRangePicker({\n className,\n locale: localeProp,\n label,\n \"aria-label\": ariaLabel,\n description,\n errorMessage,\n labels,\n intervals: intervalsProp,\n presetKeys,\n presetLabels,\n hideTime = false,\n minValue,\n maxValue,\n timezone: timezoneProp,\n isDisabled = false,\n isRequired = false,\n value,\n defaultValue,\n onChange,\n}: DateRangePickerProps) {\n // Sem container explícito o popover faz portal no document.body — fora da\n // shadow root do MFE, sem CSS. Ver ui/hooks/useOverlayPortal.\n const portalContainer = useOverlayPortalContainer();\n const { locale: ambientLocale } = useLocale();\n const locale = localeProp ?? ambientLocale ?? \"pt-BR\";\n const timezone = timezoneProp ?? getLocalTimeZone();\n const {\n placeholder,\n relativeLabel,\n absoluteLabel,\n startDateLabel,\n endDateLabel,\n cancelLabel,\n applyLabel,\n } = labels;\n\n const intervals = useMemo(() => {\n if (intervalsProp) return intervalsProp;\n if (!presetKeys) return undefined;\n if (!presetLabels) {\n throw new Error(\n \"DateRangePicker: `presetLabels` is required when `presetKeys` is provided.\",\n );\n }\n return createDateRangePresets({\n locale,\n timezone,\n include: presetKeys,\n labels: presetLabels,\n });\n }, [intervalsProp, presetKeys, presetLabels, locale, timezone]);\n\n const [committed, setCommitted] = useState<DraftState>(() =>\n toDraftState(value ?? defaultValue),\n );\n const [draft, setDraft] = useState<DraftState>(committed);\n const [previewStart, setPreviewStart] = useState<DateValue | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (value !== undefined) setCommitted(toDraftState(value));\n }, [value]);\n\n const clearPreset = (next: DraftState): DraftState => ({\n ...next,\n preset: undefined,\n });\n\n const withDefaultTimes = (next: DraftState): DraftState =>\n hideTime\n ? next\n : {\n ...next,\n startTime: next.startTime ?? dayStartTime(),\n endTime: next.endTime ?? dayEndTime(),\n };\n\n const handleOpenChange = (open: boolean) => {\n if (open) {\n setDraft(committed);\n setPreviewStart(null);\n }\n setIsOpen(open);\n };\n\n const selectPreset = (preset: DateRangePreset) => {\n setPreviewStart(null);\n const { start, end } = preset.getValue();\n setDraft({\n range: { start: toCalendarDate(start), end: toCalendarDate(end) },\n startTime: timeFromDateValue(start),\n endTime: timeFromDateValue(end),\n preset,\n });\n };\n\n const handleAnchorChange = (anchor: DateValue | null) => {\n setPreviewStart(anchor);\n if (anchor && !hideTime) {\n setDraft((current) =>\n clearPreset({\n ...current,\n startTime: current.startTime ?? dayStartTime(),\n }),\n );\n }\n };\n\n const setRange = (range: DateRange | null) => {\n setPreviewStart(null);\n setDraft((current) => withDefaultTimes(clearPreset({ ...current, range })));\n };\n\n const setStartField = (dateTime: DateValue | null) => {\n if (!dateTime) return;\n setPreviewStart(null);\n const date = toCalendarDate(dateTime);\n const time = timeFromDateValue(dateTime);\n setDraft((current) => {\n const nextStartTime = hideTime\n ? current.startTime\n : (time ?? current.startTime ?? dayStartTime());\n const start = combineDateAndTime(date, nextStartTime, hideTime);\n const currentEnd = combineDateAndTime(\n current.range?.end,\n current.endTime,\n hideTime,\n );\n const pushEnd = Boolean(start && currentEnd && currentEnd.compare(start) < 0);\n return clearPreset({\n ...current,\n range: {\n start: date,\n end: pushEnd || !current.range?.end ? date : current.range.end,\n },\n startTime: nextStartTime,\n endTime: pushEnd ? nextStartTime : current.endTime,\n });\n });\n };\n\n const setEndField = (dateTime: DateValue | null) => {\n if (!dateTime) return;\n const date = toCalendarDate(dateTime);\n const time = timeFromDateValue(dateTime);\n setDraft((current) => {\n const nextEndTime = hideTime\n ? current.endTime\n : (time ?? current.endTime ?? dayEndTime());\n const end = combineDateAndTime(date, nextEndTime, hideTime);\n const start = combineDateAndTime(\n current.range?.start,\n current.startTime,\n hideTime,\n );\n if (start && end && end.compare(start) < 0) return current;\n return clearPreset({\n ...current,\n range: { start: current.range?.start ?? date, end: date },\n endTime: nextEndTime,\n });\n });\n };\n\n const apply = () => {\n setCommitted(draft);\n onChange?.(draftToValue(draft, hideTime));\n setIsOpen(false);\n };\n\n const cancel = () => setIsOpen(false);\n\n const showFooter = Boolean(cancelLabel || applyLabel);\n\n const triggerText = () => {\n if (committed.preset) return committed.preset.label;\n if (committed.range) {\n const format = (date: DateValue) =>\n date\n .toDate(timezone)\n .toLocaleString(locale, {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n ...(hideTime\n ? {}\n : { hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\" }),\n });\n const start = combineDateAndTime(\n committed.range.start,\n committed.startTime,\n hideTime,\n );\n const end = combineDateAndTime(\n committed.range.end,\n committed.endTime,\n hideTime,\n );\n if (start && end) return `${format(start)} — ${format(end)}`;\n }\n return null;\n };\n\n const selectedText = triggerText();\n const hasPresets = Boolean(intervals && intervals.length > 0);\n const fieldGranularity = hideTime ? \"day\" : \"second\";\n const startFieldValue = combineDateAndTime(\n draft.range?.start ?? previewStart ?? undefined,\n draft.startTime,\n hideTime,\n );\n const endFieldValue = combineDateAndTime(\n draft.range?.end ?? undefined,\n draft.endTime,\n hideTime,\n );\n\n const content = (\n <Field className={clsx(className, \"date-range-picker\")}>\n {label && <Label>{label}</Label>}\n <RACDialogTrigger isOpen={isOpen} onOpenChange={handleOpenChange}>\n <RACButton\n className=\"date-range-picker-trigger\"\n isDisabled={isDisabled}\n aria-label={label ? undefined : (ariaLabel ?? placeholder)}\n aria-required={isRequired || undefined}\n data-invalid={errorMessage ? true : undefined}\n >\n {committed.preset ? (\n <span className=\"date-range-picker-preset-badge\">\n <IconCalendar aria-hidden=\"true\" />\n {committed.preset.label}\n </span>\n ) : (\n <span\n className=\"date-range-picker-value\"\n data-placeholder={selectedText ? undefined : true}\n >\n {selectedText ?? placeholder}\n </span>\n )}\n <IconChevronDown aria-hidden=\"true\" />\n </RACButton>\n <RACPopover\n className=\"date-range-picker-popover\"\n placement=\"bottom start\"\n UNSTABLE_portalContainer={portalContainer}\n >\n <RACDialog className=\"date-range-picker-dialog\">\n <div className=\"date-range-picker-body\">\n {hasPresets && (\n <div className=\"date-range-picker-presets\">\n <TextSmallStrong className=\"date-range-picker-section-title\">\n {relativeLabel}\n </TextSmallStrong>\n <ListBox\n aria-label={relativeLabel}\n className=\"date-range-picker-presets-list\"\n selectionMode=\"single\"\n selectedKeys={draft.preset ? [draft.preset.id] : []}\n items={intervals}\n onSelectionChange={(keys) => {\n const [id] = [...keys];\n const preset = intervals?.find((item) => item.id === id);\n if (preset) selectPreset(preset);\n }}\n >\n {(item) => (\n <ListBoxItem\n id={item.id}\n textValue={item.label}\n className=\"date-range-picker-preset-item\"\n >\n <span>{item.label}</span>\n <IconCheck\n aria-hidden=\"true\"\n className=\"date-range-picker-preset-check\"\n />\n </ListBoxItem>\n )}\n </ListBox>\n </div>\n )}\n\n <div className=\"date-range-picker-absolute\">\n <TextSmallStrong className=\"date-range-picker-section-title\">\n {absoluteLabel}\n </TextSmallStrong>\n\n <div className=\"date-range-picker-fields\">\n <RACDateField\n className=\"date-range-picker-datefield\"\n granularity={fieldGranularity}\n value={startFieldValue}\n minValue={minValue}\n maxValue={endFieldValue ?? maxValue}\n onChange={setStartField}\n >\n <RACLabel className=\"date-range-picker-field-label\">\n {startDateLabel}\n </RACLabel>\n <RACGroup className=\"date-range-picker-input\">\n <RACDateInput>\n {(segment) => <RACDateSegment segment={segment} />}\n </RACDateInput>\n <IconCalendar aria-hidden=\"true\" />\n </RACGroup>\n </RACDateField>\n\n <RACDateField\n className=\"date-range-picker-datefield\"\n granularity={fieldGranularity}\n value={endFieldValue}\n minValue={startFieldValue ?? minValue}\n maxValue={maxValue}\n onChange={setEndField}\n >\n <RACLabel className=\"date-range-picker-field-label\">\n {endDateLabel}\n </RACLabel>\n <RACGroup className=\"date-range-picker-input\">\n <RACDateInput>\n {(segment) => <RACDateSegment segment={segment} />}\n </RACDateInput>\n <IconCalendar aria-hidden=\"true\" />\n </RACGroup>\n </RACDateField>\n </div>\n\n <RACRangeCalendar\n className=\"date-range-picker-calendar\"\n aria-label={absoluteLabel}\n value={draft.range}\n minValue={minValue}\n maxValue={maxValue}\n onChange={setRange}\n >\n <CalendarAnchorSync onAnchorChange={handleAnchorChange} />\n <header className=\"date-range-picker-calendar-header\">\n <RACButton\n slot=\"previous\"\n className=\"date-range-picker-calendar-nav\"\n >\n <IconChevronLeft aria-hidden=\"true\" />\n </RACButton>\n <RACHeading className=\"date-range-picker-calendar-heading\" />\n <RACButton\n slot=\"next\"\n className=\"date-range-picker-calendar-nav\"\n >\n <IconChevronRight aria-hidden=\"true\" />\n </RACButton>\n </header>\n <RACCalendarGrid className=\"date-range-picker-calendar-grid\">\n {(date) => (\n <RACCalendarCell\n date={date}\n className=\"date-range-picker-calendar-cell\"\n />\n )}\n </RACCalendarGrid>\n </RACRangeCalendar>\n </div>\n </div>\n\n {showFooter && (\n <div className=\"date-range-picker-actions\">\n {cancelLabel && (\n <Button variant=\"neutral\" size=\"small\" onPress={cancel}>\n {cancelLabel}\n </Button>\n )}\n {applyLabel && (\n <Button variant=\"primary\" size=\"small\" onPress={apply}>\n {applyLabel}\n </Button>\n )}\n </div>\n )}\n </RACDialog>\n </RACPopover>\n </RACDialogTrigger>\n {description && <Description>{description}</Description>}\n {errorMessage && (\n <Text className=\"date-range-picker-error\" elementType=\"span\">\n {errorMessage}\n </Text>\n )}\n </Field>\n );\n\n return localeProp ? (\n <RACI18nProvider locale={localeProp}>{content}</RACI18nProvider>\n ) : (\n content\n );\n}\n"],"names":["dayStartTime","Time","dayEndTime","CalendarAnchorSync","onAnchorChange","state","useContext","RangeCalendarStateContext","anchor","anchorKey","useEffect","timeFromDateValue","date","toDraftState","value","toCalendarDate","combineDateAndTime","time","hideTime","calendarDate","toCalendarDateTime","draftToValue","draft","_a","_b","DateRangePicker","className","localeProp","label","ariaLabel","description","errorMessage","labels","intervalsProp","presetKeys","presetLabels","minValue","maxValue","timezoneProp","isDisabled","isRequired","defaultValue","onChange","portalContainer","useOverlayPortalContainer","ambientLocale","useLocale","locale","timezone","getLocalTimeZone","placeholder","relativeLabel","absoluteLabel","startDateLabel","endDateLabel","cancelLabel","applyLabel","intervals","useMemo","createDateRangePresets","committed","setCommitted","useState","setDraft","previewStart","setPreviewStart","isOpen","setIsOpen","clearPreset","next","withDefaultTimes","handleOpenChange","open","selectPreset","preset","start","end","handleAnchorChange","current","setRange","range","setStartField","dateTime","nextStartTime","currentEnd","pushEnd","setEndField","nextEndTime","apply","cancel","showFooter","selectedText","format","hasPresets","fieldGranularity","startFieldValue","endFieldValue","content","jsxs","Field","clsx","jsx","Label","RACDialogTrigger","RACButton","IconCalendar","IconChevronDown","RACPopover","RACDialog","TextSmallStrong","ListBox","keys","id","item","ListBoxItem","IconCheck","RACDateField","RACLabel","RACGroup","RACDateInput","segment","RACDateSegment","RACRangeCalendar","IconChevronLeft","RACHeading","IconChevronRight","RACCalendarGrid","RACCalendarCell","Button","Description","Text","RACI18nProvider"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangePicker.cjs","sources":["../../../../../src/ui/primitives/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n Time,\n getLocalTimeZone,\n toCalendarDate,\n toCalendarDateTime,\n toTimeZone,\n type DateValue,\n type ZonedDateTime,\n} from \"@internationalized/date\";\nimport { clsx } from \"clsx\";\nimport { useOverlayPortalContainer } from \"hooks\";\nimport {\n IconCalendar,\n IconCheck,\n IconChevronDown,\n IconChevronLeft,\n IconChevronRight,\n} from \"icons\";\nimport {\n Button,\n Description,\n Field,\n Label,\n ListBox,\n ListBoxItem,\n Text,\n TextSmallStrong,\n} from \"primitives\";\nimport { useContext, useEffect, useMemo, useState } from \"react\";\nimport {\n Button as RACButton,\n CalendarCell as RACCalendarCell,\n CalendarGrid as RACCalendarGrid,\n DateField as RACDateField,\n DateInput as RACDateInput,\n DateSegment as RACDateSegment,\n Dialog as RACDialog,\n DialogTrigger as RACDialogTrigger,\n Group as RACGroup,\n Heading as RACHeading,\n I18nProvider as RACI18nProvider,\n Label as RACLabel,\n Popover as RACPopover,\n RangeCalendar as RACRangeCalendar,\n RangeCalendarStateContext,\n useLocale,\n type TimeValue,\n} from \"react-aria-components\";\nimport {\n createDateRangePresets,\n type DateRangePresetKey,\n type FirstDayOfWeek,\n} from \"./dateRangePresets\";\nimport \"./daterangepicker.css\";\n\nconst dayStartTime = () => new Time(0, 0, 0);\nconst dayEndTime = () => new Time(23, 59, 59);\n\nfunction CalendarAnchorSync({\n onAnchorChange,\n}: {\n onAnchorChange: (anchor: DateValue | null) => void;\n}) {\n const state = useContext(RangeCalendarStateContext);\n const anchor = state?.anchorDate ?? null;\n const anchorKey = anchor?.toString();\n useEffect(() => {\n onAnchorChange(anchor);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [anchorKey]);\n return null;\n}\n\nexport interface DateRangePreset {\n id: string;\n label: string;\n getValue: () => { start: DateValue; end: DateValue };\n}\n\nexport interface DateRangePickerValue {\n preset?: DateRangePreset;\n start: DateValue | null;\n end: DateValue | null;\n}\n\nexport interface DateRangePickerLabels {\n placeholder: string;\n relativeLabel: string;\n absoluteLabel: string;\n startDateLabel: string;\n endDateLabel: string;\n cancelLabel?: string | null;\n applyLabel?: string | null;\n}\n\nexport interface DateRangePickerProps {\n className?: string;\n locale?: string;\n label?: string;\n \"aria-label\"?: string;\n description?: string;\n errorMessage?: string;\n labels: DateRangePickerLabels;\n intervals?: DateRangePreset[];\n presetKeys?: DateRangePresetKey[];\n presetLabels?: Record<DateRangePresetKey, string>;\n hideTime?: boolean;\n minValue?: DateValue;\n maxValue?: DateValue;\n timezone?: string;\n firstDayOfWeek?: FirstDayOfWeek;\n isDisabled?: boolean;\n isRequired?: boolean;\n value?: DateRangePickerValue;\n defaultValue?: DateRangePickerValue;\n onChange?: (value: DateRangePickerValue) => void;\n}\n\ntype DateRange = { start: DateValue; end: DateValue };\n\ntype DraftState = {\n range: DateRange | null;\n startTime: TimeValue | null;\n endTime: TimeValue | null;\n preset?: DateRangePreset;\n};\n\nconst timeFromDateValue = (date: DateValue | null): TimeValue | null =>\n date && \"hour\" in date ? new Time(date.hour, date.minute, date.second) : null;\n\nconst inTimeZone = (date: DateValue, timezone: string): DateValue =>\n \"timeZone\" in date ? toTimeZone(date as ZonedDateTime, timezone) : date;\n\nconst toDraftState = (value: DateRangePickerValue | undefined, timezone: string): DraftState => {\n if (!value || (!value.start && !value.end)) {\n return { range: null, startTime: null, endTime: null, preset: value?.preset };\n }\n const start: DateValue | null = value.start && inTimeZone(value.start, timezone);\n const end: DateValue | null = value.end && inTimeZone(value.end, timezone);\n const range =\n start && end ? { start: toCalendarDate(start), end: toCalendarDate(end) } : null;\n return {\n range,\n startTime: timeFromDateValue(start),\n endTime: timeFromDateValue(end),\n preset: value.preset,\n };\n};\n\nconst combineDateAndTime = (\n date: DateValue | undefined,\n time: TimeValue | null,\n hideTime: boolean,\n): DateValue | null => {\n if (!date) return null;\n const calendarDate = toCalendarDate(date);\n if (hideTime || !time) return calendarDate;\n return toCalendarDateTime(calendarDate, time);\n};\n\nconst draftToValue = (\n draft: DraftState,\n hideTime: boolean,\n): DateRangePickerValue => ({\n preset: draft.preset,\n start: combineDateAndTime(draft.range?.start, draft.startTime, hideTime),\n end: combineDateAndTime(draft.range?.end, draft.endTime, hideTime),\n});\n\nexport function DateRangePicker({\n className,\n locale: localeProp,\n label,\n \"aria-label\": ariaLabel,\n description,\n errorMessage,\n labels,\n intervals: intervalsProp,\n presetKeys,\n presetLabels,\n hideTime = false,\n minValue,\n maxValue,\n timezone: timezoneProp,\n firstDayOfWeek,\n isDisabled = false,\n isRequired = false,\n value,\n defaultValue,\n onChange,\n}: DateRangePickerProps) {\n // Sem container explícito o popover faz portal no document.body — fora da\n // shadow root do MFE, sem CSS. Ver ui/hooks/useOverlayPortal.\n const portalContainer = useOverlayPortalContainer();\n const { locale: ambientLocale } = useLocale();\n const locale = localeProp ?? ambientLocale ?? \"pt-BR\";\n const timezone = timezoneProp ?? getLocalTimeZone();\n const {\n placeholder,\n relativeLabel,\n absoluteLabel,\n startDateLabel,\n endDateLabel,\n cancelLabel,\n applyLabel,\n } = labels;\n\n const intervals = useMemo(() => {\n if (intervalsProp) return intervalsProp;\n if (!presetKeys) return undefined;\n if (!presetLabels) {\n throw new Error(\n \"DateRangePicker: `presetLabels` is required when `presetKeys` is provided.\",\n );\n }\n return createDateRangePresets({\n timezone: timezoneProp,\n firstDayOfWeek,\n include: presetKeys,\n labels: presetLabels,\n });\n }, [intervalsProp, presetKeys, presetLabels, firstDayOfWeek, timezoneProp]);\n\n const [committed, setCommitted] = useState<DraftState>(() =>\n toDraftState(value ?? defaultValue, timezone),\n );\n const [draft, setDraft] = useState<DraftState>(committed);\n const [previewStart, setPreviewStart] = useState<DateValue | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (value !== undefined) setCommitted(toDraftState(value, timezone));\n }, [value, timezone]);\n\n const clearPreset = (next: DraftState): DraftState => ({\n ...next,\n preset: undefined,\n });\n\n const withDefaultTimes = (next: DraftState): DraftState =>\n hideTime\n ? next\n : {\n ...next,\n startTime: next.startTime ?? dayStartTime(),\n endTime: next.endTime ?? dayEndTime(),\n };\n\n const handleOpenChange = (open: boolean) => {\n if (open) {\n setDraft(committed);\n setPreviewStart(null);\n }\n setIsOpen(open);\n };\n\n const selectPreset = (preset: DateRangePreset) => {\n setPreviewStart(null);\n const presetRange = preset.getValue();\n const start: DateValue = inTimeZone(presetRange.start, timezone);\n const end: DateValue = inTimeZone(presetRange.end, timezone);\n setDraft({\n range: { start: toCalendarDate(start), end: toCalendarDate(end) },\n startTime: timeFromDateValue(start),\n endTime: timeFromDateValue(end),\n preset,\n });\n };\n\n const handleAnchorChange = (anchor: DateValue | null) => {\n setPreviewStart(anchor);\n if (anchor && !hideTime) {\n setDraft((current) =>\n clearPreset({\n ...current,\n startTime: current.startTime ?? dayStartTime(),\n }),\n );\n }\n };\n\n const setRange = (range: DateRange | null) => {\n setPreviewStart(null);\n setDraft((current) => withDefaultTimes(clearPreset({ ...current, range })));\n };\n\n const setStartField = (dateTime: DateValue | null) => {\n if (!dateTime) return;\n setPreviewStart(null);\n const date = toCalendarDate(dateTime);\n const time = timeFromDateValue(dateTime);\n setDraft((current) => {\n const nextStartTime = hideTime\n ? current.startTime\n : (time ?? current.startTime ?? dayStartTime());\n const start = combineDateAndTime(date, nextStartTime, hideTime);\n const currentEnd = combineDateAndTime(\n current.range?.end,\n current.endTime,\n hideTime,\n );\n const pushEnd = Boolean(start && currentEnd && currentEnd.compare(start) < 0);\n return clearPreset({\n ...current,\n range: {\n start: date,\n end: pushEnd || !current.range?.end ? date : current.range.end,\n },\n startTime: nextStartTime,\n endTime: pushEnd ? nextStartTime : current.endTime,\n });\n });\n };\n\n const setEndField = (dateTime: DateValue | null) => {\n if (!dateTime) return;\n const date = toCalendarDate(dateTime);\n const time = timeFromDateValue(dateTime);\n setDraft((current) => {\n const nextEndTime = hideTime\n ? current.endTime\n : (time ?? current.endTime ?? dayEndTime());\n const end = combineDateAndTime(date, nextEndTime, hideTime);\n const start = combineDateAndTime(\n current.range?.start,\n current.startTime,\n hideTime,\n );\n if (start && end && end.compare(start) < 0) return current;\n return clearPreset({\n ...current,\n range: { start: current.range?.start ?? date, end: date },\n endTime: nextEndTime,\n });\n });\n };\n\n const apply = () => {\n setCommitted(draft);\n onChange?.(draftToValue(draft, hideTime));\n setIsOpen(false);\n };\n\n const cancel = () => setIsOpen(false);\n\n const showFooter = Boolean(cancelLabel || applyLabel);\n\n const triggerText = () => {\n if (committed.preset) return committed.preset.label;\n if (committed.range) {\n const format = (date: DateValue) =>\n date\n .toDate(timezone)\n .toLocaleString(locale, {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n ...(hideTime\n ? {}\n : { hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\" }),\n });\n const start = combineDateAndTime(\n committed.range.start,\n committed.startTime,\n hideTime,\n );\n const end = combineDateAndTime(\n committed.range.end,\n committed.endTime,\n hideTime,\n );\n if (start && end) return `${format(start)} — ${format(end)}`;\n }\n return null;\n };\n\n const selectedText = triggerText();\n const hasPresets = Boolean(intervals && intervals.length > 0);\n const fieldGranularity = hideTime ? \"day\" : \"second\";\n const startFieldValue = combineDateAndTime(\n draft.range?.start ?? previewStart ?? undefined,\n draft.startTime,\n hideTime,\n );\n const endFieldValue = combineDateAndTime(\n draft.range?.end ?? undefined,\n draft.endTime,\n hideTime,\n );\n\n const content = (\n <Field className={clsx(className, \"date-range-picker\")}>\n {label && <Label>{label}</Label>}\n <RACDialogTrigger isOpen={isOpen} onOpenChange={handleOpenChange}>\n <RACButton\n className=\"date-range-picker-trigger\"\n isDisabled={isDisabled}\n aria-label={label ? undefined : (ariaLabel ?? placeholder)}\n aria-required={isRequired || undefined}\n data-invalid={errorMessage ? true : undefined}\n >\n {committed.preset ? (\n <span className=\"date-range-picker-preset-badge\">\n <IconCalendar aria-hidden=\"true\" />\n {committed.preset.label}\n </span>\n ) : (\n <span\n className=\"date-range-picker-value\"\n data-placeholder={selectedText ? undefined : true}\n >\n {selectedText ?? placeholder}\n </span>\n )}\n <IconChevronDown aria-hidden=\"true\" />\n </RACButton>\n <RACPopover\n className=\"date-range-picker-popover\"\n placement=\"bottom start\"\n UNSTABLE_portalContainer={portalContainer}\n >\n <RACDialog className=\"date-range-picker-dialog\">\n <div className=\"date-range-picker-body\">\n {hasPresets && (\n <div className=\"date-range-picker-presets\">\n <TextSmallStrong className=\"date-range-picker-section-title\">\n {relativeLabel}\n </TextSmallStrong>\n <ListBox\n aria-label={relativeLabel}\n className=\"date-range-picker-presets-list\"\n selectionMode=\"single\"\n selectedKeys={draft.preset ? [draft.preset.id] : []}\n items={intervals}\n onSelectionChange={(keys) => {\n const [id] = [...keys];\n const preset = intervals?.find((item) => item.id === id);\n if (preset) selectPreset(preset);\n }}\n >\n {(item) => (\n <ListBoxItem\n id={item.id}\n textValue={item.label}\n className=\"date-range-picker-preset-item\"\n >\n <span>{item.label}</span>\n <IconCheck\n aria-hidden=\"true\"\n className=\"date-range-picker-preset-check\"\n />\n </ListBoxItem>\n )}\n </ListBox>\n </div>\n )}\n\n <div className=\"date-range-picker-absolute\">\n <TextSmallStrong className=\"date-range-picker-section-title\">\n {absoluteLabel}\n </TextSmallStrong>\n\n <div className=\"date-range-picker-fields\">\n <RACDateField\n className=\"date-range-picker-datefield\"\n granularity={fieldGranularity}\n value={startFieldValue}\n minValue={minValue}\n maxValue={endFieldValue ?? maxValue}\n onChange={setStartField}\n >\n <RACLabel className=\"date-range-picker-field-label\">\n {startDateLabel}\n </RACLabel>\n <RACGroup className=\"date-range-picker-input\">\n <RACDateInput>\n {(segment) => <RACDateSegment segment={segment} />}\n </RACDateInput>\n <IconCalendar aria-hidden=\"true\" />\n </RACGroup>\n </RACDateField>\n\n <RACDateField\n className=\"date-range-picker-datefield\"\n granularity={fieldGranularity}\n value={endFieldValue}\n minValue={startFieldValue ?? minValue}\n maxValue={maxValue}\n onChange={setEndField}\n >\n <RACLabel className=\"date-range-picker-field-label\">\n {endDateLabel}\n </RACLabel>\n <RACGroup className=\"date-range-picker-input\">\n <RACDateInput>\n {(segment) => <RACDateSegment segment={segment} />}\n </RACDateInput>\n <IconCalendar aria-hidden=\"true\" />\n </RACGroup>\n </RACDateField>\n </div>\n\n <RACRangeCalendar\n className=\"date-range-picker-calendar\"\n aria-label={absoluteLabel}\n value={draft.range}\n minValue={minValue}\n maxValue={maxValue}\n onChange={setRange}\n >\n <CalendarAnchorSync onAnchorChange={handleAnchorChange} />\n <header className=\"date-range-picker-calendar-header\">\n <RACButton\n slot=\"previous\"\n className=\"date-range-picker-calendar-nav\"\n >\n <IconChevronLeft aria-hidden=\"true\" />\n </RACButton>\n <RACHeading className=\"date-range-picker-calendar-heading\" />\n <RACButton\n slot=\"next\"\n className=\"date-range-picker-calendar-nav\"\n >\n <IconChevronRight aria-hidden=\"true\" />\n </RACButton>\n </header>\n <RACCalendarGrid className=\"date-range-picker-calendar-grid\">\n {(date) => (\n <RACCalendarCell\n date={date}\n className=\"date-range-picker-calendar-cell\"\n />\n )}\n </RACCalendarGrid>\n </RACRangeCalendar>\n </div>\n </div>\n\n {showFooter && (\n <div className=\"date-range-picker-actions\">\n {cancelLabel && (\n <Button variant=\"neutral\" size=\"small\" onPress={cancel}>\n {cancelLabel}\n </Button>\n )}\n {applyLabel && (\n <Button variant=\"primary\" size=\"small\" onPress={apply}>\n {applyLabel}\n </Button>\n )}\n </div>\n )}\n </RACDialog>\n </RACPopover>\n </RACDialogTrigger>\n {description && <Description>{description}</Description>}\n {errorMessage && (\n <Text className=\"date-range-picker-error\" elementType=\"span\">\n {errorMessage}\n </Text>\n )}\n </Field>\n );\n\n return localeProp ? (\n <RACI18nProvider locale={localeProp}>{content}</RACI18nProvider>\n ) : (\n content\n );\n}\n"],"names":["dayStartTime","Time","dayEndTime","CalendarAnchorSync","onAnchorChange","state","useContext","RangeCalendarStateContext","anchor","anchorKey","useEffect","timeFromDateValue","date","inTimeZone","timezone","toTimeZone","toDraftState","value","start","end","toCalendarDate","combineDateAndTime","time","hideTime","calendarDate","toCalendarDateTime","draftToValue","draft","_a","_b","DateRangePicker","className","localeProp","label","ariaLabel","description","errorMessage","labels","intervalsProp","presetKeys","presetLabels","minValue","maxValue","timezoneProp","firstDayOfWeek","isDisabled","isRequired","defaultValue","onChange","portalContainer","useOverlayPortalContainer","ambientLocale","useLocale","locale","getLocalTimeZone","placeholder","relativeLabel","absoluteLabel","startDateLabel","endDateLabel","cancelLabel","applyLabel","intervals","useMemo","createDateRangePresets","committed","setCommitted","useState","setDraft","previewStart","setPreviewStart","isOpen","setIsOpen","clearPreset","next","withDefaultTimes","handleOpenChange","open","selectPreset","preset","presetRange","handleAnchorChange","current","setRange","range","setStartField","dateTime","nextStartTime","currentEnd","pushEnd","setEndField","nextEndTime","apply","cancel","showFooter","selectedText","format","hasPresets","fieldGranularity","startFieldValue","endFieldValue","content","jsxs","Field","clsx","jsx","Label","RACDialogTrigger","RACButton","IconCalendar","IconChevronDown","RACPopover","RACDialog","TextSmallStrong","ListBox","keys","id","item","ListBoxItem","IconCheck","RACDateField","RACLabel","RACGroup","RACDateInput","segment","RACDateSegment","RACRangeCalendar","IconChevronLeft","RACHeading","IconChevronRight","RACCalendarGrid","RACCalendarCell","Button","Description","Text","RACI18nProvider"],"mappings":"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"}