@progress/kendo-react-scheduler 14.5.0-develop.8 → 14.5.0-develop.9

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/Scheduler.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ae=require("react"),l=require("prop-types"),r=require("./utils/index.js"),g=require("@progress/kendo-react-common"),Me=require("./context/SchedulerContext.js"),_=require("./hooks/useControlledState.js"),ae=require("@progress/kendo-react-intl"),qe=require("./components/header/SchedulerHeader.js"),ie=require("./components/header/navigation/SchedulerNavigation.js"),Oe=require("./components/header/view-selector/SchedulerViewSelector.js"),R=require("@progress/kendo-date-math"),Le=require("./components/footer/SchedulerFooter.js"),v=require("@progress/kendo-react-buttons"),m=require("./messages/index.js"),Ne=require("./components/header/navigation/NavigationDatePicker.js"),Pe=require("./components/header/view-selector/ViewSelectorList.js"),We=require("./components/footer/bussiness-hours/BussinessHours.js"),M=require("./views/day/DayView.js"),re=require("./package-metadata.js"),T=require("@progress/kendo-svg-icons"),H=require("./constants/index.js"),ne=require("./views/agenda/AgendaView.js"),le=require("./views/month/MonthView.js"),oe=require("./views/week/WeekView.js"),se=require("./views/week/WorkWeekView.js"),ce=require("./views/time/TimelineView.js");function _e(t){const E=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const I in t)if(I!=="default"){const V=Object.getOwnPropertyDescriptor(t,I);Object.defineProperty(E,I,V.get?V:{enumerable:!0,get:()=>t[I]})}}return E.default=t,Object.freeze(E)}const n=_e(Ae),He="{0:D}",ze="{0:d}",Be="application",p=new Map;p.set(ne.AgendaView,ne.agendaViewDefaultProps);p.set(M.DayView,M.dayViewDefaultProps);p.set(le.MonthView,le.monthViewDefaultProps);p.set(oe.WeekView,oe.weekViewDefaultProps);p.set(se.WorkWeekView,se.workWeekDefaultProps);p.set(ce.TimelineView,ce.timeLineViewDefaultProps);const z=n.forwardRef((t,E)=>{var Y,ee,te;const I=!g.validatePackage(re.packageMetadata,{component:"Scheduler"}),V=g.getLicenseMessage(re.packageMetadata),{timezone:q,onDataChange:O}=t,f=n.useRef(null),b=n.useRef(null);n.useImperativeHandle(b,()=>({props:t,element:f.current})),n.useImperativeHandle(E,()=>b.current);const F=g.useRtl(f),L=ae.useInternationalization(),A=ae.useLocalization(),{fields:a}=n.useMemo(()=>r.getModelFields(t.modelFields),[t.modelFields]),[w,D]=_.useControlledState(t.defaultDate||h.defaultDate,t.date,t.onDateChange),C=n.Children.toArray(t.children||[]).map(e=>{var s;return n.isValidElement(e)?n.cloneElement(e,{...p.get(e.type),...(s=e.props)!=null?s:{}}):e}),de=n.cloneElement(n.createElement(M.DayView,null),p.get(M.DayView)),[B,j]=_.useControlledState(t.defaultView||C[0]&&C[0].props.name||"day",t.view,t.onViewChange),[x,U]=_.useControlledState(!0),i=C.find(e=>e.props.name===B)||C[0]||de,k=((Y=t.data)!=null?Y:h.data)||h.data,ue=r.toSchedulerGroups(t.group,t.resources),ge=t.group&&t.group.orientation?t.group.orientation:"horizontal",me=i.props.selectedDateFormat||He,he=i.props.selectedShortDateFormat||ze,G=i.props.slotDuration,fe=i.props.dateRange!==void 0?typeof i.props.dateRange=="function"?i.props.dateRange.call(void 0,{intl:L,date:w,timezone:q,numberOfDays:i.props.numberOfDays,workWeekStart:i.props.workWeekStart||L.firstDay(),workWeekEnd:i.props.workWeekEnd||(L.firstDay()+i.props.numberOfDays)%6}):i.props.dateRange:{start:h.defaultDate,end:h.defaultDate},y=n.useCallback(({created:e=[],updated:s=[],deleted:u=[]})=>{if(O){const o={created:e,updated:s,deleted:u};O.call(void 0,o)}},[O]),$=n.useCallback(e=>{const s=[e.dataItem];y({created:s})},[y]),K=n.useCallback(e=>{const s=[],u=[];if(e.series)if(Array.isArray(e.dataItem))e.dataItem.forEach(o=>{const c=g.clone(r.findMaster(e.dataItem,a,k)),d=g.clone(o);r.setField(d,a.originalStart,r.getField(c,a.originalStart)),r.setField(d,a.recurrenceId,r.getField(c,a.recurrenceId)),r.setField(d,a.recurrenceExceptions,r.getField(c,a.recurrenceExceptions)),u.push(d)});else{const o=g.clone(r.findMaster(e.dataItem,a,k)),c=g.clone(e.dataItem);r.setField(c,a.originalStart,r.getField(o,a.originalStart)),r.setField(c,a.recurrenceId,r.getField(o,a.recurrenceId)),r.setField(c,a.recurrenceExceptions,r.getField(o,a.recurrenceExceptions)),u.push(c)}else if(Array.isArray(e.dataItem))e.dataItem.forEach(o=>{const c=r.getField(o,a.recurrenceRule)!==null&&r.getField(o,a.recurrenceRule)!==void 0;if(r.getField(o,a.recurrenceId)!==null&&r.getField(o,a.recurrenceId)!==void 0&&c){const S=g.clone(r.findMaster(o,a,k)),W=r.getField(o,a.originalStart),Ve=r.getField(S,a.recurrenceExceptions)||[];r.setField(S,a.recurrenceExceptions,[...Ve,W]),r.setField(o,a.recurrenceRule,null),u.push(S),s.push(o)}else u.push(o)});else{const o=r.getField(e.dataItem,a.recurrenceRule)!==null&&r.getField(e.dataItem,a.recurrenceRule)!==void 0;if(r.getField(e.dataItem,a.recurrenceId)!==null&&r.getField(e.dataItem,a.recurrenceId)!==void 0&&o){const d=g.clone(r.findMaster(e.dataItem,a,k)),S=r.getField(e.dataItem,a.originalStart),W=r.getField(d,a.recurrenceExceptions)||[];r.setField(d,a.recurrenceExceptions,[...W,S]),r.setField(e.dataItem,a.recurrenceRule,null),u.push(d),s.push(e.dataItem)}else u.push(e.dataItem)}y({updated:u,created:s})},[y,a,k]),Z=n.useCallback(e=>{const s=[],u=[];if(e.series){const o=g.clone(r.findMaster(e.dataItem,a,k)),c=g.clone(e.dataItem);r.setField(c,a.originalStart,r.getField(o,a.originalStart)),r.setField(c,a.recurrenceId,r.getField(o,a.recurrenceId)),r.setField(c,a.recurrenceRule,r.getField(o,a.recurrenceRule)),r.setField(c,a.recurrenceExceptions,r.getField(o,a.recurrenceExceptions)),u.push(c)}else if(!(r.getField(e.dataItem,a.recurrenceRule)!==null&&r.getField(e.dataItem,a.recurrenceRule)!==void 0))u.push(e.dataItem);else{const c=g.clone(r.findMaster(e.dataItem,a,k)),d=r.getField(e.dataItem,a.originalStart),S=r.getField(c,a.recurrenceExceptions)||[];r.setField(c,a.recurrenceExceptions,[...S,d]),r.setField(e.dataItem,a.recurrenceRule,null),s.push(c)}y({updated:s,deleted:u})},[y,a,k]),J=n.useCallback(e=>{switch(e.type){case H.DATA_ACTION.create:$(e);break;case H.DATA_ACTION.update:K(e);break;case H.DATA_ACTION.remove:Z(e);break}},[$,Z,K]),De=n.useCallback((e,s)=>{j(e,{...s,target:b.current})},[j,b]),we=n.useCallback((e,s)=>{D(e,{...s,target:b.current})},[D,b]),ke=n.useCallback(e=>{e.value&&D(e.value,{...e,target:b.current,nativeEvent:e.nativeEvent})},[D,b]),be=n.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,o=s>27?R.addMonths(w,Math.round(s/27)):R.addDays(w,s);D(o,e)},[w,D,i.props.numberOfDays,i.props.step]),pe=n.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,o=s>27?R.addMonths(w,-Math.round(s/27)):R.addDays(w,-s);D(o,e)},[w,D,i.props.numberOfDays,i.props.step]),Fe=n.useCallback(e=>{e.preventDefault();const s=R.ZonedDate.fromLocalDate(new Date,q);D(new Date(s.getTime()),e)},[D,q]),Se=n.useCallback(()=>{U(!x)},[U,x]),Ie=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},[f]),ye=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="")},[f]),ve=n.useMemo(()=>{var e;return{...t.style,height:(e=t.height)!=null?e:h.height}},[t.height,t.style]),Ee=n.useMemo(()=>g.classNames({"k-rtl":t.rtl!==void 0?t.rtl:F==="rtl"},"k-scheduler",t.className),[t.className,t.rtl,F]),N=A.toLanguageString(m.today,m.messages[m.today]),Q=A.toLanguageString(m.previousTitle,m.messages[m.previousTitle]),X=A.toLanguageString(m.nextTitle,m.messages[m.nextTitle]),Ce=i.props.header||t.header||h.header,xe=i.props.footer||t.footer||h.footer,Re=ie.SchedulerNavigation,[P,Te]=n.useState(null);return n.createElement(Me.SchedulerContext,{element:f,props:t,views:C,fields:a,groups:ue,dateRange:fe,orientation:ge,dateFormat:{dateFormat:me,shortDateFormat:he},date:[w,we],activeView:[B,De],selection:[P,Te],data:[k,J]},n.createElement("div",{ref:f,id:t.id,style:ve,className:Ee,tabIndex:(ee=t.tabIndex)!=null?ee:h.tabIndex,dir:F,role:t.role||Be,"aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-activedescendant":P&&P.props.id||void 0,onFocus:Ie,onBlur:ye},n.createElement(Ce,null,n.createElement(Re,null,n.createElement(v.ButtonGroup,{className:"k-scheduler-navigation"},n.createElement(v.Button,{role:"button",tabIndex:-1,title:N,"aria-label":N,onClick:Fe},N),n.createElement(v.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-right":"caret-alt-left",svgIcon:F==="rtl"?T.caretAltRightIcon:T.caretAltLeftIcon,title:Q,"aria-label":Q,onClick:pe}),n.createElement(v.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-left":"caret-alt-right",svgIcon:F==="rtl"?T.caretAltLeftIcon:T.caretAltRightIcon,title:X,"aria-label":X,onClick:be}))),n.createElement(Ne.NavigationDatePicker,{value:w,onChange:ke}),n.createElement(v.ToolbarSpacer,null),n.createElement(Pe.ViewSelectorList,null)),i&&n.createElement(i.type,{editable:(te=t.editable)!=null?te:h.editable,key:i.props.name,item:t.item,viewItem:t.viewItem,editItem:t.editItem,task:t.task,viewTask:t.viewTask,editTask:t.viewTask,slot:t.slot,viewSlot:t.viewSlot,editSlot:t.editSlot,form:t.form,onDataAction:J,showWorkHours:x,...i.props}),n.createElement(xe,null,G&&G<1440&&n.createElement(We.BusinessHours,null,n.createElement(v.Button,{tabIndex:-1,onClick:Se,icon:"clock",svgIcon:T.clockIcon},A.toLanguageString(x?m.showFullDay:m.showWorkDay,m.messages[x?m.showFullDay:m.showWorkDay])))),I&&n.createElement(g.WatermarkOverlay,{message:V})))}),h={data:[],height:600,tabIndex:-1,editable:!1,defaultDate:new Date,header:qe.SchedulerHeader,footer:Le.SchedulerFooter,navigation:ie.SchedulerNavigation,viewSelector:Oe.SchedulerViewSelector};z.propTypes={data:l.array,editable:l.oneOfType([l.bool,l.shape({add:l.bool,drag:l.bool,edit:l.bool,remove:l.bool,resize:l.bool})]),view:l.string,defaultView:l.string,date:l.any,defaultDate:l.any,rtl:l.bool,height:l.oneOfType([l.number,l.string]),children:l.any,timezone:l.string,group:l.any,resources:l.any,modelFields:l.shape({id:l.string,start:l.string,startTimezone:l.string,end:l.string,endTimezone:l.string,isAllDay:l.string,title:l.string,description:l.string,recurrenceRule:l.string,recurrenceId:l.string,recurrenceException:l.string})};z.displayName="KendoReactScheduler";exports.Scheduler=z;exports.schedulerDefaultProps=h;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Me=require("react"),o=require("prop-types"),n=require("./utils/index.js"),g=require("@progress/kendo-react-common"),Ae=require("./context/SchedulerContext.js"),_=require("./hooks/useControlledState.js"),re=require("@progress/kendo-react-intl"),qe=require("./components/header/SchedulerHeader.js"),ie=require("./components/header/navigation/SchedulerNavigation.js"),Oe=require("./components/header/view-selector/SchedulerViewSelector.js"),R=require("@progress/kendo-date-math"),Le=require("./components/footer/SchedulerFooter.js"),y=require("@progress/kendo-react-buttons"),m=require("./messages/index.js"),Ne=require("./components/header/navigation/NavigationDatePicker.js"),Pe=require("./components/header/view-selector/ViewSelectorList.js"),We=require("./components/footer/bussiness-hours/BussinessHours.js"),A=require("./views/day/DayView.js"),ne=require("./package-metadata.js"),T=require("@progress/kendo-svg-icons"),H=require("./constants/index.js"),ae=require("./views/agenda/AgendaView.js"),oe=require("./views/month/MonthView.js"),le=require("./views/week/WeekView.js"),se=require("./views/week/WorkWeekView.js"),ce=require("./views/time/TimelineView.js");function _e(t){const E=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const S in t)if(S!=="default"){const V=Object.getOwnPropertyDescriptor(t,S);Object.defineProperty(E,S,V.get?V:{enumerable:!0,get:()=>t[S]})}}return E.default=t,Object.freeze(E)}const a=_e(Me),He="{0:D}",ze="{0:d}",Be="application",p=new Map;p.set(ae.AgendaView,ae.agendaViewDefaultProps);p.set(A.DayView,A.dayViewDefaultProps);p.set(oe.MonthView,oe.monthViewDefaultProps);p.set(le.WeekView,le.weekViewDefaultProps);p.set(se.WorkWeekView,se.workWeekDefaultProps);p.set(ce.TimelineView,ce.timeLineViewDefaultProps);const z=a.forwardRef((t,E)=>{var Y,ee,te;const S=!g.validatePackage(ne.packageMetadata,{component:"Scheduler"}),V=g.getLicenseMessage(ne.packageMetadata),{timezone:q,onDataChange:O}=t,f=a.useRef(null),b=a.useRef(null);a.useImperativeHandle(b,()=>({props:t,element:f.current})),a.useImperativeHandle(E,()=>b.current);const v=g.useRtl(f),L=re.useInternationalization(),M=re.useLocalization(),{fields:r}=a.useMemo(()=>n.getModelFields(t.modelFields),[t.modelFields]),[w,D]=_.useControlledState(t.defaultDate||h.defaultDate,t.date,t.onDateChange),C=a.Children.toArray(t.children||[]).map(e=>{var s;return a.isValidElement(e)?a.cloneElement(e,{...p.get(e.type),...(s=e.props)!=null?s:{}}):e}),de=a.cloneElement(a.createElement(A.DayView,null),p.get(A.DayView)),[B,j]=_.useControlledState(t.defaultView||C[0]&&C[0].props.name||"day",t.view,t.onViewChange),[x,U]=_.useControlledState(!0),i=C.find(e=>e.props.name===B)||C[0]||de,k=((Y=t.data)!=null?Y:h.data)||h.data,ue=n.toSchedulerGroups(t.group,t.resources),ge=t.group&&t.group.orientation?t.group.orientation:"horizontal",me=i.props.selectedDateFormat||He,he=i.props.selectedShortDateFormat||ze,G=i.props.slotDuration,fe=i.props.dateRange!==void 0?typeof i.props.dateRange=="function"?i.props.dateRange.call(void 0,{intl:L,date:w,timezone:q,numberOfDays:i.props.numberOfDays,workWeekStart:i.props.workWeekStart||L.firstDay(),workWeekEnd:i.props.workWeekEnd||(L.firstDay()+i.props.numberOfDays)%6}):i.props.dateRange:{start:h.defaultDate,end:h.defaultDate},I=a.useCallback(({created:e=[],updated:s=[],deleted:u=[]})=>{if(O){const l={created:e,updated:s,deleted:u};O.call(void 0,l)}},[O]),$=a.useCallback(e=>{const s=[e.dataItem];I({created:s})},[I]),K=a.useCallback(e=>{const s=[],u=[];if(e.series)if(Array.isArray(e.dataItem))e.dataItem.forEach(l=>{const c=g.clone(n.findMaster(e.dataItem,r,k)),d=g.clone(l);n.setField(d,r.originalStart,n.getField(c,r.originalStart)),n.setField(d,r.recurrenceId,n.getField(c,r.recurrenceId)),n.setField(d,r.recurrenceExceptions,n.getField(c,r.recurrenceExceptions)),u.push(d)});else{const l=g.clone(n.findMaster(e.dataItem,r,k)),c=g.clone(e.dataItem);n.setField(c,r.originalStart,n.getField(l,r.originalStart)),n.setField(c,r.recurrenceId,n.getField(l,r.recurrenceId)),n.setField(c,r.recurrenceExceptions,n.getField(l,r.recurrenceExceptions)),u.push(c)}else if(Array.isArray(e.dataItem))e.dataItem.forEach(l=>{const c=n.getField(l,r.recurrenceRule)!==null&&n.getField(l,r.recurrenceRule)!==void 0;if(n.getField(l,r.recurrenceId)!==null&&n.getField(l,r.recurrenceId)!==void 0&&c){const F=g.clone(n.findMaster(l,r,k)),W=n.getField(l,r.originalStart),Ve=n.getField(F,r.recurrenceExceptions)||[];n.setField(F,r.recurrenceExceptions,[...Ve,W]),n.setField(l,r.recurrenceRule,null),u.push(F),s.push(l)}else u.push(l)});else{const l=n.getField(e.dataItem,r.recurrenceRule)!==null&&n.getField(e.dataItem,r.recurrenceRule)!==void 0;if(n.getField(e.dataItem,r.recurrenceId)!==null&&n.getField(e.dataItem,r.recurrenceId)!==void 0&&l){const d=g.clone(n.findMaster(e.dataItem,r,k)),F=n.getField(e.dataItem,r.originalStart),W=n.getField(d,r.recurrenceExceptions)||[];n.setField(d,r.recurrenceExceptions,[...W,F]),n.setField(e.dataItem,r.recurrenceRule,null),u.push(d),s.push(e.dataItem)}else u.push(e.dataItem)}I({updated:u,created:s})},[I,r,k]),Z=a.useCallback(e=>{const s=[],u=[];if(e.series){const l=g.clone(n.findMaster(e.dataItem,r,k)),c=g.clone(e.dataItem);n.setField(c,r.originalStart,n.getField(l,r.originalStart)),n.setField(c,r.recurrenceId,n.getField(l,r.recurrenceId)),n.setField(c,r.recurrenceRule,n.getField(l,r.recurrenceRule)),n.setField(c,r.recurrenceExceptions,n.getField(l,r.recurrenceExceptions)),u.push(c)}else if(!(n.getField(e.dataItem,r.recurrenceRule)!==null&&n.getField(e.dataItem,r.recurrenceRule)!==void 0))u.push(e.dataItem);else{const c=g.clone(n.findMaster(e.dataItem,r,k)),d=n.getField(e.dataItem,r.originalStart),F=n.getField(c,r.recurrenceExceptions)||[];n.setField(c,r.recurrenceExceptions,[...F,d]),n.setField(e.dataItem,r.recurrenceRule,null),s.push(c)}I({updated:s,deleted:u})},[I,r,k]),J=a.useCallback(e=>{switch(e.type){case H.DATA_ACTION.create:$(e);break;case H.DATA_ACTION.update:K(e);break;case H.DATA_ACTION.remove:Z(e);break}},[$,Z,K]),De=a.useCallback((e,s)=>{j(e,{...s,target:b.current})},[j,b]),we=a.useCallback((e,s)=>{D(e,{...s,target:b.current})},[D,b]),ke=a.useCallback(e=>{e.value&&D(e.value,{...e,target:b.current,nativeEvent:e.nativeEvent})},[D,b]),be=a.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,l=s>27?R.addMonths(w,Math.round(s/27)):R.addDays(w,s);D(l,e)},[w,D,i.props.numberOfDays,i.props.step]),pe=a.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,l=s>27?R.addMonths(w,-Math.round(s/27)):R.addDays(w,-s);D(l,e)},[w,D,i.props.numberOfDays,i.props.step]),ve=a.useCallback(e=>{e.preventDefault();const s=R.ZonedDate.fromLocalDate(new Date,q);D(new Date(s.getTime()),e)},[D,q]),Fe=a.useCallback(()=>{U(!x)},[U,x]),Se=a.useCallback(()=>{f.current&&(f.current.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},[f]),Ie=a.useCallback(()=>{f.current&&(f.current.style.boxShadow="")},[f]),ye=a.useMemo(()=>{var e;return{...t.style,height:(e=t.height)!=null?e:h.height}},[t.height,t.style]),Ee=a.useMemo(()=>g.classNames({"k-rtl":t.rtl!==void 0?t.rtl:v==="rtl"},"k-scheduler",t.className),[t.className,t.rtl,v]),N=M.toLanguageString(m.today,m.messages[m.today]),Q=M.toLanguageString(m.previousTitle,m.messages[m.previousTitle]),X=M.toLanguageString(m.nextTitle,m.messages[m.nextTitle]),Ce=i.props.header||t.header||h.header,xe=i.props.footer||t.footer||h.footer,Re=ie.SchedulerNavigation,[P,Te]=a.useState(null);return a.createElement(Ae.SchedulerContext,{element:f,props:t,views:C,fields:r,groups:ue,dateRange:fe,orientation:ge,dateFormat:{dateFormat:me,shortDateFormat:he},date:[w,we],activeView:[B,De],selection:[P,Te],data:[k,J]},a.createElement("div",{ref:f,id:t.id,style:ye,className:Ee,tabIndex:(ee=t.tabIndex)!=null?ee:h.tabIndex,dir:v,role:t.role||Be,"aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-activedescendant":P&&P.props.id||void 0,onFocus:Se,onBlur:Ie},a.createElement(Ce,null,a.createElement(Re,null,a.createElement(y.ButtonGroup,{className:"k-scheduler-navigation"},a.createElement(y.Button,{role:"button",tabIndex:-1,title:N,"aria-label":N,onClick:ve},N),a.createElement(y.Button,{role:"button",tabIndex:-1,icon:v==="rtl"?"chevron-right":"chevron-left",svgIcon:v==="rtl"?T.chevronRightIcon:T.chevronLeftIcon,title:Q,"aria-label":Q,onClick:pe}),a.createElement(y.Button,{role:"button",tabIndex:-1,icon:v==="rtl"?"chevron-left":"chevron-right",svgIcon:v==="rtl"?T.chevronLeftIcon:T.chevronRightIcon,title:X,"aria-label":X,onClick:be}))),a.createElement(Ne.NavigationDatePicker,{value:w,onChange:ke}),a.createElement(y.ToolbarSpacer,null),a.createElement(Pe.ViewSelectorList,null)),i&&a.createElement(i.type,{editable:(te=t.editable)!=null?te:h.editable,key:i.props.name,item:t.item,viewItem:t.viewItem,editItem:t.editItem,task:t.task,viewTask:t.viewTask,editTask:t.viewTask,slot:t.slot,viewSlot:t.viewSlot,editSlot:t.editSlot,form:t.form,onDataAction:J,showWorkHours:x,...i.props}),a.createElement(xe,null,G&&G<1440&&a.createElement(We.BusinessHours,null,a.createElement(y.Button,{tabIndex:-1,onClick:Fe,icon:"clock",svgIcon:T.clockIcon},M.toLanguageString(x?m.showFullDay:m.showWorkDay,m.messages[x?m.showFullDay:m.showWorkDay])))),S&&a.createElement(g.WatermarkOverlay,{message:V})))}),h={data:[],height:600,tabIndex:-1,editable:!1,defaultDate:new Date,header:qe.SchedulerHeader,footer:Le.SchedulerFooter,navigation:ie.SchedulerNavigation,viewSelector:Oe.SchedulerViewSelector};z.propTypes={data:o.array,editable:o.oneOfType([o.bool,o.shape({add:o.bool,drag:o.bool,edit:o.bool,remove:o.bool,resize:o.bool})]),view:o.string,defaultView:o.string,date:o.any,defaultDate:o.any,rtl:o.bool,height:o.oneOfType([o.number,o.string]),children:o.any,timezone:o.string,group:o.any,resources:o.any,modelFields:o.shape({id:o.string,start:o.string,startTimezone:o.string,end:o.string,endTimezone:o.string,isAllDay:o.string,title:o.string,description:o.string,recurrenceRule:o.string,recurrenceId:o.string,recurrenceException:o.string})};z.displayName="KendoReactScheduler";exports.Scheduler=z;exports.schedulerDefaultProps=h;
package/Scheduler.mjs CHANGED
@@ -24,14 +24,14 @@ import { ViewSelectorList as Ye } from "./components/header/view-selector/ViewSe
24
24
  import { BusinessHours as $e } from "./components/footer/bussiness-hours/BussinessHours.mjs";
25
25
  import { DayView as P, dayViewDefaultProps as et } from "./views/day/DayView.mjs";
26
26
  import { packageMetadata as oe } from "./package-metadata.mjs";
27
- import { caretAltRightIcon as le, caretAltLeftIcon as se, clockIcon as tt } from "@progress/kendo-svg-icons";
27
+ import { chevronRightIcon as le, chevronLeftIcon as se, clockIcon as tt } from "@progress/kendo-svg-icons";
28
28
  import { DATA_ACTION as W } from "./constants/index.mjs";
29
29
  import { AgendaView as rt, agendaViewDefaultProps as at } from "./views/agenda/AgendaView.mjs";
30
30
  import { MonthView as nt, monthViewDefaultProps as ot } from "./views/month/MonthView.mjs";
31
31
  import { WeekView as lt, weekViewDefaultProps as st } from "./views/week/WeekView.mjs";
32
32
  import { WorkWeekView as ct, workWeekDefaultProps as it } from "./views/week/WorkWeekView.mjs";
33
33
  import { TimelineView as ut, timeLineViewDefaultProps as dt } from "./views/time/TimelineView.mjs";
34
- const mt = "{0:D}", gt = "{0:d}", ft = "application", k = /* @__PURE__ */ new Map();
34
+ const mt = "{0:D}", gt = "{0:d}", ht = "application", k = /* @__PURE__ */ new Map();
35
35
  k.set(rt, at);
36
36
  k.set(P, et);
37
37
  k.set(nt, ot);
@@ -42,8 +42,8 @@ const ie = a.forwardRef((r, ue) => {
42
42
  var J, Q, X;
43
43
  const de = !We(oe, { component: "Scheduler" }), me = Pe(oe), { timezone: V, onDataChange: A } = r, g = a.useRef(null), b = a.useRef(null);
44
44
  a.useImperativeHandle(b, () => ({ props: r, element: g.current })), a.useImperativeHandle(ue, () => b.current);
45
- const I = He(g), F = Ue(), C = Ge(), { fields: t } = a.useMemo(() => Oe(r.modelFields), [r.modelFields]), [p, f] = N(
46
- r.defaultDate || h.defaultDate,
45
+ const v = He(g), F = Ue(), C = Ge(), { fields: t } = a.useMemo(() => Oe(r.modelFields), [r.modelFields]), [p, h] = N(
46
+ r.defaultDate || f.defaultDate,
47
47
  r.date,
48
48
  r.onDateChange
49
49
  ), x = a.Children.toArray(r.children || []).map(
@@ -55,14 +55,14 @@ const ie = a.forwardRef((r, ue) => {
55
55
  r.defaultView || x[0] && x[0].props.name || "day",
56
56
  r.view,
57
57
  r.onViewChange
58
- ), [S, _] = N(!0), i = x.find((e) => e.props.name === H) || x[0] || ge, D = ((J = r.data) != null ? J : h.data) || h.data, fe = Ne(r.group, r.resources), he = r.group && r.group.orientation ? r.group.orientation : "horizontal", pe = i.props.selectedDateFormat || mt, De = i.props.selectedShortDateFormat || gt, B = i.props.slotDuration, we = i.props.dateRange !== void 0 ? typeof i.props.dateRange == "function" ? i.props.dateRange.call(void 0, {
58
+ ), [S, _] = N(!0), i = x.find((e) => e.props.name === H) || x[0] || ge, D = ((J = r.data) != null ? J : f.data) || f.data, he = Ne(r.group, r.resources), fe = r.group && r.group.orientation ? r.group.orientation : "horizontal", pe = i.props.selectedDateFormat || mt, De = i.props.selectedShortDateFormat || gt, B = i.props.slotDuration, we = i.props.dateRange !== void 0 ? typeof i.props.dateRange == "function" ? i.props.dateRange.call(void 0, {
59
59
  intl: F,
60
60
  date: p,
61
61
  timezone: V,
62
62
  numberOfDays: i.props.numberOfDays,
63
63
  workWeekStart: i.props.workWeekStart || F.firstDay(),
64
64
  workWeekEnd: i.props.workWeekEnd || (F.firstDay() + i.props.numberOfDays) % 6
65
- }) : i.props.dateRange : { start: h.defaultDate, end: h.defaultDate }, v = a.useCallback(
65
+ }) : i.props.dateRange : { start: f.defaultDate, end: f.defaultDate }, E = a.useCallback(
66
66
  ({
67
67
  created: e = [],
68
68
  updated: l = [],
@@ -81,9 +81,9 @@ const ie = a.forwardRef((r, ue) => {
81
81
  ), U = a.useCallback(
82
82
  (e) => {
83
83
  const l = [e.dataItem];
84
- v({ created: l });
84
+ E({ created: l });
85
85
  },
86
- [v]
86
+ [E]
87
87
  ), G = a.useCallback(
88
88
  (e) => {
89
89
  const l = [], m = [];
@@ -109,22 +109,22 @@ const ie = a.forwardRef((r, ue) => {
109
109
  e.dataItem.forEach((o) => {
110
110
  const s = c(o, t.recurrenceRule) !== null && c(o, t.recurrenceRule) !== void 0;
111
111
  if (c(o, t.recurrenceId) !== null && c(o, t.recurrenceId) !== void 0 && s) {
112
- const E = w(y(o, t, D)), O = c(o, t.originalStart), Le = c(E, t.recurrenceExceptions) || [];
113
- d(E, t.recurrenceExceptions, [...Le, O]), d(o, t.recurrenceRule, null), m.push(E), l.push(o);
112
+ const I = w(y(o, t, D)), O = c(o, t.originalStart), Le = c(I, t.recurrenceExceptions) || [];
113
+ d(I, t.recurrenceExceptions, [...Le, O]), d(o, t.recurrenceRule, null), m.push(I), l.push(o);
114
114
  } else
115
115
  m.push(o);
116
116
  });
117
117
  else {
118
118
  const o = c(e.dataItem, t.recurrenceRule) !== null && c(e.dataItem, t.recurrenceRule) !== void 0;
119
119
  if (c(e.dataItem, t.recurrenceId) !== null && c(e.dataItem, t.recurrenceId) !== void 0 && o) {
120
- const u = w(y(e.dataItem, t, D)), E = c(e.dataItem, t.originalStart), O = c(u, t.recurrenceExceptions) || [];
121
- d(u, t.recurrenceExceptions, [...O, E]), d(e.dataItem, t.recurrenceRule, null), m.push(u), l.push(e.dataItem);
120
+ const u = w(y(e.dataItem, t, D)), I = c(e.dataItem, t.originalStart), O = c(u, t.recurrenceExceptions) || [];
121
+ d(u, t.recurrenceExceptions, [...O, I]), d(e.dataItem, t.recurrenceRule, null), m.push(u), l.push(e.dataItem);
122
122
  } else
123
123
  m.push(e.dataItem);
124
124
  }
125
- v({ updated: m, created: l });
125
+ E({ updated: m, created: l });
126
126
  },
127
- [v, t, D]
127
+ [E, t, D]
128
128
  ), K = a.useCallback(
129
129
  (e) => {
130
130
  const l = [], m = [];
@@ -134,12 +134,12 @@ const ie = a.forwardRef((r, ue) => {
134
134
  } else if (!(c(e.dataItem, t.recurrenceRule) !== null && c(e.dataItem, t.recurrenceRule) !== void 0))
135
135
  m.push(e.dataItem);
136
136
  else {
137
- const s = w(y(e.dataItem, t, D)), u = c(e.dataItem, t.originalStart), E = c(s, t.recurrenceExceptions) || [];
138
- d(s, t.recurrenceExceptions, [...E, u]), d(e.dataItem, t.recurrenceRule, null), l.push(s);
137
+ const s = w(y(e.dataItem, t, D)), u = c(e.dataItem, t.originalStart), I = c(s, t.recurrenceExceptions) || [];
138
+ d(s, t.recurrenceExceptions, [...I, u]), d(e.dataItem, t.recurrenceRule, null), l.push(s);
139
139
  }
140
- v({ updated: l, deleted: m });
140
+ E({ updated: l, deleted: m });
141
141
  },
142
- [v, t, D]
142
+ [E, t, D]
143
143
  ), Z = a.useCallback(
144
144
  (e) => {
145
145
  switch (e.type) {
@@ -165,44 +165,44 @@ const ie = a.forwardRef((r, ue) => {
165
165
  [z, b]
166
166
  ), ke = a.useCallback(
167
167
  (e, l) => {
168
- f(e, {
168
+ h(e, {
169
169
  ...l,
170
170
  target: b.current
171
171
  });
172
172
  },
173
- [f, b]
174
- ), Ie = a.useCallback(
173
+ [h, b]
174
+ ), ve = a.useCallback(
175
175
  (e) => {
176
- e.value && f(e.value, {
176
+ e.value && h(e.value, {
177
177
  ...e,
178
178
  target: b.current,
179
179
  nativeEvent: e.nativeEvent
180
180
  });
181
181
  },
182
- [f, b]
183
- ), Ee = a.useCallback(
182
+ [h, b]
183
+ ), Ie = a.useCallback(
184
184
  (e) => {
185
185
  var s, u;
186
186
  e.preventDefault();
187
187
  const l = (u = (s = i.props.step) != null ? s : i.props.numberOfDays) != null ? u : 1, o = l > 27 ? Y(p, Math.round(l / 27)) : $(p, l);
188
- f(o, e);
188
+ h(o, e);
189
189
  },
190
- [p, f, i.props.numberOfDays, i.props.step]
191
- ), ve = a.useCallback(
190
+ [p, h, i.props.numberOfDays, i.props.step]
191
+ ), Ee = a.useCallback(
192
192
  (e) => {
193
193
  var s, u;
194
194
  e.preventDefault();
195
195
  const l = (u = (s = i.props.step) != null ? s : i.props.numberOfDays) != null ? u : 1, o = l > 27 ? Y(p, -Math.round(l / 27)) : $(p, -l);
196
- f(o, e);
196
+ h(o, e);
197
197
  },
198
- [p, f, i.props.numberOfDays, i.props.step]
198
+ [p, h, i.props.numberOfDays, i.props.step]
199
199
  ), ye = a.useCallback(
200
200
  (e) => {
201
201
  e.preventDefault();
202
202
  const l = je.fromLocalDate(/* @__PURE__ */ new Date(), V);
203
- f(new Date(l.getTime()), e);
203
+ h(new Date(l.getTime()), e);
204
204
  },
205
- [f, V]
205
+ [h, V]
206
206
  ), xe = a.useCallback(() => {
207
207
  _(!S);
208
208
  }, [_, S]), Se = a.useCallback(() => {
@@ -212,17 +212,17 @@ const ie = a.forwardRef((r, ue) => {
212
212
  }, [g]), Re = a.useMemo(
213
213
  () => {
214
214
  var e;
215
- return { ...r.style, height: (e = r.height) != null ? e : h.height };
215
+ return { ...r.style, height: (e = r.height) != null ? e : f.height };
216
216
  },
217
217
  [r.height, r.style]
218
218
  ), Te = a.useMemo(
219
219
  () => ze(
220
- { "k-rtl": r.rtl !== void 0 ? r.rtl : I === "rtl" },
220
+ { "k-rtl": r.rtl !== void 0 ? r.rtl : v === "rtl" },
221
221
  "k-scheduler",
222
222
  r.className
223
223
  ),
224
- [r.className, r.rtl, I]
225
- ), M = C.toLanguageString(ee, T[ee]), j = C.toLanguageString(te, T[te]), q = C.toLanguageString(re, T[re]), Ve = i.props.header || r.header || h.header, Ae = i.props.footer || r.footer || h.footer, Fe = ce, [L, Me] = a.useState(null);
224
+ [r.className, r.rtl, v]
225
+ ), M = C.toLanguageString(ee, T[ee]), j = C.toLanguageString(te, T[te]), q = C.toLanguageString(re, T[re]), Ve = i.props.header || r.header || f.header, Ae = i.props.footer || r.footer || f.footer, Fe = ce, [L, Me] = a.useState(null);
226
226
  return /* @__PURE__ */ a.createElement(
227
227
  Be,
228
228
  {
@@ -230,9 +230,9 @@ const ie = a.forwardRef((r, ue) => {
230
230
  props: r,
231
231
  views: x,
232
232
  fields: t,
233
- groups: fe,
233
+ groups: he,
234
234
  dateRange: we,
235
- orientation: he,
235
+ orientation: fe,
236
236
  dateFormat: { dateFormat: pe, shortDateFormat: De },
237
237
  date: [p, ke],
238
238
  activeView: [H, be],
@@ -246,9 +246,9 @@ const ie = a.forwardRef((r, ue) => {
246
246
  id: r.id,
247
247
  style: Re,
248
248
  className: Te,
249
- tabIndex: (Q = r.tabIndex) != null ? Q : h.tabIndex,
250
- dir: I,
251
- role: r.role || ft,
249
+ tabIndex: (Q = r.tabIndex) != null ? Q : f.tabIndex,
250
+ dir: v,
251
+ role: r.role || ht,
252
252
  "aria-label": r.ariaLabel,
253
253
  "aria-labelledby": r.ariaLabelledby,
254
254
  "aria-activedescendant": L && L.props.id || void 0,
@@ -270,28 +270,28 @@ const ie = a.forwardRef((r, ue) => {
270
270
  {
271
271
  role: "button",
272
272
  tabIndex: -1,
273
- icon: I === "rtl" ? "caret-alt-right" : "caret-alt-left",
274
- svgIcon: I === "rtl" ? le : se,
273
+ icon: v === "rtl" ? "chevron-right" : "chevron-left",
274
+ svgIcon: v === "rtl" ? le : se,
275
275
  title: j,
276
276
  "aria-label": j,
277
- onClick: ve
277
+ onClick: Ee
278
278
  }
279
279
  ), /* @__PURE__ */ a.createElement(
280
280
  R,
281
281
  {
282
282
  role: "button",
283
283
  tabIndex: -1,
284
- icon: I === "rtl" ? "caret-alt-left" : "caret-alt-right",
285
- svgIcon: I === "rtl" ? se : le,
284
+ icon: v === "rtl" ? "chevron-left" : "chevron-right",
285
+ svgIcon: v === "rtl" ? se : le,
286
286
  title: q,
287
287
  "aria-label": q,
288
- onClick: Ee
288
+ onClick: Ie
289
289
  }
290
- ))), /* @__PURE__ */ a.createElement(Xe, { value: p, onChange: Ie }), /* @__PURE__ */ a.createElement(Qe, null), /* @__PURE__ */ a.createElement(Ye, null)),
290
+ ))), /* @__PURE__ */ a.createElement(Xe, { value: p, onChange: ve }), /* @__PURE__ */ a.createElement(Qe, null), /* @__PURE__ */ a.createElement(Ye, null)),
291
291
  i && /* @__PURE__ */ a.createElement(
292
292
  i.type,
293
293
  {
294
- editable: (X = r.editable) != null ? X : h.editable,
294
+ editable: (X = r.editable) != null ? X : f.editable,
295
295
  key: i.props.name,
296
296
  item: r.item,
297
297
  viewItem: r.viewItem,
@@ -315,7 +315,7 @@ const ie = a.forwardRef((r, ue) => {
315
315
  de && /* @__PURE__ */ a.createElement(_e, { message: me })
316
316
  )
317
317
  );
318
- }), h = {
318
+ }), f = {
319
319
  data: [],
320
320
  height: 600,
321
321
  tabIndex: -1,
@@ -365,5 +365,5 @@ ie.propTypes = {
365
365
  ie.displayName = "KendoReactScheduler";
366
366
  export {
367
367
  ie as Scheduler,
368
- h as schedulerDefaultProps
368
+ f as schedulerDefaultProps
369
369
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react"),g=require("@progress/kendo-react-intl"),S=require("@progress/kendo-react-buttons"),u=require("@progress/kendo-react-common"),v=require("@progress/kendo-svg-icons"),h=require("./ViewSelectorItem.js"),f=require("../../../context/SchedulerContext.js");function y(o){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const r in o)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(o,r);Object.defineProperty(n,r,c.get?c:{enumerable:!0,get:()=>o[r]})}}return n.default=o,Object.freeze(n)}const t=y(k),w=t.forwardRef(()=>{const o=t.useRef(null),[n,r]=t.useState("desktop"),c=f.useSchedulerViewsContext(),l=u.useWindow(o),[p,a]=f.useSchedulerActiveViewContext(),s=c.find(e=>e.props.name===p),d=g.useLocalization(),b=t.useCallback(e=>{a&&(e.syntheticEvent.preventDefault(),a(e.item.name))},[a]),m=()=>{l().matchMedia&&r(l().matchMedia("(min-width: 1024px)").matches?"desktop":"mobile")};return t.useEffect(()=>{m();const e=l().ResizeObserver,i=e&&new e(m);return i&&i.observe(o.current),()=>{i&&i.disconnect()}},[]),t.createElement("div",{className:u.classNames("k-toolbar-button-group k-button-group k-button-group-solid",{"k-scheduler-views":n==="desktop","k-scheduler-tools":n==="mobile"}),role:"group",ref:o},s&&n==="mobile"&&t.createElement(S.DropDownButton,{className:"k-views-dropdown",onItemClick:b,popupSettings:{popupClass:"k-scheduler-toolbar"},textField:"title",items:c.map(e=>({...e.props,selected:e.props.name===p,title:typeof e.props.title=="function"?e.props.title.call(void 0,d):e.props.title})),text:t.createElement(t.Fragment,null,typeof s.props.title=="function"?s.props.title.call(void 0,d):s.props.title,t.createElement(u.IconWrap,{name:"caret-alt-down",icon:v.caretAltDownIcon}))}),n==="desktop"&&t.createElement(t.Fragment,null,c.map(e=>t.createElement(h.ViewSelectorItem,{key:e.props.name,view:e.props}))))});w.displayName="KendoReactSchedulerViewSelectorList";exports.ViewSelectorList=w;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),v=require("@progress/kendo-react-intl"),d=require("@progress/kendo-react-buttons"),f=require("@progress/kendo-react-common"),C=require("@progress/kendo-svg-icons"),w=require("../../../context/SchedulerContext.js");function y(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>n[s]})}}return r.default=n,Object.freeze(r)}const t=y(S),b=t.forwardRef(()=>{const n=t.useRef(null),[r,s]=t.useState("desktop"),o=w.useSchedulerViewsContext(),u=f.useWindow(n),[p,c]=w.useSchedulerActiveViewContext(),i=o.find(e=>e.props.name===p),a=v.useLocalization(),g=t.useCallback(e=>{c&&(e.syntheticEvent.preventDefault(),c(e.item.name))},[c]),h=t.useCallback(e=>{c&&c(e)},[c]),k=t.useMemo(()=>o.map(e=>({value:e.props.name,text:typeof e.props.title=="function"?e.props.title(a):e.props.title,tabIndex:-1})),[o,a]),m=()=>{u().matchMedia&&s(u().matchMedia("(min-width: 1024px)").matches?"desktop":"mobile")};return t.useEffect(()=>{m();const e=u().ResizeObserver,l=e&&new e(m);return l&&l.observe(n.current),()=>{l&&l.disconnect()}},[]),t.createElement(t.Fragment,null,i&&r==="mobile"&&t.createElement("div",{className:"k-scheduler-tools",ref:n},t.createElement(d.DropDownButton,{className:"k-views-dropdown",onItemClick:g,popupSettings:{popupClass:"k-scheduler-toolbar"},textField:"title",items:o.map(e=>({...e.props,selected:e.props.name===p,title:typeof e.props.title=="function"?e.props.title(a):e.props.title})),text:t.createElement(t.Fragment,null,typeof i.props.title=="function"?i.props.title(a):i.props.title,t.createElement(f.IconWrap,{name:"chevron-down",icon:C.chevronDownIcon}))})),r==="desktop"&&t.createElement(d.SegmentedControl,{ref:e=>{e&&(n.current=e.element)},className:"k-scheduler-views",role:"group",value:p,onChange:h,items:k}))});b.displayName="KendoReactSchedulerViewSelectorList";exports.ViewSelectorList=b;
@@ -6,56 +6,74 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  import * as t from "react";
9
- import { useLocalization as f } from "@progress/kendo-react-intl";
10
- import { DropDownButton as w } from "@progress/kendo-react-buttons";
11
- import { useWindow as k, classNames as b, IconWrap as h } from "@progress/kendo-react-common";
12
- import { caretAltDownIcon as v } from "@progress/kendo-svg-icons";
13
- import { ViewSelectorItem as g } from "./ViewSelectorItem.mjs";
14
- import { useSchedulerViewsContext as E, useSchedulerActiveViewContext as S } from "../../../context/SchedulerContext.mjs";
15
- const V = t.forwardRef(() => {
16
- const s = t.useRef(null), [o, u] = t.useState("desktop"), n = E(), l = k(s), [a, c] = S(), r = n.find((e) => e.props.name === a), p = f(), d = t.useCallback(
9
+ import { useLocalization as h } from "@progress/kendo-react-intl";
10
+ import { DropDownButton as k, SegmentedControl as b } from "@progress/kendo-react-buttons";
11
+ import { useWindow as g, IconWrap as v } from "@progress/kendo-react-common";
12
+ import { chevronDownIcon as C } from "@progress/kendo-svg-icons";
13
+ import { useSchedulerViewsContext as S, useSchedulerActiveViewContext as x } from "../../../context/SchedulerContext.mjs";
14
+ const E = t.forwardRef(() => {
15
+ const n = t.useRef(null), [p, u] = t.useState("desktop"), s = S(), l = g(n), [a, o] = x(), r = s.find((e) => e.props.name === a), i = h(), d = t.useCallback(
17
16
  (e) => {
18
- c && (e.syntheticEvent.preventDefault(), c(e.item.name));
17
+ o && (e.syntheticEvent.preventDefault(), o(e.item.name));
19
18
  },
20
- [c]
19
+ [o]
20
+ ), f = t.useCallback(
21
+ (e) => {
22
+ o && o(e);
23
+ },
24
+ [o]
25
+ ), w = t.useMemo(
26
+ () => s.map((e) => ({
27
+ value: e.props.name,
28
+ text: typeof e.props.title == "function" ? e.props.title(i) : e.props.title,
29
+ tabIndex: -1
30
+ })),
31
+ [s, i]
21
32
  ), m = () => {
22
33
  l().matchMedia && u(l().matchMedia("(min-width: 1024px)").matches ? "desktop" : "mobile");
23
34
  };
24
35
  return t.useEffect(() => {
25
36
  m();
26
- const e = l().ResizeObserver, i = e && new e(m);
27
- return i && i.observe(s.current), () => {
28
- i && i.disconnect();
37
+ const e = l().ResizeObserver, c = e && new e(m);
38
+ return c && c.observe(n.current), () => {
39
+ c && c.disconnect();
29
40
  };
30
- }, []), /* @__PURE__ */ t.createElement(
41
+ }, []), /* @__PURE__ */ t.createElement(t.Fragment, null, r && p === "mobile" && /* @__PURE__ */ t.createElement(
31
42
  "div",
32
43
  {
33
- className: b("k-toolbar-button-group k-button-group k-button-group-solid", {
34
- "k-scheduler-views": o === "desktop",
35
- "k-scheduler-tools": o === "mobile"
36
- }),
37
- role: "group",
38
- ref: s
44
+ className: "k-scheduler-tools",
45
+ ref: n
39
46
  },
40
- r && o === "mobile" && /* @__PURE__ */ t.createElement(
41
- w,
47
+ /* @__PURE__ */ t.createElement(
48
+ k,
42
49
  {
43
50
  className: "k-views-dropdown",
44
51
  onItemClick: d,
45
52
  popupSettings: { popupClass: "k-scheduler-toolbar" },
46
53
  textField: "title",
47
- items: n.map((e) => ({
54
+ items: s.map((e) => ({
48
55
  ...e.props,
49
56
  selected: e.props.name === a,
50
- title: typeof e.props.title == "function" ? e.props.title.call(void 0, p) : e.props.title
57
+ title: typeof e.props.title == "function" ? e.props.title(i) : e.props.title
51
58
  })),
52
- text: /* @__PURE__ */ t.createElement(t.Fragment, null, typeof r.props.title == "function" ? r.props.title.call(void 0, p) : r.props.title, /* @__PURE__ */ t.createElement(h, { name: "caret-alt-down", icon: v }))
59
+ text: /* @__PURE__ */ t.createElement(t.Fragment, null, typeof r.props.title == "function" ? r.props.title(i) : r.props.title, /* @__PURE__ */ t.createElement(v, { name: "chevron-down", icon: C }))
53
60
  }
54
- ),
55
- o === "desktop" && /* @__PURE__ */ t.createElement(t.Fragment, null, n.map((e) => /* @__PURE__ */ t.createElement(g, { key: e.props.name, view: e.props })))
56
- );
61
+ )
62
+ ), p === "desktop" && /* @__PURE__ */ t.createElement(
63
+ b,
64
+ {
65
+ ref: (e) => {
66
+ e && (n.current = e.element);
67
+ },
68
+ className: "k-scheduler-views",
69
+ role: "group",
70
+ value: a,
71
+ onChange: f,
72
+ items: w
73
+ }
74
+ ));
57
75
  });
58
- V.displayName = "KendoReactSchedulerViewSelectorList";
76
+ E.displayName = "KendoReactSchedulerViewSelectorList";
59
77
  export {
60
- V as ViewSelectorList
78
+ E as ViewSelectorList
61
79
  };