zaman-backoffice 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CalendarItem/CalendarItem.styled.d.ts +10 -0
- package/dist/components/CalendarItem/CalendarItem.types.d.ts +7 -0
- package/dist/components/CalendarItem/index.d.ts +1 -0
- package/dist/components/CalendarWrapper/CalendarWrapper.styled.d.ts +5 -0
- package/dist/components/CalendarWrapper/index.d.ts +1 -0
- package/dist/components/FloatingElement/FloatingElement.d.ts +4 -0
- package/dist/components/FloatingElement/FloatingElement.styled.d.ts +4 -0
- package/dist/components/FloatingElement/FloatingElement.types.d.ts +7 -0
- package/dist/components/FloatingElement/index.d.ts +1 -0
- package/dist/components/Header/Header.d.ts +4 -0
- package/dist/components/Header/Header.styled.d.ts +12 -0
- package/dist/components/Header/Header.types.d.ts +6 -0
- package/dist/components/Header/index.d.ts +1 -0
- package/dist/components/IconButton/IconButton.d.ts +2 -0
- package/dist/components/IconButton/IconButton.styled.d.ts +4 -0
- package/dist/components/IconButton/index.d.ts +1 -0
- package/dist/components/Icons/ChevronLeft/index.d.ts +3 -0
- package/dist/components/Icons/ChevronRight/index.d.ts +3 -0
- package/dist/components/Modal/Modal.d.ts +4 -0
- package/dist/components/Modal/Modal.styled.d.ts +4 -0
- package/dist/components/Modal/index.d.ts +1 -0
- package/dist/components/Modal/types.d.ts +6 -0
- package/dist/components/MonthPicker/Month.styled.d.ts +4 -0
- package/dist/components/MonthPicker/MonthPicker.d.ts +4 -0
- package/dist/components/MonthPicker/MonthPicker.types.d.ts +4 -0
- package/dist/components/MonthPicker/index.d.ts +1 -0
- package/dist/components/RenderCalendar/RenderCalendar.d.ts +4 -0
- package/dist/components/RenderCalendar/RenderCalendar.types.d.ts +9 -0
- package/dist/components/RenderCalendar/index.d.ts +1 -0
- package/dist/components/YearPicker/YearPicker.d.ts +4 -0
- package/dist/components/YearPicker/YearPicker.styled.d.ts +4 -0
- package/dist/components/YearPicker/YearPicker.types.d.ts +4 -0
- package/dist/components/YearPicker/index.d.ts +1 -0
- package/dist/constants.d.ts +5 -0
- package/dist/hooks/useCalendarHandlers.d.ts +20 -0
- package/dist/hooks/useClickOutside.d.ts +3 -0
- package/dist/hooks/useSlideCalendar.d.ts +13 -0
- package/dist/hooks/useTimePicker.d.ts +19 -0
- package/dist/index.cjs.js +303 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +303 -0
- package/dist/packages/Calendar/Calendar.d.ts +4 -0
- package/dist/packages/Calendar/Calendar.styled.d.ts +20 -0
- package/dist/packages/Calendar/Calendar.types.d.ts +21 -0
- package/dist/packages/Calendar/index.d.ts +2 -0
- package/dist/packages/CalendarProvider/CalendarProvider.d.ts +4 -0
- package/dist/packages/CalendarProvider/CalendarProvider.types.d.ts +5 -0
- package/dist/packages/CalendarProvider/index.d.ts +2 -0
- package/dist/packages/DatePicker/DatePicker.d.ts +4 -0
- package/dist/packages/DatePicker/DatePicker.types.d.ts +15 -0
- package/dist/packages/DatePicker/index.d.ts +2 -0
- package/dist/packages/TimePicker/TimePicker.d.ts +4 -0
- package/dist/packages/TimePicker/TimePicker.styled.d.ts +37 -0
- package/dist/packages/TimePicker/TimePicker.types.d.ts +14 -0
- package/dist/packages/TimePicker/components/Numbers/Numbers.d.ts +4 -0
- package/dist/packages/TimePicker/components/Numbers/Numbers.styled.d.ts +9 -0
- package/dist/packages/TimePicker/components/Numbers/Numbers.types.d.ts +13 -0
- package/dist/packages/TimePicker/components/Numbers/index.d.ts +1 -0
- package/dist/packages/TimePicker/index.d.ts +2 -0
- package/dist/style/animation.d.ts +12 -0
- package/dist/style/classNames.d.ts +7 -0
- package/dist/style/colorPallete.d.ts +1 -0
- package/dist/style/colors.d.ts +5 -0
- package/dist/style/hexToHSL.d.ts +6 -0
- package/dist/style/radius.d.ts +7 -0
- package/dist/types.d.ts +41 -0
- package/dist/utils/dateHelper/dateHelper.d.ts +15 -0
- package/dist/utils/dateHelper/index.d.ts +1 -0
- package/dist/utils/dateTimeFormat/dateTimeFormat.d.ts +13 -0
- package/dist/utils/dateTimeFormat/index.d.ts +1 -0
- package/dist/utils/format/format.d.ts +4 -0
- package/dist/utils/format/format.types.d.ts +10 -0
- package/dist/utils/format/index.d.ts +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/locale.d.ts +6 -0
- package/dist/utils/locales/en.d.ts +3 -0
- package/dist/utils/locales/fa.d.ts +3 -0
- package/dist/utils/locales/index.d.ts +3 -0
- package/dist/utils/locales/locales.types.d.ts +12 -0
- package/dist/utils/month/index.d.ts +1 -0
- package/dist/utils/month/month.d.ts +5 -0
- package/dist/utils/month/month.types.d.ts +10 -0
- package/dist/utils/timePicker.d.ts +36 -0
- package/package.json +5 -5
@@ -0,0 +1,10 @@
|
|
1
|
+
import type { CalendarItemProps } from './CalendarItem.types';
|
2
|
+
export declare const CalendarText: import("@emotion/styled").StyledComponent<{
|
3
|
+
theme?: import("@emotion/react").Theme;
|
4
|
+
as?: React.ElementType;
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
6
|
+
export declare const CalendarItem: import("@emotion/styled").StyledComponent<{
|
7
|
+
theme?: import("@emotion/react").Theme;
|
8
|
+
as?: React.ElementType;
|
9
|
+
} & CalendarItemProps, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
|
10
|
+
export default CalendarItem;
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './CalendarItem.styled';
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export declare const CalendarWrapper: import("@emotion/styled").StyledComponent<{
|
2
|
+
theme?: import("@emotion/react").Theme;
|
3
|
+
as?: React.ElementType;
|
4
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
5
|
+
export default CalendarWrapper;
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './CalendarWrapper.styled';
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './FloatingElement';
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare const Wrapper: import("@emotion/styled").StyledComponent<{
|
2
|
+
theme?: import("@emotion/react").Theme;
|
3
|
+
as?: React.ElementType;
|
4
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
5
|
+
export declare const HeaderTitle: import("@emotion/styled").StyledComponent<{
|
6
|
+
theme?: import("@emotion/react").Theme;
|
7
|
+
as?: React.ElementType;
|
8
|
+
}, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
|
9
|
+
export declare const DayName: import("@emotion/styled").StyledComponent<{
|
10
|
+
theme?: import("@emotion/react").Theme;
|
11
|
+
as?: React.ElementType;
|
12
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './Header';
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './IconButton';
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './Modal';
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './MonthPicker';
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type React from 'react';
|
2
|
+
import type { Positions } from '../../types';
|
3
|
+
export interface RenderCalendarProps {
|
4
|
+
showCalendar: boolean;
|
5
|
+
toggleOpen: () => void;
|
6
|
+
children: React.ReactNode;
|
7
|
+
destinationRef: React.RefObject<HTMLInputElement>;
|
8
|
+
position?: Positions;
|
9
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './RenderCalendar';
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './YearPicker';
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { type SyntheticEvent } from 'react';
|
2
|
+
import type { DatePickerValue } from '../types';
|
3
|
+
import { type CalendarDefaultProps, type CalendarRangeProps } from '../packages/Calendar/Calendar.types';
|
4
|
+
type Event = SyntheticEvent<HTMLButtonElement>;
|
5
|
+
interface BaseUseCalendarHandlersType {
|
6
|
+
from?: DatePickerValue;
|
7
|
+
to?: DatePickerValue;
|
8
|
+
controlledRangeValue?: [Date, Date];
|
9
|
+
}
|
10
|
+
type useCalendarHandlersType = BaseUseCalendarHandlersType & (CalendarRangeProps | CalendarDefaultProps);
|
11
|
+
export declare const guardRange: (value: useCalendarHandlersType) => value is CalendarRangeProps;
|
12
|
+
export declare const useCalendarHandlers: (props: useCalendarHandlersType) => {
|
13
|
+
handlers: {
|
14
|
+
onMouseMove?: ((e: Event) => void) | undefined;
|
15
|
+
onClick: (e: Event) => string | void;
|
16
|
+
};
|
17
|
+
from: Date | undefined;
|
18
|
+
to: Date | null | undefined;
|
19
|
+
};
|
20
|
+
export default useCalendarHandlers;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type { Dispatch, RefObject, SetStateAction } from 'react';
|
2
|
+
import type { DaysInMonth } from '../utils/month/month.types';
|
3
|
+
interface UseSliderTypes {
|
4
|
+
daysElementRefs: RefObject<HTMLDivElement[]>;
|
5
|
+
days: DaysInMonth[];
|
6
|
+
setDays: Dispatch<SetStateAction<DaysInMonth[]>>;
|
7
|
+
}
|
8
|
+
export declare const useSlideCalendar: ({ daysElementRefs, days, setDays }: UseSliderTypes) => {
|
9
|
+
slideToTheNextMonth: () => void;
|
10
|
+
slideToPrevMonth: () => void;
|
11
|
+
slideToCurrentMonth: () => void;
|
12
|
+
};
|
13
|
+
export {};
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import type React from 'react';
|
2
|
+
import { type DatePickerValue } from '../types';
|
3
|
+
import { type onChangePayload } from '../packages/TimePicker/TimePicker.types';
|
4
|
+
interface useTimePickerType {
|
5
|
+
timeConvention?: 'am' | 'pm';
|
6
|
+
clockTime?: 24 | 12;
|
7
|
+
defaultValue?: DatePickerValue;
|
8
|
+
onChange?: (payload: onChangePayload) => void;
|
9
|
+
}
|
10
|
+
export declare const useTimePicker: ({ defaultValue, clockTime, timeConvention, onChange }: useTimePickerType) => {
|
11
|
+
hour: number;
|
12
|
+
minute: number;
|
13
|
+
isInsideHour: boolean;
|
14
|
+
selectingHour: boolean;
|
15
|
+
handleMouseMove: (e: React.MouseEvent) => void;
|
16
|
+
handleMouseUp: () => void;
|
17
|
+
handleSelecting: (e: React.MouseEvent | React.TouchEvent) => void;
|
18
|
+
};
|
19
|
+
export {};
|
@@ -0,0 +1,303 @@
|
|
1
|
+
"use strict";var e=require("react"),t=require("react-dom"),n=require("@emotion/styled"),r=require("@emotion/react"),o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var i=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt,d="object"==typeof o&&o&&o.Object===Object&&o,m="object"==typeof self&&self&&self.Object===Object&&self,f=d||m||Function("return this")(),h=Object.prototype.toString,p=Math.max,y=Math.min,g=function(){return f.Date.now()};function v(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function b(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==h.call(e)}(e))return NaN;if(v(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=v(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=l.test(e);return n||c.test(e)?u(e.slice(2),n?2:8):s.test(e)?NaN:+e}var x=a((function(e,t,n){var r,o,a,i,s,l,c=0,u=!1,d=!1,m=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function f(t){var n=r,a=o;return r=o=void 0,c=t,i=e.apply(a,n)}function h(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=a}function x(){var e=g();if(h(e))return $(e);s=setTimeout(x,function(e){var n=t-(e-l);return d?y(n,a-(e-c)):n}(e))}function $(e){return s=void 0,m&&r?f(e):(r=o=void 0,i)}function M(){var e=g(),n=h(e);if(r=arguments,o=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(x,t),u?f(e):i}(l);if(d)return s=setTimeout(x,t),f(l)}return void 0===s&&(s=setTimeout(x,t)),i}return t=b(t)||0,v(n)&&(u=!!n.leading,a=(d="maxWait"in n)?p(b(n.maxWait)||0,t):a,m="trailing"in n?!!n.trailing:m),M.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=l=o=s=void 0},M.flush=function(){return void 0===s?i:$(g())},M}));const $=320,M="cubic-bezier(0.4, 0, 0.2, 1)",w="#0D59F2",k=r.keyframes`
|
2
|
+
from {
|
3
|
+
visibility: hidden;
|
4
|
+
opacity: 0;
|
5
|
+
transform: translateY(-4px);
|
6
|
+
}
|
7
|
+
to {
|
8
|
+
visibility: visible;
|
9
|
+
opacity: 1;
|
10
|
+
transform: translateY(0px);
|
11
|
+
}
|
12
|
+
`,D=r.keyframes`
|
13
|
+
from {
|
14
|
+
opacity: 0;
|
15
|
+
}
|
16
|
+
to {
|
17
|
+
opacity: 1;
|
18
|
+
}
|
19
|
+
`,E=n.div`
|
20
|
+
position: absolute;
|
21
|
+
animation: ${k} 0.3s ${M} alternate;
|
22
|
+
`,S=n=>{const{children:r,destinationRef:o,position:a}=n,i=e.useRef(null),s=()=>{var e;let t=0;if(null!=o&&null!==i){const n=i.current;if(null===n)return;const{top:r,bottom:s,right:l,left:c,width:u}=null===(e=null==o?void 0:o.current)||void 0===e?void 0:e.getBoundingClientRect(),{height:d,width:m}=null==n?void 0:n.getBoundingClientRect();t=window.innerHeight-s>d?s+window.scrollY:r+window.scrollY-d-8,n.style.top=`${t+4}px`;({right:()=>{n.style.right=`${Math.abs(document.body.clientWidth-l)+16}px`},left:()=>{n.style.left=`${c}px`},center:()=>{const e=m>u?0:Math.abs(m-u)/2+16;n.style.right=`${Math.abs(document.body.clientWidth-l)+e}px`}})[a]()}};return e.useEffect((()=>(s(),window.addEventListener("resize",x(s,500)),()=>{window.removeEventListener("resize",s)})),[o]),e.createElement(e.Fragment,null,t.createPortal(e.createElement(E,{ref:i},r),document.body))},Y=n.div`
|
23
|
+
position: fixed;
|
24
|
+
display: flex;
|
25
|
+
justify-content: center;
|
26
|
+
align-items: center;
|
27
|
+
top: 0;
|
28
|
+
right: 0;
|
29
|
+
width: 100%;
|
30
|
+
height: 100%;
|
31
|
+
z-index: 10;
|
32
|
+
|
33
|
+
.rdp__overlay {
|
34
|
+
position: absolute;
|
35
|
+
top: 0;
|
36
|
+
right: 0;
|
37
|
+
width: 100%;
|
38
|
+
height: 100%;
|
39
|
+
z-index: -10;
|
40
|
+
background-color: rgba(86, 86, 86, 0.4);
|
41
|
+
}
|
42
|
+
`,_=n=>{const{open:r,toggleOpen:o,children:a}=n;return!1===r?null:e.createElement(e.Fragment,null,t.createPortal(e.createElement(Y,{className:"rdp__modal"},a,e.createElement("div",{"data-testid":"overlay",className:"rdp__overlay",onClick:o})),document.body))},C=t=>{const{position:n="right"}=t;if(!t.showCalendar)return null;const{matches:r}=window.matchMedia("(min-width: 640px)");return r?e.createElement(S,{destinationRef:t.destinationRef,position:n},t.children):e.createElement(_,{toggleOpen:t.toggleOpen,open:t.showCalendar},t.children)},T={thin:{wrapper:0,calendarItem:0},x1:{wrapper:8,calendarItem:4},x2:{wrapper:16,calendarItem:8},x3:{wrapper:24,calendarItem:16},x4:{wrapper:24,calendarItem:20}},O=n.div`
|
43
|
+
overflow: hidden;
|
44
|
+
position: relative;
|
45
|
+
width: ${$}px;
|
46
|
+
height: ${372}px;
|
47
|
+
border: 1px solid ${e=>e.theme.colors.gray[40]};
|
48
|
+
background-color: #fff;
|
49
|
+
border-radius: ${e=>T[e.theme.round].wrapper}px;
|
50
|
+
`,L=n.div`
|
51
|
+
display: flex;
|
52
|
+
position: absolute;
|
53
|
+
overflow: hidden;
|
54
|
+
right: ${e=>"rtl"===e.theme.direction?"8px":"unset"};
|
55
|
+
left: ${e=>"rtl"!==e.theme.direction?"8px":"unset"};
|
56
|
+
`,N=n.div`
|
57
|
+
will-change: transform;
|
58
|
+
display: flex;
|
59
|
+
flex-direction: column;
|
60
|
+
width: ${$}px;
|
61
|
+
gap: 4px;
|
62
|
+
`,H=n.div`
|
63
|
+
display: flex;
|
64
|
+
gap: 4px;
|
65
|
+
`,I=n.div`
|
66
|
+
display: flex;
|
67
|
+
justify-content: center;
|
68
|
+
align-items: center;
|
69
|
+
margin-top: 12px;
|
70
|
+
margin-bottom: 8px;
|
71
|
+
height: 24px;
|
72
|
+
gap: 4px;
|
73
|
+
`,j=n.button`
|
74
|
+
cursor: pointer;
|
75
|
+
outline: none;
|
76
|
+
border: none;
|
77
|
+
display: flex;
|
78
|
+
justify-content: center;
|
79
|
+
align-items: center;
|
80
|
+
width: 40px;
|
81
|
+
height: 40px;
|
82
|
+
transition: background-color 0.2s ease-in;
|
83
|
+
color: ${e=>e.theme.colors.primary[50]};
|
84
|
+
background-color: transparent;
|
85
|
+
border-radius: ${e=>T[e.theme.round].calendarItem}px;
|
86
|
+
|
87
|
+
&:hover,
|
88
|
+
&:focus {
|
89
|
+
background-color: ${e=>e.theme.colors.primary[90]};
|
90
|
+
}
|
91
|
+
`,B={localeDefault:"en",setLocale(e){null!=e&&(this.localeDefault=e)},get locale(){return this.localeDefault}},F=()=>{if(""!==document.dir)return"rtl"===document.dir;const{body:e}=document;return"rtl"===getComputedStyle(e).direction},A=e=>{if("test"===process.env.NODE_ENV)return e;const{locale:t}=B;return Number(e).toLocaleString(t,{useGrouping:!1})},R=()=>e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"feather feather-chevron-right",style:{transform:F()?"unset":"rotate(180deg)"}},e.createElement("polyline",{points:"9 18 15 12 9 6"})),P=()=>e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"feather feather-chevron-left",style:{transform:F()?"unset":"rotate(180deg)"}},e.createElement("polyline",{points:"15 18 9 12 15 6"})),W=n.div`
|
92
|
+
display: flex;
|
93
|
+
justify-content: space-between;
|
94
|
+
align-items: center;
|
95
|
+
height: 56px;
|
96
|
+
padding-right: 8px;
|
97
|
+
padding-left: 8px;
|
98
|
+
background-color: ${e=>e.theme.colors.primary[95]};
|
99
|
+
border-bottom: 2px solid ${e=>e.theme.colors.primary[85]};
|
100
|
+
`,z=n.button`
|
101
|
+
will-change: auto;
|
102
|
+
min-width: 100px;
|
103
|
+
outline: none;
|
104
|
+
border: 0;
|
105
|
+
font-family: inherit;
|
106
|
+
background-color: transparent;
|
107
|
+
cursor: pointer;
|
108
|
+
color: ${e=>e.theme.colors.primary[50]};
|
109
|
+
padding: 8px 16px;
|
110
|
+
font-weight: 500;
|
111
|
+
transition: background-color 0.2s ease-in;
|
112
|
+
border-radius: ${e=>T[e.theme.round].calendarItem}px;
|
113
|
+
|
114
|
+
&:hover,
|
115
|
+
&:focus {
|
116
|
+
background-color: ${e=>e.theme.colors.primary[90]};
|
117
|
+
}
|
118
|
+
`,V=n.div`
|
119
|
+
display: flex;
|
120
|
+
justify-content: center;
|
121
|
+
align-items: center;
|
122
|
+
font-size: 14px;
|
123
|
+
width: 40px;
|
124
|
+
color: #8c8c8c;
|
125
|
+
`,X=t=>e.createElement(W,{className:"zm-Header"},e.createElement(j,{"aria-label":"Previous month",onClick:t.onPrevClick,className:"zm-IconPrevButton",tabIndex:0},e.createElement(R,null)),e.createElement(z,{className:"zm-MonthYearButton",role:"presentation",onClick:t.onClickOnTitle,"aria-label":"calendar view is open, switch to year and month view",tabIndex:0},t.monthName),e.createElement(j,{"aria-label":"Next month",onClick:t.onNextClick,className:"zm-IconNextButton",tabIndex:0},e.createElement(P,null)));var q={exports:{}};q.exports=function(){var e=1e3,t=6e4,n=36e5,r="millisecond",o="second",a="minute",i="hour",s="day",l="week",c="month",u="quarter",d="year",m="date",f="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,p=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},g=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},v={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(o,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),o=t.clone().add(r,c),a=n-o<0,i=t.clone().add(r+(a?-1:1),c);return+(-(r+(n-o)/(a?o-i:i-o))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:d,w:l,d:s,D:m,h:i,m:a,s:o,ms:r,Q:u}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},b="en",x={};x[b]=y;var $="$isDayjsObject",M=function(e){return e instanceof E||!(!e||!e[$])},w=function e(t,n,r){var o;if(!t)return b;if("string"==typeof t){var a=t.toLowerCase();x[a]&&(o=a),n&&(x[a]=n,o=a);var i=t.split("-");if(!o&&i.length>1)return e(i[0])}else{var s=t.name;x[s]=t,o=s}return!r&&o&&(b=o),o||!r&&b},k=function(e,t){if(M(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new E(n)},D=v;D.l=w,D.i=M,D.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function y(e){this.$L=w(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[$]=!0}var g=y.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(D.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(h);if(r){var o=r[2]-1||0,a=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return D},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(e,t){var n=k(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return k(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<k(e)},g.$g=function(e,t,n){return D.u(e)?this[t]:this.set(n,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var n=this,r=!!D.u(t)||t,u=D.p(e),f=function(e,t){var o=D.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?o:o.endOf(s)},h=function(e,t){return D.w(n.toDate()[e].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},p=this.$W,y=this.$M,g=this.$D,v="set"+(this.$u?"UTC":"");switch(u){case d:return r?f(1,0):f(31,11);case c:return r?f(1,y):f(0,y+1);case l:var b=this.$locale().weekStart||0,x=(p<b?p+7:p)-b;return f(r?g-x:g+(6-x),y);case s:case m:return h(v+"Hours",0);case i:return h(v+"Minutes",1);case a:return h(v+"Seconds",2);case o:return h(v+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var n,l=D.p(e),u="set"+(this.$u?"UTC":""),f=(n={},n[s]=u+"Date",n[m]=u+"Date",n[c]=u+"Month",n[d]=u+"FullYear",n[i]=u+"Hours",n[a]=u+"Minutes",n[o]=u+"Seconds",n[r]=u+"Milliseconds",n)[l],h=l===s?this.$D+(t-this.$W):t;if(l===c||l===d){var p=this.clone().set(m,1);p.$d[f](h),p.init(),this.$d=p.set(m,Math.min(this.$D,p.daysInMonth())).$d}else f&&this.$d[f](h);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[D.p(e)]()},g.add=function(r,u){var m,f=this;r=Number(r);var h=D.p(u),p=function(e){var t=k(f);return D.w(t.date(t.date()+Math.round(e*r)),f)};if(h===c)return this.set(c,this.$M+r);if(h===d)return this.set(d,this.$y+r);if(h===s)return p(1);if(h===l)return p(7);var y=(m={},m[a]=t,m[i]=n,m[o]=e,m)[h]||1,g=this.$d.getTime()+r*y;return D.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||f;var r=e||"YYYY-MM-DDTHH:mm:ssZ",o=D.z(this),a=this.$H,i=this.$m,s=this.$M,l=n.weekdays,c=n.months,u=n.meridiem,d=function(e,n,o,a){return e&&(e[n]||e(t,r))||o[n].slice(0,a)},m=function(e){return D.s(a%12||12,e,"0")},h=u||function(e,t,n){var r=e<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(p,(function(e,r){return r||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return D.s(t.$y,4,"0");case"M":return s+1;case"MM":return D.s(s+1,2,"0");case"MMM":return d(n.monthsShort,s,c,3);case"MMMM":return d(c,s);case"D":return t.$D;case"DD":return D.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return d(n.weekdaysMin,t.$W,l,2);case"ddd":return d(n.weekdaysShort,t.$W,l,3);case"dddd":return l[t.$W];case"H":return String(a);case"HH":return D.s(a,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return h(a,i,!0);case"A":return h(a,i,!1);case"m":return String(i);case"mm":return D.s(i,2,"0");case"s":return String(t.$s);case"ss":return D.s(t.$s,2,"0");case"SSS":return D.s(t.$ms,3,"0");case"Z":return o}return null}(e)||o.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(r,m,f){var h,p=this,y=D.p(m),g=k(r),v=(g.utcOffset()-this.utcOffset())*t,b=this-g,x=function(){return D.m(p,g)};switch(y){case d:h=x()/12;break;case c:h=x();break;case u:h=x()/3;break;case l:h=(b-v)/6048e5;break;case s:h=(b-v)/864e5;break;case i:h=b/n;break;case a:h=b/t;break;case o:h=b/e;break;default:h=b}return f?h:D.a(h)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return x[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=w(e,t,!0);return r&&(n.$L=r),n},g.clone=function(){return D.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},y}(),S=E.prototype;return k.prototype=S,[["$ms",r],["$s",o],["$m",a],["$H",i],["$W",s],["$M",c],["$y",d],["$D",m]].forEach((function(e){S[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),k.extend=function(e,t){return e.$i||(e(t,E,k),e.$i=!0),k},k.locale=w,k.isDayjs=M,k.unix=function(e){return k(1e3*e)},k.en=x[b],k.Ls=x,k.p={},k}();var U=q.exports,J=a(U);!function(e){function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e),r={name:"fa",weekdays:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysShort:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekStart:6,months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"}};n.default.locale(r,null,!0)}(U);var Z={exports:{}};Z.exports=function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,n=this.$W,r=(n<t?n+7:n)-t;return this.$utils().u(e)?r:this.subtract(r,"day").add(e,"day")}};var G,Q=a(Z.exports),K={exports:{}},ee=a(K.exports=(G={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},function(e,t,n){var r=t.prototype,o=r.format;n.en.formats=G,r.format=function(e){void 0===e&&(e="YYYY-MM-DDTHH:mm:ssZ");var t=this.$locale().formats,n=function(e,t){return e.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,r){var o=r&&r.toUpperCase();return n||t[r]||G[r]||t[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))}(e,void 0===t?{}:t);return o.call(this,n)}}));const te=(e,t,n)=>{const{locale:r}=B,o=Object.assign(Object.assign({},t),null!=n&&{numberingSystem:n});return new Date(e).toLocaleString(r,o)},ne=e=>parseInt(te(e,{day:"numeric"},"latn"),10),re=(e,t)=>te(e,{day:"numeric"},t),oe=(e,t)=>te(e,{year:"numeric"},t),ae=(e,t)=>te(e,{month:"2-digit"},t);var ie={exports:{}};ie.exports=function(e,t,n){t.prototype.isBetween=function(e,t,r,o){var a=n(e),i=n(t),s="("===(o=o||"()")[0],l=")"===o[1];return(s?this.isAfter(a,r):!this.isBefore(a,r))&&(l?this.isBefore(i,r):!this.isAfter(i,r))||(s?this.isBefore(a,r):!this.isAfter(a,r))&&(l?this.isAfter(i,r):!this.isBefore(i,r))}};var se=a(ie.exports);J.extend(se);const le=(e,t)=>ae(e)===ae(t),ce=(e,t)=>void 0!==e&&J(e).isSame(t,"day"),ue=(e,t,n)=>null!==t&&null!==n&&J(e).isBetween(J(t),J(n)),de={MMMM:(e,t)=>te(e,{month:"short"},t),MM:ae,M:ae,YYYY:oe,YY:(e,t)=>te(e,{year:"2-digit"},t),DD:re,D:re},me=/\/|\s|-/,fe=(e,t,n)=>{try{(e=>{const t=e.trimStart().trimEnd().split(me);if(""===e||""===e.trim())throw new Error("format is empty");t.forEach((e=>{if(!(e in de))throw new Error(`format is not valid, format passed is: ${e}`)}))})(t);const r=t.trimStart().trimEnd().split(me),o=t.match(me),a=null!==o?o[0]:"";return r.map((t=>de[t](e,n))).join(a)}catch(e){console.error(e)}return""};J.extend(Q),J.extend(ee);const he=e=>{const{locale:t}=B;J.locale(t);const n=void 0===e?new Date:J(e).toDate(),r=ne(new Date(n)),o=J(new Date(n)).subtract(r-1,"days"),a=o.weekday(),i=J(o).subtract(a,"days"),s=o.add(15,"days"),l=[];let c=J(i.format());for(let e=0;e<=5;e++){const e=[];for(let t=0;t<7;t++){const t=new Date(c.format());e.push({date:t,disabled:!le(o.toDate(),t)}),c=c.add(1,"day")}l.push(e)}return{id:Date.now(),monthName:fe(new Date(n),"MMMM YYYY"),middleOfMonth:s.toDate(),weeks:l}},pe=()=>F()?$:-320,ye=n.div`
|
126
|
+
color: inherit;
|
127
|
+
`,ge=n.button`
|
128
|
+
position: relative;
|
129
|
+
outline: none;
|
130
|
+
background-color: transparent;
|
131
|
+
display: flex;
|
132
|
+
font-family: inherit;
|
133
|
+
align-items: center;
|
134
|
+
justify-content: center;
|
135
|
+
width: ${e=>e.width}px;
|
136
|
+
height: ${e=>e.height}px;
|
137
|
+
border: 1px solid transparent;
|
138
|
+
user-select: none;
|
139
|
+
color: ${e=>e.theme.colors.gray[600]};
|
140
|
+
border-radius: ${e=>T[e.theme.round].calendarItem}px;
|
141
|
+
|
142
|
+
// pseudos
|
143
|
+
&:hover,
|
144
|
+
&:focus {
|
145
|
+
border-color: ${e=>e.theme.colors.gray[50]};
|
146
|
+
}
|
147
|
+
&:active {
|
148
|
+
background-color: ${e=>e.theme.colors.primary[40]};
|
149
|
+
border-color: transparent;
|
150
|
+
color: ${e=>e.theme.colors.gray[0]};
|
151
|
+
}
|
152
|
+
// days picker
|
153
|
+
&[data-selected='true'] {
|
154
|
+
background-color: ${e=>e.theme.colors.primary[50]};
|
155
|
+
border-color: transparent;
|
156
|
+
color: ${e=>e.theme.colors.gray[0]};
|
157
|
+
}
|
158
|
+
&[data-disabled='true'] {
|
159
|
+
border-color: transparent;
|
160
|
+
}
|
161
|
+
&[data-disabled='true'] .cl-text {
|
162
|
+
opacity: 0.5;
|
163
|
+
}
|
164
|
+
&:not([data-range='true']) {
|
165
|
+
transition: all 0.1s linear;
|
166
|
+
border-radius: ${e=>T[e.theme.round].calendarItem}px;
|
167
|
+
}
|
168
|
+
&:not([data-selected='true'])&[data-weekend='true'] {
|
169
|
+
color: #ff4d4d;
|
170
|
+
}
|
171
|
+
&:not([data-disabled='true']) {
|
172
|
+
cursor: pointer;
|
173
|
+
}
|
174
|
+
// range picker
|
175
|
+
&[data-in-range='true'] {
|
176
|
+
background-color: ${e=>e.theme.colors.primary[90]};
|
177
|
+
border-color: transparent;
|
178
|
+
}
|
179
|
+
&[data-start-range='true'] {
|
180
|
+
background-color: ${e=>e.theme.colors.primary[40]};
|
181
|
+
color: ${e=>e.theme.colors.gray[0]};
|
182
|
+
border-radius: ${e=>T[e.theme.round].calendarItem}px;
|
183
|
+
border-color: transparent;
|
184
|
+
}
|
185
|
+
&[data-end-range='true'] {
|
186
|
+
background-color: ${e=>e.theme.colors.primary[40]};
|
187
|
+
color: ${e=>e.theme.colors.gray[0]};
|
188
|
+
border-radius: ${e=>T[e.theme.round].calendarItem}px;
|
189
|
+
border-color: transparent;
|
190
|
+
}
|
191
|
+
&[data-in-range='true']:before,
|
192
|
+
&[data-end-range='true']:before {
|
193
|
+
content: ' ';
|
194
|
+
display: block;
|
195
|
+
position: absolute;
|
196
|
+
width: 40px;
|
197
|
+
height: 40px;
|
198
|
+
top: -1px;
|
199
|
+
left: ${e=>"rtl"===e.theme.direction?"20px":"unset"};
|
200
|
+
right: ${e=>"rtl"===e.theme.direction?"unset":"20px"};
|
201
|
+
background-color: ${e=>e.theme.colors.primary[90]};
|
202
|
+
z-index: -1;
|
203
|
+
}
|
204
|
+
&[data-in-range='true']:nth-of-type(1):before,
|
205
|
+
&[data-start-range='true']:before {
|
206
|
+
display: none;
|
207
|
+
}
|
208
|
+
`;ge.defaultProps={width:40,height:40};const ve={fa:{shortWeekDays:[{key:0,name:"ش"},{key:1,name:"ی"},{key:2,name:"د"},{key:3,name:"س"},{key:4,name:"چ"},{key:5,name:"پ"},{key:6,name:"ج"}],months:[{key:1,name:"فروردین"},{key:2,name:"اردیبهشت"},{key:3,name:"خرداد"},{key:4,name:"تیر"},{key:5,name:"مرداد"},{key:6,name:"شهریور"},{key:7,name:"مهر"},{key:8,name:"آبان"},{key:9,name:"آذر"},{key:10,name:"دی"},{key:11,name:"بهمن"},{key:12,name:"اسفند"}],format:"YYYY/MM/DD",am:"ق.ظ",pm:"ب.ظ"},en:{shortWeekDays:[{key:0,name:"S"},{key:1,name:"M"},{key:2,name:"T"},{key:3,name:"W"},{key:4,name:"T"},{key:5,name:"F"},{key:6,name:"S"}],months:[{key:1,name:"January"},{key:2,name:"February"},{key:3,name:"March"},{key:4,name:"April"},{key:5,name:"May"},{key:6,name:"June"},{key:7,name:"July"},{key:8,name:"August"},{key:9,name:"September"},{key:10,name:"October"},{key:11,name:"November"},{key:12,name:"December"}],format:"MM-DD-YY",am:"AM",pm:"PM"}},be=n.div`
|
209
|
+
display: flex;
|
210
|
+
justify-content: center;
|
211
|
+
align-items: center;
|
212
|
+
flex-wrap: wrap;
|
213
|
+
gap: 4px;
|
214
|
+
height: ${$}px;
|
215
|
+
`,xe=t=>{const{locale:n}=B,r=fe(t.value,"MM","latn");return e.createElement(be,null,ve[n].months.map((n=>e.createElement(ge,{key:n.key,className:"zm-MonthPickerButton",width:90,height:48,"data-selected":n.key===parseInt(r,10),onClick:()=>t.onMonthSelect(n.key),"aria-current":"date",type:"button",tabIndex:0},n.name))))},$e=n.div`
|
216
|
+
display: grid;
|
217
|
+
grid-template-columns: repeat(3, 92px);
|
218
|
+
grid-template-rows: auto;
|
219
|
+
justify-content: center;
|
220
|
+
gap: 4px;
|
221
|
+
max-height: ${$}px;
|
222
|
+
overflow: auto;
|
223
|
+
padding-top: 8px;
|
224
|
+
padding-bottom: 8px;
|
225
|
+
`,Me=t=>{const n=parseInt(fe(t.value,"YYYY","latn"),10),r=e.useMemo((()=>((e,t=80,n=50)=>{const r=parseInt(oe(e,"latn"),10),o=r+n,a=[];for(let e=r-t;e<=o;e++)a.push(e);return a})(t.value)),[]),o=e.useCallback((e=>{if(null===e)return;const t=e.querySelector("button[data-selected=true]");if(null!=t){const{height:n,top:r}=e.getBoundingClientRect(),{top:o}=t.getBoundingClientRect();e.scrollTop=Math.abs(r-o)-n/2}}),[]);return e.createElement($e,{ref:o},r.map((r=>e.createElement(ge,{className:"zm-YearPickerButton",key:r,width:90,height:48,"data-selected":n===r,"aria-selected":n===r,"aria-current":"date",type:"button",tabIndex:0,onClick:()=>t.onYearSelect(r)},A(r)))))},we=e=>!0===e.range,ke=t=>{const[n,r]=e.useState(!1),[o,a]=e.useState(void 0!==t.from?new Date(t.from):void 0);console.log(t.controlledRangeValue);const[i,s]=e.useState(void 0!==t.to?new Date(t.to):void 0),l=(e,n)=>{"function"==typeof t.onChange&&we(t)&&null!=e&&null!=n&&t.onChange({from:e,to:n})};return e.useEffect((()=>{null!=t.controlledRangeValue&&(a(t.controlledRangeValue[0]),s(t.controlledRangeValue[1]))}),[t.controlledRangeValue]),{handlers:Object.assign({onClick:e=>!0===t.range?(e=>{const{value:t}=e.currentTarget.dataset;n||(void 0!==t&&(a(new Date(t)),s(null)),r(!0)),n&&null===i&&(void 0!==t&&(s(new Date(t)),l(o,new Date(t))),r(!1)),n&&void 0!==i&&(l(o,i),r(!1))})(e):(e=>{const{value:n,disabled:r}=e.currentTarget.dataset;if(void 0!==n&&"true"!==r)return we(t)||"function"!=typeof t.onChange||t.onChange({value:new Date(n)}),n})(e)},!0===t.range&&{onMouseMove:e=>{const{value:t}=e.currentTarget.dataset;n&&void 0!==t&&J(t).isAfter(J(o))&&s(new Date(t))}}),from:o,to:i}},De=e.forwardRef(((t,n)=>{const{locale:r}=B,{defaultValue:o,weekends:a,controlledValue:i,range:s=!1}=t,l=void 0===o?new Date:o,[c,u]=e.useState("days"),[d,m]=e.useState(void 0!==o?new Date(o):void 0),f=e.useMemo((()=>he(d)),[d]),[h,p]=e.useState([f]),y=e.useRef([]),g=(({daysElementRefs:t,days:n,setDays:r})=>{const o=e.useRef(!1),a=n[0].middleOfMonth,i=e=>requestAnimationFrame((()=>{o.current=!0;const[n,a]=t.current;n.style.transform=`translateX(${pe()}px)`,a.style.transform=`translateX(${pe()}px)`,requestAnimationFrame((()=>{a.style.transition=`transform 250ms ${M}`,a.style.transform="translateX(0px)",n.style.transition=`transform 250ms ${M}`,n.style.transform="translateX(0px)",setTimeout((()=>{r((t=>t.filter((t=>t.id===e.id)))),n.style.transition=null,n.style.transform=null,o.current=!1}),300)}))})),s=e=>{requestAnimationFrame((()=>{o.current=!0;const[n,a]=t.current;n.style.transition=`transform 250ms ${M}`,n.style.transform=`translateX(${pe()}px)`,a.style.transition=`transform 250ms ${M}`,a.style.transform=`translateX(${pe()}px)`,setTimeout((()=>{r((t=>t.filter((t=>t.id===e.id)))),a.style.transition=null,a.style.transform=null,o.current=!1}),300)}))};return{slideToTheNextMonth:()=>{if(o.current)return;const e=J(a).add(1,"month"),t=he(e.toDate());r([...n,t]),s(t)},slideToPrevMonth:()=>{if(o.current)return;const e=J(a).subtract(1,"month"),t=he(e.toDate());r([t,...n]),i(t)},slideToCurrentMonth:()=>{if(o.current)return;const e=ne(new Date);console.log(e);const t=J(new Date).subtract(e-1,"days").add(15,"days");console.log("middle of the month",t.toDate());const l=he(t.toDate());r([...n,l]),J(a).isAfter(t)&&(console.log("we re animating right "),i(l)),J(a.getMonth()).isBefore(t.get("month"))&&(console.log("we re animating left"),s(l))}}})({daysElementRefs:y,days:h,setDays:p}),{from:v,to:b,handlers:x}=ke(t);e.useImperativeHandle(n,(()=>({todayTransitionHandler:()=>g.slideToCurrentMonth()})));return e.useEffect((()=>{i!==d&&void 0!==i&&m(i)}),[i]),e.createElement(O,{ref:n,className:null!==t.className?t.className:""},e.createElement(X,{monthName:h[0].monthName,onNextClick:()=>{if("days"===c)return g.slideToTheNextMonth()},onPrevClick:()=>{if("days"===c)return g.slideToPrevMonth()},onClickOnTitle:()=>{u("month"!==c&&"year"!==c?"year":"days")}}),"year"===c?e.createElement(Me,{value:l,onYearSelect:e=>{const t=((e,t)=>{const n=t-parseInt(oe(e,"latn"),10);return n>0?J(e).add(n,"years").toDate():J(e).subtract(Math.abs(n),"years").toDate()})(l,e);p([he(t)]),u("month")}}):null,"month"===c?e.createElement(xe,{value:l,onMonthSelect:e=>{const t=((e,t)=>{const n=t-parseInt(ae(e,"latn"),10);return n>0?J(e).add(n,"months").toDate():J(e).subtract(Math.abs(n),"months").toDate()})(h[0].middleOfMonth,e);p([he(t)]),u("days")}}):null,"days"===c?e.createElement(e.Fragment,null,e.createElement(I,null,ve[r].shortWeekDays.map((t=>e.createElement(V,{key:t.key},t.name)))),e.createElement(L,null,h.map(((n,r)=>e.createElement(N,{key:n.id,className:"item",ref:e=>{y.current[r]=e},role:"rowgroup"},n.weeks.map(((n,r)=>e.createElement(H,{key:r,role:"row","aria-rowindex":r+1},n.map(((n,r)=>e.createElement(ge,Object.assign({key:n.date.getTime(),className:"zm-DaysButton","data-value":n.date,"data-disabled":n.disabled,"data-range":t.range,"data-selected":!s&&ce(d,n.date),"data-start-range":null!=v&&ce(v,n.date),"data-in-range":ue(n.date,v,b),"data-end-range":null!=b&&ce(b,n.date),"data-weekend":null==a?void 0:a.some((e=>e===r)),type:"button",role:"gridcell","aria-colindex":r+1,tabIndex:0,"aria-selected":!s&&ce(l,n.date)},x),e.createElement(ye,{className:"cl-text"},fe(n.date,"DD"))))))))))))):null)}));function Ee(t,n){e.useEffect((()=>{function e({target:e}){null==t.current||t.current.contains(e)||n()}return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}}),[t,n])}De.displayName="Calendar";const Se=(e,t,n)=>`hsl(${e}deg ${t}% ${n}%)`,Ye=e=>{const{h:t,s:n,l:r}=function(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(null==t)throw new Error("Could not parse Hex Color");const n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,o=parseInt(t[3],16)/255,a=Math.max(n,r,o),i=Math.min(n,r,o);let s=(a+i)/2,l=s,c=s;if(a===i)return{h:0,s:0,l:c};const u=a-i;switch(l=c>.5?u/(2-a-i):u/(a+i),a){case n:s=(r-o)/u+(r<o?6:0);break;case r:s=(o-n)/u+2;break;case o:s=(n-r)/u+4}return s/=6,l*=100,l=Math.round(l),c*=100,c=Math.round(c),s=Math.round(360*s),{h:s,s:l,l:c}}(e),o={};return o[40]=Se(t,n,r-10),o[50]=Se(t,n,r),o[85]=Se(t,n,85),o[90]=Se(t,n,90),o[95]=Se(t,n,95),o},_e={0:"#FFFFFF",20:"#F5F5F5",30:"#EBEBEB",40:"#DEDEDE",50:"#BFBFBF",60:"#B0B0B0",70:"#575757",80:"#666666",600:"#2E2E2E"},Ce=t=>{const{accentColor:n=w,locale:o,round:a="thin",direction:i="rtl"}=t;e.useMemo((()=>B.setLocale(o)),[o]);const s={colors:{primary:e.useMemo((()=>Ye(n)),[]),gray:_e},round:a,direction:i};return e.createElement(r.ThemeProvider,{theme:s},t.children)},Te=n.div`
|
226
|
+
width: 260px;
|
227
|
+
height: 260px;
|
228
|
+
position: relative;
|
229
|
+
z-index: 1;
|
230
|
+
border-radius: 50%;
|
231
|
+
background-color: ${e=>e.theme.colors.primary[95]};
|
232
|
+
`,Oe=n("div")`
|
233
|
+
left: 50%;
|
234
|
+
width: 1.5px;
|
235
|
+
bottom: 50%;
|
236
|
+
height: ${e=>e.isInsideHour?"26%":"40%"};
|
237
|
+
position: absolute;
|
238
|
+
background-color: ${e=>e.theme.colors.primary[85]};
|
239
|
+
transform-origin: center bottom 0;
|
240
|
+
transition: height 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
241
|
+
pointer-events: none;
|
242
|
+
${e=>e.isSelectingHour?`transform: rotateZ(${e.value/12*360}deg); `:`transform: rotateZ(${e.value/60*360}deg); `}
|
243
|
+
`,Le=n("div")`
|
244
|
+
top: -22px;
|
245
|
+
right: -16px;
|
246
|
+
border: 16px solid ${e=>e.theme.colors.primary[85]};
|
247
|
+
position: absolute;
|
248
|
+
box-sizing: content-box;
|
249
|
+
border-radius: 100%;
|
250
|
+
background-color: ${e=>e.theme.colors.primary[85]};
|
251
|
+
pointer-events: none;
|
252
|
+
`,Ne=n.div`
|
253
|
+
position: absolute;
|
254
|
+
top: 16px;
|
255
|
+
left: 16px;
|
256
|
+
display: flex;
|
257
|
+
align-items: center;
|
258
|
+
gap: 8px;
|
259
|
+
`,He=n.div`
|
260
|
+
padding: 4px 8px;
|
261
|
+
border-radius: ${e=>T[e.theme.round].calendarItem}px;
|
262
|
+
background-color: ${e=>e.theme.colors.gray[20]};
|
263
|
+
`,Ie=n.div`
|
264
|
+
display: flex;
|
265
|
+
gap: 4px;
|
266
|
+
`,je=n.div`
|
267
|
+
cursor: pointer;
|
268
|
+
font-size: 12px;
|
269
|
+
padding: 4px;
|
270
|
+
border-radius: 4px;
|
271
|
+
|
272
|
+
&.cl_selected {
|
273
|
+
background-color: ${e=>e.theme.colors.gray[20]};
|
274
|
+
}
|
275
|
+
`;const Be=130,Fe=130,Ae=(e,t=30)=>{const{offsetX:n,offsetY:r}=(e=>{const t=e,n=e;let{offsetX:r,offsetY:o}=t.nativeEvent;if(void 0===r){const e=n.currentTarget.getBoundingClientRect();0!==n.changedTouches.length?(r=n.changedTouches[0].clientX-e.left,o=n.changedTouches[0].clientY-e.top):(r=t.clientX-e.left,o=t.clientY-e.top)}return{offsetX:r,offsetY:o}})(e),o=n-Be,a=r-Fe,i=Math.PI-Math.atan2(o,a),s=Math.sqrt(Math.pow(o,2)+Math.pow(a,2));const l=((e,t,n)=>{const r=Math.floor(e*(1/n));return 6===n?r:Math.round(t)>85?0===r?-12:r:0===r?12:r})(57.29577951308232*i,s,t);return{value:l,delta:s}},Re=[12,1,2,3,4,5,6,7,8,9,10,11],Pe=[0,13,14,15,16,17,18,19,20,21,22,23],We=[0,5,10,15,20,25,30,35,40,45,50,55],ze=n("div")`
|
276
|
+
animation: ${D} 0.7s linear alternate;
|
277
|
+
`,Ve=n.span`
|
278
|
+
left: calc(50% - 16px);
|
279
|
+
top: ${e=>e.top};
|
280
|
+
width: 32px;
|
281
|
+
height: 32px;
|
282
|
+
display: inline-flex;
|
283
|
+
position: absolute;
|
284
|
+
align-items: center;
|
285
|
+
border-radius: 32px;
|
286
|
+
justify-content: center;
|
287
|
+
user-select: none;
|
288
|
+
pointer-events: none;
|
289
|
+
color: black;
|
290
|
+
transform: ${e=>`translate(${function(e,t=130,n=20){const r=t-n;return Math.round(r*Math.sin(.5235987755982988*e))}(e.idx,e.clockHalfWidth,e.numbersPadd)}px,\n ${function(e,t=130,n=17){const r=t-n;return-Math.round(r*Math.cos(.5235987755982988*e))+t-n}(e.idx,e.clockHalfWidth,e.numbersPadd)}px)`};
|
291
|
+
`;Ve.defaultProps={clockHalfWidth:130,numbersPadd:24,top:"2%"};const Xe=t=>{const{insideHour:n,hourSelecting:r,clockTime:o}=t;return r?12===o?e.createElement(e.Fragment,null,Re.map(((t,r)=>e.createElement(Ve,{key:t,idx:r,style:{opacity:n?.3:1}},A(t))))):e.createElement(e.Fragment,null,Re.map(((t,r)=>e.createElement(Ve,{key:t,idx:r,top:"15%",clockHalfWidth:85,numbersPadd:10,style:{opacity:n?1:.3}},A(t)))),Pe.map(((t,r)=>e.createElement(Ve,{key:t,idx:r,style:{opacity:n?.3:1}},A(t))))):e.createElement(ze,null,We.map(((t,n)=>e.createElement(Ve,{key:t,idx:n},A(t)))))},qe=n.div`
|
292
|
+
overflow: hidden;
|
293
|
+
position: relative;
|
294
|
+
display: flex;
|
295
|
+
flex-direction: column;
|
296
|
+
justify-content: center;
|
297
|
+
align-items: center;
|
298
|
+
width: ${$}px;
|
299
|
+
min-height: ${372}px;
|
300
|
+
border: 1px solid ${e=>e.theme.colors.gray[40]};
|
301
|
+
background-color: #fff;
|
302
|
+
border-radius: ${e=>T[e.theme.round].wrapper}px;
|
303
|
+
`;exports.Calendar=De,exports.CalendarProvider=Ce,exports.DatePicker=t=>{const{defaultValue:n,locale:r="fa",weekends:o=[],direction:a="rtl",accentColor:i,controlledValue:s}=t;e.useMemo((()=>B.setLocale(r)),[r]);const l=e.useRef(null),c=e.useRef(null),[u,d]=e.useState(void 0!==n?new Date(n):void 0),[m,f]=e.useState(!0===t.range&&void 0!==t.from?new Date(t.from):void 0),[h,p]=e.useState(!0===t.range&&void 0!==t.to?new Date(t.to):void 0),[y,g]=e.useState(!1);e.useEffect((()=>{s&&s!==u&&d(s)}),[s]),Ee(c,(()=>g(!1)));const v=()=>{g(!y)},b=e.useMemo((()=>{var e;const n=null!==(e=null==t?void 0:t.customShowDateFormat)&&void 0!==e?e:ve[r].format;return void 0===t.range&&void 0!==u?fe(u,n):(console.log("from >>",m),void 0!==m&&void 0!==h?`\n ${fe(m,n)}\n -\n ${fe(h,n)}\n `:"")}),[u,m,h]);return e.createElement(Ce,{accentColor:i,round:t.round,direction:a},e.createElement("input",Object.assign({ref:l},null==t?void 0:t.inputAttributes,{onClick:v,type:"text",value:b,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement(C,{toggleOpen:v,showCalendar:y,destinationRef:l,position:t.position},e.createElement(De,{defaultValue:u,ref:c,className:t.className,weekends:o,onChange:e=>{if(!0===t.range&&"function"==typeof t.onChange){const n="from"in e?e.from:new Date,r="to"in e?e.to:new Date;f(n),p(r),t.onChange({from:n,to:r})}else if((!1===t.range||void 0===t.range)&&"function"==typeof t.onChange){const n="value"in e?e.value:new Date;d(n),t.onChange({value:n})}},range:t.range,from:!0===t.range?t.from:void 0,to:!0===t.range?t.to:void 0})))},exports.TimePicker=t=>{const{defaultValue:n,onChange:r,round:o="x2",locale:a="fa",clockTime:i=24}=t;e.useMemo((()=>B.setLocale(a)),[a]);const s=e.useRef(null),l=e.useRef(null),[c,u]=e.useState(!1),[d,m]=e.useState("am");Ee(l,(()=>u(!1)));const f=()=>{u(!c)},{hour:h,minute:p,isInsideHour:y,selectingHour:g,handleMouseMove:v,handleMouseUp:b,handleSelecting:x}=(({defaultValue:t,clockTime:n,timeConvention:r,onChange:o})=>{const a=void 0!==t?J(t):J().startOf("date"),[i,s]=e.useState(!1),[l,c]=e.useState(!1),[u,d]=e.useState(!1),m=24===n?"HH":"h",[f,h]=e.useState(parseInt(a.format(m),10)),[p,y]=e.useState(parseInt(a.format("mm"),10)),g=e=>{const{value:t}=Ae(e,6);y(t)},v=e=>{const{value:t,delta:r}=Ae(e);24!==n?h(t):Math.round(r)<85?(h(t),d(!0)):(h(t+12),d(!1))};return{hour:f,minute:p,isInsideHour:u,selectingHour:l,handleMouseMove:e=>{if(e.preventDefault(),i)return l?v(e):g(e)},handleMouseUp:()=>{if(l)return"function"==typeof o&&o(Object.assign({hour:f,minute:p},12===n&&{timeConvention:r})),s(!1),c(!1),void d(!1);s(!1),c(!0)},handleSelecting:e=>(s(!0),l?v(e):g(e))}})({defaultValue:n,clockTime:i,timeConvention:d,onChange:r}),$=e.useMemo((()=>`${h}:${p}`),[h,p]);return e.createElement(Ce,{accentColor:t.accentColor,round:o},e.createElement("input",Object.assign({ref:s},null==t?void 0:t.inputAttributes,{onClick:f,type:"text",value:$,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement(C,{toggleOpen:f,showCalendar:c,destinationRef:s},e.createElement(qe,{ref:l},e.createElement(Ne,null,12===i?e.createElement(Ie,null,e.createElement(je,{className:"am"===d?"cl_selected":"",onClick:()=>m("am")},ve[a].am),e.createElement(je,{className:"pm"===d?"cl_selected":"",onClick:()=>m("pm")},ve[a].pm)):null,e.createElement(He,null,A(h),":",A(p))),e.createElement(Te,{onMouseMove:v,onMouseUp:b,onMouseDown:x,onTouchMove:x,onTouchEnd:b},e.createElement(Oe,{value:g?h:p,hour:h,minute:p,isSelectingHour:g,isInsideHour:y},e.createElement(Le,{isSelectingHour:g})),e.createElement(Xe,{insideHour:y,hourSelecting:g,clockTime:i})))))};
|
package/dist/index.d.ts
ADDED