zaravand-ui 6.0.0 → 7.0.1
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/README.md +45 -45
- package/dist/components/Accordion/Accordion.cjs +1 -1
- package/dist/components/Accordion/Accordion.interface.d.cts +8 -0
- package/dist/components/Accordion/Accordion.interface.d.ts +8 -0
- package/dist/components/Accordion/Accordion.js +226 -148
- package/dist/components/Accordion/Accordion.variant.cjs +1 -1
- package/dist/components/Accordion/Accordion.variant.js +2 -2
- package/dist/components/Avatar/Avatar.cjs +1 -1
- package/dist/components/Avatar/Avatar.js +32 -32
- package/dist/components/Button/Button.cjs +1 -1
- package/dist/components/Button/Button.interface.d.cts +0 -1
- package/dist/components/Button/Button.interface.d.ts +0 -1
- package/dist/components/Button/Button.js +41 -42
- package/dist/components/Button/Button.variant.cjs +1 -1
- package/dist/components/Button/Button.variant.d.cts +0 -1
- package/dist/components/Button/Button.variant.d.ts +0 -1
- package/dist/components/Button/Button.variant.js +2 -4
- package/dist/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.interface.d.cts +11 -0
- package/dist/components/Checkbox/Checkbox.interface.d.ts +11 -0
- package/dist/components/Checkbox/Checkbox.js +66 -43
- package/dist/components/Checkbox/Checkbox.variant.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.variant.d.cts +9 -4
- package/dist/components/Checkbox/Checkbox.variant.d.ts +9 -4
- package/dist/components/Checkbox/Checkbox.variant.js +20 -16
- package/dist/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.interface.d.cts +0 -1
- package/dist/components/DatePicker/DatePicker.interface.d.ts +0 -1
- package/dist/components/DatePicker/DatePicker.js +511 -407
- package/dist/components/DatePicker/DatePicker.utils.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.utils.js +101 -82
- package/dist/components/DatePicker/DatePicker.variant.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.variant.d.cts +1 -3
- package/dist/components/DatePicker/DatePicker.variant.d.ts +1 -3
- package/dist/components/DatePicker/DatePicker.variant.js +14 -16
- package/dist/components/DatePicker/DatePickerMonthSlider.cjs +1 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.d.cts +25 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.d.ts +25 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.js +98 -0
- package/dist/components/DatePicker/DatePickerWheel.cjs +1 -0
- package/dist/components/DatePicker/DatePickerWheel.d.cts +30 -0
- package/dist/components/DatePicker/DatePickerWheel.d.ts +30 -0
- package/dist/components/DatePicker/DatePickerWheel.js +156 -0
- package/dist/components/Dialog/Dialog.cjs +1 -1
- package/dist/components/Dialog/Dialog.interface.d.cts +5 -0
- package/dist/components/Dialog/Dialog.interface.d.ts +5 -0
- package/dist/components/Dialog/Dialog.js +57 -49
- package/dist/components/Dialog/Dialog.variant.cjs +1 -1
- package/dist/components/Dialog/Dialog.variant.js +1 -1
- package/dist/components/Dialog/DialogDragHandle.cjs +1 -0
- package/dist/components/Dialog/DialogDragHandle.d.cts +11 -0
- package/dist/components/Dialog/DialogDragHandle.d.ts +11 -0
- package/dist/components/Dialog/DialogDragHandle.js +55 -0
- package/dist/components/Input/Input.cjs +1 -1
- package/dist/components/Input/Input.js +38 -37
- package/dist/components/Input/Input.variant.cjs +1 -1
- package/dist/components/Input/Input.variant.d.cts +1 -3
- package/dist/components/Input/Input.variant.d.ts +1 -3
- package/dist/components/Input/Input.variant.js +9 -8
- package/dist/components/Pagination/Pagination.cjs +1 -1
- package/dist/components/Pagination/Pagination.js +90 -73
- package/dist/components/Pagination/Pagination.variant.cjs +1 -1
- package/dist/components/Pagination/Pagination.variant.d.cts +3 -1
- package/dist/components/Pagination/Pagination.variant.d.ts +3 -1
- package/dist/components/Pagination/Pagination.variant.js +12 -6
- package/dist/components/RadioGroup/RadioGroup.cjs +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +44 -41
- package/dist/components/RadioGroup/RadioGroup.variant.cjs +1 -1
- package/dist/components/RadioGroup/RadioGroup.variant.d.cts +3 -2
- package/dist/components/RadioGroup/RadioGroup.variant.d.ts +3 -2
- package/dist/components/RadioGroup/RadioGroup.variant.js +11 -21
- package/dist/components/Select/Select.cjs +1 -1
- package/dist/components/Select/Select.d.cts +1 -3
- package/dist/components/Select/Select.d.ts +1 -3
- package/dist/components/Select/Select.interface.d.cts +0 -1
- package/dist/components/Select/Select.interface.d.ts +0 -1
- package/dist/components/Select/Select.js +620 -401
- package/dist/components/Select/Select.variant.cjs +1 -1
- package/dist/components/Select/Select.variant.d.cts +5 -5
- package/dist/components/Select/Select.variant.d.ts +5 -5
- package/dist/components/Select/Select.variant.js +10 -12
- package/dist/components/Sheet/Sheet.variant.cjs +1 -1
- package/dist/components/Sheet/Sheet.variant.js +6 -6
- package/dist/components/Switch/Switch.cjs +1 -1
- package/dist/components/Switch/Switch.interface.d.cts +12 -3
- package/dist/components/Switch/Switch.interface.d.ts +12 -3
- package/dist/components/Switch/Switch.js +57 -37
- package/dist/components/Switch/Switch.variant.cjs +1 -1
- package/dist/components/Switch/Switch.variant.d.cts +9 -5
- package/dist/components/Switch/Switch.variant.d.ts +9 -5
- package/dist/components/Switch/Switch.variant.js +22 -15
- package/dist/components/Table/Table.cjs +1 -1
- package/dist/components/Table/Table.interface.d.cts +9 -0
- package/dist/components/Table/Table.interface.d.ts +9 -0
- package/dist/components/Table/Table.js +462 -271
- package/dist/components/Table/TableSkeletonRows.cjs +1 -1
- package/dist/components/Table/TableSkeletonRows.js +26 -21
- package/dist/components/Table/TableSortToggle.cjs +1 -1
- package/dist/components/Table/TableSortToggle.d.cts +1 -1
- package/dist/components/Table/TableSortToggle.d.ts +1 -1
- package/dist/components/Table/TableSortToggle.js +23 -22
- package/dist/components/Table/hooks/useTableCardLabels.cjs +1 -0
- package/dist/components/Table/hooks/useTableCardLabels.d.cts +9 -0
- package/dist/components/Table/hooks/useTableCardLabels.d.ts +9 -0
- package/dist/components/Table/hooks/useTableCardLabels.js +34 -0
- package/dist/components/Table/hooks/useTableSort.cjs +1 -1
- package/dist/components/Table/hooks/useTableSort.d.cts +2 -0
- package/dist/components/Table/hooks/useTableSort.d.ts +2 -0
- package/dist/components/Table/hooks/useTableSort.js +8 -1
- package/dist/components/Tabs/Tabs.cjs +1 -1
- package/dist/components/Tabs/Tabs.js +90 -63
- package/dist/components/Tabs/Tabs.variant.cjs +1 -1
- package/dist/components/Tabs/Tabs.variant.d.cts +2 -2
- package/dist/components/Tabs/Tabs.variant.d.ts +2 -2
- package/dist/components/Tabs/Tabs.variant.js +52 -29
- package/dist/components/Textarea/Textarea.cjs +1 -1
- package/dist/components/Textarea/Textarea.js +19 -18
- package/dist/components/Textarea/Textarea.variant.cjs +1 -1
- package/dist/components/Textarea/Textarea.variant.js +5 -5
- package/dist/components/TimePicker/TimePicker.cjs +1 -1
- package/dist/components/TimePicker/TimePicker.interface.d.cts +0 -1
- package/dist/components/TimePicker/TimePicker.interface.d.ts +0 -1
- package/dist/components/TimePicker/TimePicker.js +121 -83
- package/dist/components/TimePicker/TimePicker.variant.cjs +1 -1
- package/dist/components/TimePicker/TimePicker.variant.d.cts +1 -3
- package/dist/components/TimePicker/TimePicker.variant.d.ts +1 -3
- package/dist/components/TimePicker/TimePicker.variant.js +9 -11
- package/dist/components/TimePicker/TimePickerPanel.cjs +1 -1
- package/dist/components/TimePicker/TimePickerPanel.js +3 -4
- package/dist/components/TimePicker/TimePickerWheel.cjs +1 -0
- package/dist/components/TimePicker/TimePickerWheel.d.cts +27 -0
- package/dist/components/TimePicker/TimePickerWheel.d.ts +27 -0
- package/dist/components/TimePicker/TimePickerWheel.js +205 -0
- package/dist/components/Toast/Toast.cjs +1 -1
- package/dist/components/Toast/Toast.d.cts +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/Toast.js +56 -34
- package/dist/components/Toast/Toast.variant.cjs +1 -1
- package/dist/components/Toast/Toast.variant.d.cts +1 -1
- package/dist/components/Toast/Toast.variant.d.ts +1 -1
- package/dist/components/Toast/Toast.variant.js +1 -1
- package/dist/components/Toast/ToastHost.cjs +1 -1
- package/dist/components/Toast/ToastHost.js +42 -41
- package/dist/components/Toast/function/toastHaptics.cjs +1 -0
- package/dist/components/Toast/function/toastHaptics.d.cts +11 -0
- package/dist/components/Toast/function/toastHaptics.d.ts +11 -0
- package/dist/components/Toast/function/toastHaptics.js +6 -0
- package/dist/components/Uploader/Uploader.cjs +2 -2
- package/dist/components/Uploader/Uploader.js +328 -158
- package/dist/components/Uploader/Uploader.variant.cjs +1 -1
- package/dist/components/Uploader/Uploader.variant.d.cts +1 -3
- package/dist/components/Uploader/Uploader.variant.d.ts +1 -3
- package/dist/components/Uploader/Uploader.variant.js +2 -5
- package/dist/components/shared/ActionSheet.cjs +1 -0
- package/dist/components/shared/ActionSheet.d.cts +26 -0
- package/dist/components/shared/ActionSheet.d.ts +26 -0
- package/dist/components/shared/ActionSheet.js +51 -0
- package/dist/components/shared/FieldClearButton.cjs +1 -1
- package/dist/components/shared/FieldClearButton.d.cts +2 -1
- package/dist/components/shared/FieldClearButton.d.ts +2 -1
- package/dist/components/shared/FieldClearButton.js +11 -10
- package/dist/components/shared/FieldLabel.cjs +1 -1
- package/dist/components/shared/FieldLabel.js +6 -6
- package/dist/components/shared/IconActionButton.cjs +1 -1
- package/dist/components/shared/IconActionButton.d.cts +6 -1
- package/dist/components/shared/IconActionButton.d.ts +6 -1
- package/dist/components/shared/IconActionButton.js +9 -11
- package/dist/components/shared/WheelColumn.cjs +1 -0
- package/dist/components/shared/WheelColumn.d.cts +29 -0
- package/dist/components/shared/WheelColumn.d.ts +29 -0
- package/dist/components/shared/WheelColumn.js +116 -0
- package/dist/components/shared/haptics.cjs +1 -0
- package/dist/components/shared/haptics.d.cts +6 -0
- package/dist/components/shared/haptics.d.ts +6 -0
- package/dist/components/shared/haptics.js +8 -0
- package/dist/components/shared/responsiveScale.cjs +1 -1
- package/dist/components/shared/responsiveScale.d.cts +7 -1
- package/dist/components/shared/responsiveScale.d.ts +7 -1
- package/dist/components/shared/responsiveScale.js +2 -6
- package/dist/components/shared/useStickyToolbar.cjs +1 -0
- package/dist/components/shared/useStickyToolbar.d.cts +17 -0
- package/dist/components/shared/useStickyToolbar.d.ts +17 -0
- package/dist/components/shared/useStickyToolbar.js +39 -0
- package/dist/components/shared/useWheelSize.cjs +1 -0
- package/dist/components/shared/useWheelSize.d.cts +10 -0
- package/dist/components/shared/useWheelSize.d.ts +10 -0
- package/dist/components/shared/useWheelSize.js +14 -0
- package/dist/components/shared/viewport.cjs +1 -0
- package/dist/components/shared/viewport.d.cts +17 -0
- package/dist/components/shared/viewport.d.ts +17 -0
- package/dist/components/shared/viewport.js +32 -0
- package/dist/config/messages.cjs +1 -1
- package/dist/config/messages.d.cts +14 -0
- package/dist/config/messages.d.ts +14 -0
- package/dist/config/messages.js +26 -8
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +16 -16
- package/package.json +2 -1
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
import { cva as e } from "class-variance-authority";
|
|
2
2
|
//#region src/components/Checkbox/Checkbox.variant.ts
|
|
3
|
-
var t = e("zui:group/checkbox zui:relative zui:inline-flex zui:shrink-0 zui:items-center zui:justify-center zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:bg-[var(--zui-theme-control-bg)] zui:text-[var(--zui-
|
|
3
|
+
var t = e("zui:group/checkbox zui:relative zui:inline-flex zui:size-[calc(var(--zui-scale,10px)*1.92)] zui:mobile:size-[calc(var(--zui-scale,10px)*2.6)] zui:shrink-0 zui:mobile:after:absolute zui:mobile:after:inset-[calc(var(--zui-scale,10px)*-1)] zui:mobile:after:content-[''] zui:items-center zui:justify-center zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:bg-[var(--zui-theme-control-bg)] zui:text-[var(--zui-color-surface)] zui:shadow-xs zui:cursor-pointer zui:outline-none zui:select-none zui:transition-all zui:duration-300 zui:ease-out zui:data-[state=checked]:border-[var(--zui-theme-action-primary)] zui:data-[state=checked]:bg-[var(--zui-theme-action-primary)] zui:hover:-translate-y-0.5 zui:hover:border-[var(--zui-theme-action-primary-hover)] zui:hover:bg-[var(--zui-theme-control-hover-bg)] zui:hover:shadow-[0_8px_20px_-12px_var(--zui-effect-shadow-ink-35)] zui:data-[state=checked]:hover:bg-[var(--zui-theme-action-primary-hover)] zui:active:translate-y-px zui:data-[state=checked]:active:bg-[var(--zui-theme-action-primary-active)] zui:focus-visible:border-[var(--zui-theme-action-secondary)] zui:focus-visible:ring-[3px] zui:focus-visible:ring-[var(--zui-theme-action-secondary)] zui:aria-invalid:border-[var(--zui-theme-status-danger)] zui:aria-invalid:ring-[var(--zui-theme-status-danger)] zui:disabled:cursor-not-allowed zui:disabled:pointer-events-none zui:disabled:opacity-50", {
|
|
4
|
+
variants: { disabled: {
|
|
5
|
+
true: "zui:pointer-events-none zui:opacity-50",
|
|
6
|
+
false: ""
|
|
7
|
+
} },
|
|
8
|
+
defaultVariants: { disabled: !1 }
|
|
9
|
+
}), n = e("zui:flex zui:items-center zui:justify-center zui:text-[var(--zui-color-surface)] zui:data-[state=checked]:animate-in zui:data-[state=checked]:zoom-in-95 zui:data-[state=checked]:fade-in-0 zui:[&_svg]:size-[calc(var(--zui-scale,10px)*1.68)] zui:mobile:[&_svg]:size-[calc(var(--zui-scale,10px)*2.3)] zui:[&_svg]:transition-transform zui:[&_svg]:duration-200"), r = e("zui:inline-flex zui:w-full zui:items-start zui:justify-between zui:gap-2.5 zui:mobile:min-h-[calc(var(--zui-scale,10px)*5.184)] zui:mobile:items-center zui-radius-xs zui:mobile:border-solid zui:mobile:border-[max(1px,calc(var(--zui-scale,10px)*0.15))] zui:mobile:border-[var(--zui-color-border)] zui:mobile:bg-[var(--zui-color-surface)] zui:mobile:px-3 zui:mobile:py-2 zui:transition-colors zui:duration-200 zui:mobile:has-[[data-state=checked]]:border-[var(--zui-theme-action-primary)]", {
|
|
4
10
|
variants: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
lg: "zui:size-6"
|
|
11
|
+
direction: {
|
|
12
|
+
rtl: "zui:flex-row-reverse zui:text-right",
|
|
13
|
+
ltr: "zui:flex-row zui:text-left"
|
|
9
14
|
},
|
|
10
15
|
disabled: {
|
|
11
|
-
true: "zui:
|
|
12
|
-
false: ""
|
|
16
|
+
true: "zui:cursor-not-allowed zui:opacity-60",
|
|
17
|
+
false: "zui:cursor-pointer"
|
|
13
18
|
}
|
|
14
19
|
},
|
|
15
20
|
defaultVariants: {
|
|
16
|
-
|
|
21
|
+
direction: "rtl",
|
|
17
22
|
disabled: !1
|
|
18
23
|
}
|
|
19
|
-
}),
|
|
20
|
-
variants: {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
lg: "zui:[&_svg]:size-[calc(var(--zui-scale,10px)*1.92)] zui:[&_svg]:transition-transform zui:[&_svg]:duration-200"
|
|
24
|
+
}), i = e("zui:block zui:text-sm zui:mobile:text-base zui:font-medium zui:leading-5 zui:mobile:leading-6 zui:text-[var(--zui-color-text)]", {
|
|
25
|
+
variants: { disabled: {
|
|
26
|
+
true: "zui:text-[var(--zui-theme-text-muted)]",
|
|
27
|
+
false: ""
|
|
24
28
|
} },
|
|
25
|
-
defaultVariants: {
|
|
26
|
-
});
|
|
29
|
+
defaultVariants: { disabled: !1 }
|
|
30
|
+
}), a = e("zui:mt-0.5 zui:block zui:text-xs zui:mobile:text-sm zui:text-[var(--zui-color-text)]");
|
|
27
31
|
//#endregion
|
|
28
|
-
export { n as checkboxIndicatorVariants, t as checkboxVariants };
|
|
32
|
+
export { a as checkboxDescriptionVariants, n as checkboxIndicatorVariants, i as checkboxLabelVariants, r as checkboxOptionVariants, t as checkboxVariants };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../lib/utils.cjs`),r=require(`../shared/responsiveScale.cjs`),ee=require(`../shared/FieldLabel.cjs`),te=require(`../shared/useInvalidState.cjs`),i=require(`../Tooltip/Tooltip.cjs`),a=require(`../shared/useControllableState.cjs`),o=require(`./DatePicker.variant.cjs`),ne=require(`../shared/FieldClearButton.cjs`),re=require(`../shared/RequiredValidationInput.cjs`),s=require(`./DatePicker.utils.cjs`);let c=require(`react`);c=e.__toESM(c,1);let l=require(`react/jsx-runtime`),u=require(`lucide-react`),d=require(`@radix-ui/react-popover`);d=e.__toESM(d,1);let ie=require(`react-day-picker`),ae=require(`react-day-picker/locale`),oe=require(`react-day-picker/persian`);function f(e,f){let{className:se,size:ce=`default`,title:le,required:ue=!1,showRequiredMessage:de=!1,placeholder:fe,mode:pe=`single`,allowManualInput:me=!1,value:he,defaultValue:ge,typeDateExport:p,typeDateOutput:m=`object`,fromDate:h,toDate:g,disabledDates:_e,numberOfMonths:ve=2,calendarSystem:ye,defaultCalendarSystem:be=`shamsi`,onCalendarSystemChange:xe,open:Se,onOpenChange:Ce,onInvalid:we,disabled:_=!1,id:Te,"aria-label":Ee,"aria-labelledby":De,"aria-describedby":v}=e,{messages:y,digits:b,dir:x}=t.useZuiConfig(),Oe=e.onChange,ke=c.useId(),S=Te??ke,Ae=ue,C=pe===`range`,w=he!==void 0,[je,Me]=a.useControllableState({value:Se,defaultValue:!1,onChange:Ce}),[Ne,Pe]=c.useState(()=>{let e=C?null:s.toDatePickerValueKey(ge,!1),t=e===null?void 0:s.parseDatePickerValueKey(e,!1,p);return t instanceof Date?t:void 0}),[Fe,Ie]=c.useState(()=>{let e=C?s.toDatePickerValueKey(ge,!0):null,t=e===null?void 0:s.parseDatePickerValueKey(e,!0,p);return s.isDateRangeValue(t)?t:void 0}),Le=s.toDatePickerValueKey(he,C),Re=c.useMemo(()=>Le===null?void 0:s.parseDatePickerValueKey(Le,C,p),[Le,C,p]),T=C?void 0:w?Re instanceof Date?Re:void 0:Ne,E=C?w?s.isDateRangeValue(Re)?Re:void 0:Fe:void 0,[D,O]=c.useState(`day`),{isInvalid:ze,setIsInvalid:k,handleInvalid:Be}=te.useInvalidState(we),[A,Ve]=c.useState(``),[He,j]=c.useState(!1),[M,Ue]=c.useState(``),[N,We]=c.useState(``),[Ge,Ke]=c.useState(!1),[qe,P]=c.useState(!1),[F,Je]=a.useControllableState({value:ye,defaultValue:be,onChange:xe}),I=p??F,L=y.calendar.locale,R=s.resolveCalendarConfig(F,L),z=s.resolveCalendarDateLib(F,b),B=c.useMemo(()=>h?z.startOfMonth(h):void 0,[h,z]),V=c.useMemo(()=>g?z.startOfMonth(g):void 0,[z,g]),H=c.useMemo(()=>s.resolveDisabledMatchers(h,g,_e),[_e,h,g]),[Ye,Xe]=c.useState(()=>s.clampDisplayMonthInBounds(s.resolvePrimarySelectedDate(C,T,E)??new Date,B,V,z)),U=c.useMemo(()=>s.clampDisplayMonthInBounds(Ye,B,V,z),[Ye,V,B,z]),Ze=c.useRef(null),Qe=c.useMemo(()=>n.mergeRefs(Ze,f),[f]),$e=c.useMemo(()=>n.mergeRefs(f),[f]),et=c.useRef(null),tt=c.useRef(null),nt=c.useRef(null),rt=c.useRef(null),it=c.useRef(null),W=je,at=s.resolvePrimarySelectedDate(C,T,E),ot=C?me?1:Math.max(1,ve):1,G=z.getYear(U),st=z.getMonth(U),K=C?!!E?.from:T instanceof Date,ct=C?s.formatCalendarDateRangeLabel(E,F,y.datePicker.rangeTo,b,L):T?s.formatCalendarDate(T,F,b,L):null,lt=fe??y.datePicker.placeholder,ut=me,dt=c.useMemo(()=>s.localizeCalendarText(R.monthFormatter.format(U),F,b),[b,U,R,F]),ft=c.useMemo(()=>s.localizeCalendarText(R.yearFormatter.format(U),F,b),[b,U,R,F]),pt=c.useMemo(()=>Array.from({length:12},(e,t)=>{let n=z.newDate(G,t,1);return{value:t,label:s.localizeCalendarText(R.monthFormatter.format(n),F,b),isActive:t===st}}),[st,G,b,R.monthFormatter,F,z]),mt=c.useMemo(()=>{let e=z.getYear(new Date),t=B?z.getYear(B):Math.min(e-100,G),n=(V?z.getYear(V):Math.max(e+10,G))-t+1;return Array.from({length:n},(e,n)=>{let r=t+n;return{value:r,label:z.formatNumber(r),isActive:r===G}})},[G,V,B,z]),ht=c.useMemo(()=>z.addMonths(U,-1),[U,z]),gt=c.useMemo(()=>z.addMonths(U,1),[U,z]),_t=!!(D===`year`||D===`day`&&B&&z.isBefore(z.startOfMonth(ht),B)),vt=!!(D===`year`||D===`day`&&V&&z.isAfter(z.startOfMonth(gt),V)),yt=c.useMemo(()=>{let e=(0,ie.getDefaultClassNames)();return{...e,root:n.cn(`zui:w-max`,e.root),months:n.cn(`zui:flex zui:flex-col zui:gap-4 zui:sm:flex-row zui:sm:items-start`,e.months),month:n.cn(`zui:space-y-3`,e.month),month_caption:n.cn(`zui:hidden`,e.month_caption),caption_label:n.cn(`zui:hidden`,e.caption_label),nav:n.cn(`zui:hidden`,e.nav),month_grid:n.cn(`zui:w-full zui:border-collapse`,e.month_grid),weekdays:n.cn(`zui:mt-2 zui:flex zui:w-full`,e.weekdays),weekday:n.cn(o.datePickerWeekdayVariants(),e.weekday),week:n.cn(`zui:mt-1 zui:flex zui:w-full`,e.week),day:n.cn(`zui:relative zui:flex-1 zui:p-0 zui:text-center`,e.day),day_button:n.cn(o.datePickerDayButtonVariants(),e.day_button),selected:n.cn(`zui:rounded-[calc(var(--zui-scale,10px)*1.12)] zui:bg-[var(--zui-theme-action-primary)] zui:text-[var(--zui-color-text)] zui:hover:bg-[var(--zui-theme-action-primary-hover)] zui:focus-visible:bg-[var(--zui-theme-action-primary-hover)]`,e.selected),today:n.cn(`zui:border zui:border-[var(--zui-theme-action-secondary)] zui:text-[var(--zui-theme-action-secondary)]`,e.today),outside:n.cn(`zui:text-[var(--zui-color-text)] zui:opacity-55`,e.outside),disabled:n.cn(`zui:text-[var(--zui-color-text)] zui:opacity-45`,e.disabled),hidden:n.cn(`zui:invisible`,e.hidden),range_start:n.cn(`zui:rounded-s-[var(--zui-radius-xs)] zui:bg-[var(--zui-theme-action-primary)] zui:text-[var(--zui-color-text)]`,e.range_start),range_end:n.cn(`zui:rounded-e-[var(--zui-radius-xs)] zui:bg-[var(--zui-theme-action-primary)] zui:text-[var(--zui-color-text)]`,e.range_end),range_middle:n.cn(`zui:bg-[var(--zui-theme-action-primary)]/15 zui:text-[var(--zui-color-text)]`,e.range_middle)}},[]),q=c.useCallback(e=>{Xe(t=>{let n=s.clampDisplayMonthInBounds(e,B,V,z);return z.isSameMonth(t,n)?t:n})},[V,B,z]),bt=at?.getTime(),xt=[ut,C,I,T?.getTime(),E?.from?.getTime(),E?.to?.getTime()].join(`|`),[J,St]=c.useState({selectedDateKey:bt,calendarSystem:F,isOpen:W,manualInputSyncKey:``});if((J.selectedDateKey!==bt||J.calendarSystem!==F||J.isOpen!==W||J.manualInputSyncKey!==xt)&&(St({selectedDateKey:bt,calendarSystem:F,isOpen:W,manualInputSyncKey:xt}),J.selectedDateKey!==bt&&at&&q(at),(J.calendarSystem!==F||J.isOpen&&!W)&&O(`day`),J.manualInputSyncKey!==xt&&ut)){let e=e=>e?s.buildManualInputDigitsFromParts(s.resolveFormattedDateParts(e,I)):``;C?(Ue(e(E?.from)),We(e(E?.to)),Ke(!1),P(!1)):(Ve(e(T)),j(!1))}let Ct=ze&&!K;c.useEffect(()=>{D===`year`&&it.current?.scrollIntoView({block:`center`})},[D]);let Y=Me,wt=c.useCallback(()=>{Je(s.resolveNextCalendarSystem(F))},[F,Je]),X=c.useCallback(e=>{k(!1),w||Pe(e),Oe?.(s.formatDatePickerOnChangeValue(e,`single`,I,m)),e&&Y(!1)},[Y,w,k,Oe,I,m]),Z=c.useCallback(e=>{k(!1),w||Ie(e),Oe?.(s.formatDatePickerOnChangeValue(e,`range`,I,m)),e?.from&&e.to&&Y(!1)},[Y,w,k,Oe,I,m]),Tt=c.useCallback(()=>{_||(C?Z(void 0):X(void 0))},[_,Z,X,C]),Et=c.useCallback(e=>{e.preventDefault(),e.stopPropagation(),Tt()},[Tt]),Q=c.useCallback(e=>{if(e.length===0){j(!1),X(void 0);return}let t=s.parseManualInputDigits(e,z,I,H);if(!t){j(!0);return}j(!1),!(T&&z.isSameDay(T,t))&&X(t)},[X,z,H,I,T]),Dt=c.useCallback(e=>{s.processManualDigitsChange(e,Ve,j,Q)},[Q]),Ot=c.useCallback(e=>{s.processManualDigitsKeyDown(e,A,Ve,j,Q)},[Q,A]),$=c.useCallback((e,t)=>{let n=e.length===0?null:s.parseManualInputDigits(e,z,I,H),r=t.length===0?null:s.parseManualInputDigits(t,z,I,H),ee=e.length>0&&!n,te=t.length>0&&!r;if(Ke(ee),P(te),ee||te)return;if(n&&r&&z.isAfter(n,r)){P(!0);return}let i=n??void 0,a=r??void 0;if(!(s.isSameOptionalDay(i,E?.from,z)&&s.isSameOptionalDay(a,E?.to,z))){if(!i&&!a){Z(void 0);return}Z({from:i,to:a})}},[Z,z,H,I,E]),kt=c.useCallback(()=>{et.current?.focus()},[]),At=c.useCallback(e=>{e.preventDefault(),tt.current?.focus()},[]),jt=c.useCallback(e=>{if(_)return;let t=e.target;t.tagName===`INPUT`||t.closest(`button`)||(e.preventDefault(),Y(!0),C?tt.current?.focus():nt.current?.focus())},[_,Y,C]),Mt=c.useCallback(e=>{s.processManualDigitsChange(e,Ue,Ke,e=>$(e,N),kt)},[$,kt,N]),Nt=c.useCallback(e=>{s.processManualDigitsKeyDown(e,M,Ue,Ke,e=>$(e,N),kt)},[$,kt,M,N]),Pt=c.useCallback(()=>{$(M,N)},[$,M,N]),Ft=c.useCallback(e=>{s.processManualDigitsChange(e,We,P,e=>$(M,e))},[$,M]),It=c.useCallback(e=>{s.processManualDigitsKeyDown(e,N,We,P,e=>$(M,e))},[$,M,N]),Lt=c.useCallback(()=>{$(M,N)},[$,M,N]),Rt=c.useCallback(()=>{Y(!0)},[Y]),zt=c.useCallback(()=>{if(D!==`year`){if(D===`month`){q(z.addYears(U,-1));return}_t||q(ht)}},[D,U,_t,ht,z,q]),Bt=c.useCallback(()=>{if(D!==`year`){if(D===`month`){q(z.addYears(U,1));return}vt||q(gt)}},[D,U,vt,gt,z,q]),Vt=c.useCallback(()=>{O(`month`)},[]),Ht=c.useCallback(()=>{O(`year`)},[]),Ut=c.useCallback(e=>{q(z.setMonth(U,e)),O(`day`)},[U,z,q]),Wt=c.useCallback(e=>{q(z.setYear(U,e)),O(`month`)},[U,z,q]),Gt=F===`shamsi`?oe.DayPicker:ie.DayPicker,Kt={dir:x,locale:F===`shamsi`&&L.startsWith(`fa`)?oe.faIR:ae.enUS,numerals:F===`shamsi`&&b===`persian`?`arabext`:`latn`,showOutsideDays:!0,month:U,onMonthChange:q,numberOfMonths:ot,startMonth:B,endMonth:V,disabled:H,hideNavigation:!0,classNames:yt},qt=D===`year`?y.datePicker.selectYear:D===`month`?y.datePicker.selectMonth:null,Jt={day:{previous:y.datePicker.previousMonth,next:y.datePicker.nextMonth},month:{previous:y.datePicker.previousYear,next:y.datePicker.nextYear},year:{previous:y.datePicker.previous,next:y.datePicker.next}}[D],Yt=x===`rtl`?u.ChevronRight:u.ChevronLeft,Xt=x===`rtl`?u.ChevronLeft:u.ChevronRight;return(0,l.jsxs)(`div`,{"data-slot":`date-picker-field`,dir:x,className:`zui:relative zui:w-full zui:space-y-1.5 zui:text-start`,children:[(0,l.jsx)(ee.FieldLabel,{title:le,htmlFor:S,required:Ae,showRequiredMessage:de}),(0,l.jsxs)(d.Root,{open:W,onOpenChange:Y,children:[ut?(0,l.jsx)(d.Anchor,{asChild:!0,children:(0,l.jsxs)(`div`,{ref:Qe,role:C?`group`:void 0,"aria-label":C?Ee:void 0,"aria-labelledby":C?De:void 0,"data-slot":`date-picker-trigger`,"data-has-value":K,"data-state":W?`open`:`closed`,"aria-invalid":Ct||He||Ge||qe||void 0,dir:x,onMouseDown:jt,className:n.cn(o.datePickerTriggerVariants({size:ce}),_&&`zui:pointer-events-none zui:cursor-not-allowed zui:bg-[var(--zui-color-muted-surface)] zui:opacity-50`,se),children:[C?(0,l.jsxs)(`div`,{className:`zui:flex zui:min-w-0 zui:flex-1 zui:items-center zui:justify-start zui:gap-1.5`,children:[(0,l.jsx)(`span`,{className:`zui:shrink-0 zui:text-xs zui:text-[var(--zui-color-text)]`,children:y.datePicker.rangeFrom}),(0,l.jsx)(`input`,{ref:tt,id:S,type:`text`,inputMode:`numeric`,autoComplete:`off`,dir:`ltr`,disabled:_,"aria-label":y.datePicker.rangeStartLabel,"aria-describedby":v,"aria-invalid":Ge||void 0,value:s.buildManualInputMaskedValue(M,b),onChange:Mt,onKeyDown:Nt,onBlur:Pt,onFocus:Rt,className:`${r.DATEPICKER_MANUAL_SEGMENT_WIDTH} zui:shrink-0 zui:truncate zui:bg-transparent zui:text-center zui:text-base zui:text-[var(--zui-color-text)] zui:outline-none zui:md:text-sm`}),(0,l.jsx)(`span`,{className:`zui:shrink-0 zui:text-xs zui:text-[var(--zui-color-text)]`,children:y.datePicker.rangeTo}),(0,l.jsx)(`input`,{ref:et,type:`text`,inputMode:`numeric`,autoComplete:`off`,dir:`ltr`,disabled:_,"aria-label":y.datePicker.rangeEndLabel,"aria-describedby":v,"aria-invalid":qe||void 0,value:s.buildManualInputMaskedValue(N,b),onChange:Ft,onKeyDown:It,onBlur:Lt,onFocus:Rt,onMouseDown:At,className:`${r.DATEPICKER_MANUAL_SEGMENT_WIDTH} zui:shrink-0 zui:truncate zui:bg-transparent zui:text-center zui:text-base zui:text-[var(--zui-color-text)] zui:outline-none zui:md:text-sm`})]}):(0,l.jsx)(`input`,{ref:nt,id:S,type:`text`,inputMode:`numeric`,autoComplete:`off`,dir:`ltr`,disabled:_,"aria-label":Ee,"aria-labelledby":De,"aria-describedby":v,"aria-invalid":Ct||He||void 0,value:s.buildManualInputMaskedValue(A,b),onChange:Dt,onKeyDown:Ot,onBlur:()=>Q(A),onFocus:Rt,className:`zui:w-full zui:truncate zui:bg-transparent zui:text-start zui:text-base zui:text-[var(--zui-color-text)] zui:outline-none zui:md:text-sm`}),K&&!_?(0,l.jsx)(i.default,{text:y.datePicker.clear,position:`top`,trigger:(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-clear-button`,"aria-label":y.datePicker.clear,onClick:Et,className:`zui:shrink-0 zui:rounded-full zui:p-0.5 zui:text-[var(--zui-color-text)] zui:opacity-70 zui:outline-none zui:hover:cursor-pointer zui:hover:bg-[var(--zui-color-muted-surface)] zui:hover:opacity-100 zui:focus-visible:opacity-100`,children:(0,l.jsx)(u.X,{className:`zui:size-3.5`})})}):null,(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-trigger-icon`,"aria-label":lt,disabled:_,onClick:()=>Y(!W),className:`zui:shrink-0 zui:outline-none`,children:(0,l.jsx)(u.CalendarDays,{className:`zui:size-4 zui:text-[var(--zui-color-text)]`})})]})}):(0,l.jsxs)(`div`,{className:`zui:relative`,children:[(0,l.jsx)(d.Trigger,{asChild:!0,children:(0,l.jsxs)(`button`,{ref:$e,type:`button`,id:S,"aria-label":Ee,"aria-labelledby":De,"aria-describedby":v,"data-slot":`date-picker-trigger`,"data-has-value":K,dir:x,"aria-invalid":Ct||void 0,disabled:_,className:n.cn(o.datePickerTriggerVariants({size:ce}),se),children:[(0,l.jsx)(`span`,{className:n.cn(`zui:min-w-0 zui:flex-1 zui:truncate zui:text-base zui:md:text-sm`,K?`zui:text-[var(--zui-color-text)]`:`zui:text-[var(--zui-theme-text-muted)]`),children:ct??lt}),K&&!_?(0,l.jsx)(ne.FieldClearButtonSlot,{}):null,(0,l.jsx)(u.CalendarDays,{className:`zui:size-4 zui:text-[var(--zui-color-text)]`})]})}),K&&!_?(0,l.jsx)(ne.FieldClearButton,{"data-slot":`date-picker-clear-button`,label:y.datePicker.clear,onClear:Tt}):null]}),(0,l.jsx)(d.Portal,{children:(0,l.jsx)(d.Content,{"data-slot":`date-picker-content`,dir:x,sideOffset:8,align:`start`,onOpenAutoFocus:e=>{ut&&e.preventDefault()},onInteractOutside:e=>{Ze.current?.contains(e.target)&&e.preventDefault()},className:o.datePickerPopoverContentVariants(),children:(0,l.jsxs)(`div`,{"data-slot":`date-picker-calendar`,className:`zui:w-fit zui:max-w-full`,children:[(0,l.jsxs)(`div`,{"data-slot":`date-picker-header`,className:o.datePickerHeaderVariants(),children:[(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-nav-previous`,className:o.datePickerNavigationButtonVariants(),onClick:zt,disabled:_t,"aria-label":Jt.previous,children:(0,l.jsx)(Yt,{className:`zui:size-4`})}),(0,l.jsxs)(`div`,{"data-slot":`date-picker-switch-group`,className:o.datePickerSwitchGroupVariants(),children:[(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-switch-month`,className:o.datePickerSwitchButtonVariants({active:D===`month`}),onClick:Vt,children:(0,l.jsx)(`span`,{children:dt})}),(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-switch-year`,className:o.datePickerSwitchButtonVariants({active:D===`year`}),onClick:Ht,children:(0,l.jsx)(`span`,{children:ft})}),(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-switch-calendar`,className:o.datePickerCalendarSwitchButtonVariants(),onClick:wt,"aria-label":y.datePicker.switchCalendar,children:(0,l.jsx)(u.ArrowRightLeft,{className:`zui:size-3.5`,"aria-hidden":`true`})})]}),(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-nav-next`,className:o.datePickerNavigationButtonVariants(),onClick:Bt,disabled:vt,"aria-label":Jt.next,children:(0,l.jsx)(Xt,{className:`zui:size-4`})})]}),(0,l.jsxs)(`div`,{className:`zui:px-2 zui:pb-2 zui:pt-1.5`,children:[qt?(0,l.jsx)(`p`,{"data-slot":`date-picker-panel-hint`,className:o.datePickerPanelHintVariants(),children:qt}):null,D===`year`?(0,l.jsx)(`div`,{ref:rt,"data-slot":`date-picker-year-list`,className:o.datePickerYearListVariants(),children:mt.map(e=>(0,l.jsx)(`button`,{ref:e.isActive?it:void 0,type:`button`,"data-slot":`date-picker-year-item`,className:o.datePickerPanelItemButtonVariants({active:e.isActive}),onClick:()=>Wt(e.value),children:e.label},e.value))}):D===`month`?(0,l.jsx)(`div`,{"data-slot":`date-picker-month-grid`,className:o.datePickerPanelGridVariants(),children:pt.map(e=>(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-month-item`,className:o.datePickerPanelItemButtonVariants({active:e.isActive}),onClick:()=>Ut(e.value),children:e.label},e.value))}):C?(0,l.jsx)(Gt,{...Kt,mode:`range`,selected:E,onSelect:Z,min:1}):(0,l.jsx)(Gt,{...Kt,mode:`single`,selected:T,onSelect:X})]})]})})})]}),Ae?(0,l.jsx)(re.default,{"data-slot":`date-picker-validation`,hasValue:K,disabled:_,onInvalid:Be}):null]})}var se=c.forwardRef(f);se.displayName=`DatePicker`,exports.default=se;
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../lib/utils.cjs`),r=require(`../shared/responsiveScale.cjs`),ee=require(`../Dialog/Dialog.cjs`),te=require(`../Tooltip/Tooltip.cjs`),i=require(`../shared/FieldClearButton.cjs`),ne=require(`../shared/FieldLabel.cjs`),re=require(`../shared/useInvalidState.cjs`),ie=require(`../shared/useControllableState.cjs`),a=require(`../shared/viewport.cjs`),ae=require(`../shared/useIsomorphicLayoutEffect.cjs`),o=require(`./DatePicker.variant.cjs`),s=require(`./DatePicker.utils.cjs`),oe=require(`./DatePickerWheel.cjs`),se=require(`./DatePickerMonthSlider.cjs`),ce=require(`../shared/RequiredValidationInput.cjs`);let c=require(`react`);c=e.__toESM(c,1);let l=require(`react/jsx-runtime`),u=require(`lucide-react`),d=require(`@radix-ui/react-popover`);d=e.__toESM(d,1);let le=require(`react-day-picker`),ue=require(`react-day-picker/locale`),de=require(`react-day-picker/persian`);var fe=50;function f(e,f){let{className:pe,title:me,required:he=!1,showRequiredMessage:ge=!1,placeholder:_e,mode:ve=`single`,allowManualInput:ye=!1,value:be,defaultValue:xe,typeDateExport:p,typeDateOutput:Se=`object`,fromDate:m,toDate:h,disabledDates:Ce,numberOfMonths:we=2,calendarSystem:Te,defaultCalendarSystem:Ee=`shamsi`,onCalendarSystemChange:De,open:Oe,onOpenChange:ke,onInvalid:Ae,disabled:g=!1,id:je,"aria-label":Me,"aria-labelledby":Ne,"aria-describedby":Pe}=e,{messages:_,digits:v,dir:y}=t.useZuiConfig(),Fe=e.onChange,Ie=c.useId(),Le=je??Ie,Re=he,b=ve===`range`,x=be!==void 0,[ze,Be]=ie.useControllableState({value:Oe,defaultValue:!1,onChange:ke}),[Ve,He]=c.useState(null),[Ue,We]=c.useState(!1),Ge=c.useRef(null),Ke=c.useRef(null),qe=c.useRef(null),[Je,Ye]=c.useState(()=>{let e=b?null:s.toDatePickerValueKey(xe,!1),t=e===null?void 0:s.parseDatePickerValueKey(e,!1,p);return t instanceof Date?t:void 0}),[Xe,Ze]=c.useState(()=>{let e=b?s.toDatePickerValueKey(xe,!0):null,t=e===null?void 0:s.parseDatePickerValueKey(e,!0,p);return s.isDateRangeValue(t)?t:void 0}),Qe=s.toDatePickerValueKey(be,b),$e=c.useMemo(()=>Qe===null?void 0:s.parseDatePickerValueKey(Qe,b,p),[Qe,b,p]),S=b?void 0:x?$e instanceof Date?$e:void 0:Je,C=b?x?s.isDateRangeValue($e)?$e:void 0:Xe:void 0,[w,T]=c.useState(`day`),{isInvalid:et,setIsInvalid:tt,handleInvalid:nt}=re.useInvalidState(Ae),[rt,it]=c.useState(``),[at,E]=c.useState(!1),[D,ot]=c.useState(``),[O,st]=c.useState(``),[ct,lt]=c.useState(!1),[ut,k]=c.useState(!1),[A,dt]=ie.useControllableState({value:Te,defaultValue:Ee,onChange:De}),j=p??A,M=_.calendar.locale,N=s.resolveCalendarConfig(A,M),P=s.resolveCalendarDateLib(A,v),F=c.useMemo(()=>m?P.startOfMonth(m):void 0,[m,P]),I=c.useMemo(()=>h?P.startOfMonth(h):void 0,[P,h]),L=c.useMemo(()=>s.resolveDisabledMatchers(m,h,Ce),[Ce,m,h]),[ft,pt]=c.useState(()=>s.clampDisplayMonthInBounds(s.resolvePrimarySelectedDate(b,S,C)??new Date,F,I,P)),R=c.useMemo(()=>s.clampDisplayMonthInBounds(ft,F,I,P),[ft,I,F,P]),mt=c.useRef(null),ht=c.useMemo(()=>n.mergeRefs(mt,f),[f]),gt=c.useMemo(()=>n.mergeRefs(f),[f]),_t=c.useRef(null),vt=c.useRef(null),yt=c.useRef(null),bt=c.useRef(null),xt=c.useRef(null),z=ze,B=z&&(Ve??a.isMobileViewport()),[St,Ct]=c.useState(!1);z&&St!==B&&Ct(B);let V=z?B:St;c.useEffect(()=>{if(!B||Ue)return;let e=0,t=window.requestAnimationFrame(()=>{e=window.requestAnimationFrame(()=>We(!0))});return()=>{window.cancelAnimationFrame(t),window.cancelAnimationFrame(e)}},[B,Ue]),ae.useIsomorphicLayoutEffect(()=>{B&&Ue&&Ge.current&&(Ke.current=Ge.current.offsetHeight),qe.current&&Ke.current!==null&&(qe.current.style.height=`${Ke.current}px`)});let H=a.useIsMobileViewport(),wt=a.useIsShortViewport(),Tt=s.resolvePrimarySelectedDate(b,S,C),Et=b?ye||V?1:Math.max(1,we):1,U=P.getYear(R),Dt=P.getMonth(R),W=b?!!C?.from:S instanceof Date,Ot=b?s.formatCalendarDateRangeLabel(C,A,_.datePicker.rangeTo,v,M):S?s.formatCalendarDate(S,A,v,M):null,kt=_e??_.datePicker.placeholder,G=ye,At=V&&(G||wt),jt=c.useMemo(()=>s.localizeCalendarText(N.monthFormatter.format(R),A,v),[v,R,N,A]),Mt=c.useMemo(()=>s.localizeCalendarText(N.yearFormatter.format(R),A,v),[v,R,N,A]),Nt=c.useMemo(()=>Array.from({length:12},(e,t)=>{let n=P.newDate(U,t,1);return{value:t,label:s.localizeCalendarText(N.monthFormatter.format(n),A,v),isActive:t===Dt}}),[Dt,U,v,N.monthFormatter,A,P]),Pt=c.useMemo(()=>{let e=P.getYear(new Date),t=F?P.getYear(F):Math.min(e-100,U),n=(I?P.getYear(I):Math.max(e+10,U))-t+1;return Array.from({length:n},(e,n)=>{let r=t+n;return{value:r,label:P.formatNumber(r),isActive:r===U}})},[U,I,F,P]),Ft=c.useMemo(()=>P.addMonths(R,-1),[R,P]),It=c.useMemo(()=>P.addMonths(R,1),[R,P]),Lt=!!(w===`year`||w===`day`&&F&&P.isBefore(P.startOfMonth(Ft),F)),Rt=!!(w===`year`||w===`day`&&I&&P.isAfter(P.startOfMonth(It),I)),zt=c.useMemo(()=>{let e=(0,le.getDefaultClassNames)();return{...e,root:n.cn(`zui:w-max zui:mobile:w-full`,e.root),months:n.cn(`zui:flex zui:flex-col zui:gap-4 zui:desktop:flex-row zui:desktop:items-start`,e.months),month:n.cn(`zui:space-y-3 zui:mobile:w-full`,e.month),month_caption:n.cn(`zui:hidden`,e.month_caption),caption_label:n.cn(`zui:hidden`,e.caption_label),nav:n.cn(`zui:hidden`,e.nav),month_grid:n.cn(`zui:w-full zui:border-collapse`,e.month_grid),weekdays:n.cn(`zui:mt-2 zui:flex zui:w-full`,e.weekdays),weekday:n.cn(o.datePickerWeekdayVariants(),e.weekday),week:n.cn(`zui:mt-1 zui:flex zui:w-full`,e.week),day:n.cn(`zui:relative zui:flex-1 zui:p-0 zui:text-center`,e.day),day_button:n.cn(o.datePickerDayButtonVariants(),e.day_button),selected:n.cn(`zui:rounded-[calc(var(--zui-scale,10px)*1.12)] zui:bg-[var(--zui-theme-action-primary)] zui:text-[var(--zui-color-surface)] zui:[&>button]:text-[var(--zui-color-surface)] zui:hover:bg-[var(--zui-theme-action-primary-hover)] zui:focus-visible:bg-[var(--zui-theme-action-primary-hover)]`,e.selected),today:n.cn(`zui:border zui:border-[var(--zui-theme-action-secondary)] zui:text-[var(--zui-theme-action-secondary)]`,e.today),outside:n.cn(`zui:text-[var(--zui-color-text)] zui:opacity-55`,e.outside),disabled:n.cn(`zui:text-[var(--zui-color-text)] zui:opacity-45`,e.disabled),hidden:n.cn(`zui:invisible`,e.hidden),range_start:n.cn(`zui:rounded-s-[var(--zui-radius-xs)] zui:bg-[var(--zui-theme-action-primary)] zui:text-[var(--zui-color-surface)] zui:[&>button]:text-[var(--zui-color-surface)]`,e.range_start),range_end:n.cn(`zui:rounded-e-[var(--zui-radius-xs)] zui:bg-[var(--zui-theme-action-primary)] zui:text-[var(--zui-color-surface)] zui:[&>button]:text-[var(--zui-color-surface)]`,e.range_end),range_middle:n.cn(`zui:bg-[var(--zui-theme-action-primary)]/15 zui:text-[var(--zui-color-text)]`,e.range_middle)}},[]),K=c.useCallback(e=>{pt(t=>{let n=s.clampDisplayMonthInBounds(e,F,I,P);return P.isSameMonth(t,n)?t:n})},[I,F,P]),Bt=Tt?.getTime(),Vt=[G,b,j,S?.getTime(),C?.from?.getTime(),C?.to?.getTime()].join(`|`),[q,Ht]=c.useState({selectedDateKey:Bt,calendarSystem:A,isOpen:z,manualInputSyncKey:``});if((q.selectedDateKey!==Bt||q.calendarSystem!==A||q.isOpen!==z||q.manualInputSyncKey!==Vt)&&(Ht({selectedDateKey:Bt,calendarSystem:A,isOpen:z,manualInputSyncKey:Vt}),q.selectedDateKey!==Bt&&Tt&&K(Tt),(q.calendarSystem!==A||q.isOpen&&!z)&&T(`day`),q.manualInputSyncKey!==Vt&&G)){let e=e=>e?s.buildManualInputDigitsFromParts(s.resolveFormattedDateParts(e,j)):``;b?(ot(e(C?.from)),st(e(C?.to)),lt(!1),k(!1)):(it(e(S)),E(!1))}let Ut=et&&!W;c.useEffect(()=>{w===`year`&&xt.current?.scrollIntoView({block:`center`})},[w]);let J=c.useCallback(e=>{He(e?a.isMobileViewport():null),e&&We(!1),Be(e)},[Be]),Wt=c.useCallback(()=>{dt(s.resolveNextCalendarSystem(A))},[A,dt]),Y=c.useCallback(e=>{tt(!1),x||Ye(e),Fe?.(s.formatDatePickerOnChangeValue(e,`single`,j,Se)),e&&J(!1)},[J,x,tt,Fe,j,Se]),X=c.useCallback(e=>{tt(!1),x||Ze(e),Fe?.(s.formatDatePickerOnChangeValue(e,`range`,j,Se)),e?.from&&e.to&&J(!1)},[J,x,tt,Fe,j,Se]),Gt=c.useCallback(()=>{g||(b?X(void 0):Y(void 0))},[g,X,Y,b]),Kt=c.useCallback(e=>{e.preventDefault(),e.stopPropagation(),Gt()},[Gt]),Z=c.useCallback(e=>{if(e.length===0){E(!1),Y(void 0);return}let t=s.parseManualInputDigits(e,P,j,L);if(!t){E(!0);return}E(!1),!(S&&P.isSameDay(S,t))&&Y(t)},[Y,P,L,j,S]),qt=c.useCallback(e=>{s.processManualDigitsChange(e,it,E,Z)},[Z]),Jt=c.useCallback(e=>{s.processManualDigitsKeyDown(e,rt,it,E,Z)},[Z,rt]),Q=c.useCallback((e,t)=>{let n=e.length===0?null:s.parseManualInputDigits(e,P,j,L),r=t.length===0?null:s.parseManualInputDigits(t,P,j,L),ee=e.length>0&&!n,te=t.length>0&&!r;if(lt(ee),k(te),ee||te)return;if(n&&r&&P.isAfter(n,r)){k(!0);return}let i=n??void 0,ne=r??void 0;if(!(s.isSameOptionalDay(i,C?.from,P)&&s.isSameOptionalDay(ne,C?.to,P))){if(!i&&!ne){X(void 0);return}X({from:i,to:ne})}},[X,P,L,j,C]),Yt=c.useCallback(()=>{_t.current?.focus()},[]),Xt=c.useCallback(e=>{e.preventDefault(),vt.current?.focus()},[]),Zt=c.useCallback(e=>{if(g)return;let t=e.target;t.tagName===`INPUT`||t.closest(`button`)||(e.preventDefault(),J(!0),!H&&(b?vt.current?.focus():yt.current?.focus()))},[g,J,H,b]),Qt=c.useCallback(e=>{s.processManualDigitsChange(e,ot,lt,e=>Q(e,O),Yt)},[Q,Yt,O]),$t=c.useCallback(e=>{s.processManualDigitsKeyDown(e,D,ot,lt,e=>Q(e,O),Yt)},[Q,Yt,D,O]),en=c.useCallback(()=>{Q(D,O)},[Q,D,O]),tn=c.useCallback(e=>{s.processManualDigitsChange(e,st,k,e=>Q(D,e))},[Q,D]),nn=c.useCallback(e=>{s.processManualDigitsKeyDown(e,O,st,k,e=>Q(D,e))},[Q,D,O]),rn=c.useCallback(()=>{Q(D,O)},[Q,D,O]),an=c.useCallback(()=>{H&&J(!0)},[J,H]),on=c.useCallback(()=>{a.isMobileViewport()||J(!0)},[J]),sn=c.useCallback(()=>{if(w!==`year`){if(w===`month`){K(P.addYears(R,-1));return}Lt||K(Ft)}},[w,R,Lt,Ft,P,K]),cn=c.useCallback(()=>{if(w!==`year`){if(w===`month`){K(P.addYears(R,1));return}Rt||K(It)}},[w,R,Rt,It,P,K]),ln=c.useCallback(()=>{T(`month`)},[]),un=c.useCallback(()=>{T(`year`)},[]),dn=c.useCallback(e=>{K(P.setMonth(R,e)),T(`day`)},[R,P,K]),fn=c.useCallback(e=>{K(P.setYear(R,e)),T(`month`)},[R,P,K]),pn=A===`shamsi`?de.DayPicker:le.DayPicker,mn={dir:y,locale:A===`shamsi`&&M.startsWith(`fa`)?de.faIR:ue.enUS,numerals:A===`shamsi`&&v===`persian`?`arabext`:`latn`,showOutsideDays:!0,month:R,onMonthChange:K,numberOfMonths:Et,startMonth:F,endMonth:I,disabled:L,hideNavigation:!0,classNames:zt},hn=w===`year`?_.datePicker.selectYear:w===`month`?_.datePicker.selectMonth:null,gn={day:{previous:_.datePicker.previousMonth,next:_.datePicker.nextMonth},month:{previous:_.datePicker.previousYear,next:_.datePicker.nextYear},year:{previous:_.datePicker.previous,next:_.datePicker.next}}[w],_n=y===`rtl`?u.ChevronRight:u.ChevronLeft,vn=y===`rtl`?u.ChevronLeft:u.ChevronRight,yn=c.useRef(null),$=V&&w===`day`,bn=e=>b?(0,l.jsx)(pn,{...mn,month:e,fixedWeeks:$,mode:`range`,selected:C,onSelect:X,min:1}):(0,l.jsx)(pn,{...mn,month:e,fixedWeeks:$,mode:`single`,selected:S,onSelect:Y}),xn=c.useRef(null),Sn=c.useRef(!1),Cn=(0,l.jsxs)(`div`,{"data-slot":`date-picker-calendar`,className:`zui:w-fit zui:max-w-full zui:mobile:w-full zui:mobile:touch-pan-y`,onPointerDown:e=>{Sn.current=!1,xn.current=V&&!$?{x:e.clientX,y:e.clientY}:null},onPointerUp:e=>{let t=xn.current;if(xn.current=null,!t)return;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<fe||Math.abs(n)<Math.abs(r)*1.5||(Sn.current=!0,(y===`rtl`?n>0:n<0)?cn():sn())},onPointerCancel:()=>{xn.current=null},onClickCapture:e=>{Sn.current&&(Sn.current=!1,e.preventDefault(),e.stopPropagation())},children:[(0,l.jsxs)(`div`,{"data-slot":`date-picker-header`,className:o.datePickerHeaderVariants(),children:[(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-nav-previous`,className:o.datePickerNavigationButtonVariants(),onClick:$?()=>yn.current?.slide(`previous`):sn,disabled:Lt,"aria-label":gn.previous,children:(0,l.jsx)(_n,{className:`zui:size-4 zui:mobile:size-[max(calc(var(--zui-spacing)*6.3),24px)]`})}),(0,l.jsxs)(`div`,{"data-slot":`date-picker-switch-group`,className:o.datePickerSwitchGroupVariants(),children:[(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-switch-month`,className:o.datePickerSwitchButtonVariants({active:w===`month`}),onClick:ln,children:(0,l.jsx)(`span`,{children:jt})}),(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-switch-year`,className:o.datePickerSwitchButtonVariants({active:w===`year`}),onClick:un,children:(0,l.jsx)(`span`,{children:Mt})}),(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-switch-calendar`,className:o.datePickerCalendarSwitchButtonVariants(),onClick:Wt,"aria-label":_.datePicker.switchCalendar,children:(0,l.jsx)(u.ArrowRightLeft,{className:`zui:size-3.5 zui:mobile:size-6`,"aria-hidden":`true`})})]}),(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-nav-next`,className:o.datePickerNavigationButtonVariants(),onClick:$?()=>yn.current?.slide(`next`):cn,disabled:Rt,"aria-label":gn.next,children:(0,l.jsx)(vn,{className:`zui:size-4 zui:mobile:size-[max(calc(var(--zui-spacing)*6.3),24px)]`})})]}),(0,l.jsxs)(`div`,{className:`zui:px-2 zui:pb-2 zui:pt-1.5`,children:[hn?(0,l.jsx)(`p`,{"data-slot":`date-picker-panel-hint`,className:o.datePickerPanelHintVariants(),children:hn}):null,w===`year`?(0,l.jsx)(`div`,{ref:bt,"data-slot":`date-picker-year-list`,className:o.datePickerYearListVariants(),children:Pt.map(e=>(0,l.jsx)(`button`,{ref:e.isActive?xt:void 0,type:`button`,"data-slot":`date-picker-year-item`,className:o.datePickerPanelItemButtonVariants({active:e.isActive}),onClick:()=>fn(e.value),children:e.label},e.value))}):w===`month`?(0,l.jsx)(`div`,{"data-slot":`date-picker-month-grid`,className:o.datePickerPanelGridVariants(),children:Nt.map(e=>(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-month-item`,className:o.datePickerPanelItemButtonVariants({active:e.isActive}),onClick:()=>dn(e.value),children:e.label},e.value))}):$?(0,l.jsx)(se.default,{ref:yn,month:R,dateLib:P,dir:y,canGoPrevious:!Lt,canGoNext:!Rt,onMonthChange:K,renderMonth:bn}):bn(R)]})]});return(0,l.jsxs)(`div`,{"data-slot":`date-picker-field`,dir:y,className:`zui:relative zui:w-full zui:space-y-1.5 zui:text-start`,children:[(0,l.jsx)(ne.FieldLabel,{title:me,htmlFor:Le,required:Re,showRequiredMessage:ge}),(0,l.jsxs)(d.Root,{open:z&&!B,onOpenChange:J,children:[G?(0,l.jsx)(d.Anchor,{asChild:!0,children:(0,l.jsxs)(`div`,{ref:ht,role:b?`group`:void 0,"aria-label":b?Me:void 0,"aria-labelledby":b?Ne:void 0,"data-slot":`date-picker-trigger`,"data-has-value":W,"data-state":z?`open`:`closed`,"aria-invalid":Ut||at||ct||ut||void 0,dir:y,onMouseDown:Zt,className:n.cn(o.datePickerTriggerVariants(),g&&`zui:pointer-events-none zui:cursor-not-allowed zui:bg-[var(--zui-color-muted-surface)] zui:opacity-50`,pe),children:[b?(0,l.jsxs)(`div`,{className:`zui:flex zui:min-w-0 zui:flex-1 zui:items-center zui:justify-start zui:gap-1.5`,children:[(0,l.jsx)(`span`,{className:`zui:shrink-0 zui:text-xs zui:text-[var(--zui-color-text)]`,children:_.datePicker.rangeFrom}),(0,l.jsx)(`input`,{ref:vt,id:Le,type:`text`,inputMode:H?`none`:`numeric`,readOnly:H,onClick:an,autoComplete:`off`,dir:`ltr`,disabled:g,"aria-label":_.datePicker.rangeStartLabel,"aria-describedby":Pe,"aria-invalid":ct||void 0,value:s.buildManualInputMaskedValue(D,v),onChange:Qt,onKeyDown:$t,onBlur:en,onFocus:on,className:`${r.DATEPICKER_MANUAL_SEGMENT_WIDTH} zui:shrink-0 zui:truncate zui:bg-transparent zui:text-center zui:text-base zui:text-[var(--zui-color-text)] zui:outline-none zui:md:text-sm`}),(0,l.jsx)(`span`,{className:`zui:shrink-0 zui:text-xs zui:text-[var(--zui-color-text)]`,children:_.datePicker.rangeTo}),(0,l.jsx)(`input`,{ref:_t,type:`text`,inputMode:H?`none`:`numeric`,readOnly:H,onClick:an,autoComplete:`off`,dir:`ltr`,disabled:g,"aria-label":_.datePicker.rangeEndLabel,"aria-describedby":Pe,"aria-invalid":ut||void 0,value:s.buildManualInputMaskedValue(O,v),onChange:tn,onKeyDown:nn,onBlur:rn,onFocus:on,onMouseDown:Xt,className:`${r.DATEPICKER_MANUAL_SEGMENT_WIDTH} zui:shrink-0 zui:truncate zui:bg-transparent zui:text-center zui:text-base zui:text-[var(--zui-color-text)] zui:outline-none zui:md:text-sm`})]}):(0,l.jsx)(`input`,{ref:yt,id:Le,type:`text`,inputMode:H?`none`:`numeric`,readOnly:H,onClick:an,autoComplete:`off`,dir:`ltr`,disabled:g,"aria-label":Me,"aria-labelledby":Ne,"aria-describedby":Pe,"aria-invalid":Ut||at||void 0,value:s.buildManualInputMaskedValue(rt,v),onChange:qt,onKeyDown:Jt,onBlur:()=>Z(rt),onFocus:on,className:n.cn(`zui:w-full zui:truncate zui:bg-transparent zui:text-base zui:text-[var(--zui-color-text)] zui:outline-none zui:md:text-sm`,y===`rtl`?`zui:text-right`:`zui:text-left`)}),W&&!g?(0,l.jsx)(te.default,{text:_.datePicker.clear,position:`top`,trigger:(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-clear-button`,"aria-label":_.datePicker.clear,onClick:Kt,className:`zui:shrink-0 zui:rounded-full zui:p-0.5 zui:text-[var(--zui-color-text)] zui:opacity-70 zui:outline-none zui:hover:cursor-pointer zui:hover:bg-[var(--zui-color-muted-surface)] zui:hover:opacity-100 zui:focus-visible:opacity-100`,children:(0,l.jsx)(u.X,{className:i.CLEAR_ICON_CLASS})})}):null,(0,l.jsx)(`button`,{type:`button`,"data-slot":`date-picker-trigger-icon`,"aria-label":kt,disabled:g,onClick:()=>J(!z),className:`zui:shrink-0 zui:outline-none`,children:(0,l.jsx)(u.CalendarDays,{className:`zui:size-4 zui:text-[var(--zui-color-text)]`})})]})}):(0,l.jsxs)(`div`,{className:`zui:relative`,children:[(0,l.jsx)(d.Trigger,{asChild:!0,children:(0,l.jsxs)(`button`,{ref:gt,type:`button`,id:Le,"aria-label":Me,"aria-labelledby":Ne,"aria-describedby":Pe,"data-slot":`date-picker-trigger`,"data-has-value":W,dir:y,"aria-invalid":Ut||void 0,disabled:g,className:n.cn(o.datePickerTriggerVariants(),pe),children:[(0,l.jsx)(`span`,{className:n.cn(`zui:min-w-0 zui:flex-1 zui:truncate zui:text-base zui:md:text-sm`,W?`zui:text-[var(--zui-color-text)]`:`zui:text-[var(--zui-theme-text-muted)] zui:mobile:text-sm`),children:Ot??kt}),W&&!g?(0,l.jsx)(i.FieldClearButtonSlot,{}):null,(0,l.jsx)(u.CalendarDays,{className:`zui:size-4 zui:text-[var(--zui-color-text)]`})]})}),W&&!g?(0,l.jsx)(i.FieldClearButton,{"data-slot":`date-picker-clear-button`,label:_.datePicker.clear,onClear:Gt}):null]}),(0,l.jsx)(d.Portal,{children:(0,l.jsx)(d.Content,{"data-slot":`date-picker-content`,dir:y,sideOffset:8,align:`start`,onOpenAutoFocus:e=>{G&&e.preventDefault()},onInteractOutside:e=>{mt.current?.contains(e.target)&&e.preventDefault()},className:o.datePickerPopoverContentVariants(),children:Cn})})]}),(0,l.jsx)(ee.default,{trigger:null,open:B,onOpenChange:J,dir:y,triggerLabel:me??kt,showCloseButton:!1,className:`zui:mobile:px-1`,content:(0,l.jsx)(`div`,{"data-slot":`date-picker-modal-body`,ref:Ge,children:Ue?At?(0,l.jsx)(`div`,{className:`zui:px-2`,children:(0,l.jsx)(oe.default,{mode:b?`range`:`single`,dateLib:P,calendarSystem:A,selection:b?{from:C?.from,to:C?.to}:{from:S},minDate:m,maxDate:h,disabledMatchers:L,formatMonth:e=>s.localizeCalendarText(N.monthFormatter.format(e),A,v),formatDate:e=>s.formatCalendarDate(e,A,v,M),onSwitchCalendar:Wt,onConfirm:e=>{b?X({from:e.from,to:e.to}):Y(e.from)},dir:y})}):Cn:(0,l.jsx)(`div`,{ref:qe,"aria-hidden":`true`,className:`zui:h-[max(calc(var(--zui-scale,10px)*36.8),394px)] zui:short:h-[min(394px,calc(100dvh-80px))]`})})}),Re?(0,l.jsx)(ce.default,{"data-slot":`date-picker-validation`,hasValue:W,disabled:g,onInvalid:nt}):null]})}var pe=c.forwardRef(f);pe.displayName=`DatePicker`,exports.default=pe;
|